diff --git a/frontend/src/routes/(root)/(logged)/user/(user)/instance_settings/+page.svelte b/frontend/src/routes/(root)/(logged)/user/(user)/instance_settings/+page.svelte
index 07b821fe04..b5481f17fe 100644
--- a/frontend/src/routes/(root)/(logged)/user/(user)/instance_settings/+page.svelte
+++ b/frontend/src/routes/(root)/(logged)/user/(user)/instance_settings/+page.svelte
@@ -33,20 +33,35 @@
const wizardStepLabels = [...settingsSteps.map((s) => s.label), 'Root login & Resource Types']
+ const fullStepLabels = ['Settings', 'Root login & Resource Types']
+
const initialMode = $page.url.searchParams.get('mode') === 'full' ? 'full' : 'wizard'
const initialStep = Math.max(
0,
Math.min(parseInt($page.url.searchParams.get('step') ?? '0') || 0, wizardStepLabels.length - 1)
)
+ const initialFullStep =
+ initialMode === 'full'
+ ? Math.max(
+ 0,
+ Math.min(
+ parseInt($page.url.searchParams.get('step') ?? '0') || 0,
+ fullStepLabels.length - 1
+ )
+ )
+ : 0
let mode: 'wizard' | 'full' = $state(initialMode)
let wizardStep = $state(initialStep)
+ let fullStep = $state(initialFullStep)
$effect(() => {
const url = new URL(window.location.href)
if (mode === 'wizard') {
url.searchParams.set('step', String(wizardStep))
+ url.searchParams.delete('mode')
} else {
- url.searchParams.delete('step')
+ url.searchParams.set('step', String(fullStep))
+ url.searchParams.set('mode', 'full')
}
history.replaceState(history.state, '', url)
})
@@ -92,7 +107,10 @@
}
$effect(() => {
- if (!isSettingsStep(wizardStep) && rtSyncStatus === 'idle') {
+ if (
+ rtSyncStatus === 'idle' &&
+ ((mode === 'wizard' && !isSettingsStep(wizardStep)) || (mode === 'full' && fullStep === 1))
+ ) {
syncCachedResourceTypes()
}
})
@@ -183,7 +201,9 @@
/** Check if we need to warn about missing EE license key before proceeding */
function proceedFromCore(callback: () => void) {
- if (wizardStep === 0 && isEeImage() && isLicenseKeyEmpty()) {
+ const leavingSettings =
+ (mode === 'wizard' && wizardStep === 0) || (mode === 'full' && fullStep === 0)
+ if (leavingSettings && isEeImage() && isLicenseKeyEmpty()) {
pendingNextCallback = callback
showLicenseKeyWarning = true
return
@@ -215,6 +235,7 @@
function switchToWizardMode() {
yamlMode = false
+ fullStep = 0
mode = 'wizard'
}
@@ -302,6 +323,100 @@
}
+{#snippet accountSetupContent()}
+
Current email: {$superadmin}
+ {/if} ++ Fetches the latest resource types directly from the Windmill Hub (requires internet + access). +
++ The daily schedule synchronizes resource types from the Hub every day at midnight UTC. +
+Current email: {$superadmin}
- {/if} -- Fetches the latest resource types directly from the Windmill Hub (requires - internet access). -
-- The daily schedule synchronizes resource types from the Hub every day at midnight - UTC. -
-