feat(server-mode): gehostete Web-GUI fest an einen Server binden
VITE_SERVER_MODE=1 (vom Dockerfile.app gesetzt) → die App ist die Web-GUI GENAU DIESES Servers: keine Lokal/Server-Wahl (BackendChoice), kein Server-Adress-Wechsel, kein Verbinden auf andere Instanzen. Nur Login auf diesem Server. Tauri (lokale DMG) setzt die Flag NIE → behält volle Wahl (Lokal / beliebige Server-IP). - adapter.js: isServerMode-Export; im Server-Modus fest SupabaseAdapter mit Build-URL/Key, localStorage-Werte erzwungen (kein User-Override) - App.jsx: BackendChoice im Server-Modus überspringen - Login.jsx: Verbindungs-Switch + Server-Adressfeld im Server-Modus ausblenden Beide Builds verifiziert: Server-Build brennt URL ein, Normal-Build nicht. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+4
-2
@@ -1,7 +1,7 @@
|
||||
import React, { useState, useEffect, useCallback, useRef, Suspense, lazy } from "react";
|
||||
import { NAV_ITEMS, defaultData } from "./constants.js";
|
||||
import { verifyPassword, withHashedPassword, stripCredentials } from "./utils.js";
|
||||
import { storage, isCloudBackend } from "./storage/adapter.js";
|
||||
import { storage, isCloudBackend, isServerMode } from "./storage/adapter.js";
|
||||
import { applyMigrations } from "./storage/migrations.js";
|
||||
import Login from "./views/Login.jsx";
|
||||
import Setup from "./views/Setup.jsx";
|
||||
@@ -464,8 +464,10 @@ export default function App() {
|
||||
// lokalen Daten gibt. Sobald er gewählt hat, übernimmt der jeweilige Wizard.
|
||||
// UpdateNotifier wird in allen Pre-Login-Screens mitgerendert, damit ein
|
||||
// hängender Setup-Wizard sich via Auto-Update selbst befreien kann.
|
||||
// Server-Modus (gehostete Web-GUI): nie die Lokal/Server-Wahl zeigen — die
|
||||
// App ist fest an diesen Server gebunden. Nur die lokale DMG zeigt die Wahl.
|
||||
const hasChosenBackend = localStorage.getItem("rapport_backend_chosen") === "1";
|
||||
if (!hasChosenBackend && isNewInstall && !data.settings.setupCompleted && !currentUser) {
|
||||
if (!isServerMode && !hasChosenBackend && isNewInstall && !data.settings.setupCompleted && !currentUser) {
|
||||
return <><BackendChoice /><UpdateNotifier /></>;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user