'success', 'title' => 'Mission Update', 'message' => 'Daten erfolgreich gespeichert.']; header("Location: index.php?s=$section&p=" . urlencode((string)$sub) . "&planet=$planet"); exit; } if (($_GET['toast'] ?? '') === 'err') { $_SESSION['flash_error'] = "Bitte alle Pflichtfelder ausfüllen (Hyperdrive-Parameter fehlen)."; $_SESSION['flash_toast'][] = ['type' => 'error', 'title' => 'System Alert', 'message' => 'Eingabe unvollständig – überprüfe die Felder.']; header("Location: index.php?s=$section&p=" . urlencode((string)$sub) . "&planet=$planet"); exit; } // Alertbar nur wenn Fehler vorhanden $errorMessage = $_SESSION['flash_error'] ?? null; unset($_SESSION['flash_error']); // Toasts (Flash) $toasts = $_SESSION['flash_toast'] ?? []; unset($_SESSION['flash_toast']); // Kontextmenü-Definitionen (Subnav in der Mitte) $subnav = [ 'overview' => [['key'=>'dashboard','label'=>'Übersicht'], ['key'=>'events','label'=>'Events'], ['key'=>'queues','label'=>'Queues']], 'build' => [['key'=>'build','label'=>'Bauen'], ['key'=>'demolish','label'=>'Abreißen']], 'research' => [['key'=>'list','label'=>'Forschungen'], ['key'=>'tree','label'=>'Forschungstree']], 'shipyard' => [['key'=>'small','label'=>'Klein'], ['key'=>'medium','label'=>'Mittel'], ['key'=>'large','label'=>'Groß']], 'fleet' => [['key'=>'send','label'=>'Versenden'], ['key'=>'missions','label'=>'Missionen'], ['key'=>'scrap','label'=>'Verschrotten']], 'messages' => [['key'=>'inbox','label'=>'Posteingang'], ['key'=>'outbox','label'=>'Ausgang'], ['key'=>'addressbook','label'=>'Adressbuch']], 'reports' => [['key'=>'combat','label'=>'Kampfberichte'], ['key'=>'spy','label'=>'Spionage'], ['key'=>'archive','label'=>'Archiv']], 'galaxy' => [['key'=>'view','label'=>'Galaxy View'], ['key'=>'bookmark','label'=>'Lesezeichen'], ['key'=>'scan','label'=>'Scan']], 'stargate' => [['key'=>'overview','label'=>'Übersicht'], ['key'=>'links','label'=>'Verbindungen'], ['key'=>'log','label'=>'Protokoll']], 'pod' => [['key'=>'pad','label'=>'Abschussrampe'], ['key'=>'production','label'=>'Produktion']], 'trade' => [['key'=>'hub','label'=>'Handelszentrum'], ['key'=>'market','label'=>'Börsenkurse']], 'blackmarket' => [['key'=>'overview','label'=>'Übersicht'], ['key'=>'create','label'=>'Inserieren'], ['key'=>'mine','label'=>'Meine Inserate']], 'bank' => [['key'=>'overview','label'=>'Übersicht'], ['key'=>'transfer','label'=>'Überweisung'], ['key'=>'accounts','label'=>'Konten hinzufügen']], 'terraformer' => [['key'=>'overview','label'=>'Übersicht']], 'settings' => [['key'=>'ui','label'=>'UI'], ['key'=>'performance','label'=>'Performance'], ['key'=>'alerts','label'=>'Alerts'], ['key'=>'account','label'=>'Account']], ]; if (!isset($subnav[$section])) $section = 'overview'; $items = $subnav[$section]; // Default sub page if ($sub === null && !empty($items)) $sub = $items[0]['key']; $validSub = array_column($items, 'key'); if (!in_array($sub, $validSub, true) && !empty($items)) $sub = $items[0]['key']; // Page title $pageTitle = "Space UI – $section / $sub"; // Admin demo (set to true to see footer admin link) $isAdmin = false; $partialsPath = __DIR__ . '/../src/partials'; $partialsPath = __DIR__ . '/../src/partials'; ?>