Spaces:
Sleeping
Sleeping
Frontend Template initialized
Browse files- frontend/index.html +1 -55
- frontend/src/App.tsx +1 -5
- frontend/src/components/About.tsx +0 -40
- frontend/src/components/App.tsx +0 -0
- frontend/src/components/Features.tsx +14 -37
- frontend/src/components/Footer.tsx +22 -88
- frontend/src/components/Hero.tsx +7 -27
- frontend/src/components/HeroCards.tsx +2 -137
- frontend/src/components/Navbar.tsx +9 -18
- frontend/src/components/Statistics.tsx +41 -0
- frontend/src/components/theme-provider.tsx +1 -0
frontend/index.html
CHANGED
@@ -12,61 +12,7 @@
|
|
12 |
name="viewport"
|
13 |
content="width=device-width, initial-scale=1.0"
|
14 |
/>
|
15 |
-
|
16 |
-
<!-- Primary Meta Tags -->
|
17 |
-
<title>Shadcn/React - Landing template</title>
|
18 |
-
<meta
|
19 |
-
name="title"
|
20 |
-
content="Shadcn/React - Landing template"
|
21 |
-
/>
|
22 |
-
<meta
|
23 |
-
name="description"
|
24 |
-
content="Free Shadcn landing page for React developers"
|
25 |
-
/>
|
26 |
-
<!-- Open Graph / Facebook -->
|
27 |
-
<meta
|
28 |
-
property="og:type"
|
29 |
-
content="website"
|
30 |
-
/>
|
31 |
-
<meta
|
32 |
-
property="og:url"
|
33 |
-
content="https://github.com/leoMirandaa/shadcn-landing-page.git"
|
34 |
-
/>
|
35 |
-
<meta
|
36 |
-
property="og:title"
|
37 |
-
content="Shadcn/React - Landing template"
|
38 |
-
/>
|
39 |
-
<meta
|
40 |
-
property="og:description"
|
41 |
-
content="Free Shadcn landing page for React developers"
|
42 |
-
/>
|
43 |
-
<meta
|
44 |
-
property="og:image"
|
45 |
-
content="https://res.cloudinary.com/dbzv9xfjp/image/upload/v1705560686/og-images/shadc-react_gketpd.jpg"
|
46 |
-
/>
|
47 |
-
|
48 |
-
<!-- Twitter -->
|
49 |
-
<meta
|
50 |
-
name="twitter:card"
|
51 |
-
content="summary_large_image"
|
52 |
-
/>
|
53 |
-
|
54 |
-
<meta
|
55 |
-
name="twitter:url"
|
56 |
-
content="https://github.com/leoMirandaa/shadcn-landing-page.git"
|
57 |
-
/>
|
58 |
-
<meta
|
59 |
-
name="twitter:title"
|
60 |
-
content="Shadcn/React - Landing template"
|
61 |
-
/>
|
62 |
-
<meta
|
63 |
-
name="twitter:description"
|
64 |
-
content="Free Shadcn landing page for React developers"
|
65 |
-
/>
|
66 |
-
<meta
|
67 |
-
name="twitter:image"
|
68 |
-
content="https://res.cloudinary.com/dbzv9xfjp/image/upload/v1705560686/og-images/shadc-react_gketpd.jpg"
|
69 |
-
/>
|
70 |
</head>
|
71 |
<body>
|
72 |
<div id="root"></div>
|
|
|
12 |
name="viewport"
|
13 |
content="width=device-width, initial-scale=1.0"
|
14 |
/>
|
15 |
+
<title>DocVerifyRAG</title>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
</head>
|
17 |
<body>
|
18 |
<div id="root"></div>
|
frontend/src/App.tsx
CHANGED
@@ -1,11 +1,9 @@
|
|
1 |
-
import { About } from "./components/About";
|
2 |
import { Features } from "./components/Features";
|
3 |
import { Footer } from "./components/Footer";
|
4 |
import { Hero } from "./components/Hero";
|
5 |
import { HowItWorks } from "./components/HowItWorks";
|
6 |
import { Navbar } from "./components/Navbar";
|
7 |
import { ScrollToTop } from "./components/ScrollToTop";
|
8 |
-
import { Team } from "./components/Team";
|
9 |
import "./App.css";
|
10 |
|
11 |
function App() {
|
@@ -13,10 +11,8 @@ function App() {
|
|
13 |
<>
|
14 |
<Navbar />
|
15 |
<Hero />
|
16 |
-
<About />
|
17 |
-
<Features />
|
18 |
<HowItWorks />
|
19 |
-
<
|
20 |
<Footer />
|
21 |
<ScrollToTop />
|
22 |
</>
|
|
|
|
|
1 |
import { Features } from "./components/Features";
|
2 |
import { Footer } from "./components/Footer";
|
3 |
import { Hero } from "./components/Hero";
|
4 |
import { HowItWorks } from "./components/HowItWorks";
|
5 |
import { Navbar } from "./components/Navbar";
|
6 |
import { ScrollToTop } from "./components/ScrollToTop";
|
|
|
7 |
import "./App.css";
|
8 |
|
9 |
function App() {
|
|
|
11 |
<>
|
12 |
<Navbar />
|
13 |
<Hero />
|
|
|
|
|
14 |
<HowItWorks />
|
15 |
+
<Features />
|
16 |
<Footer />
|
17 |
<ScrollToTop />
|
18 |
</>
|
frontend/src/components/About.tsx
DELETED
@@ -1,40 +0,0 @@
|
|
1 |
-
import { Statistics } from "./Statistics";
|
2 |
-
import pilot from "../assets/pilot.png";
|
3 |
-
|
4 |
-
export const About = () => {
|
5 |
-
return (
|
6 |
-
<section
|
7 |
-
id="about"
|
8 |
-
className="container py-24 sm:py-32"
|
9 |
-
>
|
10 |
-
<div className="bg-muted/50 border rounded-lg py-12">
|
11 |
-
<div className="px-6 flex flex-col-reverse md:flex-row gap-8 md:gap-12">
|
12 |
-
<img
|
13 |
-
src={pilot}
|
14 |
-
alt=""
|
15 |
-
className="w-[300px] object-contain rounded-lg"
|
16 |
-
/>
|
17 |
-
<div className="bg-green-0 flex flex-col justify-between">
|
18 |
-
<div className="pb-6">
|
19 |
-
<h2 className="text-3xl md:text-4xl font-bold">
|
20 |
-
<span className="bg-gradient-to-b from-primary/60 to-primary text-transparent bg-clip-text">
|
21 |
-
About{" "}
|
22 |
-
</span>
|
23 |
-
Company
|
24 |
-
</h2>
|
25 |
-
<p className="text-xl text-muted-foreground mt-4">
|
26 |
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
|
27 |
-
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
|
28 |
-
enim ad minim veniam, quis nostrud exercitation ullamco laboris
|
29 |
-
nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit
|
30 |
-
amet, consectetur adipiscing elit.
|
31 |
-
</p>
|
32 |
-
</div>
|
33 |
-
|
34 |
-
<Statistics />
|
35 |
-
</div>
|
36 |
-
</div>
|
37 |
-
</div>
|
38 |
-
</section>
|
39 |
-
);
|
40 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
frontend/src/components/App.tsx
ADDED
File without changes
|
frontend/src/components/Features.tsx
CHANGED
@@ -1,52 +1,31 @@
|
|
1 |
import { Badge } from "./ui/badge";
|
2 |
import {
|
3 |
Card,
|
|
|
4 |
CardContent,
|
5 |
CardFooter,
|
6 |
CardHeader,
|
7 |
-
CardTitle,
|
8 |
} from "@/components/ui/card";
|
9 |
-
import image from "../assets/growth.png";
|
10 |
-
import image3 from "../assets/reflecting.png";
|
11 |
import image4 from "../assets/looking-ahead.png";
|
12 |
|
|
|
13 |
interface FeatureProps {
|
14 |
title: string;
|
15 |
-
description: string;
|
16 |
image: string;
|
17 |
}
|
18 |
|
19 |
const features: FeatureProps[] = [
|
20 |
{
|
21 |
-
title: "
|
22 |
-
description:
|
23 |
-
"Lorem ipsum dolor sit amet consectetur adipisicing elit. Nisi nesciunt est nostrum omnis ab sapiente.",
|
24 |
image: image4,
|
25 |
},
|
26 |
-
{
|
27 |
-
title: "Intuitive user interface",
|
28 |
-
description:
|
29 |
-
"Lorem ipsum dolor sit amet consectetur adipisicing elit. Nisi nesciunt est nostrum omnis ab sapiente.",
|
30 |
-
image: image3,
|
31 |
-
},
|
32 |
-
{
|
33 |
-
title: "AI-Powered insights",
|
34 |
-
description:
|
35 |
-
"Lorem ipsum dolor sit amet consectetur adipisicing elit. Nisi nesciunt est nostrum omnis ab sapiente.",
|
36 |
-
image: image,
|
37 |
-
},
|
38 |
];
|
39 |
|
40 |
const featureList: string[] = [
|
41 |
-
"
|
42 |
-
"
|
43 |
-
"
|
44 |
-
"
|
45 |
-
"Contact form",
|
46 |
-
"Our team",
|
47 |
-
"Responsive design",
|
48 |
-
"Newsletter",
|
49 |
-
"Minimalist",
|
50 |
];
|
51 |
|
52 |
export const Features = () => {
|
@@ -56,10 +35,11 @@ export const Features = () => {
|
|
56 |
className="container py-24 sm:py-32 space-y-8"
|
57 |
>
|
58 |
<h2 className="text-3xl lg:text-4xl font-bold md:text-center">
|
59 |
-
|
60 |
<span className="bg-gradient-to-b from-primary/60 to-primary text-transparent bg-clip-text">
|
61 |
-
|
62 |
</span>
|
|
|
63 |
</h2>
|
64 |
|
65 |
<div className="flex flex-wrap md:justify-center gap-4">
|
@@ -75,20 +55,17 @@ export const Features = () => {
|
|
75 |
))}
|
76 |
</div>
|
77 |
|
78 |
-
<div className="grid md:grid-cols-2 lg:grid-cols-
|
79 |
-
{features.map(({ title,
|
80 |
<Card key={title}>
|
81 |
-
|
82 |
<CardTitle>{title}</CardTitle>
|
83 |
</CardHeader>
|
84 |
-
|
85 |
-
<CardContent>{description}</CardContent>
|
86 |
-
|
87 |
<CardFooter>
|
88 |
<img
|
89 |
src={image}
|
90 |
alt="About feature"
|
91 |
-
className="w-[
|
92 |
/>
|
93 |
</CardFooter>
|
94 |
</Card>
|
|
|
1 |
import { Badge } from "./ui/badge";
|
2 |
import {
|
3 |
Card,
|
4 |
+
CardTitle,
|
5 |
CardContent,
|
6 |
CardFooter,
|
7 |
CardHeader,
|
|
|
8 |
} from "@/components/ui/card";
|
|
|
|
|
9 |
import image4 from "../assets/looking-ahead.png";
|
10 |
|
11 |
+
|
12 |
interface FeatureProps {
|
13 |
title: string;
|
|
|
14 |
image: string;
|
15 |
}
|
16 |
|
17 |
const features: FeatureProps[] = [
|
18 |
{
|
19 |
+
title: "UPLOAD DOCUMENT",
|
|
|
|
|
20 |
image: image4,
|
21 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
];
|
23 |
|
24 |
const featureList: string[] = [
|
25 |
+
"STEP1: Do this",
|
26 |
+
"STEP2: Do that that",
|
27 |
+
"STEP3: Do that that that",
|
28 |
+
"STEP4: Do that that that that",
|
|
|
|
|
|
|
|
|
|
|
29 |
];
|
30 |
|
31 |
export const Features = () => {
|
|
|
35 |
className="container py-24 sm:py-32 space-y-8"
|
36 |
>
|
37 |
<h2 className="text-3xl lg:text-4xl font-bold md:text-center">
|
38 |
+
Fast and Accurate Document{" "}
|
39 |
<span className="bg-gradient-to-b from-primary/60 to-primary text-transparent bg-clip-text">
|
40 |
+
Meta Data{" "}
|
41 |
</span>
|
42 |
+
Verification
|
43 |
</h2>
|
44 |
|
45 |
<div className="flex flex-wrap md:justify-center gap-4">
|
|
|
55 |
))}
|
56 |
</div>
|
57 |
|
58 |
+
<div className="grid md:grid-cols-2 lg:grid-cols-1">
|
59 |
+
{features.map(({ title, image }: FeatureProps) => (
|
60 |
<Card key={title}>
|
61 |
+
<CardHeader className="text-3xl lg:text-4xl font-bold md:text-center">
|
62 |
<CardTitle>{title}</CardTitle>
|
63 |
</CardHeader>
|
|
|
|
|
|
|
64 |
<CardFooter>
|
65 |
<img
|
66 |
src={image}
|
67 |
alt="About feature"
|
68 |
+
className="w-[150px] lg:w-[300px] mx-auto"
|
69 |
/>
|
70 |
</CardFooter>
|
71 |
</Card>
|
frontend/src/components/Footer.tsx
CHANGED
@@ -12,140 +12,74 @@ export const Footer = () => {
|
|
12 |
className="font-bold text-xl flex"
|
13 |
>
|
14 |
<LogoIcon />
|
15 |
-
|
16 |
</a>
|
17 |
</div>
|
18 |
|
19 |
<div className="flex flex-col gap-2">
|
20 |
-
<h3 className="font-bold text-lg">
|
21 |
-
|
22 |
-
|
23 |
-
href="#"
|
24 |
-
className="opacity-60 hover:opacity-100"
|
25 |
-
>
|
26 |
-
Github
|
27 |
-
</a>
|
28 |
-
</div>
|
29 |
-
|
30 |
-
<div>
|
31 |
-
<a
|
32 |
-
href="#"
|
33 |
-
className="opacity-60 hover:opacity-100"
|
34 |
-
>
|
35 |
-
Twitter
|
36 |
-
</a>
|
37 |
-
</div>
|
38 |
-
|
39 |
-
<div>
|
40 |
-
<a
|
41 |
-
href="#"
|
42 |
-
className="opacity-60 hover:opacity-100"
|
43 |
-
>
|
44 |
-
Dribbble
|
45 |
-
</a>
|
46 |
-
</div>
|
47 |
-
</div>
|
48 |
-
|
49 |
-
<div className="flex flex-col gap-2">
|
50 |
-
<h3 className="font-bold text-lg">Platforms</h3>
|
51 |
-
<div>
|
52 |
-
<a
|
53 |
-
href="#"
|
54 |
-
className="opacity-60 hover:opacity-100"
|
55 |
-
>
|
56 |
-
Web
|
57 |
-
</a>
|
58 |
-
</div>
|
59 |
-
|
60 |
-
<div>
|
61 |
<a
|
62 |
href="#"
|
63 |
className="opacity-60 hover:opacity-100"
|
64 |
>
|
65 |
-
|
66 |
</a>
|
67 |
</div>
|
|
|
|
|
|
|
68 |
|
69 |
-
|
70 |
<a
|
71 |
href="#"
|
72 |
className="opacity-60 hover:opacity-100"
|
73 |
>
|
74 |
-
|
75 |
</a>
|
76 |
</div>
|
77 |
-
|
78 |
-
|
79 |
-
<div className="flex flex-col gap-2">
|
80 |
-
<h3 className="font-bold text-lg">About</h3>
|
81 |
-
<div>
|
82 |
<a
|
83 |
href="#"
|
84 |
className="opacity-60 hover:opacity-100"
|
85 |
>
|
86 |
-
|
87 |
</a>
|
88 |
</div>
|
89 |
-
|
90 |
-
<div>
|
91 |
<a
|
92 |
href="#"
|
93 |
className="opacity-60 hover:opacity-100"
|
94 |
>
|
95 |
-
|
96 |
</a>
|
97 |
</div>
|
98 |
-
|
99 |
-
<div>
|
100 |
-
<a
|
101 |
-
href="#"
|
102 |
-
className="opacity-60 hover:opacity-100"
|
103 |
-
>
|
104 |
-
FAQ
|
105 |
-
</a>
|
106 |
-
</div>
|
107 |
-
</div>
|
108 |
-
|
109 |
<div className="flex flex-col gap-2">
|
110 |
-
<h3 className="font-bold text-lg">
|
111 |
-
<div>
|
112 |
-
<a
|
113 |
-
href="#"
|
114 |
-
className="opacity-60 hover:opacity-100"
|
115 |
-
>
|
116 |
-
Youtube
|
117 |
-
</a>
|
118 |
-
</div>
|
119 |
-
|
120 |
<div>
|
121 |
<a
|
122 |
href="#"
|
123 |
className="opacity-60 hover:opacity-100"
|
124 |
>
|
125 |
-
|
126 |
</a>
|
127 |
</div>
|
128 |
|
129 |
-
|
130 |
-
|
131 |
-
href="#"
|
132 |
-
className="opacity-60 hover:opacity-100"
|
133 |
-
>
|
134 |
-
Twitch
|
135 |
-
</a>
|
136 |
-
</div>
|
137 |
-
</div>
|
138 |
</section>
|
139 |
|
140 |
<section className="container pb-14 text-center">
|
141 |
<h3>
|
142 |
-
© 2024
|
143 |
<a
|
144 |
target="_blank"
|
145 |
-
href="https://github.com/
|
146 |
className="text-primary transition-all border-primary hover:border-b-2"
|
147 |
>
|
148 |
-
|
149 |
</a>
|
150 |
</h3>
|
151 |
</section>
|
|
|
12 |
className="font-bold text-xl flex"
|
13 |
>
|
14 |
<LogoIcon />
|
15 |
+
DocVerifyRAG
|
16 |
</a>
|
17 |
</div>
|
18 |
|
19 |
<div className="flex flex-col gap-2">
|
20 |
+
<h3 className="font-bold text-lg">About Us</h3>
|
21 |
+
|
22 |
+
<div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
<a
|
24 |
href="#"
|
25 |
className="opacity-60 hover:opacity-100"
|
26 |
>
|
27 |
+
GitHub
|
28 |
</a>
|
29 |
</div>
|
30 |
+
</div>
|
31 |
+
<div className="flex flex-col gap-2">
|
32 |
+
<h3 className="font-bold text-lg">Industries</h3>
|
33 |
|
34 |
+
<div>
|
35 |
<a
|
36 |
href="#"
|
37 |
className="opacity-60 hover:opacity-100"
|
38 |
>
|
39 |
+
Health
|
40 |
</a>
|
41 |
</div>
|
42 |
+
<div>
|
|
|
|
|
|
|
|
|
43 |
<a
|
44 |
href="#"
|
45 |
className="opacity-60 hover:opacity-100"
|
46 |
>
|
47 |
+
FinTech
|
48 |
</a>
|
49 |
</div>
|
50 |
+
<div>
|
|
|
51 |
<a
|
52 |
href="#"
|
53 |
className="opacity-60 hover:opacity-100"
|
54 |
>
|
55 |
+
Banking
|
56 |
</a>
|
57 |
</div>
|
58 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
<div className="flex flex-col gap-2">
|
60 |
+
<h3 className="font-bold text-lg">Follow Us</h3>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
<div>
|
62 |
<a
|
63 |
href="#"
|
64 |
className="opacity-60 hover:opacity-100"
|
65 |
>
|
66 |
+
GitHub
|
67 |
</a>
|
68 |
</div>
|
69 |
|
70 |
+
|
71 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
</section>
|
73 |
|
74 |
<section className="container pb-14 text-center">
|
75 |
<h3>
|
76 |
+
© 2024 Efficient Document Verification by{" "}
|
77 |
<a
|
78 |
target="_blank"
|
79 |
+
href="https://github.com/eliawaefler/DocVerifyRAG"
|
80 |
className="text-primary transition-all border-primary hover:border-b-2"
|
81 |
>
|
82 |
+
DocVerifyRAG
|
83 |
</a>
|
84 |
</h3>
|
85 |
</section>
|
frontend/src/components/Hero.tsx
CHANGED
@@ -10,38 +10,18 @@ export const Hero = () => {
|
|
10 |
<main className="text-5xl md:text-6xl font-bold">
|
11 |
<h1 className="inline">
|
12 |
<span className="inline bg-gradient-to-r from-[#F596D3] to-[#D247BF] text-transparent bg-clip-text">
|
13 |
-
|
14 |
-
</span>
|
15 |
-
|
16 |
-
</h1>{" "}
|
17 |
-
for{" "}
|
18 |
-
<h2 className="inline">
|
19 |
<span className="inline bg-gradient-to-r from-[#61DAFB] via-[#1fc0f1] to-[#03a3d7] text-transparent bg-clip-text">
|
20 |
-
|
21 |
-
</span>{" "}
|
22 |
-
developers
|
23 |
-
</h2>
|
24 |
</main>
|
25 |
|
26 |
<p className="text-xl text-muted-foreground md:w-10/12 mx-auto lg:mx-0">
|
27 |
-
|
28 |
-
to your project.
|
29 |
</p>
|
30 |
-
|
31 |
-
<div className="space-y-4 md:space-y-0 md:space-x-4">
|
32 |
-
<Button className="w-full md:w-1/3">Get Started</Button>
|
33 |
-
|
34 |
-
<a
|
35 |
-
href="https://github.com/leoMirandaa/shadcn-landing-page.git"
|
36 |
-
target="_blank"
|
37 |
-
className={`w-full md:w-1/3 ${buttonVariants({
|
38 |
-
variant: "outline",
|
39 |
-
})}`}
|
40 |
-
>
|
41 |
-
Github Repository
|
42 |
-
<GitHubLogoIcon className="ml-2 w-5 h-5" />
|
43 |
-
</a>
|
44 |
-
</div>
|
45 |
</div>
|
46 |
|
47 |
{/* Hero cards sections */}
|
|
|
10 |
<main className="text-5xl md:text-6xl font-bold">
|
11 |
<h1 className="inline">
|
12 |
<span className="inline bg-gradient-to-r from-[#F596D3] to-[#D247BF] text-transparent bg-clip-text">
|
13 |
+
Doc
|
14 |
+
</span>
|
15 |
+
Verify
|
|
|
|
|
|
|
16 |
<span className="inline bg-gradient-to-r from-[#61DAFB] via-[#1fc0f1] to-[#03a3d7] text-transparent bg-clip-text">
|
17 |
+
RAG
|
18 |
+
</span></h1>{" "}
|
|
|
|
|
19 |
</main>
|
20 |
|
21 |
<p className="text-xl text-muted-foreground md:w-10/12 mx-auto lg:mx-0">
|
22 |
+
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Veritatis dolor pariatur sit!
|
|
|
23 |
</p>
|
24 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
</div>
|
26 |
|
27 |
{/* Hero cards sections */}
|
frontend/src/components/HeroCards.tsx
CHANGED
@@ -16,140 +16,6 @@ import { GitHubLogoIcon } from "@radix-ui/react-icons";
|
|
16 |
export const HeroCards = () => {
|
17 |
return (
|
18 |
<div className="hidden lg:flex flex-row flex-wrap gap-8 relative w-[700px] h-[500px]">
|
19 |
-
{/* Testimonial */}
|
20 |
-
<Card className="absolute w-[340px] -top-[15px] drop-shadow-xl shadow-black/10 dark:shadow-white/10">
|
21 |
-
<CardHeader className="flex flex-row items-center gap-4 pb-2">
|
22 |
-
<Avatar>
|
23 |
-
<AvatarImage
|
24 |
-
alt=""
|
25 |
-
src="https://github.com/shadcn.png"
|
26 |
-
/>
|
27 |
-
<AvatarFallback>SH</AvatarFallback>
|
28 |
-
</Avatar>
|
29 |
-
|
30 |
-
<div className="flex flex-col">
|
31 |
-
<CardTitle className="text-lg">John Doe React</CardTitle>
|
32 |
-
<CardDescription>@john_doe</CardDescription>
|
33 |
-
</div>
|
34 |
-
</CardHeader>
|
35 |
-
|
36 |
-
<CardContent>This landig page is awesome!</CardContent>
|
37 |
-
</Card>
|
38 |
-
|
39 |
-
{/* Team */}
|
40 |
-
<Card className="absolute right-[20px] top-4 w-80 flex flex-col justify-center items-center drop-shadow-xl shadow-black/10 dark:shadow-white/10">
|
41 |
-
<CardHeader className="mt-8 flex justify-center items-center pb-2">
|
42 |
-
<img
|
43 |
-
src="https://i.pravatar.cc/150?img=58"
|
44 |
-
alt="user avatar"
|
45 |
-
className="absolute grayscale-[0%] -top-12 rounded-full w-24 h-24 aspect-square object-cover"
|
46 |
-
/>
|
47 |
-
<CardTitle className="text-center">Leo Miranda</CardTitle>
|
48 |
-
<CardDescription className="font-normal text-primary">
|
49 |
-
Frontend Developer
|
50 |
-
</CardDescription>
|
51 |
-
</CardHeader>
|
52 |
-
|
53 |
-
<CardContent className="text-center pb-2">
|
54 |
-
<p>
|
55 |
-
I really enjoy transforming ideas into functional software that
|
56 |
-
exceeds expectations
|
57 |
-
</p>
|
58 |
-
</CardContent>
|
59 |
-
|
60 |
-
<CardFooter>
|
61 |
-
<div>
|
62 |
-
<a
|
63 |
-
href="https://github.com/leoMirandaa"
|
64 |
-
target="_blank"
|
65 |
-
className={buttonVariants({
|
66 |
-
variant: "ghost",
|
67 |
-
size: "sm",
|
68 |
-
})}
|
69 |
-
>
|
70 |
-
<span className="sr-only">Github icon</span>
|
71 |
-
<GitHubLogoIcon className="w-5 h-5" />
|
72 |
-
</a>
|
73 |
-
<a
|
74 |
-
href="https://twitter.com/leo_mirand4"
|
75 |
-
target="_blank"
|
76 |
-
className={buttonVariants({
|
77 |
-
variant: "ghost",
|
78 |
-
size: "sm",
|
79 |
-
})}
|
80 |
-
>
|
81 |
-
<span className="sr-only">X icon</span>
|
82 |
-
<svg
|
83 |
-
role="img"
|
84 |
-
viewBox="0 0 24 24"
|
85 |
-
xmlns="http://www.w3.org/2000/svg"
|
86 |
-
className="fill-foreground w-5 h-5"
|
87 |
-
>
|
88 |
-
<title>X</title>
|
89 |
-
<path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z" />
|
90 |
-
</svg>
|
91 |
-
</a>
|
92 |
-
|
93 |
-
<a
|
94 |
-
href="https://www.linkedin.com/"
|
95 |
-
target="_blank"
|
96 |
-
className={buttonVariants({
|
97 |
-
variant: "ghost",
|
98 |
-
size: "sm",
|
99 |
-
})}
|
100 |
-
>
|
101 |
-
<span className="sr-only">Linkedin icon</span>
|
102 |
-
<Linkedin size="20" />
|
103 |
-
</a>
|
104 |
-
</div>
|
105 |
-
</CardFooter>
|
106 |
-
</Card>
|
107 |
-
|
108 |
-
{/* Pricing */}
|
109 |
-
<Card className="absolute top-[150px] left-[50px] w-72 drop-shadow-xl shadow-black/10 dark:shadow-white/10">
|
110 |
-
<CardHeader>
|
111 |
-
<CardTitle className="flex item-center justify-between">
|
112 |
-
Free
|
113 |
-
<Badge
|
114 |
-
variant="secondary"
|
115 |
-
className="text-sm text-primary"
|
116 |
-
>
|
117 |
-
Most popular
|
118 |
-
</Badge>
|
119 |
-
</CardTitle>
|
120 |
-
<div>
|
121 |
-
<span className="text-3xl font-bold">$0</span>
|
122 |
-
<span className="text-muted-foreground"> /month</span>
|
123 |
-
</div>
|
124 |
-
|
125 |
-
<CardDescription>
|
126 |
-
Lorem ipsum dolor sit, amet ipsum consectetur adipisicing elit.
|
127 |
-
</CardDescription>
|
128 |
-
</CardHeader>
|
129 |
-
|
130 |
-
<CardContent>
|
131 |
-
<Button className="w-full">Start Free Trial</Button>
|
132 |
-
</CardContent>
|
133 |
-
|
134 |
-
<hr className="w-4/5 m-auto mb-4" />
|
135 |
-
|
136 |
-
<CardFooter className="flex">
|
137 |
-
<div className="space-y-4">
|
138 |
-
{["4 Team member", "4 GB Storage", "Upto 6 pages"].map(
|
139 |
-
(benefit: string) => (
|
140 |
-
<span
|
141 |
-
key={benefit}
|
142 |
-
className="flex"
|
143 |
-
>
|
144 |
-
<Check className="text-green-500" />{" "}
|
145 |
-
<h3 className="ml-2">{benefit}</h3>
|
146 |
-
</span>
|
147 |
-
)
|
148 |
-
)}
|
149 |
-
</div>
|
150 |
-
</CardFooter>
|
151 |
-
</Card>
|
152 |
-
|
153 |
{/* Service */}
|
154 |
<Card className="absolute w-[350px] -right-[10px] bottom-[35px] drop-shadow-xl shadow-black/10 dark:shadow-white/10">
|
155 |
<CardHeader className="space-y-1 flex md:flex-row justify-start items-start gap-4">
|
@@ -157,10 +23,9 @@ export const HeroCards = () => {
|
|
157 |
<LightBulbIcon />
|
158 |
</div>
|
159 |
<div>
|
160 |
-
<CardTitle>
|
161 |
<CardDescription className="text-md mt-2">
|
162 |
-
|
163 |
-
natusm.
|
164 |
</CardDescription>
|
165 |
</div>
|
166 |
</CardHeader>
|
|
|
16 |
export const HeroCards = () => {
|
17 |
return (
|
18 |
<div className="hidden lg:flex flex-row flex-wrap gap-8 relative w-[700px] h-[500px]">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
{/* Service */}
|
20 |
<Card className="absolute w-[350px] -right-[10px] bottom-[35px] drop-shadow-xl shadow-black/10 dark:shadow-white/10">
|
21 |
<CardHeader className="space-y-1 flex md:flex-row justify-start items-start gap-4">
|
|
|
23 |
<LightBulbIcon />
|
24 |
</div>
|
25 |
<div>
|
26 |
+
<CardTitle>IMAGE</CardTitle>
|
27 |
<CardDescription className="text-md mt-2">
|
28 |
+
Some nice image conveying DocVerifyRAG use
|
|
|
29 |
</CardDescription>
|
30 |
</div>
|
31 |
</CardHeader>
|
frontend/src/components/Navbar.tsx
CHANGED
@@ -11,7 +11,6 @@ import {
|
|
11 |
SheetTitle,
|
12 |
SheetTrigger,
|
13 |
} from "@/components/ui/sheet";
|
14 |
-
|
15 |
import { GitHubLogoIcon } from "@radix-ui/react-icons";
|
16 |
import { buttonVariants } from "./ui/button";
|
17 |
import { Menu } from "lucide-react";
|
@@ -29,16 +28,8 @@ const routeList: RouteProps[] = [
|
|
29 |
label: "Features",
|
30 |
},
|
31 |
{
|
32 |
-
href: "#
|
33 |
-
label: "
|
34 |
-
},
|
35 |
-
{
|
36 |
-
href: "#pricing",
|
37 |
-
label: "Pricing",
|
38 |
-
},
|
39 |
-
{
|
40 |
-
href: "#faq",
|
41 |
-
label: "FAQ",
|
42 |
},
|
43 |
];
|
44 |
|
@@ -54,7 +45,7 @@ export const Navbar = () => {
|
|
54 |
className="ml-2 font-bold text-xl flex"
|
55 |
>
|
56 |
<LogoIcon />
|
57 |
-
|
58 |
</a>
|
59 |
</NavigationMenuItem>
|
60 |
|
@@ -78,7 +69,7 @@ export const Navbar = () => {
|
|
78 |
<SheetContent side={"left"}>
|
79 |
<SheetHeader>
|
80 |
<SheetTitle className="font-bold text-xl">
|
81 |
-
|
82 |
</SheetTitle>
|
83 |
</SheetHeader>
|
84 |
<nav className="flex flex-col justify-center items-center gap-2 mt-4">
|
@@ -93,14 +84,14 @@ export const Navbar = () => {
|
|
93 |
</a>
|
94 |
))}
|
95 |
<a
|
96 |
-
href="
|
97 |
target="_blank"
|
98 |
className={`w-[110px] border ${buttonVariants({
|
99 |
variant: "secondary",
|
100 |
})}`}
|
101 |
>
|
102 |
-
<GitHubLogoIcon className="mr-
|
103 |
-
|
104 |
</a>
|
105 |
</nav>
|
106 |
</SheetContent>
|
@@ -128,8 +119,8 @@ export const Navbar = () => {
|
|
128 |
target="_blank"
|
129 |
className={`border ${buttonVariants({ variant: "secondary" })}`}
|
130 |
>
|
131 |
-
<GitHubLogoIcon className="mr-
|
132 |
-
|
133 |
</a>
|
134 |
|
135 |
<ModeToggle />
|
|
|
11 |
SheetTitle,
|
12 |
SheetTrigger,
|
13 |
} from "@/components/ui/sheet";
|
|
|
14 |
import { GitHubLogoIcon } from "@radix-ui/react-icons";
|
15 |
import { buttonVariants } from "./ui/button";
|
16 |
import { Menu } from "lucide-react";
|
|
|
28 |
label: "Features",
|
29 |
},
|
30 |
{
|
31 |
+
href: "#upload",
|
32 |
+
label: "Upload",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
},
|
34 |
];
|
35 |
|
|
|
45 |
className="ml-2 font-bold text-xl flex"
|
46 |
>
|
47 |
<LogoIcon />
|
48 |
+
DocVerifyRAG
|
49 |
</a>
|
50 |
</NavigationMenuItem>
|
51 |
|
|
|
69 |
<SheetContent side={"left"}>
|
70 |
<SheetHeader>
|
71 |
<SheetTitle className="font-bold text-xl">
|
72 |
+
DocVerifyRAG
|
73 |
</SheetTitle>
|
74 |
</SheetHeader>
|
75 |
<nav className="flex flex-col justify-center items-center gap-2 mt-4">
|
|
|
84 |
</a>
|
85 |
))}
|
86 |
<a
|
87 |
+
href="#"
|
88 |
target="_blank"
|
89 |
className={`w-[110px] border ${buttonVariants({
|
90 |
variant: "secondary",
|
91 |
})}`}
|
92 |
>
|
93 |
+
<GitHubLogoIcon className="mr-0 w-14 h-5" />
|
94 |
+
Join Waitlist
|
95 |
</a>
|
96 |
</nav>
|
97 |
</SheetContent>
|
|
|
119 |
target="_blank"
|
120 |
className={`border ${buttonVariants({ variant: "secondary" })}`}
|
121 |
>
|
122 |
+
<GitHubLogoIcon className="mr-0 w-8 h-5" />
|
123 |
+
Join Waitlist
|
124 |
</a>
|
125 |
|
126 |
<ModeToggle />
|
frontend/src/components/Statistics.tsx
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
export const Statistics = () => {
|
2 |
+
interface statsProps {
|
3 |
+
quantity: string;
|
4 |
+
description: string;
|
5 |
+
}
|
6 |
+
|
7 |
+
const stats: statsProps[] = [
|
8 |
+
{
|
9 |
+
quantity: "2.7K+",
|
10 |
+
description: "Users",
|
11 |
+
},
|
12 |
+
{
|
13 |
+
quantity: "1.8K+",
|
14 |
+
description: "Subscribers",
|
15 |
+
},
|
16 |
+
{
|
17 |
+
quantity: "112",
|
18 |
+
description: "Downloads",
|
19 |
+
},
|
20 |
+
{
|
21 |
+
quantity: "4",
|
22 |
+
description: "Products",
|
23 |
+
},
|
24 |
+
];
|
25 |
+
|
26 |
+
return (
|
27 |
+
<section id="statistics">
|
28 |
+
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8">
|
29 |
+
{stats.map(({ quantity, description }: statsProps) => (
|
30 |
+
<div
|
31 |
+
key={description}
|
32 |
+
className="space-y-2 text-center"
|
33 |
+
>
|
34 |
+
<h2 className="text-3xl sm:text-4xl font-bold ">{quantity}</h2>
|
35 |
+
<p className="text-xl text-muted-foreground">{description}</p>
|
36 |
+
</div>
|
37 |
+
))}
|
38 |
+
</div>
|
39 |
+
</section>
|
40 |
+
);
|
41 |
+
};
|
frontend/src/components/theme-provider.tsx
CHANGED
@@ -18,6 +18,7 @@ const initialState: ThemeProviderState = {
|
|
18 |
setTheme: () => null,
|
19 |
};
|
20 |
|
|
|
21 |
const ThemeProviderContext = createContext<ThemeProviderState>(initialState);
|
22 |
|
23 |
export function ThemeProvider({
|
|
|
18 |
setTheme: () => null,
|
19 |
};
|
20 |
|
21 |
+
|
22 |
const ThemeProviderContext = createContext<ThemeProviderState>(initialState);
|
23 |
|
24 |
export function ThemeProvider({
|