BITS Webapp — Feature Inventory (v3 — mechanically extracted)#
Generated mechanically from
/Users/alevsk/Development/bits/webapp/src/at commit048f716. Everydata-testidoccurrence in.ts/.tsxsource is enumerated below, grouped by source file. This is the authoritative input set for integration test design — every interactive feature that has a stable testid is in here. Re-runmake test-artifacts(orpython3 scripts/extract_testids.py > documentation/feature-inventory.md) to refresh.
Summary#
- Source files with testids: 137
- Unique testids: 1257
- Total testid occurrences (file × testid): 1261
- Extraction commit:
048f716
Pattern legend#
| Kind | Source pattern |
|---|---|
static | data-testid="literal" |
template | data-testid={`prefix-${var}`} (rendered as prefix-{var}) |
slotprop | slotProps={{ htmlInput: { 'data-testid': 'value' } }} (MUI v9) |
drilled | <Child testId="value" /> (prop drilled into a wrapper) |
drilledTemplate | <Child testId={`prefix-${var}`} /> |
Per-file inventory#
Files are grouped by their parent directory in webapp/src/. Within each file, rows are sorted by line number. Templated testids are shown with {var} placeholders for their interpolation points; actual rendered testids substitute the variable’s value at runtime.
routes/ (80 files, 875 testids)#
routes/HealthHome.tsx#
1 testids
| Line | Test ID | Kind |
|---|---|---|
| 92 | health-status | static |
routes/LandingPage.tsx#
4 testids
| Line | Test ID | Kind |
|---|---|---|
| 16 | health-status | static |
| 152 | landing-title | static |
| 203 | landing-login | static |
| 213 | landing-signup | static |
routes/admin/AdminAnnouncementsPage.tsx#
14 testids
| Line | Test ID | Kind |
|---|---|---|
| 186 | admin-announcements-root | static |
| 208 | admin-announcement-new | static |
| 238 | admin-announcement-{a.id} | template |
| 258 | admin-announcement-state-{a.id} | drilledTemplate |
| 264 | admin-announcement-row-{a.id}-category | template |
| 274 | admin-announcement-row-{a.id}-pin-status | template |
| 306 | admin-announcement-publish-{a.id} | template |
| 333 | announcement-title | slotprop |
| 341 | announcement-body | slotprop |
| 352 | announcement-scope | slotprop |
| 373 | admin-announcement-category | slotprop |
| 392 | admin-announcement-pin-until | slotprop |
| 403 | admin-announcement-cover-url | slotprop |
| 418 | announcement-submit | static |
routes/admin/AdminAuditLogsPage.tsx#
7 testids
| Line | Test ID | Kind |
|---|---|---|
| 31 | admin-audit-logs-root | static |
| 54 | audit-actor-id | slotprop |
| 61 | audit-entity-type | slotprop |
| 68 | audit-action-contains | slotprop |
| 76 | audit-search | static |
| 98 | audit-table | static |
| 110 | audit-row-{r.id} | template |
routes/admin/AdminBITSianDayPage.tsx#
5 testids
| Line | Test ID | Kind |
|---|---|---|
| 112 | admin-bitsian-day-root | static |
| 158 | admin-bitsian-day-counter | static |
| 181 | admin-bitsian-day-dim-{d.key} | template |
| 208 | admin-bitsian-day-bar-{idx} | template |
| 259 | admin-bitsian-day-table | static |
routes/admin/AdminCalendarPage.tsx#
18 testids
| Line | Test ID | Kind |
|---|---|---|
| 191 | admin-calendar-root | static |
| 207 | admin-calendar-tab-published | static |
| 212 | admin-calendar-tab-publish | static |
| 214 | admin-calendar-tab-import | static |
| 238 | admin-calendar-published-table | static |
| 255 | admin-calendar-row-{row.id} | template |
| 309 | admin-calendar-publish-title | slotprop |
| 329 | admin-calendar-publish-starts | slotprop |
| 345 | admin-calendar-publish-ends | slotprop |
| 361 | admin-calendar-publish-location | slotprop |
| 384 | admin-calendar-publish-visibility | slotprop |
| 406 | admin-calendar-publish-mandatory | static |
| 424 | admin-calendar-publish-submit | static |
| 453 | admin-calendar-import-upload | static |
| 476 | admin-calendar-import-csv | slotprop |
| 487 | admin-calendar-import-submit | static |
| 495 | admin-calendar-import-report | static |
| 507 | admin-calendar-import-errors | static |
routes/admin/AdminDashboardPage.tsx#
3 testids
| Line | Test ID | Kind |
|---|---|---|
| 13 | admin-dashboard-root | static |
| 41 | admin-metric-{m.key} | template |
| 56 | admin-metric-value-{m.key} | template |
routes/admin/AdminEventScanPage.tsx#
7 testids
| Line | Test ID | Kind |
|---|---|---|
| 205 | admin-event-scan-root | static |
| 212 | admin-event-scan-back | static |
| 248 | admin-event-scan-input | slotprop |
| 270 | admin-event-scan-method | slotprop |
| 282 | admin-event-scan-gate | slotprop |
| 293 | admin-event-scan-submit | static |
| 317 | admin-event-scan-result-{r.state} | template |
routes/admin/AdminEventsPage.tsx#
30 testids
| Line | Test ID | Kind |
|---|---|---|
| 552 | admin-events-type-delete-{row.id} | template |
| 612 | admin-events-order-state-{row.id} | template |
| 705 | admin-events-refund-state-{row.id} | template |
| 759 | admin-events-refund-approve-{row.id} | template |
| 771 | admin-events-root | static |
| 793 | admin-events-scan-link | static |
| 845 | admin-events-picker | slotprop |
| 857 | admin-events-picker-option-{option.id ?? ''} | template |
| 901 | admin-events-tabs | static |
| 903 | admin-events-tab-types | static |
| 904 | admin-events-tab-orders | static |
| 905 | admin-events-tab-refunds | static |
| 909 | admin-events-tab-analytics | static |
| 914 | admin-events-types-panel | static |
| 922 | admin-events-create-type | static |
| 965 | admin-events-orders-panel | static |
| 983 | admin-events-orders-filter-state | slotprop |
| 1048 | admin-events-orders-prev | static |
| 1061 | admin-events-orders-next | static |
| 1070 | admin-events-refunds-panel | static |
| 1088 | admin-events-refunds-filter-state | slotprop |
| 1159 | admin-events-refunds-prev | static |
| 1172 | admin-events-refunds-next | static |
| 1181 | admin-events-analytics-panel | static |
| 1316 | admin-events-type-name | slotprop |
| 1345 | admin-events-type-price | slotprop |
| 1360 | admin-events-type-inventory | slotprop |
| 1386 | admin-events-type-sales-starts | slotprop |
| 1424 | admin-events-type-sales-ends | slotprop |
| 1457 | admin-events-type-submit | static |
routes/admin/AdminFAQPage.tsx#
15 testids
| Line | Test ID | Kind |
|---|---|---|
| 120 | admin-faq-root | static |
| 133 | admin-faq-tabs | static |
| 134 | admin-faq-tab-faqs | static |
| 137 | admin-faq-tab-submissions | static |
| 152 | admin-faq-new | static |
| 173 | admin-faq-{f.id} | template |
| 214 | admin-faqsub-{s.id} | template |
| 233 | admin-faqsub-answer-{s.id} | template |
| 259 | faq-question | slotprop |
| 267 | faq-answer | slotprop |
| 277 | faq-category | slotprop |
| 291 | faq-submit | static |
| 312 | faqsub-answer | slotprop |
| 323 | faqsub-promote | static |
| 339 | faqsub-submit | static |
routes/admin/AdminFinancePaymentsPage.tsx#
8 testids
| Line | Test ID | Kind |
|---|---|---|
| 197 | admin-finance-payments-root | static |
| 221 | admin-finance-filter-gateway | slotprop |
| 238 | admin-finance-filter-state | slotprop |
| 255 | admin-finance-export-btn | static |
| 293 | admin-finance-payment-row-{p.id} | template |
| 335 | admin-finance-refund-{p.id} | template |
| 373 | admin-finance-refund-reason | slotprop |
| 392 | admin-finance-refund-submit | static |
routes/admin/AdminGatePassQueuePage.tsx#
12 testids
| Line | Test ID | Kind |
|---|---|---|
| 265 | admin-gate-passes-root | static |
| 288 | admin-gate-passes-tab-pending | static |
| 293 | admin-gate-passes-tab-approved | static |
| 315 | admin-gate-pass-bulk-approve | static |
| 343 | admin-gate-pass-select-all | static |
| 355 | admin-gate-pass-row-{v.id ?? ''} | template |
| 360 | admin-gate-pass-select-{v.id ?? ''} | template |
| 391 | admin-gate-pass-decline-{v.id ?? ''} | template |
| 401 | admin-gate-pass-approve-{v.id ?? ''} | template |
| 451 | admin-gate-pass-approved-row-{v.id ?? ''} | template |
| 509 | admin-gate-pass-decline-reason | slotprop |
| 528 | admin-gate-pass-decline-submit | static |
routes/admin/AdminGroupsPage.tsx#
16 testids
| Line | Test ID | Kind |
|---|---|---|
| 188 | admin-groups-root | static |
| 201 | admin-groups-error | static |
| 219 | admin-groups-search | slotprop |
| 243 | admin-groups-kind-filter | slotprop |
| 257 | admin-groups-state-filter | slotprop |
| 283 | admin-groups-table | static |
| 304 | admin-groups-row-{slug} | template |
| 386 | admin-groups-open-{slug} | template |
| 404 | admin-groups-visibility-{slug} | template |
| 422 | admin-groups-transfer-{slug} | template |
| 438 | admin-groups-restore-{slug} | template |
| 454 | admin-groups-suspend-{slug} | template |
| 481 | admin-groups-visibility-select | slotprop |
| 499 | admin-groups-visibility-submit | static |
| 518 | admin-groups-transfer-user-id | slotprop |
| 531 | admin-groups-transfer-submit | static |
routes/admin/AdminHotelQueuePage.tsx#
12 testids
| Line | Test ID | Kind |
|---|---|---|
| 200 | admin-hotel-bookings-root | static |
| 214 | admin-hotel-tab-requested | static |
| 215 | admin-hotel-tab-approved | static |
| 216 | admin-hotel-tab-confirmed | static |
| 217 | admin-hotel-tab-declined | static |
| 258 | admin-hotel-row-{b.id ?? ''} | template |
| 298 | admin-hotel-decline-{b.id ?? ''} | template |
| 310 | admin-hotel-approve-{b.id ?? ''} | template |
| 349 | admin-hotel-approve-notes | slotprop |
| 368 | admin-hotel-approve-submit | static |
| 398 | admin-hotel-decline-reason | slotprop |
| 417 | admin-hotel-decline-submit | static |
routes/admin/AdminJobsBoardPage.tsx#
6 testids
| Line | Test ID | Kind |
|---|---|---|
| 46 | admin-jobs-board-page | static |
| 57 | admin-jobs-board-limitation | static |
| 73 | admin-jobs-board-referrals | static |
| 83 | admin-jobs-board-jobs | static |
| 107 | admin-jobs-board-placeholder-states | static |
| 130 | admin-jobs-board-column-{col.state.toLowerCase()} | template |
routes/admin/AdminLateEntriesPage.tsx#
8 testids
| Line | Test ID | Kind |
|---|---|---|
| 149 | admin-late-entries-root | static |
| 179 | admin-late-entry-user-query | slotprop |
| 198 | admin-late-entry-pick-{u.userId ?? ''} | template |
| 218 | admin-late-entry-gate | slotprop |
| 234 | admin-late-entry-reason | slotprop |
| 245 | admin-late-entry-submit | static |
| 264 | admin-late-entries-export | static |
| 295 | admin-late-entry-row-{row.id ?? ''} | template |
routes/admin/AdminLeaveRequestsPage.tsx#
8 testids
| Line | Test ID | Kind |
|---|---|---|
| 210 | admin-leave-requests-page | static |
| 244 | admin-leave-state-filter | slotprop |
| 294 | leave-request-row-{r.id ?? 'unknown'} | template |
| 356 | leave-approve-{r.id ?? 'unknown'} | template |
| 374 | leave-decline-{r.id ?? 'unknown'} | template |
| 413 | leave-decline-form-reason | slotprop |
| 427 | leave-decline-form-submit | static |
| 440 | admin-leave-requests-success-toast | static |
routes/admin/AdminMarketplaceDealsPage.tsx#
23 testids
| Line | Test ID | Kind |
|---|---|---|
| 335 | admin-marketplace-deals-page | static |
| 359 | deal-create-button | static |
| 381 | deal-state-filter | slotprop |
| 397 | deal-category-filter | slotprop |
| 405 | admin-marketplace-partners-link | static |
| 427 | admin-marketplace-deals-table | static |
| 447 | admin-marketplace-deals-row-{d.id ?? 'unknown'} | template |
| 516 | admin-marketplace-deals-edit-{d.id ?? 'unknown'} | template |
| 531 | admin-marketplace-deals-delete-{d.id ?? 'unknown'} | template |
| 564 | deal-form-partner-id | slotprop |
| 573 | deal-form-title | slotprop |
| 581 | deal-form-description | slotprop |
| 592 | deal-form-kind | slotprop |
| 612 | deal-form-coupon-code | slotprop |
| 627 | deal-form-redemption-url | slotprop |
| 636 | deal-form-categories | slotprop |
| 648 | deal-form-audience-scope | slotprop |
| 664 | deal-form-audience-value | slotprop |
| 679 | deal-form-valid-from | slotprop |
| 692 | deal-form-valid-until | slotprop |
| 703 | deal-form-redemption-cap | slotprop |
| 714 | deal-form-state | slotprop |
| 736 | deal-form-submit | static |
routes/admin/AdminMarketplacePartnersPage.tsx#
12 testids
| Line | Test ID | Kind |
|---|---|---|
| 193 | admin-marketplace-partners-page | static |
| 215 | admin-marketplace-deals-link | static |
| 224 | partner-create-button | static |
| 241 | admin-marketplace-partners-table | static |
| 258 | admin-marketplace-partners-row-{p.id ?? 'unknown'} | template |
| 312 | admin-marketplace-partners-edit-{p.id ?? 'unknown'} | template |
| 327 | admin-marketplace-partners-delete-{p.id ?? 'unknown'} | template |
| 360 | partner-form-name | slotprop |
| 367 | partner-form-logo-url | slotprop |
| 374 | partner-form-website-url | slotprop |
| 381 | partner-form-contact-email | slotprop |
| 394 | partner-form-submit | static |
routes/admin/AdminMentorshipPage.tsx#
10 testids
| Line | Test ID | Kind |
|---|---|---|
| 68 | admin-mentorship-page | static |
| 91 | admin-mentorship-create-cta | static |
| 98 | admin-mentorship-error | static |
| 120 | admin-mentorship-table | static |
| 136 | admin-mentorship-row-{id} | template |
| 157 | admin-mentorship-state-{id} | drilledTemplate |
| 160 | admin-mentorship-mentor-count-{id} | template |
| 163 | admin-mentorship-mentee-count-{id} | template |
| 166 | admin-mentorship-match-count-{id} | template |
| 185 | admin-mentorship-open-{id} | template |
routes/admin/AdminModerationPage.tsx#
10 testids
| Line | Test ID | Kind |
|---|---|---|
| 133 | admin-moderation-root | static |
| 157 | moderation-state-filter | slotprop |
| 190 | moderation-table | static |
| 202 | moderation-row-{row.id} | template |
| 222 | moderation-state-{row.id} | drilledTemplate |
| 232 | moderation-remove-{row.id} | template |
| 240 | moderation-warn-{row.id} | template |
| 248 | moderation-dismiss-{row.id} | template |
| 281 | moderation-dialog-note | slotprop |
| 298 | moderation-dialog-submit | static |
routes/admin/AdminProgrammeCreatePage.tsx#
13 testids
| Line | Test ID | Kind |
|---|---|---|
| 125 | admin-mentorship-programme-create-page | static |
| 133 | admin-mentorship-create-back | static |
| 153 | admin-mentorship-create-form | static |
| 165 | mentorship-create-name | slotprop |
| 187 | mentorship-create-description | slotprop |
| 211 | mentorship-create-min-batch-year | slotprop |
| 226 | mentorship-create-departments | static |
| 238 | mentorship-create-department-{d.replace(/\s+/g, '-').toLowerCase()} | template |
| 256 | mentorship-create-starts-at | slotprop |
| 271 | mentorship-create-ends-at | slotprop |
| 291 | mentorship-create-capacity | slotprop |
| 318 | admin-mentorship-create-error | static |
| 329 | mentorship-create-submit | static |
routes/admin/AdminProgrammeDetailPage.tsx#
14 testids
| Line | Test ID | Kind |
|---|---|---|
| 195 | admin-mentorship-programme-detail-page | static |
| 203 | admin-mentorship-detail-back | static |
| 214 | admin-mentorship-detail-not-found | static |
| 230 | admin-mentorship-programme-state | drilled |
| 233 | admin-mentorship-programme-name | static |
| 244 | admin-mentorship-action-error | static |
| 289 | admin-mentorship-counts-{card.key} | template |
| 332 | admin-mentorship-run-matching-{id} | template |
| 342 | admin-mentorship-export-csv-{id} | template |
| 374 | admin-mentorship-alternates-table | static |
| 392 | admin-mentorship-alternate-row-{key} | template |
| 410 | admin-mentorship-alternate-score-{key} | template |
| 421 | admin-mentorship-override-{key} | template |
| 442 | admin-mentorship-success-toast | static |
routes/admin/AdminScanPage.tsx#
6 testids
| Line | Test ID | Kind |
|---|---|---|
| 165 | admin-scan-root | static |
| 192 | admin-scan-input | slotprop |
| 212 | admin-scan-direction | slotprop |
| 224 | admin-scan-gate | slotprop |
| 235 | admin-scan-submit | static |
| 259 | admin-scan-result-{r.state} | template |
routes/admin/AdminUserGrantsPage.tsx#
12 testids
| Line | Test ID | Kind |
|---|---|---|
| 212 | admin-user-grants-root | static |
| 220 | admin-user-grants-back | static |
| 275 | admin-user-grants-open-grant | static |
| 294 | admin-user-grants-table | static |
| 313 | admin-user-grants-row-{g.id} | template |
| 352 | admin-user-grants-revoke-{g.id} | template |
| 411 | admin-user-grants-event-input | slotprop |
| 424 | admin-user-grants-event-option-{option.id ?? ''} | template |
| 438 | admin-user-grants-event-autocomplete | static |
| 451 | admin-user-grants-notes-input | slotprop |
| 466 | admin-user-grants-submit | static |
| 501 | admin-user-grants-revoke-confirm | static |
routes/admin/AdminUsersPage.tsx#
13 testids
| Line | Test ID | Kind |
|---|---|---|
| 116 | admin-users-root | static |
| 141 | admin-users-q | slotprop |
| 149 | admin-users-role | slotprop |
| 165 | admin-users-status | slotprop |
| 178 | admin-users-search | static |
| 200 | admin-users-table | static |
| 213 | admin-user-row-{u.id} | template |
| 226 | admin-user-status-{u.id} | drilledTemplate |
| 245 | admin-user-grants-{u.id} | template |
| 255 | admin-user-suspend-{u.id} | template |
| 267 | admin-user-reinstate-{u.id} | template |
| 298 | admin-suspend-reason | slotprop |
| 314 | admin-suspend-submit | static |
routes/admin/AlumniInvitesPage.tsx#
31 testids
| Line | Test ID | Kind |
|---|---|---|
| 349 | alumni-invites-page | static |
| 370 | alumni-invites-history-link | static |
| 380 | alumni-invites-reset | static |
| 390 | import-upload-card | static |
| 407 | import-source | slotprop |
| 411 | import-source-{opt.key} | template |
| 421 | import-file-input | static |
| 476 | import-upload-error | static |
| 487 | import-upload | static |
| 501 | import-summary | static |
| 504 | import-state | drilled |
| 513 | import-preview | static |
| 522 | import-preview-total | static |
| 528 | import-preview-errors | static |
| 544 | import-preview-table | static |
| 560 | import-preview-row-{i} | template |
| 593 | import-errors | static |
| 602 | import-errors-summary | static |
| 612 | import-error-{idx} | template |
| 627 | import-commit-bar | static |
| 631 | import-commit-error | static |
| 642 | import-send-invites | slotprop |
| 655 | import-cancel | static |
| 665 | import-commit | static |
| 676 | import-progress | static |
| 680 | import-progress-state | drilled |
| 686 | import-progress-bar | static |
| 696 | import-progress-label | static |
| 704 | import-counter-created | static |
| 713 | import-counter-duplicate | static |
| 722 | import-counter-error | static |
routes/admin/ImportsListPage.tsx#
10 testids
| Line | Test ID | Kind |
|---|---|---|
| 182 | imports-list-page | static |
| 203 | imports-new-upload | static |
| 224 | imports-state-filter | slotprop |
| 238 | imports-refresh | static |
| 250 | imports-error | static |
| 264 | imports-empty | static |
| 270 | imports-table | static |
| 291 | imports-row-{row.id ?? 'unknown'} | template |
| 353 | imports-prev-page | static |
| 368 | imports-next-page | static |
routes/admin/VerificationsQueuePage.tsx#
8 testids
| Line | Test ID | Kind |
|---|---|---|
| 130 | verifications-queue | static |
| 160 | state-filter | slotprop |
| 193 | verifications-table | static |
| 206 | verification-row-{row.id} | template |
| 252 | verification-approve-{row.id} | template |
| 261 | verification-reject-{row.id} | template |
| 292 | verification-dialog-note | slotprop |
| 310 | verification-dialog-submit | static |
routes/app/AppHome.tsx#
23 testids
| Line | Test ID | Kind |
|---|---|---|
| 126 | welcome-heading | static |
| 149 | home-quick-actions | static |
| 158 | home-action-new-post | static |
| 170 | home-action-new-job | static |
| 182 | home-action-new-message | static |
| 202 | summary-notifications | drilled |
| 211 | summary-message-requests | drilled |
| 220 | summary-messages | drilled |
| 229 | summary-directory | drilled |
| 240 | recs-rail-people | drilled |
| 246 | recs-rail-groups | drilled |
| 252 | recs-rail-events | drilled |
| 266 | home-recent-feed | static |
| 292 | home-recent-feed-cta | static |
| 329 | home-recent-feed-{post.id} | template |
| 355 | home-recent-jobs | static |
| 406 | home-recent-jobs-{job.id} | template |
| 428 | home-recent-jobs-cta | static |
| 596 | {testId}-error | template |
| 605 | {testId}-empty | template |
| 648 | recs-card | static |
| 693 | recs-why-tooltip | static |
| 700 | recs-why-button | static |
routes/app/CalendarEventPage.tsx#
5 testids
| Line | Test ID | Kind |
|---|---|---|
| 210 | calendar-event-root | static |
| 303 | event-rsvp-{opt.testId} | template |
| 317 | event-personal-overlay | static |
| 347 | event-checkedin-confirmation | static |
| 362 | event-checkin | static |
routes/app/CalendarPage.tsx#
10 testids
| Line | Test ID | Kind |
|---|---|---|
| 217 | calendar-root | static |
| 247 | calendar-prev | static |
| 263 | calendar-next | static |
| 273 | calendar-today | static |
| 292 | calendar-scope-{s.key.toLowerCase()} | template |
| 327 | calendar-agenda | static |
| 352 | calendar-event-{ev.id ?? ''}-agenda | template |
| 423 | calendar-day-{cell.key} | template |
| 467 | calendar-event-{ev.id ?? ''} | template |
| 546 | calendar-event-{ev.id ?? ''}-row | template |
routes/app/DirectoryEntryPage.tsx#
13 testids
| Line | Test ID | Kind |
|---|---|---|
| 109 | directory-entry-view | static |
| 115 | directory-entry-back | static |
| 122 | directory-entry-unavailable | static |
| 209 | directory-entry-display-name | static |
| 219 | directory-entry-role | static |
| 239 | directory-entry-batch | drilled |
| 243 | directory-entry-programme | drilled |
| 245 | directory-entry-division | drilled |
| 249 | directory-entry-department | drilled |
| 254 | directory-entry-company | drilled |
| 256 | directory-entry-city | drilled |
| 257 | directory-entry-country | drilled |
| 269 | directory-entry-linkedin | static |
routes/app/DirectoryPage.tsx#
13 testids
| Line | Test ID | Kind |
|---|---|---|
| 206 | directory-chip-{meta.key} | template |
| 213 | directory-chip-clear-{meta.key} | template |
| 440 | directory-page | static |
| 469 | directory-search-input | slotprop |
| 492 | directory-role-select | slotprop |
| 507 | directory-search-submit | static |
| 546 | directory-error | static |
| 562 | directory-empty | static |
| 580 | directory-results | static |
| 597 | directory-result-row-{uid} | template |
| 610 | directory-view-{uid} | template |
| 702 | directory-page-prev | static |
| 715 | directory-page-next | static |
routes/app/FeedPage.tsx#
20 testids
| Line | Test ID | Kind |
|---|---|---|
| 233 | feed-page | static |
| 248 | feed-compose-prompt | static |
| 266 | feed-compose-trigger | static |
| 295 | feed-compose-text | static |
| 303 | feed-compose-job | static |
| 311 | feed-compose-announcement | static |
| 326 | feed-composer-dialog | static |
| 340 | feed-composer-dialog-close | static |
| 355 | feed-tabs | static |
| 362 | feed-tab-{t.value} | template |
| 375 | feed-reset-cursor | static |
| 383 | feed-error | static |
| 389 | feed-campus-error | static |
| 395 | feed-campus | static |
| 403 | feed-campus-empty | static |
| 426 | feed-campus-pinned | static |
| 436 | feed-campus-list | static |
| 460 | feed-empty | static |
| 477 | feed-list | static |
| 498 | feed-load-more | static |
routes/app/FeedPostPage.tsx#
15 testids
| Line | Test ID | Kind |
|---|---|---|
| 128 | feed-post-invalid | static |
| 145 | feed-post-notfound | static |
| 176 | feed-post-page | static |
| 184 | feed-post-back | static |
| 203 | feed-comment-composer | static |
| 215 | feed-comment-body | slotprop |
| 246 | feed-comment-submit | static |
| 255 | feed-comments | static |
| 265 | feed-comments-empty | static |
| 351 | feed-comment-{comment.id} | template |
| 360 | feed-comment-reply-toggle-{comment.id} | template |
| 371 | feed-comment-reply-form-{comment.id} | template |
| 403 | feed-comment-reply-submit-{comment.id} | template |
| 415 | feed-comment-replies-{comment.id} | template |
| 454 | feed-comment-body-{comment.id} | template |
routes/app/MarketplacePage.tsx#
16 testids
| Line | Test ID | Kind |
|---|---|---|
| 80 | recs-rail-marketplace | static |
| 107 | recs-rail-marketplace-error | static |
| 116 | recs-rail-marketplace-empty | static |
| 154 | recs-rail-marketplace-card | static |
| 267 | marketplace-page | static |
| 294 | marketplace-home-link | static |
| 322 | marketplace-search-input | slotprop |
| 346 | marketplace-audience-filter | slotprop |
| 360 | marketplace-search-submit | static |
| 371 | marketplace-category-filter | static |
| 379 | marketplace-category-chip-all | static |
| 388 | marketplace-category-chip-{c.toLowerCase()} | template |
| 398 | marketplace-error | static |
| 409 | marketplace-empty | static |
| 429 | marketplace-grid | static |
| 456 | marketplace-load-more | static |
routes/app/MyTicketsPage.tsx#
9 testids
| Line | Test ID | Kind |
|---|---|---|
| 167 | my-tickets-root | static |
| 189 | my-tickets-include-inactive | static |
| 198 | my-tickets-refresh | static |
| 238 | my-tickets-row-{t.id} | template |
| 253 | my-tickets-state-{t.id} | template |
| 278 | my-tickets-refund-{t.id} | template |
| 290 | my-tickets-qr-{t.id} | template |
| 358 | my-tickets-refund-reason | slotprop |
| 372 | my-tickets-refund-submit | static |
routes/app/NotificationsPage.tsx#
9 testids
| Line | Test ID | Kind |
|---|---|---|
| 225 | notifications-page | static |
| 249 | notifications-mark-all-read | static |
| 265 | notifications-filter-unread | static |
| 272 | notifications-reset-cursor | static |
| 280 | notifications-error | static |
| 295 | notifications-empty | static |
| 326 | notifications-list | static |
| 355 | notifications-item-{n.id} | template |
| 430 | notifications-load-more | static |
routes/app/PrivacySettingsPage.tsx#
3 testids
| Line | Test ID | Kind |
|---|---|---|
| 114 | privacy-page | static |
| 179 | privacy-option-{f.name}-{opt.value.toLowerCase().replace('visibility_', '')} | template |
| 195 | privacy-save | static |
routes/app/ProfileEditPage.tsx#
19 testids
| Line | Test ID | Kind |
|---|---|---|
| 151 | profile-edit | static |
| 171 | profile-edit-cancel | static |
| 179 | profile-edit-form | static |
| 196 | edit-display-name | slotprop |
| 205 | edit-bio | slotprop |
| 226 | edit-company | slotprop |
| 235 | edit-role-title | slotprop |
| 244 | edit-city | slotprop |
| 253 | edit-country | slotprop |
| 275 | edit-linkedin | slotprop |
| 281 | edit-twitter | slotprop |
| 287 | edit-website | slotprop |
| 314 | edit-save | static |
| 326 | link-child-section | static |
| 352 | link-child-form | static |
| 357 | link-child-status | static |
| 368 | link-child-identifier | slotprop |
| 378 | link-child-relationship | slotprop |
| 393 | link-child-submit | static |
routes/app/ProfileNotificationsPage.tsx#
9 testids
| Line | Test ID | Kind |
|---|---|---|
| 146 | profile-notifications | static |
| 175 | profile-notifications-load-error | static |
| 181 | profile-notifications-status | static |
| 194 | profile-notifications-empty | static |
| 228 | profile-notifications-matrix | static |
| 246 | profile-notifications-row-{topic} | template |
| 287 | profile-notifications-matrix-mobile | static |
| 295 | profile-notifications-card-{topic} | template |
| 349 | profile-notifications-save | static |
routes/app/ProfileViewPage.tsx#
4 testids
| Line | Test ID | Kind |
|---|---|---|
| 50 | profile-view | static |
| 114 | profile-edit-cta | static |
| 219 | children-list | static |
| 226 | child-{c.id} | template |
routes/app/SearchPage.tsx#
7 testids
| Line | Test ID | Kind |
|---|---|---|
| 127 | search-page | static |
| 141 | search-error | static |
| 157 | search-result-empty | static |
| 187 | search-results | static |
| 203 | search-load-more | static |
| 224 | search-result-card | static |
| 250 | search-result-score | static |
routes/app/academics/CourseDetailPage.tsx#
7 testids
| Line | Test ID | Kind |
|---|---|---|
| 96 | course-detail-root | static |
| 124 | course-detail-tabs | static |
| 125 | course-detail-tab-resources | static |
| 126 | course-detail-tab-assignments | static |
| 153 | course-resource-{r.id ?? ''} | template |
| 207 | course-assignment-{a.id ?? ''} | template |
| 235 | course-assignment-submit-link-{a.id ?? ''} | template |
routes/app/academics/FacultyCourseDetailPage.tsx#
19 testids
| Line | Test ID | Kind |
|---|---|---|
| 218 | faculty-course-detail-root | static |
| 244 | faculty-course-detail-tabs | static |
| 245 | faculty-course-detail-tab-resources | static |
| 246 | faculty-course-detail-tab-assignments | static |
| 247 | faculty-course-detail-tab-submissions | static |
| 266 | faculty-resource-title | slotprop |
| 276 | faculty-resource-url | slotprop |
| 287 | faculty-resource-kind | slotprop |
| 305 | faculty-resource-submit | static |
| 330 | faculty-resource-card-{r.id ?? ''} | template |
| 379 | faculty-assignment-title | slotprop |
| 390 | faculty-assignment-max-score | slotprop |
| 401 | faculty-assignment-due | slotprop |
| 415 | faculty-assignment-desc | slotprop |
| 425 | faculty-assignment-submit | static |
| 450 | faculty-assignment-card-{a.id ?? ''} | template |
| 488 | faculty-submissions-table | static |
| 491 | faculty-submission-row-{s.id ?? ''} | template |
| 563 | faculty-grade-submit-{s.id ?? ''} | template |
routes/app/academics/FacultyCoursesPage.tsx#
2 testids
| Line | Test ID | Kind |
|---|---|---|
| 39 | faculty-courses-root | static |
| 67 | faculty-course-card-{c.id ?? ''} | template |
routes/app/academics/StudentCoursesPage.tsx#
2 testids
| Line | Test ID | Kind |
|---|---|---|
| 39 | student-courses-root | static |
| 66 | student-course-card-{c.id ?? ''} | template |
routes/app/academics/SubmitAssignmentPage.tsx#
4 testids
| Line | Test ID | Kind |
|---|---|---|
| 38 | submit-assignment-root | static |
| 64 | submit-assignment-file-url | slotprop |
| 72 | submit-assignment-cancel | static |
| 82 | submit-assignment-submit | static |
routes/app/alumni/BITSianDayPage.tsx#
3 testids
| Line | Test ID | Kind |
|---|---|---|
| 203 | bitsian-day-hero | static |
| 257 | bitsian-day-confirmation | static |
| 302 | bitsian-day-checkin-btn | static |
routes/app/faculty/FacultyInboxPage.tsx#
6 testids
| Line | Test ID | Kind |
|---|---|---|
| 187 | faculty-appointments-root | static |
| 227 | faculty-appointment-card-{a.id ?? ''} | template |
| 268 | faculty-appointment-decline-{a.id ?? ''} | template |
| 278 | faculty-appointment-approve-{a.id ?? ''} | template |
| 319 | faculty-appointment-decline-reason | slotprop |
| 338 | faculty-appointment-decline-submit | static |
routes/app/groups/GroupCreatePage.tsx#
17 testids
| Line | Test ID | Kind |
|---|---|---|
| 149 | group-create-page | static |
| 157 | group-create-back | static |
| 184 | group-create-form | static |
| 186 | group-create-step-kind | static |
| 198 | group-create-kind-interest | static |
| 225 | group-create-kind-chapter | static |
| 245 | group-create-step-identity | static |
| 258 | group-create-slug | slotprop |
| 279 | group-create-name | slotprop |
| 300 | group-create-description | slotprop |
| 314 | group-create-avatar-url | slotprop |
| 328 | group-create-step-visibility | static |
| 336 | group-create-visibility | slotprop |
| 377 | group-create-error | static |
| 397 | group-create-back-step | static |
| 406 | group-create-next | static |
| 416 | group-create-submit | static |
routes/app/groups/GroupDetailPage.tsx#
25 testids
| Line | Test ID | Kind |
|---|---|---|
| 314 | group-detail-page | static |
| 322 | group-detail-back | static |
| 336 | group-detail-header | static |
| 378 | group-detail-kind | static |
| 388 | group-detail-visibility | static |
| 399 | group-detail-name | static |
| 409 | group-detail-member-count | static |
| 421 | group-detail-join | static |
| 431 | group-detail-request | static |
| 441 | group-detail-leave | static |
| 455 | group-detail-tabs | static |
| 462 | group-detail-tab-{t.value} | template |
| 469 | group-detail-posts | static |
| 480 | group-posts-locked | static |
| 491 | group-posts-empty | static |
| 530 | group-detail-members | static |
| 589 | group-member-row-{uid} | template |
| 656 | group-detail-events | static |
| 686 | chapter-subscribe-toggle | slotprop |
| 726 | chapter-events-list | static |
| 733 | chapter-event-row-{eid} | template |
| 784 | chapter-event-view-{eid} | template |
| 823 | group-detail-about | static |
| 833 | group-detail-description | static |
| 856 | group-detail-admin-{uid} | template |
routes/app/groups/GroupNotFound.tsx#
2 testids
| Line | Test ID | Kind |
|---|---|---|
| 14 | group-not-found | static |
| 32 | group-not-found-back | static |
routes/app/groups/GroupsPage.tsx#
10 testids
| Line | Test ID | Kind |
|---|---|---|
| 136 | groups-page | static |
| 164 | groups-create-cta | static |
| 189 | groups-search-input | slotprop |
| 211 | groups-search-submit | static |
| 223 | groups-tabs | static |
| 230 | groups-tab-{t.value} | template |
| 237 | groups-error | static |
| 248 | groups-empty | static |
| 278 | groups-grid | static |
| 306 | groups-load-more | static |
routes/app/jobs/JobComposerPage.tsx#
19 testids
| Line | Test ID | Kind |
|---|---|---|
| 192 | job-composer-page | static |
| 199 | job-composer-cancel | static |
| 220 | job-composer-error | static |
| 243 | job-composer-role-title | slotprop |
| 263 | job-composer-company-name | slotprop |
| 278 | job-composer-company-id | slotprop |
| 302 | job-composer-location | slotprop |
| 321 | job-composer-remote | static |
| 342 | job-composer-experience-min | slotprop |
| 359 | job-composer-experience-max | slotprop |
| 400 | job-composer-apply-url | slotprop |
| 427 | job-composer-deadline | slotprop |
| 468 | job-composer-visibility | static |
| 485 | job-composer-scope-id | slotprop |
| 500 | job-composer-tags | slotprop |
| 519 | job-composer-tabs | static |
| 532 | job-composer-body | slotprop |
| 555 | job-composer-preview | static |
| 595 | job-composer-submit | static |
routes/app/jobs/JobDetailPage.tsx#
12 testids
| Line | Test ID | Kind |
|---|---|---|
| 95 | job-detail-invalid | static |
| 112 | job-detail-notfound | static |
| 128 | job-detail-page | static |
| 135 | job-detail-back | static |
| 169 | job-detail-closed | static |
| 191 | job-detail-remote | static |
| 271 | job-detail-applied | static |
| 287 | job-detail-apply | static |
| 308 | job-detail-refer | static |
| 332 | job-detail-apply-url | static |
| 349 | job-detail-close | static |
| 387 | job-detail-body | static |
routes/app/jobs/JobsListPage.tsx#
12 testids
| Line | Test ID | Kind |
|---|---|---|
| 143 | jobs-list-page | static |
| 185 | jobs-my-applications-link | static |
| 198 | jobs-new-button | static |
| 230 | jobs-filter-company | slotprop |
| 248 | jobs-filter-location | slotprop |
| 257 | jobs-filter-remote | static |
| 269 | jobs-filter-status | slotprop |
| 299 | jobs-reset-cursor | static |
| 306 | jobs-error | static |
| 317 | jobs-empty | static |
| 330 | jobs-list | static |
| 355 | jobs-load-more | static |
routes/app/jobs/MyApplicationsPage.tsx#
11 testids
| Line | Test ID | Kind |
|---|---|---|
| 110 | my-applications-page | static |
| 132 | my-applications-browse | static |
| 139 | my-applications-error | static |
| 150 | my-applications-empty | static |
| 162 | my-applications-start | static |
| 169 | my-applications-table | static |
| 177 | my-applications-row-{a.id ?? ''} | template |
| 205 | my-applications-state-{a.id ?? ''} | template |
| 224 | my-applications-job-{a.id ?? ''} | template |
| 253 | my-applications-prev | static |
| 266 | my-applications-next | static |
routes/app/jobs/ReferralsPage.tsx#
14 testids
| Line | Test ID | Kind |
|---|---|---|
| 230 | referrals-page | static |
| 253 | referrals-export-csv | static |
| 279 | referrals-filter-state | slotprop |
| 303 | referrals-filter-job-id | slotprop |
| 316 | referrals-filter-referrer-id | slotprop |
| 328 | referrals-filter-applicant-id | slotprop |
| 343 | referrals-filter-from | slotprop |
| 355 | referrals-filter-to | slotprop |
| 363 | referrals-error | static |
| 374 | referrals-empty | static |
| 381 | referrals-table | static |
| 389 | referrals-row-{r.id ?? ''} | template |
| 497 | referrals-prev | static |
| 510 | referrals-next | static |
routes/app/mentorship/ApplyMenteePage.tsx#
10 testids
| Line | Test ID | Kind |
|---|---|---|
| 105 | mentorship-apply-mentee-page | static |
| 113 | mentorship-apply-mentee-back | static |
| 143 | mentorship-apply-mentee-form | static |
| 160 | mentorship-apply-goals | slotprop |
| 188 | mentorship-apply-mentee-skills-empty | static |
| 195 | mentorship-apply-mentee-skills | static |
| 209 | mentorship-skill-chip-{sid} | template |
| 218 | mentorship-apply-mentee-error | static |
| 229 | mentorship-apply-submit | static |
| 244 | mentorship-apply-mentee-toast | static |
routes/app/mentorship/ApplyMentorPage.tsx#
12 testids
| Line | Test ID | Kind |
|---|---|---|
| 119 | mentorship-apply-mentor-page | static |
| 127 | mentorship-apply-mentor-back | static |
| 157 | mentorship-apply-mentor-form | static |
| 174 | mentorship-apply-bio | slotprop |
| 202 | mentorship-apply-mentor-skills-empty | static |
| 209 | mentorship-apply-mentor-skills | static |
| 223 | mentorship-skill-chip-{sid} | template |
| 243 | mentorship-apply-availability | slotprop |
| 267 | mentorship-apply-max-mentees | slotprop |
| 283 | mentorship-apply-mentor-error | static |
| 294 | mentorship-apply-submit | static |
| 309 | mentorship-apply-mentor-toast | static |
routes/app/mentorship/MatchDetailPage.tsx#
18 testids
| Line | Test ID | Kind |
|---|---|---|
| 238 | mentorship-match-detail-page | static |
| 246 | mentorship-match-detail-back | static |
| 257 | mentorship-match-detail-not-found | static |
| 268 | mentorship-match-detail-header | static |
| 288 | mentorship-match-detail-role | static |
| 294 | mentorship-match-detail-state | static |
| 297 | mentorship-match-detail-name | static |
| 314 | mentorship-match-detail-tabs | static |
| 321 | mentorship-match-detail-tab-{t.value} | template |
| 328 | mentorship-match-detail-sessions | static |
| 346 | mentorship-match-detail-notes | static |
| 361 | mentorship-note-composer | slotprop |
| 367 | mentorship-note-error | static |
| 377 | mentorship-note-submit | static |
| 391 | mentorship-notes-empty | static |
| 409 | mentorship-note-row-{n.id ?? idx} | template |
| 447 | mentorship-match-detail-status | static |
| 461 | mentorship-status-event-{ev.key} | template |
routes/app/mentorship/MatchesPage.tsx#
7 testids
| Line | Test ID | Kind |
|---|---|---|
| 108 | mentorship-matches-page | static |
| 116 | mentorship-matches-back | static |
| 135 | mentorship-matches-error | static |
| 140 | mentorship-matches-action-error | static |
| 151 | mentorship-matches-empty | static |
| 174 | mentorship-matches-empty-cta | static |
| 182 | mentorship-matches-list | static |
routes/app/mentorship/MentorshipPage.tsx#
11 testids
| Line | Test ID | Kind |
|---|---|---|
| 86 | mentorship-page | static |
| 111 | mentorship-page-matches-cta | static |
| 118 | mentorship-page-error | static |
| 129 | mentorship-page-empty | static |
| 151 | mentorship-page-refresh | static |
| 165 | mentorship-programmes-grid | static |
| 184 | mentorship-programme-card-{id} | template |
| 194 | mentorship-programme-state-{id} | drilledTemplate |
| 204 | mentorship-programme-name-{id} | template |
| 250 | mentorship-programme-apply-mentor-{id} | template |
| 263 | mentorship-programme-apply-mentee-{id} | template |
routes/app/messages/ConversationPage.tsx#
10 testids
| Line | Test ID | Kind |
|---|---|---|
| 214 | conversation-page | static |
| 271 | conversation-peer-name | static |
| 300 | conversation-mute-toggle | static |
| 313 | conversation-menu-button | static |
| 329 | conversation-block | static |
| 353 | conversation-messages | static |
| 403 | conversation-input | static |
| 415 | conversation-send | static |
| 457 | conversation-block-confirm | static |
| 483 | message-{message.id} | template |
routes/app/messages/MessageRequestsPage.tsx#
8 testids
| Line | Test ID | Kind |
|---|---|---|
| 156 | message-requests-page | static |
| 190 | message-requests-inbound-empty | static |
| 203 | message-request-inbound-{req.id} | template |
| 260 | message-request-accept-{req.id} | template |
| 270 | message-request-decline-{req.id} | template |
| 306 | message-requests-outbound-empty | static |
| 319 | message-request-outbound-{req.id} | template |
| 392 | message-request-decline-confirm | static |
routes/app/messages/MessagesPage.tsx#
5 testids
| Line | Test ID | Kind |
|---|---|---|
| 86 | messages-page | static |
| 104 | messages-requests-link | static |
| 125 | messages-empty | static |
| 147 | messages-list | static |
| 158 | messages-row-{c.id ?? idx} | template |
routes/app/parent/FacultyAppointmentPage.tsx#
9 testids
| Line | Test ID | Kind |
|---|---|---|
| 250 | parent-appointments-root | static |
| 279 | parent-appointment-faculty-search | slotprop |
| 300 | parent-appointment-faculty | slotprop |
| 327 | parent-appointment-date | slotprop |
| 344 | parent-appointment-duration | slotprop |
| 390 | parent-appointment-slot-{s.startsAt} | template |
| 417 | parent-appointment-reason | slotprop |
| 431 | parent-appointment-submit | static |
| 462 | parent-appointment-card-{a.id ?? ''} | template |
routes/app/parent/FinancePage.tsx#
4 testids
| Line | Test ID | Kind |
|---|---|---|
| 172 | parent-finance-root | static |
| 209 | parent-finance-invoice-{inv.id} | template |
| 237 | parent-finance-invoice-state-{inv.id} | template |
| 268 | parent-finance-pay-{inv.id} | template |
routes/app/parent/HotelBookingPage.tsx#
13 testids
| Line | Test ID | Kind |
|---|---|---|
| 287 | parent-hotel-root | static |
| 325 | parent-hotel-guesthouse | slotprop |
| 348 | parent-hotel-roomtype | slotprop |
| 374 | parent-hotel-checkin | slotprop |
| 387 | parent-hotel-checkout | slotprop |
| 399 | parent-hotel-check | static |
| 407 | parent-hotel-availability | static |
| 443 | parent-hotel-add-occupant | static |
| 453 | parent-hotel-occupant-{idx} | template |
| 491 | parent-hotel-remove-occupant-{idx} | template |
| 508 | parent-hotel-submit | static |
| 537 | parent-hotel-card-{b.id ?? ''} | template |
| 585 | parent-hotel-pay-{b.id ?? ''} | template |
routes/app/parent/VisitsPage.tsx#
12 testids
| Line | Test ID | Kind |
|---|---|---|
| 160 | parent-visit-gate-pass-{visit.id ?? ''} | template |
| 176 | parent-visit-gate-pass-show-{visit.id ?? ''} | template |
| 364 | parent-visits-root | static |
| 388 | parent-visit-purpose | slotprop |
| 407 | parent-visit-from | slotprop |
| 422 | parent-visit-to | slotprop |
| 438 | parent-visit-host | slotprop |
| 486 | parent-visit-add-visitor | static |
| 496 | parent-visit-visitor-{idx} | template |
| 559 | parent-visit-remove-visitor-{idx} | template |
| 576 | parent-visit-submit | static |
| 604 | parent-visit-card-{v.id ?? ''} | template |
routes/app/staff/StaffLeavePage.tsx#
12 testids
| Line | Test ID | Kind |
|---|---|---|
| 233 | staff-leave-page | static |
| 257 | leave-request-button | static |
| 295 | leave-balance-card-{key} | template |
| 353 | leave-history-state-filter | slotprop |
| 401 | leave-history-row-{r.id ?? 'unknown'} | template |
| 434 | leave-cancel-button | static |
| 469 | leave-form-type | slotprop |
| 490 | leave-form-from | slotprop |
| 503 | leave-form-to | slotprop |
| 514 | leave-form-reason | slotprop |
| 527 | leave-form-submit | static |
| 540 | staff-leave-success-toast | static |
routes/app/staff/StaffPayrollPage.tsx#
3 testids
| Line | Test ID | Kind |
|---|---|---|
| 82 | staff-payroll-page | static |
| 130 | compensation-row-{key} | template |
| 144 | compensation-total-gross | static |
routes/app/staff/StaffPayslipsPage.tsx#
5 testids
| Line | Test ID | Kind |
|---|---|---|
| 140 | staff-payslips-page | static |
| 157 | me-payslips-comp-history-section | static |
| 205 | me-payslips-comp-history-row-{slug} | template |
| 261 | payslip-row-{id} | template |
| 286 | payslip-download-{id} | template |
routes/auth/LoginPage.tsx#
9 testids
| Line | Test ID | Kind |
|---|---|---|
| 125 | mfa-form | static |
| 128 | mfa-error | static |
| 140 | mfa-code | slotprop |
| 151 | mfa-submit | static |
| 164 | login-form | static |
| 167 | login-error | static |
| 174 | login-identifier | slotprop |
| 182 | login-password | slotprop |
| 191 | login-submit | static |
routes/auth/OnboardingWizard.tsx#
27 testids
| Line | Test ID | Kind |
|---|---|---|
| 228 | onboarding-stepper | static |
| 237 | onboarding-error | static |
| 242 | step-role | static |
| 257 | role-option-{r.value} | template |
| 267 | role-continue | static |
| 276 | step-identifier | static |
| 282 | identifier-input | slotprop |
| 299 | identifier-continue | static |
| 309 | step-otp | static |
| 324 | otp-input | slotprop |
| 341 | otp-continue | static |
| 351 | step-profile | static |
| 356 | profile-display-name | slotprop |
| 366 | profile-batch-year | slotprop |
| 377 | profile-batch-programme | slotprop |
| 385 | profile-batch-division | slotprop |
| 395 | profile-department | slotprop |
| 405 | profile-company | slotprop |
| 412 | profile-city | slotprop |
| 420 | profile-password | slotprop |
| 439 | profile-continue | static |
| 449 | step-privacy | static |
| 457 | privacy-email-wrap | static |
| 469 | privacy-phone-wrap | static |
| 492 | privacy-continue | static |
| 502 | step-notifications | static |
| 550 | onboarding-submit | static |
routes/auth/PasswordResetConfirmPage.tsx#
5 testids
| Line | Test ID | Kind |
|---|---|---|
| 77 | reset-confirm-form | static |
| 80 | reset-confirm-error | static |
| 88 | reset-new-password | slotprop |
| 97 | reset-confirm-password | slotprop |
| 110 | reset-confirm-submit | static |
routes/auth/PasswordResetRequestPage.tsx#
5 testids
| Line | Test ID | Kind |
|---|---|---|
| 41 | reset-request-sent | static |
| 48 | reset-request-form | static |
| 51 | reset-request-error | static |
| 58 | reset-identifier | slotprop |
| 67 | reset-request-submit | static |
routes/dev/DesignSystemPage.tsx#
14 testids
| Line | Test ID | Kind |
|---|---|---|
| 281 | design-system-root | static |
| 331 | section-colors | drilled |
| 384 | section-typography | drilled |
| 458 | section-buttons | drilled |
| 561 | section-inputs | drilled |
| 615 | section-selection | drilled |
| 663 | section-chips | drilled |
| 761 | section-cards | drilled |
| 818 | section-alerts | drilled |
| 831 | section-lists | drilled |
| 915 | section-avatars | drilled |
| 950 | section-tabs | drilled |
| 967 | section-tooltips | drilled |
| 991 | section-shadows | drilled |
features/ (34 files, 260 testids)#
features/assistants/AdmissionsAssistantPage.tsx#
1 testids
| Line | Test ID | Kind |
|---|---|---|
| 12 | admissions-assistant-root | static |
features/assistants/AnalyticsAssistantPage.tsx#
1 testids
| Line | Test ID | Kind |
|---|---|---|
| 15 | analytics-assistant-root | static |
features/assistants/AssistantChatPanel.tsx#
7 testids
| Line | Test ID | Kind |
|---|---|---|
| 283 | assistant-chat-panel-{kind} | template |
| 393 | assistant-chat-submit-{kind} | template |
| 422 | assistant-error-toast | static |
| 543 | assistant-message-{turn.rowId || turn.id} | template |
| 701 | assistant-justification-modal | static |
| 716 | assistant-justification-input | slotprop |
| 725 | assistant-justification-submit | static |
features/assistants/AssistantsSourcesPage.tsx#
6 testids
| Line | Test ID | Kind |
|---|---|---|
| 92 | sources-root | static |
| 154 | source-row-{id} | template |
| 222 | source-restore-{id} | template |
| 234 | source-suppress-{id} | template |
| 258 | sources-success-toast | static |
| 266 | sources-error-toast | static |
features/assistants/AssistantsUsagePage.tsx#
4 testids
| Line | Test ID | Kind |
|---|---|---|
| 82 | assistants-usage-root | static |
| 109 | assistants-usage-agent-{kind} | template |
| 166 | assistants-usage-table | static |
| 182 | assistants-usage-row-{kind} | template |
features/assistants/TriageInboxPage.tsx#
10 testids
| Line | Test ID | Kind |
|---|---|---|
| 114 | triage-inbox-root | static |
| 162 | triage-reject-modal | static |
| 178 | triage-reject-reason | slotprop |
| 188 | triage-reject-submit | static |
| 201 | triage-success-toast | static |
| 209 | triage-error-toast | static |
| 276 | triage-suggestion-{id} | template |
| 310 | triage-confidence-{id} | template |
| 328 | triage-reject-{id} | template |
| 338 | triage-apply-{id} | template |
features/assistants/citations.tsx#
1 testids
| Line | Test ID | Kind |
|---|---|---|
| 122 | {testIdPrefix}-citation-{chunk.sourceId ?? 'unknown'} | template |
features/chatbot/ChatbotComposer.tsx#
2 testids
| Line | Test ID | Kind |
|---|---|---|
| 91 | chatbot-composer-input | slotprop |
| 122 | chatbot-send | static |
features/chatbot/ChatbotDrawer.tsx#
2 testids
| Line | Test ID | Kind |
|---|---|---|
| 50 | chatbot-drawer-root | static |
| 100 | chatbot-close | static |
features/chatbot/ChatbotLauncher.tsx#
1 testids
| Line | Test ID | Kind |
|---|---|---|
| 56 | chatbot-launcher | static |
features/chatbot/ChatbotMessageList.tsx#
2 testids
| Line | Test ID | Kind |
|---|---|---|
| 236 | chatbot-suggestion-{i} | drilledTemplate |
| 415 | chatbot-example-{i} | template |
features/fundraising/AdminFundraisingPage.tsx#
32 testids
| Line | Test ID | Kind |
|---|---|---|
| 96 | <prefix>-<rowId> | static |
| 230 | admin-fundraising-campaign-dialog | static |
| 245 | admin-fundraising-campaign-slug | slotprop |
| 255 | admin-fundraising-campaign-title | slotprop |
| 267 | admin-fundraising-campaign-description | slotprop |
| 278 | admin-fundraising-campaign-goal | slotprop |
| 287 | admin-fundraising-campaign-currency | slotprop |
| 297 | admin-fundraising-campaign-hero | slotprop |
| 308 | admin-fundraising-campaign-starts | slotprop |
| 319 | admin-fundraising-campaign-ends | slotprop |
| 330 | admin-fundraising-campaign-80g | static |
| 341 | admin-fundraising-campaign-12a | slotprop |
| 357 | admin-fundraising-campaign-save | static |
| 507 | admin-fundraising-campaign-edit-{row.slug} | template |
| 519 | admin-fundraising-campaign-publish-{row.slug} | template |
| 532 | admin-fundraising-campaign-end-{row.slug} | template |
| 546 | admin-fundraising-campaigns-panel | static |
| 559 | admin-fundraising-campaign-state-filter | slotprop |
| 576 | admin-fundraising-create-campaign | static |
| 745 | admin-fundraising-donations-panel | static |
| 758 | admin-fundraising-donations-filter-slug | slotprop |
| 768 | admin-fundraising-donations-filter-state | slotprop |
| 787 | admin-fundraising-donations-filter-from | slotprop |
| 797 | admin-fundraising-donations-filter-to | slotprop |
| 914 | admin-fundraising-reports-panel | static |
| 922 | admin-fundraising-reports-campaign | slotprop |
| 956 | admin-fundraising-reports-summary | static |
| 1010 | admin-fundraising-root | static |
| 1039 | admin-fundraising-tabs | static |
| 1044 | admin-fundraising-tab-campaigns | static |
| 1049 | admin-fundraising-tab-donations | static |
| 1054 | admin-fundraising-tab-reports | static |
features/fundraising/CampaignCard.tsx#
3 testids
| Line | Test ID | Kind |
|---|---|---|
| 31 | campaign-card-{slug} | template |
| 58 | campaign-card-80g-{slug} | template |
| 83 | donate-cta-{slug} | template |
features/fundraising/CampaignDetailPage.tsx#
6 testids
| Line | Test ID | Kind |
|---|---|---|
| 41 | campaign-detail-loading | static |
| 51 | campaign-detail-error | static |
| 60 | campaign-detail-back | static |
| 70 | campaign-detail-root-{campaign.slug ?? slug} | template |
| 117 | campaign-detail-80g | static |
| 137 | campaign-detail-description | drilled |
features/fundraising/CampaignListPage.tsx#
3 testids
| Line | Test ID | Kind |
|---|---|---|
| 22 | campaigns-root | static |
| 41 | campaigns-error | static |
| 55 | campaigns-empty | static |
features/fundraising/CampaignProgressBar.tsx#
4 testids
| Line | Test ID | Kind |
|---|---|---|
| 35 | {testIdPrefix}-raised | template |
| 43 | {testIdPrefix}-goal | template |
| 55 | {testIdPrefix}-bar | template |
| 61 | {testIdPrefix}-pct | template |
features/fundraising/DonationForm.tsx#
12 testids
| Line | Test ID | Kind |
|---|---|---|
| 149 | donation-form | static |
| 168 | donation-form-error | static |
| 188 | donation-amount-chip-{Math.round(p / 100)} | template |
| 204 | donation-amount-input | slotprop |
| 217 | donation-recurring-toggle | static |
| 234 | donation-name-input | slotprop |
| 244 | donation-email-input | slotprop |
| 252 | donation-anonymous-checkbox | static |
| 268 | donation-message-input | slotprop |
| 274 | donation-pan-field | static |
| 283 | donation-pan-input | slotprop |
| 302 | donation-submit | static |
features/fundraising/MyDonationsPage.tsx#
9 testids
| Line | Test ID | Kind |
|---|---|---|
| 87 | my-donations-receipt-{donationId} | template |
| 108 | my-donations-root | static |
| 124 | my-donations-error | static |
| 138 | my-donations-empty | static |
| 150 | my-donations-browse-cta | static |
| 165 | my-donations-row-{d.id} | template |
| 186 | my-donations-state-{d.id} | template |
| 193 | my-donations-recurring-{d.id} | template |
| 207 | my-donations-campaign-{d.id} | template |
features/fundraising/MyMandatesPage.tsx#
12 testids
| Line | Test ID | Kind |
|---|---|---|
| 92 | my-mandates-root | static |
| 114 | my-mandates-error | static |
| 128 | my-mandates-empty | static |
| 140 | my-mandates-browse-cta | static |
| 156 | my-mandates-row-{m.id} | template |
| 178 | my-mandates-state-{m.id} | template |
| 184 | my-mandates-frequency-{m.id} | template |
| 197 | my-mandates-campaign-{m.id} | template |
| 204 | my-mandates-next-charge-{m.id} | template |
| 222 | my-mandates-cancel-{m.id} | template |
| 262 | my-mandates-cancel-reason | slotprop |
| 277 | my-mandates-cancel-confirm | static |
features/fundraising/PublicDonateShell.tsx#
3 testids
| Line | Test ID | Kind |
|---|---|---|
| 44 | public-donate-shell | static |
| 46 | public-donate-topbar | static |
| 85 | public-donate-login | static |
features/govintegrations/CredentialCallbackPage.tsx#
6 testids
| Line | Test ID | Kind |
|---|---|---|
| 106 | me-credentials-callback-root | static |
| 123 | me-credentials-callback-pending | static |
| 134 | me-credentials-callback-success | static |
| 150 | me-credentials-callback-back | static |
| 158 | me-credentials-callback-error | static |
| 168 | me-credentials-callback-retry | static |
features/govintegrations/MyCredentialsPage.tsx#
12 testids
| Line | Test ID | Kind |
|---|---|---|
| 328 | me-credentials-root | static |
| 352 | me-credentials-documents-link | static |
| 360 | me-credentials-error | static |
| 408 | me-credentials-revoke-modal | static |
| 425 | me-credentials-revoke-confirm | static |
| 437 | me-credentials-revoke-submit | static |
| 454 | me-credentials-toast | static |
| 512 | me-credentials-state-{slug} | template |
| 563 | me-credentials-sync-{slug} | template |
| 573 | me-credentials-revoke-{slug} | template |
| 598 | me-credentials-connect-{slug} | template |
| 609 | me-credentials-tile-{slug} | template |
features/govintegrations/MyDocumentsPage.tsx#
11 testids
| Line | Test ID | Kind |
|---|---|---|
| 117 | me-credentials-documents-root | static |
| 140 | me-credentials-back-link | static |
| 150 | me-credentials-filters | static |
| 173 | me-credentials-filter-{slug} | template |
| 185 | me-credentials-documents-search | slotprop |
| 193 | me-credentials-documents-error | static |
| 207 | me-credentials-documents-empty | static |
| 220 | me-credentials-documents-connect-cta | static |
| 279 | me-credentials-document-row-{id} | template |
| 300 | me-credentials-document-kind-{id} | template |
| 323 | me-credentials-document-open-{id} | template |
features/moderation_dashboard/MyModerationDashboardPage.tsx#
17 testids
| Line | Test ID | Kind |
|---|---|---|
| 107 | my-mod-assignment-{assignment.id ?? 'unknown'} | template |
| 133 | my-mod-sla-{assignment.id ?? 'unknown'} | drilledTemplate |
| 141 | my-mod-open-queue-{assignment.id ?? 'unknown'} | template |
| 157 | my-mod-decision-{decision.id ?? 'unknown'} | template |
| 230 | moderation-dashboard-root | static |
| 249 | moderation-policies-link | static |
| 265 | moderation-dashboard-error | static |
| 274 | moderation-stat-row | static |
| 280 | moderation-stat-open | drilled |
| 286 | moderation-stat-warning | drilled |
| 292 | moderation-stat-breached | drilled |
| 310 | moderation-dashboard-assignments-empty | static |
| 319 | moderation-dashboard-assignments-list | static |
| 342 | moderation-dashboard-decisions-empty | static |
| 351 | moderation-dashboard-decisions-list | static |
| 365 | moderation-tour-dialog | static |
| 391 | moderation-tour-dismiss | static |
features/moderation_dashboard/PoliciesPage.tsx#
7 testids
| Line | Test ID | Kind |
|---|---|---|
| 50 | policies-root | static |
| 75 | policies-search | slotprop |
| 88 | policies-error | static |
| 103 | policies-empty | static |
| 120 | policy-row-{slug} | template |
| 140 | policy-toggle-{slug} | template |
| 166 | policy-body-{slug} | drilledTemplate |
features/moderation_dashboard/QueueDetailPage.tsx#
11 testids
| Line | Test ID | Kind |
|---|---|---|
| 189 | queue-claim-{row.id} | template |
| 230 | queue-sla-{row.id} | drilledTemplate |
| 251 | queue-decision-{row.id} | template |
| 259 | queue-escalate-{row.id} | template |
| 271 | queue-detail-root | static |
| 279 | queue-detail-back | static |
| 302 | queue-detail-error | static |
| 309 | queue-detail-bulk-error | static |
| 323 | queue-bulk-assign-me | static |
| 342 | queue-detail-empty | static |
| 349 | queue-detail-table | static |
features/moderation_dashboard/WorkloadPage.tsx#
6 testids
| Line | Test ID | Kind |
|---|---|---|
| 36 | workload-root | static |
| 55 | workload-refreshed-at | static |
| 69 | workload-error | static |
| 84 | workload-empty | static |
| 92 | workload-table | static |
| 105 | workload-row-{idx} | template |
features/moderation_dashboard/components/DecisionForm.tsx#
6 testids
| Line | Test ID | Kind |
|---|---|---|
| 102 | decision-form-root | static |
| 117 | decision-form-decision | slotprop |
| 150 | decision-form-policy-refs | slotprop |
| 165 | decision-form-notes | slotprop |
| 171 | decision-form-error | static |
| 185 | decision-form-submit | static |
features/moderation_dashboard/components/EscalateForm.tsx#
5 testids
| Line | Test ID | Kind |
|---|---|---|
| 100 | escalate-form-root | static |
| 122 | escalate-form-target-queue | slotprop |
| 148 | escalate-form-reason | slotprop |
| 154 | escalate-form-error | static |
| 168 | escalate-form-submit | static |
features/staff_hr/AdminPayrollPage.tsx#
14 testids
| Line | Test ID | Kind |
|---|---|---|
| 130 | admin-payroll-new-run-dialog | static |
| 153 | admin-payroll-new-run-period-start | slotprop |
| 166 | admin-payroll-new-run-period-end | slotprop |
| 179 | admin-payroll-new-run-notes | slotprop |
| 194 | admin-payroll-new-run-create | static |
| 496 | admin-payroll-run-open-{id} | template |
| 507 | admin-payroll-run-action-compute-{id} | template |
| 524 | admin-payroll-run-action-finalise-{id} | template |
| 540 | admin-payroll-run-action-mark-paid-{id} | template |
| 554 | admin-payroll-root | static |
| 580 | admin-payroll-new-run | static |
| 598 | admin-payroll-empty | static |
| 608 | admin-payroll-runs-table | static |
| 709 | admin-payroll-success-toast | static |
features/staff_hr/AdminPayrollRunDetailPage.tsx#
7 testids
| Line | Test ID | Kind |
|---|---|---|
| 300 | admin-payroll-line-item-payslip-{row.id ?? ''} | template |
| 312 | admin-payroll-run-detail-root | static |
| 320 | admin-payroll-run-detail-back | static |
| 354 | admin-payroll-run-detail-compute | static |
| 374 | admin-payroll-run-detail-empty | static |
| 384 | admin-payroll-run-detail-table | static |
| 419 | admin-payroll-run-detail-success-toast | static |
features/staff_hr/AdminStaffDetailPage.tsx#
23 testids
| Line | Test ID | Kind |
|---|---|---|
| 119 | admin-staff-set-comp-form | static |
| 137 | admin-staff-set-comp-component | slotprop |
| 153 | admin-staff-set-comp-amount | slotprop |
| 164 | admin-staff-set-comp-effective-from | slotprop |
| 174 | admin-staff-set-comp-notes | slotprop |
| 184 | admin-staff-set-comp-save | static |
| 248 | admin-staff-new-loan-dialog | static |
| 264 | admin-staff-new-loan-principal | slotprop |
| 274 | admin-staff-new-loan-emi | slotprop |
| 286 | admin-staff-new-loan-started-at | slotprop |
| 297 | admin-staff-new-loan-notes | slotprop |
| 312 | admin-staff-new-loan-create | static |
| 331 | admin-staff-comp-history-empty | static |
| 346 | admin-staff-comp-history-list | static |
| 356 | admin-staff-comp-history-row-{id} | template |
| 516 | admin-staff-detail-root | static |
| 524 | admin-staff-detail-back | static |
| 542 | admin-staff-comp-section | static |
| 563 | admin-staff-loans-section | static |
| 574 | admin-staff-new-loan | static |
| 589 | admin-staff-loans-empty | static |
| 599 | admin-staff-loans-table | static |
| 642 | admin-staff-detail-success-toast | static |
features/ticketing/EventTicketPanel.tsx#
5 testids
| Line | Test ID | Kind |
|---|---|---|
| 76 | event-tickets-loading | static |
| 97 | event-tickets-inactive | static |
| 135 | event-tickets-panel | static |
| 160 | event-tickets-tier-{t.id} | template |
| 174 | event-tickets-open | static |
features/ticketing/TicketCheckoutModal.tsx#
9 testids
| Line | Test ID | Kind |
|---|---|---|
| 200 | ticket-checkout-modal | static |
| 219 | ticket-checkout-close | static |
| 234 | ticket-checkout-tier | slotprop |
| 283 | ticket-checkout-qty-dec | static |
| 294 | ticket-checkout-qty-inc | static |
| 313 | ticket-checkout-attendee-{idx} | template |
| 347 | ticket-checkout-total | static |
| 356 | ticket-checkout-cancel | static |
| 365 | ticket-checkout-submit | static |
components/ (23 files, 126 testids)#
components/AppShell.tsx#
9 testids
| Line | Test ID | Kind |
|---|---|---|
| 612 | nav-{item.testId ?? item.label.toLowerCase()} | template |
| 627 | nav-badge-{item.testId ?? item.label.toLowerCase()} | template |
| 748 | app-topbar | static |
| 756 | app-topbar-menu | static |
| 807 | topbar-display-name | static |
| 820 | logout-button | static |
| 830 | logout-button-icon | static |
| 890 | govint-digilocker-nudge | static |
| 898 | govint-digilocker-nudge-cta | static |
components/DataGridRow.tsx#
2 testids
| Line | Test ID | Kind |
|---|---|---|
| 5 | <prefix>-<rowId> | static |
| 18 | {prefix}-{props.rowId} | template |
components/GlobalSearchBar.tsx#
2 testids
| Line | Test ID | Kind |
|---|---|---|
| 45 | global-search-input | slotprop |
| 58 | global-search-submit | static |
components/NotificationsBell.tsx#
2 testids
| Line | Test ID | Kind |
|---|---|---|
| 36 | notifications-bell | static |
| 51 | notifications-bell-badge | static |
components/PrivacyScopedField.tsx#
1 testids
| Line | Test ID | Kind |
|---|---|---|
| 71 | privacy-field-{fieldName} | template |
components/VerificationBanner.tsx#
3 testids
| Line | Test ID | Kind |
|---|---|---|
| 27 | verification-banner | static |
| 41 | verification-banner-cta | static |
| 50 | verification-banner-state | static |
components/cms/AnnouncementCard.tsx#
3 testids
| Line | Test ID | Kind |
|---|---|---|
| 59 | announcement-card-{id} | template |
| 84 | announcement-card-pin-{id} | template |
| 110 | announcement-card-category-{id} | template |
components/cms/CategoryFilter.tsx#
2 testids
| Line | Test ID | Kind |
|---|---|---|
| 67 | category-filter | static |
| 79 | category-filter-chip-{opt.testIdSuffix} | template |
components/cms/PinnedRibbon.tsx#
1 testids
| Line | Test ID | Kind |
|---|---|---|
| 16 | pinned-ribbon | static |
components/feed/PostCard.tsx#
13 testids
| Line | Test ID | Kind |
|---|---|---|
| 184 | feed-post-{post.id ?? 'unknown'} | template |
| 209 | feed-post-kind-{post.id ?? 'unknown'} | template |
| 216 | feed-post-visibility-{post.id ?? 'unknown'} | template |
| 235 | feed-post-report-{post.id ?? 'unknown'} | template |
| 246 | feed-post-delete-{post.id ?? 'unknown'} | template |
| 270 | feed-post-body-{post.id ?? 'unknown'} | template |
| 291 | feed-post-tag-{post.id ?? 'unknown'}-{t} | template |
| 318 | feed-post-reaction-{post.id ?? 'unknown'}-{r.reaction} | template |
| 329 | feed-post-comments-{post.id ?? 'unknown'} | template |
| 340 | feed-post-report-dialog-{post.id ?? 'unknown'} | template |
| 391 | feed-post-report-submit-{post.id ?? 'unknown'} | template |
| 401 | feed-post-delete-confirm-{post.id ?? 'unknown'} | template |
| 416 | feed-post-delete-confirm-yes-{post.id ?? 'unknown'} | template |
components/feed/RichPostComposer.tsx#
19 testids
| Line | Test ID | Kind |
|---|---|---|
| 185 | feed-composer | static |
| 195 | feed-composer-error | static |
| 210 | feed-composer-kind | static |
| 216 | feed-composer-kind-{k.value} | template |
| 235 | feed-composer-visibility | static |
| 241 | feed-composer-visibility-{v.value} | template |
| 256 | feed-composer-scope-id | slotprop |
| 272 | feed-composer-tabs | static |
| 274 | feed-composer-tab-write | static |
| 275 | feed-composer-tab-preview | static |
| 285 | feed-composer-body | slotprop |
| 304 | feed-composer-preview | static |
| 339 | feed-composer-tags | slotprop |
| 349 | feed-composer-media-button | static |
| 357 | feed-composer-media-input | static |
| 364 | feed-composer-media-chip | static |
| 392 | feed-composer-counter | static |
| 402 | feed-composer-submit | static |
| 415 | feed-composer-media-toast | static |
components/groups/GroupCard.tsx#
3 testids
| Line | Test ID | Kind |
|---|---|---|
| 139 | group-card-{slug} | template |
| 218 | group-card-kind-{slug} | template |
| 262 | group-card-cta-{slug} | template |
components/groups/GroupRequestList.tsx#
4 testids
| Line | Test ID | Kind |
|---|---|---|
| 125 | group-request-list | static |
| 133 | group-request-row-{id} | template |
| 185 | group-request-decline-{id} | template |
| 200 | group-request-approve-{id} | template |
components/groups/RoleAssignmentMenu.tsx#
4 testids
| Line | Test ID | Kind |
|---|---|---|
| 119 | group-member-role-menu-{userId} | template |
| 130 | group-member-role-option-{userId}-{opt} | template |
| 140 | group-member-role-remove-{userId} | template |
| 149 | group-member-role-error-{userId} | template |
components/jobs/ApplyModal.tsx#
5 testids
| Line | Test ID | Kind |
|---|---|---|
| 41 | job-apply-modal | static |
| 107 | job-apply-error | static |
| 117 | job-apply-resume-url | slotprop |
| 148 | job-apply-cover-letter | slotprop |
| 178 | job-apply-submit | static |
components/jobs/JobCard.tsx#
6 testids
| Line | Test ID | Kind |
|---|---|---|
| 34 | job-card-{id} | template |
| 62 | job-card-title-{id} | template |
| 70 | job-card-closed-{id} | template |
| 108 | job-card-view-{id} | template |
| 116 | job-card-applied-{id} | template |
| 129 | job-card-apply-{id} | template |
components/jobs/ReferModal.tsx#
8 testids
| Line | Test ID | Kind |
|---|---|---|
| 64 | job-refer-modal | static |
| 159 | job-refer-error | static |
| 184 | job-refer-option-{opt.userId ?? ''} | template |
| 214 | job-refer-search | slotprop |
| 228 | job-refer-manual-id | slotprop |
| 238 | job-refer-toggle-manual | static |
| 257 | job-refer-notes | slotprop |
| 274 | job-refer-submit | static |
components/marketplace/CouponCodeChip.tsx#
3 testids
| Line | Test ID | Kind |
|---|---|---|
| 53 | coupon-code-chip | static |
| 80 | coupon-copy-button | static |
| 90 | coupon-copy-snackbar | static |
components/marketplace/DealCard.tsx#
2 testids
| Line | Test ID | Kind |
|---|---|---|
| 58 | deal-card | static |
| 72 | deal-card-{slug} | template |
components/marketplace/DealDetailModal.tsx#
5 testids
| Line | Test ID | Kind |
|---|---|---|
| 164 | deal-detail-modal | static |
| 172 | deal-detail-close | static |
| 228 | deal-detail-error | static |
| 251 | deal-reveal-button | static |
| 269 | outbound-link-button | static |
components/mentorship/MatchCard.tsx#
10 testids
| Line | Test ID | Kind |
|---|---|---|
| 116 | mentorship-match-card-{id} | template |
| 147 | mentorship-match-name-{id} | template |
| 160 | mentorship-match-role-{id} | template |
| 164 | mentorship-match-reasons-{id} | drilledTemplate |
| 175 | mentorship-match-score-{id} | template |
| 181 | mentorship-match-state-{id} | template |
| 213 | mentorship-match-accept-{id} | template |
| 225 | mentorship-match-decline-{id} | template |
| 237 | mentorship-match-terminate-{id} | template |
| 250 | mentorship-match-open-{id} | template |
components/mentorship/SessionCalendar.tsx#
12 testids
| Line | Test ID | Kind |
|---|---|---|
| 159 | mentorship-session-calendar | static |
| 169 | mentorship-session-prev-week | static |
| 180 | mentorship-session-next-week | static |
| 190 | mentorship-session-this-week | static |
| 219 | mentorship-session-day-{dayKey(day)} | template |
| 231 | mentorship-session-empty-{dayKey(day)} | template |
| 262 | mentorship-session-add-{dayKey(day)} | template |
| 278 | mentorship-session-dialog | static |
| 289 | mentorship-session-time | slotprop |
| 298 | mentorship-session-duration | slotprop |
| 310 | mentorship-session-topic | slotprop |
| 324 | mentorship-session-schedule-{matchId} | template |
components/messaging/MessageRequestBanner.tsx#
7 testids
| Line | Test ID | Kind |
|---|---|---|
| 97 | message-request-banner-open | static |
| 103 | message-request-banner-goto | static |
| 117 | message-request-banner-pending | static |
| 160 | message-request-banner | static |
| 166 | message-request-banner-compose | static |
| 199 | message-request-banner-body | slotprop |
| 221 | message-request-banner-send | static |
Alphabetical testid index#
| Test ID | Source files |
|---|---|
<prefix>-<rowId> | components/DataGridRow.tsx, features/fundraising/AdminFundraisingPage.tsx |
admin-announcement-category | routes/admin/AdminAnnouncementsPage.tsx |
admin-announcement-cover-url | routes/admin/AdminAnnouncementsPage.tsx |
admin-announcement-new | routes/admin/AdminAnnouncementsPage.tsx |
admin-announcement-pin-until | routes/admin/AdminAnnouncementsPage.tsx |
admin-announcement-publish-{a.id} | routes/admin/AdminAnnouncementsPage.tsx |
admin-announcement-row-{a.id}-category | routes/admin/AdminAnnouncementsPage.tsx |
admin-announcement-row-{a.id}-pin-status | routes/admin/AdminAnnouncementsPage.tsx |
admin-announcement-state-{a.id} | routes/admin/AdminAnnouncementsPage.tsx |
admin-announcement-{a.id} | routes/admin/AdminAnnouncementsPage.tsx |
admin-announcements-root | routes/admin/AdminAnnouncementsPage.tsx |
admin-audit-logs-root | routes/admin/AdminAuditLogsPage.tsx |
admin-bitsian-day-bar-{idx} | routes/admin/AdminBITSianDayPage.tsx |
admin-bitsian-day-counter | routes/admin/AdminBITSianDayPage.tsx |
admin-bitsian-day-dim-{d.key} | routes/admin/AdminBITSianDayPage.tsx |
admin-bitsian-day-root | routes/admin/AdminBITSianDayPage.tsx |
admin-bitsian-day-table | routes/admin/AdminBITSianDayPage.tsx |
admin-calendar-import-csv | routes/admin/AdminCalendarPage.tsx |
admin-calendar-import-errors | routes/admin/AdminCalendarPage.tsx |
admin-calendar-import-report | routes/admin/AdminCalendarPage.tsx |
admin-calendar-import-submit | routes/admin/AdminCalendarPage.tsx |
admin-calendar-import-upload | routes/admin/AdminCalendarPage.tsx |
admin-calendar-publish-ends | routes/admin/AdminCalendarPage.tsx |
admin-calendar-publish-location | routes/admin/AdminCalendarPage.tsx |
admin-calendar-publish-mandatory | routes/admin/AdminCalendarPage.tsx |
admin-calendar-publish-starts | routes/admin/AdminCalendarPage.tsx |
admin-calendar-publish-submit | routes/admin/AdminCalendarPage.tsx |
admin-calendar-publish-title | routes/admin/AdminCalendarPage.tsx |
admin-calendar-publish-visibility | routes/admin/AdminCalendarPage.tsx |
admin-calendar-published-table | routes/admin/AdminCalendarPage.tsx |
admin-calendar-root | routes/admin/AdminCalendarPage.tsx |
admin-calendar-row-{row.id} | routes/admin/AdminCalendarPage.tsx |
admin-calendar-tab-import | routes/admin/AdminCalendarPage.tsx |
admin-calendar-tab-publish | routes/admin/AdminCalendarPage.tsx |
admin-calendar-tab-published | routes/admin/AdminCalendarPage.tsx |
admin-dashboard-root | routes/admin/AdminDashboardPage.tsx |
admin-event-scan-back | routes/admin/AdminEventScanPage.tsx |
admin-event-scan-gate | routes/admin/AdminEventScanPage.tsx |
admin-event-scan-input | routes/admin/AdminEventScanPage.tsx |
admin-event-scan-method | routes/admin/AdminEventScanPage.tsx |
admin-event-scan-result-{r.state} | routes/admin/AdminEventScanPage.tsx |
admin-event-scan-root | routes/admin/AdminEventScanPage.tsx |
admin-event-scan-submit | routes/admin/AdminEventScanPage.tsx |
admin-events-analytics-panel | routes/admin/AdminEventsPage.tsx |
admin-events-create-type | routes/admin/AdminEventsPage.tsx |
admin-events-order-state-{row.id} | routes/admin/AdminEventsPage.tsx |
admin-events-orders-filter-state | routes/admin/AdminEventsPage.tsx |
admin-events-orders-next | routes/admin/AdminEventsPage.tsx |
admin-events-orders-panel | routes/admin/AdminEventsPage.tsx |
admin-events-orders-prev | routes/admin/AdminEventsPage.tsx |
admin-events-picker | routes/admin/AdminEventsPage.tsx |
admin-events-picker-option-{option.id ?? ''} | routes/admin/AdminEventsPage.tsx |
admin-events-refund-approve-{row.id} | routes/admin/AdminEventsPage.tsx |
admin-events-refund-state-{row.id} | routes/admin/AdminEventsPage.tsx |
admin-events-refunds-filter-state | routes/admin/AdminEventsPage.tsx |
admin-events-refunds-next | routes/admin/AdminEventsPage.tsx |
admin-events-refunds-panel | routes/admin/AdminEventsPage.tsx |
admin-events-refunds-prev | routes/admin/AdminEventsPage.tsx |
admin-events-root | routes/admin/AdminEventsPage.tsx |
admin-events-scan-link | routes/admin/AdminEventsPage.tsx |
admin-events-tab-analytics | routes/admin/AdminEventsPage.tsx |
admin-events-tab-orders | routes/admin/AdminEventsPage.tsx |
admin-events-tab-refunds | routes/admin/AdminEventsPage.tsx |
admin-events-tab-types | routes/admin/AdminEventsPage.tsx |
admin-events-tabs | routes/admin/AdminEventsPage.tsx |
admin-events-type-delete-{row.id} | routes/admin/AdminEventsPage.tsx |
admin-events-type-inventory | routes/admin/AdminEventsPage.tsx |
admin-events-type-name | routes/admin/AdminEventsPage.tsx |
admin-events-type-price | routes/admin/AdminEventsPage.tsx |
admin-events-type-sales-ends | routes/admin/AdminEventsPage.tsx |
admin-events-type-sales-starts | routes/admin/AdminEventsPage.tsx |
admin-events-type-submit | routes/admin/AdminEventsPage.tsx |
admin-events-types-panel | routes/admin/AdminEventsPage.tsx |
admin-faq-new | routes/admin/AdminFAQPage.tsx |
admin-faq-root | routes/admin/AdminFAQPage.tsx |
admin-faq-tab-faqs | routes/admin/AdminFAQPage.tsx |
admin-faq-tab-submissions | routes/admin/AdminFAQPage.tsx |
admin-faq-tabs | routes/admin/AdminFAQPage.tsx |
admin-faq-{f.id} | routes/admin/AdminFAQPage.tsx |
admin-faqsub-answer-{s.id} | routes/admin/AdminFAQPage.tsx |
admin-faqsub-{s.id} | routes/admin/AdminFAQPage.tsx |
admin-finance-export-btn | routes/admin/AdminFinancePaymentsPage.tsx |
admin-finance-filter-gateway | routes/admin/AdminFinancePaymentsPage.tsx |
admin-finance-filter-state | routes/admin/AdminFinancePaymentsPage.tsx |
admin-finance-payment-row-{p.id} | routes/admin/AdminFinancePaymentsPage.tsx |
admin-finance-payments-root | routes/admin/AdminFinancePaymentsPage.tsx |
admin-finance-refund-reason | routes/admin/AdminFinancePaymentsPage.tsx |
admin-finance-refund-submit | routes/admin/AdminFinancePaymentsPage.tsx |
admin-finance-refund-{p.id} | routes/admin/AdminFinancePaymentsPage.tsx |
admin-fundraising-campaign-12a | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-campaign-80g | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-campaign-currency | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-campaign-description | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-campaign-dialog | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-campaign-edit-{row.slug} | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-campaign-end-{row.slug} | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-campaign-ends | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-campaign-goal | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-campaign-hero | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-campaign-publish-{row.slug} | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-campaign-save | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-campaign-slug | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-campaign-starts | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-campaign-state-filter | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-campaign-title | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-campaigns-panel | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-create-campaign | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-donations-filter-from | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-donations-filter-slug | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-donations-filter-state | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-donations-filter-to | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-donations-panel | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-reports-campaign | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-reports-panel | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-reports-summary | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-root | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-tab-campaigns | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-tab-donations | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-tab-reports | features/fundraising/AdminFundraisingPage.tsx |
admin-fundraising-tabs | features/fundraising/AdminFundraisingPage.tsx |
admin-gate-pass-approve-{v.id ?? ''} | routes/admin/AdminGatePassQueuePage.tsx |
admin-gate-pass-approved-row-{v.id ?? ''} | routes/admin/AdminGatePassQueuePage.tsx |
admin-gate-pass-bulk-approve | routes/admin/AdminGatePassQueuePage.tsx |
admin-gate-pass-decline-reason | routes/admin/AdminGatePassQueuePage.tsx |
admin-gate-pass-decline-submit | routes/admin/AdminGatePassQueuePage.tsx |
admin-gate-pass-decline-{v.id ?? ''} | routes/admin/AdminGatePassQueuePage.tsx |
admin-gate-pass-row-{v.id ?? ''} | routes/admin/AdminGatePassQueuePage.tsx |
admin-gate-pass-select-all | routes/admin/AdminGatePassQueuePage.tsx |
admin-gate-pass-select-{v.id ?? ''} | routes/admin/AdminGatePassQueuePage.tsx |
admin-gate-passes-root | routes/admin/AdminGatePassQueuePage.tsx |
admin-gate-passes-tab-approved | routes/admin/AdminGatePassQueuePage.tsx |
admin-gate-passes-tab-pending | routes/admin/AdminGatePassQueuePage.tsx |
admin-groups-error | routes/admin/AdminGroupsPage.tsx |
admin-groups-kind-filter | routes/admin/AdminGroupsPage.tsx |
admin-groups-open-{slug} | routes/admin/AdminGroupsPage.tsx |
admin-groups-restore-{slug} | routes/admin/AdminGroupsPage.tsx |
admin-groups-root | routes/admin/AdminGroupsPage.tsx |
admin-groups-row-{slug} | routes/admin/AdminGroupsPage.tsx |
admin-groups-search | routes/admin/AdminGroupsPage.tsx |
admin-groups-state-filter | routes/admin/AdminGroupsPage.tsx |
admin-groups-suspend-{slug} | routes/admin/AdminGroupsPage.tsx |
admin-groups-table | routes/admin/AdminGroupsPage.tsx |
admin-groups-transfer-submit | routes/admin/AdminGroupsPage.tsx |
admin-groups-transfer-user-id | routes/admin/AdminGroupsPage.tsx |
admin-groups-transfer-{slug} | routes/admin/AdminGroupsPage.tsx |
admin-groups-visibility-select | routes/admin/AdminGroupsPage.tsx |
admin-groups-visibility-submit | routes/admin/AdminGroupsPage.tsx |
admin-groups-visibility-{slug} | routes/admin/AdminGroupsPage.tsx |
admin-hotel-approve-notes | routes/admin/AdminHotelQueuePage.tsx |
admin-hotel-approve-submit | routes/admin/AdminHotelQueuePage.tsx |
admin-hotel-approve-{b.id ?? ''} | routes/admin/AdminHotelQueuePage.tsx |
admin-hotel-bookings-root | routes/admin/AdminHotelQueuePage.tsx |
admin-hotel-decline-reason | routes/admin/AdminHotelQueuePage.tsx |
admin-hotel-decline-submit | routes/admin/AdminHotelQueuePage.tsx |
admin-hotel-decline-{b.id ?? ''} | routes/admin/AdminHotelQueuePage.tsx |
admin-hotel-row-{b.id ?? ''} | routes/admin/AdminHotelQueuePage.tsx |
admin-hotel-tab-approved | routes/admin/AdminHotelQueuePage.tsx |
admin-hotel-tab-confirmed | routes/admin/AdminHotelQueuePage.tsx |
admin-hotel-tab-declined | routes/admin/AdminHotelQueuePage.tsx |
admin-hotel-tab-requested | routes/admin/AdminHotelQueuePage.tsx |
admin-jobs-board-column-{col.state.toLowerCase()} | routes/admin/AdminJobsBoardPage.tsx |
admin-jobs-board-jobs | routes/admin/AdminJobsBoardPage.tsx |
admin-jobs-board-limitation | routes/admin/AdminJobsBoardPage.tsx |
admin-jobs-board-page | routes/admin/AdminJobsBoardPage.tsx |
admin-jobs-board-placeholder-states | routes/admin/AdminJobsBoardPage.tsx |
admin-jobs-board-referrals | routes/admin/AdminJobsBoardPage.tsx |
admin-late-entries-export | routes/admin/AdminLateEntriesPage.tsx |
admin-late-entries-root | routes/admin/AdminLateEntriesPage.tsx |
admin-late-entry-gate | routes/admin/AdminLateEntriesPage.tsx |
admin-late-entry-pick-{u.userId ?? ''} | routes/admin/AdminLateEntriesPage.tsx |
admin-late-entry-reason | routes/admin/AdminLateEntriesPage.tsx |
admin-late-entry-row-{row.id ?? ''} | routes/admin/AdminLateEntriesPage.tsx |
admin-late-entry-submit | routes/admin/AdminLateEntriesPage.tsx |
admin-late-entry-user-query | routes/admin/AdminLateEntriesPage.tsx |
admin-leave-requests-page | routes/admin/AdminLeaveRequestsPage.tsx |
admin-leave-requests-success-toast | routes/admin/AdminLeaveRequestsPage.tsx |
admin-leave-state-filter | routes/admin/AdminLeaveRequestsPage.tsx |
admin-marketplace-deals-delete-{d.id ?? 'unknown'} | routes/admin/AdminMarketplaceDealsPage.tsx |
admin-marketplace-deals-edit-{d.id ?? 'unknown'} | routes/admin/AdminMarketplaceDealsPage.tsx |
admin-marketplace-deals-link | routes/admin/AdminMarketplacePartnersPage.tsx |
admin-marketplace-deals-page | routes/admin/AdminMarketplaceDealsPage.tsx |
admin-marketplace-deals-row-{d.id ?? 'unknown'} | routes/admin/AdminMarketplaceDealsPage.tsx |
admin-marketplace-deals-table | routes/admin/AdminMarketplaceDealsPage.tsx |
admin-marketplace-partners-delete-{p.id ?? 'unknown'} | routes/admin/AdminMarketplacePartnersPage.tsx |
admin-marketplace-partners-edit-{p.id ?? 'unknown'} | routes/admin/AdminMarketplacePartnersPage.tsx |
admin-marketplace-partners-link | routes/admin/AdminMarketplaceDealsPage.tsx |
admin-marketplace-partners-page | routes/admin/AdminMarketplacePartnersPage.tsx |
admin-marketplace-partners-row-{p.id ?? 'unknown'} | routes/admin/AdminMarketplacePartnersPage.tsx |
admin-marketplace-partners-table | routes/admin/AdminMarketplacePartnersPage.tsx |
admin-mentorship-action-error | routes/admin/AdminProgrammeDetailPage.tsx |
admin-mentorship-alternate-row-{key} | routes/admin/AdminProgrammeDetailPage.tsx |
admin-mentorship-alternate-score-{key} | routes/admin/AdminProgrammeDetailPage.tsx |
admin-mentorship-alternates-table | routes/admin/AdminProgrammeDetailPage.tsx |
admin-mentorship-counts-{card.key} | routes/admin/AdminProgrammeDetailPage.tsx |
admin-mentorship-create-back | routes/admin/AdminProgrammeCreatePage.tsx |
admin-mentorship-create-cta | routes/admin/AdminMentorshipPage.tsx |
admin-mentorship-create-error | routes/admin/AdminProgrammeCreatePage.tsx |
admin-mentorship-create-form | routes/admin/AdminProgrammeCreatePage.tsx |
admin-mentorship-detail-back | routes/admin/AdminProgrammeDetailPage.tsx |
admin-mentorship-detail-not-found | routes/admin/AdminProgrammeDetailPage.tsx |
admin-mentorship-error | routes/admin/AdminMentorshipPage.tsx |
admin-mentorship-export-csv-{id} | routes/admin/AdminProgrammeDetailPage.tsx |
admin-mentorship-match-count-{id} | routes/admin/AdminMentorshipPage.tsx |
admin-mentorship-mentee-count-{id} | routes/admin/AdminMentorshipPage.tsx |
admin-mentorship-mentor-count-{id} | routes/admin/AdminMentorshipPage.tsx |
admin-mentorship-open-{id} | routes/admin/AdminMentorshipPage.tsx |
admin-mentorship-override-{key} | routes/admin/AdminProgrammeDetailPage.tsx |
admin-mentorship-page | routes/admin/AdminMentorshipPage.tsx |
admin-mentorship-programme-create-page | routes/admin/AdminProgrammeCreatePage.tsx |
admin-mentorship-programme-detail-page | routes/admin/AdminProgrammeDetailPage.tsx |
admin-mentorship-programme-name | routes/admin/AdminProgrammeDetailPage.tsx |
admin-mentorship-programme-state | routes/admin/AdminProgrammeDetailPage.tsx |
admin-mentorship-row-{id} | routes/admin/AdminMentorshipPage.tsx |
admin-mentorship-run-matching-{id} | routes/admin/AdminProgrammeDetailPage.tsx |
admin-mentorship-state-{id} | routes/admin/AdminMentorshipPage.tsx |
admin-mentorship-success-toast | routes/admin/AdminProgrammeDetailPage.tsx |
admin-mentorship-table | routes/admin/AdminMentorshipPage.tsx |
admin-metric-value-{m.key} | routes/admin/AdminDashboardPage.tsx |
admin-metric-{m.key} | routes/admin/AdminDashboardPage.tsx |
admin-moderation-root | routes/admin/AdminModerationPage.tsx |
admin-payroll-empty | features/staff_hr/AdminPayrollPage.tsx |
admin-payroll-line-item-payslip-{row.id ?? ''} | features/staff_hr/AdminPayrollRunDetailPage.tsx |
admin-payroll-new-run | features/staff_hr/AdminPayrollPage.tsx |
admin-payroll-new-run-create | features/staff_hr/AdminPayrollPage.tsx |
admin-payroll-new-run-dialog | features/staff_hr/AdminPayrollPage.tsx |
admin-payroll-new-run-notes | features/staff_hr/AdminPayrollPage.tsx |
admin-payroll-new-run-period-end | features/staff_hr/AdminPayrollPage.tsx |
admin-payroll-new-run-period-start | features/staff_hr/AdminPayrollPage.tsx |
admin-payroll-root | features/staff_hr/AdminPayrollPage.tsx |
admin-payroll-run-action-compute-{id} | features/staff_hr/AdminPayrollPage.tsx |
admin-payroll-run-action-finalise-{id} | features/staff_hr/AdminPayrollPage.tsx |
admin-payroll-run-action-mark-paid-{id} | features/staff_hr/AdminPayrollPage.tsx |
admin-payroll-run-detail-back | features/staff_hr/AdminPayrollRunDetailPage.tsx |
admin-payroll-run-detail-compute | features/staff_hr/AdminPayrollRunDetailPage.tsx |
admin-payroll-run-detail-empty | features/staff_hr/AdminPayrollRunDetailPage.tsx |
admin-payroll-run-detail-root | features/staff_hr/AdminPayrollRunDetailPage.tsx |
admin-payroll-run-detail-success-toast | features/staff_hr/AdminPayrollRunDetailPage.tsx |
admin-payroll-run-detail-table | features/staff_hr/AdminPayrollRunDetailPage.tsx |
admin-payroll-run-open-{id} | features/staff_hr/AdminPayrollPage.tsx |
admin-payroll-runs-table | features/staff_hr/AdminPayrollPage.tsx |
admin-payroll-success-toast | features/staff_hr/AdminPayrollPage.tsx |
admin-scan-direction | routes/admin/AdminScanPage.tsx |
admin-scan-gate | routes/admin/AdminScanPage.tsx |
admin-scan-input | routes/admin/AdminScanPage.tsx |
admin-scan-result-{r.state} | routes/admin/AdminScanPage.tsx |
admin-scan-root | routes/admin/AdminScanPage.tsx |
admin-scan-submit | routes/admin/AdminScanPage.tsx |
admin-staff-comp-history-empty | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-comp-history-list | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-comp-history-row-{id} | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-comp-section | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-detail-back | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-detail-root | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-detail-success-toast | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-loans-empty | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-loans-section | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-loans-table | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-new-loan | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-new-loan-create | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-new-loan-dialog | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-new-loan-emi | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-new-loan-notes | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-new-loan-principal | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-new-loan-started-at | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-set-comp-amount | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-set-comp-component | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-set-comp-effective-from | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-set-comp-form | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-set-comp-notes | features/staff_hr/AdminStaffDetailPage.tsx |
admin-staff-set-comp-save | features/staff_hr/AdminStaffDetailPage.tsx |
admin-suspend-reason | routes/admin/AdminUsersPage.tsx |
admin-suspend-submit | routes/admin/AdminUsersPage.tsx |
admin-user-grants-back | routes/admin/AdminUserGrantsPage.tsx |
admin-user-grants-event-autocomplete | routes/admin/AdminUserGrantsPage.tsx |
admin-user-grants-event-input | routes/admin/AdminUserGrantsPage.tsx |
admin-user-grants-event-option-{option.id ?? ''} | routes/admin/AdminUserGrantsPage.tsx |
admin-user-grants-notes-input | routes/admin/AdminUserGrantsPage.tsx |
admin-user-grants-open-grant | routes/admin/AdminUserGrantsPage.tsx |
admin-user-grants-revoke-confirm | routes/admin/AdminUserGrantsPage.tsx |
admin-user-grants-revoke-{g.id} | routes/admin/AdminUserGrantsPage.tsx |
admin-user-grants-root | routes/admin/AdminUserGrantsPage.tsx |
admin-user-grants-row-{g.id} | routes/admin/AdminUserGrantsPage.tsx |
admin-user-grants-submit | routes/admin/AdminUserGrantsPage.tsx |
admin-user-grants-table | routes/admin/AdminUserGrantsPage.tsx |
admin-user-grants-{u.id} | routes/admin/AdminUsersPage.tsx |
admin-user-reinstate-{u.id} | routes/admin/AdminUsersPage.tsx |
admin-user-row-{u.id} | routes/admin/AdminUsersPage.tsx |
admin-user-status-{u.id} | routes/admin/AdminUsersPage.tsx |
admin-user-suspend-{u.id} | routes/admin/AdminUsersPage.tsx |
admin-users-q | routes/admin/AdminUsersPage.tsx |
admin-users-role | routes/admin/AdminUsersPage.tsx |
admin-users-root | routes/admin/AdminUsersPage.tsx |
admin-users-search | routes/admin/AdminUsersPage.tsx |
admin-users-status | routes/admin/AdminUsersPage.tsx |
admin-users-table | routes/admin/AdminUsersPage.tsx |
admissions-assistant-root | features/assistants/AdmissionsAssistantPage.tsx |
alumni-invites-history-link | routes/admin/AlumniInvitesPage.tsx |
alumni-invites-page | routes/admin/AlumniInvitesPage.tsx |
alumni-invites-reset | routes/admin/AlumniInvitesPage.tsx |
analytics-assistant-root | features/assistants/AnalyticsAssistantPage.tsx |
announcement-body | routes/admin/AdminAnnouncementsPage.tsx |
announcement-card-category-{id} | components/cms/AnnouncementCard.tsx |
announcement-card-pin-{id} | components/cms/AnnouncementCard.tsx |
announcement-card-{id} | components/cms/AnnouncementCard.tsx |
announcement-scope | routes/admin/AdminAnnouncementsPage.tsx |
announcement-submit | routes/admin/AdminAnnouncementsPage.tsx |
announcement-title | routes/admin/AdminAnnouncementsPage.tsx |
app-topbar | components/AppShell.tsx |
app-topbar-menu | components/AppShell.tsx |
assistant-chat-panel-{kind} | features/assistants/AssistantChatPanel.tsx |
assistant-chat-submit-{kind} | features/assistants/AssistantChatPanel.tsx |
assistant-error-toast | features/assistants/AssistantChatPanel.tsx |
assistant-justification-input | features/assistants/AssistantChatPanel.tsx |
assistant-justification-modal | features/assistants/AssistantChatPanel.tsx |
assistant-justification-submit | features/assistants/AssistantChatPanel.tsx |
assistant-message-{turn.rowId || turn.id} | features/assistants/AssistantChatPanel.tsx |
assistants-usage-agent-{kind} | features/assistants/AssistantsUsagePage.tsx |
assistants-usage-root | features/assistants/AssistantsUsagePage.tsx |
assistants-usage-row-{kind} | features/assistants/AssistantsUsagePage.tsx |
assistants-usage-table | features/assistants/AssistantsUsagePage.tsx |
audit-action-contains | routes/admin/AdminAuditLogsPage.tsx |
audit-actor-id | routes/admin/AdminAuditLogsPage.tsx |
audit-entity-type | routes/admin/AdminAuditLogsPage.tsx |
audit-row-{r.id} | routes/admin/AdminAuditLogsPage.tsx |
audit-search | routes/admin/AdminAuditLogsPage.tsx |
audit-table | routes/admin/AdminAuditLogsPage.tsx |
bitsian-day-checkin-btn | routes/app/alumni/BITSianDayPage.tsx |
bitsian-day-confirmation | routes/app/alumni/BITSianDayPage.tsx |
bitsian-day-hero | routes/app/alumni/BITSianDayPage.tsx |
calendar-agenda | routes/app/CalendarPage.tsx |
calendar-day-{cell.key} | routes/app/CalendarPage.tsx |
calendar-event-root | routes/app/CalendarEventPage.tsx |
calendar-event-{ev.id ?? ''} | routes/app/CalendarPage.tsx |
calendar-event-{ev.id ?? ''}-agenda | routes/app/CalendarPage.tsx |
calendar-event-{ev.id ?? ''}-row | routes/app/CalendarPage.tsx |
calendar-next | routes/app/CalendarPage.tsx |
calendar-prev | routes/app/CalendarPage.tsx |
calendar-root | routes/app/CalendarPage.tsx |
calendar-scope-{s.key.toLowerCase()} | routes/app/CalendarPage.tsx |
calendar-today | routes/app/CalendarPage.tsx |
campaign-card-80g-{slug} | features/fundraising/CampaignCard.tsx |
campaign-card-{slug} | features/fundraising/CampaignCard.tsx |
campaign-detail-80g | features/fundraising/CampaignDetailPage.tsx |
campaign-detail-back | features/fundraising/CampaignDetailPage.tsx |
campaign-detail-description | features/fundraising/CampaignDetailPage.tsx |
campaign-detail-error | features/fundraising/CampaignDetailPage.tsx |
campaign-detail-loading | features/fundraising/CampaignDetailPage.tsx |
campaign-detail-root-{campaign.slug ?? slug} | features/fundraising/CampaignDetailPage.tsx |
campaigns-empty | features/fundraising/CampaignListPage.tsx |
campaigns-error | features/fundraising/CampaignListPage.tsx |
campaigns-root | features/fundraising/CampaignListPage.tsx |
category-filter | components/cms/CategoryFilter.tsx |
category-filter-chip-{opt.testIdSuffix} | components/cms/CategoryFilter.tsx |
chapter-event-row-{eid} | routes/app/groups/GroupDetailPage.tsx |
chapter-event-view-{eid} | routes/app/groups/GroupDetailPage.tsx |
chapter-events-list | routes/app/groups/GroupDetailPage.tsx |
chapter-subscribe-toggle | routes/app/groups/GroupDetailPage.tsx |
chatbot-close | features/chatbot/ChatbotDrawer.tsx |
chatbot-composer-input | features/chatbot/ChatbotComposer.tsx |
chatbot-drawer-root | features/chatbot/ChatbotDrawer.tsx |
chatbot-example-{i} | features/chatbot/ChatbotMessageList.tsx |
chatbot-launcher | features/chatbot/ChatbotLauncher.tsx |
chatbot-send | features/chatbot/ChatbotComposer.tsx |
chatbot-suggestion-{i} | features/chatbot/ChatbotMessageList.tsx |
child-{c.id} | routes/app/ProfileViewPage.tsx |
children-list | routes/app/ProfileViewPage.tsx |
compensation-row-{key} | routes/app/staff/StaffPayrollPage.tsx |
compensation-total-gross | routes/app/staff/StaffPayrollPage.tsx |
conversation-block | routes/app/messages/ConversationPage.tsx |
conversation-block-confirm | routes/app/messages/ConversationPage.tsx |
conversation-input | routes/app/messages/ConversationPage.tsx |
conversation-menu-button | routes/app/messages/ConversationPage.tsx |
conversation-messages | routes/app/messages/ConversationPage.tsx |
conversation-mute-toggle | routes/app/messages/ConversationPage.tsx |
conversation-page | routes/app/messages/ConversationPage.tsx |
conversation-peer-name | routes/app/messages/ConversationPage.tsx |
conversation-send | routes/app/messages/ConversationPage.tsx |
coupon-code-chip | components/marketplace/CouponCodeChip.tsx |
coupon-copy-button | components/marketplace/CouponCodeChip.tsx |
coupon-copy-snackbar | components/marketplace/CouponCodeChip.tsx |
course-assignment-submit-link-{a.id ?? ''} | routes/app/academics/CourseDetailPage.tsx |
course-assignment-{a.id ?? ''} | routes/app/academics/CourseDetailPage.tsx |
course-detail-root | routes/app/academics/CourseDetailPage.tsx |
course-detail-tab-assignments | routes/app/academics/CourseDetailPage.tsx |
course-detail-tab-resources | routes/app/academics/CourseDetailPage.tsx |
course-detail-tabs | routes/app/academics/CourseDetailPage.tsx |
course-resource-{r.id ?? ''} | routes/app/academics/CourseDetailPage.tsx |
deal-card | components/marketplace/DealCard.tsx |
deal-card-{slug} | components/marketplace/DealCard.tsx |
deal-category-filter | routes/admin/AdminMarketplaceDealsPage.tsx |
deal-create-button | routes/admin/AdminMarketplaceDealsPage.tsx |
deal-detail-close | components/marketplace/DealDetailModal.tsx |
deal-detail-error | components/marketplace/DealDetailModal.tsx |
deal-detail-modal | components/marketplace/DealDetailModal.tsx |
deal-form-audience-scope | routes/admin/AdminMarketplaceDealsPage.tsx |
deal-form-audience-value | routes/admin/AdminMarketplaceDealsPage.tsx |
deal-form-categories | routes/admin/AdminMarketplaceDealsPage.tsx |
deal-form-coupon-code | routes/admin/AdminMarketplaceDealsPage.tsx |
deal-form-description | routes/admin/AdminMarketplaceDealsPage.tsx |
deal-form-kind | routes/admin/AdminMarketplaceDealsPage.tsx |
deal-form-partner-id | routes/admin/AdminMarketplaceDealsPage.tsx |
deal-form-redemption-cap | routes/admin/AdminMarketplaceDealsPage.tsx |
deal-form-redemption-url | routes/admin/AdminMarketplaceDealsPage.tsx |
deal-form-state | routes/admin/AdminMarketplaceDealsPage.tsx |
deal-form-submit | routes/admin/AdminMarketplaceDealsPage.tsx |
deal-form-title | routes/admin/AdminMarketplaceDealsPage.tsx |
deal-form-valid-from | routes/admin/AdminMarketplaceDealsPage.tsx |
deal-form-valid-until | routes/admin/AdminMarketplaceDealsPage.tsx |
deal-reveal-button | components/marketplace/DealDetailModal.tsx |
deal-state-filter | routes/admin/AdminMarketplaceDealsPage.tsx |
decision-form-decision | features/moderation_dashboard/components/DecisionForm.tsx |
decision-form-error | features/moderation_dashboard/components/DecisionForm.tsx |
decision-form-notes | features/moderation_dashboard/components/DecisionForm.tsx |
decision-form-policy-refs | features/moderation_dashboard/components/DecisionForm.tsx |
decision-form-root | features/moderation_dashboard/components/DecisionForm.tsx |
decision-form-submit | features/moderation_dashboard/components/DecisionForm.tsx |
design-system-root | routes/dev/DesignSystemPage.tsx |
directory-chip-clear-{meta.key} | routes/app/DirectoryPage.tsx |
directory-chip-{meta.key} | routes/app/DirectoryPage.tsx |
directory-empty | routes/app/DirectoryPage.tsx |
directory-entry-back | routes/app/DirectoryEntryPage.tsx |
directory-entry-batch | routes/app/DirectoryEntryPage.tsx |
directory-entry-city | routes/app/DirectoryEntryPage.tsx |
directory-entry-company | routes/app/DirectoryEntryPage.tsx |
directory-entry-country | routes/app/DirectoryEntryPage.tsx |
directory-entry-department | routes/app/DirectoryEntryPage.tsx |
directory-entry-display-name | routes/app/DirectoryEntryPage.tsx |
directory-entry-division | routes/app/DirectoryEntryPage.tsx |
directory-entry-linkedin | routes/app/DirectoryEntryPage.tsx |
directory-entry-programme | routes/app/DirectoryEntryPage.tsx |
directory-entry-role | routes/app/DirectoryEntryPage.tsx |
directory-entry-unavailable | routes/app/DirectoryEntryPage.tsx |
directory-entry-view | routes/app/DirectoryEntryPage.tsx |
directory-error | routes/app/DirectoryPage.tsx |
directory-page | routes/app/DirectoryPage.tsx |
directory-page-next | routes/app/DirectoryPage.tsx |
directory-page-prev | routes/app/DirectoryPage.tsx |
directory-result-row-{uid} | routes/app/DirectoryPage.tsx |
directory-results | routes/app/DirectoryPage.tsx |
directory-role-select | routes/app/DirectoryPage.tsx |
directory-search-input | routes/app/DirectoryPage.tsx |
directory-search-submit | routes/app/DirectoryPage.tsx |
directory-view-{uid} | routes/app/DirectoryPage.tsx |
donate-cta-{slug} | features/fundraising/CampaignCard.tsx |
donation-amount-chip-{Math.round(p / 100)} | features/fundraising/DonationForm.tsx |
donation-amount-input | features/fundraising/DonationForm.tsx |
donation-anonymous-checkbox | features/fundraising/DonationForm.tsx |
donation-email-input | features/fundraising/DonationForm.tsx |
donation-form | features/fundraising/DonationForm.tsx |
donation-form-error | features/fundraising/DonationForm.tsx |
donation-message-input | features/fundraising/DonationForm.tsx |
donation-name-input | features/fundraising/DonationForm.tsx |
donation-pan-field | features/fundraising/DonationForm.tsx |
donation-pan-input | features/fundraising/DonationForm.tsx |
donation-recurring-toggle | features/fundraising/DonationForm.tsx |
donation-submit | features/fundraising/DonationForm.tsx |
edit-bio | routes/app/ProfileEditPage.tsx |
edit-city | routes/app/ProfileEditPage.tsx |
edit-company | routes/app/ProfileEditPage.tsx |
edit-country | routes/app/ProfileEditPage.tsx |
edit-display-name | routes/app/ProfileEditPage.tsx |
edit-linkedin | routes/app/ProfileEditPage.tsx |
edit-role-title | routes/app/ProfileEditPage.tsx |
edit-save | routes/app/ProfileEditPage.tsx |
edit-twitter | routes/app/ProfileEditPage.tsx |
edit-website | routes/app/ProfileEditPage.tsx |
escalate-form-error | features/moderation_dashboard/components/EscalateForm.tsx |
escalate-form-reason | features/moderation_dashboard/components/EscalateForm.tsx |
escalate-form-root | features/moderation_dashboard/components/EscalateForm.tsx |
escalate-form-submit | features/moderation_dashboard/components/EscalateForm.tsx |
escalate-form-target-queue | features/moderation_dashboard/components/EscalateForm.tsx |
event-checkedin-confirmation | routes/app/CalendarEventPage.tsx |
event-checkin | routes/app/CalendarEventPage.tsx |
event-personal-overlay | routes/app/CalendarEventPage.tsx |
event-rsvp-{opt.testId} | routes/app/CalendarEventPage.tsx |
event-tickets-inactive | features/ticketing/EventTicketPanel.tsx |
event-tickets-loading | features/ticketing/EventTicketPanel.tsx |
event-tickets-open | features/ticketing/EventTicketPanel.tsx |
event-tickets-panel | features/ticketing/EventTicketPanel.tsx |
event-tickets-tier-{t.id} | features/ticketing/EventTicketPanel.tsx |
faculty-appointment-approve-{a.id ?? ''} | routes/app/faculty/FacultyInboxPage.tsx |
faculty-appointment-card-{a.id ?? ''} | routes/app/faculty/FacultyInboxPage.tsx |
faculty-appointment-decline-reason | routes/app/faculty/FacultyInboxPage.tsx |
faculty-appointment-decline-submit | routes/app/faculty/FacultyInboxPage.tsx |
faculty-appointment-decline-{a.id ?? ''} | routes/app/faculty/FacultyInboxPage.tsx |
faculty-appointments-root | routes/app/faculty/FacultyInboxPage.tsx |
faculty-assignment-card-{a.id ?? ''} | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-assignment-desc | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-assignment-due | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-assignment-max-score | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-assignment-submit | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-assignment-title | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-course-card-{c.id ?? ''} | routes/app/academics/FacultyCoursesPage.tsx |
faculty-course-detail-root | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-course-detail-tab-assignments | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-course-detail-tab-resources | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-course-detail-tab-submissions | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-course-detail-tabs | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-courses-root | routes/app/academics/FacultyCoursesPage.tsx |
faculty-grade-submit-{s.id ?? ''} | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-resource-card-{r.id ?? ''} | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-resource-kind | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-resource-submit | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-resource-title | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-resource-url | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-submission-row-{s.id ?? ''} | routes/app/academics/FacultyCourseDetailPage.tsx |
faculty-submissions-table | routes/app/academics/FacultyCourseDetailPage.tsx |
faq-answer | routes/admin/AdminFAQPage.tsx |
faq-category | routes/admin/AdminFAQPage.tsx |
faq-question | routes/admin/AdminFAQPage.tsx |
faq-submit | routes/admin/AdminFAQPage.tsx |
faqsub-answer | routes/admin/AdminFAQPage.tsx |
faqsub-promote | routes/admin/AdminFAQPage.tsx |
faqsub-submit | routes/admin/AdminFAQPage.tsx |
feed-campus | routes/app/FeedPage.tsx |
feed-campus-empty | routes/app/FeedPage.tsx |
feed-campus-error | routes/app/FeedPage.tsx |
feed-campus-list | routes/app/FeedPage.tsx |
feed-campus-pinned | routes/app/FeedPage.tsx |
feed-comment-body | routes/app/FeedPostPage.tsx |
feed-comment-body-{comment.id} | routes/app/FeedPostPage.tsx |
feed-comment-composer | routes/app/FeedPostPage.tsx |
feed-comment-replies-{comment.id} | routes/app/FeedPostPage.tsx |
feed-comment-reply-form-{comment.id} | routes/app/FeedPostPage.tsx |
feed-comment-reply-submit-{comment.id} | routes/app/FeedPostPage.tsx |
feed-comment-reply-toggle-{comment.id} | routes/app/FeedPostPage.tsx |
feed-comment-submit | routes/app/FeedPostPage.tsx |
feed-comment-{comment.id} | routes/app/FeedPostPage.tsx |
feed-comments | routes/app/FeedPostPage.tsx |
feed-comments-empty | routes/app/FeedPostPage.tsx |
feed-compose-announcement | routes/app/FeedPage.tsx |
feed-compose-job | routes/app/FeedPage.tsx |
feed-compose-prompt | routes/app/FeedPage.tsx |
feed-compose-text | routes/app/FeedPage.tsx |
feed-compose-trigger | routes/app/FeedPage.tsx |
feed-composer | components/feed/RichPostComposer.tsx |
feed-composer-body | components/feed/RichPostComposer.tsx |
feed-composer-counter | components/feed/RichPostComposer.tsx |
feed-composer-dialog | routes/app/FeedPage.tsx |
feed-composer-dialog-close | routes/app/FeedPage.tsx |
feed-composer-error | components/feed/RichPostComposer.tsx |
feed-composer-kind | components/feed/RichPostComposer.tsx |
feed-composer-kind-{k.value} | components/feed/RichPostComposer.tsx |
feed-composer-media-button | components/feed/RichPostComposer.tsx |
feed-composer-media-chip | components/feed/RichPostComposer.tsx |
feed-composer-media-input | components/feed/RichPostComposer.tsx |
feed-composer-media-toast | components/feed/RichPostComposer.tsx |
feed-composer-preview | components/feed/RichPostComposer.tsx |
feed-composer-scope-id | components/feed/RichPostComposer.tsx |
feed-composer-submit | components/feed/RichPostComposer.tsx |
feed-composer-tab-preview | components/feed/RichPostComposer.tsx |
feed-composer-tab-write | components/feed/RichPostComposer.tsx |
feed-composer-tabs | components/feed/RichPostComposer.tsx |
feed-composer-tags | components/feed/RichPostComposer.tsx |
feed-composer-visibility | components/feed/RichPostComposer.tsx |
feed-composer-visibility-{v.value} | components/feed/RichPostComposer.tsx |
feed-empty | routes/app/FeedPage.tsx |
feed-error | routes/app/FeedPage.tsx |
feed-list | routes/app/FeedPage.tsx |
feed-load-more | routes/app/FeedPage.tsx |
feed-page | routes/app/FeedPage.tsx |
feed-post-back | routes/app/FeedPostPage.tsx |
feed-post-body-{post.id ?? 'unknown'} | components/feed/PostCard.tsx |
feed-post-comments-{post.id ?? 'unknown'} | components/feed/PostCard.tsx |
feed-post-delete-confirm-yes-{post.id ?? 'unknown'} | components/feed/PostCard.tsx |
feed-post-delete-confirm-{post.id ?? 'unknown'} | components/feed/PostCard.tsx |
feed-post-delete-{post.id ?? 'unknown'} | components/feed/PostCard.tsx |
feed-post-invalid | routes/app/FeedPostPage.tsx |
feed-post-kind-{post.id ?? 'unknown'} | components/feed/PostCard.tsx |
feed-post-notfound | routes/app/FeedPostPage.tsx |
feed-post-page | routes/app/FeedPostPage.tsx |
feed-post-reaction-{post.id ?? 'unknown'}-{r.reaction} | components/feed/PostCard.tsx |
feed-post-report-dialog-{post.id ?? 'unknown'} | components/feed/PostCard.tsx |
feed-post-report-submit-{post.id ?? 'unknown'} | components/feed/PostCard.tsx |
feed-post-report-{post.id ?? 'unknown'} | components/feed/PostCard.tsx |
feed-post-tag-{post.id ?? 'unknown'}-{t} | components/feed/PostCard.tsx |
feed-post-visibility-{post.id ?? 'unknown'} | components/feed/PostCard.tsx |
feed-post-{post.id ?? 'unknown'} | components/feed/PostCard.tsx |
feed-reset-cursor | routes/app/FeedPage.tsx |
feed-tab-{t.value} | routes/app/FeedPage.tsx |
feed-tabs | routes/app/FeedPage.tsx |
global-search-input | components/GlobalSearchBar.tsx |
global-search-submit | components/GlobalSearchBar.tsx |
govint-digilocker-nudge | components/AppShell.tsx |
govint-digilocker-nudge-cta | components/AppShell.tsx |
group-card-cta-{slug} | components/groups/GroupCard.tsx |
group-card-kind-{slug} | components/groups/GroupCard.tsx |
group-card-{slug} | components/groups/GroupCard.tsx |
group-create-avatar-url | routes/app/groups/GroupCreatePage.tsx |
group-create-back | routes/app/groups/GroupCreatePage.tsx |
group-create-back-step | routes/app/groups/GroupCreatePage.tsx |
group-create-description | routes/app/groups/GroupCreatePage.tsx |
group-create-error | routes/app/groups/GroupCreatePage.tsx |
group-create-form | routes/app/groups/GroupCreatePage.tsx |
group-create-kind-chapter | routes/app/groups/GroupCreatePage.tsx |
group-create-kind-interest | routes/app/groups/GroupCreatePage.tsx |
group-create-name | routes/app/groups/GroupCreatePage.tsx |
group-create-next | routes/app/groups/GroupCreatePage.tsx |
group-create-page | routes/app/groups/GroupCreatePage.tsx |
group-create-slug | routes/app/groups/GroupCreatePage.tsx |
group-create-step-identity | routes/app/groups/GroupCreatePage.tsx |
group-create-step-kind | routes/app/groups/GroupCreatePage.tsx |
group-create-step-visibility | routes/app/groups/GroupCreatePage.tsx |
group-create-submit | routes/app/groups/GroupCreatePage.tsx |
group-create-visibility | routes/app/groups/GroupCreatePage.tsx |
group-detail-about | routes/app/groups/GroupDetailPage.tsx |
group-detail-admin-{uid} | routes/app/groups/GroupDetailPage.tsx |
group-detail-back | routes/app/groups/GroupDetailPage.tsx |
group-detail-description | routes/app/groups/GroupDetailPage.tsx |
group-detail-events | routes/app/groups/GroupDetailPage.tsx |
group-detail-header | routes/app/groups/GroupDetailPage.tsx |
group-detail-join | routes/app/groups/GroupDetailPage.tsx |
group-detail-kind | routes/app/groups/GroupDetailPage.tsx |
group-detail-leave | routes/app/groups/GroupDetailPage.tsx |
group-detail-member-count | routes/app/groups/GroupDetailPage.tsx |
group-detail-members | routes/app/groups/GroupDetailPage.tsx |
group-detail-name | routes/app/groups/GroupDetailPage.tsx |
group-detail-page | routes/app/groups/GroupDetailPage.tsx |
group-detail-posts | routes/app/groups/GroupDetailPage.tsx |
group-detail-request | routes/app/groups/GroupDetailPage.tsx |
group-detail-tab-{t.value} | routes/app/groups/GroupDetailPage.tsx |
group-detail-tabs | routes/app/groups/GroupDetailPage.tsx |
group-detail-visibility | routes/app/groups/GroupDetailPage.tsx |
group-member-role-error-{userId} | components/groups/RoleAssignmentMenu.tsx |
group-member-role-menu-{userId} | components/groups/RoleAssignmentMenu.tsx |
group-member-role-option-{userId}-{opt} | components/groups/RoleAssignmentMenu.tsx |
group-member-role-remove-{userId} | components/groups/RoleAssignmentMenu.tsx |
group-member-row-{uid} | routes/app/groups/GroupDetailPage.tsx |
group-not-found | routes/app/groups/GroupNotFound.tsx |
group-not-found-back | routes/app/groups/GroupNotFound.tsx |
group-posts-empty | routes/app/groups/GroupDetailPage.tsx |
group-posts-locked | routes/app/groups/GroupDetailPage.tsx |
group-request-approve-{id} | components/groups/GroupRequestList.tsx |
group-request-decline-{id} | components/groups/GroupRequestList.tsx |
group-request-list | components/groups/GroupRequestList.tsx |
group-request-row-{id} | components/groups/GroupRequestList.tsx |
groups-create-cta | routes/app/groups/GroupsPage.tsx |
groups-empty | routes/app/groups/GroupsPage.tsx |
groups-error | routes/app/groups/GroupsPage.tsx |
groups-grid | routes/app/groups/GroupsPage.tsx |
groups-load-more | routes/app/groups/GroupsPage.tsx |
groups-page | routes/app/groups/GroupsPage.tsx |
groups-search-input | routes/app/groups/GroupsPage.tsx |
groups-search-submit | routes/app/groups/GroupsPage.tsx |
groups-tab-{t.value} | routes/app/groups/GroupsPage.tsx |
groups-tabs | routes/app/groups/GroupsPage.tsx |
health-status | routes/HealthHome.tsx, routes/LandingPage.tsx |
home-action-new-job | routes/app/AppHome.tsx |
home-action-new-message | routes/app/AppHome.tsx |
home-action-new-post | routes/app/AppHome.tsx |
home-quick-actions | routes/app/AppHome.tsx |
home-recent-feed | routes/app/AppHome.tsx |
home-recent-feed-cta | routes/app/AppHome.tsx |
home-recent-feed-{post.id} | routes/app/AppHome.tsx |
home-recent-jobs | routes/app/AppHome.tsx |
home-recent-jobs-cta | routes/app/AppHome.tsx |
home-recent-jobs-{job.id} | routes/app/AppHome.tsx |
identifier-continue | routes/auth/OnboardingWizard.tsx |
identifier-input | routes/auth/OnboardingWizard.tsx |
import-cancel | routes/admin/AlumniInvitesPage.tsx |
import-commit | routes/admin/AlumniInvitesPage.tsx |
import-commit-bar | routes/admin/AlumniInvitesPage.tsx |
import-commit-error | routes/admin/AlumniInvitesPage.tsx |
import-counter-created | routes/admin/AlumniInvitesPage.tsx |
import-counter-duplicate | routes/admin/AlumniInvitesPage.tsx |
import-counter-error | routes/admin/AlumniInvitesPage.tsx |
import-error-{idx} | routes/admin/AlumniInvitesPage.tsx |
import-errors | routes/admin/AlumniInvitesPage.tsx |
import-errors-summary | routes/admin/AlumniInvitesPage.tsx |
import-file-input | routes/admin/AlumniInvitesPage.tsx |
import-preview | routes/admin/AlumniInvitesPage.tsx |
import-preview-errors | routes/admin/AlumniInvitesPage.tsx |
import-preview-row-{i} | routes/admin/AlumniInvitesPage.tsx |
import-preview-table | routes/admin/AlumniInvitesPage.tsx |
import-preview-total | routes/admin/AlumniInvitesPage.tsx |
import-progress | routes/admin/AlumniInvitesPage.tsx |
import-progress-bar | routes/admin/AlumniInvitesPage.tsx |
import-progress-label | routes/admin/AlumniInvitesPage.tsx |
import-progress-state | routes/admin/AlumniInvitesPage.tsx |
import-send-invites | routes/admin/AlumniInvitesPage.tsx |
import-source | routes/admin/AlumniInvitesPage.tsx |
import-source-{opt.key} | routes/admin/AlumniInvitesPage.tsx |
import-state | routes/admin/AlumniInvitesPage.tsx |
import-summary | routes/admin/AlumniInvitesPage.tsx |
import-upload | routes/admin/AlumniInvitesPage.tsx |
import-upload-card | routes/admin/AlumniInvitesPage.tsx |
import-upload-error | routes/admin/AlumniInvitesPage.tsx |
imports-empty | routes/admin/ImportsListPage.tsx |
imports-error | routes/admin/ImportsListPage.tsx |
imports-list-page | routes/admin/ImportsListPage.tsx |
imports-new-upload | routes/admin/ImportsListPage.tsx |
imports-next-page | routes/admin/ImportsListPage.tsx |
imports-prev-page | routes/admin/ImportsListPage.tsx |
imports-refresh | routes/admin/ImportsListPage.tsx |
imports-row-{row.id ?? 'unknown'} | routes/admin/ImportsListPage.tsx |
imports-state-filter | routes/admin/ImportsListPage.tsx |
imports-table | routes/admin/ImportsListPage.tsx |
job-apply-cover-letter | components/jobs/ApplyModal.tsx |
job-apply-error | components/jobs/ApplyModal.tsx |
job-apply-modal | components/jobs/ApplyModal.tsx |
job-apply-resume-url | components/jobs/ApplyModal.tsx |
job-apply-submit | components/jobs/ApplyModal.tsx |
job-card-applied-{id} | components/jobs/JobCard.tsx |
job-card-apply-{id} | components/jobs/JobCard.tsx |
job-card-closed-{id} | components/jobs/JobCard.tsx |
job-card-title-{id} | components/jobs/JobCard.tsx |
job-card-view-{id} | components/jobs/JobCard.tsx |
job-card-{id} | components/jobs/JobCard.tsx |
job-composer-apply-url | routes/app/jobs/JobComposerPage.tsx |
job-composer-body | routes/app/jobs/JobComposerPage.tsx |
job-composer-cancel | routes/app/jobs/JobComposerPage.tsx |
job-composer-company-id | routes/app/jobs/JobComposerPage.tsx |
job-composer-company-name | routes/app/jobs/JobComposerPage.tsx |
job-composer-deadline | routes/app/jobs/JobComposerPage.tsx |
job-composer-error | routes/app/jobs/JobComposerPage.tsx |
job-composer-experience-max | routes/app/jobs/JobComposerPage.tsx |
job-composer-experience-min | routes/app/jobs/JobComposerPage.tsx |
job-composer-location | routes/app/jobs/JobComposerPage.tsx |
job-composer-page | routes/app/jobs/JobComposerPage.tsx |
job-composer-preview | routes/app/jobs/JobComposerPage.tsx |
job-composer-remote | routes/app/jobs/JobComposerPage.tsx |
job-composer-role-title | routes/app/jobs/JobComposerPage.tsx |
job-composer-scope-id | routes/app/jobs/JobComposerPage.tsx |
job-composer-submit | routes/app/jobs/JobComposerPage.tsx |
job-composer-tabs | routes/app/jobs/JobComposerPage.tsx |
job-composer-tags | routes/app/jobs/JobComposerPage.tsx |
job-composer-visibility | routes/app/jobs/JobComposerPage.tsx |
job-detail-applied | routes/app/jobs/JobDetailPage.tsx |
job-detail-apply | routes/app/jobs/JobDetailPage.tsx |
job-detail-apply-url | routes/app/jobs/JobDetailPage.tsx |
job-detail-back | routes/app/jobs/JobDetailPage.tsx |
job-detail-body | routes/app/jobs/JobDetailPage.tsx |
job-detail-close | routes/app/jobs/JobDetailPage.tsx |
job-detail-closed | routes/app/jobs/JobDetailPage.tsx |
job-detail-invalid | routes/app/jobs/JobDetailPage.tsx |
job-detail-notfound | routes/app/jobs/JobDetailPage.tsx |
job-detail-page | routes/app/jobs/JobDetailPage.tsx |
job-detail-refer | routes/app/jobs/JobDetailPage.tsx |
job-detail-remote | routes/app/jobs/JobDetailPage.tsx |
job-refer-error | components/jobs/ReferModal.tsx |
job-refer-manual-id | components/jobs/ReferModal.tsx |
job-refer-modal | components/jobs/ReferModal.tsx |
job-refer-notes | components/jobs/ReferModal.tsx |
job-refer-option-{opt.userId ?? ''} | components/jobs/ReferModal.tsx |
job-refer-search | components/jobs/ReferModal.tsx |
job-refer-submit | components/jobs/ReferModal.tsx |
job-refer-toggle-manual | components/jobs/ReferModal.tsx |
jobs-empty | routes/app/jobs/JobsListPage.tsx |
jobs-error | routes/app/jobs/JobsListPage.tsx |
jobs-filter-company | routes/app/jobs/JobsListPage.tsx |
jobs-filter-location | routes/app/jobs/JobsListPage.tsx |
jobs-filter-remote | routes/app/jobs/JobsListPage.tsx |
jobs-filter-status | routes/app/jobs/JobsListPage.tsx |
jobs-list | routes/app/jobs/JobsListPage.tsx |
jobs-list-page | routes/app/jobs/JobsListPage.tsx |
jobs-load-more | routes/app/jobs/JobsListPage.tsx |
jobs-my-applications-link | routes/app/jobs/JobsListPage.tsx |
jobs-new-button | routes/app/jobs/JobsListPage.tsx |
jobs-reset-cursor | routes/app/jobs/JobsListPage.tsx |
landing-login | routes/LandingPage.tsx |
landing-signup | routes/LandingPage.tsx |
landing-title | routes/LandingPage.tsx |
leave-approve-{r.id ?? 'unknown'} | routes/admin/AdminLeaveRequestsPage.tsx |
leave-balance-card-{key} | routes/app/staff/StaffLeavePage.tsx |
leave-cancel-button | routes/app/staff/StaffLeavePage.tsx |
leave-decline-form-reason | routes/admin/AdminLeaveRequestsPage.tsx |
leave-decline-form-submit | routes/admin/AdminLeaveRequestsPage.tsx |
leave-decline-{r.id ?? 'unknown'} | routes/admin/AdminLeaveRequestsPage.tsx |
leave-form-from | routes/app/staff/StaffLeavePage.tsx |
leave-form-reason | routes/app/staff/StaffLeavePage.tsx |
leave-form-submit | routes/app/staff/StaffLeavePage.tsx |
leave-form-to | routes/app/staff/StaffLeavePage.tsx |
leave-form-type | routes/app/staff/StaffLeavePage.tsx |
leave-history-row-{r.id ?? 'unknown'} | routes/app/staff/StaffLeavePage.tsx |
leave-history-state-filter | routes/app/staff/StaffLeavePage.tsx |
leave-request-button | routes/app/staff/StaffLeavePage.tsx |
leave-request-row-{r.id ?? 'unknown'} | routes/admin/AdminLeaveRequestsPage.tsx |
link-child-form | routes/app/ProfileEditPage.tsx |
link-child-identifier | routes/app/ProfileEditPage.tsx |
link-child-relationship | routes/app/ProfileEditPage.tsx |
link-child-section | routes/app/ProfileEditPage.tsx |
link-child-status | routes/app/ProfileEditPage.tsx |
link-child-submit | routes/app/ProfileEditPage.tsx |
login-error | routes/auth/LoginPage.tsx |
login-form | routes/auth/LoginPage.tsx |
login-identifier | routes/auth/LoginPage.tsx |
login-password | routes/auth/LoginPage.tsx |
login-submit | routes/auth/LoginPage.tsx |
logout-button | components/AppShell.tsx |
logout-button-icon | components/AppShell.tsx |
marketplace-audience-filter | routes/app/MarketplacePage.tsx |
marketplace-category-chip-all | routes/app/MarketplacePage.tsx |
marketplace-category-chip-{c.toLowerCase()} | routes/app/MarketplacePage.tsx |
marketplace-category-filter | routes/app/MarketplacePage.tsx |
marketplace-empty | routes/app/MarketplacePage.tsx |
marketplace-error | routes/app/MarketplacePage.tsx |
marketplace-grid | routes/app/MarketplacePage.tsx |
marketplace-home-link | routes/app/MarketplacePage.tsx |
marketplace-load-more | routes/app/MarketplacePage.tsx |
marketplace-page | routes/app/MarketplacePage.tsx |
marketplace-search-input | routes/app/MarketplacePage.tsx |
marketplace-search-submit | routes/app/MarketplacePage.tsx |
me-credentials-back-link | features/govintegrations/MyDocumentsPage.tsx |
me-credentials-callback-back | features/govintegrations/CredentialCallbackPage.tsx |
me-credentials-callback-error | features/govintegrations/CredentialCallbackPage.tsx |
me-credentials-callback-pending | features/govintegrations/CredentialCallbackPage.tsx |
me-credentials-callback-retry | features/govintegrations/CredentialCallbackPage.tsx |
me-credentials-callback-root | features/govintegrations/CredentialCallbackPage.tsx |
me-credentials-callback-success | features/govintegrations/CredentialCallbackPage.tsx |
me-credentials-connect-{slug} | features/govintegrations/MyCredentialsPage.tsx |
me-credentials-document-kind-{id} | features/govintegrations/MyDocumentsPage.tsx |
me-credentials-document-open-{id} | features/govintegrations/MyDocumentsPage.tsx |
me-credentials-document-row-{id} | features/govintegrations/MyDocumentsPage.tsx |
me-credentials-documents-connect-cta | features/govintegrations/MyDocumentsPage.tsx |
me-credentials-documents-empty | features/govintegrations/MyDocumentsPage.tsx |
me-credentials-documents-error | features/govintegrations/MyDocumentsPage.tsx |
me-credentials-documents-link | features/govintegrations/MyCredentialsPage.tsx |
me-credentials-documents-root | features/govintegrations/MyDocumentsPage.tsx |
me-credentials-documents-search | features/govintegrations/MyDocumentsPage.tsx |
me-credentials-error | features/govintegrations/MyCredentialsPage.tsx |
me-credentials-filter-{slug} | features/govintegrations/MyDocumentsPage.tsx |
me-credentials-filters | features/govintegrations/MyDocumentsPage.tsx |
me-credentials-revoke-confirm | features/govintegrations/MyCredentialsPage.tsx |
me-credentials-revoke-modal | features/govintegrations/MyCredentialsPage.tsx |
me-credentials-revoke-submit | features/govintegrations/MyCredentialsPage.tsx |
me-credentials-revoke-{slug} | features/govintegrations/MyCredentialsPage.tsx |
me-credentials-root | features/govintegrations/MyCredentialsPage.tsx |
me-credentials-state-{slug} | features/govintegrations/MyCredentialsPage.tsx |
me-credentials-sync-{slug} | features/govintegrations/MyCredentialsPage.tsx |
me-credentials-tile-{slug} | features/govintegrations/MyCredentialsPage.tsx |
me-credentials-toast | features/govintegrations/MyCredentialsPage.tsx |
me-payslips-comp-history-row-{slug} | routes/app/staff/StaffPayslipsPage.tsx |
me-payslips-comp-history-section | routes/app/staff/StaffPayslipsPage.tsx |
mentorship-apply-availability | routes/app/mentorship/ApplyMentorPage.tsx |
mentorship-apply-bio | routes/app/mentorship/ApplyMentorPage.tsx |
mentorship-apply-goals | routes/app/mentorship/ApplyMenteePage.tsx |
mentorship-apply-max-mentees | routes/app/mentorship/ApplyMentorPage.tsx |
mentorship-apply-mentee-back | routes/app/mentorship/ApplyMenteePage.tsx |
mentorship-apply-mentee-error | routes/app/mentorship/ApplyMenteePage.tsx |
mentorship-apply-mentee-form | routes/app/mentorship/ApplyMenteePage.tsx |
mentorship-apply-mentee-page | routes/app/mentorship/ApplyMenteePage.tsx |
mentorship-apply-mentee-skills | routes/app/mentorship/ApplyMenteePage.tsx |
mentorship-apply-mentee-skills-empty | routes/app/mentorship/ApplyMenteePage.tsx |
mentorship-apply-mentee-toast | routes/app/mentorship/ApplyMenteePage.tsx |
mentorship-apply-mentor-back | routes/app/mentorship/ApplyMentorPage.tsx |
mentorship-apply-mentor-error | routes/app/mentorship/ApplyMentorPage.tsx |
mentorship-apply-mentor-form | routes/app/mentorship/ApplyMentorPage.tsx |
mentorship-apply-mentor-page | routes/app/mentorship/ApplyMentorPage.tsx |
mentorship-apply-mentor-skills | routes/app/mentorship/ApplyMentorPage.tsx |
mentorship-apply-mentor-skills-empty | routes/app/mentorship/ApplyMentorPage.tsx |
mentorship-apply-mentor-toast | routes/app/mentorship/ApplyMentorPage.tsx |
mentorship-apply-submit | routes/app/mentorship/ApplyMenteePage.tsx, routes/app/mentorship/ApplyMentorPage.tsx |
mentorship-create-capacity | routes/admin/AdminProgrammeCreatePage.tsx |
mentorship-create-department-{d.replace(/\s+/g, '-').toLowerCase()} | routes/admin/AdminProgrammeCreatePage.tsx |
mentorship-create-departments | routes/admin/AdminProgrammeCreatePage.tsx |
mentorship-create-description | routes/admin/AdminProgrammeCreatePage.tsx |
mentorship-create-ends-at | routes/admin/AdminProgrammeCreatePage.tsx |
mentorship-create-min-batch-year | routes/admin/AdminProgrammeCreatePage.tsx |
mentorship-create-name | routes/admin/AdminProgrammeCreatePage.tsx |
mentorship-create-starts-at | routes/admin/AdminProgrammeCreatePage.tsx |
mentorship-create-submit | routes/admin/AdminProgrammeCreatePage.tsx |
mentorship-match-accept-{id} | components/mentorship/MatchCard.tsx |
mentorship-match-card-{id} | components/mentorship/MatchCard.tsx |
mentorship-match-decline-{id} | components/mentorship/MatchCard.tsx |
mentorship-match-detail-back | routes/app/mentorship/MatchDetailPage.tsx |
mentorship-match-detail-header | routes/app/mentorship/MatchDetailPage.tsx |
mentorship-match-detail-name | routes/app/mentorship/MatchDetailPage.tsx |
mentorship-match-detail-not-found | routes/app/mentorship/MatchDetailPage.tsx |
mentorship-match-detail-notes | routes/app/mentorship/MatchDetailPage.tsx |
mentorship-match-detail-page | routes/app/mentorship/MatchDetailPage.tsx |
mentorship-match-detail-role | routes/app/mentorship/MatchDetailPage.tsx |
mentorship-match-detail-sessions | routes/app/mentorship/MatchDetailPage.tsx |
mentorship-match-detail-state | routes/app/mentorship/MatchDetailPage.tsx |
mentorship-match-detail-status | routes/app/mentorship/MatchDetailPage.tsx |
mentorship-match-detail-tab-{t.value} | routes/app/mentorship/MatchDetailPage.tsx |
mentorship-match-detail-tabs | routes/app/mentorship/MatchDetailPage.tsx |
mentorship-match-name-{id} | components/mentorship/MatchCard.tsx |
mentorship-match-open-{id} | components/mentorship/MatchCard.tsx |
mentorship-match-reasons-{id} | components/mentorship/MatchCard.tsx |
mentorship-match-role-{id} | components/mentorship/MatchCard.tsx |
mentorship-match-score-{id} | components/mentorship/MatchCard.tsx |
mentorship-match-state-{id} | components/mentorship/MatchCard.tsx |
mentorship-match-terminate-{id} | components/mentorship/MatchCard.tsx |
mentorship-matches-action-error | routes/app/mentorship/MatchesPage.tsx |
mentorship-matches-back | routes/app/mentorship/MatchesPage.tsx |
mentorship-matches-empty | routes/app/mentorship/MatchesPage.tsx |
mentorship-matches-empty-cta | routes/app/mentorship/MatchesPage.tsx |
mentorship-matches-error | routes/app/mentorship/MatchesPage.tsx |
mentorship-matches-list | routes/app/mentorship/MatchesPage.tsx |
mentorship-matches-page | routes/app/mentorship/MatchesPage.tsx |
mentorship-note-composer | routes/app/mentorship/MatchDetailPage.tsx |
mentorship-note-error | routes/app/mentorship/MatchDetailPage.tsx |
mentorship-note-row-{n.id ?? idx} | routes/app/mentorship/MatchDetailPage.tsx |
mentorship-note-submit | routes/app/mentorship/MatchDetailPage.tsx |
mentorship-notes-empty | routes/app/mentorship/MatchDetailPage.tsx |
mentorship-page | routes/app/mentorship/MentorshipPage.tsx |
mentorship-page-empty | routes/app/mentorship/MentorshipPage.tsx |
mentorship-page-error | routes/app/mentorship/MentorshipPage.tsx |
mentorship-page-matches-cta | routes/app/mentorship/MentorshipPage.tsx |
mentorship-page-refresh | routes/app/mentorship/MentorshipPage.tsx |
mentorship-programme-apply-mentee-{id} | routes/app/mentorship/MentorshipPage.tsx |
mentorship-programme-apply-mentor-{id} | routes/app/mentorship/MentorshipPage.tsx |
mentorship-programme-card-{id} | routes/app/mentorship/MentorshipPage.tsx |
mentorship-programme-name-{id} | routes/app/mentorship/MentorshipPage.tsx |
mentorship-programme-state-{id} | routes/app/mentorship/MentorshipPage.tsx |
mentorship-programmes-grid | routes/app/mentorship/MentorshipPage.tsx |
mentorship-session-add-{dayKey(day)} | components/mentorship/SessionCalendar.tsx |
mentorship-session-calendar | components/mentorship/SessionCalendar.tsx |
mentorship-session-day-{dayKey(day)} | components/mentorship/SessionCalendar.tsx |
mentorship-session-dialog | components/mentorship/SessionCalendar.tsx |
mentorship-session-duration | components/mentorship/SessionCalendar.tsx |
mentorship-session-empty-{dayKey(day)} | components/mentorship/SessionCalendar.tsx |
mentorship-session-next-week | components/mentorship/SessionCalendar.tsx |
mentorship-session-prev-week | components/mentorship/SessionCalendar.tsx |
mentorship-session-schedule-{matchId} | components/mentorship/SessionCalendar.tsx |
mentorship-session-this-week | components/mentorship/SessionCalendar.tsx |
mentorship-session-time | components/mentorship/SessionCalendar.tsx |
mentorship-session-topic | components/mentorship/SessionCalendar.tsx |
mentorship-skill-chip-{sid} | routes/app/mentorship/ApplyMenteePage.tsx, routes/app/mentorship/ApplyMentorPage.tsx |
mentorship-status-event-{ev.key} | routes/app/mentorship/MatchDetailPage.tsx |
message-request-accept-{req.id} | routes/app/messages/MessageRequestsPage.tsx |
message-request-banner | components/messaging/MessageRequestBanner.tsx |
message-request-banner-body | components/messaging/MessageRequestBanner.tsx |
message-request-banner-compose | components/messaging/MessageRequestBanner.tsx |
message-request-banner-goto | components/messaging/MessageRequestBanner.tsx |
message-request-banner-open | components/messaging/MessageRequestBanner.tsx |
message-request-banner-pending | components/messaging/MessageRequestBanner.tsx |
message-request-banner-send | components/messaging/MessageRequestBanner.tsx |
message-request-decline-confirm | routes/app/messages/MessageRequestsPage.tsx |
message-request-decline-{req.id} | routes/app/messages/MessageRequestsPage.tsx |
message-request-inbound-{req.id} | routes/app/messages/MessageRequestsPage.tsx |
message-request-outbound-{req.id} | routes/app/messages/MessageRequestsPage.tsx |
message-requests-inbound-empty | routes/app/messages/MessageRequestsPage.tsx |
message-requests-outbound-empty | routes/app/messages/MessageRequestsPage.tsx |
message-requests-page | routes/app/messages/MessageRequestsPage.tsx |
message-{message.id} | routes/app/messages/ConversationPage.tsx |
messages-empty | routes/app/messages/MessagesPage.tsx |
messages-list | routes/app/messages/MessagesPage.tsx |
messages-page | routes/app/messages/MessagesPage.tsx |
messages-requests-link | routes/app/messages/MessagesPage.tsx |
messages-row-{c.id ?? idx} | routes/app/messages/MessagesPage.tsx |
mfa-code | routes/auth/LoginPage.tsx |
mfa-error | routes/auth/LoginPage.tsx |
mfa-form | routes/auth/LoginPage.tsx |
mfa-submit | routes/auth/LoginPage.tsx |
moderation-dashboard-assignments-empty | features/moderation_dashboard/MyModerationDashboardPage.tsx |
moderation-dashboard-assignments-list | features/moderation_dashboard/MyModerationDashboardPage.tsx |
moderation-dashboard-decisions-empty | features/moderation_dashboard/MyModerationDashboardPage.tsx |
moderation-dashboard-decisions-list | features/moderation_dashboard/MyModerationDashboardPage.tsx |
moderation-dashboard-error | features/moderation_dashboard/MyModerationDashboardPage.tsx |
moderation-dashboard-root | features/moderation_dashboard/MyModerationDashboardPage.tsx |
moderation-dialog-note | routes/admin/AdminModerationPage.tsx |
moderation-dialog-submit | routes/admin/AdminModerationPage.tsx |
moderation-dismiss-{row.id} | routes/admin/AdminModerationPage.tsx |
moderation-policies-link | features/moderation_dashboard/MyModerationDashboardPage.tsx |
moderation-remove-{row.id} | routes/admin/AdminModerationPage.tsx |
moderation-row-{row.id} | routes/admin/AdminModerationPage.tsx |
moderation-stat-breached | features/moderation_dashboard/MyModerationDashboardPage.tsx |
moderation-stat-open | features/moderation_dashboard/MyModerationDashboardPage.tsx |
moderation-stat-row | features/moderation_dashboard/MyModerationDashboardPage.tsx |
moderation-stat-warning | features/moderation_dashboard/MyModerationDashboardPage.tsx |
moderation-state-filter | routes/admin/AdminModerationPage.tsx |
moderation-state-{row.id} | routes/admin/AdminModerationPage.tsx |
moderation-table | routes/admin/AdminModerationPage.tsx |
moderation-tour-dialog | features/moderation_dashboard/MyModerationDashboardPage.tsx |
moderation-tour-dismiss | features/moderation_dashboard/MyModerationDashboardPage.tsx |
moderation-warn-{row.id} | routes/admin/AdminModerationPage.tsx |
my-applications-browse | routes/app/jobs/MyApplicationsPage.tsx |
my-applications-empty | routes/app/jobs/MyApplicationsPage.tsx |
my-applications-error | routes/app/jobs/MyApplicationsPage.tsx |
my-applications-job-{a.id ?? ''} | routes/app/jobs/MyApplicationsPage.tsx |
my-applications-next | routes/app/jobs/MyApplicationsPage.tsx |
my-applications-page | routes/app/jobs/MyApplicationsPage.tsx |
my-applications-prev | routes/app/jobs/MyApplicationsPage.tsx |
my-applications-row-{a.id ?? ''} | routes/app/jobs/MyApplicationsPage.tsx |
my-applications-start | routes/app/jobs/MyApplicationsPage.tsx |
my-applications-state-{a.id ?? ''} | routes/app/jobs/MyApplicationsPage.tsx |
my-applications-table | routes/app/jobs/MyApplicationsPage.tsx |
my-donations-browse-cta | features/fundraising/MyDonationsPage.tsx |
my-donations-campaign-{d.id} | features/fundraising/MyDonationsPage.tsx |
my-donations-empty | features/fundraising/MyDonationsPage.tsx |
my-donations-error | features/fundraising/MyDonationsPage.tsx |
my-donations-receipt-{donationId} | features/fundraising/MyDonationsPage.tsx |
my-donations-recurring-{d.id} | features/fundraising/MyDonationsPage.tsx |
my-donations-root | features/fundraising/MyDonationsPage.tsx |
my-donations-row-{d.id} | features/fundraising/MyDonationsPage.tsx |
my-donations-state-{d.id} | features/fundraising/MyDonationsPage.tsx |
my-mandates-browse-cta | features/fundraising/MyMandatesPage.tsx |
my-mandates-campaign-{m.id} | features/fundraising/MyMandatesPage.tsx |
my-mandates-cancel-confirm | features/fundraising/MyMandatesPage.tsx |
my-mandates-cancel-reason | features/fundraising/MyMandatesPage.tsx |
my-mandates-cancel-{m.id} | features/fundraising/MyMandatesPage.tsx |
my-mandates-empty | features/fundraising/MyMandatesPage.tsx |
my-mandates-error | features/fundraising/MyMandatesPage.tsx |
my-mandates-frequency-{m.id} | features/fundraising/MyMandatesPage.tsx |
my-mandates-next-charge-{m.id} | features/fundraising/MyMandatesPage.tsx |
my-mandates-root | features/fundraising/MyMandatesPage.tsx |
my-mandates-row-{m.id} | features/fundraising/MyMandatesPage.tsx |
my-mandates-state-{m.id} | features/fundraising/MyMandatesPage.tsx |
my-mod-assignment-{assignment.id ?? 'unknown'} | features/moderation_dashboard/MyModerationDashboardPage.tsx |
my-mod-decision-{decision.id ?? 'unknown'} | features/moderation_dashboard/MyModerationDashboardPage.tsx |
my-mod-open-queue-{assignment.id ?? 'unknown'} | features/moderation_dashboard/MyModerationDashboardPage.tsx |
my-mod-sla-{assignment.id ?? 'unknown'} | features/moderation_dashboard/MyModerationDashboardPage.tsx |
my-tickets-include-inactive | routes/app/MyTicketsPage.tsx |
my-tickets-qr-{t.id} | routes/app/MyTicketsPage.tsx |
my-tickets-refresh | routes/app/MyTicketsPage.tsx |
my-tickets-refund-reason | routes/app/MyTicketsPage.tsx |
my-tickets-refund-submit | routes/app/MyTicketsPage.tsx |
my-tickets-refund-{t.id} | routes/app/MyTicketsPage.tsx |
my-tickets-root | routes/app/MyTicketsPage.tsx |
my-tickets-row-{t.id} | routes/app/MyTicketsPage.tsx |
my-tickets-state-{t.id} | routes/app/MyTicketsPage.tsx |
nav-badge-{item.testId ?? item.label.toLowerCase()} | components/AppShell.tsx |
nav-{item.testId ?? item.label.toLowerCase()} | components/AppShell.tsx |
notifications-bell | components/NotificationsBell.tsx |
notifications-bell-badge | components/NotificationsBell.tsx |
notifications-empty | routes/app/NotificationsPage.tsx |
notifications-error | routes/app/NotificationsPage.tsx |
notifications-filter-unread | routes/app/NotificationsPage.tsx |
notifications-item-{n.id} | routes/app/NotificationsPage.tsx |
notifications-list | routes/app/NotificationsPage.tsx |
notifications-load-more | routes/app/NotificationsPage.tsx |
notifications-mark-all-read | routes/app/NotificationsPage.tsx |
notifications-page | routes/app/NotificationsPage.tsx |
notifications-reset-cursor | routes/app/NotificationsPage.tsx |
onboarding-error | routes/auth/OnboardingWizard.tsx |
onboarding-stepper | routes/auth/OnboardingWizard.tsx |
onboarding-submit | routes/auth/OnboardingWizard.tsx |
otp-continue | routes/auth/OnboardingWizard.tsx |
otp-input | routes/auth/OnboardingWizard.tsx |
outbound-link-button | components/marketplace/DealDetailModal.tsx |
parent-appointment-card-{a.id ?? ''} | routes/app/parent/FacultyAppointmentPage.tsx |
parent-appointment-date | routes/app/parent/FacultyAppointmentPage.tsx |
parent-appointment-duration | routes/app/parent/FacultyAppointmentPage.tsx |
parent-appointment-faculty | routes/app/parent/FacultyAppointmentPage.tsx |
parent-appointment-faculty-search | routes/app/parent/FacultyAppointmentPage.tsx |
parent-appointment-reason | routes/app/parent/FacultyAppointmentPage.tsx |
parent-appointment-slot-{s.startsAt} | routes/app/parent/FacultyAppointmentPage.tsx |
parent-appointment-submit | routes/app/parent/FacultyAppointmentPage.tsx |
parent-appointments-root | routes/app/parent/FacultyAppointmentPage.tsx |
parent-finance-invoice-state-{inv.id} | routes/app/parent/FinancePage.tsx |
parent-finance-invoice-{inv.id} | routes/app/parent/FinancePage.tsx |
parent-finance-pay-{inv.id} | routes/app/parent/FinancePage.tsx |
parent-finance-root | routes/app/parent/FinancePage.tsx |
parent-hotel-add-occupant | routes/app/parent/HotelBookingPage.tsx |
parent-hotel-availability | routes/app/parent/HotelBookingPage.tsx |
parent-hotel-card-{b.id ?? ''} | routes/app/parent/HotelBookingPage.tsx |
parent-hotel-check | routes/app/parent/HotelBookingPage.tsx |
parent-hotel-checkin | routes/app/parent/HotelBookingPage.tsx |
parent-hotel-checkout | routes/app/parent/HotelBookingPage.tsx |
parent-hotel-guesthouse | routes/app/parent/HotelBookingPage.tsx |
parent-hotel-occupant-{idx} | routes/app/parent/HotelBookingPage.tsx |
parent-hotel-pay-{b.id ?? ''} | routes/app/parent/HotelBookingPage.tsx |
parent-hotel-remove-occupant-{idx} | routes/app/parent/HotelBookingPage.tsx |
parent-hotel-roomtype | routes/app/parent/HotelBookingPage.tsx |
parent-hotel-root | routes/app/parent/HotelBookingPage.tsx |
parent-hotel-submit | routes/app/parent/HotelBookingPage.tsx |
parent-visit-add-visitor | routes/app/parent/VisitsPage.tsx |
parent-visit-card-{v.id ?? ''} | routes/app/parent/VisitsPage.tsx |
parent-visit-from | routes/app/parent/VisitsPage.tsx |
parent-visit-gate-pass-show-{visit.id ?? ''} | routes/app/parent/VisitsPage.tsx |
parent-visit-gate-pass-{visit.id ?? ''} | routes/app/parent/VisitsPage.tsx |
parent-visit-host | routes/app/parent/VisitsPage.tsx |
parent-visit-purpose | routes/app/parent/VisitsPage.tsx |
parent-visit-remove-visitor-{idx} | routes/app/parent/VisitsPage.tsx |
parent-visit-submit | routes/app/parent/VisitsPage.tsx |
parent-visit-to | routes/app/parent/VisitsPage.tsx |
parent-visit-visitor-{idx} | routes/app/parent/VisitsPage.tsx |
parent-visits-root | routes/app/parent/VisitsPage.tsx |
partner-create-button | routes/admin/AdminMarketplacePartnersPage.tsx |
partner-form-contact-email | routes/admin/AdminMarketplacePartnersPage.tsx |
partner-form-logo-url | routes/admin/AdminMarketplacePartnersPage.tsx |
partner-form-name | routes/admin/AdminMarketplacePartnersPage.tsx |
partner-form-submit | routes/admin/AdminMarketplacePartnersPage.tsx |
partner-form-website-url | routes/admin/AdminMarketplacePartnersPage.tsx |
payslip-download-{id} | routes/app/staff/StaffPayslipsPage.tsx |
payslip-row-{id} | routes/app/staff/StaffPayslipsPage.tsx |
pinned-ribbon | components/cms/PinnedRibbon.tsx |
policies-empty | features/moderation_dashboard/PoliciesPage.tsx |
policies-error | features/moderation_dashboard/PoliciesPage.tsx |
policies-root | features/moderation_dashboard/PoliciesPage.tsx |
policies-search | features/moderation_dashboard/PoliciesPage.tsx |
policy-body-{slug} | features/moderation_dashboard/PoliciesPage.tsx |
policy-row-{slug} | features/moderation_dashboard/PoliciesPage.tsx |
policy-toggle-{slug} | features/moderation_dashboard/PoliciesPage.tsx |
privacy-continue | routes/auth/OnboardingWizard.tsx |
privacy-email-wrap | routes/auth/OnboardingWizard.tsx |
privacy-field-{fieldName} | components/PrivacyScopedField.tsx |
privacy-option-{f.name}-{opt.value.toLowerCase().replace('visibility_', '')} | routes/app/PrivacySettingsPage.tsx |
privacy-page | routes/app/PrivacySettingsPage.tsx |
privacy-phone-wrap | routes/auth/OnboardingWizard.tsx |
privacy-save | routes/app/PrivacySettingsPage.tsx |
profile-batch-division | routes/auth/OnboardingWizard.tsx |
profile-batch-programme | routes/auth/OnboardingWizard.tsx |
profile-batch-year | routes/auth/OnboardingWizard.tsx |
profile-city | routes/auth/OnboardingWizard.tsx |
profile-company | routes/auth/OnboardingWizard.tsx |
profile-continue | routes/auth/OnboardingWizard.tsx |
profile-department | routes/auth/OnboardingWizard.tsx |
profile-display-name | routes/auth/OnboardingWizard.tsx |
profile-edit | routes/app/ProfileEditPage.tsx |
profile-edit-cancel | routes/app/ProfileEditPage.tsx |
profile-edit-cta | routes/app/ProfileViewPage.tsx |
profile-edit-form | routes/app/ProfileEditPage.tsx |
profile-notifications | routes/app/ProfileNotificationsPage.tsx |
profile-notifications-card-{topic} | routes/app/ProfileNotificationsPage.tsx |
profile-notifications-empty | routes/app/ProfileNotificationsPage.tsx |
profile-notifications-load-error | routes/app/ProfileNotificationsPage.tsx |
profile-notifications-matrix | routes/app/ProfileNotificationsPage.tsx |
profile-notifications-matrix-mobile | routes/app/ProfileNotificationsPage.tsx |
profile-notifications-row-{topic} | routes/app/ProfileNotificationsPage.tsx |
profile-notifications-save | routes/app/ProfileNotificationsPage.tsx |
profile-notifications-status | routes/app/ProfileNotificationsPage.tsx |
profile-password | routes/auth/OnboardingWizard.tsx |
profile-view | routes/app/ProfileViewPage.tsx |
public-donate-login | features/fundraising/PublicDonateShell.tsx |
public-donate-shell | features/fundraising/PublicDonateShell.tsx |
public-donate-topbar | features/fundraising/PublicDonateShell.tsx |
queue-bulk-assign-me | features/moderation_dashboard/QueueDetailPage.tsx |
queue-claim-{row.id} | features/moderation_dashboard/QueueDetailPage.tsx |
queue-decision-{row.id} | features/moderation_dashboard/QueueDetailPage.tsx |
queue-detail-back | features/moderation_dashboard/QueueDetailPage.tsx |
queue-detail-bulk-error | features/moderation_dashboard/QueueDetailPage.tsx |
queue-detail-empty | features/moderation_dashboard/QueueDetailPage.tsx |
queue-detail-error | features/moderation_dashboard/QueueDetailPage.tsx |
queue-detail-root | features/moderation_dashboard/QueueDetailPage.tsx |
queue-detail-table | features/moderation_dashboard/QueueDetailPage.tsx |
queue-escalate-{row.id} | features/moderation_dashboard/QueueDetailPage.tsx |
queue-sla-{row.id} | features/moderation_dashboard/QueueDetailPage.tsx |
recs-card | routes/app/AppHome.tsx |
recs-rail-events | routes/app/AppHome.tsx |
recs-rail-groups | routes/app/AppHome.tsx |
recs-rail-marketplace | routes/app/MarketplacePage.tsx |
recs-rail-marketplace-card | routes/app/MarketplacePage.tsx |
recs-rail-marketplace-empty | routes/app/MarketplacePage.tsx |
recs-rail-marketplace-error | routes/app/MarketplacePage.tsx |
recs-rail-people | routes/app/AppHome.tsx |
recs-why-button | routes/app/AppHome.tsx |
recs-why-tooltip | routes/app/AppHome.tsx |
referrals-empty | routes/app/jobs/ReferralsPage.tsx |
referrals-error | routes/app/jobs/ReferralsPage.tsx |
referrals-export-csv | routes/app/jobs/ReferralsPage.tsx |
referrals-filter-applicant-id | routes/app/jobs/ReferralsPage.tsx |
referrals-filter-from | routes/app/jobs/ReferralsPage.tsx |
referrals-filter-job-id | routes/app/jobs/ReferralsPage.tsx |
referrals-filter-referrer-id | routes/app/jobs/ReferralsPage.tsx |
referrals-filter-state | routes/app/jobs/ReferralsPage.tsx |
referrals-filter-to | routes/app/jobs/ReferralsPage.tsx |
referrals-next | routes/app/jobs/ReferralsPage.tsx |
referrals-page | routes/app/jobs/ReferralsPage.tsx |
referrals-prev | routes/app/jobs/ReferralsPage.tsx |
referrals-row-{r.id ?? ''} | routes/app/jobs/ReferralsPage.tsx |
referrals-table | routes/app/jobs/ReferralsPage.tsx |
reset-confirm-error | routes/auth/PasswordResetConfirmPage.tsx |
reset-confirm-form | routes/auth/PasswordResetConfirmPage.tsx |
reset-confirm-password | routes/auth/PasswordResetConfirmPage.tsx |
reset-confirm-submit | routes/auth/PasswordResetConfirmPage.tsx |
reset-identifier | routes/auth/PasswordResetRequestPage.tsx |
reset-new-password | routes/auth/PasswordResetConfirmPage.tsx |
reset-request-error | routes/auth/PasswordResetRequestPage.tsx |
reset-request-form | routes/auth/PasswordResetRequestPage.tsx |
reset-request-sent | routes/auth/PasswordResetRequestPage.tsx |
reset-request-submit | routes/auth/PasswordResetRequestPage.tsx |
role-continue | routes/auth/OnboardingWizard.tsx |
role-option-{r.value} | routes/auth/OnboardingWizard.tsx |
search-error | routes/app/SearchPage.tsx |
search-load-more | routes/app/SearchPage.tsx |
search-page | routes/app/SearchPage.tsx |
search-result-card | routes/app/SearchPage.tsx |
search-result-empty | routes/app/SearchPage.tsx |
search-result-score | routes/app/SearchPage.tsx |
search-results | routes/app/SearchPage.tsx |
section-alerts | routes/dev/DesignSystemPage.tsx |
section-avatars | routes/dev/DesignSystemPage.tsx |
section-buttons | routes/dev/DesignSystemPage.tsx |
section-cards | routes/dev/DesignSystemPage.tsx |
section-chips | routes/dev/DesignSystemPage.tsx |
section-colors | routes/dev/DesignSystemPage.tsx |
section-inputs | routes/dev/DesignSystemPage.tsx |
section-lists | routes/dev/DesignSystemPage.tsx |
section-selection | routes/dev/DesignSystemPage.tsx |
section-shadows | routes/dev/DesignSystemPage.tsx |
section-tabs | routes/dev/DesignSystemPage.tsx |
section-tooltips | routes/dev/DesignSystemPage.tsx |
section-typography | routes/dev/DesignSystemPage.tsx |
source-restore-{id} | features/assistants/AssistantsSourcesPage.tsx |
source-row-{id} | features/assistants/AssistantsSourcesPage.tsx |
source-suppress-{id} | features/assistants/AssistantsSourcesPage.tsx |
sources-error-toast | features/assistants/AssistantsSourcesPage.tsx |
sources-root | features/assistants/AssistantsSourcesPage.tsx |
sources-success-toast | features/assistants/AssistantsSourcesPage.tsx |
staff-leave-page | routes/app/staff/StaffLeavePage.tsx |
staff-leave-success-toast | routes/app/staff/StaffLeavePage.tsx |
staff-payroll-page | routes/app/staff/StaffPayrollPage.tsx |
staff-payslips-page | routes/app/staff/StaffPayslipsPage.tsx |
state-filter | routes/admin/VerificationsQueuePage.tsx |
step-identifier | routes/auth/OnboardingWizard.tsx |
step-notifications | routes/auth/OnboardingWizard.tsx |
step-otp | routes/auth/OnboardingWizard.tsx |
step-privacy | routes/auth/OnboardingWizard.tsx |
step-profile | routes/auth/OnboardingWizard.tsx |
step-role | routes/auth/OnboardingWizard.tsx |
student-course-card-{c.id ?? ''} | routes/app/academics/StudentCoursesPage.tsx |
student-courses-root | routes/app/academics/StudentCoursesPage.tsx |
submit-assignment-cancel | routes/app/academics/SubmitAssignmentPage.tsx |
submit-assignment-file-url | routes/app/academics/SubmitAssignmentPage.tsx |
submit-assignment-root | routes/app/academics/SubmitAssignmentPage.tsx |
submit-assignment-submit | routes/app/academics/SubmitAssignmentPage.tsx |
summary-directory | routes/app/AppHome.tsx |
summary-message-requests | routes/app/AppHome.tsx |
summary-messages | routes/app/AppHome.tsx |
summary-notifications | routes/app/AppHome.tsx |
ticket-checkout-attendee-{idx} | features/ticketing/TicketCheckoutModal.tsx |
ticket-checkout-cancel | features/ticketing/TicketCheckoutModal.tsx |
ticket-checkout-close | features/ticketing/TicketCheckoutModal.tsx |
ticket-checkout-modal | features/ticketing/TicketCheckoutModal.tsx |
ticket-checkout-qty-dec | features/ticketing/TicketCheckoutModal.tsx |
ticket-checkout-qty-inc | features/ticketing/TicketCheckoutModal.tsx |
ticket-checkout-submit | features/ticketing/TicketCheckoutModal.tsx |
ticket-checkout-tier | features/ticketing/TicketCheckoutModal.tsx |
ticket-checkout-total | features/ticketing/TicketCheckoutModal.tsx |
topbar-display-name | components/AppShell.tsx |
triage-apply-{id} | features/assistants/TriageInboxPage.tsx |
triage-confidence-{id} | features/assistants/TriageInboxPage.tsx |
triage-error-toast | features/assistants/TriageInboxPage.tsx |
triage-inbox-root | features/assistants/TriageInboxPage.tsx |
triage-reject-modal | features/assistants/TriageInboxPage.tsx |
triage-reject-reason | features/assistants/TriageInboxPage.tsx |
triage-reject-submit | features/assistants/TriageInboxPage.tsx |
triage-reject-{id} | features/assistants/TriageInboxPage.tsx |
triage-success-toast | features/assistants/TriageInboxPage.tsx |
triage-suggestion-{id} | features/assistants/TriageInboxPage.tsx |
verification-approve-{row.id} | routes/admin/VerificationsQueuePage.tsx |
verification-banner | components/VerificationBanner.tsx |
verification-banner-cta | components/VerificationBanner.tsx |
verification-banner-state | components/VerificationBanner.tsx |
verification-dialog-note | routes/admin/VerificationsQueuePage.tsx |
verification-dialog-submit | routes/admin/VerificationsQueuePage.tsx |
verification-reject-{row.id} | routes/admin/VerificationsQueuePage.tsx |
verification-row-{row.id} | routes/admin/VerificationsQueuePage.tsx |
verifications-queue | routes/admin/VerificationsQueuePage.tsx |
verifications-table | routes/admin/VerificationsQueuePage.tsx |
welcome-heading | routes/app/AppHome.tsx |
workload-empty | features/moderation_dashboard/WorkloadPage.tsx |
workload-error | features/moderation_dashboard/WorkloadPage.tsx |
workload-refreshed-at | features/moderation_dashboard/WorkloadPage.tsx |
workload-root | features/moderation_dashboard/WorkloadPage.tsx |
workload-row-{idx} | features/moderation_dashboard/WorkloadPage.tsx |
workload-table | features/moderation_dashboard/WorkloadPage.tsx |
{prefix}-{props.rowId} | components/DataGridRow.tsx |
{testIdPrefix}-bar | features/fundraising/CampaignProgressBar.tsx |
{testIdPrefix}-citation-{chunk.sourceId ?? 'unknown'} | features/assistants/citations.tsx |
{testIdPrefix}-goal | features/fundraising/CampaignProgressBar.tsx |
{testIdPrefix}-pct | features/fundraising/CampaignProgressBar.tsx |
{testIdPrefix}-raised | features/fundraising/CampaignProgressBar.tsx |
{testId}-empty | routes/app/AppHome.tsx |
{testId}-error | routes/app/AppHome.tsx |