@@ -2,10 +2,10 @@ import React from "react";
22import { Tabs , Typography } from "@equinor/eds-core-react" ;
33import { useState } from "react" ;
44import { Panel , SimulationResults } from "@/dto/SimulationResults" ;
5- import ResultConcTable from "@/components/Simulation/ConcResultTable " ;
5+ import PhaseResultTable from "@/components/Simulation/PhaseResultTable " ;
66import Reactions from "../../pages/Reactions" ;
77import { MassBalanceError } from "@/components/Simulation/MassBalanceError" ;
8- import { extractPlotData , formatPhaseFraction } from "@/functions/Formatting" ;
8+ import { extractPlotData } from "@/functions/Formatting" ;
99import BarChart from "@/components/BarChart" ;
1010import GenericTable from "@/components/GenericTable" ;
1111
@@ -68,40 +68,28 @@ const Results: React.FC<ResultsProps> = ({ simulationResults }) => {
6868 simulationResults . results . forEach ( ( result , modelIndex ) => {
6969 const modelId = simulationResults . input . models [ modelIndex ] ?. modelId || `Model ${ modelIndex + 1 } ` ;
7070 const modelPrefix = simulationResults . results . length > 1 ? `${ modelId } : ` : "" ;
71+ const initialConcentrations = simulationResults . input . concentrations ;
7172
72- for ( const phase of result . phases ) {
73- const hasConcentrations = Object . keys ( phase . concentrations ) . length > 0 ;
74- if ( ! hasConcentrations ) continue ;
73+ const phasesWithConcentrations = result . phases . filter ( ( phase ) => Object . keys ( phase . concentrations ) . length > 0 ) ;
7574
76- panelTabs . push ( `${ modelPrefix } ${ phase . kind } (${ formatPhaseFraction ( phase . fraction ) } )` ) ;
77-
78- const initialConcentrations = simulationResults . input . concentrations ;
75+ if ( phasesWithConcentrations . length > 0 ) {
76+ panelTabs . push ( `${ modelPrefix } Phases` ) ;
7977
8078 panelContents . push (
81- < Tabs . Panel key = { `phase -${ modelIndex } - ${ phase . kind } ` } >
79+ < Tabs . Panel key = { `phases -${ modelIndex } ` } >
8280 < MassBalanceError
8381 initialPhases = { [ { kind : "aqueous" , fraction : 1 , concentrations : initialConcentrations } ] }
8482 finalPhases = { result . phases }
8583 />
8684
8785 < BarChart
8886 aspectRatio = { 2 }
89- graphData = { extractPlotData ( {
90- ...simulationResults ,
91- results : [ { phases : [ phase ] , panels : [ ] } ] ,
92- input : {
93- ...simulationResults . input ,
94- concentrations : initialConcentrations ,
95- } ,
96- } ) }
87+ graphData = { extractPlotData ( initialConcentrations , phasesWithConcentrations ) }
9788 xLabel = "Components"
9889 yLabel = "Concentration (ppm)"
9990 />
10091
101- < ResultConcTable
102- initialConcentrations = { initialConcentrations }
103- finalConcentrations = { phase . concentrations }
104- />
92+ < PhaseResultTable initialConcentrations = { initialConcentrations } phases = { phasesWithConcentrations } />
10593 </ Tabs . Panel >
10694 ) ;
10795 }
0 commit comments