This commit is contained in:
Valeria Fadeeva 2025-06-18 15:11:48 +05:00
parent 897080d970
commit f0d5c31f50
2 changed files with 299 additions and 424 deletions

179
static/assets/css/style.css Normal file
View File

@ -0,0 +1,179 @@
body {
width: 100%;
height: 100%;
background: linear-gradient(135deg,
rgba(163, 0, 204, 0.5) 0%,
rgba(0, 51, 204, 0.5),
rgba(77, 13, 0, 0.5) 100%);
background-repeat: no-repeat;
background-position: center center;
background-attachment: fixed;
}
.bd-placeholder-img {
font-size: 1.125rem;
text-anchor: middle;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
@media (min-width: 768px) {
.bd-placeholder-img-lg {
font-size: 3.5rem;
}
}
.b-example-divider {
width: 100%;
height: 3rem;
background-color: #0000001a;
border: solid rgba(0, 0, 0, 0.15);
border-width: 1px 0;
box-shadow: inset 0 0.5em 1.5em #0000001a,
inset 0 0.125em 0.5em #00000026;
}
.b-example-vr {
flex-shrink: 0;
width: 1.5rem;
height: 100vh;
}
.bi {
vertical-align: -0.125em;
fill: currentColor;
}
.nav-scroller {
position: relative;
z-index: 2;
height: 2.75rem;
overflow-y: hidden;
}
.nav-scroller .nav {
display: flex;
flex-wrap: nowrap;
padding-bottom: 1rem;
margin-top: -1px;
overflow-x: auto;
text-align: center;
white-space: nowrap;
-webkit-overflow-scrolling: touch;
}
.btn-bd-primary {
--bd-violet-bg: #712cf9;
--bd-violet-rgb: 112.520718, 44.062154, 249.437846;
--bs-btn-font-weight: 600;
--bs-btn-color: var(--bs-white);
--bs-btn-bg: var(--bd-violet-bg);
--bs-btn-border-color: var(--bd-violet-bg);
--bs-btn-hover-color: var(--bs-white);
--bs-btn-hover-bg: #6528e0;
--bs-btn-hover-border-color: #6528e0;
--bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
--bs-btn-active-color: var(--bs-btn-hover-color);
--bs-btn-active-bg: #5a23c8;
--bs-btn-active-border-color: #5a23c8;
}
.bd-mode-toggle {
z-index: 1500;
}
.bd-mode-toggle .bi {
width: 1em;
height: 1em;
}
.bd-mode-toggle .dropdown-menu .active .bi {
display: block !important;
}
.card-min-height {
min-height: 28rem;
}
.center {
text-align: center;
}
.w-100 {
width: 100%;
}
/* Center the loader */
#loader {
position: absolute;
left: 50%;
top: 50%;
z-index: 1;
width: 120px;
height: 120px;
margin: -76px 0 0 -76px;
border: 16px solid #f3f3f3;
border-radius: 50%;
border-top: 16px solid #3498db;
-webkit-animation: spin 2s linear infinite;
animation: spin 2s linear infinite;
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
}
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
/* Add animation to "page content" */
.animate-bottom {
position: relative;
-webkit-animation-name: animatebottom;
-webkit-animation-duration: 1s;
animation-name: animatebottom;
animation-duration: 1s
}
@-webkit-keyframes animatebottom {
from {
bottom: -100px;
opacity: 0
}
to {
bottom: 0px;
opacity: 1
}
}
@keyframes animatebottom {
from {
bottom: -100px;
opacity: 0
}
to {
bottom: 0;
opacity: 1
}
}
#main_content {
display: none;
text-align: center;
}

View File

