Skip to content

Dashboard — My Files

Route: /dashboard/files File: src/app/[locale]/dashboard/files/page.tsx Layout: dashboard layout (sidebar) Component: @/components/pages/(Dashboard)/dashboardPage/my-files

Purpose

Primary dashboard page. Shows the user's uploaded and converted files. Also serves as the landing page after a Stripe checkout redirect.

Payment Redirect Handling

The page reads ?status and ?session_id query params to handle post-checkout states:

status param session_id present Renders
success yes <PaymentSuccess sessionId={sessionId} />
cancel <PaymentCanceled />
(none) <MyFiles /> (normal view)

Components: PaymentSuccess, PaymentCanceled from my-files/components.

Wrapped in <Suspense>

useSearchParams() requires Suspense boundary — the page wraps FilesPageContent in <Suspense fallback={<div>Loading...</div>}>.

Key Responsibilities

  • List user's files (upload date, type, size, status)
  • Download / delete / re-convert actions
  • Handle payment success and cancel states from Stripe redirect