<!--
    Modern for ES-DE Frontend (modern-es-de)
    Author: Sophia Hadash
    Email: s.hadash2@protonmail.com
    License: Creative Commons CC-BY-NC-SA
    Based on: Nintendo Switch Theme by Lilbud
-->

<theme>
    <include>./navigationsounds.xml</include>
    <include>./languages.xml</include>
    <include>./colors.xml</include>

    <variables>
        <mainFont>./assets/fonts/nswitchui.ttf</mainFont>
    </variables>

    <fontSize name="medium">
        <variables>
            <!-- System view -->
            <gameCounterFontSize>0.032</gameCounterFontSize>
            <systemNameFontSize>0.04</systemNameFontSize>
            <!-- Gamelist view -->
            <gamelistSystemNameFontSize>0.03</gamelistSystemNameFontSize>
            <gamelistFontSize>0.030</gamelistFontSize>
            <gamelistLineSpacing>1.9</gamelistLineSpacing>
            <gamelistInfoFontSize>0.03</gamelistInfoFontSize>
            <descriptionFontSize>0.03</descriptionFontSize>
            <descriptionLineSpacing>1.2</descriptionLineSpacing>
            <metadataLabelFontSize>0.02</metadataLabelFontSize>
            <metadataValueFontSize>0.03</metadataValueFontSize>
            <publisherLabelPos>0.70 0.512</publisherLabelPos>
            <developerLabelPos>0.8453 0.512</developerLabelPos>
            <releaseDateLabelPos>0.70 0.578</releaseDateLabelPos>
            <playersLabelPos>0.8453 0.578</playersLabelPos>
            <genreLabelPos>0.70 0.646</genreLabelPos>
            <playTimeLabelPos>0.70 0.712</playTimeLabelPos>
            <ratingLabelPos>0.70 0.796</ratingLabelPos>
            <ratingSize>0.04 0.03</ratingSize>
            <badgesSize>0.1267 0.185</badgesSize>
        </variables>
    </fontSize>
    <fontSize name="large">
        <variables>
            <!-- System view -->
            <gameCounterFontSize>0.036</gameCounterFontSize>
            <systemNameFontSize>0.045</systemNameFontSize>
            <!-- Gamelist view -->
            <gamelistSystemNameFontSize>0.04</gamelistSystemNameFontSize>
            <gamelistFontSize>0.0368</gamelistFontSize>
            <gamelistLineSpacing>1.7</gamelistLineSpacing>
            <gamelistInfoFontSize>0.036</gamelistInfoFontSize>
            <descriptionFontSize>0.037</descriptionFontSize>
            <descriptionLineSpacing>1.15</descriptionLineSpacing>
            <metadataLabelFontSize>0.025</metadataLabelFontSize>
            <metadataValueFontSize>0.036</metadataValueFontSize>
            <publisherLabelPos>0.70 0.507</publisherLabelPos>
            <developerLabelPos>0.8453 0.507</developerLabelPos>
            <releaseDateLabelPos>0.70 0.573</releaseDateLabelPos>
            <playersLabelPos>0.8453 0.573</playersLabelPos>
            <genreLabelPos>0.70 0.642</genreLabelPos>
            <playTimeLabelPos>0.70 0.707</playTimeLabelPos>
            <ratingLabelPos>0.70 0.794</ratingLabelPos>
            <ratingSize>0 0.035</ratingSize>
            <badgesSize>0.1267 0.205</badgesSize>
        </variables>
    </fontSize>

    <variant name="all">
        <aspectRatio name="16:9">
            <include>./aspect-ratio-16-9.xml</include>
        </aspectRatio>
        <aspectRatio name="16:10">
            <include>./aspect-ratio-16-10.xml</include>
        </aspectRatio>
        <aspectRatio name="4:3">
            <include>./aspect-ratio-4-3.xml</include>
        </aspectRatio>
        <aspectRatio name="21:9">
            <include>./aspect-ratio-21-9.xml</include>
        </aspectRatio>
    </variant>

    <variant name="withVideos, withoutVideos, noGameMedia">
        <variables>
            <artDirectory>art</artDirectory>
        </variables>
    </variant>
    <variant name="withVideosLegacy, withoutVideosLegacy">
        <variables>
            <artDirectory>art_legacy</artDirectory>
        </variables>
    </variant>

    <variant name="all">
        <view name="system, gamelist">
            <image name="background">
                <pos>0 0</pos>
                <size>1 1</size>
                <origin>0 0</origin>
                <path>./assets/box.png</path>
                <tile>true</tile>
                <color>${backgroundColor}</color>
                <zIndex>0</zIndex>
            </image>
            <image name="bottomLine">
                <size>0.938 0.001</size>
                <origin>0.5 0.5</origin>
                <path>./assets/box.png</path>
                <tile>false</tile>
                <color>${tertiaryColor}</color>
            </image>
            <helpsystem name="help">
                <origin>1 0</origin>
                <textColor>${secondaryColor}</textColor>
                <textColorDimmed>${secondaryColor}</textColorDimmed>
                <iconColor>${secondaryColor}</iconColor>
                <iconColorDimmed>${secondaryColor}</iconColorDimmed>
                <fontPath>${mainFont}</fontPath>
                <entryRelativeScale>0.9</entryRelativeScale>
                <letterCase>capitalize</letterCase>
            </helpsystem>
            <systemstatus name="systemStatus">
                <pos>0.985 0.014</pos>
                <height>0.033</height>
                <fontPath>${mainFont}</fontPath>
                <textRelativeScale>0.8</textRelativeScale>
                <color>${secondaryColor}</color>
                <entrySpacing>0.005</entrySpacing>
            </systemstatus>
            <clock name="clock">
                <pos>0.018 0.014</pos>
                <fontPath>${mainFont}</fontPath>
                <fontSize>0.028</fontSize>
                <color>${secondaryColor}</color>
                <format>%H:%M</format>
            </clock>
        </view>

        <view name="system">
            <carousel name="systemCarousel">
                <pos>0 0.3</pos>
                <size>1 0.4</size>
                <type>horizontal</type>
                <staticImage>./${artDirectory}/${system.theme}.webp</staticImage>
                <itemScale>1</itemScale>
                <itemVerticalAlignment>center</itemVerticalAlignment>
                <unfocusedItemOpacity>1</unfocusedItemOpacity>
                <fastScrolling>true</fastScrolling>
                <color>00000000</color>
                <textBackgroundColor>${placeholderColor}</textBackgroundColor>
                <!-- Placeholder text -->
                <text>${system.fullName}</text>
                <textRelativeScale>0.92</textRelativeScale>
                <textColor>${secondaryColor}</textColor>
                <fontPath>${mainFont}</fontPath>
                <fontSize>0.035</fontSize>
                <letterCase>none</letterCase>
                <letterCaseAutoCollections>capitalize</letterCaseAutoCollections>
                <letterCaseCustomCollections>none</letterCaseCustomCollections>
                <lineSpacing>1.5</lineSpacing>
                <zIndex>50</zIndex>
            </carousel>
            <text name="gameCounter">
                <pos>0.5 0.75</pos>
                <size>1 0.056</size>
                <origin>0.5 0.5</origin>
                <systemdata>gamecount</systemdata>
                <fontPath>${mainFont}</fontPath>
                <fontSize>${gameCounterFontSize}</fontSize>
                <horizontalAlignment>center</horizontalAlignment>
                <color>${mainColor}</color>
                <letterCase>capitalize</letterCase>
                <zIndex>50</zIndex>
            </text>
            <!-- System title top left -->
            <image name="arrowBlock">
                <pos>0.03 0.244</pos>
                <origin>0 0.5</origin>
                <path>./assets/arrow_block.svg</path>
                <color>${mainColor}</color>
            </image>
            <text name="systemName, autoCollectionName, customCollectionName">
                <pos>0.063 0.244</pos>
                <size>0.743 0.035</size>
                <origin>0 0.5</origin>
                <fontPath>${mainFont}</fontPath>
                <fontSize>${systemNameFontSize}</fontSize>
                <horizontalAlignment>left</horizontalAlignment>
                <color>${mainColor}</color>
            </text>
            <text name="systemName">
                <text>${system.fullName.noCollections}</text>
                <letterCase>none</letterCase>
            </text>
            <text name="autoCollectionName">
                <text>${system.fullName.autoCollections}</text>
                <letterCase>capitalize</letterCase>
            </text>
            <text name="customCollectionName">
                <text>${system.fullName.customCollections}</text>
                <letterCase>none</letterCase>
            </text>
            <!-- Blue selection box -->
            <image name="selectionBox">
                <pos>0.5 0.5</pos>
                <origin>0.5 0.5</origin>
                <path>./assets/selection_box.png</path>
                <color>${highlightColor}</color>
                <zIndex>70</zIndex>
            </image>
        </view>

        <view name="gamelist">
            <textlist name="gamelistTextlist">
                <pos>0.04 0.182</pos>
                <size>0.31 0.68</size>
                <origin>0 0</origin>
                <selectorColor>${mainColor}</selectorColor>
                <selectedColor>${mainColor}</selectedColor>
                <primaryColor>${secondaryColor}</primaryColor>
                <secondaryColor>${tertiaryColor}</secondaryColor>
                <fontPath>${mainFont}</fontPath>
                <fontSize>${gamelistFontSize}</fontSize>
                <horizontalAlignment>left</horizontalAlignment>
                <horizontalMargin>0.01</horizontalMargin>
                <letterCase>none</letterCase>
                <lineSpacing>${gamelistLineSpacing}</lineSpacing>
            </textlist>
            <image name="topLine">
                <pos>0.5 0.13</pos>
                <size>0.938 0.001</size>
                <origin>0.5 0.5</origin>
                <path>./assets/box.png</path>
                <tile>false</tile>
                <color>${tertiaryColor}</color>
            </image>
            <text name="systemName, autoCollectionName, customCollectionName">
                <pos>0.034 0.065</pos>
                <size>0.743 0.031</size>
                <fontPath>${mainFont}</fontPath>
                <fontSize>${gamelistSystemNameFontSize}</fontSize>
                <horizontalAlignment>left</horizontalAlignment>
                <color>${secondaryColor}</color>
                <letterCase>capitalize</letterCase>
            </text>
            <text name="systemName">
                <text>${system.fullName.noCollections}</text>
                <letterCase>none</letterCase>
            </text>
            <text name="autoCollectionName">
                <text>${system.fullName.autoCollections}</text>
                <letterCase>capitalize</letterCase>
            </text>
            <text name="customCollectionName">
                <text>${system.fullName.customCollections}</text>
                <letterCase>none</letterCase>
            </text>
            <text name="customCollectionsHeader">
                <pos>0.035 0.095</pos>
                <size>0.743 0.031</size>
                <fontPath>${mainFont}</fontPath>
                <fontSize>0.02</fontSize>
                <color>${secondaryColor}</color>
            </text>
            <gamelistinfo name="gamelistInfo">
                <pos>0.966 0.065</pos>
                <size>0.25 0.031</size>
                <origin>1 0</origin>
                <fontPath>${mainFont}</fontPath>
                <fontSize>${gamelistInfoFontSize}</fontSize>
                <horizontalAlignment>right</horizontalAlignment>
                <color>${secondaryColor}</color>
            </gamelistinfo>
            <image name="marquee">
                <pos>0.494 0.68</pos>
                <maxSize>0.268 0.228</maxSize>
                <origin>0.5 0.5</origin>
                <imageType>marquee</imageType>
                <interpolation>linear</interpolation>
            </image>
            <!-- Metadata panel (right) -->
            <image name="backgroundMetadata">
                <pos>0.675 0.20</pos>
                <size>0.325 0.63</size>
                <origin>0 0</origin>
                <path>./assets/box.png</path>
                <tile>false</tile>
                <color>${backgroundColor2}</color>
            </image>
            <image name="backgroundMetadataGradTop">
                <pos>0.675 0.131</pos>
                <size>0.325 0.07</size>
                <origin>0 0</origin>
                <rotation>180</rotation>
                <path>./assets/${colorSchemeName}/gradient.png</path>
            </image>
            <image name="backgroundMetadataGradBottom">
                <pos>0.675 0.83</pos>
                <size>0.325 0.07</size>
                <origin>0 0</origin>
                <path>./assets/${colorSchemeName}/gradient.png</path>
            </image>
            <text name="description">
                <pos>0.70 0.1745</pos>
                <size>0.269 0.3105</size>
                <metadata>description</metadata>
                <container>true</container>
                <containerScrollSpeed>1</containerScrollSpeed>
                <containerStartDelay>4.5</containerStartDelay>
                <containerResetDelay>7</containerResetDelay>
                <fontSize>${descriptionFontSize}</fontSize>
                <lineSpacing>${descriptionLineSpacing}</lineSpacing>
            </text>
            <text name="labelPublisher">
                <pos>${publisherLabelPos}</pos>
                <size>0.13125 0.02</size>
                <text>${langLabelPublisher}:</text>
                <metadataElement>true</metadataElement>
                <fontSize>${metadataLabelFontSize}</fontSize>
            </text>
            <text name="publisher">
                <pos>0.70 0.532</pos>
                <size>0.13125 0.03</size>
                <metadata>publisher</metadata>
                <defaultValue>${langUnknown}</defaultValue>
                <fontSize>${metadataValueFontSize}</fontSize>
            </text>
            <text name="labelDeveloper">
                <pos>${developerLabelPos}</pos>
                <size>0.13125 0.02</size>
                <text>${langLabelDeveloper}:</text>
                <metadataElement>true</metadataElement>
                <fontSize>${metadataLabelFontSize}</fontSize>
            </text>
            <text name="developer">
                <pos>0.8453 0.532</pos>
                <size>0.13125 0.03</size>
                <metadata>developer</metadata>
                <defaultValue>${langUnknown}</defaultValue>
                <fontSize>${metadataValueFontSize}</fontSize>
            </text>
            <text name="labelReleasedate">
                <pos>${releaseDateLabelPos}</pos>
                <size>0.13125 0.02</size>
                <text>${langLabelReleasedate}:</text>
                <metadataElement>true</metadataElement>
                <fontSize>${metadataLabelFontSize}</fontSize>
            </text>
            <datetime name="releasedate">
                <pos>0.70 0.598</pos>
                <size>0.13125 0.03</size>
                <metadata>releasedate</metadata>
                <defaultValue>${langUnknown}</defaultValue>
                <fontSize>${metadataValueFontSize}</fontSize>
            </datetime>
            <text name="labelPlayers">
                <pos>${playersLabelPos}</pos>
                <size>0.13125 0.02</size>
                <text>${langLabelPlayers}:</text>
                <metadataElement>true</metadataElement>
                <fontSize>${metadataLabelFontSize}</fontSize>
            </text>
            <text name="players">
                <pos>0.8453 0.598</pos>
                <size>0.13125 0.03</size>
                <metadata>players</metadata>
                <defaultValue>${langUnknown}</defaultValue>
                <fontSize>${metadataValueFontSize}</fontSize>
            </text>
            <text name="labelGenre">
                <pos>${genreLabelPos}</pos>
                <size>0.13125 0.02</size>
                <text>${langLabelGenre}:</text>
                <metadataElement>true</metadataElement>
                <fontSize>${metadataLabelFontSize}</fontSize>
            </text>
            <text name="genre">
                <pos>0.70 0.665</pos>
                <size>0.13125 0.03</size>
                <metadata>genre</metadata>
                <defaultValue>${langUnknown}</defaultValue>
                <fontSize>${metadataValueFontSize}</fontSize>
            </text>
            <text name="labelPlayTime">
                <pos>${playTimeLabelPos}</pos>
                <size>0.13125 0.04</size>
                <text>${langLabelPlayTime}:</text>
                <metadataElement>true</metadataElement>
                <fontSize>${metadataLabelFontSize}</fontSize>
            </text>
            <text name="playTime">
                <pos>0.70 0.741</pos>
                <size>0.13125 0.03</size>
                <metadata>playtime</metadata>
                <defaultValue>${langUnknown}</defaultValue>
                <fontSize>${metadataValueFontSize}</fontSize>
            </text>
            <text name="labelRating">
                <pos>${ratingLabelPos}</pos>
                <size>0.13125 0.02</size>
                <text>${langLabelRating}:</text>
                <metadataElement>true</metadataElement>
                <fontSize>${metadataLabelFontSize}</fontSize>
            </text>
            <text name="labelPublisher, labelDeveloper, labelReleasedate, labelPlayers,
                    labelGenre, labelPlayTime, labelRating">
                <color>${tertiaryColor}</color>
            </text>
            <text name="publisher, developer, players, genre, playTime, description">
                <color>${secondaryColor}</color>
            </text>
            <datetime name="releasedate">
                <color>${secondaryColor}</color>
            </datetime>
            <rating name="rating">
                <pos>0.70 0.818</pos>
                <size>${ratingSize}</size>
                <filledPath>./assets/star-filled.svg</filledPath>
                <unfilledPath>./assets/${colorSchemeName}/star-unfilled.svg</unfilledPath>
            </rating>
            <badges name="badges">
                <pos>0.8423 0.652</pos>
                <size>${badgesSize}</size>
                <origin>0 0</origin>
                <direction>column</direction>
                <slots>collection, folder, favorite, completed, kidgame, broken, controller, altemulator, manual</slots>
                <controllerPos>0.165 0.5</controllerPos>
                <controllerSize>0.2</controllerSize>
                <customBadgeIcon badge="collection">./assets/${colorSchemeName}/badges/collection.svg</customBadgeIcon>
                <customBadgeIcon badge="folder">./assets/${colorSchemeName}/badges/folder.svg</customBadgeIcon>
                <customBadgeIcon badge="favorite">./assets/${colorSchemeName}/badges/favorite.svg</customBadgeIcon>
                <customBadgeIcon badge="completed">./assets/${colorSchemeName}/badges/completed.svg</customBadgeIcon>
                <customBadgeIcon badge="kidgame">./assets/${colorSchemeName}/badges/kidgame.svg</customBadgeIcon>
                <customBadgeIcon badge="broken">./assets/${colorSchemeName}/badges/broken.svg</customBadgeIcon>
                <customBadgeIcon badge="controller">./assets/${colorSchemeName}/badges/controller.svg</customBadgeIcon>
                <customBadgeIcon badge="altemulator">./assets/${colorSchemeName}/badges/altemulator.svg</customBadgeIcon>
                <customBadgeIcon badge="manual">./assets/${colorSchemeName}/badges/manual.svg</customBadgeIcon>
                <customControllerIcon controller="gamepad_generic">./assets/controllers/generic.svg</customControllerIcon>
                <customControllerIcon controller="gamepad_xbox">./assets/controllers/xbox.svg</customControllerIcon>
                <customControllerIcon controller="gamepad_playstation">./assets/controllers/dualshock4.svg</customControllerIcon>
                <customControllerIcon controller="gamepad_nintendo_nes">./assets/controllers/classic.svg</customControllerIcon>
                <customControllerIcon controller="gamepad_nintendo_snes">./assets/controllers/classic.svg</customControllerIcon>
                <customControllerIcon controller="gamepad_nintendo_64">./assets/controllers/n64.svg</customControllerIcon>
                <customControllerIcon controller="joystick_generic">./assets/controllers/joystick.svg</customControllerIcon>
                <customControllerIcon controller="trackball_generic">./assets/controllers/trackball.svg</customControllerIcon>
                <customControllerIcon controller="lightgun_generic">./assets/controllers/gun.svg</customControllerIcon>
                <customControllerIcon controller="lightgun_nintendo">./assets/controllers/gun.svg</customControllerIcon>
                <customControllerIcon controller="keyboard_generic">./assets/controllers/keyboard.svg</customControllerIcon>
                <customControllerIcon controller="mouse_generic">./assets/controllers/mouse.svg</customControllerIcon>
                <customControllerIcon controller="mouse_amiga">./assets/controllers/mouse.svg</customControllerIcon>
                <customControllerIcon controller="keyboard_mouse_generic">./assets/controllers/keyboard-mouse.svg</customControllerIcon>
                <customControllerIcon controller="steering_wheel_generic">./assets/controllers/wheel.svg</customControllerIcon>
                <customControllerIcon controller="wii_remote_nintendo">./assets/controllers/wiimote.svg</customControllerIcon>
                <customControllerIcon controller="wii_remote_and_nunchuk_nintendo">./assets/controllers/wiimote-nunchuck.svg</customControllerIcon>
                <customControllerIcon controller="joycon_left_or_right_nintendo">./assets/controllers/joycon-left.svg</customControllerIcon>
                <customControllerIcon controller="joycon_pair_nintendo">./assets/controllers/joycon-pair.svg</customControllerIcon>
                <customControllerIcon controller="unknown">./assets/controllers/generic.svg</customControllerIcon>
                <folderLinkPos>0.18 0.55</folderLinkPos>
                <folderLinkSize>0.14</folderLinkSize>
            </badges>
        </view>
    </variant>

    <variant name="withVideos, withVideosLegacy">
        <view name="gamelist">
            <video name="gameVideo">
                <pos>0.4985 0.365</pos>
                <maxSize>0.277 0.39</maxSize>
                <origin>0.5 0.5</origin>
                <imageType>image</imageType>
                <pillarboxes>false</pillarboxes>
                <pillarboxThreshold>0.85 0.90</pillarboxThreshold>
                <delay>1.5</delay>
                <scrollFadeIn>true</scrollFadeIn>
            </video>
        </view>
    </variant>

    <variant name="withoutVideos, withoutVideosLegacy">
        <view name="gamelist">
            <image name="gameImage">
                <pos>0.4985 0.365</pos>
                <maxSize>0.277 0.39</maxSize>
                <origin>0.5 0.5</origin>
                <imageType>image</imageType>
                <scrollFadeIn>true</scrollFadeIn>
            </image>
        </view>
    </variant>

    <variant name="noGameMedia">
        <view name="gamelist">
            <textlist name="gamelistTextlist">
                <pos>0.04 0.182</pos>
                <size>0.924 0.682</size>
                <selectorColor>00000000</selectorColor>
                <horizontalAlignment>center</horizontalAlignment>
            </textlist>
            <image name="marquee">
                <visible>false</visible>
            </image>
            <image name="backgroundMetadata">
                <visible>false</visible>
            </image>
            <image name="backgroundMetadataGradTop">
                <visible>false</visible>
            </image>
            <image name="backgroundMetadataGradBottom">
                <visible>false</visible>
            </image>
            <badges name="badges">
                <visible>false</visible>
            </badges>
            <text name="labelPublisher, labelDeveloper, labelReleasedate, labelPlayers,
                        labelGenre, labelRating, labelPlayTime, publisher, developer, players,
                        genre, playTime, description">
                <visible>false</visible>
            </text>
            <datetime name="releasedate">
                <visible>false</visible>
            </datetime>
            <rating name="rating">
                <visible>false</visible>
            </rating>
        </view>
    </variant>
</theme>