Skip to content

Onboarding Restart Button ​

The OnboardingRestartButton component provides a button that allows users to replay the onboarding tour on demand. It resets the tour completion state so the FirstRunOrchestrator re-arms the onboarding flow — without requiring a page reload.

Features ​

  • One-Click Restart: Instantly re-triggers the guided tour
  • Orchestrator Integration: Works seamlessly with the FirstRunOrchestrator cookie-based flow management
  • Responsive Design: Adapts to mobile and desktop screen sizes
  • i18n Support: Button label is fully localized
  • No Reload Required: The tour starts reactively when the completion cookie flips

Props ​

This component has no props.

Usage ​

Basic Implementation ​

Simply place the component wherever you want users to be able to restart the tour:

vue
<template>
    <OnboardingRestartButton />
</template>

In NavigationBar ​

The OnboardingRestartButton is included by default in the NavigationBar component's right section, alongside the SystemStatus, LanguageSelect, and optionally AppSwitcher:

vue
<template>
    <NavigationBar>
        <template #rightPostItems>
            <SettingsButton :items="settingsItems" />
        </template>
    </NavigationBar>
</template>

The default right section renders in this order:

  1. rightPreItems slot
  2. SystemStatus
  3. LanguageSelect
  4. OnboardingRestartButton
  5. AppSwitcher (only if otherApps prop is provided)
  6. rightPostItems slot

Standalone Placement ​

You can also place the button on a dedicated page or settings panel:

vue
<script lang="ts" setup>
import OnboardingRestartButton from "@dcc-bs/common-ui.bs.js/components/OnboardingRestartButton.vue";
</script>

<template>
    <div class="p-8 flex flex-col gap-4 items-start">
        <h1 class="text-2xl font-bold">Onboarding</h1>
        <p class="text-neutral-600">
            Restart the guided tour at any time using the button below.
        </p>
        <OnboardingRestartButton />
    </div>
</template>

How It Works ​

  1. Cookie Reset: When clicked, the component sets the tour-completed cookie to false.
  2. Reactive Detection: The FirstRunOrchestrator watches this cookie and recomputes the onboarding flow's pending state.
  3. Flow Activation: Because the onboarding flow is now pending (and no higher-priority flow like Disclaimer or Changelogs is pending), the orchestrator mounts the Onboarding component.
  4. Tour Starts: The Onboarding component auto-starts the tour on mount.

TIP

Unlike calling start() directly on the Onboarding component, this button goes through the orchestrator — ensuring the proper first-run flow lifecycle is respected.

Internationalization ​

The button label uses the common-ui.tour.restart translation key.

LocaleKeyValue
encommon-ui.tour.restartHelp
decommon-ui.tour.restartHilfe

You can override this translation in your application's i18n configuration files.

  • Onboarding — The renderless tour driver component
  • NavigationBar — Includes the OnboardingRestartButton by default
  • DisclaimerButton — Similar pattern for re-triggering the disclaimer flow (now part of DataBsFooter)
  • Changelogs — Similar pattern for re-triggering the changelogs flow (now part of DataBsFooter)

Developed with ❤️ by the DCC. Documentation released under the MIT License.