Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Submit feedback
    • Contribute to GitLab
  • Sign in
U
upgrade-data-crawler-fe
  • Project
    • Project
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • ThinhNC
  • upgrade-data-crawler-fe
  • Merge Requests
  • !16

Merged
Opened Sep 09, 2026 by ThinhNC@ThinhNC
  • Report abuse
Report abuse

feat(quota): integrate monthly & role quotas, reset dialogs, profile usage widget, and cron UI

Features & UI Enhancements: Resource Quota Controls, Profile Usage Widget & Cron UI

Summary

This PR delivers dynamic resource quota visualization, role quota templating, user/role quota reset workflows, and developer cron job scheduling, adhering strictly to the Organic Biophilic design system and bilingual i18n standards.


Key Changes

1. Dashboard vs. Profile Quota Visualization (quota-usage-widget.tsx)

  • Added showMonthly?: boolean (default false) and customizable title/subtitle props.
  • Dashboard (/): Compact daily focus displaying daily pages crawled (pagesCrawledToday / maxPagesLimit), daily jobs used, real-time concurrent job slots, 00:00 reset countdown, and daily-only warning thresholds.
  • Profile Settings (/settings/profile): Promoted quota monitoring to a dedicated Section 2 displaying both daily and monthly quotas, next month reset date, and quick Reset Quota action.

2. User & Role Quota Reset Workflows

  • User Reset Dialog (user-reset-quota-dialog.tsx): Modal allowing administrators to reset user usage to 0, with an option to restore maximum limits to role defaults (resetLimitsToRole).
  • Role Reset Dialog (role-reset-quota-dialog.tsx): Bulk quota reset for all users sharing a role with syncLimits option.
  • Integrated quick reset trigger buttons into user-table.tsx and role-table.tsx.
  • Updated React Query invalidation to ['auth'] in use-users.ts and use-roles.ts for instant cross-application state synchronization without page reloads.

3. Role Quota Templating & User Management

  • Enhanced RoleFormModal with 5 configurable quota limit inputs and a syncUsersQuota checkbox.
  • Displayed daily and monthly quota indicators in RoleCard, RoleTable, and UserTable.
  • Added monthly quota inputs to advanced options in both UserCreateModal and UserEditModal.

4. Developer Settings & Navigation

  • Added Cron Jobs scheduler view (/settings/developer/cron) with execution triggers, interval controls, and execution result modals.
  • Integrated quick integration code snippets (cURL & Node.js) directly into the API Keys tab and deprecated standalone docs tab.

5. Bilingual Localization (translations.ts)

  • Synced comprehensive vi and en translation dictionaries for daily/monthly quotas, dialogs, tooltips, and profile settings.

Check out, review, and merge locally

Step 1. Fetch and check out the branch for this merge request

git fetch origin
git checkout -b feat/quota-management-profile-and-cron-ui origin/feat/quota-management-profile-and-cron-ui

Step 2. Review the changes locally

Step 3. Merge the branch and fix any conflicts that come up

git fetch origin
git checkout origin/develop
git merge --no-ff feat/quota-management-profile-and-cron-ui

Step 4. Push the result of the merge to GitLab

git push origin develop

Note that pushing to GitLab requires write access to this repository.

Tip: You can also checkout merge requests locally by following these guidelines.

  • Discussion 0
  • Commits 1
  • Changes 44
Assignee
No assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
0
Labels
None
Assign labels
  • View project labels
Reference: ThinhNC/upgrade-data-crawler-fe!16

Revert this merge request

This will create a new commit in order to revert the existing changes.

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.

Cherry-pick this merge request

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.