anydrop/web/src/App.tsx
ordinarthur 3aaa319264 feat(web): pricing page + plan section in settings (Phase 3)
- web/src/pages/Pricing.tsx: tier comparison, monthly/yearly toggle,
  stripe checkout CTA
- web/src/pages/Settings.tsx: Plan section shows Free/Pro + Upgrade or
  Manage Subscription (opens Stripe Customer Portal)
- web/src/lib/api.ts: startCheckout(), openBillingPortal() + extended ApiUser
- footer on Home gets a discreet "Pricing →" link
- k8s/secrets.example.yml: documents STRIPE_* env vars
- .gitignore: exclude .env files to prevent leaking credentials

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 13:28:18 +02:00

23 lines
750 B
TypeScript

import { Routes, Route } from "react-router-dom";
import Home from "./pages/Home";
import JoinRoom from "./pages/JoinRoom";
import Share from "./pages/Share";
import Settings from "./pages/Settings";
import Pricing from "./pages/Pricing";
import Receive from "./pages/Receive";
import Inbox from "./pages/Inbox";
export default function App() {
return (
<Routes>
<Route path="/" element={<Home />} />
<Route path="/share" element={<Share />} />
<Route path="/settings" element={<Settings />} />
<Route path="/pricing" element={<Pricing />} />
<Route path="/inbox" element={<Inbox />} />
<Route path="/r/:id" element={<Receive />} />
<Route path="/:code" element={<JoinRoom />} />
</Routes>
);
}