[PR #2138] [MERGED] feat: custom themes #2100

Closed
opened 2026-02-26 03:33:17 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/koel/koel/pull/2138
Author: @phanan
Created: 10/20/2025
Status: Merged
Merged: 10/20/2025
Merged by: @phanan

Base: masterHead: color-mix


📝 Commits (1)

📊 Changes

236 files changed (+2146 additions, -684 deletions)

View changed files

📝 app/Casts/LicenseMetaCast.php (+1 -1)
app/Casts/ThemePropertiesCast.php (+44 -0)
📝 app/Http/Controllers/API/FetchInitialDataController.php (+5 -0)
app/Http/Controllers/API/ThemeController.php (+43 -0)
app/Http/Requests/API/ThemeStoreRequest.php (+39 -0)
app/Http/Resources/ThemeResource.php (+46 -0)
app/Models/Theme.php (+35 -0)
📝 app/Models/User.php (+6 -0)
app/Observers/ThemeObserver.php (+22 -0)
app/Policies/ThemePolicy.php (+14 -0)
📝 app/Providers/EventServiceProvider.php (+3 -0)
app/Repositories/ThemeRepository.php (+24 -0)
📝 app/Services/LicenseService.php (+1 -1)
app/Services/ThemeService.php (+53 -0)
📝 app/Values/License/LicenseMeta.php (+1 -1)
app/Values/Theme/ThemeCreateData.php (+37 -0)
app/Values/Theme/ThemeProperties.php (+82 -0)
database/factories/ThemeFactory.php (+27 -0)
database/migrations/2025_10_17_125814_add_themes_table.php (+22 -0)
📝 docs/.vitepress/config.mts (+1 -0)

...and 80 more files

📄 Description

Description

Add support for custom themes (Plus).

Motivation

Screenshots (if applicable)

Checklist

  • I've tested my changes thoroughly and added tests where applicable
  • I've updated relevant documentation (if any)
  • My code follows the project's conventions

🔄 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/koel/koel/pull/2138 **Author:** [@phanan](https://github.com/phanan) **Created:** 10/20/2025 **Status:** ✅ Merged **Merged:** 10/20/2025 **Merged by:** [@phanan](https://github.com/phanan) **Base:** `master` ← **Head:** `color-mix` --- ### 📝 Commits (1) - [`e4bbded`](https://github.com/koel/koel/commit/e4bbdedb5d820d03e25f4a056d0399852cf67b10) feat: theme creator ### 📊 Changes **236 files changed** (+2146 additions, -684 deletions) <details> <summary>View changed files</summary> 📝 `app/Casts/LicenseMetaCast.php` (+1 -1) ➕ `app/Casts/ThemePropertiesCast.php` (+44 -0) 📝 `app/Http/Controllers/API/FetchInitialDataController.php` (+5 -0) ➕ `app/Http/Controllers/API/ThemeController.php` (+43 -0) ➕ `app/Http/Requests/API/ThemeStoreRequest.php` (+39 -0) ➕ `app/Http/Resources/ThemeResource.php` (+46 -0) ➕ `app/Models/Theme.php` (+35 -0) 📝 `app/Models/User.php` (+6 -0) ➕ `app/Observers/ThemeObserver.php` (+22 -0) ➕ `app/Policies/ThemePolicy.php` (+14 -0) 📝 `app/Providers/EventServiceProvider.php` (+3 -0) ➕ `app/Repositories/ThemeRepository.php` (+24 -0) 📝 `app/Services/LicenseService.php` (+1 -1) ➕ `app/Services/ThemeService.php` (+53 -0) 📝 `app/Values/License/LicenseMeta.php` (+1 -1) ➕ `app/Values/Theme/ThemeCreateData.php` (+37 -0) ➕ `app/Values/Theme/ThemeProperties.php` (+82 -0) ➕ `database/factories/ThemeFactory.php` (+27 -0) ➕ `database/migrations/2025_10_17_125814_add_themes_table.php` (+22 -0) 📝 `docs/.vitepress/config.mts` (+1 -0) _...and 80 more files_ </details> ### 📄 Description <!-- Thank you for contributing to Koel! Please provide a clear description of your changes below. --> ## Description Add support for custom themes (Plus). ## Motivation <!-- Explain why this change is necessary, e.g., if targeting an existing issue, link to it. --> ## Screenshots (if applicable) ## Checklist - [x] I've tested my changes thoroughly and added tests where applicable - [x] I've updated relevant documentation (if any) - [x] My code follows the project's conventions --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-26 03:33:17 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/koel-koel#2100
No description provided.