Skip to content

Commit e40ef5d

Browse files
InfantLabclaude
andcommitted
fix: moments false empty state + help section subtitles
- MomentInput: add missing "moment" type to onMounted filter (entries saved as type="moment" were excluded on page load but shown after refresh), unify both fetch functions via MOMENT_TYPES constant, and pass limit=100 to reduce pagination false negatives - help.vue: add proper "What is X?" intro questions as first item for Settings, Account, Site, and Support sections so their visible subtitles read naturally without the question text Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 76555cd commit e40ef5d

File tree

2 files changed

+40
-21
lines changed

2 files changed

+40
-21
lines changed

app/modules/entry-types/moment/MomentInput.vue

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,16 @@ const extractedTadas = ref<ExtractedTada[]>([]);
4242
const showCelebration = ref(false);
4343
4444
// Fetch journal entries from API
45+
const MOMENT_TYPES = [
46+
"moment",
47+
"dream",
48+
"journal",
49+
"note",
50+
"gratitude",
51+
"magic",
52+
"reflection",
53+
"memory",
54+
];
4555
const entries = ref<Entry[]>([]);
4656
const isLoading = ref(true);
4757
const error = ref<string | null>(null);
@@ -87,16 +97,10 @@ onMounted(async () => {
8797
entries: Entry[];
8898
nextCursor: string | null;
8999
hasMore: boolean;
90-
}>("/api/entries");
100+
}>("/api/entries", { params: { limit: 100 } });
91101
entries.value = data.entries.filter(
92102
(e) =>
93-
[
94-
"dream",
95-
"journal",
96-
"note", // backward compat for old data
97-
"gratitude",
98-
"magic",
99-
].includes(e.type) ||
103+
MOMENT_TYPES.includes(e.type) ||
100104
e.category === "moments" ||
101105
e.subcategory === "journal",
102106
);
@@ -362,19 +366,10 @@ async function refreshEntries() {
362366
entries: Entry[];
363367
nextCursor: string | null;
364368
hasMore: boolean;
365-
}>("/api/entries");
369+
}>("/api/entries", { params: { limit: 100 } });
366370
entries.value = data.entries.filter(
367371
(e) =>
368-
[
369-
"dream",
370-
"journal",
371-
"note",
372-
"gratitude",
373-
"magic",
374-
"reflection",
375-
"memory",
376-
"moment",
377-
].includes(e.type) ||
372+
MOMENT_TYPES.includes(e.type) ||
378373
e.category === "moments" ||
379374
e.subcategory === "journal",
380375
);

app/pages/help.vue

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -261,11 +261,17 @@ const faqs: FAQ[] = [
261261
},
262262
263263
// ── Settings ────────────────────────────────────────────
264+
{
265+
category: "Settings",
266+
question: "What is the Settings page?",
267+
answer:
268+
"Settings is where you make Ta-Da! feel like yours — choose a theme, configure celebration sounds, manage session presets, set up voice input, control notifications, and import or export your data.",
269+
},
264270
{
265271
category: "Settings",
266272
question: "What can I customise in Settings?",
267273
answer:
268-
"Theme (light, dark, or system), celebration sounds, session presets with bells and background audio, voice input provider, notification preferences, and more. Settings is where you make Ta-Da! feel like yours.",
274+
"Theme (light, dark, or system), celebration sounds, session presets with bells and background audio, voice input provider, notification preferences, and more.",
269275
},
270276
{
271277
category: "Settings",
@@ -287,6 +293,12 @@ const faqs: FAQ[] = [
287293
},
288294
289295
// ── Account ─────────────────────────────────────────────
296+
{
297+
category: "Account",
298+
question: "What does the Account page manage?",
299+
answer:
300+
"The Account page is home to your profile, password, email, and subscription. If you ever need to export your data or delete your account, those options live here too.",
301+
},
290302
{
291303
category: "Account",
292304
question: "What's the difference between free and premium?",
@@ -365,11 +377,17 @@ const faqs: FAQ[] = [
365377
},
366378
367379
// ── Site ────────────────────────────────────────────────
380+
{
381+
category: "Site",
382+
question: "What kind of app is Ta-Da!?",
383+
answer:
384+
"Ta-Da! is a Progressive Web App — install it on any device for a native-app feel, use it offline, and capture moments by voice or text. The full source code is open for anyone to run their own instance.",
385+
},
368386
{
369387
category: "Site",
370388
question: "Can I install Ta-Da! as an app?",
371389
answer:
372-
"Yes! Ta-Da! is a Progressive Web App. On mobile, tap 'Add to Home Screen' from your browser menu. On desktop, look for the install icon in the address bar. Once installed, it launches full-screen like a native app.",
390+
"Yes! On mobile, tap 'Add to Home Screen' from your browser menu. On desktop, look for the install icon in the address bar. Once installed, it launches full-screen like a native app.",
373391
},
374392
{
375393
category: "Site",
@@ -391,6 +409,12 @@ const faqs: FAQ[] = [
391409
},
392410
393411
// ── Support ─────────────────────────────────────────────
412+
{
413+
category: "Support",
414+
question: "How can I get help with Ta-Da!?",
415+
answer:
416+
"We're here to help — reach us via the Feedback page in the sidebar or email us directly. We read everything and respond personally.",
417+
},
394418
{
395419
category: "Support",
396420
question: "How do I report a bug or request a feature?",

0 commit comments

Comments
 (0)