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 @@ + + + \ 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