diff --git a/public/images/products/toolbox-icon.webp b/public/images/products/toolbox-icon.webp new file mode 100644 index 0000000..7b55223 Binary files /dev/null and b/public/images/products/toolbox-icon.webp differ diff --git a/src/app/download/DownloadToggle.tsx b/src/app/download/DownloadToggle.tsx new file mode 100644 index 0000000..ec9942f --- /dev/null +++ b/src/app/download/DownloadToggle.tsx @@ -0,0 +1,37 @@ +"use client"; + +import { useState } from "react"; +import { Button } from "@/components/ui/Button"; + +export function DownloadToggle() { + const [open, setOpen] = useState(false); + + return ( +
+ + {open && ( +
+ + +
+ )} +
+ ); +} diff --git a/src/app/download/page.tsx b/src/app/download/page.tsx index a4cff44..5bba5b7 100644 --- a/src/app/download/page.tsx +++ b/src/app/download/page.tsx @@ -2,6 +2,7 @@ import Image from "next/image"; import { Metadata } from "next"; import { Container } from "@/components/layout/Container"; import { Button } from "@/components/ui/Button"; +import { DownloadToggle } from "./DownloadToggle"; export const metadata: Metadata = { title: "Download", @@ -9,157 +10,11 @@ export const metadata: Metadata = { "Download the Micromelon Code Editor, Robot Simulator, Junior, and Python library.", }; -interface PlatformLink { - label: string; - href: string; - icon: string; -} - -interface ProductCardProps { - name: string; - description: string; - image: string; - imageAlt: string; - platforms?: PlatformLink[]; - installCommand?: string; - extraLink?: { label: string; href: string }; - note?: string; - accent?: string; -} - -function ProductCard({ - name, - description, - image, - imageAlt, - platforms, - installCommand, - extraLink, - note, - accent = "border-border", -}: ProductCardProps) { - return ( -
-
- {imageAlt} -
-
-

{name}

-

{description}

- - {installCommand && ( -
-

- Install via pip: -

- - $ {installCommand} - -
- )} - - {platforms && platforms.length > 0 && ( -
-

- Available on -

-
- {platforms.map((platform) => ( - - ))} -
-
- )} - - {extraLink && ( -
- -
- )} - - {note && ( -

{note}

- )} -
-
- ); -} - -const downloadProducts: ProductCardProps[] = [ - { - name: "The Code Editor", - description: - "Our blocks & Python coding environment to program the Micromelon Rover and the Robot Simulator. Start with drag-and-drop blocks and progress to Python with the side-by-side editor.", - image: "/images/products/code-editor-laptop.gif", - imageAlt: "Micromelon Code Editor showing blocks and Python side by side", - accent: "border-brand", - platforms: [ - { label: "Windows", href: "https://micromelon-s3.s3.ap-southeast-2.amazonaws.com/Micromelon+Code+Setup.exe", icon: "\u{1F5A5}" }, - { label: "macOS", href: "https://micromelon-s3.s3.ap-southeast-2.amazonaws.com/Micromelon+Code.dmg", icon: "\u{1F4BB}" }, - { label: "iPad", href: "https://apps.apple.com/au/app/micromelon-code/id1542702054", icon: "\u{1F4F1}" }, - { label: "Android", href: "https://play.google.com/store/apps/details?id=com.nicerapps.micromeloncode", icon: "\u{1F4F1}" }, - { label: "Chromebook", href: "https://play.google.com/store/apps/details?id=com.nicerapps.micromeloncode", icon: "\u{1F4BB}" }, - ], - }, - { - name: "The Robot Simulator", - description: - "Control a simulated Micromelon Rover in a 3D virtual environment. Solve challenges, navigate environments, and test your code - no physical robot needed.", - image: "/images/products/simulator-demo.gif", - imageAlt: "Micromelon Robot Simulator 3D environment", - accent: "border-teal-400", - platforms: [ - { label: "Windows", href: "https://micromelon-s3.s3.ap-southeast-2.amazonaws.com/Micromelon+Simulator+Setup.exe", icon: "\u{1F5A5}" }, - { label: "macOS", href: "https://apps.apple.com/au/app/micromelon-simulator/id1544591007", icon: "\u{1F4BB}" }, - ], - }, - { - name: "Micromelon-Py", - description: - "A dedicated Python module providing an API for connecting and controlling Micromelon Rovers and simulated rovers. Perfect for senior students and advanced projects.", - image: "/images/content/6d295c-vscode-cover-photo.png", - imageAlt: "Micromelon Python library in VS Code", - installCommand: "pip install micromelon", - extraLink: { - label: "View on PyPI", - href: "https://pypi.org/project/micromelon/", - }, - }, - { - name: "Junior", - description: - "Ideal for students not yet confident to navigate the Code Editor, or for lesson plans which aim to teach the basics of computational thinking with a simplified interface.", - image: "/images/products/rover-render.jpg", - imageAlt: "Micromelon Junior app for young learners", - platforms: [ - { label: "iPad", href: "https://apps.apple.com/au/app/micromelon-junior/id1522717379", icon: "\u{1F4F1}" }, - { label: "Android", href: "https://play.google.com/store/apps/details?id=com.nicerapps.micromelonjunior", icon: "\u{1F4F1}" }, - ], - }, -]; - export default function DownloadPage() { return ( <> {/* Hero */} -
+

@@ -173,13 +28,309 @@ export default function DownloadPage() {

- {/* Download Cards */} -
+ {/* — For Coding — */} +
-
- {downloadProducts.map((product) => ( - - ))} +

+ For Teachers & Students +

+ +
+ + {/* Code Editor */} +
+ +
+
+ Micromelon Code Editor showing blocks and Python side by side +
+
+

+ The Code Editor +

+

+ Our blocks & Python coding environment to program the + Micromelon Rover and the Robot Simulator. Start with + drag-and-drop blocks and progress to Python with the + side-by-side editor. +

+

+ Available on +

+
+ + + + + +
+ +
+
+
+
+ + {/* Robot Simulator */} +
+ +
+
+

+ The Robot Simulator +

+

+ Control a simulated Micromelon Rover in a 3D virtual + environment. Solve challenges, navigate environments, and test + your code — no physical robot needed. +

+

+ Available on +

+
+ + +
+
+
+ Micromelon Robot Simulator 3D environment +
+
+
+
+ + {/* Junior */} +
+ +
+
+ Micromelon Junior app interface +
+
+

Junior

+

+ Ideal for students not yet confident to navigate the Code + Editor, or for lesson plans which aim to teach the basics of + computational thinking with a simplified interface. +

+

+ Available on +

+
+ + +
+
+
+
+
+ + {/* — For Teachers — */} +
+ +

+ For Teachers +

+
+
+ + {/* Toolbox App */} +
+ +
+
+

+ Micromelon Toolbox +

+

+ Manage your fleet of Micromelon Rovers. Update firmware, + configure settings, and keep every Rover in your classroom + ready to code. +

+

+ Available on +

+
+ +
+
+
+ Micromelon Toolbox App +
+
+
+
+ + {/* — Advanced Tools — */} +
+ +

+ Advanced Tools +

+
+
+ + {/* Micromelon-Py */} +
+ +
+
+ Micromelon Python library in VS Code +
+
+

Micromelon-Py

+

+ A dedicated Python module providing an API for connecting and + controlling Micromelon Rovers and simulated rovers. Perfect for + senior students and advanced projects. +

+
+

+ Install via pip: +

+ + $ pip install micromelon + +
+
+ + +
+
+
+
+
+ + {/* VS Code Plugin — Coming Soon */} +
+ +
+
+

VS Code Plugin

+

+ Code with Micromelon directly inside Visual Studio Code. Connect + to your Rover or the Robot Simulator without leaving your + favourite editor. +

+
+ + Coming Soon + +
+
+
+ Micromelon VS Code plugin +
diff --git a/src/app/python/page.tsx b/src/app/python/page.tsx index 452ccab..5de33eb 100644 --- a/src/app/python/page.tsx +++ b/src/app/python/page.tsx @@ -723,11 +723,19 @@ export default function PythonPage() {
-
- VS Code Extension +
+ + VS Code Extension + + + Coming Soon +