Skip to content

Commit c7bd790

Browse files
committed
feat: add discard button
1 parent 973c6ac commit c7bd790

File tree

4 files changed

+28
-12
lines changed

4 files changed

+28
-12
lines changed

src/features/workspace/components/workspace-custom-instructions.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,6 @@ export function WorkspaceCustomInstructions({
337337
isPending={isMutationPending}
338338
isDisabled={Boolean(isArchived ?? isCustomInstructionsPending)}
339339
onPress={() => handleSubmit(value)}
340-
variant="secondary"
341340
>
342341
Save
343342
</Button>

src/features/workspace/components/workspace-model-overrides.tsx

+22-10
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,18 @@ export function WorkspaceModelOverrides({
8888
workspaceName: string;
8989
isArchived: boolean | undefined;
9090
}) {
91-
const { overrides, addOverride, setOverrides } = useModelOverridesWorkspace();
91+
const { overrides, addOverride, setOverrides, resetOverrides } =
92+
useModelOverridesWorkspace();
9293
const { mutateAsync } = useMutationModelOverridesWorkspace();
9394

9495
const handleSubmit = (event: FormEvent) => {
9596
event.preventDefault();
9697
mutateAsync({
9798
path: { workspace_name: workspaceName },
98-
body: overrides.map((item) => ({
99-
...item,
99+
body: overrides.map(({ matcher, model, provider }) => ({
100+
matcher,
101+
provider,
102+
model,
100103
matcher_type: MuxMatcherType.FILE_REGEX,
101104
})),
102105
});
@@ -141,13 +144,22 @@ export function WorkspaceModelOverrides({
141144
<Button className="w-fit" variant="tertiary" onPress={addOverride}>
142145
<Plus /> Additional Filter
143146
</Button>
144-
<Button
145-
variant="secondary"
146-
isDisabled={isArchived || workspaceName === ""}
147-
type="submit"
148-
>
149-
Save
150-
</Button>
147+
<div className="flex gap-2">
148+
<Button
149+
variant="secondary"
150+
isDestructive
151+
isDisabled={isArchived || workspaceName === ""}
152+
onPress={resetOverrides}
153+
>
154+
Discard
155+
</Button>
156+
<Button
157+
isDisabled={isArchived || workspaceName === ""}
158+
type="submit"
159+
>
160+
Save
161+
</Button>
162+
</div>
151163
</CardFooter>
152164
</Card>
153165
</Form>

src/features/workspace/components/workspace-name.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ export function WorkspaceName({
7171
isDisabled={isArchived || name === ""}
7272
isPending={isPending}
7373
type="submit"
74-
variant="secondary"
7574
>
7675
Save
7776
</Button>

src/features/workspace/hooks/use-model-overrides-workspace.ts

+6
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ export type OverrideRule = Omit<MuxRule, "matcher_type"> & {
88

99
type State = {
1010
removeOverride: (index: number) => void;
11+
resetOverrides: () => void;
1112
addOverride: () => void;
1213
setOverrides: (overrides: OverrideRule[]) => void;
1314
setOverrideItem: (
@@ -47,6 +48,11 @@ export const useModelOverridesWorkspace = create<State>((set, get) => ({
4748
],
4849
});
4950
},
51+
resetOverrides: () => {
52+
set({
53+
overrides: [{ id: uuidv4(), matcher: "", model: "", provider: "" }],
54+
});
55+
},
5056
removeOverride: (overrideIndex: number) => {
5157
const { overrides } = get();
5258
set({

0 commit comments

Comments
 (0)