Specto fixes #9
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{
|
||||
width: 900px;
|
||||
margin: auto;
|
||||
text-align: center
|
||||
.popup {
|
||||
width: 900px;
|
||||
margin: auto;
|
||||
text-align: center;
|
||||
}
|
||||
.popup img{
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
cursor: pointer
|
||||
|
||||
.popup img {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.show{
|
||||
z-index: 999;
|
||||
display: none;
|
||||
|
||||
.show {
|
||||
z-index: 999;
|
||||
display: none;
|
||||
}
|
||||
.show .overlay{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(0,0,0,.66);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
||||
.show .overlay {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(0,0,0,.66);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
.show .img-show{
|
||||
width: 600px;
|
||||
height: 400px;
|
||||
background: #FFF;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%,-50%);
|
||||
overflow: hidden
|
||||
|
||||
.show .img-show {
|
||||
width: 600px;
|
||||
height: 400px;
|
||||
background: #FFF;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%,-50%);
|
||||
overflow: hidden;
|
||||
}
|
||||
.img-show span{
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
z-index: 99;
|
||||
cursor: pointer;
|
||||
|
||||
.img-show span {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
z-index: 99;
|
||||
cursor: pointer;
|
||||
}
|
||||
.img-show img{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
||||
.img-show img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: Raleway;
|
||||
background-color: #202125;
|
||||
}
|
||||
|
||||
.heading {
|
||||
text-align: center;
|
||||
font-size: 2.0em;
|
||||
letter-spacing: 1px;
|
||||
padding: 40px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.gallery-image {
|
||||
padding: 20px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.gallery-image img {
|
||||
height: 250px;
|
||||
width: 350px;
|
||||
transform: scale(1.0);
|
||||
transition: transform 0.4s ease;
|
||||
}
|
||||
|
||||
.img-box {
|
||||
box-sizing: content-box;
|
||||
margin: 10px;
|
||||
height: 250px;
|
||||
width: 350px;
|
||||
overflow: hidden;
|
||||
display: inline-block;
|
||||
color: white;
|
||||
position: relative;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.caption {
|
||||
position: absolute;
|
||||
bottom: 5px;
|
||||
left: 20px;
|
||||
opacity: 0.0;
|
||||
transition: transform 0.3s ease, opacity 0.3s ease;
|
||||
}
|
||||
|
||||
.transparent-box {
|
||||
height: 250px;
|
||||
width: 350px;
|
||||
background-color:rgba(0, 0, 0, 0);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
transition: background-color 0.3s ease;
|
||||
}
|
||||
|
||||
.img-box:hover img {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
.img-box:hover .transparent-box {
|
||||
background-color:rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.img-box:hover .caption {
|
||||
transform: translateY(-20px);
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
.img-box:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.caption > p:nth-child(2) {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.opacity-low {
|
||||
opacity: 0.5;
|
||||
}
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: Raleway;
|
||||
background-color: #202125;
|
||||
}
|
||||
|
||||
.heading {
|
||||
text-align: center;
|
||||
font-size: 2.0em;
|
||||
letter-spacing: 1px;
|
||||
padding: 40px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.gallery-image {
|
||||
padding: 20px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.gallery-image img {
|
||||
height: 250px;
|
||||
width: 350px;
|
||||
transform: scale(1.0);
|
||||
transition: transform 0.4s ease;
|
||||
}
|
||||
|
||||
.img-box {
|
||||
box-sizing: content-box;
|
||||
margin: 10px;
|
||||
height: 250px;
|
||||
width: 350px;
|
||||
overflow: hidden;
|
||||
display: inline-block;
|
||||
color: white;
|
||||
position: relative;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.caption {
|
||||
position: absolute;
|
||||
bottom: 5px;
|
||||
left: 20px;
|
||||
opacity: 0.0;
|
||||
transition: transform 0.3s ease, opacity 0.3s ease;
|
||||
}
|
||||
|
||||
.transparent-box {
|
||||
height: 250px;
|
||||
width: 350px;
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
transition: background-color 0.3s ease;
|
||||
}
|
||||
|
||||
.img-box:hover img { transform: scale(1.1); }
|
||||
.img-box:hover .transparent-box { background-color: rgba(0, 0, 0, 0.5); }
|
||||
|
||||
.img-box:hover .caption {
|
||||
transform: translateY(-20px);
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
.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;
|
||||
-moz-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;
|
||||
border-radius: 25px;
|
||||
}
|
||||
}
|
||||
header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
@ -138,21 +138,16 @@ header {
|
||||
.menu {
|
||||
display: initial;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
html{
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
p {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
|
||||
margin: 0 0 30px 0;
|
||||
margin: 0 0 30px 0;
|
||||
}
|
||||
|
||||
h1.heading{
|
||||
@ -167,7 +162,7 @@ ul.emoji{
|
||||
|
||||
.question{
|
||||
color: gray;
|
||||
font-size:20px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
ul.nothing{
|
||||
@ -178,7 +173,7 @@ a.footer{
|
||||
/* background:radial-gradient(circle, rgba(0,159,12,1) 0%, rgba(8,96,0,1) 100%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent; */
|
||||
color:lightgreen;
|
||||
color: lightgreen;
|
||||
}
|
||||
footer{
|
||||
font-size: small;
|
||||
|
@ -5,18 +5,20 @@ from django.conf import settings
|
||||
from users.models import User
|
||||
import operator
|
||||
from upload.models import Media
|
||||
from django.db.models import Sum
|
||||
|
||||
|
||||
def homePage(request):
|
||||
iter_var = 0
|
||||
all_balance = []
|
||||
all_balance = 0
|
||||
Cashier = False
|
||||
Processor = False
|
||||
|
||||
|
||||
|
||||
balObject = Balance.objects.filter(user=request.user.id)
|
||||
userBalance = balObject.values("balanceValue")
|
||||
try:
|
||||
userBalance = userBalance[0]['balanceValue']
|
||||
userBalance = userBalance[0]['balanceValue']
|
||||
except IndexError:
|
||||
userBalance = None
|
||||
if request.user.groups.filter(name='Cashier').exists():
|
||||
@ -29,24 +31,24 @@ 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}"
|
||||
else:
|
||||
userQR=None
|
||||
a = Balance.objects.all()
|
||||
|
||||
for user in a:
|
||||
all_balance.append(user.balanceValue)
|
||||
print(f"{all_balance}")
|
||||
limited_coins = settings.ALL_COINS - sum(all_balance)
|
||||
# Use aggregation that can be calculated in database (fast)
|
||||
all_balance = Balance.objects.all().aggregate(s=Sum("balanceValue"))['s']
|
||||
# print(f"{all_balance}")
|
||||
|
||||
limited_coins = settings.ALL_COINS - all_balance
|
||||
context = {
|
||||
"isCashier": Cashier,
|
||||
"isProcessor": Processor,
|
||||
"userQR":userQR,
|
||||
"fullbalance": limited_coins,
|
||||
"currencyTotal": sum(all_balance),
|
||||
"userBalance": userBalance
|
||||
"currencyTotal": all_balance,
|
||||
"userBalance": userBalance,
|
||||
}
|
||||
|
||||
|
||||
|
||||
return render(request, "home.html", context)
|
||||
|
||||
|
||||
|
||||
def leaderboard(request):
|
||||
users = User.objects.all()
|
||||
@ -55,22 +57,22 @@ def leaderboard(request):
|
||||
try:
|
||||
username = i.username
|
||||
balance = i.balance.balanceValue
|
||||
# add media counter and other stuff
|
||||
# add media counter and other stuff
|
||||
if f"{username}" in leaderboard.keys():
|
||||
leaderboard[username] = balance + leaderboard[username]
|
||||
else:
|
||||
leaderboard[username] = balance
|
||||
leaderboard[username] = balance
|
||||
except Exception as e:
|
||||
pass
|
||||
|
||||
|
||||
leaderboard = dict(sorted(leaderboard.items(), key=operator.itemgetter(0)))
|
||||
leaderboard = dict(reversed(list(leaderboard.items())))
|
||||
|
||||
while len(leaderboard) > 5:
|
||||
leaderboard.pop()
|
||||
|
||||
|
||||
media = Media.objects.all()
|
||||
|
||||
media = Media.objects.all()
|
||||
user_media = {}
|
||||
for i in media:
|
||||
username = i.user.username
|
||||
@ -78,7 +80,7 @@ def leaderboard(request):
|
||||
user_media[username] += 1
|
||||
else:
|
||||
user_media[username] = 1
|
||||
|
||||
|
||||
user_media = dict(sorted(user_media.items(), key=operator.itemgetter(0)))
|
||||
user_media = dict(reversed(list(user_media.items())))
|
||||
print(user_media)
|
||||
@ -92,7 +94,7 @@ def leaderboard(request):
|
||||
else:
|
||||
user_data = {i:{"Images":len(iter_user_media.filter(is_video=False))}}
|
||||
print(user_data)
|
||||
|
||||
|
||||
while len(user_media) > 5:
|
||||
user_media.pop()
|
||||
|
||||
@ -103,8 +105,8 @@ def leaderboard(request):
|
||||
# if f"{username}" in media_count.values():
|
||||
# media_count[username] = image + media_count[username].value
|
||||
# else:
|
||||
# media_count[username] = image
|
||||
|
||||
# media_count[username] = image
|
||||
|
||||
# print(media_count)
|
||||
|
||||
context = {
|
||||
@ -113,4 +115,4 @@ def leaderboard(request):
|
||||
}
|
||||
|
||||
return render(request, 'leaderboard.html', context)
|
||||
|
||||
|
||||
|
@ -1,9 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
{% load static %}
|
||||
{% load qr_code %}
|
||||
<html>
|
||||
<head>
|
||||
|
||||
{% load static %}
|
||||
{% load qr_code %}
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>{% block title %}reValuate{% endblock %}</title>
|
||||
@ -11,32 +10,30 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="{% static 'home/css/style.css' %}">
|
||||
<link rel="shortcut icon" type="image/png" href="{% static 'home/img/logo.png' %}"/>
|
||||
|
||||
{% block optionalParams %} {% endblock %}
|
||||
|
||||
{% block optionalParams %}{% endblock %}
|
||||
</head>
|
||||
<body>
|
||||
{% block aboveNav %} {% endblock %}
|
||||
{% block aboveNav %}{% endblock %}
|
||||
<header id="navbar">
|
||||
<a class="logo" href="/"><img src="{% static 'home/img/logo.png' %}" style="max-height: 100px;" alt="logo"></a>
|
||||
<nav>
|
||||
<ul class="nav__links">
|
||||
<li><a href="{% url 'leaderboard' %}"><u>Класация</u></a></li>
|
||||
<li><a href="#"><u>За нас</u></a></li>
|
||||
|
||||
|
||||
{% if user.is_authenticated %}
|
||||
<li><a href="{% url 'Image' %}"><u>Качи</u></a></li>
|
||||
<li><a href="{% url 'Media' %}"><u>Прогрес</u></a></li>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if isProcessor %}
|
||||
<li><a href="{% url 'admin' %}"><u>Админ</u></a></li>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if isCashier %}
|
||||
<li><a href="{% url 'cashier' %}"><u>Качи</u></a></li>
|
||||
{% endif %}
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
{% if user.is_authenticated %}
|
||||
@ -44,7 +41,7 @@
|
||||
{% else %}
|
||||
<a class="cta" href="{% url 'login' %}">Влез!</a>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<p class="menu cta">Меню</p>
|
||||
</header>
|
||||
<div id="container">
|
||||
@ -54,7 +51,7 @@
|
||||
<a href="{% url 'leaderboard' %}">Класация</a>
|
||||
<a href="#">За нас</a>
|
||||
{% if user.is_authenticated %}
|
||||
<a href="{% url 'logout' %}">Излез!</a>
|
||||
<a href="{% url 'logout' %}">Излез!</a>
|
||||
{% else %}
|
||||
<a href="{% url 'login' %}">Влез!</a>
|
||||
{% endif %}
|
||||
@ -64,13 +61,13 @@
|
||||
{% if user.is_authenticated %}
|
||||
<a href="{% url 'Image' %}">Качи</a>
|
||||
<a href="{% url 'Media' %}">Прогрес</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
<script type="text/javascript" src="{% static 'home/js/mobile.js' %}"></script>
|
||||
</div>
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!-- templates/home.html -->
|
||||
{% extends 'base.html' %}
|
||||
|
||||
{% block title %}Home{% endblock %}
|
||||
|
||||
{% block optionalParams%}
|
||||
<style>
|
||||
.checkmark__circle {
|
||||
@ -13,7 +13,7 @@
|
||||
fill: none;
|
||||
animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
|
||||
}
|
||||
|
||||
|
||||
.checkmark {
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
@ -26,14 +26,14 @@
|
||||
box-shadow: inset 0px 0px 0px #7ac142;
|
||||
animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
|
||||
}
|
||||
|
||||
|
||||
.checkmark__check {
|
||||
transform-origin: 50% 50%;
|
||||
stroke-dasharray: 48;
|
||||
stroke-dashoffset: 48;
|
||||
animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
|
||||
}
|
||||
|
||||
|
||||
@keyframes stroke {
|
||||
100% {
|
||||
stroke-dashoffset: 0;
|
||||
@ -56,17 +56,18 @@
|
||||
</style>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="centered" style="text-align: center;">
|
||||
|
||||
{% if user.is_authenticated %}
|
||||
{% if userBalance %}
|
||||
<h1 style="color:#7ac142;">Транзакцията е записана успешно!</h1>
|
||||
Кликни <a style="color:#7ac142;"href="/remove_balance/">тук</a>, ако искаш да запишеш нова!
|
||||
<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"/>
|
||||
<path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"/>
|
||||
</svg>
|
||||
Кликни <a style="color:#7ac142;"href="/remove_balance/">тук</a>, ако искаш да запишеш нова!
|
||||
<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"/>
|
||||
<path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"/>
|
||||
</svg>
|
||||
{% endif %}
|
||||
<div>
|
||||
{{ qr_code }}
|
||||
|
@ -1,4 +1,8 @@
|
||||
{% extends 'base.html' %}
|
||||
|
||||
{% load qr_code %}
|
||||
{% load static %}
|
||||
|
||||
{% block optionalParams %}
|
||||
<style>
|
||||
html{
|
||||
@ -11,8 +15,7 @@
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
{% load qr_code %}
|
||||
{% load static %}
|
||||
|
||||
{% block content %}
|
||||
<div id="page-wrap">
|
||||
<h1 class="heading">reValuate</h1>
|
||||
@ -63,4 +66,4 @@
|
||||
</div>
|
||||
<footer>Frontend, backend and planning:<br> <a class="footer" href="https://yamozha.xyz">Boyan</a></footer>
|
||||
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
@ -1,17 +1,18 @@
|
||||
{% extends 'base.html' %}
|
||||
|
||||
{% block title %}Класация{% endblock %}
|
||||
|
||||
{% block optionalParams %}
|
||||
<style>
|
||||
|
||||
html{
|
||||
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;
|
||||
-moz-background-size: cover;
|
||||
-o-background-size: cover;
|
||||
background-size: cover;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
|
||||
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;
|
||||
-moz-background-size: cover;
|
||||
-o-background-size: cover;
|
||||
background-size: cover;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
|
||||
}
|
||||
.content{
|
||||
position: absolute;
|
||||
@ -74,4 +75,4 @@ ul{
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
@ -3,15 +3,15 @@
|
||||
{% block title %}Login{% endblock %}
|
||||
{% block optionalParams %}
|
||||
<style>
|
||||
html{
|
||||
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;
|
||||
-moz-background-size: cover;
|
||||
-o-background-size: cover;
|
||||
background-size: cover;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
html{
|
||||
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;
|
||||
-moz-background-size: cover;
|
||||
-o-background-size: cover;
|
||||
background-size: cover;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
|
||||
}
|
||||
}
|
||||
.buttons{
|
||||
background-color: #469330;
|
||||
border: none;
|
||||
|
@ -5,17 +5,17 @@
|
||||
<style>
|
||||
|
||||
html{
|
||||
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;
|
||||
-moz-background-size: cover;
|
||||
-o-background-size: cover;
|
||||
background-size: cover;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
}
|
||||
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;
|
||||
-moz-background-size: cover;
|
||||
-o-background-size: cover;
|
||||
background-size: cover;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
}
|
||||
#page-wrap{
|
||||
padding: 20vh;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
|
@ -1,6 +1,8 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load static %}
|
||||
|
||||
{% block title %} My Images {% endblock %}
|
||||
|
||||
{% block optionalParams %}
|
||||
<link rel="stylesheet" href="{% static 'home/css/gallery.css' %}">
|
||||
<style>
|
||||
@ -28,21 +30,21 @@
|
||||
<div class="transparent-box">
|
||||
<div class="caption">
|
||||
{% if i.reason %}
|
||||
<p> ❌ Видеото ти е маркирана като невалидно.</p>
|
||||
<p> ❌ Видеото ти е маркирана като невалидно.</p>
|
||||
<p class="opacity-low">Ако мислиш че има грешка ни изпратете <a href="mailto:boyan+revaluate@bobokara.com">имейл.</a></p>
|
||||
|
||||
|
||||
{% elif i.tokenized %}
|
||||
<p > ✅ Видеото ти е валидно!</p>
|
||||
<p class="opacity-low">Провери баланса си!</p>
|
||||
|
||||
|
||||
{% else %}
|
||||
<p> ⏳ Видеото ти очаква обработка!</p>
|
||||
|
||||
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% else %}
|
||||
<div class="gallery-image popup">
|
||||
<div class="img-box">
|
||||
@ -50,20 +52,20 @@
|
||||
<div class="transparent-box">
|
||||
<div class="caption">
|
||||
{% if i.reason %}
|
||||
<p> ❌ Снимката ти е маркирана като невалидна.</p>
|
||||
<p> ❌ Снимката ти е маркирана като невалидна.</p>
|
||||
<p class="opacity-low">Ако мислиш че има грешка ни изпратете <a href="mailto:boyan+revaluate@bobokara.com">имейл.</a></p>
|
||||
|
||||
|
||||
{% elif i.tokenized %}
|
||||
<p > ✅ Снимката ти е валидна!</p>
|
||||
<p class="opacity-low">Провери баланса си!</p>
|
||||
|
||||
|
||||
{% else %}
|
||||
<p> ⏳ Снимката ти очаква обработка!</p>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--
|
||||
<!--
|
||||
<p style="text-shadow: 0 0 2px #28a745; float: left;">{{forloop.counter}}/{{img_number}} <p style="text-shadow: 0 0 2px #28a745; float: right;">{{i.date}}</p></p> -->
|
||||
<!-- <br><br>
|
||||
-->
|
||||
|
@ -12,7 +12,7 @@
|
||||
fill: none;
|
||||
animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
|
||||
}
|
||||
|
||||
|
||||
.checkmark {
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
@ -25,14 +25,14 @@
|
||||
box-shadow: inset 0px 0px 0px #7ac142;
|
||||
animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
|
||||
}
|
||||
|
||||
|
||||
.checkmark__check {
|
||||
transform-origin: 50% 50%;
|
||||
stroke-dasharray: 48;
|
||||
stroke-dashoffset: 48;
|
||||
animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
|
||||
}
|
||||
|
||||
|
||||
@keyframes stroke {
|
||||
100% {
|
||||
stroke-dashoffset: 0;
|
||||
@ -70,35 +70,35 @@
|
||||
}
|
||||
|
||||
.closebtn:hover {
|
||||
color: black;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.buttons{
|
||||
margin-top: 10%;
|
||||
background-color: #469330;
|
||||
border: none;
|
||||
color: white;
|
||||
padding: 15px 32px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
margin: 4px 2px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.buttons{
|
||||
margin-top: 10%;
|
||||
background-color: #469330;
|
||||
border: none;
|
||||
color: white;
|
||||
padding: 15px 32px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
margin: 4px 2px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
html{
|
||||
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;
|
||||
-moz-background-size: cover;
|
||||
-o-background-size: cover;
|
||||
background-size: cover;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
}
|
||||
html{
|
||||
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;
|
||||
-moz-background-size: cover;
|
||||
-o-background-size: cover;
|
||||
background-size: cover;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
#page-wrap{
|
||||
padding: 20vh;
|
||||
}
|
||||
#page-wrap{
|
||||
padding: 20vh;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@ -121,7 +121,7 @@
|
||||
<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"/>
|
||||
</svg>
|
||||
{% else %}
|
||||
{% else %}
|
||||
<form method="post" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
<label for="image" style="font-size: 32px;">Качи снимка! </label><br><br><br>
|
||||
@ -131,7 +131,7 @@
|
||||
</form>
|
||||
<br><br>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% else %}
|
||||
<p>You are not logged in</p>
|
||||
<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