Commit a373e75c authored by Thomas Löffler's avatar Thomas Löffler
Browse files

[FEATURE] First bunch of new detail view design

parent ff674873
Pipeline #342 passed with stages
in 1 minute and 41 seconds
{namespace terfe2=Tx_TerFe2_ViewHelpers}
<div class="ter-ext-single-info ter-ext-info">
<table>
<tr class="ter-ext-single-info-key">
<th>
<f:translate key="extensionKey"/>
</th>
<td><strong>{extension.extKey}</strong></td>
</tr>
<tr>
<th>
<f:translate key="version"/>
</th>
<td>{extension.lastVersion.versionString} <span
class="ter-ext-state ter-ext-state-{extension.lastVersion.state}">{extension.lastVersion.state}</span>
</td>
</tr>
<tr>
<th>
<f:translate key="last_updated"/>
</th>
<td>
<terfe2:dateTime format="{settings.dateFormat}">{extension.lastVersion.uploadDate}</terfe2:dateTime>
</td>
</tr>
<tr>
<th>
<f:translate key="first_upload"/>
</th>
<td>
<terfe2:dateTime format="{settings.dateFormat}">{extension.crdate}</terfe2:dateTime>
</td>
</tr>
<tr>
<th>
<f:translate key="downloads"/>
</th>
<td>
<f:format.number decimals="0" thousandsSeparator="," decimalSeparator=".">{extension.downloads}
</f:format.number>
</td>
</tr>
<f:security.ifHasRole role="{settings.reviewerGroupUid}">
<tr>
<th>Owner:</th>
<td> Name: {owner.name}
<br/>Email: {owner.email}
<br/>Username: {owner.username}
</td>
</tr>
</f:security.ifHasRole>
<tr>
<th>
<f:translate key="category"/>
</th>
<td>
<f:if condition="{extension.lastVersion.emCategory}">
<f:then>
<f:translate key="category_{extension.lastVersion.emCategory}"/>
</f:then>
<f:else>
<f:translate key="none"/>
</f:else>
</f:if>
</td>
</tr>
<tr class="ter-ext-single-info-relations">
<th>
<f:translate key="dependencies"/>
</th>
<td>
<f:render partial="InlineRelationList" arguments="{relations: extension.lastVersion.dependencies}"/>
</td>
</tr>
<tr class="ter-ext-single-info-relations">
<th>
<f:translate key="conflicts"/>
</th>
<td>
<f:render partial="InlineRelationList" arguments="{relations: extension.lastVersion.conflicts}"/>
</td>
</tr>
<tr class="ter-ext-single-info-manual">
<th>
<f:translate key="manual"/>
</th>
<td>
<f:if condition="{documentationLink}">
<f:then>
<terfe2:raw>{documentationLink}</terfe2:raw>
<f:if condition="{extension.externalManual}">
<br/>
<f:link.external rel="nofollow" uri="{extension.externalManual}" target="_blank">
<f:translate key="external_manual"/>
</f:link.external>
</f:if>
</f:then>
<f:else>
<f:if condition="{extension.externalManual}">
<f:then>
<f:link.external rel="nofollow" uri="{extension.externalManual}" target="_blank">
<f:translate key="extension_manual"/>
</f:link.external>
</f:then>
<f:else>
<f:translate key="extension_manual_not_available"/>
</f:else>
</f:if>
</f:else>
</f:if>
</td>
</tr>
<f:if condition="{extension.forgeLink}">
<tr class="ter-ext-single-info-key">
<th>
<f:translate key="bugtracker"/>
</th>
<td>
<f:link.external rel="nofollow" uri="{extension.forgeLink}" target="_blank">
<f:translate key="found_a_bug"/>
</f:link.external>
</td>
</tr>
</f:if>
<f:if condition="{extension.repositoryUrl}">
<tr class="ter-ext-single-info-key">
<th>
<f:translate key="repository_url"/>
</th>
<td>
<f:link.external rel="nofollow" uri="{extension.repositoryUrl}" target="_blank">
<f:translate key="repository_url_value"/>
</f:link.external>
</td>
</tr>
</f:if>
<f:if condition="{flattrUrl}">
<tr class="ter-ext-single-flattr">
<th>
<f:translate key="donate"/>
</th>
<td>
<f:link.external uri="{flattrUrl}" target="_blank"><img
src="https://api.flattr.com/button/flattr-badge-large.png"
alt="{f:translate(key:'donate')}"/></f:link.external>
</td>
</tr>
</f:if>
<f:if condition="{extension.paypalUrl}">
<tr class="ter-ext-single-info-key">
<th>
<f:translate key="like_it"/>
</th>
<td>
<f:link.external rel="nofollow" uri="{extension.paypalUrl}" target="_blank">
<f:translate key="donate_url"/>
</f:link.external>
</td>
</tr>
</f:if>
<f:if condition="{owner.username}">
<tr>
<th>Username</th>
<td>
{owner.username}
</td>
</tr>
</f:if>
<f:if condition="{owner}">
<tr>
<th>
<f:translate key="author"/>
</th>
<td>
{owner.name}
<br/>
</td>
</tr>
</f:if>
</table>
</div>
<dl class="row">
<dt class="col-sm-3"><f:translate key="version" /></dt>
<dd class="col-sm-9">{extension.lastVersion.versionString}</dd>
<dt class="col-sm-3"><f:translate key="last_updated" /></dt>
<dd class="col-sm-9"><terfe2:dateTime format="{settings.dateFormat}">{extension.lastVersion.uploadDate}</terfe2:dateTime></dd>
<dt class="col-sm-3"><f:translate key="first_upload" /></dt>
<dd class="col-sm-9"><terfe2:dateTime format="{settings.dateFormat}">{extension.crdate}</terfe2:dateTime></dd>
<dt class="col-sm-3"><f:translate key="downloads" /></dt>
<dd class="col-sm-9"><f:format.number decimals="0" thousandsSeparator="," decimalSeparator=".">{extension.downloads}</f:format.number></dd>
<f:security.ifHasRole role="{settings.reviewerGroupUid}">
<dt class="col-sm-3">Owner:</dt>
<dd class="col-sm-9">Name: {owner.name}<br />Email: {owner.email}<br />Username: {owner.username}</dd>
</f:security.ifHasRole>
<dt class="col-sm-3"><f:translate key="category" /></dt>
<dd class="col-sm-9">
<f:if condition="{extension.lastVersion.emCategory}">
<f:then>
<f:translate key="category_{extension.lastVersion.emCategory}" />
</f:then>
<f:else>
<f:translate key="none" />
</f:else>
</f:if>
</dd>
<dt class="col-sm-3"><f:translate key="dependencies" /></dt>
<dd class="col-sm-9"><f:render partial="InlineRelationList" arguments="{relations: extension.lastVersion.dependencies}" /></dd>
<dt class="col-sm-3"><f:translate key="conflicts" /></dt>
<dd class="col-sm-9"><f:render partial="InlineRelationList" arguments="{relations: extension.lastVersion.conflicts}" /></dd>
<dt class="col-sm-3"><f:translate key="manual" /></dt>
<dd class="col-sm-9">
<f:if condition="{documentationLink}">
<f:then>
<terfe2:raw>{documentationLink}</terfe2:raw>
<f:if condition="{extension.externalManual}">
<br />
<f:link.external rel="nofollow" uri="{extension.externalManual}" target="_blank">
<f:translate key="external_manual" />
</f:link.external>
</f:if>
</f:then>
<f:else>
<f:if condition="{extension.externalManual}">
<f:then>
<f:link.external rel="nofollow" uri="{extension.externalManual}" target="_blank">
<f:translate key="extension_manual" />
</f:link.external>
</f:then>
<f:else>
<f:translate key="extension_manual_not_available" />
</f:else>
</f:if>
</f:else>
</f:if>
</dd>
<f:if condition="{extension.forgeLink}">
<dt class="col-sm-3">
<f:translate key="bugtracker" />
</dt>
<dd class="col-sm-9">
<f:link.external rel="nofollow" uri="{extension.forgeLink}" target="_blank">
<f:translate key="found_a_bug" />
</f:link.external>
</dd>
</f:if>
<f:if condition="{extension.repositoryUrl}">
<dt class="col-sm-3">
<f:translate key="repository_url" />
</dt>
<dd class="col-sm-9">
<f:link.external rel="nofollow" uri="{extension.repositoryUrl}" target="_blank">
<f:translate key="repository_url_value" />
</f:link.external>
</dd>
</f:if>
<f:if condition="{flattrUrl}">
<dt class="col-sm-3">
<f:translate key="donate" />
</dt>
<dd class="col-sm-9">
<f:link.external uri="{flattrUrl}" target="_blank"><img
src="https://api.flattr.com/button/flattr-badge-large.png"
alt="{f:translate(key:'donate')}" /></f:link.external>
</dd>
</f:if>
<f:if condition="{extension.paypalUrl}">
<dt class="col-sm-3">
<f:translate key="like_it" />
</dt>
<dd class="col-sm-9">
<f:link.external rel="nofollow" uri="{extension.paypalUrl}" target="_blank">
<f:translate key="donate_url" />
</f:link.external>
</dd>
</f:if>
<dt class="col-sm-3"><f:translate key="author" /></dt>
<dd class="col-sm-9">{owner.name}</dd>
</dl>
{namespace terfe2=Tx_TerFe2_ViewHelpers}
<table>
<f:for each="{versionHistory}" as="version">
<tr
<f:if condition="{version} == {version.extension.lastVersion}">class="latest-version-row"</f:if>
<f:if condition="{version.reviewState} == -1">class="insecure-version-row"</f:if>
>
<td class="col1">
<strong>{version.versionString}</strong>
<br/>
<small>
<f:format.date format="F d, Y">{version.uploadDate}</f:format.date>
</small>
</td>
<td class="col2">
<f:format.nl2br>{version.uploadComment}</f:format.nl2br>
<f:if condition="{version.typo3Dependency}">
<f:then>
<br/>
<strong>Supports TYPO3 version {version.typo3Dependency.versionString}</strong>
</f:then>
</f:if>
</td>
<td class="col3">
<f:if condition="{version.reviewState} != -1">
<f:then>
<f:link.action controller="Extension" action="download"
arguments="{extension : extension, versionString : version.versionString, format : 't3x'}"
title="{f:translate(key:'filesize')}: {version.t3xFileSize -> terfe2:filesize()}"
class="ter-download-icon ter-download-icon-t3x">
<f:translate key="download_t3x"/>
</f:link.action>
<f:link.action controller="Extension" action="download"
arguments="{extension : extension, versionString : version.versionString, format : 'zip'}"
title="{f:translate(key:'filesize')}: {version.zipFileSize -> terfe2:filesize()}"
class="ter-download-icon ter-download-icon-zip">
<f:translate key="download_zip"/>
</f:link.action>
</f:then>
<f:else>
<f:security.ifHasRole role="{settings.reviewerGroupUid}">
<f:then>
<f:link.action controller="Extension" action="download"
arguments="{extension : extension, versionString : version.versionString, format : 't3x'}"
class="ter-download-icon ter-download-icon-t3x"
title="{f:translate(key:'filesize')}: {version.t3xFileSize -> terfe2:filesize()}">
<f:translate key="download_t3x"/>
</f:link.action>
<f:link.action controller="Extension" action="download"
arguments="{extension : extension, versionString : version.versionString, format : 'zip'}"
class="ter-download-icon ter-download-icon-zip"
title="{f:translate(key:'filesize')}: {version.zipFileSize -> terfe2:filesize()}">
<f:translate key="download_zip"/>
</f:link.action>
</f:then>
<f:else>
&nbsp;
</f:else>
</f:security.ifHasRole>
</f:else>
</f:if>
</td>
</tr>
</f:for>
<table class="table table-hover">
<thead>
<tr>
<th class="col-sm-3"><i class="fa fa-info"></i> Version</th>
<th class="col-sm-4"><i class="fa fa-comment-o"></i> Upload comment</th>
<th class="col-sm-3">Supports TYPO3 version</th>
<th class="col-sm-2"><i class="fa fa-download"></i> Download</th>
</tr>
</thead>
<tbody>
<f:for each="{versionHistory}" as="version">
<tr
<f:if condition="{version} == {version.extension.lastVersion}">class="table-success"</f:if>
<f:if condition="{version.reviewState} == -1">class="table-danger"</f:if>
>
<td>
<strong>{version.versionString}</strong>
<br />
<small>
<f:format.date format="F d, Y">{version.uploadDate}</f:format.date>
</small>
</td>
<td>
<f:format.nl2br>{version.uploadComment}</f:format.nl2br>
</td>
<td>
<f:if condition="{version.typo3Dependency}">
<strong>{version.typo3Dependency.versionString}</strong>
</f:if>
</td>
<td>
<f:if condition="{version.reviewState} != -1">
<f:then>
<f:link.action controller="Extension" action="download"
arguments="{extension : extension, versionString : version.versionString, format : 'zip'}"
title="{f:translate(key:'filesize')}: {version.zipFileSize -> terfe2:filesize()}"
class="btn btn-primary">
<f:translate key="download_zip" />
</f:link.action>
</f:then>
<f:else>
<f:security.ifHasRole role="{settings.reviewerGroupUid}">
<f:then>
<f:link.action controller="Extension" action="download"
arguments="{extension : extension, versionString : version.versionString, format : 'zip'}"
class="ter-download-icon ter-download-icon-zip"
title="{f:translate(key:'filesize')}: {version.zipFileSize -> terfe2:filesize()}">
<f:translate key="download_zip" />
</f:link.action>
</f:then>
</f:security.ifHasRole>
</f:else>
</f:if>
</td>
</tr>
</f:for>
</tbody>
</table>
......@@ -2,47 +2,28 @@
<f:if condition="{relations}">
<f:then>
<ul>
<ul class="list-unstyled mb-0">
<f:for each="{relations}" as="relation" iteration="relationIteration">
<li>
<f:if condition="{relation.isExtension}">
<f:if condition="{relation.relatedExtension}">
<f:then>
<f:link.action controller="Extension" action="show"
arguments="{extension : relation.relatedExtension}">
{relation.relationKey}
</f:link.action>
<f:link.action controller="Extension" action="show" arguments="{extension : relation.relatedExtension}">{relation.relationKey}</f:link.action>
<f:if condition="{relation.versionString}"> ({relation.versionString})</f:if>
<f:if condition="{relationIteration.isLast}">
<f:then></f:then>
<f:else><br/></f:else>
</f:if>
</f:then>
<f:else>
{relation.relationKey}
<f:if condition="{relation.versionString}"> ({relation.versionString})</f:if>
<f:if condition="{relationIteration.isLast}">
<f:then></f:then>
<f:else><br/></f:else>
</f:if>
</f:else>
</f:if>
</f:if>
<f:if condition="{relation.isSystem}">
<terfe2:format function="strtoupper">{relation.relationKey}</terfe2:format>
<f:if condition="{relation.versionString}"> ({relation.versionString})</f:if>
<f:if condition="{relationIteration.isLast}">
<f:then></f:then>
<f:else><br/></f:else>
</f:if>
</f:if>
<f:if condition="{relation.isCore}">
TYPO3
<f:if condition="{relation.versionString}"> ({relation.versionString})</f:if>
<f:if condition="{relationIteration.isLast}">
<f:then></f:then>
<f:else><br/></f:else>
</f:if>
</f:if>
</li>
</f:for>
......@@ -51,4 +32,4 @@
<f:else>
<f:translate key="none"/>
</f:else>
</f:if>
\ No newline at end of file
</f:if>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment