From 02ab882b2f933f23c670b3b1860f30f71b4c612e Mon Sep 17 00:00:00 2001
From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com>
Date: Tue, 4 Nov 2025 14:44:38 +0530
Subject: [PATCH 1/4] new filters
---
package.json | 4 +-
pnpm-lock.yaml | 20 +-
.../components/filters/parsedTagList.svelte | 277 ++++++++++++++++--
.../components/filters/quickFilters.svelte | 9 +-
.../layout/responsiveContainerHeader.svelte | 30 +-
5 files changed, 299 insertions(+), 41 deletions(-)
diff --git a/package.json b/package.json
index 5a2e77773d..22d0b6f22c 100644
--- a/package.json
+++ b/package.json
@@ -24,9 +24,9 @@
"@ai-sdk/svelte": "^1.1.24",
"@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@fe3277e",
"@appwrite.io/pink-icons": "0.25.0",
- "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@46f65c7",
+ "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@cf1b6a2",
"@appwrite.io/pink-legacy": "^1.0.3",
- "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@46f65c7",
+ "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@cf1b6a2",
"@faker-js/faker": "^9.9.0",
"@popperjs/core": "^2.11.8",
"@sentry/sveltekit": "^8.38.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 82b9a6afc8..6a794f5a86 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -18,14 +18,14 @@ importers:
specifier: 0.25.0
version: 0.25.0
'@appwrite.io/pink-icons-svelte':
- specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@46f65c7
- version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@46f65c7(svelte@5.25.3)
+ specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@cf1b6a2
+ version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@cf1b6a2(svelte@5.25.3)
'@appwrite.io/pink-legacy':
specifier: ^1.0.3
version: 1.0.3
'@appwrite.io/pink-svelte':
- specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@46f65c7
- version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@46f65c7(svelte@5.25.3)
+ specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@cf1b6a2
+ version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@cf1b6a2(svelte@5.25.3)
'@faker-js/faker':
specifier: ^9.9.0
version: 9.9.0
@@ -269,8 +269,8 @@ packages:
peerDependencies:
svelte: ^4.0.0
- '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@46f65c7':
- resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@46f65c7}
+ '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@cf1b6a2':
+ resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@cf1b6a2}
version: 2.0.0-RC.1
peerDependencies:
svelte: ^4.0.0
@@ -284,8 +284,8 @@ packages:
'@appwrite.io/pink-legacy@1.0.3':
resolution: {integrity: sha512-GGde5fmPhs+s6/3aFeMPc/kKADG/gTFkYQSy6oBN8pK0y0XNCLrZZgBv+EBbdhwdtqVEWXa0X85Mv9w7jcIlwQ==}
- '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@46f65c7':
- resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@46f65c7}
+ '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@cf1b6a2':
+ resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@cf1b6a2}
version: 2.0.0-RC.2
peerDependencies:
svelte: ^4.0.0
@@ -3709,7 +3709,7 @@ snapshots:
dependencies:
svelte: 5.25.3
- '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@46f65c7(svelte@5.25.3)':
+ '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@cf1b6a2(svelte@5.25.3)':
dependencies:
svelte: 5.25.3
@@ -3722,7 +3722,7 @@ snapshots:
'@appwrite.io/pink-icons': 1.0.0
the-new-css-reset: 1.11.3
- '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@46f65c7(svelte@5.25.3)':
+ '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@cf1b6a2(svelte@5.25.3)':
dependencies:
'@appwrite.io/pink-icons-svelte': 2.0.0-RC.1(svelte@5.25.3)
'@floating-ui/dom': 1.6.13
diff --git a/src/lib/components/filters/parsedTagList.svelte b/src/lib/components/filters/parsedTagList.svelte
index edbd5161e0..5f8b6d33c4 100644
--- a/src/lib/components/filters/parsedTagList.svelte
+++ b/src/lib/components/filters/parsedTagList.svelte
@@ -1,35 +1,274 @@
-{#if $parsedTags?.length}
-
+
+ {#if $parsedTags?.length}
{#each $parsedTags as tag (tag.tag)}
- {
- const t = $tags.filter((t) => t.tag.includes(tag.tag.split(' ')[0]));
- t.forEach((t) => (t ? queries.removeFilter(t) : null));
- queries.apply();
- parsedTags.update((tags) => tags.filter((t) => t.tag !== tag.tag));
- }}>
- {#key tag.tag}
- {tag.tag}
- {/key}
-
-
+
+ {@const parts = parseTagParts(tag.tag)}
+ {@const property = firstBoldText(tag.tag)}
+ {#each parts as part}
+
+
+
+ {/each}
+
+ {
+ const t = $tags.filter((t) =>
+ t.tag.includes(tag.tag.split(' ')[0])
+ );
+ t.forEach((t) => (t ? queries.removeFilter(t) : null));
+ queries.apply();
+ parsedTags.update((tags) => tags.filter((t) => t.tag !== tag.tag));
+ }}>
+
+
+
{tag?.value?.toString()}
{/each}
+ {/if}
+
+
+ {#key placeholderVersion}
+ {#if placeholders?.length}
+ {#each placeholders as filter (filter.title + filter.id)}
+
+
+
+ {/each}
+ {/if}
+ {/key}
+
+ {#if $parsedTags?.length}
-
-{/if}
+ {/if}
+
diff --git a/src/lib/components/filters/quickFilters.svelte b/src/lib/components/filters/quickFilters.svelte
index 76bbf90c5f..2e3bb47ef3 100644
--- a/src/lib/components/filters/quickFilters.svelte
+++ b/src/lib/components/filters/quickFilters.svelte
@@ -22,9 +22,12 @@