TDesk technical documentation
Admin workspace
Trace each screen to its assets and replace the local demo state one workflow at a time.
Find the right files
| Area | Location | Responsibility |
|---|---|---|
| Shell | assets/css/admin.css + assets/js/admin.js | Sidebar, header, page search, dialogs, validation, storage, and feedback. |
| Tickets, inbox, knowledge | helpdesk.css + helpdesk.js | Ticket list, thread, drafts, replies, knowledge base, article editor, and canned replies. |
| People and settings | workspace.css + workspace.js | Customers, agents, roles, policies, activity, and workspace preferences. |
| Library and authentication | kit.css + kit.js | Forms, UI examples, tables, icons, and sign-in flow previews. |
| Reports | overview.js and analytics.html | Dashboard queue and illustrative reporting periods. |
Change navigation and layout
- Update the sidebar links and matching page search links in each page, or extract the shared shell into one partial or component in your app.
- Keep the active item marked with
aria-current; give icon-only controls accessible names. - Keep
id="application-nav",id="menu-toggle", and dialog IDs in sync if you keepadmin.js. - Use
assets/css/design-system.cssfor token overrides and keep page styles after shared styles.
Identify the demo state
Each help desk page has an embedded #helpdesk-seed JSON block. The script reads it and overlays browser-local records under sami.admin.v1.. The queue and detail route use ticket-detail.html?id=1042. The front and admin fixtures are independent; use one shared ticket API to connect them.
Queue URLs can carry status, priority, or agent. Customer detail has an id parameter. Keep a stable public ID and update both list links and detail routes together.
Forms with data-validate emit sami:valid after local validation. To connect a form, replace its demo listener with your own submit flow. The shared script cancels native submit; for regular server POST forms, remove that interception for the forms you migrate and enable their submit buttons through the actual implementation.
Passwords are not saved and the demo account screens do not grant access. Do not use local storage or the demo role matrix as an authorization boundary.
All 33 admin pages
| Page | Purpose |
|---|---|
index.html | Overview |
activity-log.html | Activity log |
analytics.html | Analytics |
article-editor.html | Article editor |
automations.html | Automations |
canned-responses.html | Saved replies |
customer-detail.html | Customer profile |
customers.html | Customers |
documentation.html | Documentation |
error-403.html | 403 — Access denied |
error-404.html | 404 — Page not found |
error-500.html | 500 — Server error |
forgot-password.html | Forgot password |
form-validation.html | Form validation |
forms.html | Form elements |
icons.html | Icon library |
inbox.html | Inbox |
knowledge-base.html | Knowledge base |
lock-screen.html | Lock screen |
login.html | Sign in |
maintenance.html | Maintenance |
reset-password.html | Reset password |
roles.html | Roles & permissions |
settings.html | Settings |
signup.html | Sign up |
sla.html | SLA policies |
tables.html | Data tables |
team.html | Team members |
ticket-create.html | Create ticket |
ticket-detail.html | Ticket conversation |
tickets.html | All tickets |
ui-components.html | UI components |
verify-email.html | Verify email |