Skip to content

Commit 8fda4ca

Browse files
committed
feat(customers): Filter replay playlist by personUUID in person feed canvas
1 parent 489bbd2 commit 8fda4ca

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

frontend/src/scenes/notebooks/Nodes/NotebookNodePlaylist.tsx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ import {
1717
} from 'scenes/session-recordings/playlist/sessionRecordingsPlaylistLogic'
1818
import { urls } from 'scenes/urls'
1919

20-
import { FilterType, RecordingUniversalFilters, ReplayTabs } from '~/types'
20+
import { AnyPropertyFilter, FilterType, RecordingUniversalFilters, ReplayTabs } from '~/types'
2121

22+
import { notebookLogic } from '../Notebook/notebookLogic'
2223
import { NotebookNodeAttributeProperties, NotebookNodeProps, NotebookNodeType } from '../types'
2324
import { notebookNodeLogic } from './notebookNodeLogic'
2425

@@ -28,11 +29,14 @@ const Component = ({
2829
}: NotebookNodeProps<NotebookNodePlaylistAttributes>): JSX.Element => {
2930
const { pinned, nodeId, universalFilters } = attributes
3031
const playerKey = `notebook-${nodeId}`
32+
const { canvasFiltersOverride } = useValues(notebookLogic)
33+
const personUUID = getPersonUUIDFromOverride(canvasFiltersOverride)
3134

3235
const recordingPlaylistLogicProps: SessionRecordingPlaylistLogicProps = useMemo(
3336
() => ({
3437
logicKey: playerKey,
3538
filters: universalFilters,
39+
...(personUUID ? { personUUID } : {}),
3640
updateSearchParams: false,
3741
autoPlay: false,
3842
onFiltersChange: (newFilters) => updateAttributes({ universalFilters: newFilters }),
@@ -164,3 +168,10 @@ export function buildPlaylistContent(filters: Partial<FilterType>): JSONContent
164168
attrs: { filters },
165169
}
166170
}
171+
172+
function getPersonUUIDFromOverride(override: AnyPropertyFilter[] | null): string | null {
173+
if (!override || override.length === 0) {
174+
return null
175+
}
176+
return override.find((filter) => filter.key === 'person_id')?.value as string
177+
}

0 commit comments

Comments
 (0)