feat: new onboarding flow (#7266)
This commit is contained in:
@@ -67,19 +67,7 @@ async function sendEvent(
|
||||
export type AnalyticsEvent =
|
||||
| { name: 'page_view'; properties: { page: string; referrer?: string } }
|
||||
| { name: 'onboarding_started'; properties: Record<string, never> }
|
||||
| {
|
||||
name: 'onboarding_provider_selected';
|
||||
properties: {
|
||||
method:
|
||||
| 'api_key'
|
||||
| 'openrouter'
|
||||
| 'tetrate'
|
||||
| 'chatgpt_codex'
|
||||
| 'ollama'
|
||||
| 'local'
|
||||
| 'other';
|
||||
};
|
||||
}
|
||||
| { name: 'onboarding_provider_selected'; properties: { provider?: string; method?: string } }
|
||||
| {
|
||||
name: 'onboarding_completed';
|
||||
properties: { provider: string; model?: string; duration_seconds?: number };
|
||||
@@ -293,12 +281,13 @@ export function trackOnboardingStarted(): void {
|
||||
trackEvent({ name: 'onboarding_started', properties: {} });
|
||||
}
|
||||
|
||||
export function trackOnboardingProviderSelected(
|
||||
method: 'api_key' | 'openrouter' | 'tetrate' | 'chatgpt_codex' | 'ollama' | 'local' | 'other'
|
||||
): void {
|
||||
export function trackOnboardingProviderSelected(options: {
|
||||
provider?: string;
|
||||
method?: string;
|
||||
}): void {
|
||||
trackEvent({
|
||||
name: 'onboarding_provider_selected',
|
||||
properties: { method },
|
||||
properties: options,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
import { startNanogptSetup as startNanogptSetupApi } from '../api';
|
||||
|
||||
export async function startNanogptSetup(): Promise<{ success: boolean; message: string }> {
|
||||
try {
|
||||
return (await startNanogptSetupApi({ throwOnError: true })).data;
|
||||
} catch (e) {
|
||||
return {
|
||||
success: false,
|
||||
message: `Failed to start NanoGPT setup: ${e instanceof Error ? e.message : String(e)}`,
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user