Update default system collection names to Title Case format
Changed the 4 default system collection names from kebab-case to Title Case with spaces for better readability and professional appearance: Changes: - "continue-reading" → "Continue Reading" - "recently-added" → "Recently Added" - "recently-read" → "Recently Read" - "not-started" → "Not Started" Implementation details: - Collection Name field: Updated to Title Case (user-visible identifier) - QueryType field: Unchanged, remains kebab-case (internal switch/case logic) - All map keys updated to use new Title Case names as lookups - Restore modal option values updated to match new names Files modified: - internal/handlers/auth.go: Default collection creation for new users - internal/handlers/dashboard.go: Restore endpoint validation map - internal/services/dashboard_service.go: System collection metadata map - templates/restore_system_collection_modal.templ: Form option values Benefits: - Cleaner, more professional display names for end users - Consistent with existing restore modal UI labels - Improved user experience with properly formatted collection names - Internal QueryType identifiers remain unchanged for code logic
This commit is contained in:
@@ -989,10 +989,10 @@ func (h *AuthHandler) CreateDefaultCollectionsForUser(ctx context.Context, userI
|
||||
QueryType string
|
||||
Priority int32
|
||||
}{
|
||||
{"continue-reading", "Books you're currently reading (0 < progress < 1)", "📖", "#7aa2f7", "continue-reading", 1},
|
||||
{"recently-added", "Newly added items to this library", "🆕", "#9ece6a", "recently-added", 2},
|
||||
{"recently-read", "Books you've finished (progress >= 1)", "✅", "#e0af68", "recently-read", 3},
|
||||
{"not-started", "Books you haven't read yet (progress = 0 or no record)", "📕", "#f7768e", "not-started", 4},
|
||||
{"Continue Reading", "Books you're currently reading (0 < progress < 1)", "📖", "#7aa2f7", "continue-reading", 1},
|
||||
{"Recently Added", "Newly added items to this library", "🆕", "#9ece6a", "recently-added", 2},
|
||||
{"Recently Read", "Books you've finished (progress >= 1)", "✅", "#e0af68", "recently-read", 3},
|
||||
{"Not Started", "Books you haven't read yet (progress = 0 or no record)", "📕", "#f7768e", "not-started", 4},
|
||||
}
|
||||
|
||||
for _, col := range defaultCollections {
|
||||
|
||||
@@ -129,10 +129,10 @@ func (h *DashboardHandler) RestoreSystemCollection(c *echo.Context) error {
|
||||
}
|
||||
|
||||
validCollections := map[string]bool{
|
||||
"continue-reading": true,
|
||||
"recently-added": true,
|
||||
"recently-read": true,
|
||||
"not-started": true,
|
||||
"Continue Reading": true,
|
||||
"Recently Added": true,
|
||||
"Recently Read": true,
|
||||
"Not Started": true,
|
||||
}
|
||||
if !validCollections[req.CollectionName] {
|
||||
return c.JSON(http.StatusBadRequest, map[string]string{"error": "Invalid system collection name"})
|
||||
|
||||
@@ -405,10 +405,10 @@ func (s *DashboardService) RestoreSystemCollection(ctx context.Context, userID u
|
||||
Priority int32
|
||||
QueryType string
|
||||
}{
|
||||
"continue-reading": {"Books you're currently reading (0 < progress < 1)", "📖", "#7aa2f7", 1, "continue-reading"},
|
||||
"recently-added": {"Newly added items to this library", "🆕", "#9ece6a", 2, "recently-added"},
|
||||
"recently-read": {"Books you've finished (progress >= 1)", "✅", "#e0af68", 3, "recently-read"},
|
||||
"not-started": {"Books you haven't read yet (progress = 0 or no record)", "📕", "#f7768e", 4, "not-started"},
|
||||
"Continue Reading": {"Books you're currently reading (0 < progress < 1)", "📖", "#7aa2f7", 1, "continue-reading"},
|
||||
"Recently Added": {"Newly added items to this library", "🆕", "#9ece6a", 2, "recently-added"},
|
||||
"Recently Read": {"Books you've finished (progress >= 1)", "✅", "#e0af68", 3, "recently-read"},
|
||||
"Not Started": {"Books you haven't read yet (progress = 0 or no record)", "📕", "#f7768e", 4, "not-started"},
|
||||
}
|
||||
|
||||
meta, exists := defaultMetadata[collectionName]
|
||||
|
||||
@@ -15,10 +15,10 @@ templ RestoreSystemCollectionModal() {
|
||||
>
|
||||
<select name="collection_name" class="w-full px-4 py-2 border rounded-lg" style="background-color: var(--bg-primary); color: var(--text-primary); border-color: var(--border);">
|
||||
<option value="">Select collection...</option>
|
||||
<option value="continue-reading">Continue Reading</option>
|
||||
<option value="recently-added">Recently Added</option>
|
||||
<option value="recently-read">Recently Read</option>
|
||||
<option value="not-started">Not Started</option>
|
||||
<option value="Continue Reading">Continue Reading</option>
|
||||
<option value="Recently Added">Recently Added</option>
|
||||
<option value="Recently Read">Recently Read</option>
|
||||
<option value="Not Started">Not Started</option>
|
||||
</select>
|
||||
<div class="flex justify-end space-x-3 mt-6">
|
||||
<button type="button" @click="closeCollectionModal()" class="btn-secondary px-4 py-2 rounded-lg">Cancel</button>
|
||||
|
||||
@@ -29,7 +29,7 @@ func RestoreSystemCollectionModal() templ.Component {
|
||||
templ_7745c5c3_Var1 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<div x-data=\"collections\" class=\"fixed inset-0 z-50 flex items-center justify-center bg-black/70\"><div class=\"card rounded-lg p-6 w-full max-w-md mx-4\" style=\"background-color: var(--bg-secondary); border-color: var(--border);\"><div class=\"flex justify-between items-center mb-6\"><h2 class=\"text-xl font-bold\" style=\"color: var(--text-primary)\">Restore System Collection</h2><button type=\"button\" @click=\"closeCollectionModal()\" class=\"p-2 hover:opacity-80 rounded\" style=\"color: var(--text-primary)\">✕</button></div><div class=\"mb-4\"><p class=\"mb-4\" style=\"color: var(--text-secondary)\">Select a system collection to restore:</p><form hx-post=\"/api/dashboard/restore-system-collection\" hx-redirect=\"/collections\"><select name=\"collection_name\" class=\"w-full px-4 py-2 border rounded-lg\" style=\"background-color: var(--bg-primary); color: var(--text-primary); border-color: var(--border);\"><option value=\"\">Select collection...</option> <option value=\"continue-reading\">Continue Reading</option> <option value=\"recently-added\">Recently Added</option> <option value=\"recently-read\">Recently Read</option> <option value=\"not-started\">Not Started</option></select><div class=\"flex justify-end space-x-3 mt-6\"><button type=\"button\" @click=\"closeCollectionModal()\" class=\"btn-secondary px-4 py-2 rounded-lg\">Cancel</button> <button type=\"submit\" class=\"btn-primary px-4 py-2 rounded-lg\">Restore</button></div></form></div></div></div>")
|
||||
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<div x-data=\"collections\" class=\"fixed inset-0 z-50 flex items-center justify-center bg-black/70\"><div class=\"card rounded-lg p-6 w-full max-w-md mx-4\" style=\"background-color: var(--bg-secondary); border-color: var(--border);\"><div class=\"flex justify-between items-center mb-6\"><h2 class=\"text-xl font-bold\" style=\"color: var(--text-primary)\">Restore System Collection</h2><button type=\"button\" @click=\"closeCollectionModal()\" class=\"p-2 hover:opacity-80 rounded\" style=\"color: var(--text-primary)\">✕</button></div><div class=\"mb-4\"><p class=\"mb-4\" style=\"color: var(--text-secondary)\">Select a system collection to restore:</p><form hx-post=\"/api/dashboard/restore-system-collection\" hx-redirect=\"/collections\"><select name=\"collection_name\" class=\"w-full px-4 py-2 border rounded-lg\" style=\"background-color: var(--bg-primary); color: var(--text-primary); border-color: var(--border);\"><option value=\"\">Select collection...</option> <option value=\"Continue Reading\">Continue Reading</option> <option value=\"Recently Added\">Recently Added</option> <option value=\"Recently Read\">Recently Read</option> <option value=\"Not Started\">Not Started</option></select><div class=\"flex justify-end space-x-3 mt-6\"><button type=\"button\" @click=\"closeCollectionModal()\" class=\"btn-secondary px-4 py-2 rounded-lg\">Cancel</button> <button type=\"submit\" class=\"btn-primary px-4 py-2 rounded-lg\">Restore</button></div></form></div></div></div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user