Skip to content

Commit 06c3a03

Browse files
committed
Initial home page and tab setup
1 parent 2b5813e commit 06c3a03

12 files changed

Lines changed: 62 additions & 41 deletions

File tree

app/dashboard/page.tsx

Lines changed: 0 additions & 5 deletions
This file was deleted.

app/docs/page.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
1+
import { Construction } from "lucide-react"
2+
13
export default function Docs() {
24
return (
3-
<h1>Docs</h1>
5+
<div className="flex flex-col items-center justify-center flex-1 gap-4">
6+
<Construction className="size-20 text-muted-foreground" />
7+
<h1 className="text-3xl font-bold">Documentation</h1>
8+
<p className="text-md text-muted-foreground">Javabee documentation is currently under construction.</p>
9+
</div>
410
)
511
}

app/ftc-utils/page.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { Construction } from 'lucide-react';
2+
3+
export default function FTCUtilities() {
4+
return (
5+
<div className="flex flex-col items-center justify-center flex-1 gap-4">
6+
<Construction className="size-20 text-muted-foreground" />
7+
<h1 className="text-3xl font-bold">General FTC Utilities</h1>
8+
<p className="text-md text-muted-foreground">This page will hold useful utilities like pulley/belt calculators, CAD libraries, resources, etc.</p>
9+
</div>
10+
)
11+
}

app/globals.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
--card-foreground: oklch(0.145 0 0);
5555
--popover: oklch(1 0 0);
5656
--popover-foreground: oklch(0.145 0 0);
57-
--primary: oklch(0.852 0.199 91.936);
57+
--primary: oklch(0.8596 0.1739 88.73);
5858
--primary-foreground: oklch(0.421 0.095 57.708);
5959
--secondary: oklch(0.967 0.001 286.375);
6060
--secondary-foreground: oklch(0.21 0.006 285.885);
@@ -89,7 +89,7 @@
8989
--card-foreground: oklch(0.985 0 0);
9090
--popover: oklch(0.205 0 0);
9191
--popover-foreground: oklch(0.985 0 0);
92-
--primary: oklch(0.795 0.184 86.047);
92+
--primary: oklch(0.8596 0.1739 88.73);
9393
--primary-foreground: oklch(0.421 0.095 57.708);
9494
--secondary: oklch(0.274 0.006 286.033);
9595
--secondary-foreground: oklch(0.985 0 0);

app/home/page.tsx

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,25 @@
11
"use client";
22
import TypeIt from "typeit-react";
3+
import { Button } from "@/components/ui/button";
34

