-
-
- -
-
-

Dashboard

-

Welcome to {{ appName() }} admin panel!

+ +
+ {# + + #} +
{% block content %} {% endblock %}
-
- - - - - - + +
+
+ {{ appName() }} v{{ appVersion() }} +
+
+ + + diff --git a/templates/admin/beatmaps.html b/templates/admin/beatmaps.html new file mode 100644 index 00000000..3d1b4b1a --- /dev/null +++ b/templates/admin/beatmaps.html @@ -0,0 +1,257 @@ +{% extends 'admin/base.html' %} +{% block header %} + +{% endblock %} +{% block title %} Beatmaps {% endblock %} + +{% block content %} + + + + +
+
+

{{ t("admin.base.beatmaps") }}

+

{{ t("admin.beatmaps.welcome-to-beatmaps-panel") }}

+
+
+
+
+
+
+ +
{{ t("admin.beatmaps.total-beatmaps") }}
+
{{ counts['total'] }}
+
{{ t("admin.beatmaps.thats-a-lot-of-maps") }}
+
+
+
+
+ +
{{ t("admin.beatmaps.ranked") }}
+
{{ counts['ranked'] }}
+
{{ t("admin.beatmaps.these-maps-can-gain-many-pp") }}
+
+
+
+
+ +
{{ t("admin.beatmaps.loved") }}
+
{{counts['loved'] }}
+
{{ t("admin.beatmaps.we-loved-them-so-much") }}
+
+
+
+
+ +
{{ t("admin.beatmaps.pending") }}
+
{{ counts['pending'] }}
+
{{ t("admin.beatmaps.they-are-also-good-maps") }}
+
+
+
+
+ + +
+
+ + + + + + + + + + + + + + + + {% for i in bmap_query %} + + + + + + + + + + + + {% endfor %} + +
{{ t("admin.beatmaps.beatmap") }}{{ t("admin.beatmaps.cs-keys") }}{{ t("admin.beatmaps.ar") }}{{ t("admin.beatmaps.hp") }}{{ t("admin.beatmaps.od") }}{{ t("admin.beatmaps.bpm") }}{{ t("admin.beatmaps.stars") }}{{ t("admin.beatmaps.status") }}{{ t("admin.restrictions.action") }}
+ + + {{ i.cs }} + + {{ i.ar }} + + {{ i.hp }} + + {{ i.od }} + + {{ i.bpm }} + + {{ i.stars }} + +
{{ decode_map_status(i.status) }}
+
+ +
+
+
+ + + +{% endblock %} \ No newline at end of file diff --git a/templates/admin/home.html b/templates/admin/home.html index 107380e2..6de69609 100644 --- a/templates/admin/home.html +++ b/templates/admin/home.html @@ -1,60 +1,71 @@ {% extends 'admin/base.html' %} {% block title %} Dashboard {% endblock %} {% block header %} - - + + + {% endblock%} {% block content %} +
+
+

{{ t('admin.base.dashboard') }}

+

{{ t('admin.base.welcome-to-admin-panel', appName = appName()) }}

+
+
-
total users
+
{{ t('admin.home.total-users') }}
{{ dashdata['count'] }}
-
that's a lot of people!
+
{{ t('admin.home.that-s-a-lot-of-people') }}
-
total online
+
{{ t('admin.home.total-online') }}
<% online_users %>
-
rising in popularity are we?
+
{{ t('admin.home.rising-in-popularity-aren-t-we') }}
-
lastest user
+
{{ t('admin.home.latest-user') }}
{{ dashdata['lastest_user'] }}
-
latest and greatest! welcome!
+
{{ t('admin.home.latest-and-greatest-welcome') }}
-
total banned
+
{{ t('admin.home.total-banned') }}
{{ dashdata['banned'] }}
-
naughty naughty :(
+
{{ t('admin.home.naughty-sad-face') }}
{% if recentusers %} -
+
-

Recent Users

+

{{ t('admin.home.recent-users') }}

@@ -72,10 +83,6 @@

Recent Users

(datetime.datetime.now() + datetime.timedelta(seconds = 60 * 3.4))) }}
- - {{ timeago.format((datetime.datetime.fromtimestamp(user.latest_activity)), - (datetime.datetime.now() + datetime.timedelta(seconds = 60 * 3.4))) }} -
@@ -89,11 +96,11 @@

