tag prefixing migration and improvements

This commit is contained in:
2026-02-27 10:53:02 -06:00
parent 3826a2cbe2
commit 2abf4ae5a9
4 changed files with 13 additions and 44 deletions
+1 -32
View File
@@ -2,14 +2,12 @@ import { type Component, createSignal, createMemo, For, Show } from "solid-js";
import { store, renameTagDefinition } from "@/store";
import { pb } from "@/lib/pocketbase";
import { type Note } from "@/store";
import { Trash2, Lock, Unlock, Hash, StickyNote, Search, X, Link } from "lucide-solid";
import { Trash2, Lock, Unlock, StickyNote, Search, Link, X } from "lucide-solid";
import { Button } from "@/components/ui/button";
import { cn } from "@/lib/utils";
import { TaskEditor } from "@/components/TaskEditor";
import { TagPicker } from "@/components/TagPicker";
import { NOTES_COLLECTION } from "@/lib/constants";
import { TaskCard } from "@/components/TaskCard";
import { Badge } from "@/components/ui/badge";
import { NotesSidebar } from "@/components/NotesSidebar";
export const NotepadView: Component<{
@@ -147,7 +145,6 @@ export const NotepadView: Component<{
)}>
<Show when={activeNote()} fallback={
<div class="text-center space-y-4 opacity-40 select-none">
<StickyNote size={64} class="mx-auto" />
<p class="text-sm font-medium tracking-wide">Select a note or create a new one</p>
</div>
}>
@@ -203,34 +200,6 @@ export const NotepadView: Component<{
</div>
</div>
{/* Tags */}
<div class="flex flex-wrap gap-2 items-center">
<For each={note().tags}>
{(tag) => (
<Badge variant="secondary" class="h-6 px-2 text-xs bg-muted/30 border border-border/50 text-foreground shadow-sm">
{tag}
<Show when={canEdit}>
<button
class="ml-2 hover:text-destructive transition-colors shrink-0 outline-none"
onClick={() => {
handleUpdateNote(note().id, { tags: note().tags.filter(t => t !== tag) });
}}
>
<X size={10} />
</button>
</Show>
</Badge>
)}
</For>
<Show when={canEdit}>
<div class="opacity-70 hover:opacity-100 transition-opacity">
<TagPicker
selectedTags={note().tags || []}
onTagsChange={(newTags) => handleUpdateNote(note().id, { tags: newTags })}
/>
</div>
</Show>
</div>
</div>
{/* Editor Instance */}