Compare commits

...
This repository has been archived on 2022-03-12. You can view files and clone it, but cannot push or open issues or pull requests.

28 Commits

Author SHA1 Message Date
Yamozha
fe7d2101e2 fuck this dumbass site 2021-09-10 19:28:50 +03:00
Yamozha
d36405c0a8 Merge branch 'specto-fixes' into main 2021-09-10 17:35:42 +03:00
Yamozha
8d928873a6 fixed up some minor details 2021-09-10 17:26:17 +03:00
Yamozha
0ed9c2daed changed the whole idea around the media viewing 2021-08-31 17:53:33 +03:00
Velichko Karakostov
39700082e1
Use aggregation for all_balance 2021-08-31 14:36:24 +03:00
Velichko Karakostov
53c35377c6
Enable build-in django admin at /administrator 2021-08-31 14:35:47 +03:00
Velichko Karakostov
2e4f3efe7d
Format CSS 2021-08-31 13:27:38 +03:00
Velichko Karakostov
a6241563c7
Add editorconfig 2021-08-28 12:21:49 +03:00
Velichko Karakostov
88d8de76ec
Templates basic formatting 2021-08-28 00:41:10 +03:00
Velichko Karakostov
a1e8c902e2
CSS basic reformat 2021-08-28 00:24:31 +03:00
Velichko Karakostov
4a279e0161
Remove compiled bytecode from repo 2021-08-27 23:56:44 +03:00
Yamozha
31f5eaa66b Getting ready for release!
- fixed up the design
- started work on api
- fixed some design issues
gallery coming soon!
2021-08-27 20:40:01 +03:00
root
bfbf4fe5f7 Fixed up the API a lil bit 2021-08-14 14:17:11 +00:00
Yamozha
bb221f7ee0 remade the leaderboard, changed up some of the base html, menu will now always show up 2021-07-31 05:00:06 +03:00
Yamozha
46256d328e small adjustments 2021-07-21 00:16:44 +03:00
Yamozha
9c4b37d775 made leaderboard 2021-07-12 16:56:06 +03:00
Yamozha
5cf410c03e test commit 2021-07-12 16:01:15 +03:00
Yamozha
6170cf9d05 added leaderboard and tweaked a bunch of other things 2021-07-12 15:59:31 +03:00
Yamozha
4a1ab4bed5 began redesigning implementation and deframeworkifying 2021-07-12 04:17:38 +03:00
root
2687233eda added discord and some other stuff 2021-07-05 21:14:30 +00:00
Yamozha
cbe88e2ec6 twiddled with the front end a bit, a lot more work to do 2021-06-30 03:43:13 +03:00
Yamozha
ce7bfa15a4 readme update 2021-06-30 02:29:51 +03:00
Yamozha
31479d2fc5 readme update 2021-06-30 02:29:24 +03:00
Yamozha
54635a9f53 readme update 2021-06-30 02:26:12 +03:00
Yamozha
c6cdff7e74 readme 2021-06-30 02:04:11 +03:00
Yamozha
e48ebb4a31 cleaned up + readme update 2021-06-30 02:03:35 +03:00
Yamozha
a3587a27b8 cleaned up 2021-06-30 01:58:43 +03:00
Yamozha
7dbab97c06 updated requirements 2021-06-30 01:55:33 +03:00
256 changed files with 7470 additions and 5005 deletions

5
.editorconfig Normal file
View File

@ -0,0 +1,5 @@
root = true
[*.{js,css}]
indent_style = space
indent_size = 2

5
.gitignore vendored
View File

