Skip to content
Snippets Groups Projects
Commit 9c068de5 authored by Tomáš Hozman's avatar Tomáš Hozman
Browse files

public, friendly preset avatars

parent 3f1ac5af
No related branches found
No related tags found
No related merge requests found
Pipeline #9205 passed
Showing
with 186 additions and 27 deletions
1.2.4
1.3.0
......@@ -17,32 +17,32 @@ def authenticate_via_jwt(
@functools.wraps(func)
def decorator(*args, **kwargs) -> typing.Any:
#if "token" not in flask.request.cookies:
#return flask.redirect(
#flask.url_for("oidc.login")
#)
#try:
#claims = authlib.jose.jwt.decode(
#flask.request.cookies["token"],
#flask.current_app.config["JWT_SECRET_KEY"]
#)
#except authlib.jose.JoseError as exception:
#raise werkzeug.exceptions.BadRequest from exception
#try:
#claims.validate()
#except authlib.jose.JoseError as exception:
#flask.current_app.logger.debug(
#"Claim validation failed: %s",
#exception
#)
#return flask.redirect(
#flask.url_for("oidc.login")
#)
flask.g.user_id = "1" # claims["sub"]
if "token" not in flask.request.cookies:
return flask.redirect(
flask.url_for("oidc.login")
)
try:
claims = authlib.jose.jwt.decode(
flask.request.cookies["token"],
flask.current_app.config["JWT_SECRET_KEY"]
)
except authlib.jose.JoseError as exception:
raise werkzeug.exceptions.BadRequest from exception
try:
claims.validate()
except authlib.jose.JoseError as exception:
flask.current_app.logger.debug(
"Claim validation failed: %s",
exception
)
return flask.redirect(
flask.url_for("oidc.login")
)
flask.g.user_id = claims["sub"]
return func(*args, **kwargs)
return decorator
html, body {
margin: 0;
padding: 0;
font-family: 'Open Sans', sans-serif;
}
header {
box-shadow: 0 10px 24px 3px rgba(0, 0, 0, 0.43)
}
header h1 {
display: flex;
justify-content: center;
align-items: center;
gap: 15px;
padding: 30px 15px 30px 15px;
margin: 0;
font-family: "Bebas Neue", sans-serif;
text-transform: uppercase;
color: #fff;
background: #000;
font-size: 55px;
}
main {
padding: 40px 10px 10px 10px;
}
main, footer {
max-width: 1200px;
margin-left: auto;
margin-right: auto;
}
#avatar-canvas, .controls {
max-width: 500px;
margin-left: auto;
margin-right: auto;
}
#avatar-canvas {
width: 100%;
box-shadow: 0px 0px 5px 1px #000000;
object-fit: contain;
display: block;
}
.controls {
display: flex;
justify-content: space-between;
padding-top: 17px;
}
#image-controls {
display: none;
flex-wrap: wrap;
column-gap: 20px;
row-gap: 10px;
justify-content: center;
align-items: flex-start;
}
#image-controls > div {
display: flex;
align-items: center;
gap: 3px;
}
#position-controls-wrapper {
text-align: right;
}
#zoom-image-input {
max-width: 100px;
}
button {
border: 0;
border-radius: 5px;
background: #000;
color: #fff;
padding: 12px;
font-family: "Open Sans", sans-serif;
font-size: medium;
cursor: pointer;
transition: .15s;
}
button:hover, button:focus {
background: #1f1f1f;
}
.button-small {
padding: 7px;
}
footer {
padding-top: 20px;
text-align: center;
}
footer > small > span {
display: inline-block;
}
#upload-image {
display: none;
}
/* Responsive layout */
@media screen and (max-width: 900px) {
header h1 {
font-size: 30px;
}
}
File added
File added
File added
File added
File added
File added
File added
File added
/*
* Thanks to majodev for their Google webfont helper!
*/
/* open-sans-regular - latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local(''),
url('./open-sans-v29-latin-ext_latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('./open-sans-v29-latin-ext_latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-600 - latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
src: local(''),
url('./open-sans-v29-latin-ext_latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('./open-sans-v29-latin-ext_latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-italic - latin */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 400;
src: local(''),
url('./open-sans-v29-latin-ext_latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('./open-sans-v29-latin-ext_latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-600italic - latin */
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 600;
src: local(''),
url('./open-sans-v29-latin-ext_latin-600italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('./open-sans-v29-latin-ext_latin-600italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
generator/static/images/badges/Kladno-dark.png

86.4 KiB | W: | H:

generator/static/images/badges/Kladno-dark.png

43.4 KiB | W: | H:

generator/static/images/badges/Kladno-dark.png
generator/static/images/badges/Kladno-dark.png
generator/static/images/badges/Kladno-dark.png
generator/static/images/badges/Kladno-dark.png
  • 2-up
  • Swipe
  • Onion skin
generator/static/images/badges/Kladno-light.png

92.5 KiB | W: | H:

generator/static/images/badges/Kladno-light.png

43.4 KiB | W: | H:

generator/static/images/badges/Kladno-light.png
generator/static/images/badges/Kladno-light.png
generator/static/images/badges/Kladno-light.png
generator/static/images/badges/Kladno-light.png
  • 2-up
  • Swipe
  • Onion skin
generator/static/images/badges/Louny-bila-na-fialove-light.png

53.4 KiB

generator/static/images/badges/Louny-fialova-na-bile-light.png

47.4 KiB

generator/static/images/badges/Louny-fialova-na-zlate-light.png

52.5 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment