Nazev znacky uz neni v kodu natvrdo

Server mel "Automia" napsanou primo v titulku Swaggeru a v OpenAPI - zbytek po
prejmenovani, ktere probehlo jen na klientovi. Prejmenovat produkt tedy
znamenalo hledat retezec po souborech.

Dve promenne, a je to zamer:

- server cte BRAND_NAME za behu, vychozi WorkNuke
- klient cte VITE_BRAND_NAME pri buildu, vychozi tataz

Klient je staticky soubor, takze runtime promenne containeru do prohlizece
nedosahnou - proto se u nej dosazuje pri buildu. Obe maji tutéž vychozi hodnotu,
takze bez nastaveni cehokoliv sedi.

Zbytek firemnich udaju (claim, kontakty, adresa) zustava v brand.ts. Do
promennych to nepatri, meni se to jednou za rok a env by z toho udelalo deset
promennych, ktere nikdo nenastavi.

Co se timhle nemeni: firma Automia v ukazkovych datech. Pozvanka ukazuje jmeno
firmy, do ktere zve, a ta se v seedu jmenuje Automia - neni to zbytek po
prejmenovani, je to zaznam zakaznika.

Overeno: s BRAND_NAME=ZkouskaZnacky ma OpenAPI titulek "ZkouskaZnacky - portal
a API" a Swagger "ZkouskaZnacky API".

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
JiriUhlir
2026-09-02 15:02:39 +02:00
co-authored by Claude Opus 5
parent 5984b1cb9b
commit f7ad429b3a
7 changed files with 84 additions and 5 deletions
+5
View File
@@ -49,6 +49,11 @@ Verejne pres proxy jako `/apps/<app-id>/health` a `/apps/<app-id>/docs`.
| `JWT_EXPIRES_IN` | ne | 8h | Platnost tokenu |
| `PUBLIC_ORIGIN` | ne | prazdne | Verejna domena pro absolutni adresy webhooku |
| `CORS_ORIGIN` | ne | localhost | Povolene originy, jen pro lokalni vyvoj |
| `BRAND_NAME` | ne | WorkNuke | Nazev produktu v titulku Swaggeru a OpenAPI |
Klient je staticky soubor, takze runtime promenne containeru do prohlizece
nedosahnou. Nazev znacky si bere z `VITE_BRAND_NAME` **pri buildu**, jinak
z vychozi hodnoty v `web/src/config/brand.ts`.
Secrets se nikdy nelogují ani neukladaji do kodu.
+17
View File
@@ -12,11 +12,28 @@ pismo a znak, a co se pri prejmenovani menit nesmi.
| Barvy, pismo, utility | `web/src/index.css` |
| Znak a slovni znacka | `web/src/components/layout/Logo.tsx` |
| Nazev, kontakty, claim | `web/src/config/brand.ts` |
| Nazev na serveru | `BRAND_NAME`, vychozi v `src/config.ts` |
| Titulek a fonty stranky | `web/index.html` |
Zmena barevnosti celeho webu i portalu je zmena hodnot v `index.css`. Web
i portal stoji na tychz tokenech, takze se projevi naraz na obojim.
### Nazev je na dvou mistech, a je to zamer
Klient je staticky soubor, takze runtime promenne containeru do prohlizece
nedosahnou. Proto:
- **server** cte `BRAND_NAME` (vychozi `WorkNuke`) a pouziva ho v titulku
Swaggeru a v OpenAPI,
- **klient** cte `VITE_BRAND_NAME` **pri buildu**, jinak vychozi hodnotu
v `brand.ts`.
Obe maji tutéž vychozi hodnotu, takze bez nastaveni cehokoliv sedi.
**Pozor na zamenu s firmou v datech.** Pozvanka ukazuje jmeno firmy, do ktere
zve, a ukazkova firma se jmenuje Automia. Neni to zbytek po prejmenovani, je
to zaznam zakaznika - zadna promenna znacky ho nemeni.
## Barvy
| Token | Hodnota | K cemu |
+30
View File
@@ -2,6 +2,36 @@
Nejnovejsi nahore.
## 2026-09-02 - Nazev znacky uz neni v kodu natvrdo
Server mel "Automia" napsanou primo v titulku Swaggeru a v OpenAPI - zbytek po
prejmenovani, ktere probehlo jen na klientovi. Prejmenovat produkt tedy
znamenalo hledat retezec po souborech.
### Dve promenne, a je to zamer
| Kde | Promenna | Kdy se dosadi | Vychozi |
| ------ | ----------------- | ------------- | ---------- |
| server | `BRAND_NAME` | za behu | `WorkNuke` |
| klient | `VITE_BRAND_NAME` | pri buildu | `WorkNuke` |
Klient je **staticky soubor**, takze runtime promenne containeru do prohlizece
nedosahnou - proto se u nej dosazuje pri buildu. Obe maji tutéž vychozi hodnotu,
takze bez nastaveni cehokoliv sedi.
Zbytek firemnich udaju (claim, kontakty, adresa) zustava v
`web/src/config/brand.ts`. Do promennych to nepatri, meni se to jednou za rok
a env by z toho udelalo deset promennych, ktere nikdo nenastavi.
### Co se timhle nemeni
**Firma Automia v ukazkovych datech.** Pozvanka ukazuje jmeno firmy, do ktere
zve, a ta se v seedu jmenuje Automia. Neni to zbytek po prejmenovani, je to
zaznam zakaznika - zadna promenna znacky ho nezmeni a nema.
Overeno: s `BRAND_NAME=ZkouskaZnacky` ma OpenAPI titulek "ZkouskaZnacky - portal
a API" a Swagger "ZkouskaZnacky API".
## 2026-09-02 - "Interni chyba serveru" pri zalozeni ticketu
Formular noveho ticketu koncil na 500 uz pri vyplnenem samotnem predmetu.
+15
View File
@@ -114,6 +114,21 @@ export const config = {
*/
dataDir: (process.env.DATA_DIR ?? path.join(process.cwd(), 'data')).trim(),
// --------------------------------------------------------------- znacka
/**
* Nazev produktu. Prejmenovani = zmena teto promenne, nic jineho.
*
* Server ho pouziva v titulku Swaggeru a v OpenAPI. Klient ma svoje
* `web/src/config/brand.ts`, ktere cte `VITE_BRAND_NAME` - dosadi se pri
* buildu, protoze do prohlizece runtime promenne containeru nedosahnou.
*
* Pozor na zamenu: firma **Automia v ukazkovych datech** je zaznam
* zakaznika, ne znacka. V pozvance se ukazuje jmeno firmy, do ktere
* pozvanka zve, a to se timhle nemeni.
*/
brandName: (process.env.BRAND_NAME ?? 'WorkNuke').trim() || 'WorkNuke',
// ------------------------------------------------------- skripty konektoru
/**
+1 -1
View File
@@ -125,7 +125,7 @@ api.get('/whoami', (req, res) => {
*/
const openApiDocument = buildOpenApiDocument();
const swaggerOptions: swaggerUi.SwaggerUiOptions = {
customSiteTitle: 'Automia API',
customSiteTitle: `${config.brandName} API`,
swaggerOptions: { persistAuthorization: true },
};
+1 -1
View File
@@ -118,7 +118,7 @@ export function buildOpenApiDocument() {
return {
openapi: '3.0.3',
info: {
title: 'Automia - portal a API',
title: `${config.brandName} - portal a API`,
version: '1.0.0',
description:
'Webova prezentace a klientsky portal. Automatizace, voiceboti, integrace, ' +
+15 -3
View File
@@ -1,10 +1,22 @@
/**
* Jedine misto s firemnimi udaji a texty, ktere se opakuji na webu.
* Prejmenovani firmy = zmena tady (viz docs/03-frontend.md).
*
* Nazev jde prebit promennou buildu, zbytek se meni tady. Server ma svoji
* `BRAND_NAME` v `src/config.ts` - jsou to dve promenne, protoze klient je
* staticky soubor a runtime promenne containeru do prohlizece nedosahnou.
*/
/**
* Nazev z promenne buildu, jinak vychozi.
*
* Runtime promenne containeru se do prohlizece nedostanou, klient je
* staticky soubor - proto `VITE_BRAND_NAME` pri buildu. Server ma svoje
* `BRAND_NAME`, obe maji stejnou vychozi hodnotu.
*/
const name = import.meta.env.VITE_BRAND_NAME?.trim() || 'WorkNuke';
export const brand = {
name: 'WorkNuke',
legalName: 'WorkNuke s.r.o.',
name,
legalName: `${name} s.r.o.`,
claim: 'Konec ruční práce.',
description:
'WorkNuke sbírá události ze všech vašich nástrojů, zautomatizuje, co jde, propojí další kroky a zapojí správné lidi, když je potřeba. Vaše práce prostě plyne.',