[PR #124] [CLOSED] #51 Adds settings page with showTitleDescriptionOnGamePanel #222

Closed
opened 2026-02-17 17:06:27 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Drop-OSS/drop/pull/124
Author: @Pacodastre
Created: 6/23/2025
Status: Closed

Base: developHead: show-title-description-setting-51


📝 Commits (7)

  • 1665322 #51 Adds settings page with showTitleDescriptionOnGamePanel
  • 675fd47 Removes console.log
  • 179d3e8 Renames isHidden to system, adds missing system column on Game and fixes nitro plugin on fresh database
  • 7b123e1 Implements a different way to handle the placeholder image
  • 174ea39 Removes system column on Game
  • c008739 Groups settings keys together
  • 159556d Removes unused i18n keys

📊 Changes

16 files changed (+390 additions, -155 deletions)

View changed files

📝 components/GameCarousel.vue (+9 -1)
📝 components/GamePanel.vue (+67 -17)
components/OptionWrapper.vue (+21 -0)
📝 i18n/locales/en_us.json (+11 -1)
📝 pages/admin/settings/index.vue (+90 -5)
prisma/migrations/20250621205541_add_show_title_description_on_game_panel/migration.sql (+2 -0)
📝 prisma/models/app.prisma (+2 -0)
📝 prisma/models/client.prisma (+13 -13)
📝 prisma/models/content.prisma (+117 -117)
public/game-panel-placeholder.png (+0 -0)
server/api/v1/admin/settings/dummy-data.get.ts (+11 -0)
server/api/v1/admin/settings/index.get.ts (+13 -0)
server/api/v1/admin/settings/index.patch.ts (+23 -0)
📝 server/internal/acls/descriptions.ts (+4 -0)
📝 server/internal/acls/index.ts (+4 -0)
📝 server/internal/library/index.ts (+3 -1)

📄 Description

This PR adds support for the showTitleDescriptionOnGamePanel setting.

  1. 3 new API endpoints were created: getting/saving the settings and getting dummy data
  2. The dummy data endpoint returns the first game found in the database, if no games are found, a placeholder game will be shown as an example
  3. The dummy data is added to the database through a nitro plugin. The image file is loaded from a folder from the plugin directory. The data will not be reloaded when the plugin is run multiple times.
  4. The settings are saved on the ApplicationSetting schema. I created a new column for the setting. Not sure if this is the best implementation. This will mean that each setting has their own column, which can result in a lot of columns as the settings page will grow over time.
  5. I added a isHidden flag on the Game schema. I then added a filter in all game queries to exclude the hidden games (i.e the dummy game). The hidden image is only used for dummy data.
  6. I'm not the best when it comes to naming things. Please let me know if you have better a better name than showTitleDescriptionOnGamePanel or OptionWrapper.
  7. I added 2 new properties to the GamePanel component: showTitleDescriptionOnGamePanel and animate. The hover animation is disabled on the settings page as the animation didn't work very well with the OptionWrapper component.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Drop-OSS/drop/pull/124 **Author:** [@Pacodastre](https://github.com/Pacodastre) **Created:** 6/23/2025 **Status:** ❌ Closed **Base:** `develop` ← **Head:** `show-title-description-setting-51` --- ### 📝 Commits (7) - [`1665322`](https://github.com/Drop-OSS/drop/commit/166532282dfe431678f7f8f2ba339fa0186b4c13) #51 Adds settings page with showTitleDescriptionOnGamePanel - [`675fd47`](https://github.com/Drop-OSS/drop/commit/675fd47436e51ca75caa175d02f7cd02b05b1ad4) Removes console.log - [`179d3e8`](https://github.com/Drop-OSS/drop/commit/179d3e8b8fda3639d9a95f26fa8bf42a02230fa7) Renames isHidden to system, adds missing system column on Game and fixes nitro plugin on fresh database - [`7b123e1`](https://github.com/Drop-OSS/drop/commit/7b123e150340e5d9879552a7aaaa17a675eaaf05) Implements a different way to handle the placeholder image - [`174ea39`](https://github.com/Drop-OSS/drop/commit/174ea39b6c2992544d24f821b0280e67a291423a) Removes system column on Game - [`c008739`](https://github.com/Drop-OSS/drop/commit/c008739fb503f1f40cdaaf6b002fa318b993516d) Groups settings keys together - [`159556d`](https://github.com/Drop-OSS/drop/commit/159556d865fa36180ede56f2935eace80563d2b8) Removes unused i18n keys ### 📊 Changes **16 files changed** (+390 additions, -155 deletions) <details> <summary>View changed files</summary> 📝 `components/GameCarousel.vue` (+9 -1) 📝 `components/GamePanel.vue` (+67 -17) ➕ `components/OptionWrapper.vue` (+21 -0) 📝 `i18n/locales/en_us.json` (+11 -1) 📝 `pages/admin/settings/index.vue` (+90 -5) ➕ `prisma/migrations/20250621205541_add_show_title_description_on_game_panel/migration.sql` (+2 -0) 📝 `prisma/models/app.prisma` (+2 -0) 📝 `prisma/models/client.prisma` (+13 -13) 📝 `prisma/models/content.prisma` (+117 -117) ➕ `public/game-panel-placeholder.png` (+0 -0) ➕ `server/api/v1/admin/settings/dummy-data.get.ts` (+11 -0) ➕ `server/api/v1/admin/settings/index.get.ts` (+13 -0) ➕ `server/api/v1/admin/settings/index.patch.ts` (+23 -0) 📝 `server/internal/acls/descriptions.ts` (+4 -0) 📝 `server/internal/acls/index.ts` (+4 -0) 📝 `server/internal/library/index.ts` (+3 -1) </details> ### 📄 Description This PR adds support for the showTitleDescriptionOnGamePanel setting. 1. 3 new API endpoints were created: getting/saving the settings and getting dummy data 2. The dummy data endpoint returns the first game found in the database, if no games are found, a placeholder game will be shown as an example 3. The dummy data is added to the database through a nitro plugin. The image file is loaded from a folder from the plugin directory. The data will not be reloaded when the plugin is run multiple times. 4. The settings are saved on the ApplicationSetting schema. I created a new column for the setting. Not sure if this is the best implementation. This will mean that each setting has their own column, which can result in a lot of columns as the settings page will grow over time. 5. I added a `isHidden` flag on the Game schema. I then added a filter in all game queries to exclude the hidden games (i.e the dummy game). The hidden image is only used for dummy data. 6. I'm not the best when it comes to naming things. Please let me know if you have better a better name than showTitleDescriptionOnGamePanel or OptionWrapper. 7. I added 2 new properties to the GamePanel component: showTitleDescriptionOnGamePanel and animate. The hover animation is disabled on the settings page as the animation didn't work very well with the OptionWrapper component. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-17 17:06:27 -05:00
yindo closed this issue 2026-02-17 17:06:27 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Drop-OSS/drop#222