fix(magic-mac): DNS-Schutz wird optional, blockt iPhone-Setup nicht mehr

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
This commit is contained in:
chahinebrini 2026-06-03 10:04:08 +02:00
parent 8670b45351
commit 18c3a49404

View File

@ -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 {