feat: indicates not saved changes on steps editor's screen

This commit is contained in:
Takeshi Kimata
2024-08-04 12:45:20 +09:00
parent ed99d5012f
commit be5f2840d3
2 changed files with 49 additions and 45 deletions

View File

@@ -225,6 +225,8 @@ export default function CaseEditor({
</Tooltip> </Tooltip>
<h3 className="font-bold ms-2">{testCase.title}</h3> <h3 className="font-bold ms-2">{testCase.title}</h3>
</div> </div>
<div className="flex items-center">
{isDirty && <Circle size={8} color="#525252" fill="#525252" className="me-1" />}
<Button <Button
startContent={<Save size={16} />} startContent={<Save size={16} />}
size="sm" size="sm"
@@ -244,6 +246,7 @@ export default function CaseEditor({
{isUpdating ? messages.updating : messages.update} {isUpdating ? messages.updating : messages.update}
</Button> </Button>
</div> </div>
</div>
<div className="p-5"> <div className="p-5">
<h6 className="font-bold">{messages.basic}</h6> <h6 className="font-bold">{messages.basic}</h6>
@@ -375,7 +378,7 @@ export default function CaseEditor({
</div> </div>
) : ( ) : (
<div> <div>
<div className="flex items-center"> <div className="flex items-center mb-3">
<h6 className="font-bold">{messages.steps}</h6> <h6 className="font-bold">{messages.steps}</h6>
<Button <Button
startContent={<Plus size={16} />} startContent={<Plus size={16} />}

View File

@@ -1,4 +1,4 @@
import { Textarea, Button, Tooltip } from '@nextui-org/react'; import { Textarea, Button, Tooltip, Avatar } from '@nextui-org/react';
import { CaseMessages, StepType } from '@/types/case'; import { CaseMessages, StepType } from '@/types/case';
import { Plus, Trash } from 'lucide-react'; import { Plus, Trash } from 'lucide-react';
@@ -25,10 +25,10 @@ export default function StepsEditor({ isDisabled, steps, onStepUpdate, onStepPlu
return ( return (
<> <>
{filteredSteps.map((step, index) => ( {filteredSteps.map((step, index) => (
<div key={index} className="flex"> <div key={index} className="flex items-center my-1">
<div className="bg-neutral-50 dark:bg-neutral-600 rounded-full flex items-center justify-center min-w-unit-8 w-unit-8 h-unit-8 mt-3 me-2"> <Avatar className="me-2" size="sm" name={step.caseSteps.stepNo.toString()} />
<div>{step.caseSteps.stepNo}</div> <div key={step.id} className="grow flex gap-2">
</div> <div className="w-1/2">
<Textarea <Textarea
size="sm" size="sm"
variant="bordered" variant="bordered"
@@ -37,9 +37,9 @@ export default function StepsEditor({ isDisabled, steps, onStepUpdate, onStepPlu
onValueChange={(changeValue) => { onValueChange={(changeValue) => {
onStepUpdate(step.id, { ...step, step: changeValue, editState: 'changed' }); onStepUpdate(step.id, { ...step, step: changeValue, editState: 'changed' });
}} }}
className="mt-3 me-1"
/> />
</div>
<div className="w-1/2">
<Textarea <Textarea
size="sm" size="sm"
variant="bordered" variant="bordered"
@@ -48,9 +48,10 @@ export default function StepsEditor({ isDisabled, steps, onStepUpdate, onStepPlu
onValueChange={(changeValue) => { onValueChange={(changeValue) => {
onStepUpdate(step.id, { ...step, result: changeValue, editState: 'changed' }); onStepUpdate(step.id, { ...step, result: changeValue, editState: 'changed' });
}} }}
className="mt-3 ms-1"
/> />
<div className="mt-3 ms-1"> </div>
</div>
<div className="flex flex-col">
<Tooltip content={messages.deleteThisStep} placement="left"> <Tooltip content={messages.deleteThisStep} placement="left">
<Button <Button
isIconOnly isIconOnly