UX: Мобильная версия
This commit is contained in:
parent
b3f86a297d
commit
36815ddc27
|
@ -12,23 +12,20 @@ return [
|
|||
[
|
||||
'url' => url('setting'),
|
||||
'title' => __('app.settings'),
|
||||
// 'icon' => 'bi-gear mb-none',
|
||||
'id' => 'settings',
|
||||
], [
|
||||
'url' => '/setting/avatar',
|
||||
'title' => __('app.avatar'),
|
||||
// 'icon' => 'bi-emoji-smile mb-none',
|
||||
'id' => 'avatar',
|
||||
], [
|
||||
'url' => '/setting/security',
|
||||
'title' => __('app.password'),
|
||||
// 'icon' => 'bi-lock mb-none',
|
||||
'id' => 'security',
|
||||
], [
|
||||
'url' => '/setting/notifications',
|
||||
'title' => __('app.notifications'),
|
||||
// 'icon' => 'bi-app-indicator mb-none',
|
||||
'id' => 'notifications',
|
||||
'css' => 'mb-none',
|
||||
],
|
||||
],
|
||||
|
||||
|
@ -39,17 +36,14 @@ return [
|
|||
'id' => 'drafts',
|
||||
'url' => url('drafts'),
|
||||
'title' => __('app.drafts'),
|
||||
// 'icon' => 'bi-journal-richtext'
|
||||
], [
|
||||
'id' => 'favorites',
|
||||
'url' => url('favorites'),
|
||||
'title' => __('app.favorites'),
|
||||
// 'icon' => 'bi-bookmark'
|
||||
], [
|
||||
'id' => 'subscribed',
|
||||
'url' => url('subscribed'),
|
||||
'title' => __('app.subscribed'),
|
||||
'icon' => 'bi-bookmark-plus'
|
||||
],
|
||||
],
|
||||
|
||||
|
@ -60,24 +54,20 @@ return [
|
|||
'id' => 'main.feed',
|
||||
'url' => '/',
|
||||
'title' => __('app.feed'),
|
||||
// 'icon' => 'bi-sort-down'
|
||||
], [
|
||||
'tl' => UserData::USER_FIRST_LEVEL,
|
||||
'id' => 'main.all',
|
||||
'url' => url('main.all'),
|
||||
'title' => __('app.all'),
|
||||
// 'icon' => 'bi-app'
|
||||
], [
|
||||
'id' => 'main.top',
|
||||
'url' => url('main.top'),
|
||||
'title' => __('app.top'),
|
||||
// 'icon' => 'bi-bar-chart'
|
||||
], [
|
||||
'tl' => UserData::REGISTERED_ADMIN,
|
||||
'id' => 'main.deleted',
|
||||
'url' => url('main.deleted'),
|
||||
'title' => __('app.deleted'),
|
||||
// 'icon' => 'bi-trash'
|
||||
],
|
||||
],
|
||||
|
||||
|
@ -89,14 +79,12 @@ return [
|
|||
'id' => 'answers.all',
|
||||
'url' => '/answers',
|
||||
'title' => __('app.answers'),
|
||||
// 'icon' => 'bi-sort-down'
|
||||
],
|
||||
[
|
||||
'tl' => UserData::REGISTERED_ADMIN,
|
||||
'id' => 'answers.deleted',
|
||||
'url' => url('answers.deleted'),
|
||||
'title' => __('app.deleted'),
|
||||
// 'icon' => 'bi-trash'
|
||||
],
|
||||
],
|
||||
|
||||
|
@ -108,14 +96,12 @@ return [
|
|||
'id' => 'comments.all',
|
||||
'url' => '/comments',
|
||||
'title' => __('app.comments'),
|
||||
// 'icon' => 'bi-sort-down'
|
||||
],
|
||||
[
|
||||
'tl' => UserData::REGISTERED_ADMIN,
|
||||
'id' => 'comments.deleted',
|
||||
'url' => url('comments.deleted'),
|
||||
'title' => __('app.deleted'),
|
||||
// 'icon' => 'bi-trash'
|
||||
],
|
||||
]
|
||||
|
||||
|
|
|
@ -37,6 +37,8 @@
|
|||
<div class="box-flex flex-wrap mb20">
|
||||
<div class="label-grey mr5">.label-grey</div>
|
||||
<div class="label-orange">.label-orange</div>
|
||||
<div class="label-green">.label-green</div>
|
||||
<div class="label-red">.label-red</div>
|
||||
</div>
|
||||
|
||||
<div class="box-flex flex-wrap">
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
use Hleb\Constructor\Handlers\Request;
|
||||
|
||||
Request::getHead()->addStyles('/assets/css/style.css?012');
|
||||
Request::getHead()->addStyles('/assets/css/style.css?014');
|
||||
?>
|
||||
|
||||
<?= insert('/meta', ['meta' => $meta]); ?>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
use Hleb\Constructor\Handlers\Request;
|
||||
|
||||
Request::getHead()->addStyles('/assets/css/style.css?012');
|
||||
Request::getHead()->addStyles('/assets/css/style.css?014');
|
||||
$uri = $data['type'] ?? 'post';
|
||||
$q = $data['q'];
|
||||
?>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<span class="mr5 ml5"><?= $data['user']['email']; ?></span>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="max-w300">
|
||||
<fieldset>
|
||||
<label for="name"><?= __('app.name'); ?></label>
|
||||
<input maxlength="11" value="<?= $data['user']['name']; ?>" type="text" name="name">
|
||||
<div class="help">0 - 11 <?= __('app.characters'); ?></div>
|
||||
|
@ -26,13 +26,13 @@
|
|||
'help' => '0 - 255 ' . __('app.characters'),
|
||||
]); ?>
|
||||
|
||||
<fieldset id="box" class="max-w300">
|
||||
<fieldset id="box">
|
||||
<label for="post_content"><?= __('app.color'); ?></label>
|
||||
<input type="color" value="<?= $data['user']['color']; ?>" id="colorPicker">
|
||||
<input type="hidden" name="color" value="<?= $data['user']['color']; ?>" id="color">
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="max-w300">
|
||||
<fieldset>
|
||||
<label for="template"><?= __('app.template'); ?></label>
|
||||
<select name="template">
|
||||
<?php foreach (config('general.templates') as $tpl) { ?>
|
||||
|
@ -43,7 +43,7 @@
|
|||
</select>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="max-w300">
|
||||
<fieldset>
|
||||
<label for="post_content"><?= __('app.language'); ?></label>
|
||||
<select name="lang">
|
||||
<?php foreach (config('general.languages') as $lang) { ?>
|
||||
|
@ -115,7 +115,7 @@ $setting = [
|
|||
|
||||
<h3 class="mt15 mb15"><?= __('app.contacts'); ?></h3>
|
||||
<?php foreach ($setting as $block) : ?>
|
||||
<fieldset class="max-w300">
|
||||
<fieldset>
|
||||
<label for="post_title"><?= $block['lang']; ?></label>
|
||||
<input maxlength="150" type="text" value="<?= $data['user'][$block['title']]; ?>" name="<?= $block['name']; ?>">
|
||||
<?php if ($block['help']) : ?>
|
||||
|
|
|
@ -9,7 +9,8 @@ foreach ($list as $key => $item) :
|
|||
<?= $item['title']; ?>
|
||||
</li>
|
||||
<?php else : ?>
|
||||
<li><a href="<?= $item['url']; ?>">
|
||||
<li<?php if (!empty($item['css'])) : ?> class="<?= $item['css']; ?>"<?php endif; ?>>
|
||||
<a href="<?= $item['url']; ?>">
|
||||
<?php if (!empty($item['icon'])) : ?><i class="text-sm <?= $item['icon']; ?>"></i><?php endif; ?>
|
||||
<?= $item['title']; ?></a></li>
|
||||
<?php endif; ?>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<div class="relative">
|
||||
<div class="trigger"><i class="bi-info-square gray-600"></i></div>
|
||||
<div class="dropdown tooltip"><?= __('meta.' . $data['sheet'] . '_' . $data['type'] . '_info'); ?></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if (!empty($data['answers'])) : ?>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?= component('add-js-css');
|
||||
<?= component('add-js-css');
|
||||
$post = $data['post'];
|
||||
$url = url('post', ['id' => $post['post_id'], 'slug' => $post['post_slug']]);
|
||||
$content = preg_replace('/</', '', $data['answer']['answer_content']); ?>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<main class="box w-100">
|
||||
<main>
|
||||
<h1><?= __('app.authorization'); ?></h1>
|
||||
|
||||
<div class="p15 bg-violet max-w300 mb-none right">
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<main class="box w-100">
|
||||
<main>
|
||||
<h1><?= __('app.password_recovery'); ?></h1>
|
||||
<form class="max-w300" action="<?= url('new.pass'); ?>" method="post">
|
||||
<?php csrf_field(); ?>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<main class="box w-100">
|
||||
<main>
|
||||
<h1><?= __('app.password_recovery'); ?></h1>
|
||||
<form class="form max-w300" action="<?= url('recover.send'); ?>" method="post">
|
||||
<?php csrf_field(); ?>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<main class="box w-100">
|
||||
<main">
|
||||
<h1><?= __('app.reg_invite'); ?></h1>
|
||||
<form class="max-w300" action="<?= url('register.add'); ?>" method="post">
|
||||
<?php csrf_field(); ?>
|
||||
|
@ -33,4 +33,4 @@
|
|||
<?= Html::sumbit(__('app.registration')); ?>
|
||||
</fieldset>
|
||||
</form>
|
||||
</main>
|
||||
</main>
|
|
@ -1,4 +1,4 @@
|
|||
<main class="box w-100">
|
||||
<main>
|
||||
<h1><?= __('app.' . $data['sheet']); ?></h1>
|
||||
|
||||
<div class="p15 bg-violet max-w300 mb-none right">
|
||||
|
|
|
@ -1,15 +1,13 @@
|
|||
<main>
|
||||
<div class="box">
|
||||
<h2 class="text-xl"><?= __('app.add_' . $data['type']); ?></h2>
|
||||
<form class="max-w780" action="<?= url('content.create', ['type' => $data['type']]); ?>" method="post" enctype="multipart/form-data">
|
||||
<?= csrf_field() ?>
|
||||
<?= component('add-facet'); ?>
|
||||
</form>
|
||||
</div>
|
||||
<h2 class="text-xl"><?= __('app.add_' . $data['type']); ?></h2>
|
||||
<form class="max-w780" action="<?= url('content.create', ['type' => $data['type']]); ?>" method="post" enctype="multipart/form-data">
|
||||
<?= csrf_field() ?>
|
||||
<?= component('add-facet'); ?>
|
||||
</form>
|
||||
</main>
|
||||
|
||||
<aside>
|
||||
<div class="box">
|
||||
<div class="box bg-beige">
|
||||
<h3 class="uppercase-box"><?= __('app.help'); ?></h3>
|
||||
<?= __('help.add_' . $data['type']); ?>
|
||||
</div>
|
||||
|
|
|
@ -4,7 +4,7 @@ $url = url('redirect.facet', ['id' => $fs['facet_id']]);
|
|||
?>
|
||||
|
||||
<main>
|
||||
<div class="box-flex justify-between">
|
||||
<div class="flex justify-between">
|
||||
<p class="m0 text-xl"><?= __('app.edit_' . $data['type']); ?></p>
|
||||
<ul class="nav">
|
||||
|
||||
|
@ -16,7 +16,6 @@ $url = url('redirect.facet', ['id' => $fs['facet_id']]);
|
|||
'id' => 'all',
|
||||
'url' => $url,
|
||||
'title' => __('app.go_to'),
|
||||
'icon' => 'bi bi-arrow-up-right-square'
|
||||
]
|
||||
]
|
||||
]
|
||||
|
@ -25,19 +24,16 @@ $url = url('redirect.facet', ['id' => $fs['facet_id']]);
|
|||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="box">
|
||||
<form class="max-w780" action="<?= url('content.change', ['type' => $fs['facet_type']]); ?>" method="post" enctype="multipart/form-data">
|
||||
<?= csrf_field() ?>
|
||||
<?= insert('/_block/facet/facet-type', ['type' => $fs['facet_type']]); ?>
|
||||
|
||||
<div class="file-upload mb10 mt15" id="file-drag">
|
||||
<div class="flex">
|
||||
<?= Html::image($fs['facet_img'], $fs['facet_title'], 'img-xl', 'logo', 'max'); ?>
|
||||
<img id="file-image" src="/assets/images/1px.jpg" alt="" class="img-xl">
|
||||
<div id="start" class="mt15">
|
||||
<input class="text-xs" id="file-upload" type="file" name="images" accept="image/*" />
|
||||
<div id="notimage" class="none"><?= __('app.select_image'); ?></div>
|
||||
</div>
|
||||
<?= Html::image($fs['facet_img'], $fs['facet_title'], 'img-xl', 'logo', 'max'); ?>
|
||||
<img id="file-image" src="/assets/images/1px.jpg" alt="" class="img-xl">
|
||||
<div id="start" class="mt15">
|
||||
<input class="text-xs" id="file-upload" type="file" name="images" accept="image/*" />
|
||||
<div id="notimage" class="none"><?= __('app.select_image'); ?></div>
|
||||
</div>
|
||||
<div id="response" class="hidden">
|
||||
<div id="messages"></div>
|
||||
|
@ -196,10 +192,9 @@ $url = url('redirect.facet', ['id' => $fs['facet_id']]);
|
|||
<?= Html::sumbit(__('app.edit')); ?>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
</main>
|
||||
<aside>
|
||||
<div class="box">
|
||||
<div class="box bg-beige">
|
||||
<h3 class="uppercase-box"><?= __('app.help'); ?></h3>
|
||||
<?= __('help.edit_' . $data['type']); ?>
|
||||
</div>
|
||||
|
|
|
@ -21,7 +21,10 @@
|
|||
|
||||
<?php if (UserData::checkActiveUser() && !empty($data['topics_user'])) : ?>
|
||||
<div class="box bg-lightgray">
|
||||
<h3 class="uppercase-box"><?= __('app.reading'); ?></h3>
|
||||
<h3 class="uppercase-box"><?= __('app.reading'); ?>
|
||||
<?php if (count($data['topics_user']) > config('facets.quantity_home')) : ?>
|
||||
<a class="gray-600 text-sm" title="<?= __('app.topics'); ?>" href="<?= url('topics.my'); ?>">...</a>
|
||||
<?php endif; ?></h3>
|
||||
<ul>
|
||||
<?php
|
||||
$my = [];
|
||||
|
@ -58,11 +61,6 @@
|
|||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<?php if (count($data['topics_user']) > config('facets.quantity_home')) : ?>
|
||||
<a class="gray-600 block mt5" title="<?= __('app.topics'); ?>" href="<?= url('topics.my'); ?>">
|
||||
<?= __('app.see_more'); ?> <i class="bi-chevron-double-right middle"></i>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?= component('add-js-css');
|
||||
<?= component('add-js-css');
|
||||
$domain = $data['domain']; ?>
|
||||
|
||||
<div id="contentWrapper">
|
||||
|
|
|
@ -5,14 +5,14 @@ function internalRender($nodes, $tl, $user_id)
|
|||
{
|
||||
echo '<ul class="list-style-none mb20 mt10">';
|
||||
foreach ($nodes as $node) {
|
||||
$minus = $node['reply_parent_id'] == 0 ? ' ml-40' : '';
|
||||
$minus = $node['reply_parent_id'] == 0 ? ' -ml40' : '';
|
||||
$delete = $node['reply_is_deleted'] == 1 ? ' bg-red-200' : '';
|
||||
|
||||
echo '<li class="hidden mt20' . $minus . $delete . '">
|
||||
<div id="reply_' . $node['reply_id'] . '" class="text-sm">';
|
||||
|
||||
echo '<div class="flex gap">'
|
||||
|
||||
|
||||
. Html::image($node['avatar'], $node['login'], 'img-sm', 'avatar', 'small') .
|
||||
|
||||
'<span class="gray-600">' . $node['login'] . '</span>
|
||||
|
@ -29,7 +29,7 @@ function internalRender($nodes, $tl, $user_id)
|
|||
}
|
||||
|
||||
echo '</div>';
|
||||
|
||||
|
||||
echo '<div class="max-w780 text-base ind-first-p">' . Content::text($node['content'], 'text') . '</div>
|
||||
<div class="flex gap">' . Html::votes($node, 'reply', 'ps', 'bi-heart mr5');
|
||||
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
<main>
|
||||
<div class="box-flex">
|
||||
<p class="m0"><?= $data['sheet']; ?></p>
|
||||
</div>
|
||||
<p><?= $data['sheet']; ?></p>
|
||||
<div class="mb15 mb-ml0 hidden">
|
||||
<form action="<?= url('content.create', ['type' => 'message']); ?>" method="post">
|
||||
<?= csrf_field() ?>
|
||||
|
@ -11,47 +9,45 @@
|
|||
</form>
|
||||
</div>
|
||||
|
||||
<div class="box">
|
||||
<?php if ($data['list']) : ?>
|
||||
<?php foreach ($data['list'] as $key => $val) : ?>
|
||||
<div class="hidden">
|
||||
<?php
|
||||
$login = $val['login'];
|
||||
$ava = $val['avatar'];
|
||||
$id = $val['message_sender_id'];
|
||||
if ($val['message_sender_id'] == UserData::getUserId()) :
|
||||
$login = UserData::getUserLogin();
|
||||
$ava = UserData::getUserAvatar();
|
||||
$id = UserData::getUserId();
|
||||
endif;
|
||||
?>
|
||||
<div class="flex relative">
|
||||
<div id="user-card" data-content_id="<?= $key; ?>" data-user_id="<?= $id; ?>">
|
||||
<?= Html::image($ava, $login, 'img-base', 'avatar', 'max'); ?>
|
||||
<div id="content_<?= $key; ?>" class="content_<?= $key; ?>"></div>
|
||||
</div>
|
||||
<a class="flex black" href="<?= url('profile', ['login' => $login]); ?>">
|
||||
<div class="ml5">
|
||||
<?= $login; ?>
|
||||
<div class="gray-600 lowercase text-sm">
|
||||
<?= Html::langDate($val['message_add_time']); ?>
|
||||
</div>
|
||||
<?php if ($data['list']) : ?>
|
||||
<?php foreach ($data['list'] as $key => $val) : ?>
|
||||
<div class="hidden">
|
||||
<?php
|
||||
$login = $val['login'];
|
||||
$ava = $val['avatar'];
|
||||
$id = $val['message_sender_id'];
|
||||
if ($val['message_sender_id'] == UserData::getUserId()) :
|
||||
$login = UserData::getUserLogin();
|
||||
$ava = UserData::getUserAvatar();
|
||||
$id = UserData::getUserId();
|
||||
endif;
|
||||
?>
|
||||
<div class="flex relative">
|
||||
<div id="user-card" data-content_id="<?= $key; ?>" data-user_id="<?= $id; ?>">
|
||||
<?= Html::image($ava, $login, 'img-base', 'avatar', 'max'); ?>
|
||||
<div id="content_<?= $key; ?>" class="content_<?= $key; ?>"></div>
|
||||
</div>
|
||||
<a class="flex black" href="<?= url('profile', ['login' => $login]); ?>">
|
||||
<div class="ml5">
|
||||
<?= $login; ?>
|
||||
<div class="gray-600 lowercase text-sm">
|
||||
<?= Html::langDate($val['message_add_time']); ?>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="max-w780 ">
|
||||
<?= $val['message_content']; ?>
|
||||
</div>
|
||||
<?php if ($val['unread'] == 1 and $val['message_sender_id'] == UserData::getUserId()) : ?>
|
||||
<div class="right gray-600 lowercase text-sm hidden mb5 pb5">
|
||||
<?= __('app.it_read'); ?> (<?= Html::langDate($val['message_receipt']); ?>)
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</a>
|
||||
</div>
|
||||
<div class="br-bottom mb15"></div>
|
||||
<?php endforeach; ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div class="max-w780 ">
|
||||
<?= $val['message_content']; ?>
|
||||
</div>
|
||||
<?php if ($val['unread'] == 1 and $val['message_sender_id'] == UserData::getUserId()) : ?>
|
||||
<div class="right gray-600 lowercase text-sm hidden mb5 pb5">
|
||||
<?= __('app.it_read'); ?> (<?= Html::langDate($val['message_receipt']); ?>)
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div class="br-bottom mb15"></div>
|
||||
<?php endforeach; ?>
|
||||
<?php endif; ?>
|
||||
</main>
|
||||
|
||||
<aside>
|
||||
|
|
|
@ -1,43 +1,39 @@
|
|||
<main>
|
||||
<div class="box-flex">
|
||||
<p class="m0"><?= __('app.' . $data['sheet']); ?></p>
|
||||
</div>
|
||||
<h2><?= __('app.' . $data['sheet']); ?></h2>
|
||||
<?php if (!empty($data['messages'])) : ?>
|
||||
<div class="box">
|
||||
<?php foreach ($data['messages'] as $msg) : ?>
|
||||
<div class="hidden mb15<?php if (!$msg['unread'] > 0) : ?> bg-purple<?php endif; ?>">
|
||||
<div class="text-sm flex">
|
||||
<?php if ($msg['dialog_sender_id'] == UserData::getUserId()) : ?>
|
||||
<a href="<?= url('profile', ['login' => $msg['msg_to_user']['login']]); ?>">
|
||||
<?= Html::image($msg['msg_to_user']['avatar'], $msg['msg_to_user']['login'], 'img-sm', 'avatar', 'small'); ?>
|
||||
<?= $msg['msg_to_user']['login']; ?>
|
||||
</a>
|
||||
<?php else : ?>
|
||||
<a class="mr5" href="<?= url('profile', ['login' => $msg['msg_to_user']['login']]); ?>">
|
||||
<?= Html::image($msg['msg_user']['avatar'], $msg['msg_user']['login'], 'img-sm', 'avatar', 'small'); ?>
|
||||
<?= $msg['msg_user']['login']; ?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
<span class="gray ml10 lowercase">
|
||||
<?= Html::langDate($msg['dialog_update_time']); ?>
|
||||
</span>
|
||||
</div>
|
||||
<div class="p15 br-rd5 mt5 relative bg-blue-100<?php if (!$msg['unread'] > 0) { ?> bg-purple<?php } ?> gray">
|
||||
<?= Content::text($msg['message']['message_content'], 'text'); ?>
|
||||
</div>
|
||||
<a class="lowercase text-sm right" href="<?= url('dialogues', ['id' => $msg['dialog_id']]); ?>">
|
||||
<?php if ($msg['unread']) : ?>
|
||||
<?= __('app.there_are'); ?> <?= $msg['count']; ?> <?= $msg['unread_num']; ?>
|
||||
<?php else : ?>
|
||||
<span class="red"><?= __('app.view'); ?></span>
|
||||
<?php if ($msg['count'] != 0) : ?>
|
||||
<?= $msg['count']; ?> <?= $msg['count_num']; ?>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
</a>
|
||||
<?php foreach ($data['messages'] as $msg) : ?>
|
||||
<div class="hidden mb15<?php if (!$msg['unread'] > 0) : ?> bg-purple<?php endif; ?>">
|
||||
<div class="text-sm flex">
|
||||
<?php if ($msg['dialog_sender_id'] == UserData::getUserId()) : ?>
|
||||
<a href="<?= url('profile', ['login' => $msg['msg_to_user']['login']]); ?>">
|
||||
<?= Html::image($msg['msg_to_user']['avatar'], $msg['msg_to_user']['login'], 'img-sm', 'avatar', 'small'); ?>
|
||||
<?= $msg['msg_to_user']['login']; ?>
|
||||
</a>
|
||||
<?php else : ?>
|
||||
<a class="mr5" href="<?= url('profile', ['login' => $msg['msg_to_user']['login']]); ?>">
|
||||
<?= Html::image($msg['msg_user']['avatar'], $msg['msg_user']['login'], 'img-sm', 'avatar', 'small'); ?>
|
||||
<?= $msg['msg_user']['login']; ?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
<span class="gray ml10 lowercase">
|
||||
<?= Html::langDate($msg['dialog_update_time']); ?>
|
||||
</span>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<div class="p15 br-rd5 mt5 relative bg-blue-100<?php if (!$msg['unread'] > 0) { ?> bg-purple<?php } ?> gray">
|
||||
<?= Content::text($msg['message']['message_content'], 'text'); ?>
|
||||
</div>
|
||||
<a class="lowercase text-sm right" href="<?= url('dialogues', ['id' => $msg['dialog_id']]); ?>">
|
||||
<?php if ($msg['unread']) : ?>
|
||||
<?= __('app.there_are'); ?> <?= $msg['count']; ?> <?= $msg['unread_num']; ?>
|
||||
<?php else : ?>
|
||||
<span class="red"><?= __('app.view'); ?></span>
|
||||
<?php if ($msg['count'] != 0) : ?>
|
||||
<?= $msg['count']; ?> <?= $msg['count_num']; ?>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
</a>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
<?php else : ?>
|
||||
<?= insert('/_block/no-content', ['type' => 'max', 'text' => __('app.no_dialogs'), 'icon' => 'bi-envelope']); ?>
|
||||
<?php endif; ?>
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
<?= component('add-js-css'); ?>
|
||||
<main>
|
||||
<div class="box">
|
||||
<h2><?= __('app.add_post'); ?></h2>
|
||||
<h2><?= __('app.add_post'); ?></h2>
|
||||
|
||||
<form class="max-w780" action="<?= url('content.create', ['type' => 'post']); ?>" method="post" enctype="multipart/form-data">
|
||||
<?= csrf_field() ?>
|
||||
<?= component('add-post', ['data' => $data]); ?>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
<form class="max-w780" action="<?= url('content.create', ['type' => 'post']); ?>" method="post" enctype="multipart/form-data">
|
||||
<?= csrf_field() ?>
|
||||
<?= component('add-post', ['data' => $data]); ?>
|
||||
</form>
|
||||
</main>
|
||||
<aside>
|
||||
<div class="box bg-beige">
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
<?= component('add-js-css');
|
||||
$post = $data['post']; ?>
|
||||
<?= component('add-js-css');
|
||||
$post = $data['post']; ?>
|
||||
<main>
|
||||
<div class="box">
|
||||
<h2><?= __('app.edit_' . $post['post_type']); ?></h2>
|
||||
<h2><?= __('app.edit_' . $post['post_type']); ?></h2>
|
||||
|
||||
<form class="max-w780" action="<?= url('content.change', ['type' => $post['post_type']]); ?>" method="post" enctype="multipart/form-data">
|
||||
<?= csrf_field() ?>
|
||||
<?= component('edit-post', ['post' => $post, 'data' => $data]); ?>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
<form class="max-w780" action="<?= url('content.change', ['type' => $post['post_type']]); ?>" method="post" enctype="multipart/form-data">
|
||||
<?= csrf_field() ?>
|
||||
<?= component('edit-post', ['post' => $post, 'data' => $data]); ?>
|
||||
</form>
|
||||
</main>
|
||||
<aside>
|
||||
<div class="box bg-beige">
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php $page = $data['page']; ?>
|
||||
<main>
|
||||
<article class="box <?php if ($page['post_is_deleted'] == 1) { ?> bg-red-200<?php } ?>">
|
||||
<article<?php if ($page['post_is_deleted'] == 1) { ?> class="bg-red-200" <?php } ?>>
|
||||
<?php if ($page['post_is_deleted'] == 0 || UserData::checkAdmin()) : ?>
|
||||
<h1>
|
||||
<?= $page['post_title']; ?>
|
||||
|
@ -13,18 +13,18 @@
|
|||
<?= __('app.content_deleted', ['name' => __('app.post')]); ?>...
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</article>
|
||||
<div class="box-flex justify-between text-2xl">
|
||||
<?= Html::votes($page, 'post', 'ps', 'bi-heart middle mr15'); ?>
|
||||
<div class="gray-600 italic ml15">
|
||||
<?= $page['post_modified']; ?>
|
||||
<?php if (UserData::checkAdmin() || $page['post_user_id'] == UserData::getUserId()) : ?>
|
||||
<a class="gray-600 ml5" title="<?= __('app.edit'); ?>" href="<?= url('content.edit', ['type' => $page['post_type'], 'id' => $page['post_id']]); ?>">
|
||||
<i class="bi-pencil"></i>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</article>
|
||||
<div class="box-flex justify-between text-2xl">
|
||||
<?= Html::votes($page, 'post', 'ps', 'bi-heart middle mr15'); ?>
|
||||
<div class="gray-600 italic ml15">
|
||||
<?= $page['post_modified']; ?>
|
||||
<?php if (UserData::checkAdmin() || $page['post_user_id'] == UserData::getUserId()) : ?>
|
||||
<a class="gray-600 ml5" title="<?= __('app.edit'); ?>" href="<?= url('content.edit', ['type' => $page['post_type'], 'id' => $page['post_id']]); ?>">
|
||||
<i class="bi-pencil"></i>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<aside>
|
||||
<div class="box sticky top-sm bg-beige">
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<?php if ($post['post_is_deleted'] == 1) : ?><span class="label-orange"><?= __('app.remote'); ?></span><?php endif; ?>
|
||||
<?php if ($post['post_closed'] == 1) : ?><i class="bi-lock gray-600 ml5"></i><?php endif; ?>
|
||||
<?php if ($post['post_top'] == 1) : ?><i class="bi-pin-angle sky ml5"></i><?php endif; ?>
|
||||
<?php if ($post['post_lo']) : ?><i class="bi-award sky"></i><?php endif; ?>
|
||||
<?php if ($post['post_feature'] == 1) : ?><i class="bi-patch-question green ml5"></i><?php endif; ?>
|
||||
<?php if ($post['post_closed'] == 1) : ?>🔒<?php endif; ?>
|
||||
<?php if ($post['post_top'] == 1) : ?> <span class="label-red">↑</span> <?php endif; ?>
|
||||
<?php if ($post['post_lo']) : ?><span class="red">✓</span><?php endif; ?>
|
||||
<?php if ($post['post_feature'] == 1) : ?> <span class="label-green"><?= __('app.question'); ?></span> <?php endif; ?>
|
||||
<?php if ($post['post_translation'] == 1) : ?>
|
||||
<?php if ($post['post_merged_id']) : ?><i class="bi-link-45deg sky ml5"></i><?php endif; ?>
|
||||
<?php if ($post['post_merged_id']) : ?> <span class="pink">⇗</span> <?php endif; ?>
|
||||
<span class="label-grey"><?= __('app.translation'); ?></span>
|
||||
<?php endif; ?>
|
||||
<?php if ($post['post_tl']) : ?><span class="green italic text-sm ml5">tl<?= $post['post_tl']; ?></span><?php endif; ?>
|
||||
<?php if ($post['post_tl']) : ?> <span class="brown italic text-sm ml5">tl<?= $post['post_tl']; ?></span> <?php endif; ?>
|
|
@ -1,32 +1,28 @@
|
|||
<main>
|
||||
<div class="box">
|
||||
<a href="<?= url('teams'); ?>"><?= __('team.home'); ?></a> /
|
||||
<span class="red"><?= __('team.add_team'); ?></span>
|
||||
|
||||
<a href="<?= url('teams'); ?>"><?= __('team.home'); ?></a> /
|
||||
<span class="red"><?= __('team.add_team'); ?></span>
|
||||
<form class="max-w780" action="<?= url('content.create', ['type' => 'team']); ?>" method="post">
|
||||
<?= csrf_field() ?>
|
||||
<fieldset>
|
||||
<label for="name"><?= __('team.heading'); ?></label>
|
||||
<input minlength="6" maxlength="250" type="text" required="" name="name">
|
||||
<div class="help">6 - 250 <?= __('team.characters'); ?></div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
|
||||
<form class="max-w780" action="<?= url('content.create', ['type' => 'team']); ?>" method="post">
|
||||
<?= csrf_field() ?>
|
||||
<fieldset>
|
||||
<label for="name"><?= __('team.heading'); ?></label>
|
||||
<input minlength="6" maxlength="250" type="text" required="" name="name">
|
||||
<div class="help">6 - 250 <?= __('team.characters'); ?></div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<?= insert(
|
||||
'/_block/form/textarea',
|
||||
[
|
||||
'title' => __('team.description'),
|
||||
'height' => '250px',
|
||||
'name' => 'content',
|
||||
'type' => 'content',
|
||||
'id' => 0
|
||||
]
|
||||
); ?>
|
||||
|
||||
<?= insert(
|
||||
'/_block/form/textarea',
|
||||
[
|
||||
'title' => __('team.description'),
|
||||
'height' => '250px',
|
||||
'name' => 'content',
|
||||
'type' => 'content',
|
||||
'id' => 0
|
||||
]
|
||||
); ?>
|
||||
|
||||
</fieldset>
|
||||
<p><?= Html::sumbit(__('team.add')); ?></p>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</fieldset>
|
||||
<p><?= Html::sumbit(__('team.add')); ?></p>
|
||||
</form>
|
||||
</main>
|
|
@ -1,37 +1,34 @@
|
|||
<?php $team = $data['team']; ?>
|
||||
|
||||
<main>
|
||||
<div class="box">
|
||||
<a href="<?= url('teams'); ?>"><?= __('team.home'); ?></a> /
|
||||
<span class="red"><?= __('team.edit'); ?></span>
|
||||
<a href="<?= url('teams'); ?>"><?= __('team.home'); ?></a> /
|
||||
<span class="red"><?= __('team.edit'); ?></span>
|
||||
|
||||
<form class="max-w780" action="<?= url('content.change', ['type' => 'team']); ?>" method="post">
|
||||
<?= csrf_field() ?>
|
||||
<fieldset>
|
||||
<label for="name"><?= __('team.heading'); ?></label>
|
||||
<input minlength="6" maxlength="250" type="text" required="" value="<?= $team['team_name']; ?>" name="name">
|
||||
<div class="help">6 - 250 <?= __('team.characters'); ?></div>
|
||||
</fieldset>
|
||||
<form class="max-w780" action="<?= url('content.change', ['type' => 'team']); ?>" method="post">
|
||||
<?= csrf_field() ?>
|
||||
<fieldset>
|
||||
<label for="name"><?= __('team.heading'); ?></label>
|
||||
<input minlength="6" maxlength="250" type="text" required="" value="<?= $team['team_name']; ?>" name="name">
|
||||
<div class="help">6 - 250 <?= __('team.characters'); ?></div>
|
||||
</fieldset>
|
||||
|
||||
<?php insert(
|
||||
'/_block/form/textarea',
|
||||
[
|
||||
'title' => __('team.description'),
|
||||
'type' => 'text',
|
||||
'name' => 'content',
|
||||
'content' => $team['team_content'],
|
||||
'min' => 6,
|
||||
'max' => 555,
|
||||
'help' => '5 - 555 ' . __('team.characters'),
|
||||
'user' => $user
|
||||
]
|
||||
); ?>
|
||||
<?php insert(
|
||||
'/_block/form/textarea',
|
||||
[
|
||||
'title' => __('team.description'),
|
||||
'type' => 'text',
|
||||
'name' => 'content',
|
||||
'content' => $team['team_content'],
|
||||
'min' => 6,
|
||||
'max' => 555,
|
||||
'help' => '5 - 555 ' . __('team.characters'),
|
||||
'user' => $user
|
||||
]
|
||||
); ?>
|
||||
|
||||
<?= insert('/_block/form/select/users-team', ['users' => $data['users']]); ?>
|
||||
<?= insert('/_block/form/select/users-team', ['users' => $data['users']]); ?>
|
||||
|
||||
<input type="hidden" name="id" value="<?= $team['team_id']; ?>">
|
||||
<p><?= Html::sumbit(__('team.add')); ?></p>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
<input type="hidden" name="id" value="<?= $team['team_id']; ?>">
|
||||
<p><?= Html::sumbit(__('team.add')); ?></p>
|
||||
</form>
|
||||
</main>
|
|
@ -1,11 +1,11 @@
|
|||
<main>
|
||||
<div class="box-flex justify-between">
|
||||
<div class="flex justify-between">
|
||||
<p class="m0"><?= __('team.home'); ?></p>
|
||||
<?php if ($data['count'] < $data['limit']) : ?>
|
||||
<a href="<?= url('content.add', ['type' => 'team']); ?>" class="btn btn-primary"><?= __('team.add_team'); ?></a>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="mb5">
|
||||
<?php if (!empty($data['teams'])) : ?>
|
||||
|
||||
<?php foreach ($data['teams'] as $team) : ?>
|
||||
|
|
|
@ -1,34 +1,32 @@
|
|||
<?php $team = $data['team']; ?>
|
||||
|
||||
<main>
|
||||
<div class="box">
|
||||
<a href="<?= url('teams'); ?>"><?= __('team.home'); ?></a> /
|
||||
<span class="red"><?= $team['team_name']; ?></span>
|
||||
<a href="<?= url('teams'); ?>"><?= __('team.home'); ?></a> /
|
||||
<span class="red"><?= $team['team_name']; ?></span>
|
||||
|
||||
<div class="content-body">
|
||||
<?= Content::text($team['team_content'], 'text'); ?>
|
||||
</div>
|
||||
|
||||
<div class="mb15 gray-600">
|
||||
<i class="bi-calendar-week mr5"></i> <?= Html::langDate($team['team_date']); ?> / <?= Html::langDate($team['team_modified']); ?>
|
||||
</div>
|
||||
|
||||
<h2><?= __('team.owner'); ?></h2>
|
||||
<div class="mb15 mt5">
|
||||
<?= Html::image($team['avatar'], $team['login'], 'img-base', 'avatar', 'small'); ?>
|
||||
<a href="<?= url('profile', ['login' => $team['login']]); ?>"><?= $team['login']; ?></a>
|
||||
</div>
|
||||
|
||||
<h2><?= __('team.users'); ?></h2>
|
||||
<div class="mb15 mt5">
|
||||
<?php foreach ($data['team_users'] as $usr) : ?>
|
||||
<div class="mb15">
|
||||
<?= Html::image($usr['avatar'], $usr['login'], 'img-base', 'avatar', 'small'); ?>
|
||||
<a href="<?= url('profile', ['login' => $usr['login']]); ?>"><?= $usr['login']; ?></a>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
|
||||
<a href="<?= url('team.edit', ['id' => $team['team_id']]); ?>" class="btn btn-primary"><?= __('team.edit'); ?></a>
|
||||
<div class="content-body">
|
||||
<?= Content::text($team['team_content'], 'text'); ?>
|
||||
</div>
|
||||
|
||||
<div class="mb15 gray-600">
|
||||
<i class="bi-calendar-week mr5"></i> <?= Html::langDate($team['team_date']); ?> / <?= Html::langDate($team['team_modified']); ?>
|
||||
</div>
|
||||
|
||||
<h2><?= __('team.owner'); ?></h2>
|
||||
<div class="mb15 mt5">
|
||||
<?= Html::image($team['avatar'], $team['login'], 'img-base', 'avatar', 'small'); ?>
|
||||
<a href="<?= url('profile', ['login' => $team['login']]); ?>"><?= $team['login']; ?></a>
|
||||
</div>
|
||||
|
||||
<h2><?= __('team.users'); ?></h2>
|
||||
<div class="mb15 mt5">
|
||||
<?php foreach ($data['team_users'] as $usr) : ?>
|
||||
<div class="mb15">
|
||||
<?= Html::image($usr['avatar'], $usr['login'], 'img-base', 'avatar', 'small'); ?>
|
||||
<a href="<?= url('profile', ['login' => $usr['login']]); ?>"><?= $usr['login']; ?></a>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
|
||||
<a href="<?= url('team.edit', ['id' => $team['team_id']]); ?>" class="btn btn-primary"><?= __('team.edit'); ?></a>
|
||||
</main>
|
|
@ -30,21 +30,21 @@
|
|||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap justify-between">
|
||||
<?php foreach ($data['users'] as $user) : ?>
|
||||
<div class="w160 mb-w100 mb20 center">
|
||||
<a href="<?= url('profile', ['login' => $user['login']]); ?>">
|
||||
<?= Html::image($user['avatar'], $user['login'], 'img-lg', 'avatar', 'max'); ?>
|
||||
<div class="block mt5">
|
||||
<?= $user['login']; ?>
|
||||
</div>
|
||||
<?php if ($user['name']) : ?>
|
||||
<span class="gray text-sm"><?= $user['name']; ?></span>
|
||||
<?php endif; ?>
|
||||
</a>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<div class="flex flex-wrap justify-between">
|
||||
<?php foreach ($data['users'] as $user) : ?>
|
||||
<div class="w160 mb-w100 mb20 center">
|
||||
<a href="<?= url('profile', ['login' => $user['login']]); ?>">
|
||||
<?= Html::image($user['avatar'], $user['login'], 'img-lg', 'avatar', 'max'); ?>
|
||||
<div class="block mt5">
|
||||
<?= $user['login']; ?>
|
||||
</div>
|
||||
<?php if ($user['name']) : ?>
|
||||
<span class="gray text-sm"><?= $user['name']; ?></span>
|
||||
<?php endif; ?>
|
||||
</a>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
|
||||
<?= Html::pagination($data['pNum'], $data['pagesCount'], false, url('users.' . $data['sheet'])); ?>
|
||||
</main>
|
|
@ -1,20 +1,20 @@
|
|||
<main>
|
||||
<div class="mb15">
|
||||
<ul class="nav">
|
||||
<?= insert('/_block/navigation/nav', ['list' => config('navigation/nav.favorites')]); ?>
|
||||
</ul>
|
||||
<ul class="nav">
|
||||
<?= insert('/_block/navigation/nav', ['list' => config('navigation/nav.favorites')]); ?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php if (!empty($data['drafts'])) : ?>
|
||||
<?php foreach ($data['drafts'] as $draft) : ?>
|
||||
<div class="box bg-lightgray">
|
||||
<?php foreach ($data['drafts'] as $draft) : ?>
|
||||
<div class="box bg-lightgray">
|
||||
<a href="<?= url('post', ['id' => $draft['post_id'], 'slug' => $draft['post_slug']]); ?>">
|
||||
<h3 class="m0 text-2xl"><?= $draft['post_title']; ?></h3>
|
||||
</a>
|
||||
<div class="mr5 text-sm gray-600 lowercase">
|
||||
<?= Html::langDate($draft['post_date']); ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
<?php else : ?>
|
||||
<?= insert('/_block/no-content', ['type' => 'max', 'text' => __('app.no_content'), 'icon' => 'bi-journal-richtext']); ?>
|
||||
<?php endif; ?>
|
||||
|
|
|
@ -1,56 +1,56 @@
|
|||
<main>
|
||||
<h2><?= __('app.invites'); ?></h2>
|
||||
<?php if (UserData::getRegType(UserData::USER_SECOND_LEVEL)) : ?>
|
||||
<form method="post" action="<?= url('content.create', ['type' => 'invitation']); ?>">
|
||||
<?php csrf_field(); ?>
|
||||
<h2><?= __('app.invites'); ?></h2>
|
||||
<?php if (UserData::getRegType(UserData::USER_SECOND_LEVEL)) : ?>
|
||||
<form method="post" action="<?= url('content.create', ['type' => 'invitation']); ?>">
|
||||
<?php csrf_field(); ?>
|
||||
|
||||
<fieldset>
|
||||
<input type="email" name="email">
|
||||
<div class="right pt5"><?= Html::sumbit(__('app.send')); ?></div>
|
||||
<div class="text-sm pt5 gray-600"><?= __('app.enter'); ?> E-mail</div>
|
||||
</fieldset>
|
||||
<?= __('app.invitations_left'); ?> <?= 5 - $data['count_invites']; ?>
|
||||
</form>
|
||||
<fieldset>
|
||||
<input type="email" name="email">
|
||||
<div class="right pt5"><?= Html::sumbit(__('app.send')); ?></div>
|
||||
<div class="text-sm pt5 gray-600"><?= __('app.enter'); ?> E-mail</div>
|
||||
</fieldset>
|
||||
<?= __('app.invitations_left'); ?> <?= 5 - $data['count_invites']; ?>
|
||||
</form>
|
||||
|
||||
<h3 class="mt15"><?= __('app.invited_guests'); ?></h3>
|
||||
<h3 class="mt15"><?= __('app.invited_guests'); ?></h3>
|
||||
|
||||
<?php if (!empty($data['invitations'])) : ?>
|
||||
<?php if (!empty($data['invitations'])) : ?>
|
||||
|
||||
<?php foreach ($data['invitations'] as $invite) : ?>
|
||||
<?php if ($invite['active_status'] == 1) : ?>
|
||||
<div class="text-sm gray">
|
||||
<?= Html::image($invite['avatar'], $invite['login'], 'ava', 'avatar', 'small'); ?>
|
||||
<a href="<?= $invite['login']; ?>"><?= $invite['login']; ?></a>
|
||||
- <?= __('app.registered'); ?>
|
||||
</div>
|
||||
<?php foreach ($data['invitations'] as $invite) : ?>
|
||||
<?php if ($invite['active_status'] == 1) : ?>
|
||||
<div class="text-sm gray">
|
||||
<?= Html::image($invite['avatar'], $invite['login'], 'ava', 'avatar', 'small'); ?>
|
||||
<a href="<?= $invite['login']; ?>"><?= $invite['login']; ?></a>
|
||||
- <?= __('app.registered'); ?>
|
||||
</div>
|
||||
|
||||
<?php if (UserData::checkAdmin()) : ?>
|
||||
<?= __('app.link_used'); ?>:
|
||||
<?= $invite['invitation_email']; ?>
|
||||
<code class="block w-90">
|
||||
<?= config('meta.url'); ?><?= url('invite.reg', ['code' => $invite['invitation_code']]); ?>
|
||||
</code>
|
||||
<?php endif; ?>
|
||||
|
||||
<span class="text-sm gray"><?= __('app.link_used'); ?></span>
|
||||
<?php else : ?>
|
||||
<?= __('app.for'); ?> (<?= $invite['invitation_email']; ?>)
|
||||
<?= __('app.can_send_link'); ?>:
|
||||
<?php if (UserData::checkAdmin()) : ?>
|
||||
<?= __('app.link_used'); ?>:
|
||||
<?= $invite['invitation_email']; ?>
|
||||
<code class="block w-90">
|
||||
<?= config('meta.url'); ?><?= url('invite.reg', ['code' => $invite['invitation_code']]); ?>
|
||||
</code>
|
||||
<?php endif; ?>
|
||||
|
||||
<br><br>
|
||||
<?php endforeach; ?>
|
||||
<span class="text-sm gray"><?= __('app.link_used'); ?></span>
|
||||
<?php else : ?>
|
||||
<?= __('app.for'); ?> (<?= $invite['invitation_email']; ?>)
|
||||
<?= __('app.can_send_link'); ?>:
|
||||
<code class="block w-90">
|
||||
<?= config('meta.url'); ?><?= url('invite.reg', ['code' => $invite['invitation_code']]); ?>
|
||||
</code>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php else : ?>
|
||||
<span class="gray"><?= __('app.no_invites'); ?></span>
|
||||
<?php endif; ?>
|
||||
<br><br>
|
||||
<?php endforeach; ?>
|
||||
|
||||
<?php else : ?>
|
||||
<span class="gray"><?= __('app.limits_invitation'); ?>.</span>
|
||||
<span class="gray"><?= __('app.no_invites'); ?></span>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php else : ?>
|
||||
<span class="gray"><?= __('app.limits_invitation'); ?>.</span>
|
||||
<?php endif; ?>
|
||||
</main>
|
||||
<aside>
|
||||
<div class="box bg-beige sticky top-sm">
|
||||
|
|
|
@ -1,61 +1,59 @@
|
|||
<main>
|
||||
<?= insert('/content/user/setting/nav', ['data' => $data]); ?>
|
||||
|
||||
<div class="box">
|
||||
<form method="POST" action="<?= url('setting.change', ['type' => 'avatar']); ?>" enctype="multipart/form-data">
|
||||
<?= csrf_field() ?>
|
||||
<form method="post" action="<?= url('setting.change', ['type' => 'avatar']); ?>" enctype="multipart/form-data">
|
||||
<?= csrf_field() ?>
|
||||
|
||||
<div class="file-upload" id="file-drag">
|
||||
<div class="flex">
|
||||
<?= Html::image($data['user']['avatar'], $data['user']['login'], 'img-xl', 'avatar', 'max'); ?>
|
||||
<img id="file-image" src="/assets/images/1px.jpg" alt="" class="img-xl">
|
||||
<div id="start" class="mt15">
|
||||
<input id="file-upload" type="file" name="images" accept="image/*" />
|
||||
<div id="notimage" class="none"><?= __('app.select_image'); ?></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="response" class="hidden">
|
||||
<div id="messages"></div>
|
||||
<div class="file-upload" id="file-drag">
|
||||
<div class="mb-block">
|
||||
<?= Html::image($data['user']['avatar'], $data['user']['login'], 'img-xl', 'avatar', 'max'); ?>
|
||||
<img id="file-image" src="/assets/images/1px.jpg" alt="" class="img-xl">
|
||||
<div id="start" class="mt15">
|
||||
<input id="file-upload" type="file" name="images" accept="image/*" />
|
||||
<div id="notimage" class="none"><?= __('app.select_image'); ?></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="response" class="hidden">
|
||||
<div id="messages"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset class="clear gray">
|
||||
<div class="mb5 text-sm"><?= __('app.recommended_size'); ?>: 240x240px (jpg, jpeg, png)</div>
|
||||
<?= Html::sumbit(__('app.download')); ?>
|
||||
</fieldset>
|
||||
<fieldset class="clear gray">
|
||||
<div class="mb5 text-sm"><?= __('app.recommended_size'); ?>: 240x240px (jpg, jpeg, png)</div>
|
||||
<?= Html::sumbit(__('app.download')); ?>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="file-upload" id="file-drag">
|
||||
<div class="flex">
|
||||
<?php if ($data['user']['cover_art'] != 'cover_art.jpeg') : ?>
|
||||
<div class="relative mr15">
|
||||
<img class="block br-gray max-w-100" src="<?= Html::coverUrl($data['user']['cover_art'], 'user'); ?>">
|
||||
<a class="right text-sm" href="<?= url('setting', ['type' => 'cover_remove']); ?>">
|
||||
<?= __('app.remove'); ?>
|
||||
</a>
|
||||
</div>
|
||||
<?php else : ?>
|
||||
<div class="block br-gray max-w-100 text-sm gray p15">
|
||||
<?= __('app.no_cover'); ?>...
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div id="start">
|
||||
<img id="file-image bi-cloud-download" src="/assets/images/1px.jpg" alt="" class="h94">
|
||||
|
||||
<input id="file-upload" type="file" name="cover" accept="image/*" />
|
||||
<div id="notimage" class="none">Please select an image</div>
|
||||
<fieldset class="file-upload" id="file-drag">
|
||||
<div class="mb-block">
|
||||
<?php if ($data['user']['cover_art'] != 'cover_art.jpeg') : ?>
|
||||
<div class="relative mr15">
|
||||
<img class="block br-gray max-w-100" src="<?= Html::coverUrl($data['user']['cover_art'], 'user'); ?>">
|
||||
<a class="right text-sm" href="<?= url('setting', ['type' => 'cover_remove']); ?>">
|
||||
<?= __('app.remove'); ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="response" class="hidden">
|
||||
<div id="messages"></div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<?php else : ?>
|
||||
<div class="block br-gray max-w-100 text-sm gray p15">
|
||||
<?= __('app.no_cover'); ?>...
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div id="start">
|
||||
<img id="file-image bi-cloud-download" src="/assets/images/1px.jpg" alt="" class="h94">
|
||||
|
||||
<fieldset>
|
||||
<div class="text-sm gray mb15"><?= __('app.recommended_size'); ?>: 1920x240px (jpg, jpeg, png)</div>
|
||||
<?= Html::sumbit(__('app.download')); ?>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
<input id="file-upload" type="file" name="cover" accept="image/*" />
|
||||
<div id="notimage" class="none">Please select an image</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="response" class="hidden">
|
||||
<div id="messages"></div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<div class="text-sm gray mb15"><?= __('app.recommended_size'); ?>: 1920x240px (jpg, jpeg, png)</div>
|
||||
<?= Html::sumbit(__('app.download')); ?>
|
||||
</fieldset>
|
||||
</form>
|
||||
</main>
|
||||
<aside>
|
||||
<div class="box bg-beige">
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
<main>
|
||||
<?= insert('/content/user/setting/nav', ['data' => $data]); ?>
|
||||
|
||||
<div class="box">
|
||||
<form action="<?= url('setting.change', ['type' => 'notification']); ?>" method="post">
|
||||
<?php csrf_field(); ?>
|
||||
<?= component('setting-notifications', ['data' => $data]); ?>
|
||||
</form>
|
||||
</div>
|
||||
<form class="max-w780" action="<?= url('setting.change', ['type' => 'notification']); ?>" method="post">
|
||||
<?php csrf_field(); ?>
|
||||
<?= component('setting-notifications', ['data' => $data]); ?>
|
||||
</form>
|
||||
</main>
|
||||
|
||||
<aside>
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
<main>
|
||||
<?= insert('/content/user/setting/nav', ['data' => $data]); ?>
|
||||
|
||||
<div class="box">
|
||||
<form class="max-w300" action="<?= url('setting.change', ['type' => 'security']); ?>" method="post">
|
||||
<?php csrf_field(); ?>
|
||||
<?= component('setting-security'); ?>
|
||||
</form>
|
||||
</div>
|
||||
<form class="max-w300" action="<?= url('setting.change', ['type' => 'security']); ?>" method="post">
|
||||
<?php csrf_field(); ?>
|
||||
<?= component('setting-security'); ?>
|
||||
</form>
|
||||
</main>
|
||||
|
||||
<aside>
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
<main>
|
||||
<?= insert('/content/user/setting/nav', ['data' => $data]); ?>
|
||||
|
||||
<div class="box">
|
||||
<form class="max-w780" action="<?= url('setting.change', ['type' => 'setting']); ?>" method="post">
|
||||
<?php csrf_field(); ?>
|
||||
<?= component('setting', ['data' => $data]); ?>
|
||||
</form>
|
||||
</div>
|
||||
<form class="max-w780" action="<?= url('setting.change', ['type' => 'setting']); ?>" method="post">
|
||||
<?php csrf_field(); ?>
|
||||
<?= component('setting', ['data' => $data]); ?>
|
||||
</form>
|
||||
</main>
|
||||
|
||||
<aside>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
use Hleb\Constructor\Handlers\Request;
|
||||
|
||||
Request::getHead()->addStyles('/assets/css/style.css?012');
|
||||
Request::getHead()->addStyles('/assets/css/style.css?014');
|
||||
$type = $data['type'] ?? false;
|
||||
$facet = $data['facet'] ?? false;
|
||||
$post = $data['post'] ?? false;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
use Hleb\Constructor\Handlers\Request; ?>
|
||||
|
||||
<?php Request::getHead()->addStyles('/assets/css/style.css?012'); ?>
|
||||
<?php Request::getHead()->addStyles('/assets/css/style.css?014'); ?>
|
||||
|
||||
<?= insert('/meta', ['meta' => $meta]); ?>
|
||||
|
||||
|
|
|
@ -82,6 +82,7 @@ img {
|
|||
.right5 { right: 5px; }
|
||||
.mr-auto { margin: 0 auto; }
|
||||
.-mr-1 { margin-right: -0.5rem; }
|
||||
.-ml40 { margin-left: -40px; }
|
||||
.-mt50 { margin-top: -50px; }
|
||||
.-mt90 { margin-top: -90px; }
|
||||
.m0 { margin: 0; }
|
||||
|
@ -113,7 +114,6 @@ img {
|
|||
.mt30 { margin-top: 30px; }
|
||||
.mr30 { margin-right: 30px; }
|
||||
.ml30 { margin-left: 30px; }
|
||||
.ml-40 { margin-left: -40px; }
|
||||
|
||||
.p5 { padding: 5px; }
|
||||
.pt5 { padding-top: 5px; }
|
||||
|
@ -195,8 +195,8 @@ img {
|
|||
.w200 { width: 200px; }
|
||||
|
||||
.max-w-100 { max-width: 100%; }
|
||||
.max-w300 { max-width: 300px; }
|
||||
.max-w780 { max-width: 780px; }
|
||||
.max-w300 { max-width: 300px; }
|
||||
|
||||
.text-xs { font-size: 0.75rem; }
|
||||
.text-sm { font-size: 0.875rem; }
|
||||
|
|
|
@ -123,7 +123,7 @@ h5 {
|
|||
border-radius: 3px;
|
||||
height: 50px;
|
||||
border: 9px solid #fcebd9;
|
||||
padding-left: 15px;
|
||||
padding-left: 1rem;
|
||||
color: var(--gray-700);
|
||||
}
|
||||
|
||||
|
@ -143,15 +143,15 @@ aside ul a { color: var(--gray); }
|
|||
footer {
|
||||
background-color: var(--white);
|
||||
color: var(--gray-600);
|
||||
padding: 15px;
|
||||
padding: 0.25rem;
|
||||
overflow: hidden;
|
||||
margin-top: 15px;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
footer .icon {
|
||||
color: var(--gray-600);
|
||||
font-size: 21px;
|
||||
margin-right: 15px;
|
||||
margin-right: 1rem;
|
||||
}
|
||||
|
||||
footer ul {
|
||||
|
|
|
@ -58,7 +58,6 @@ font-display: swap;
|
|||
.bi-chat-dots::before { content: "\f24a"; }
|
||||
.bi-chat-text::before { content: "\f267"; }
|
||||
.bi-link-45deg::before { content: "\f470"; }
|
||||
.bi-arrow-up-right-square::before { content: "\f143"; }
|
||||
.bi-heart::before { content: "\f417"; }
|
||||
.bi-bookmark::before { content: "\f1a2"; }
|
||||
.bi-bookmark-plus::before { content: "\f19d"; }
|
||||
|
@ -77,7 +76,6 @@ font-display: swap;
|
|||
.bi-app-indicator::before { content: "\f10a"; }
|
||||
.bi-envelope::before { content: "\f32f"; }
|
||||
.bi-arrow-up::before { content: "\f148"; }
|
||||
.bi-shield-exclamation::before { content: "\f530"; }
|
||||
.bi-box-arrow-right::before { content: "\f1c3"; }
|
||||
.bi-search::before { content: "\f52a"; }
|
||||
.bi-brush::before { content: "\f1d8"; }
|
||||
|
@ -108,9 +106,6 @@ font-display: swap;
|
|||
.bi-info-square::before { content: "\f433"; }
|
||||
.bi-chevron-down::before { content: "\f282"; }
|
||||
.bi-chevron-right::before { content: "\f285"; }
|
||||
.bi-chevron-double-right::before { content: "\f280"; }
|
||||
.bi-lock::before { content: "\f47b"; }
|
||||
.bi-pin-angle::before { content: "\f4eb"; }
|
||||
.bi-eye::before { content: "\f341"; }
|
||||
.bi-eye-slash::before { content: "\f340"; }
|
||||
.bi-gift::before { content: "\f3ec"; }
|
||||
|
|
|
@ -58,10 +58,14 @@ main { flex: 1; }
|
|||
.mb-ml0 { margin-left: 0; }
|
||||
.mb-pr0 { padding-right: 0; }
|
||||
.mb-p10 { padding: 10px; }
|
||||
.mb-block { display: block; }
|
||||
.mb-text-xl { font-size: 1.25rem; }
|
||||
.logo { font-size: 18px; }
|
||||
.mb-w-100 { width: 100%; }
|
||||
.gap-max { gap: 1.5rem; }
|
||||
footer ul { padding-left: 0; }
|
||||
|
||||
.mb-block,
|
||||
#contentWrapper { display: block; }
|
||||
|
||||
aside,
|
||||
.mb-none,
|
||||
|
|
|
@ -47,24 +47,38 @@
|
|||
}
|
||||
|
||||
/* Этикетки */
|
||||
.label-grey {
|
||||
.label {
|
||||
font-style: italic;
|
||||
text-transform: lowercase;
|
||||
font-size: 0.875rem;
|
||||
background-color: var(--violet);
|
||||
color: var(--gray-600);
|
||||
padding: 3px 10px;
|
||||
}
|
||||
|
||||
.label-grey {
|
||||
@extend .label;
|
||||
background-color: var(--violet);
|
||||
color: var(--gray-600);
|
||||
}
|
||||
|
||||
.label-orange {
|
||||
font-style: italic;
|
||||
text-transform: lowercase;
|
||||
font-size: 0.875rem;
|
||||
@extend .label;
|
||||
background-color: #f9ddde;
|
||||
color: var(--gray);
|
||||
padding: 3px 10px;
|
||||
}
|
||||
|
||||
.label-green {
|
||||
@extend .label;
|
||||
background-color: #f0f6f3;
|
||||
color: var(--green);
|
||||
}
|
||||
|
||||
.label-red {
|
||||
@extend .label;
|
||||
background-color: #fff4e8;
|
||||
color: var(--red);
|
||||
}
|
||||
|
||||
|
||||
/* Для tagify */
|
||||
.tags-look .tagify__dropdown__item {
|
||||
display: inline-block;
|
||||
|
|
|
@ -21,7 +21,10 @@
|
|||
|
||||
<?php if (UserData::checkActiveUser() && !empty($data['topics_user'])) : ?>
|
||||
<div class="box bg-violet">
|
||||
<h3 class="uppercase-box"><?= __('app.reading'); ?></h3>
|
||||
<h3 class="uppercase-box"><?= __('app.reading'); ?>
|
||||
<?php if (count($data['topics_user']) > config('facets.quantity_home')) : ?>
|
||||
<a class="gray-600 text-sm" title="<?= __('app.topics'); ?>" href="<?= url('topics.my'); ?>">...</a>
|
||||
<?php endif; ?></h3>
|
||||
<ul>
|
||||
<?php
|
||||
$my = [];
|
||||
|
@ -58,11 +61,6 @@
|
|||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<?php if (count($data['topics_user']) > config('facets.quantity_home')) : ?>
|
||||
<a class="gray-600 block mt5" title="<?= __('app.topics'); ?>" href="<?= url('topics.my'); ?>">
|
||||
<?= __('app.see_more'); ?> <i class="bi-chevron-double-right middle"></i>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
use Hleb\Constructor\Handlers\Request;
|
||||
|
||||
Request::getHead()->addStyles('/assets/css/style.css?012');
|
||||
Request::getHead()->addStyles('/assets/css/style.css?014');
|
||||
$type = $data['type'] ?? false;
|
||||
$facet = $data['facet'] ?? false; ?>
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
use Hleb\Constructor\Handlers\Request;
|
||||
|
||||
Request::getHead()->addStyles('/assets/css/style.css?012');
|
||||
Request::getHead()->addStyles('/assets/css/test.css?012');
|
||||
Request::getHead()->addStyles('/assets/css/style.css?014');
|
||||
Request::getHead()->addStyles('/assets/css/test.css?014');
|
||||
$type = $data['type'] ?? false;
|
||||
$facet = $data['facet'] ?? false; ?>
|
||||
|
||||
|
|
Loading…
Reference in a new issue