diff --git a/src/pages/admin/index.vue b/src/pages/admin/index.vue
index 9ae521a..ae83bc0 100644
--- a/src/pages/admin/index.vue
+++ b/src/pages/admin/index.vue
@@ -44,7 +44,7 @@
-
+
@@ -54,15 +54,14 @@ 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 type { MovieList } from "~/types/movielist";
import { useCookie } from "#app";
import type { Movie } from "~/types/movie";
import Modal from "~/components/Modal.vue";
-const lists = defineModel("movie-lists", { default: [] });
const modal_movie = defineModel("#movie-modal");
const movie_modal = ref | null>(null);
+const current_view = ref("search");
const closeModal = function () {
movie_modal?.value?.toggleModal();
@@ -72,6 +71,7 @@ const showModal = function (movie: Movie) {
movie_modal?.value?.toggleModal();
};
const toggleDisplay = function (element_id: string) {
+ if (element_id === current_view.value) return;
let tabs = ["search", "showings", "lists"];
tabs.forEach((value) => {
@@ -80,6 +80,7 @@ const toggleDisplay = function (element_id: string) {
document
.getElementById(element_id + "-tab")
?.classList.toggle("underline");
+ current_view.value = element_id;
} else if (!document.getElementById(value)?.classList.contains("hidden")) {
document.getElementById(value)?.classList.toggle("hidden");
document.getElementById(value + "-tab")?.classList.toggle("underline");
diff --git a/src/pages/lists/[id].vue b/src/pages/lists/[id].vue
index f59be6e..77b717d 100644
--- a/src/pages/lists/[id].vue
+++ b/src/pages/lists/[id].vue
@@ -53,7 +53,7 @@
X
@@ -83,35 +83,27 @@ const hide_scheduled = ref(false);
const getList = async function (list_id: number) {
let config = useRuntimeConfig();
- const { data, error } = await useFetch(
- `${config.public.apiURL}/lists/${list_id}`,
- {
- method: "GET",
- headers: {
- "Content-type": "application/json",
- Authorization: `Token ${useCookie("token").value}`,
- },
+ $fetch(`${config.public.apiURL}/lists/${list_id}`, {
+ method: "GET",
+ headers: {
+ "Content-type": "application/json",
+ Authorization: `Token ${useCookie("token").value}`,
},
- );
-
- if (error.value) {
- if (error.value.statusCode === 401) {
- navigateTo("/");
- }
- if (error.value.statusCode === 404) {
- alert("List not found");
- navigateTo("/lists");
- }
- } else {
- if (!data.value) {
- alert("List not found");
- navigateTo("/lists");
- } else {
- list.value = data.value;
- movies.value = data.value?.movies || [];
+ })
+ .then((data) => {
+ list.value = data;
+ movies.value = data?.movies || [];
filtered_movies.value = movies.value;
- }
- }
+ })
+ .catch((err) => {
+ if (err.statusCode === 401) {
+ navigateTo("/");
+ }
+ if (err.statusCode === 404) {
+ alert("List not found");
+ navigateTo("/lists");
+ }
+ });
};
const hideScheduled = function () {
@@ -127,7 +119,7 @@ const hideScheduled = function () {
}
};
-const removeMovie = async function (movie_id: number) {
+const removeMovie = async function (movie_id: string) {
let config = useRuntimeConfig();
let confirmed = confirm("Remove movie from list?");
diff --git a/src/pages/lists/index.vue b/src/pages/lists/index.vue
index 55ede0e..f4a38a3 100644
--- a/src/pages/lists/index.vue
+++ b/src/pages/lists/index.vue
@@ -31,21 +31,19 @@ const updateLists = async function () {
headers["Authorization"] = `Token ${useCookie("token").value}`;
}
- const { data, error } = await useFetch(
- `${config.public.apiURL}/lists`,
- {
- method: "GET",
- headers: headers,
- },
- );
-
- if (error.value) {
- if (error.value.statusCode === 401) {
- navigateTo("/");
- }
- } else {
- lists.value = data.value || [];
- }
+ await $fetch(`${config.public.apiURL}/lists`, {
+ method: "GET",
+ headers: headers,
+ })
+ .then((data) => {
+ lists.value = data || [];
+ })
+ .catch((err) => {
+ if (err.statusCode === 401) {
+ useCookie("token").value = null;
+ navigateTo("/");
+ }
+ });
};
onMounted(() => {
diff --git a/src/pages/schedule/index.vue b/src/pages/schedule/index.vue
index c373596..8cf2637 100644
--- a/src/pages/schedule/index.vue
+++ b/src/pages/schedule/index.vue
@@ -61,6 +61,8 @@