@@ -109,8 +55,9 @@ $debugRedirect = isset($_GET['debug_redirect']);
-
-
-
-
-
+ app_asset_url('/assets/js/toast.js')],
+ ['src' => app_asset_url('/assets/js/account.js'), 'module' => true],
+];
+require dirname(__DIR__) . '/../structure/layout_end.php';
diff --git a/partials/landingpage/admin/settings.php b/partials/landingpage/admin/settings.php
index db09fd2..cefbdb8 100644
--- a/partials/landingpage/admin/settings.php
+++ b/partials/landingpage/admin/settings.php
@@ -1,71 +1,22 @@
+ :root { color-scheme: light; }
+ .section-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.25rem;margin-bottom:1.5rem}
+ .section-card h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#0f172a}
+ .input{width:100%;border:1px solid #cbd5f5;border-radius:.5rem;padding:.5rem .75rem}
+ .team-table{width:100%;border-collapse:collapse;font-size:.9rem}
+ .team-table th,.team-table td{padding:.35rem .5rem;border-bottom:1px solid #e2e8f0;text-align:left}
+ .badge{display:inline-flex;align-items:center;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;background:#e2e8f0;color:#0f172a}
+ .chip{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;background:#f1f5f9;color:#0f172a;border:1px solid #e2e8f0;font-size:.8rem}
+
+HTML;
+require dirname(__DIR__) . '/../structure/layout_start.php';
?>
-
-
-
-
-
-
Email Template System – Administration
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
Team
@@ -171,7 +122,7 @@ $debugRedirect = isset($_GET['debug_redirect']);
@@ -186,8 +137,9 @@ $debugRedirect = isset($_GET['debug_redirect']);
-
-
-
-
-
+ app_asset_url('/assets/js/toast.js')],
+ ['src' => app_asset_url('/assets/js/account.js'), 'module' => true],
+];
+require dirname(__DIR__) . '/../structure/layout_end.php';
diff --git a/partials/structure/app_config.php b/partials/structure/app_config.php
new file mode 100644
index 0000000..7131b89
--- /dev/null
+++ b/partials/structure/app_config.php
@@ -0,0 +1,40 @@
+ rtrim($GLOBALS['app_base_url'] ?? ($scheme . '://' . $host), '/'),
+ 'app_api_base' => rtrim($GLOBALS['app_api_base'] ?? ($scheme . '://' . $host . '/api'), '/'),
+ 'asset_version' => defined('ASSET_VERSION') ? ASSET_VERSION : time(),
+ 'app_env' => $GLOBALS['app_env'] ?? (defined('APP_ENV') ? APP_ENV : 'prod'),
+ ];
+
+ $layoutContext['asset_base'] = $layoutContext['app_base_url'] ?: '';
+ $layoutContext['debug_redirect'] = isset($_GET['debug_redirect']);
+ $GLOBALS['layoutContext'] = $layoutContext;
+}
+
+$GLOBALS['layoutContext'] = $layoutContext;
+
+$appBaseUrl = $layoutContext['app_base_url'];
+$appApiBase = $layoutContext['app_api_base'];
+$assetBase = $layoutContext['asset_base'];
+$assetVersion = $layoutContext['asset_version'];
+$debugRedirect = $layoutContext['debug_redirect'];
+
+if (!function_exists('app_asset_url')) {
+ function app_asset_url(string $path, ?int $version = null): string
+ {
+ $base = $GLOBALS['layoutContext']['asset_base'] ?? '';
+ $version = $version ?? ($GLOBALS['layoutContext']['asset_version'] ?? null);
+ $url = rtrim($base, '/') . $path;
+ if ($version !== null) {
+ $url .= (strpos($url, '?') === false ? '?' : '&') . 'v=' . rawurlencode((string)$version);
+ }
+ return $url;
+ }
+}
diff --git a/partials/structure/footer.php b/partials/structure/footer.php
new file mode 100644
index 0000000..139d74e
--- /dev/null
+++ b/partials/structure/footer.php
@@ -0,0 +1,15 @@
+
+
+
+
v = htmlspecialchars($version) ?>
+
diff --git a/partials/structure/header.php b/partials/structure/header.php
new file mode 100644
index 0000000..59eb980
--- /dev/null
+++ b/partials/structure/header.php
@@ -0,0 +1,47 @@
+ 'dashboard', 'label' => 'Dashboard', 'href' => $appBaseUrl . '/admin/dashboard.php'],
+ ['id' => 'settings', 'label' => 'Administration','href' => $appBaseUrl . '/admin/settings.php'],
+ ['id' => 'bridge', 'label' => 'Bridge Setup', 'href' => $appBaseUrl . '/admin/bridge.php'],
+ ['id' => 'profile', 'label' => 'Mein Konto', 'href' => $appBaseUrl . '/admin/profile.php'],
+];
+
+$navActive = $navActive ?? null;
+?>
+
diff --git a/partials/structure/layout_end.php b/partials/structure/layout_end.php
new file mode 100644
index 0000000..d3daa87
--- /dev/null
+++ b/partials/structure/layout_end.php
@@ -0,0 +1,27 @@
+
+
+
+
+ = $script . PHP_EOL ?>
+
+
+
+
+
+