Merge pull request #482 from openvk/similartovk

Layout: Update friends, groups, videos and albums lists. And some style fixes
This commit is contained in:
KosFurler 2022-02-19 01:34:04 +03:00 committed by GitHub
commit 35a9c040fc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 2050 additions and 1932 deletions

View file

@ -1,70 +1,74 @@
{extends "@layout.xml"} {extends "@layout.xml"}
{block wrap} {block wrap}
<div class="page_wrap"> <div class="wrap2">
<div n:ifset="tabs" n:ifcontent class="tabs"> <div class="wrap1">
{include tabs} <div class="page_wrap padding_top">
</div> <div n:ifset="tabs" class="tabs">
{include tabs}
</div>
{ifset size} {ifset size}
{include size, x => $dat} {include size, x => $dat}
{/ifset} {/ifset}
{ifset specpage}
{include specpage, x => $dat}
{else}
<div class="container_gray">
{var data = is_array($iterator) ? $iterator : iterator_to_array($iterator)}
{if sizeof($data) > 0} {ifset specpage}
<div class="content" n:foreach="$data as $dat"> {include specpage, x => $dat}
<table> {else}
<tbody> <div class="container_gray">
<tr> {var data = is_array($iterator) ? $iterator : iterator_to_array($iterator)}
<td valign="top">
<a href="{include link, x => $dat}"> {if sizeof($data) > 0}
{include preview, x => $dat} <div class="content" n:foreach="$data as $dat">
</a> <table>
</td> <tbody>
<td valign="top" style="width: 100%"> <tr>
{ifset infoTable} <td valign="top">
{include infoTable, x => $dat} <a href="{include link, x => $dat}">
{else} {include preview, x => $dat}
</a>
</td>
<td valign="top" style="width: 100%">
{ifset infotable}
{include infotable, x => $dat}
{else}
<a href="{include link, x => $dat}"> <a href="{include link, x => $dat}">
<b> <b>
{include name, x => $dat} {include name, x => $dat}
</b> </b>
</a> </a>
<br/> <br/>
{include description, x => $dat} {include description, x => $dat}
{/ifset} {/ifset}
</td> </td>
<td n:ifset="actions" valign="top" class="action_links" style="width: 150px; text-transform: lowercase;"> <td n:ifset="actions" valign="top" class="action_links" style="width: 150px; text-transform: lowercase;">
{include actions, x => $dat} {include actions, x => $dat}
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
{include "components/paginator.xml", conf => (object) [ {include "components/paginator.xml", conf => (object) [
"page" => $page, "page" => $page,
"count" => $count, "count" => $count,
"amount" => sizeof($data), "amount" => sizeof($data),
"perPage" => $perPage ?? OPENVK_DEFAULT_PER_PAGE, "perPage" => $perPage ?? OPENVK_DEFAULT_PER_PAGE,
"atBottom" => true, "atBottom" => true,
]} ]}
{else}
{ifset customErrorMessage}
{include customErrorMessage}
{else} {else}
{include "components/nothing.xml"} {ifset customErrorMessage}
{/ifset} {include customErrorMessage}
{/if} {else}
</div> {include "components/nothing.xml"}
{/ifset} {/ifset}
{/if}
</div>
{/ifset}
{ifset bottom} {ifset bottom}
{include bottom} {include bottom}
{/ifset} {/ifset}
</div>
</div> </div>
{/block} </div>
{/block}

View file

@ -5,12 +5,29 @@
{block title}{_"albums"} {$owner->getCanonicalName()}{/block} {block title}{_"albums"} {$owner->getCanonicalName()}{/block}
{block header} {block header}
<a href="{$owner->getURL()}">{$owner->getCanonicalName()}</a> {if isset($thisUser) && $thisUser->getId() == $owner->getId()}
» {_"albums"} {_my_photos}
{else}
<div n:if="$canEdit" style="float: right;"> <a href="{$owner->getURL()}">
{var isClub = ($owner instanceof openvk\Web\Models\Entities\Club)} {$owner->getCanonicalName()}</a>
<a href="/albums/create{$isClub ? '?gpid=' . $owner->getId() : ''}">{_"create_album"}</a> »
{_albums}
{/if}
{/block}
{block size}
<div style="padding-bottom: 0px; padding-top: 0;" class="summaryBar">
<div class="summary">
{if !is_null($thisUser) && $owner->getId() === $thisUser->getId()}
{tr("albums_list", $count)}
{else}
{tr("albums", $count)}
{/if}
<span n:if="isset($thisUser) && $thisUser->getId() == $owner->getId()">
&nbsp;|&nbsp;
<a href="/albums/create">{_create_album}</a>
</span>
</div>
</div> </div>
{/block} {/block}

View file

