SYMBOL INDEX (123 symbols across 69 files) FILE: src/app/(auth)/login/discord/callback/route.ts function GET (line 10) | async function GET(request: Request): Promise { type DiscordUser (line 101) | interface DiscordUser { FILE: src/app/(auth)/login/discord/route.ts function GET (line 6) | async function GET(): Promise { FILE: src/app/(auth)/login/login.tsx function Login (line 15) | function Login() { FILE: src/app/(auth)/login/page.tsx function LoginPage (line 11) | async function LoginPage() { FILE: src/app/(auth)/reset-password/[token]/page.tsx function ResetPasswordPage (line 15) | function ResetPasswordPage({ FILE: src/app/(auth)/reset-password/[token]/reset-password.tsx function ResetPassword (line 12) | function ResetPassword({ token }: { token: string }) { FILE: src/app/(auth)/reset-password/page.tsx function ForgotPasswordPage (line 18) | async function ForgotPasswordPage() { FILE: src/app/(auth)/reset-password/send-reset-email.tsx function SendResetEmail (line 16) | function SendResetEmail() { FILE: src/app/(auth)/signup/page.tsx function SignupPage (line 11) | async function SignupPage() { FILE: src/app/(auth)/signup/signup.tsx function Signup (line 15) | function Signup() { FILE: src/app/(auth)/verify-email/page.tsx function VerifyEmailPage (line 18) | async function VerifyEmailPage() { FILE: src/app/(landing)/_components/feature-icons.tsx constant TRPC (line 210) | const TRPC = forwardRef>(({ class... FILE: src/app/(landing)/_components/hover-card.tsx type FeaturesProps (line 5) | type FeaturesProps = { FILE: src/app/(landing)/layout.tsx function LandingPageLayout (line 12) | function LandingPageLayout({ children }: { children: ReactNode }) { FILE: src/app/(landing)/page.tsx function NextjsIcon (line 139) | function NextjsIcon({ className }: { className?: string }) { FILE: src/app/(main)/account/page.tsx function AccountPage (line 15) | async function AccountPage() { FILE: src/app/(main)/dashboard/_components/dashboard-nav.tsx type Props (line 28) | interface Props { function DashboardNav (line 32) | function DashboardNav({ className }: Props) { FILE: src/app/(main)/dashboard/_components/new-post.tsx type NewPostProps (line 10) | interface NewPostProps { FILE: src/app/(main)/dashboard/_components/post-card-skeleton.tsx function PostCardSkeleton (line 4) | function PostCardSkeleton() { FILE: src/app/(main)/dashboard/_components/post-card.tsx type PostCardProps (line 21) | interface PostCardProps { FILE: src/app/(main)/dashboard/_components/posts-skeleton.tsx function PostsSkeleton (line 3) | function PostsSkeleton() { FILE: src/app/(main)/dashboard/_components/posts.tsx type PostsProps (line 8) | interface PostsProps { function Posts (line 12) | function Posts({ promises }: PostsProps) { FILE: src/app/(main)/dashboard/_components/verificiation-warning.tsx function VerificiationWarning (line 8) | async function VerificiationWarning() { FILE: src/app/(main)/dashboard/billing/_components/billing-skeleton.tsx function BillingSkeleton (line 4) | function BillingSkeleton() { FILE: src/app/(main)/dashboard/billing/_components/billing.tsx type BillingProps (line 18) | interface BillingProps { function Billing (line 24) | async function Billing({ stripePromises }: BillingProps) { FILE: src/app/(main)/dashboard/billing/_components/manage-subscription-form.tsx function ManageSubscriptionForm (line 10) | function ManageSubscriptionForm({ FILE: src/app/(main)/dashboard/billing/page.tsx function BillingPage (line 21) | async function BillingPage() { FILE: src/app/(main)/dashboard/layout.tsx type Props (line 4) | interface Props { function DashboardLayout (line 8) | function DashboardLayout({ children }: Props) { FILE: src/app/(main)/dashboard/page.tsx type Props (line 18) | interface Props { function DashboardPage (line 22) | async function DashboardPage({ searchParams }: Props) { FILE: src/app/(main)/dashboard/settings/page.tsx function BillingPage (line 13) | async function BillingPage() { FILE: src/app/(main)/editor/[postId]/_components/post-editor.tsx type Props (line 27) | interface Props { FILE: src/app/(main)/editor/[postId]/page.tsx type Props (line 10) | interface Props { function EditPostPage (line 16) | async function EditPostPage({ params }: Props) { FILE: src/app/api/webhooks/stripe/route.ts function POST (line 11) | async function POST(req: Request) { FILE: src/app/icon.tsx function Icon (line 14) | function Icon() { FILE: src/app/layout.tsx function RootLayout (line 27) | function RootLayout({ FILE: src/app/robots.ts function robots (line 5) | function robots(): MetadataRoute.Robots { FILE: src/app/sitemap.ts function sitemap (line 5) | async function sitemap(): Promise { FILE: src/components/loading-button.tsx type LoadingButtonProps (line 9) | interface LoadingButtonProps extends ButtonProps { FILE: src/components/responsive-dialog.tsx type StatefulContent (line 32) | type StatefulContent = ({ FILE: src/components/theme-provider.tsx function ThemeProvider (line 7) | function ThemeProvider({ children, ...props }: ThemeProviderProps) { FILE: src/components/ui/badge.tsx type BadgeProps (line 26) | interface BadgeProps function Badge (line 30) | function Badge({ className, variant, ...props }: BadgeProps) { FILE: src/components/ui/button.tsx type ButtonProps (line 37) | interface ButtonProps FILE: src/components/ui/form.tsx type FormFieldContextValue (line 18) | type FormFieldContextValue< type FormItemContextValue (line 65) | type FormItemContextValue = { FILE: src/components/ui/input.tsx type InputProps (line 5) | interface InputProps FILE: src/components/ui/pagination.tsx type PaginationLinkProps (line 42) | type PaginationLinkProps = { FILE: src/components/ui/skeleton.tsx function Skeleton (line 3) | function Skeleton({ FILE: src/components/ui/sonner.tsx type ToasterProps (line 6) | type ToasterProps = React.ComponentProps FILE: src/components/ui/textarea.tsx type TextareaProps (line 5) | interface TextareaProps FILE: src/config/subscriptions.ts type SubscriptionPlan (line 3) | interface SubscriptionPlan { FILE: src/lib/auth/actions.ts type ActionResponse (line 27) | interface ActionResponse { function login (line 32) | async function login(_: any, formData: FormData): Promise { function resendVerificationEmail (line 128) | async function resendVerificationEmail(): Promise<{ function verifyEmail (line 152) | async function verifyEmail(_: any, formData: FormData): Promise<{ error:... function sendPasswordResetLink (line 186) | async function sendPasswordResetLink( function resetPassword (line 214) | async function resetPassword( function generateEmailVerificationCode (line 261) | async function generateEmailVerificationCode(userId: string, email: stri... function generatePasswordResetToken (line 273) | async function generatePasswordResetToken(userId: string): Promise {} FILE: src/lib/constants.ts constant APP_TITLE (line 1) | const APP_TITLE = "Acme"; constant DATABASE_PREFIX (line 2) | const DATABASE_PREFIX = "acme"; constant TEST_DB_PREFIX (line 3) | const TEST_DB_PREFIX = "test_acme"; constant EMAIL_SENDER (line 4) | const EMAIL_SENDER = '"Acme" '; type Paths (line 6) | enum Paths { FILE: src/lib/email/index.tsx type EmailTemplate (line 12) | enum EmailTemplate { type PropsMap (line 17) | type PropsMap = { FILE: src/lib/email/templates/email-verification.tsx type EmailVerificationTemplateProps (line 4) | interface EmailVerificationTemplateProps { FILE: src/lib/email/templates/reset-password.tsx type ResetPasswordTemplateProps (line 14) | interface ResetPasswordTemplateProps { FILE: src/lib/hooks/use-debounce.ts function useDebounce (line 3) | function useDebounce(value: T, delay: number) { FILE: src/lib/hooks/use-media-query.ts function useMediaQuery (line 3) | function useMediaQuery(query: string) { FILE: src/lib/logger.ts type LogLevel (line 5) | enum LogLevel { class Logger (line 12) | class Logger { method constructor (line 16) | constructor(level: LogLevel = LogLevel.INFO, logFilePath = "applicatio... method getTimestamp (line 21) | private getTimestamp(): string { method formatMessage (line 25) | private formatMessage(level: LogLevel, args: unknown[]): string { method log (line 37) | private log(level: LogLevel, ...args: unknown[]): void { method shouldLog (line 46) | private shouldLog(level: LogLevel): boolean { method debug (line 51) | debug(...args: unknown[]): void { method info (line 55) | info(...args: unknown[]): void { method warn (line 59) | warn(...args: unknown[]): void { method error (line 63) | error(...args: unknown[]): void { FILE: src/lib/utils.ts function cn (line 5) | function cn(...inputs: ClassValue[]) { function formatDate (line 29) | function formatDate( function formatPrice (line 42) | function formatPrice( function absoluteUrl (line 54) | function absoluteUrl(path: string) { FILE: src/lib/validators/auth.ts type SignupInput (line 7) | type SignupInput = z.infer; type LoginInput (line 16) | type LoginInput = z.infer; type ForgotPasswordInput (line 21) | type ForgotPasswordInput = z.infer; type ResetPasswordInput (line 27) | type ResetPasswordInput = z.infer; FILE: src/middleware.ts function middleware (line 6) | async function middleware(request: NextRequest): Promise { FILE: src/server/api/root.ts type AppRouter (line 12) | type AppRouter = typeof appRouter; FILE: src/server/api/routers/post/post.input.ts type ListPostsInput (line 7) | type ListPostsInput = z.infer; type GetPostInput (line 12) | type GetPostInput = z.infer; type CreatePostInput (line 19) | type CreatePostInput = z.infer; type UpdatePostInput (line 24) | type UpdatePostInput = z.infer; type DeletePostInput (line 29) | type DeletePostInput = z.infer; type MyPostsInput (line 35) | type MyPostsInput = z.infer; FILE: src/server/api/routers/stripe/stripe.input.ts type ManageSubscriptionInput (line 10) | type ManageSubscriptionInput = z.infer; FILE: src/server/api/trpc.ts method errorFormatter (line 49) | errorFormatter({ shape, error }) { type TRPCContext (line 104) | type TRPCContext = inferAsyncReturnType; type ProtectedTRPCContext (line 105) | type ProtectedTRPCContext = TRPCContext & { FILE: src/server/db/schema.ts type User (line 37) | type User = typeof users.$inferSelect; type NewUser (line 38) | type NewUser = typeof users.$inferInsert; type Post (line 107) | type Post = typeof posts.$inferSelect; type NewPost (line 108) | type NewPost = typeof posts.$inferInsert; FILE: src/trpc/react.tsx function TRPCReactProvider (line 13) | function TRPCReactProvider(props: { children: React.ReactNode }) { FILE: src/trpc/shared.ts function getBaseUrl (line 8) | function getBaseUrl() { function getUrl (line 14) | function getUrl() { type RouterInputs (line 23) | type RouterInputs = inferRouterInputs; type RouterOutputs (line 30) | type RouterOutputs = inferRouterOutputs; FILE: tests/e2e/utils.ts function extractLastCode (line 7) | function extractLastCode(log: string): string | null {