add uploaded tab

This commit is contained in:
mrilyew 2025-03-15 18:53:17 +03:00
parent 520587cc56
commit 41aef80e85
8 changed files with 40 additions and 1 deletions

View file

@ -78,6 +78,10 @@ final class AudioPresenter extends OpenVKPresenter
} elseif ($mode === "new") {
$audios = $this->audios->getNew();
$audiosCount = $audios->size();
} elseif ($mode === "uploaded") {
$stream = $this->audios->getByUploader($this->user->identity);
$audios = $stream->page($page, $perPage);
$audiosCount = $stream->size();
} elseif ($mode === "playlists") {
if ($owner < 0) {
$entity = (new Clubs())->get(abs($owner));
@ -130,6 +134,11 @@ final class AudioPresenter extends OpenVKPresenter
}
}
function renderUploaded()
{
$this->renderList(null, "uploaded");
}
public function renderEmbed(int $owner, int $id): void
{
$audio = $this->audios->getByOwnerAndVID($owner, $id);
@ -841,6 +850,10 @@ final class AudioPresenter extends OpenVKPresenter
$audios = [$found_audio];
$audiosCount = 1;
break;
case "uploaded":
$stream = $this->audios->getByUploader($this->user->identity);
$audios = $stream->page($page, $perPage);
$audiosCount = $stream->size();
}
$pagesCount = ceil($audiosCount / $perPage);

View file

@ -9,6 +9,8 @@
{/if}
{elseif $mode == 'new'}
{_audio_new}
{elseif $mode == 'uploaded'}
{_my_audios_small_uploaded}
{elseif $mode == 'popular'}
{_audio_popular}
{elseif $mode == 'alone_audio'}
@ -32,6 +34,12 @@
</div>
</div>
<div n:if="$mode == 'uploaded'">
{_my_audios_small}
»
{_my_audios_small_uploaded}
</div>
<div n:if="$mode == 'new'">
{_audios}
»
@ -68,6 +76,12 @@
entity_id: {$ownerId},
page: {$page}
}
{elseif $mode == 'uploaded'}
window.__current_page_audio_context = {
name: 'uploaded',
entity_id: 0,
page: {$page}
}
{elseif $mode == 'alone_audio'}
window.__current_page_audio_context = {
name: 'alone_audio',

View file

@ -2,6 +2,7 @@
<div class="verticalGrayTabs">
<div class='with_padding'>
<a n:if="isset($thisUser)" n:attr="id => $mode === 'list' && $isMy ? 'used' : 'ki'" href="/audios{$thisUser->getId()}">{_my_music}</a>
<a n:attr="id => $mode === 'uploaded' ? 'used' : 'ki'" href="/audios/uploaded">{_my_audios_small_uploaded}</a>
{* TODO: show upload link as and plusick (little plus) in button up*}
<a n:if="isset($thisUser)" href="/player/upload{if $isMyClub}?gid={abs($ownerId)}{/if}">{_upload_audio}</a>
<a n:if="isset($thisUser)" n:attr="id => $mode === 'new' ? 'used' : 'ki'" href="/search?section=audios">{_audio_new}</a>
@ -13,7 +14,7 @@
<a n:if="isset($thisUser)" href="/audios/newPlaylist">{_new_playlist}</a>
{if !$isMy && $mode !== 'popular' && $mode !== 'new' && $mode != 'alone_audio'}
{if !$isMy && $mode !== 'popular' && $mode !== 'new' && $mode != 'alone_audio' && $mode != 'uploaded'}
<hr>
<a n:if="!$isMy" n:attr="id => $mode === 'list' ? 'used' : 'ki'" href="/audios{$ownerId}">{if $ownerId > 0}{_music_user}{else}{_music_club}{/if}</a>

View file

@ -201,6 +201,8 @@ routes:
handler: "Audio->upload"
- url: "/audios{num}"
handler: "Audio->list"
- url: "/audios/uploaded"
handler: "Audio->uploaded"
- url: "/audio{num}/listen"
handler: "Audio->listen"
- url: "/audio{num}_{num}"

View file

@ -3039,6 +3039,10 @@ a.poll-retract-vote {
gap: 1px;
}
.verticalGrayTabsPad {
padding: 0px 0px 0px 8px;
}
.searchList hr, .verticalGrayTabs hr {
width: 153px;
margin-left: 0px;

View file

@ -235,6 +235,9 @@ window.player = new class {
'query': this.context.object.query,
}))
break
case "uploaded":
form_data.append('context', this.context.object.name)
break
case 'alone_audio':
form_data.append('context', this.context.object.name)
form_data.append('context_entity', this.context.object.entity_id)

View file

@ -948,6 +948,7 @@
"audio_search" = "Search";
"my_audios_small" = "My audios";
"my_audios_small_uploaded" = "Uploaded";
"my_playlists" = "My playlists";
"playlists" = "Playlists";
"audios_explicit" = "Contains obscene language";

View file

@ -903,6 +903,7 @@
"audio_search" = "Поиск";
"my_audios_small" = "Мои аудиозаписи";
"my_audios_small_uploaded" = "Загруженное";
"my_playlists" = "Мои плейлисты";
"playlists" = "Плейлисты";
"audios_explicit" = "Содержит нецензурную лексику";