mirror of
https://github.com/koala73/worldmonitor.git
synced 2026-04-25 17:14:57 +02:00
* fix(desktop): settings UI redesign, IPC security hardening, release profile Settings window: - Add titlebar drag region (macOS traffic light clearance) - Move Export/Import from Overview to Debug & Logs section - Category cards grid changed to 3-column layout Security (IPC trust boundary): - Add require_trusted_window() to get_desktop_runtime_info, open_url, open_live_channels_window_command, open_youtube_login - Validate base_url in open_live_channels_window_command (localhost-only http) Performance: - Add [profile.release] with fat LTO, codegen-units=1, strip, panic=abort - Reuse reqwest::Client via app state with connection pooling - Debounce window resize handler (150ms) in EventHandlerManager * docs: expand AGPL-3.0 license section in README Add plain-language explanation of AGPL-3.0 rights and obligations including attribution requirements, copyleft conditions, network use clause (SaaS must share source), and a use-case reference table.
37 lines
2.4 KiB
HTML
37 lines
2.4 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>World Monitor Settings</title>
|
|
<script>(function(){try{var t=localStorage.getItem('worldmonitor-theme');if(t==='light')document.documentElement.dataset.theme='light';}catch(e){}document.documentElement.classList.add('no-transition');})()</script>
|
|
<style>.settings-shell{height:100vh;display:flex;flex-direction:column}.settings-main{display:flex;flex:1;min-height:0}.settings-sidebar{width:220px;flex-shrink:0;border-right:1px solid rgba(255,255,255,0.08);display:flex;flex-direction:column}.settings-content{flex:1;overflow-y:auto;padding:20px 24px}</style>
|
|
</head>
|
|
<body style="background:#1a1c1e;color:#e8eaed;margin:0">
|
|
<div class="settings-shell">
|
|
<div class="settings-titlebar"></div>
|
|
<div class="settings-header">
|
|
<svg class="settings-header-icon" viewBox="0 0 24 24" width="20" height="20"><path fill="currentColor" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"/></svg>
|
|
<span class="settings-header-title">World Monitor Settings</span>
|
|
<span class="settings-header-badge" id="versionBadge"></span>
|
|
</div>
|
|
<div class="settings-main">
|
|
<div class="settings-sidebar">
|
|
<div class="settings-sidebar-search">
|
|
<input id="settingsSearch" type="text" placeholder="Search settings..." autocomplete="off" />
|
|
</div>
|
|
<nav class="settings-sidebar-nav" id="sidebarNav" role="tablist" aria-label="Settings sections"></nav>
|
|
</div>
|
|
<div class="settings-content" id="contentArea" role="tabpanel"></div>
|
|
</div>
|
|
<footer class="settings-footer">
|
|
<p id="settingsActionStatus" class="settings-action-status" aria-live="polite"></p>
|
|
<button id="cancelBtn" type="button" class="settings-btn settings-btn-secondary">Cancel</button>
|
|
<button id="okBtn" type="button" class="settings-btn settings-btn-primary">Save & Close</button>
|
|
</footer>
|
|
</div>
|
|
|
|
<script type="module" src="/src/settings-main.ts"></script>
|
|
</body>
|
|
</html>
|