@ -1 +1,6 @@
__django
reValuate/db.sqlite3
*.sqlite3
*/media/*
*.pyc
*.sqlite3

View File

@ -1,16 +1,14 @@
# CurrencySite
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
School project for helping people consider throwing their trash out in the right bins, in order to help out with recycling.
# reValuate
[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-) [![Eduteh](https://img.shields.io/badge/Eduteh-Online-green?style=flat-square)](https://revaluate.eduteh.eu) [![Discord Chat](https://img.shields.io/discord/859570795972919337?style=flat-square)](https://discord.gg/eX5wmJuMVp)
School project for helping people consider throwing their trash out in the right bins, in order to help out with recycling.
Check out my blog post over [here](https://yamozha.xyz/revaluate/)
## Contributors ✨
Thanks goes to these wonderful people :
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
@ -22,9 +20,5 @@ Thanks goes to these wonderful people :
</tr>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->

View File

@ -6,8 +6,15 @@ from users.models import Balance
from upload.models import Media
from .serializers import BalanceSerializer, ImageSerializer
class AllBalance(viewsets.ModelViewSet):
serializer_class = BalanceSerializer
http_method_names = ['get']
def get_queryset(self):
return Balance.objects.all()
class BalanceView(viewsets.ModelViewSet):
permission_classes = [permissions.IsAuthenticated]
serializer_class = BalanceSerializer
http_method_names = ['get']
@ -16,7 +23,6 @@ class BalanceView(viewsets.ModelViewSet):
class ImageView(viewsets.ModelViewSet):
permission_classes = [permissions.IsAuthenticated]
serializer_class = ImageSerializer
http_method_names = ['get','post']

View File

@ -1 +0,0 @@
232

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,127 @@
.popup {
width: 900px;
margin: auto;
text-align: center;
}
.popup img {
width: 200px;
height: 200px;
cursor: pointer;
}
.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 .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 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; }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -1,22 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000px" height="1000px" viewBox="0 0 1000 1000" zoomAndPan="disable">
<style type="text/css"><![CDATA[
.p-4 { fill: rgba(255,255,255,0.16); }
.p-3 { fill: rgba(255,255,255,0.12); }
.p-2 { fill: rgba(255,255,255,0.08); }
.p-1 { fill: rgba(255,255,255,0.04); }
.p0 { fill: none; }
.p1 { fill: rgba(0,0,0,0.025); }
.p2 { fill: rgba(0,0,0,0.05); }
.p3 { fill: rgba(0,0,0,0.075); }
.p4 { fill: rgba(0,0,0,0.1); }
]]></style>
<polygon class="p-4" points="-1125,0 -375,1000 125,1000 -875,0" />
<polygon class="p-3" points="-875,0 125,1000 375,1000 -625,0" />
<polygon class="p-2" points="-625,0 375,1000 625,1000 -375,0" />
<polygon class="p-1" points="-375,0 625,1000 875,1000 -125,0" />
<polygon class="p0" points="-125,0 875,1000 1125,1000 125,0" />
<polygon class="p1" points="125,0 1125,1000 1375,1000 375,0" />
<polygon class="p2" points="375,0 1375,1000 1625,1000 625,0" />
<polygon class="p3" points="625,0 1625,1000 1875,1000 875,0" />
<polygon class="p4" points="875,0 1875,1000 2125,1000 1125,0" />
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1,22 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000px" height="1000px" viewBox="0 0 1000 1000" zoomAndPan="disable">
<style type="text/css"><![CDATA[
.p-4 { fill: rgba(255,255,255,0.16); }
.p-3 { fill: rgba(255,255,255,0.12); }
.p-2 { fill: rgba(255,255,255,0.08); }
.p-1 { fill: rgba(255,255,255,0.04); }
.p0 { fill: none; }
.p1 { fill: rgba(0,0,0,0.025); }
.p2 { fill: rgba(0,0,0,0.05); }
.p3 { fill: rgba(0,0,0,0.075); }
.p4 { fill: rgba(0,0,0,0.1); }
]]></style>
<polygon class="p4" points="-1125,0 -375,1000 125,1000 -875,0" />
<polygon class="p3" points="-875,0 125,1000 375,1000 -625,0" />
<polygon class="p2" points="-625,0 375,1000 625,1000 -375,0" />
<polygon class="p1" points="-375,0 625,1000 875,1000 -125,0" />
<polygon class="p0" points="-125,0 875,1000 1125,1000 125,0" />
<polygon class="p-1" points="125,0 1125,1000 1375,1000 375,0" />
<polygon class="p-2" points="375,0 1375,1000 1625,1000 625,0" />
<polygon class="p-3" points="625,0 1625,1000 1875,1000 875,0" />
<polygon class="p-4" points="875,0 1875,1000 2125,1000 1125,0" />
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

File diff suppressed because it is too large Load Diff

View File

@ -1,27 +0,0 @@
/*
Photon by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/
/* Header */
body.is-preload #header .inner {
-moz-transform: none;
-webkit-transform: none;
-ms-transform: none;
transform: none;
opacity: 1;
}
body.is-preload #header .inner .actions {
-moz-transform: none;
-webkit-transform: none;
-ms-transform: none;
transform: none;
opacity: 1;
}
body.is-preload #header:after {
opacity: 0;
}

View File

