Initial commit

This commit is contained in:
AG
2025-12-20 16:32:05 +02:00
commit f430c2b757
31 changed files with 4797 additions and 0 deletions

View File

@@ -0,0 +1,82 @@
### 1. Manual Save
#### ✅ "Save Session" Button
- Button icon: 🖫 (diskette), with tooltip: "Save session"
- Opens modal:
- Input: name of the session
- Option: overwrite existing session with same name (if applicable)
- Stores:
- Name
- Timestamp
- State (`data`)
- `isAutosave: false`
---
### 2. Saved Sessions Panel
#### ✅ Access
- Button/icon to open modal or dropdown with saved sessions
#### 🔁 Display Rules
- Top item: "Autosaved Session" (non-deletable, clearly labeled)
- Followed by manually saved sessions, **sorted alphabetically by name**
#### ✅ Item UI Elements
- Session name
- Save timestamp
- Load button (clickable name)
- Delete button (only for manual saves)
- Delete must open confirmation modal:
> “Delete this saved session? This action cannot be undone.”
#### ✅ Loading a Saved Session
- Replaces current app state with the saved one
- If unsaved changes exist, confirm before loading:
> “Load saved session? This will replace your current progress.”
---
### 🧠 Logic Extension: Loading Saved Sessions & Autosave
> ✅ **When the user loads a saved session, autosave continues in the background.**
- The **loaded state becomes the new working session**.
- All further changes are autosaved into the `Autosaved Session`.
- The user can still press "Save Session" again:
- If using the **same name**, prompt:
> “Overwrite the session ChillBeat? This will replace the saved version.”
- Or offer a new name input
- User can also choose to **delete the older version** after saving.