feat(web): unify onboarding dialogs
This commit is contained in:
@@ -7,9 +7,8 @@
|
||||
* aria-labelledby the title node; close: visually-hidden slot text). Modal
|
||||
* open state and the active section id are component-local viewing state;
|
||||
* the onboarding coordinator mounts exactly one ordered registrant while the
|
||||
* sessions-derived empty-Hero fact is active — the takeover chrome
|
||||
* (OnboardingSurface) belongs to the step, so a mounted-but-deciding step
|
||||
* paints nothing here.
|
||||
* sessions-derived empty-Hero fact is active. Visible dialog chrome belongs
|
||||
* to the step, so a mounted-but-deciding step paints nothing here.
|
||||
*/
|
||||
import { useCallback, useEffect, useId, useRef, useState } from 'react'
|
||||
import clsx from 'clsx'
|
||||
@@ -160,10 +159,9 @@ export function SettingsRoot(props: SettingsRootComponentProps) {
|
||||
onClose={close}
|
||||
/>
|
||||
)}
|
||||
{/* The takeover chrome (OnboardingSurface: mask, opaque stage, `#root`
|
||||
inert) lives inside the step component, wrapped around its visible
|
||||
content — a step still deciding (private facts loading) renders
|
||||
null, so nothing paints or blocks while it decides. */}
|
||||
{/* Dialog chrome and `#root` inert ownership live inside each step's
|
||||
visible branch. A step still deciding (private facts loading)
|
||||
renders null, so nothing paints or blocks while it decides. */}
|
||||
{onboardingStep !== undefined && renderSlot('settings.onboarding', {
|
||||
stepId: onboardingStep.id,
|
||||
complete: () => { completeOnboardingStep(onboardingStep.id) },
|
||||
|
||||
@@ -8,7 +8,7 @@ import { settingsNamespace } from '@deepseek-ai/dsh-settings'
|
||||
const ONBOARDING_SETTINGS_NAMESPACE = 'ui-onboarding'
|
||||
|
||||
interface OnboardingSettings {
|
||||
/** Last welcome-notice version acknowledged by a since-removed first-run notice; kept so stored documents stay valid. */
|
||||
/** Last version acknowledged by the current product welcome step. */
|
||||
welcomeNoticeVersion?: string
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user