You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -43,8 +43,8 @@ Track, organize, rate and launch every game you own — Steam, Epic, GOG, and cu
43
43
44
44
| Installer | Format | Notes |
45
45
|-----------|--------|-------|
46
-
|[ZGameLib_0.7.0_x64_en-US.msi](https://zsync.eu/zgamelib/app/ZGameLib_0.7.0_x64_en-US.msi)|`.msi`|**Recommended** — Windows Installer |
47
-
|[ZGameLib_0.7.0_x64-setup.exe](https://zsync.eu/zgamelib/app/ZGameLib_0.7.0_x64-setup.exe)|`.exe`| NSIS alternative installer |
46
+
|[ZGameLib_0.8.0_x64_en-US.msi](https://zsync.eu/zgamelib/app/ZGameLib_0.8.0_x64_en-US.msi)|`.msi`|**Recommended** — Windows Installer |
47
+
|[ZGameLib_0.8.0_x64-setup.exe](https://zsync.eu/zgamelib/app/ZGameLib_0.8.0_x64-setup.exe)|`.exe`| NSIS alternative installer |
48
48
49
49
> **Windows SmartScreen:** On first launch you may see *"Windows protected your PC"* — click **More info → Run anyway**. This is expected for unsigned indie apps.
50
50
@@ -59,7 +59,7 @@ Track, organize, rate and launch every game you own — Steam, Epic, GOG, and cu
59
59
-[Mod Loader](#-mod-loader)
60
60
-[Game Spin Wheel](#-game-spin-wheel)
61
61
-[Statistics](#-statistics)
62
-
-[Themes](#-themes--7-built-in)
62
+
-[Themes](#-themes--7-built-in--custom)
63
63
-[System Integration](#-system-integration)
64
64
-[Data & Privacy](#-data--privacy)
65
65
-[Keyboard Shortcuts](#keyboard-shortcuts)
@@ -129,10 +129,15 @@ Track, organize, rate and launch every game you own — Steam, Epic, GOG, and cu
129
129
- Scroll-to-top floating button after 400 px of scroll
130
130
131
131
**Context Menu & Health**
132
-
-**Right-click** any game card or list row → Play · Open Folder · Favorite · Pin · Copy Name · View Details · **Delete**
132
+
-**Right-click** any game card or list row → Play · Open Folder · Favorite · Pin · Copy Name · View Details · **Collections** (submenu) · **Delete**
133
133
-**Exe health badge** — amber warning icon on cards when the executable is missing
134
134
- Loading skeleton grid while library loads
135
135
136
+
**Bulk IGDB Scan**
137
+
- Sparkle button (✦) in the Topbar scans every game that has no IGDB data and is not flagged
138
+
- Spins while running; a live `X/Y` counter badge shows progress
139
+
- Games flagged after clearing wrong IGDB data are silently skipped
140
+
136
141
**Command Palette** (`Ctrl+K`)
137
142
- Centered overlay with fuzzy search across all game names
138
143
- Results show cover thumbnail and platform badge; keyboard navigation (↑ ↓ Enter Escape)
@@ -141,9 +146,18 @@ Track, organize, rate and launch every game you own — Steam, Epic, GOG, and cu
141
146
**Batch Multi-Select**
142
147
- Checkbox appears top-left on game cards (visible on hover or when selected) and in list rows
143
148
- Select multiple games; a **BatchActionBar** slides up from the bottom
144
-
- Apply a status, set a rating (clamped 1–10), or add a tagto all selected games at once
149
+
- Apply a status, set a rating (clamped 1–10), add a tag, or **add to a Collection** — all applied to every selected game at once
145
150
- Delete all selected games with one click; × clears the selection
146
151
152
+
**Collections**
153
+
- Create named collections to group games any way you like
154
+
- Grid/list view toggle, search bar, and click-to-edit description per collection
155
+
- Right-click a collection to rename or delete it
156
+
- Open a collection to browse its games with search and grid/list toggle
157
+
- Right-click any game (anywhere) → **Collections submenu** — checkmarks show which collections it belongs to; click to add or remove
158
+
- A game can belong to multiple collections simultaneously
159
+
-**Remove from Collection** option appears in the right-click menu when browsing a collection
160
+
147
161
**Weekly Playtime Goal**
148
162
- Set a weekly playtime target in hours at the top of the Library page
149
163
- Animated progress bar with current week's playtime
@@ -212,10 +226,12 @@ A slide-in drawer (500 px wide) that opens without navigating away from your lib
212
226
-**10-star rating** (interactive, 1–10 scale; fire icon 🔥 appears when rating ≥ 8)
213
227
-**Quick rate** — 10-button rating row appears on game card hover (no need to open the panel)
214
228
-**Custom status buttons** — your defined statuses, color-coded
215
-
-**Tags** — add/remove inline; comma or Enter to confirm
229
+
-**Tags** — add/remove inline; comma or Enter to confirm; removing a tag shows a **5-second undo countdown** with strikethrough — click the tag to cancel before it commits
216
230
-**Description** — freeform textarea, editable inline; truncated at 200 chars with "Show more / Show less"
217
231
-**Custom fields** — add arbitrary key/value metadata per game; stored per-game in the database
218
232
-**Time-to-beat** — click the clock icon to fetch HowLongToBeat data; main story and completionist hours shown in the stats grid; cached in DB
233
+
-**IGDB Metadata** — click the sparkle icon to fetch genre, developer, publisher, and release year from IGDB; shown in a modern card with custom SVG icons; (i) button warns about potential name-match inaccuracy; trash button clears data and flags the game so future fetches prompt for confirmation
234
+
-**Collections** — `+` button opens a dropdown to add/remove the game from any of your collections; checkmarks show current membership
219
235
-**Notes** section (see below)
220
236
221
237
</td>
@@ -245,6 +261,7 @@ A slide-in drawer (500 px wide) that opens without navigating away from your lib
245
261
**Notes**
246
262
- Timestamped notes per game — full history preserved
247
263
- Inline editor per note (edit / delete)
264
+
-**Markdown preview** — per-note toggle between edit (pencil) and rendered preview (eye icon); renders full Markdown with sanitization
248
265
- New note textarea at the bottom
249
266
- <kbd>Ctrl</kbd> + <kbd>Enter</kbd> to save a new note
250
267
@@ -362,6 +379,7 @@ All stat cards are **clickable** — each navigates to the Library with the rele
362
379
-**Playtime — Last 12 Weeks** — bar chart grouped by ISO week; bars grow from bottom with staggered entrance animation; hover for exact hours; weeks labeled every other column to avoid crowding
363
380
-**Lowest Rated** — up to 5 games with a rating ≤ 4, scores highlighted in red
364
381
-**Most Neglected** — up to 5 games with zero recorded playtime, sorted by time in library, with "Added X days ago" label
382
+
-**Library Growth** — stacked bar chart showing how many games were added per calendar month, bars colored by platform; legend at the bottom
365
383
- Staggered entrance animations
366
384
367
385
</td>
@@ -370,7 +388,7 @@ All stat cards are **clickable** — each navigates to the Library with the rele
370
388
371
389
---
372
390
373
-
### 🎨 Themes — 7 Built-In
391
+
### 🎨 Themes — 7 Built-In + Custom
374
392
375
393
| # | Theme | Accent | Base Background |
376
394
|---|-------|--------|----------------|
@@ -381,6 +399,9 @@ All stat cards are **clickable** — each navigates to the Library with the rele
381
399
| 5 |**Dracula**| 🌸 Pink / Red |`#282a36`|
382
400
| 6 |**Gruvbox**| 🟠 Warm orange |`#282828`|
383
401
| 7 |**Tokyo Night**| 💙 Blue cyan |`#1a1b26`|
402
+
| + |**Custom**| Any color | Any color |
403
+
404
+
**Custom Theme Creator** — pick one accent color and a background; ZGameLib auto-generates all 8 accent shades (200–900) via HSL math. The entire app previews live as you adjust colors. Save with a name, edit or delete anytime. Stored as JSON in the `custom_themes` setting.
384
405
385
406
All themes are implemented as **CSS custom properties** (`--accent-200` through `--accent-900`). Every accent color, gradient, glow, glass effect, and border throughout the entire UI responds to the active theme — not just backgrounds.
386
407
@@ -448,7 +469,8 @@ All themes are implemented as **CSS custom properties** (`--accent-200` through
448
469
3. Launch the app — the database and settings will now be stored in the same folder as the exe
449
470
> Make sure the file is named exactly `portable.flag` with no `.txt` extension. If Windows is hiding extensions, check via View → Show → File name extensions.
450
471
-**Zero telemetry. Zero accounts. Zero cloud.**
451
-
- The only network calls made are: cover art fetching (Steam CDN / GOG / Steam SearchApps), HLTB lookup (on user request), mod installer downloads from GitHub, and the update check against `zsync.eu` — all explicitly user-initiated or one-time at startup
472
+
-**Export library** JSON now uses v3 format — includes `collections` and `collection_games`; backwards-compatible with older exports on import
473
+
- The only network calls made are: cover art fetching (Steam CDN / GOG / Steam SearchApps), HLTB lookup (on user request), IGDB metadata fetch via Twitch OAuth (on user request), mod installer downloads from GitHub, and the update check against `zsync.eu` — all explicitly user-initiated or one-time at startup
452
474
453
475
---
454
476
@@ -694,9 +716,32 @@ setCommandPaletteOpen
694
716
|`custom_fields`| TEXT | NOT NULL DEFAULT '{}' | JSON map of user-defined key/value metadata |
695
717
|`hltb_main_mins`| INTEGER || HowLongToBeat main story time in minutes |
696
718
|`hltb_extra_mins`| INTEGER || HowLongToBeat completionist time in minutes |
719
+
|`genre`| TEXT || IGDB genre (first match) |
720
+
|`developer`| TEXT || IGDB developer company name |
721
+
|`publisher`| TEXT || IGDB publisher company name |
722
+
|`release_year`| INTEGER || IGDB first release year |
723
+
|`igdb_skipped`| INTEGER | NOT NULL DEFAULT 0 | 1 when user cleared IGDB data — prompts confirmation before re-fetch |
0 commit comments