Recent Users

{% endif %} {% if recentscores %} -
+
-

Recent Score

+

{{ t('admin.home.recent-score') }}

@@ -119,8 +126,8 @@

Recent Score

- {{ maps.pp }}pp
-
accuracy:  + {{ maps.pp }}{{ t('global.pp').upper() }}
+
{{ t('global.accuracy') }}:  {{ maps.acc }}%
@@ -142,6 +149,6 @@

Recent Score

{% endif %}
- + -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/templates/admin/restrictions.html b/templates/admin/restrictions.html new file mode 100644 index 00000000..2eb86a71 --- /dev/null +++ b/templates/admin/restrictions.html @@ -0,0 +1,69 @@ +{% extends 'admin/base.html' %} {% block header %} + +{% endblock %} {% block title %} Restrictions {% endblock %} {% block content %} +
+
+

{{ t("admin.base.restrictions") }}

+

+ {{ t("admin.restrictions.welcome-to-restrictions-panel") }} +

+
+
+
+ + + + + + + + + + + + {% for i in query_data %} + + + + + + + + {% endfor %} + +
{{ t("admin.users.id") }}{{ t("admin.users.flag-or-username") }}{{ t("admin.restrictions.details") }}{{ t("admin.restrictions.date") }}{{ t("admin.restrictions.action") }}
{{ i.id }} + + {{ i.name }} + {% if i.msg %}{{ i.msg }} {% else %} - {% endif %} + {% if i.time %}{{ i.time }} {% else %} - {% endif %} + + + {{ + t("admin.users.edit") }} + +
+
+ +{% endblock %} diff --git a/templates/admin/users/edit.html b/templates/admin/users/edit.html new file mode 100644 index 00000000..3c3fd90e --- /dev/null +++ b/templates/admin/users/edit.html @@ -0,0 +1,100 @@ +{% extends 'admin/base.html' %} +{% block header %} + +{% endblock %} +{% block title %} Users {% endblock %} + +{% block content %} +
+
+
+

+ {{ t("admin.users.edit-info-of", name = search_data['name']) }} +

+
+
+ + {{ t("admin.users.username") }} +
+
+ +
+
+
+
+ + {{ t("admin.users.email") }} +
+
+ +
+
+
+
+ + {{ t("admin.users.country") }} +
+
+ + +
+
+
+
+ + {{ t("admin.users.password") }} +
+
+ +
+
+
+
+ + {{ t("admin.users.legality") }} +
+
+
+ +
+
+
+
+
+ +
+
+
+
+{% endblock content %} \ No newline at end of file diff --git a/templates/admin/users/index.html b/templates/admin/users/index.html new file mode 100644 index 00000000..d5245d8e --- /dev/null +++ b/templates/admin/users/index.html @@ -0,0 +1,126 @@ +{% extends 'admin/base.html' %} +{% block header %} + +{% endblock %} +{% block title %} Users {% endblock %} + +{% block content %} +
+
+

{{ t("admin.base.users") }}

+

{{ t("admin.users.welcome-to-users-panel") }}

