8 Commits

Author SHA1 Message Date
Sweetbread b1735ea6ac Scroll wallets QR 2025-10-03 00:43:52 +03:00
Sweetbread 8d83658a25 fixup! Add badgets 2025-09-28 02:42:00 +03:00
Sweetbread 184bc16a30 Add badgets 2025-09-27 23:00:46 +03:00
Sweetbread f38a8badcf Make footer lighter 2025-09-27 21:02:26 +03:00
Sweetbread 58e2e347bc Add more depth to .block 2025-09-27 20:39:42 +03:00
Sweetbread 0b2498dc7f Add ref link 2025-09-27 20:37:57 +03:00
Sweetbread 2d342e8c66 Add wallets 2025-09-27 09:01:29 +03:00
Sweetbread bd00562100 Add mine page 2025-09-05 14:14:56 +03:00
13 changed files with 56 additions and 104 deletions
+3 -2
View File
@@ -1,5 +1,6 @@
from os import system as console
from configparser import ConfigParser
from flask_mobility import Mobility
from flask import (
Flask,
g,
@@ -29,6 +30,7 @@ def get_locale():
return request.accept_languages.best_match(('en', 'ru', 'de', 'fr', 'ja'), 'en')
app = Flask(__name__)
Mobility(app)
@app.before_request
@@ -59,7 +61,6 @@ def inject_translations():
if app.debug:
console("sass static/style/main.scss static/style/main.css")
console("sass static/style/risdeveau.scss static/style/risdeveau.css")
@app.route("/")
def index():
@@ -75,4 +76,4 @@ def us():
@app.route("/risdeveau")
def risdeveau():
return render_template('personal/risdeveau.html')
return render_template('personal/risdeveau/index.html')
-2
View File
@@ -15,8 +15,6 @@ gitea = Open-Source, selbst gehosteter Git-Repository-Hoster
matrix = Föderierter Messenger
copyparty = Cloud-Dateispeicher
4get = Proxy-Suchmaschine
tools = Satz verschiedener Werkzeuge
vert = Dateiumwandler
[host]
-2
View File
@@ -15,8 +15,6 @@ gitea = Opensource selfhosted Git repository hosting
matrix = federated instant messenger
copyparty = cloud file storage
4get = proxy search engine
tools = set of various tools
vert = file converter
[host]
-2
View File
@@ -15,8 +15,6 @@ gitea = Hébergement de dépôts Git open source en auto-hébergé
matrix = Messagerie fédérée
copyparty = Stockage de fichiers en cloud
4get = Moteur de recherche proxy
tools = ensemble d'outils variés
vert = convertisseur de fichiers
[host]
-2
View File
@@ -15,8 +15,6 @@ gitea = オープンソースのセルフホスティングGitリポジトリ
matrix = 連合型メッセンジャー
copyparty = クラウドファイルストレージ
4get = プロキシ検索エンジン
tools = 様々なツールのセット
vert = ファイル変換ツール
[host]
-2
View File
@@ -15,8 +15,6 @@ gitea = Selfhosted хранилище Git-репозиториев со своб
matrix = федеративный мессенджер
copyparty = облачное хранилище файлов
4get = прокси-поисковик
tools = набор разнообразных утилит
vert = конвертация файлов
[host]
+1
View File
@@ -1,2 +1,3 @@
Flask==3.1.1
flask_mobility
gunicorn
+4 -39
View File
@@ -54,10 +54,9 @@ h1 {
a {
color: unset;
text: {
decoration: underline {color: $blue};
underline-offset: 1px;
}
text-decoration: underline;
text-decoration-color: $blue;
text-underline-offset: 1px;
transition: 0.3s ease;
&:hover {
@@ -91,6 +90,7 @@ ul {
header {
display: flex;
flex-direction: row-reverse;
justify-content: space-between;
background-color: $mantle;
padding: .5rem;
@@ -171,47 +171,12 @@ footer {
}
}
.badges {
.block {
flex: 1;
text-wrap-mode: nowrap;
text-align: -webkit-center;
&:hover {
flex: 1.5;
transform: none;
}
}
}
.icon {
width: 1.5em;
vertical-align: middle;
border-radius: .2em;
}
::-webkit-scrollbar {
width: .5rem;
&-button {
display: none;
}
&-track {
background-color: $base;
}
&-thumb {
background-color: $overlay0;
border-radius: .25rem;
&:hover {
background-color: $overlay1;
}
}
}
@font-face {
font-family: Monocraft;
src: url("/static/font/Monocraft.ttc");
-33
View File
@@ -1,33 +0,0 @@
h3 {
margin-block-end: 0;
}
.qr {
img { width: 100% }
p { text-align: center; }
&.blocks {
flex-wrap: nowrap;
overflow-x: auto;
width: calc(100vw - 1rem);
max-width: 45rem;
scroll: {
behavior: smooth;
snap-type: x mandatory;
}
&::-webkit-scrollbar { display: none; }
&:hover .block.qr:not(:hover) {
filter: blur(5px);
transition: all 0.3s ease;
}
}
&.block {
flex: 0 0 calc(100vw - 2rem);
scroll-snap-align: start;
max-width: 13.666rem;
}
}
+4 -6
View File
@@ -1,10 +1,4 @@
<header>
{%- if request.path != url_for('index') %}
<a href="{{ url_for('index') }}">Coders Squad</a>
{%- else %}
<div></div>
{%- endif %}
<div class="header-links">
{%- for (l, t) in (
('us', _('about us')),
@@ -17,4 +11,8 @@
{%- endif %}
{%- endfor %}
</div>
{%- if request.path != url_for('index') %}
<a href="{{ url_for('index') }}">Coders Squad</a>
{%- endif %}
</header>
+2 -2
View File
@@ -13,9 +13,9 @@
<ul>
<li>CPU: Ryzen i9@3.4GHz (4 cores)</li>
<li>RAM: 8 GiB</li>
<li>SSD: 150 GB</li>
<li>SSD: 150 GiB</li>
<li>ETH: 500Mb/s</li>
<li>Loc: Deutchland, Frankfurt am Mein</li>
<li>Loc: Portugal</li>
</ul>
</div>
{% endblock %}
-2
View File
@@ -25,8 +25,6 @@
<p><a href="https://m.codrs.ru" target="_blank"><strong>Matrix</strong></a> &mdash; {{ _('index.descr:matrix') }}</p>
<p><a href="https://c.codrs.ru" target="_blank"><strong>Copyparty</strong></a> &mdash; {{ _('index.descr:copyparty') }}</p>
<p><a href="https://s.codrs.ru" target="_blank"><strong>4get</strong></a> &mdash; {{ _('index.descr:4get') }}</p>
<p><a href="https://tools.codrs.ru" target="_blank"><strong>IT-tools</strong></a> &mdash; {{ _('index.descr:tools') }}</p>
<p><a href="https://vert.codrs.ru" target="_blank"><strong>Vert</strong></a> &mdash; {{ _('index.descr:vert') }}</p>
</div>
<div class="block">
@@ -4,7 +4,6 @@
<title>Sweet Bread</title>
<link rel="stylesheet" href="/static/style/main.css">
<link rel="stylesheet" href="/static/style/risdeveau.css">
<link rel="icon" type="image/webp" href="/static/icon/us/risdeveau.webp" />
<script
src="https://track.codrs.ru/api/script.js"
@@ -12,12 +11,49 @@
defer
></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
h3 {
margin-block-end: 0;
}
{% if g.is_mobile %}
.qr img { width: 100%; }
.blocks.qr {
flex-wrap: nowrap;
overflow-x: auto;
width: calc(100vw - 1rem);
scroll-behavior: smooth;
scroll-snap-type: x mandatory;
}
.blocks.qr::-webkit-scrollbar { display: none; }
.block.qr {
flex: 0 0 calc(100vw - 2rem);
scroll-snap-align: start;
max-width: 16rem;
}
{% else %}
.qr img { width: 13.66rem; /* (x + 1) * 3 + 1 = 45 */ }
{% endif %}
.qr p {
text-align: center;
}
.badges .block {
flex: 1;
text-wrap-mode: nowrap;
}
.badges .block:hover {
flex: 1.5;
transform: none;
}
</style>
</head>
<body>
<header>
<a href="{{ url_for('index') }}">Coders Squad</a>
</header>
<main>
<h3>Development</h3>
<div class="blocks badges">
@@ -38,18 +74,14 @@
<h3>Contacts</h3>
<div class="blocks badges">
<a class="block" href="https://matrix.to/#/@risdeveau:codrs.ru">
<img class="icon" src="https://matrix.org/assets/favicon.ico" />
Matrix
</a>
<a class="block" href="//b.codrs.ru/@risdeveau">
<img class="icon" src="/static/icon/service/sharkey.webp" />
Fediverse
</a>
<a class="block" href="https://discord.com/users/459823895256498186">
<img class="icon" src="https://cdn.prod.website-files.com/6257adef93867e50d84d30e2/66e3d80db9971f10a9757c99_Symbol.svg" />
Discord
</a>
<a class="block" href="mailto:risdeveau@codrs.ru">
<img class="icon" src="" />
Mail
</a>
</div>