fix: enable sessions for API keys (#283)

* fix: enable sessions for API keys

* chore: remove old due date filters

* chore: update lockfile

* fix: temp ignore eslint errors on build
This commit is contained in:
Henry
2025-12-13 22:19:16 +00:00
committed by GitHub
parent bcd20b58c6
commit 86ecdca7f1
19 changed files with 220 additions and 93 deletions

View File

@@ -1,63 +0,0 @@
import { addDays, endOfDay, startOfDay } from "date-fns";
type DueDateFilterKey =
| "overdue"
| "today"
| "tomorrow"
| "next-week"
| "next-month"
| "no-due-date";
export interface DueDateFilter {
startDate?: string;
endDate?: string;
hasNoDueDate?: boolean;
}
export const convertDueDateFiltersToRanges = (
filters: DueDateFilterKey[],
): DueDateFilter[] => {
if (!filters.length) return [];
const today = startOfDay(new Date());
const tomorrow = addDays(today, 1);
const nextWeekEnd = addDays(today, 8); // 7 days ahead
const nextMonthEnd = addDays(today, 31); // 30 days ahead
return filters.map((filter) => {
switch (filter) {
case "overdue":
return {
endDate: today.toISOString(),
};
case "today":
return {
startDate: today.toISOString(),
endDate: endOfDay(today).toISOString(),
};
case "tomorrow":
return {
startDate: tomorrow.toISOString(),
endDate: endOfDay(tomorrow).toISOString(),
};
case "next-week": {
return {
startDate: today.toISOString(),
endDate: nextWeekEnd.toISOString(),
};
}
case "next-month": {
return {
startDate: nextWeekEnd.toISOString(),
endDate: nextMonthEnd.toISOString(),
};
}
case "no-due-date":
return {
hasNoDueDate: true,
};
default:
return {};
}
});
};

View File

@@ -29,7 +29,6 @@ import { useModal } from "~/providers/modal";
import { usePopup } from "~/providers/popup";
import { useWorkspace } from "~/providers/workspace";
import { api } from "~/utils/api";
import { convertDueDateFiltersToRanges } from "~/utils/dueDateFilters";
import { formatToArray } from "~/utils/helpers";
import BoardDropdown from "./components/BoardDropdown";
import Card from "./components/Card";
@@ -97,20 +96,17 @@ export default function BoardPage({ isTemplate }: { isTemplate?: boolean }) {
| "no-due-date"
)[];
const queryParams: {
boardPublicId: string;
members: string[];
labels: string[];
lists: string[];
dueDate: ReturnType<typeof convertDueDateFiltersToRanges>;
type: "regular" | "template";
} = {
const boardType: "regular" | "template" = isTemplate ? "template" : "regular";
const queryParams = {
boardPublicId: boardId ?? "",
members: formatToArray(router.query.members),
labels: formatToArray(router.query.labels),
lists: formatToArray(router.query.lists),
dueDate: convertDueDateFiltersToRanges(semanticFilters),
type: isTemplate ? "template" : "regular",
...(semanticFilters.length > 0 && {
dueDateFilters: semanticFilters,
}),
type: boardType,
};
const {

View File

@@ -15,7 +15,6 @@ import ThemeToggle from "~/components/ThemeToggle";
import { useModal } from "~/providers/modal";
import { usePopup } from "~/providers/popup";
import { api } from "~/utils/api";
import { convertDueDateFiltersToRanges } from "~/utils/dueDateFilters";
import { formatToArray } from "~/utils/helpers";
import Card from "~/views/board/components/Card";
import Filters from "~/views/board/components/Filters";
@@ -55,7 +54,9 @@ export default function PublicBoardView() {
members: formatToArray(router.query.members),
labels: formatToArray(router.query.labels),
lists: formatToArray(router.query.lists),
dueDate: convertDueDateFiltersToRanges(dueDateFilters),
...(dueDateFilters.length > 0 && {
dueDateFilters: dueDateFilters,
}),
},
{
enabled: router.isReady && !!boardSlug,