Sichtbarer Name ueberall: Kopfzeichen der Oberflaeche, Seitentitel, Favicon, API-Titel, User-Agent zu Open Food Facts, Dateinamen der Sicherungen, README, Roadmap, Installer- und Update-Skript, npm-Paketname. Bewusst NICHT umbenannt, jeweils mit Begruendung im Code: - POSTGRES_USER/DB und der Volume-Name bleiben "project_good". Ein neuer Volume-Name legt eine leere Datenbank an, ein neuer Benutzername scheitert am bestehenden Volume - vorhandene Bestaende waeren verloren. - Der localStorage-Schluessel bleibt, sonst waeren alle Browser einmal ausgesperrt. - ios/ bleibt unangetastet (wird getrennt bearbeitet). Die Klon-Adresse im README zeigt jetzt auf .../vorrania.git; das Repo in Gitea muss dafuer umbenannt werden. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
41 lines
950 B
JavaScript
41 lines
950 B
JavaScript
import { useEffect, useState } from "react";
|
|
import { brandingUrl, hasBranding } from "../branding";
|
|
import Icon from "./Icon";
|
|
|
|
/**
|
|
* Kopfzeichen der Oberfläche: entweder das hinterlegte Logo (dann ohne
|
|
* Schriftzug) oder das eingebaute Zeichen mit dem Namen.
|
|
*
|
|
* Die Größe des Bildes ist per CSS gedeckelt, damit ein zu großes oder sehr
|
|
* breites Logo das Layout nicht auseinanderziehen kann.
|
|
*/
|
|
export default function BrandMark() {
|
|
const [logo, setLogo] = useState(false);
|
|
|
|
useEffect(() => {
|
|
let aktiv = true;
|
|
hasBranding("logo").then((da) => aktiv && setLogo(da));
|
|
return () => {
|
|
aktiv = false;
|
|
};
|
|
}, []);
|
|
|
|
if (logo) {
|
|
return (
|
|
<img
|
|
className="brand-logo"
|
|
src={brandingUrl("logo")}
|
|
alt="Vorrania"
|
|
onError={() => setLogo(false)}
|
|
/>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<>
|
|
<span className="mark"><Icon name="box" size={18} /></span>
|
|
Vorrania
|
|
</>
|
|
);
|
|
}
|