Compare commits

...

2 commits

Author SHA1 Message Date
Francis Cao
78c1fd8283 fix settings margins
Some checks are pending
Node.js CI / build (postgresql, 18.18) (push) Waiting to run
2025-08-26 11:16:42 -07:00
Francis Cao
984f426cfe update getQueryFilters to support new segment/cohort data structure 2025-08-26 09:02:55 -07:00
2 changed files with 19 additions and 9 deletions

View file

@ -55,7 +55,9 @@ export function SettingsLayout({ children }: { children: ReactNode }) {
allowMinimize={false}
/>
</Column>
<PageBody gap="6">{children}</PageBody>
<Column gap="6" margin="2">
<PageBody>{children}</PageBody>
</Column>
</Grid>
);
}

View file

@ -100,25 +100,33 @@ export async function getQueryFilters(
await setWebsiteDate(websiteId, dateRange);
if (params.segment) {
Object.assign(filters, (await getWebsiteSegment(websiteId, params.segment))?.parameters);
const segmentParams = (await getWebsiteSegment(websiteId, params.segment))
?.parameters as Record<string, any>;
Object.assign(filters, segmentParams.filters);
}
if (params.cohort) {
const cohortFilters = (await getWebsiteSegment(websiteId, params.cohort))
const cohortParams = (await getWebsiteSegment(websiteId, params.cohort))
?.parameters as Record<string, any>;
// convert dateRange to startDate and endDate
if (cohortFilters.dateRange) {
const { startDate, endDate } = parseDateRange(cohortFilters.dateRange);
cohortFilters.startDate = startDate;
cohortFilters.endDate = endDate;
delete cohortFilters.dateRange;
if (cohortParams.dateRange) {
const { startDate, endDate } = parseDateRange(cohortParams.dateRange);
cohortParams.startDate = startDate;
cohortParams.endDate = endDate;
delete cohortParams.dateRange;
}
if (cohortParams.filters) {
Object.assign(cohortParams, cohortParams.filters);
delete cohortParams.filters;
}
Object.assign(
filters,
Object.fromEntries(
Object.entries(cohortFilters || {}).map(([key, value]) =>
Object.entries(cohortParams || {}).map(([key, value]) =>
key === 'startDate' || key === 'endDate'
? [`cohort_${key}`, new Date(value)]
: [`cohort_${key}`, value],