+
@@ -25,7 +18,9 @@
-
+
\ No newline at end of file
diff --git a/src/composables/logout.ts b/src/composables/logout.ts
deleted file mode 100644
index 860ab94..0000000
--- a/src/composables/logout.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { useCookie } from "#app";
-
-export function logout() {
- let config = useRuntimeConfig();
- fetch(`${config.public.apiURL}/auth/logout/`, {
- method: "POST",
- headers: {
- "Content-type": "application/json",
- Authorization: `Token ${useCookie("token").value}`,
- },
- })
- .then((response) => response)
- .then((_json) => {
- let token = useCookie("token");
- token.value = null;
- navigateTo("/");
- })
- .catch((err) => console.log(err));
-}
-
-onMounted(() => {
- const token = useCookie("token").value;
- if (!token) {
- navigateTo("/");
- }
-});
diff --git a/src/layouts/default.vue b/src/layouts/default.vue
index cf1d587..f2cccac 100644
--- a/src/layouts/default.vue
+++ b/src/layouts/default.vue
@@ -6,11 +6,8 @@
diff --git a/src/nuxt.config.ts b/src/nuxt.config.ts
index 0f767ca..17d32de 100644
--- a/src/nuxt.config.ts
+++ b/src/nuxt.config.ts
@@ -9,12 +9,7 @@ export default defineNuxtConfig({
},
},
- modules: ["@nuxtjs/tailwindcss", "@vesp/nuxt-fontawesome"],
- fontawesome: {
- icons: {
- solid: ["user"],
- },
- },
+ modules: ["@nuxtjs/tailwindcss"],
css: ["@/assets/css/main.css"],
compatibilityDate: "2025-04-05",
diff --git a/src/package-lock.json b/src/package-lock.json
index d4f7f39..4dbf0c1 100644
--- a/src/package-lock.json
+++ b/src/package-lock.json
@@ -9,12 +9,8 @@
"lazysizes": "^5.3.2"
},
"devDependencies": {
- "@fortawesome/free-brands-svg-icons": "^6.7.2",
- "@fortawesome/free-regular-svg-icons": "^6.7.2",
- "@fortawesome/free-solid-svg-icons": "^6.7.2",
"@nuxtjs/tailwindcss": "^6.2.0",
"@types/node": "^22.14.0",
- "@vesp/nuxt-fontawesome": "^1.2.1",
"nuxt": "3.x",
"prettier": "3.x",
"typescript": "^5.8.3",
@@ -975,68 +971,6 @@
"node": ">=18"
}
},
- "node_modules/@fortawesome/fontawesome-common-types": {
- "version": "6.7.2",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.7.2.tgz",
- "integrity": "sha512-Zs+YeHUC5fkt7Mg1l6XTniei3k4bwG/yo3iFUtZWd/pMx9g3fdvkSK9E0FOC+++phXOka78uJcYb8JaFkW52Xg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@fortawesome/fontawesome-svg-core": {
- "version": "6.7.2",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.7.2.tgz",
- "integrity": "sha512-yxtOBWDrdi5DD5o1pmVdq3WMCvnobT0LU6R8RyyVXPvFRd2o79/0NCuQoCjNTeZz9EzA9xS3JxNWfv54RIHFEA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@fortawesome/fontawesome-common-types": "6.7.2"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@fortawesome/free-brands-svg-icons": {
- "version": "6.7.2",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.7.2.tgz",
- "integrity": "sha512-zu0evbcRTgjKfrr77/2XX+bU+kuGfjm0LbajJHVIgBWNIDzrhpRxiCPNT8DW5AdmSsq7Mcf9D1bH0aSeSUSM+Q==",
- "dev": true,
- "license": "(CC-BY-4.0 AND MIT)",
- "dependencies": {
- "@fortawesome/fontawesome-common-types": "6.7.2"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@fortawesome/free-regular-svg-icons": {
- "version": "6.7.2",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.7.2.tgz",
- "integrity": "sha512-7Z/ur0gvCMW8G93dXIQOkQqHo2M5HLhYrRVC0//fakJXxcF1VmMPsxnG6Ee8qEylA8b8Q3peQXWMNZ62lYF28g==",
- "dev": true,
- "license": "(CC-BY-4.0 AND MIT)",
- "dependencies": {
- "@fortawesome/fontawesome-common-types": "6.7.2"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@fortawesome/free-solid-svg-icons": {
- "version": "6.7.2",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.7.2.tgz",
- "integrity": "sha512-GsBrnOzU8uj0LECDfD5zomZJIjrPhIlWU82AHwa2s40FKH+kcxQaBvBo3Z4TxyZHIyX8XTDxsyA33/Vx9eFuQA==",
- "dev": true,
- "license": "(CC-BY-4.0 AND MIT)",
- "dependencies": {
- "@fortawesome/fontawesome-common-types": "6.7.2"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/@ioredis/commands": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz",
@@ -2893,17 +2827,6 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/@vesp/nuxt-fontawesome": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@vesp/nuxt-fontawesome/-/nuxt-fontawesome-1.2.1.tgz",
- "integrity": "sha512-W7gaCQ8szFmOsMwBcxq22vyAV7wARQ8TK5wsd1we8Gt3KPFVQHj9ZYi738b4ePoeFxYGBEndh/uMLY6sIc+9HQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@fortawesome/fontawesome-svg-core": "^6.5.1",
- "@nuxt/kit": "^3.13.0"
- }
- },
"node_modules/@vitejs/plugin-vue": {
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz",
diff --git a/src/package.json b/src/package.json
index 925eb83..109baeb 100644
--- a/src/package.json
+++ b/src/package.json
@@ -8,12 +8,8 @@
"postinstall": "nuxt prepare"
},
"devDependencies": {
- "@fortawesome/free-brands-svg-icons": "^6.7.2",
- "@fortawesome/free-regular-svg-icons": "^6.7.2",
- "@fortawesome/free-solid-svg-icons": "^6.7.2",
"@nuxtjs/tailwindcss": "^6.2.0",
"@types/node": "^22.14.0",
- "@vesp/nuxt-fontawesome": "^1.2.1",
"nuxt": "3.x",
"prettier": "3.x",
"typescript": "^5.8.3",
diff --git a/src/pages/admin/index.vue b/src/pages/admin/index.vue
index 8672afc..ae83bc0 100644
--- a/src/pages/admin/index.vue
+++ b/src/pages/admin/index.vue
@@ -54,9 +54,9 @@ import AddMovie from "~/components/modal-content/AddMovie.vue";
import Search from "~/components/admin/search.vue";
import Showings from "~/components/admin/showings.vue";
import Lists from "~/components/admin/lists.vue";
+import { useCookie } from "#app";
import type { Movie } from "~/types/movie";
-import Modal from "~/components/common/ui/Modal.vue";
-import { logout } from "~/composables/logout";
+import Modal from "~/components/Modal.vue";
const modal_movie = defineModel
("#movie-modal");
@@ -87,6 +87,30 @@ const toggleDisplay = function (element_id: string) {
}
});
};
+const logout = () => {
+ let config = useRuntimeConfig();
+ fetch(`${config.public.apiURL}/auth/logout/`, {
+ method: "POST",
+ headers: {
+ "Content-type": "application/json",
+ Authorization: `Token ${useCookie("token").value}`,
+ },
+ })
+ .then((response) => response)
+ .then((_json) => {
+ let token = useCookie("token");
+ token.value = null;
+ navigateTo("/");
+ })
+ .catch((err) => console.log(err));
+};
+
+onMounted(() => {
+ const token = useCookie("token").value;
+ if (!token) {
+ navigateTo("/");
+ }
+});
diff --git a/src/pages/lists/[id].vue b/src/pages/lists/[id].vue
index 270ebc6..0d3d2ff 100644
--- a/src/pages/lists/[id].vue
+++ b/src/pages/lists/[id].vue
@@ -78,7 +78,7 @@ import ShowMovie from "~/components/modal-content/ShowMovie.vue";
import "lazysizes";
import type { MovieList } from "~/types/movielist";
import type { Movie } from "~/types/movie";
-import Modal from "~/components/common/ui/Modal.vue";
+import Modal from "~/components/Modal.vue";
import { useCookie } from "#app";
import { $fetch } from "ofetch";
import MoviePoster from "~/components/MoviePoster.vue";
diff --git a/src/pages/user/profile.vue b/src/pages/user/profile.vue
deleted file mode 100644
index fdeac50..0000000
--- a/src/pages/user/profile.vue
+++ /dev/null
@@ -1,138 +0,0 @@
-
-
-
-
-
-
-
-

-
-
- -
-
- {{profile?.name || profile?.username}}
-
- -
-
- {{ profile?.username }}@movienight.social
-
- -
-
- {{ formatDate(profile?.date_joined || "") }}
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/pages/user/settings.vue b/src/pages/user/settings.vue
deleted file mode 100644
index 6357aa7..0000000
--- a/src/pages/user/settings.vue
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/types/user_profile.ts b/src/types/user_profile.ts
deleted file mode 100644
index 887835b..0000000
--- a/src/types/user_profile.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import type { MovieList } from "~/types/movielist";
-
-export type UserProfile = {
- name: string;
- username: string;
- date_joined: string;
- lists: MovieList[];
-};