diff --git a/src/lib/components/NotesView.svelte b/src/lib/components/NotesView.svelte
index c2fb90c..76b5b89 100644
--- a/src/lib/components/NotesView.svelte
+++ b/src/lib/components/NotesView.svelte
@@ -2,9 +2,7 @@
import NoteGrid from '$lib/components/NoteGrid.svelte';
import NoteEditor from '$lib/components/NoteEditor.svelte';
import TagFilter from '$lib/components/TagFilter.svelte';
- import SortSelector from '$lib/components/SortSelector.svelte';
import { pinnedNotes, unpinnedNotes, selectedTag, currentFilter, notes, notesLoaded, loadNotes, updateSortOrders } from '$lib/stores/notes.js';
- import { sortMode } from '$lib/stores/sort.js';
import { onMount } from 'svelte';
import type { Note, NoteFilter } from '$lib/types/index.js';
import Plus from 'lucide-svelte/icons/plus';
@@ -76,16 +74,9 @@
{/if}
-{#if filter === 'all'}
-
-
-
-
-{:else}
-
-
-
-{/if}
+
+
+
{#if filter === 'archived'}
Archive
@@ -97,7 +88,7 @@
{#if $pinnedNotes.length > 0}
-
+
{/if}
@@ -105,7 +96,7 @@
notes={$unpinnedNotes}
label={$pinnedNotes.length > 0 ? 'Others' : ''}
onEdit={openEditor}
- draggable={$sortMode === 'custom'}
+ draggable
dndType="unpinned-notes"
onReorder={handleReorder}
/>
diff --git a/src/lib/components/SortSelector.svelte b/src/lib/components/SortSelector.svelte
deleted file mode 100644
index 94c3433..0000000
--- a/src/lib/components/SortSelector.svelte
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- {#each modes as mode}
-
- {/each}
-
diff --git a/src/lib/stores/notes.ts b/src/lib/stores/notes.ts
index 7cece38..6975c7f 100644
--- a/src/lib/stores/notes.ts
+++ b/src/lib/stores/notes.ts
@@ -3,7 +3,6 @@ import type { Note, NoteFilter, NoteCreate, NoteUpdate } from '$lib/types/index.
import { addToSyncQueue, putNote, deleteNoteFromIdb, getAllNotes, clearNotes as clearIdbNotes } from '$lib/sync/idb.js';
import { showToast } from '$lib/stores/toast.js';
import { extractTags } from '$lib/utils/tags.js';
-import { sortMode, type SortMode } from '$lib/stores/sort.js';
export const notes = writable([]);
export const currentFilter = writable('all');
@@ -28,25 +27,20 @@ export const filteredNotes = derived(
}
);
-function sortNotes(list: Note[], mode: SortMode): Note[] {
+function sortNotes(list: Note[]): Note[] {
return [...list].sort((a, b) => {
- if (mode === 'created') {
- return new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime();
- }
- if (mode === 'custom') {
- return a.sortOrder - b.sortOrder;
- }
- // default: updated
+ const orderDiff = a.sortOrder - b.sortOrder;
+ if (orderDiff !== 0) return orderDiff;
return new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime();
});
}
-export const pinnedNotes = derived([filteredNotes, sortMode], ([$notes, $sortMode]) =>
- sortNotes($notes.filter((n) => n.pinned), $sortMode)
+export const pinnedNotes = derived(filteredNotes, ($notes) =>
+ sortNotes($notes.filter((n) => n.pinned))
);
-export const unpinnedNotes = derived([filteredNotes, sortMode], ([$notes, $sortMode]) =>
- sortNotes($notes.filter((n) => !n.pinned), $sortMode)
+export const unpinnedNotes = derived(filteredNotes, ($notes) =>
+ sortNotes($notes.filter((n) => !n.pinned))
);
export const allTags = derived(notes, ($notes) => {
diff --git a/src/lib/stores/sort.ts b/src/lib/stores/sort.ts
deleted file mode 100644
index d037410..0000000
--- a/src/lib/stores/sort.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { writable } from 'svelte/store';
-import { browser } from '$app/environment';
-
-export type SortMode = 'updated' | 'created' | 'custom';
-
-const STORAGE_KEY = 'crumbs-sort-mode';
-
-function getInitial(): SortMode {
- if (browser) {
- const stored = localStorage.getItem(STORAGE_KEY);
- if (stored === 'updated' || stored === 'created' || stored === 'custom') {
- return stored;
- }
- }
- return 'updated';
-}
-
-export const sortMode = writable(getInitial());
-
-if (browser) {
- sortMode.subscribe((value) => {
- localStorage.setItem(STORAGE_KEY, value);
- });
-}