From 252aba03be0da4528f488ed9f033db2ac43a2582 Mon Sep 17 00:00:00 2001 From: Type <79042381+TypeFor@users.noreply.github.com> Date: Sun, 16 Aug 2026 00:33:39 +0200 Subject: [PATCH] ENH - add development setup skip Add a development-only setup assistant control that skips the wizard for the current frontend session without persisting setup completion or changing backend state. Localize the control through the phone locale fallback and resource locale. --- frontend/src/App.vue | 19 ++++++++--- .../src/components/PhoneSetupAssistant.vue | 33 ++++++++++++++++++- frontend/src/stores/phone.ts | 1 + sky_phone/config/locales/en.lua | 1 + 4 files changed, 49 insertions(+), 5 deletions(-) diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 040d242..9bf21f7 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -323,6 +323,7 @@ const passcodeRetrySeconds = ref(0) const passcodeVisible = ref(false) const passcodeRequired = ref(false) const setupPreviewDismissed = ref(false) +const setupDevelopmentSkipped = ref(false) const pendingUnlockRoute = ref(null) const unlockedServicesLoaded = ref(false) const controlCenterOpened = ref(false) @@ -330,10 +331,13 @@ const activitySuspended = ref(false) const simPicker = ref(null) const setupRequired = computed( () => - !phone.preferences.settings.setupCompleted || - (isDevelopment && - developmentParameters.has('setupPreview') && - !setupPreviewDismissed.value), + !( + isDevelopment && setupDevelopmentSkipped.value + ) && + (!phone.preferences.settings.setupCompleted || + (isDevelopment && + developmentParameters.has('setupPreview') && + !setupPreviewDismissed.value)), ) const systemColorScheme = window.matchMedia('(prefers-color-scheme: dark)') const viewportScale = ref(getViewportScale()) @@ -528,6 +532,12 @@ function completePhoneSetup(): void { loadUnlockedPhoneData() } +function skipPhoneSetupForDevelopment(): void { + if (!isDevelopment) return + setupDevelopmentSkipped.value = true + completePhoneSetup() +} + async function hydrateDevelopmentPhone(): Promise { const response = await nuiCall('development:bootstrap') if (response.success && response.data) { @@ -1542,6 +1552,7 @@ onBeforeUnmount(() => { () +const emit = defineEmits<{ complete: []; skip: [] }>() const phone = usePhoneStore() const account = useAccountStore() @@ -86,6 +86,7 @@ const passwordStrength = computed(() => { const currentWallpaperStyle = computed(() => ({ '--setup-wallpaper': `var(--phone-wallpaper-${phone.preferences.settings.wallpaper})`, })) +const showDevelopmentSkip = import.meta.env.DEV function moveTo(nextStep: number): void { direction.value = nextStep < step.value ? 'back' : 'forward' @@ -207,6 +208,10 @@ function finish(): void { phone.completeSetup() emit('complete') } + +function skipSetupForDevelopment(): void { + emit('skip') +}