@@ -226,6 +226,13 @@ Note: this command supports fuzzy search.`,
226226 . setDescription ( char . desc )
227227 . addField ( "Basics" , this . getBasicInfo ( char ) )
228228
229+ if ( char . media . videos )
230+ embed . setDescription ( `${ char . desc } \n${
231+ Object . entries ( char . media . videos )
232+ . map ( ( [ title , url ] ) => `[${ title . split ( " - " ) [ 0 ] . replace ( / ^ N e w / i, "" ) . trim ( ) } ](${ url } )` )
233+ . join ( " / " )
234+ } `)
235+
229236 if ( data . isFullCharacter ( char ) ) {
230237 const maxAscension = char . ascensions [ char . ascensions . length - 1 ]
231238 embed . addField ( "Base stats" , `${
@@ -326,6 +333,7 @@ Note: this command supports fuzzy search.`,
326333
327334 if ( va . length > 0 )
328335 embed . addField ( "Voice Actors" , va . join ( "\n" ) )
336+
329337 return embed
330338 }
331339
@@ -406,23 +414,31 @@ Note: this command supports fuzzy search.`,
406414 return undefined
407415 }
408416
409- getArtPage ( char : Character , relativePage : number , currentPage : number , maxPages : number ) : MessageEmbed | undefined {
417+ getMediaPage ( char : Character , relativePage : number , currentPage : number , maxPages : number ) : MessageEmbed | undefined {
410418 const embed = new MessageEmbed ( )
411419 . setColor ( Colors [ char . meta . element ] ?? "" )
412420 . setFooter ( `Page ${ currentPage } / ${ maxPages } ` )
421+ . setTitle ( `${ char . name } ` )
413422 if ( char . icon )
414423 embed . setThumbnail ( char . icon )
415424
416- if ( relativePage >= 0 && relativePage < char . imgs . length ) {
417- const img = char . imgs [ relativePage ]
418- embed . setTitle ( `${ char . name } ` )
419- . setDescription ( `[Open image in browser](${ img } )` )
425+ const videos = char . media . videos ? ( `**Promotional Videos**
426+ ${ Object
427+ . entries ( char . media . videos )
428+ . map ( ( [ title , url ] ) => `[${ title } ](${ url } )` )
429+ . join ( "\n" )
430+ } \n\n`) : ""
431+
432+ if ( char . media . imgs && relativePage >= 0 && relativePage < char . media . imgs . length ) {
433+ const img = char . media . imgs [ relativePage ]
434+ embed . setDescription ( `${ videos } [Open image in browser](${ img } )` )
420435 . setImage ( img )
421436 embed . thumbnail = null
422437 return embed
438+ } else {
439+ embed . setDescription ( videos )
440+ return embed
423441 }
424-
425- return undefined
426442 }
427443
428444 getCharTalentPage ( char : Character , relativePage : number , currentPage : number , maxPages : number , talentMode : TalentMode ) : MessageEmbed | undefined {
@@ -606,9 +622,9 @@ Note: this command supports fuzzy search.`,
606622
607623 pages . push ( {
608624 bookmarkEmoji : "🎨" ,
609- bookmarkName : "Art " ,
610- maxPages : char . imgs . length ,
611- pages : ( rp , cp , mp ) => this . getArtPage ( char , rp , cp , mp )
625+ bookmarkName : "Media " ,
626+ maxPages : ( char . media . imgs ? .length ?? ( char . media . videos ? 1 : 0 ) ) ,
627+ pages : ( rp , cp , mp ) => this . getMediaPage ( char , rp , cp , mp )
612628 } )
613629
614630 return pages
0 commit comments