initial commit

This commit is contained in:
2026-02-26 21:29:34 +01:00
commit d9d84634e8
72 changed files with 18491 additions and 0 deletions

51
app/pages/lists.vue Normal file
View File

@@ -0,0 +1,51 @@
<script setup lang="ts">
definePageMeta({
pageId: 'lists'
})
import type {List} from '~/types/lists'
const listStore = useListStore()
// activeTabId réactif
const activeTabId = ref<number | undefined>(undefined)
onMounted(async () => {
if (!listStore.lists.length) {
await listStore.fetchLists()
}
const defaultOpen = listStore.lists.find((l) => l.is_open === true)
activeTabId.value = defaultOpen?.id ?? listStore.lists[0]?.id
})
// Fonction utilitaire pour parser le contenu chiffré
const parseContent = (list: List) => {
try {
return JSON.parse(list.encrypted_content) as any[]
} catch {
return []
}
}
</script>
<template>
<div v-if="!listStore.loading">
<div v-for="list in listStore.lists" :key="list.id">
<h3>{{ list.list_title }}</h3>
<ul>
<li v-for="item in parseContent(list)" :key="item.id ?? item.name ?? item">
{{ item.name ?? JSON.stringify(item) }}
</li>
</ul>
</div>
</div>
<div v-else>
<UiLoading/>
</div>
</template>
<style>
h3{
font-size: 1.2em;
color:blueviolet
}
</style>