Added user colors (depends on the css)

Planning to put them in the config later
(or maybe adding themes, but not today)
This commit is contained in:
augustin64 2023-06-10 17:07:24 +02:00
parent 781134f4a4
commit ea04e8271e
2 changed files with 34 additions and 13 deletions

View File

@ -4,6 +4,24 @@ from .db import get_db
from flask import current_app
# Variables defined in the CSS
colors = [
"--color-rosewater",
"--color-flamingo",
"--color-pink",
"--color-mauve",
"--color-red",
"--color-maroon",
"--color-peach",
"--color-yellow",
"--color-green",
"--color-teal",
"--color-sky",
"--color-sapphire",
"--color-blue",
"--color-lavender"
]
class User():
def __init__(self, user_id=None, name=None):
self.id = user_id
@ -130,8 +148,11 @@ class User():
def get_color(self):
if len(colors) == 0:
integer = hash(self.username) % 16777215
return "#" + str(hex(integer))[2:]
else:
return f"var({colors[hash(self.username) %len(colors)]})"

View File

@ -50,7 +50,7 @@
{% endif %}
<h1>Albums</h1>
<section id="albums">
{% if user.get_albums() |length != 0 %}
{% if g.user and user.get_albums() | length != 0 %}
{% for album in user.albums %}
<a href="/albums/{{ album['uuid'] }}">
<div class="album-cover" id="album-1">
@ -74,20 +74,20 @@
</svg>
Déconnexion
</button><br/>
{% else %}
<button href="{{ url_for('auth.register') }}">Créer un compte</button>
<button href="{{ url_for('auth.login') }}">Se connecter</button>
{% endif %}
{% if g.user.access_level == 1 %}
<button href="/admin">Panneau admin</button><br/>
{% endif %}
<div class="user">
<div class="user-profile-picture" style="background-color:var(--color-pink);"
title="augustin64">
A
<div class="user-profile-picture" style="background-color:{{ user.color }};"
title="{{ user.username }}">
{{ user.username[0] | upper }}
</div>
<div class="username">augustin64</div>
<div class="username">{{ user.username }}</div>
</div>
{% else %}
<button href="{{ url_for('auth.register') }}">Créer un compte</button>
<button href="{{ url_for('auth.login') }}">Se connecter</button>
{% endif %}
</div>
</div>
<div id="content-container">