route('app.calendar'); } $user = $request->user(); if ($user->account?->subscribed(Account::SUBSCRIPTION_NAME)) { return redirect()->route('app.calendar'); } return Inertia::render('onboarding/Index', [ 'personas' => Persona::options(), 'selected' => $user->persona?->value, ]); } public function store( StoreOnboardingRequest $request, PostHogService $postHog, StartSubscriptionCheckout $checkout, ): SymfonyResponse|RedirectResponse { if (config('trypost.self_hosted')) { return redirect()->route('app.calendar'); } $user = $request->user(); $account = $user->account; $persona = (string) $request->validated('persona'); $user->update(['persona' => $persona]); $postHog->identify($user->id, [ 'persona' => $persona, ]); $plan = Plan::where('slug', Slug::Workspace)->firstOrFail(); return $checkout->redirect( $account, (string) $plan->stripe_monthly_price_id, route('app.onboarding'), ); } }