@ -54,136 +54,20 @@
/>
<link rel="icon" href="/static/assets/img/favicons/favicon.ico" />
<meta name="theme-color" content="#712cf9" />
<!-- <link href="/static/assets/css/pricing.css" rel="stylesheet" /> -->
<link href="/static/assets/css/style.css" rel="stylesheet" />
</head>
<style>
body {
width: 100%;
height: 100%;
background: linear-gradient(
135deg,
rgba(163, 0, 204, 0.5) 0%,
rgba(0, 51, 204, 0.5),
rgba(77, 13, 0, 0.5) 100%
);
background-repeat: no-repeat;
background-position: center center;
background-attachment: fixed;
}
.bd-placeholder-img {
font-size: 1.125rem;
text-anchor: middle;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
@media (min-width: 768px) {
.bd-placeholder-img-lg {
font-size: 3.5rem;
}
}
.b-example-divider {
width: 100%;
height: 3rem;
background-color: #0000001a;
border: solid rgba(0, 0, 0, 0.15);
border-width: 1px 0;
box-shadow: inset 0 0.5em 1.5em #0000001a,
inset 0 0.125em 0.5em #00000026;
}
.b-example-vr {
flex-shrink: 0;
width: 1.5rem;
height: 100vh;
}
.bi {
vertical-align: -0.125em;
fill: currentColor;
}
.nav-scroller {
position: relative;
z-index: 2;
height: 2.75rem;
overflow-y: hidden;
}
.nav-scroller .nav {
display: flex;
flex-wrap: nowrap;
padding-bottom: 1rem;
margin-top: -1px;
overflow-x: auto;
text-align: center;
white-space: nowrap;
-webkit-overflow-scrolling: touch;
}
.btn-bd-primary {
--bd-violet-bg: #712cf9;
--bd-violet-rgb: 112.520718, 44.062154, 249.437846;
--bs-btn-font-weight: 600;
--bs-btn-color: var(--bs-white);
--bs-btn-bg: var(--bd-violet-bg);
--bs-btn-border-color: var(--bd-violet-bg);
--bs-btn-hover-color: var(--bs-white);
--bs-btn-hover-bg: #6528e0;
--bs-btn-hover-border-color: #6528e0;
--bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
--bs-btn-active-color: var(--bs-btn-hover-color);
--bs-btn-active-bg: #5a23c8;
--bs-btn-active-border-color: #5a23c8;
}
.bd-mode-toggle {
z-index: 1500;
}
.bd-mode-toggle .bi {
width: 1em;
height: 1em;
}
.bd-mode-toggle .dropdown-menu .active .bi {
display: block !important;
}
.card-min-height {
min-height: 28rem;
}
.center {
text-align: center;
}
.w-100 {
width: 100%;
}
</style>
<body>
<div id="loader">
</div>
<!-- Modal -->
<div
class="modal fade"
id="AboutMeModal"
tabindex="-1"
aria-labelledby="AboutMeModalLabel"
aria-hidden="true"
>
<div
class="modal-dialog modal-fullscreen modal-dialog-centered modal-dialog-scrollable"
>
<div class="modal fade" id="AboutMeModal" tabindex="-1" aria-labelledby="AboutMeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-fullscreen modal-dialog-centered modal-dialog-scrollable">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="AboutMeModalLabel">Обо мне</h1>
<button
type="button"
class="btn-close"
data-bs-dismiss="modal"
aria-label="Close"
></button>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="mb-3">
@ -434,11 +318,7 @@
</div>
</div>
<div class="modal-footer">
<button
type="button"
class="btn btn-secondary"
data-bs-dismiss="modal"
>
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">
Закрыть
</button>
</div>
@ -447,25 +327,12 @@
</div>
<!-- Modal -->
<div
class="modal fade"
id="TermModal"
tabindex="-1"
aria-labelledby="TermModalLabel"
aria-hidden="true"
>
<div
class="modal-dialog modal-fullscreen modal-dialog-centered modal-dialog-scrollable"
>
<div class="modal fade" id="TermModal" tabindex="-1" aria-labelledby="TermModalLabel" aria-hidden="true">
<div class="modal-dialog modal-fullscreen modal-dialog-centered modal-dialog-scrollable">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="TermModalLabel">О сайте</h1>
<button
type="button"
class="btn-close"
data-bs-dismiss="modal"
aria-label="Close"
></button>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="mb-3">
@ -542,11 +409,7 @@
</div>
</div>
<div class="modal-footer">
<button
type="button"
class="btn btn-secondary"
data-bs-dismiss="modal"
>
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">
Закрыть
</button>
</div>
@ -556,86 +419,37 @@
<!-- Modal -->
<!-- data-bs-backdrop="static" data-bs-keyboard="false" -->
<div
class="modal fade"
id="exampleModal"
tabindex="-1"
aria-labelledby="exampleModalLabel"
aria-hidden="true"
>
<div
class="modal-dialog modal-fullscreen modal-dialog-centered modal-dialog-scrollable"
style="min-height: 100%; height: auto; overflow-y: scroll"
>
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-fullscreen modal-dialog-centered modal-dialog-scrollable"
style="min-height: 100%; height: auto; overflow-y: scroll">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="exampleModalLabel">
Новое сообщение
</h1>
<button
type="button"
class="btn-close"
data-bs-dismiss="modal"
aria-label="Close"
></button>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<form
name="profile_send"
id="profile_send"
action="/datings/add"
method="post"
class="needs-validation"
>
<form name="profile_send" id="profile_send" action="/datings/add" method="post" class="needs-validation">
<div class="modal-body">
<input
type="hidden"
class="form-control"
id="theme_name"
name="theme_name"
pattern="[а-яА-ЯЁёa-zA-Z0-9\s]+"
required
/>
<input type="hidden" class="form-control" id="theme_name" name="theme_name" pattern="[а-яА-ЯЁёa-zA-Z0-9\s]+"
required />
<input
type="hidden"
class="form-control"
id="sender_looking_relationship"
name="sender_looking_relationship"
pattern="[a-z_]+"
required
/>
<input type="hidden" class="form-control" id="sender_looking_relationship" name="sender_looking_relationship"
pattern="[a-z_]+" required />
<input
type="hidden"
class="form-control"
id="sessionkey"
name="sessionkey"
pattern="[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}"
required
/>
<input type="hidden" class="form-control" id="sessionkey" name="sessionkey"
pattern="[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}" required />
<div class="row">
<div class="form-floating mb-3 col">
<input
type="text"
class="form-control"
id="sender_name"
name="sender_name"
pattern="[а-яА-ЯЁёa-zA-Z\s]+"
required
/>
<input type="text" class="form-control" id="sender_name" name="sender_name" pattern="[а-яА-ЯЁёa-zA-Z\s]+"
required />
<label for="sender_name">Имя:</label>
<small>Русские, английские буквы и пробел</small>
</div>
<div class="form-floating mb-3 col">
<select
id="sender_sex"
name="sender_sex"
class="form-control"
pattern="[a-z]+"
required
>
<select id="sender_sex" name="sender_sex" class="form-control" pattern="[a-z]+" required>
<option value="" selected disabled></option>
<option value="male">Мужской</option>
<option value="female">Женский</option>
@ -645,43 +459,21 @@
</div>
<div class="form-floating mb-3 col">
<input
type="number"
class="form-control"
id="sender_age"
name="sender_age"
min="0"
max="100"
value="0"
step="1"
pattern="[0-9]+"
required
/>
<input type="number" class="form-control" id="sender_age" name="sender_age" min="0" max="100" value="0"
step="1" pattern="[0-9]+" required />
<label for="sender_age">Возраст:</label>
</div>
<div class="form-floating mb-3 col">
<input
type="text"
class="form-control"
id="sender_city"
name="sender_city"
pattern="[а-яА-ЯЁёa-zA-Z0-9\-\s]+"
required
/>
<input type="text" class="form-control" id="sender_city" name="sender_city"
pattern="[а-яА-ЯЁёa-zA-Z0-9\-\s]+" required />
<label for="sender_city">Город:</label>
<small>Русские, английские буквы, цифры, тире и пробел</small>
</div>
<div class="form-floating mb-3 col">
<input
type="text"
class="form-control"
id="telegram_name"
name="telegram_name"
pattern="[a-zA-Z0-9\-_]+"
required
/>
<input type="text" class="form-control" id="telegram_name" name="telegram_name" pattern="[a-zA-Z0-9\-_]+"
required />
<label for="telegram_name">Telegram:</label>
<small>Английские буквы, цифры, тире, подчёркивание</small>
</div>
@ -689,13 +481,8 @@
<div class="row">
<div class="form-floating mb-3 col">
<select
id="sender_relationship"
name="sender_relationship"
class="form-control"
pattern="[a-z_]+"
required
>
<select id="sender_relationship" name="sender_relationship" class="form-control" pattern="[a-z_]+"
required>
<option value="" selected disabled></option>
<option value="single">Один/одна</option>
<option value="married">Состою в браке</option>
@ -710,13 +497,7 @@
</div>
<div class="form-floating mb-3 col">
<select
id="sender_having_kids"
name="sender_having_kids"
class="form-control"
pattern="[a-z]+"
required
>
<select id="sender_having_kids" name="sender_having_kids" class="form-control" pattern="[a-z]+" required>
<option value="" selected disabled></option>
<option value="no">Нет</option>
<option value="yes">Есть</option>
@ -759,199 +540,101 @@
</div> -->
<div class="form-floating mb-3 col">
<select
id="sender_want_to_have_kids"
name="sender_want_to_have_kids"
class="form-control"
pattern="[a-z]+"
required
>
<select id="sender_want_to_have_kids" name="sender_want_to_have_kids" class="form-control"
pattern="[a-z]+" required>
<option value="" selected disabled></option>
<option value="yes">Да</option>
<option value="maybe">Возможно</option>
<option value="no">Нет</option>
</select>
<label for="sender_want_to_have_kids"
>Хочешь иметь детей?:</label
>
<label for="sender_want_to_have_kids">Хочешь иметь детей?:</label>
</div>
</div>
<div class="row">
<div class="form-floating mb-3 col">
<textarea
type="text"
class="form-control"
style="height: 10rem"
id="interests_in_school_university"
name="interests_in_school_university"
pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+"
required
></textarea>
<label for="interests_in_school_university"
>Интересы в школе, вузе:</label
>
<textarea type="text" class="form-control" style="height: 10rem" id="interests_in_school_university"
name="interests_in_school_university" pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+" required></textarea>
<label for="interests_in_school_university">Интересы в школе, вузе:</label>
</div>
<div class="form-floating mb-3 col">
<textarea
type="text"
class="form-control"
style="height: 10rem"
id="interests_in_sports"
name="interests_in_sports"
pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+"
required
></textarea>
<textarea type="text" class="form-control" style="height: 10rem" id="interests_in_sports"
name="interests_in_sports" pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+" required></textarea>
<label for="interests_in_sports">Интересы в спорте:</label>
</div>
</div>
<div class="row">
<div class="form-floating mb-3 col">
<textarea
type="text"
class="form-control"
style="height: 10rem"
id="interests_in_work"
name="interests_in_work"
pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+"
required
></textarea>
<textarea type="text" class="form-control" style="height: 10rem" id="interests_in_work"
name="interests_in_work" pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+" required></textarea>
<label for="interests_in_work">Интересы в работе:</label>
</div>
<div class="form-floating mb-3 col">
<textarea
type="text"
class="form-control"
style="height: 10rem"
id="interests_in_your_free_time"
name="interests_in_your_free_time"
pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+"
required
></textarea>
<label for="interests_in_your_free_time"
>Интересы в свободное время:</label
>
<textarea type="text" class="form-control" style="height: 10rem" id="interests_in_your_free_time"
name="interests_in_your_free_time" pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+" required></textarea>
<label for="interests_in_your_free_time">Интересы в свободное время:</label>
</div>
</div>
<div class="row">
<div class="form-floating mb-3 col">
<textarea
type="text"
class="form-control"
style="height: 10rem"
id="pets_plants_fish"
name="pets_plants_fish"
pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+"
required
></textarea>
<label for="pets_plants_fish"
>Домашние животные, растения, рыбки:</label
>
<textarea type="text" class="form-control" style="height: 10rem" id="pets_plants_fish"
name="pets_plants_fish" pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+" required></textarea>
<label for="pets_plants_fish">Домашние животные, растения, рыбки:</label>
</div>
<div class="form-floating mb-3 col">
<textarea
type="text"
class="form-control"
style="height: 10rem"
id="relationships_with_relatives_and_friends"
name="relationships_with_relatives_and_friends"
pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+"
required
></textarea>
<label for="relationships_with_relatives_and_friends"
>Отношения с родственниками и друзьями:</label
>
<textarea type="text" class="form-control" style="height: 10rem"
id="relationships_with_relatives_and_friends" name="relationships_with_relatives_and_friends"
pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+" required></textarea>
<label for="relationships_with_relatives_and_friends">Отношения с родственниками и друзьями:</label>
</div>
</div>
<div class="row">
<div class="form-floating mb-3 col">
<textarea
type="text"
class="form-control"
style="height: 10rem"
id="past_relationships"
name="past_relationships"
pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+"
required
></textarea>
<textarea type="text" class="form-control" style="height: 10rem" id="past_relationships"
name="past_relationships" pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+" required></textarea>
<label for="past_relationships">Прошлые отношения:</label>
</div>
<div class="form-floating mb-3 col">
<textarea
type="text"
class="form-control"
style="height: 10rem"
id="life_principles_values"
name="life_principles_values"
pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+"
required
></textarea>
<label for="life_principles_values"
>Жизненные принципы, ценности:</label
>
<textarea type="text" class="form-control" style="height: 10rem" id="life_principles_values"
name="life_principles_values" pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+" required></textarea>
<label for="life_principles_values">Жизненные принципы, ценности:</label>
</div>
</div>
<div class="row">
<div class="form-floating mb-3 col">
<textarea
type="text"
class="form-control"
style="height: 10rem"
id="goals_in_life"
name="goals_in_life"
pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+"
required
></textarea>
<textarea type="text" class="form-control" style="height: 10rem" id="goals_in_life" name="goals_in_life"
pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+" required></textarea>
<label for="goals_in_life">Цели в жизни:</label>
</div>
<div class="form-floating mb-3 col">
<textarea
class="form-control"
id="message_text"
style="height: 10rem"
name="message_text"
pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+"
required
></textarea>
<textarea class="form-control" id="message_text" style="height: 10rem" name="message_text"
pattern="[а-яА-ЯЁёa-zA-Z0-9\-\.,!\?\s]+" required></textarea>
<label for="message_text">Сообщение:</label>
</div>
</div>
<div class="mb-3" id="offer_block">
<mark
><output id="offer" name="offer" class="center w-100"></output
></mark>
<mark><output id="offer" name="offer" class="center w-100"></output></mark>
</div>
<div class="mb-3">
<input
type="checkbox"
class="btn-check"
id="privacy_accept"
name="privacy_accept"
required
autocomplete="off"
/>
<label class="btn btn-outline-primary" for="privacy_accept"
>Даю согласие на обработку персональных данных</label
>
<input type="checkbox" class="btn-check" id="privacy_accept" name="privacy_accept" required
autocomplete="off" />
<label class="btn btn-outline-primary" for="privacy_accept">Даю согласие на обработку персональных
данных</label>
</div>
<!-- <small style="color: var(--bs-warning-text-emphasis);">Допускаются только буквы русского и английского алфавита, и цифры</small> -->
</div>
<div class="modal-footer">
<div class="btn-group" role="group">
<button
type="button"
class="btn btn-outline-primary"
data-bs-dismiss="modal"
>
<button type="button" class="btn btn-outline-primary" data-bs-dismiss="modal">
Закрыть
</button>
<button type="reset" class="btn btn-outline-primary">
@ -966,9 +649,9 @@
</div>
</div>
</div>
</head>
<!-- Modal END -->
<body>
<svg xmlns="http://www.w3.org/2000/svg" class="d-none">
<symbol id="check2" viewBox="0 0 16 16">
<path
@ -1075,7 +758,7 @@
></path>
</symbol>
</svg>
<div class="container py-3">
<div class="container py-3" id="main_content">
<header>
<div
class="d-flex flex-column flex-md-row align-items-center pb-3 mb-4 border-bottom"
@ -2155,6 +1838,19 @@
.querySelector("form[name='profile_send']")
.addEventListener("submit", handleFormSubmit);
});
function showPage() {
document.getElementById("loader").style.display = "none";
document.getElementById("main_content").style.display = "block";
}
let showPage_var;
function ready() {
showPage_var = setTimeout(showPage, 1000);
}
document.addEventListener("DOMContentLoaded", ready);
</script>
</body>
</html>