diff --git a/ext/package-lock.json b/ext/package-lock.json
index 5e3c53a..4ce7ada 100644
--- a/ext/package-lock.json
+++ b/ext/package-lock.json
@@ -11,6 +11,7 @@
"esbuild": "^0.14.38",
"esbuild-svelte": "^0.7.1",
"fs-extra": "^10.1.0",
+ "fuzzysort": "^2.0.3",
"semver": "^7.3.7",
"svelte": "^3.48.0",
"svelte-preprocess": "^4.10.6",
@@ -3359,6 +3360,12 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/fuzzysort": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/fuzzysort/-/fuzzysort-2.0.3.tgz",
+ "integrity": "sha512-ridbZloOhbVCom7MDF//Blt4N6d6L4uWNEiBuYBx4Qr+G55A9qItgsAqrRZGgs8q+mFpyBbwi5FL+FWUQPJCew==",
+ "dev": true
+ },
"node_modules/fx-runner": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/fx-runner/-/fx-runner-1.2.0.tgz",
@@ -10296,6 +10303,12 @@
"integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
"dev": true
},
+ "fuzzysort": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/fuzzysort/-/fuzzysort-2.0.3.tgz",
+ "integrity": "sha512-ridbZloOhbVCom7MDF//Blt4N6d6L4uWNEiBuYBx4Qr+G55A9qItgsAqrRZGgs8q+mFpyBbwi5FL+FWUQPJCew==",
+ "dev": true
+ },
"fx-runner": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/fx-runner/-/fx-runner-1.2.0.tgz",
diff --git a/ext/package.json b/ext/package.json
index ae99a0c..10c0c0f 100644
--- a/ext/package.json
+++ b/ext/package.json
@@ -14,6 +14,7 @@
"esbuild": "^0.14.38",
"esbuild-svelte": "^0.7.1",
"fs-extra": "^10.1.0",
+ "fuzzysort": "^2.0.3",
"semver": "^7.3.7",
"svelte": "^3.48.0",
"svelte-preprocess": "^4.10.6",
diff --git a/ext/src/ui/assets/photon_cancel.svg b/ext/src/ui/assets/photon_cancel.svg
new file mode 100644
index 0000000..6022653
--- /dev/null
+++ b/ext/src/ui/assets/photon_cancel.svg
@@ -0,0 +1,16 @@
+
+
\ No newline at end of file
diff --git a/ext/src/ui/popup/Popup.svelte b/ext/src/ui/popup/Popup.svelte
index 20afe4b..c6dbe3b 100644
--- a/ext/src/ui/popup/Popup.svelte
+++ b/ext/src/ui/popup/Popup.svelte
@@ -1,5 +1,6 @@
+