@ -25,13 +25,17 @@
{/block} {/block}
{block header} {block header}
<a href="{$user->getURL()}">{$user->getCanonicalName()}</a> » {if isset($thisUser) && $thisUser->getId() == $user->getId()}
{if $act == "incoming"} {_my_friends}
{_"incoming_req"}
{elseif $act == "outcoming"}
{_"outcoming_req"}
{else} {else}
{_"friends"} <a href="{$user->getURL()}">{$user->getCanonicalName()}</a> »
{if $act == "incoming"}
{_"incoming_req"}
{elseif $act == "outcoming"}
{_"outcoming_req"}
{else}
{_"friends"}
{/if}
{/if} {/if}
{/block} {/block}
@ -39,11 +43,38 @@
<div n:attr="id => ($act === 'friends' ? 'activetabs' : 'ki')" class="tab"> <div n:attr="id => ($act === 'friends' ? 'activetabs' : 'ki')" class="tab">
<a n:attr="id => ($act === 'friends' ? 'act_tab_a' : 'ki')" href="?">{_friends}</a> <a n:attr="id => ($act === 'friends' ? 'act_tab_a' : 'ki')" href="?">{_friends}</a>
</div> </div>
<div n:attr="id => ($act === 'incoming' ? 'activetabs' : 'ki')" class="tab"> <div n:attr="id => ($act === 'incoming' || $act === 'outcoming' ? 'activetabs' : 'ki')" class="tab">
<a n:attr="id => ($act === 'incoming' ? 'act_tab_a' : 'ki')" href="?act=incoming">{_incoming_req}</a> <a n:attr="id => ($act === 'incoming' || $act === 'outcoming' ? 'act_tab_a' : 'ki')" href="?act=incoming">{_req}</a>
</div> </div>
<div n:attr="id => ($act === 'outcoming' ? 'activetabs' : 'ki')" class="tab"> {/block}
<a n:attr="id => ($act === 'outcoming' ? 'act_tab_a' : 'ki')" href="?act=outcoming">{_outcoming_req}</a>
{block size}
<div n:if="$act === 'incoming' || $act === 'outcoming'" class="mb_tabs">
<div n:attr="id => ($act === 'incoming' ? 'active' : 'ki')" class="mb_tab">
<div>
<a href="?act=incoming">Входящие</a>
</div>
</div>
<div n:attr="id => ($act === 'outcoming' ? 'active' : 'ki')" class="mb_tab">
<div>
<a href="?act=outcoming">Исходящие</a>
</div>
</div>
</div>
<div style="padding-bottom: 0px;" class="summaryBar">
<div class="summary">
{if !is_null($thisUser) && $user->getId() === $thisUser->getId()}
{if $act == "incoming"}
{tr("req", $count)}
{elseif $act == "outcoming"}
{tr("req", $count)}
{else}
{tr("friends_list", $count)}
{/if}
{else}
{tr("friends", $count)}
{/if}
</div>
</div> </div>
{/block} {/block}
@ -114,4 +145,4 @@
</form> </form>
{/if} {/if}
{/if} {/if}
{/block} {/block}

View file

@ -32,7 +32,7 @@
{/block} {/block}
{block size} {block size}
<div n:if="!is_null($thisUser) && $user->getId() === $thisUser->getId()" style="padding-bottom: 0px; border-bottom: 0;" class="summaryBar"> <div style="padding-bottom: 0px;" class="summaryBar">
<div class="summary"> <div class="summary">
{if !is_null($thisUser) && $user->getId() === $thisUser->getId()} {if !is_null($thisUser) && $user->getId() === $thisUser->getId()}
{tr("groups_list", $thisUser->getClubCount())} {tr("groups_list", $thisUser->getClubCount())}
@ -75,24 +75,26 @@
{block actions} {block actions}
{var clubPinned = $thisUser->isClubPinned($x)} {var clubPinned = $thisUser->isClubPinned($x)}
{if $x->canBeModifiedBy($thisUser ?? NULL)} {if $x->canBeModifiedBy($thisUser ?? NULL)}
<a style="width: 140px;" class="profile_link" href="{$x->getURL()}"> <div class="navigation" style="width: 140px;">
{_check_community} <a class="link" href="{$x->getURL()}">
</a> {_check_community}
{if ($clubPinned || $thisUser->getPinnedClubCount() <= 10)}
<a style="width: 140px;" class="profile_link" href="/groups_pin?club={$x->getId()}&hash={rawurlencode($csrfToken)}" id="_pinGroup" data-group-name="{$x->getName()}" data-group-url="{$x->getUrl()}">
{if $clubPinned}
{_remove_from_left_menu}
{else}
{_add_to_left_menu}
{/if}
</a> </a>
{/if} {if ($clubPinned || $thisUser->getPinnedClubCount() <= 10)}
<form action="/setSub/club" method="post"> <a class="link" href="/groups_pin?club={$x->getId()}&hash={rawurlencode($csrfToken)}" data-group-name="{$x->getName()}" data-group-url="{$x->getUrl()}">
<input type="hidden" name="act" value="rem" /> {if $clubPinned}
<input type="hidden" name="id" value="{$x->getId()}" /> {_remove_from_left_menu}
<input type="hidden" name="hash" value="{$csrfToken}" /> {else}
<input style="width: 140px; text-transform: lowercase;" type="submit" id="profile_link" value="{_leave_community}" /> {_add_to_left_menu}
</form> {/if}
</a>
{/if}
<form action="/setSub/club" method="post">
<input type="hidden" name="act" value="rem" />
<input type="hidden" name="id" value="{$x->getId()}" />
<input type="hidden" name="hash" value="{$csrfToken}" />
<input style="text-transform: lowercase; width: 100%;" class="link" type="submit" value="{_"leave_community"}" />
</form>
</div>
{/if} {/if}
{/block} {/block}

