Skip to content

Commit be19115

Browse files
sconds
1 parent 9f8bed4 commit be19115

29 files changed

+549
-910
lines changed

.env

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,4 @@ UPLOADTHING_SECRET=sk_live_b62251ae873007c0f1133963c8b43d92a97bd212dfecebac1dc31
1010
UPLOADTHING_APP_ID=dmtyxtekpg
1111

1212
MONGODB_URL="mongodb+srv://supernovasoftwareco:[email protected]/?retryWrites=true&w=majority&appName=PainFX"
13-
NEXT_CLERK_WEBHOOK_SECRET=
14-
15-
13+
NEXT_CLERK_WEBHOOK_SECRET=

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ yarn-error.log*
2727

2828
# local env files
2929
.env*.local
30+
.env
3031

3132
# vercel
3233
.vercel

app/globals.css

Lines changed: 136 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -2,75 +2,160 @@
22
@tailwind components;
33
@tailwind utilities;
44

5-
@layer base {
6-
:root {
7-
--background: 0 0% 100%;
8-
--foreground: 20 14.3% 4.1%;
5+
@layer components {
6+
/* main */
7+
.main-container {
8+
@apply flex min-h-screen flex-1 flex-col items-center bg-dark-1 px-6 pb-10 pt-28 max-md:pb-32 sm:px-10;
9+
}
10+
11+
/* Head Text */
12+
.head-text {
13+
@apply text-heading2-bold text-light-1;
14+
}
15+
16+
/* Activity */
17+
.activity-card {
18+
@apply flex items-center gap-2 rounded-md bg-dark-2 px-7 py-4;
19+
}
20+
21+
/* No Result */
22+
.no-result {
23+
@apply text-center !text-base-regular text-light-3;
24+
}
925

10-
--card: 0 0% 100%;
11-
--card-foreground: 20 14.3% 4.1%;
26+
/* Community Card */
27+
.community-card {
28+
@apply w-full rounded-lg bg-dark-3 px-4 py-5 sm:w-96;
29+
}
30+
31+
.community-card_btn {
32+
@apply rounded-lg bg-primary-500 px-5 py-1.5 text-small-regular !text-light-1 !important;
33+
}
1234

13-
--popover: 0 0% 100%;
14-
--popover-foreground: 20 14.3% 4.1%;
35+
/* thread card */
36+
.thread-card_bar {
37+
@apply relative mt-2 w-0.5 grow rounded-full bg-neutral-800;
38+
}
1539

16-
--primary: 24 9.8% 10%;
17-
--primary-foreground: 60 9.1% 97.8%;
40+
/* User card */
41+
.user-card {
42+
@apply flex flex-col justify-between gap-4 max-xs:rounded-xl max-xs:bg-dark-3 max-xs:p-4 xs:flex-row xs:items-center;
43+
}
44+
45+
.user-card_avatar {
46+
@apply flex flex-1 items-start justify-start gap-3 xs:items-center;
47+
}
1848

19-
--secondary: 60 4.8% 95.9%;
20-
--secondary-foreground: 24 9.8% 10%;
49+
.user-card_btn {
50+
@apply h-auto min-w-[74px] rounded-lg bg-primary-500 text-[12px] text-light-1 !important;
51+
}
2152

22-
--muted: 60 4.8% 95.9%;
23-
--muted-foreground: 25 5.3% 44.7%;
53+
.searchbar {
54+
@apply flex gap-1 rounded-lg bg-dark-3 px-4 py-2;
55+
}
2456

25-
--accent: 60 4.8% 95.9%;
26-
--accent-foreground: 24 9.8% 10%;
57+
.searchbar_input {
58+
@apply border-none bg-dark-3 text-base-regular text-light-4 outline-none !important;
59+
}
2760

28-
--destructive: 0 84.2% 60.2%;
29-
--destructive-foreground: 60 9.1% 97.8%;
61+
.topbar {
62+
@apply fixed top-0 z-30 flex w-full items-center justify-between bg-dark-2 px-6 py-3;
63+
}
3064

31-
--border: 20 5.9% 90%;
32-
--input: 20 5.9% 90%;
33-
--ring: 20 14.3% 4.1%;
65+
.bottombar {
66+
@apply fixed bottom-0 z-10 w-full rounded-t-3xl bg-glassmorphism p-4 backdrop-blur-lg xs:px-7 md:hidden;
67+
}
3468

35-
--radius: 0.5rem;
36-
}
69+
.bottombar_container {
70+
@apply flex items-center justify-between gap-3 xs:gap-5;
71+
}
3772

38-
.dark {
39-
--background: 20 14.3% 4.1%;
40-
--foreground: 60 9.1% 97.8%;
73+
.bottombar_link {
74+
@apply relative flex flex-col items-center gap-2 rounded-lg p-2 sm:flex-1 sm:px-2 sm:py-2.5;
75+
}
4176

42-
--card: 20 14.3% 4.1%;
43-
--card-foreground: 60 9.1% 97.8%;
77+
.leftsidebar {
78+
@apply sticky left-0 top-0 z-20 flex h-screen w-fit flex-col justify-between overflow-auto border-r border-r-dark-4 bg-dark-2 pb-5 pt-28 max-md:hidden;
79+
}
4480

45-
--popover: 20 14.3% 4.1%;
46-
--popover-foreground: 60 9.1% 97.8%;
81+
.leftsidebar_link {
82+
@apply relative flex justify-start gap-4 rounded-lg p-4;
83+
}
4784

48-
--primary: 60 9.1% 97.8%;
49-
--primary-foreground: 24 9.8% 10%;
85+
.pagination {
86+
@apply mt-10 flex w-full items-center justify-center gap-5;
87+
}
5088

51-
--secondary: 12 6.5% 15.1%;
52-
--secondary-foreground: 60 9.1% 97.8%;
89+
.rightsidebar {
90+
@apply sticky right-0 top-0 z-20 flex h-screen w-fit flex-col justify-between gap-12 overflow-auto border-l border-l-dark-4 bg-dark-2 px-10 pb-6 pt-28 max-xl:hidden;
91+
}
92+
}
5393

54-
--muted: 12 6.5% 15.1%;
55-
--muted-foreground: 24 5.4% 63.9%;
94+
@layer utilities {
95+
.css-invert {
96+
@apply invert-[50%] brightness-200;
97+
}
5698

57-
--accent: 12 6.5% 15.1%;
58-
--accent-foreground: 60 9.1% 97.8%;
99+
.custom-scrollbar::-webkit-scrollbar {
100+
width: 3px;
101+
height: 3px;
102+
border-radius: 2px;
103+
}
59104

60-
--destructive: 0 62.8% 30.6%;
61-
--destructive-foreground: 60 9.1% 97.8%;
105+
.custom-scrollbar::-webkit-scrollbar-track {
106+
background: #09090a;
107+
}
62108

63-
--border: 12 6.5% 15.1%;
64-
--input: 12 6.5% 15.1%;
65-
--ring: 24 5.7% 82.9%;
66-
}
109+
.custom-scrollbar::-webkit-scrollbar-thumb {
110+
background: #5c5c7b;
111+
border-radius: 50px;
67112
}
68113

69-
@layer base {
70-
* {
71-
@apply border-border;
72-
}
73-
body {
74-
@apply bg-background text-foreground;
75-
}
114+
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
115+
background: #7878a3;
76116
}
117+
}
118+
119+
/* Clerk Responsive fix */
120+
.cl-organizationSwitcherTrigger .cl-userPreview .cl-userPreviewTextContainer {
121+
@apply max-sm:hidden;
122+
}
123+
124+
.cl-organizationSwitcherTrigger
125+
.cl-organizationPreview
126+
.cl-organizationPreviewTextContainer {
127+
@apply max-sm:hidden;
128+
}
129+
130+
/* Shadcn Component Styles */
131+
132+
/* Tab */
133+
.tab {
134+
@apply flex min-h-[50px] flex-1 items-center gap-3 bg-dark-2 text-light-2 data-[state=active]:bg-[#0e0e12] data-[state=active]:text-light-2 !important;
135+
}
136+
137+
.no-focus {
138+
@apply focus-visible:ring-0 focus-visible:ring-transparent focus-visible:ring-offset-0 !important;
139+
}
140+
141+
/* Account Profile */
142+
.account-form_image-label {
143+
@apply flex h-24 w-24 items-center justify-center rounded-full bg-dark-4 !important;
144+
}
145+
146+
.account-form_image-input {
147+
@apply cursor-pointer border-none bg-transparent outline-none file:text-blue !important;
148+
}
149+
150+
.account-form_input {
151+
@apply border border-dark-4 bg-dark-3 text-light-1 !important;
152+
}
153+
154+
/* Comment Form */
155+
.comment-form {
156+
@apply mt-10 flex items-center gap-4 border-y border-y-dark-4 py-5 max-xs:flex-col !important;
157+
}
158+
159+
.comment-form_btn {
160+
@apply rounded-3xl bg-primary-500 px-8 py-2 !text-small-regular text-light-1 max-xs:w-full !important;
161+
}

components/ui/tabs.tsx

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
"use client"
2+
3+
import * as React from "react"
4+
import * as TabsPrimitive from "@radix-ui/react-tabs"
5+
6+
import { cn } from "@/lib/utils"
7+
8+
const Tabs = TabsPrimitive.Root
9+
10+
const TabsList = React.forwardRef<
11+
React.ElementRef<typeof TabsPrimitive.List>,
12+
React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>
13+
>(({ className, ...props }, ref) => (
14+
<TabsPrimitive.List
15+
ref={ref}
16+
className={cn(
17+
"inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",
18+
className
19+
)}
20+
{...props}
21+
/>
22+
))
23+
TabsList.displayName = TabsPrimitive.List.displayName
24+
25+
const TabsTrigger = React.forwardRef<
26+
React.ElementRef<typeof TabsPrimitive.Trigger>,
27+
React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>
28+
>(({ className, ...props }, ref) => (
29+
<TabsPrimitive.Trigger
30+
ref={ref}
31+
className={cn(
32+
"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",
33+
className
34+
)}
35+
{...props}
36+
/>
37+
))
38+
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName
39+
40+
const TabsContent = React.forwardRef<
41+
React.ElementRef<typeof TabsPrimitive.Content>,
42+
React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>
43+
>(({ className, ...props }, ref) => (
44+
<TabsPrimitive.Content
45+
ref={ref}
46+
className={cn(
47+
"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
48+
className
49+
)}
50+
{...props}
51+
/>
52+
))
53+
TabsContent.displayName = TabsPrimitive.Content.displayName
54+
55+
export { Tabs, TabsList, TabsTrigger, TabsContent }

components/ui/textarea.tsx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import * as React from "react"
2+
3+
import { cn } from "@/lib/utils"
4+
5+
export interface TextareaProps
6+
extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}
7+
8+
const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(
9+
({ className, ...props }, ref) => {
10+
return (
11+
<textarea
12+
className={cn(
13+
"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
14+
className
15+
)}
16+
ref={ref}
17+
{...props}
18+
/>
19+
)
20+
}
21+
)
22+
Textarea.displayName = "Textarea"
23+
24+
export { Textarea }

hooks/dicapp/auth/index.ts

Lines changed: 0 additions & 6 deletions
This file was deleted.

hooks/dicapp/auth/use-login.ts

Lines changed: 0 additions & 48 deletions
This file was deleted.

0 commit comments

Comments
 (0)