Skip to content

Commit 46d8951

Browse files
committed
Replace Dropdown with PromptTypeDropdown component and update related styling and functionality
1 parent 8f79955 commit 46d8951

8 files changed

Lines changed: 21 additions & 24 deletions

File tree

apps/editor/src/views/panel/frontend/Main/MainView/components/Header/Header.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { useRef, useCallback } from 'react'
22
import { MODE, Mode } from '@/views/panel/types/main-view-mode'
33
import { use_is_narrow_viewport, use_is_mac } from '@shared/hooks'
44
import { ApiPromptType, WebPromptType } from '@shared/types/prompt-types'
5-
import { Dropdown as UiDropdown } from '@ui/components/editor/panel/Dropdown'
5+
import { PromptTypeDropdown } from '@ui/components/editor/panel/PromptTypeDropdown'
66
import { IconButton as UiIconButton } from '@ui/components/editor/common/IconButton'
77
import styles from './Header.module.scss'
88
import {
@@ -74,7 +74,7 @@ export const Header: React.FC<Props> = (props) => {
7474
ref={dropdown_container_ref}
7575
>
7676
{props.mode == MODE.WEB && (
77-
<UiDropdown
77+
<PromptTypeDropdown
7878
options={Object.entries(web_prompt_type_labels).map(
7979
([value, label]) => ({
8080
value: value as WebPromptType,
@@ -94,7 +94,7 @@ export const Header: React.FC<Props> = (props) => {
9494
/>
9595
)}
9696
{props.mode == MODE.API && (
97-
<UiDropdown
97+
<PromptTypeDropdown
9898
options={Object.entries(api_prompt_type_labels).map(
9999
([value, label]) => ({
100100
value: value as ApiPromptType,

packages/ui/src/components/editor/common/DropdownMenu/DropdownMenu.module.scss

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,18 +44,15 @@
4444
overflow: hidden;
4545
flex: 1;
4646
min-width: 0;
47+
4748
> span {
48-
font-size: 14px !important;
49+
overflow: hidden;
50+
text-overflow: ellipsis;
51+
white-space: nowrap;
52+
font-variant-numeric: tabular-nums;
4953
}
5054
}
5155

52-
&__label {
53-
overflow: hidden;
54-
text-overflow: ellipsis;
55-
white-space: nowrap;
56-
font-variant-numeric: tabular-nums;
57-
}
58-
5956
&__right {
6057
display: flex;
6158
align-items: center;
@@ -65,9 +62,7 @@
6562
&:hover,
6663
&[data-selected='true'] {
6764
background-color: var(--vscode-list-activeSelectionBackground);
68-
& > span {
69-
color: var(--vscode-list-activeSelectionForeground);
70-
}
65+
color: var(--vscode-list-activeSelectionForeground);
7166
}
7267
}
7368

packages/ui/src/components/editor/common/DropdownMenu/DropdownMenu.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ export const DropdownMenu: React.FC<DropdownMenu.Props> = (props) => {
5050
style={{ visibility: item.checked ? 'visible' : 'hidden' }}
5151
/>
5252
)}
53-
<span className={styles.item__label}>
53+
<span>
5454
{should_underline ? (
5555
<>
5656
<span className={styles.underlined}>

packages/ui/src/components/editor/panel/Dropdown/index.ts

Lines changed: 0 additions & 1 deletion
This file was deleted.

packages/ui/src/components/editor/panel/Dropdown/Dropdown.module.scss renamed to packages/ui/src/components/editor/panel/PromptTypeDropdown/PromptTypeDropdown.module.scss

File renamed without changes.

packages/ui/src/components/editor/panel/Dropdown/Dropdown.stories.tsx renamed to packages/ui/src/components/editor/panel/PromptTypeDropdown/PromptTypeDropdown.stories.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { Dropdown } from './Dropdown'
1+
import { PromptTypeDropdown } from './PromptTypeDropdown'
22
import { useState } from 'react'
33

44
export default {
5-
component: Dropdown
5+
component: PromptTypeDropdown
66
}
77

88
export const Default = () => {
@@ -14,7 +14,7 @@ export const Default = () => {
1414

1515
return (
1616
<div style={{ width: '200px' }}>
17-
<Dropdown
17+
<PromptTypeDropdown
1818
options={options}
1919
selected_value={selected}
2020
on_change={set_selected}
@@ -32,7 +32,7 @@ export const WithInfo = () => {
3232

3333
return (
3434
<div style={{ width: '200px' }}>
35-
<Dropdown
35+
<PromptTypeDropdown
3636
options={options}
3737
selected_value={selected}
3838
on_change={set_selected}
@@ -51,7 +51,7 @@ export const LongList = () => {
5151

5252
return (
5353
<div style={{ width: '200px' }}>
54-
<Dropdown
54+
<PromptTypeDropdown
5555
options={options}
5656
selected_value={selected}
5757
on_change={set_selected}

packages/ui/src/components/editor/panel/Dropdown/Dropdown.tsx renamed to packages/ui/src/components/editor/panel/PromptTypeDropdown/PromptTypeDropdown.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { useState, useRef, useEffect } from 'react'
2-
import styles from './Dropdown.module.scss'
2+
import styles from './PromptTypeDropdown.module.scss'
33
import cn from 'classnames'
44
import { DropdownMenu } from '../../common/DropdownMenu'
55

6-
export namespace Dropdown {
6+
export namespace PromptTypeDropdown {
77
export type Option<T extends string> = {
88
value: T
99
label: string
@@ -21,7 +21,9 @@ export namespace Dropdown {
2121
}
2222
}
2323

24-
export const Dropdown = <T extends string>(props: Dropdown.Props<T>) => {
24+
export const PromptTypeDropdown = <T extends string>(
25+
props: PromptTypeDropdown.Props<T>
26+
) => {
2527
const [is_open, set_is_open] = useState(false)
2628
const [just_opened, set_just_opened] = useState(false)
2729
const container_ref = useRef<HTMLDivElement>(null)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './PromptTypeDropdown'

0 commit comments

Comments
 (0)