diff --git a/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/app.tsx b/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/app.tsx index 8538c89a..88837987 100644 --- a/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/app.tsx +++ b/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/app.tsx @@ -48,13 +48,17 @@ export function App({ {menuItems.map((item) => (
  • {item.label}
  • ))} -
    +
    {selection === "scenarios" && } {selection === "profiles" && } {selection === "simulations" && } diff --git a/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/profiles_app.tsx b/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/profiles_app.tsx index a0e9d14c..5ba7e040 100644 --- a/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/profiles_app.tsx +++ b/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/profiles_app.tsx @@ -60,12 +60,12 @@ function EditProfile({ } return
    -

    Edit Profile

    - {loading &&
    +

    Edit Profile

    + {loading &&
    Loading...
    } - {error &&
    + {error &&
    {error}
    } @@ -157,7 +157,7 @@ function ViewProfile({ } return
    -

    View Profile

    +

    View Profile

    - {loading &&
    + {loading &&
    Loading...
    } - {!loading && !profile &&
    Profile not found
    } + {!loading && !profile &&
    Profile not found
    } {!loading && profile && ( <>
    -
    -
    Name
    -
    -
    {profile.name}
    +
    +
    Name
    +
    {profile.name}
    +
    +
    +
    Context
    +
    {profile.context}
    +
    +
    +
    Mock Tools
    +
    {profile.mockTools ? "Yes" : "No"}
    +
    + {profile.mockPrompt && ( +
    +
    Mock Prompt
    +
    {profile.mockPrompt}
    + )} +
    +
    Created
    +
    -
    -
    Context
    -
    {profile.context}
    -
    -
    -
    Mock Tools
    -
    {profile.mockTools ? "Yes" : "No"}
    -
    - {profile.mockPrompt &&
    -
    Mock Prompt
    -
    {profile.mockPrompt}
    -
    } -
    -
    Created
    -
    -
    -
    -
    Last Updated
    -
    +
    +
    Last Updated
    +
    @@ -413,7 +413,7 @@ function ProfileList({ }, [page, pageSize, error, projectId]); return
    -

    Profiles

    +

    Profiles

    - {loading &&
    + {loading &&
    Loading...
    } - {error &&
    + {error &&
    {error}
    } {!loading && !error && <> - {profiles.length === 0 &&
    No profiles found
    } + {profiles.length === 0 &&
    No profiles found
    } {profiles.length > 0 &&
    {/* Header */} -
    -
    Name
    -
    Context
    -
    Mock Tools
    -
    Created
    -
    Updated
    +
    +
    Name
    +
    Context
    +
    Mock Tools
    +
    Created
    +
    Updated
    {/* Rows */} {profiles.map((profile) => ( -
    +
    {profile.name}
    -
    {profile.context}
    -
    {profile.mockTools ? "Yes" : "No"}
    -
    +
    {profile.context}
    +
    {profile.mockTools ? "Yes" : "No"}
    +
    -
    +
    diff --git a/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/runs_app.tsx b/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/runs_app.tsx index 6207bd51..fd8a5e2f 100644 --- a/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/runs_app.tsx +++ b/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/runs_app.tsx @@ -354,7 +354,7 @@ function RunList({
    } {!loading && !error && <> - {runs.length === 0 &&
    No test runs found
    } + {runs.length === 0 &&
    No test runs found
    } {runs.length > 0 &&
    {runs.map((run) => (
    @@ -362,7 +362,7 @@ function RunList({
    {run.name} @@ -417,16 +417,16 @@ function getStatusClass(status: string) { const baseClass = "px-2 py-1 rounded text-xs uppercase font-medium"; switch (status) { case 'completed': - return `${baseClass} bg-green-100 text-green-800`; + return `${baseClass} bg-green-100 dark:bg-green-900/20 text-green-800 dark:text-green-400`; case 'failed': case 'error': - return `${baseClass} bg-red-100 text-red-800`; + return `${baseClass} bg-red-100 dark:bg-red-900/20 text-red-800 dark:text-red-400`; case 'cancelled': - return `${baseClass} bg-gray-100 text-gray-800`; + return `${baseClass} bg-gray-100 dark:bg-neutral-800 text-gray-800 dark:text-neutral-400`; case 'running': case 'pending': default: - return `${baseClass} bg-yellow-100 text-yellow-800`; + return `${baseClass} bg-yellow-100 dark:bg-yellow-900/20 text-yellow-800 dark:text-yellow-400`; } } diff --git a/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/scenarios_app.tsx b/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/scenarios_app.tsx index 43541df8..3b269420 100644 --- a/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/scenarios_app.tsx +++ b/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/scenarios_app.tsx @@ -51,22 +51,14 @@ function EditScenario({ } return
    -

    Edit Scenario

    - {loading &&
    +

    Edit Scenario

    + {loading &&
    Loading...
    } - {error &&
    + {error &&
    {error} - +
    } {!loading && scenario && (
    @@ -140,7 +132,7 @@ function ViewScenario({ } return
    -

    View Scenario

    +

    View Scenario

    - {loading &&
    + {loading &&
    Loading...
    } - {!loading && !scenario &&
    Scenario not found
    } + {!loading && !scenario &&
    Scenario not found
    } {!loading && scenario && ( <>
    -
    -
    Name
    -
    {scenario.name}
    +
    +
    Name
    +
    {scenario.name}
    -
    -
    Description
    -
    {scenario.description}
    +
    +
    Description
    +
    {scenario.description}
    -
    -
    Created
    -
    +
    +
    Created
    +
    -
    -
    Last Updated
    -
    +
    +
    Last Updated
    +
    @@ -372,7 +364,7 @@ function ScenarioList({ }, [page, pageSize, error, projectId]); return
    -

    Scenarios

    +

    Scenarios

    - {loading &&
    + {loading &&
    Loading...
    } - {error &&
    + {error &&
    {error}
    } {!loading && !error && <> - {scenarios.length === 0 &&
    No scenarios found
    } + {scenarios.length === 0 &&
    No scenarios found
    } {scenarios.length > 0 &&
    {/* Header */} -
    -
    Name
    -
    Description
    -
    Created
    -
    Updated
    +
    +
    Name
    +
    Description
    +
    Created
    +
    Updated
    {/* Rows */} {scenarios.map((scenario) => ( -
    +
    {scenario.name}
    -
    {scenario.description}
    -
    +
    {scenario.description}
    +
    -
    +
    diff --git a/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/simulations_app.tsx b/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/simulations_app.tsx index b02d4bae..b95159df 100644 --- a/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/simulations_app.tsx +++ b/apps/rowboat/app/projects/[projectId]/test/[[...slug]]/simulations_app.tsx @@ -79,12 +79,12 @@ function EditSimulation({ } return
    -

    Edit Simulation

    - {loading &&
    +

    Edit Simulation

    + {loading &&
    Loading...
    } - {error &&
    + {error &&
    {error}
    } @@ -107,12 +107,12 @@ function EditSimulation({ required />
    - +
    {scenario ? ( -
    {scenario.name}
    +
    {scenario.name}
    ) : ( -
    No scenario selected
    +
    No scenario selected
    )}
    - +
    {profile ? ( -
    {profile.name}
    +
    {profile.name}
    ) : ( -
    No profile selected
    +
    No profile selected
    )} {profile && } - {loading &&
    + {loading &&
    Loading...
    } - {!loading && !simulation &&
    Simulation not found
    } + {!loading && !simulation &&
    Simulation not found
    } {!loading && simulation && ( <>
    -
    -
    Name
    -
    {simulation.name}
    +
    +
    Name
    +
    {simulation.name}
    -
    -
    Scenario
    -
    - {scenario ? ( - - {scenario.name} - - ) : ( -
    No scenario selected
    - )} -
    +
    +
    Scenario
    +
    {scenario?.name || 'Loading...'}
    -
    -
    Profile
    -
    - {profile ? ( - - {profile.name} - - ) : ( -
    No profile selected
    - )} -
    +
    +
    Profile
    +
    {profile?.name || 'None'}
    -
    -
    Pass Criteria
    -
    {simulation.passCriteria}
    +
    +
    Pass Criteria
    +
    {simulation.passCriteria}
    -
    -
    Created
    -
    +
    +
    Created
    +
    -
    -
    Last Updated
    -
    +
    +
    Last Updated
    +
    @@ -584,7 +568,7 @@ function SimulationList({ }, [simulationList, error, projectId]); return
    -

    Simulations

    +

    Simulations

    - {loading &&
    + {loading &&
    Loading...
    } - {error &&
    + {error &&
    {error}
    } {!loading && !error && <> - {simulationList.length === 0 &&
    No simulation found
    } + {simulationList.length === 0 &&
    No simulations found
    } {simulationList.length > 0 &&
    {/* Header */} -
    -
    Name
    -
    Scenario
    -
    Profile
    -
    Criteria
    -
    Created
    -
    Updated
    +
    +
    Name
    +
    Scenario
    +
    Profile
    +
    Criteria
    +
    Created
    +
    Updated
    {/* Rows */} {simulationList.map((simulation) => ( -
    +
    {simulation.name}
    -
    +
    {scenarioMap[simulation.scenarioId]?.name || ( - {simulation.scenarioId} + {simulation.scenarioId} )}
    -
    +
    {simulation.profileId ? ( profileMap[simulation.profileId]?.name || ( - {simulation.profileId} + {simulation.profileId} ) ) : ( - None + None )}
    -
    +
    {simulation.passCriteria}
    -
    +
    -
    +