+
+
+
+ +
+ + + + + + + + + + + + + + + + {% for i in query_data %} + + + + + + + + + + + + {% endfor %} + +
{{ t("admin.users.id") }}{{ t("admin.users.flag-or-username") }}{{ t("admin.users.privilege") }}{{ t("admin.users.last-login") }}{{ t("admin.users.joined-at") }}{{ t("admin.users.client-channel") }}{{ t("admin.users.email") }}{{ t("admin.users.ip") }}
{{ i.id }} + + {{ i.name }} + + {% for priv in (format_priv(i.priv)) %} +
{{ priv }}
+ {% endfor %}
+ {% if i.last_login %}{{ i.last_login }} + {% else %} - + {% endif %} + {{ handle_timestamp(i.creation_time) }} + {% if i.osu_stream %} +
{{ i.osu_stream }} +
+ {% else %} - + {% endif %} +
{{ i.email }} + {% if i.ip != None %} + + {{ i.ip }} + + {% else %} + - + {% endif %} + + + {{ t("admin.users.edit") }} + +
+
+
+ + + + +{% endblock content %} \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index 554a31e2..96168af7 100644 --- a/templates/base.html +++ b/templates/base.html @@ -1,6 +1,8 @@ + + {{ appName() }} - {% block title %}{% endblock %} @@ -19,18 +21,17 @@ - + - + + - + {% block header %} {% endblock %} @@ -50,10 +51,10 @@ {% include 'components/footer.html' %} - + {% block bottom %}{% endblock %} - + \ No newline at end of file diff --git a/templates/components/footer.html b/templates/components/footer.html index e3598af8..c755cfd8 100644 --- a/templates/components/footer.html +++ b/templates/components/footer.html @@ -1,10 +1,5 @@ diff --git a/templates/components/navbar.html b/templates/components/navbar.html index 8f82323f..84af767f 100644 --- a/templates/components/navbar.html +++ b/templates/components/navbar.html @@ -1,3 +1,6 @@ +
- + \ No newline at end of file diff --git a/templates/forgot.html b/templates/forgot.html new file mode 100644 index 00000000..42fce30a --- /dev/null +++ b/templates/forgot.html @@ -0,0 +1,66 @@ +{% extends "base.html" %} +{% block title %} Reset Password {% endblock %} + +{% block header %} + +{% endblock %} + +{% block content %} + +
+
+
+

Reset Password

+
+
+
+
+
+
+
+ +
+ + + + +
+
+
+ +
+ + + + +
+
+
+ +
+ + + + +
+
+
+
+
+ +
+
+
+
+
+
+ +{% if flash %} +
+ {{ flash }} +
+{% endif %} + +{% endblock %} diff --git a/templates/home.html b/templates/home.html index bab491e2..5c799b15 100644 --- a/templates/home.html +++ b/templates/home.html @@ -2,7 +2,7 @@ {% block title %} Home {% endblock %} {% block header %} - + {% endblock %} {% block content %} @@ -15,16 +15,16 @@
{% if status=='error' %} - Warning + {{ t('global.bannertype-error') }} {% elif status=='success' %} - Notice + {{ t('global.bannertype-success') }} {% endif %}
{% if status=='error' %} - Uh oh! Be careful! + {{ t('global.bannertext-error') }} {% elif status=='success' %} - Hey! Listen! + {{ t('global.bannertext-success') }} {% endif %}
@@ -42,19 +42,16 @@

{{ appName() }}

- We are an osu! private server built from the ground up with many - unique features not seen elsewhere - for more information, check - out gulag - and guweb - on GitHub - we're fully open source! + {{ t('home.subtitle-big', appName = appName()) }} +

{% if not session.authenticated %} {% endif %} @@ -66,9 +63,9 @@

-
+
@@ -105,9 +95,8 @@

Free osu!direct

-

Flexible library

-

We're written on top of cmyui's multipurpose library allowing for a fully - asynchronous environment, both improving performance and the user's experience in the long term!

+

{{ t('home.features-title-3') }}

+

{{ t('home.features-content-3') }}

@@ -116,18 +105,17 @@

Flexible library

