Skip to content

Commit cc95a7d

Browse files
committed
Refactor the EditPresetForm component by moving the save and discard buttons to a new EditPresetFormFooter component and removing unnecessary dependencies
1 parent 3da2970 commit cc95a7d

11 files changed

Lines changed: 40 additions & 60 deletions

File tree

packages/ui/src/components/editor/panel/Page/Page.module.scss

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,6 @@
2323
font-size: var(--font-size-14px);
2424
white-space: nowrap;
2525
}
26-
27-
&__right {
28-
display: flex;
29-
30-
&__slot {
31-
padding-right: var(--padding-3px);
32-
}
33-
}
3426
}
3527

3628
.footer {

packages/ui/src/components/editor/panel/Page/Page.tsx

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import { IconButton } from '../IconButton'
55
type Props = {
66
title?: string
77
on_back_click?: () => void
8-
on_close_click?: () => void
98
header_slot?: React.ReactNode
109
footer_slot?: React.ReactNode
1110
children: React.ReactNode
@@ -27,16 +26,7 @@ export const Page: React.FC<Props> = (props) => {
2726
/>
2827
)}
2928
</div>
30-
<div className={styles.header__right}>
31-
<div className={styles.header__right__slot}>{props.header_slot}</div>
32-
{props.on_close_click && (
33-
<IconButton
34-
codicon_icon="chrome-close"
35-
on_click={props.on_close_click}
36-
title="Close"
37-
/>
38-
)}
39-
</div>
29+
<div>{props.header_slot}</div>
4030
</div>
4131
<Scrollable>{props.children}</Scrollable>
4232
{props.footer_slot && (

packages/vscode/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1667,7 +1667,6 @@
16671667
"marked": "^15.0.12",
16681668
"path-browserify": "^1.0.1",
16691669
"react": "^18.2.0",
1670-
"react-autosize-textarea": "^7.1.0",
16711670
"react-dom": "^18.2.0",
16721671
"react-textarea-autosize": "^8.5.9",
16731672
"rimraf": "^6.0.1",

packages/vscode/src/views/panel/frontend/Panel.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Main } from './Main'
22
import { Page as UiPage } from '@ui/components/editor/panel/Page'
3-
import { EditPresetForm } from '@/views/panel/frontend/EditPresetForm'
3+
import { EditPresetForm } from '@/views/panel/frontend/components/edit-preset-form/EditPresetForm'
44
import { TextButton as UiTextButton } from '@ui/components/editor/panel/TextButton'
55
import { HOME_VIEW_TYPES } from '../types/home-view-type'
66
import { Home } from './Home'
@@ -17,6 +17,7 @@ import { FileInPreview } from '@shared/types/file-in-preview'
1717
import { LayoutContext } from './contexts/LayoutContext'
1818
import { Layout } from './components/Layout/Layout'
1919
import { ResponsePreviewFooter as UiResponsePreviewFooter } from '@ui/components/editor/panel/ResponsePreviewFooter'
20+
import { EditPresetFormFooter } from './components/edit-preset-form/EditPresetFormFooter'
2021

2122
const vscode = acquireVsCodeApi()
2223

@@ -250,6 +251,12 @@ export const Panel = () => {
250251
<div className={styles.slot}>
251252
<UiPage
252253
on_back_click={edit_preset_back_click_handler}
254+
footer_slot={
255+
<EditPresetFormFooter
256+
on_discard={edit_preset_back_click_handler}
257+
on_save={edit_preset_save_handler}
258+
/>
259+
}
253260
title={`Edit ${!updated_preset?.chatbot ? 'Group' : 'Preset'}`}
254261
header_slot={
255262
updated_preset?.chatbot && (
@@ -278,7 +285,6 @@ export const Panel = () => {
278285
<EditPresetForm
279286
preset={updating_preset}
280287
on_update={set_updated_preset}
281-
on_save={edit_preset_save_handler}
282288
pick_open_router_model={() => {
283289
post_message(vscode, { command: 'PICK_OPEN_ROUTER_MODEL' })
284290
}}
@@ -330,6 +336,7 @@ export const Panel = () => {
330336
}
331337
/>
332338
}
339+
header_slot={<></>}
333340
>
334341
<UiResponsePreview
335342
items={items_to_review}

packages/vscode/src/views/panel/frontend/EditPresetForm/EditPresetForm.module.scss renamed to packages/vscode/src/views/panel/frontend/components/edit-preset-form/EditPresetForm/EditPresetForm.module.scss

File renamed without changes.

packages/vscode/src/views/panel/frontend/EditPresetForm/EditPresetForm.tsx renamed to packages/vscode/src/views/panel/frontend/components/edit-preset-form/EditPresetForm/EditPresetForm.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,13 @@ import { CHATBOTS } from '@shared/constants/chatbots'
55
import TextareaAutosize from 'react-textarea-autosize'
66
import { Field } from '@ui/components/editor/panel/Field'
77
import { Slider } from '@ui/components/editor/panel/Slider'
8-
import { Button } from '@ui/components/editor/panel/Button'
98
import { Checkbox } from '@ui/components/editor/common/Checkbox'
109
import { Input } from '@ui/components/editor/common/Input'
1110
import { BackendMessage } from '@/views/panel/types/messages'
1211

1312
type Props = {
1413
preset: Preset
1514
on_update: (updated_preset: Preset) => void
16-
on_save: () => void
1715
pick_open_router_model: () => void
1816
pick_chatbot: (chatbot_id?: keyof typeof CHATBOTS) => void
1917
on_at_sign_in_affix: () => void
@@ -448,7 +446,6 @@ export const EditPresetForm: React.FC<Props> = (props) => {
448446
/>
449447
</Field>
450448
</>
451-
<Button on_click={props.on_save}>Save</Button>
452449
</div>
453450
)
454451
}

packages/vscode/src/views/panel/frontend/EditPresetForm/index.ts renamed to packages/vscode/src/views/panel/frontend/components/edit-preset-form/EditPresetForm/index.ts

File renamed without changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
.container {
2+
display: flex;
3+
gap: var(--padding-8px);
4+
5+
> button {
6+
flex: 1;
7+
}
8+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { Button as UiButton } from '@ui/components/editor/panel/Button'
2+
import styles from './EditPresetFormFooter.module.scss'
3+
4+
type Props = {
5+
on_discard: () => void
6+
on_save: () => void
7+
}
8+
9+
export const EditPresetFormFooter: React.FC<Props> = ({
10+
on_discard,
11+
on_save
12+
}) => {
13+
return (
14+
<div className={styles.container}>
15+
<UiButton on_click={on_discard} is_secondary>
16+
Discard
17+
</UiButton>
18+
<UiButton on_click={on_save}>Save</UiButton>
19+
</div>
20+
)
21+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './EditPresetFormFooter'

0 commit comments

Comments
 (0)