This commit is contained in:
vladislav 2026-08-17 13:14:57 -04:00
parent 62285f9479
commit d27263094a
Signed by: Vladislav
GPG Key ID: D97C9E5E4860EE45
26 changed files with 53 additions and 149 deletions

File diff suppressed because one or more lines are too long

View File

@ -166,7 +166,7 @@
<span class="offer-text">Публикация в личных соц. сетях</span>
</label>
-->
<button class="c_aq9et" id="createBtn">
<button class="c_aq9et ba" id="createBtn">
<span class="c_som9s">Сохранить изменения</span>
</button>
</div>
@ -645,10 +645,6 @@ document.addEventListener('DOMContentLoaded', () => {
{{ competition.style() }}
{{ checkbox.style() }}
<style>
.c_aq9et { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.c_aq9et:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.c_aq9et:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .c_aq9et:hover, .c_aq9et:active { transform: none; } }
.toggle-group {
display: flex;
margin-bottom: 15px;

View File

@ -170,7 +170,7 @@
</label> -->
<button class="c_aq9et" id="createBtn" type="button">
<button class="c_aq9et ba" id="createBtn" type="button">
<span class="c_som9s">Создать конкурс</span>
</button>
</div>
@ -575,11 +575,6 @@ document.addEventListener('DOMContentLoaded', () => {
{{ competition.style() }}
{{ checkbox.style() }}
<style>
.c_aq9et { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.c_aq9et:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.c_aq9et:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .c_aq9et:hover, .c_aq9et:active { transform: none; } }
.toggle-group {
display: flex;
margin-bottom: 15px;

View File

@ -57,17 +57,17 @@
</header>
</div>
<div style="grid-area: c;display: grid;gap: 10px;">
<a class="c_wcdb7 b_ofiw3" href="{% if competition.get('rules_link') %}{{competition.rules_link}}{% else %}/b/competition/{{ competition.rules_file_id }}{% endif %}" rel="noopener noreferrer">
<a class="c_wcdb7 b_ofiw3 ba" href="{% if competition.get('rules_link') %}{{competition.rules_link}}{% else %}/b/competition/{{ competition.rules_file_id }}{% endif %}" rel="noopener noreferrer">
<span class="b_j2ln2">Условия конкурса</span>
</a>
{% if competition.user._id == '681684390000000000000000'%}
<a class="c_wcdb7 b_ofiw3" href="https://vk.ru/im?sel=25126640" rel="noopener noreferrer">
<a class="c_wcdb7 b_ofiw3 ba" href="https://vk.ru/im?sel=25126640" rel="noopener noreferrer">
<span class="b_j2ln2">Задать вопрос</span>
</a>
{% endif %}
<!-- TODO -->
{% if competition.get('status',-1) == 0%}
<a class="c_wcdb7 b_ofiw3" href="/profile/competition/{{competition._id}}#main">
<a class="c_wcdb7 b_ofiw3 ba" href="/profile/competition/{{competition._id}}#main">
<span class="b_j2ln2">Отправить заявку на конкурс</span>
</a>
{% endif %}
@ -199,10 +199,6 @@
<meta property="og:site_name" content="Конкурсы | KULTMOST.АВТОПОСТ">
{{ header.style() }}
<style>
.c_wcdb7 { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.c_wcdb7:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.c_wcdb7:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .c_wcdb7:hover, .c_wcdb7:active { transform: none; } }
.b_thlt1 { align-items: center; background: rgba(14, 214, 70, 0.20); border-radius: 30px; display: flex; justify-content: center; padding: 1.5px 10px; }
.b_5dr47 { color: #0ED646; font-family: Inter; font-size: 12px; font-style: normal; font-weight: 700; line-height: normal; }
.b_thlt1_2 { align-items: center; background: rgba(95, 23, 152, 0.20); border-radius: 30px; display: flex; justify-content: center; padding: 1.5px 10px; }

View File

@ -37,7 +37,7 @@
</header>
</div>
{% if competition.get('status',-1) == 0%}
<a class="c_wcdb7 b_ofiw3" href="/profile/competition/{{competition._id}}#main"><span class="b_j2ln2">Отправить заявку на конкурс</span></a>
<a class="c_wcdb7 b_ofiw3 ba" href="/profile/competition/{{competition._id}}#main"><span class="b_j2ln2">Отправить заявку на конкурс</span></a>
{% endif %}
<a class="c_rpq63 b_lyhks" href="/competition/{{competition._id}}">
<div class="c_fqmiw b_ilrcq"><img class="c_3jjk6 b_cm8eh" src="/a/{{member._id}}" crossorigin="anonymous" fetchpriority="high" loading="eager">
@ -148,10 +148,6 @@
{% block head %}
{{ header.style() }}
<style>
.c_wcdb7 { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.c_wcdb7:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.c_wcdb7:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .c_wcdb7:hover, .c_wcdb7:active { transform: none; } }
.b_thlt1 { align-items: center; background: rgba(14, 214, 70, 0.20); border-radius: 30px; display: flex; justify-content: center; padding: 1.5px 10px; }
.b_5dr47 { color: #0ED646; font-family: Inter; font-size: 12px; font-style: normal; font-weight: 700; line-height: normal; }
.b_thlt1_2 { align-items: center; background: rgba(95, 23, 152, 0.20); border-radius: 30px; display: flex; justify-content: center; padding: 1.5px 10px; }

View File

@ -2,11 +2,11 @@
{% if user %}
<div class="st">
{% if 'partner' in user.get('profile', '') %}
<a href="/form/competition">Добавить конкурс</a>
<a href="/form/exhibition">Добавить выставку</a>
<a class="ba" href="/form/competition">Добавить конкурс</a>
<a class="ba" href="/form/exhibition">Добавить выставку</a>
{% else %}
<a href="/form/post">Добавить пост</a>
<a href="/form/news">Добавить новость</a>
<a class="ba" href="/form/post">Добавить пост</a>
<a class="ba" href="/form/news">Добавить новость</a>
{%endif%}
</div>
{% endif %}
@ -21,37 +21,8 @@
{% macro style() -%}
<style>
.st>a { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.st>a:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.st>a:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .st>a:hover, .st>a:active { transform: none; } }
.st {
position: sticky;
bottom: 0;
background: white;
width: 100%;
padding: 0 15px;
border-top: 1px solid #5F1798;
display: flex;
flex-direction: column;
z-index: 99;
display: flex;
align-items: center;
transition: none;
}
.st>a {
padding: 13px 15px;
width: 335px;
justify-content: center;
align-items: center;
border-radius: 5px;
background: #5F1798;
color: white;
display: flex;
margin: 4px 0;
font-size: 13px;
}
.st {position: sticky;bottom: 0;background: white;width: 100%;padding: 0 15px;border-top: 1px solid #5F1798;display: flex;flex-direction: column;z-index: 99;display: flex;align-items: center;transition: none;}
.st>a {padding: 13px 15px;width: 335px;justify-content: center;align-items: center;border-radius: 5px;background: #5F1798;color: white;display: flex;margin: 4px 0;font-size: 13px;}
@media (min-width: 901px) {
.c_62bje { color: #5F1798; font-family: Inter; font-size: 16px; font-style: normal; font-weight: 700; line-height: normal; }
.c_jtxml { color: #000; font-family: Inter; font-size: 16px; font-style: normal; font-weight: 700; line-height: normal; }

View File

@ -15,11 +15,11 @@
{% if 'admin' not in user.get('roles', []) %}
{% if 'partner' in user.get('roles', [])%}
{% if 'partner' in user.get('profile', '') %}
<button class="c_6cfr8 b_m2ah9 b" onclick="switchProfile()">
<button class="c_6cfr8 b_m2ah9 b ba" onclick="switchProfile()">
<span class="c_d2l0b b_al8e7">Личный кабинет галериста</span>
</button>
{% else %}
<button class="c_6cfr8 b_m2ah9 b" onclick="switchProfile()">
<button class="c_6cfr8 b_m2ah9 b ba" onclick="switchProfile()">
<span class="c_d2l0b b_al8e7">Личный кабинет партнера</span>
</button>
{% endif %}

View File

@ -161,7 +161,7 @@
{% endfor %}
</datalist>
<button class="c_aq9et" id="createBtn">
<button class="c_aq9et ba" id="createBtn">
<span class="c_som9s">Создать выставку</span>
</button>
</div>
@ -562,10 +562,6 @@ function bindLinkValidation({
{{ competition.style() }}
{{ checkbox.style() }}
<style>
.c_aq9et { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.c_aq9et:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.c_aq9et:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .c_aq9et:hover, .c_aq9et:active { transform: none; } }
.toggle-group {
display: flex;
margin-bottom: 15px;

View File

@ -128,7 +128,7 @@
<option value="{{ doc }}"></option>
{% endfor %}
</datalist>
<button class="c_aq9et" id="createBtn">
<button class="c_aq9et ba" id="createBtn">
<span class="c_som9s">Сохранить изменения</span>
</button>
</div>
@ -556,10 +556,6 @@ bindLinkValidation({
{{ competition.style() }}
{{ checkbox.style() }}
<style>
.c_aq9et { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.c_aq9et:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.c_aq9et:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .c_aq9et:hover, .c_aq9et:active { transform: none; } }
.toggle-group {
display: flex;
margin-bottom: 15px;

View File

@ -39,7 +39,7 @@
<span class="login-hint">Минимум 8 символов</span>
<a href="/restore{% if next %}?next={{next}}{% endif %}" onclick="sendToNextPage(event)" class="login-forgot" style="margin-bottom: 1rem;">Забыли пароль ?</a>
<button class="c_aq9et" id="createBtn" type="button">
<button class="c_aq9et ba" id="createBtn" type="button">
<span class="c_som9s">Войти</span>
</button>
<div style="display: flex; gap:15px">
@ -482,12 +482,6 @@ input[type="number"]:focus::-webkit-inner-spin-button {display: none;}
/* убираем большой нижний отступ у группы, за которой идёт подсказка */
.floating-group:has(+ .login-hint) { margin-bottom: 0; }
/* Микроанимация кнопки «Войти» */
.c_aq9et { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.c_aq9et:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.c_aq9et:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .c_aq9et:hover, .c_aq9et:active { transform: none; } }
/* Картинка слева от формы (только десктоп) */
.login-illustration { display: none; }
@media (min-width: 901px) {

View File

@ -28,7 +28,7 @@
</script>
{% endif %}
<div class="c_rtopc">
<label class="c_aq9et" for="fileInput">
<label class="c_aq9et ba" for="fileInput">
<span class="c_som9s">Добавить фото</span>
</label>
<input class="c_1gai0" id="fileInput" type="file" multiple accept="image/*" style="display: none;"/>

View File

@ -27,7 +27,7 @@
</script>
{% endif %}
<div class="c_rtopc">
<label class="c_aq9et" for="fileInput">
<label class="c_aq9et ba" for="fileInput">
<span class="c_som9s">Добавить фото</span>
</label>
<input class="c_1gai0" id="fileInput" type="file" multiple accept="image/*" style="display: none;"/>

View File

@ -39,12 +39,12 @@
<textarea type="text" id="description" name="description" class="c_4ykpn"></textarea>
<label for="description" class="c_z3ybu floating-label">Описание</label>
</div>
<button class="c_aq9et" id="createBtn" type="button">
<button class="c_aq9et ba" id="createBtn" type="button">
<span class="c_som9s">Сохранить</span>
</button>
</div>
<div class="c_rtopc">
<label class="c_aq9et" for="fileInput">
<label class="c_aq9et ba" for="fileInput">
<span class="c_som9s">Добавить фото</span>
</label>
<input class="c_1gai0" id="fileInput" type="file" multiple accept="image/*" style="display: none;"/>
@ -329,10 +329,6 @@
{% macro style() -%}
<style>
.c_aq9et { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.c_aq9et:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.c_aq9et:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .c_aq9et:hover, .c_aq9et:active { transform: none; } }
.preview {
display: flex;
gap: 8px;

View File

@ -96,7 +96,7 @@
</div>
{% endfor %}
{% else %}
<a class="c_7d3qb b_dc4rx" type="button" href="/profile/social">
<a class="c_7d3qb b_dc4rx ba" type="button" href="/profile/social">
<span class="c_v3bsp b_xj1br">Добавить личную соцсеть</span>
</a>
{% endif %}
@ -120,7 +120,7 @@
</div>
</div>
</div>
<button class="c_aq9et" id="createBtn" type="button">
<button class="c_aq9et ba" id="createBtn" type="button">
<span class="c_som9s">Опубликовать</span>
</button>
</div>
@ -247,7 +247,7 @@
})
</script>
<div class="c_rtopc">
<label class="c_aq9et" for="fileInput">
<label class="c_aq9et ba" for="fileInput">
<span class="c_som9s">Добавить фото</span>
</label>
<input class="c_1gai0" id="fileInput" type="file" multiple accept="image/*" style="display: none;"/>
@ -522,10 +522,6 @@
{% block head %}
{{ header.style() }}
<style>
.c_aq9et { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.c_aq9et:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.c_aq9et:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .c_aq9et:hover, .c_aq9et:active { transform: none; } }
.b_xj1br { color: #FFF; font-family: Inter; font-size: 14px; font-style: normal; font-weight: 400; line-height: normal; }
.b_dc4rx { align-items: center; align-self: stretch; background: #5F1798; border-radius: 5px; display: flex; justify-content: center; padding: 12px 0; }
.b_5rck0 { align-items: center; align-self: stretch; background: #F39318; border-radius: 5px; display: flex; justify-content: center; padding: 12px 0; }

View File

@ -20,8 +20,8 @@
<h2>{{competition.title}}</h2>
<p>{{competition.topic}}</p>
<p>Минимальное кол-во картин: {{competition.min_paintings}}. Максимальное кол-во картин: {{competition.max_paintings}}</p>
<a class="c_ctfod b_289i1" href="{% if competition.get('rules_link') %}{{competition.rules_link}}{% else %}/b/competition/{{ competition.rules_file_id }}{% endif %}" rel="noopener noreferrer"><span class="c_d2l0b b_al8e7">Условия конкурса</span></a>
<a class="c_ctfod b_289i1" href="/form/post?next=/profile/competition/{{ competition._id }}"><span class="c_d2l0b b_al8e7">Загрузить картину в список</span></a>
<a class="c_ctfod b_289i1 ba" href="{% if competition.get('rules_link') %}{{competition.rules_link}}{% else %}/b/competition/{{ competition.rules_file_id }}{% endif %}" rel="noopener noreferrer"><span class="c_d2l0b b_al8e7">Условия конкурса</span></a>
<a class="c_ctfod b_289i1 ba" href="/form/post?next=/profile/competition/{{ competition._id }}"><span class="c_d2l0b b_al8e7">Загрузить картину в список</span></a>
</div>
<div class="c_3ihvi">
<h3>Выбрано картин: <span id="selected_span">0</span></h3>
@ -32,11 +32,11 @@
<span class="offer-text">Принять условия конкурса</span>
</label>
{% if competition.user._id == '681684390000000000000000' %}
<a class="c_ctfod b_289i1" href="https://vk.ru/im?sel=25126640" rel="noopener noreferrer">
<a class="c_ctfod b_289i1 ba" href="https://vk.ru/im?sel=25126640" rel="noopener noreferrer">
<span class="c_d2l0b b_al8e7">Задать вопрос в VK</span>
</a>
{% endif %}
<button class="c_ctfod b_289i1" id="sendForm">
<button class="c_ctfod b_289i1 ba" id="sendForm">
<span class="c_d2l0b b_al8e7">Отправить заявку</span>
</button>
</div>
@ -414,10 +414,6 @@ document.addEventListener('DOMContentLoaded', () => {
{{ profile_nav.style() }}
{{ checkbox.style() }}
<style>
.c_ctfod { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.c_ctfod:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.c_ctfod:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .c_ctfod:hover, .c_ctfod:active { transform: none; } }
.inptS{height: 48px;
display: flex; width: 335px;
align-items: center;gap: 10px; border-bottom: 1px solid #5F1798;}

View File

@ -74,12 +74,12 @@
</div>
{% endif %}
{% if doc.status in ['Ожидает отправки', 'Возврат художнику'] and user._id == doc.sender._id%}
<button class="b_wy3rt" onclick="btnSend(this, '{{doc._id}}', '{{doc.sender._id}}', '{{doc.receiver._id}}')">
<button class="b_wy3rt ba" onclick="btnSend(this, '{{doc._id}}', '{{doc.sender._id}}', '{{doc.receiver._id}}')">
<span class="b_bvl0d">Отправить</span>
</button>
{% endif %}
{% if doc.status == 'Ожидает получения' and user._id == doc.receiver._id%}
<button class="b_wy3rt" onclick="btnAccept(this, '{{doc._id}}')">
<button class="b_wy3rt ba" onclick="btnAccept(this, '{{doc._id}}')">
<span class="b_bvl0d">Получить</span>
</button>
{% endif %}
@ -208,10 +208,6 @@
{{ profile_nav.style() }}
{{card.style()}}
<style>
.b_wy3rt { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.b_wy3rt:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.b_wy3rt:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .b_wy3rt:hover, .b_wy3rt:active { transform: none; } }
/* Base (common) styles */
.c_aihm6{width: 100%;}
.mw{margin: 0 20px;
@ -322,7 +318,7 @@ picture>img{ width: 100%; object-fit: scale-down; }
.fl{display: flex;justify-content: space-between;width: 100%;}
.c_som9s { color: #FFF; font-family: Inter; font-size: 14px; font-style: normal; font-weight: 400; line-height: normal; }
.c_aq9et { display: flex; padding: 19px 33px; justify-content: center; align-items: center; align-self: stretch; border-radius: 5px; background: #5F1798; }
.b_ornr9 { align-self: stretch; height: 400px; overflow: hidden;}
.b_ornr9 { align-self: stretch; overflow: hidden;}
.b_0jst1 { color: #0ED646; font-family: Inter; font-size: 12px; font-style: normal; font-weight: 700; line-height: normal; }
.b_vabj9 { align-items: center; background: rgba(14, 214, 70, 0.20); border-radius: 30px; display: flex; justify-content: center; padding: 1.5px 10px; }
.b_0jst1_2 { color: #5F1798; font-family: Inter; font-size: 12px; font-style: normal; font-weight: 700; line-height: normal; }

View File

@ -73,12 +73,12 @@
</div>
{% endif %}
{% if doc.status in ['Ожидает отправки', 'Возврат художнику'] and user._id == doc.sender._id%}
<button class="b_wy3rt" onclick="btnSend(this, '{{doc._id}}', '{{doc.sender._id}}', '{{doc.receiver._id}}')">
<button class="b_wy3rt ba" onclick="btnSend(this, '{{doc._id}}', '{{doc.sender._id}}', '{{doc.receiver._id}}')">
<span class="b_bvl0d">Отправить</span>
</button>
{% endif %}
{% if doc.status == 'Ожидает получения' and user._id == doc.receiver._id%}
<button class="b_wy3rt" onclick="btnAccept(this, '{{doc._id}}')">
<button class="b_wy3rt ba" onclick="btnAccept(this, '{{doc._id}}')">
<span class="b_bvl0d">Получить</span>
</button>
{% endif %}
@ -314,10 +314,6 @@ async function btnSend(btn, itemId, sender, too){
{{ competition.style() }}
{{ profile_nav.style() }}
<style>
.b_wy3rt { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.b_wy3rt:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.b_wy3rt:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .b_wy3rt:hover, .b_wy3rt:active { transform: none; } }
/* Base (common) styles */
.c_aihm6{width: 100%;}
.mw{margin: 0 20px;

View File

@ -72,12 +72,12 @@
</div>
{% endif %}
{% if doc.status in ['Ожидает отправки', 'Возврат художнику'] and user._id == doc.sender._id%}
<button class="b_wy3rt" onclick="btnSend(this, '{{doc._id}}', '{{doc.sender._id}}', '{{doc.receiver._id}}')">
<button class="b_wy3rt ba" onclick="btnSend(this, '{{doc._id}}', '{{doc.sender._id}}', '{{doc.receiver._id}}')">
<span class="b_bvl0d">Отправить</span>
</button>
{% endif %}
{% if doc.status == 'Ожидает получения' and user._id == doc.receiver._id%}
<button class="b_wy3rt" onclick="btnAccept(this, '{{doc._id}}')">
<button class="b_wy3rt ba" onclick="btnAccept(this, '{{doc._id}}')">
<span class="b_bvl0d">Получить</span>
</button>
{% endif %}
@ -604,10 +604,6 @@ async function btnSend(btn, itemId, sender, too){
{{ header.style() }}
{{ profile_nav.style() }}
<style>
.b_wy3rt { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.b_wy3rt:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.b_wy3rt:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .b_wy3rt:hover, .b_wy3rt:active { transform: none; } }
/* Base (common) styles */
.c_aihm6{width: 100%;}
.mw{margin: 0 20px;

View File

@ -26,7 +26,7 @@
<h3 class="c_hysjg b_8f3uh">{{ doc.title }}</h3>
</header>
{% if doc.get('type_')=='paint' %}
<a class="btn" href="/profile/invitation/{{doc._id}}#main" style="width: 100%;">Открыть</a>
<a class="btn ba" href="/profile/invitation/{{doc._id}}#main" style="width: 100%;">Открыть</a>
{% endif %}
{% if doc.get('type') == 'Выставка' %}
<p class="c_2fr39 b_tfnz2">{{doc.get('exhibition').title }}</p>
@ -41,16 +41,16 @@
</div>
{% if doc.get('exhibition').get('tizer_file_id') or doc.get('exhibition').get('tizer_link') %}
<a class="btn"
<a class="btn ba"
href="{% if doc.get('exhibition') and doc.get('exhibition').get('tizer_link') %}{{doc.get('exhibition').tizer_link}}{% else %}/b/exhibition/{{ doc.get('exhibition').tizer_file_id }}{% endif %}"
style="width: 100%;">Релиз выставки</a>
{% endif %}
<p class="c_2fr39 b_tfnz2">Принять условия нужно до {{doc.get('exhibition').datetime_start.strftime('%d.%m.%Y')}}</p>
{% if doc.get('accept') == False and now < doc.get('exhibition').datetime_start %}
<a class="btn" href="/profile/invitation/{{doc._id}}#main" style="width: 100%;">Открыть</a>
<a class="btn ba" href="/profile/invitation/{{doc._id}}#main" style="width: 100%;">Открыть</a>
<!-- <button onclick="accept_inv('{{doc._id}}')" class="btn" href="/profile/delivery#main" style="width: 100%; box-sizing: border-box;">Принять условия</button> -->
{% else %}
<a class="btn"
<a class="btn ba"
href="{% if doc.get('exhibition') and doc.get('exhibition').get('rules_link') %}{{doc.get('exhibition').rules_link}}{% else %}/b/exhibition/{{ doc.get('exhibition').rules_file_id }}{% endif %}"
style="width: 100%;">Условия выставки</a>
{% endif %}
@ -148,10 +148,6 @@ async function accept_inv(inv_id) {
{{ header.style() }}
{{ profile_nav.style() }}
<style>
.btn { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.btn:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.btn:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .btn:hover, .btn:active { transform: none; } }
/* Base (common) styles */
.c_aq9et {
cursor: pointer;

View File

@ -17,7 +17,7 @@
<div class="c_ru432">
{{ profile_nav.profile_nav(user, 'news') }}
<div class="c_3ihvi" id="main"><a class="c_ctfod b_289i1" href="/form/news"><span class="c_d2l0b b_al8e7">Добавить</span></a></div>
<div class="c_3ihvi" id="main"><a class="c_ctfod b_289i1 ba" href="/form/news"><span class="c_d2l0b b_al8e7">Добавить</span></a></div>
<div class="c_tihtk">
{% for new in news %}
<figure class="c_57hjd b_h57rq">

View File

@ -23,11 +23,11 @@
<h2 class="c_b2jz8 b_5ckkw">{{competition.title}}</h2>
</header>
</div>
<a class="c_d4rhd b_wy3rt" href="/competition/{{competition._id}}">
<a class="c_d4rhd b_wy3rt ba" href="/competition/{{competition._id}}">
<span class="c_4sl8i b_bvl0d">Открыть страницу конкурса</span>
</a>
{% if competition.status == 0 %}
<div class="c_d4rhd b_wy3rt" id="stop-btn">
<div class="c_d4rhd b_wy3rt ba" id="stop-btn">
<span class="c_4sl8i b_bvl0d">Остановить прием заявок на конкурс</span>
</div>
@ -58,7 +58,7 @@
});
</script>
{% elif competition.status == 1 %}
<div class="c_d4rhd b_wy3rt" id="stop-btn"><span class="c_4sl8i b_bvl0d">Завершить конкурс</span>
<div class="c_d4rhd b_wy3rt ba" id="stop-btn"><span class="c_4sl8i b_bvl0d">Завершить конкурс</span>
</div>
<script>
const competitionId = '{{competition._id}}';
@ -87,7 +87,7 @@
});
</script>
{% elif competition.status == 2 %}
<div class="c_d4rhd b_wy3rt"><span class="c_4sl8i b_bvl0d">Конкурс завершен</span></div>
<div class="c_d4rhd b_wy3rt ba"><span class="c_4sl8i b_bvl0d">Конкурс завершен</span></div>
{%endif%}
</div>
<div class="c_ntoq3 b_6ycbz">
@ -279,10 +279,6 @@ document.querySelectorAll('.b_k2cle button').forEach(button => {
{{card.style()}}
{{ profile_nav.style() }}
<style>
.c_d4rhd { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.c_d4rhd:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.c_d4rhd:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .c_d4rhd:hover, .c_d4rhd:active { transform: none; } }
/* Base (common) styles */
/* Активное состояние */
.c_fx6lz.active,

View File

@ -26,10 +26,10 @@
</svg> Вернуться</h2>
</header>
</a>
<a class="c_d4rhd b_wy3rt" href="/competition/{{competition._id}}">
<a class="c_d4rhd b_wy3rt ba" href="/competition/{{competition._id}}">
<span class="c_4sl8i b_bvl0d">Открыть страницу конкурса</span>
</a>
<div class="c_d4rhd b_wy3rt" id="stop-btn">
<div class="c_d4rhd b_wy3rt ba" id="stop-btn">
<span class="c_4sl8i b_bvl0d">Остановить прием заявок на конкурс</span>
</div>
<a href="/profile/partner/competition/{{competition._id}}#main" id="{{member.id}}">
@ -280,10 +280,6 @@ document.querySelectorAll('.b_k2cle button').forEach(button => {
{{card.style()}}
{{ profile_nav.style() }}
<style>
.c_d4rhd { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.c_d4rhd:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.c_d4rhd:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .c_d4rhd:hover, .c_d4rhd:active { transform: none; } }
.b_thlt1 { align-items: center; background: rgba(14, 214, 70, 0.20); border-radius: 30px; display: flex; justify-content: center; padding: 1.5px 10px; }
.b_5dr47 { color: #0ED646; font-family: Inter; font-size: 12px; font-style: normal; font-weight: 700; line-height: normal; }
.b_thlt1_2 { align-items: center; background: rgba(95, 23, 152, 0.20); border-radius: 30px; display: flex; justify-content: center; padding: 1.5px 10px; }

View File

@ -16,7 +16,7 @@
{{ profile_card.profile_card(user) }}
<div class="c_ru432">
{{ profile_nav.profile_nav(user, 'competitions') }}
<div class="c_3ihvi" id="main"><a class="c_ctfod b_289i1" href="/form/competition"><span class="c_d2l0b b_al8e7">Добавить</span></a></div>
<div class="c_3ihvi" id="main"><a class="c_ctfod b_289i1 ba" href="/form/competition"><span class="c_d2l0b b_al8e7">Добавить</span></a></div>
<div class="c_tihtk">
{% for competition in cards %}
{{ card.section(competition, true, link='/profile/partner/competition/{}#main'.format(competition._id)) }}

View File

@ -206,10 +206,6 @@ async function btnAccept(btn, itemId){
{{ profile_nav.style() }}
{{ competition.style() }}
<style>
.b_wy3rt { cursor: pointer; box-shadow: 0 4px 14px -4px rgba(95,23,152,.5); transition: transform .18s, box-shadow .18s, background .18s; }
.b_wy3rt:hover { background: #6d1ba9; transform: translateY(-2px); box-shadow: 0 10px 24px -6px rgba(95,23,152,.6); }
.b_wy3rt:active { transform: translateY(0); box-shadow: 0 4px 12px -4px rgba(95,23,152,.5); }
@media (prefers-reduced-motion: reduce) { .b_wy3rt:hover, .b_wy3rt:active { transform: none; } }
{{label.green()}}
{{label.purple()}}
#preview_poster{min-height: 456px;}

View File

@ -15,7 +15,7 @@
{{ profile_card.profile_card(user) }}
<div class="c_ru432">
{{ profile_nav.profile_nav(user, 'exhibitions') }}
<div class="c_3ihvi" id="main"><a class="c_ctfod b_289i1" href="/form/exhibition"><span class="c_d2l0b b_al8e7">Добавить</span></a></div>
<div class="c_3ihvi" id="main"><a class="c_ctfod b_289i1 ba" href="/form/exhibition"><span class="c_d2l0b b_al8e7">Добавить</span></a></div>
<div class="c_tihtk">
{% for i in data %}
<article class="c_9fgdh b_ax8vz">

View File

@ -16,7 +16,7 @@
{{ profile_card.profile_card(user) }}
<div class="c_ru432">
{{ profile_nav.profile_nav(user, 'paint') }}
<div class="c_3ihvi" id="main"><a class="c_ctfod b_289i1" href="/form/post"><span class="c_d2l0b b_al8e7">Добавить</span></a></div>
<div class="c_3ihvi" id="main"><a class="c_ctfod b_289i1 ba" href="/form/post"><span class="c_d2l0b b_al8e7">Добавить</span></a></div>
<div class="c_tihtk">
{% for i in cards %}
{{card.section(i, loop.index, user)}}