feat(ui): add quota overview (#6602)

Add UI to the quota feature to see what quotas applies to you and if you're exceeding any quota, it's designed to be a general size overview although it's exclusively filled with quota features for now. There's also no UI to see what item is actually taking in the most size. Purely an quota overview.

Screenshots:
![](https://codeberg.org/attachments/9f7480f2-4c31-4d70-8aec-61db79282a1e)
![](https://codeberg.org/attachments/0bd45bf3-28c5-47bf-8fff-c4ae9f38cb28)

With inspiration from concept by 0ko:
![](https://codeberg.org/attachments/b8154a52-6fba-42fc-a4a8-b3ab1527fb33)

Co-authored-by: Otto Richter <git@otto.splvs.net>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6602
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
This commit is contained in:
Gusted 2025-02-26 14:36:53 +00:00 committed by 0ko
parent 6dad457552
commit 77a1af5ab8
24 changed files with 348 additions and 33 deletions

View file

@ -749,6 +749,8 @@ organization = Organizations
uid = UID
webauthn = Two-factor authentication (Security keys)
blocked_users = Blocked users
storage_overview = Storage overview
quota = Quota
public_profile = Public profile
biography_placeholder = Tell others a little bit about yourself! (Markdown is supported)
@ -1054,6 +1056,25 @@ user_unblock_success = The user has been unblocked successfully.
user_block_success = The user has been blocked successfully.
user_block_yourself = You cannot block yourself.
quota.applies_to_user = The following quota rules apply to your account
quota.applies_to_org = The following quota rules apply to this organisation
quota.rule.exceeded = Exceeded
quota.rule.exceeded.helper = The total size of objects for this rule has exceeded the quota.
quota.rule.no_limit = Unlimited
quota.sizes.all = All
quota.sizes.repos.all = Repositories
quota.sizes.repos.public = Public repositories
quota.sizes.repos.private = Private repositories
quota.sizes.git.all = Git content
quota.sizes.git.lfs = Git LFS
quota.sizes.assets.all = Assets
quota.sizes.assets.attachments.all = Attachments
quota.sizes.assets.attachments.issues = Issue attachments
quota.sizes.assets.attachments.releases = Release attachments
quota.sizes.assets.artifacts = Artifacts
quota.sizes.assets.packages.all = Packages
quota.sizes.wiki = Wiki
[repo]
rss.must_be_on_branch = You must be on a branch to have an RSS feed.