diff --git a/assets/components/ContainerTable.vue b/assets/components/ContainerTable.vue index ef20306b..8f26c07b 100644 --- a/assets/components/ContainerTable.vue +++ b/assets/components/ContainerTable.vue @@ -91,8 +91,9 @@ const { containers, perPage = 15 } = defineProps<{ containers: Container[]; perPage?: number; }>(); -const sortField: Ref = ref("created"); -const direction = ref<1 | -1>(-1); +type keys = keyof typeof fields; +const sortField = useStorage("DOZZLE_TABLE_CONTAINERS_SORT", "created"); +const direction = useStorage<1 | -1>("DOZZLE_TABLE_CONTAINERS_DIRECTION", -1); const sortedContainers = computedWithControl( () => [containers.length, sortField.value, direction.value], () => { @@ -112,7 +113,7 @@ const paginated = computed(() => { return sortedContainers.value.slice(start, end); }); -function sort(field: keyof typeof fields) { +function sort(field: keys) { if (sortField.value === field) { direction.value *= -1; } else { @@ -120,7 +121,7 @@ function sort(field: keyof typeof fields) { direction.value = 1; } } -function isVisible(field: keyof typeof fields) { +function isVisible(field: keys) { return fields[field].mobileVisible || !isMobile.value; } diff --git a/assets/composables/storage.ts b/assets/composables/storage.ts index 64f36f9c..5af79812 100644 --- a/assets/composables/storage.ts +++ b/assets/composables/storage.ts @@ -1,6 +1,7 @@ import { Container } from "@/models/Container"; -export const sessionHost = useSessionStorage("host", null); +const DOZZLE_HOST = "DOZZLE_HOST"; +export const sessionHost = useSessionStorage(DOZZLE_HOST, null); if (config.hosts.length === 1 && !sessionHost.value) { sessionHost.value = config.hosts[0].id;