View file

@ -11,7 +11,7 @@
{/block} {/block}
{block size} {block size}
<div style="padding-bottom: 0px;border-bottom: 0; padding-top: 0;" class="summaryBar"> <div style="padding-bottom: 0px; padding-top: 0;" class="summaryBar">
<div class="summary"> <div class="summary">
{tr("videos", $count)} {tr("videos", $count)}
<span n:if="isset($thisUser) && $thisUser->getId() == $user->getId()"> <span n:if="isset($thisUser) && $thisUser->getId() == $user->getId()">

View file

@ -1,6 +1,6 @@
<center style="background: white;border: #DEDEDE solid 1px;"> <center style="background: white;border: #DEDEDE solid 1px;">
<span style="color: #707070;margin: 60px 0;display: block;"> <span style="color: #707070;margin: 60px 0;display: block;">
<b>{$title}</b><br><br> <b n:if="!empty($title)">{$title}<br><br></b>
{$description} {$description}
</span> </span>
</center> </center>

View file

@ -1 +1 @@
{include "error.xml", title => tr("no_data"), description => tr("no_data_description")} {include "error.xml", description => tr("no_data_description")}

File diff suppressed because it is too large Load diff

View file

@ -202,16 +202,28 @@
"friends_reject" = "Отменить заявку"; "friends_reject" = "Отменить заявку";
"friends_accept" = "Принять заявку"; "friends_accept" = "Принять заявку";
"send_message" = "Отправить сообщение"; "send_message" = "Отправить сообщение";
"incoming_req" = "Подписчики"; "incoming_req" = "Входящие";
"outcoming_req" = "Заявки"; "outcoming_req" = "Исходящие";
"req" = "Заявки"; "req" = "Заявки";
"firends_zero" = "Ни одного друга"; "req_zero" = "Не найдено ни одной заявки...";
"req_one" = "Найдена $1 заявка";
"req_few" = "Найлено $1 заявки";
"req_many" = "Найдено $1 заявки";
"req_other" = "Найдено $1 заявок";
"friends_zero" = "Ни одного друга";
"friends_one" = "$1 друг"; "friends_one" = "$1 друг";
"friends_few" = "$1 друга"; "friends_few" = "$1 друга";
"friends_many" = "$1 друзей"; "friends_many" = "$1 друзей";
"friends_other" = "$1 друзей"; "friends_other" = "$1 друзей";
"friends_list_zero" = "У Вас пока нет друзей";
"friends_list_one" = "У Вас $1 друг";
"friends_list_few" = "У Вас $1 друга";
"friends_list_many" = "У Вас $1 друзей";
"friends_list_other" = "У Вас $1 друзей";
"followers_zero" = "Ни одного подписчика"; "followers_zero" = "Ни одного подписчика";
"followers_one" = "$1 подписчик"; "followers_one" = "$1 подписчик";
"followers_few" = "$1 подписчика"; "followers_few" = "$1 подписчика";
@ -326,6 +338,12 @@
"albums_many" = "$1 альбомов"; "albums_many" = "$1 альбомов";
"albums_other" = "$1 альбомов"; "albums_other" = "$1 альбомов";
"albums_list_zero" = "У Вас нет ни одного альбома";
"albums_list_one" = "У Вас один альбом";
"albums_list_few" = "У Вас $1 альбома";
"albums_list_many" = "У Вас $1 альбомов";
"albums_list_other" = "У Вас $1 альбомов";
/* Notes */ /* Notes */
"notes" = "Заметки"; "notes" = "Заметки";
@ -784,7 +802,7 @@
"information_-2" = "Вход выполнен успешно"; "information_-2" = "Вход выполнен успешно";
"no_data" = "Нет данных"; "no_data" = "Нет данных";
"no_data_description" = "В этом представлении отсутствуют данные."; "no_data_description" = "Тут ничего нет... Пока...";
"error" = "Ошибка"; "error" = "Ошибка";
"error_shorturl" = "Данный короткий адрес уже занят."; "error_shorturl" = "Данный короткий адрес уже занят.";