From 221b914b055ea1c4387aa2bd717b8822c7e720c1 Mon Sep 17 00:00:00 2001 From: Kay Date: Thu, 17 Sep 2026 13:38:22 +0200 Subject: [PATCH] =?UTF-8?q?M29:=20App-Einstellungen=20(Settings-Fenster=20?= =?UTF-8?q?=E2=8C=98,)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Neues natives macOS-Settings-Fenster mit Sprache, Auto-Update-Check, Farbschema (Standard/Kontrastreich), echter Textgrößen-Skalierung, Bedienelement-Größe und LAN-Scanner-Refreshraten/Sparkline-Einstellungen. - AppPreferences.swift: zentrale AppStorage-Keys, ColorTheme/AppTextSize/ UIDensity - SettingsView.swift: 3-Tab-Settings-Scene - .environment(\.dynamicTypeSize) erwies sich auf macOS als wirkungslos (per ImageRenderer-Snapshot bewiesen) — durch eigenen appFontScale- Mechanismus ersetzt, ~110 .font(...)-Aufrufe app-weit umgestellt - Farbschema auf Wunsch auch auf Experte-Tab-Sidebar ausgeweitet - Docs aktualisiert: README/HANDOFF/CHATLOG/Manual.md+PDF, found.md Live bestätigt nach mehreren Nachbesserungsrunden ("passt, lassen wir so"). Co-Authored-By: Claude Sonnet 5 --- CHATLOG.md | 46 ++++ HANDOFF.md | 52 ++++ Manual.md | 56 ++++- Manual.pdf | Bin 1549061 -> 1589827 bytes README.md | 11 +- .../App/RouterOSAssistantApp.swift | 19 ++ .../Core/Localization/L10n.swift | 33 ++- .../Core/Models/AppPreferences.swift | 236 ++++++++++++++++++ .../Features/Backup/BackupListView.swift | 16 +- .../Features/Devices/DevicesView.swift | 59 +++-- .../Features/Devices/DevicesViewModel.swift | 18 +- .../Expert/ExpertMenuDetailView.swift | 16 +- .../Features/Expert/ExpertView.swift | 15 +- .../Features/Overview/OverviewView.swift | 129 +++++----- .../Features/Settings/SettingsView.swift | 149 +++++++++++ .../Wizard/Steps/Connect/ConnectView.swift | 16 +- .../Steps/Connect/ConnectViewModel.swift | 6 + .../Wizard/Steps/Setup/FirewallStepView.swift | 8 +- .../Wizard/Steps/Setup/LanStepView.swift | 10 +- .../Wizard/Steps/Setup/ModeStepView.swift | 2 +- .../Wizard/Steps/Setup/ReviewApplyView.swift | 6 +- .../Wizard/Steps/Setup/VlanStepView.swift | 2 +- .../Wizard/Steps/Setup/WanStepView.swift | 2 +- .../Wizard/Steps/Setup/WifiStepView.swift | 2 +- found.md | 51 +++- 25 files changed, 803 insertions(+), 157 deletions(-) create mode 100644 RouterOSAssistant/Core/Models/AppPreferences.swift create mode 100644 RouterOSAssistant/Features/Settings/SettingsView.swift diff --git a/CHATLOG.md b/CHATLOG.md index 7c60a01..4dfc9cf 100644 --- a/CHATLOG.md +++ b/CHATLOG.md @@ -994,3 +994,49 @@ Test, WLAN/Bonding/PPPoE-Live-Tests). aktualisiert (inkl. Mermaid-Diagramm um `NetworkToolsService`-SSH- Verbindung und `PortScanner`s direkten Mac→Gerät-Pfad ergänzt), Commit + Push. + +## Session: App-Einstellungen / Settings-Fenster (M29) + +- "erstelle eine für diese App sinnvolle struktur für die Einstellung + Settings" (found.md hatte das schon als offene Idee vermerkt) → + Rückfrage: natives macOS-Settings-Fenster (⌘,) statt eigenem Tab, alle + Bereiche (Sprache, Updates, Farben, Textgröße, Bedienelemente, + Refreshraten) auf einmal, Farben als 2 vordefinierte Themes statt + freier Farbwahl. Neues `AppPreferences.swift` + `SettingsView.swift` + gebaut, Build+98 Tests grün. +- Live-Test: "die änderung der Bedienelemente und Sparkling funktioniert, + bei Textgröße und Farbschemas sehe ich keine Änderung" → Farbschema: + drei Farben waren anfangs in beiden Themes identisch (Kopierfehler), + gefixt. +- Erneuter Live-Test: weiterhin "unverändert" bei beidem trotz Fix → + nicht weiter geraten, sondern per ImageRenderer-Snapshot bewiesen: + .environment(\.dynamicTypeSize, ...) hat auf macOS **keine Wirkung** + (anders als iOS) — SwiftUI-Textstile skalieren dort nicht über + Dynamic-Type-Kategorien. Rückfrage mit 3 Alternativen, Nutzer wählte + "echtes Text-only Scaling". Kompletter Neubau: eigener + \.appFontScale-Mechanismus, ~110 .font(...)-Aufrufe app-weit + automatisiert umgestellt (2 bewusste Ausnahmen: Übersicht- + Diagrammkarten, LAN-Scanner-Tabellenspalten — feste Breiten, würden + beim Skalieren brechen). +- "textgröße funktioniert, die Farbschemas nicht, prüfen. kannst du + selbst auf den router schauen und das prüfen?" → kein Router-Zugriff + möglich (kein Tool/Zugang), aber Bug sitzt ohnehin rein im + App-Rendering — LAN-Scanner-eigene Statusfarben (Traffic/Fest- + Dynamisch/Port-Scan) beim ersten Farbfix übersehen, weiterhin zu + ähnliche SwiftUI-Nachbarfarben (grün/mint, orange/gelb). Gefixt, per + Snapshot-Swatch-Vergleich selbst verifiziert vor erneuter Bitte um + Live-Test. +- "Lan-scanner und Übersicht funktionieren" (Farbschema bestätigt), + "der experte-tab zeigt noch keine Änderung" (Textgröße) → Ursache: die + komplette Experte-Sidebar-Liste und jedes Parameter/Wert-TextField + hatten von Anfang an gar kein .font(...) — automatisierte Umstellung + griff nur bei vorhandenen Font-Aufrufen. Fix: globaler + Default-Font-Fallback an der Fenster-Wurzel. +- "keine Änderung beim Farbschema unter Experte" → kein Bug, sondern + Scope: Farbschema war nie für den Experte-Tab verdrahtet. Rückfrage, + ob ausgeweitet werden soll → ja. Sidebar-Kategorien bekommen jetzt + einen Farbpunkt, gemappt auf dieselbe 5-Farb-Palette wie die Übersicht. +- "passt, lassen wir so. für später merken (found.md): anpassbare + Farben" → found.md Punkt 9 ergänzt (freie Farbwahl pro Kategorie statt + nur 2 Themes, für später). Milestone live bestätigt, Docs aktualisiert, + Commit + Push. diff --git a/HANDOFF.md b/HANDOFF.md index e2b9bb8..3b4bf92 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -1845,3 +1845,55 @@ Release-Build, auf dem Stand des jeweils letzten Commits auf `main` (App-Icon "Signal Router"). Nach jeder weiteren Code-Änderung muss dieser Build-und-Kopier-Schritt (siehe oben) wiederholt werden, damit die installierte App aktuell bleibt. + +**M29: App-Einstellungen / Settings-Fenster** (2026-09-17, komplett neue +Infrastruktur, zuvor gab es nur den DE/EN-Toolbar-Schalter): + +1. Natives macOS-Settings-Fenster (⌘,, `Settings { }`-Scene) statt eigenem + Tab — Rückfrage vorab geklärt. Drei Tabs: Allgemein (Sprache, + Auto-Update-Check beim Verbinden), Darstellung (Farbschema, Textgröße, + Bedienelemente), Netzwerk (LAN-Scanner Aktualisierungsrate/ + Sparkline-Zeitfenster/-Breite). Zentrales `AppPreferences.swift` + (`Core/Models/`) bündelt alle `AppStorage`-Keys + drei Enums + (`ColorTheme`, `AppTextSize`, `UIDensity`). +2. **Farbschema** (`ColorTheme`, 2 vordefinierte Themes Standard/ + Kontrastreich statt freier Farbwahl — bewusste Rückfrage-Entscheidung): + ersetzt `OverviewStyle.color(for:)` für Übersicht-Node-Kategorien/ + Kanten, LAN-Scanner-Status (Traffic aktiv, Fest/Dynamisch, Port-Scan) + und (auf Nachfrage nachgezogen) die Experte-Tab-Sidebar-Kategorien + (13 `RouterOSMenuCategory`-Fälle auf die bestehende 5-Farb-Palette + gebucketet, Firewall-Untermenüs → `.firewall`, VPN/WLAN/Queues/ + System/Tools → `.service`). Zwei Live-Test-Runden fanden echte Bugs: + drei Farben waren anfangs in beiden Themes identisch definiert + (Kopierfehler), und die LAN-Scanner-eigenen Statusfarben waren zu + ähnliche SwiftUI-Nachbarfarben (grün/mint, orange/gelb) — beide + gefixt, per `ImageRenderer`-Snapshot-Vergleich selbst verifiziert + statt nur behauptet. +3. **Textgröße** — erster Ansatz (`.environment(\.dynamicTypeSize, ...)`, + SwiftUIs Standardmechanismus) erwies sich als kompletter Fehlschlag: + per Snapshot-Vergleich bewiesen, dass diese Environment-Variable auf + macOS **keine Wirkung** auf Text-Rendering hat (anders als iOS). + Komplett neu gebaut: eigener `\.appFontScale`-Environment-Key + + `AppFontStyle`-Enum mit expliziten macOS-Basis-Punktgrößen pro + Textstil + `.appFont(...)`-Modifier. ~110 `.font(...)`-Aufrufe app-weit + automatisiert umgestellt (Scratchpad-Skript, textbasierte Ersetzung), + außer zwei fest-breiten Layout-Stellen (Übersicht-Diagramm-Knotenkarten, + LAN-Scanner-Tabellenspalten), die beim Skalieren brechen würden. + Danach noch ein Nachzügler-Fix: die Experte-Tab-Sidebar-Liste und alle + Parameter/Wert-`TextField`s hatten von Anfang an gar kein `.font(...)` + — automatisierte Ersetzung konnte dort nichts ersetzen. Fix: globaler + Default-Font-Fallback (`.environment(\.font, ...)`) an der + Fenster-Wurzel, wirkt überall dort, wo kein `.appFont(...)` bereits + greift. +4. **Bedienelemente/"Responsiveness"** (`UIDensity` → SwiftUIs + `.controlSize`, an der Fenster-Wurzel) und **LAN-Scanner-Refreshraten/ + Sparkline-Fenster/-Breite** (`DevicesViewModel` liest die Werte bei + jedem Poll-Tick frisch aus `UserDefaults`, nicht nur beim Start) auf + Anhieb live bestätigt. +5. Bewusst nicht umgesetzt: Übersicht-Zoom-Standardwert, Fokus-Popup- + Größe/Verhalten (reine `@State`-Werte ohne Persistenz, nicht explizit + gefordert). Für später vorgemerkt (`found.md` Punkt 9): freie + Farbwahl pro Kategorie statt nur der 2 Themes. + +Build+alle 98 Unit-Tests grün nach jedem Schritt. Live bestätigt +("passt, lassen wir so"). diff --git a/Manual.md b/Manual.md index 35bb5f0..3c9a32b 100644 --- a/Manual.md +++ b/Manual.md @@ -31,7 +31,8 @@ entsprechen, was in der App tatsächlich angezeigt wird. 4. [LAN-Scanner](#4-lan-scanner) 5. [Experte](#5-experte) 6. [Sicherungen](#6-sicherungen) -7. [English summary](#7-english-summary) +7. [Einstellungen](#7-einstellungen) +8. [English summary](#8-english-summary) --- @@ -1074,7 +1075,50 @@ Ein einzelner, geräteweiter Satz Einstellungen — kein Menü mit mehreren Eint --- -## 7. English summary +## 7. Einstellungen + +Erreichbar über das App-Menü **RouterOS Assistant → Einstellungen…** +(oder ⌘,) — kein eigener Tab, sondern ein natives macOS-Settings-Fenster +mit drei Reitern. Jede Änderung wirkt sofort, ohne Neustart der App. + +**Allgemein** + +- **Sprache**: DE/EN-Umschalter — „Entspricht dem 🇩🇪/🇬🇧-Knopf in der + Toolbar — beide steuern dieselbe Einstellung.“ +- **Beim Verbinden automatisch nach Updates suchen** (Standard: aus): + „Prüft nach jedem erfolgreichen Verbinden automatisch, ob eine neuere + RouterOS-Version verfügbar ist — entspricht dem Button „Nach Updates + suchen“ im Tab „Verbinden“.“ + +**Darstellung** + +- **Farbschema**: Standard oder Kontrastreich. „Gilt für die + Diagrammfarben in der Übersicht und die Status-Farben im LAN-Scanner + (Traffic aktiv, Fest/Dynamisch, offener/geschlossener Port).“ Färbt + außerdem die Kategorien in der Experte-Tab-Seitenleiste (Firewall, + Interfaces, IP-Adressierung, Routing, VPN/WLAN/Queues/System/ + Werkzeuge) mit derselben Palette. +- **Textgröße**: Klein / Standard / Groß / Sehr groß. Gilt für Text + überall in der App — mit zwei bewussten Ausnahmen: die Knotenkarten im + Übersicht-Diagramm und die Tabellenspalten im LAN-Scanner bleiben fest + in ihrer Schriftgröße, da sie feste Kartenbreiten haben und sonst + Text abschneiden würden. +- **Bedienelemente**: Kompakt / Standard / Komfortabel — „Größe von + Buttons, Feldern und Abständen in der ganzen App.“ + +**Netzwerk** + +- **Aktualisierungsrate** (0,1 s / 0,5 s / 1 s / 3 s): wie oft der + LAN-Scanner den Live-Traffic pro Port abfragt. „Höhere + Aktualisierungsraten zeigen den Traffic-Verlauf feiner, kosten aber + mehr CPU bei vielen gleichzeitig aktiven Ports.“ +- **Sparkline-Zeitfenster** (10 s / 30 s / 60 s) und + **Sparkline-Breite** (100–300pt): Länge bzw. Breite der kleinen + Traffic-Verlaufsgrafik neben jeder Port-Überschrift im LAN-Scanner. + +--- + +## 8. English summary RouterOS Assistant is a native macOS app that sets up and manages MikroTik RouterOS routers through a guided wizard and six tabs: Connect, @@ -1126,3 +1170,11 @@ language and persists across restarts. restoring, to avoid bricking the device with the wrong backup), configurable save location, and a danger-zone factory-reset switch (auto-backs-up first). +- **Settings** (⌘,, native macOS settings window, not a tab): language, + auto-check for RouterOS updates on connect, a color theme (Standard/ + High Contrast — Topology diagram, LAN Scanner status colors, Expert + sidebar categories), text size (with two deliberate exceptions: the + Topology diagram's node cards and the LAN Scanner's fixed-width table + columns stay fixed-size, or their layout would break), control-element + size, and the LAN Scanner's refresh rate/sparkline window/sparkline + width. Every change applies live, no restart needed. diff --git a/Manual.pdf b/Manual.pdf index caa3a79c8c16ba18437b942794378b4d19e0a947..e4c8c7ec7203163a9a7ce541a6f58baef5283b84 100644 GIT binary patch delta 339291 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%0DWYmfXM%%6 z7y&!Iw0(GT1voB4=7C#W*0@}e z#1PYDK zRRuYDlm(|+ChUDAc?>~?utdvpFx_Y1(LMl1(3M9Z}VoR@syc>R&o=XQIz zH{yY2WKmH^6Xk@dPaao5?#q*@w?sQcS@KX%NJM!ZK9o#itf6bZEwY|3oT>Ms;<-`S zo%SgksE54Lxx=L2wuXyGu&HzNP~~6NUwY{-WU2o=KQG5i%-VCrD=aezk{eR%?Y8;m zN~UPI{-XU^{BZai_+GuLjHf8<+xCFpF5%yNnXIu(WbT26|D&?Ydtx&mled?kWr#zv zp4>L-t>J;!iQhxd$B0w$&}7I@&*#t80{8x(%AF*~I#~PAkakrc zAT%%oab1YS20_SIVj{ROC}Mqb2)}}Z-Z5ODpp?L(1(vImEATY`&y}qM7u`PgeMT zgMoh+>h_D-IYjswg4Mrkj1TL_VyzFvGd@}2h<8?kJnZf52s zeuEN8_9NVFo^2~~&FW(=I06p9hOKJHNyIF)>Z$6&z=+b+Zlhe=l|KRF)&xc%pgS*r z;|;;b_t0tqEqm#uH+5~~h^1c|fkWmw-lN3d+I!0qDG+~n2JYxQQ+=eStWj&k z=l(Uq8QILhqQd3(%h|9%qdtg-V$J;XAPVe30~Vw88blZemyB5#?o1CoBmMRVnEuX7 zd=E*e?aQ%djpi`NNkK^(T4$-O2Xe7Xg0g7XWZTwB2L?3QO6Ah91ACtL-P#Rm-e-rR z2LpVo7yV~#=2gUEb0l1fu+M;XB1(p1kEzHOE3s^@kEj;JvAXPGS$oXZg}x^~7G3r} zyb}VEuLsk|;79(~p;ChJ1UfP~C<4sNBk`}8#DlMUT^;C4vrGRpNV<;1fw(U$KZU9! zNUUZe-j48f$HjD8_np$$US6jE zfrTxcoWr~uA>y-d0}-$sS@FRWB~=saMrP_!wwjsdwp%T9?KsM-9ts=0ZN>_NSMmyv z7mD$+w9Pl(cZTfH>@e!&9Xy3rsa+%me=A$kS1TZ1Oy?FcNQ>|xqXwk*jW#9{fKKZBGwai3!lT;Ml);YBSb)hFt`i|!fzwqls>9Kt7 z2WxgE;@;;v%{VZ*-~}l@p_qSI*e8c>%Zps@O`n51H+M+%rP0}lM=IB6`~5Be_j9kf z^azN^r|q8bsd<}7vO$wfvf!`a4EZ9IGyO7)Kcp{il3%)o$0#XFdlJ)eytt~q7s~yS zb>{u~s+`pRm}`;9;C9P+lJ9B35{&Z7pCmT@1%SjL=d52KCcG0n1vARUpqd|Jn&9}r z3h**a8r+XNlxav;vr9GrH1oAe7Mp)Zk_4I}S6qxKrtftW+jd{A*`Y=XsvTv~JPiu& zVws0Q)cY1bc!(NuJ`J+UqI5FiC`-s48sM|7b#hSRk%vC7>R%(y?s1MlxBOPA@MEDu z)JtC5f6(V7I)3*J)v8uQOqw=*)NKy7_yZGlGue8?vsA?KQ5E8pBgUJW(h%ZQ9|9cJ zB(6+1gkJI)-S=d4ZuFoX+D?VAf;fYBDd<7r{qGk}?|*65->0?zO*H~~)UOH7ob12} zwRMCAryYnHR80`mjb%rFRqF%vt>a(YcdH7JwLIJeNuvz8&vImj)L12O#G15lL8D6y z`3@9W$hr*q20Tfqxm-x`MnX^!8;pW@pB2Kdu%KOxtN&IXvZ)QS ztbmY9-m6s87wNTq$)MMsXC!|Gf^`FeBt=IAx>XG9%B%jUe~#b#&i9_};+h(w{5P>j zM+%?oh6ovc@3!Yf=J3f261azE!iV_PXx$EDfnIuD!|L{_-- zqZs}WrdH{M8E+@%TH9t%GE7241`aWQr$bcGt;%z0o|#)oThJ@hkK)I*wVFNtJ8WJh zQMFUKZ_%{o%mL4y@6BY=5boxjQ_uq+y&nrL>inFa|3<}4`A!~5x=mg&kpygxOn*d^ znTF|jh3;1ajVuX%MZ{Lm!MhnOcOdKb*LSvky{WNSviOX0sqho9WLBs)_f>@}%RL=> zp)-yf^PF-+4o%V@^_;fDtU16}DwnRaVcM%qz}`snR#ZnWZ#T2h`{&l6Gzbften17N zTNmGf0|mtc0mdSFOG>fI^T3*<`hnFC7wxoPq@Q6+tv=0S5g)G=&g0(`hrT%Vhv=HpADm}3GFLFSMOS>ZDd~B(e4c?mU#5GWUSr~FL4gWs zz(P5p(arjx&+ZCFacf-gPmmo^GkG++#IfVIcZ3J^jZr9n;`gPGGzo!crB?E^+l9?<`hFlU z{ui?_2`@WeQIc~P;C8>?Df#61QVv}6r;;H<^O2cnqwx@{VNo>wUdFJ#M~Yv`XRjST z&;$vGkIy%RO1-YMun>bITT$VXkZ6N5TSnm$pJ;0HiN2`!x*eFR|E1lU?BkVo9`~k;dk##V4{l^w^4%(YhFMu5QttjpvJ|^M2uZSJ zde~_lXOp+!(L%^j?DrQ)L$7x~f3+@m4ls3@Gx^5SWZ6_VCEW_!K)#KzYZypDNIV9F z8^v{2_#{g_3;b8#^C4L29(kuWL_8W%Mx=D7@qCDg!fUPmnfl97wQ6m^yoETeBvW$04rs0r5%3UNr8Cq)I%?^S#Taiy!Ij@_$ud=fG1@g{~9oN9t^Ol-)(G+0~4; zuv-H0+eWRb;yGo*F5D|O(=thAQQ5&p1Wc?#@4fR(PpQZ=f zhWBCqz3tV*{kLDf<#19Iq?e5da)E^hYg#aTA2^|Z>F<^`B`FbQhAY9jHqi*5ChUzn z+U~cfG3p;~rvuZLKlkTp6EZK?4J223zi&%mR2_{}_#^xA*ewIHIFW>PER{TvFyES4)D1i#EVm!6y3-crAJ$+ z@w`-wb^-m%TZf5EWHOzCeYUR)>J|!z5=r+rTp*iLtcKDc!+%dXgy+&W&e>f12gFkpmzGh8@+6}anSN{AR!7~`s7PMFCW zryH}&GkpEuk7=Ua*fPO5`>*gDTKl=Av8}G6TU~{R1}5dQq0DN5ruPij%y4_|xeZW0 zLD%*&v`uKu*OgISJC-*)W*=jZ%avvb=0AJwWUBIR?Er}TQ&91;t}$0U2Msm^@)$-6 zKq^XESqP4)G{E=IUnk4u`=xe`)(c@xf+x*MBBl;zUDRjH3LZGbk(jYBt*`;U#~l_{ za~9m`f7{$_X?N;%)=gET!rndN#ws7iJR*iqygJvZs=p1vb*hUa>VI>3$oL(}!+Ho$ zE=3ErZ70#DqS#ambq-P^(xvLz2kDIs0uQjWC$Ip!ZXzolU6K{PZQxLL-<13jj=N

