|
| 1 | +# 📝 Sticky Notes Wall |
| 2 | + |
| 3 | +A dynamic, interactive digital "Wall of Inspiration" built with Vanilla JavaScript. This project spawns colorful, macOS-style sticky notes containing productivity tips, developer humor, success mantras, and calming reminders. |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | +## ✨ Features |
| 10 | + |
| 11 | +- **Infinite Spawning:** Notes appear automatically at set intervals, filling your screen with wisdom and humor. |
| 12 | +- **Interactive Windows:** Each note is a mini-window with: |
| 13 | + - 🔴 **Close:** Removes the note from the wall. |
| 14 | + - 🟡 **Minimize:** Smoothly shrinks and removes the note. |
| 15 | + - 🟢 **Maximize:** Expands the note to full-screen "Focus Mode" (Double-click the header also works!). |
| 16 | +- **Drag & Drop:** Real-time movement of cards with smooth transitions. |
| 17 | +- **Dynamic Environment:** |
| 18 | + - The browser tab title and favicon update every 3 seconds to reflect the "mood" of the wall. |
| 19 | + - Responsive layout adapts card counts and sizes for Mobile vs. Desktop. |
| 20 | +- **Categorized Content:** Messages are pulled from 5 categories: Productivity, Development, Funny, Calm, and Success. |
| 21 | + |
| 22 | +## 🚀 Quick Start |
| 23 | + |
| 24 | +Since this is a standalone project, no installation is required. |
| 25 | + |
| 26 | +1. Clone this repository or copy the code. |
| 27 | +2. Open `index.html` in any modern web browser. |
| 28 | + |
| 29 | +```html |
| 30 | +# If using a local server (optional) |
| 31 | +npx serve . |
| 32 | +``` |
| 33 | + |
| 34 | +## 🛠️ Customization |
| 35 | + |
| 36 | +You can easily customize the experience by modifying the constants in the `<script>` section: |
| 37 | + |
| 38 | +### Changing Content |
| 39 | +Locate the arrays like `productivityNotes` or `funnyNotes` to add your own messages: |
| 40 | +```javascript |
| 41 | +const productivityNotes = ["Your new message here", "Stay focused!"]; |
| 42 | +``` |
| 43 | + |
| 44 | +### Adjusting Speed & Limits |
| 45 | +Modify the following variables to change the wall behavior: |
| 46 | +- `maxCards`: Maximum notes allowed on screen. |
| 47 | +- `spawnInterval`: How fast new notes appear (in milliseconds). |
| 48 | +- `colors`: Add or remove HEX codes to change the note color palette. |
| 49 | + |
| 50 | +## 📱 Mobile Support |
| 51 | +The app is fully touch-compatible. |
| 52 | +- **Tap & Drag:** Move notes around the screen. |
| 53 | +- **Optimized UI:** Cards automatically resize and the spawn rate slows down on mobile devices to ensure smooth performance. |
| 54 | + |
| 55 | +## 🧰 Technical Details |
| 56 | +- **CSS-in-JS Animations:** Uses `transform: scale() rotate()` for high-performance rendering. |
| 57 | +- **State Tracking:** Uses `WeakMap` for efficient memory management of card properties. |
| 58 | +- **Adaptive Viewports:** Uses `dvh` (Dynamic Viewport Height) units for perfect scaling on mobile browsers. |
| 59 | + |
| 60 | + |
0 commit comments