# Quick Start Guide - General Bots Desktop Get up and running with General Bots Desktop in 5 minutes! ## 🚀 Installation ### Option 1: Using Python (Recommended) ```bash cd botserver/web/desktop python3 -m http.server 8000 ``` Open http://localhost:8000 in your browser. ### Option 2: Using Node.js ```bash cd botserver/web/desktop npx http-server -p 8000 ``` ### Option 3: Using PHP ```bash cd botserver/web/desktop php -S localhost:8000 ``` ## 📂 Project Structure at a Glance ``` desktop/ ├── index.html # Main entry point ├── css/app.css # Core styles + theme system ├── js/ │ ├── theme-manager.js # Theme switching │ └── layout.js # Section loading ├── public/themes/ # 19+ theme files ├── chat/ # Chat module ├── drive/ # Drive module ├── tasks/ # Tasks module └── mail/ # Mail module ``` ## 🎨 Try Different Themes 1. Launch the application 2. Click the theme dropdown in the header 3. Select any theme (try "Cyberpunk" or "Retrowave"!) 4. Theme is saved automatically ## ⌨️ Essential Keyboard Shortcuts - **Alt + 1** → Chat - **Alt + 2** → Drive - **Alt + 3** → Tasks - **Alt + 4** → Mail - **Esc** → Close menus ## 🛠️ Create Your First Theme ### Step 1: Create Theme File Create `public/themes/myawesome.css`: ```css :root { /* Base colors (HSL format: H S% L%) */ --background: 230 35% 10%; /* Dark blue-gray */ --foreground: 0 0% 95%; /* Light text */ /* Cards */ --card: 230 35% 15%; --card-foreground: 0 0% 95%; /* Primary accent (your brand color) */ --primary: 280 90% 60%; /* Purple */ --primary-foreground: 0 0% 100%; /* Secondary */ --secondary: 230 35% 20%; --secondary-foreground: 0 0% 95%; /* Muted elements */ --muted: 230 35% 25%; --muted-foreground: 230 15% 60%; /* Accent highlights */ --accent: 340 90% 60%; /* Pink */ --accent-foreground: 0 0% 100%; /* Error states */ --destructive: 0 85% 60%; --destructive-foreground: 0 0% 98%; /* Borders and inputs */ --border: 230 35% 20%; --input: 230 35% 20%; --ring: 280 90% 60%; /* Border radius */ --radius: 0.5rem; /* Charts */ --chart-1: 280 90% 60%; --chart-2: 340 90% 60%; --chart-3: 200 90% 60%; --chart-4: 140 90% 60%; --chart-5: 40 90% 60%; } ``` ### Step 2: Register Your Theme Edit `js/theme-manager.js`, add to the `themes` array: ```javascript { id: "myawesome", name: "✨ My Awesome", file: "myawesome.css" } ``` ### Step 3: Test It! 1. Reload the application 2. Open theme dropdown 3. Select "✨ My Awesome" 4. Enjoy your custom theme! ## 🧩 Add a New Module ### Step 1: Create Module Files Create directory: `mymodule/` **mymodule/mymodule.html:** ```html

My Module

Hello from my custom module!

``` **mymodule/mymodule.css:** ```css .mymodule-layout { padding: var(--space-xl); max-width: 1200px; margin: 0 auto; padding-top: calc(var(--header-height) + var(--space-xl)); } .mymodule-layout h1 { color: var(--text-primary); margin-bottom: var(--space-lg); } ``` **mymodule/mymodule.js:** ```javascript console.log('My Module loaded!'); // Initialize your module here ``` ### Step 2: Register Module Edit `js/layout.js`, add to `sections` object: ```javascript const sections = { drive: "drive/drive.html", tasks: "tasks/tasks.html", mail: "mail/mail.html", chat: "chat/chat.html", mymodule: "mymodule/mymodule.html" // Add this }; ``` ### Step 3: Add to Apps Menu Edit `index.html`, add to `.app-grid`: ```html My Module ``` ### Step 4: Test Your Module 1. Reload application 2. Click apps menu (9 dots icon) 3. Click "My Module" 4. See your module load! ## 🎯 Common Tasks ### Change Logo Edit `index.html`, update `logo-icon`: ```html
``` ### Change App Title Edit `index.html`: ```html My Awesome App My Awesome App ``` ### Customize Colors in Code ```css .my-component { /* Use theme variables */ background: var(--primary-bg); color: var(--text-primary); border: 1px solid var(--border-color); } .my-button { background: var(--accent-color); color: hsl(var(--primary-foreground)); } .my-button:hover { background: var(--accent-hover); } ``` ### Add Custom Styles Create `css/custom.css`: ```css .my-custom-class { /* Your styles using theme variables */ padding: var(--space-lg); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); } ``` Link it in `index.html`: ```html ``` ## 🐛 Troubleshooting ### Theme Not Loading? 1. Check browser console (F12) 2. Verify file exists in `public/themes/` 3. Check CSS syntax (no commas in HSL values!) 4. Clear browser cache (Ctrl+Shift+R) ### Module Not Showing? 1. Check all three files exist (HTML, CSS, JS) 2. Verify registration in `layout.js` 3. Check browser console for errors 4. Ensure file paths are correct ### Colors Look Wrong? HSL format is: `H S% L%` (no commas!) **Wrong:** `hsl(280, 90%, 60%)` **Right:** `280 90% 60%` ### Can't Switch Sections? 1. Check console for JavaScript errors 2. Verify `window.switchSection` is defined 3. Try reloading the page 4. Clear localStorage ## 📚 Next Steps - **Themes:** Read [THEMES.md](THEMES.md) for advanced theming - **Components:** Check [COMPONENTS.md](COMPONENTS.md) for UI components - **Full Docs:** See [README.md](README.md) for complete documentation ## 💡 Tips & Tricks ### Debug Mode Open browser console and enable verbose logging: ```javascript localStorage.setItem('debug', 'true'); location.reload(); ``` ### Test All Themes Quickly ```javascript // Run in browser console const themes = ThemeManager.getAvailableThemes(); themes.forEach((t, i) => { setTimeout(() => ThemeManager.loadTheme(t.id), i * 2000); }); ``` ### HSL Color Picker Use online tools: - https://hslpicker.com/ - https://coolors.co/ - Chrome DevTools color picker ### Accessibility Check ```javascript // Check contrast ratios in console const bg = getComputedStyle(document.body).backgroundColor; const fg = getComputedStyle(document.body).color; console.log('Background:', bg); console.log('Foreground:', fg); ``` ## 🎓 Learning Resources - **HSL Colors:** https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hsl - **CSS Variables:** https://developer.mozilla.org/en-US/docs/Web/CSS/--* - **Accessibility:** https://www.w3.org/WAI/WCAG21/quickref/ - **Alpine.js:** https://alpinejs.dev/ (used in Drive/Tasks/Mail) ## 🤝 Get Help - Check documentation files in this directory - Review browser console for errors - Test with different browsers - Try disabling browser extensions ## ✅ Checklist for New Features - [ ] Works with all themes - [ ] Responsive on mobile - [ ] Keyboard navigation works - [ ] ARIA labels present - [ ] Uses theme variables - [ ] No console errors - [ ] Documented in code - [ ] Tested in multiple browsers --- **Happy Building! 🚀** *Need more help? See README.md, THEMES.md, and COMPONENTS.md*