fix state loss after user switches from steps

This commit is contained in:
ShengYan, Zhang 2023-05-24 14:44:06 +08:00
parent fee38b8d13
commit e84da3089a

View File

@ -152,71 +152,64 @@ export function MessageExporter() {
index={currentStepIndex} index={currentStepIndex}
onStepChange={setCurrentStepIndex} onStepChange={setCurrentStepIndex}
/> />
<div
<div className={styles["message-exporter-body"]}> className={styles["message-exporter-body"]}
{currentStep.value === "select" && ( style={currentStep.value !== "select" ? { display: "none" } : {}}
<> >
<List> <List>
<ListItem <ListItem
title={Locale.Export.Format.Title} title={Locale.Export.Format.Title}
subTitle={Locale.Export.Format.SubTitle} subTitle={Locale.Export.Format.SubTitle}
> >
<Select <Select
value={exportConfig.format} value={exportConfig.format}
onChange={(e) => onChange={(e) =>
updateExportConfig( updateExportConfig(
(config) => (config) =>
(config.format = e.currentTarget.value as ExportFormat), (config.format = e.currentTarget.value as ExportFormat),
) )
} }
> >
{formats.map((f) => ( {formats.map((f) => (
<option key={f} value={f}> <option key={f} value={f}>
{f} {f}
</option> </option>
))} ))}
</Select> </Select>
</ListItem> </ListItem>
<ListItem <ListItem
title={Locale.Export.IncludeContext.Title} title={Locale.Export.IncludeContext.Title}
subTitle={Locale.Export.IncludeContext.SubTitle} subTitle={Locale.Export.IncludeContext.SubTitle}
> >
<input <input
type="checkbox" type="checkbox"
checked={exportConfig.includeContext} checked={exportConfig.includeContext}
onChange={(e) => { onChange={(e) => {
updateExportConfig( updateExportConfig(
(config) => (config) => (config.includeContext = e.currentTarget.checked),
(config.includeContext = e.currentTarget.checked), );
); }}
}} ></input>
></input> </ListItem>
</ListItem> </List>
</List> <MessageSelector
<MessageSelector selection={selection}
selection={selection} updateSelection={updateSelection}
updateSelection={updateSelection} defaultSelectAll
defaultSelectAll />
/>
</>
)}
{currentStep.value === "preview" && (
<>
{exportConfig.format === "text" ? (
<MarkdownPreviewer
messages={selectedMessages}
topic={session.topic}
/>
) : (
<ImagePreviewer
messages={selectedMessages}
topic={session.topic}
/>
)}
</>
)}
</div> </div>
{currentStep.value === "preview" && (
<div className={styles["message-exporter-body"]}>
{exportConfig.format === "text" ? (
<MarkdownPreviewer
messages={selectedMessages}
topic={session.topic}
/>
) : (
<ImagePreviewer messages={selectedMessages} topic={session.topic} />
)}
</div>
)}
</> </>
); );
} }