Skip to content

Commit 5113115

Browse files
committed
Prevent newlines in dialog buttons
1 parent a5a8c0f commit 5113115

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

src/app/components/TextComponent.tsx

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ interface PartData extends StyleData {
2222
interface Props {
2323
component: unknown,
2424
base?: StyleData,
25+
oneline?: boolean,
2526
}
26-
export function TextComponent({ component, base = { color: 'white' } }: Props) {
27+
export function TextComponent({ component, base = { color: 'white' }, oneline }: Props) {
2728
const { version } = useVersion()
2829
const { lang } = useLocale()
2930

@@ -37,7 +38,7 @@ export function TextComponent({ component, base = { color: 'white' } }: Props) {
3738
const { value: language } = useAsync(() => getLanguage(version, lang), [version, lang])
3839

3940
return <div class="text-component">
40-
{parts.map(p => <TextPart part={p} lang={language ?? {}} />)}
41+
{parts.map(p => <TextPart part={p} lang={language ?? {}} oneline={oneline} />)}
4142
</div>
4243
}
4344

@@ -102,12 +103,12 @@ const TextColors: Record<string, [string, string]> = {
102103
white: ['#FFF', '#3F3F3F'],
103104
}
104105

105-
function TextPart({ part, lang }: { part: PartData, lang: Record<string, string> }) {
106-
if (part.translate) {
107-
const str = resolveTranslate(part.translate, part.fallback, part.with, lang)
108-
return <span style={createStyle(part)}>{str}</span>
109-
}
110-
return <span style={createStyle(part)}>{part.text}</span>
106+
function TextPart({ part, lang, oneline }: { part: PartData, lang: Record<string, string>, oneline?: boolean }) {
107+
let text = part.translate
108+
? resolveTranslate(part.translate, part.fallback, part.with, lang)
109+
: (part.text ?? '')
110+
text = oneline ? text.replaceAll('\n', '␊') : text
111+
return <span style={createStyle(part)}>{text}</span>
111112
}
112113

113114
function resolveTranslate(translate: string, fallback: string | undefined, with_: any[] | undefined, lang: Record<string, string>): string {

src/app/components/previews/DialogPreview.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ interface ButtonProps {
205205
function Button({ label, width }: ButtonProps) {
206206
// TODO: add tooltip
207207
return <div class="dialog-button" style={`width: ${px(width)}; height: ${px(20)};`}>
208-
<TextComponent component={label} />
208+
<TextComponent component={label} oneline />
209209
</div>
210210
}
211211

0 commit comments

Comments
 (0)