feat: add icon picker for tags with Iconify integration

- Add icon field to tag creation/update API and handlers
- Install @iconify packages (json, types, utils) as production deps
- Build IconPicker component for tag admin UI
- Fix apiFetch lazy initialization for build-time safety
- Update Docker to install production dependencies for SSR runtime
This commit is contained in:
2026-01-07 20:57:12 -06:00
parent dd1ce186d2
commit 462b510e14
21 changed files with 123 additions and 45 deletions
+2
View File
@@ -19,6 +19,7 @@ pub use tags::*;
pub struct CreateTagRequest {
pub name: String,
pub slug: Option<String>,
pub icon: Option<String>,
pub color: Option<String>,
}
@@ -26,6 +27,7 @@ pub struct CreateTagRequest {
pub struct UpdateTagRequest {
pub name: String,
pub slug: Option<String>,
pub icon: Option<String>,
pub color: Option<String>,
}
+2 -2
View File
@@ -73,7 +73,7 @@ pub async fn create_tag_handler(
&state.pool,
&payload.name,
payload.slug.as_deref(),
None, // icon - not yet supported in admin UI
payload.icon.as_deref(),
payload.color.as_deref(),
)
.await
@@ -214,7 +214,7 @@ pub async fn update_tag_handler(
tag.id,
&payload.name,
payload.slug.as_deref(),
None, // icon - not yet supported in admin UI
payload.icon.as_deref(),
payload.color.as_deref(),
)
.await