w/raw pre-uploader
This commit is contained in:
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
* text=auto eol=lf
|
||||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -3,7 +3,7 @@
|
|||||||
__pycache__/
|
__pycache__/
|
||||||
*.py[cod]
|
*.py[cod]
|
||||||
*$py.class
|
*$py.class
|
||||||
|
errLogger.txt
|
||||||
# C extensions
|
# C extensions
|
||||||
*.so
|
*.so
|
||||||
|
|
||||||
|
|||||||
6
.prettierrc.json
Normal file
6
.prettierrc.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://json.schemastore.org/prettierrc",
|
||||||
|
"semi": false,
|
||||||
|
"singleQuote": true,
|
||||||
|
"printWidth": 100
|
||||||
|
}
|
||||||
6
.vscode/extensions.json
vendored
Normal file
6
.vscode/extensions.json
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"recommendations": [
|
||||||
|
"Vue.volar",
|
||||||
|
"esbenp.prettier-vscode"
|
||||||
|
]
|
||||||
|
}
|
||||||
10
.vscode/settings.json
vendored
Normal file
10
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"explorer.fileNesting.enabled": true,
|
||||||
|
"explorer.fileNesting.patterns": {
|
||||||
|
"tsconfig.json": "tsconfig.*.json, env.d.ts",
|
||||||
|
"vite.config.*": "jsconfig*, vitest.config.*, cypress.config.*, playwright.config.*",
|
||||||
|
"package.json": "package-lock.json, pnpm*, .yarnrc*, yarn*, .eslint*, eslint*, .oxlint*, oxlint*, .prettier*, prettier*, .editorconfig"
|
||||||
|
},
|
||||||
|
"editor.formatOnSave": true,
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
}
|
||||||
100
app.py
100
app.py
@@ -1,26 +1,98 @@
|
|||||||
from flask import Flask, render_template, request
|
from flask import Flask, render_template, request, jsonify
|
||||||
|
import datetime
|
||||||
|
import time
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
|
|
||||||
|
# хэндлеры ошибок
|
||||||
|
|
||||||
|
def file_logger(err_code, time, ifRequest):
|
||||||
|
with open('errLogger.txt', 'a') as r:
|
||||||
|
if err_code != 0:
|
||||||
|
r.write(f"Error {time} {err_code}\n")
|
||||||
|
else:
|
||||||
|
r.write(f"{time} {ifRequest}\n")
|
||||||
|
r.close()
|
||||||
|
|
||||||
|
|
||||||
|
@app.errorhandler(404)
|
||||||
|
def page_not_found(error):
|
||||||
|
'''handle 404'''
|
||||||
|
file_logger(error, datetime.datetime.now(), 'not a request')
|
||||||
|
return render_template('404.html'), 404
|
||||||
|
|
||||||
|
|
||||||
|
@app.errorhandler(500)
|
||||||
|
def internal_error(error):
|
||||||
|
'''handle 500'''
|
||||||
|
file_logger(error, datetime.datetime.now(), 'not a request')
|
||||||
|
return render_template('500.html'), 500
|
||||||
|
|
||||||
|
|
||||||
|
@app.errorhandler(429)
|
||||||
|
def request_timeout_error(error):
|
||||||
|
'''handle 429'''
|
||||||
|
file_logger(error, datetime.datetime.now(), 'not a request')
|
||||||
|
return render_template('408.html'), 429
|
||||||
|
|
||||||
|
|
||||||
|
@app.errorhandler(408)
|
||||||
|
def request_timeout_error(error):
|
||||||
|
'''handle 408'''
|
||||||
|
file_logger(error, datetime.datetime.now(), 'not a request')
|
||||||
|
return render_template('408.html'), 429
|
||||||
|
|
||||||
|
|
||||||
|
@app.errorhandler(Exception)
|
||||||
|
def internal_error(error):
|
||||||
|
'''handle unmatched'''
|
||||||
|
file_logger(error, datetime.datetime.now(), 'not a request')
|
||||||
|
return render_template('500.html'), 500
|
||||||
|
|
||||||
|
# основные маршруты
|
||||||
|
|
||||||
@app.route("/")
|
@app.route("/")
|
||||||
def ind():
|
def ind():
|
||||||
return render_template('index.html')
|
return render_template('zayavka.html')
|
||||||
|
|
||||||
|
|
||||||
@app.route("/process", methods=['GET', 'POST'])
|
@app.route("/process", methods=['GET', 'POST'])
|
||||||
def prcs():
|
def prcs():
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
tel = request.form['tel']
|
try:
|
||||||
tg = request.form['tg']
|
data22 = request.get_json()
|
||||||
i = request.form.get('radio12')
|
print(data22)
|
||||||
if i == 'link':
|
except Exception as e:
|
||||||
urlOrText = request.form.get('linkI')
|
print(f"Error: {e}.")
|
||||||
elif i == 'text':
|
return render_template('zayavka.html')
|
||||||
urlOrText = request.form.get('textI')
|
|
||||||
else:
|
|
||||||
urlOrText = '0'
|
@app.route("/sucseed")
|
||||||
print(tel, tg, urlOrText)
|
def s():
|
||||||
return render_template('index.html')
|
try:
|
||||||
|
data223 = request.get_json()
|
||||||
|
print(data223)
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error: {e}.")
|
||||||
|
return render_template("end.html")
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/OK")
|
||||||
|
def ok():
|
||||||
|
return render_template("ok.html")
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/sendedData", methods=['POST'])
|
||||||
|
def answer():
|
||||||
|
try:
|
||||||
|
data223 = request.get_json()
|
||||||
|
print(data223)
|
||||||
|
time.sleep(3)
|
||||||
|
return jsonify({"status": "sucsess"})
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error: {e}")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
app.run(debug=True)
|
app.run(debug=True, port=4321)
|
||||||
57
index.html
Normal file
57
index.html
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<link rel="icon" href="/favicon.ico">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Vite App</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="app"></div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="wrapper">
|
||||||
|
<header class="header"></header>
|
||||||
|
|
||||||
|
<main class="main">
|
||||||
|
<div class="main-inner">
|
||||||
|
<form action="" method="post">
|
||||||
|
<label for="name">Имя</label>
|
||||||
|
<input type="text" name="name" id="name">
|
||||||
|
|
||||||
|
<label for="surname">Фамилия</label>
|
||||||
|
<input type="text" name="surname" id="surname">
|
||||||
|
|
||||||
|
<label for="otchestvo">Отчество</label>
|
||||||
|
<input type="text" name="otchestvo" id="otchestvo">
|
||||||
|
|
||||||
|
<label for="tel">Телефон</label>
|
||||||
|
<input type="tel" name="tel" id="tel">
|
||||||
|
|
||||||
|
<label for="email">Почта</label>
|
||||||
|
<input type="email" name="email" id="email">
|
||||||
|
|
||||||
|
<label for="inptGrp">Тип обращения</label>
|
||||||
|
<div class="inptGrp">
|
||||||
|
<label for="radio">Вставить ссылку на TaoBao</label>
|
||||||
|
<input type="radio" name="radio" id="radio1">
|
||||||
|
|
||||||
|
<label for="radio">Описать необходимый товар</label>
|
||||||
|
<input type="radio" name="radio" id="radio2">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="module" src="/src/main.ts"></script>
|
||||||
|
<script type="module" src="/src/case.js"></script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
1700
package-lock.json
generated
Normal file
1700
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
15
package.json
Normal file
15
package.json
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"dependencies": {
|
||||||
|
"dotenv": "^17.2.3",
|
||||||
|
"envy": "^3.0.0",
|
||||||
|
"fs": "^0.0.1-security",
|
||||||
|
"require": "^0.4.4"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"webpack": "^5.103.0",
|
||||||
|
"webpack-cli": "^6.0.1"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"build": "webpack"
|
||||||
|
}
|
||||||
|
}
|
||||||
2
requirement.txt
Normal file
2
requirement.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
flask
|
||||||
|
pip
|
||||||
755
static/css/ZayavkaStyle.css
Normal file
755
static/css/ZayavkaStyle.css
Normal file
@@ -0,0 +1,755 @@
|
|||||||
|
*{
|
||||||
|
/* margin: 0; */
|
||||||
|
padding: 0;
|
||||||
|
background-color: var(--baseBlue);
|
||||||
|
}
|
||||||
|
|
||||||
|
body{
|
||||||
|
z-index: -10;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* */
|
||||||
|
/* */
|
||||||
|
|
||||||
|
/* */
|
||||||
|
input{
|
||||||
|
padding: 1% 1%;
|
||||||
|
}
|
||||||
|
|
||||||
|
a, h1, h2, h3, h4, h5, h6, label{
|
||||||
|
text-decoration: none;
|
||||||
|
color: inherit;
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
label{
|
||||||
|
padding: 0 0 1% 2%;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
li{
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex{
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
:root{
|
||||||
|
--baseBlue: #242430;
|
||||||
|
--blue: #4D54BA;
|
||||||
|
--lightBlue: #54AAFF;
|
||||||
|
--white: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.baseBlue{
|
||||||
|
color: var(--baseBlue);
|
||||||
|
}
|
||||||
|
|
||||||
|
.blue{
|
||||||
|
color: var(--blue);
|
||||||
|
}
|
||||||
|
|
||||||
|
.white{
|
||||||
|
color: var(--white);
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightBlue{
|
||||||
|
color: var(--lightBlue);
|
||||||
|
}
|
||||||
|
|
||||||
|
.container{
|
||||||
|
padding: 0 10%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.arial-regular{
|
||||||
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
.arial-bald{
|
||||||
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.f14{
|
||||||
|
/* font-size: 14px; */
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.colms{
|
||||||
|
flex-direction: column;
|
||||||
|
margin: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.between{
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.w100{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- */
|
||||||
|
|
||||||
|
|
||||||
|
.header-inner{
|
||||||
|
margin: 1.5% 0 0;
|
||||||
|
padding: 0 14%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.headerLi{
|
||||||
|
margin: 0% 1% 1%;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* ----------- main ----------- */
|
||||||
|
.main{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inputText{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inputLink{
|
||||||
|
display: none;
|
||||||
|
margin-bottom: 3%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form1{
|
||||||
|
flex-direction: column;
|
||||||
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.radio1Div{
|
||||||
|
flex-direction: row;
|
||||||
|
margin: 0 !important;
|
||||||
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tel, #tg{
|
||||||
|
overflow-wrap: break-word;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-left: 3%;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.inputZ{
|
||||||
|
border-style: solid;
|
||||||
|
border-color: var(--blue);
|
||||||
|
}
|
||||||
|
|
||||||
|
.zayavkaH1{
|
||||||
|
font-size: 34px;
|
||||||
|
padding: 2% 0 4%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input1Width{
|
||||||
|
width: 100%;
|
||||||
|
min-height: 25px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 2.5% 2.5% 2.5% 3%;
|
||||||
|
color: var(--white);
|
||||||
|
border-radius: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.w1{
|
||||||
|
/* align-content: flex-start;
|
||||||
|
*/ display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input1Width:focus, .inpt2:focus{
|
||||||
|
border-color: var(--lightBlue);
|
||||||
|
outline: var(--lightBlue);
|
||||||
|
color: var(--white);
|
||||||
|
padding-left: 2%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inpt2{
|
||||||
|
color: var(--white);
|
||||||
|
}
|
||||||
|
|
||||||
|
.e1{
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
width: 70%;
|
||||||
|
text-align: start;
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0 0 2%;
|
||||||
|
align-items: center;
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#email{
|
||||||
|
margin-top: 5%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#hide2{
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
position: relative;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tgHover, #bt {
|
||||||
|
min-height: 70px;
|
||||||
|
border: var(--lightBlue) solid 2px;
|
||||||
|
text-align: center;
|
||||||
|
box-sizing: border-box;
|
||||||
|
color: var(--white);
|
||||||
|
width: 23vw;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
overflow: hidden;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
border-radius: 17px;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tgHover:after, #bt:after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
height: 100%;
|
||||||
|
width: 0; /* Начинаем с нулевой ширины */
|
||||||
|
background-color: var(--lightBlue);
|
||||||
|
transition: width 0.3s ease; /* Анимируем именно ширину */
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tgHover:hover:after, #bt:hover:after {
|
||||||
|
width: 100%; /* Расширяем до конца */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.e2{
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
width: 70%;
|
||||||
|
margin: 0 !important;
|
||||||
|
text-align: start;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
#or{
|
||||||
|
padding: 0;
|
||||||
|
margin: 0 0 1.5%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ent{
|
||||||
|
width: 23vw;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.e3{
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
width: 70%;
|
||||||
|
margin: 0 !important;
|
||||||
|
text-align: start;
|
||||||
|
float: left;
|
||||||
|
padding: 0 0 1%;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="radio"] {
|
||||||
|
accent-color: var(--blue);
|
||||||
|
margin: 0 2% 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tel{
|
||||||
|
width: 20vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
select option{
|
||||||
|
padding: 0 !important;
|
||||||
|
margin: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
select{
|
||||||
|
padding: 0 !important;
|
||||||
|
margin: 0 !important;
|
||||||
|
/* border: #4D54BA; */
|
||||||
|
border-top: 2px solid #4D54BA;
|
||||||
|
border-bottom: 2px solid #4D54BA;
|
||||||
|
border-left: 2px solid #4D54BA;
|
||||||
|
border-right: none;
|
||||||
|
color: var(--white);
|
||||||
|
min-height: 26px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
#telind{
|
||||||
|
width: 3vw;
|
||||||
|
min-height: 25px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#l1{
|
||||||
|
padding-left: 1%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#linkTao{
|
||||||
|
width: 100%;
|
||||||
|
min-height: 25px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-left: 1.2%;
|
||||||
|
border-radius: 13px;
|
||||||
|
|
||||||
|
/* margin: 0 0 3%; */
|
||||||
|
}
|
||||||
|
|
||||||
|
#linkItem{
|
||||||
|
width: 100%;
|
||||||
|
overflow-wrap: break-word;
|
||||||
|
box-sizing: border-box;
|
||||||
|
min-height: 185px;
|
||||||
|
padding: 2% 1.3%;
|
||||||
|
margin-top: 1%;
|
||||||
|
|
||||||
|
border-radius: 15px;
|
||||||
|
|
||||||
|
/* display: none; */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .btn{
|
||||||
|
padding: 0.8% 2%;
|
||||||
|
border-radius: 5px;
|
||||||
|
border-color: var(--lightBlue);
|
||||||
|
color: var(--white);
|
||||||
|
margin: 2% 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn:hover{
|
||||||
|
background-color: var(--lightBlue);
|
||||||
|
color: var(--baseBlue);
|
||||||
|
transition: .7s;
|
||||||
|
} */
|
||||||
|
|
||||||
|
.ptg{
|
||||||
|
margin: 0 0 2px 2%;
|
||||||
|
margin-bottom: 2px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#linkUnderneath, #linkUnderneath1{
|
||||||
|
padding: 0;
|
||||||
|
margin: 7px 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.under{
|
||||||
|
margin: 0;
|
||||||
|
padding: 2% 0 0 0;
|
||||||
|
color: var(--lightBlue);
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ----------- footer ------------- */
|
||||||
|
.notiInnner{
|
||||||
|
display: flex;
|
||||||
|
background-color: var(--blue);
|
||||||
|
text-align: center;
|
||||||
|
justify-content: center;
|
||||||
|
border: var(--white) solid 1px;
|
||||||
|
border-radius: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footerP, .footerA{
|
||||||
|
background-color: var(--blue);
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footerP{
|
||||||
|
padding: 0 2%;
|
||||||
|
color: var(--white);
|
||||||
|
}
|
||||||
|
|
||||||
|
.footerA{
|
||||||
|
color: #a9d4ff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer{
|
||||||
|
text-align: center;
|
||||||
|
margin: 3% 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------- @media ---------------------------------- */
|
||||||
|
|
||||||
|
/* Small Mobile: 320px - 425px (for older or compact smartphones)*/
|
||||||
|
/* Modern Mobile: 375px - 575px (for modern smartphones)*/
|
||||||
|
/* Landscape Phones / Small Tablets: 576px - 767px*/
|
||||||
|
/* Tablets (Portrait): 768px - 991px*/
|
||||||
|
/* Laptops / Small Desktops: 992px - 1199px*/
|
||||||
|
/* Desktops: 1200px - 1400px (or higher)*/
|
||||||
|
/* Large Desktops / High-Resolution Screens: 1401px and above */
|
||||||
|
|
||||||
|
@media (min-width: 1921px) {
|
||||||
|
.container{
|
||||||
|
padding: 0 calc(100%/4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.input1Width, #tel {
|
||||||
|
width: 15vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tgHover, #bt{
|
||||||
|
width: 16vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ent p{
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ent{
|
||||||
|
width: 43%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 1400px) and (min-width: 1200px) {
|
||||||
|
.container{
|
||||||
|
padding: 0 6%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .input1Width {
|
||||||
|
width: 15vw;
|
||||||
|
} */
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 1199px) and (min-width: 992px) {
|
||||||
|
.container{
|
||||||
|
padding: 0 7%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .input1Width {
|
||||||
|
width: 15vw;
|
||||||
|
} */
|
||||||
|
|
||||||
|
.f14{
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 991px) and (min-width: 768px) {
|
||||||
|
|
||||||
|
input::placeholder, textarea::placeholder {
|
||||||
|
font-size:10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container{
|
||||||
|
padding: 0 7%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input1Width, #inputLink {
|
||||||
|
min-height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zayavkaH1{
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tgHover, #bt{
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inputZ, .f14, .footerP, .footerA {
|
||||||
|
font-size: 10.5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@media (max-width: 767px) and (min-width: 576px) {
|
||||||
|
|
||||||
|
input::placeholder, textarea::placeholder {
|
||||||
|
font-size: 9px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container{
|
||||||
|
padding: 0 7%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input1Width, #inputLink {
|
||||||
|
min-height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tgHover, #bt{
|
||||||
|
font-size: 10px;
|
||||||
|
min-height: 55px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zayavkaH1{
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inputZ, .f14, .footerP, .footerA {
|
||||||
|
font-size: 9.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logoIMG{
|
||||||
|
max-width: 75%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#linkItem{
|
||||||
|
min-height: 200px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 575px) and (min-width: 426px) {
|
||||||
|
*{
|
||||||
|
padding: 0;
|
||||||
|
background-color: var(--baseBlue);
|
||||||
|
margin: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
input::placeholder, textarea::placeholder {
|
||||||
|
font-size: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container, .cont{
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.e1 {
|
||||||
|
flex-direction: column;
|
||||||
|
text-align: start;
|
||||||
|
margin: 5% 0 0 0;
|
||||||
|
padding: 0 0 4%;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input1Width, #inputLink {
|
||||||
|
min-height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tgHover, #bt{
|
||||||
|
font-size: 14px;
|
||||||
|
width: 100%;
|
||||||
|
min-height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input1Width {
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-left: 3%;
|
||||||
|
color: var(--white);
|
||||||
|
}
|
||||||
|
|
||||||
|
.colms, .input1Width{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zayavkaH1{
|
||||||
|
font-size: 1.3em;
|
||||||
|
padding: 4% 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inputZ, .f14, .footerP, .footerA {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inputZ{
|
||||||
|
margin: 0 0 1%;
|
||||||
|
padding: 1% 0 0.5% 2%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logoIMG{
|
||||||
|
max-width: 70%;
|
||||||
|
height: auto;
|
||||||
|
margin: 6% 0 4% -21%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#linkItem{
|
||||||
|
min-height: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#linkTao{
|
||||||
|
min-height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tel {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.e3 {
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0 0 3%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.v{
|
||||||
|
margin-bottom: 2% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forDown{
|
||||||
|
margin-bottom: 3%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#email{
|
||||||
|
margin-top: 3%;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="radio"] {
|
||||||
|
margin: 0 2% 2% 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn{
|
||||||
|
padding: 2%;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.e1, .e2 {
|
||||||
|
width: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer{
|
||||||
|
margin: 5% 1%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footerP{
|
||||||
|
padding: 0.5%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bt{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cont{
|
||||||
|
width: 80%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 426px) and (min-width: 350px) {
|
||||||
|
.container{
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tgHover, #bt{
|
||||||
|
font-size: 12px;
|
||||||
|
width: 100%;
|
||||||
|
min-height: 42px;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zayavkaH1 {
|
||||||
|
font-size: 19px;
|
||||||
|
padding: 7% 0 8%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.e1 {
|
||||||
|
flex-direction: column;
|
||||||
|
width: 70%;
|
||||||
|
text-align: start;
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0 0 4%;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input1Width, #inputLink {
|
||||||
|
min-height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input1Width {
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-left: 3%;
|
||||||
|
color: var(--white);
|
||||||
|
}
|
||||||
|
|
||||||
|
.colms, .input1Width{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inputZ, .f14, .footerP, .footerA {
|
||||||
|
font-size: 14px;
|
||||||
|
/* padding: 0 0 3%; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.inputZ{
|
||||||
|
margin: 0 0 5%;
|
||||||
|
padding: 1% 0 0.5% 2%;
|
||||||
|
margin-bottom: 3%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tel{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logoIMG{
|
||||||
|
max-width: 75%;
|
||||||
|
height: auto;
|
||||||
|
margin: 6% 0 0 -21%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#linkItem{
|
||||||
|
min-height: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#linkTao{
|
||||||
|
min-height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.e3 {
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0 0 3%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.v{
|
||||||
|
margin-bottom: 2% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="radio"] {
|
||||||
|
margin: 0 2% 2% 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn{
|
||||||
|
padding: 2%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.e1, .e2 {
|
||||||
|
width: 85%;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer{
|
||||||
|
margin: 8% 1%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footerP{
|
||||||
|
padding: 1% 2%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bt{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tgHover a{
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cont{
|
||||||
|
width: 86%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.forDown{
|
||||||
|
margin: 0 0 3%;
|
||||||
|
}
|
||||||
|
#email{
|
||||||
|
margin-top: 3%;
|
||||||
|
}
|
||||||
|
}
|
||||||
182
static/css/baseCSS.css
Normal file
182
static/css/baseCSS.css
Normal file
@@ -0,0 +1,182 @@
|
|||||||
|
*{
|
||||||
|
/* margin: 0; */
|
||||||
|
padding: 0;
|
||||||
|
background-color: var(--baseBlue);
|
||||||
|
}
|
||||||
|
|
||||||
|
a, h1, h2, h3, h4, h5, h6, label, p{
|
||||||
|
text-decoration: none;
|
||||||
|
color: inherit;
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
label{
|
||||||
|
padding: 0 0 1% 2%;
|
||||||
|
}
|
||||||
|
|
||||||
|
li{
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex{
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
:root{
|
||||||
|
--baseBlue: #242430;
|
||||||
|
--blue: #4D54BA;
|
||||||
|
--lightBlue: #54AAFF;
|
||||||
|
--white: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.baseBlue{
|
||||||
|
color: var(--baseBlue);
|
||||||
|
}
|
||||||
|
|
||||||
|
.blue{
|
||||||
|
color: var(--blue);
|
||||||
|
}
|
||||||
|
|
||||||
|
.white{
|
||||||
|
color: var(--white);
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightBlue{
|
||||||
|
color: var(--lightBlue);
|
||||||
|
}
|
||||||
|
|
||||||
|
.container{
|
||||||
|
padding: 0 7%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.arial-regular{
|
||||||
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
.arial-bald{
|
||||||
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.f14{
|
||||||
|
/* font-size: 14px; */
|
||||||
|
font-size: 0.9rem;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.f16{
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.colms{
|
||||||
|
flex-direction: column;
|
||||||
|
margin: 0 !important
|
||||||
|
}
|
||||||
|
|
||||||
|
.between{
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.w100{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.w1-5
|
||||||
|
{
|
||||||
|
width: 20%;
|
||||||
|
}
|
||||||
|
/* ---------------------- footer ----------------------- */
|
||||||
|
.footer-inner{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right{
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footerLI{
|
||||||
|
padding: 9% 2% 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* -------------------- header ----------------------*/
|
||||||
|
.pokazateli{
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
font-size: 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-inner{
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select{
|
||||||
|
max-width: 8vw;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-1{
|
||||||
|
width: 9%;
|
||||||
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-2{
|
||||||
|
width: 35%;
|
||||||
|
justify-content: space-between !important;
|
||||||
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.headerUL{
|
||||||
|
justify-content: space-between !important;
|
||||||
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
border: none;
|
||||||
|
width: 35%;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-3{
|
||||||
|
width: 30%;
|
||||||
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#search-inpt{
|
||||||
|
border-radius: 30px;
|
||||||
|
border-color: var(--blue);
|
||||||
|
min-width: 22vw;
|
||||||
|
min-height: 2vw;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-left: 3%;
|
||||||
|
border-style: solid;
|
||||||
|
background-color: var(--backBlue);
|
||||||
|
color: var(--white);
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-4{
|
||||||
|
width: 7%;
|
||||||
|
justify-content: space-around;
|
||||||
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
color: var(--lightBlue);
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-5{
|
||||||
|
width: 10%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login{
|
||||||
|
background-color: var(--blue);
|
||||||
|
border: var(--blue) solid 1px;
|
||||||
|
padding: 6% 20%;
|
||||||
|
}
|
||||||
|
|
||||||
|
option{
|
||||||
|
font-size: 14px !important;
|
||||||
|
}
|
||||||
120
static/css/errorPages.css
Normal file
120
static/css/errorPages.css
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
*{
|
||||||
|
padding: 0;
|
||||||
|
background-color: var(--baseBlue);
|
||||||
|
}
|
||||||
|
|
||||||
|
a, h1, h2, h3, h4, h5, h6, label{
|
||||||
|
text-decoration: none;
|
||||||
|
color: inherit;
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex{
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
:root{
|
||||||
|
--baseBlue: #242430;
|
||||||
|
--blue: #4D54BA;
|
||||||
|
--lightBlue: #54AAFF;
|
||||||
|
--white: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wrapper{
|
||||||
|
min-height: 80vh;
|
||||||
|
|
||||||
|
justify-content: center;
|
||||||
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
justify-self: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.baseBlue{
|
||||||
|
color: var(--baseBlue);
|
||||||
|
}
|
||||||
|
|
||||||
|
.blue{
|
||||||
|
color: var(--blue);
|
||||||
|
}
|
||||||
|
|
||||||
|
.white{
|
||||||
|
color: var(--white);
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightBlue{
|
||||||
|
color: var(--lightBlue);
|
||||||
|
}
|
||||||
|
|
||||||
|
.container{
|
||||||
|
padding: 0 7%;
|
||||||
|
|
||||||
|
justify-content: center;
|
||||||
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
justify-self: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.arial-regular{
|
||||||
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
.arial-bald{
|
||||||
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.f14{
|
||||||
|
/* font-size: 14px; */
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.column{
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------------------------ ---------------------- ------------------------------ */
|
||||||
|
.fontCenter{
|
||||||
|
justify-content: center;
|
||||||
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
justify-self: center;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 160px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fontCenter1{
|
||||||
|
justify-content: center;
|
||||||
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
justify-self: center;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 39px;
|
||||||
|
padding: 0 0 4%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text{
|
||||||
|
width: 50%;
|
||||||
|
justify-content: center;
|
||||||
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
justify-self: center;
|
||||||
|
align-items: center;
|
||||||
|
/* margin-top: 12vw; */
|
||||||
|
padding: 5%;
|
||||||
|
/* border: var(--blue) solid 3px;
|
||||||
|
border-radius: 20px; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.lilText{
|
||||||
|
font-size: 20px;
|
||||||
|
text-align: center;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.a1{
|
||||||
|
min-height: 100vh;
|
||||||
|
}
|
||||||
30
static/css/fonts.css
Normal file
30
static/css/fonts.css
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
.unbounded {
|
||||||
|
font-family: "Unbounded", sans-serif;
|
||||||
|
font-optical-sizing: auto;
|
||||||
|
font-weight: 600;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.onest{
|
||||||
|
font-family: "Onest", sans-serif;
|
||||||
|
font-optical-sizing: auto;
|
||||||
|
font-weight: 200;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.jetbrains-mono {
|
||||||
|
font-family: "JetBrains Mono", monospace;
|
||||||
|
font-optical-sizing: auto;
|
||||||
|
font-weight: 200;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
input::placeholder, textarea::placeholder, input, textarea {
|
||||||
|
font-family: "Onest", sans-serif;
|
||||||
|
font-optical-sizing: auto;
|
||||||
|
font-weight: 200;
|
||||||
|
font-style: normal;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
355
static/css/normalize.css
vendored
Normal file
355
static/css/normalize.css
vendored
Normal file
@@ -0,0 +1,355 @@
|
|||||||
|
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
|
||||||
|
|
||||||
|
/* Document
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the line height in all browsers.
|
||||||
|
* 2. Prevent adjustments of font size after orientation changes in iOS.
|
||||||
|
*/
|
||||||
|
|
||||||
|
html {
|
||||||
|
line-height: 1.15; /* 1 */
|
||||||
|
-webkit-text-size-adjust: 100%; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Sections
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the margin in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Render the `main` element consistently in IE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
main {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Correct the font size and margin on `h1` elements within `section` and
|
||||||
|
* `article` contexts in Chrome, Firefox, and Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2em;
|
||||||
|
margin: 0.67em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Grouping content
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Add the correct box sizing in Firefox.
|
||||||
|
* 2. Show the overflow in Edge and IE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
hr {
|
||||||
|
box-sizing: content-box; /* 1 */
|
||||||
|
height: 0; /* 1 */
|
||||||
|
overflow: visible; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||||
|
* 2. Correct the odd `em` font sizing in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
pre {
|
||||||
|
font-family: monospace, monospace; /* 1 */
|
||||||
|
font-size: 1em; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Text-level semantics
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the gray background on active links in IE 10.
|
||||||
|
*/
|
||||||
|
|
||||||
|
a {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Remove the bottom border in Chrome 57-
|
||||||
|
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
abbr[title] {
|
||||||
|
border-bottom: none; /* 1 */
|
||||||
|
text-decoration: underline; /* 2 */
|
||||||
|
text-decoration: underline dotted; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the correct font weight in Chrome, Edge, and Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
b,
|
||||||
|
strong {
|
||||||
|
font-weight: bolder;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||||
|
* 2. Correct the odd `em` font sizing in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
code,
|
||||||
|
kbd,
|
||||||
|
samp {
|
||||||
|
font-family: monospace, monospace; /* 1 */
|
||||||
|
font-size: 1em; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the correct font size in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
small {
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prevent `sub` and `sup` elements from affecting the line height in
|
||||||
|
* all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
sub,
|
||||||
|
sup {
|
||||||
|
font-size: 75%;
|
||||||
|
line-height: 0;
|
||||||
|
position: relative;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub {
|
||||||
|
bottom: -0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
sup {
|
||||||
|
top: -0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Embedded content
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the border on images inside links in IE 10.
|
||||||
|
*/
|
||||||
|
|
||||||
|
img {
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Forms
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Change the font styles in all browsers.
|
||||||
|
* 2. Remove the margin in Firefox and Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
optgroup,
|
||||||
|
select,
|
||||||
|
textarea {
|
||||||
|
font-family: inherit; /* 1 */
|
||||||
|
font-size: 100%; /* 1 */
|
||||||
|
line-height: 1.15; /* 1 */
|
||||||
|
margin: 0; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the overflow in IE.
|
||||||
|
* 1. Show the overflow in Edge.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input {
|
||||||
|
/* 1 */
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the inheritance of text transform in Edge, Firefox, and IE.
|
||||||
|
* 1. Remove the inheritance of text transform in Firefox.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
select {
|
||||||
|
/* 1 */
|
||||||
|
text-transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Correct the inability to style clickable types in iOS and Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
[type="button"],
|
||||||
|
[type="reset"],
|
||||||
|
[type="submit"] {
|
||||||
|
-webkit-appearance: button;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the inner border and padding in Firefox.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button::-moz-focus-inner,
|
||||||
|
[type="button"]::-moz-focus-inner,
|
||||||
|
[type="reset"]::-moz-focus-inner,
|
||||||
|
[type="submit"]::-moz-focus-inner {
|
||||||
|
border-style: none;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restore the focus styles unset by the previous rule.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button:-moz-focusring,
|
||||||
|
[type="button"]:-moz-focusring,
|
||||||
|
[type="reset"]:-moz-focusring,
|
||||||
|
[type="submit"]:-moz-focusring {
|
||||||
|
outline: 1px dotted ButtonText;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Correct the padding in Firefox.
|
||||||
|
*/
|
||||||
|
|
||||||
|
fieldset {
|
||||||
|
padding: 0.35em 0.75em 0.625em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the text wrapping in Edge and IE.
|
||||||
|
* 2. Correct the color inheritance from `fieldset` elements in IE.
|
||||||
|
* 3. Remove the padding so developers are not caught out when they zero out
|
||||||
|
* `fieldset` elements in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
legend {
|
||||||
|
box-sizing: border-box; /* 1 */
|
||||||
|
color: inherit; /* 2 */
|
||||||
|
display: table; /* 1 */
|
||||||
|
max-width: 100%; /* 1 */
|
||||||
|
padding: 0; /* 3 */
|
||||||
|
white-space: normal; /* 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
|
||||||
|
*/
|
||||||
|
|
||||||
|
progress {
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the default vertical scrollbar in IE 10+.
|
||||||
|
*/
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Add the correct box sizing in IE 10.
|
||||||
|
* 2. Remove the padding in IE 10.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[type="checkbox"],
|
||||||
|
[type="radio"] {
|
||||||
|
box-sizing: border-box; /* 1 */
|
||||||
|
padding: 0; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Correct the cursor style of increment and decrement buttons in Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[type="number"]::-webkit-inner-spin-button,
|
||||||
|
[type="number"]::-webkit-outer-spin-button {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the odd appearance in Chrome and Safari.
|
||||||
|
* 2. Correct the outline style in Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[type="search"] {
|
||||||
|
-webkit-appearance: textfield; /* 1 */
|
||||||
|
outline-offset: -2px; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the inner padding in Chrome and Safari on macOS.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[type="search"]::-webkit-search-decoration {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the inability to style clickable types in iOS and Safari.
|
||||||
|
* 2. Change font properties to `inherit` in Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
::-webkit-file-upload-button {
|
||||||
|
-webkit-appearance: button; /* 1 */
|
||||||
|
font: inherit; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Interactive
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Add the correct display in Edge, IE 10+, and Firefox.
|
||||||
|
*/
|
||||||
|
|
||||||
|
details {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Add the correct display in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
summary {
|
||||||
|
display: list-item;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Misc
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the correct display in IE 10+.
|
||||||
|
*/
|
||||||
|
|
||||||
|
template {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the correct display in IE 10.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[hidden] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul,li{
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
17
static/css/spin.css
Normal file
17
static/css/spin.css
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
#uploader{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spin{
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
color: #4D54BA;
|
||||||
|
border: #54AAFF solid 5px;
|
||||||
|
border-radius: 10px;
|
||||||
|
animation: spin 4s linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
0% { transform: rotate(0deg); }
|
||||||
|
100% { transform: rotate(360deg); }
|
||||||
|
}
|
||||||
3
static/imgs/cart.svg
Normal file
3
static/imgs/cart.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="23" height="22" viewBox="0 0 23 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M3.97462 3.98196H21.8223L19.5914 13.6733H6.20558M19.5914 16.6553H6.94923L3.23096 1H1M19.5913 19.6373C19.5913 20.4607 18.9255 21.1282 18.104 21.1282C17.2826 21.1282 16.6167 20.4607 16.6167 19.6373C16.6167 18.8138 17.2826 18.1463 18.104 18.1463C18.9255 18.1463 19.5913 18.8138 19.5913 19.6373ZM9.92387 19.6373C9.92387 20.4607 9.25798 21.1282 8.43656 21.1282C7.61514 21.1282 6.94925 20.4607 6.94925 19.6373C6.94925 18.8138 7.61514 18.1463 8.43656 18.1463C9.25798 18.1463 9.92387 18.8138 9.92387 19.6373Z" stroke="#4D54BA" stroke-width="1.38815" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 703 B |
3
static/imgs/heart.svg
Normal file
3
static/imgs/heart.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M7.58317 3.25C4.59209 3.25 2.1665 5.65067 2.1665 8.6125C2.1665 11.0034 3.11442 16.6779 12.4452 22.4142C12.6123 22.5159 12.8042 22.5697 12.9998 22.5697C13.1955 22.5697 13.3874 22.5159 13.5545 22.4142C22.8853 16.6779 23.8332 11.0034 23.8332 8.6125C23.8332 5.65067 21.4076 3.25 18.4165 3.25C15.4254 3.25 12.9998 6.5 12.9998 6.5C12.9998 6.5 10.5743 3.25 7.58317 3.25Z" stroke="#4D54BA" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 560 B |
@@ -1,48 +1,87 @@
|
|||||||
|
const textTaoL = document.getElementById('linkItem');
|
||||||
|
const bttn = document.getElementById('bt');
|
||||||
|
const linkTaoL = document.getElementById('linkTao');
|
||||||
|
const emal = document.getElementById('email');
|
||||||
|
const uploader = document.getElementById('uploader');
|
||||||
|
|
||||||
|
var inUnder = document.getElementById('inUnderline')
|
||||||
|
var emailUnderline = document.getElementById('emailUnderline')
|
||||||
|
|
||||||
|
|
||||||
// function change(){
|
window.onload = function () {
|
||||||
// if (document.getElementById('radio1').checked && document.getElementById('radio2').checked == false){
|
textTaoL.value = "";
|
||||||
// linkTao.style.display = 'block';
|
linkTaoL.value = "";
|
||||||
// textTao.style.display = 'none';
|
emal.value = "";
|
||||||
// console.log(1)
|
}
|
||||||
// }
|
|
||||||
// else if (document.getElementById('radio1').checked == false && document.getElementById('radio2').checked){
|
|
||||||
// textTao.style.display = 'block';
|
|
||||||
// linkTao.style.display = 'none';
|
|
||||||
// console.log(2)
|
|
||||||
// }
|
|
||||||
// else{
|
|
||||||
// textTao.style.display = 'none';
|
|
||||||
// linkTao.style.display = 'none';
|
|
||||||
// console.log(3)
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function () {
|
|
||||||
const radio1 = document.getElementById('radio1');
|
|
||||||
const radio2 = document.getElementById('radio2');
|
|
||||||
const linkTao = document.getElementById('inputLink');
|
|
||||||
const textTao = document.getElementById('inputText');
|
|
||||||
|
|
||||||
function toggleInputs() {
|
emal.addEventListener("change", function () {
|
||||||
if (radio1.checked) {
|
bttn.disabled = false;
|
||||||
linkTao.style.display = 'flex';
|
emailUnderline.textContent = '';
|
||||||
textTao.style.display = 'none';
|
|
||||||
console.log(1);
|
var emailRe = /\S+@\S+\.\S+/;
|
||||||
} else if (radio2.checked && radio1.checked == false) {
|
var isValid = emailRe.test(emal.value);
|
||||||
linkTao.style.display = 'none';
|
|
||||||
textTao.style.display = 'flex';
|
if (!isValid) {
|
||||||
console.log(2);
|
emailUnderline.textContent = '*Введите корректный адрес электронной почты.';
|
||||||
} else {
|
bttn.disabled = true;
|
||||||
linkTao.style.display = 'none';
|
|
||||||
textTao.style.display = 'none';
|
|
||||||
console.log(3);
|
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
bttn.disabled = false;
|
||||||
}
|
}
|
||||||
|
});
|
||||||
linkTao.style.display = 'none';
|
|
||||||
textTao.style.display = 'none';
|
|
||||||
|
const inputs = document.querySelectorAll('.inpt2');
|
||||||
radio1.addEventListener('click', toggleInputs);
|
inputs.forEach(input => {
|
||||||
radio2.addEventListener('click', toggleInputs);
|
input.addEventListener("change", function () {
|
||||||
|
inUnder.textContent = '';
|
||||||
|
if (linkTaoL.value === "" && textTaoL.value === "") {
|
||||||
|
inUnder.textContent = '*Введите ссылку или текстовое описание желаемого товара.';
|
||||||
|
bttn.disabled = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
bttn.disabled = false;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
document.getElementById('form').addEventListener("submit", function (event) {
|
||||||
|
bttn.disabled = false;
|
||||||
|
|
||||||
|
|
||||||
|
if (emal.value != '' && (textTaoL.value == '' || linkTaoL.value == '')) {
|
||||||
|
event.preventDefault();
|
||||||
|
uploader.style.display = "block";
|
||||||
|
|
||||||
|
const ToSend = { 'email': emal.value.toString(), 'link': linkTaoL.value, 'text': textTaoL.value };
|
||||||
|
event.preventDefault();
|
||||||
|
try {
|
||||||
|
const xhr = new XMLHttpRequest();
|
||||||
|
xhr.open('POST', '/sendedData', true);
|
||||||
|
xhr.setRequestHeader('Content-Type', 'application/json');
|
||||||
|
|
||||||
|
xhr.onload = function () {
|
||||||
|
if (xhr.status === 200) {
|
||||||
|
const response = JSON.parse(xhr.responseText);
|
||||||
|
console.log("Получено спустя 5 секунд:", response.status);
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
const timeoutId = setTimeout(() => {
|
||||||
|
window.location.href = "OK";
|
||||||
|
window.location.replace = "OK";
|
||||||
|
}, 5000);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
console.log("Данные отправлены. Ждем ответа сервера...");
|
||||||
|
xhr.send(JSON.stringify(ToSend));
|
||||||
|
}
|
||||||
|
catch (Error) {
|
||||||
|
console.log(Error)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
27
templates/404.html
Normal file
27
templates/404.html
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
|
<link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='imgs/logo.svg') }}">
|
||||||
|
<link rel="stylesheet" href="{{ url_for('static', filename=" css/errorPages.css" ) }}">
|
||||||
|
|
||||||
|
<title>Document</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="wrapper">
|
||||||
|
<div class="container flex">
|
||||||
|
<div class="flex column text">
|
||||||
|
<h1 class="flex lightBlue arial-bald fontCenter">404</h1>
|
||||||
|
<p class="flex blue arial-regular lilText">Страница не найдена. <a href="{{ url_for(" ind")
|
||||||
|
}}">Вернуться на главную</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
27
templates/408.html
Normal file
27
templates/408.html
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
|
<link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='imgs/logo.svg') }}">
|
||||||
|
<link rel="stylesheet" href="{{ url_for('static', filename=" css/errorPages.css" ) }}">
|
||||||
|
|
||||||
|
<title>Document</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="wrapper">
|
||||||
|
<div class="container ">
|
||||||
|
<div class="flex column text">
|
||||||
|
<h1 class="flex lightBlue arial-bald fontCenter">408</h1>
|
||||||
|
<p class="flex blue arial-regular lilText">Превышено ожидание ответа сервера. Попробуйте ещё раз позже.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
26
templates/500.html
Normal file
26
templates/500.html
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
|
<link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='imgs/logo.svg') }}">
|
||||||
|
<link rel="stylesheet" href="{{ url_for('static', filename=" css/errorPages.css" ) }}">
|
||||||
|
|
||||||
|
<title>Document</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="wrapper">
|
||||||
|
<div class="container ">
|
||||||
|
<div class="flex column text">
|
||||||
|
<h1 class="flex lightBlue arial-bald fontCenter">500</h1>
|
||||||
|
<p class="flex blue arial-regular lilText">Ошибка сервера. Попробуйте ещё раз позже.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
142
templates/base.html
Normal file
142
templates/base.html
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
|
{% block linking %}
|
||||||
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/baseCSS.css') }}">
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
|
||||||
|
<title>Document</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
{% block header %}
|
||||||
|
<header class="header f-14">
|
||||||
|
<div class="wrapper">
|
||||||
|
<div class="container">
|
||||||
|
<div class="header-inner flex w100">
|
||||||
|
<div class="header-1 w1-5">
|
||||||
|
<li class="headerLi">
|
||||||
|
<a href="" class="logoHref">
|
||||||
|
<img src="{{ url_for('static', filename='imgs/logo.svg') }}" alt="" class="logo">
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="header-2 flex arial-regular">
|
||||||
|
<ul class="headerUL flex">
|
||||||
|
<li class="headerLi flex">
|
||||||
|
<a href="#" class="li-a-header">Главная</a>
|
||||||
|
</li>
|
||||||
|
<li class="headerLi flex">
|
||||||
|
<select name="header-innner-links-2" id="links-2" class="select header-links">
|
||||||
|
<option class="optionHeader" value="1" disabled selected hidden>Каталог</option>
|
||||||
|
<option class="optionHeader" value="Сборки ПК">Сборки ПК</option>
|
||||||
|
<option class="optionHeader" value="Комплектующие">Комплектующие</option>
|
||||||
|
<option class="optionHeader" value="Периферия и аксессуары">Периферия и аксессуары</option>
|
||||||
|
<option class="optionHeader" value="Другое">Другое</option>
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
<li class="headerLi flex">
|
||||||
|
<select name="header-innner-links-3" id="links-3" class="select header-links">
|
||||||
|
<option class="optionHeader" value="1" disabled selected hidden>Покупателям</option>
|
||||||
|
<option class="optionHeader" value="Доставка и выдача заказов">Доставка и выдача заказов</option>
|
||||||
|
<option class="optionHeader" value="Пункты выдачи заказов">Пункты выдачи заказов</option>
|
||||||
|
<option class="optionHeader" value="Q&A">Q&A</option>
|
||||||
|
<option class="optionHeader" value="Контакты">Контакты</option>
|
||||||
|
<option class="optionHeader" value="Обмен и возврат">Обмен и возврат</option>
|
||||||
|
<div class="down-option">
|
||||||
|
<option value="33">Пополняй свой Steam без комиссии* с нашим сервисом LizardMoney!</option>
|
||||||
|
</div>
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="header-3 flex">
|
||||||
|
<search>
|
||||||
|
<form action="./search/">
|
||||||
|
<input type="search" id="search-inpt" name="search" placeholder="Найти..."/>
|
||||||
|
</form>
|
||||||
|
</search>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="header-4 flex">
|
||||||
|
<a href="#">
|
||||||
|
<div class="cart">
|
||||||
|
<!-- from db -->
|
||||||
|
<p class="pokazateli arial-regular">3</p>
|
||||||
|
<img src="{{ url_for('static', filename='imgs/cart.svg') }}" alt="cart">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<div class="heart">
|
||||||
|
<!-- from db -->
|
||||||
|
<p class="pokazateli arial-regular">3</p>
|
||||||
|
<img src="{{ url_for('static', filename='imgs/heart.svg') }}" alt="heart">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="header-5">
|
||||||
|
<button class="login f14 white arial-regular">Войти</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block footer %}
|
||||||
|
<footer class="footer">
|
||||||
|
<div class="container">
|
||||||
|
<div class="wrapper">
|
||||||
|
<div class="footer-inner flex between">
|
||||||
|
<div class="left">
|
||||||
|
<img src="{{ url_for('static', filename='imgs/logo.svg') }}" alt="">
|
||||||
|
</div>
|
||||||
|
<div class="right flex between">
|
||||||
|
<div class="colms">
|
||||||
|
<h6 class="footerRazd f14 arial-bald blue">
|
||||||
|
<a href="#"> Главная</a>
|
||||||
|
</h6>
|
||||||
|
</div>
|
||||||
|
<div class="colms">
|
||||||
|
<h6 class="footerRazd f14 arial-bald blue">
|
||||||
|
<a href="#">Каталог</a>
|
||||||
|
</h6>
|
||||||
|
|
||||||
|
<ul class="footerUL f14 arial-regular white">
|
||||||
|
<li class="footerLI"><a href="#">Сборки ПК</a> </li>
|
||||||
|
<li class="footerLI"><a href="#">Комплектующие</a> </li>
|
||||||
|
<li class="footerLI"><a href="#">Периферия и аксессуары</a> </li>
|
||||||
|
<li class="footerLI"><a href="#">Прочее</a> </li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="colms">
|
||||||
|
<h6 class="footerRazd f16 arial-bald blue">
|
||||||
|
<a href="#">Покупателям</a>
|
||||||
|
</h6>
|
||||||
|
<ul class="footerUL f14 arial-regular white">
|
||||||
|
<li class="footerLI"><a href="#">Доставка и выдача заказов</a> </li>
|
||||||
|
<li class="footerLI"><a href="#">Пункты выдачи заказов</a> </li>
|
||||||
|
<li class="footerLI"><a href="#">Q&A</a> </li>
|
||||||
|
<li class="footerLI"><a href="#">Контакты</a> </li>
|
||||||
|
<li class="footerLI"><a href="#">Обмен и возврат</a> </li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
35
templates/end.html
Normal file
35
templates/end.html
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='imgs/logo.svg') }}">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link
|
||||||
|
href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&family=Onest:wght@100..900&family=Unbounded:wght@200..900&display=swap"
|
||||||
|
rel="stylesheet">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/errorPages.css' ) }}">
|
||||||
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/fonts.css') }}">
|
||||||
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/normalize.css') }}">
|
||||||
|
|
||||||
|
<title>Заявка отправлена</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="wrapper flex">
|
||||||
|
<div class="container flex a1">
|
||||||
|
<div class="main-inner flex column text">
|
||||||
|
<h1 class="flex lightBlue unbounded fontCenter1">Заявка отправлена на рассмотрение!</h1>
|
||||||
|
<p class="flex white onest lilText">Вся информация о её статусе будет отправлена по почте на указанный
|
||||||
|
адрес.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
34
templates/ok.html
Normal file
34
templates/ok.html
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='imgs/logo.svg') }}">
|
||||||
|
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link
|
||||||
|
href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&family=Onest:wght@100..900&family=Unbounded:wght@200..900&display=swap"
|
||||||
|
rel="stylesheet">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/errorPages.css' ) }}">
|
||||||
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/fonts.css') }}">
|
||||||
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/normalize.css') }}">
|
||||||
|
|
||||||
|
<title>Заявка отправлена</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="wrapper flex">
|
||||||
|
<div class="container flex a1">
|
||||||
|
<div class="main-inner flex column text">
|
||||||
|
<h1 class="flex lightBlue unbounded fontCenter1">Заявка согласована!</h1>
|
||||||
|
<p class="flex white onest lilText">Вся информация о её статусе будет отправлена по почте на указанный
|
||||||
|
адрес.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
162
templates/zayavka.html
Normal file
162
templates/zayavka.html
Normal file
@@ -0,0 +1,162 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ru">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
|
<link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='imgs/logo.svg') }}">
|
||||||
|
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link
|
||||||
|
href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&family=Onest:wght@100..900&family=Unbounded:wght@200..900&display=swap"
|
||||||
|
rel="stylesheet">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/ZayavkaStyle.css') }}">
|
||||||
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/fonts.css') }}">
|
||||||
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/spin.css') }}">
|
||||||
|
<title>Оставить заявку</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<!-- ----------- header ------------ -->
|
||||||
|
<header class="header">
|
||||||
|
<div class="wrapper">
|
||||||
|
<div class="container">
|
||||||
|
<div class="header-inner">
|
||||||
|
<div class="headerUL flex">
|
||||||
|
<div class="headerLi flex">
|
||||||
|
<!-- <a href="#" class="logoLink"> -->
|
||||||
|
<img src="{{ url_for('static', filename='imgs/logo.svg') }}" alt="" class="logoIMG">
|
||||||
|
<!-- </a> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- --------------- main -------------- -->
|
||||||
|
<main class="main">
|
||||||
|
<div class="wrapper">
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<!-- form -->
|
||||||
|
<div class="main-inner">
|
||||||
|
<h1 class="zayavkaH1 unbounded lightBlue">Оставить заявку на товар</h1>
|
||||||
|
{% block content %}
|
||||||
|
<form action="/process" method="POST" id="form" class="form1 flex between w100">
|
||||||
|
|
||||||
|
<!-- <div id="radioBttns ">
|
||||||
|
<p class="radioP onest white">Выберите способ получения информации по заявке:</p>
|
||||||
|
<label for="Radio" class="onest f14 white">Почта</label>
|
||||||
|
<input type="radio" name="Radio" id="emailRadio">
|
||||||
|
<label for="Radio" class="onest f14 white">Telegram</label>
|
||||||
|
<input type="radio" name="Radio" id="tgRadio">
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<div class="e1 flex">
|
||||||
|
|
||||||
|
<!-- <div class="colms flex">
|
||||||
|
<label for="tel" class="onest white f14">Почта для обращения</label> -->
|
||||||
|
<!-- div class="lineIn">
|
||||||
|
<input type="email" name="email" id="email" class="inputZ input1Width" placeholder="Адрес электронной почты..." required>
|
||||||
|
</div>
|
||||||
|
<p id="telUnderline" class="under onest"></p>
|
||||||
|
</div>-->
|
||||||
|
|
||||||
|
<!-- <div class="colms flex ent" id="hide1">
|
||||||
|
<input type="text" name="tg" id="tg" class="inputZ input1Width" required>
|
||||||
|
<p id="tgUnderline" class="under onest"></p>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<div class="colms ent">
|
||||||
|
<label for="email" class="f14 onest white">Введите адрес электронной почты:</label>
|
||||||
|
<input type="email" name="email" id="email" class="inputZ input1Width"
|
||||||
|
placeholder="Ваша почта..." required>
|
||||||
|
<p id="emailUnderline" class="under onest"></p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<p class="white onest f14 forDown"> или </p>
|
||||||
|
<div class="colms flex" id="hide2">
|
||||||
|
<a href="#" class="f14 white jetbrains-mono flex" id="tgHover">Заполнить заявку в
|
||||||
|
Telegram-боте.</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="e2 flex">
|
||||||
|
<!-- <label for="radioDiv" class="onest white f14 v">Тип обращения</label>
|
||||||
|
<div class="radioDiv">
|
||||||
|
<div class="flex e3">
|
||||||
|
<div class="radio1Div flex">
|
||||||
|
<input type="radio" name="radio12" id="radio1" value="link">
|
||||||
|
<label for="radio1" class="onest white f14">Ссылка</label>
|
||||||
|
</div>
|
||||||
|
<div class="radio1Div flex">
|
||||||
|
<input type="radio" name="radio12" id="radio2" value="text">
|
||||||
|
<label for="radio2" class="onest white f14" id="l1">Описать необходимый
|
||||||
|
товар</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<p for="email" class="f14 onest white forDown">Опишите, что необходимо заказать:</p>
|
||||||
|
<div class="colms flex">
|
||||||
|
<div id="inputLink">
|
||||||
|
<input type="url" name="linkI" id="linkTao" class="inputZ inpt2"
|
||||||
|
placeholder="Ссылка на товар">
|
||||||
|
<p id="linkUnderneath" class="onest white f14"></p>
|
||||||
|
</div>
|
||||||
|
<p id="inUnderline" class="under onest"></p>
|
||||||
|
<p id="or" class="f14 onest white">Или</p>
|
||||||
|
<div id="inputText">
|
||||||
|
<textarea type="text" name="textI" id="linkItem" class="inputZ inpt2"
|
||||||
|
placeholder="Опишите желаемый товар (до 1500 символов) ..."
|
||||||
|
maxlength="1500"></textarea>
|
||||||
|
<p id="linkUnderneath1" class="onest white f14"></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cont">
|
||||||
|
<button id="bt" class="btn f14 jetbrains-mono flex" style="margin-top: 2%;">Отправить
|
||||||
|
заявку</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
{% endblock %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<div id="uploader">
|
||||||
|
<div class="spin"></div>
|
||||||
|
<h5 class="spinText">Идёт обработка данных...</h5>
|
||||||
|
<p class="spinP">Это может занять несколько минут. Не закрывайте вкладку до окончания обработки.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- <footer class="footer">
|
||||||
|
<div class="wrapper cf">
|
||||||
|
<div class="notiInnner onest">
|
||||||
|
<p class="footerP ">Убедитесь, что в настройках конфиденциальности Telegram в графе "Сообщения" стоит "Все". Иначе бот не сможет Вам написать. Если не хотите менять настройки — нажмите кнопку /start в боте <a href="#" class="footerA">@EcoBot</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer> -->
|
||||||
|
|
||||||
|
|
||||||
|
<script src="{{ url_for('static', filename='js/cases.js') }}">
|
||||||
|
</script>
|
||||||
|
<!-- <script src="{{ url_for('static', filename='js/dist/bundle.js') }}"></script> -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
Reference in New Issue
Block a user