Merge pull request 'final' (#1) from dev into main
Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
9
makefile
9
makefile
@@ -1,12 +1,15 @@
|
|||||||
VENV=source ./.venv/bin/activate;
|
#VENV=source ./.venv/bin/activate;
|
||||||
ALEMBIC=alembic -c ./server/backend/database/alembic/alembic.ini
|
#ALEMBIC=alembic -c ./server/backend/database/alembic/alembic.ini
|
||||||
|
VENV= .venv\Scripts\activate #Windows
|
||||||
|
ALEMBIC=alembic -c server\backend\database\alembic\alembic.ini
|
||||||
.PHONY: run run_debug migrate_head migrate_down migrate_history migrate_current migrate_heads migrate_stamp migrate
|
.PHONY: run run_debug migrate_head migrate_down migrate_history migrate_current migrate_heads migrate_stamp migrate
|
||||||
run:
|
run:
|
||||||
$(VENV) python run.py --user_name admin
|
$(VENV) python run.py --user_name admin
|
||||||
run_debug:
|
run_debug:
|
||||||
$(VENV) python run.py --mode debug --user_name admin
|
$(VENV) python run.py --mode debug --user_name admin
|
||||||
migrate_head:
|
migrate_head:
|
||||||
$(VENV) $(ALEMBIC) upgrade head
|
$(VENV) $(ALEMBIC)
|
||||||
|
|
||||||
migrate_down:
|
migrate_down:
|
||||||
$(VENV) $(ALEMBIC) downgrade -1
|
$(VENV) $(ALEMBIC) downgrade -1
|
||||||
migrate_history:
|
migrate_history:
|
||||||
|
|||||||
1
server/frontend/auth/fonts/MurreyC/COPYRIGHT.txt
Normal file
1
server/frontend/auth/fonts/MurreyC/COPYRIGHT.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
DoubleRus encoding by Diai; unfinished
|
||||||
BIN
server/frontend/auth/fonts/MurreyC/murreyc.eot
Normal file
BIN
server/frontend/auth/fonts/MurreyC/murreyc.eot
Normal file
Binary file not shown.
BIN
server/frontend/auth/fonts/MurreyC/murreyc.ttf
Normal file
BIN
server/frontend/auth/fonts/MurreyC/murreyc.ttf
Normal file
Binary file not shown.
BIN
server/frontend/auth/fonts/MurreyC/murreyc.woff
Normal file
BIN
server/frontend/auth/fonts/MurreyC/murreyc.woff
Normal file
Binary file not shown.
BIN
server/frontend/auth/fonts/MurreyC/murreyc.woff2
Normal file
BIN
server/frontend/auth/fonts/MurreyC/murreyc.woff2
Normal file
Binary file not shown.
BIN
server/frontend/auth/image/bg.png
Normal file
BIN
server/frontend/auth/image/bg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 MiB |
BIN
server/frontend/auth/image/hamster.png
Normal file
BIN
server/frontend/auth/image/hamster.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 MiB |
@@ -0,0 +1,81 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: "MurreyC";
|
||||||
|
src: url("fonts/MurreyC/murreyc.woff2") format("woff2");
|
||||||
|
font-weight: 400;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: "MurreyC";
|
||||||
|
src: url("fonts/MurreyC/murreyc.woff") format("woff");
|
||||||
|
font-weight: 400;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: "MurreyC";
|
||||||
|
src: url("fonts/MurreyC/murreyc.eot") format("eot");
|
||||||
|
font-weight: 400;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
font-family: "MurreyC";
|
||||||
|
background: url('./image/bg.png') no-repeat 100% 100% fixed;
|
||||||
|
background-size: cover;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.glass-container {
|
||||||
|
position: fixed;
|
||||||
|
inset: 0;
|
||||||
|
backdrop-filter: blur(16px);
|
||||||
|
background: rgba(255,255,255,0.1); /* обязательно */
|
||||||
|
}
|
||||||
|
.login-box {
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
background: url('./image/hamster.png') no-repeat 50% 50%;
|
||||||
|
padding-top: 50px;
|
||||||
|
}
|
||||||
|
form {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
font-weight: 900;
|
||||||
|
font-size: 50px;
|
||||||
|
text-decoration: underline;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
input {
|
||||||
|
width: 320px;
|
||||||
|
height: 50px;
|
||||||
|
padding: 0 20px;
|
||||||
|
border-radius: 25px;
|
||||||
|
border: 1px solid #000;
|
||||||
|
background-color: #ffffff;
|
||||||
|
outline: none;
|
||||||
|
font-size: 30px;
|
||||||
|
}
|
||||||
|
button {
|
||||||
|
margin-top: 10px;
|
||||||
|
font-size: 30px;
|
||||||
|
background-color: #3a1f09;
|
||||||
|
padding: 10px 15px;
|
||||||
|
border-radius: 33px;
|
||||||
|
transition: all .1s;
|
||||||
|
color: #e5b97e;
|
||||||
|
box-shadow: #3a1f09 2px 4px 10px 2px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
button:hover {
|
||||||
|
background-color: #f0c590;
|
||||||
|
color: #b06029;
|
||||||
|
transform: scale(1.015);
|
||||||
|
}
|
||||||
@@ -9,10 +9,10 @@
|
|||||||
<body>
|
<body>
|
||||||
<div class="glass-container">
|
<div class="glass-container">
|
||||||
<div class="login-box">
|
<div class="login-box">
|
||||||
<h2>Login</h2>
|
<h2>Введите код</h2>
|
||||||
<form id="loginForm">
|
<form id="loginForm">
|
||||||
<input type="password" id="password" name="password" required placeholder="Code">
|
<input type="password" id="password" name="password" required placeholder="Код">
|
||||||
<button type="submit">Login</button>
|
<button type="submit">Войти</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
<ul class="menu">
|
<ul class="menu">
|
||||||
<!-- 1 -->
|
<!-- 1 -->
|
||||||
<li class="item">
|
<li class="item">
|
||||||
<a href="#heading" class="link">
|
<a href="#" class="link">
|
||||||
Добро пожаловать!
|
Добро пожаловать!
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
@@ -87,8 +87,7 @@
|
|||||||
</section>
|
</section>
|
||||||
<aside>
|
<aside>
|
||||||
<div class="time">
|
<div class="time">
|
||||||
<!-- отсчет до даты -->
|
<p id="demo"></p>
|
||||||
00:00:00
|
|
||||||
</div>
|
</div>
|
||||||
</aside>
|
</aside>
|
||||||
<section class="people" id="people">
|
<section class="people" id="people">
|
||||||
@@ -438,6 +437,11 @@
|
|||||||
<label>Фамилия
|
<label>Фамилия
|
||||||
<input type="text" name="lastName" id="flname" required>
|
<input type="text" name="lastName" id="flname" required>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
|
<label class="label_1">Комментарий
|
||||||
|
<textarea cols="1.5" rows="1" type="text" name="lastName" id="fename" placeholder="Напишите здесь о ваших особых предпочтениях и аллергиях"></textarea>
|
||||||
|
</label>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Средняя колонка -->
|
<!-- Средняя колонка -->
|
||||||
@@ -466,14 +470,17 @@
|
|||||||
<label class="option"><input type="checkbox" name="drink" value="tequila" id="ctequila"> Текила</label>
|
<label class="option"><input type="checkbox" name="drink" value="tequila" id="ctequila"> Текила</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</form>
|
||||||
|
<div class="form-connect">
|
||||||
<button type="submit" class="answer_btn" id="bsubmit">
|
<button type="submit" class="answer_btn" id="bsubmit">
|
||||||
Подтвердить участие
|
Подтвердить участие
|
||||||
</button>
|
</button>
|
||||||
</form>
|
|
||||||
<button type="logout" class="answer_btn" id="logoutForm">
|
<button type="logout" class="answer_btn" id="logoutForm">
|
||||||
Выйти
|
Выйти
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
|
|||||||
@@ -28,3 +28,32 @@ const swiper = new Swiper('.swiper', {
|
|||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Set the date we're counting down to
|
||||||
|
var countDownDate = new Date("Aug 22, 2026 12:00:00").getTime();
|
||||||
|
|
||||||
|
// Update the count down every 1 second
|
||||||
|
var x = setInterval(function() {
|
||||||
|
|
||||||
|
// Get today's date and time
|
||||||
|
var now = new Date().getTime();
|
||||||
|
|
||||||
|
// Find the distance between now and the count down date
|
||||||
|
var distance = countDownDate - now;
|
||||||
|
|
||||||
|
// Time calculations for days, hours, minutes and seconds
|
||||||
|
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
|
||||||
|
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
|
||||||
|
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
|
||||||
|
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
|
||||||
|
|
||||||
|
// Display the result in the element with id="demo"
|
||||||
|
document.getElementById("demo").innerHTML = days + "д " + hours + "ч "
|
||||||
|
+ minutes + "м " + seconds + "с ";
|
||||||
|
|
||||||
|
// If the count down is finished, write some text
|
||||||
|
if (distance < 0) {
|
||||||
|
clearInterval(x);
|
||||||
|
document.getElementById("demo").innerHTML = "EXPIRED";
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
@@ -440,8 +440,8 @@ h4 {
|
|||||||
}
|
}
|
||||||
.answer_wrapper {
|
.answer_wrapper {
|
||||||
background: linear-gradient(135deg, #f3d9c6, #e8c3a4, #d9a77a);
|
background: linear-gradient(135deg, #f3d9c6, #e8c3a4, #d9a77a);
|
||||||
padding: 60px;
|
padding: 50px;
|
||||||
margin: 0 400px;
|
margin: 0 300px;
|
||||||
border-radius: 25px;
|
border-radius: 25px;
|
||||||
box-shadow: 0 15px 40px rgba(0,0,0,0.08);
|
box-shadow: 0 15px 40px rgba(0,0,0,0.08);
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
@@ -457,8 +457,15 @@ h4 {
|
|||||||
|
|
||||||
.form-info {
|
.form-info {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 1fr 1fr;
|
grid-template-columns: 2fr 1fr 1fr;
|
||||||
gap: 50px;
|
gap: 50px;
|
||||||
|
margin-bottom: 40px;
|
||||||
|
}
|
||||||
|
.form-connect {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form_name {
|
.form_name {
|
||||||
@@ -468,7 +475,18 @@ h4 {
|
|||||||
gap: 20px;
|
gap: 20px;
|
||||||
font-size: 36px;
|
font-size: 36px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
|
justify-content: space-between;
|
||||||
|
width: 500px;
|
||||||
}
|
}
|
||||||
|
label {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
.label_1 {
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.block_title {
|
.block_title {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
@@ -483,6 +501,7 @@ h4 {
|
|||||||
gap: 10px;
|
gap: 10px;
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
font-size: 30px;
|
font-size: 30px;
|
||||||
|
justify-content: start;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="text"] {
|
input[type="text"] {
|
||||||
@@ -501,7 +520,6 @@ input[type="checkbox"] {
|
|||||||
|
|
||||||
.answer_btn {
|
.answer_btn {
|
||||||
grid-column: 1 / -1;
|
grid-column: 1 / -1;
|
||||||
margin-top: 40px;
|
|
||||||
padding: 18px 40px;
|
padding: 18px 40px;
|
||||||
border-radius: 30px;
|
border-radius: 30px;
|
||||||
border: none;
|
border: none;
|
||||||
@@ -527,6 +545,13 @@ input[type="checkbox"] {
|
|||||||
outline: none;
|
outline: none;
|
||||||
font-size: 30px;
|
font-size: 30px;
|
||||||
}
|
}
|
||||||
|
textarea {
|
||||||
|
padding: 0 20px;
|
||||||
|
border-radius: 25px;
|
||||||
|
border: none;
|
||||||
|
background-color: #ffffff;
|
||||||
|
font-size: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
/* -----------------------------FOOTER---------------------------------- */
|
/* -----------------------------FOOTER---------------------------------- */
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user