NQf7i<4{0MS0e1%bfLxo#ojJPen4~wLwNs*ZG{xUo~pQH@*qugnp znpr$UEJk4HwbZ6X>&6c0S>48zY{{NNLC^OWFy*uu zkc_hy3Ba!vtQaWZ8E6I8zxpR10_F?8SV!MH%1RkT)aOG=d7Db$#(e#ONpJcaB?h>R zPOjAVbME`oGv8Y(-YiR%UV<#qd#I&_d&s8L1a0-si4xhr$ zz)!(1&m$Sh6^)e5jKr=Z22iB&U)XdXJf+Vy?u%O7ck=x$+AtPWZ!^R$qq;i%?6Bqr z7=um<+xnVkMw?tr54)l67bxi*tob3TRDf->m_8AXg*RaYK!T8A436+1bXCLZK7WAM zU*TuHEgG>2TwlIyhb^g(+>i00jOceSQ74DE!zoj%nfJxNB4h?~Jcug`XW2b7 zx*W`!@SPC_z(f6xo8BkMPVa@$2xI$J)Z79Qq3f1=NiCh%_{FdLJ$@f?%~D!7x*E>@ z*Jss~(tk;{4VRI=)3*m9XKhthyiM!kzuFlM-TMOWzUmzey*Vw!Y8gH9M}w^myd`pM zBlAaT1cXMLM+R*({VSP7F@h|)v%KR zJpTvC?ti(ivH$-bi{Kiq6zbS0kRYr@KniF;1N$2$7(^2cBnC$P1LIP&f{_aKL8ltn zWMHpFj{osm1hH>mV}hhLu~C6ZV)K~-G+P;KA#_WbrB0A?;8a)8D6fYMb)(4vm zXMB_!H@Fpe6ykaFOV`C7p6$ywV!Tw#5j{12QO!JM*GDST{itqTxh#ZYt329Q1 z`rn^FZyN5gvymh{in`gAGP*hui8qa$^RL-t@5_D~Nba4)L^F>O!a}PN(|n~t3ddHU z_4b!pq||ssI-0s4S{n0iY3$KO9^QU3L0&qzhs(j@ik-`74g|K4)JK3Y2jQ^(!y0!m zt-De33haIqOxwljBgocA8|K&9ogpZ9b;g}yLq1g-uiu|g19SY4mg%Ke)$XPdHa-8 zbN+&bWj&d}>3%Tr^yCe8Yp13FLxNLL4Lh|;gFljz@3WSd)*o-rw+EAc+N103?&@l4 zNyKtyW;+U`uCA_V5#(H4i^%nB=c;06e&(%fxt8a=?gvEz8PB(ey=w%u1N!`Ye0*eN zWDGzChnu}IQc_Z9&$1!NJ0Uf}Ne6FJHc#dA@>AO2y*upNfZuhK?X1 zA|m>9td4cdf+u-|b{%M!|9E((%MZgoFYf zM>E0D@DG<;pY4Y^p%|+UTnMHrDl@m!Kw)99|28JMRM+(|fvKr!etv!-xG@3mx>_`F zTpJ=98XCAkWaP%RbMU~fyPw}PNgM{wHoaR1DzDO%<>Y)-{9f*k)k_r8Sxg6(>&>O( z2=NFB-~P%oqvCUv0Y5*qDi>@x8W`kNQ`E}u9v?w66g+XSi2bexOd$JaJz(X+3pJ_0 z^yBH$Gzd!UX#knI>wZxm6BCo&YQlww5Zw6n^)>kTXJq7cP37SBl~EsWKBqX@FhwlVm@bK`6iHY&?`CNB?U+<3eKCIf4OT~QUa#(h@)34V0 z$k$=ONglJ{0LRC5YgGn7B#v3|#DPP}uq8=!ew)>6&}o(fHSkF}6kpYTN{~T7L=~V6 zUI_@B^abG>`@4ciK@O%Sc{D1!p+ z!hZ>{C5Oyd!%e?LO34S>G*M9!WGI6!q~NMl$$}~g6y;i#K--K(yXIa}Z{_WJq^C{+`JvFzgz^2& z(5oD%K^BJb6Ay3*Avmb9+wa~4M6Cb%h_q?O>TZzNpJ%SyEVZkgq!uPdkqk))Z^kO3 zdNlz6kHUe=@AAeR@cs?uixDq^E<&nS<+2(03KY1$29ZKY3PfzAD<0TB77+}(sJ}o& zq#HcCkZ=AmA$B+S=#&S|@#AZp13Q|It zZ3zTzu{OK`V^W8px=4RmdZqzjvIl&qWjbAl4!C zFbCxjcci1D7VUh(eKuNm!i>TWX(Y+M(G-1&RG_=3MhG*gQKOShl~Yv3&#=Oy3bKUu z=z!=pvgb%5q-ISIT0!w9-uD@{^1~eP`lb--LjB_z!&BtwV-g`sDX!C;rKt|+kSsMP zlJp&ENHhJ6Ee;etR7|56^9>h*1}+b3(CN#M%z_KMW_~=YX6G>Ipk@dLi3FgeDo}KL zML7~ira0(ZkO5kXT%MXwTxtpApm&;XDYS3*fK8Lj`Z(2`M&t9Aw@~(>yhF>w)>5Fy zg>Ll*j(kL(jpd3}>_JCfS<)B~oTn;D#~{3b5A>6;x5opI&HBn!VkJr`sh zAP66(J+?rSY}N=xKYrJpA_<}VPB8=_ZQNLk&RDg4SYv!<)WfNJ(~+YCHf-GC;^3J$$Ll>AfY$>c2;1d}`!+tCSi7eSX+Ma#799hO%{_R|j7-lbITpi+)cTM=2}j1;BMXQ-cBpgddp)T?=whKA)eVq>#V zKiPE9kyLf7t?@iYC;3DvVE{Mt<;q*~g{15VenWJi61L<1irDfzO^;9I0*$2!ss+!c z2D$-SC_~bjdnS)}KnI$LHt`v4 zy{D$`#iFa@eRvuWzolGlPDN^w515dXMLykQERd}s4e4z01AxkvRN3aK$WvI7Ry@Xsv38FJ@UB0Z$&c1AIH z-L|z5ijT{-(CW{*{HWqBYwIxf^kFvYQ8(y7Wt5f9I_^uSrE&Y2fmCr-#AS|}jCrZg zit3;T8OJOZwIwA#QNTv4g?5GXtsLerorngs50T0u^a82~C*%v2i5{dM^3kfri|3+u ztMJlwMLCfD?|SyI7jS%QyrrEPw1jIHnJS>$ zdC0Af7L{--8ar1?9xdt*m-#-)4#1rvHSupnqy+H(tIs)&<>1$a`)iHeH4k@`xuicW zPBR-HM!>_MYbW9*Ri~3K(~F)VFYfEd3db6@qnG={)!uaYD1F}WgXFVV2gMD{hL^mZ zKSH`g#BV!FuE(D9>5*?4Xo2UN8YCr1Y|Y2HEXM@?^l8D0@_pBeKiQ!fH_7P)qf!rd z0FuC@KgfS8m3A`JjZQTdK^0CZs<8kMcfg$5V9Vl>lkx0UyG_^W9$%CK(cy%l^>d9s z7;QtWIxHuff%(qxYrCF^(UY~zEdzN>HH`x<~3@^QAZL-HQ*=R zCGC}oLQb&*KjP*`b$M~T~# zof~MXuXN&+{kJunwdK&w>lQ{*XiM{->K(S=-xdB1$rkvz^yw`@dnf+E<{UPTY!iYw zTRXHwO<`KPMvMK<>%T-hJB~+T9(!+EE$m zry4PPuf*!ZuJi3x!?1V-X`!tg`<_&+WjD30r|6as8bkMAT@T4SZfR!)c`jB3y(Q$5 z`l7QqE~HrWTkgj7-#3!6jTzvK1uB3vYr!BtfbQ>wT!E-n@`{ea`TJcD^V$MVY2a&2 zJtOE=WGaJiN|*13(GYg=Vqk0WL7^Wg_?RPUa!MO;D|;U6(9!c~WUv|vLL}I~bDGzh zmP)-Otw2*b{M)R*$g02i{1!e}sDl#cB*s)!h|4B1v{wI@=xN9>38~hs_YJrTX*o%% zxq(@+{WX9*6ReOq3YFXQ7CTR}t_u+@dxm!=TX*;^x;K-veUW%ooU|o!%lFf8AtuZsfVt=kQ`rdK9F2g5+VZ zkLrHB99sOI!AK%3>k2G{2?Mgv71FHHwm0ePtyGo?6;%i-ERf{al33#dtumF4GL+$( zve?%DAa(_0*pG8IANpWtKQGom=_`}ot;dNiYa;O9IC@R3>bX^+Qa{;CGwi=k9D2dz zJgeruqkDehW;o_1Y}Km1nR8x0rv9x}yH=F1kCm4+X2J^ShFWmpuV`e>puiJ{+wNsMFNHXFhXzx zA6K*5@SlXIy*r_}uaLN}(4CKhu^Uow3lnb^5UsaJbCV^kr_p2kBobvcYnyda=u;7Y_^QE>37Iwp0i;z=+_N1Wpz%l*zf+BRx|LjB zqQ9EFly3>7Sn0`GZtn*kmfkp?0`!Ho0w05KG8ZZo$H%5Y38%OTB$LIPxr)VO?0s)CS56ea z?BQwWfTC_+GXxYltUJ7oC|X$lIJPv zFlz^MLNyx`X>s_E_C%2uRfRTn`DSjlUNQx+WA!t0qB)fJ5+TZV6nZGc>kVh^J#F}3 zxoeU}1PA9-p$@)0L*%tc+VCH+kCoc4=BX71Auuw{>W9$l;{U6E|3?+~$#|pw7YqC2 zf1+lgz?Opl*YuzbWMk+4Z)<_M$yeAy6KoZTAI*ky^c9(_bdBajMY8ksX1T(y8^@)+ zAA|jwx5!w4pK}Zszqmi=L7&Tgy@Lprt^>;)(W{4(g13;BRx~1I@1M5fk)3q(1A|WG zlhH~6L#22dFc?p-|K>Npk1slI1U#dPRxc|8zd^@ju-FZhAr?~o--FP#A0TbzY##5c z8)%)|AaAU|4V^VZY|~mg1l1|hD!^jXHe(`H7q1ZamSH#~@;}s!=zkP7{fh>^O^w{M zDE7$61Q=IzMjjXanOmQq@9*y?CsWVWx`7!JzwLxqIzO9`Qkw{ zq}b(RG$B80+PDm&5NHgeXlTA*NMP3G7nC_K86AcERmCWhWhO(QE4!oW_69Nsb-sFX zIUja&_p;sYPGl>5JWcHdx?OZ{`JwgMRSo}t<+Bz6p$)k2w-^4HcuFk&WgQA@9nEm% zG$3%TXHH4z(2Qw)%r`?_&rnsv=%Jv5PgwX9=+{8+dSbVkKN|6|?IjrUB_M9&N+{## zI~c+EU)p0mOlzL~MFjXxOr0d{X1m^Y?~4ia+{t!y;N9#)Q1|8N^t3W+tb*IM+-g1Z znC~?CBrx_fd5(!shW4%$`-x=wR#?l8>tnN7y0qrt{I=VTW$⩔Z#W4*&D{t9l7gl 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

KyfoIOh`ILy=q9E!7J@09=v5_ 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⋙~knf)!VB5jibxjSNH*3eq4~IYGMx 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 delta 308147 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 z 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 H`MtjbFsN{- diff --git a/README.md b/README.md index 085e1ec..9d55c87 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,12 @@ Befehl, der ausgeführt wird — nichts passiert unangekündigt. Neustarts). Vollständig übersetzt: kompletter Experte-Tab (alle 9 Menü-Familien) und der Verbinden-Tab; weitere Tabs folgen schrittweise. +- **Einstellungen** (⌘,, natives macOS-Settings-Fenster) — Sprache, + automatischer RouterOS-Update-Check beim Verbinden, Farbschema + (Standard/Kontrastreich, für Übersicht-Diagramm + LAN-Scanner- + Statusfarben + Experte-Sidebar-Kategorien), Textgröße, Bedienelement- + Größe, LAN-Scanner-Aktualisierungsrate/Sparkline-Zeitfenster/-Breite. + Jede Änderung wirkt sofort, ohne Neustart. ## Architektur @@ -162,6 +168,7 @@ nur die zugehörigen Passwörter liegen weiterhin im macOS-Schlüsselbund. | M27 | Passwort-Anzeige-Button, Schlüsselbund nach Seriennummer getrennt, `terse`-Fallback verallgemeinert | ✅ live verifiziert | | — | LAN-Port-Konflikt-Prüfung + "Fertig"-Button (Einrichten) | 🔶 gebaut, Live-Test offen | | M28 | Übersicht-Tab: Fokus-Modus (Klick auf Knoten → Kette im schwebenden Popup, Rest abgedunkelt); Close-Button-Layout in allen vier Popups vereinheitlicht | ✅ live verifiziert | +| M29 | Einstellungen-Fenster (⌘,): Sprache, Update-Auto-Check, Farbschema, Textgröße, Bedienelement-Größe, LAN-Scanner-Refreshraten | ✅ live verifiziert | Ausführlicher Stand inkl. aller gefundenen Bugs, offener Punkte und Session-Verlauf: [`HANDOFF.md`](HANDOFF.md) / [`CHATLOG.md`](CHATLOG.md). @@ -187,6 +194,7 @@ RouterOS/ │ │ │ ├── InterfaceTraffic.swift — ein Live-Durchsatz-Sample + TrafficSample (10s-Sparkline-Historie, LAN-Scanner) │ │ │ ├── NetworkToolResult.swift — Rohausgabe von Ping/Traceroute/DNS-Auflösung │ │ │ ├── PortScanResult.swift — Ergebnis eines Port-Scans, ein Eintrag pro Port +│ │ │ ├── AppPreferences.swift — Settings-Infrastruktur: AppStorage-Keys, ColorTheme/AppTextSize/UIDensity │ │ │ └── RouterOSModels.swift — Credentials, DeviceInfo, RouterBoardInfo, PackageUpdateInfo, Fehler │ │ ├── Networking/ │ │ │ ├── RouterOSTransport.swift — Protocol: connect/fetch.../apply/disconnect @@ -212,7 +220,8 @@ RouterOS/ │ │ ├── Overview/ — Übersicht-Tab │ │ ├── Devices/ — LAN-Scanner-Tab │ │ ├── Expert/ — Experte-Tab -│ │ └── Backup/ — Sicherungen-Tab +│ │ ├── Backup/ — Sicherungen-Tab +│ │ └── Settings/ — Einstellungen-Fenster (⌘,) │ └── Resources/Assets.xcassets/ — App-Icon ├── RouterOSAssistantTests/ — Unit-Tests (Command-Builder, CLI-Parser, ViewModels, Mock-Transport) ├── project.yml — xcodegen-Projektdefinition (Quelle der Wahrheit, nicht das generierte .xcodeproj editieren) diff --git a/RouterOSAssistant/App/RouterOSAssistantApp.swift b/RouterOSAssistant/App/RouterOSAssistantApp.swift index 8f45124..52c34a9 100644 --- a/RouterOSAssistant/App/RouterOSAssistantApp.swift +++ b/RouterOSAssistant/App/RouterOSAssistantApp.swift @@ -9,6 +9,12 @@ struct RouterOSAssistantApp: App { /// live: toggling had no visible effect), so views read this same AppStorage key directly and /// translate via `L10n.t(_:_:)` instead. @AppStorage("appLanguage") private var appLanguage: String = "de" + @AppStorage(AppPreferences.textSizeKey) private var textSizeRaw: String = AppTextSize.standard.rawValue + @AppStorage(AppPreferences.uiDensityKey) private var uiDensityRaw: String = UIDensity.standard.rawValue + + init() { + AppPreferences.registerDefaults() + } var body: some Scene { WindowGroup { @@ -38,7 +44,20 @@ struct RouterOSAssistantApp: App { .help(appLanguage == "de" ? "Switch to English" : "Auf Deutsch umschalten") } } + .controlSize((UIDensity(rawValue: uiDensityRaw) ?? .standard).controlSize) + .environment(\.appFontScale, (AppTextSize(rawValue: textSizeRaw) ?? .standard).scale) + // Fallback for every `Text`/`TextField`/`Label` that has no explicit `.font(...)` of + // its own (confirmed live: the Experte tab's whole sidebar list and every Parameter/ + // Wert `TextField` have none — `.appFont(...)` only touches call sites that already + // had a `.font(...)` to replace, so unstyled text stayed fixed-size). `.environment + // (\.font, ...)` only ever supplies a *default*: anywhere `.appFont(...)` already sets + // an explicit font, that still wins. + .environment(\.font, .system(size: 13 * ((AppTextSize(rawValue: textSizeRaw) ?? .standard).scale))) } .environment(\.locale, Locale(identifier: appLanguage)) + + Settings { + SettingsView() + } } } diff --git a/RouterOSAssistant/Core/Localization/L10n.swift b/RouterOSAssistant/Core/Localization/L10n.swift index 71b32ff..ed27a8c 100644 --- a/RouterOSAssistant/Core/Localization/L10n.swift +++ b/RouterOSAssistant/Core/Localization/L10n.swift @@ -934,6 +934,37 @@ enum L10n { "Dies löscht ALLE aktuellen Einstellungen restlos (auch die Werks-Grundkonfiguration, nicht nur deine eigenen Änderungen) und ersetzt sie durch den Inhalt der Sicherung. Der Router startet neu, diese App verliert danach die Verbindung.": "This completely deletes ALL current settings (including the factory baseline configuration, not just your own changes) and replaces them with the backup's content. The router reboots, and this app loses the connection afterwards.", "Falls die Wiederherstellung fehlschlägt, bleibt der Router leer stehen, nicht auf Werkseinstellungen zurückgefallen.": - "If the restore fails, the router is left blank, not reverted to factory defaults." + "If the restore fails, the router is left blank, not reverted to factory defaults.", + + // MARK: - Settings window (⌘,) + "Allgemein": "General", + "Darstellung": "Appearance", + "Sprache": "Language", + "Entspricht dem 🇩🇪/🇬🇧-Knopf in der Toolbar — beide steuern dieselbe Einstellung.": + "Same as the 🇩🇪/🇬🇧 button in the toolbar — both control the same setting.", + "RouterOS-Updates": "RouterOS Updates", + "Beim Verbinden automatisch nach Updates suchen": "Automatically check for updates when connecting", + "Prüft nach jedem erfolgreichen Verbinden automatisch, ob eine neuere RouterOS-Version verfügbar ist — entspricht dem Button \"Nach Updates suchen\" im Tab \"Verbinden\".": + "Automatically checks after every successful connection whether a newer RouterOS version is available — same as the \"Check for updates\" button in the \"Connect\" tab.", + "Farbschema": "Color Theme", + "Standard": "Standard", + "Kontrastreich": "High Contrast", + "Gilt für die Diagrammfarben in der Übersicht und die Status-Farben im LAN-Scanner (Traffic aktiv, Fest/Dynamisch, offener/geschlossener Port).": + "Applies to the diagram colors in the Topology tab and the status colors in the LAN Scanner (traffic active, static/dynamic, open/closed port).", + "Textgröße": "Text Size", + "Klein": "Small", + "Groß": "Large", + "Sehr groß": "Extra Large", + "Bedienelemente": "Controls", + "Kompakt": "Compact", + "Komfortabel": "Comfortable", + "Größe von Buttons, Feldern und Abständen in der ganzen App (\"Responsiveness\").": + "Size of buttons, fields, and spacing throughout the app (\"responsiveness\").", + "LAN-Scanner: Traffic-Anzeige": "LAN Scanner: Traffic Display", + "Aktualisierungsrate": "Refresh Rate", + "Sparkline-Zeitfenster": "Sparkline Time Window", + "Sparkline-Breite": "Sparkline Width", + "Höhere Aktualisierungsraten zeigen den Traffic-Verlauf feiner, kosten aber mehr CPU bei vielen gleichzeitig aktiven Ports.": + "Higher refresh rates show the traffic trend more finely, but cost more CPU when many ports are active at once." ] } diff --git a/RouterOSAssistant/Core/Models/AppPreferences.swift b/RouterOSAssistant/Core/Models/AppPreferences.swift new file mode 100644 index 0000000..d2048a2 --- /dev/null +++ b/RouterOSAssistant/Core/Models/AppPreferences.swift @@ -0,0 +1,236 @@ +import SwiftUI + +/// Central catalog for the "Settings" window (⌘,) — every value here is read/written through +/// `@AppStorage`/`UserDefaults.standard` under the raw string keys named on each property below, +/// so a view (`@AppStorage`, live-updating) and a background `Task` loop (`UserDefaults.standard` +/// reads each tick, no observation needed) can both stay in sync with the same preference without +/// plumbing it through init parameters. `registerDefaults()` is called once at app launch so a +/// fresh install has real values before any Settings screen has ever been opened, matching the +/// literal fallback each `@AppStorage`/`UserDefaults` read site also carries — the two must be +/// kept in sync by hand since `@AppStorage` requires its default inline. +enum AppPreferences { + static let colorThemeKey = "colorTheme" + static let textSizeKey = "textSize" + static let uiDensityKey = "uiDensity" + static let autoCheckUpdatesOnConnectKey = "autoCheckUpdatesOnConnect" + static let lanScannerPollIntervalSecondsKey = "lanScannerPollIntervalSeconds" + static let lanScannerSparklineWindowSecondsKey = "lanScannerSparklineWindowSeconds" + static let lanScannerSparklineWidthKey = "lanScannerSparklineWidth" + + static func registerDefaults() { + UserDefaults.standard.register(defaults: [ + colorThemeKey: ColorTheme.standard.rawValue, + textSizeKey: AppTextSize.standard.rawValue, + uiDensityKey: UIDensity.standard.rawValue, + autoCheckUpdatesOnConnectKey: false, + lanScannerPollIntervalSecondsKey: 0.1, + lanScannerSparklineWindowSecondsKey: 30.0, + lanScannerSparklineWidthKey: 200.0, + ]) + } +} + +/// Two predefined palettes for the Übersicht diagram's node/edge colors and the LAN-Scanner's +/// status dots (traffic-active, static/dynamic lease, open/closed port) — a free per-category +/// color picker was explicitly ruled out in favor of this, so every color lives here rather than +/// scattered across the views that used to hardcode `Color.blue`/`.red`/etc. directly. +enum ColorTheme: String, CaseIterable, Identifiable { + case standard + case highContrast + + var id: String { rawValue } + + func color(for category: OverviewNode.Category) -> Color { + switch self { + case .standard: + switch category { + case .interface: return .blue + case .ipAddress: return .teal + case .service: return .purple + case .route: return .orange + case .firewall: return .red + } + case .highContrast: + switch category { + case .interface: return .yellow + case .ipAddress: return .green + case .service: return .pink + case .route: return .cyan + case .firewall: return .indigo + } + } + } + + func color(for kind: OverviewEdgeKind) -> Color { + switch self { + case .standard: + switch kind { + case .vlan: return .indigo + case .bridgePort: return .cyan + case .wireguardPeer: return .pink + case .ipAddress: return .teal + case .dhcp: return .purple + case .route: return .orange + case .firewallInterface: return .red + case .addressList: return .yellow + } + case .highContrast: + switch kind { + case .vlan: return .yellow + case .bridgePort: return .brown + case .wireguardPeer: return .mint + case .ipAddress: return .green + case .dhcp: return .cyan + case .route: return .indigo + case .firewallInterface: return .pink + case .addressList: return .blue + } + } + } + + /// Experte-tab sidebar: one dot per `RouterOSMenuCategory` (13 cases — far more granular than + /// the 5-case `OverviewNode.Category`), reusing that same 5-color palette by bucketing every + /// firewall sub-menu under `.firewall` and everything without an obvious 1:1 match (VPN, + /// Wi-Fi/CAPsMAN, Queues, System, Tools) under `.service` — keeps "Firewall is red" etc. + /// consistent with the Übersicht diagram instead of inventing a second, unrelated palette. + func color(for menuCategory: RouterOSMenuCategory) -> Color { + switch menuCategory { + case .firewallFilter, .firewallNat, .firewallMangle, .firewallRaw, .firewallAddressLists: + return color(for: OverviewNode.Category.firewall) + case .interfaces: + return color(for: OverviewNode.Category.interface) + case .ipAddressing: + return color(for: OverviewNode.Category.ipAddress) + case .routing: + return color(for: OverviewNode.Category.route) + case .vpn, .wireless, .queues, .system, .tools: + return color(for: OverviewNode.Category.service) + } + } + + /// LAN-Scanner: port-header "traffic active" dot, and `DeviceRow`'s static/dynamic lease dot. + /// First draft used `.mint`/`.yellow`/`.pink` here — too close to their standard counterparts + /// (green/orange/red) to read as a real change at small dot/icon size, per live feedback. + /// Now a genuinely different hue, not just a lighter shade of the same one. + var trafficActive: Color { self == .standard ? .green : .blue } + var staticLease: Color { self == .standard ? .orange : .purple } + var dynamicLease: Color { self == .standard ? .green : .blue } + var portOpen: Color { self == .standard ? .red : .orange } + var portClosed: Color { self == .standard ? .green : .blue } +} + +/// Global text scale factor, read via `.environment(\.appFontScale, ...)` at the window root and +/// applied by every `.appFont(...)` call site (see below). +/// +/// NOT built on `.environment(\.dynamicTypeSize, ...)` — that was the first attempt, and it does +/// nothing on macOS: confirmed empirically (an `ImageRenderer` snapshot of the same `Text` at +/// `.xSmall` vs `.accessibility3` produced pixel-identical output). Unlike iOS, macOS's SwiftUI +/// text styles (`.headline`, `.caption`, ...) resolve to fixed point sizes that don't respond to +/// a Dynamic Type category at all, so that environment key is a no-op here. `.appFont(_:)` instead +/// gives each text style an explicit base point size (macOS's own approximate defaults) that this +/// scale factor actually multiplies. +enum AppTextSize: String, CaseIterable, Identifiable { + case small + case standard + case large + case extraLarge + + var id: String { rawValue } + + var scale: CGFloat { + switch self { + case .small: return 0.85 + case .standard: return 1.0 + case .large: return 1.2 + case .extraLarge: return 1.4 + } + } +} + +private struct AppFontScaleKey: EnvironmentKey { + static let defaultValue: CGFloat = 1.0 +} + +extension EnvironmentValues { + var appFontScale: CGFloat { + get { self[AppFontScaleKey.self] } + set { self[AppFontScaleKey.self] = newValue } + } +} + +/// Named, scalable stand-ins for the semantic `Font.TextStyle` cases actually used in this app — +/// each carries the same base point size macOS itself uses for that style, so `.standard` (scale +/// 1.0) renders identically to the plain `Font.TextStyle` it replaces. +enum AppFontStyle { + case title2, title3, headline, body, callout, subheadline, caption, caption2 + /// An explicit point size/weight/design not covered by a named style above (rare — only where + /// the code already used `.font(.system(size:...))` directly). + case fixed(CGFloat, weight: Font.Weight = .regular, design: Font.Design = .default) + + fileprivate var baseSize: CGFloat { + switch self { + case .title2: return 17 + case .title3: return 15 + case .headline: return 13 + case .body: return 13 + case .callout: return 12 + case .subheadline: return 11 + case .caption: return 10 + case .caption2: return 9 + case .fixed(let size, _, _): return size + } + } + + fileprivate var baseWeight: Font.Weight { + if case .headline = self { return .semibold } + if case .fixed(_, let weight, _) = self { return weight } + return .regular + } + + fileprivate var design: Font.Design { + if case .fixed(_, _, let design) = self { return design } + return .default + } +} + +private struct AppFontModifier: ViewModifier { + @Environment(\.appFontScale) private var scale + let style: AppFontStyle + let weight: Font.Weight? + let bold: Bool + let design: Font.Design? + + func body(content: Content) -> some View { + let resolvedWeight = bold ? .bold : (weight ?? style.baseWeight) + content.font(.system(size: style.baseSize * scale, weight: resolvedWeight, design: design ?? style.design)) + } +} + +extension View { + /// Text-only scaling for the Settings "Textgröße" preference — see `AppTextSize`'s doc comment + /// for why this exists instead of `.environment(\.dynamicTypeSize, ...)`. `bold`/`weight`/ + /// `design` mirror the `.bold()`/`.weight(_:)`/`.monospaced()` chaining the replaced + /// `.font(...)` calls used. + func appFont(_ style: AppFontStyle, weight: Font.Weight? = nil, bold: Bool = false, design: Font.Design? = nil) -> some View { + modifier(AppFontModifier(style: style, weight: weight, bold: bold, design: design)) + } +} + +/// Global control/spacing density ("Responsiveness" from the found.md feature idea, made +/// concrete as SwiftUI's own `.controlSize`, applied once at the window root) — compact fits more +/// on screen on a small display, comfortable gives buttons/fields more room to hit on a large one. +enum UIDensity: String, CaseIterable, Identifiable { + case compact + case standard + case comfortable + + var id: String { rawValue } + + var controlSize: ControlSize { + switch self { + case .compact: return .small + case .standard: return .regular + case .comfortable: return .large + } + } +} diff --git a/RouterOSAssistant/Features/Backup/BackupListView.swift b/RouterOSAssistant/Features/Backup/BackupListView.swift index 287c9e8..3b5076a 100644 --- a/RouterOSAssistant/Features/Backup/BackupListView.swift +++ b/RouterOSAssistant/Features/Backup/BackupListView.swift @@ -100,10 +100,10 @@ struct BackupListView: View { VStack(alignment: .leading) { Text(backup.host).bold() Text(backup.createdAt.formatted(date: .abbreviated, time: .standard)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) if let model = BackupService.backupModel(from: backup.fileURL) { - Text(model).font(.caption2).foregroundStyle(.secondary) + Text(model).appFont(.caption2).foregroundStyle(.secondary) } } Spacer() @@ -125,10 +125,10 @@ struct BackupListView: View { .safeAreaInset(edge: .bottom) { VStack(alignment: .leading, spacing: 4) { Text(L10n.t("Speicherort", appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) Text(viewModel.backupDirectoryPath) - .font(.caption) + .appFont(.caption) .lineLimit(1) .truncationMode(.middle) .help(viewModel.backupDirectoryPath) @@ -143,10 +143,10 @@ struct BackupListView: View { .padding(.vertical, 4) Text(L10n.t("Gefahrenzone", appLanguage)) - .font(.caption.bold()) + .appFont(.caption, bold: true) .foregroundStyle(.red) Text(L10n.t("Setzt den Router komplett auf die vom Hersteller mitgelieferte Standardkonfiguration zurück — alle bisherigen Änderungen (Internet, Heimnetz, VLANs, WLAN, Firewall) gehen verloren. Der Router startet danach neu.", appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) Button(role: .destructive) { showFactoryResetConfirmation = true @@ -168,14 +168,14 @@ struct BackupListView: View { L10n.t("Befehl gesendet — der Router startet jetzt neu (kann 1-2 Minuten dauern). Verbinde dich danach im Tab \"Verbinden\" erneut.", appLanguage), systemImage: "arrow.clockwise" ) - .font(.caption) + .appFont(.caption) } if viewModel.didSendRestore { Label( L10n.t("Wiederherstellung gesendet — der Router startet jetzt neu (kann 1-2 Minuten dauern). Verbinde dich danach im Tab \"Verbinden\" erneut.", appLanguage), systemImage: "arrow.clockwise" ) - .font(.caption) + .appFont(.caption) } } .padding(8) diff --git a/RouterOSAssistant/Features/Devices/DevicesView.swift b/RouterOSAssistant/Features/Devices/DevicesView.swift index f32d57f..83681db 100644 --- a/RouterOSAssistant/Features/Devices/DevicesView.swift +++ b/RouterOSAssistant/Features/Devices/DevicesView.swift @@ -20,6 +20,9 @@ struct DevicesView: View { /// Same reasoning as `showStaticConfirmation` — independent of `pendingStaticRemoval`. @State private var showRemovalConfirmation = false @AppStorage("appLanguage") private var appLanguage: String = "de" + @AppStorage(AppPreferences.colorThemeKey) private var colorThemeRaw: String = ColorTheme.standard.rawValue + @AppStorage(AppPreferences.lanScannerSparklineWidthKey) private var sparklineWidth: Double = 200 + private var colorTheme: ColorTheme { ColorTheme(rawValue: colorThemeRaw) ?? .standard } init(connectionService: ConnectionService) { self.connectionService = connectionService @@ -53,12 +56,12 @@ struct DevicesView: View { ForEach(viewModel.portGroups) { group in Section { if group.devices.isEmpty { - Text(L10n.t("Keine Geräte", appLanguage)).font(.caption).foregroundStyle(.secondary) + Text(L10n.t("Keine Geräte", appLanguage)).appFont(.caption).foregroundStyle(.secondary) } else { DeviceColumnHeader(appLanguage: appLanguage) ForEach(group.devices) { device in HStack(spacing: 4) { - DeviceRow(device: device, appLanguage: appLanguage) + DeviceRow(device: device, appLanguage: appLanguage, theme: colorTheme) Spacer() // Per explicit request: right-click alone wasn't // discoverable ("nicht eindeutig erkennbar oder @@ -82,13 +85,13 @@ struct DevicesView: View { Text("\(group.title) (\(group.devices.count))") if let traffic = viewModel.portTraffic[group.id] { Spacer() - TrafficSparkline(history: viewModel.portTrafficHistory[group.id] ?? []) + TrafficSparkline(history: viewModel.portTrafficHistory[group.id] ?? [], width: sparklineWidth) Label( Self.formatTraffic(traffic), systemImage: traffic.isActive ? "arrow.up.arrow.down.circle.fill" : "arrow.up.arrow.down.circle" ) - .font(.caption2) - .foregroundStyle(traffic.isActive ? .green : .secondary) + .appFont(.caption2) + .foregroundStyle(traffic.isActive ? colorTheme.trafficActive : .secondary) } } } @@ -101,7 +104,7 @@ struct DevicesView: View { if viewModel.isRunningNetworkTool { HStack(spacing: 6) { ProgressView().controlSize(.small) - Text(L10n.t("Führe Netzwerk-Test aus…", appLanguage)).font(.caption) + Text(L10n.t("Führe Netzwerk-Test aus…", appLanguage)).appFont(.caption) } .padding(.horizontal, 12) .padding(.vertical, 6) @@ -152,7 +155,7 @@ struct DevicesView: View { showStaticConfirmation: $showStaticConfirmation, showRemovalConfirmation: $showRemovalConfirmation ) - .withDeviceDetailSheets(viewModel: viewModel, appLanguage: appLanguage, rawFieldsDevice: $rawFieldsDevice) + .withDeviceDetailSheets(viewModel: viewModel, appLanguage: appLanguage, theme: colorTheme, rawFieldsDevice: $rawFieldsDevice) } } @@ -303,7 +306,7 @@ private extension View { } } - func withDeviceDetailSheets(viewModel: DevicesViewModel, appLanguage: String, rawFieldsDevice: Binding) -> some View { + func withDeviceDetailSheets(viewModel: DevicesViewModel, appLanguage: String, theme: ColorTheme, rawFieldsDevice: Binding) -> some View { self .sheet(item: rawFieldsDevice) { device in RawFieldsSheet(device: device, appLanguage: appLanguage) { rawFieldsDevice.wrappedValue = nil } @@ -318,7 +321,7 @@ private extension View { get: { viewModel.portScanResult }, set: { if $0 == nil { viewModel.portScanResult = nil } } )) { result in - PortScanResultSheet(result: result, appLanguage: appLanguage) { viewModel.portScanResult = nil } + PortScanResultSheet(result: result, appLanguage: appLanguage, theme: theme) { viewModel.portScanResult = nil } } .alert( L10n.t("Netzwerk-Test fehlgeschlagen", appLanguage), @@ -343,6 +346,7 @@ private extension View { /// layout doesn't jump around during the first couple of poll ticks after opening the tab. private struct TrafficSparkline: View { let history: [TrafficSample] + let width: Double var body: some View { Group { @@ -362,7 +366,7 @@ private struct TrafficSparkline: View { Color.clear } } - .frame(width: 200, height: 16) + .frame(width: width, height: 16) } } @@ -395,6 +399,7 @@ private struct DeviceColumnHeader: View { private struct DeviceRow: View { let device: LanDevice let appLanguage: String + let theme: ColorTheme /// Three distinct states, not two — a device with no matching DHCP lease at all is neither /// "Fest" (a real static reservation) nor "Dynamisch" (a real active lease); conflating it @@ -407,7 +412,7 @@ private struct DeviceRow: View { private var statusColor: Color { guard device.hasLease else { return .secondary } - return device.isStatic ? .orange : .green + return device.isStatic ? theme.staticLease : theme.dynamicLease } private var statusText: String { @@ -454,7 +459,7 @@ private struct RawFieldsSheet: View { VStack(spacing: 0) { HStack { Text(L10n.t("Rohdaten:", appLanguage) + " \(device.macAddress)") - .font(.headline) + .appFont(.headline) Spacer() Button { onClose() @@ -471,15 +476,15 @@ private struct RawFieldsSheet: View { VStack(alignment: .leading, spacing: 12) { Text(L10n.t("Alle Felder, die RouterOS für diesen Eintrag zurückgegeben hat — hilfreich, falls Status/Port hier falsch aussieht.", appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) ScrollView { VStack(alignment: .leading, spacing: 4) { ForEach(device.rawFields, id: \.key) { pair in HStack(alignment: .top) { - Text(pair.key).font(.caption.monospaced()).foregroundStyle(.secondary) + Text(pair.key).appFont(.caption, design: .monospaced).foregroundStyle(.secondary) Spacer() - Text(pair.value).font(.caption.monospaced()).multilineTextAlignment(.trailing) + Text(pair.value).appFont(.caption, design: .monospaced).multilineTextAlignment(.trailing) } } } @@ -502,7 +507,7 @@ private struct NetworkToolResultSheet: View { VStack(spacing: 0) { HStack { Text(result.title) - .font(.headline) + .appFont(.headline) Spacer() Button { onClose() @@ -519,11 +524,11 @@ private struct NetworkToolResultSheet: View { VStack(alignment: .leading, spacing: 12) { Text(L10n.t("Ausgeführt vom Router aus (eigene SSH-Verbindung) — testet die Erreichbarkeit vom Router zu diesem Gerät, nicht von diesem Mac.", appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) ScrollView { Text(result.output.isEmpty ? L10n.t("(keine Ausgabe)", appLanguage) : result.output) - .font(.system(.caption, design: .monospaced)) + .appFont(.caption, design: .monospaced) .frame(maxWidth: .infinity, alignment: .leading) .textSelection(.enabled) } @@ -541,13 +546,14 @@ private struct NetworkToolResultSheet: View { private struct PortScanResultSheet: View { let result: PortScanResult let appLanguage: String + let theme: ColorTheme let onClose: () -> Void var body: some View { VStack(spacing: 0) { HStack { Text(L10n.t("Port-Scan:", appLanguage) + " \(result.deviceLabel)") - .font(.headline) + .appFont(.headline) Spacer() Button { onClose() @@ -564,13 +570,13 @@ private struct PortScanResultSheet: View { VStack(alignment: .leading, spacing: 12) { Text(L10n.t("TCP-Verbindungsversuch auf gängige Ports, ausgeführt von diesem Mac aus (nicht vom Router) — rot = offen, grün = geschlossen (Gerät antwortet, aber nichts lauscht dort), grau = keine Antwort (Firewall, Gerät aus, oder Port gefiltert).", appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) ScrollView { VStack(spacing: 0) { ForEach(Array(result.entries.enumerated()), id: \.element.id) { index, entry in if index > 0 { Divider() } - PortScanRow(entry: entry, appLanguage: appLanguage) + PortScanRow(entry: entry, appLanguage: appLanguage, theme: theme) } } } @@ -584,11 +590,12 @@ private struct PortScanResultSheet: View { private struct PortScanRow: View { let entry: PortScanResult.Entry let appLanguage: String + let theme: ColorTheme private var color: Color { switch entry.status { - case .open: return .red - case .closed: return .green + case .open: return theme.portOpen + case .closed: return theme.portClosed case .unreachable: return .secondary } } @@ -605,15 +612,15 @@ private struct PortScanRow: View { HStack { Circle().fill(color).frame(width: 8, height: 8) Text("\(entry.port)") - .font(.system(.caption, design: .monospaced)) + .appFont(.caption, design: .monospaced) .frame(width: 50, alignment: .leading) Text(entry.serviceName ?? "-") - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) .frame(width: 140, alignment: .leading) Spacer() Text(statusText) - .font(.caption) + .appFont(.caption) .foregroundStyle(color) } .padding(.vertical, 3) diff --git a/RouterOSAssistant/Features/Devices/DevicesViewModel.swift b/RouterOSAssistant/Features/Devices/DevicesViewModel.swift index a1fb7e0..92a278e 100644 --- a/RouterOSAssistant/Features/Devices/DevicesViewModel.swift +++ b/RouterOSAssistant/Features/Devices/DevicesViewModel.swift @@ -61,10 +61,14 @@ final class DevicesViewModel: ObservableObject { self.networkToolsService = networkToolsService } - /// 0.1s cadence (faster than `ConnectViewModel.startTrafficPolling`'s 3s, per explicit - /// request — this tab's sparkline needs a finer-grained trend, not just the link dot) — - /// re-reads `portGroups` every tick so a newly-appearing port (e.g. a VLAN interface added - /// via the Setup wizard while this tab is open) gets picked up without restarting the poll. + /// Cadence and sparkline window are both live Settings values (`AppPreferences`, defaults + /// 0.1s/30s) — read fresh from `UserDefaults` each tick/append rather than captured once, so + /// a change in the Settings window while this tab is already polling takes effect on the next + /// tick instead of needing the tab reopened. Deliberately faster by default than + /// `ConnectViewModel.startTrafficPolling`'s fixed 3s (a separate, unrelated poll — this tab's + /// sparkline needs a finer-grained trend, not just the link dot). Re-reads `portGroups` every + /// tick so a newly-appearing port (e.g. a VLAN interface added via the Setup wizard while this + /// tab is open) gets picked up without restarting the poll. func startTrafficPolling(credentials: RouterOSCredentials) { stopTrafficPolling() trafficPollingTask = Task { @@ -77,13 +81,15 @@ final class DevicesViewModel: ObservableObject { appendTrafficHistory(traffic, at: Date()) } } - try? await Task.sleep(for: .milliseconds(100)) + let intervalSeconds = UserDefaults.standard.object(forKey: AppPreferences.lanScannerPollIntervalSecondsKey) as? Double ?? 0.1 + try? await Task.sleep(for: .milliseconds(max(1, Int(intervalSeconds * 1000)))) } } } private func appendTrafficHistory(_ traffic: [String: InterfaceTraffic], at timestamp: Date) { - let cutoff = timestamp.addingTimeInterval(-30) + let windowSeconds = UserDefaults.standard.object(forKey: AppPreferences.lanScannerSparklineWindowSecondsKey) as? Double ?? 30 + let cutoff = timestamp.addingTimeInterval(-windowSeconds) for (name, sample) in traffic { var history = portTrafficHistory[name] ?? [] history.append(TrafficSample(timestamp: timestamp, totalBitsPerSecond: sample.rxBitsPerSecond + sample.txBitsPerSecond)) diff --git a/RouterOSAssistant/Features/Expert/ExpertMenuDetailView.swift b/RouterOSAssistant/Features/Expert/ExpertMenuDetailView.swift index b073934..2d4f1bd 100644 --- a/RouterOSAssistant/Features/Expert/ExpertMenuDetailView.swift +++ b/RouterOSAssistant/Features/Expert/ExpertMenuDetailView.swift @@ -9,15 +9,15 @@ struct ExpertMenuDetailView: View { Form { Section { Text(L10n.t(schema.displayName, appLanguage)) - .font(.title2) + .appFont(.title2) .bold() Text(L10n.t(schema.category.rawValue, appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) Text(L10n.t(schema.explanation, appLanguage)) if let warning = schema.warning { Label(L10n.t(warning, appLanguage), systemImage: "exclamationmark.triangle") - .font(.caption) + .appFont(.caption) .foregroundStyle(.orange) } } @@ -128,7 +128,7 @@ struct ExpertItemEditView: View { // directly below, per explicit request to keep every popup's close button consistent. VStack(spacing: 0) { HStack { - Text(L10n.t(schema.displayName, appLanguage)).font(.headline) + Text(L10n.t(schema.displayName, appLanguage)).appFont(.headline) Spacer() Button { viewModel.cancelEditing() @@ -151,7 +151,7 @@ struct ExpertItemEditView: View { Section(LocalizedStringKey(L10n.t("Weitere Parameter (frei)", appLanguage))) { Text(L10n.t("Für alles, was oben nicht als eigenes Feld aufgeführt ist — RouterOS-Parametername genau wie in der Dokumentation.", appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) // Zwei Spalten statt einer Zeile pro Parameter — bei Menüs mit vielen ungekuratierten // RouterOS-Feldern (z.B. "Alle Interfaces (generisch)", wo Ethernet-Ports gut 30+ @@ -202,7 +202,7 @@ struct ExpertItemEditView: View { if let command = viewModel.pendingCommand { Section(LocalizedStringKey(L10n.t("Wird ausgeführt", appLanguage))) { Text(command.cliLine) - .font(.system(.caption, design: .monospaced)) + .appFont(.caption, design: .monospaced) .foregroundStyle(.secondary) } } @@ -245,7 +245,7 @@ struct ExpertItemEditView: View { private func extraColumnHeader(_ key: String) -> some View { Text(L10n.t(key, appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) } @@ -360,7 +360,7 @@ private struct DurationFieldEditor: View { .frame(minWidth: 26) } Text(unit) - .font(.caption2) + .appFont(.caption2) .foregroundStyle(.secondary) } } diff --git a/RouterOSAssistant/Features/Expert/ExpertView.swift b/RouterOSAssistant/Features/Expert/ExpertView.swift index 417d5bb..6721cea 100644 --- a/RouterOSAssistant/Features/Expert/ExpertView.swift +++ b/RouterOSAssistant/Features/Expert/ExpertView.swift @@ -4,6 +4,8 @@ struct ExpertView: View { @ObservedObject var connectionService: ConnectionService @StateObject private var viewModel: ExpertViewModel @AppStorage("appLanguage") private var appLanguage: String = "de" + @AppStorage(AppPreferences.colorThemeKey) private var colorThemeRaw: String = ColorTheme.standard.rawValue + private var colorTheme: ColorTheme { ColorTheme(rawValue: colorThemeRaw) ?? .standard } /// A category's presence in this set means "collapsed". Starts with every category /// collapsed (Nutzerwunsch: "standardmäßig sollten beim Öffnen des Experte-Tab alle /// Sektion zugeklappt sein") — click a header to fold its menu list open again. @@ -51,7 +53,7 @@ struct ExpertView: View { } } } header: { - sectionHeader(L10n.t(category.rawValue, appLanguage), isExpanded: isExpanded) { + sectionHeader(L10n.t(category.rawValue, appLanguage), isExpanded: isExpanded, categoryColor: colorTheme.color(for: category)) { if isExpanded { collapsedCategories.insert(category) } else { @@ -65,7 +67,7 @@ struct ExpertView: View { Section { if isCustomPathExpanded { Text(L10n.t("Jeder RouterOS-Menüpfad ist erreichbar, auch wenn er oben nicht gelistet ist — die Felder erscheinen dann generisch (Schlüssel/Wert), ohne kuratierte Erklärung.", appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) TextField(L10n.t("Menüpfad, z.B. /ip firewall filter", appLanguage), text: $viewModel.customMenuPath) .help(L10n.t("Der RouterOS-CLI-Pfad, z.B. \"/interface wireguard\" oder \"/routing ospf instance\".", appLanguage)) @@ -113,15 +115,18 @@ struct ExpertView: View { /// nicht erst beim Hovern"). The whole header is a plain `Button` toggling `onToggle`, with /// the section's own content shown/hidden by the caller via a plain `if isExpanded` instead /// of the `Section(isExpanded:)` API, since that API owns its own (hover-only) chevron. - private func sectionHeader(_ title: String, isExpanded: Bool, onToggle: @escaping () -> Void) -> some View { + private func sectionHeader(_ title: String, isExpanded: Bool, categoryColor: Color? = nil, onToggle: @escaping () -> Void) -> some View { Button(action: onToggle) { HStack(spacing: 6) { Image(systemName: "chevron.right") - .font(.caption.bold()) + .appFont(.caption, bold: true) .foregroundStyle(.secondary) .rotationEffect(.degrees(isExpanded ? 90 : 0)) + if let categoryColor { + Circle().fill(categoryColor).frame(width: 8, height: 8) + } Text(title) - .font(.title3.bold()) + .appFont(.title3, bold: true) .foregroundStyle(.primary) } .padding(.vertical, 6) diff --git a/RouterOSAssistant/Features/Overview/OverviewView.swift b/RouterOSAssistant/Features/Overview/OverviewView.swift index 8994e29..4208cb7 100644 --- a/RouterOSAssistant/Features/Overview/OverviewView.swift +++ b/RouterOSAssistant/Features/Overview/OverviewView.swift @@ -13,6 +13,8 @@ struct OverviewView: View { /// instead of duplicating either here. @StateObject private var expertViewModel: ExpertViewModel @AppStorage("appLanguage") private var appLanguage: String = "de" + @AppStorage(AppPreferences.colorThemeKey) private var colorThemeRaw: String = ColorTheme.standard.rawValue + private var colorTheme: ColorTheme { ColorTheme(rawValue: colorThemeRaw) ?? .standard } @State private var scale: CGFloat = 1.0 @State private var hoveredNodeID: String? @State private var hoveredEdge: OverviewEdge? @@ -232,6 +234,7 @@ struct OverviewView: View { graph: viewModel.graph, positions: effectivePositions, highlightedNodeIDs: focusChainIDs ?? highlightedNodeIDs, + theme: colorTheme, hoveredEdge: $hoveredEdge, hoverPoint: $hoverPoint, selectedEdge: $selectedEdge, @@ -244,7 +247,7 @@ struct OverviewView: View { ForEach(Array(OverviewLayout.columnOrder.enumerated()), id: \.offset) { index, category in Text(L10n.t(category.rawValue, appLanguage)) - .font(.headline) + .appFont(.headline) .foregroundStyle(.secondary) .position( x: OverviewLayout.leftInset + CGFloat(index) * OverviewLayout.columnWidth + OverviewLayout.nodeWidth / 2, @@ -258,7 +261,8 @@ struct OverviewView: View { NodeCardView( node: node, isSelected: node.id == viewModel.selectedNodeID, - isHovered: node.id == hoveredNodeID + isHovered: node.id == hoveredNodeID, + theme: colorTheme ) .frame(width: OverviewLayout.nodeWidth, height: OverviewLayout.nodeHeight) .position(point) @@ -289,7 +293,7 @@ struct OverviewView: View { } if let edge = hoveredEdge { - EdgeTooltipView(edge: edge, graph: viewModel.graph, appLanguage: appLanguage) + EdgeTooltipView(edge: edge, graph: viewModel.graph, appLanguage: appLanguage, theme: colorTheme) .position( x: min(max(hoverPoint.x + 90, 90), layout.canvasSize.width - 90), y: max(hoverPoint.y - 26, 16) @@ -332,7 +336,7 @@ struct OverviewView: View { private func focusPanel(subGraph: OverviewGraph, subLayout: OverviewLayoutResult) -> some View { VStack(spacing: 0) { HStack { - Text(L10n.t("Fokus", appLanguage)).font(.headline) + Text(L10n.t("Fokus", appLanguage)).appFont(.headline) Spacer() Button { viewModel.selectedNodeID = nil @@ -356,6 +360,7 @@ struct OverviewView: View { graph: subGraph, positions: subLayout.positions, highlightedNodeIDs: Set(subGraph.nodes.map(\.id)), + theme: colorTheme, hoveredEdge: $panelHoveredEdge, hoverPoint: $panelHoverPoint, selectedEdge: $selectedEdge, @@ -371,7 +376,8 @@ struct OverviewView: View { NodeCardView( node: node, isSelected: node.id == viewModel.selectedNodeID, - isHovered: node.id == hoveredNodeID + isHovered: node.id == hoveredNodeID, + theme: colorTheme ) .frame(width: OverviewLayout.nodeWidth, height: OverviewLayout.nodeHeight) .position(point) @@ -386,7 +392,7 @@ struct OverviewView: View { } if let edge = panelHoveredEdge { - EdgeTooltipView(edge: edge, graph: subGraph, appLanguage: appLanguage) + EdgeTooltipView(edge: edge, graph: subGraph, appLanguage: appLanguage, theme: colorTheme) .position( x: min(max(panelHoverPoint.x + 90, 90), subLayout.canvasSize.width - 90), y: max(panelHoverPoint.y - 26, 16) @@ -406,22 +412,22 @@ struct OverviewView: View { @ViewBuilder private var detailPanel: some View { if let edge = selectedEdge { - EdgeDetailView(edge: edge, graph: viewModel.graph, appLanguage: appLanguage) { nodeID in + EdgeDetailView(edge: edge, graph: viewModel.graph, appLanguage: appLanguage, theme: colorTheme) { nodeID in selectedEdge = nil viewModel.selectedNodeID = nodeID } } else if let id = viewModel.selectedNodeID, let node = viewModel.graph.nodes.first(where: { $0.id == id }) { - NodeDetailView(node: node, graph: viewModel.graph, appLanguage: appLanguage, onEdit: editNode) { nodeID in + NodeDetailView(node: node, graph: viewModel.graph, appLanguage: appLanguage, theme: colorTheme, onEdit: editNode) { nodeID in selectedEdge = nil viewModel.selectedNodeID = nodeID } } else { - LegendView(appLanguage: appLanguage) + LegendView(appLanguage: appLanguage, theme: colorTheme) } } } -/// Draws every edge as a bezier curve, colored by its `kind` (see `OverviewStyle.color(for:)`) +/// Draws every edge as a bezier curve, colored by its `kind` (see `colorTheme.color(for:)`) /// so the different dependency types are visually separated even with nothing selected. Hovering /// or clicking a node pushes its own edges to full strength and fades every other edge down to /// a hint, so "what connects to this" reads instantly in a busy diagram. Also tracks the mouse @@ -431,6 +437,7 @@ private struct EdgesCanvas: View { let graph: OverviewGraph let positions: [String: CGPoint] let highlightedNodeIDs: Set + let theme: ColorTheme @Binding var hoveredEdge: OverviewEdge? @Binding var hoverPoint: CGPoint @Binding var selectedEdge: OverviewEdge? @@ -537,7 +544,7 @@ private struct EdgesCanvas: View { var path = Path() path.move(to: geometry.start) path.addCurve(to: geometry.end, control1: geometry.control1, control2: geometry.control2) - let baseColor = OverviewStyle.color(for: edge.kind) + let baseColor = theme.color(for: edge.kind) context.stroke( path, with: .color(baseColor.opacity(isHovered ? 1.0 : (isDimmed ? 0.1 : (isConnected ? 1.0 : 0.6)))), @@ -640,6 +647,7 @@ private struct EdgeTooltipView: View { let edge: OverviewEdge let graph: OverviewGraph let appLanguage: String + let theme: ColorTheme private var fromTitle: String { graph.nodes.first(where: { $0.id == edge.from })?.title ?? edge.from } private var toTitle: String { graph.nodes.first(where: { $0.id == edge.to })?.title ?? edge.to } @@ -647,12 +655,12 @@ private struct EdgeTooltipView: View { var body: some View { VStack(alignment: .leading, spacing: 2) { Text(L10n.t(edge.kind.rawValue, appLanguage)) - .font(.caption.bold()) + .appFont(.caption, bold: true) Text("\(fromTitle) → \(toTitle)") - .font(.caption2) + .appFont(.caption2) if let label = edge.label { Text(label) - .font(.caption2) + .appFont(.caption2) .foregroundStyle(.secondary) } } @@ -660,7 +668,7 @@ private struct EdgeTooltipView: View { .background(RoundedRectangle(cornerRadius: 6).fill(.regularMaterial)) .overlay( RoundedRectangle(cornerRadius: 6) - .stroke(OverviewStyle.color(for: edge.kind), lineWidth: 1) + .stroke(theme.color(for: edge.kind), lineWidth: 1) ) .fixedSize() } @@ -674,6 +682,7 @@ private struct EdgeDetailView: View { let edge: OverviewEdge let graph: OverviewGraph let appLanguage: String + let theme: ColorTheme let onJumpToNode: (String) -> Void private var fromNode: OverviewNode? { graph.nodes.first(where: { $0.id == edge.from }) } @@ -686,27 +695,27 @@ private struct EdgeDetailView: View { VStack(alignment: .leading, spacing: 12) { HStack { Image(systemName: "arrow.triangle.branch") - .foregroundStyle(OverviewStyle.color(for: edge.kind)) - Text(L10n.t(edge.kind.rawValue, appLanguage)).font(.title3.bold()) + .foregroundStyle(theme.color(for: edge.kind)) + Text(L10n.t(edge.kind.rawValue, appLanguage)).appFont(.title3, bold: true) } - Text(L10n.t("Verbindung", appLanguage)).font(.caption).foregroundStyle(.secondary) + Text(L10n.t("Verbindung", appLanguage)).appFont(.caption).foregroundStyle(.secondary) Divider() Text(L10n.t(OverviewStyle.explanation(for: edge.kind), appLanguage)) - .font(.callout) + .appFont(.callout) .fixedSize(horizontal: false, vertical: true) if let label = edge.label { Text(label) - .font(.callout) + .appFont(.callout) .foregroundStyle(.secondary) .fixedSize(horizontal: false, vertical: true) } Divider() - Text(L10n.t("Verbunden", appLanguage)).font(.subheadline.bold()) + Text(L10n.t("Verbunden", appLanguage)).appFont(.subheadline, bold: true) endpointRow(title: L10n.t("Von", appLanguage), node: fromNode, fallbackTitle: fromTitle, id: edge.from) endpointRow(title: L10n.t("Nach", appLanguage), node: toNode, fallbackTitle: toTitle, id: edge.to) @@ -722,18 +731,18 @@ private struct EdgeDetailView: View { } label: { HStack { VStack(alignment: .leading, spacing: 2) { - Text(title).font(.caption).foregroundStyle(.secondary) + Text(title).appFont(.caption).foregroundStyle(.secondary) HStack(spacing: 4) { if let node { Image(systemName: OverviewStyle.icon(for: node.kind)) - .foregroundStyle(OverviewStyle.color(for: node.category)) + .foregroundStyle(theme.color(for: node.category)) } - Text(fallbackTitle).font(.callout.bold()) + Text(fallbackTitle).appFont(.callout, bold: true) } } Spacer() Image(systemName: "chevron.right") - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) } .padding(8) @@ -747,12 +756,13 @@ private struct NodeCardView: View { let node: OverviewNode let isSelected: Bool let isHovered: Bool + let theme: ColorTheme var body: some View { VStack(spacing: 2) { HStack(spacing: 4) { Image(systemName: OverviewStyle.icon(for: node.kind)) - .foregroundStyle(OverviewStyle.color(for: node.category)) + .foregroundStyle(theme.color(for: node.category)) Text(node.title) .font(.system(size: 12, weight: .semibold)) .lineLimit(1) @@ -770,7 +780,7 @@ private struct NodeCardView: View { .overlay( RoundedRectangle(cornerRadius: 8) .stroke( - isSelected || isHovered ? Color.accentColor : OverviewStyle.color(for: node.category).opacity(0.5), + isSelected || isHovered ? Color.accentColor : theme.color(for: node.category).opacity(0.5), lineWidth: isSelected || isHovered ? 2 : 1 ) ) @@ -785,6 +795,7 @@ private struct NodeDetailView: View { let node: OverviewNode let graph: OverviewGraph let appLanguage: String + let theme: ColorTheme let onEdit: (OverviewNode) -> Void let onSelectNode: (String) -> Void @@ -793,8 +804,8 @@ private struct NodeDetailView: View { VStack(alignment: .leading, spacing: 12) { HStack { Image(systemName: OverviewStyle.icon(for: node.kind)) - .foregroundStyle(OverviewStyle.color(for: node.category)) - Text(node.title).font(.title3.bold()) + .foregroundStyle(theme.color(for: node.category)) + Text(node.title).appFont(.title3, bold: true) Spacer() if node.editTarget != nil { Button { @@ -806,7 +817,7 @@ private struct NodeDetailView: View { } } Text(L10n.t(node.category.rawValue, appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) if !node.detail.isEmpty { @@ -814,9 +825,9 @@ private struct NodeDetailView: View { VStack(alignment: .leading, spacing: 4) { ForEach(node.detail, id: \.key) { pair in HStack(alignment: .top) { - Text(pair.key).font(.caption.monospaced()).foregroundStyle(.secondary) + Text(pair.key).appFont(.caption, design: .monospaced).foregroundStyle(.secondary) Spacer() - Text(pair.value).font(.caption.monospaced()).multilineTextAlignment(.trailing) + Text(pair.value).appFont(.caption, design: .monospaced).multilineTextAlignment(.trailing) } } } @@ -825,7 +836,7 @@ private struct NodeDetailView: View { let connected = graph.edges.filter { $0.from == node.id || $0.to == node.id } if !connected.isEmpty { Divider() - Text(L10n.t("Verbindungen", appLanguage)).font(.subheadline.bold()) + Text(L10n.t("Verbindungen", appLanguage)).appFont(.subheadline, bold: true) ForEach(connected) { edge in let otherID = edge.from == node.id ? edge.to : edge.from let otherTitle = graph.nodes.first(where: { $0.id == otherID })?.title ?? otherID @@ -836,8 +847,8 @@ private struct NodeDetailView: View { edge.label.map { "\(otherTitle) (\($0))" } ?? otherTitle, systemImage: edge.from == node.id ? "arrow.right" : "arrow.left" ) - .foregroundStyle(OverviewStyle.color(for: edge.kind)) - .font(.caption) + .foregroundStyle(theme.color(for: edge.kind)) + .appFont(.caption) } .buttonStyle(.plain) .help(L10n.t(OverviewStyle.explanation(for: edge.kind), appLanguage)) @@ -851,45 +862,46 @@ private struct NodeDetailView: View { private struct LegendView: View { let appLanguage: String + let theme: ColorTheme var body: some View { ScrollView { VStack(alignment: .leading, spacing: 14) { - Text(L10n.t("Übersicht", appLanguage)).font(.title3.bold()) + Text(L10n.t("Übersicht", appLanguage)).appFont(.title3, bold: true) Text(L10n.t("Zeigt den kompletten IST-Zustand des verbundenen Routers als Diagramm: Interfaces links, darauf aufbauend IP-Adressen, DHCP/Pools, Routen und rechts die Firewall/NAT-Regeln, die auf sie zugreifen. Linien zeigen echte Abhängigkeiten (z.B. \"DHCP-Server nutzt diesen Pool\"), keine Vermutungen.", appLanguage)) - .font(.caption) + .appFont(.caption) Divider() Text(L10n.t("Auf ein Feld klicken zeigt hier rechts Details und alle Verbindungen.", appLanguage)) - .font(.caption) + .appFont(.caption) Divider() - Text(L10n.t("Nicht im Diagramm (aber im Experte-Tab erreichbar):", appLanguage)).font(.caption.bold()) + Text(L10n.t("Nicht im Diagramm (aber im Experte-Tab erreichbar):", appLanguage)).appFont(.caption, bold: true) VStack(alignment: .leading, spacing: 3) { ForEach(OverviewGraph.unmappedAreas, id: \.self) { area in Text("· \(L10n.t(area, appLanguage))") - .font(.caption2) + .appFont(.caption2) .foregroundStyle(.secondary) } } Divider() - Text(L10n.t("Spalten", appLanguage)).font(.caption.bold()) + Text(L10n.t("Spalten", appLanguage)).appFont(.caption, bold: true) VStack(alignment: .leading, spacing: 4) { ForEach(OverviewNode.Category.allCases) { category in Label(L10n.t(category.rawValue, appLanguage), systemImage: "square.fill") - .foregroundStyle(OverviewStyle.color(for: category)) - .font(.caption) + .foregroundStyle(theme.color(for: category)) + .appFont(.caption) } } Divider() - Text(L10n.t("Verbindungsarten", appLanguage)).font(.caption.bold()) + Text(L10n.t("Verbindungsarten", appLanguage)).appFont(.caption, bold: true) VStack(alignment: .leading, spacing: 4) { ForEach(OverviewEdgeKind.allCases) { kind in Label(L10n.t(kind.rawValue, appLanguage), systemImage: "minus") - .foregroundStyle(OverviewStyle.color(for: kind)) - .font(.caption) + .foregroundStyle(theme.color(for: kind)) + .appFont(.caption) } } } @@ -898,30 +910,9 @@ private struct LegendView: View { } } +/// Colors moved to `ColorTheme` (`AppPreferences.swift`) so they respond to the Settings window's +/// "Farbschema" picker — this enum now only holds the parts that don't vary by theme. enum OverviewStyle { - static func color(for category: OverviewNode.Category) -> Color { - switch category { - case .interface: return .blue - case .ipAddress: return .teal - case .service: return .purple - case .route: return .orange - case .firewall: return .red - } - } - - static func color(for kind: OverviewEdgeKind) -> Color { - switch kind { - case .vlan: return .indigo - case .bridgePort: return .cyan - case .wireguardPeer: return .pink - case .ipAddress: return .teal - case .dhcp: return .purple - case .route: return .orange - case .firewallInterface: return .red - case .addressList: return .yellow - } - } - /// Plain-language explanation of what this connection kind actually means — shown in /// `EdgeDetailView` so clicking a line answers "why is this connected" for someone who /// doesn't already know RouterOS' internal terminology. diff --git a/RouterOSAssistant/Features/Settings/SettingsView.swift b/RouterOSAssistant/Features/Settings/SettingsView.swift new file mode 100644 index 0000000..84a4ebd --- /dev/null +++ b/RouterOSAssistant/Features/Settings/SettingsView.swift @@ -0,0 +1,149 @@ +import SwiftUI + +/// The app's native Settings window (⌘,, wired up as a `Settings { }` scene in +/// `RouterOSAssistantApp`) — every control here is a plain `@AppStorage` binding under a key +/// catalogued in `AppPreferences`, so there's no view model: nothing here is anything other than +/// persisted preference state, and each tab's changes take effect live (no "Apply"/restart) +/// since every consumer (`OverviewView`, `DevicesView`, `DevicesViewModel`, ...) either observes +/// the same `@AppStorage` key itself or re-reads `UserDefaults.standard` on its own next tick. +struct SettingsView: View { + @AppStorage("appLanguage") private var appLanguage: String = "de" + + var body: some View { + TabView { + GeneralSettingsView() + .tabItem { Label(L10n.t("Allgemein", appLanguage), systemImage: "gearshape") } + AppearanceSettingsView() + .tabItem { Label(L10n.t("Darstellung", appLanguage), systemImage: "paintpalette") } + NetworkSettingsView() + .tabItem { Label(L10n.t("Netzwerk", appLanguage), systemImage: "network") } + } + .frame(width: 480) + .fixedSize(horizontal: false, vertical: true) + } +} + +private struct GeneralSettingsView: View { + @AppStorage("appLanguage") private var appLanguage: String = "de" + @AppStorage(AppPreferences.autoCheckUpdatesOnConnectKey) private var autoCheckUpdatesOnConnect: Bool = false + + var body: some View { + Form { + Section(L10n.t("Sprache", appLanguage)) { + Picker(L10n.t("Sprache", appLanguage), selection: $appLanguage) { + Text("Deutsch").tag("de") + Text("English").tag("en") + } + .pickerStyle(.segmented) + .labelsHidden() + Text(L10n.t("Entspricht dem 🇩🇪/🇬🇧-Knopf in der Toolbar — beide steuern dieselbe Einstellung.", appLanguage)) + .appFont(.caption) + .foregroundStyle(.secondary) + } + Section(L10n.t("RouterOS-Updates", appLanguage)) { + Toggle(L10n.t("Beim Verbinden automatisch nach Updates suchen", appLanguage), isOn: $autoCheckUpdatesOnConnect) + Text(L10n.t("Prüft nach jedem erfolgreichen Verbinden automatisch, ob eine neuere RouterOS-Version verfügbar ist — entspricht dem Button \"Nach Updates suchen\" im Tab \"Verbinden\".", appLanguage)) + .appFont(.caption) + .foregroundStyle(.secondary) + } + } + .formStyle(.grouped) + .padding() + } +} + +private struct AppearanceSettingsView: View { + @AppStorage("appLanguage") private var appLanguage: String = "de" + @AppStorage(AppPreferences.colorThemeKey) private var colorThemeRaw: String = ColorTheme.standard.rawValue + @AppStorage(AppPreferences.textSizeKey) private var textSizeRaw: String = AppTextSize.standard.rawValue + @AppStorage(AppPreferences.uiDensityKey) private var uiDensityRaw: String = UIDensity.standard.rawValue + + private var colorTheme: Binding { + Binding(get: { ColorTheme(rawValue: colorThemeRaw) ?? .standard }, set: { colorThemeRaw = $0.rawValue }) + } + private var textSize: Binding { + Binding(get: { AppTextSize(rawValue: textSizeRaw) ?? .standard }, set: { textSizeRaw = $0.rawValue }) + } + private var uiDensity: Binding { + Binding(get: { UIDensity(rawValue: uiDensityRaw) ?? .standard }, set: { uiDensityRaw = $0.rawValue }) + } + + var body: some View { + Form { + Section(L10n.t("Farbschema", appLanguage)) { + Picker(L10n.t("Farbschema", appLanguage), selection: colorTheme) { + Text(L10n.t("Standard", appLanguage)).tag(ColorTheme.standard) + Text(L10n.t("Kontrastreich", appLanguage)).tag(ColorTheme.highContrast) + } + .pickerStyle(.radioGroup) + Text(L10n.t("Gilt für die Diagrammfarben in der Übersicht und die Status-Farben im LAN-Scanner (Traffic aktiv, Fest/Dynamisch, offener/geschlossener Port).", appLanguage)) + .appFont(.caption) + .foregroundStyle(.secondary) + } + Section(L10n.t("Textgröße", appLanguage)) { + Picker(L10n.t("Textgröße", appLanguage), selection: textSize) { + Text(L10n.t("Klein", appLanguage)).tag(AppTextSize.small) + Text(L10n.t("Standard", appLanguage)).tag(AppTextSize.standard) + Text(L10n.t("Groß", appLanguage)).tag(AppTextSize.large) + Text(L10n.t("Sehr groß", appLanguage)).tag(AppTextSize.extraLarge) + } + .pickerStyle(.segmented) + .labelsHidden() + } + Section(L10n.t("Bedienelemente", appLanguage)) { + Picker(L10n.t("Bedienelemente", appLanguage), selection: uiDensity) { + Text(L10n.t("Kompakt", appLanguage)).tag(UIDensity.compact) + Text(L10n.t("Standard", appLanguage)).tag(UIDensity.standard) + Text(L10n.t("Komfortabel", appLanguage)).tag(UIDensity.comfortable) + } + .pickerStyle(.segmented) + .labelsHidden() + Text(L10n.t("Größe von Buttons, Feldern und Abständen in der ganzen App (\"Responsiveness\").", appLanguage)) + .appFont(.caption) + .foregroundStyle(.secondary) + } + } + .formStyle(.grouped) + .padding() + } +} + +private struct NetworkSettingsView: View { + @AppStorage("appLanguage") private var appLanguage: String = "de" + @AppStorage(AppPreferences.lanScannerPollIntervalSecondsKey) private var pollInterval: Double = 0.1 + @AppStorage(AppPreferences.lanScannerSparklineWindowSecondsKey) private var sparklineWindow: Double = 30 + @AppStorage(AppPreferences.lanScannerSparklineWidthKey) private var sparklineWidth: Double = 200 + + var body: some View { + Form { + Section(L10n.t("LAN-Scanner: Traffic-Anzeige", appLanguage)) { + Picker(L10n.t("Aktualisierungsrate", appLanguage), selection: $pollInterval) { + Text("0,1 s").tag(0.1) + Text("0,5 s").tag(0.5) + Text("1 s").tag(1.0) + Text("3 s").tag(3.0) + } + Picker(L10n.t("Sparkline-Zeitfenster", appLanguage), selection: $sparklineWindow) { + Text("10 s").tag(10.0) + Text("30 s").tag(30.0) + Text("60 s").tag(60.0) + } + Picker(L10n.t("Sparkline-Breite", appLanguage), selection: $sparklineWidth) { + Text("100 pt").tag(100.0) + Text("150 pt").tag(150.0) + Text("200 pt").tag(200.0) + Text("300 pt").tag(300.0) + } + Text(L10n.t("Höhere Aktualisierungsraten zeigen den Traffic-Verlauf feiner, kosten aber mehr CPU bei vielen gleichzeitig aktiven Ports.", appLanguage)) + .appFont(.caption) + .foregroundStyle(.secondary) + } + } + .formStyle(.grouped) + .padding() + } +} + +#Preview { + SettingsView() +} diff --git a/RouterOSAssistant/Features/Wizard/Steps/Connect/ConnectView.swift b/RouterOSAssistant/Features/Wizard/Steps/Connect/ConnectView.swift index 1f754d6..ab5675a 100644 --- a/RouterOSAssistant/Features/Wizard/Steps/Connect/ConnectView.swift +++ b/RouterOSAssistant/Features/Wizard/Steps/Connect/ConnectView.swift @@ -240,7 +240,7 @@ struct ConnectView: View { L10n.t("Zuletzt gesichert:", appLanguage) + " \(lastBackup.createdAt.formatted(date: .abbreviated, time: .standard))", systemImage: "checkmark" ) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) } } @@ -290,11 +290,11 @@ struct ConnectView: View { .disabled(viewModel.isUpgradingFirmware) } else { Label(L10n.t("Firmware aktuell", appLanguage), systemImage: "checkmark.circle") - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) } if let message = viewModel.firmwareUpgradeResultMessage { - Text(message).font(.caption).foregroundStyle(.secondary) + Text(message).appFont(.caption).foregroundStyle(.secondary) Button { showRebootConfirmation = true } label: { @@ -347,7 +347,7 @@ struct ConnectView: View { L10n.t("Update-Befehl gesendet — der Router lädt herunter, installiert und startet danach automatisch neu.", appLanguage), systemImage: "arrow.clockwise" ) - .font(.caption) + .appFont(.caption) } } Section("Interfaces") { @@ -359,7 +359,7 @@ struct ConnectView: View { ) VStack(alignment: .leading) { Text(interface.name).bold() - Text(interface.type).font(.caption).foregroundStyle(.secondary) + Text(interface.type).appFont(.caption).foregroundStyle(.secondary) } } } @@ -574,12 +574,12 @@ private struct SavedRouterRow: View { Text(router.name).bold() if !router.location.isEmpty { Label(router.location, systemImage: "mappin.and.ellipse") - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) } } Text("\(router.username)@\(router.host)") - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) // Nutzerwunsch (2026-09-16): Seriennummer mit hinterlegen, damit zwei // physisch unterschiedliche Router mit identischem Host+Benutzername (z.B. @@ -588,7 +588,7 @@ private struct SavedRouterRow: View { // SavedRoutersStore.recordSuccessfulConnection. if let serialNumber = router.serialNumber { Text("SN: \(serialNumber)") - .font(.caption2) + .appFont(.caption2) .foregroundStyle(.tertiary) } } diff --git a/RouterOSAssistant/Features/Wizard/Steps/Connect/ConnectViewModel.swift b/RouterOSAssistant/Features/Wizard/Steps/Connect/ConnectViewModel.swift index d83a81c..f0a5c55 100644 --- a/RouterOSAssistant/Features/Wizard/Steps/Connect/ConnectViewModel.swift +++ b/RouterOSAssistant/Features/Wizard/Steps/Connect/ConnectViewModel.swift @@ -88,6 +88,12 @@ final class ConnectViewModel: ObservableObject { savedRouters = savedRoutersStore.recordSuccessfulConnection( host: host, username: username, defaultName: defaultName, serialNumber: serialNumber ) + // Settings toggle (default off) — reuses the same manual "Nach Updates suchen" + // path the button in this tab triggers, just fired automatically once a + // connection succeeds instead of waiting for a click. + if UserDefaults.standard.bool(forKey: AppPreferences.autoCheckUpdatesOnConnectKey) { + checkForUpdates(for: credentials) + } } } } diff --git a/RouterOSAssistant/Features/Wizard/Steps/Setup/FirewallStepView.swift b/RouterOSAssistant/Features/Wizard/Steps/Setup/FirewallStepView.swift index 3974b4e..5d4ee67 100644 --- a/RouterOSAssistant/Features/Wizard/Steps/Setup/FirewallStepView.swift +++ b/RouterOSAssistant/Features/Wizard/Steps/Setup/FirewallStepView.swift @@ -20,7 +20,7 @@ struct FirewallStepView: View { Text(L10n.t("Firewall-Grundschutz ist im einfachen Modus immer aktiv.", appLanguage)) } Text(L10n.t("Richtet einen Standard-Schutz ein: Internetfreigabe (NAT) für dein Heimnetz, und blockiert unaufgeforderte Zugriffe aus dem Internet auf deinen Router und deine Geräte. Bestehende, selbst eingerichtete Regeln bleiben erhalten — die neuen Regeln werden vorangestellt.", appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) } @@ -33,11 +33,11 @@ struct FirewallStepView: View { LabeledContent(L10n.t("NAT-Regeln", appLanguage), value: "\(counts.natRuleCount)") if counts.filterRuleCount > 0 || counts.natRuleCount > 0 { Text(L10n.t("Dein Router hat bereits eigene Firewall-Regeln. Die neuen Regeln werden vorangestellt, bestehende bleiben erhalten — prüfe nach dem Anwenden trotzdem die Reihenfolge, z.B. über Winbox oder \"/ip firewall filter print\".", appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.orange) } } else if let error = viewModel.firewallRuleCountsError { - Text(error).font(.caption).foregroundStyle(.red) + Text(error).appFont(.caption).foregroundStyle(.red) } } } @@ -46,7 +46,7 @@ struct FirewallStepView: View { Section(L10n.t("Isolierte Netzwerke", appLanguage)) { Text(viewModel.isolatedNetworkNames.joined(separator: ", ")) Text(L10n.t("Diese Netzwerke werden vom Datenverkehr aller anderen konfigurierten Netzwerke abgeschottet, sobald der Firewall-Grundschutz aktiv ist.", appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) } } diff --git a/RouterOSAssistant/Features/Wizard/Steps/Setup/LanStepView.swift b/RouterOSAssistant/Features/Wizard/Steps/Setup/LanStepView.swift index 7b09db8..d22271a 100644 --- a/RouterOSAssistant/Features/Wizard/Steps/Setup/LanStepView.swift +++ b/RouterOSAssistant/Features/Wizard/Steps/Setup/LanStepView.swift @@ -25,7 +25,7 @@ struct LanStepView: View { if viewModel.isCheckingPortConflict.contains(config.id) { HStack { ProgressView().controlSize(.small) - Text(L10n.t("Prüfe, ob der Port frei ist…", appLanguage)).font(.caption).foregroundStyle(.secondary) + Text(L10n.t("Prüfe, ob der Port frei ist…", appLanguage)).appFont(.caption).foregroundStyle(.secondary) } } else if let conflict = viewModel.lanPortConflicts[config.id] { PortConflictWarningView( @@ -117,19 +117,19 @@ private struct PortConflictWarningView: View { var body: some View { if isAcknowledged { Label("\(conflict.interfaceName) " + L10n.t("wird beim Anwenden freigemacht", appLanguage), systemImage: "checkmark.shield") - .font(.caption) + .appFont(.caption) .foregroundStyle(.orange) } else { VStack(alignment: .leading, spacing: 6) { Label(L10n.t("Port", appLanguage) + " \(conflict.interfaceName) " + L10n.t("ist nicht frei", appLanguage), systemImage: "exclamationmark.triangle.fill") - .font(.subheadline.bold()) + .appFont(.subheadline, bold: true) .foregroundStyle(.red) ForEach(Array(conflict.reasons.enumerated()), id: \.offset) { _, reason in Text("• \(reason.description)") - .font(.caption) + .appFont(.caption) } Text(L10n.t("Wähle oben einen anderen, freien Port — oder mache diesen jetzt frei. Die bestehende Konfiguration wird dabei entfernt.", appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) Button(L10n.t("Port jetzt freimachen…", appLanguage), role: .destructive) { showConsequencesConfirmation = true diff --git a/RouterOSAssistant/Features/Wizard/Steps/Setup/ModeStepView.swift b/RouterOSAssistant/Features/Wizard/Steps/Setup/ModeStepView.swift index a2c36ee..1294f93 100644 --- a/RouterOSAssistant/Features/Wizard/Steps/Setup/ModeStepView.swift +++ b/RouterOSAssistant/Features/Wizard/Steps/Setup/ModeStepView.swift @@ -19,7 +19,7 @@ struct ModeStepView: View { case .simple: Text(L10n.t("Grundeinrichtung: Internetverbindung (WAN), ein Heimnetzwerk (LAN) mit DHCP, WLAN und ein fest aktivierter Firewall-Grundschutz.", appLanguage)) Text(L10n.t("Kein VLAN, keine mehreren getrennten Netzwerke, keine Netzwerk-Isolation — für später jederzeit über den Expertenmodus nachrüstbar.", appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) case .expert: Text(L10n.t("Voller Zugriff: mehrere LAN-Interfaces mit je eigenem DHCP-Server, VLANs, Netzwerk-Isolation zwischen Netzwerken, und alle Firewall-Optionen.", appLanguage)) diff --git a/RouterOSAssistant/Features/Wizard/Steps/Setup/ReviewApplyView.swift b/RouterOSAssistant/Features/Wizard/Steps/Setup/ReviewApplyView.swift index 51d8376..5906b82 100644 --- a/RouterOSAssistant/Features/Wizard/Steps/Setup/ReviewApplyView.swift +++ b/RouterOSAssistant/Features/Wizard/Steps/Setup/ReviewApplyView.swift @@ -15,7 +15,7 @@ struct ReviewApplyView: View { Text(command.summary) if showCliDetails { Text(command.cliLine) - .font(.system(.caption, design: .monospaced)) + .appFont(.caption, design: .monospaced) .foregroundStyle(.secondary) } } @@ -25,14 +25,14 @@ struct ReviewApplyView: View { Section { Text(L10n.t("Vor dem Anwenden wird automatisch eine Sicherung der aktuellen Konfiguration erstellt (Tab \"Sicherungen\"). Ein garantiertes automatisches Zurückrollen bei Verbindungsabbruch gibt es nicht — bei Problemen die Sicherung im Tab \"Sicherungen\" verwenden oder den Router lokal (Ethernet/Konsole) wiederherstellen.", appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) } if !viewModel.applyLog.isEmpty { Section(L10n.t("Ablauf", appLanguage)) { ForEach(viewModel.applyLog, id: \.self) { line in - Text(line).font(.caption) + Text(line).appFont(.caption) } } } diff --git a/RouterOSAssistant/Features/Wizard/Steps/Setup/VlanStepView.swift b/RouterOSAssistant/Features/Wizard/Steps/Setup/VlanStepView.swift index c8c4854..5f367ba 100644 --- a/RouterOSAssistant/Features/Wizard/Steps/Setup/VlanStepView.swift +++ b/RouterOSAssistant/Features/Wizard/Steps/Setup/VlanStepView.swift @@ -17,7 +17,7 @@ struct VlanStepView: View { ) .help(L10n.t("Erstellt ein zusätzliches Netzwerk mit eigenem Adressbereich und eigenem DHCP-Server.", appLanguage)) Text(L10n.t("Ein VLAN ist ein zusätzliches Netzwerk mit eigenem Adressbereich — z.B. für Gäste oder smarte Geräte. Ob es vom Hauptnetzwerk abgeschottet ist, legst du unten pro Netzwerk über \"Von anderen Netzwerken isolieren\" fest. Wenn du unsicher bist, ob du das brauchst, überspring diesen Schritt einfach.", appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) } diff --git a/RouterOSAssistant/Features/Wizard/Steps/Setup/WanStepView.swift b/RouterOSAssistant/Features/Wizard/Steps/Setup/WanStepView.swift index a123d69..4ba937e 100644 --- a/RouterOSAssistant/Features/Wizard/Steps/Setup/WanStepView.swift +++ b/RouterOSAssistant/Features/Wizard/Steps/Setup/WanStepView.swift @@ -44,7 +44,7 @@ struct WanStepView: View { SecureField(L10n.t("Passwort", appLanguage), text: $viewModel.wanConfig.pppoePassword) .help(L10n.t("Das zum Benutzernamen gehörende Passwort von deinem Internetanbieter.", appLanguage)) Text(L10n.t("Diese Zugangsdaten bekommst du von deinem Internetanbieter (z.B. Telekom, Vodafone).", appLanguage)) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) } } diff --git a/RouterOSAssistant/Features/Wizard/Steps/Setup/WifiStepView.swift b/RouterOSAssistant/Features/Wizard/Steps/Setup/WifiStepView.swift index a3ed4fa..866f1e9 100644 --- a/RouterOSAssistant/Features/Wizard/Steps/Setup/WifiStepView.swift +++ b/RouterOSAssistant/Features/Wizard/Steps/Setup/WifiStepView.swift @@ -20,7 +20,7 @@ struct WifiStepView: View { + "\(viewModel.unsupportedWifiInterfaces.map(\.name).joined(separator: ", "))" + L10n.t("), den diese App noch nicht unterstützt. WLAN muss dafür vorerst manuell über Winbox eingerichtet werden.", appLanguage) ) - .font(.caption) + .appFont(.caption) .foregroundStyle(.secondary) } } diff --git a/found.md b/found.md index a326172..c45f4af 100644 --- a/found.md +++ b/found.md @@ -85,14 +85,51 @@ Nachbesserung 2 (User-Wunsch: Trafficanzeige in MB, Sparkline-Zeitfenster auf 30 Nachbesserung 3 (User-Wunsch: Aktualisierungsrate auf 0,1s): `startTrafficPolling` von `.milliseconds(500)` auf `.milliseconds(100)` — bei 30s-Fenster damit bis zu 300 Punkte pro Sparkline/Port (bisher ~60). Nicht weiter geprüft, ob das bei vielen Ports spürbar CPU kostet — bei Bedarf zurückmelden. Manual.md "Abfrage alle 0,1s" + PDF mit aktualisiert. Build grün, App startet ohne Absturz. Noch nicht live geprüft. ### 5. App-Einstellungen / Settings — eigener Menüpunkt -**Status:** offen (nur Feature-Idee notiert, noch nicht umgesetzt) +**Status:** fixed (live bestätigt: "passt, lassen wir so") Wunsch: eigener Einstellungen-Bereich für Personalisierung, Layout, Farbverwaltung, Refreshraten, Updates, Schriftgrößen, Responsiveness, etc. -Ist-Zustand: es gibt aktuell **eine einzige** persistierte App-Einstellung (`@AppStorage("appLanguage")`, DE/EN-Umschalter in der Toolbar). Alles andere, was unter "Settings" fallen würde, ist im Code hart verdrahtet und über die Session verstreut — u.a. gerade erst in diesem Fund-Zettel mehrfach angefasste Werte: -- Refreshraten: LAN-Scanner-Traffic-Poll `DevicesViewModel.startTrafficPolling` (aktuell 0,1s), Verbinden-Tab-Traffic-Poll `ConnectViewModel.startTrafficPolling` (3s, separat) -- Sparkline-Zeitfenster (`DevicesViewModel.appendTrafficHistory`, aktuell 30s) und -Breite (`TrafficSparkline`, aktuell 200pt) -- Farben: `OverviewStyle.color(for:)` (Node-Kategorien, Kanten-Arten), Firewall-Icons, Status-Farben im LAN-Scanner (Port-Scan rot/grün/grau) -- Übersicht-Zoom-Standardwert, Fokus-Popup-Größe/Verhalten +Rückfrage vorab geklärt (AskUserQuestion): natives macOS-Settings-Fenster (⌘,), nicht eigener Tab; alle genannten Bereiche jetzt sofort umsetzen, nicht nur ein Kernstück; Farbverwaltung als 2 vordefinierte Themes ("Standard"/"Kontrastreich"), kein freier Color-Picker pro Kategorie. -Keine echte Settings-Infrastruktur (kein Settings-Tab/-Fenster, kein zentrales Preferences-Model) vorhanden — müsste komplett neu aufgebaut werden. Größerer, noch nicht spezifizierter Umbau; sollte vor Umsetzung geklärt werden: eigener Tab vs. natives macOS-Settings-Fenster (⌘,), welche der o.g. Werte tatsächlich zuerst einstellbar sein sollen, ob pro-Gerät oder global. +Umsetzung: +- **`Core/Models/AppPreferences.swift`** (neu): zentrale `AppStorage`-Key-Konstanten + `AppPreferences.registerDefaults()` (in `RouterOSAssistantApp.init()` aufgerufen), plus drei Enums: + - `ColorTheme` (`standard`/`highContrast`) — Farben für Übersicht-Node-Kategorien, Kanten-Arten, und LAN-Scanner-Status (Traffic aktiv, Fest/Dynamisch, offener/geschlossener Port). Ersetzt die alten `OverviewStyle.color(for:)`-Funktionen (die jetzt nur noch `explanation(for:)`/`icon(for:)` halten). + - `AppTextSize` (Klein/Standard/Groß/Sehr groß) — Skalierungsfaktor (0,85/1,0/1,2/1,4), per `.environment(\.appFontScale, ...)` an der `WindowGroup`-Wurzel gesetzt. + - `UIDensity` (Kompakt/Standard/Komfortabel) — mappt auf `ControlSize`, ebenfalls an der Wurzel via `.controlSize(...)`. Deckt den "Responsiveness"-Wunsch pragmatisch als Bedienelement-Größe ab (die App ist eine feste macOS-Fensterlayout-App ohne eigentliche responsive Breakpoints — eine echte "Responsiveness"-Funktion in dem Sinn gibt es nicht, siehe unten). +- **`Features/Settings/SettingsView.swift`** (neu): `Settings { }`-Scene mit 3 Tabs — Allgemein (Sprache, Auto-Update-Check beim Verbinden), Darstellung (Farbschema, Textgröße, Bedienelemente), Netzwerk (LAN-Scanner Aktualisierungsrate/Sparkline-Zeitfenster/-Breite). Alle Controls sind reine `@AppStorage`-Bindings, kein eigenes ViewModel. +- **Live-Wirkung ohne Neustart**: `OverviewView`/`DevicesView` lesen `colorTheme` per `@AppStorage` und geben es an `EdgesCanvas`/`NodeCardView`/`NodeDetailView`/`EdgeDetailView`/`EdgeTooltipView`/`LegendView`/`DeviceRow`/`PortScanRow` durch. `DevicesViewModel.startTrafficPolling`/`appendTrafficHistory` lesen Intervall/Zeitfenster bei jedem Tick frisch aus `UserDefaults` (nicht einmalig beim Start), damit eine Änderung im Settings-Fenster sofort greift, auch während der Tab schon pollt. +- **"Beim Verbinden automatisch nach Updates suchen"** (neuer Toggle, Default aus): `ConnectViewModel.connect()` ruft nach erfolgreicher Verbindung automatisch dieselbe `checkForUpdates(for:)` auf, die sonst nur der manuelle Button im Verbinden-Tab auslöst. +- L10n.swift um alle neuen Settings-Strings ergänzt (DE/EN). +- `.xcodeproj` manuell um beide neue Dateien ergänzt (PBXBuildFile/PBXFileReference/PBXGroup/Sources-Build-Phase). + +Bewusst nicht umgesetzt: Übersicht-Zoom-Standardwert und Fokus-Popup-Größe/Verhalten sind nicht in Settings aufgenommen — beides sind reine `@State`-Werte ohne bestehenden Persistenz-Mechanismus und wurden in der Rückfrage nicht explizit als "jetzt" gefordert; bei Bedarf als vierte Kategorie nachziehbar. + +Nachbesserung 1 (Live-Test: "Bedienelemente und Sparkling funktioniert, bei Textgröße und Farbschemas sehe ich keine Änderung"): +- Farbschema-Bug gefunden: 3 Farben (`.service`-Kategorie, `.dhcp`- und `.wireguardPeer`-Kanten) waren in `standard` und `highContrast` exakt identisch definiert — Kopierfehler beim ersten Entwurf. Behoben, beide Paletten jetzt komplett überschneidungsfrei. +- Textgröße nachgebessert (Bereich auf macOS-Accessibility-Stufen erweitert für einen unübersehbaren Sprung). + +Nachbesserung 2 (Live-Test: erneut "unverändert" bei beidem, trotz Fix 1) — Ursache mit Beweis gefunden statt weiter geraten: per `ImageRenderer`-Snapshot (Scratchpad-Skript) nachgewiesen, dass `.environment(\.dynamicTypeSize, ...)` auf macOS **gar keine Wirkung** hat — identisches Pixel-Rendering bei `.xSmall` und `.accessibility3`. Anders als iOS skalieren SwiftUI-Textstile auf macOS nicht über Dynamic-Type-Kategorien. Rückfrage an User: 3 Alternativen zur Wahl gestellt, User wählte "Echtes Text-only Scaling". + +Umsetzung (komplett neuer Mechanismus, `AppTextSize.dynamicTypeSize` entfernt): +- Neuer `\.appFontScale`-Environment-Key (`CGFloat`, Default 1.0) + `AppFontStyle`-Enum mit expliziten macOS-Basis-Punktgrößen pro Textstil (title2/title3/headline/body/callout/subheadline/caption/caption2) + `.appFont(_:weight:bold:design:)`-View-Modifier, der bei jedem Aufruf `baseSize * scale` real rendert. +- Alle ~110 `.font(...)`-Aufrufe in der App auf `.appFont(...)` umgestellt (automatisiert per Scratchpad-Skript, textbasierte 1:1-Ersetzung pro bekanntem Font-Ausdruck) — **außer** zwei Stellen mit fest-breiten Pixel-Layouts, die beim Skalieren brechen würden: `OverviewView.NodeCardView` (Diagramm-Knotenkarten, feste `nodeWidth`/`nodeHeight`) und `DevicesView.DeviceRow`/`DeviceColumnHeader` (LAN-Scanner-Tabellenspalten mit festen `DeviceColumn`-Breiten + `lineLimit(1)`). Diese bleiben bewusst fix, sonst Text-Clipping/Überlappung. +- Mechanismus per `ImageRenderer`-Snapshot verifiziert (Basis-Text bei Skalierungsfaktor 0,85 vs. 1,4 rendert nachweislich unterschiedlich groß), bevor erneut um Live-Test gebeten wurde. + +Build grün, alle 98 Unit-Tests grün. + +Nachbesserung 3 (Live-Test: "textgröße funktioniert, die Farbschemas nicht"): Textgröße bestätigt. Farbschema noch kaputt — beim Fix in Nachbesserung 1 nur die Übersicht-Diagrammfarben (Node-Kategorien/Kanten) überarbeitet, die LAN-Scanner-eigenen Theme-Farben (`trafficActive`/`staticLease`/`dynamicLease`/`portOpen`/`portClosed`) dabei übersehen — die waren weiterhin zu ähnliche SwiftUI-Nachbarfarben (grün/mint, orange/gelb, rot/pink), an einem kleinen Punkt/Icon praktisch nicht unterscheidbar. User fragte, ob selbst am Router geprüft werden kann — nein (kein Zugang/Tool dafür), aber Bug sitzt ohnehin rein im App-Rendering, nicht am Router: per `ImageRenderer`-Snapshot der tatsächlichen Farbwerte selbst verifiziert (Swatch-Vergleich beider Themes, sichtbar unterschiedlich) statt nur zu behaupten, es sei jetzt richtig. Neue Werte: `trafficActive`/`dynamicLease`/`portClosed` grün→blau, `staticLease` orange→lila, `portOpen` rot→orange. + +Bitte nochmal live testen — diesmal auch LAN-Scanner-Statuspunkte (Fest/Dynamisch, Port-Scan) einschließen, nicht nur Übersicht-Diagramm. + +Nachbesserung 4 (Live-Test: "Lan-scanner und Übersicht funktionieren" — Farbschema damit bestätigt; aber "Experte-Tab zeigt noch keine Änderung" bei Textgröße): Ursache gefunden — die komplette Sidebar-Liste (`Text(schema.displayName)` in `ExpertView.swift`) und jedes einzelne Parameter/Wert-`TextField` in `ExpertMenuDetailView.swift` hatten von Anfang an **gar kein** `.font(...)`. Die automatisierte `.appFont(...)`-Umstellung ersetzte nur vorhandene `.font(...)`-Aufrufe — unstyled Text/TextField (SwiftUI-Systemstandard, fix) blieb dadurch unangetastet. Fix: `.environment(\.font, .system(size: 13 * scale))` einmal an der `WindowGroup`-Wurzel als Fallback — wirkt nur dort, wo kein eigenes `.appFont(...)`/`.font(...)` bereits einen Font setzt (der gewinnt lokal weiterhin), deckt aber jede unstyled Stelle app-weit ab, nicht nur den Experte-Tab. + +Build grün, alle 98 Unit-Tests grün. + +Nachbesserung 5 (User-Feedback: "keine Änderung beim Farbschema unter Experte") — war kein Bug, sondern Scope: Farbschema war nie für den Experte-Tab verdrahtet, dort gab's schlicht keine kategorie-eingefärbten Elemente (Sidebar/Icons alle `.secondary`). Rückfrage: soll das ausgeweitet werden? User: ja. Umsetzung: `ColorTheme.color(for: RouterOSMenuCategory)` (neu, `AppPreferences.swift`) bucketet die 13 `RouterOSMenuCategory`-Fälle auf die bestehende 5-Farb-Palette (alle 5 Firewall-Untermenüs → `.firewall`, VPN/WLAN/Queues/System/Tools → `.service`) — dieselben Farben wie im Übersicht-Diagramm, keine zweite Palette. `ExpertView.sectionHeader(...)` bekommt neuen optionalen `categoryColor`-Parameter, zeigt bei Kategorie-Sektionen einen 8pt-Farbpunkt vor dem Titel (bei "Eigener Menüpfad" weiterhin `nil`, keine Farbe). + +Build grün, alle 98 Unit-Tests grün. + +6. Mode-Button Setup: an der Seite des Router ist eine Taste "Mode" diese ist belegbar (Scripte, Deaktivierung, etc). einlesen, was geht und bauen. +7. Manual direkt in die App integrieren. +8. Abwechselnde ´Farbkombis bei Tabellenansichten - besser Lesbarkeit +9. Settings → Darstellung: anpassbare Farben — freie Farbwahl pro Kategorie/Status statt nur der 2 vordefinierten Themes (Standard/Kontrastreich aus Punkt 5). Beim ursprünglichen Rückfrage bewusst auf 2 Themes beschränkt; falls später gewünscht, bräuchte es ColorPicker pro `OverviewNode.Category`/`OverviewEdgeKind`/LAN-Scanner-Status/`RouterOSMenuCategory` statt der festen `ColorTheme`-Switch-Statements in `AppPreferences.swift`.