[admin] fix: crashing due to confirmed email signup not present for a boundary day

This commit is contained in:
Yangshun 2025-08-23 18:46:13 +08:00
parent 873fd1806d
commit 9a23093e76
2 changed files with 7 additions and 4 deletions

View File

@ -62,7 +62,8 @@ WHERE
created_at >= NOW() - INTERVAL '${daysBefore} days' created_at >= NOW() - INTERVAL '${daysBefore} days'
GROUP BY GROUP BY
date date
ORDER BY date DESC;`; ORDER BY
date DESC;`;
const pgQueryEmailSignUps = `SELECT const pgQueryEmailSignUps = `SELECT
date_trunc('day', created_at AT TIME ZONE 'Asia/Singapore') AS date, date_trunc('day', created_at AT TIME ZONE 'Asia/Singapore') AS date,

View File

@ -77,8 +77,10 @@ export default function ConversionsTable({
return { return {
...acc, ...acc,
[date]: { [date]: {
confirmedEmailSignUps: Number(emailSignUpDay.confirmedEmailSignUps), confirmedEmailSignUps: Number(
emailSignUps: Number(emailSignUpDay.emailSignUps), emailSignUpDay?.confirmedEmailSignUps ?? 0,
),
emailSignUps: Number(emailSignUpDay?.emailSignUps ?? 0),
signUps: Number(signup.signUps), signUps: Number(signup.signUps),
}, },
}; };
@ -270,7 +272,7 @@ export default function ConversionsTable({
description: description:
'Number of users who have email as their primary sign up method but did not verify (on that day) out of users who signed up using email', 'Number of users who have email as their primary sign up method but did not verify (on that day) out of users who signed up using email',
getValue: (_row, signUp) => getValue: (_row, signUp) =>
signUp && signUp.signUps > 0 signUp && signUp.emailSignUps > 0
? `${((signUp.confirmedEmailSignUps / signUp.emailSignUps) * 100).toFixed(2)}%` ? `${((signUp.confirmedEmailSignUps / signUp.emailSignUps) * 100).toFixed(2)}%`
: '-', : '-',
header: 'Email verification rate', header: 'Email verification rate',