Skip to content

Commit e30eb2e

Browse files
committed
add stuff and things
1 parent 3d9e960 commit e30eb2e

8 files changed

Lines changed: 240 additions & 20 deletions

File tree

public/image.png

340 KB
Loading

src/app/about/layout.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import type { Metadata } from 'next';
2+
3+
export const metadata: Metadata = {
4+
title: 'About',
5+
description: 'Learn more about Lexi, its features and capabilities and how it can help you.',
6+
}
7+
8+
export default function AboutLayout({ children }: { children: React.ReactNode }) {
9+
return children;
10+
}

src/app/about/page.tsx

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
import React from "react";
2+
import Link from "next/link";
3+
import Image from "next/image";
4+
import { HiMiniSparkles } from "react-icons/hi2";
5+
6+
export default function AboutPage() {
7+
return (
8+
<main className="panel-wide">
9+
<section className="p-32 mb-20 glass-panel" style={{ padding: 32 }}>
10+
<div style={{ display: "flex", alignItems: "center", gap: 14 }}>
11+
<Image src="/logo.png" alt="Lexi logo" width={56} height={56} />
12+
<h1 style={{ margin: 0 }} className="text-4xl font-bold">About Lexi</h1>
13+
</div>
14+
15+
<p className="hero-sub" style={{ marginTop: 12 }}>
16+
Lexi is short for <strong>Lexicon</strong>: a collection of words and the knowledge around how they're used.
17+
</p>
18+
19+
<div className="mt-6 text-lg leading-relaxed">
20+
<p>
21+
The word "lexicon" comes from the Greek lexikon, meaning "of words." In modern English it usually
22+
refers to a vocabulary or the set of words used within a language, a person, or a field of study.
23+
Lexi is built around that idea: helping you choose the right words, shape clear sentences, and
24+
express ideas with confidence.
25+
</p>
26+
27+
<p className="mt-12">
28+
Our mission is simple: make English clearer and more approachable. Whether you're rewriting a sentence
29+
to be more formal, shortening a long message, or finding a more natural phrasing, Lexi offers
30+
focused, privacy minded suggestions that keep your original meaning intact.
31+
</p>
32+
33+
<p className="mt-12">
34+
Lexi emphasizes privacy and clarity. We avoid inventing facts, preserve named entities when requested,
35+
and surface concise rewrites so you can pick the tone and length that fit your needs.
36+
</p>
37+
38+
<p className="mt-12">
39+
Want to try it? Head over to the Rephraser to rewrite a sentence in seconds. If you have ideas or
40+
feedback, we love hearing from users check the footer for contact links.
41+
</p>
42+
</div>
43+
44+
<div className="flex gap-12 mt-20">
45+
<Link href="/rephrase" className="btn-primary">
46+
<HiMiniSparkles size={18} />
47+
<span>Try the Rephraser</span>
48+
</Link>
49+
<Link href="/" className="btn-secondary">Back to Home</Link>
50+
</div>
51+
</section>
52+
</main>
53+
);
54+
}

src/app/layout.tsx

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,56 @@ const poppins = Poppins({
1313
})
1414

1515
export const metadata: Metadata = {
16-
title: "Lexi",
17-
description: "Rephrase sentences with the tone you want. Crisp results, streaming in real time.",
18-
};
16+
title: {
17+
default: "Lexi - AI Writing Assistant",
18+
template: "%s - Lexi"
19+
},
20+
metadataBase: new URL("https://beta.lexiapp.space"),
21+
keywords: ["AI", "Writing Assistant", "Rephrase", "Text Enhancement"],
22+
description: "Your AI-powered writing assistant for rephrasing and enhancing text with ease.",
23+
applicationName: "Lexi",
24+
openGraph: {
25+
siteName: "Lexi",
26+
description: "Your AI-powered writing assistant for rephrasing and enhancing text with ease.",
27+
images: ["/images/og.png"],
28+
creators: ["@HeyLexicon", "@CodeMeAPixel"],
29+
locale: "en-US",
30+
url: "https://beta.lexiapp.space"
31+
},
32+
twitter: {
33+
title: "Lexi",
34+
description: "Your AI-powered writing assistant for rephrasing and enhancing text with ease.",
35+
images: "/images/og.png",
36+
creator: "@CodeMeAPixel",
37+
card: "summary_large_image",
38+
site: "https://beta.lexiapp.space"
39+
},
40+
appleWebApp: {
41+
statusBarStyle: "black-translucent",
42+
title: "Lexi",
43+
},
44+
formatDetection: {
45+
telephone: false,
46+
},
47+
icons: {
48+
icon: "/favicon.ico",
49+
shortcut: "/image.png",
50+
apple: "/image.png"
51+
},
52+
robots: {
53+
index: true,
54+
follow: true,
55+
googleBot: {
56+
index: true,
57+
follow: true,
58+
"max-snippet": -1,
59+
"max-video-preview": -1
60+
}
61+
},
62+
other: {
63+
"mobile-web-app-capable": "yes"
64+
},
65+
}
1966

