diff --git a/package-lock.json b/package-lock.json
index bb306dd..ba8ae02 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,6 +9,7 @@
"version": "0.0.0",
"dependencies": {
"flowbite": "^1.6.2",
+ "matter-js": "^0.18.0",
"vue": "^3.2.45",
"vue-i18n": "^9.2.2",
"vue-router": "^4.1.6"
@@ -1837,6 +1838,11 @@
"sourcemap-codec": "^1.4.8"
}
},
+ "node_modules/matter-js": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/matter-js/-/matter-js-0.18.0.tgz",
+ "integrity": "sha512-/ZVem4WygUnbmo/iE4oHZpZS97btfBtYy5Iwn1396vUZU7YhgVEN8J4UWwfZwY1ZqoTYlPgjvSw9WXauuXL0mg=="
+ },
"node_modules/memorystream": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
@@ -4160,6 +4166,11 @@
"sourcemap-codec": "^1.4.8"
}
},
+ "matter-js": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/matter-js/-/matter-js-0.18.0.tgz",
+ "integrity": "sha512-/ZVem4WygUnbmo/iE4oHZpZS97btfBtYy5Iwn1396vUZU7YhgVEN8J4UWwfZwY1ZqoTYlPgjvSw9WXauuXL0mg=="
+ },
"memorystream": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
diff --git a/package.json b/package.json
index cc152a9..9d5f190 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
},
"dependencies": {
"flowbite": "^1.6.2",
+ "matter-js": "^0.18.0",
"vue": "^3.2.45",
"vue-i18n": "^9.2.2",
"vue-router": "^4.1.6"
diff --git a/src/App.vue b/src/App.vue
index 150ae53..a97e0f2 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -5,6 +5,8 @@
+
+
@@ -12,6 +14,7 @@
import { onMounted } from "vue";
import { RouterView } from "vue-router";
import { applyTheme } from "./utilities/theme_handler";
+ import Cookie from "@/components/cookie/Cookie.vue";
onMounted(() => {
applyTheme();
diff --git a/src/assets/images/cookie.png b/src/assets/images/cookie.png
new file mode 100644
index 0000000..6bc16d7
Binary files /dev/null and b/src/assets/images/cookie.png differ
diff --git a/src/components/cookie/Cookie.vue b/src/components/cookie/Cookie.vue
new file mode 100644
index 0000000..055597a
--- /dev/null
+++ b/src/components/cookie/Cookie.vue
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+
+
+
{{ t("cookie policy title") }}
+
+ {{ t("cookie policy") }}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/utilities/cookie_handler.ts b/src/utilities/cookie_handler.ts
new file mode 100644
index 0000000..5bd486b
--- /dev/null
+++ b/src/utilities/cookie_handler.ts
@@ -0,0 +1,11 @@
+export function shouldShowCookie():boolean {
+ return localStorage.getItem("cookie") == undefined;
+}
+
+export function acceptCookie():void {
+ localStorage.setItem("cookie", "accept");
+}
+
+export function refuseCookie():void {
+ localStorage.setItem("cookie", "refuse");
+}
diff --git a/src/utilities/random.ts b/src/utilities/random.ts
new file mode 100644
index 0000000..216d871
--- /dev/null
+++ b/src/utilities/random.ts
@@ -0,0 +1,11 @@
+export function randomOfArray(array:T[]):T {
+ return array[Math.floor(Math.random() * array.length)];
+}
+
+export function random(min:number, max:number):number {
+ return Math.random() * (max - min) + min;
+}
+
+export function randomInt(min:number, max:number):number {
+ return Math.floor(random(min, max));
+}
\ No newline at end of file