From 18c3a49404f9a592d759288c47c8e604e8ccf571 Mon Sep 17 00:00:00 2001 From: chahinebrini Date: Wed, 3 Jun 2026 10:04:08 +0200 Subject: [PATCH] fix(magic-mac): DNS-Schutz wird optional, blockt iPhone-Setup nicht mehr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Design-Klarstellung: Magic ist primaer fuer iOS-Supervision/MDM- Enrollment. Mac-Registrierung dient als Setup-Bruecke. DNS-Filter auf dem Mac bleibt eine optionale Self-Service-Option fuer den User — kein Gate mehr fuer den iPhone-Flow. - Intro-Text neu: erklaert Magic = iOS-Setup, Mac als Bruecke - Nach Register: 'Weiter -> iPhone-Setup' immer sichtbar - 'DNS-Schutz installieren' ist jetzt sekundaerer Bordered-Button mit '(optional)' im Label - Bisheriger Template-Download-Fix vom letzten Commit bleibt natuerlich bestehen — Download funktioniert wieder, ist nur nicht mehr Pflicht --- .../Sources/Views/MacRegistrationView.swift | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/apps/rebreak-magic-mac/Sources/Views/MacRegistrationView.swift b/apps/rebreak-magic-mac/Sources/Views/MacRegistrationView.swift index 5b7171c..bc81657 100644 --- a/apps/rebreak-magic-mac/Sources/Views/MacRegistrationView.swift +++ b/apps/rebreak-magic-mac/Sources/Views/MacRegistrationView.swift @@ -21,7 +21,13 @@ struct MacRegistrationView: View { .font(.title) .bold() - Text("Bevor wir mit dem iPhone-Setup starten, muss dieser Mac registriert und geschützt werden.") + Text("ReBreak Magic richtet dein iPhone/iPad ein: Supervised-Mode, MDM-Enrollment und automatische Installation der ReBreak-App. Dieser Mac dient als Setup-Brücke.") + .multilineTextAlignment(.center) + .foregroundStyle(.secondary) + .padding(.horizontal, 40) + + Text("Optional: Du kannst diesen Mac zusätzlich selbst mit dem DNS-Filter schützen.") + .font(.caption) .multilineTextAlignment(.center) .foregroundStyle(.secondary) .padding(.horizontal, 40) @@ -41,19 +47,21 @@ struct MacRegistrationView: View { successCard(success) } - if let registration = model.magicRegistration, profileInstalled { + if let registration = model.magicRegistration { VStack(spacing: 12) { HStack(spacing: 8) { - Image(systemName: "checkmark.shield.fill") + Image(systemName: profileInstalled ? "checkmark.shield.fill" : "checkmark.circle.fill") .foregroundStyle(.green) - Text("Mac erfolgreich geschützt") + Text(profileInstalled ? "Mac geschützt + registriert" : "Mac registriert") .font(.headline) .foregroundStyle(.green) } VStack(alignment: .leading, spacing: 6) { - Text("✓ DNS-Filter-Profil installiert") Text("✓ Device registriert: \(registration.deviceId.prefix(8))...") + if profileInstalled { + Text("✓ DNS-Filter-Profil installiert") + } } .font(.caption) .foregroundStyle(.secondary) @@ -70,13 +78,15 @@ struct MacRegistrationView: View { Button("Mac registrieren") { handleRegistration() } .buttonStyle(.borderedProminent) .disabled(isRegistering || macInfo == nil || isInstallingProfile) - } else if !profileInstalled { - Button("DNS-Profil installieren") { handleProfileInstall() } - .buttonStyle(.borderedProminent) - .disabled(isInstallingProfile) } else { + if !profileInstalled { + Button("DNS-Schutz installieren (optional)") { handleProfileInstall() } + .buttonStyle(.bordered) + .disabled(isInstallingProfile) + } Button("Weiter → iPhone-Setup") { model.advance() } .buttonStyle(.borderedProminent) + .disabled(isInstallingProfile) } if isRegistering || isInstallingProfile {