diff --git a/apps/rebreak-magic/app/components/IosDeviceCard.vue b/apps/rebreak-magic/app/components/IosDeviceCard.vue index 4ba6329..f1d7384 100644 --- a/apps/rebreak-magic/app/components/IosDeviceCard.vue +++ b/apps/rebreak-magic/app/components/IosDeviceCard.vue @@ -271,7 +271,7 @@ {{ action.label }} {{ action.label }} @@ -325,6 +325,7 @@ const { stopLocalProfileServer, getInstalledProfiles, mdmPush, + reportDeviceProtectionState, } = useTauri(); const enrollmentPhase = ref<"idle" | "loading" | "waiting" | "checking" | "success" | "error">("idle"); @@ -540,6 +541,13 @@ const topBadge = computed(() => { variant: "subtle" as const, }; } + if (props.isConnected && props.iphone) { + return { + label: "Voller Schutz aktiv", + color: "success" as const, + variant: "subtle" as const, + }; + } const cfg = statusConfig[props.device.status]; return { label: cfg.label, color: cfg.color, variant: cfg.variant }; }); @@ -550,6 +558,7 @@ interface IosAction { color: "primary" | "warning" | "success" | "error" | "neutral"; variant: "solid" | "soft" | "outline" | "ghost"; to?: string; + disabled?: boolean; } const action = computed(() => { @@ -678,10 +687,11 @@ const action = computed(() => { } return { - label: "Synchronisieren", - icon: "i-heroicons-arrow-path", + label: "Voller Schutz aktiv", + icon: "i-heroicons-shield-check", color: "success", variant: "soft", + disabled: true, }; }); @@ -888,7 +898,21 @@ async function checkInlineLockProfile() { } lockLogs.value.push("✓ Lock-Profil erkannt"); + + lockLogs.value.push("→ Melde Lock-Profil-Status an Backend …"); + await reportDeviceProtectionState( + props.device.deviceId, + "ios", + "nefilter", + true, + "Lock-Profil via QR-Code installiert", + ); + lockLogs.value.push("✓ Backend aktualisiert"); + + lockLogs.value.push("→ Hole aktuellen Backend-Status …"); await refreshMdmStatus(); + lockLogs.value.push("✓ Status aktualisiert"); + lockPhase.value = "success"; } catch (e: any) { lockError.value = e?.message ?? "Prüfung fehlgeschlagen";