This commit is contained in:
g
2025-02-07 21:43:17 +00:00
parent 891f57d729
commit b94391c8d5
41 changed files with 66 additions and 63 deletions

View File

@@ -1,5 +1,5 @@
import dataService from '@/lib/data-service';
"use client";
import { fetchData } from "@/lib/data-service";
import { useState } from "react";
import { useRouter } from "next/navigation";
@@ -13,7 +13,6 @@ import { Label } from "@/components/ui/label";
export default function LoginPage() {
const [username, setUsername] = useState(""); // ✅ Fixed incorrect state name
const [password, setPassword] = useState("");
const [rememberMe, setRememberMe] = useState(false); // ✅ Fixed missing state
const [error, setError] = useState("");
const router = useRouter();
@@ -21,18 +20,14 @@ export default function LoginPage() {
e.preventDefault();
setError("");
const res = await dataService.fetchData("https://internal-api.inboxi.ng/api/auth/login", {
const res = await fetchData("https://internal-api.inboxi.ng/api/auth/login", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ username, password }),
});
if (res.ok) {
const data = await res.json();
console.log(data);
document.cookie = `Authorization=${data.token}; path=/; Secure; SameSite=Strict; max-age=604800`;
if (res.token) {
document.cookie = `Authorization=${res.token}; path=/; Secure; SameSite=Strict; max-age=604800`;
router.push("/dashboard");
} else {
const data = await res.json();

View File

@@ -1,6 +1,5 @@
import dataService from '@/lib/data-service';
"use client";
import { fetchData } from "@/lib/data-service";
import { useState } from "react";
import { useRouter } from "next/navigation";
import Image from "next/image";
@@ -22,17 +21,19 @@ export default function RegisterPage() {
setError("");
setLoading(true);
const res = await dataService.fetchData("https://internal-api.inboxi.ng/api/auth/register", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ username, password, invitationCode }),
});
const res = await fetchData(
"https://internal-api.inboxi.ng/api/auth/register",
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ username, password, invitationCode }),
}
);
const data = await res.json();
if (res.ok) {
const data = await res;
if (res) {
console.log("Registered successfully:", data);
router.push("/login");
} else {
setError(data.error || "Registration failed");
@@ -45,8 +46,12 @@ export default function RegisterPage() {
<div className="flex items-center justify-center min-h-screen bg-gray-100 dark:bg-[#0F0F12]">
<div className="w-full max-w-md p-8 space-y-8 bg-white dark:bg-[#1F1F23] rounded-xl shadow-lg">
<div className="text-center">
<h2 className="mt-6 text-3xl font-bold text-gray-900 dark:text-white">Create an Account</h2>
<p className="mt-2 text-sm text-gray-600 dark:text-gray-400">Sign up to start selling</p>
<h2 className="mt-6 text-3xl font-bold text-gray-900 dark:text-white">
Create an Account
</h2>
<p className="mt-2 text-sm text-gray-600 dark:text-gray-400">
Sign up to start selling
</p>
</div>
{error && <p className="text-red-500 text-sm text-center">{error}</p>}
@@ -100,11 +105,14 @@ export default function RegisterPage() {
<p className="mt-6 text-sm text-center text-gray-600 dark:text-gray-400">
Already have an account?{" "}
<Link href="/login" className="text-blue-600 hover:underline dark:text-blue-400">
<Link
href="/login"
className="text-blue-600 hover:underline dark:text-blue-400"
>
Sign in
</Link>
</p>
</div>
</div>
);
}
}

View File

@@ -4,7 +4,7 @@ import * as React from "react"
import * as AccordionPrimitive from "@radix-ui/react-accordion"
import { ChevronDown } from "lucide-react"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const Accordion = AccordionPrimitive.Root

View File

@@ -3,7 +3,7 @@
import * as React from "react"
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
import { buttonVariants } from "@/components/ui/button"
const AlertDialog = AlertDialogPrimitive.Root

View File

@@ -1,7 +1,7 @@
import * as React from "react"
import { cva, type VariantProps } from "class-variance-authority"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const alertVariants = cva(
"relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",

View File

@@ -3,7 +3,7 @@
import * as React from "react"
import * as AvatarPrimitive from "@radix-ui/react-avatar"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const Avatar = React.forwardRef<
React.ElementRef<typeof AvatarPrimitive.Root>,

View File

@@ -2,7 +2,7 @@ import * as React from "react"
import { Slot } from "@radix-ui/react-slot"
import { ChevronRight, MoreHorizontal } from "lucide-react"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const Breadcrumb = React.forwardRef<
HTMLElement,

View File

@@ -2,7 +2,7 @@ import * as React from "react"
import { Slot } from "@radix-ui/react-slot"
import { cva, type VariantProps } from "class-variance-authority"
import { cn } from '@/lib/styles';
import { cn } from "@/lib/styles";
const buttonVariants = cva(
"inline-flex items-center justify-center gap-2 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 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",

View File

@@ -4,7 +4,7 @@ import * as React from "react"
import { ChevronLeft, ChevronRight } from "lucide-react"
import { DayPicker } from "react-day-picker"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
import { buttonVariants } from "@/components/ui/button"
export type CalendarProps = React.ComponentProps<typeof DayPicker>

View File

@@ -6,7 +6,7 @@ import useEmblaCarousel, {
} from "embla-carousel-react"
import { ArrowLeft, ArrowRight } from "lucide-react"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
import { Button } from "@/components/ui/button"
type CarouselApi = UseEmblaCarouselType[1]

View File

@@ -3,7 +3,7 @@
import * as React from "react"
import * as RechartsPrimitive from "recharts"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
// Format: { THEME_NAME: CSS_SELECTOR }
const THEMES = { light: "", dark: ".dark" } as const

View File

@@ -4,7 +4,7 @@ import * as React from "react"
import * as CheckboxPrimitive from "@radix-ui/react-checkbox"
import { Check } from "lucide-react"
import { cn } from '@/lib/styles';
import { cn } from "@/lib/styles";
const Checkbox = React.forwardRef<
React.ElementRef<typeof CheckboxPrimitive.Root>,

View File

@@ -5,7 +5,7 @@ import { type DialogProps } from "@radix-ui/react-dialog"
import { Command as CommandPrimitive } from "cmdk"
import { Search } from "lucide-react"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
import { Dialog, DialogContent } from "@/components/ui/dialog"
const Command = React.forwardRef<

View File

@@ -4,7 +4,7 @@ import * as React from "react"
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu"
import { Check, ChevronRight, Circle } from "lucide-react"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const ContextMenu = ContextMenuPrimitive.Root

View File

@@ -4,7 +4,7 @@ import * as React from "react"
import * as DialogPrimitive from "@radix-ui/react-dialog"
import { X } from "lucide-react"
import { cn } from '@/lib/styles';
import { cn } from "@/lib/styles";
const Dialog = DialogPrimitive.Root

View File

@@ -3,7 +3,7 @@
import * as React from "react"
import { Drawer as DrawerPrimitive } from "vaul"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const Drawer = ({
shouldScaleBackground = true,

View File

@@ -4,7 +4,7 @@ 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"
import { cn } from "@/lib/styles";
const DropdownMenu = DropdownMenuPrimitive.Root

View File

@@ -12,7 +12,7 @@ import {
useFormContext,
} from "react-hook-form"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
import { Label } from "@/components/ui/label"
const Form = FormProvider

View File

@@ -1,6 +1,6 @@
import * as React from "react"
import { cn } from '@/lib/styles';
import { cn } from "@/lib/styles";
const Input = React.forwardRef<HTMLInputElement, React.ComponentProps<"input">>(
({ className, type, ...props }, ref) => {

View File

@@ -4,7 +4,7 @@ import * as React from "react"
import * as MenubarPrimitive from "@radix-ui/react-menubar"
import { Check, ChevronRight, Circle } from "lucide-react"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const MenubarMenu = MenubarPrimitive.Menu

View File

@@ -3,7 +3,7 @@ import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu"
import { cva } from "class-variance-authority"
import { ChevronDown } from "lucide-react"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const NavigationMenu = React.forwardRef<
React.ElementRef<typeof NavigationMenuPrimitive.Root>,

View File

@@ -1,7 +1,7 @@
import * as React from "react"
import { ChevronLeft, ChevronRight, MoreHorizontal } from "lucide-react"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
import { ButtonProps, buttonVariants } from "@/components/ui/button"
const Pagination = ({ className, ...props }: React.ComponentProps<"nav">) => (

View File

@@ -3,7 +3,7 @@
import * as React from "react"
import * as PopoverPrimitive from "@radix-ui/react-popover"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const Popover = PopoverPrimitive.Root

View File

@@ -3,7 +3,7 @@
import * as React from "react"
import * as ProgressPrimitive from "@radix-ui/react-progress"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const Progress = React.forwardRef<
React.ElementRef<typeof ProgressPrimitive.Root>,

View File

@@ -4,7 +4,7 @@ import * as React from "react"
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group"
import { Circle } from "lucide-react"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const RadioGroup = React.forwardRef<
React.ElementRef<typeof RadioGroupPrimitive.Root>,

View File

@@ -3,7 +3,7 @@
import { GripVertical } from "lucide-react"
import * as ResizablePrimitive from "react-resizable-panels"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const ResizablePanelGroup = ({
className,

View File

@@ -3,7 +3,7 @@
import * as React from "react"
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const ScrollArea = React.forwardRef<
React.ElementRef<typeof ScrollAreaPrimitive.Root>,

View File

@@ -4,7 +4,7 @@ import * as React from "react"
import * as SelectPrimitive from "@radix-ui/react-select"
import { Check, ChevronDown, ChevronUp } from "lucide-react"
import { cn } from '@/lib/styles';
import { cn } from "@/lib/styles";
const Select = SelectPrimitive.Root

View File

@@ -3,7 +3,7 @@
import * as React from "react"
import * as SeparatorPrimitive from "@radix-ui/react-separator"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const Separator = React.forwardRef<
React.ElementRef<typeof SeparatorPrimitive.Root>,

View File

@@ -5,7 +5,7 @@ import * as SheetPrimitive from "@radix-ui/react-dialog"
import { cva, type VariantProps } from "class-variance-authority"
import { X } from "lucide-react"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const Sheet = SheetPrimitive.Root

View File

@@ -6,7 +6,7 @@ import { VariantProps, cva } from "class-variance-authority"
import { PanelLeft } from "lucide-react"
import { useIsMobile } from "@/hooks/use-mobile"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
import { Button } from "@/components/ui/button"
import { Input } from "@/components/ui/input"
import { Separator } from "@/components/ui/separator"

View File

@@ -1,4 +1,4 @@
import { cn } from "@/lib/styles"
import { cn } from "@/lib/styles";
function Skeleton({
className,

View File

@@ -3,7 +3,7 @@
import * as React from "react"
import * as SliderPrimitive from "@radix-ui/react-slider"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const Slider = React.forwardRef<
React.ElementRef<typeof SliderPrimitive.Root>,

View File

@@ -3,7 +3,7 @@
import * as React from "react"
import * as SwitchPrimitives from "@radix-ui/react-switch"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const Switch = React.forwardRef<
React.ElementRef<typeof SwitchPrimitives.Root>,

View File

@@ -1,6 +1,6 @@
import * as React from "react"
import { cn } from '@/lib/styles';
import { cn } from "@/lib/styles";
const Table = React.forwardRef<
HTMLTableElement,

View File

@@ -3,7 +3,7 @@
import * as React from "react"
import * as TabsPrimitive from "@radix-ui/react-tabs"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const Tabs = TabsPrimitive.Root

View File

@@ -1,6 +1,6 @@
import * as React from "react"
import { cn } from '@/lib/styles';
import { cn } from "@/lib/styles";
const Textarea = React.forwardRef<
HTMLTextAreaElement,

View File

@@ -5,7 +5,7 @@ import * as ToastPrimitives from "@radix-ui/react-toast"
import { cva, type VariantProps } from "class-variance-authority"
import { X } from "lucide-react"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const ToastProvider = ToastPrimitives.Provider

View File

@@ -4,7 +4,7 @@ import * as React from "react"
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group"
import { type VariantProps } from "class-variance-authority"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
import { toggleVariants } from "@/components/ui/toggle"
const ToggleGroupContext = React.createContext<

View File

@@ -4,7 +4,7 @@ import * as React from "react"
import * as TogglePrimitive from "@radix-ui/react-toggle"
import { cva, type VariantProps } from "class-variance-authority"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const toggleVariants = cva(
"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground 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=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 gap-2",

View File

@@ -3,7 +3,7 @@
import * as React from "react"
import * as TooltipPrimitive from "@radix-ui/react-tooltip"
import { cn } from "@/lib/utils"
import { cn } from "@/lib/styles";
const TooltipProvider = TooltipPrimitive.Provider