From ac2188f8b1101ada2235bfa33f188def8e216990 Mon Sep 17 00:00:00 2001 From: irenekim21 Date: Mon, 19 Jan 2026 01:33:50 +0000 Subject: [PATCH 1/3] feat: sort journeys in order --- .../components/JourneyList/JourneyList.tsx | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/apps/journeys-admin/src/components/JourneyList/JourneyList.tsx b/apps/journeys-admin/src/components/JourneyList/JourneyList.tsx index 43af52a9074..38044c62cd7 100644 --- a/apps/journeys-admin/src/components/JourneyList/JourneyList.tsx +++ b/apps/journeys-admin/src/components/JourneyList/JourneyList.tsx @@ -42,6 +42,32 @@ export function JourneyList({ }) const { navbar, sidePanel } = usePageWrapperStyles() + useEffect(() => { + if (!router.isReady) return + const sortByFromQuery = router.query.sortBy as string + const sortByFromStorage = typeof window !== 'undefined' ? localStorage.getItem('journeyListSortBy') : null + const sortBy = sortByFromQuery || sortByFromStorage + if (sortBy && Object.values(SortOrder).includes(sortBy as SortOrder)) { + setSortOrder((prev) => prev !== sortBy ? sortBy as SortOrder : prev) + if (sortByFromQuery && typeof window !== 'undefined') { + localStorage.setItem('journeyListSortBy', sortByFromQuery) + } else if (sortByFromStorage && !sortByFromQuery) { + void router.replace({ query: { ...router.query, sortBy: sortByFromStorage } }, undefined, { shallow: true }) + } + } + }, [router.isReady, router.query.sortBy, router]) + + const handleSetSortOrder = (order: SortOrder | ((prev: SortOrder | undefined) => SortOrder | undefined)) => { + const newOrder = typeof order === 'function' ? order(sortOrder) : order + if (newOrder) { + setSortOrder(newOrder) + if (router.isReady) { + void router.push({ query: { ...router.query, sortBy: newOrder } }, undefined, { shallow: true }) + } + if (typeof window !== 'undefined') localStorage.setItem('journeyListSortBy', newOrder) + } + } + useEffect(() => { const handleRouteChange = (url: string) => { // for updating journey list cache for shallow loading @@ -112,7 +138,7 @@ export function JourneyList({ From 762d59fcd5f3caaeedd4044831a11e712c1344e9 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Mon, 19 Jan 2026 01:38:26 +0000 Subject: [PATCH 2/3] fix: lint issues --- .../components/JourneyList/JourneyList.tsx | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/apps/journeys-admin/src/components/JourneyList/JourneyList.tsx b/apps/journeys-admin/src/components/JourneyList/JourneyList.tsx index 38044c62cd7..6f5bb0af819 100644 --- a/apps/journeys-admin/src/components/JourneyList/JourneyList.tsx +++ b/apps/journeys-admin/src/components/JourneyList/JourneyList.tsx @@ -45,26 +45,40 @@ export function JourneyList({ useEffect(() => { if (!router.isReady) return const sortByFromQuery = router.query.sortBy as string - const sortByFromStorage = typeof window !== 'undefined' ? localStorage.getItem('journeyListSortBy') : null + const sortByFromStorage = + typeof window !== 'undefined' + ? localStorage.getItem('journeyListSortBy') + : null const sortBy = sortByFromQuery || sortByFromStorage if (sortBy && Object.values(SortOrder).includes(sortBy as SortOrder)) { - setSortOrder((prev) => prev !== sortBy ? sortBy as SortOrder : prev) + setSortOrder((prev) => (prev !== sortBy ? (sortBy as SortOrder) : prev)) if (sortByFromQuery && typeof window !== 'undefined') { localStorage.setItem('journeyListSortBy', sortByFromQuery) } else if (sortByFromStorage && !sortByFromQuery) { - void router.replace({ query: { ...router.query, sortBy: sortByFromStorage } }, undefined, { shallow: true }) + void router.replace( + { query: { ...router.query, sortBy: sortByFromStorage } }, + undefined, + { shallow: true } + ) } } }, [router.isReady, router.query.sortBy, router]) - const handleSetSortOrder = (order: SortOrder | ((prev: SortOrder | undefined) => SortOrder | undefined)) => { + const handleSetSortOrder = ( + order: SortOrder | ((prev: SortOrder | undefined) => SortOrder | undefined) + ) => { const newOrder = typeof order === 'function' ? order(sortOrder) : order if (newOrder) { setSortOrder(newOrder) if (router.isReady) { - void router.push({ query: { ...router.query, sortBy: newOrder } }, undefined, { shallow: true }) + void router.push( + { query: { ...router.query, sortBy: newOrder } }, + undefined, + { shallow: true } + ) } - if (typeof window !== 'undefined') localStorage.setItem('journeyListSortBy', newOrder) + if (typeof window !== 'undefined') + localStorage.setItem('journeyListSortBy', newOrder) } } From c43b2195f8d14b62a0377bd3b05a4a8e8317d656 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Wed, 21 Jan 2026 22:02:41 +0000 Subject: [PATCH 3/3] fix: lint issues --- .../VideoList/VideoListItem/VideoListItem.spec.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/journeys-admin/src/components/Editor/Slider/Settings/Drawer/VideoLibrary/VideoList/VideoListItem/VideoListItem.spec.tsx b/apps/journeys-admin/src/components/Editor/Slider/Settings/Drawer/VideoLibrary/VideoList/VideoListItem/VideoListItem.spec.tsx index b458998b067..5c036a530ec 100644 --- a/apps/journeys-admin/src/components/Editor/Slider/Settings/Drawer/VideoLibrary/VideoList/VideoListItem/VideoListItem.spec.tsx +++ b/apps/journeys-admin/src/components/Editor/Slider/Settings/Drawer/VideoLibrary/VideoList/VideoListItem/VideoListItem.spec.tsx @@ -1,9 +1,10 @@ import { MockedProvider } from '@apollo/client/testing' import { fireEvent, render, waitFor } from '@testing-library/react' +import { VideoBlockSource } from '../../../../../../../../../__generated__/globalTypes' import { GET_VIDEO } from '../../VideoFromLocal/LocalDetails/LocalDetails' import { videos } from '../data' -import { VideoBlockSource } from '../../../../../../../../../__generated__/globalTypes' + import { VideoListItem } from './VideoListItem' jest.mock('@mui/material/useMediaQuery', () => ({