File tree Expand file tree Collapse file tree 2 files changed +46
-1
lines changed
Expand file tree Collapse file tree 2 files changed +46
-1
lines changed Original file line number Diff line number Diff line change 1+ import { LoaderFunctionArgs } from "react-router" ;
2+ import { getQueryClient } from "../utilites/ssrQueryClient.ts" ;
3+ import { getOrganizerPublicQuery } from "../queries/useGetOrganizerPublic.ts" ;
4+ import { getOrganizerPublicEventsQuery } from "../queries/useGetOrganizerEventsPublic.ts" ;
5+
6+ /**
7+ * Loader for the organizer preview page - does NOT redirect based on slug
8+ * This is used by the iframe preview in the homepage designer
9+ */
10+ export const organizerPreviewRouteLoader = async ( { params} : LoaderFunctionArgs ) => {
11+ const { organizerId} = params ;
12+
13+ if ( ! organizerId ) {
14+ throw new Error ( 'Organizer ID is required' ) ;
15+ }
16+
17+ try {
18+ const organizer = await getQueryClient ( ) . fetchQuery ( getOrganizerPublicQuery ( organizerId ) ) ;
19+
20+ const eventsData = await getQueryClient ( ) . fetchQuery (
21+ getOrganizerPublicEventsQuery ( organizerId , {
22+ pageNumber : 1 ,
23+ perPage : 30 ,
24+ sortBy : 'start_date' ,
25+ sortDirection : 'asc' ,
26+ additionalParams : {
27+ eventsStatus : 'upcoming' ,
28+ } ,
29+ filterFields : { }
30+ } )
31+ ) ;
32+
33+ return {
34+ organizer,
35+ eventsData,
36+ isPastEvents : false
37+ } ;
38+ } catch ( error : any ) {
39+ if ( error ?. response ?. status === 404 ) {
40+ return { organizer : null , eventsData : null , isPastEvents : false } ;
41+ }
42+ throw error ;
43+ }
44+ }
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ import {useEffect, useState} from "react";
44import { useGetMe } from "./queries/useGetMe.ts" ;
55import { publicEventRouteLoader } from "./routeLoaders/publicEventRouteLoader.ts" ;
66import { publicOrganizerRouteLoader } from "./routeLoaders/publicOrganizerRouteLoader.ts" ;
7+ import { organizerPreviewRouteLoader } from "./routeLoaders/organizerPreviewRouteLoader.ts" ;
78
89const Root = ( ) => {
910 const [ redirectPath , setRedirectPath ] = useState < string | null > ( null ) ;
@@ -455,7 +456,7 @@ export const router: RouteObject[] = [
455456 } ,
456457 {
457458 path : "/organizer/:organizerId/preview" ,
458- loader : publicOrganizerRouteLoader ,
459+ loader : organizerPreviewRouteLoader ,
459460 async lazy ( ) {
460461 const OrganizerHomepagePreview = await import ( "./components/layouts/OrganizerHomepagePreview" ) ;
461462 return { Component : OrganizerHomepagePreview . default } ;
You can’t perform that action at this time.
0 commit comments