2067
export default function RootLayout({
2168
children,

src/app/page.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,20 @@ export default function HomePage() {
1919
<div className="hero-copy">
2020
<div style={{ display: "flex", alignItems: "center", gap: 12 }}>
2121
<Image src="/logo.png" alt="Lexicon logo" width={56} height={56} />
22-
<h1 style={{ margin: 0, fontSize: 48, lineHeight: 1.02 }}>Lexicon</h1>
22+
<h1 style={{ margin: 0, fontSize: 48, lineHeight: 1.02 }}>Lexi</h1>
2323
</div>
2424
<p className="hero-sub" style={{ marginTop: 8 }}>Your personal English coach.</p>
2525

2626
<p className="hero-lead" style={{ marginTop: 18 }}>
27-
Rephrase sentences, practice English, and sharpen your writing with AI-powered suggestions tailored to tone and length. Learning tools and tests are coming soon.
27+
Practice English, and sharpen your writing with AI powered suggestions.
2828
</p>
2929

3030
<div style={{ display: "flex", gap: 12, marginTop: 18 }}>
3131
<Link href="/rephrase" className="btn-primary">
3232
<HiMiniSparkles size={18} />
3333
<span>Try the Rephraser</span>
3434
</Link>
35-
<Link href="/skills" className="btn-secondary" aria-disabled="true">Skills (coming soon)</Link>
35+
<Link href="/about" className="btn-secondary" aria-disabled="true">Learn More</Link>
3636
</div>
3737
</div>
3838

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import type { Metadata } from 'next';
2+
3+
export const metadata: Metadata = {
4+
title: 'Rephraser Results',
5+
description: 'View the results of your rephrased sentences here.',
6+
}
7+
8+
export default function RephraseResultsLayout({ children }: { children: React.ReactNode }) {
9+
return children;
10+
}

src/app/rephrase/layout.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import type { Metadata } from 'next';
2+
3+
export const metadata: Metadata = {
4+
title: 'Sentence Rephraser',
5+
description: 'Rephrase your sentences with ease using our AI-powered tool.',
6+
}
7+
8+
export default function RephraseLayout({ children }: { children: React.ReactNode }) {
9+
return children;
10+
}

src/components/core/Navbar.tsx

Lines changed: 103 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,112 @@
1-
import React from "react";
1+
"use client"
2+
3+
import React, { useState } from "react";
24
import Image from "next/image";
3-
import { FaGithub } from "react-icons/fa";
4-
import { FaInstagram } from "react-icons/fa";
5+
import { FaGithub, FaBars, FaTimes, FaHome, FaSyncAlt, FaInfoCircle, FaTwitter } from "react-icons/fa";
56
import Link from "next/link";
67

78
function Navbar() {
9+
const [open, setOpen] = useState(false);
10+
811
return (
9-
<div className="navbar">
10-
<div style={{ display: "flex", alignItems: "center", gap: 10 }}>
11-
<Link href="/" className="brand">
12-
<Image alt="Logo" src="/logo.png" width={32} height={32} />
13-
<span className="brand">Lexi</span>
14-
</Link>
12+
<nav className="relative z-50">
13+
<div className="flex items-center justify-between px-4 py-3 navbar">
14+
<div className="flex items-center gap-4">
15+
<Link href="#" className="flex items-center gap-2 brand" onClick={() => setOpen((v) => !v)}>
16+
<Image alt="Logo" src="/logo.png" width={32} height={32} />
17+
<span className="text-lg font-semibold brand">Lexi</span>
18+
</Link>
19+
</div>
20+
21+
<div className="flex items-center gap-4">
22+
<a target="_blank" rel="noreferrer" href="https://github.com/CodeMeAPixel/Lexi" aria-label="Github" className="flex items-center gap-2">
23+
<FaGithub size={20} />
24+
<span className="sm:hidden">Star on GitHub</span>
25+
</a>
26+
</div>
1527
</div>
16-
<a target={"_blank"} rel="noreferrer" href="https://github.com/CodeMeAPixel/Lexi" aria-label="Github">
17-
<FaGithub size={24} color="#fff" />
18-
<span className="sm:hidden">Star on GitHub</span>
19-
</a>
20-
</div>
28+
29+
{/* Sidebar overlay for all screen sizes */}
30+
{open && (
31+
<div className="fixed inset-0 z-40 flex bg-grey-100/50 backdrop-blur-lg">
32+
{/* backdrop */}
33+
<button
34+
aria-hidden={true}
35+
onClick={() => setOpen(false)}
36+
className="absolute bg-grey-80/50"
37+
tabIndex={-1}
38+
/>
39+
40+
{/* sidebar */}
41+
<aside className="flex flex-col h-full p-4 overflow-y-auto w-72 sm:w-80 glass-panel">
42+
<div className="flex items-center justify-between glass-panel">
43+
<div className="flex items-center gap-2 brand">
44+
<Image alt="Logo" src="/logo.png" width={28} height={28} />
45+
<span className="text-lg font-semibold brand">Lexi</span>
46+
</div>
47+
<button
48+
aria-label="Close menu"
49+
onClick={() => setOpen(false)}
50+
className="p-2 rounded-md hover:bg-white/10 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-white"
51+
>
52+
<FaTimes />
53+
</button>
54+
</div>
55+
56+
<nav className="flex flex-col gap-2 mt-6">
57+
<Link
58+
href="/"
59+
onClick={() => setOpen(false)}
60+
className="flex items-center justify-start w-full gap-3 px-3 py-2 rounded hover:bg-white/5"
61+
>
62+
<FaHome size={16} />
63+
<span>Home</span>
64+
</Link>
65+
<Link
66+
href="/about"
67+
onClick={() => setOpen(false)}
68+
className="flex items-center justify-start w-full gap-3 px-3 py-2 rounded hover:bg-white/5"
69+
>
70+
<FaInfoCircle size={16} />
71+
<span>About</span>
72+
</Link>
73+
<Link
74+
href="/rephrase"
75+
onClick={() => setOpen(false)}
76+
className="flex items-center justify-start w-full gap-3 px-3 py-2 rounded hover:bg-white/5"
77+
>
78+
<FaSyncAlt size={16} />
79+
<span>Rephrase</span>
80+
</Link>
81+
</nav>
82+
83+
{/* footer */}
84+
<div className="pt-4 mt-auto border-t border-neutral-800">
85+
<a
86+
href="https://twitter.com/HeyLexicon"
87+
target="_blank"
88+
rel="noreferrer"
89+
onClick={() => setOpen(false)}
90+
className="flex items-center gap-2 px-3 py-2 rounded hover:bg-white/5"
91+
>
92+
<FaTwitter />
93+
<span>Follow us on Twitter</span>
94+
</a>
95+
<a
96+
href="https://github.com/CodeMeAPixel/Lexi"
97+
target="_blank"
98+
rel="noreferrer"
99+
onClick={() => setOpen(false)}
100+
className="flex items-center gap-2 px-3 py-2 rounded hover:bg-white/5"
101+
>
102+
<FaGithub />
103+
<span>Star us on GitHub</span>
104+
</a>
105+
</div>
106+
</aside>
107+
</div>
108+
)}
109+
</nav>
21110
);
22111
}
23112

0 commit comments

Comments
 (0)