mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
244 lines
7.4 KiB
Plaintext
244 lines
7.4 KiB
Plaintext
{var $title => "⚐ {$new->title}"}
|
||
{define author}
|
||
<a n:href="Author: authorId => $author->id" class="black">
|
||
<img src="{$author->avatar}" width="32" height="32" class="img-rounded">
|
||
<span class="{$class}">{$author->name|trim}</span>
|
||
</a>
|
||
<span data-toggle="tooltip" title="Total time {$author->shortName} translated on all videos.">
|
||
{$author->estimatedTimeTranslated|secondsToTime}{*
|
||
*}</span>{if $author->joined}, {/if}
|
||
{if $author->joined}joined {$author->joined|timeAgo}{/if}{*
|
||
*}{ifset $postfix}, {$postfix}{/ifset}
|
||
{/define}
|
||
{block #scripts}
|
||
<script src="{$amaraCallbackLink}"></script>
|
||
{/block}
|
||
{block #content}
|
||
|
||
{if isset($old)}
|
||
<h1>Diffing revision #{$old->revision} and #{$new->revision}</h1>
|
||
{else}
|
||
<h1>First revision</h1>
|
||
{/if}
|
||
|
||
{var $editor = $user->loggedIn && $new->language === 'cs'}
|
||
{var $rev = $new->video->siteRevision}
|
||
<div class="row">
|
||
<div class="col-md-7">
|
||
<p>
|
||
published <b>{$new->publishedAt|timeAgo}</b>{*
|
||
*}{ifset $old},
|
||
<span>
|
||
{$new->textChange * 100|number} % text change{*
|
||
*}</span>{*
|
||
*}{if $new->timeChange},
|
||
<span>
|
||
{$new->timeChange * 100|number} % timing change
|
||
</span>
|
||
{/if}
|
||
{/ifset}
|
||
</p>
|
||
{cache $new->id, expires => '+4 hours'}
|
||
<p>
|
||
{if isset($old) && $old->author->name !== $new->author->name}
|
||
{include author, author => $old->author, class => 'author-old'}
|
||
—
|
||
{include author, author => $new->author, class => 'author-new'}
|
||
{elseif isset($old)}
|
||
{include author, author => $new->author, class => 'author-new', postfix => 'authored both revisions'}
|
||
{else}
|
||
{include author, author => $new->author, class => 'author-new'}
|
||
{/if}
|
||
</p>
|
||
{/cache}
|
||
|
||
{var $threshold = 10}
|
||
{cache $new->id}
|
||
{var $done = $new->timeTranslated}
|
||
{var $outOf = $new->video->canonicalTimeTranslated}
|
||
{if $outOf}
|
||
<p n:if="$outOf > $done + $threshold" class="alert alert-warning">
|
||
Only {$done|time} translated out of {$outOf|time},
|
||
{(1-$done/$outOf) * 100|number} % ({$outOf - $done|time}) left
|
||
</p>
|
||
<p n:if="$outOf <= $done + $threshold" class="alert alert-success">
|
||
Seems complete: {$done|time} translated out of {$outOf|time}
|
||
</p>
|
||
{elseif $done}
|
||
<p n:if="$outOf <= $done + $threshold" class="alert alert-info">
|
||
Although {$done|time} is translated, there are no English subtitles for comparison.
|
||
</p>
|
||
{/if}
|
||
{/cache}
|
||
|
||
{if $editor}
|
||
{var $ksid = $new->video->siteId}
|
||
{if $ksid}
|
||
<a href="https://khanovaskola.cz/watch/default/?vid={$ksid}">
|
||
Video on khanovaskola.cz
|
||
{if $new->revision === $rev}
|
||
(on this revision)
|
||
{elseif $new->revision > $rev}
|
||
(on older revision #{$rev})
|
||
{else}
|
||
(on newer revision #{$rev})
|
||
{/if}
|
||
</a>
|
||
{/if}
|
||
{/if}
|
||
|
||
<h3 class="diff">{$diffs->title|noescape}</h3>
|
||
<div class="lead diff">{$diffs->description|noescape}</div>
|
||
<div class="diff subtitles">
|
||
<div n:foreach="$diffs->text as $line" class="line" data-context="{$line->context}">
|
||
{$line->text|noescape}
|
||
</div>
|
||
<div class="splitter template">
|
||
<span data-toggle="tooltip" data-placement="bottom" title="Expand">
|
||
<i class="fa fa-sort"></i> <i class="fa fa-ellipsis-h"></i>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
|
||
{if $editor}
|
||
{if $new->approved}
|
||
<span class="text-success">
|
||
Revision has been approved{if $new->editor} by {$new->editor->name}{/if}.
|
||
</span>
|
||
<a n:href="amaraEdit, amaraId => $new->video->amaraId" n:block="editButton" class="btn btn-default">
|
||
<i class="fa fa-edit"></i>
|
||
Edit on Amara
|
||
</a>
|
||
<a n:href="khanAcademy" n:block="kaButton" class="btn btn-link">
|
||
on Khan Academy
|
||
</a>
|
||
|
||
{elseif $new->incomplete}
|
||
<span class="text-info">
|
||
Revision has been marked as incomplete by {if $new->editor}{$new->editor->name}{/if}.
|
||
</span>
|
||
{include editButton}
|
||
{include kaButton}
|
||
|
||
{* else $new->status === UNSET: *}
|
||
{elseif $new->video->siteId}
|
||
<div class="btn-group">
|
||
<a n:href="approve!" class="btn btn-default">
|
||
<i class="fa fa-thumbs-o-up"></i>
|
||
Approve (update kš)
|
||
</a>
|
||
<a n:href="markIncomplete!" class="btn btn-default">
|
||
<i class="fa fa-thumbs-o-down"></i>
|
||
Mark as incomplete
|
||
</a>
|
||
{include editButton}
|
||
</div>
|
||
{include kaButton}
|
||
|
||
{else}
|
||
<div class="btn-group">
|
||
<a n:href="redirectToAdd!" class="btn btn-default">
|
||
<i class="fa fa-plus-square-o"></i>
|
||
Approve (add to kš)
|
||
</a>
|
||
<a n:href="markIncomplete!" class="btn btn-default">
|
||
<i class="fa fa-thumbs-o-down"></i>
|
||
Mark as incomplete
|
||
</a>
|
||
{include editButton}
|
||
</div>
|
||
{include kaButton}
|
||
<div>
|
||
<h5>Filed under category:</h5>
|
||
{foreach $new->video->categories as $list}
|
||
— {$list|implode:' › '}{sep}<br>{/sep}
|
||
{/foreach}
|
||
</div>
|
||
{/if}
|
||
{/if}
|
||
</div>
|
||
<div class="col-md-5">
|
||
<h4>All revisions:</h4>
|
||
<table class="table table-condensed revisions">
|
||
{foreach $new->video->getRevisionsIn($new->language) as $revision}
|
||
<tr n:class="$revision->revision === $new->revision ? 'active'">
|
||
<td class="revision">
|
||
<a n:href="this, revId => $revision->id">#{$revision->revision}</a>
|
||
</td>
|
||
<td>
|
||
<a n:href="Author: authorId => $revision->author->id" class="black">
|
||
<img src="{$revision->author->avatar}" width="32" height="32" class="img-rounded">
|
||
{$revision->author->name}
|
||
</a>
|
||
</td>
|
||
<td>
|
||
<span class="secondary">
|
||
{$revision->publishedAt|timeAgo}
|
||
</span>
|
||
</td>
|
||
<td>
|
||
{* vars $outOf, $threshold already set *}
|
||
{default $outOf = $new->video->canonicalTimeTranslated}
|
||
{if $outOf} {* ignore if canonical time not set *}
|
||
{var $done = $revision->timeTranslated}
|
||
<span n:if="$outOf > $done + $threshold" class="text-warning"
|
||
data-toggle="tooltip" title="Percent of lines translated">
|
||
{$done/$outOf * 100|number} %
|
||
</span>
|
||
<span n:if="$outOf <= $done + $threshold" class="text-success">
|
||
~100 %
|
||
</span>
|
||
{/if}
|
||
</td>
|
||
<td>
|
||
{if $revision->incomplete || $revision->approved}
|
||
{var $i = $revision->incomplete}
|
||
<span n:class="$i ? 'text-warning' : 'text-success'">
|
||
{if $i}incomplete{else}approved{/if}
|
||
</span>
|
||
{/if}
|
||
</td>
|
||
{if $user->loggedIn && $revision->comments->count()}
|
||
</tr>
|
||
<tr class="row-noborder">
|
||
<td colspan="99">
|
||
<table class="comments">
|
||
<tr n:foreach="$revision->comments as $comment">
|
||
<td class="col-comment-author">
|
||
<span class="secondary" data-toggle="tooltip" data-placement="left"
|
||
title="{$comment->createdAt|timeAgo}">
|
||
{$comment->user->name}:
|
||
</span>
|
||
</td>
|
||
<td>
|
||
<span>
|
||
{$comment->text}
|
||
</span>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
{/if}
|
||
{if $user->loggedIn && $new->id === $revision->id}
|
||
</tr>
|
||
<tr class="row-noborder">
|
||
<td colspan="99">
|
||
{form commentForm}
|
||
<div class="input-group comment-input">
|
||
{input text, class => "form-control", placeholder => "Comment this revision (only visible to other editors)"}
|
||
<span class="input-group-btn">
|
||
<button class="btn btn-default" n:name="save">
|
||
<i class="fa fa-share"></i>
|
||
</button>
|
||
</span>
|
||
</div>
|
||
{/form}
|
||
</td>
|
||
{/if}
|
||
</tr>
|
||
{/foreach}
|
||
</table>
|
||
|
||
</div>
|
||
</div>
|