-
-
\ No newline at end of file
diff --git a/src/lib/overlays/registerModal.svelte b/src/lib/overlays/registerModal.svelte
deleted file mode 100644
index b5f04d8..0000000
--- a/src/lib/overlays/registerModal.svelte
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/src/lib/scripts/featureDetect.ts b/src/lib/scripts/featureDetect.ts
new file mode 100644
index 0000000..b2dd840
--- /dev/null
+++ b/src/lib/scripts/featureDetect.ts
@@ -0,0 +1,64 @@
+export interface FeatureDetectionResult {
+ critical: boolean;
+ nice: boolean;
+ missing: string[];
+}
+
+export function featureDetect(): FeatureDetectionResult {
+ console.info("Running feature detection");
+ // Define critical features
+ const criticalFeatures = {
+ fetch: "fetch" in window,
+ localStorage: "localStorage" in window && window["localStorage"] !== null,
+ sessionStorage: "sessionStorage" in window && window["sessionStorage"] !== null,
+ promise: "Promise" in window,
+ };
+
+ // Define nice-to-have features
+ const niceToHaveFeatures = {
+ geolocation: "geolocation" in navigator,
+ serviceWorker: "serviceWorker" in navigator,
+ dialog: "HTMLDialogElement" in window,
+ popover: "showPopover" in HTMLElement.prototype, // Note: 'Popover' might need more specific checks based on implementation
+ };
+
+ // Initialize result object
+ const result = {
+ critical: true,
+ nice: true,
+ missing: [],
+ };
+
+ // Check critical features
+ for (const [feature, available] of Object.entries(criticalFeatures)) {
+ if (!available) {
+ result.critical = false;
+ result.missing.push(feature);
+ }
+ }
+
+ // Check nice-to-have features
+ for (const [feature, available] of Object.entries(niceToHaveFeatures)) {
+ if (!available) {
+ result.nice = false;
+ result.missing.push(feature);
+ }
+ }
+
+ return result;
+}
+
+/*// Example usage
+ const featureSupport = featureDetect();
+ console.log(featureSupport);
+
+ if (!featureSupport.critical) {
+ alert('Some critical features required for this application are not supported by your browser.');
+ // Handle lack of critical features appropriately
+ } else if (!featureSupport.nice) {
+ console.warn('Some nice-to-have features are not supported by your browser. The app will still function, but some features may be unavailable.');
+ // Optionally handle lack of nice-to-have features
+ } else {
+ // Proceed with the normal functionality of your app
+ }
+ */
diff --git a/src/lib/stores/version.ts b/src/lib/stores/version.ts
index ea385fa..fce7683 100644
--- a/src/lib/stores/version.ts
+++ b/src/lib/stores/version.ts
@@ -1,3 +1,3 @@
-export const version: string = '2024.06.2';
-export const versionTag: string = '';
+export const version: string = "2024.06.3";
+export const versionTag: string = "";
export const showWelcome: boolean = false;
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 500deec..393ee55 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -4,7 +4,7 @@
import { dev } from "$app/environment";
import DevBanner from "$lib/DevBanner.svelte";
import { page } from "$app/stores";
- import { Toaster } from 'svelte-french-toast'
+ import { Toaster } from "svelte-french-toast";