@ -1,127 +1,323 @@
@import url(https://fonts.googleapis.com/css?family=Roboto:300);
:root {
--base-grid: 8px;
--colour-white: #fff;
--colour-black: #1a1a1a;
}
@viewport {
width: device-width ;
zoom: 1.0 ;
}
*,
:after,
:before {
* {
box-sizing: border-box;
}
html {
margin: 0;
padding: 0;
background-position: 100%;
scroll-behavior: smooth;
}
.centered {
#page-wrap {
max-width: 1200px;
margin: 50px auto;
padding: 20px;
background: white;
-moz-box-shadow: 0 0 20px #469330;
-webkit-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;
align-items: center;
padding: 30px 10%;
background-color: #469330;
position: sticky;
}
.logo {
cursor: pointer;
}
.nav__links a,
.cta,
.overlay__content a {
font-family: Arial, Helvetica, sans-serif;
font-weight: 500;
font-size:30px;
color: #edf0f1;
text-decoration: none;
}
.nav__links {
list-style: none;
display: flex;
}
.nav__links li {
padding: 0px 20px;
}
.nav__links li a {
transition: color 0.3s ease 0s;
}
.nav__links li a:hover {
color: black;
}
.cta {
padding: 9px 25px;
color: #469330;
background-color: white;
border: none;
border-radius: 50px;
cursor: pointer;
transition: background-color 0.3s ease 0s;
}
.cta:hover {
color: white;
background-color: darkgreen;
}
/* Mobile Nav */
.menu {
display: none;
}
.overlay {
height: 100%;
width: 0;
position: fixed;
z-index: 99;
left: 0;
top: 0;
background-color: #469330;
overflow-x: hidden;
transition: width 0.5s ease 0s;
}
.overlay--active {
width: 100%;
}
.overlay__content {
display: flex;
height: 100%;
flex-direction: column;
align-items: center;
justify-content: center;
}
.overlay a {
padding: 15px;
font-size: 36px;
display: block;
transition: color 0.3s ease 0s;
}
.overlay a:hover,
.overlay a:focus {
color: darkgreen;
}
.overlay .close {
position: absolute;
left: 50%;
margin-right: -50%;
transform: translate(-50%, -50%);
top: 50%;
}
.dropdown-item{
font-size:100%
}
body{
font-size: 1.2em;
font-family: 'Roboto', sans-serif;
line-height: 1.4;
top: 20px;
right: 45px;
font-size: 60px;
color: #edf0f1;
}
.navview{
width:100%;
}
#active {
background-color: #4CAF50;
}
.nav-link {
color: white;
font-size: 30px;
transition: 0.6s;
}
a:hover {
color: black;
}
a.inverted {
color: black;
font-size: 30px;
transition: 0.6s;
}
a.inverted:hover {
color: green;
}
@media (min-width: 992px) {
.animate {
animation-duration: 0.3s;
-webkit-animation-duration: 0.3s;
animation-fill-mode: both;
-webkit-animation-fill-mode: both;
@media screen and (max-height: 450px) {
.overlay a {
font-size: 20px;
}
.overlay .close {
font-size: 40px;
top: 15px;
right: 35px;
}
}
@keyframes slideIn {
@media only screen and (max-width: 1024px) {
.nav__links,
.cta {
display: none;
}
.menu {
display: initial;
}
}
html{
font-family: Arial, Helvetica, sans-serif;
}
p {
font-family: Arial, Helvetica, sans-serif;
margin: 0 0 30px 0;
}
h1.heading{
color: white;
font-size: 50px;
text-shadow: -1px 0 black, 0 2px black, 2px 0 black, 0 -1px black;
}
ul.emoji{
list-style-type: "♻️";
}
.question{
color: gray;
font-size: 20px;
}
ul.nothing{
list-style-type: none;
}
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;
}
footer{
font-size: small;
text-align: center;
left:50%;
}
.centered{
display:flex;
}
@-webkit-keyframes text-shadow-pop-right {
0% {
text-shadow: 0 0 #555,0 0 #555,0 0 #555,0 0 #555,0 0 #555,0 0 #555,0 0 #555,0 0 #555;
-webkit-transform: translateX(0);
transform: translateX(0)
}
100% {
text-shadow: 1px 0 #555,2px 0 #555,3px 0 #555,4px 0 #555,5px 0 #555,6px 0 #555,7px 0 #555,8px 0 #555;
-webkit-transform: translateX(-8px);
transform: translateX(-8px)
}
}
@keyframes text-shadow-pop-right {
0% {
text-shadow: 0 0 #555,0 0 #555,0 0 #555,0 0 #555,0 0 #555,0 0 #555,0 0 #555,0 0 #555;
-webkit-transform: translateX(0);
transform: translateX(0)
}
100% {
text-shadow: 1px 0 #555,2px 0 #555,3px 0 #555,4px 0 #555,5px 0 #555,6px 0 #555,7px 0 #555,8px 0 #555;
-webkit-transform: translateX(-8px);
transform: translateX(-8px)
}
}
.text-shadow-pop-right{-webkit-animation:text-shadow-pop-right .6s both;animation:text-shadow-pop-right .6s both}
@-webkit-keyframes scale-in-center {
0% {
transform: translateY(1rem);
opacity: 0;
}
100% {
transform:translateY(0rem);
-webkit-transform: scale(0);
transform: scale(0);
opacity: 1;
}
0% {
transform: translateY(1rem);
opacity: 0;
100% {
-webkit-transform: scale(1);
transform: scale(1);
opacity: 1;
}
}
@-webkit-keyframes slideIn {
@keyframes scale-in-center {
0% {
-webkit-transform: transform;
-webkit-opacity: 0;
-webkit-transform: scale(0);
transform: scale(0);
opacity: 1;
}
100% {
-webkit-transform: translateY(0);
-webkit-opacity: 1;
}
0% {
-webkit-transform: translateY(1rem);
-webkit-opacity: 0;
-webkit-transform: scale(1);
transform: scale(1);
opacity: 1;
}
}
.slideIn {
-webkit-animation-name: slideIn;
animation-name: slideIn;
.scale-in-center {
-webkit-animation: scale-in-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
animation: scale-in-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
.Buttons {
background-color: #ddd;
.buttons{
background-color: #469330;
border: none;
color: black;
padding: 16px 32px;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
transition: 0.3s;
cursor: pointer;
}
.Buttons:hover {
background-color: #28a745;
color: white;
@-webkit-keyframes tracking-in-expand {
0% {
letter-spacing: -0.5em;
opacity: 0;
}
40% {
opacity: 0.6;
}
100% {
opacity: 1;
}
}
@keyframes tracking-in-expand {
0% {
letter-spacing: -0.5em;
opacity: 0;
}
40% {
opacity: 0.6;
}
100% {
opacity: 1;
}
}
.tracking-in-expand {
-webkit-animation: tracking-in-expand 0.7s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
animation: tracking-in-expand 0.7s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
animation-delay: .3s;
}
@-webkit-keyframes fade-in-bck {
0% {
-webkit-transform: translateZ(80px);
transform: translateZ(80px);
opacity: 0;
}
100% {
-webkit-transform: translateZ(0);
transform: translateZ(0);
opacity: 1;
}
}
@keyframes fade-in-bck {
0% {
-webkit-transform: translateZ(80px);
transform: translateZ(80px);
opacity: 0;
}
100% {
-webkit-transform: translateZ(0);
transform: translateZ(0);
opacity: 1;
}
}
.fade-in-bck {
-webkit-animation: fade-in-bck 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
animation: fade-in-bck 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}

View File

@ -1,30 +0,0 @@
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
.fancyButton {
border: auto solid green;
background-color: transparent;
padding: 38% 35%;
text-align: center;
border-radius: 2%;
transition-duration: 0.4s;
color: rgb(0, 0, 0);
outline: none;
font-family: 'Roboto', sans-serif !important;
font-size: 30px;
box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
}
.fancyButton:hover {
background-image: url("images/header.png"), linear-gradient( 292.6deg, rgba(255,255,255,1) -44.1%, rgba(40,167,69,1) 100.5% );
color: white;
}
button:focus {
outline: none;
}
button {
margin: auto;
width: auto;
height: auto;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 359.29 332.18"><defs><style>.cls-1{fill:#b2b2b2;}.cls-2{fill:#fff;}</style></defs><title>asset bobkata</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path class="cls-1" d="M90.63,180.08c6.41,84.48,87.6,77.47,87.6,77.47l8.14,53.1s-47.84,21.21-107.53-31.57c0,0-46.08-36.15-39.07-107.25L11,166.29,70.62,98.87l55.78,88.36Z"/><path class="cls-1" d="M238.65,68c-74.16-41-112.82,30.77-112.82,30.77L77,76.47s8.49-51.64,85.36-72.6c0,0,55.51-18.71,111.11,26.14L293.85,9l23.69,86.83L213.06,94Z"/><path class="cls-1" d="M262.84,252.17C333.61,205.59,288.09,138,288.09,138l42.49-32.87s41.75,31.54,24.55,109.34c0,0-9.27,57.83-74.83,86.19l9.11,27.85-87.88-19.43,50.21-91.64Z"/><path class="cls-2" d="M79.63,183.77c6.41,84.48,87.6,77.46,87.6,77.46l8.14,53.11s-47.84,21.21-107.53-31.57c0,0-46.08-36.16-39.07-107.25L0,170l59.62-67.42,55.78,88.35Z"/><path class="cls-2" d="M227.65,72c-74.16-41-112.82,30.77-112.82,30.77L66,80.47s8.49-51.64,85.36-72.6c0,0,55.51-18.71,111.11,26.14l20.41-21,23.69,86.83L202.06,98Z"/><path class="cls-2" d="M251.84,255.86c70.77-46.58,25.25-114.18,25.25-114.18l42.49-32.88s41.75,31.55,24.55,109.35c0,0-9.27,57.83-74.83,86.19l9.11,27.84-87.88-19.43,50.21-91.64Z"/><path class="cls-1" d="M231.05,217.82H203.72l-21-31.86v31.86h-22v-83h34.21q15,0,22.18,8.82a25.54,25.54,0,0,1,5.83,16.72q0,11-6.69,17.57-4.28,4.2-11.78,5.84Zm-31-56.53a10,10,0,0,0-3.29-7.57q-3.1-2.9-10-2.9h-4.09v21h4.09q6.94,0,10-2.89A10.19,10.19,0,0,0,200.07,161.29Z"/><path class="cls-2" d="M224.05,214.82H196.72l-21-31.86v31.86h-22v-83h34.21q15,0,22.18,8.82a25.54,25.54,0,0,1,5.83,16.72q0,11-6.69,17.57-4.28,4.2-11.78,5.84Zm-31-56.53a10,10,0,0,0-3.29-7.57q-3.1-2.9-10-2.9h-4.09v21h4.09q6.94,0,10-2.89A10.19,10.19,0,0,0,193.07,158.29Z"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

View File

@ -1,2 +0,0 @@
/* breakpoints.js v1.0 | @ajlkn | MIT licensed */
var breakpoints=function(){"use strict";function e(e){t.init(e)}var t={list:null,media:{},events:[],init:function(e){t.list=e,window.addEventListener("resize",t.poll),window.addEventListener("orientationchange",t.poll),window.addEventListener("load",t.poll),window.addEventListener("fullscreenchange",t.poll)},active:function(e){var n,a,s,i,r,d,c;if(!(e in t.media)){if(">="==e.substr(0,2)?(a="gte",n=e.substr(2)):"<="==e.substr(0,2)?(a="lte",n=e.substr(2)):">"==e.substr(0,1)?(a="gt",n=e.substr(1)):"<"==e.substr(0,1)?(a="lt",n=e.substr(1)):"!"==e.substr(0,1)?(a="not",n=e.substr(1)):(a="eq",n=e),n&&n in t.list)if(i=t.list[n],Array.isArray(i)){if(r=parseInt(i[0]),d=parseInt(i[1]),isNaN(r)){if(isNaN(d))return;c=i[1].substr(String(d).length)}else c=i[0].substr(String(r).length);if(isNaN(r))switch(a){case"gte":s="screen";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: -1px)";break;case"not":s="screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (max-width: "+d+c+")"}else if(isNaN(d))switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen";break;case"gt":s="screen and (max-width: -1px)";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+")";break;default:s="screen and (min-width: "+r+c+")"}else switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+"), screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (min-width: "+r+c+") and (max-width: "+d+c+")"}}else s="("==i.charAt(0)?"screen and "+i:i;t.media[e]=!!s&&s}return t.media[e]!==!1&&window.matchMedia(t.media[e]).matches},on:function(e,n){t.events.push({query:e,handler:n,state:!1}),t.active(e)&&n()},poll:function(){var e,n;for(e=0;e<t.events.length;e++)n=t.events[e],t.active(n.query)?n.state||(n.state=!0,n.handler()):n.state&&(n.state=!1)}};return e._=t,e.on=function(e,n){t.on(e,n)},e.active=function(e){return t.active(e)},e}();!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.breakpoints=t()}(this,function(){return breakpoints});

View File

@ -1,2 +0,0 @@
/* browser.js v1.0 | @ajlkn | MIT licensed */
var browser=function(){"use strict";var e={name:null,version:null,os:null,osVersion:null,touch:null,mobile:null,_canUse:null,canUse:function(n){e._canUse||(e._canUse=document.createElement("div"));var o=e._canUse.style,r=n.charAt(0).toUpperCase()+n.slice(1);return n in o||"Moz"+r in o||"Webkit"+r in o||"O"+r in o||"ms"+r in o},init:function(){var n,o,r,i,t=navigator.userAgent;for(n="other",o=0,r=[["firefox",/Firefox\/([0-9\.]+)/],["bb",/BlackBerry.+Version\/([0-9\.]+)/],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/],["opera",/OPR\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)/],["edge",/Edge\/([0-9\.]+)/],["safari",/Version\/([0-9\.]+).+Safari/],["chrome",/Chrome\/([0-9\.]+)/],["ie",/MSIE ([0-9]+)/],["ie",/Trident\/.+rv:([0-9]+)/]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(RegExp.$1);break}for(e.name=n,e.version=o,n="other",o=0,r=[["ios",/([0-9_]+) like Mac OS X/,function(e){return e.replace("_",".").replace("_","")}],["ios",/CPU like Mac OS X/,function(e){return 0}],["wp",/Windows Phone ([0-9\.]+)/,null],["android",/Android ([0-9\.]+)/,null],["mac",/Macintosh.+Mac OS X ([0-9_]+)/,function(e){return e.replace("_",".").replace("_","")}],["windows",/Windows NT ([0-9\.]+)/,null],["bb",/BlackBerry.+Version\/([0-9\.]+)/,null],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/,null],["linux",/Linux/,null],["bsd",/BSD/,null],["unix",/X11/,null]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(r[i][2]?r[i][2](RegExp.$1):RegExp.$1);break}e.os=n,e.osVersion=o,e.touch="wp"==e.os?navigator.msMaxTouchPoints>0:!!("ontouchstart"in window),e.mobile="wp"==e.os||"android"==e.os||"ios"==e.os||"bb"==e.os}};return e.init(),e}();!function(e,n){"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?module.exports=n():e.browser=n()}(this,function(){return browser});

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
/* jquery.scrolly v1.0.0-dev | (c) @ajlkn | MIT licensed */
(function(e){function u(s,o){var u,a,f;if((u=e(s))[t]==0)return n;a=u[i]()[r];switch(o.anchor){case"middle":f=a-(e(window).height()-u.outerHeight())/2;break;default:case r:f=Math.max(a,0)}return typeof o[i]=="function"?f-=o[i]():f-=o[i],f}var t="length",n=null,r="top",i="offset",s="click.scrolly",o=e(window);e.fn.scrolly=function(i){var o,a,f,l,c=e(this);if(this[t]==0)return c;if(this[t]>1){for(o=0;o<this[t];o++)e(this[o]).scrolly(i);return c}l=n,f=c.attr("href");if(f.charAt(0)!="#"||f[t]<2)return c;a=jQuery.extend({anchor:r,easing:"swing",offset:0,parent:e("body,html"),pollOnce:!1,speed:1e3},i),a.pollOnce&&(l=u(f,a)),c.off(s).on(s,function(e){var t=l!==n?l:u(f,a);t!==n&&(e.preventDefault(),a.parent.stop().animate({scrollTop:t},a.speed,a.easing))})}})(jQuery);

View File

@ -1,32 +0,0 @@
/*
Photon by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/
(function($) {
var $window = $(window),
$body = $('body');
// Breakpoints.
breakpoints({
xlarge: [ '1141px', '1680px' ],
large: [ '981px', '1140px' ],
medium: [ '737px', '980px' ],
small: [ '481px', '736px' ],
xsmall: [ '321px', '480px' ],
xxsmall: [ null, '320px' ]
});
// Play initial animations on page load.
$window.on('load', function() {
window.setTimeout(function() {
$body.removeClass('is-preload');
}, 100);
});
// Scrolly.
$('.scrolly').scrolly();
})(jQuery);

View File

@ -0,0 +1,12 @@
const doc = document;
const menuOpen = doc.querySelector(".menu");
const menuClose = doc.querySelector(".close");
const overlay = doc.querySelector(".overlay");
menuOpen.addEventListener("click", () => {
overlay.classList.add("overlay--active");
});
menuClose.addEventListener("click", () => {
overlay.classList.remove("overlay--active");
});

View File

@ -1,587 +0,0 @@
(function($) {
/**
* Generate an indented list of links from a nav. Meant for use with panel().
* @return {jQuery} jQuery object.
*/
$.fn.navList = function() {
var $this = $(this);
$a = $this.find('a'),
b = [];
$a.each(function() {
var $this = $(this),
indent = Math.max(0, $this.parents('li').length - 1),
href = $this.attr('href'),
target = $this.attr('target');
b.push(
'<a ' +
'class="link depth-' + indent + '"' +
( (typeof target !== 'undefined' && target != '') ? ' target="' + target + '"' : '') +
( (typeof href !== 'undefined' && href != '') ? ' href="' + href + '"' : '') +
'>' +
'<span class="indent-' + indent + '"></span>' +
$this.text() +
'</a>'
);
});
return b.join('');
};
/**
* Panel-ify an element.
* @param {object} userConfig User config.
* @return {jQuery} jQuery object.
*/
$.fn.panel = function(userConfig) {
// No elements?
if (this.length == 0)
return $this;
// Multiple elements?
if (this.length > 1) {
for (var i=0; i < this.length; i++)
$(this[i]).panel(userConfig);
return $this;
}
// Vars.
var $this = $(this),
$body = $('body'),
$window = $(window),
id = $this.attr('id'),
config;
// Config.
config = $.extend({
// Delay.
delay: 0,
// Hide panel on link click.
hideOnClick: false,
// Hide panel on escape keypress.
hideOnEscape: false,
// Hide panel on swipe.
hideOnSwipe: false,
// Reset scroll position on hide.
resetScroll: false,
// Reset forms on hide.
resetForms: false,
// Side of viewport the panel will appear.
side: null,
// Target element for "class".
target: $this,
// Class to toggle.
visibleClass: 'visible'
}, userConfig);
// Expand "target" if it's not a jQuery object already.
if (typeof config.target != 'jQuery')
config.target = $(config.target);
// Panel.
// Methods.
$this._hide = function(event) {
// Already hidden? Bail.
if (!config.target.hasClass(config.visibleClass))
return;
// If an event was provided, cancel it.
if (event) {
event.preventDefault();
event.stopPropagation();
}
// Hide.
config.target.removeClass(config.visibleClass);
// Post-hide stuff.
window.setTimeout(function() {
// Reset scroll position.
if (config.resetScroll)
$this.scrollTop(0);
// Reset forms.
if (config.resetForms)
$this.find('form').each(function() {
this.reset();
});
}, config.delay);
};
// Vendor fixes.
$this
.css('-ms-overflow-style', '-ms-autohiding-scrollbar')
.css('-webkit-overflow-scrolling', 'touch');
// Hide on click.
if (config.hideOnClick) {
$this.find('a')
.css('-webkit-tap-highlight-color', 'rgba(0,0,0,0)');
$this
.on('click', 'a', function(event) {
var $a = $(this),
href = $a.attr('href'),
target = $a.attr('target');
if (!href || href == '#' || href == '' || href == '#' + id)
return;
// Cancel original event.
event.preventDefault();
event.stopPropagation();
// Hide panel.
$this._hide();
// Redirect to href.
window.setTimeout(function() {
if (target == '_blank')
window.open(href);
else
window.location.href = href;
}, config.delay + 10);
});
}
// Event: Touch stuff.
$this.on('touchstart', function(event) {
$this.touchPosX = event.originalEvent.touches[0].pageX;
$this.touchPosY = event.originalEvent.touches[0].pageY;
})
$this.on('touchmove', function(event) {
if ($this.touchPosX === null
|| $this.touchPosY === null)
return;
var diffX = $this.touchPosX - event.originalEvent.touches[0].pageX,
diffY = $this.touchPosY - event.originalEvent.touches[0].pageY,
th = $this.outerHeight(),
ts = ($this.get(0).scrollHeight - $this.scrollTop());
// Hide on swipe?
if (config.hideOnSwipe) {
var result = false,
boundary = 20,
delta = 50;
switch (config.side) {
case 'left':
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX > delta);
break;
case 'right':
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX < (-1 * delta));
break;
case 'top':
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY > delta);
break;
case 'bottom':
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY < (-1 * delta));
break;
default:
break;
}
if (result) {
$this.touchPosX = null;
$this.touchPosY = null;
$this._hide();
return false;
}
}
// Prevent vertical scrolling past the top or bottom.
if (($this.scrollTop() < 0 && diffY < 0)
|| (ts > (th - 2) && ts < (th + 2) && diffY > 0)) {
event.preventDefault();
event.stopPropagation();
}
});
// Event: Prevent certain events inside the panel from bubbling.
$this.on('click touchend touchstart touchmove', function(event) {
event.stopPropagation();
});
// Event: Hide panel if a child anchor tag pointing to its ID is clicked.
$this.on('click', 'a[href="#' + id + '"]', function(event) {
event.preventDefault();
event.stopPropagation();
config.target.removeClass(config.visibleClass);
});
// Body.
// Event: Hide panel on body click/tap.
$body.on('click touchend', function(event) {
$this._hide(event);
});
// Event: Toggle.
$body.on('click', 'a[href="#' + id + '"]', function(event) {
event.preventDefault();
event.stopPropagation();
config.target.toggleClass(config.visibleClass);
});
// Window.
// Event: Hide on ESC.
if (config.hideOnEscape)
$window.on('keydown', function(event) {
if (event.keyCode == 27)
$this._hide(event);
});
return $this;
};
/**
* Apply "placeholder" attribute polyfill to one or more forms.
* @return {jQuery} jQuery object.
*/
$.fn.placeholder = function() {
// Browser natively supports placeholders? Bail.
if (typeof (document.createElement('input')).placeholder != 'undefined')
return $(this);
// No elements?
if (this.length == 0)
return $this;
// Multiple elements?
if (this.length > 1) {
for (var i=0; i < this.length; i++)
$(this[i]).placeholder();
return $this;
}
// Vars.
var $this = $(this);
// Text, TextArea.
$this.find('input[type=text],textarea')
.each(function() {
var i = $(this);
if (i.val() == ''
|| i.val() == i.attr('placeholder'))
i
.addClass('polyfill-placeholder')
.val(i.attr('placeholder'));
})
.on('blur', function() {
var i = $(this);
if (i.attr('name').match(/-polyfill-field$/))
return;
if (i.val() == '')
i
.addClass('polyfill-placeholder')
.val(i.attr('placeholder'));
})
.on('focus', function() {
var i = $(this);
if (i.attr('name').match(/-polyfill-field$/))
return;
if (i.val() == i.attr('placeholder'))
i
.removeClass('polyfill-placeholder')
.val('');
});
// Password.
$this.find('input[type=password]')
.each(function() {
var i = $(this);
var x = $(
$('<div>')
.append(i.clone())
.remove()
.html()
.replace(/type="password"/i, 'type="text"')
.replace(/type=password/i, 'type=text')
);
if (i.attr('id') != '')
x.attr('id', i.attr('id') + '-polyfill-field');
if (i.attr('name') != '')
x.attr('name', i.attr('name') + '-polyfill-field');
x.addClass('polyfill-placeholder')
.val(x.attr('placeholder')).insertAfter(i);
if (i.val() == '')
i.hide();
else
x.hide();
i
.on('blur', function(event) {
event.preventDefault();
var x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
if (i.val() == '') {
i.hide();
x.show();
}
});
x
.on('focus', function(event) {
event.preventDefault();
var i = x.parent().find('input[name=' + x.attr('name').replace('-polyfill-field', '') + ']');
x.hide();
i
.show()
.focus();
})
.on('keypress', function(event) {
event.preventDefault();
x.val('');
});
});
// Events.
$this
.on('submit', function() {
$this.find('input[type=text],input[type=password],textarea')
.each(function(event) {
var i = $(this);
if (i.attr('name').match(/-polyfill-field$/))
i.attr('name', '');
if (i.val() == i.attr('placeholder')) {
i.removeClass('polyfill-placeholder');
i.val('');
}
});
})
.on('reset', function(event) {
event.preventDefault();
$this.find('select')
.val($('option:first').val());
$this.find('input,textarea')
.each(function() {
var i = $(this),
x;
i.removeClass('polyfill-placeholder');
switch (this.type) {
case 'submit':
case 'reset':
break;
case 'password':
i.val(i.attr('defaultValue'));
x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
if (i.val() == '') {
i.hide();
x.show();
}
else {
i.show();
x.hide();
}
break;
case 'checkbox':
case 'radio':
i.attr('checked', i.attr('defaultValue'));
break;
case 'text':
case 'textarea':
i.val(i.attr('defaultValue'));
if (i.val() == '') {
i.addClass('polyfill-placeholder');
i.val(i.attr('placeholder'));
}
break;
default:
i.val(i.attr('defaultValue'));
break;
}
});
});
return $this;
};
/**
* Moves elements to/from the first positions of their respective parents.
* @param {jQuery} $elements Elements (or selector) to move.
* @param {bool} condition If true, moves elements to the top. Otherwise, moves elements back to their original locations.
*/
$.prioritize = function($elements, condition) {
var key = '__prioritize';
// Expand $elements if it's not already a jQuery object.
if (typeof $elements != 'jQuery')
$elements = $($elements);
// Step through elements.
$elements.each(function() {
var $e = $(this), $p,
$parent = $e.parent();
// No parent? Bail.
if ($parent.length == 0)
return;
// Not moved? Move it.
if (!$e.data(key)) {
// Condition is false? Bail.
if (!condition)
return;
// Get placeholder (which will serve as our point of reference for when this element needs to move back).
$p = $e.prev();
// Couldn't find anything? Means this element's already at the top, so bail.
if ($p.length == 0)
return;
// Move element to top of parent.
$e.prependTo($parent);
// Mark element as moved.
$e.data(key, $p);
}
// Moved already?
else {
// Condition is true? Bail.
if (condition)
return;
$p = $e.data(key);
// Move element back to its original location (using our placeholder).
$e.insertAfter($p);
// Unmark element as moved.
$e.removeData(key);
}
});
};
})(jQuery);

View File

@ -2,19 +2,24 @@ from django.shortcuts import render
import os.path
from users.models import Balance
from django.conf import settings
from users.models import User
import operator
from upload.models import Media
import requests
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():
@ -27,22 +32,96 @@ 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}")
try:
limited_coins = settings.ALL_COINS - all_balance
except TypeError:
limited_coins = settings.ALL_COINS
github = requests.get("https://api.github.com/user/36108495").json()
context = {
"isCashier": Cashier,
"isProcessor": Processor,
"userQR":userQR,
"fullbalance": limited_coins,
"currencyTotal": sum(all_balance),
"userBalance": userBalance
"currencyTotal": all_balance,
"userBalance": userBalance,
"github": f"https://github.com/podput",
}
return render(request, "home.html", context)
return render(request, "home.html", context)
def leaderboard(request):
users = User.objects.all()
leaderboard = {}
for i in users:
try:
username = i.username
balance = i.balance.balanceValue
# add media counter and other stuff
if f"{username}" in leaderboard.keys():
leaderboard[username] = balance + leaderboard[username]
else:
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()
user_media = {}
for i in media:
username = i.user.username
if f"{username}" in user_media.keys():
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())))
users = {}
for i in user_media.keys():
iter_user = User.objects.get(username=i)
iter_user_media = Media.objects.filter(user=iter_user)
if iter_user_media.filter(is_video=True):
user_data = {i:{"Videos":len(iter_user_media.filter(is_video=True)),
"Images":len(iter_user_media.filter(is_video=False))}}
else:
user_data = {i:{"Images":len(iter_user_media.filter(is_video=False))}}
while len(user_media) > 5:
user_media.pop()
# for i in media:
# username = i.user.username
# image = i.image
# if f"{username}" in media_count.values():
# media_count[username] = image + media_count[username].value
# else:
# media_count[username] = image
# print(media_count)
context = {
"leaderboard":leaderboard,
"user_media":user_media
}
return render(request, 'leaderboard.html', context)
def about(request):
return render(request, "about.html")

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 688 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 688 KiB

