From 2d07002325f164576922e5ee2cb3d09bc60999db Mon Sep 17 00:00:00 2001 From: Paulo Castellano Date: Mon, 22 Jun 2026 13:54:42 -0300 Subject: [PATCH] chore: remove vestigial onboarding OAuth flag and legacy plan env vars The onboarding/connect and accounts screens now share the same NetworkConnectGrid with the same popup-close-and-reload flow, so the social_connect_onboarding flag no longer affects anything in the normal path. Remove the frontend plumbing (useOAuthPopup query param, the grid's onboarding prop) and the dormant backend scaffolding (the session flag in 6 OAuth controllers, getRedirectRoute, and the ignored isOnboarding arg); the YouTube no-channels error now redirects to app.accounts directly. Also drop the unused legacy plan price-id env vars from .env.example (only the Workspace plan remains). --- .env.example | 8 -------- app/Http/Controllers/Auth/FacebookController.php | 1 - app/Http/Controllers/Auth/InstagramController.php | 1 - .../Controllers/Auth/InstagramFacebookController.php | 5 +---- app/Http/Controllers/Auth/LinkedInPageController.php | 1 - app/Http/Controllers/Auth/SocialController.php | 8 +------- app/Http/Controllers/Auth/YouTubeController.php | 4 +--- .../js/components/accounts/NetworkConnectGrid.vue | 7 +------ resources/js/composables/useOAuthPopup.ts | 12 ++---------- resources/js/pages/onboarding/Connect.vue | 1 - 10 files changed, 6 insertions(+), 42 deletions(-) diff --git a/.env.example b/.env.example index 2f34dfeb..5d6afd4e 100644 --- a/.env.example +++ b/.env.example @@ -197,14 +197,6 @@ REQUIRE_CARD_FOR_TRIAL=true CASHIER_TRIAL_DAYS=8 # Stripe Plan Price IDs (one per plan × interval). Used by PlanSeeder. -STRIPE_STARTER_MONTHLY= -STRIPE_STARTER_YEARLY= -STRIPE_PLUS_MONTHLY= -STRIPE_PLUS_YEARLY= -STRIPE_PRO_MONTHLY= -STRIPE_PRO_YEARLY= -STRIPE_MAX_MONTHLY= -STRIPE_MAX_YEARLY= STRIPE_WORKSPACE_MONTHLY= STRIPE_WORKSPACE_YEARLY= diff --git a/app/Http/Controllers/Auth/FacebookController.php b/app/Http/Controllers/Auth/FacebookController.php index b1dc6f78..90d8b3de 100644 --- a/app/Http/Controllers/Auth/FacebookController.php +++ b/app/Http/Controllers/Auth/FacebookController.php @@ -47,7 +47,6 @@ public function connect(Request $request): Response|RedirectResponse session([ 'social_connect_workspace' => $workspace->id, 'social_reconnect_id' => null, - 'social_connect_onboarding' => $request->boolean('onboarding'), ]); return Inertia::location( diff --git a/app/Http/Controllers/Auth/InstagramController.php b/app/Http/Controllers/Auth/InstagramController.php index f90ebb55..2fddbe2a 100644 --- a/app/Http/Controllers/Auth/InstagramController.php +++ b/app/Http/Controllers/Auth/InstagramController.php @@ -43,7 +43,6 @@ public function connect(Request $request): Response|RedirectResponse session([ 'social_connect_workspace' => $workspace->id, 'social_reconnect_id' => null, - 'social_connect_onboarding' => $request->boolean('onboarding'), ]); $url = Socialite::driver($this->driver) diff --git a/app/Http/Controllers/Auth/InstagramFacebookController.php b/app/Http/Controllers/Auth/InstagramFacebookController.php index 4dc59605..57eef9ad 100644 --- a/app/Http/Controllers/Auth/InstagramFacebookController.php +++ b/app/Http/Controllers/Auth/InstagramFacebookController.php @@ -49,7 +49,6 @@ public function connect(Request $request): Response|RedirectResponse session([ 'social_connect_workspace' => $workspace->id, 'social_reconnect_id' => null, - 'social_connect_onboarding' => $request->boolean('onboarding'), ]); $url = Socialite::driver($this->driver) @@ -234,9 +233,7 @@ private function connectInstagramAccount(Workspace $workspace, array $pageData, ]), ); - $isOnboarding = session('social_connect_onboarding', false); - - return $this->popupCallback(true, __('accounts.popup_callback.connected'), $this->platform->value, $isOnboarding); + return $this->popupCallback(true, __('accounts.popup_callback.connected'), $this->platform->value); } private function fetchPagesWithInstagram(string $userToken): array diff --git a/app/Http/Controllers/Auth/LinkedInPageController.php b/app/Http/Controllers/Auth/LinkedInPageController.php index e72ac86e..35ec1c59 100644 --- a/app/Http/Controllers/Auth/LinkedInPageController.php +++ b/app/Http/Controllers/Auth/LinkedInPageController.php @@ -40,7 +40,6 @@ public function connect(Request $request): SymfonyResponse|RedirectResponse session([ 'social_connect_workspace' => $workspace->id, 'linkedin_page_reconnect_id' => null, - 'social_connect_onboarding' => $request->boolean('onboarding'), ]); return Inertia::location( diff --git a/app/Http/Controllers/Auth/SocialController.php b/app/Http/Controllers/Auth/SocialController.php index 5ca0d53d..ec9c5009 100644 --- a/app/Http/Controllers/Auth/SocialController.php +++ b/app/Http/Controllers/Auth/SocialController.php @@ -120,7 +120,6 @@ protected function redirectToProvider(Request $request, string $driver, array $s } session(['social_connect_workspace' => $workspace->id]); - session(['social_connect_onboarding' => $request->boolean('onboarding')]); return Inertia::location( Socialite::driver($driver) @@ -186,12 +185,7 @@ protected function handleCallback( protected function forgetSocialConnectSession(): void { - session()->forget(['social_connect_workspace', 'social_connect_onboarding']); - } - - protected function getRedirectRoute(): string - { - return session('social_connect_onboarding', false) ? 'app.onboarding.connect' : 'app.accounts'; + session()->forget('social_connect_workspace'); } /** diff --git a/app/Http/Controllers/Auth/YouTubeController.php b/app/Http/Controllers/Auth/YouTubeController.php index 559d5d31..a1758a6b 100644 --- a/app/Http/Controllers/Auth/YouTubeController.php +++ b/app/Http/Controllers/Auth/YouTubeController.php @@ -45,7 +45,6 @@ public function connect(Request $request): Response|RedirectResponse session([ 'social_connect_workspace' => $workspace->id, 'social_reconnect_id' => null, - 'social_connect_onboarding' => $request->boolean('onboarding'), ]); return $this->redirectToGoogle(); @@ -154,14 +153,13 @@ public function selectChannel(Request $request) $channels = $this->fetchChannels(data_get($oauthData, 'access_token')); if (empty($channels)) { - $redirectRoute = $this->getRedirectRoute(); $this->forgetSocialConnectSession(); session()->forget('youtube_oauth'); session()->flash('flash.banner', __('accounts.flash.no_youtube_channels')); session()->flash('flash.bannerStyle', 'danger'); - return redirect()->route($redirectRoute); + return redirect()->route('app.accounts'); } return inertia('accounts/YouTubeChannelSelect', [ diff --git a/resources/js/components/accounts/NetworkConnectGrid.vue b/resources/js/components/accounts/NetworkConnectGrid.vue index 2a5c4825..9058817b 100644 --- a/resources/js/components/accounts/NetworkConnectGrid.vue +++ b/resources/js/components/accounts/NetworkConnectGrid.vue @@ -31,12 +31,10 @@ const props = withDefaults( defineProps<{ platforms: AvailablePlatform[]; connectedAccounts?: ConnectedAccount[]; - onboarding?: boolean; gridClass?: string; }>(), { connectedAccounts: () => [], - onboarding: false, gridClass: 'grid-cols-2 sm:grid-cols-3 lg:grid-cols-5', }, ); @@ -185,10 +183,7 @@ const openConnect = (platformValue: string) => { return; } - openOAuthPopup( - platformValue, - props.onboarding ? { onboarding: '1' } : undefined, - ); + openOAuthPopup(platformValue); }; const connectPlatform = (platformValue: string) => { diff --git a/resources/js/composables/useOAuthPopup.ts b/resources/js/composables/useOAuthPopup.ts index 221629aa..9f6e24f3 100644 --- a/resources/js/composables/useOAuthPopup.ts +++ b/resources/js/composables/useOAuthPopup.ts @@ -9,20 +9,12 @@ const POPUP_HEIGHT = 700; * message. The listener is wired to the calling component's lifecycle. */ export const useOAuthPopup = (onSuccess: () => void) => { - const openOAuthPopup = ( - platform: string, - query?: Record, - ) => { + const openOAuthPopup = (platform: string) => { const left = window.screenX + (window.outerWidth - POPUP_WIDTH) / 2; const top = window.screenY + (window.outerHeight - POPUP_HEIGHT) / 2; - const search = - query && Object.keys(query).length > 0 - ? `?${new URLSearchParams(query).toString()}` - : ''; - window.open( - `/connect/${platform}${search}`, + `/connect/${platform}`, 'oauth-popup', `width=${POPUP_WIDTH},height=${POPUP_HEIGHT},left=${left},top=${top},scrollbars=yes,resizable=yes`, ); diff --git a/resources/js/pages/onboarding/Connect.vue b/resources/js/pages/onboarding/Connect.vue index df0030c2..4b9e914a 100644 --- a/resources/js/pages/onboarding/Connect.vue +++ b/resources/js/pages/onboarding/Connect.vue @@ -54,7 +54,6 @@ const submit = (): void => {