@@ -22,8 +22,9 @@ interface PartData extends StyleData {
22
22
interface Props {
23
23
component : unknown ,
24
24
base ?: StyleData ,
25
+ oneline ?: boolean ,
25
26
}
26
- export function TextComponent ( { component, base = { color : 'white' } } : Props ) {
27
+ export function TextComponent ( { component, base = { color : 'white' } , oneline } : Props ) {
27
28
const { version } = useVersion ( )
28
29
const { lang } = useLocale ( )
29
30
@@ -37,7 +38,7 @@ export function TextComponent({ component, base = { color: 'white' } }: Props) {
37
38
const { value : language } = useAsync ( ( ) => getLanguage ( version , lang ) , [ version , lang ] )
38
39
39
40
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 } /> ) }
41
42
</ div >
42
43
}
43
44
@@ -102,12 +103,12 @@ const TextColors: Record<string, [string, string]> = {
102
103
white : [ '#FFF' , '#3F3F3F' ] ,
103
104
}
104
105
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 >
111
112
}
112
113
113
114
function resolveTranslate ( translate : string , fallback : string | undefined , with_ : any [ ] | undefined , lang : Record < string , string > ) : string {
0 commit comments