From ae9385527da8ef5ae0a8f6ec0137cc1f5646ab72 Mon Sep 17 00:00:00 2001 From: Samuel Kow Paintsil Date: Wed, 20 Nov 2024 01:12:15 +0000 Subject: [PATCH 1/6] =?UTF-8?q?=F0=9F=8E=A8=20init?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.json | 51 +- .gitignore | 12 +- .vscode/settings.json | 28 + README.md | 8 +- app/(auth)/layout.tsx | 7 - app/(auth)/sign-in/[[...sign-in]]/page.tsx | 5 - app/(auth)/sign-up/[[...sign-up]]/page.tsx | 5 - app/(root)/(home)/page.tsx | 71 - app/(root)/ask-a-question/page.tsx | 23 - app/(root)/community/page.tsx | 48 - app/(root)/layout.tsx | 21 - app/(root)/question/[id]/page.tsx | 110 - app/(root)/tags/[id]/page.tsx | 5 - app/(root)/tags/page.tsx | 64 - app/api/webhook/route.ts | 96 - app/favicon.ico | Bin 15406 -> 25931 bytes app/fonts/GeistMonoVF.woff | Bin 0 -> 67864 bytes app/fonts/GeistVF.woff | Bin 0 -> 66268 bytes app/globals.css | 345 +- app/layout.tsx | 74 +- app/page.tsx | 96 + bun.lockb | Bin 0 -> 158815 bytes components.json | 16 - components/cards/QuestionCard.tsx | 95 - components/cards/UserCard.tsx | 60 - components/forms/Answer.tsx | 153 - components/forms/Question.tsx | 248 - components/home/HomeFilters.tsx | 27 - components/shared/AllAnswers.tsx | 74 - components/shared/Metric.tsx | 57 - components/shared/NoResult.tsx | 42 - components/shared/ParseHtml.tsx | 20 - components/shared/RenderTag.tsx | 26 - components/shared/Votes.tsx | 144 - components/shared/navbar/MobileNav.tsx | 112 - components/shared/navbar/Navbar.tsx | 46 - components/shared/navbar/Theme.tsx | 76 - components/shared/search/GlobalSearch.tsx | 29 - components/shared/search/LocalSearch.tsx | 53 - components/shared/search/SearchFilter.tsx | 48 - components/shared/sidebar/LeftSidebar.tsx | 83 - components/shared/sidebar/RightSidebar.tsx | 54 - components/ui/badge.tsx | 36 - components/ui/button.tsx | 56 - components/ui/dropdown-menu.tsx | 200 - components/ui/form.tsx | 176 - components/ui/input.tsx | 25 - components/ui/label.tsx | 26 - components/ui/menubar.tsx | 236 - components/ui/select.tsx | 160 - components/ui/sheet.tsx | 140 - constants/filters.ts | 41 - constants/index.ts | 73 - constants/validations.ts | 0 context/ThemeProvider.tsx | 48 - database/answer.model.ts | 23 - database/question.model.ts | 29 - database/tag.model.ts | 21 - database/user.model.ts | 35 - lib/actions/answer.action.ts | 46 - lib/actions/question.action.ts | 231 - lib/actions/shared.types.d.ts | 159 - lib/actions/tag.action.ts | 42 - lib/actions/user.action.ts | 97 - lib/mongoose.ts | 20 - lib/utils.ts | 54 - lib/validations.ts | 11 - middleware.ts | 22 - next.config.js | 19 - next.config.ts | 7 + package-lock.json | 6728 ----------------- package.json | 43 +- postcss.config.js | 6 - postcss.config.mjs | 8 + public/assets/icons/account.svg | 4 - public/assets/icons/arrow-left.svg | 3 - public/assets/icons/arrow-right.svg | 3 - public/assets/icons/arrow-up-right.svg | 9 - public/assets/icons/au.svg | 20 - public/assets/icons/avatar.svg | 4 - public/assets/icons/bronze-medal.svg | 34 - public/assets/icons/calendar.svg | 4 - public/assets/icons/carbon-location.svg | 4 - public/assets/icons/chevron-down.svg | 11 - public/assets/icons/chevron-right.svg | 10 - public/assets/icons/clock-2.svg | 10 - public/assets/icons/clock.svg | 10 - public/assets/icons/close.svg | 3 - public/assets/icons/computer.svg | 3 - .../assets/icons/currency-dollar-circle.svg | 10 - public/assets/icons/downvote.svg | 3 - public/assets/icons/downvoted.svg | 4 - public/assets/icons/edit.svg | 11 - public/assets/icons/eye.svg | 4 - public/assets/icons/gold-medal.svg | 38 - public/assets/icons/hamburger.svg | 5 - public/assets/icons/home.svg | 11 - public/assets/icons/job-search.svg | 3 - public/assets/icons/like.svg | 4 - public/assets/icons/link.svg | 4 - public/assets/icons/location.svg | 4 - public/assets/icons/message.svg | 3 - public/assets/icons/mingcute-down-line.svg | 10 - public/assets/icons/moon.svg | 3 - public/assets/icons/question.svg | 5 - public/assets/icons/search.svg | 3 - public/assets/icons/sign-up.svg | 5 - public/assets/icons/silver-medal.svg | 38 - public/assets/icons/star-filled.svg | 14 - public/assets/icons/star-red.svg | 14 - public/assets/icons/star.svg | 3 - public/assets/icons/stars.svg | 9 - public/assets/icons/suitcase.svg | 3 - public/assets/icons/sun.svg | 11 - public/assets/icons/tag.svg | 3 - public/assets/icons/trash.svg | 4 - public/assets/icons/upvote.svg | 3 - public/assets/icons/upvoted.svg | 4 - public/assets/icons/user.svg | 4 - public/assets/icons/users.svg | 10 - public/assets/images/auth-dark.png | Bin 2143718 -> 0 bytes public/assets/images/auth-light.png | Bin 310438 -> 0 bytes public/assets/images/dark-illustration.png | Bin 125448 -> 0 bytes public/assets/images/default-logo.svg | 11 - public/assets/images/light-illustration.png | Bin 112828 -> 0 bytes public/assets/images/logo-dark.svg | 18 - public/assets/images/logo-light.svg | 18 - public/assets/images/logo.png | Bin 4550 -> 0 bytes public/assets/images/site-logo.svg | 16 - public/file.svg | 1 + public/globe.svg | 1 + public/vercel.svg | 2 +- public/window.svg | 1 + styles/prism.css | 120 - styles/theme.css | 205 - tailwind.config.ts | 141 +- tsconfig.json | 2 +- types/index.d.ts | 48 - 138 files changed, 594 insertions(+), 11722 deletions(-) create mode 100644 .vscode/settings.json delete mode 100644 app/(auth)/layout.tsx delete mode 100644 app/(auth)/sign-in/[[...sign-in]]/page.tsx delete mode 100644 app/(auth)/sign-up/[[...sign-up]]/page.tsx delete mode 100644 app/(root)/(home)/page.tsx delete mode 100644 app/(root)/ask-a-question/page.tsx delete mode 100644 app/(root)/community/page.tsx delete mode 100644 app/(root)/layout.tsx delete mode 100644 app/(root)/question/[id]/page.tsx delete mode 100644 app/(root)/tags/[id]/page.tsx delete mode 100644 app/(root)/tags/page.tsx delete mode 100644 app/api/webhook/route.ts create mode 100644 app/fonts/GeistMonoVF.woff create mode 100644 app/fonts/GeistVF.woff create mode 100644 app/page.tsx create mode 100755 bun.lockb delete mode 100644 components.json delete mode 100644 components/cards/QuestionCard.tsx delete mode 100644 components/cards/UserCard.tsx delete mode 100644 components/forms/Answer.tsx delete mode 100644 components/forms/Question.tsx delete mode 100644 components/home/HomeFilters.tsx delete mode 100644 components/shared/AllAnswers.tsx delete mode 100644 components/shared/Metric.tsx delete mode 100644 components/shared/NoResult.tsx delete mode 100644 components/shared/ParseHtml.tsx delete mode 100644 components/shared/RenderTag.tsx delete mode 100644 components/shared/Votes.tsx delete mode 100644 components/shared/navbar/MobileNav.tsx delete mode 100644 components/shared/navbar/Navbar.tsx delete mode 100644 components/shared/navbar/Theme.tsx delete mode 100644 components/shared/search/GlobalSearch.tsx delete mode 100644 components/shared/search/LocalSearch.tsx delete mode 100644 components/shared/search/SearchFilter.tsx delete mode 100644 components/shared/sidebar/LeftSidebar.tsx delete mode 100644 components/shared/sidebar/RightSidebar.tsx delete mode 100644 components/ui/badge.tsx delete mode 100644 components/ui/button.tsx delete mode 100644 components/ui/dropdown-menu.tsx delete mode 100644 components/ui/form.tsx delete mode 100644 components/ui/input.tsx delete mode 100644 components/ui/label.tsx delete mode 100644 components/ui/menubar.tsx delete mode 100644 components/ui/select.tsx delete mode 100644 components/ui/sheet.tsx delete mode 100644 constants/filters.ts delete mode 100644 constants/index.ts delete mode 100644 constants/validations.ts delete mode 100644 context/ThemeProvider.tsx delete mode 100644 database/answer.model.ts delete mode 100644 database/question.model.ts delete mode 100644 database/tag.model.ts delete mode 100644 database/user.model.ts delete mode 100644 lib/actions/answer.action.ts delete mode 100644 lib/actions/question.action.ts delete mode 100644 lib/actions/shared.types.d.ts delete mode 100644 lib/actions/tag.action.ts delete mode 100644 lib/actions/user.action.ts delete mode 100644 lib/mongoose.ts delete mode 100644 lib/utils.ts delete mode 100644 lib/validations.ts delete mode 100644 middleware.ts delete mode 100644 next.config.js create mode 100644 next.config.ts delete mode 100644 package-lock.json delete mode 100644 postcss.config.js create mode 100644 postcss.config.mjs delete mode 100644 public/assets/icons/account.svg delete mode 100644 public/assets/icons/arrow-left.svg delete mode 100644 public/assets/icons/arrow-right.svg delete mode 100644 public/assets/icons/arrow-up-right.svg delete mode 100644 public/assets/icons/au.svg delete mode 100644 public/assets/icons/avatar.svg delete mode 100644 public/assets/icons/bronze-medal.svg delete mode 100644 public/assets/icons/calendar.svg delete mode 100644 public/assets/icons/carbon-location.svg delete mode 100644 public/assets/icons/chevron-down.svg delete mode 100644 public/assets/icons/chevron-right.svg delete mode 100644 public/assets/icons/clock-2.svg delete mode 100644 public/assets/icons/clock.svg delete mode 100644 public/assets/icons/close.svg delete mode 100644 public/assets/icons/computer.svg delete mode 100644 public/assets/icons/currency-dollar-circle.svg delete mode 100644 public/assets/icons/downvote.svg delete mode 100644 public/assets/icons/downvoted.svg delete mode 100644 public/assets/icons/edit.svg delete mode 100644 public/assets/icons/eye.svg delete mode 100644 public/assets/icons/gold-medal.svg delete mode 100644 public/assets/icons/hamburger.svg delete mode 100644 public/assets/icons/home.svg delete mode 100644 public/assets/icons/job-search.svg delete mode 100644 public/assets/icons/like.svg delete mode 100644 public/assets/icons/link.svg delete mode 100644 public/assets/icons/location.svg delete mode 100644 public/assets/icons/message.svg delete mode 100644 public/assets/icons/mingcute-down-line.svg delete mode 100644 public/assets/icons/moon.svg delete mode 100644 public/assets/icons/question.svg delete mode 100644 public/assets/icons/search.svg delete mode 100644 public/assets/icons/sign-up.svg delete mode 100644 public/assets/icons/silver-medal.svg delete mode 100644 public/assets/icons/star-filled.svg delete mode 100644 public/assets/icons/star-red.svg delete mode 100644 public/assets/icons/star.svg delete mode 100644 public/assets/icons/stars.svg delete mode 100644 public/assets/icons/suitcase.svg delete mode 100644 public/assets/icons/sun.svg delete mode 100644 public/assets/icons/tag.svg delete mode 100644 public/assets/icons/trash.svg delete mode 100644 public/assets/icons/upvote.svg delete mode 100644 public/assets/icons/upvoted.svg delete mode 100644 public/assets/icons/user.svg delete mode 100644 public/assets/icons/users.svg delete mode 100644 public/assets/images/auth-dark.png delete mode 100644 public/assets/images/auth-light.png delete mode 100644 public/assets/images/dark-illustration.png delete mode 100644 public/assets/images/default-logo.svg delete mode 100644 public/assets/images/light-illustration.png delete mode 100644 public/assets/images/logo-dark.svg delete mode 100644 public/assets/images/logo-light.svg delete mode 100644 public/assets/images/logo.png delete mode 100644 public/assets/images/site-logo.svg create mode 100644 public/file.svg create mode 100644 public/globe.svg create mode 100644 public/window.svg delete mode 100644 styles/prism.css delete mode 100644 styles/theme.css delete mode 100644 types/index.d.ts diff --git a/.eslintrc.json b/.eslintrc.json index 1568c7f..a87c80b 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,8 +1,47 @@ { - "extends": [ - "next/core-web-vitals", - "standard", - "plugin:tailwindcss/recommended", - "prettier" - ] + "extends": [ + "next/core-web-vitals", + "next/typescript", + "standard", + "plugin:tailwindcss/recommended", + "prettier" + ], + "plugins": ["import"], + "rules": { + "import/order": [ + "error", + { + "groups": [ + "builtin", // Built-in types are first + "external", // External libraries + "internal", // Internal modules + ["parent", "sibling"], // Parent and sibling types can be mingled together + "index", // Then the index file + "object" // Object imports + ], + "newlines-between": "always", + "pathGroups": [ + { + "pattern": "@app/**", + "group": "external", + "position": "after" + } + ], + "pathGroupsExcludedImportTypes": ["builtin"], + "alphabetize": { + "order": "asc", + "caseInsensitive": true + } + } + ] + }, + "ignorePatterns": ["components/ui/**"], + "overrides": [ + { + "files": ["*.ts", "*.tsx"], + "rules": { + "no-undef": "off" + } + } + ] } diff --git a/.gitignore b/.gitignore index fd3dbb5..d32cc78 100644 --- a/.gitignore +++ b/.gitignore @@ -3,8 +3,12 @@ # dependencies /node_modules /.pnp -.pnp.js -.yarn/install-state.gz +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions # testing /coverage @@ -25,8 +29,8 @@ npm-debug.log* yarn-debug.log* yarn-error.log* -# local env files -.env*.local +# env files (can opt-in for committing if needed) +.env* # vercel .vercel diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..fe378f9 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,28 @@ +{ + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.formatOnSave": true, + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit", + "source.addMissingImports": "explicit" + }, + "prettier.tabWidth": 2, + "prettier.useTabs": false, + "prettier.semi": true, + "prettier.singleQuote": false, + "prettier.jsxSingleQuote": false, + "prettier.trailingComma": "es5", + "prettier.arrowParens": "always", + "[json]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[typescript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[typescriptreact]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[javascriptreact]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "typescript.tsdk": "node_modules/typescript/lib" +} diff --git a/README.md b/README.md index c403366..e215bc4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). +This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). ## Getting Started @@ -18,7 +18,7 @@ Open [http://localhost:3000](http://localhost:3000) with your browser to see the You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. -This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. +This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. ## Learn More @@ -27,10 +27,10 @@ To learn more about Next.js, take a look at the following resources: - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! ## Deploy on Vercel The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. +Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. diff --git a/app/(auth)/layout.tsx b/app/(auth)/layout.tsx deleted file mode 100644 index d0af8b5..0000000 --- a/app/(auth)/layout.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from 'react' - -const Layout = ({ children }: { children: React.ReactNode }) => { - return
{children}
-} - -export default Layout diff --git a/app/(auth)/sign-in/[[...sign-in]]/page.tsx b/app/(auth)/sign-in/[[...sign-in]]/page.tsx deleted file mode 100644 index d80106f..0000000 --- a/app/(auth)/sign-in/[[...sign-in]]/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { SignIn } from '@clerk/nextjs' - -export default function Page() { - return -} diff --git a/app/(auth)/sign-up/[[...sign-up]]/page.tsx b/app/(auth)/sign-up/[[...sign-up]]/page.tsx deleted file mode 100644 index 45a745f..0000000 --- a/app/(auth)/sign-up/[[...sign-up]]/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { SignUp } from '@clerk/nextjs' - -export default function Page() { - return -} diff --git a/app/(root)/(home)/page.tsx b/app/(root)/(home)/page.tsx deleted file mode 100644 index 6ac35f4..0000000 --- a/app/(root)/(home)/page.tsx +++ /dev/null @@ -1,71 +0,0 @@ -import QuestionCard from '@/components/cards/QuestionCard' -import HomeFilter from '@/components/home/HomeFilters' -import NoResult from '@/components/shared/NoResult' -import LocalSearch from '@/components/shared/search/LocalSearch' -import SearchFilter from '@/components/shared/search/SearchFilter' -import { Button } from '@/components/ui/button' -import { HomePageFilters } from '@/constants/filters' -import { getQuestions } from '@/lib/actions/question.action' -import Link from 'next/link' - -const Home = async () => { - const result = await getQuestions({}) - - return ( - <> -
-

All Questions

- - - -
-
- - -
- -
- {result?.questions?.length! > 0 ? ( - result?.questions.map((question) => ( - - )) - ) : ( - - )} -
- - ) -} - -export default Home diff --git a/app/(root)/ask-a-question/page.tsx b/app/(root)/ask-a-question/page.tsx deleted file mode 100644 index ce4c3ec..0000000 --- a/app/(root)/ask-a-question/page.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import Question from '@/components/forms/Question' -import { getUserById } from '@/lib/actions/user.action' -import { auth } from '@clerk/nextjs' -import { redirect } from 'next/navigation' - -const AskAQuestion = async () => { - const { userId } = auth() - - if (!userId || userId === null || userId === undefined) redirect('/sign-in') - - const mongoUser = await getUserById({ userId }) - - return ( -
-

Ask a question

-
- -
-
- ) -} - -export default AskAQuestion diff --git a/app/(root)/community/page.tsx b/app/(root)/community/page.tsx deleted file mode 100644 index cbf1083..0000000 --- a/app/(root)/community/page.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import UserCard from '@/components/cards/UserCard' -import NoResult from '@/components/shared/NoResult' -import LocalSearch from '@/components/shared/search/LocalSearch' -import SearchFilter from '@/components/shared/search/SearchFilter' -import { UserFilters } from '@/constants/filters' -import { getUsers } from '@/lib/actions/user.action' - -const CommunityPage = async () => { - const result = await getUsers({}) - - return ( - <> -

All Users

-
- - -
-
- {result.users.length > 0 ? ( - result.users.map((user) => ( - - )) - ) : ( - - )} -
- - ) -} - -export default CommunityPage diff --git a/app/(root)/layout.tsx b/app/(root)/layout.tsx deleted file mode 100644 index 0251092..0000000 --- a/app/(root)/layout.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import Navbar from '@/components/shared/navbar/Navbar' -import LeftSidebar from '@/components/shared/sidebar/LeftSidebar' -import RightSidebar from '@/components/shared/sidebar/RightSidebar' -import React from 'react' - -const Layout = ({ children }: { children: React.ReactNode }) => { - return ( -
- -
- -
-
{children}
-
- -
-
- ) -} - -export default Layout diff --git a/app/(root)/question/[id]/page.tsx b/app/(root)/question/[id]/page.tsx deleted file mode 100644 index 7a346ed..0000000 --- a/app/(root)/question/[id]/page.tsx +++ /dev/null @@ -1,110 +0,0 @@ -import Answer from '@/components/forms/Answer' -import AllAnswers from '@/components/shared/AllAnswers' -import Metric from '@/components/shared/Metric' -import ParseHtml from '@/components/shared/ParseHtml' -import RenderTag from '@/components/shared/RenderTag' -import Votes from '@/components/shared/Votes' -import { getQuestion } from '@/lib/actions/question.action' -import { getUserById } from '@/lib/actions/user.action' -import { formatNumber, getTimestamp } from '@/lib/utils' -import { auth } from '@clerk/nextjs' -import Image from 'next/image' -import Link from 'next/link' - -const Page = async ({ params, searchParams }: any) => { - const { userId: clerkId } = auth() - - let mongoUser - - if (clerkId) { - mongoUser = await getUserById({ userId: clerkId }) - } - - const question = await getQuestion({ questionId: params.id }) - return ( - <> -
-
- - profile -

- {question.author.name} -

- -
- -
-
-

- {question.title} -

-
- -
- - - -
- - -
- {question.tags.map((tag: any) => ( - - ))} -
- - - - - ) -} - -export default Page diff --git a/app/(root)/tags/[id]/page.tsx b/app/(root)/tags/[id]/page.tsx deleted file mode 100644 index b5bc4dd..0000000 --- a/app/(root)/tags/[id]/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ -const Page = () => { - return
Page
-} - -export default Page diff --git a/app/(root)/tags/page.tsx b/app/(root)/tags/page.tsx deleted file mode 100644 index 3e5631f..0000000 --- a/app/(root)/tags/page.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import LocalSearch from '@/components/shared/search/LocalSearch' -import SearchFilter from '@/components/shared/search/SearchFilter' -import { TagFilters } from '@/constants/filters' -import { getAllTags } from '@/lib/actions/tag.action' -import Link from 'next/link' - -const Page = async () => { - const result = await getAllTags({}) - - return ( - <> -

Tags

-
- - -
-
- {result.tags.length > 0 ? ( - result.tags.map((tag) => ( - -
-
-

- {tag.name} -

-
- -

- - {tag.questions.length}+ - {' '} - Questions -

-
- - )) - ) : ( -
-

No tags yet

- - Create one to be the first! - -
- )} -
- - ) -} - -export default Page diff --git a/app/api/webhook/route.ts b/app/api/webhook/route.ts deleted file mode 100644 index fd741d3..0000000 --- a/app/api/webhook/route.ts +++ /dev/null @@ -1,96 +0,0 @@ -/* eslint-disable camelcase */ -import { createUser, deleteUser, updateUser } from '@/lib/actions/user.action' -import { WebhookEvent } from '@clerk/nextjs/server' -import { headers } from 'next/headers' -import { NextResponse } from 'next/server' -import { Webhook } from 'svix' - -export async function POST(req: Request) { - // You can find this in the Clerk Dashboard -> Webhooks -> choose the webhook - const WEBHOOK_SECRET = process.env.WEBHOOK_SECRET - - if (!WEBHOOK_SECRET) { - throw new Error( - 'Please add WEBHOOK_SECRET from Clerk Dashboard to .env or .env.local' - ) - } - - // Get the headers - const headerPayload = headers() - const svix_id = headerPayload.get('svix-id') - const svix_timestamp = headerPayload.get('svix-timestamp') - const svix_signature = headerPayload.get('svix-signature') - - // If there are no headers, error out - if (!svix_id || !svix_timestamp || !svix_signature) { - return new Response('Error occured -- no svix headers', { - status: 400, - }) - } - - // Get the body - const payload = await req.json() - const body = JSON.stringify(payload) - - // Create a new Svix instance with your secret. - const wh = new Webhook(WEBHOOK_SECRET) - - let evt: WebhookEvent - - // Verify the payload with the headers - try { - evt = wh.verify(body, { - 'svix-id': svix_id, - 'svix-timestamp': svix_timestamp, - 'svix-signature': svix_signature, - }) as WebhookEvent - } catch (err) { - console.error('Error verifying webhook:', err) - return new Response('Error occured', { - status: 400, - }) - } - - // Get the ID and type - const eventType = evt.type - - if (eventType === 'user.created') { - const { id, image_url, first_name, last_name, email_addresses, username } = - evt.data - - // Create a new user - const mongoUser = await createUser({ - clerkId: id, - email: email_addresses[0].email_address, - username: username ?? '', - name: `${first_name} ${last_name ?? ''}`, - picture: image_url, - }) - - console.log('mongo user', mongoUser) - - return NextResponse.json({ message: 'OK', user: mongoUser }) - } else if (eventType === 'user.updated') { - // Handle user updated - await updateUser({ - clerkId: evt.data.id, - updateData: { - email: evt.data.email_addresses[0].email_address, - username: evt.data.username ?? '', - name: `${evt.data.first_name} ${evt.data.last_name ?? ''}`, - picture: evt.data.image_url, - }, - path: `/profile/${evt.data.id}`, - }) - - return NextResponse.json({ status: 200 }) - } else if (eventType === 'user.deleted') { - const { id } = evt.data - // Handle user deleted - await deleteUser({ clerkId: id! }) - - return NextResponse.json({ status: 200 }) - } - - return new Response('', { status: 200 }) -} diff --git a/app/favicon.ico b/app/favicon.ico index ad21ce728370e4290d1e84e02e89dd184705dbd5..718d6fea4835ec2d246af9800eddb7ffb276240c 100644 GIT binary patch literal 25931 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 LrJugUA?W`A8`#=m literal 15406 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 diff --git a/app/fonts/GeistMonoVF.woff b/app/fonts/GeistMonoVF.woff new file mode 100644 index 0000000000000000000000000000000000000000..f2ae185cbfd16946a534d819e9eb03924abbcc49 GIT binary patch literal 67864 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ϣ%UY8`RWp~V-U_7 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 CLkb=M literal 0 HcmV?d00001 diff --git a/app/fonts/GeistVF.woff b/app/fonts/GeistVF.woff new file mode 100644 index 0000000000000000000000000000000000000000..1b62daacff96dad6584e71cd962051b82957c313 GIT binary patch literal 66268 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 >-Aun5A4Gp>4U0IQJ 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 G)cz05(PHWV literal 0 HcmV?d00001 diff --git a/app/globals.css b/app/globals.css index 578de50..38d6630 100644 --- a/app/globals.css +++ b/app/globals.css @@ -1,14 +1,246 @@ + @tailwind base; @tailwind components; @tailwind utilities; -@import url("../styles/theme.css"); - -body { - font-family: "Inter", sans-serif; +@layer base { + :root { + --radius: 0.5rem; + } } @layer utilities { + .background-light850_dark100 { + @apply bg-light-850 dark:bg-dark-100; + } + + .background-light900_dark200 { + @apply bg-light-900 dark:bg-dark-200; + } + + .background-light900_dark300 { + @apply bg-light-900 dark:bg-dark-300; + } + + .background-light800_darkgradient { + @apply bg-light-800 dark:dark-gradient; + } + + .background-light800_dark400 { + @apply bg-light-800 dark:bg-dark-400 !important; + } + + .background-light700_dark400 { + @apply bg-light-700 dark:bg-dark-400; + } + + .background-light700_dark300 { + @apply bg-light-700 dark:bg-dark-300; + } + + .background-light800_dark400 { + @apply bg-light-800 dark:bg-dark-400; + } + + .background-light800_dark300 { + @apply bg-light-800 dark:bg-dark-300 !important; + } + + .background-light800_dark200 { + @apply bg-light-800 dark:bg-dark-200; + } + + .background-dark400_light900 { + @apply dark:bg-dark-400 bg-light-900 !important; + } + + .text-dark100_light900 { + @apply text-dark-100 dark:text-light-900 !important; + } + + .text-dark200_light900 { + @apply text-dark-200 dark:text-light-900; + } + + .text-dark200_light800 { + @apply text-dark-200 dark:text-light-800 !important; + } + + .text-dark300_light700 { + @apply text-dark-300 dark:text-light-700; + } + + .text-dark400_light700 { + @apply text-dark-400 dark:text-light-700; + } + + .text-dark500_light700 { + @apply text-dark-500 dark:text-light-700 !important; + } + + .text-dark500_light500 { + @apply text-dark-500 dark:text-light-500; + } + + .text-dark500_light400 { + @apply text-dark-500 dark:text-light-400; + } + + .text-dark300_light900 { + @apply text-dark-300 dark:text-light-900 !important; + } + + .text-dark400_light800 { + @apply text-dark-400 dark:text-light-800; + } + + .text-light400_light500 { + @apply text-light-400 dark:text-light-500 !important; + } + + .text-dark400_light500 { + @apply text-dark-400 dark:text-light-500; + } + + .text-dark400_light900 { + @apply text-dark-400 dark:text-light-900 !important; + } + + .text-light400_light500 { + @apply text-light-400 dark:text-light-500 !important; + } + + .light-border { + @apply border-light-800 dark:border-dark-300; + } + + .light-border-2 { + @apply border-light-700 dark:border-dark-400 !important; + } + + .h1-bold { + @apply text-[30px] font-bold leading-[42px] tracking-tighter; + } + + .h2-bold { + @apply text-[24px] font-bold leading-[31.2px]; + } + + .h2-semibold { + @apply text-[24px] font-semibold leading-[31.2px]; + } + + .h3-bold { + @apply text-[20px] font-bold leading-[26px]; + } + + .h3-semibold { + @apply text-[20px] font-semibold leading-[24.8px]; + } + + .base-medium { + @apply text-[18px] font-medium leading-[25.2px]; + } + + .base-semibold { + @apply text-[18px] font-semibold leading-[25.2px]; + } + + .base-bold { + @apply text-[18px] font-bold leading-[140%]; + } + + .paragraph-regular { + @apply text-[16px] font-normal leading-[22.4px]; + } + + .paragraph-medium { + @apply text-[16px] font-medium leading-[22.4px]; + } + + .paragraph-semibold { + @apply text-[16px] font-semibold leading-[20.8px]; + } + + .body-regular { + @apply text-[14px] font-normal leading-[19.6px]; + } + + .body-medium { + @apply text-[14px] font-medium leading-[18.2px]; + } + + .body-semibold { + @apply text-[14px] font-semibold leading-[18.2px]; + } + + .body-bold { + @apply text-[14px] font-bold leading-[18.2px]; + } + + .small-regular { + @apply text-[12px] font-normal leading-[15.6px]; + } + + .small-medium { + @apply text-[12px] font-medium leading-[15.6px]; + } + + .small-semibold { + @apply text-[12px] font-semibold leading-[15.6px]; + } + + .subtle-medium { + @apply text-[10px] font-medium leading-[13px] !important; + } + + .subtle-regular { + @apply text-[10px] font-normal leading-[13px]; + } + + .placeholder { + @apply placeholder:text-light-400 dark:placeholder:text-light-500; + } + + .invert-colors { + @apply invert dark:invert-0; + } + + .shadow-light100_dark100 { + @apply shadow-light-100 dark:shadow-dark-100; + } + + .shadow-light100_darknone { + @apply shadow-light-100 dark:shadow-none; + } + + .primary-gradient { + background: linear-gradient(129deg, #ff7000 0%, #e2995f 100%); + } + + .dark-gradient { + background: linear-gradient( + 232deg, + rgba(23, 28, 35, 0.41) 0%, + rgba(19, 22, 28, 0.7) 100% + ); + } + + .light-gradient { + background: linear-gradient( + 132deg, + rgba(247, 249, 255, 0.5) 0%, + rgba(229, 237, 255, 0.25) 100% + ); + } + + .primary-text-gradient { + background: linear-gradient(129deg, #ff7000 0%, #e2995f 100%); + background-clip: text; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + } + .flex-center { @apply flex justify-center items-center; } @@ -37,12 +269,20 @@ body { @apply bg-light-700 dark:bg-dark-300 !important; } + .no-focus { + @apply focus-visible:ring-0 focus-visible:ring-transparent focus-visible:ring-offset-0 !important; + } + .markdown { @apply max-w-full prose dark:prose-p:text-light-700 dark:prose-ol:text-light-700 dark:prose-ul:text-light-500 dark:prose-strong:text-white dark:prose-headings:text-white prose-headings:text-dark-400 prose-h1:text-dark-300 prose-h2:text-dark-300 prose-p:text-dark-500 prose-ul:text-dark-500 prose-ol:text-dark-500; } - .primary-gradient { - background: linear-gradient(129deg, #ff7000 0%, #e2995f 100%); + .markdown-editor { + @apply prose max-w-full prose-p:m-0 dark:prose-headings:text-white prose-headings:text-dark-400 prose-p:text-dark-500 dark:prose-p:text-light-700 prose-ul:text-dark-500 dark:prose-ul:text-light-700 prose-ol:text-dark-500 dark:prose-ol:text-light-700 dark:prose-strong:text-white prose-blockquote:text-dark-500 dark:prose-blockquote:text-light-700; + } + + .tab { + @apply min-h-full dark:bg-dark-400 bg-light-800 text-light-500 dark:data-[state=active]:bg-dark-300 data-[state=active]:bg-primary-100 data-[state=active]:text-primary-500 !important; } .dark-gradient { @@ -52,14 +292,36 @@ body { rgba(19, 22, 28, 0.7) 100% ); } +} - .tab { - @apply min-h-full dark:bg-dark-400 bg-light-800 text-light-500 dark:data-[state=active]:bg-dark-300 data-[state=active]:bg-primary-100 data-[state=active]:text-primary-500 !important; - } +.custom-scrollbar::-webkit-scrollbar { + width: 3px; + height: 3px; + border-radius: 2px; } -.no-focus { - @apply focus-visible:ring-0 focus-visible:ring-transparent focus-visible:ring-offset-0 !important; +.custom-scrollbar::-webkit-scrollbar-track { + background: #ffffff; +} + +.custom-scrollbar::-webkit-scrollbar-thumb { + background: #888; + border-radius: 50px; +} + +.custom-scrollbar::-webkit-scrollbar-thumb:hover { + background: #555; +} + +/* Hide scrollbar for Chrome, Safari and Opera */ +.no-scrollbar::-webkit-scrollbar { + display: none; +} + +/* Hide scrollbar for IE, Edge and Firefox */ +.no-scrollbar { + -ms-overflow-style: none; /* IE and Edge */ + scrollbar-width: none; /* Firefox */ } .active-theme { @@ -67,41 +329,32 @@ body { brightness(104%) contrast(106%) !important; } -.light-gradient { - background: linear-gradient( - 132deg, - rgba(247, 249, 255, 0.5) 0%, - rgba(229, 237, 255, 0.25) 100% - ); +.hash-span { + margin-top: -140px; + padding-bottom: 140px; + display: block; } -.primary-text-gradient { - background: linear-gradient(129deg, #ff7000 0%, #e2995f 100%); - background-clip: text; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; +.mdxeditor-toolbar { + background: #ffffff !important; } -.custom-scrollbar::-webkit-scrollbar { - width: 3px; - height: 3px; - border-radius: 2px; +.dark .mdxeditor-toolbar { + background: #151821 !important; } -.custom-scrollbar::-webkit-scrollbar-track { - background: #ffffff; +.dark .mdxeditor-toolbar button svg { + color: #858ead !important; } -.custom-scrollbar::-webkit-scrollbar-thumb { - background: #888; - border-radius: 50px; +.dark .mdxeditor-toolbar button:hover svg { + color: #000 !important; } -.custom-scrollbar::-webkit-scrollbar-thumb:hover { - background: #555; +.dark .mdxeditor-toolbar [role="separator"] { + border-color: #555 !important; } -/* Markdown Start */ .markdown a { color: #1da1f2; } @@ -140,26 +393,8 @@ code { color: inherit !important; } -/* Markdown End */ - -/* Clerk */ -.cl-internal-b3fm6y { - background: linear-gradient(129deg, #ff7000 0%, #e2995f 100%) !important; -} - -.hash-span { - margin-top: -140px; - padding-bottom: 140px; - display: block; -} -/* Hide scrollbar for Chrome, Safari and Opera */ -.no-scrollbar::-webkit-scrollbar { - display: none; +[data-lexical-editor="true"] { + height: 350px !important; + overflow-y: auto !important; } - -/* Hide scrollbar for IE, Edge and Firefox */ -.no-scrollbar { - -ms-overflow-style: none; /* IE and Edge */ - scrollbar-width: none; /* Firefox */ -} \ No newline at end of file diff --git a/app/layout.tsx b/app/layout.tsx index 8c8a285..3836bf3 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,51 +1,35 @@ -import { ThemeProvider } from '@/context/ThemeProvider' -import { ClerkProvider } from '@clerk/nextjs' -import type { Metadata } from 'next' -// eslint-disable-next-line camelcase -import { Inter, Space_Grotesk } from 'next/font/google' -import React from 'react' -import '../styles/prism.css' -import './globals.css' +import type { Metadata } from "next"; +import localFont from "next/font/local"; +import React from "react"; +import "./globals.css"; -const inter = Inter({ - subsets: ['latin'], - weight: ['100', '200', '300', '400', '500', '600', '700', '800', '900'], - variable: '--font-inter', -}) - -const spaceGrotesk = Space_Grotesk({ - subsets: ['latin'], - weight: ['300', '400', '500', '600', '700'], - variable: '--font-spaceGrotesk', -}) +const geistSans = localFont({ + src: "./fonts/GeistVF.woff", + variable: "--font-geist-sans", + weight: "100 900", +}); +const geistMono = localFont({ + src: "./fonts/GeistMonoVF.woff", + variable: "--font-geist-mono", + weight: "100 900", +}); export const metadata: Metadata = { - title: 'StackFlow', - description: - 'A community for developers to ask questions and share knowledge.', - icons: { - icon: '/assets/images/site-logo.svg', - }, -} + title: "StackFlow N15", + description: "Generated by create next app", +}; export default function RootLayout({ - children, -}: { - children: React.ReactNode -}) { - return ( - - - - {children} - - - - ) + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + + {children} + + + ); } diff --git a/app/page.tsx b/app/page.tsx new file mode 100644 index 0000000..dfe700d --- /dev/null +++ b/app/page.tsx @@ -0,0 +1,96 @@ +import Image from "next/image"; + +export default function Home() { + return ( + + ); +} diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..e003fff0f4df0c688a0460ec2047cc7d9b59e96c GIT binary patch literal 158815 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 jS4uYsn~9 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 literal 0 HcmV?d00001 diff --git a/components.json b/components.json deleted file mode 100644 index 48c34e4..0000000 --- a/components.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$schema": "https://ui.shadcn.com/schema.json", - "style": "default", - "rsc": true, - "tsx": true, - "tailwind": { - "config": "tailwind.config.js", - "css": "app/globals.css", - "baseColor": "slate", - "cssVariables": true - }, - "aliases": { - "components": "@/components", - "utils": "@/lib/utils" - } -} \ No newline at end of file diff --git a/components/cards/QuestionCard.tsx b/components/cards/QuestionCard.tsx deleted file mode 100644 index c429c3e..0000000 --- a/components/cards/QuestionCard.tsx +++ /dev/null @@ -1,95 +0,0 @@ -import { formatNumber, getTimestamp } from '@/lib/utils' -import Link from 'next/link' -import Metric from '../shared/Metric' -import RenderTag from '../shared/RenderTag' - -interface QuestionProps { - _id: number - title: string - tags: { - _id: string - name: string - }[] - author: { - _id: string - name: string - picture: string - } - upvotes: number - views: number - answers: Array<{}> - createdAt: Date -} - -const QuestionCard = ({ - _id, - title, - tags, - author, - upvotes, - views, - answers, - createdAt, -}: QuestionProps) => { - return ( -
-
-
- - {getTimestamp(createdAt)} - - -

- {title} -

- -
-
- -
- {tags.map((tag) => ( - - ))} -
- -
- - - - -
-
- ) -} - -export default QuestionCard diff --git a/components/cards/UserCard.tsx b/components/cards/UserCard.tsx deleted file mode 100644 index 9733ce4..0000000 --- a/components/cards/UserCard.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import { getTopInteractedTags } from '@/lib/actions/tag.action' -import Image from 'next/image' -import Link from 'next/link' -import RenderTag from '../shared/RenderTag' -import { Badge } from '../ui/badge' - -interface Props { - user: { - _id: string - clerkId: string - picture: string - name: string - username: string - } -} - -const UserCard = async ({ user }: Props) => { - const interactedTags = await getTopInteractedTags({ userId: user._id }) - - return ( - -
- user profile picture -
-

- {user.name} -

-

- @{user.username} -

-
-
- {interactedTags?.length! > 0 ? ( -
- {interactedTags?.map((tag) => ( - - ))} -
- ) : ( - No Tags yet - )} -
-
- - ) -} - -export default UserCard diff --git a/components/forms/Answer.tsx b/components/forms/Answer.tsx deleted file mode 100644 index bde664c..0000000 --- a/components/forms/Answer.tsx +++ /dev/null @@ -1,153 +0,0 @@ -"use client"; - -import { useTheme } from "@/context/ThemeProvider"; -import { AnswerSchema } from "@/lib/validations"; -import { zodResolver } from "@hookform/resolvers/zod"; -import { Editor } from "@tinymce/tinymce-react"; -import Image from "next/image"; -import { useRef, useState } from "react"; -import { useForm } from "react-hook-form"; -import * as z from "zod"; -import { Button } from "../ui/button"; -import { - Form, - FormControl, - FormField, - FormItem, - FormMessage, -} from "../ui/form"; -import { createAnswer } from "@/lib/actions/answer.action"; -import { usePathname } from "next/navigation"; - -interface Props { - question: string; - questionId: string; - authorId: string; -} - -const Answer = ({ question, questionId, authorId }: Props) => { - const pathname = usePathname(); - const editorRef = useRef(null); - const [isSubmitting, setIsSubmitting] = useState(false); - const { mode } = useTheme(); - - const form = useForm>({ - resolver: zodResolver(AnswerSchema), - defaultValues: { - answer: "", - }, - }); - - async function onSubmit(values: z.infer) { - setIsSubmitting(true); - try { - await createAnswer({ - content: values.answer, - author: JSON.parse(authorId), - question: JSON.parse(questionId), - path: pathname, - }); - - form.reset(); - - if (editorRef.current) { - const editor = editorRef.current as any; - editor.setContent(""); - } - } catch (error) { - console.log("[CREATE_ANSWER_SUBMIT_ERROR]", error); - throw new Error("Failed to create answer"); - } finally { - setIsSubmitting(false); - } - } - - return ( -
-
-

- Write your answer here -

- -
-
- - ( - - - { - // @ts-ignore - editorRef.current = editor; - }} - onEditorChange={(content, editor) => { - field.onChange(content); - }} - onBlur={(content, editor) => field.onBlur()} - init={{ - height: 350, - menubar: false, - plugins: [ - "advlist", - "autolink", - "lists", - "link", - "image", - "charmap", - "preview", - "anchor", - "searchreplace", - "visualblocks", - "fullscreen", - "insertdatetime", - "media", - "table", - "codesample", - ], - toolbar: - "undo redo | blocks | " + - "codesample | bold italic forecolor | alignleft aligncenter " + - "alignright alignjustify | bullist numlist ", - content_style: - "body { font-family:Inter; font-size:16px }", - skin: mode === "dark" ? "oxide-dark" : "oxide", - content_css: mode === "dark" ? "dark" : "light", - }} - /> - - - - )} - /> -
- -
- - -
- ); -}; - -export default Answer; diff --git a/components/forms/Question.tsx b/components/forms/Question.tsx deleted file mode 100644 index e0fe860..0000000 --- a/components/forms/Question.tsx +++ /dev/null @@ -1,248 +0,0 @@ -'use client' - -import { Button } from '@/components/ui/button' -import { - Form, - FormControl, - FormDescription, - FormField, - FormItem, - FormLabel, - FormMessage, -} from '@/components/ui/form' -import { Input } from '@/components/ui/input' -import { createQuestion } from '@/lib/actions/question.action' -import { QuestionsSchema } from '@/lib/validations' -import { zodResolver } from '@hookform/resolvers/zod' -import { Editor } from '@tinymce/tinymce-react' -import Image from 'next/image' -import { usePathname, useRouter } from 'next/navigation' -import React, { useRef, useState } from 'react' -import { useForm } from 'react-hook-form' -import * as z from 'zod' -import { Badge } from '../ui/badge' -import { useTheme } from '@/context/ThemeProvider' - -const type: any = 'create' - -interface Props { - mongoUserId: string -} - -const Question = ({ mongoUserId }: Props) => { - const editorRef = useRef(null) - const [isSubmitting, setIsSubmitting] = useState(false) - const {mode} = useTheme() - const router = useRouter() - const pathname = usePathname() - - const form = useForm>({ - resolver: zodResolver(QuestionsSchema), - defaultValues: { - title: '', - explanation: '', - tags: [], - }, - }) - - const handleTagRemove = (tag: string, field: any) => { - const tags = field.value.filter((t: string) => t !== tag) - form.setValue('tags', tags) - } - - const handleInputKeyDown = ( - e: React.KeyboardEvent, - field: any - ) => { - if (e.key === 'Enter' && field.name === 'tags') { - e.preventDefault() - - const tagInput = e.target as HTMLInputElement - const tagValue = tagInput.value.trim() - - if (tagValue !== '') { - if (tagValue.length > 15) { - return form.setError('tags', { - type: 'required', - message: 'Tag must be less than 15 characters', - }) - } - - if (!field.value.includes(tagValue as never)) { - form.setValue('tags', [...field.value, tagValue]) - tagInput.value = '' - form.clearErrors('tags') - } else { - form.trigger() - } - } - } - } - - async function onSubmit(values: z.infer) { - setIsSubmitting(true) - try { - // make async call to api - await createQuestion({ - title: values.title, - content: values.explanation, - tags: values.tags, - author: JSON.parse(mongoUserId), - path: pathname - }) - - router.push('/') - } catch (error) { - } finally { - setIsSubmitting(false) - } - } - - return ( -
- - {/** Question Title */} - ( - - - Question Title * - - - - - - Be descriptiive as possible - - - - )} - /> - {/** Question Explanation */} - ( - - - Detailed explanation of your problem? - * - - - { - // @ts-ignore - editorRef.current = editor - }} - initialValue="" - onEditorChange={(content, editor) => { - field.onChange(content) - }} - onBlur={(content, editor) => field.onBlur()} - init={{ - height: 350, - menubar: false, - plugins: [ - 'advlist', - 'autolink', - 'lists', - 'link', - 'image', - 'charmap', - 'preview', - 'anchor', - 'searchreplace', - 'visualblocks', - 'fullscreen', - 'insertdatetime', - 'media', - 'table', - 'codesample', - ], - toolbar: - 'undo redo | blocks | ' + - 'codesample | bold italic forecolor | alignleft aligncenter ' + - 'alignright alignjustify | bullist numlist ', - content_style: 'body { font-family:Inter; font-size:16px }', - skin: mode === 'dark' ? 'oxide-dark' : 'oxide', - content_css: mode === 'dark' ? 'dark' : 'light', - }} - /> - - - Introduce the problem and expand on what you put in the title. - Minimum 20 characters. - - - - )} - /> - {/** Question Tags */} - ( - - - Tags * - - - <> - handleInputKeyDown(e, field)} - /> - - {field.value.length > 0 && ( -
- {field.value.map((tag: any) => ( - handleTagRemove(tag, field)} - className="subtle-medium background-light800_dark300 text-light400_light500 flex items-center justify-center gap-2 rounded-md border-none px-4 py-2 capitalize"> - {tag}{' '} - close icon - - ))} -
- )} - -
- - Add up to 5 tags to describe what your question is about. Start - typing to see suggestions. - - -
- )} - /> - - - - ) -} - -export default Question diff --git a/components/home/HomeFilters.tsx b/components/home/HomeFilters.tsx deleted file mode 100644 index 6c27df2..0000000 --- a/components/home/HomeFilters.tsx +++ /dev/null @@ -1,27 +0,0 @@ -'use client' - -import { HomePageFilters } from '@/constants/filters' -import { Button } from '../ui/button' - -const HomeFilters = () => { - const active = 'newest' - - return ( -
- {HomePageFilters.map((filter) => ( - - ))} -
- ) -} - -export default HomeFilters diff --git a/components/shared/AllAnswers.tsx b/components/shared/AllAnswers.tsx deleted file mode 100644 index 288e4b6..0000000 --- a/components/shared/AllAnswers.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import ParseHtml from '@/components/shared/ParseHtml' -import SearchFilter from '@/components/shared/search/SearchFilter' -import { AnswerFilters } from '@/constants/filters' -import { getAllQuestionAnswers } from '@/lib/actions/answer.action' -import { getTimestamp } from '@/lib/utils' -import Image from 'next/image' -import Link from 'next/link' -import Votes from './Votes' - -interface Props { - questionId: string - userId: string - totalAnswers: number - page?: number - filter?: number -} - -const AllAnswers = async ({ questionId, userId, totalAnswers }: Props) => { - const result = await getAllQuestionAnswers({ questionId }) - - return ( -
-
-

{totalAnswers} Answers

- -
-
- {result.answers.map((answer) => ( -
-
-
- - profile -
-

- {answer.author.name} -

-

- - answered {getTimestamp(answer.createdAt)} -

-
- -
- -
-
-
- -
- ))} -
-
- ) -} - -export default AllAnswers diff --git a/components/shared/Metric.tsx b/components/shared/Metric.tsx deleted file mode 100644 index 5191d61..0000000 --- a/components/shared/Metric.tsx +++ /dev/null @@ -1,57 +0,0 @@ -import Image from 'next/image' -import Link from 'next/link' - -interface Props { - imgUrl: string - alt: string - title: string - value: string | number - textStyles?: string - isAuthor?: boolean - href?: string -} - -const Metric = ({ - imgUrl, - alt, - title, - value, - textStyles, - href, - isAuthor, -}: Props) => { - const metricContent = ( - <> - {alt} -

- {value} - - {title} - -

- - ) - - if (href) { - return ( - - {metricContent} - - ) - } - - return
{metricContent}
-} - -export default Metric diff --git a/components/shared/NoResult.tsx b/components/shared/NoResult.tsx deleted file mode 100644 index e896c5c..0000000 --- a/components/shared/NoResult.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import Image from 'next/image' -import Link from 'next/link' -import { Button } from '../ui/button' - -interface Props { - title: string - description: string - linkUrl: string - linkTitle: string -} - -const NoResult = ({ title, description, linkUrl, linkTitle }: Props) => { - return ( -
- No result illustration - No result illustration -

{title}

-

- {description} -

- - - -
- ) -} - -export default NoResult diff --git a/components/shared/ParseHtml.tsx b/components/shared/ParseHtml.tsx deleted file mode 100644 index 596fcf5..0000000 --- a/components/shared/ParseHtml.tsx +++ /dev/null @@ -1,20 +0,0 @@ -'use client' - -import { useEffect } from 'react' - -import parse from 'html-react-parser' -import * as Prism from 'prismjs' - -interface Props { - data: string -} - -const ParseHtml = ({ data }: Props) => { - useEffect(() => { - Prism.highlightAll() - }, []) - - return
{parse(data)}
-} - -export default ParseHtml diff --git a/components/shared/RenderTag.tsx b/components/shared/RenderTag.tsx deleted file mode 100644 index 42f909b..0000000 --- a/components/shared/RenderTag.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import Link from 'next/link' -import { Badge } from '../ui/badge' - -interface Props { - _id: string - name: string - totalQuestions?: number - showCount?: boolean -} - -const RenderTag = ({ _id, name, totalQuestions, showCount }: Props) => { - return ( - - - {name} - - {showCount && ( -

{totalQuestions}

- )} - - ) -} - -export default RenderTag diff --git a/components/shared/Votes.tsx b/components/shared/Votes.tsx deleted file mode 100644 index 41ebab6..0000000 --- a/components/shared/Votes.tsx +++ /dev/null @@ -1,144 +0,0 @@ -'use client' - -import { - downvoteAnswer, - downvoteQuestion, - upvoteAnswer, - upvoteQuestion, -} from '@/lib/actions/question.action' -import { formatNumber } from '@/lib/utils' -import Image from 'next/image' -import { usePathname } from 'next/navigation' - -interface Props { - type: string - itemId: string - userId: string - upvotes: number - hasupVoted: boolean - downvotes: number - hasdownVoted: boolean - hasSaved?: boolean -} - -const Votes = ({ - type, - itemId, - userId, - upvotes, - hasupVoted, - downvotes, - hasdownVoted, - hasSaved, -}: Props) => { - const pathname = usePathname() - // const router = useRouter() - - const handleVote = async (action: string) => { - if (!userId) return - - if (action === 'upvote') { - if (type === 'Question') - await upvoteQuestion({ - userId: JSON.parse(userId), - hasupVoted, - hasdownVoted, - questionId: JSON.parse(itemId), - path: pathname, - }) - else if (type === 'Answer') { - await upvoteAnswer({ - userId: JSON.parse(userId), - hasupVoted, - hasdownVoted, - answerId: JSON.parse(itemId), - path: pathname, - }) - } - - return - } - - if (action === 'downvote') { - if (type === 'Question') - await downvoteQuestion({ - userId: JSON.parse(userId), - hasupVoted, - hasdownVoted, - questionId: JSON.parse(itemId), - path: pathname, - }) - else if (type === 'Answer') { - await downvoteAnswer({ - userId: JSON.parse(userId), - hasupVoted, - hasdownVoted, - answerId: JSON.parse(itemId), - path: pathname, - }) - } - } - } - - const handleSave = () => {} - return ( -
-
-
- upvotes handleVote('upvote')} - /> -
-

- {formatNumber(upvotes)} -

-
-
-
- downvotes handleVote('downvote')} - /> -
-

- {formatNumber(downvotes)} -

-
-
-
- {hasSaved && ( - save handleSave()} - /> - )} -
- ) -} - -export default Votes diff --git a/components/shared/navbar/MobileNav.tsx b/components/shared/navbar/MobileNav.tsx deleted file mode 100644 index e9a20d6..0000000 --- a/components/shared/navbar/MobileNav.tsx +++ /dev/null @@ -1,112 +0,0 @@ -'use client' - -import { Button } from '@/components/ui/button' -import { - Sheet, - SheetClose, - SheetContent, - SheetTrigger, -} from '@/components/ui/sheet' -import { sidebarLinks } from '@/constants' -import { SignedOut } from '@clerk/nextjs' -import Image from 'next/image' -import Link from 'next/link' -import { usePathname } from 'next/navigation' - -const NavContent = () => { - const pathname = usePathname() - - return ( -
- {sidebarLinks.map((item) => { - const isActive = - (pathname.includes(item.route) && item.route.length > 1) || - pathname === item.route - - return ( - - - {item.label} -

- {item.label} -

- -
- ) - })} -
- ) -} - -const MobileNav = () => { - return ( - - - Menu - - - - Stackflow -

- StackFlow -

- -
- - - - -
- - - - - - - - - - - -
-
-
-
-
- ) -} - -export default MobileNav diff --git a/components/shared/navbar/Navbar.tsx b/components/shared/navbar/Navbar.tsx deleted file mode 100644 index c3221f2..0000000 --- a/components/shared/navbar/Navbar.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import { SignedIn, UserButton } from '@clerk/nextjs' -import Image from 'next/image' -import Link from 'next/link' -import GlobalSearch from '../search/GlobalSearch' -import MobileNav from './MobileNav' -import Theme from './Theme' - -const Navbar = () => { - return ( - - ) -} - -export default Navbar diff --git a/components/shared/navbar/Theme.tsx b/components/shared/navbar/Theme.tsx deleted file mode 100644 index 75d4608..0000000 --- a/components/shared/navbar/Theme.tsx +++ /dev/null @@ -1,76 +0,0 @@ -'use client' - -import { - Menubar, - MenubarContent, - MenubarItem, - MenubarMenu, - MenubarTrigger, -} from '@/components/ui/menubar' -import { themes } from '@/constants' -import { useTheme } from '@/context/ThemeProvider' -import Image from 'next/image' - -const Theme = () => { - const { mode, setMode } = useTheme() - - return ( - - - - {mode === 'light' ? ( - sun - ) : ( - moon - )} - - - {themes.map((item) => ( - { - setMode(item.value) - - if (item.value !== 'system') { - localStorage.theme = item.value - } else { - localStorage.removeItem('theme') - } - }}> - {item.value} -

- {item.label} -

-
- ))} -
-
-
- ) -} - -export default Theme diff --git a/components/shared/search/GlobalSearch.tsx b/components/shared/search/GlobalSearch.tsx deleted file mode 100644 index 9a17847..0000000 --- a/components/shared/search/GlobalSearch.tsx +++ /dev/null @@ -1,29 +0,0 @@ -'use client' - -import { Input } from '@/components/ui/input' -import Image from 'next/image' - -const GlobalSearch = () => { - return ( -
-
- search - {}} - className="paragraph-regular no-focus placeholder text-dark400_light700 border-none bg-transparent shadow-none outline-none" - /> -
-
- ) -} - -export default GlobalSearch diff --git a/components/shared/search/LocalSearch.tsx b/components/shared/search/LocalSearch.tsx deleted file mode 100644 index 9e9f515..0000000 --- a/components/shared/search/LocalSearch.tsx +++ /dev/null @@ -1,53 +0,0 @@ -'use client' - -import { Input } from '@/components/ui/input' -import Image from 'next/image' - -interface CustomLocalSearchProps { - route: string - iconPosition: 'left' | 'right' - placeholder: string - otherClassNames: string - imgSrc: string -} - -const LocalSearch = ({ - route, - iconPosition, - placeholder, - otherClassNames, - imgSrc, -}: CustomLocalSearchProps) => { - return ( -
- {iconPosition === 'left' && ( - search - )} - {}} - className="paragraph-regular no-focus placeholder text-dark400_light700 border-none bg-transparent shadow-none outline-none" - /> - {iconPosition === 'right' && ( - search - )} -
- ) -} - -export default LocalSearch diff --git a/components/shared/search/SearchFilter.tsx b/components/shared/search/SearchFilter.tsx deleted file mode 100644 index d4cbdf7..0000000 --- a/components/shared/search/SearchFilter.tsx +++ /dev/null @@ -1,48 +0,0 @@ -'use client' - -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from '@/components/ui/select' -import { SelectGroup } from '@radix-ui/react-select' - -interface Props { - filters: { - name: string - value: string - }[] - otherClasses?: string - containerClasses?: string -} - -const SearchFilter = ({ filters, otherClasses, containerClasses }: Props) => { - return ( -
- -
- ) -} - -export default SearchFilter diff --git a/components/shared/sidebar/LeftSidebar.tsx b/components/shared/sidebar/LeftSidebar.tsx deleted file mode 100644 index ef8ab06..0000000 --- a/components/shared/sidebar/LeftSidebar.tsx +++ /dev/null @@ -1,83 +0,0 @@ -'use client' - -import { Button } from '@/components/ui/button' -import { sidebarLinks } from '@/constants' -import { SignedOut } from '@clerk/nextjs' -import Image from 'next/image' -import Link from 'next/link' -import { usePathname } from 'next/navigation' - -const LeftSidebar = () => { - const pathname = usePathname() - - return ( -
-
- {sidebarLinks.map((item) => { - const isActive = - (pathname.includes(item.route) && item.route.length > 1) || - pathname === item.route - - return ( - - {item.label} -

- {item.label} -

- - ) - })} -
-
- -
- - - - - - -
-
-
-
- ) -} - -export default LeftSidebar diff --git a/components/shared/sidebar/RightSidebar.tsx b/components/shared/sidebar/RightSidebar.tsx deleted file mode 100644 index 7b962a0..0000000 --- a/components/shared/sidebar/RightSidebar.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import Image from 'next/image' -import Link from 'next/link' -import RenderTag from '../RenderTag' - -const popularTags = [ - { _id: '1', name: 'javascript', totalQuestions: 5 }, - { _id: '2', name: 'next', totalQuestions: 55 }, - { _id: '3', name: 'vue', totalQuestions: 25 }, - { _id: '4', name: 'react', totalQuestions: 15 }, -] - -const RightSidebar = () => { - return ( -
- {/** Top Questions */} -
-

Top Questions

-
- -

- Can I get the course for free? -

- chevron right - -
-
- {/** Popular Tags */} -
-

Popular Tags

-
- {popularTags.map((tag) => ( - - ))} -
-
-
- ) -} - -export default RightSidebar diff --git a/components/ui/badge.tsx b/components/ui/badge.tsx deleted file mode 100644 index f000e3e..0000000 --- a/components/ui/badge.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import * as React from "react" -import { cva, type VariantProps } from "class-variance-authority" - -import { cn } from "@/lib/utils" - -const badgeVariants = cva( - "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", - { - variants: { - variant: { - default: - "border-transparent bg-primary text-primary-foreground hover:bg-primary/80", - secondary: - "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80", - destructive: - "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80", - outline: "text-foreground", - }, - }, - defaultVariants: { - variant: "default", - }, - } -) - -export interface BadgeProps - extends React.HTMLAttributes, - VariantProps {} - -function Badge({ className, variant, ...props }: BadgeProps) { - return ( -
- ) -} - -export { Badge, badgeVariants } diff --git a/components/ui/button.tsx b/components/ui/button.tsx deleted file mode 100644 index 0ba4277..0000000 --- a/components/ui/button.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import * as React from "react" -import { Slot } from "@radix-ui/react-slot" -import { cva, type VariantProps } from "class-variance-authority" - -import { cn } from "@/lib/utils" - -const buttonVariants = cva( - "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", - { - variants: { - variant: { - default: "bg-primary text-primary-foreground hover:bg-primary/90", - destructive: - "bg-destructive text-destructive-foreground hover:bg-destructive/90", - outline: - "border border-input bg-background hover:bg-accent hover:text-accent-foreground", - secondary: - "bg-secondary text-secondary-foreground hover:bg-secondary/80", - ghost: "hover:bg-accent hover:text-accent-foreground", - link: "text-primary underline-offset-4 hover:underline", - }, - size: { - default: "h-10 px-4 py-2", - sm: "h-9 rounded-md px-3", - lg: "h-11 rounded-md px-8", - icon: "h-10 w-10", - }, - }, - defaultVariants: { - variant: "default", - size: "default", - }, - } -) - -export interface ButtonProps - extends React.ButtonHTMLAttributes, - VariantProps { - asChild?: boolean -} - -const Button = React.forwardRef( - ({ className, variant, size, asChild = false, ...props }, ref) => { - const Comp = asChild ? Slot : "button" - return ( - - ) - } -) -Button.displayName = "Button" - -export { Button, buttonVariants } diff --git a/components/ui/dropdown-menu.tsx b/components/ui/dropdown-menu.tsx deleted file mode 100644 index f69a0d6..0000000 --- a/components/ui/dropdown-menu.tsx +++ /dev/null @@ -1,200 +0,0 @@ -"use client" - -import * as React from "react" -import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu" -import { Check, ChevronRight, Circle } from "lucide-react" - -import { cn } from "@/lib/utils" - -const DropdownMenu = DropdownMenuPrimitive.Root - -const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger - -const DropdownMenuGroup = DropdownMenuPrimitive.Group - -const DropdownMenuPortal = DropdownMenuPrimitive.Portal - -const DropdownMenuSub = DropdownMenuPrimitive.Sub - -const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup - -const DropdownMenuSubTrigger = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { - inset?: boolean - } ->(({ className, inset, children, ...props }, ref) => ( - - {children} - - -)) -DropdownMenuSubTrigger.displayName = - DropdownMenuPrimitive.SubTrigger.displayName - -const DropdownMenuSubContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -DropdownMenuSubContent.displayName = - DropdownMenuPrimitive.SubContent.displayName - -const DropdownMenuContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, sideOffset = 4, ...props }, ref) => ( - - - -)) -DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName - -const DropdownMenuItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { - inset?: boolean - } ->(({ className, inset, ...props }, ref) => ( - -)) -DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName - -const DropdownMenuCheckboxItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, children, checked, ...props }, ref) => ( - - - - - - - {children} - -)) -DropdownMenuCheckboxItem.displayName = - DropdownMenuPrimitive.CheckboxItem.displayName - -const DropdownMenuRadioItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, children, ...props }, ref) => ( - - - - - - - {children} - -)) -DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName - -const DropdownMenuLabel = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef & { - inset?: boolean - } ->(({ className, inset, ...props }, ref) => ( - -)) -DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName - -const DropdownMenuSeparator = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)) -DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName - -const DropdownMenuShortcut = ({ - className, - ...props -}: React.HTMLAttributes) => { - return ( - - ) -} -DropdownMenuShortcut.displayName = "DropdownMenuShortcut" - -export { - DropdownMenu, - DropdownMenuTrigger, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuCheckboxItem, - DropdownMenuRadioItem, - DropdownMenuLabel, - DropdownMenuSeparator, - DropdownMenuShortcut, - DropdownMenuGroup, - DropdownMenuPortal, - DropdownMenuSub, - DropdownMenuSubContent, - DropdownMenuSubTrigger, - DropdownMenuRadioGroup, -} diff --git a/components/ui/form.tsx b/components/ui/form.tsx deleted file mode 100644 index 4603f8b..0000000 --- a/components/ui/form.tsx +++ /dev/null @@ -1,176 +0,0 @@ -import * as React from "react" -import * as LabelPrimitive from "@radix-ui/react-label" -import { Slot } from "@radix-ui/react-slot" -import { - Controller, - ControllerProps, - FieldPath, - FieldValues, - FormProvider, - useFormContext, -} from "react-hook-form" - -import { cn } from "@/lib/utils" -import { Label } from "@/components/ui/label" - -const Form = FormProvider - -type FormFieldContextValue< - TFieldValues extends FieldValues = FieldValues, - TName extends FieldPath = FieldPath -> = { - name: TName -} - -const FormFieldContext = React.createContext( - {} as FormFieldContextValue -) - -const FormField = < - TFieldValues extends FieldValues = FieldValues, - TName extends FieldPath = FieldPath ->({ - ...props -}: ControllerProps) => { - return ( - - - - ) -} - -const useFormField = () => { - const fieldContext = React.useContext(FormFieldContext) - const itemContext = React.useContext(FormItemContext) - const { getFieldState, formState } = useFormContext() - - const fieldState = getFieldState(fieldContext.name, formState) - - if (!fieldContext) { - throw new Error("useFormField should be used within ") - } - - const { id } = itemContext - - return { - id, - name: fieldContext.name, - formItemId: `${id}-form-item`, - formDescriptionId: `${id}-form-item-description`, - formMessageId: `${id}-form-item-message`, - ...fieldState, - } -} - -type FormItemContextValue = { - id: string -} - -const FormItemContext = React.createContext( - {} as FormItemContextValue -) - -const FormItem = React.forwardRef< - HTMLDivElement, - React.HTMLAttributes ->(({ className, ...props }, ref) => { - const id = React.useId() - - return ( - -
- - ) -}) -FormItem.displayName = "FormItem" - -const FormLabel = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => { - const { error, formItemId } = useFormField() - - return ( -