generated from mirzaev/pot-php
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3d851a2087 |
@@ -209,7 +209,7 @@ final class index extends core
|
||||
'marketplace' => 'Маркетплейс, магазин, витрина',
|
||||
'saas' => 'SaaS проект',
|
||||
'search' => 'Поиск и анализ',
|
||||
'calculate' => 'Автоматизированное вычисление (калькулятор)',
|
||||
'calculate' => 'Вычисления (калькулятор)',
|
||||
'individual' => 'Индивидуальная разработка',
|
||||
],
|
||||
'integrations' => [
|
||||
|
||||
@@ -86,7 +86,7 @@ final class project extends core
|
||||
$mail->Host = MAIL_SERVER['host'];
|
||||
$mail->SMTPAuth = true;
|
||||
$mail->Username = MAIL_SERVER['sender']['mail'];
|
||||
$mail->Password = MAIL_SERVER['password'];
|
||||
$mail->Password = MAIL_SERVER['sender']['password'];
|
||||
$mail->SMTPSecure = mail::ENCRYPTION_SMTPS;
|
||||
$mail->Port = 465;
|
||||
$mail->setFrom(MAIL_SERVER['sender']['mail'], MAIL_SERVER['sender']['name']);
|
||||
|
||||
@@ -514,6 +514,22 @@ export default class project {
|
||||
]),
|
||||
coefficient: 8
|
||||
},
|
||||
saas: {
|
||||
symbol: Symbol("saas"),
|
||||
integrations: new Set([
|
||||
this.services.telegram,
|
||||
this.services.max,
|
||||
this.services.vk,
|
||||
this.services.one_c,
|
||||
this.services.moy_sklad,
|
||||
this.services.excel,
|
||||
this.services.ozon,
|
||||
this.services.wildberries,
|
||||
this.services.avito,
|
||||
this.services.yandex_market,
|
||||
]),
|
||||
coefficient: 8
|
||||
},
|
||||
search: {
|
||||
symbol: Symbol("search"),
|
||||
integrations: new Set([
|
||||
|
||||
@@ -4,8 +4,10 @@
|
||||
:root {
|
||||
--text-color: #fff;
|
||||
--text-color-inverted: #000;
|
||||
--button-background-color-inverted: #fff;
|
||||
--button-background-color: #000;
|
||||
--button-background-color: #fff;
|
||||
--button-background-color-inverted: #000;
|
||||
--button-hover-background-color: #abc7c6;
|
||||
--button-active-background-color: #8fa3a2;
|
||||
--section-background-color-inverted: #fff;
|
||||
--section-background-color: #000;
|
||||
--background-color: #fbfaf6;
|
||||
@@ -21,9 +23,6 @@
|
||||
--blue: #0ea5e9;
|
||||
|
||||
--paper: var(--white);
|
||||
|
||||
--button-plain-hover-background-color: #bdd2c8;
|
||||
--button-plain-active-background-color: #7d9f8f;
|
||||
}
|
||||
/* } */
|
||||
|
||||
@@ -56,8 +55,10 @@
|
||||
:root {
|
||||
--text-color: #fff;
|
||||
--text-color-inverted: #000;
|
||||
--button-background-color-inverted: #fff;
|
||||
--button-background-color: #000;
|
||||
--button-background-color: #fff;
|
||||
--button-background-color-inverted: #000;
|
||||
--button-hover-background-color: #abc7c6;
|
||||
--button-active-background-color: #8fa3a2;
|
||||
--section-background-color-inverted: #fff;
|
||||
--section-background-color: #000;
|
||||
--background-color: #fbfaf6;
|
||||
@@ -72,8 +73,5 @@
|
||||
--white: #fff;
|
||||
|
||||
--paper: var(--white);
|
||||
|
||||
--button-plain-hover-background-color: #bdd2c8;
|
||||
--button-plain-active-background-color: #7d9f8f;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,11 +30,12 @@ section#cookies {
|
||||
}
|
||||
|
||||
>div {
|
||||
padding: 0.8rem 1.2rem 0.7rem;
|
||||
padding: 0.9rem 1.2rem 0.8rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 0.3rem;
|
||||
|
||||
>p {
|
||||
margin: unset;
|
||||
@@ -43,6 +44,8 @@ section#cookies {
|
||||
}
|
||||
|
||||
>small {
|
||||
line-height: 1rem;
|
||||
text-align: center;
|
||||
font-family: Nunito;
|
||||
font-size: 0.9rem;
|
||||
font-weight: 400;
|
||||
|
||||
@@ -125,8 +125,8 @@ section#project {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.8em;
|
||||
overflow: hidden;
|
||||
border-radius: 1.125rem;
|
||||
/* overflow: hidden;
|
||||
border-radius: 1.125rem; */
|
||||
/* border: 2px solid;
|
||||
background-color: #fff;
|
||||
box-shadow: var(--shadow);
|
||||
@@ -185,6 +185,8 @@ section#project {
|
||||
>:is(input, select, textarea) {
|
||||
grid-column: 2;
|
||||
grid-row: 2;
|
||||
width: 100%;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
>small.guide {
|
||||
@@ -266,7 +268,7 @@ section#project {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
justify-content: space-between;
|
||||
gap: 0.6em 1em;
|
||||
/* border-radius: 0.75rem; */
|
||||
border: 1px solid #000;
|
||||
@@ -278,45 +280,39 @@ section#project {
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
>div.row {
|
||||
>label {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 0.3rem;
|
||||
|
||||
>label {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 0.3rem;
|
||||
>input[type="number"] {
|
||||
appearance: textfield;
|
||||
-moz-appearance: textfield;
|
||||
width: 80%;
|
||||
/* padding: 0.4em 0.6em 0.4em 1.2em; */
|
||||
padding: 0.4em 0.6em;
|
||||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
font-family: Nunito;
|
||||
font-weight: 400;
|
||||
font-size: 1em;
|
||||
outline: unset;
|
||||
border: unset;
|
||||
border-bottom: 1px solid #000;
|
||||
background: unset;
|
||||
|
||||
>input[type="number"] {
|
||||
appearance: textfield;
|
||||
-moz-appearance: textfield;
|
||||
width: 80%;
|
||||
/* padding: 0.4em 0.6em 0.4em 1.2em; */
|
||||
padding: 0.4em 0.6em;
|
||||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
font-family: Nunito;
|
||||
font-weight: 400;
|
||||
font-size: 1em;
|
||||
outline: unset;
|
||||
border: unset;
|
||||
border-bottom: 1px solid #000;
|
||||
background: unset;
|
||||
|
||||
&::-webkit-outer-spin-button,
|
||||
&::-webkit-inner-spin-button {
|
||||
-webkit-appearance: none;
|
||||
display: none;
|
||||
}
|
||||
&::-webkit-outer-spin-button,
|
||||
&::-webkit-inner-spin-button {
|
||||
-webkit-appearance: none;
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
>span {
|
||||
font-size: 0.9em;
|
||||
cursor: pointer;
|
||||
}
|
||||
>span {
|
||||
font-size: 0.9em;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -703,11 +699,9 @@ section#project {
|
||||
gap: unset;
|
||||
|
||||
>label#requester_personal {
|
||||
padding: 1em 0.8em;
|
||||
padding: 0.6em 0.8em;
|
||||
box-sizing: border-box;
|
||||
display: grid;
|
||||
grid-template-columns: 3ch auto;
|
||||
grid-template-rows: 2ch;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.7ch;
|
||||
font-size: 0.9rem;
|
||||
@@ -725,8 +719,7 @@ section#project {
|
||||
}
|
||||
|
||||
>div {
|
||||
grid-column: 1;
|
||||
scale: 0.7;
|
||||
scale: 0.8;
|
||||
|
||||
>input {
|
||||
position: absolute;
|
||||
@@ -762,7 +755,6 @@ section#project {
|
||||
}
|
||||
|
||||
>span {
|
||||
grid-column: 2;
|
||||
margin-top: 0.15ch;
|
||||
}
|
||||
}
|
||||
@@ -858,7 +850,7 @@ section#project {
|
||||
display: contents;
|
||||
|
||||
>button#back {
|
||||
--diameter: 6ch;
|
||||
--diameter: 7ch;
|
||||
--radius: calc(var(--diameter, 4ch) / 2);
|
||||
position: absolute;
|
||||
left: calc(-1.2rem - var(--diameter, 4ch));
|
||||
@@ -870,14 +862,14 @@ section#project {
|
||||
align-items: center;
|
||||
border-radius: 100%;
|
||||
border: unset;
|
||||
background-color: #fff;
|
||||
background-color: var(--button-background-color, #fff);
|
||||
|
||||
&:is(:hover, :focus) {
|
||||
background-color: var(--button-plain-hover-background-color, #bdd2c8);
|
||||
background-color: var(--button-hover-background-color, #abc7c6);
|
||||
}
|
||||
|
||||
&:active {
|
||||
background-color: var(--button-plain-active-background-color, #7d9f8f);
|
||||
background-color: var(--button-active-background-color, #8fa3a2);
|
||||
}
|
||||
|
||||
>img {
|
||||
@@ -894,20 +886,33 @@ section#project {
|
||||
/* padding: 1.05em 1.3em 1em;
|
||||
border-radius: 0.75rem; */
|
||||
box-sizing: border-box;
|
||||
padding: 1.55em 1.3em 1.5em;
|
||||
padding: 1.25em 1.3em 1.2em;
|
||||
font-size: 1rem;
|
||||
border-radius: 1.25rem;
|
||||
border: unset;
|
||||
background-color: #fff;
|
||||
background-color: var(--button-background-color, #fff);
|
||||
|
||||
&:is(:hover, :focus) {
|
||||
background-color: var(--button-hover-background-color, #abc7c6);
|
||||
}
|
||||
|
||||
&:active {
|
||||
background-color: var(--button-active-background-color, #8fa3a2);
|
||||
}
|
||||
|
||||
&:is(#send) {
|
||||
--shadow: 0 4px 5px -4px rgba(0, 0, 0, 0.5);
|
||||
/* padding: 2.3ch 4.5ch 2.5ch; */
|
||||
line-height: 0.9em;
|
||||
font-weight: 600;
|
||||
font-size: 1rem;
|
||||
color: #fff;
|
||||
text-shadow: 0 0 4px #000, 0 3px 1.4rem #0009;
|
||||
border: unset;
|
||||
background: #ff5c5c;
|
||||
background: hsl(var(--button-send-background-color, 120deg) 40% 50%);
|
||||
box-shadow: var(--shadow);
|
||||
-webkit-box-shadow: var(--shadow);
|
||||
-moz-box-shadow: var(--shadow);
|
||||
transition: background 1.2s ease-out;
|
||||
|
||||
&:not(:disabled) {
|
||||
filter: contrast(1.1);
|
||||
@@ -934,16 +939,6 @@ section#project {
|
||||
filter: grayscale(1) brightness(0.8);
|
||||
}
|
||||
}
|
||||
|
||||
>span {
|
||||
line-height: 1rem;
|
||||
font-family: Geologica;
|
||||
font-weight: 600;
|
||||
font-size: 1rem;
|
||||
color: #fff;
|
||||
text-shadow: 0 0 4px #00000070;
|
||||
/* mix-blend-mode: overlay; */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -965,6 +960,10 @@ section#project {
|
||||
font-size: 0.8em;
|
||||
color: #fff;
|
||||
text-shadow: 0px 1px 3px #000C, 0px 1px 1px #000B;
|
||||
|
||||
>b {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
>section#contacts_shortcut {
|
||||
@@ -1022,7 +1021,22 @@ section#project {
|
||||
margin: unset;
|
||||
min-width: var(--diameter, 4ch);
|
||||
width: 30%;
|
||||
border-radius: 0.75rem;
|
||||
height: auto;
|
||||
border-radius: 1.25rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (width < 480px) {
|
||||
section#project {
|
||||
>article {
|
||||
>section[data-paginator-page] {
|
||||
>section#team {
|
||||
>fieldset {
|
||||
flex-flow: row wrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,12 +167,23 @@ footer {
|
||||
text-align: right;
|
||||
gap: 0.2em;
|
||||
font-size: 0.8rem;
|
||||
color: grey;
|
||||
color: #a3a396;
|
||||
|
||||
::selection {
|
||||
color: #FFF;
|
||||
background: #12A;
|
||||
}
|
||||
|
||||
::-moz-selection {
|
||||
color: #FFF;
|
||||
background: #12A;
|
||||
}
|
||||
|
||||
>span.row {
|
||||
display: inline-flex;
|
||||
justify-content: end;
|
||||
font-weight: 400;
|
||||
gap: 0.6em;
|
||||
|
||||
&:before {
|
||||
margin-right: auto;
|
||||
@@ -247,3 +258,23 @@ footer {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (width < 520px) {
|
||||
footer {
|
||||
>div.sector {
|
||||
&:is(.company) {
|
||||
flex-direction: column;
|
||||
gap: 3rem;
|
||||
|
||||
>article#contacts {
|
||||
width: 100%;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
>article#company {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,16 +78,16 @@ body {
|
||||
--dot-size: 23px;
|
||||
--dot-space: 24px;
|
||||
z-index: -50;
|
||||
position: fixed;top: -200%;
|
||||
left: -200vw;
|
||||
top: -200%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: min(-30vw, -300px);
|
||||
justify-self: center;
|
||||
align-self: center;
|
||||
width: 400vw;
|
||||
min-height: 1000px;
|
||||
height: 800%;
|
||||
width: max(250vw, 600px);
|
||||
height: 200vh;
|
||||
rotate: -16deg;
|
||||
pointer-events: none;
|
||||
background: linear-gradient(90deg, var(--dot-bg) calc(var(--dot-space) - var(--dot-size)), transparent 1%) center / var(--dot-space) var(--dot-space), linear-gradient(var(--dot-bg) calc(var(--dot-space) - var(--dot-size)), transparent 1%) center / var(--dot-space) var(--dot-space), var(--dot-color);
|
||||
transform-origin: top left;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,16 +68,15 @@ body {
|
||||
--dot-space: 24px;
|
||||
z-index: -50;
|
||||
position: fixed;
|
||||
top: -200%;
|
||||
left: -200vw;
|
||||
top: -200%;
|
||||
top: 0;
|
||||
left: min(-30vw, -300px);
|
||||
justify-self: center;
|
||||
align-self: center;
|
||||
width: 400vw;
|
||||
min-height: 1000px;
|
||||
height: 800%;
|
||||
width: max(250vw, 600px);
|
||||
height: 200vh;
|
||||
rotate: -16deg;
|
||||
pointer-events: none;
|
||||
background: linear-gradient(90deg, var(--dot-bg) calc(var(--dot-space) - var(--dot-size)), transparent 1%) center / var(--dot-space) var(--dot-space), linear-gradient(var(--dot-bg) calc(var(--dot-space) - var(--dot-size)), transparent 1%) center / var(--dot-space) var(--dot-space), var(--dot-color);
|
||||
transform-origin: top left;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,12 +34,25 @@
|
||||
transition: 0.1s ease-out;
|
||||
}
|
||||
|
||||
::selection {
|
||||
color: #000;
|
||||
background: #FF2;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
::-moz-selection {
|
||||
color: #000;
|
||||
background: #FF2;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: unset;
|
||||
width: 100vw;
|
||||
overflow-x: hidden;
|
||||
background: var(--background-color, #fff);
|
||||
background: var(--background-gradient);
|
||||
/* background: var(--background-color, #fff);
|
||||
background: var(--background-gradient); */
|
||||
background-color: #020c13;
|
||||
}
|
||||
|
||||
.unselectable {
|
||||
@@ -67,6 +80,7 @@ input:not([type="range"]) {
|
||||
outline: unset;
|
||||
border: unset;
|
||||
border-bottom: 1px solid;
|
||||
border-radius: unset;
|
||||
background: unset;
|
||||
}
|
||||
|
||||
@@ -130,6 +144,6 @@ button {
|
||||
&:disabled {
|
||||
cursor: not-allowed;
|
||||
background-color: #08111d17;
|
||||
filter: grayscale(1) brightness(0.8);
|
||||
filter: grayscale(1) brightness(0.55);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
{% block css %}
|
||||
{% endblock %}
|
||||
|
||||
{% include '/elements/yandex.html' %}
|
||||
{% include '/metrics/yandex.html' %}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
autocomplete="off"
|
||||
oninput="core.project.architecture = this.value"
|
||||
>
|
||||
<option value="" selected="true" disabled="true" hidden="true" data-paginator-select-title="true">Выберите архитектуру</option>
|
||||
<option value="" selected="true" disabled="true" hidden="true" data-project-select-title="true">Выберите архитектуру</option>
|
||||
{% for value, label in project.architectures %}
|
||||
<option value="{{ value }}">{{ label }}</option>
|
||||
{% endfor %}
|
||||
@@ -47,7 +47,7 @@
|
||||
autocomplete="off"
|
||||
oninput="core.project.purpose = this.value"
|
||||
>
|
||||
<option value="" selected="true" disabled="true" hidden="true" data-paginator-select-title="true">Выберите назначение</option>
|
||||
<option value="" selected="true" disabled="true" hidden="true" data-project-select-title="true">Выберите назначение</option>
|
||||
{% for value, label in project.purposes %}
|
||||
<option value="{{ value }}">{{ label }}</option>
|
||||
{% endfor %}
|
||||
@@ -80,47 +80,45 @@
|
||||
<section id="team" class="row" style="display: none;">
|
||||
<fieldset>
|
||||
<legend>Команда</legend>
|
||||
<div class="row">
|
||||
<label for="programmers">
|
||||
<input
|
||||
id="programmers"
|
||||
class="input"
|
||||
type="number"
|
||||
min="0"
|
||||
max="3"
|
||||
value="0"
|
||||
autocomplete="off"
|
||||
onkeyup="core.project.programmers = this.value"
|
||||
/>
|
||||
<span>Программисты</span>
|
||||
</label>
|
||||
<label for="designers">
|
||||
<input
|
||||
id="designers"
|
||||
class="input"
|
||||
type="number"
|
||||
min="0"
|
||||
max="4"
|
||||
value="0"
|
||||
autocomplete="off"
|
||||
onkeyup="core.project.designers = this.value"
|
||||
/>
|
||||
<span>Дизайнеры</span>
|
||||
</label>
|
||||
<label for="boosters">
|
||||
<input
|
||||
id="boosters"
|
||||
class="input"
|
||||
type="number"
|
||||
min="0"
|
||||
max="2"
|
||||
value="0"
|
||||
autocomplete="off"
|
||||
onkeyup="core.project.boosters = this.value"
|
||||
/>
|
||||
<span>Бустеры</span>
|
||||
</label>
|
||||
</div>
|
||||
<label for="programmers">
|
||||
<input
|
||||
id="programmers"
|
||||
class="input"
|
||||
type="number"
|
||||
min="0"
|
||||
max="3"
|
||||
value="0"
|
||||
autocomplete="off"
|
||||
onkeyup="core.project.programmers = this.value"
|
||||
/>
|
||||
<span>Программисты</span>
|
||||
</label>
|
||||
<label for="designers">
|
||||
<input
|
||||
id="designers"
|
||||
class="input"
|
||||
type="number"
|
||||
min="0"
|
||||
max="4"
|
||||
value="0"
|
||||
autocomplete="off"
|
||||
onkeyup="core.project.designers = this.value"
|
||||
/>
|
||||
<span>Дизайнеры</span>
|
||||
</label>
|
||||
<label for="boosters">
|
||||
<input
|
||||
id="boosters"
|
||||
class="input"
|
||||
type="number"
|
||||
min="0"
|
||||
max="2"
|
||||
value="0"
|
||||
autocomplete="off"
|
||||
onkeyup="core.project.boosters = this.value"
|
||||
/>
|
||||
<span>Бустеры</span>
|
||||
</label>
|
||||
</fieldset>
|
||||
<small class="guide">Соберите команду разработчиков проекта</small>
|
||||
</section>
|
||||
@@ -317,21 +315,21 @@
|
||||
<button onclick="core.paginator.relative(1)" style="display: none" data-paginator-page-button="2" disabled="true">ПРОДОЛЖИТЬ</button>
|
||||
<button
|
||||
id="send"
|
||||
class="gradient"
|
||||
style="display: none"
|
||||
onclick="core.project.send();"
|
||||
data-paginator-page-button="3"
|
||||
disabled="true"
|
||||
>
|
||||
<span>НАЧАТЬ РАЗРАБОТКУ</span>
|
||||
<div class="color yellow"></div>
|
||||
<div class="color green"></div>
|
||||
<div class="color blue"></div>
|
||||
</button>
|
||||
>ОТПРАВИТЬ</button>
|
||||
</section>
|
||||
|
||||
<script>
|
||||
const send = document.getElementById('send');
|
||||
let deg = 120;
|
||||
setInterval(() => send.style.setProperty('--button-send-background-color', (deg += 43) + 'deg'), 1200);
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<small class="offer unselectable">Создан для удобства и <b>не является публичной офертой</b></br>Точная стоимость после изучения задания</small>
|
||||
<small class="offer unselectable">Создан для удобного планирования и <b>не является публичной офертой</b></small>
|
||||
|
||||
<section id="contacts_shortcut">
|
||||
<p class="sim"><span class="country">7</span><span class="operator">901</span><span>592</span><span>4211</span></p>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta name="author" content="Арсен Мирзаев Татьяно-Мурадович" />
|
||||
|
||||
<meta name="robots" content="index, follow" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, shrink-to-fit=no" />
|
||||
<meta name="HandheldFriendly" content="true" />
|
||||
<meta name="MobileOptimized" content="width" />
|
||||
<meta name="mobile-web-app-capable" content="yes" />
|
||||
|
||||
Reference in New Issue
Block a user