Admin Panel
Full admin panel for approving/rejecting events, managing categories with custom icons, and registering event creators.
Event Management
Admins can view events across all statuses:
- Pending Approval: Events waiting for admin review — approve or reject with reason
- Active Events: Currently running events — view details or delete
- Rejected Events: Events that were rejected — view rejection reason
- All Events: Complete list of all events
Approval Workflow
- Creator submits an event — status becomes pending
- Admin reviews the event in the Pending Approval tab
- Admin can approve (event goes active) or reject (with a reason)
- Creator receives a notification with the result
Category Management
Admins can create, edit, and delete event categories:
- Label: Display name (e.g., "Party", "Race", "Tournament")
- Value: Internal key (e.g., "party", "race", "tournament")
- Icon: Lucide icon name (e.g., "PartyPopper", "Car", "Trophy") — renders as a dynamic icon
Categories are stored in the database and displayed in both the creation wizard and the explore page filter sidebar.
Creator Management
Admins can register and remove event creators:
- Click Add Creator in the Creators tab
- Search from the list of all online players (by name or identifier)
- Select a player to register them as a creator
- Remove creators with the delete button
Creators can also be defined via groups in Config.CreatorGroups.
Admin Permissions
Admin access is determined by Config.AdminGroups:
lua
Config.AdminGroups = {
["superadmin"] = true,
["admin"] = true,
["god"] = true,
}
The permission check adapts to each framework:
| Framework | Check Method |
|---|---|
| ESX | xPlayer.getGroup() against groups |
| QBCore | HasPermission() for each group |
| QBox | PlayerData.groups table |
| Standalone | ACE permissions |
