mirror of
https://github.com/openvk/openvk
synced 2025-04-23 16:43:02 +03:00
Изменены фавиконки (поменьше стали) У миниплеера ползунок теперь в стиле bsdn и большого плеера, добавлен ползунок громкости Добавлена кнопка добавления аудио в группу (у миниплеера) Если вы смотрите аудио группы, которой можете управлять, появляется кнопка "удалить аудио из группы" Снизу плейлиста в списке теперь показывается автор. При прикреплении аудиозаписей к посту теперь есть поиск "по композиции" и "по исполнителю" Добавил explicit.svg, который я забыл добавить в предыдущем коммите. Вкладочки немного переделаны При наведении на кнопки "трек вперёд" или "трек назад" показывается название предыдущего или следующего трека соответственно
68 lines
No EOL
4.1 KiB
XML
68 lines
No EOL
4.1 KiB
XML
{php $id = $audio->getId() . rand(0, 1000)}
|
|
{php $isWithdrawn = $audio->isWithdrawn()}
|
|
{php $editable = isset($thisUser) && $audio->canBeModifiedBy($thisUser)}
|
|
<div id="audioEmbed-{$id}" data-realid="{$audio->getId()}" {if $hideButtons}data-prettyid="{$audio->getPrettyId()}" data-name="{$audio->getName()}"{/if} data-genre="{$audio->getGenre()}" class="audioEmbed {if !$audio->isAvailable()}processed{/if} {if $isWithdrawn}withdrawn{/if}" onmouseenter="!this.classList.contains('inited') ? initPlayer({$id}, {$audio->getKeys()}, {$audio->getURL()}, {$audio->getLength()}) : void(0)">
|
|
<audio class="audio" />
|
|
|
|
<div id="miniplayer" class="audioEntry" style="min-height: 39px;">
|
|
<div class="playerButton">
|
|
<div class="playIcon"></div>
|
|
</div>
|
|
|
|
<div class="status" style="margin-top: 12px;">
|
|
<div class="mediaInfo" style="margin-bottom: -8px; cursor: pointer;display:flex;width: 85%;">
|
|
<div style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">
|
|
<strong class="performer">
|
|
<a style="color: unset" href="/search?query=&type=audios&sort=id&only_performers=on&query={$audio->getPerformer()}">{ovk_proc_strtr($audio->getPerformer(), 50)}</a>
|
|
</strong>
|
|
—
|
|
<span class="title {if !empty($audio->getLyrics())}withLyrics{/if}">{ovk_proc_strtr($audio->getTitle(), 50)}</span>
|
|
</div>
|
|
|
|
<div class="explicitMark" n:if="$audio->isExplicit()"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="volume" style="display: flex; flex-direction: column;width:14%;">
|
|
<span class="nobold" data-unformatted="{$audio->getLength()}" style="text-align: center;margin-top: 12px;">{$audio->getFormattedLength()}</span>
|
|
<div class="buttons" style="margin-top: 8px;">
|
|
{php $hasAudio = isset($thisUser) && $audio->isInLibraryOf($thisUser)}
|
|
|
|
{if !$hideButtons}
|
|
<div class="remove-icon musicIcon" data-id="{$audio->getId()}" n:if="isset($thisUser) && $hasAudio" ></div>
|
|
<div class="remove-icon-group musicIcon" data-id="{$audio->getId()}" data-club="{$club->getId()}" n:if="isset($thisUser) && isset($club) && $club->canBeModifiedBy($thisUser)" ></div>
|
|
<div class="add-icon musicIcon hovermeicon" data-id="{$audio->getId()}" n:if="isset($thisUser) && !$hasAudio && !$isWithdrawn" ></div>
|
|
<div class="add-icon-group musicIcon" data-id="{$audio->getId()}" n:if="isset($thisUser)" ></div>
|
|
<div class="edit-icon musicIcon" data-lyrics="{$audio->getLyrics()}" data-title="{$audio->getTitle()}" data-performer="{$audio->getPerformer()}" data-explicit="{(int)$audio->isExplicit()}" data-searchable="{(int)!$audio->isUnlisted()}" n:if="isset($thisUser) && $editable && !$isWithdrawn" ></div>
|
|
<div class="report-icon musicIcon" data-id="{$audio->getId()}" n:if="isset($thisUser) && !$editable && !$isWithdrawn" ></div>
|
|
{/if}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div style="display: flex;">
|
|
<div style="width: 100%;">
|
|
<div class="track lengthTrack" style="margin-top: 3px;display:none">
|
|
<div class="selectableTrack" style="width: 100%;" n:attr="style => $isWithdrawn ? 'display: none;' : ''">
|
|
<div style="position: relative;width: 94.8%;">
|
|
<div class="slider"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div style="width: 21%;margin-left: 16px;">
|
|
<div class="track volumeTrack" style="margin-top: 3px;display:none">
|
|
<div class="selectableTrack" style="width: 100%;" n:attr="style => $isWithdrawn ? 'display: none;' : ''">
|
|
<div style="position: relative;width: 71%;">
|
|
<div class="slider"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="lyrics" n:if="!empty($audio->getLyrics())">
|
|
{nl2br($audio->getLyrics())|noescape}
|
|
</div>
|
|
</div> |