Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/log-portfolio/llms.txt
Use this file to discover all available pages before exploring further.
Taskbar is the persistent navigation strip fixed to the bottom of the screen. It gives visitors three things at a glance: a Start button that opens a decorative program menu, a row of window buttons that mirror every open application, and a system tray that shows a live clock updating every second. The component is entirely self-contained — it reads window state from WindowContext and manages only its own Start-menu open/closed toggle locally.
Layout
The taskbar mounts as a fixed bar spanning the full viewport width:| Property | Value | Notes |
|---|---|---|
| Height | h-10 (40 px) | Matches the pb-12 / pb-10 clearance used by the Desktop |
| Background | win-bg | Shared Windows 98 grey surface class |
| Border | win-border | Raised outer bevel |
| Z-index | 9999 | Sits above all application windows |
Start Button
The Start button is awin-button that toggles a local boolean with useState. When active, win-border-inset is added to the button to give the pressed-in look:
Start Menu
WhenstartOpen is true, an absolutely-positioned popup renders above the button:
Sidebar
A narrow vertical strip on the left side of the menu reproduces the Windows 98 gradient sidebar:Menu Items
Three items appear in the menu body (offset right of the sidebar withml-8):
Programs
Renders a
Terminal (Lucide) icon with a ChevronRight arrow on the right. Decorative only — clicking does not navigate anywhere.Documents
Renders a yellow square div as the icon with a
ChevronRight arrow. Decorative only.Shut Down...
Rendered below a horizontal
win-border-inset divider. Uses a red circle with a white ! as the icon. Decorative only — clicking does not trigger any shutdown behaviour.hover:bg-[#000080] hover:text-white, the classic Windows 98 blue selection highlight.
None of the Start menu items are wired to functional actions. They exist purely to complete the Windows 98 aesthetic. If you want to add real navigation (e.g., opening a specific window), call
openWindow() from useWindows() inside the item’s onClick handler.Window Buttons
The middle section of the taskbar is a flex row that renders one button per entry inwindows from WindowContext:
Click Behaviour
| Window state | Action on click |
|---|---|
| Minimized | restoreWindow(id) — brings the window back onto the desktop |
| Active and not minimized | No-op — the window is already focused |
| Inactive and not minimized | focusWindow(id) — raises the window to the top |
Active Button Style
When a window is the currently active (focused) window and is not minimized, its taskbar button receiveswin-border-inset bg-gray-300, giving it the pressed-in appearance to indicate it is in the foreground.
System Tray
The system tray sits at the right end of the taskbar in awin-border-inset container:
Connection Indicator
A 16 × 16 px green circle withanimate-pulse serves as a network connection indicator. It is always green and always pulsing — a nod to the era’s always-visible connection status icons.
Live Clock
The displayed time is updated every second via asetInterval that is cleaned up on unmount:
02:45 PM (en-US) or 14:45 (en-GB), matching the visitor’s system locale automatically.