diff --git a/src/svelte/app/components/sort-filter.svelte b/src/svelte/app/components/sort-filter.svelte index b5aa206..896acb5 100644 --- a/src/svelte/app/components/sort-filter.svelte +++ b/src/svelte/app/components/sort-filter.svelte @@ -38,6 +38,17 @@ item.onClick(() => handleValueChange("modified-asc")); }); menu.addSeparator(); + menu.addItem((item) => { + item.setTitle("Created time (new to old)"); + item.setChecked(value === "created-desc"); + item.onClick(() => handleValueChange("created-desc")); + }); + menu.addItem((item) => { + item.setTitle("Created time (old to new)"); + item.setChecked(value === "created-asc"); + item.onClick(() => handleValueChange("created-asc")); + }); + menu.addSeparator(); menu.addItem((item) => { item.setTitle("Random"); item.setChecked(value === "random"); diff --git a/src/svelte/app/index.svelte b/src/svelte/app/index.svelte index 5844812..a98eaff 100644 --- a/src/svelte/app/index.svelte +++ b/src/svelte/app/index.svelte @@ -853,6 +853,10 @@ return a.modifiedMillis - b.modifiedMillis; } else if (value === "modified-desc") { return b.modifiedMillis - a.modifiedMillis; + } else if (value === "created-asc") { + return a.createdMillis - b.createdMillis; + } else if (value === "created-desc") { + return b.createdMillis - a.createdMillis; } else if (value === "random") { const sortKeyA = randomSortCache.get(a.path) ?? 0; const sortKeyB = randomSortCache.get(b.path) ?? 0; diff --git a/src/types/index.guard.ts b/src/types/index.guard.ts index c639733..1f44294 100644 --- a/src/types/index.guard.ts +++ b/src/types/index.guard.ts @@ -38,6 +38,8 @@ export function isVaultExplorerPluginSettings(obj: unknown): obj is VaultExplore typedObj["filters"]["sort"]["value"] === "file-name-desc" || typedObj["filters"]["sort"]["value"] === "modified-asc" || typedObj["filters"]["sort"]["value"] === "modified-desc" || + typedObj["filters"]["sort"]["value"] === "created-asc" || + typedObj["filters"]["sort"]["value"] === "created-desc" || typedObj["filters"]["sort"]["value"] === "random") && (typedObj["filters"]["custom"] !== null && typeof typedObj["filters"]["custom"] === "object" || diff --git a/src/types/index.ts b/src/types/index.ts index 0e3b6c4..fd3b80f 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -107,6 +107,8 @@ export type SortFilterOption = | "file-name-desc" | "modified-asc" | "modified-desc" + | "created-asc" + | "created-desc" | "random"; export type WordBreak = "normal" | "break-word";