3106823511 added a chat icon to the navbar on mobile. I forgot that
the bottom navbar on mobile already had one. It has therefore been
removed, thus totally alleviating issues with wrapping when a user
is both an admin and has a high notification count.
Users now have a toggleable can_gamble setting which disables their
ability to use all chance-based gains on the site: viz. slots,
blackjack, the lottery, and treasure chests.
This only applies on invocation of commands that start gambling
games, so it should cause no bugs when toggled with e.g. active
blackjack games.
This was added for the benefit of users with actual problems with
gambling, be they past addiction or religious conviction. All future
gambling features are humbly requested to respect it.
Also includes moving styles to main.css and reducing font size per
request of Carp.
Additionally: includes the modlog sidebar link that I forgot to stage
with the previous commit.
After the recent addition of the Lottershe, some narrow phone screens
caused the header to wrap to two lines. Prompted by this, a more
general rework of the header nav icons was initiated.
Notably: random user, random post, all comments has been moved to
sidebar on all sites, and a .sidebar-link CSS class was created to
support it. Additionally, on rDrama, links for Badges and Marseys
were added, since I believe these are presently inaccessible from
the UI. Further, a Modlog link was added to be more accessible.
Additionally, the icons in the header were rearranged on desktop and
mobile to better fit relative priority.
* fuck u bootstrap
* cleanup
* Improve CSS
* Vote and reply animations
* Fixse
* Fix bugs and add scroll to top thing
* Update themes and sidebar and stuff and such
* Fix mobile arrows
* soy blur
* Fix dramlr or dramalr or tumblr or whatever its called
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
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.
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.
The users online count recently added to wrappers.py:get_logged_in_user
uses g.timestamp for its calculations. This is primarily set in
__main__.py:before_request. However, chat has requests which do not
trigger @app.before_request. To resolve this, we now set g.timestamp
in the auth_required wrapper before calling get_logged_in_user().
I think this is safe in general; there's no particular harm to setting
the timestamp _more_ frequently.
After ea48c46b0f adds the leaderboard table for most blocked user,
it appeared that the user profile links did not appear correctly.
As such, it was necessary to join on the appropriate information.
This has been (mostly) resolved, excluding the removal of profile
picture because profile_url has logic in Python.
If someone knows SQLAlchemy better than I do, please redo this and
add the profile pictures back into the template. However, I got tired
of fighting with the ORM when I already knew the damn query.
Originally prompted by https://rdrama.net/post/18459/-/1984609 which
noticed that streamable.com/e/ links as posts would have another e/
added to them. This was in spite of logic in posts.py api_is_repost
and submit_post designed to specifically counteract this.
Proximal cause was a copypasta'd url.replace(...) chain which
caused the mistake before the streamable-specific logic had a chance
to avoid making it.
Solution: remove the streamable replacement from the chained statement
and create `helpers.normalize_url(url)` to get rid of the copypasta.
With the changes in 8a400a209b, a bug was accidentally introduced
which resulted in one's own profile being wrapped in a `display: none;`
block due to a template conditional which caused the mobile
<div id="profile--actionbtns"> to not be closed when v.id != u.id
(cf. userpage.html circa L489).
Because the current conditional structure makes it hard to add an
analogous profile--actionbtns div to mobile, it has been removed.
By direct request of Carp. Also shrunk text slightly to match.
In light of the animated icon, it's plenty visually obvious.
Also, the smaller text reduces instances of unsightly text wrapping.
After much debate, the user counter will remain in the top banner for
all non-rDrama sites using the codebase, while on rDrama the journoid
banner will remain there and the counter has been moved back to the
sidebar. This partially reverts some recent commits.
In addition to the sidebar move, the rDrama user counter now has
random flavor text, much as reddit sidebars do, though ours is
cooler because it can randomly select from a list.
Per https://rdrama.net/post/70341/-/1976650 added more gTLDs that
are actually desired by site users.
Also, hard wrapped the `TLDS` and `allowed_tags` tuple-lists at a
100char hard ruler for my sanity.