Merge branch 'specto-fixes' into main
This commit is contained in:
commit
d36405c0a8
5
.editorconfig
Normal file
5
.editorconfig
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*.{js,css}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,134 +1,127 @@
|
|||||||
.popup{
|
.popup {
|
||||||
width: 900px;
|
width: 900px;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
text-align: center
|
text-align: center;
|
||||||
}
|
}
|
||||||
.popup img{
|
|
||||||
width: 200px;
|
.popup img {
|
||||||
height: 200px;
|
width: 200px;
|
||||||
cursor: pointer
|
height: 200px;
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.show{
|
|
||||||
z-index: 999;
|
.show {
|
||||||
display: none;
|
z-index: 999;
|
||||||
|
display: none;
|
||||||
}
|
}
|
||||||
.show .overlay{
|
|
||||||
width: 100%;
|
.show .overlay {
|
||||||
height: 100%;
|
width: 100%;
|
||||||
background: rgba(0,0,0,.66);
|
height: 100%;
|
||||||
position: absolute;
|
background: rgba(0,0,0,.66);
|
||||||
top: 0;
|
position: absolute;
|
||||||
left: 0;
|
top: 0;
|
||||||
|
left: 0;
|
||||||
}
|
}
|
||||||
.show .img-show{
|
|
||||||
width: 600px;
|
.show .img-show {
|
||||||
height: 400px;
|
width: 600px;
|
||||||
background: #FFF;
|
height: 400px;
|
||||||
position: absolute;
|
background: #FFF;
|
||||||
top: 50%;
|
position: absolute;
|
||||||
left: 50%;
|
top: 50%;
|
||||||
transform: translate(-50%,-50%);
|
left: 50%;
|
||||||
overflow: hidden
|
transform: translate(-50%,-50%);
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
.img-show span{
|
|
||||||
position: absolute;
|
.img-show span {
|
||||||
top: 10px;
|
position: absolute;
|
||||||
right: 10px;
|
top: 10px;
|
||||||
z-index: 99;
|
right: 10px;
|
||||||
cursor: pointer;
|
z-index: 99;
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.img-show img{
|
|
||||||
width: 100%;
|
.img-show img {
|
||||||
height: 100%;
|
width: 100%;
|
||||||
position: absolute;
|
height: 100%;
|
||||||
top: 0;
|
position: absolute;
|
||||||
left: 0;
|
top: 0;
|
||||||
|
left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
* {
|
* {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
font-family: Raleway;
|
font-family: Raleway;
|
||||||
background-color: #202125;
|
background-color: #202125;
|
||||||
}
|
}
|
||||||
|
|
||||||
.heading {
|
.heading {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 2.0em;
|
font-size: 2.0em;
|
||||||
letter-spacing: 1px;
|
letter-spacing: 1px;
|
||||||
padding: 40px;
|
padding: 40px;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gallery-image {
|
.gallery-image {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gallery-image img {
|
.gallery-image img {
|
||||||
height: 250px;
|
height: 250px;
|
||||||
width: 350px;
|
width: 350px;
|
||||||
transform: scale(1.0);
|
transform: scale(1.0);
|
||||||
transition: transform 0.4s ease;
|
transition: transform 0.4s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.img-box {
|
.img-box {
|
||||||
box-sizing: content-box;
|
box-sizing: content-box;
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
height: 250px;
|
height: 250px;
|
||||||
width: 350px;
|
width: 350px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
color: white;
|
color: white;
|
||||||
position: relative;
|
position: relative;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.caption {
|
.caption {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 5px;
|
bottom: 5px;
|
||||||
left: 20px;
|
left: 20px;
|
||||||
opacity: 0.0;
|
opacity: 0.0;
|
||||||
transition: transform 0.3s ease, opacity 0.3s ease;
|
transition: transform 0.3s ease, opacity 0.3s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.transparent-box {
|
.transparent-box {
|
||||||
height: 250px;
|
height: 250px;
|
||||||
width: 350px;
|
width: 350px;
|
||||||
background-color:rgba(0, 0, 0, 0);
|
background-color: rgba(0, 0, 0, 0);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
transition: background-color 0.3s ease;
|
transition: background-color 0.3s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.img-box:hover img {
|
.img-box:hover img { transform: scale(1.1); }
|
||||||
transform: scale(1.1);
|
.img-box:hover .transparent-box { background-color: rgba(0, 0, 0, 0.5); }
|
||||||
}
|
|
||||||
|
.img-box:hover .caption {
|
||||||
.img-box:hover .transparent-box {
|
transform: translateY(-20px);
|
||||||
background-color:rgba(0, 0, 0, 0.5);
|
opacity: 1.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.img-box:hover .caption {
|
.img-box:hover { cursor: pointer; }
|
||||||
transform: translateY(-20px);
|
.caption > p:nth-child(2) { font-size: 0.8em; }
|
||||||
opacity: 1.0;
|
.opacity-low { opacity: 0.5; }
|
||||||
}
|
|
||||||
|
|
||||||
.img-box:hover {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.caption > p:nth-child(2) {
|
|
||||||
font-size: 0.8em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.opacity-low {
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
|
@ -11,10 +11,10 @@
|
|||||||
background: white;
|
background: white;
|
||||||
-moz-box-shadow: 0 0 20px #469330;
|
-moz-box-shadow: 0 0 20px #469330;
|
||||||
-webkit-box-shadow: 0 0 20px #469330;
|
-webkit-box-shadow: 0 0 20px #469330;
|
||||||
box-shadow: 0 0 20px #469330;
|
box-shadow: 0 0 20px #469330;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-radius: 25px;
|
border-radius: 25px;
|
||||||
}
|
}
|
||||||
header {
|
header {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@ -138,21 +138,16 @@ header {
|
|||||||
.menu {
|
.menu {
|
||||||
display: initial;
|
display: initial;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
html{
|
html{
|
||||||
font-family: Arial, Helvetica, sans-serif;
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
p {
|
p {
|
||||||
font-family: Arial, Helvetica, sans-serif;
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
|
|
||||||
margin: 0 0 30px 0;
|
margin: 0 0 30px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1.heading{
|
h1.heading{
|
||||||
@ -167,7 +162,7 @@ ul.emoji{
|
|||||||
|
|
||||||
.question{
|
.question{
|
||||||
color: gray;
|
color: gray;
|
||||||
font-size:20px;
|
font-size: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.nothing{
|
ul.nothing{
|
||||||
@ -178,7 +173,7 @@ a.footer{
|
|||||||
/* background:radial-gradient(circle, rgba(0,159,12,1) 0%, rgba(8,96,0,1) 100%);
|
/* background:radial-gradient(circle, rgba(0,159,12,1) 0%, rgba(8,96,0,1) 100%);
|
||||||
-webkit-background-clip: text;
|
-webkit-background-clip: text;
|
||||||
-webkit-text-fill-color: transparent; */
|
-webkit-text-fill-color: transparent; */
|
||||||
color:lightgreen;
|
color: lightgreen;
|
||||||
}
|
}
|
||||||
footer{
|
footer{
|
||||||
font-size: small;
|
font-size: small;
|
||||||
|
@ -6,18 +6,20 @@ from users.models import User
|
|||||||
import operator
|
import operator
|
||||||
from upload.models import Media
|
from upload.models import Media
|
||||||
import requests
|
import requests
|
||||||
|
from django.db.models import Sum
|
||||||
|
|
||||||
|
|
||||||
def homePage(request):
|
def homePage(request):
|
||||||
iter_var = 0
|
iter_var = 0
|
||||||
all_balance = []
|
all_balance = 0
|
||||||
Cashier = False
|
Cashier = False
|
||||||
Processor = False
|
Processor = False
|
||||||
|
|
||||||
|
|
||||||
balObject = Balance.objects.filter(user=request.user.id)
|
balObject = Balance.objects.filter(user=request.user.id)
|
||||||
userBalance = balObject.values("balanceValue")
|
userBalance = balObject.values("balanceValue")
|
||||||
try:
|
try:
|
||||||
userBalance = userBalance[0]['balanceValue']
|
userBalance = userBalance[0]['balanceValue']
|
||||||
except IndexError:
|
except IndexError:
|
||||||
userBalance = None
|
userBalance = None
|
||||||
if request.user.groups.filter(name='Cashier').exists():
|
if request.user.groups.filter(name='Cashier').exists():
|
||||||
@ -30,7 +32,6 @@ def homePage(request):
|
|||||||
userQR = f"Name = {request.user.username}, Date Joined = {request.user.date_joined.date()}, ID = {request.user.id}, isCashier={Cashier}, isProcessor={Processor}, Balance = {userBalance}"
|
userQR = f"Name = {request.user.username}, Date Joined = {request.user.date_joined.date()}, ID = {request.user.id}, isCashier={Cashier}, isProcessor={Processor}, Balance = {userBalance}"
|
||||||
else:
|
else:
|
||||||
userQR=None
|
userQR=None
|
||||||
a = Balance.objects.all()
|
|
||||||
|
|
||||||
for user in a:
|
for user in a:
|
||||||
all_balance.append(user.balanceValue)
|
all_balance.append(user.balanceValue)
|
||||||
@ -49,9 +50,9 @@ def homePage(request):
|
|||||||
"github": f"https://github.com/{github['login']}",
|
"github": f"https://github.com/{github['login']}",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return render(request, "home.html", context)
|
return render(request, "home.html", context)
|
||||||
|
|
||||||
|
|
||||||
def leaderboard(request):
|
def leaderboard(request):
|
||||||
users = User.objects.all()
|
users = User.objects.all()
|
||||||
@ -60,22 +61,22 @@ def leaderboard(request):
|
|||||||
try:
|
try:
|
||||||
username = i.username
|
username = i.username
|
||||||
balance = i.balance.balanceValue
|
balance = i.balance.balanceValue
|
||||||
# add media counter and other stuff
|
# add media counter and other stuff
|
||||||
if f"{username}" in leaderboard.keys():
|
if f"{username}" in leaderboard.keys():
|
||||||
leaderboard[username] = balance + leaderboard[username]
|
leaderboard[username] = balance + leaderboard[username]
|
||||||
else:
|
else:
|
||||||
leaderboard[username] = balance
|
leaderboard[username] = balance
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
leaderboard = dict(sorted(leaderboard.items(), key=operator.itemgetter(0)))
|
leaderboard = dict(sorted(leaderboard.items(), key=operator.itemgetter(0)))
|
||||||
leaderboard = dict(reversed(list(leaderboard.items())))
|
leaderboard = dict(reversed(list(leaderboard.items())))
|
||||||
|
|
||||||
while len(leaderboard) > 5:
|
while len(leaderboard) > 5:
|
||||||
leaderboard.pop()
|
leaderboard.pop()
|
||||||
|
|
||||||
|
|
||||||
media = Media.objects.all()
|
|
||||||
|
media = Media.objects.all()
|
||||||
user_media = {}
|
user_media = {}
|
||||||
for i in media:
|
for i in media:
|
||||||
username = i.user.username
|
username = i.user.username
|
||||||
@ -83,7 +84,7 @@ def leaderboard(request):
|
|||||||
user_media[username] += 1
|
user_media[username] += 1
|
||||||
else:
|
else:
|
||||||
user_media[username] = 1
|
user_media[username] = 1
|
||||||
|
|
||||||
user_media = dict(sorted(user_media.items(), key=operator.itemgetter(0)))
|
user_media = dict(sorted(user_media.items(), key=operator.itemgetter(0)))
|
||||||
user_media = dict(reversed(list(user_media.items())))
|
user_media = dict(reversed(list(user_media.items())))
|
||||||
print(user_media)
|
print(user_media)
|
||||||
@ -97,7 +98,7 @@ def leaderboard(request):
|
|||||||
else:
|
else:
|
||||||
user_data = {i:{"Images":len(iter_user_media.filter(is_video=False))}}
|
user_data = {i:{"Images":len(iter_user_media.filter(is_video=False))}}
|
||||||
print(user_data)
|
print(user_data)
|
||||||
|
|
||||||
while len(user_media) > 5:
|
while len(user_media) > 5:
|
||||||
user_media.pop()
|
user_media.pop()
|
||||||
|
|
||||||
@ -108,8 +109,8 @@ def leaderboard(request):
|
|||||||
# if f"{username}" in media_count.values():
|
# if f"{username}" in media_count.values():
|
||||||
# media_count[username] = image + media_count[username].value
|
# media_count[username] = image + media_count[username].value
|
||||||
# else:
|
# else:
|
||||||
# media_count[username] = image
|
# media_count[username] = image
|
||||||
|
|
||||||
# print(media_count)
|
# print(media_count)
|
||||||
|
|
||||||
context = {
|
context = {
|
||||||
@ -118,4 +119,4 @@ def leaderboard(request):
|
|||||||
}
|
}
|
||||||
|
|
||||||
return render(request, 'leaderboard.html', context)
|
return render(request, 'leaderboard.html', context)
|
||||||
|
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
{% load static %}
|
||||||
|
{% load qr_code %}
|
||||||
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
{% load static %}
|
|
||||||
{% load qr_code %}
|
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<title>{% block title %}reValuate{% endblock %}</title>
|
<title>{% block title %}reValuate{% endblock %}</title>
|
||||||
@ -11,12 +10,10 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<link rel="stylesheet" href="{% static 'home/css/style.css' %}">
|
<link rel="stylesheet" href="{% static 'home/css/style.css' %}">
|
||||||
<link rel="shortcut icon" type="image/png" href="{% static 'home/img/logo.png' %}"/>
|
<link rel="shortcut icon" type="image/png" href="{% static 'home/img/logo.png' %}"/>
|
||||||
|
{% block optionalParams %}{% endblock %}
|
||||||
{% block optionalParams %} {% endblock %}
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
{% block aboveNav %} {% endblock %}
|
{% block aboveNav %}{% endblock %}
|
||||||
<header id="navbar">
|
<header id="navbar">
|
||||||
<a class="logo" href="/"><img src="{% static 'home/img/logo.png' %}" style="max-height: 100px;" alt="logo"></a>
|
<a class="logo" href="/"><img src="{% static 'home/img/logo.png' %}" style="max-height: 100px;" alt="logo"></a>
|
||||||
<nav>
|
<nav>
|
||||||
@ -34,11 +31,11 @@
|
|||||||
{% if isProcessor %}
|
{% if isProcessor %}
|
||||||
<li><a href="{% url 'admin' %}"><u>Админ</u></a></li>
|
<li><a href="{% url 'admin' %}"><u>Админ</u></a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if isCashier %}
|
{% if isCashier %}
|
||||||
<li><a href="{% url 'cashier' %}"><u>Каса</u></a></li>
|
<li><a href="{% url 'cashier' %}"><u>Каса</u></a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
{% if user.is_authenticated %}
|
{% if user.is_authenticated %}
|
||||||
@ -46,7 +43,7 @@
|
|||||||
{% else %}
|
{% else %}
|
||||||
<a class="cta" href="{% url 'login' %}">Влез!</a>
|
<a class="cta" href="{% url 'login' %}">Влез!</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<p class="menu cta">Меню</p>
|
<p class="menu cta">Меню</p>
|
||||||
</header>
|
</header>
|
||||||
<div id="container">
|
<div id="container">
|
||||||
@ -56,7 +53,7 @@
|
|||||||
<a href="{% url 'leaderboard' %}">Класация</a>
|
<a href="{% url 'leaderboard' %}">Класация</a>
|
||||||
<a href="#">За нас</a>
|
<a href="#">За нас</a>
|
||||||
{% if user.is_authenticated %}
|
{% if user.is_authenticated %}
|
||||||
<a href="{% url 'logout' %}">Излез!</a>
|
<a href="{% url 'logout' %}">Излез!</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<a href="{% url 'login' %}">Влез!</a>
|
<a href="{% url 'login' %}">Влез!</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -66,13 +63,13 @@
|
|||||||
{% if user.is_authenticated %}
|
{% if user.is_authenticated %}
|
||||||
<a href="{% url 'Image' %}">Качи</a>
|
<a href="{% url 'Image' %}">Качи</a>
|
||||||
<a href="{% url 'Media' %}">Прогрес</a>
|
<a href="{% url 'Media' %}">Прогрес</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript" src="{% static 'home/js/mobile.js' %}"></script>
|
<script type="text/javascript" src="{% static 'home/js/mobile.js' %}"></script>
|
||||||
</div>
|
</div>
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!-- templates/home.html -->
|
|
||||||
{% extends 'base.html' %}
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
{% block title %}Home{% endblock %}
|
{% block title %}Home{% endblock %}
|
||||||
|
|
||||||
{% block optionalParams%}
|
{% block optionalParams%}
|
||||||
<style>
|
<style>
|
||||||
.checkmark__circle {
|
.checkmark__circle {
|
||||||
@ -13,7 +13,7 @@
|
|||||||
fill: none;
|
fill: none;
|
||||||
animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
|
animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
|
||||||
}
|
}
|
||||||
|
|
||||||
.checkmark {
|
.checkmark {
|
||||||
width: 56px;
|
width: 56px;
|
||||||
height: 56px;
|
height: 56px;
|
||||||
@ -26,14 +26,14 @@
|
|||||||
box-shadow: inset 0px 0px 0px #7ac142;
|
box-shadow: inset 0px 0px 0px #7ac142;
|
||||||
animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
|
animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.checkmark__check {
|
.checkmark__check {
|
||||||
transform-origin: 50% 50%;
|
transform-origin: 50% 50%;
|
||||||
stroke-dasharray: 48;
|
stroke-dasharray: 48;
|
||||||
stroke-dashoffset: 48;
|
stroke-dashoffset: 48;
|
||||||
animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
|
animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes stroke {
|
@keyframes stroke {
|
||||||
100% {
|
100% {
|
||||||
stroke-dashoffset: 0;
|
stroke-dashoffset: 0;
|
||||||
@ -56,17 +56,18 @@
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="centered" style="text-align: center;">
|
<div class="centered" style="text-align: center;">
|
||||||
|
|
||||||
{% if user.is_authenticated %}
|
{% if user.is_authenticated %}
|
||||||
{% if userBalance %}
|
{% if userBalance %}
|
||||||
<h1 style="color:#7ac142;">Транзакцията е записана успешно!</h1>
|
<h1 style="color:#7ac142;">Транзакцията е записана успешно!</h1>
|
||||||
Кликни <a style="color:#7ac142;"href="/remove_balance/">тук</a>, ако искаш да запишеш нова!
|
Кликни <a style="color:#7ac142;"href="/remove_balance/">тук</a>, ако искаш да запишеш нова!
|
||||||
<svg class="checkmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">
|
<svg class="checkmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">
|
||||||
<circle class="checkmark__circle" cx="26" cy="26" r="25" fill="none"/>
|
<circle class="checkmark__circle" cx="26" cy="26" r="25" fill="none"/>
|
||||||
<path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"/>
|
<path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"/>
|
||||||
</svg>
|
</svg>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div>
|
<div>
|
||||||
{{ qr_code }}
|
{{ qr_code }}
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
{% extends 'base.html' %}
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
|
{% load qr_code %}
|
||||||
|
{% load static %}
|
||||||
|
|
||||||
{% block optionalParams %}
|
{% block optionalParams %}
|
||||||
<style>
|
<style>
|
||||||
html{
|
html{
|
||||||
@ -11,8 +15,7 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% load qr_code %}
|
|
||||||
{% load static %}
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div id="page-wrap">
|
<div id="page-wrap">
|
||||||
<h1 class="heading">reValuate</h1>
|
<h1 class="heading">reValuate</h1>
|
||||||
@ -63,4 +66,4 @@
|
|||||||
</div>
|
</div>
|
||||||
<footer style="padding-bottom: 20px; font-size: medium;">Frontend, backend and planning:<br> <a class="footer" href="{{ github }}">Boyan</a></footer>
|
<footer style="padding-bottom: 20px; font-size: medium;">Frontend, backend and planning:<br> <a class="footer" href="{{ github }}">Boyan</a></footer>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -1,17 +1,18 @@
|
|||||||
{% extends 'base.html' %}
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
{% block title %}Класация{% endblock %}
|
{% block title %}Класация{% endblock %}
|
||||||
|
|
||||||
{% block optionalParams %}
|
{% block optionalParams %}
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
html{
|
html{
|
||||||
background: linear-gradient(180deg, rgba(70,147,48,1) 33%, rgba(109,126,107,1) 100%) no-repeat center center fixed;
|
background: linear-gradient(180deg, rgba(70,147,48,1) 33%, rgba(109,126,107,1) 100%) no-repeat center center fixed;
|
||||||
-webkit-background-size: cover;
|
-webkit-background-size: cover;
|
||||||
-moz-background-size: cover;
|
-moz-background-size: cover;
|
||||||
-o-background-size: cover;
|
-o-background-size: cover;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
font-family: Arial, Helvetica, sans-serif;
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
|
|
||||||
}
|
}
|
||||||
.content{
|
.content{
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -72,4 +73,4 @@ ul{
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -3,15 +3,15 @@
|
|||||||
{% block title %}Login{% endblock %}
|
{% block title %}Login{% endblock %}
|
||||||
{% block optionalParams %}
|
{% block optionalParams %}
|
||||||
<style>
|
<style>
|
||||||
html{
|
html{
|
||||||
background: linear-gradient(180deg, rgba(70,147,48,1) 33%, rgba(109,126,107,1) 100%) no-repeat center center fixed;
|
background: linear-gradient(180deg, rgba(70,147,48,1) 33%, rgba(109,126,107,1) 100%) no-repeat center center fixed;
|
||||||
-webkit-background-size: cover;
|
-webkit-background-size: cover;
|
||||||
-moz-background-size: cover;
|
-moz-background-size: cover;
|
||||||
-o-background-size: cover;
|
-o-background-size: cover;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
font-family: Arial, Helvetica, sans-serif;
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
|
|
||||||
}
|
}
|
||||||
.buttons{
|
.buttons{
|
||||||
background-color: #469330;
|
background-color: #469330;
|
||||||
border: none;
|
border: none;
|
||||||
|
@ -5,17 +5,17 @@
|
|||||||
<style>
|
<style>
|
||||||
|
|
||||||
html{
|
html{
|
||||||
background: linear-gradient(180deg, rgba(70,147,48,1) 33%, rgba(109,126,107,1) 100%) no-repeat center center fixed;
|
background: linear-gradient(180deg, rgba(70,147,48,1) 33%, rgba(109,126,107,1) 100%) no-repeat center center fixed;
|
||||||
-webkit-background-size: cover;
|
-webkit-background-size: cover;
|
||||||
-moz-background-size: cover;
|
-moz-background-size: cover;
|
||||||
-o-background-size: cover;
|
-o-background-size: cover;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
font-family: Arial, Helvetica, sans-serif;
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
}
|
}
|
||||||
#page-wrap{
|
#page-wrap{
|
||||||
padding: 20vh;
|
padding: 20vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{% extends 'base.html' %}
|
{% extends 'base.html' %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
|
|
||||||
{% block title %} My Images {% endblock %}
|
{% block title %} My Images {% endblock %}
|
||||||
|
|
||||||
{% block optionalParams %}
|
{% block optionalParams %}
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
fill: none;
|
fill: none;
|
||||||
animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
|
animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
|
||||||
}
|
}
|
||||||
|
|
||||||
.checkmark {
|
.checkmark {
|
||||||
width: 56px;
|
width: 56px;
|
||||||
height: 56px;
|
height: 56px;
|
||||||
@ -25,14 +25,14 @@
|
|||||||
box-shadow: inset 0px 0px 0px #7ac142;
|
box-shadow: inset 0px 0px 0px #7ac142;
|
||||||
animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
|
animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.checkmark__check {
|
.checkmark__check {
|
||||||
transform-origin: 50% 50%;
|
transform-origin: 50% 50%;
|
||||||
stroke-dasharray: 48;
|
stroke-dasharray: 48;
|
||||||
stroke-dashoffset: 48;
|
stroke-dashoffset: 48;
|
||||||
animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
|
animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes stroke {
|
@keyframes stroke {
|
||||||
100% {
|
100% {
|
||||||
stroke-dashoffset: 0;
|
stroke-dashoffset: 0;
|
||||||
@ -70,35 +70,35 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.closebtn:hover {
|
.closebtn:hover {
|
||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
.buttons{
|
.buttons{
|
||||||
margin-top: 10%;
|
margin-top: 10%;
|
||||||
background-color: #469330;
|
background-color: #469330;
|
||||||
border: none;
|
border: none;
|
||||||
color: white;
|
color: white;
|
||||||
padding: 15px 32px;
|
padding: 15px 32px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
margin: 4px 2px;
|
margin: 4px 2px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
html{
|
html{
|
||||||
background: linear-gradient(180deg, rgba(70,147,48,1) 33%, rgba(109,126,107,1) 100%) no-repeat center center fixed;
|
background: linear-gradient(180deg, rgba(70,147,48,1) 33%, rgba(109,126,107,1) 100%) no-repeat center center fixed;
|
||||||
-webkit-background-size: cover;
|
-webkit-background-size: cover;
|
||||||
-moz-background-size: cover;
|
-moz-background-size: cover;
|
||||||
-o-background-size: cover;
|
-o-background-size: cover;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
font-family: Arial, Helvetica, sans-serif;
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
#page-wrap{
|
#page-wrap{
|
||||||
padding: 20vh;
|
padding: 20vh;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
||||||
@ -121,7 +121,7 @@
|
|||||||
<circle class="checkmark__circle" cx="26" cy="26" r="25" fill="none"/>
|
<circle class="checkmark__circle" cx="26" cy="26" r="25" fill="none"/>
|
||||||
<path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"/>
|
<path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"/>
|
||||||
</svg>
|
</svg>
|
||||||
{% else %}
|
{% else %}
|
||||||
<form method="post" enctype="multipart/form-data">
|
<form method="post" enctype="multipart/form-data">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<label for="image" style="font-size: 32px;">Качи снимка! </label><br><br><br>
|
<label for="image" style="font-size: 32px;">Качи снимка! </label><br><br><br>
|
||||||
@ -131,7 +131,7 @@
|
|||||||
</form>
|
</form>
|
||||||
<br><br>
|
<br><br>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
<p>You are not logged in</p>
|
<p>You are not logged in</p>
|
||||||
<a href="{% url 'login' %}">Log In</a>
|
<a href="{% url 'login' %}">Log In</a>
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user