{% extends "layouts/app.twig" %} {% block content %}
{% if platform_versions[0].cover_image_url %} {{ main_game.title }}
{% elseif main_game.image_url %} {{ main_game.title }}
{% else %}
{% endif %}

{{ main_game.title }}

{{ platform_versions|length }} Platform{{ platform_versions|length > 1 ? 's' : '' }} {% if main_game.genre %} {{ main_game.genre }} {% endif %} {% set total_playtime = 0 %} {% for platform in platform_versions %} {% if platform.playtime_minutes %} {% set total_playtime = total_playtime + platform.playtime_minutes %} {% endif %} {% endfor %} {% set total_hours = total_playtime // 60 %} {% if total_hours > 0 %} {{ total_hours }}h Played {% endif %}

Game Stats

Last Played {{ platform_versions[0].last_played_at ? platform_versions[0].last_played_at|date('M d, Y') : 'Never' }}
Playtime {% set total_playtime_minutes = 0 %} {% for platform in platform_versions %} {% if platform.playtime_minutes %} {% set total_playtime_minutes = total_playtime_minutes + platform.playtime_minutes %} {% endif %} {% endfor %} {{ total_playtime_minutes|format_duration }}
Completion {{ platform_versions[0].completion_percentage }}%
{% set metadata = platform_versions[0].metadata|json_decode %} {% if metadata %}

Platform Details

{% if metadata.appid %}
App ID {{ metadata.appid }}
{% endif %}
{% endif %}
{% for version in platform_versions %} {% set safePlatformId = version.platform|lower|replace({' ': '-', '(': '', ')': ''}) ~ '-' ~ version.source_id %}
{% if version.description %}

About

{{ version.description|nl2br }}
{% endif %} {% if main_game.screenshots is not empty %}

Screenshots

{% if main_game.screenshots|length > 1 %}
{% for screenshot in main_game.screenshots %} {% endfor %}
{% endif %}
{% endif %}
{# Basic Information Card #} {% if version.developer or version.publisher or version.release_date or version.age_rating or version.region or version.version %}

Basic Information

{% if version.developer or (version.metadata and version.metadata.developers is defined and version.metadata.developers|length > 0) %}

Developer

{% if version.developer %} {{ version.developer }} {% elseif version.metadata and version.metadata.developers is defined and version.metadata.developers|length > 0 %} {{ version.metadata.developers|join(', ') }} {% endif %}

{% endif %} {% if version.publisher or (version.metadata and version.metadata.publishers is defined and version.metadata.publishers|length > 0) %}

Publisher

{% if version.publisher %} {{ version.publisher }} {% elseif version.metadata and version.metadata.publishers is defined and version.metadata.publishers|length > 0 %} {{ version.metadata.publishers|join(', ') }} {% endif %}

{% endif %} {% if version.release_date %}

Release Date

{{ version.release_date|date('M d, Y') }}

{% endif %} {% if version.age_rating %}

Age Rating

{{ version.age_rating }}

{% endif %} {% if version.region %}

Region

{{ version.region }}

{% endif %} {% if version.version %}

Version

{{ version.version }}

{% endif %}
{% endif %} {# Play Statistics Card #} {% set has_play_stats = false %} {% for platform_version in platform_versions %} {% if platform_version.playtime_minutes is defined and platform_version.playtime_minutes > 0 %} {% set has_play_stats = true %} {% endif %} {% endfor %} {% if has_play_stats or version.play_count is not null or version.save_count is not null %}

Play Statistics

{# Play Time for All Platforms #}

Play Time by Platform

{% for platform_version in platform_versions %} {% if platform_version.playtime_minutes is defined and platform_version.playtime_minutes > 0 %} {% set hours = platform_version.playtime_minutes // 60 %} {% set minutes = platform_version.playtime_minutes % 60 %}
{{ platform_version.platform }} {% if hours > 0 %}{{ hours }}h {% endif %}{% if minutes > 0 or hours == 0 %}{{ minutes }}m{% endif %}
{% endif %} {% endfor %}
{% if version.play_count is not null %}

Play Count

{{ version.play_count }}
{% endif %} {% if version.save_count is not null %}

Save Files

{{ version.save_count }}
{% endif %}
{% endif %} {# Technical Information Card #} {% if version.install_size or version.completion_status %}

Technical Information

{% if version.install_size %}

Install Size

{% if version.install_size >= 1073741824 %} {{ (version.install_size / 1073741824)|number_format(1) }} GB {% else %} {{ (version.install_size / 1048576)|number_format(0) }} MB {% endif %}
{% endif %} {% if version.completion_status %}

Completion Status

{% set completionStatus = version.completion_status|lower %} {% if completionStatus == 'completed' %} Completed {% elseif completionStatus == 'playing' %} In Progress {% elseif completionStatus == 'notplayed' %} Not Played {% else %} {{ completionStatus|capitalize }} {% endif %} {% if version.completion_percentage is not null %} {{ version.completion_percentage }}% {% endif %}
{% endif %}
{% endif %} {# Library Information Card #} {% if version.added_at or version.modified_at or version.last_played_at %}

Library Information

{% if version.added_at %}

Added to Library

{{ version.added_at|date('M d, Y') }}

{% endif %} {% if version.modified_at %}

Last Modified

{{ version.modified_at|date('M d, Y') }}

{% endif %} {% if version.last_played_at %}

Last Played

{{ version.last_played_at|date('M d, Y') }}

{% if version.last_activity %}

{{ version.last_activity }}

{% endif %}
{% endif %}
{% endif %} {# Metadata & Tags Card #} {% if version.metadata is defined and version.metadata is not empty %} {% if version.metadata is iterable %} {% set metadata = version.metadata %} {% else %} {% set metadata = version.metadata|json_decode(true) %} {% if metadata is null or metadata is not iterable %} {% set metadata = [] %} {% endif %} {% endif %} {% set has_metadata = false %} {% if metadata.genres is defined and metadata.genres is iterable and metadata.genres|length > 0 %}{% set has_metadata = true %}{% endif %} {% if metadata.tags is defined and metadata.tags is iterable and metadata.tags|length > 0 %}{% set has_metadata = true %}{% endif %} {% if metadata.features is defined and metadata.features is iterable and metadata.features|length > 0 %}{% set has_metadata = true %}{% endif %} {% if metadata.platforms is defined and metadata.platforms is iterable and metadata.platforms|length > 0 %}{% set has_metadata = true %}{% endif %} {% if metadata.series is defined and metadata.series is iterable and metadata.series|length > 0 %}{% set has_metadata = true %}{% endif %} {% if metadata.source is defined and metadata.source is not empty %}{% set has_metadata = true %}{% endif %} {% if metadata.user_score is defined and metadata.user_score is not empty %}{% set has_metadata = true %}{% endif %} {% if metadata.community_score is defined and metadata.community_score is not empty %}{% set has_metadata = true %}{% endif %} {% if metadata.critic_score is defined and metadata.critic_score is not empty %}{% set has_metadata = true %}{% endif %} {% if metadata.rating is defined and metadata.rating is not empty %}{% set has_metadata = true %}{% endif %} {% if metadata.release_date is defined and metadata.release_date is not empty %}{% set has_metadata = true %}{% endif %} {% if metadata.links is defined and metadata.links is iterable and metadata.links|length > 0 %}{% set has_metadata = true %}{% endif %} {% if has_metadata %}

Tags & Metadata

{# Genres #} {% if metadata.genres is defined and metadata.genres is iterable and metadata.genres|length > 0 %}

Genres

{% for genre in metadata.genres %} {% if genre is not empty %} {{ genre }} {% endif %} {% endfor %}
{% endif %} {# Tags (filtered) #} {% if metadata.tags is defined and metadata.tags is iterable and metadata.tags|length > 0 %} {% set filteredTags = metadata.tags|filter(tag => tag is not empty and not (tag starts with '[' and ']' in tag)) %} {% if filteredTags|length > 0 %}

Tags

{% for tag in filteredTags %} {{ tag }} {% endfor %}
{% endif %} {% endif %} {# Features #} {% if metadata.features is defined and metadata.features is iterable and metadata.features|length > 0 %}

Features

{% for feature in metadata.features %} {% if feature is not empty %} {{ feature }} {% endif %} {% endfor %}
{% endif %} {# Series #} {% if metadata.series is defined and metadata.series is iterable and metadata.series|length > 0 %}

Series

{% for series in metadata.series %} {% if series is not empty %} {{ series }} {% endif %} {% endfor %}
{% endif %} {# Available Platforms #} {% if metadata.platforms is defined and metadata.platforms is iterable and metadata.platforms|length > 0 %}

Available Platforms

{% for platform in metadata.platforms %} {% if platform is not empty %} {{ platform }} {% endif %} {% endfor %}
{% endif %} {# Scores Row #} {% if metadata.user_score is defined and metadata.user_score is not empty or metadata.community_score is defined and metadata.community_score is not empty or metadata.critic_score is defined and metadata.critic_score is not empty %}
{% if metadata.user_score is defined and metadata.user_score is not empty %}

User Score

{{ metadata.user_score }}/10
{% endif %} {% if metadata.community_score is defined and metadata.community_score is not empty %}

Community Score

{{ metadata.community_score }}%
{% endif %} {% if metadata.critic_score is defined and metadata.critic_score is not empty %}

Critic Score

{{ metadata.critic_score }}%
{% endif %}
{% endif %} {# Rating #} {% if metadata.rating is defined and metadata.rating is not empty %}

Rating

{% if metadata.rating == 'RP' %} Rating Pending {% elseif metadata.rating == 'EC' %} Early Childhood {% elseif metadata.rating == 'E' %} Everyone {% elseif metadata.rating == 'E10+' %} Everyone 10+ {% elseif metadata.rating == 'T' %} Teen {% elseif metadata.rating == 'M' %} Mature 17+ {% elseif metadata.rating == 'AO' %} Adults Only 18+ {% else %} {{ metadata.rating }} {% endif %} {% if metadata.rating_description is defined and metadata.rating_description is not empty %} {{ metadata.rating_description }} {% endif %}

{% endif %} {# Release Date #} {% if metadata.release_date is defined and metadata.release_date is not empty %}

Original Release

{{ metadata.release_date }} {% if metadata.release_year is defined and metadata.release_year is not empty %} ({{ metadata.release_year }}) {% endif %}

{% endif %} {# Links #} {% if metadata.links is defined and metadata.links is iterable and metadata.links|length > 0 %}

Links

{% for link in metadata.links %} {% if link.name is defined and link.url is defined %} {{ link.name }} {% endif %} {% endfor %}
{% endif %}
{% endif %} {% endif %}
{% endfor %}

Available Platforms

{% for version in platform_versions %}

{{ version.platform }}

{% if version.source_name %}

{{ version.source_name }}

{% endif %}
{% if version.is_installed %} Installed {% endif %}
{% endfor %}
{% set playniteLinks = platform_versions[0].links_json|json_decode %} {% if playniteLinks %}

Links

{% for link in playniteLinks %} {{ link.Name }} {% endfor %}
{% endif %}
{% endblock %}