Commit Graph

963 Commits (759c90fdf8f23ca31fe7191d5122dc4463d3a90b)

Author SHA1 Message Date
geese-suck 47658f2897
clean up html head (#461)
* init (not done)

* asdf

* :marseymop:

* unnecesary

* remove

* Update html_head.html
2022-11-17 16:08:39 -05:00
Snakes 7feddc42f0 Unify template helpers and macros, fix header.
The need for sidebars to have access to macros.random_image means
all templates that include header.html (most templates) need to have
access to `macros`, because header.html includes sidebar_{SITE_NAME}.

Because of how sparse helpers was, we instead unify the two and
replace it since I know we had helpers in every top-level template.
2022-11-16 12:07:23 -05:00
justcool393 e1634d0940 modals: move all modals to a modals dir 2022-11-15 17:15:53 -05:00
justcool393 8f2f48d6d1
[DO NOT MERGE] import detanglation (#442)
* move Base definition to files.classes.__init__.py

* fix ImportError

* move userpage listing to users.py

* don't import the app from classes

* consts: set default values to avoid crashes
consts: warn if the secret key is the default config value

* card view: sneed (user db schema)

* cloudflare: use DEFAULT_CONFIG_VALUE

* const: set default values

* decouple media.py from __main__

* pass database to avoid imports

* import cleanup and import request not in const, but in the requests mega import

* move asset_submissions site check to __init__

* asset submissions feature flag

* flag

* g.is_tor

* don't import request where it's not needed

* i think this is fine

* mail: move to own routes and helper

* wrappers

* required wrappers move

* unfuck wrappers a bit

* move snappy quotes and marseys to stateful consts

* marsify

* :pepodrool:

* fix missing import

* import cache

* ...and settings.py

* and static.py

* static needs cache

* route

* lmao all of the jinja shit was in feeds.py amazing

* classes should only import what they need from flask

* import Response

* hdjbjdhbhjf

* ...

* dfdfdfdf

* make get a non-required import

* isort imports (mostly)

* but actually

* configs

* reload config on import

* fgfgfgfg

* config

* config

* initialize snappy and test

* cookie of doom debug

* edfjnkf

* xikscdfd

* debug config

* set session cookie domain, i think this fixes the can't login bug

* sdfbgnhvfdsghbnjfbdvvfghnn

* hrsfxgf

* dump the entire config on a request

* kyskyskyskyskyskyskyskyskys

* duifhdskfjdfd

* dfdfdfdfdfdfdfdfdfdfdfdf

* dfdfdfdf

* imoprt all of the consts beacuse fuck it

* 😭

* dfdfdfdfdfdfsdasdf

* print the entire session

* rffdfdfjkfksj

* fgbhffh

* not the secret keys

* minor bug fixes

* be helpful in the warning

* gfgfgfg

* move warning lower

* isort main imports (i hope this doesn't fuck something up)

* test

* session cookie domain redux

* dfdfdfd

* try only importing Flask

* formkeys fix

* y

* :pepodrool:

* route helper

* remove before flight

* dfdfdfdfdf

* isort classes

* isort helpers

* move check_for_alts to routehelpers and also sort imports and get rid of unused ones

* that previous commit but actkally

* readd the cache in a dozen places they were implicitly imported

* use g.is_tor instead of request.headers. bla bla bla

* upgrade streamers to their own route file

* get rid of unused imports in __main__

* fgfgf

* don't pull in the entire ORM where we don't need it

* features

* explicit imports for the get helper

* explicit imports for the get helper redux

* testing allroutes

* remove unused import

* decouple flask from classes

* syntax fix also remember these have side fx for some reason (why?)

* move side effects out of the class

* posts

* testing on devrama

* settings

* reloading

* settingssdsdsds

* streamer features

* site settings

* testing settings on devrama

* import

* fix modlog

* remove debug stuff

* revert commit 67275b21ab6e2f2520819e84d10bfc1c746a15b6

* archiveorg to _archiveorg

* skhudkfkjfd

* fix cron for PCM

* fix bugs that snekky wants me to

* Fix call to realbody passing db, standardize kwarg

* test

* import check_for_alts from the right place

* cloudflare

* testing on devrama

* fix cron i think

* shadow properly

* tasks

* Remove print which will surely be annoying in prod.

* v and create new session

* use files.classes

* make errors import little and fix rare 500 in /allow_nsfw

* Revert "use files.classes"

This reverts commit 98c10b876cf86ce058b7fb955cf1ec0bfb9996c6.

* pass v to media functions rather than using g

* fix

* dfdfdfdfd

* cleanup, py type checking is dumb so don't use it where it causes issues

* Fix some merge bugs, add DEFAULT_RATELIMIT to main.

* Fix imports on sqlalchemy expressions.

* `from random import random` is an error.

* Fix replies db param.

* errors: fix missing import

* fix rare 500: only send to GIFT_NOTIF_ID if it exists, and send them the right text

* Fix signup formkey.

* fix 2 500s

* propagate db to submissions

* fix replies

* dfdfdfdf

* Fix verifiedcolor.

* is_manual

* can't use getters outside of an app context

* don't attempt to do gumroad on sites where it's not enabled

* don't attempt to do gumraod on sites's where it's unnecessary

* Revert "don't attempt to do gumroad on sites where it's not enabled"

This reverts commit 6f8a6331878655492dfaf1907b27f8be513c14d3.

* fix 500

* validate media type

Co-authored-by: TLSM <duolsm@outlook.com>
2022-11-15 03:19:08 -06:00
Snakes 2d6cb193c0
Audio post minor improvements.
- Make clear on post submission that users can upload audio.
 - Fix a missing closing </div> that was breaking submission.html
   on audio posts.
2022-11-14 17:26:39 -05:00
justcool393 cbe328e933 submit thing 2022-11-14 11:20:34 -06:00
justcool393 39e7e61bcb posts: make ghost threads cost DC again
who the hell disabled this
2022-11-13 19:52:32 -06:00
Snakes 439b73d6ae
Make explicit submission flag behavior.
Main intention is to allow API users (bots) to benefit from the
defaults typically enforced clientside, and to generally be clearer
about what values do what.
2022-11-11 00:23:03 -05:00
Aevann1 170959c071 untick "notify followers" checkbox when "ghost thread" checkbox is ticked 2022-11-09 21:26:38 +02:00
Aevann1 6694585434 make ghost threads free again 2022-11-09 21:19:29 +02:00
Snakes be2664b284
Revert "set astolfo background to everyone in drama"
This reverts commit be1ff23d4d.
2022-11-01 00:21:32 -04:00
Aevann1 be1ff23d4d set astolfo background to everyone in drama 2022-10-29 22:23:16 +02:00
Aevann1 7915d9f0aa fix bugs resulting from fdd608532b 2022-10-29 03:26:46 +02:00
Aevann1 de8be8dd0e get rid of <pre> being used as vertical spacing 2022-10-29 02:47:48 +02:00
Aevann1 fdd608532b add type="button" to all <button> tags 2022-10-29 01:35:14 +02:00
Aevann1 4a43bc239d remove formatting buttons (useless bloat) 2022-10-28 21:09:56 +02:00
Aevann1 1a35e2ec6a refactor banned domains 2022-10-28 00:37:29 +02:00
justcool393 c4b2c6f3f5
html head refactor (#412)
* start html head refactor
this is a bit of a doozy tbh and will probably take a while. the templates are very highly duplicated but not duplicated enough to be an easy little thing

oh well, so it goes.

* some easier html head ones

* add chat, html_head, sign_up_failed_ref, sign_up, submit

* CSP: put it in const.py instead of this weird thing we did before

* fix syntax error

* better call the actual macros

* fix prev commit

* import into settings2

* fix prev commit

* set CSP properly if localhost

* some title fixes i think

* login page

* fix prev commit

* hacky thing to get titles to work i think

* {{stylesheets()}}

* fix prev commit

* title stuff

* cries uncontrollably

* submission fixes i think

* fix prev commit i think

* submission fixes ekfjdhfkdjf

* submission fixes 4

* this may fix submissions idk tbh

* default template: make it a little better on post pages

* default template: some efficiency
2022-10-21 13:39:45 -05:00
justcool393 2559794135 Move stuff we put in bootstrap.js to a new core.js file 2022-10-14 02:50:39 -07:00
Aevann1 aa8e7055fb rework env vars a bit 2022-10-08 02:43:04 +02:00
Aevann1 d1f52447b1 remove old earlylife css code 2022-10-07 01:45:23 +02:00
Aevann1 140db5052c remove shit i accidentially committed :marseybrainlet: 2022-10-06 05:37:52 +02:00
Aevann1 94e441a23b decrrease max-width for a bunch of modals from 90% to 85% 2022-10-06 03:01:52 +02:00
Snakes a3664e252c
assetcache: change asset_siteimg macro to filter. 2022-09-24 03:14:20 -04:00
Snakes 98936efe60
assetcache: apply to all CSS and JS assets. 2022-09-24 03:04:06 -04:00
Aevann1 f54791cc4c remove categories 2022-09-19 20:04:30 +02:00
Aevann1 2e31b52366 for consistency's sake, don't use {sub.name} inside strings anymore 2022-09-12 07:25:04 +02:00
Aevann1 c1aae95d16 restore "notify followers" checkbox 2022-09-10 09:00:45 +02:00
Aevann1 00b71e0bc5 restore the original emoji icon 2022-09-10 01:52:52 +02:00
Aevann1 e9445efc22 make bootstrap work on localhost 2022-09-08 19:12:46 +02:00
Aevann1 71b5367874 cachebust all css and js 2022-09-05 01:50:43 +02:00
Aevann1 0c32d56cd6 casino + style shit 2022-09-05 01:15:37 +02:00
Aevann1 3306f94fc5 change default dues from 10 to 0 2022-09-01 21:15:21 +02:00
Aevann1 768a2eda24 clarify CC function in WPD and PCM 2022-09-01 21:12:05 +02:00
Aevann1 c40fa120e8 remove ((( from chud award 2022-08-30 06:03:16 +02:00
Aevann1 0f11312d24 add house awards 2022-08-27 04:57:19 +02:00
Aevann1 d70b6df92b remove the warning 2022-08-19 13:53:56 +02:00
Aevann1 26bbc8b69a perserve the first 4 checkboxes in /submit too 2022-08-15 08:42:59 +02:00
Aevann1 9472f1f980 fix wrong info on /submit 2022-08-13 10:44:13 +02:00
Aevann1 f6729aab33 fix https://rdrama.org/post/18459/marseycapywalking-megathread-for-bugs-and-suggestions/2487028?context=8#context 2022-08-11 19:18:53 +02:00
Snakes 1411018f8d Add post categories.
Implemented for LGB but can likely be used for WPD and other future
sites. Similar to a reddit post flair. Provides:
  - Admin panel for Category management.
  - Category selection on post submission.
  - 'Recategorize' post action.
2022-08-07 02:57:30 -04:00
Aevann1 b83a16668b re-move bootstrap.js back to the top of documents to fix broken shit 2022-08-06 03:20:25 +02:00
Snakes eb55a6cc01
LGB: disable country club. 2022-07-19 21:50:08 -04:00
Nekobit bde47271d7
Allow Inline Emoji modal in more areas (#318)
* Sneed

* Bust cache
2022-07-17 07:42:03 +02:00
Nekobit 4b47faa1ed
Inline Emojo Picker (#317)
* Inline emoji picker

* Inline text editor
2022-07-17 07:02:22 +02:00
Aevann1 2d21863e19 replace "request.host" with "SITE" 2022-07-13 20:14:37 +02:00
Aevann1 382df30e1f show ALL timestamps in user's timezone + move scripts to the bottom of HTML templates to mimic rocketloader's behavior on localhost (for testing) 2022-07-09 10:35:47 +02:00
Aevann1 a8fe49f232 kitchen sink commit, all over the place 2022-07-08 21:03:04 +02:00
Aevann1 57e424af5b revert the "defer" thing 2022-07-03 12:10:04 +02:00
Aevann1 a49325ba14 defer all scripts (this won't change anything for us since we use rocketloader, but it will fix javascript on localhost) 2022-07-03 09:42:33 +02:00
Aevann1 d59f346f0b 1 less request, 1 less transaction, 1 less query 2022-07-01 23:10:48 +02:00
Aevann1 25e594d673 Revert "no longer stop reposts from being posted"
This reverts commit 19e6e7f4d9.
2022-07-01 20:29:12 +02:00
Snakes 1b9237ceaf Add assetcache.asset_siteimg, has_logo.
Commit began by changing the duplicated SITE_NAME conditional in the
header to use a `has_logo` param, much like the recent `has_sidebar`.
From there, a need to include site-specific assets in assetcache was
revealed, adding the `asset_siteimg(...)` macro. This was applied
quite broadly, though not comprehensively.
2022-07-01 01:55:53 -04:00
Aevann1 19e6e7f4d9 no longer stop reposts from being posted
(just give the warning and that's it)
2022-06-29 03:37:44 +02:00
Aevann1 5c597d4990 fix b3ca7ce8ac 2022-06-29 03:31:59 +02:00
Aevann1 1a1b57d3d9 make "toggle preview" button in the same row as other buttons 2022-06-28 04:09:23 +02:00
Aevann1 8475a2352e Revert "remove "toggle preview" button"
This reverts commit d2036a34f3.
2022-06-28 04:06:57 +02:00
Aevann1 d2036a34f3 remove "toggle preview" button 2022-06-28 03:38:45 +02:00
Aevann1 6bd4efa61f Revert "make small text less small"
This reverts commit 42b0f37034.
2022-06-27 04:33:38 +02:00
Aevann1 42b0f37034 make small text less small 2022-06-27 04:18:14 +02:00
Snakes e0c3c79902 WPD: Require flairs on all posts. 2022-06-26 03:42:56 -04:00
Snakes cd556b6d8e Refactor UI name of hole/sub to constant. 2022-06-26 03:41:28 -04:00
Aevann1 e022b29ef6 rework custom css a little 2022-06-26 07:26:45 +02:00
Aevann1 74978bfbf7 Revert "put custom CSS into HTML templates"
This reverts commit 19c82b7ea1.
2022-06-26 07:07:28 +02:00
Aevann1 19c82b7ea1 put custom CSS into HTML templates 2022-06-26 06:33:41 +02:00
Aevann1 17c81ea9ef reduce margin above "toggle preview" 2022-06-24 17:40:05 +02:00
Aevann1 f34c4e1196 stop using app.config for our own stuff 2022-06-24 17:08:57 +02:00
Aevann1 ef3843f628 add timer to re-enable form buttons after 1 second 2022-06-24 04:53:31 +02:00
Aevann1 222367cea8 fix 500 errors 2022-06-24 03:28:34 +02:00
Aevann1 9dbe67bf90 respect user's chosen themecolor 2022-06-24 03:27:49 +02:00
Aevann1 4d692bebe8 make all form-submitting buttons get disabled after clicking
so spergs like me with poor motor control don't click twice and get hit with 429
2022-06-23 22:49:23 +02:00
Aevann1 d704592bdd cache-bust all previously broken images 2022-06-22 17:59:47 +02:00
Aevann1 20585ca543 add a shortened endpoint for static images and rename loading.webp to l.webp (to save bytes) 2022-06-22 17:51:19 +02:00
Aevann1 d9cdbd0015 return to only allowing images/videos/audio 2022-06-19 18:56:45 +02:00
Aevann1 ccdabcba29 allow uploading of all types of files (using lain.la)
+ allow multiple file upload in bios and messaging admins
2022-06-18 17:53:34 +02:00
Snakes a8155d964a Kitchen sink: emoji content, assert, assetcache.
These are all minor and uncontroversial enough it just felt gross
making multiple commits.
  - Adds marseymummified.
  - Changes the new `raise ValueError(...)` in badge_grant to
    an `assert`.
  - Expands assetcache to a convenient grab bag of JS files.
2022-06-15 17:17:31 -04:00
Aevann1 cd5f8a528b in the preview, dont replace '\n' with '\n\n' if the text
has "```" or "<pre>" (to match backend behavior)
2022-06-15 22:12:03 +02:00
Aevann1 12a9307ab3 don't restrict file extensions on the frontend side (leave it to the backend) 2022-06-11 13:38:45 +02:00
Aevann1 f548c2077d show names of all files when pasting instead of just the first file 2022-06-11 00:37:55 +02:00
Aevann1 cda275c194 replace \n with \n\n in previews (to match the backend behavior) 2022-06-10 21:45:48 +02:00
Aevann1 900edaa92e made it so you can click "CTRL+Enter" anywhere in
/submit in order to make a post
2022-06-09 13:12:25 +02:00
Snakes cb5f9d05c6 templates: Fix improper plurals, create helpers.
Previously, the three instances of 'Report[s]' and one instance of
'Coin[s]' in the UI templates were always pluralized, even when they
referred to a singular instance. This has been corrected by creating
a `plural` helper macro.

Additionally, this was used as impetus to create `utils/helpers.html`
to eventually move more recurring template logic into macros.
2022-06-07 05:26:22 -04:00
Snakes 80d04b6d9d assetcache: Add theme CSS support; bust recent. 2022-05-30 01:50:52 -04:00
Snakes 0aafd810a2 assetcache: Add dynamic file parameter, apply more.
Assetcache macro improvement: to support assets in folders which are
dynamically referenced by e.g. ID or name, the `asset` macro now
accepts an optional second parameter to be included in the path but
not to be used for versioning the class of assets.

To support recent commits, assetcache now applies for:
  - images/badges/*.webp
  - js/: award_modal.js, bootstrap.js, header.js
2022-05-29 00:52:40 -04:00
Aevann1 6584919d41 sdf 2022-05-28 22:25:28 +02:00
Aevann1 20bce86d33 Merge branch 'frost' of https://github.com/Aevann1/Drama into frost 2022-05-27 22:03:25 +02:00
Aevann1 ead4c791a8 sdf 2022-05-27 22:03:23 +02:00
HappyDOGE 9c8c08ecb5 update bootstrap (#287) 2022-05-27 21:40:01 +02:00
HappyDOGE d6b4c3b166 Added offline service worker (serves a static webpage when no internet connection is present) (#285)
based
2022-05-27 21:23:01 +02:00
Snakes af77ec515d Templates: create assetcache template.
For too long, we've Replace-All'd to increment site asset version
numbers. This is a task that has an obvious solution using the
templating engine. As such, we now have templates/util/assetcache.html
which contains a dict of version numbers and a macro to generate the
versioned name of an asset.

Going forward, it is recommended that all future replace-all uses
are used as opportunities to switch to the macro. Do remember to
import the macro in all top-level templates, if not already present.
Recommended form: {%- from 'util/assetcache.html' import asset -%}
Then add a key to CACHE_VER in util/assetcache.html.
Then replace the asset path in templates eg: {{asset('css/main.css')}}

For all future versions of those assets, one can simply increment
the value in util/assetcache.html instead. This will greatly reduce
git spam touching unrelated files and generally be clearer and easier.
2022-05-26 22:47:32 -04:00
Aevann1 22aacf86ec vf 2022-05-27 00:23:16 +02:00
Aevann1 163267c88c Revert "Add Y'all Seein' Eye award."
This reverts commit a0f441a67d.
2022-05-26 02:51:42 +02:00
Snakes a0f441a67d Add Y'all Seein' Eye award.
Adds award to enable viewing profile visitors for non-mops and
non-patrons. This commit should encompass all frontend, backend, and
database changes necessary. Perhaps usable as a model for other
user upgrade flag awards.
2022-05-25 19:44:34 -04:00
Aevann1 6859653e1a sfd 2022-05-25 23:57:38 +02:00
Aevann1 2c67a34047 fsd 2022-05-25 23:55:07 +02:00
Aevann1 94151bf2d6 fsd 2022-05-25 21:45:03 +02:00
Aevann1 b1d57227ff sfd 2022-05-25 03:18:36 +02:00
Aevann1 4e4f667387 journoid 2022-05-25 03:14:18 +02:00
Aevann1 bbd851210e fds 2022-05-24 17:32:49 +02:00
Aevann1 0a74a98ec5 big ass commit 2022-05-23 00:15:29 +02:00
Aevann1 b9316c0073 fsd 2022-05-21 15:19:02 +02:00
Aevann1 cad9952f2b Merge branch 'frost' of https://github.com/Aevann1/Drama into frost 2022-05-21 14:36:24 +02:00
Aevann1 20cc20d806 fsd 2022-05-21 14:36:22 +02:00
Snakes 6fbaf2f15f Partially revert: cb1bb4e43b, 2737a6ca47.
cb1bb4e43b40: Server cleaned out schema.sql for some reason and
it was autocommitted by the sneed cron. This is why the tests fail.

2737a6ca479b: Originally pulled from themotte/rDrama @ 309bf44f12ba.
In light of the fact this is breaking comment previews right now and
the actual XSS threat is unclear, given we sanitize serverside,
this is reverted until I find time to look at it.
2022-05-20 19:15:44 -04:00
Aevann1 2737a6ca47 sfd 2022-05-20 23:41:08 +02:00
Aevann1 a83a72ca95 fsd 2022-05-20 16:51:14 +02:00
Aevann1 f4ac063354 sfd 2022-05-20 16:48:13 +02:00
Snakes 97bfdc5d3e Improve readability on header birthgay bg. 2022-05-19 19:15:49 -04:00
Aevann1 85bf0ab866 sfd 2022-05-20 00:10:02 +02:00
Aevann1 15f0b963c7 fc 2022-05-18 20:45:04 +02:00
Aevann1 3491c9187d pls review 2022-05-17 21:58:41 +02:00
Aevann1 9dbd9f42e0 fsd 2022-05-14 15:17:57 +02:00
Aevann1 f67860c566 sf 2022-05-13 13:03:44 +02:00
Aevann1 fac797006e sf 2022-05-10 14:14:09 +02:00
Aevann1 09f732d009 sf 2022-05-10 13:40:23 +02:00
Aevann1 3f2eb808b8 fd 2022-05-10 10:07:19 +02:00
Aevann1 db99dd8255 sfd 2022-05-10 09:32:11 +02:00
Aevann1 9bd8fcbd1c sf 2022-05-10 09:20:49 +02:00
Aevann1 421edf92f4 vxc 2022-05-09 16:44:11 +02:00
Aevann1 8fd2002013 dgf 2022-05-09 16:40:27 +02:00
Aevann1 bf683cf5a2 vxc 2022-05-07 11:23:13 +02:00
Aevann1 8535ec8958 hk 2022-05-07 10:51:07 +02:00
Aevann1 b5abdccff8 sdf 2022-05-07 09:13:52 +02:00
Aevann1 036e61110a sfd 2022-05-07 09:12:59 +02:00
Aevann1 8a5fd22034 sfd 2022-05-07 09:09:46 +02:00
TLSM 0447c9c09e Fix remaining emoji-btn clickboxes. (#247)
In line with 1c363303f0, repeat a similar fix for the four remaining
emoji-btns which had wrong clickboxes.
2022-05-06 05:38:20 +02:00
Aevann1 bb43be278b dg 2022-05-05 23:49:27 +02:00
Nekobit 1c363303f0 g (#242) 2022-05-05 04:15:23 +02:00
Aevann1 6b10d097a2 mn 2022-05-05 01:09:46 +02:00
Aevann1 7b834f2831 fd 2022-05-03 02:13:57 +02:00
Nekobit 94edc2ce52 Fix emojis on freakish browsers & fix buttons (#240)
thx u nekobit
2022-05-02 19:54:10 -04:00
Aevann1 18509b653a dfg 2022-05-02 21:39:18 +02:00
Aevann1 999c16e439 sfd 2022-05-02 02:04:25 +02:00
Aevann1 f3983ab491 sdf 2022-05-02 02:02:19 +02:00
Aevann1 41f08325fa sdf 2022-05-02 01:58:06 +02:00
Aevann1 bc2a20cd4b sfd 2022-05-01 23:44:38 +02:00
Aevann1 01e55c142a fsd 2022-04-29 16:28:13 +02:00
Aevann1 d961ffc913 fds 2022-04-28 02:04:01 +02:00
Aevann1 20f925afb7 fds 2022-04-28 01:09:39 +02:00
Aevann1 5a49be1d47 fsd 2022-04-26 15:40:37 +02:00
Aevann1 0f05bf3f94 fsd 2022-04-26 00:28:20 +02:00
Aevann1 6ea487a6e7 fsd 2022-04-24 18:25:01 +02:00
Aevann1 5fd4a0d83d fds 2022-04-23 01:32:48 +02:00
Aevann1 df046d4677 dsf 2022-04-23 01:31:55 +02:00
Aevann1 56377f5bab fsd 2022-04-18 18:09:44 +02:00
Aevann1 252d3df198 gf 2022-04-17 19:51:01 +02:00
Aevann1 782c58e8c0 fsd 2022-04-17 15:54:22 +02:00
Aevann1 48c0094ae5 fds 2022-04-17 15:43:36 +02:00
Aevann1 2c8fe2adce fds 2022-04-16 22:12:34 +02:00
Aevann1 543b9a73cb rfds 2022-04-14 19:20:00 +02:00