Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
121952fdc1 | ||
|
|
15f533b984 |
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@jorgecuadros/api",
|
"name": "@jorgecuadros/api",
|
||||||
"version": "1.0.0",
|
"version": "1.0.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "nest build",
|
"build": "nest build",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@jorgecuadros/web",
|
"name": "@jorgecuadros/web",
|
||||||
"version": "1.0.0",
|
"version": "1.0.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev -p 4500",
|
"dev": "next dev -p 4500",
|
||||||
|
|||||||
@@ -180,6 +180,11 @@ button {
|
|||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
font-variant-numeric: tabular-nums;
|
font-variant-numeric: tabular-nums;
|
||||||
cursor: help;
|
cursor: help;
|
||||||
|
/* Full 40-char commit hashes, and two of them when the tiers disagree. Hex
|
||||||
|
offers no break opportunity, so without this the line pushes the page into
|
||||||
|
horizontal scroll on a phone. */
|
||||||
|
min-width: 0;
|
||||||
|
overflow-wrap: anywhere;
|
||||||
}
|
}
|
||||||
.shell-footer-warn {
|
.shell-footer-warn {
|
||||||
color: var(--negative);
|
color: var(--negative);
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { useEffect, useRef, useState, type ReactNode } from "react";
|
|||||||
import { usePathname, useRouter } from "next/navigation";
|
import { usePathname, useRouter } from "next/navigation";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { getApiVersion, logout, me, updateUiScale, type ServiceVersion } from "@/lib/api";
|
import { getApiVersion, logout, me, updateUiScale, type ServiceVersion } from "@/lib/api";
|
||||||
import { shortSha, webBuildInfo } from "@/lib/build-info";
|
import { webBuildInfo } from "@/lib/build-info";
|
||||||
import { AuthContext, can } from "@/lib/abilities";
|
import { AuthContext, can } from "@/lib/abilities";
|
||||||
import { ROLE_LABEL } from "@/lib/labels";
|
import { ROLE_LABEL } from "@/lib/labels";
|
||||||
import {
|
import {
|
||||||
@@ -217,12 +217,16 @@ function BuildFooter() {
|
|||||||
return (
|
return (
|
||||||
<footer className="shell-footer">
|
<footer className="shell-footer">
|
||||||
<span>Jorge Cuadros & Asociados</span>
|
<span>Jorge Cuadros & Asociados</span>
|
||||||
|
{/* The FULL 40-char commit, not an abbreviation: this line exists to be
|
||||||
|
pasted into `git show` or compared against a registry tag, and a
|
||||||
|
7-char prefix makes both a manual step. It is what GIT_SHA already
|
||||||
|
carries — build.yml bakes in `github.sha` whole. */}
|
||||||
<span
|
<span
|
||||||
className="shell-footer-build"
|
className="shell-footer-build"
|
||||||
title={`web ${web.version} (${shortSha(web.gitSha)}) — ${web.buildDate}`}
|
title={`web ${web.version} (${web.gitSha}) — ${web.buildDate}`}
|
||||||
>
|
>
|
||||||
v{web.version} · {shortSha(web.gitSha)}
|
v{web.version} · {web.gitSha}
|
||||||
{mismatch && api ? ` · API ${shortSha(api.gitSha)}` : ""}
|
{mismatch && api ? ` · API ${api.gitSha}` : ""}
|
||||||
</span>
|
</span>
|
||||||
{mismatch && (
|
{mismatch && (
|
||||||
<span className="shell-footer-warn" role="status">
|
<span className="shell-footer-warn" role="status">
|
||||||
|
|||||||
@@ -35,8 +35,3 @@ export function webBuildInfo(): BuildInfo {
|
|||||||
const injected = (window as { __APP_BUILD__?: BuildInfo }).__APP_BUILD__;
|
const injected = (window as { __APP_BUILD__?: BuildInfo }).__APP_BUILD__;
|
||||||
return injected ?? UNKNOWN_BUILD;
|
return injected ?? UNKNOWN_BUILD;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** First 7 chars, the length git itself abbreviates to. */
|
|
||||||
export function shortSha(sha: string): string {
|
|
||||||
return sha === "unknown" ? sha : sha.slice(0, 7);
|
|
||||||
}
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "jorgecuadros-platform",
|
"name": "jorgecuadros-platform",
|
||||||
"version": "1.0.0",
|
"version": "1.0.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"apps/*",
|
"apps/*",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@jorgecuadros/database",
|
"name": "@jorgecuadros/database",
|
||||||
"version": "1.0.0",
|
"version": "1.0.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"main": "generated/client/index.js",
|
"main": "generated/client/index.js",
|
||||||
"types": "generated/client/index.d.ts",
|
"types": "generated/client/index.d.ts",
|
||||||
|
|||||||
Reference in New Issue
Block a user