Skip to content

Commit 251941b

Browse files
authored
Merge pull request #3 from Django-Rwanda/refactor/desgin-ystem-folder-structure
feat: add UI components for table, tabs, textarea, toast, and toggle elements
2 parents 38a2ae7 + 3a7a6de commit 251941b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+3047
-2280
lines changed

app/auth/login/page.tsx

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,34 @@
1-
import { Card } from "@/components/ui/card"
2-
import { Button } from "@/components/ui/button"
3-
import { Mail, Lock, ArrowRight } from "lucide-react"
4-
import Link from "next/link"
1+
import { Card } from "@/src/components/ui/card";
2+
import { Button } from "@/src/components/ui/button";
3+
import { Mail, Lock, ArrowRight } from "lucide-react";
4+
import Link from "next/link";
55

66
export const metadata = {
77
title: "Sign In | Django Rwanda Community",
88
description: "Sign in to your Django Rwanda Community account",
9-
}
9+
};
1010

1111
export default function LoginPage() {
1212
return (
13-
<div className="min-h-screen bg-background flex items-center justify-center">
13+
<div className="min-h-screen flex items-center justify-center">
1414
<div className="mx-auto w-full max-w-md px-4">
1515
<div className="mb-8 text-center">
16-
<div className="mb-4 inline-flex h-12 w-12 items-center justify-center rounded-lg bg-gradient-to-br from-primary to-accent text-primary-foreground font-bold text-lg">
16+
<div className="mb-4 inline-flex h-12 w-12 items-center justify-center rounded-lg bg-gradient-to-br from-primary to-primary-light text-primary-foreground font-bold text-lg">
1717
D
1818
</div>
1919
<h1 className="text-3xl font-bold text-foreground">Welcome Back</h1>
20-
<p className="mt-2 text-foreground/60">Sign in to your Django Rwanda Community account</p>
20+
<p className="mt-2 text-foreground/60">
21+
Sign in to your Django Rwanda Community account
22+
</p>
2123
</div>
2224

2325
<Card className="border border-border/50 p-8 bg-gradient-to-br from-background to-muted/50">
2426
<form className="space-y-4">
2527
{/* Email */}
2628
<div>
27-
<label className="mb-2 block text-sm font-medium text-foreground">Email Address</label>
29+
<label className="mb-2 block text-sm font-medium text-foreground">
30+
Email Address
31+
</label>
2832
<div className="relative">
2933
<Mail className="absolute left-3 top-3 h-5 w-5 text-foreground/40" />
3034
<input
@@ -37,7 +41,9 @@ export default function LoginPage() {
3741

3842
{/* Password */}
3943
<div>
40-
<label className="mb-2 block text-sm font-medium text-foreground">Password</label>
44+
<label className="mb-2 block text-sm font-medium text-foreground">
45+
Password
46+
</label>
4147
<div className="relative">
4248
<Lock className="absolute left-3 top-3 h-5 w-5 text-foreground/40" />
4349
<input
@@ -51,7 +57,10 @@ export default function LoginPage() {
5157
{/* Remember me & Forgot password */}
5258
<div className="flex items-center justify-between text-sm">
5359
<label className="flex items-center gap-2 text-foreground/60">
54-
<input type="checkbox" className="rounded border border-border" />
60+
<input
61+
type="checkbox"
62+
className="rounded border border-border"
63+
/>
5564
Remember me
5665
</label>
5766
<Link href="#" className="text-primary hover:text-primary/80">
@@ -60,7 +69,7 @@ export default function LoginPage() {
6069
</div>
6170

6271
{/* Submit */}
63-
<Button className="w-full bg-gradient-to-r from-primary to-accent hover:from-primary/90 hover:to-accent/90 py-2">
72+
<Button variant="gradient" className="w-full py-2">
6473
Sign In
6574
<ArrowRight className="ml-2 h-4 w-4" />
6675
</Button>
@@ -87,11 +96,14 @@ export default function LoginPage() {
8796
{/* Sign up link */}
8897
<p className="mt-6 text-center text-sm text-foreground/60">
8998
Don&apos;t have an account?{" "}
90-
<Link href="/auth/signup" className="font-medium text-primary hover:text-primary/80">
99+
<Link
100+
href="/auth/signup"
101+
className="font-medium text-primary hover:text-primary/80"
102+
>
91103
Sign up here
92104
</Link>
93105
</p>
94106
</div>
95107
</div>
96-
)
108+
);
97109
}

app/auth/signup/page.tsx

Lines changed: 62 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,36 @@
1-
import { Card } from "@/components/ui/card"
2-
import { Button } from "@/components/ui/button"
3-
import { User, Mail, Lock, Zap } from "lucide-react"
4-
import Link from "next/link"
1+
import { Card } from "@/src/components/ui/card";
2+
import { Button } from "@/src/components/ui/button";
3+
import { User, Mail, Lock, Zap } from "lucide-react";
4+
import Link from "next/link";
55

66
export const metadata = {
77
title: "Sign Up | Django Rwanda Community",
88
description: "Create your Django Rwanda Community account",
9-
}
9+
};
1010

1111
export default function SignupPage() {
1212
return (
13-
<div className="min-h-screen bg-background flex items-center justify-center">
13+
<div className="min-h-screen flex items-center justify-center">
1414
<div className="mx-auto w-full max-w-md px-4">
1515
<div className="mb-8 text-center">
16-
<div className="mb-4 inline-flex h-12 w-12 items-center justify-center rounded-lg bg-gradient-to-br from-primary to-accent text-primary-foreground font-bold text-lg">
16+
<div className="mb-4 inline-flex h-12 w-12 items-center justify-center rounded-lg bg-gradient-to-br from-primary to-primary-light text-primary-foreground font-bold text-lg">
1717
D
1818
</div>
19-
<h1 className="text-3xl font-bold text-foreground">Join Django Rwanda</h1>
20-
<p className="mt-2 text-foreground/60">Create your account and start your journey</p>
19+
<h1 className="text-3xl font-bold text-foreground">
20+
Join Django Rwanda
21+
</h1>
22+
<p className="mt-2 text-foreground/60">
23+
Create your account and start your journey
24+
</p>
2125
</div>
2226

2327
<Card className="border border-border/50 p-8 bg-gradient-to-br from-background to-muted/50">
2428
<form className="space-y-4">
2529
{/* Full Name */}
2630
<div>
27-
<label className="mb-2 block text-sm font-medium text-foreground">Full Name</label>
31+
<label className="mb-2 block text-sm font-medium text-foreground">
32+
Full Name
33+
</label>
2834
<div className="relative">
2935
<User className="absolute left-3 top-3 h-5 w-5 text-foreground/40" />
3036
<input
@@ -37,7 +43,9 @@ export default function SignupPage() {
3743

3844
{/* Email */}
3945
<div>
40-
<label className="mb-2 block text-sm font-medium text-foreground">Email Address</label>
46+
<label className="mb-2 block text-sm font-medium text-foreground">
47+
Email Address
48+
</label>
4149
<div className="relative">
4250
<Mail className="absolute left-3 top-3 h-5 w-5 text-foreground/40" />
4351
<input
@@ -50,7 +58,9 @@ export default function SignupPage() {
5058

5159
{/* Password */}
5260
<div>
53-
<label className="mb-2 block text-sm font-medium text-foreground">Password</label>
61+
<label className="mb-2 block text-sm font-medium text-foreground">
62+
Password
63+
</label>
5464
<div className="relative">
5565
<Lock className="absolute left-3 top-3 h-5 w-5 text-foreground/40" />
5666
<input
@@ -63,7 +73,9 @@ export default function SignupPage() {
6373

6474
{/* Confirm Password */}
6575
<div>
66-
<label className="mb-2 block text-sm font-medium text-foreground">Confirm Password</label>
76+
<label className="mb-2 block text-sm font-medium text-foreground">
77+
Confirm Password
78+
</label>
6779
<div className="relative">
6880
<Lock className="absolute left-3 top-3 h-5 w-5 text-foreground/40" />
6981
<input
@@ -76,44 +88,67 @@ export default function SignupPage() {
7688

7789
{/* Interests */}
7890
<div>
79-
<label className="mb-2 block text-sm font-medium text-foreground">What interests you?</label>
91+
<label className="mb-2 block text-sm font-medium text-foreground">
92+
What interests you?
93+
</label>
8094
<div className="space-y-2">
8195
<label className="flex items-center gap-2 text-foreground/60">
82-
<input type="checkbox" className="rounded border border-border" />
96+
<input
97+
type="checkbox"
98+
className="rounded border border-border"
99+
/>
83100
Learning Django
84101
</label>
85102
<label className="flex items-center gap-2 text-foreground/60">
86-
<input type="checkbox" className="rounded border border-border" />
103+
<input
104+
type="checkbox"
105+
className="rounded border border-border"
106+
/>
87107
Contributing to open source
88108
</label>
89109
<label className="flex items-center gap-2 text-foreground/60">
90-
<input type="checkbox" className="rounded border border-border" />
110+
<input
111+
type="checkbox"
112+
className="rounded border border-border"
113+
/>
91114
Networking with developers
92115
</label>
93116
<label className="flex items-center gap-2 text-foreground/60">
94-
<input type="checkbox" className="rounded border border-border" />
117+
<input
118+
type="checkbox"
119+
className="rounded border border-border"
120+
/>
95121
Starting a startup
96122
</label>
97123
</div>
98124
</div>
99125

100126
{/* Terms agreement */}
101127
<label className="flex items-start gap-2 text-sm text-foreground/60">
102-
<input type="checkbox" className="mt-1 rounded border border-border" />
128+
<input
129+
type="checkbox"
130+
className="mt-1 rounded border border-border"
131+
/>
103132
<span>
104133
I agree to the{" "}
105-
<Link href="/terms" className="text-primary hover:text-primary/80">
134+
<Link
135+
href="/terms"
136+
className="text-primary hover:text-primary/80"
137+
>
106138
Terms of Service
107139
</Link>{" "}
108140
and{" "}
109-
<Link href="/privacy" className="text-primary hover:text-primary/80">
141+
<Link
142+
href="/privacy"
143+
className="text-primary hover:text-primary/80"
144+
>
110145
Privacy Policy
111146
</Link>
112147
</span>
113148
</label>
114149

115150
{/* Submit */}
116-
<Button className="w-full bg-gradient-to-r from-primary to-accent hover:from-primary/90 hover:to-accent/90 py-2">
151+
<Button variant="gradient" className="w-full py-2">
117152
Create Account
118153
<Zap className="ml-2 h-4 w-4" />
119154
</Button>
@@ -140,11 +175,14 @@ export default function SignupPage() {
140175
{/* Sign in link */}
141176
<p className="mt-6 text-center text-sm text-foreground/60">
142177
Already have an account?{" "}
143-
<Link href="/auth/login" className="font-medium text-primary hover:text-primary/80">
178+
<Link
179+
href="/auth/login"
180+
className="font-medium text-primary hover:text-primary/80"
181+
>
144182
Sign in here
145183
</Link>
146184
</p>
147185
</div>
148186
</div>
149-
)
187+
);
150188
}

app/community/code-of-conduct/page.tsx

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import { Card } from "@/components/ui/card"
2-
import Link from "next/link"
1+
import { Card } from "@/src/components/ui/card";
2+
import Link from "next/link";
33

44
export const metadata = {
55
title: "Code of Conduct | Django Rwanda Community",
66
description: "Our community values and principles",
7-
}
7+
};
88

99
const sections = [
1010
{
@@ -32,17 +32,22 @@ const sections = [
3232
content:
3333
"Violations of this code of conduct will be taken seriously and may result in temporary or permanent removal from the community. Reports should be sent to conduct@djangorwanda.dev.",
3434
},
35-
]
35+
];
3636

3737
export default function CodeOfConductPage() {
3838
return (
39-
<div className="min-h-screen bg-background">
39+
<div className="min-h-screen">
4040
<section className="bg-gradient-to-b from-primary/10 to-background py-12 md:py-20">
4141
<div className="mx-auto max-w-4xl px-4 sm:px-6 lg:px-8">
42-
<Link href="/community" className="inline-flex items-center gap-1 text-primary hover:text-primary/80 mb-4">
42+
<Link
43+
href="/community"
44+
className="inline-flex items-center gap-1 text-primary hover:text-primary/80 mb-4"
45+
>
4346
← Back to Community
4447
</Link>
45-
<h1 className="text-4xl font-bold text-foreground md:text-5xl mb-4">Code of Conduct</h1>
48+
<h1 className="text-4xl font-bold text-foreground md:text-5xl mb-4">
49+
Code of Conduct
50+
</h1>
4651
<p className="text-lg text-foreground/70">
4752
Our values and principles for a respectful and inclusive community.
4853
</p>
@@ -54,8 +59,12 @@ export default function CodeOfConductPage() {
5459
<div className="space-y-8">
5560
{sections.map((section, idx) => (
5661
<Card key={idx} className="border border-border/50 p-8">
57-
<h2 className="mb-4 text-2xl font-bold text-foreground">{section.title}</h2>
58-
{section.content && <p className="text-foreground/70 mb-4">{section.content}</p>}
62+
<h2 className="mb-4 text-2xl font-bold text-foreground">
63+
{section.title}
64+
</h2>
65+
{section.content && (
66+
<p className="text-foreground/70 mb-4">{section.content}</p>
67+
)}
5968
{section.items && (
6069
<ul className="space-y-2">
6170
{section.items.map((item, i) => (
@@ -72,5 +81,5 @@ export default function CodeOfConductPage() {
7281
</div>
7382
</section>
7483
</div>
75-
)
84+
);
7685
}

0 commit comments

Comments
 (0)