diff --git a/app/pages/admin/ama/index.vue b/app/pages/admin/ama/index.vue index 10c21ddc..e3094607 100644 --- a/app/pages/admin/ama/index.vue +++ b/app/pages/admin/ama/index.vue @@ -19,8 +19,19 @@ interface AmaEntry { const { data, refresh } = await useFetch('/api/admin/ama', { default: () => [] }) -const filter = ref<'unanswered' | 'all'>('unanswered') -const visible = computed(() => (data.value ?? []).filter(a => filter.value === 'all' || a.status === 'unanswered')) +function hasMissingPublishes (a: AmaEntry): boolean { + const p = a.platforms + if (!p) return false + const links = a.publishedLinks ?? {} + return (['bluesky', 'mastodon', 'linkedin', 'youtubeShorts'] as const) + .some(k => p[k] && !links[k]) +} + +const filter = ref<'todo' | 'all'>('todo') +const visible = computed(() => (data.value ?? []).filter(a => { + if (filter.value === 'all') return true + return a.status === 'unanswered' || hasMissingPublishes(a) +})) const formatter = new Intl.DateTimeFormat('en', { dateStyle: 'medium', timeStyle: 'short' }) @@ -36,7 +47,7 @@ async function remove (rkey: string) {