Some checks are pending
CD Production (Hetzner k3s) / Promote Images (preprod → prod) (push) Waiting to run
CD Production (Hetzner k3s) / Deploy to k3s (xpeditis-prod) (push) Blocked by required conditions
CD Production (Hetzner k3s) / Smoke Tests (push) Blocked by required conditions
CD Production (Hetzner k3s) / Deployment Summary (push) Blocked by required conditions
CD Production (Hetzner k3s) / Notify Success (push) Blocked by required conditions
CD Production (Hetzner k3s) / Notify Failure (push) Blocked by required conditions
Aligns main with the complete application codebase (cicd branch). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
32 lines
946 B
TypeScript
32 lines
946 B
TypeScript
/**
|
|
* Subscription Management Page
|
|
*
|
|
* Redirects to Organization settings with Subscription tab
|
|
*/
|
|
|
|
'use client';
|
|
|
|
import { useEffect } from 'react';
|
|
import { useRouter, useSearchParams } from 'next/navigation';
|
|
|
|
export default function SubscriptionPage() {
|
|
const router = useRouter();
|
|
const searchParams = useSearchParams();
|
|
|
|
useEffect(() => {
|
|
// Preserve any query parameters (success, canceled) from Stripe redirects
|
|
const params = searchParams.toString();
|
|
const redirectUrl = `/dashboard/settings/organization${params ? `?${params}` : ''}`;
|
|
router.replace(redirectUrl);
|
|
}, [router, searchParams]);
|
|
|
|
return (
|
|
<div className="flex items-center justify-center min-h-screen">
|
|
<div className="text-center">
|
|
<div className="inline-block animate-spin rounded-full h-12 w-12 border-b-4 border-blue-600 mb-4"></div>
|
|
<p className="text-gray-600">Redirection...</p>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|