diff --git a/package.json b/package.json
index 6393a0d..74c9144 100644
--- a/package.json
+++ b/package.json
@@ -36,7 +36,7 @@
"bcryptjs": "^3.0.2",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
- "lucide-react": "^0.517.0",
+ "lucide-react": "^0.518.0",
"next": "15.3.4",
"next-auth": "^5.0.0-beta.25",
"next-themes": "^0.4.6",
diff --git a/src/app/home/page.tsx b/src/app/home/page.tsx
index 4e6773b..b3294a0 100644
--- a/src/app/home/page.tsx
+++ b/src/app/home/page.tsx
@@ -1,5 +1,5 @@
-import { RedirectButton } from '@/components/user/redirect-button';
-import { ThemePicker } from '@/components/user/theme-picker';
+import { RedirectButton } from '@/components/buttons/redirect-button';
+import { ThemePicker } from '@/components/misc/theme-picker';
export default function Home() {
return (
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index e30808f..55cdd2c 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -1,4 +1,4 @@
-import { ThemeProvider } from '@/components/theme-provider';
+import { ThemeProvider } from '@/components/wrappers/theme-provider';
import type { Metadata } from 'next';
import './globals.css';
diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx
index 2933872..76778ae 100644
--- a/src/app/login/page.tsx
+++ b/src/app/login/page.tsx
@@ -1,17 +1,17 @@
import { auth, providerMap } from '@/auth';
-import SSOLogin from '@/components/user/sso-login-button';
-import LoginForm from '@/components/user/login-form';
+import SSOLogin from '@/components/buttons/sso-login-button';
+import LoginForm from '@/components/forms/login-form';
import { redirect } from 'next/navigation';
-import { Button } from '@/components/custom-ui/button';
+import { Button } from '@/components/ui/button';
import Image from 'next/image';
-import { Separator } from '@/components/custom-ui/separator';
-import Logo from '@/components/logo';
+import { Separator } from '@/components/ui/separator';
+import Logo from '@/components/misc/logo';
import {
Card,
CardContent,
CardHeader,
} from '@/components/custom-ui/login-card';
-import { ThemePicker } from '@/components/user/theme-picker';
+import { ThemePicker } from '@/components/misc/theme-picker';
import {
HoverCard,
HoverCardTrigger,
@@ -26,7 +26,7 @@ export default async function LoginPage() {
}
return (
-
+
@@ -51,20 +51,20 @@ export default async function LoginPage() {
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
);
}
diff --git a/src/app/logout/page.tsx b/src/app/logout/page.tsx
index 38311da..e3da2fd 100644
--- a/src/app/logout/page.tsx
+++ b/src/app/logout/page.tsx
@@ -1,5 +1,5 @@
import { signOut } from '@/auth';
-import { Button } from '@/components/custom-ui/button';
+import { Button } from '@/components/ui/button';
import {
Card,
CardContent,
diff --git a/src/app/settings/page.tsx b/src/app/settings/page.tsx
index 7c005aa..563ebab 100644
--- a/src/app/settings/page.tsx
+++ b/src/app/settings/page.tsx
@@ -1,4 +1,4 @@
-import { Button } from '@/components/custom-ui/button';
+import { Button } from '@/components/ui/button';
import {
Card,
CardContent,
diff --git a/src/components/icon-button.tsx b/src/components/buttons/icon-button.tsx
similarity index 88%
rename from src/components/icon-button.tsx
rename to src/components/buttons/icon-button.tsx
index ad67eaa..17f9945 100644
--- a/src/components/icon-button.tsx
+++ b/src/components/buttons/icon-button.tsx
@@ -1,4 +1,4 @@
-import { Button } from '@/components/custom-ui/button';
+import { Button } from '@/components/ui/button';
import { IconProp } from '@fortawesome/fontawesome-svg-core';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
diff --git a/src/components/user/redirect-button.tsx b/src/components/buttons/redirect-button.tsx
similarity index 84%
rename from src/components/user/redirect-button.tsx
rename to src/components/buttons/redirect-button.tsx
index e4f8a62..c4bf997 100644
--- a/src/components/user/redirect-button.tsx
+++ b/src/components/buttons/redirect-button.tsx
@@ -1,4 +1,4 @@
-import { Button } from '../custom-ui/button';
+import { Button } from '../ui/button';
import Link from 'next/link';
export function RedirectButton({
diff --git a/src/components/user/sso-login-button.tsx b/src/components/buttons/sso-login-button.tsx
similarity index 90%
rename from src/components/user/sso-login-button.tsx
rename to src/components/buttons/sso-login-button.tsx
index dc070b5..644efce 100644
--- a/src/components/user/sso-login-button.tsx
+++ b/src/components/buttons/sso-login-button.tsx
@@ -1,5 +1,5 @@
import { signIn } from '@/auth';
-import { IconButton } from '@/components/icon-button';
+import { IconButton } from '@/components/buttons/icon-button';
import { faOpenid } from '@fortawesome/free-brands-svg-icons';
export default function SSOLogin({
diff --git a/src/components/labeled-input.tsx b/src/components/custom-ui/labeled-input.tsx
similarity index 100%
rename from src/components/labeled-input.tsx
rename to src/components/custom-ui/labeled-input.tsx
diff --git a/src/components/user/login-form.tsx b/src/components/forms/login-form.tsx
similarity index 98%
rename from src/components/user/login-form.tsx
rename to src/components/forms/login-form.tsx
index a0167e2..67d161c 100644
--- a/src/components/user/login-form.tsx
+++ b/src/components/forms/login-form.tsx
@@ -3,8 +3,8 @@
import React, { useState, useRef } from 'react';
import { useRouter } from 'next/navigation';
-import LabeledInput from '@/components/labeled-input';
-import { Button } from '@/components/custom-ui/button';
+import LabeledInput from '@/components/custom-ui/labeled-input';
+import { Button } from '@/components/ui/button';
import useZodForm from '@/lib/hooks/useZodForm';
import { loginSchema, registerSchema } from '@/lib/validation/user';
import { loginAction } from '@/lib/auth/login';
diff --git a/src/components/logo.tsx b/src/components/misc/logo.tsx
similarity index 100%
rename from src/components/logo.tsx
rename to src/components/misc/logo.tsx
diff --git a/src/components/user/theme-picker.tsx b/src/components/misc/theme-picker.tsx
similarity index 95%
rename from src/components/user/theme-picker.tsx
rename to src/components/misc/theme-picker.tsx
index 2a1649d..b3397ed 100644
--- a/src/components/user/theme-picker.tsx
+++ b/src/components/misc/theme-picker.tsx
@@ -4,7 +4,7 @@ import * as React from 'react';
import { Moon, Sun } from 'lucide-react';
import { useTheme } from 'next-themes';
-import { Button } from '@/components/custom-ui/button';
+import { Button } from '@/components/ui/button';
import {
DropdownMenu,
DropdownMenuContent,
diff --git a/src/components/custom-ui/button.tsx b/src/components/ui/button.tsx
similarity index 100%
rename from src/components/custom-ui/button.tsx
rename to src/components/ui/button.tsx
diff --git a/src/components/custom-ui/separator.tsx b/src/components/ui/separator.tsx
similarity index 100%
rename from src/components/custom-ui/separator.tsx
rename to src/components/ui/separator.tsx
diff --git a/src/components/theme-provider.tsx b/src/components/wrappers/theme-provider.tsx
similarity index 100%
rename from src/components/theme-provider.tsx
rename to src/components/wrappers/theme-provider.tsx
diff --git a/yarn.lock b/yarn.lock
index 188d3e6..af9d444 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3869,12 +3869,12 @@ __metadata:
languageName: node
linkType: hard
-"lucide-react@npm:^0.517.0":
- version: 0.517.0
- resolution: "lucide-react@npm:0.517.0"
+"lucide-react@npm:^0.518.0":
+ version: 0.518.0
+ resolution: "lucide-react@npm:0.518.0"
peerDependencies:
react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
- checksum: 10c0/9e827d7c5fd441b9628778e4a121fca4c6354b6aa4fab8b3efda1b060dd3d0b4dac43ee813161ef30f30d0919009fc4565e620d59d4e9bf9425269e242156edb
+ checksum: 10c0/ba5483b54ef2a3571b488f9602fa18dfe762f0e0b15c0a1f6504713631ae4c50b7c4830f0c8ced4f5f41d2681f37bf67a759a0d0e62e07f00bdcdb50c7ea1279
languageName: node
linkType: hard
@@ -3927,7 +3927,7 @@ __metadata:
eslint: "npm:9.29.0"
eslint-config-next: "npm:15.3.4"
eslint-config-prettier: "npm:10.1.5"
- lucide-react: "npm:^0.517.0"
+ lucide-react: "npm:^0.518.0"
next: "npm:15.3.4"
next-auth: "npm:^5.0.0-beta.25"
next-themes: "npm:^0.4.6"