@@ -13,13 +13,9 @@ import {
1313 Box ,
1414 ButtonGroup ,
1515 Spinner ,
16- SkeletonPage ,
1716 SkeletonBodyText ,
1817 Toast ,
1918 Frame ,
20- ActionList ,
21- ResourceItem ,
22- ResourceList ,
2319 Select ,
2420} from "@shopify/polaris" ;
2521import { useState , useCallback , useContext , useEffect } from "react" ;
@@ -32,7 +28,7 @@ import {
3228} from "trieve-ts-sdk" ;
3329import { TrieveContext , useTrieve } from "app/context/trieveContext" ;
3430import { Link , useNavigate , Form , useFetcher , useLoaderData , json } from "@remix-run/react" ;
35- import { ActionFunctionArgs } from "@remix-run/node" ;
31+ import { ActionFunctionArgs , data } from "@remix-run/node" ;
3632import { authenticate } from "../shopify.server" ;
3733import { getAppMetafields , setAppMetafields } from "../queries/metafield" ;
3834import { validateTrieveAuth } from "app/auth" ;
@@ -100,10 +96,6 @@ export async function action({ request, context }: ActionFunctionArgs) {
10096 session . shop ,
10197 session . accessToken !
10298 )
103-
104- if ( ! trieve ) {
105- return Response . json ( { error : "Trieve SDK not available" } , { status : 500 } ) ;
106- }
10799
108100 const formData = await request . formData ( ) ;
109101 const intent = formData . get ( "intent" ) as string ;
@@ -118,7 +110,7 @@ export async function action({ request, context }: ActionFunctionArgs) {
118110 const t1Split = parseFloat ( formData . get ( "t1_split" ) as string ) ;
119111
120112 if ( ! name || ! area || ! controlName || ! t1Name || isNaN ( controlSplit ) || isNaN ( t1Split ) ) {
121- return Response . json ( { error : "Missing required experiment fields." } , { status : 400 } ) ;
113+ return data ( { error : "Missing required experiment fields." } , { status : 400 } ) ;
122114 }
123115
124116 const experimentConfig : ExperimentConfig = {
@@ -135,28 +127,28 @@ export async function action({ request, context }: ActionFunctionArgs) {
135127 const payload : CreateExperimentReqBody = { name, experiment_config : experimentConfig } ;
136128 savedExperiment = await trieve . createExperiment ( payload ) ;
137129 await updateShopAbTestMetafield ( fetcher , String ( savedExperiment . id ) , area , "add" ) ;
138- return Response . json ( { experiment : savedExperiment , intent : "createExperiment" } ) ;
130+ return data ( { experiment : savedExperiment , intent : "createExperiment" } ) ;
139131 } else {
140132 const experimentId = formData . get ( "experimentId" ) as string ;
141- if ( ! experimentId ) return Response . json ( { error : "Experiment ID is required for update." } , { status : 400 } ) ;
133+ if ( ! experimentId ) return data ( { error : "Experiment ID is required for update." } , { status : 400 } ) ;
142134
143135 const updatePayload : UpdateExperimentReqBody = { id : experimentId } ;
144136 updatePayload . name = name ;
145137 updatePayload . experiment_config = experimentConfig ;
146138
147139 savedExperiment = await trieve . updateExperiment ( updatePayload ) ;
148140 await updateShopAbTestMetafield ( fetcher , String ( savedExperiment . id ) , area , "add" ) ;
149- return Response . json ( { experiment : savedExperiment , intent : "updateExperiment" } ) ;
141+ return data ( { experiment : savedExperiment , intent : "updateExperiment" } ) ;
150142 }
151143 } else if ( intent === "deleteExperiment" ) {
152144 const experimentId = formData . get ( "experimentId" ) as string ;
153145 if ( ! experimentId ) return json ( { error : "Experiment ID is required for delete." } , { status : 400 } ) ;
154146
155147 await trieve . deleteExperiment ( experimentId ) ;
156148 await updateShopAbTestMetafield ( fetcher , experimentId , "" , "remove" ) ;
157- return Response . json ( { deletedExperimentId : experimentId } ) ;
149+ return data ( { deletedExperimentId : experimentId } ) ;
158150 }
159- return Response . json ( { error : "Invalid intent" } , { status : 400 } ) ;
151+ return data ( { error : "Invalid intent" } , { status : 400 } ) ;
160152 } catch ( error : any ) {
161153 console . error ( `Failed to ${ intent } :` , error ) ;
162154 return json ( { error : error . message || "Failed to process experiment action" } , { status : 500 } ) ;
0 commit comments