4-
export default function Home() {
5+
export default function Home({ setCurrentTab }: { setCurrentTab?: (tab: string) => void }) {
56
return (
6-
<div className="relative flex flex-col w-full h-full justify-center items-center">
7+
<div className="relative flex flex-col w-full items-center">
78
<div className="absolute top-0 left-0 right-0 h-[30vh] bg-linear-to-b from-primary/4 to-transparent pointer-events-none" />
89

9-
<img className="rounded-md mt-10 mb-6" width={570} height={240} src="/banner.png" alt="PySplanner Logo" />
10+
{/* <img className="rounded-md mt-10 mb-6" width={570} height={240} src="/banner.png" alt="JavaBee Logo" /> */}
11+
<div className="rounded-md mb-6 mt-10 bg-black w-142.5 h-60 flex items-center justify-center">
12+
<h1>Banner logo here</h1>
13+
</div>
14+
1015
<div className="w-1/2 text-center">
1116
<TypedHeading />
12-
<p className="text-lg text-muted-foreground mt-4">PySplanner is a powerful tool that generates optimized movement plans for LEGO robots, ensuring efficient and effective performance.</p>
17+
<p className="text-lg text-muted-foreground mt-4">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
18+
</div>
19+
20+
<div className="flex items-center gap-4 mt-8">
21+
<Button size="lg" onClick={() => setCurrentTab?.('docs')}>Get Started with JavaBee</Button>
22+
<Button variant="outline" size="lg" onClick={() => setCurrentTab?.('ftc-utils')}>General FTC Utilities</Button>
1323
</div>
1424
</div>
1525
)
@@ -18,26 +28,26 @@ export default function Home() {
1828
function TypedHeading() {
1929
return (
2030
<h2 className="font-bold text-4xl tracking-tight">
21-
LEGO Robot Movement,&nbsp;
31+
FTC Programming,&nbsp;
2232
<TypeIt
2333
options={{
2434
speed: 70,
25-
deleteSpeed: 50,
35+
deleteSpeed: 40,
2636
waitUntilVisible: true,
2737
loop: true,
2838
}}
2939
getBeforeInit={(instance) =>
3040
instance
31-
.type("simplified.")
41+
.type("just got easier.")
3242
.pause(1500)
3343
.delete()
34-
.type("made for FLL.")
44+
.type("for rookies and veterans alike.")
3545
.pause(1500)
3646
.delete()
37-
.type("crazy easy.")
47+
.type("more powerful.")
3848
.pause(1500)
3949
.delete()
40-
.type("that doesn't suck.")
50+
.type("that just works.")
4151
.pause(1500)
4252
.delete()
4353
.type("repeatable.")
@@ -49,13 +59,16 @@ function TypedHeading() {
4959
.type("revolutionized.")
5060
.pause(1500)
5161
.delete()
52-
.type("precise.")
62+
.type("clean.")
5363
.pause(1500)
5464
.delete()
5565
.type("optimized.")
5666
.pause(1500)
5767
.delete()
58-
.type("no guesswork.")
68+
.type("integrated.")
69+
.pause(1500)
70+
.delete()
71+
.type("made fun.")
5972
.pause(1500)
6073
.delete()
6174
}

app/page.tsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,21 @@ import { Footer } from '@/components/footer';
55
import { MenuBar } from '@/components/menu-bar';
66

77
import HomeTab from './home/page';
8-
import DashboardTab from './dashboard/page';
9-
import VisualizerTab from './visualizer/page';
8+
import FTCUtilsTab from './ftc-utils/page';
109
import DocsTab from './docs/page';
1110

1211
export default function Home() {
1312
const [currentTab, setCurrentTab] = useState('home');
1413

1514
let Content = HomeTab;
16-
if (currentTab === 'dashboard') Content = DashboardTab;
17-
else if (currentTab === 'visualizer') Content = VisualizerTab;
15+
if (currentTab === 'ftc-utils') Content = FTCUtilsTab;
1816
else if (currentTab === 'docs') Content = DocsTab;
1917

2018
return (
2119
<div className="flex flex-col min-h-screen min-w-screen bg-background">
2220
<MenuBar currentTab={currentTab} onTabChange={setCurrentTab} />
23-
<div className="flex-1 flex flex-col w-full">
24-
<Content />
21+
<div className="flex-1 flex flex-col w-full h-full">
22+
<Content setCurrentTab={setCurrentTab} />
2523
</div>
2624
<Footer className="w-full mt-auto shrink-0" />
2725
</div>

app/visualizer/page.tsx

Lines changed: 0 additions & 5 deletions
This file was deleted.

components/footer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
export function Footer({ className }: { className?: string }) {
22
return (
33
<footer className={`mt-auto border-t border-fd-border py-6 px-6 text-center text-sm text-muted-foreground ${className ?? ''}`}>
4-
&copy; 2026 PySplanner. PySplanner is licensed under the <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/?ref=chooser-v1" className="text-fd-foreground hover:underline">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>. The PySplanner name and logo are trademarks of PySplanner.
4+
&copy; 2026 JavaBee. JavaBee is licensed under the <a href="https://www.gnu.org/licenses/gpl-3.0.en.html" className="text-fd-foreground hover:underline">GNU General Public License v3.0</a>. The JavaBee name and logo are trademarks of JavaBee.
55
</footer>
66
);
77
}

components/media-buttons.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
function Discord() {
22
return (
3-
<a href="https://discord.gg/pysplanner" target="_blank" rel="noopener noreferrer">
3+
<a href="https://discord.gg/AdR5wgyJqz" target="_blank" rel="noopener noreferrer">
44
<svg className="size-6" fill="currentColor" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
55
<title>Discord</title>
66
<path d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"/>
@@ -11,7 +11,7 @@ function Discord() {
1111

1212
function Github() {
1313
return (
14-
<a href="https://github.com/pysplanner" target="_blank" rel="noopener noreferrer">
14+
<a href="https://github.com/MikeyIsANerd/JavaBeeUtils" target="_blank" rel="noopener noreferrer">
1515
<svg className="size-6" fill="currentColor" role="img" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
1616
<title>GitHub</title>
1717
<path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27s1.36.09 2 .27c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8"/>

components/menu-bar.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,18 @@ export function MenuBar({ currentTab, onTabChange }: MenuBarProps) {
1414
<div className="w-full h-16 border-b flex items-center justify-between px-6 bg-background shrink-0">
1515
{/* Logo and Title */}
1616
<div className="flex flex-1 items-center gap-3 font-bold text-lg">
17-
<img src="/logo.png" alt="PySplanner Logo" width={40} height={40} className="rounded-md" />
18-
<span className="text-primary">PySplanner</span>
17+
{/* <img src="/logo.png" alt="JavaBee Logo" width={40} height={40} className="rounded-md" /> */}
18+
<div className="rounded-md bg-black w-10 h-10 flex items-center justify-center">
19+
<p className="text-xs">Logo</p>
20+
</div>
21+
22+
<span className="text-primary">JavaBee Utilities</span>
1923
</div>
2024

2125
<Tabs value={currentTab} onValueChange={onTabChange}>
2226
<TabsList variant="line">
2327
<TabsTrigger value="home">Home</TabsTrigger>
24-
<TabsTrigger value="dashboard">Dashboard</TabsTrigger>
25-
<TabsTrigger value="visualizer">Visualizer</TabsTrigger>
28+
<TabsTrigger value="ftc-utils">General FTC Utilities</TabsTrigger>
2629
<TabsTrigger value="docs">Docs</TabsTrigger>
2730
</TabsList>
2831
</Tabs>

0 commit comments

Comments
 (0)