Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import { useState } from "react";
import { motion } from "framer-motion";
import { Input } from "./input";
import { Button } from "./button";
import { Input } from "@/app/components/ui/input";
import { Button } from "@/app/components/ui/button";

interface AuthFormProps {
type: "login" | "register";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import { useEffect, ReactNode } from "react";
import { useRouter } from "next/navigation";
import { useAuth } from "@/contexts/AuthContext";
import { useAuth } from "@/app/contexts/AuthContext";
import { Loader2 } from "lucide-react";

interface ProtectedRouteProps {
Expand Down
16 changes: 8 additions & 8 deletions frontend/src/app/(auth)/login/LoginClient.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { useSearchParams, useRouter } from "next/navigation";
import { useState, useEffect } from "react";
import { useMutation } from "@tanstack/react-query";
import { Loader2, Lock, Mail, Eye, EyeOff } from "lucide-react";
import Logo from "@/components/ui/Logo";
import Logo from "@/app/components/ui/Logo";
import { motion } from "framer-motion";
import Link from "next/link";

Expand All @@ -15,15 +15,15 @@ import {
CardDescription,
CardTitle,
CardFooter,
} from "@/components/ui/card";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import { Alert, AlertDescription } from "@/components/ui/alert";
} from "@/app/components/ui/card";
import { Button } from "@/app/components/ui/button";
import { Input } from "@/app/components/ui/input";
import { Label } from "@/app/components/ui/label";
import { Alert, AlertDescription } from "@/app/components/ui/alert";
import { Toaster, toast } from "sonner";

import AnimatedBackground from "@/components/ui/AnimatedBackground";
import { useAuth } from "@/contexts/AuthContext";
import AnimatedBackground from "@/app/components/ui/AnimatedBackground";
import { useAuth } from "@/app/contexts/AuthContext";

interface LoginData {
email: string;
Expand Down
16 changes: 8 additions & 8 deletions frontend/src/app/(auth)/register/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { Loader2, Lock, Mail, User, Eye, EyeOff } from "lucide-react";
import { motion } from "framer-motion";
import Link from "next/link";
import { z } from "zod";
import Logo from "@/components/ui/Logo";
import Logo from "@/app/components/ui/Logo";

import {
Card,
Expand All @@ -16,14 +16,14 @@ import {
CardFooter,
CardHeader,
CardTitle,
} from "@/components/ui/card";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import { Alert, AlertDescription } from "@/components/ui/alert";
import AnimatedBackground from "@/components/ui/AnimatedBackground";
} from "@/app/components/ui/card";
import { Button } from "@/app/components/ui/button";
import { Input } from "@/app/components/ui/input";
import { Label } from "@/app/components/ui/label";
import { Alert, AlertDescription } from "@/app/components/ui/alert";
import AnimatedBackground from "@/app/components/ui/AnimatedBackground";

import { registerUser } from "../../../lib/auth";
import { registerUser } from "@/app/lib/auth";

const registerSchema = z
.object({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,12 @@

import dynamic from "next/dynamic";
import { Suspense, useEffect } from "react";
import { Skeleton } from "@/components/ui/skeleton";

const CreateProjectPage = dynamic(
() => import("@/components/sections/CreateProject"),
{
ssr: false,
loading: () => <PageSkeleton />,
},
);
import { Skeleton } from "@/app/components/ui/skeleton";

const CreateProjectPage = dynamic(() => import("./CreateProject"), {
ssr: false,
loading: () => <PageSkeleton />,
});

export default function ClientCreateProject() {
return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ import { useForm } from "react-hook-form";
import { useRouter } from "next/navigation";
import { toast } from "sonner";
import { ArrowRight, Sparkles, Coins, Wallet } from "lucide-react";
import { TipsInfoPanel } from "@/app/components/ui/TipsInfoPanel";
import { CryptoInfoPanel } from "@/app/components/ui/CryptoInfoPanel";
import { Button } from "@/app/components/ui/button";
import { SiEthereum, SiSolana } from "react-icons/si";
import { TipsInfoPanel } from "./TipsInfoPanel";
import { CryptoInfoPanel } from "./CryptoInfoPanel";
import { Button } from "@/components/ui/button";
import {
Form,
FormControl,
Expand All @@ -22,26 +22,27 @@ import {
FormItem,
FormLabel,
FormMessage,
} from "@/components/ui/form";
import { Input } from "@/components/ui/input";
import { Textarea } from "@/components/ui/textarea";
import { Checkbox } from "@/components/ui/checkbox";
import { ProjectPreview } from "./ProjectPreview";
} from "@/app/components/ui/form";
import { Input } from "@/app/components/ui/input";
import { Textarea } from "@/app/components/ui/textarea";
import { Checkbox } from "@/app/components/ui/checkbox";
import { ProjectPreview } from "@/app/components/ui/ProjectPreview";
import { motion, AnimatePresence } from "framer-motion";
import { useCreateProject } from "@/hooks/useProject";
import { useCreateProject } from "@/app/(dashboard)/my-projects/_hooks/useProject";
import { zodResolver } from "@hookform/resolvers/zod";
import { z, ZodIssueCode } from "zod";
import { useWalletProviders } from "@/hooks/useWalletProviders";
import * as z from "zod";

import { ImageUpload } from "@/app/components/ui/ImageUpload";
import { useUploadThing } from "@/app/lib/uploadthing";
import { ZodIssueCode } from "zod";

import { ImageUpload } from "@/components/ui/ImageUpload";
import { useUploadThing } from "@/lib/uploadthing";
import {
Select,
SelectContent,
SelectItem,
SelectTrigger,
SelectValue,
} from "@/components/ui/select";
} from "@/app/components/ui/select";

const ethRE = /^0x[a-fA-F0-9]{40}$/;
const solRE = /^[1-9A-HJ-NP-Za-km-z]{32,44}$/;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import ClientCreateProject from "@/components/sections/ClientCreateProject";
import AnimatedBackground from "@/components/ui/AnimatedBackground";
import ClientCreateProject from "./_components/ClientCreateProject";
import AnimatedBackground from "@/app/components/ui/AnimatedBackground";

export default function CreateProjectRoute() {
return (
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import AnimatedBackground from "@/components/ui/AnimatedBackground";
import ClientEditProject from "@/components/sections/ClientEditProject";
import AnimatedBackground from "@/app/components/ui/AnimatedBackground";
import ClientEditProject from "../_components/ClientEditProject";

export default function EditProjectRoute() {
return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,12 @@

import dynamic from "next/dynamic";
import { Suspense, useEffect } from "react";
import { Skeleton } from "@/components/ui/skeleton";
import { Skeleton } from "@/app/components/ui/skeleton";

const EditProjectPage = dynamic(
() => import("@/components/sections/EditProject"),
{
ssr: false,
loading: () => <PageSkeleton />,
},
);
const EditProjectPage = dynamic(() => import("./EditProject"), {
ssr: false,
loading: () => <PageSkeleton />,
});

export default function ClientEditProject() {
return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@

import { useState, useEffect } from "react";
import { useRouter, useParams } from "next/navigation";
import { useProject, useUpdateProject } from "@/hooks/useProject";
import {
useProject,
useUpdateProject,
} from "@/app/(dashboard)/my-projects/_hooks/useProject";
import { useForm } from "react-hook-form";
import { zodResolver } from "@hookform/resolvers/zod";
import * as z from "zod";
Expand All @@ -17,16 +20,16 @@ import {
FormItem,
FormLabel,
FormMessage,
} from "@/components/ui/form";
import { Input } from "@/components/ui/input";
import { Textarea } from "@/components/ui/textarea";
import { Checkbox } from "@/components/ui/checkbox";
import { Button } from "@/components/ui/button";
import { ProjectPreview } from "./ProjectPreview";
import { TipsInfoPanel } from "./TipsInfoPanel";
import { CryptoInfoPanel } from "./CryptoInfoPanel";
import { ImageUpload } from "@/components/ui/ImageUpload";
import { useUploadThing } from "@/lib/uploadthing";
} from "@/app/components/ui/form";
import { Input } from "@/app/components/ui/input";
import { Textarea } from "@/app/components/ui/textarea";
import { Checkbox } from "@/app/components/ui/checkbox";
import { Button } from "@/app/components/ui/button";
import { ProjectPreview } from "@/app/components/ui/ProjectPreview";
import { TipsInfoPanel } from "@/app/components/ui/TipsInfoPanel";
import { CryptoInfoPanel } from "@/app/components/ui/CryptoInfoPanel";
import { ImageUpload } from "@/app/components/ui/ImageUpload";
import { useUploadThing } from "@/app/lib/uploadthing";

const projectSchema = z.object({
title: z
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
"use client";

import { useSuspenseQuery } from "@tanstack/react-query";
import { ProjectsTable } from "@/components/ui/ProjectsTable";
import { EmptyState } from "@/components/ui/EmptyState";
import TableSkeleton from "@/components/ui/TableSkeleton";
import { ProjectsTable } from "./_components/ProjectsTable";
import { EmptyState } from "@/app/components/ui/EmptyState";
import TableSkeleton from "@/app/components/ui/TableSkeleton";
import { getProjects } from "./getProjects";
import { Suspense } from "react";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ import {
SortField,
SortOrder,
ProjectStatus,
} from "@/components/ui/ProjectFilters";
import { ProjectsGrid } from "@/components/ui/ProjectsGrid";
import { ProjectsTable } from "@/components/ui/ProjectsTable";
import { EmptyStateModern } from "@/components/ui/EmptyStateModern";
import { ProjectsGridSkeleton } from "@/components/ui/ProjectsGridSkeleton";
} from "./_components/ProjectFilters";
import { ProjectsGrid } from "@/app/components/ui/ProjectsGrid";
import { ProjectsTable } from "./_components/ProjectsTable";
import { EmptyStateModern } from "@/app/components/ui/EmptyStateModern";
import { ProjectsGridSkeleton } from "@/app/components/ui/ProjectsGridSkeleton";
import { getProjects, Project } from "./getProjects";
import { Suspense } from "react";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
import { useState } from "react";
import { motion } from "framer-motion";
import { Search, Filter, Grid, List, SortAsc, SortDesc } from "lucide-react";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { Button } from "@/app/components/ui/button";
import { Input } from "@/app/components/ui/input";
import {
Select,
SelectContent,
SelectItem,
SelectTrigger,
SelectValue,
} from "@/components/ui/select";
} from "@/app/components/ui/select";

export type ViewMode = "grid" | "table";
export type SortField = "created_at" | "title" | "goal" | "raised" | "progress";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@
import { useEffect, useState } from "react";
import { motion } from "framer-motion";
import { Eye, Edit, Trash2, Gift } from "lucide-react";
import { Button } from "@/components/ui/button";
import { Button } from "@/app/components/ui/button";
import {
Table,
TableBody,
TableCell,
TableHead,
TableHeader,
TableRow,
} from "@/components/ui/table";
} from "@/app/components/ui/table";
import { toast } from "sonner";
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { Project as MyProject } from "@/app/my-projects/getProjects";
import { Project as MyProject } from "@/app/(dashboard)/my-projects/getProjects";
import Cookies from "js-cookie";
import { useRouter } from "next/navigation";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
deleteProject,
ProjectInput,
ProjectResponse,
} from "@/services/projectService";
} from "@/app/services/projectService";

const PROJECTS_KEY = ["projects"] as const;
const MY_PROJECTS_KEY = ["my-projects"] as const;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { PageHeader } from "@/components/ui/PageHeader";
import AnimatedBackground from "@/components/ui/AnimatedBackground";
import { PageHeader } from "@/app/components/ui/PageHeader";
import AnimatedBackground from "@/app/components/ui/AnimatedBackground";
import ProjectsContentModern from "./ProjectsContentModern";

export default function MyProjectsPage() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import {
Sparkles,
Clock,
} from "lucide-react";
import ButtonPrimary from "@/components/ui/ButtonPrimary";
import ButtonPrimary from "@/app/components/ui/ButtonPrimary";
import { useState, useEffect, useRef } from "react";
import SectionTransition from "@/components/ui/SectionTransition";
import SectionTransition from "@/app/components/ui/SectionTransition";

export default function CtaSection() {
const [showConfetti, setShowConfetti] = useState(false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import { useState } from "react";
import { motion } from "framer-motion";
import { ChevronDown } from "lucide-react";
import SectionTransition from "@/components/ui/SectionTransition";
import SectionTransition from "@/app/components/ui/SectionTransition";

const faqs = [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import {
ArrowRight,
Sparkles,
} from "lucide-react";
import SectionTransition from "@/components/ui/SectionTransition";
import SectionTransition from "@/app/components/ui/SectionTransition";

const features = [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
import { useRef, useState, useEffect } from "react";
import { motion, useMotionValue, useTransform, useSpring } from "framer-motion";
import { ArrowRight, Code } from "lucide-react";
import ButtonPrimary from "@/components/ui/ButtonPrimary";
import ButtonSecondary from "@/components/ui/ButtonSecondary";
import ParticleSystem from "@/components/ui/ParticleSystem";
import SectionTransition from "@/components/ui/SectionTransition";
import Logo from "@/components/ui/Logo";
import ButtonPrimary from "@/app/components/ui/ButtonPrimary";
import ButtonSecondary from "@/app/components/ui/ButtonSecondary";
import ParticleSystem from "@/app/components/ui/ParticleSystem";
import SectionTransition from "@/app/components/ui/SectionTransition";
import Logo from "@/app/components/ui/Logo";

// Component for animated numbers
// function AnimatedNumber({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
RotateCcw,
CheckCircle,
} from "lucide-react";
import SectionTransition from "@/components/ui/SectionTransition";
import SectionTransition from "@/app/components/ui/SectionTransition";

const steps = [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ import { motion } from "framer-motion";
import Link from "next/link";
import { Search, ArrowRight } from "lucide-react";

import { getProjects } from "@/services/projectService";
import { ProjectsGrid } from "@/components/ui/ProjectsGrid";
import { ProjectsGridSkeleton } from "@/components/ui/ProjectsGridSkeleton";
import { Input } from "@/components/ui/input";
import { Button } from "@/components/ui/button";
import SectionTransition from "@/components/ui/SectionTransition";
import { getProjects } from "@/app/services/projectService";
import { ProjectsGrid } from "@/app/components/ui/ProjectsGrid";
import { ProjectsGridSkeleton } from "@/app/components/ui/ProjectsGridSkeleton";
import { Input } from "@/app/components/ui/input";
import { Button } from "@/app/components/ui/button";
import SectionTransition from "@/app/components/ui/SectionTransition";

export default function ProjectsPreviewSection() {
const [searchQuery, setSearchQuery] = useState("");
Expand Down
Loading