1
1
import Link from 'next/link' ;
2
- import { ChevronRightIcon , StarIcon } from 'lucide-react' ;
2
+ import {
3
+ ChevronRightIcon ,
4
+ ClipboardCheckIcon ,
5
+ DiamondIcon ,
6
+ Edit3Icon ,
7
+ ListChecksIcon ,
8
+ StarIcon ,
9
+ } from 'lucide-react' ;
3
10
4
11
import { constants } from '@/constants' ;
5
12
import { Button } from '@/primitives/button' ;
6
13
7
14
import Image from 'next/image' ;
8
15
16
+ const shortFeaturesIconSize = 30 ;
17
+
18
+ const shortFeatures = [
19
+ {
20
+ icon : < Edit3Icon size = { shortFeaturesIconSize } /> ,
21
+ title : 'Note Taking' ,
22
+ description : 'Write your study notes and let Noodle take care of the rest.' ,
23
+ } ,
24
+ {
25
+ icon : < DiamondIcon size = { shortFeaturesIconSize } /> ,
26
+ title : 'Flashcards' ,
27
+ description :
28
+ 'Create flashcards with reminders or let AI auto-suggest them for you.' ,
29
+ } ,
30
+ {
31
+ icon : < ListChecksIcon size = { shortFeaturesIconSize } /> ,
32
+ title : 'Task Management' ,
33
+ description :
34
+ 'Create module specific tasks to keep on track with what you need to do.' ,
35
+ } ,
36
+ {
37
+ icon : < ClipboardCheckIcon size = { shortFeaturesIconSize } /> ,
38
+ title : 'Grade Tracking' ,
39
+ description : 'Find out what you need to achieve to stay in progression.' ,
40
+ } ,
41
+ ] ;
42
+
9
43
/**
10
44
* The marketing home page.
11
45
* @returns A react component representing the marketing home page.
@@ -23,10 +57,10 @@ export default function Home() {
23
57
< StarIcon className = "fill-amber-500 stroke-amber-500" size = { 16 } />
24
58
</ a >
25
59
</ Button >
26
- < h1 className = "max-w-[20ch] bg-gradient-to-b from-foreground to-gray-foreground-muted bg-clip-text text-center text-8xl font-extrabold leading-none text-transparent" >
60
+ < h1 className = "max-w-[20ch] text-balance bg-gradient-to-b from-foreground to-gray-foreground-muted bg-clip-text text-center text-8xl font-extrabold leading-none text-transparent" >
27
61
{ constants . tagline }
28
62
</ h1 >
29
- < p className = "max-w-[50ch] text-center text-lg text-foreground-muted [&>strong]:font-medium [&>strong]:text-foreground" >
63
+ < p className = "max-w-[50ch] text-pretty text- center text-lg text-foreground-muted [&>strong]:font-medium [&>strong]:text-foreground" >
30
64
Noodle is an < strong > open-source</ strong > student productivity platform
31
65
made to < strong > streamline</ strong > the process students conduct their
32
66
studies and organize it.
@@ -43,6 +77,24 @@ export default function Home() {
43
77
alt = "Dashboard Preview"
44
78
className = "my-12 rounded-lg shadow-[0_50px_200px_75px] shadow-pink/10"
45
79
/>
80
+ < section className = "my-36 grid grid-cols-4 gap-12" >
81
+ { shortFeatures . map ( ( feature ) => (
82
+ < div key = { feature . title } className = "flex flex-col gap-2" >
83
+ { feature . icon }
84
+ < h3 className = "pt-2 text-xl font-medium" > { feature . title } </ h3 >
85
+ < p className = "text-foreground-muted" > { feature . description } </ p >
86
+ </ div >
87
+ ) ) }
88
+ </ section >
89
+ < section className = "flex flex-col items-center gap-6" >
90
+ < h2 className = "max-w-[20ch] text-balance bg-gradient-to-b from-foreground to-gray-foreground-muted bg-clip-text text-center text-6xl font-extrabold leading-tight text-transparent" >
91
+ One Platform to Rule Them All
92
+ </ h2 >
93
+ < p className = "max-w-[45ch] text-pretty text-center text-lg text-foreground-muted [&>strong]:font-medium [&>strong]:text-foreground" >
94
+ A one of a kind platform, combining all the necessary productivity
95
+ tools a student needs to stay on top of their work.
96
+ </ p >
97
+ </ section >
46
98
</ main >
47
99
) ;
48
100
}
0 commit comments