@@ -3,7 +3,13 @@ import axios from "axios";
33import { useMultiMatrix } from "./multiMatrixProvider" ;
44
55const MatrixLoader : React . FC = ( ) => {
6- const { setMultiMatrix, setConfig, setItemIdMap, setRawItems } = useMultiMatrix ( ) ;
6+ const {
7+ setMultiMatrix,
8+ setConfig,
9+ setItemIdMap,
10+ setRawItems,
11+ setItemImages
12+ } = useMultiMatrix ( ) ;
713
814 useEffect ( ( ) => {
915 const params = new URLSearchParams ( window . location . search ) ;
@@ -61,6 +67,15 @@ const MatrixLoader: React.FC = () => {
6167 // Save raw items into provider (we'll let the UI decide which ones to display)
6268 setRawItems ( matrixData . items ) ;
6369
70+ // Load images data into the provider context if available
71+ if ( matrixData . images && Array . isArray ( matrixData . images ) ) {
72+ console . log ( "Loading images into context:" , matrixData . images . length ) ;
73+ setItemImages ( matrixData . images ) ;
74+ } else {
75+ console . log ( "No images found in matrix data" ) ;
76+ setItemImages ( [ ] ) ;
77+ }
78+
6479 // Set the config, including hosts, participants, and the current user's email.
6580 setConfig ( {
6681 r2Multi : matrixData . r2Multi ,
@@ -81,8 +96,12 @@ const MatrixLoader: React.FC = () => {
8196
8297 // For backwards compatibility (when roleBased is false), apply filtering based on randomAssignment.
8398 let processedItems = matrixData . items ;
84- if ( ! matrixData . roleBased ) {
85- processedItems = matrixData . items ;
99+ if ( ! matrixData . roleBased && matrixData . randomAssignment ) {
100+ // When role restrictions are disabled but random assignment is enabled,
101+ // only show items where the current user is in targetUsers
102+ processedItems = matrixData . items . filter ( ( item : any ) =>
103+ Array . isArray ( item . targetUsers ) && item . targetUsers . includes ( currentUserEmail )
104+ ) ;
86105 }
87106
88107 // Build a matrix map and id map from the processed items
@@ -114,7 +133,7 @@ const MatrixLoader: React.FC = () => {
114133 . catch ( ( error ) => {
115134 console . error ( "Error fetching user info:" , error ) ;
116135 } ) ;
117- } , [ setMultiMatrix , setConfig , setItemIdMap , setRawItems ] ) ;
136+ } , [ setMultiMatrix , setConfig , setItemIdMap , setRawItems , setItemImages ] ) ;
118137
119138 return null ;
120139} ;
0 commit comments