Refactored the web panel's user link generation to resolve a major performance bottleneck. Previously, fetching links for N users would trigger N separate script executions, causing significant delays from process startup overhead.
- Introduced a new bulk API endpoint (`/api/v1/users/uri/bulk`) that accepts a list of usernames and calls the backend script only once.
- Updated the frontend JavaScript in `users.html` to use this new endpoint, replacing N parallel API calls with a single one.
- Cleaned up the `wrapper_uri.py` script for better readability and maintainability.
- Display total user count in the card header.
- Add a new '#' column to the user table showing the row number.
- Sort the user list alphabetically by username (case-insensitive) using Jinja filter before rendering.
- Update JavaScript column index references (`td:eq(n)`) to reflect the added '#' column.
- Implemented multi-user selection and deletion with confirmation.
- Added filter buttons (All, Not Active, Enable, Disable) with client-side logic.
- Fixed "Select All" checkbox to only affect visible users after filtering.
- Implemented real-time username validation (alphanumeric only).
- Added a disable to prevent submit validation error
- Ensured that select all deselect button, work with filters and sorting
- Improve UI to be more intuitive.
-Improved responsivity buttons in smaller devices