View File

@ -1,27 +0,0 @@
[?1049h[>4;2m[?1h=[?2004h[?1004h[?12h[?12l[?25lE325: ATTENTION
Found a swap file by the name "~/github/reValuate/.git/.COMMIT_EDITMSG.swp"
owned by: gang420 dated: Thu Mar 11 03:38:41 2021
file name: ~gang420/github/reValuate/.git/COMMIT_EDITMSG
modified: YES
user name: gang420 host name: CatShip
process ID: 22317
While opening file "/home/gang420/github/reValuate/.git/COMMIT_EDITMSG"
dated: Thu Mar 11 03:38:56 2021
NEWER than swap file!
(1) Another program may be editing the same file. If this is the case,
be careful not to end up with two different instances of the same
file when making changes. Quit, or continue with caution.
(2) An edit session for this file crashed.
If this is the case, use ":recover" or "vim -r /home/gang420/github/reValuate/.
git/COMMIT_EDITMSG"
to recover the changes (see ":help recovery").
If you did this already, delete the swap file "/home/gang420/github/reValuate/.
git/.COMMIT_EDITMSG.swp"
to avoid this message.
Swap file "~/github/reValuate/.git/.COMMIT_EDITMSG.swp" already exists!
-- More --[?25h[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort: 
Interrupt: Press ENTER or type command to continue[?25l~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 0,0-1All[?25h[?1004l[?2004l[?1l>[>4;m[?1049lVim: Caught deadly signal HUP
Vim: Finished.


View File

@ -1,25 +0,0 @@
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: Password reset on 127.0.0.1:8000
From: webmaster@localhost
To: pederas@pederasov.pl
Date: Mon, 08 Feb 2021 22:19:44 -0000
Message-ID: <161282278468.9046.5088568393660450551@Spudnik>
You're receiving this email because you requested a password reset for your user account at 127.0.0.1:8000.
Please go to the following page and choose a new password:
http://127.0.0.1:8000/users/reset/Mg/ahs0ww-f913be8dd50f0a6adf4815cf32e8183a/
Your username, in case youve forgotten: bobi
Thanks for using our site!
The 127.0.0.1:8000 team
-------------------------------------------------------------------------------

View File

@ -1,25 +0,0 @@
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: Password reset on 127.0.0.1:8000
From: webmaster@localhost
To: pederas@pederasov.pl
Date: Mon, 08 Feb 2021 22:20:07 -0000
Message-ID: <161282280735.9109.220494091957288379@Spudnik>
You're receiving this email because you requested a password reset for your user account at 127.0.0.1:8000.
Please go to the following page and choose a new password:
http://127.0.0.1:8000/users/reset/Mg/ahs0xj-30b0b07164a6b8b220b0e9cbbb048aa0/
Your username, in case youve forgotten: bobi
Thanks for using our site!
The 127.0.0.1:8000 team
-------------------------------------------------------------------------------

View File

@ -0,0 +1,127 @@
.popup {
width: 900px;
margin: auto;
text-align: center;
}
.popup img {
width: 200px;
height: 200px;
cursor: pointer;
}
.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 .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 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; }

View File

@ -0,0 +1,323 @@
* {
box-sizing: border-box;
margin: 0;
padding: 0;
scroll-behavior: smooth;
}
#page-wrap {
max-width: 1200px;
margin: 50px auto;
padding: 20px;
background: white;
-moz-box-shadow: 0 0 20px #469330;
-webkit-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;
align-items: center;
padding: 30px 10%;
background-color: #469330;
position: sticky;
}
.logo {
cursor: pointer;
}
.nav__links a,
.cta,
.overlay__content a {
font-family: Arial, Helvetica, sans-serif;
font-weight: 500;
font-size:30px;
color: #edf0f1;
text-decoration: none;
}
.nav__links {
list-style: none;
display: flex;
}
.nav__links li {
padding: 0px 20px;
}
.nav__links li a {
transition: color 0.3s ease 0s;
}
.nav__links li a:hover {
color: black;
}
.cta {
padding: 9px 25px;
color: #469330;
background-color: white;
border: none;
border-radius: 50px;
cursor: pointer;
transition: background-color 0.3s ease 0s;
}
.cta:hover {
color: white;
background-color: darkgreen;
}
/* Mobile Nav */
.menu {
display: none;
}
.overlay {
height: 100%;
width: 0;
position: fixed;
z-index: 99;
left: 0;
top: 0;
background-color: #469330;
overflow-x: hidden;
transition: width 0.5s ease 0s;
}
.overlay--active {
width: 100%;
}
.overlay__content {
display: flex;
height: 100%;
flex-direction: column;
align-items: center;
justify-content: center;
}
.overlay a {
padding: 15px;
font-size: 36px;
display: block;
transition: color 0.3s ease 0s;
}
.overlay a:hover,
.overlay a:focus {
color: darkgreen;
}
.overlay .close {
position: absolute;
top: 20px;
right: 45px;
font-size: 60px;
color: #edf0f1;
}
@media screen and (max-height: 450px) {
.overlay a {
font-size: 20px;
}
.overlay .close {
font-size: 40px;
top: 15px;
right: 35px;
}
}
@media only screen and (max-width: 800px) {
.nav__links,
.cta {
display: none;
}
.menu {
display: initial;
}
}
html{
font-family: Arial, Helvetica, sans-serif;
}
p {
font-family: Arial, Helvetica, sans-serif;
margin: 0 0 30px 0;
}
h1.heading{
color: white;
font-size: 50px;
text-shadow: -1px 0 black, 0 2px black, 2px 0 black, 0 -1px black;
}
ul.emoji{
list-style-type: "♻️";
}
.question{
color: gray;
font-size: 20px;
}
ul.nothing{
list-style-type: none;
}
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;
}
footer{
font-size: small;
text-align: center;
left:50%;
}
.centered{
display:flex;
}
@-webkit-keyframes text-shadow-pop-right {
0% {
text-shadow: 0 0 #555,0 0 #555,0 0 #555,0 0 #555,0 0 #555,0 0 #555,0 0 #555,0 0 #555;
-webkit-transform: translateX(0);
transform: translateX(0)
}
100% {
text-shadow: 1px 0 #555,2px 0 #555,3px 0 #555,4px 0 #555,5px 0 #555,6px 0 #555,7px 0 #555,8px 0 #555;
-webkit-transform: translateX(-8px);
transform: translateX(-8px)
}
}
@keyframes text-shadow-pop-right {
0% {
text-shadow: 0 0 #555,0 0 #555,0 0 #555,0 0 #555,0 0 #555,0 0 #555,0 0 #555,0 0 #555;
-webkit-transform: translateX(0);
transform: translateX(0)
}
100% {
text-shadow: 1px 0 #555,2px 0 #555,3px 0 #555,4px 0 #555,5px 0 #555,6px 0 #555,7px 0 #555,8px 0 #555;
-webkit-transform: translateX(-8px);
transform: translateX(-8px)
}
}
.text-shadow-pop-right{-webkit-animation:text-shadow-pop-right .6s both;animation:text-shadow-pop-right .6s both}
@-webkit-keyframes scale-in-center {
0% {
-webkit-transform: scale(0);
transform: scale(0);
opacity: 1;
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
opacity: 1;
}
}
@keyframes scale-in-center {
0% {
-webkit-transform: scale(0);
transform: scale(0);
opacity: 1;
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
opacity: 1;
}
}
.scale-in-center {
-webkit-animation: scale-in-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
animation: scale-in-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
.buttons{
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;
}
@-webkit-keyframes tracking-in-expand {
0% {
letter-spacing: -0.5em;
opacity: 0;
}
40% {
opacity: 0.6;
}
100% {
opacity: 1;
}
}
@keyframes tracking-in-expand {
0% {
letter-spacing: -0.5em;
opacity: 0;
}
40% {
opacity: 0.6;
}
100% {
opacity: 1;
}
}
.tracking-in-expand {
-webkit-animation: tracking-in-expand 0.7s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
animation: tracking-in-expand 0.7s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
animation-delay: .3s;
}
@-webkit-keyframes fade-in-bck {
0% {
-webkit-transform: translateZ(80px);
transform: translateZ(80px);
opacity: 0;
}
100% {
-webkit-transform: translateZ(0);
transform: translateZ(0);
opacity: 1;
}
}
@keyframes fade-in-bck {
0% {
-webkit-transform: translateZ(80px);
transform: translateZ(80px);
opacity: 0;
}
100% {
-webkit-transform: translateZ(0);
transform: translateZ(0);
opacity: 1;
}
}
.fade-in-bck {
-webkit-animation: fade-in-bck 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
animation: fade-in-bck 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

View File

@ -0,0 +1,12 @@
const doc = document;
const menuOpen = doc.querySelector(".menu");
const menuClose = doc.querySelector(".close");
const overlay = doc.querySelector(".overlay");
menuOpen.addEventListener("click", () => {
overlay.classList.add("overlay--active");
});
menuClose.addEventListener("click", () => {
overlay.classList.remove("overlay--active");
});

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More