UX: Мобильная версия

This commit is contained in:
Evg 2022-06-14 12:11:19 +03:00
parent b3f86a297d
commit 36815ddc27
45 changed files with 377 additions and 418 deletions

View file

@ -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'
],
]

View file

@ -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">

View file

@ -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]); ?>

View file

@ -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'];
?>

View file

@ -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']) : ?>

View file

@ -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; ?>

View file

@ -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'])) : ?>

View file

@ -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']); ?>

View file

@ -1,4 +1,4 @@
<main class="box w-100">
<main>
<h1><?= __('app.authorization'); ?></h1>
<div class="p15 bg-violet max-w300 mb-none right">

View file

@ -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(); ?>

View file

@ -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(); ?>

View file

@ -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>

View file

@ -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">

View file

@ -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>

View file

@ -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>

View file

@ -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; ?>

View file

@ -1,4 +1,4 @@
<?= component('add-js-css');
<?= component('add-js-css');
$domain = $data['domain']; ?>
<div id="contentWrapper">

View file

@ -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');

View file

@ -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>

View file

@ -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; ?>

View file

@ -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">

View file

@ -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">

View file

@ -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">

View file

@ -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) : ?>&#128274;<?php endif; ?>
<?php if ($post['post_top'] == 1) : ?> <span class="label-red">&#8593;</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">&#8663;</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; ?>

View file

@ -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>

View file

@ -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>

View file

@ -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) : ?>

View file

@ -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>

View file

@ -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>

View file

@ -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; ?>

View file

@ -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">

View file

@ -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">

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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;

View file

@ -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]); ?>

View file

@ -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; }

View file

@ -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 {

View file

@ -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"; }

View file

@ -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,

View file

@ -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;

View file

@ -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; ?>

View file

@ -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; ?>

View file

@ -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; ?>