@@ -22,8 +22,9 @@ interface PartData extends StyleData {
2222interface 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
113114function resolveTranslate ( translate : string , fallback : string | undefined , with_ : any [ ] | undefined , lang : Record < string , string > ) : string {
0 commit comments