openvk/Web/Presenters/templates/Audio/bigplayer.xml
mrilyew be65f81a4a
fix(audio, favorites): big patch #1259
# Аудио
- Добавлена вкладка в аудио "загруженное" которую я забыл добавить в
октябре 2023. Она показывает загруженные аудио в порядке возрастания.
Есть так же идеи для вкладок "недавно прослушанное" и "ваши друзья
слушают" (последняя добавит иммерсивности, или как это называется,
персональности на сайт, хотя по факту она просто соберёт id всех друзей
и выдаст их недавние добавления в коллекцию), но тогда будет
нагромождение вкладок и придётся какое то сворачивание добавлять.
- Если аудио больше 10 и ты на странице аудио, то показывается мелкая
кнопка в правом нижнем углу которая развернёт счётчик и пагинатор.
- Если аудио обрабатывается (processed как я назвал в css) то появится
кнопка "всё равно хочу воспроизвести".
- При переключении трека меняется заголовок вкладки
- Если ты вызвал контекстное меню но оно ушло за экран, то оно будет
повыше.

# Уязвимости
- Убрана уязвимость в audio api что можно было посмотреть айди владельца
удалённого аудио. В целом непонятно использование id в тексте ошибки,
поскольку он не должен изменятся и быть обобщённым, по типу access to
audio denied. Но да ладно, коду три года всё таки.
- Удалённый контент заменяется "[deleted]" в /fave. Я бы на самом деле
не добавлял это, но меня испугал последний абзац fixed #1258 поэтому
добавил.
2025-03-28 17:04:13 +03:00

60 lines
2.2 KiB
XML

<div n:class="bigPlayer, ctx_place, $tidy ? tidy">
<div class="bigPlayerWrapper">
<div class="playButtons">
<div class="playButton musicIcon" data-tip='simple' data-title="{_play_tip} [Space]"></div>
<div class="arrowsButtons">
<div class="nextButton musicIcon" data-tip='simple' data-title=""></div>
<div class="backButton musicIcon" data-tip='simple' data-title=""></div>
</div>
</div>
<div class="trackPanel">
<div class="trackInfo">
<div class="trackName">
<span class="trackPerformers">
<a>{_track_unknown}</a>
</span>
<span>{_track_noname}</span>
</div>
<div class="timer">
<span class="time">00:00</span>
<span>/</span>
<span class="elapsedTime">-00:00</span>
</div>
</div>
<div class="track">
<div class="selectableTrack">
<div id='bigPlayerLengthSliderWrapper'>&nbsp;
<div class="slider"></div>
</div>
<div class='selectableTrackLoadProgress'>
<div class="load_bar"></div>
</div>
</div>
</div>
</div>
<div class="volumePanel">
<div class="volumePanelTrack">
<div class="selectableTrack">
<div id='bigPlayerVolumeSliderWrapper'>&nbsp;
<div class="slider"></div>
</div>
</div>
</div>
</div>
<div class="additionalButtons">
<div class="repeatButton musicIcon" data-tip='simple' data-title="{_repeat_tip} [R]" ></div>
<div class="shuffleButton musicIcon" data-tip='simple' data-title="{_shuffle_tip}"></div>
<div class="deviceButton musicIcon" data-tip='simple' data-title="{_mute_tip} [M]"></div>
</div>
<div class="absoluteButtons">
<div n:if="$buttonsShow_summary" id="summarySwitchButton">-</div>
</div>
</div>
</div>