{% if not session.authenticated %} -
+ {% endif %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/templates/leaderboard.html b/templates/leaderboard.html index a217ba8c..0bb907eb 100644 --- a/templates/leaderboard.html +++ b/templates/leaderboard.html @@ -1,118 +1,128 @@ {% extends 'base.html' %} -{% block title %} Leaderboard {% endblock %} +{% block title %} {{ t('global.leaderboard') }} {% endblock %} {% block header %} - - + + - + {% endblock %} {% block content %}
-
- - -
-
- PP - Score -
- -
+
+ -
-
-
- - - - - - - - - - - - - - - - - - - - - -
- <% (sort=='pp' ? "PP" : "" ) %> - <% (sort=='rscore' ? "Score" : "" ) %> - Accuracy Playcount Max Combo
#<% index + 1 %> - - -
- <% flags[user.country.toUpperCase()] %> -
-
- - <% user.name %> - -
- <% (sort=='pp' ? user.pp+'pp' : "" ) %> - <% (sort=='rscore' ? scoreFormat(user.rscore) : "" ) %> - - <% user.acc.toFixed(2) %>% - - <% addCommas(user.plays) %> - - <% addCommas(user.max_combo) %> -
-
-
-
- there are no players to display! -
-
+ + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ <% (sort=='pp' ? {{ t('global.pp').upper() | JSON }} : "" ) %> + <% (sort=='rscore' ? {{ t('global.score') | JSON }} : "" ) %> + {{ t('global.accuracy') }} {{ t('global.playcount') }} {{ t('global.max-combo') }} {{ t('global.playtime') }}
#<% index + 1 %> + + +
+ <% flags[user.country.toUpperCase()] %> +
+
+ + <% user.name %> + +
+ <% (sort=='pp' ? addCommas(user.pp) : "" ) %> + <% (sort=='rscore' ? scoreFormat(user.rscore) : "" ) %> + + <% user.acc.toFixed(2) %>% + + <% addCommas(user.plays) %> + + <% addCommas(user.max_combo) %> + + <% secondsToDhm(user.playtime) %> +
+
+
+
+ {{ t('leaderboard.there-are-no-players-to-display') }}
+
+
- - -{% endblock %} + + +{% endblock %} \ No newline at end of file diff --git a/templates/login.html b/templates/login.html index 95404e52..ab127c0c 100644 --- a/templates/login.html +++ b/templates/login.html @@ -1,8 +1,8 @@ {% extends "base.html" %} -{% block title %} Login {% endblock %} +{% block title %} {{ t('global.login') }} {% endblock %} {% block header %} - + {% endblock %} {% block content %} @@ -10,7 +10,7 @@
-

Login

+

{{ t('global.log-in') }}

@@ -18,7 +18,7 @@

Login

- +
@@ -27,7 +27,7 @@

Login

- +
@@ -37,18 +37,18 @@

Login

- Don't have an account? + {{ t('login.dont-have-an-account') }} - Register + {{ t('login.register') }}
- Forgot login? + {{ t('login.forgot-login') }}
diff --git a/templates/profile.html b/templates/profile.html index 23c5d5e3..cf1257f8 100644 --- a/templates/profile.html +++ b/templates/profile.html @@ -1,374 +1,495 @@ -{% extends 'base.html' %} -{% block title %} Profile {% endblock %} - -{% macro scores(title, id) %} -
-
-
- {{ title }} -
+{% extends 'base.html' %} {% block title %} {{ t('global.profile__literal') }} {% +endblock %} {% macro userpage(user) %} {% if user['userpage_content'] != None +and user['userpage_content'] != "" %} +
+
+
+ {{ t("profile.about-me-title") }}
-
-
-
-
-
- -
-
- -
- <% addCommas(map.score) %> / <% map.max_combo %>x -
-
- -
-
-
-
-
-
-
-
- <% map.pp.toFixed() %>pp -
-
accuracy:  - <% map.acc.toFixed(2) %>% -
-
-
-
-
- <% map.grade.replace("X", "SS" ).replace("H", "" ) %> -
-
-
-
-
-
+
+
+
+ {{ render_markdown(user['userpage_content']) | safe }} +
+
+
+{% endif %} {% endmacro %} {% macro scores(title, id) %} +
+
+
{{ title }}
+
+
+
+
+ -
-
-
-

: (

+
+ <% getScoreMods(map.mods) %> / + + <% addCommas(map.max_combo) %> + x
-
-

No scores available

-

Try playing something?

+
+
+
-
-
- Show more -
-
-{% endmacro %} - -{% macro maps(title, id) %} -
-
-
- Most Played Beatmaps -
-
-
- -
-
-
-
-
-
-

: (

-
-
-

No beatmaps available

-

Try playing something?

+
+
+
+
+

: (

+
+
+

{{ t('profile.no-scores-available') }}

+

{{ t('profile.try-playing-something') }}

+
+
+
+ +
+{% endmacro %} {% macro maps(title, id) %} +
+
+
{{ title }}
+
+ +
+
+
+

: (

+
+
+

{{ t('profile.no-beatmaps-available') }}

+

{{ t('profile.try-playing-something') }}

+
-
- Show more -
+
+
-{% endmacro %} - -{% block header %} - - +{% endmacro %} {% block header %} + + - + -{% endblock %} + + +{% if user['userpage_content'] != None and user['userpage_content'] != "" %} + +{% endif %} {% endblock %} {% block content %}
-
-
-
-

-

- - {{ user['name'] }} -

-

- -
- Offline -
-
- Online -
-
-
-
- -
+
+
+
+

+

+ + {{ user['name'] }} +

+

+ +
+ {{ t('global.offline') }} +
+
+ {{ t('global.online') }} -
- <% actionIntToStr(data.status.status) %> -
+
+ <% actionIntToStr(data.status.status) %> +
+
+
+
+
+ +
+
+
+
+ avatar +
+ -
-
-
- -
-
- Statistics +
--> + +
+
+ {{ userpage(user) }} {{ scores(t('profile.best-scores') , 'best')}} {{ + scores(t('profile.recent-scores'), 'recent')}} {{ + maps(t('profile.most-played-beatmaps'), 'most')}} +
+
-{% endblock %} - -{% block bottom %} - -{% if user['customisation']['banner'] == True or user['customisation']['background'] == True %} +{% endblock %} {% block bottom %} + +{% if user['customisation']['banner'] == True %} + +{% endif %} {% if user['customisation']['background'] == True %} -{% endif %} -{% endblock bottom %} +{% endif %} {% endblock bottom %} \ No newline at end of file diff --git a/templates/register.html b/templates/register.html index b11e0880..71aedf69 100644 --- a/templates/register.html +++ b/templates/register.html @@ -1,15 +1,15 @@ {% extends "base.html" %} -{% block title %} Register {% endblock %} +{% block title %} {{ t('global.register') }} {% endblock %} {% block header %} - + {% endblock %} {% block content %}
-

Registration

+

{{ t('register.registration') }}

@@ -17,7 +17,7 @@

Registration

- +
@@ -26,7 +26,7 @@

Registration

- +
@@ -35,7 +35,7 @@

Registration

- +
@@ -45,7 +45,7 @@

Registration

- Already have an account? Login + {{ t('register.already-have-an-account') }} {{ t('global.log-in') }}
{% if not captchaKey() == 'changeme' %}
@@ -54,7 +54,7 @@

Registration

{% endif %}
diff --git a/templates/settings/aboutme.html b/templates/settings/aboutme.html new file mode 100644 index 00000000..4852be51 --- /dev/null +++ b/templates/settings/aboutme.html @@ -0,0 +1,50 @@ +{% extends 'base.html' %} +{% block title %} {{ t('settings.about-me') }} {% endblock %} + +{% block content %} + + +
+ {% include "settings/sidebar.html" %} +
+
+
+ {{ t("settings.about-me-title") }} +
+
+ + +
+
+
+
+{% if flash %} +
+
+
+
+
+
+ {% if status=='error' %} + {{ t('global.bannertype-error') }} + {% elif status=='success' %} + {{ t('global.bannertype-success') }} + {% endif %} +
+
+ {% if status=='error' %} + {{ t('global.bannertext-error') }} + {% elif status=='success' %} + {{ t('global.bannertext-success') }} + {% endif %} +
+
+
+ {{ flash }} +
+
+
+
+{% endif %} + +{% endblock %} \ No newline at end of file diff --git a/templates/settings/avatar.html b/templates/settings/avatar.html index d832b39b..4c4c9ac5 100644 --- a/templates/settings/avatar.html +++ b/templates/settings/avatar.html @@ -1,31 +1,29 @@ {% extends 'base.html' %} -{% block title %} Avatar {% endblock %} +{% block title %} {{ t('settings.avatar') }} {% endblock %} {% block content %} - +
{% include "settings/sidebar.html" %}
- Avatar + {{ t('settings.avatar') }}
-

Avatar

-
We recommend an image of at least 512x512 (or 1:1 ratio). - You can upload a PNG, JPG under 5MB -
+

{{ t('settings.avatar-title') }}

+
{{ t('settings.avatar-description') }}
-

Preview

+

{{ t('settings.preview') }}

@@ -59,12 +57,12 @@

Preview