import { Icon } from "@iconify-icon/react"; import { commands as analyticsCommands } from "@hypr/plugin-analytics"; import { commands as openerCommands } from "@hypr/plugin-opener2"; import { commands as sfxCommands } from "@hypr/plugin-sfx"; import { OnboardingButton } from "./shared"; import { commands } from "~/types/tauri.gen"; const SOCIALS = [ { label: "Discord", icon: "simple-icons:discord", size: 14, url: "https://discord.gg/CX8gTH2tj9", }, { label: "GitHub", icon: "simple-icons:github", size: 14, url: "https://github.com/fastrepl/char", }, { label: "X", icon: "simple-icons:x", size: 10, url: "https://x.com/getcharnotes", }, ] as const; export function FinalSection({ onContinue }: { onContinue: () => void }) { return (
Join our community and stay updated: {SOCIALS.map(({ label, icon, size, url }) => { return ( ); })}
void finishOnboarding(onContinue)}> Get Started
); } export async function finishOnboarding(onContinue?: () => void) { await sfxCommands.stop("BGM").catch(console.error); await new Promise((resolve) => setTimeout(resolve, 100)); await commands.setOnboardingNeeded(false).catch(console.error); await new Promise((resolve) => setTimeout(resolve, 100)); await analyticsCommands.event({ event: "onboarding_completed" }); onContinue?.(); }