SYMBOL INDEX (102 symbols across 40 files) FILE: app/account/page.tsx function Account (line 12) | async function Account() { FILE: app/api/webhooks/route.ts function POST (line 24) | async function POST(req: Request) { FILE: app/auth/callback/route.ts function GET (line 6) | async function GET(request: NextRequest) { FILE: app/auth/reset_password/route.ts function GET (line 6) | async function GET(request: NextRequest) { FILE: app/layout.tsx function RootLayout (line 22) | async function RootLayout({ children }: PropsWithChildren) { FILE: app/page.tsx function PricingPage (line 9) | async function PricingPage() { FILE: app/signin/[id]/page.tsx function SignIn (line 20) | async function SignIn({ FILE: app/signin/page.tsx function SignIn (line 5) | function SignIn() { FILE: components/ui/AccountForms/CustomerPortalForm.tsx type Subscription (line 11) | type Subscription = Tables<'subscriptions'>; type Price (line 12) | type Price = Tables<'prices'>; type Product (line 13) | type Product = Tables<'products'>; type SubscriptionWithPriceAndProduct (line 15) | type SubscriptionWithPriceAndProduct = Subscription & { type Props (line 23) | interface Props { function CustomerPortalForm (line 27) | function CustomerPortalForm({ subscription }: Props) { FILE: components/ui/AccountForms/EmailForm.tsx function EmailForm (line 10) | function EmailForm({ FILE: components/ui/AccountForms/NameForm.tsx function NameForm (line 10) | function NameForm({ userName }: { userName: string }) { FILE: components/ui/AuthForms/EmailSignIn.tsx type EmailSignInProps (line 11) | interface EmailSignInProps { function EmailSignIn (line 17) | function EmailSignIn({ FILE: components/ui/AuthForms/ForgotPassword.tsx type ForgotPasswordProps (line 11) | interface ForgotPasswordProps { function ForgotPassword (line 17) | function ForgotPassword({ FILE: components/ui/AuthForms/OauthSignIn.tsx type OAuthProviders (line 9) | type OAuthProviders = { function OauthSignIn (line 15) | function OauthSignIn() { FILE: components/ui/AuthForms/PasswordSignIn.tsx type PasswordSignInProps (line 11) | interface PasswordSignInProps { function PasswordSignIn (line 16) | function PasswordSignIn({ FILE: components/ui/AuthForms/Separator.tsx type SeparatorProps (line 1) | interface SeparatorProps { function Separator (line 5) | function Separator({ text }: SeparatorProps) { FILE: components/ui/AuthForms/Signup.tsx type SignUpProps (line 12) | interface SignUpProps { function SignUp (line 17) | function SignUp({ allowEmail, redirectMethod }: SignUpProps) { FILE: components/ui/AuthForms/UpdatePassword.tsx type UpdatePasswordProps (line 9) | interface UpdatePasswordProps { function UpdatePassword (line 13) | function UpdatePassword({ FILE: components/ui/Button/Button.tsx type Props (line 11) | interface Props extends ButtonHTMLAttributes { FILE: components/ui/Card/Card.tsx type Props (line 3) | interface Props { function Card (line 10) | function Card({ title, description, footer, children }: Props) { FILE: components/ui/Footer/Footer.tsx function Footer (line 6) | function Footer() { FILE: components/ui/Input/Input.tsx type Props (line 6) | interface Props extends Omit, 'onChange'> { FILE: components/ui/LogoCloud/LogoCloud.tsx function LogoCloud (line 1) | function LogoCloud() { FILE: components/ui/Navbar/Navbar.tsx function Navbar (line 5) | async function Navbar() { FILE: components/ui/Navbar/Navlinks.tsx type NavlinksProps (line 11) | interface NavlinksProps { function Navlinks (line 15) | function Navlinks({ user }: NavlinksProps) { FILE: components/ui/Pricing/Pricing.tsx type Subscription (line 14) | type Subscription = Tables<'subscriptions'>; type Product (line 15) | type Product = Tables<'products'>; type Price (line 16) | type Price = Tables<'prices'>; type ProductWithPrices (line 17) | interface ProductWithPrices extends Product { type PriceWithProduct (line 20) | interface PriceWithProduct extends Price { type SubscriptionWithProduct (line 23) | interface SubscriptionWithProduct extends Subscription { type Props (line 27) | interface Props { type BillingInterval (line 33) | type BillingInterval = 'lifetime' | 'year' | 'month'; function Pricing (line 35) | function Pricing({ user, products, subscription }: Props) { FILE: components/ui/Toasts/toast.tsx type ToastProps (line 114) | type ToastProps = React.ComponentPropsWithoutRef; type ToastActionElement (line 116) | type ToastActionElement = React.ReactElement; FILE: components/ui/Toasts/toaster.tsx function Toaster (line 15) | function Toaster() { FILE: components/ui/Toasts/use-toast.ts constant TOAST_LIMIT (line 9) | const TOAST_LIMIT = 1; constant TOAST_REMOVE_DELAY (line 10) | const TOAST_REMOVE_DELAY = 1000000; type ToasterToast (line 12) | type ToasterToast = ToastProps & { function genId (line 28) | function genId() { type ActionType (line 33) | type ActionType = typeof actionTypes; type Action (line 35) | type Action = type State (line 53) | interface State { function dispatch (line 134) | function dispatch(action: Action) { type Toast (line 141) | type Toast = Omit; function toast (line 143) | function toast({ ...props }: Toast) { function useToast (line 172) | function useToast() { FILE: middleware.ts function middleware (line 4) | async function middleware(request: NextRequest) { FILE: schema.sql type users (line 5) | create table users ( function public (line 22) | create function public.handle_new_user() type customers (line 38) | create table customers ( type products (line 51) | create table products ( type prices (line 74) | create table prices ( type subscriptions (line 106) | create table subscriptions ( FILE: supabase/migrations/20230530034630_init.sql type users (line 5) | create table users ( function public (line 22) | create function public.handle_new_user() type customers (line 38) | create table customers ( type products (line 51) | create table products ( type prices (line 74) | create table prices ( type subscriptions (line 106) | create table subscriptions ( FILE: utils/auth-helpers/client.ts function handleRequest (line 9) | async function handleRequest( function signInWithOAuth (line 29) | async function signInWithOAuth(e: React.FormEvent) { FILE: utils/auth-helpers/server.ts function isValidEmail (line 9) | function isValidEmail(email: string) { function redirectToPath (line 14) | async function redirectToPath(path: string) { function SignOut (line 18) | async function SignOut(formData: FormData) { function signInWithEmail (line 35) | async function signInWithEmail(formData: FormData) { function requestPasswordUpdate (line 89) | async function requestPasswordUpdate(formData: FormData) { function signInWithPassword (line 134) | async function signInWithPassword(formData: FormData) { function signUp (line 166) | async function signUp(formData: FormData) { function updatePassword (line 225) | async function updatePassword(formData: FormData) { function updateEmail (line 267) | async function updateEmail(formData: FormData) { function updateName (line 308) | async function updateName(formData: FormData) { FILE: utils/cn.ts function cn (line 4) | function cn(...inputs: ClassValue[]) { FILE: utils/helpers.ts type Price (line 3) | type Price = Tables<'prices'>; FILE: utils/stripe/server.ts type Price (line 14) | type Price = Tables<'prices'>; type CheckoutResponse (line 16) | type CheckoutResponse = { function checkoutWithStripe (line 21) | async function checkoutWithStripe( function createStripePortal (line 122) | async function createStripePortal(currentPath: string) { FILE: utils/supabase/admin.ts type Product (line 7) | type Product = Tables<'products'>; type Price (line 8) | type Price = Tables<'prices'>; constant TRIAL_PERIOD_DAYS (line 11) | const TRIAL_PERIOD_DAYS = 0; FILE: utils/supabase/middleware.ts method get (line 17) | get(name: string) { method set (line 20) | set(name: string, value: string, options: CookieOptions) { method remove (line 38) | remove(name: string, options: CookieOptions) { FILE: utils/supabase/server.ts method get (line 19) | get(name: string) { method set (line 23) | set(name: string, value: string, options: CookieOptions) { method remove (line 32) | remove(name: string, options: CookieOptions) {