Skip to content

Admin Panel

import { Aside } from ‘@astrojs/starlight/components’;

Source: Master Spec v2.0, §16.

From the Admin Dashboard, Admin Panel opens Users & Roles by default. Inside the panel sidebar, Dashboard exits back to the main Admin Dashboard.

13 — Admin sidebar

Visual reference 13 — approved visual direction for this section. The written requirements above prevail over labels, sample data, or prices shown in the images. See Admin Screens

Apple-style Users table: search, All Roles / All Statuses filters, count, pagination; columns User, Role, Status, Last Active, Actions. Fixed role badges — Admin, Office Manager, Estimator — no other labels.

  • Invite/edit/deactivate/reactivate users, assign the fixed role, resend invitations, revoke sessions, assign/reassign Estimator responsibility. Removal preserves estimate authorship, assigned history, and audit records.
  • The Roles tab shows the fixed permission matrix — no Add Role.
  • Admin may grant an individual Estimator View Other Estimators’ Estimates / Edit Other Estimators’ Estimates (Edit requires View; enabling Edit enables View, disabling View disables Edit after confirmation). Overrides never grant Admin Panel, catalog management, Company Information, template, Gallery management, audit admin, or Trash — those require the Admin role. Changes require Save Changes, take effect immediately, and create an immutable audit event.

User detail (Overview / Permissions / Activity & Sessions):

  • Overview: identity, role summary (read-only here; edited in Permissions), status, invitation state, Last Active; Admin may upload/replace/remove profile photo (PNG/JPEG < 5 MB); Estimator signature shows status + read-only preview (Admin cannot author/replace). Never expose passwords, hashes, tokens, notification preferences, or session credentials.
  • Permissions: role selector (Admin/Office Manager/Estimator) with confirmation; read-only baseline rows; approved individual overrides.
  • Activity & Sessions: date scope (Today/Yesterday/Last 7 Days/Custom); Estimator metrics (Created, Completed, Updated, Sketches Added, Drafts Remaining, Last Active) derived from real events; activity timeline; signed-in devices with Log Out Device / Revoke Session / Log Out All Devices (confirmed). Never expose tokens, cookies, passwords, precise GPS, or raw identifiers.

47 — Users list 56 — User overview 57 — Permissions 58 — Activity and sessions

Visual references 47, 56–58 — approved visual direction for this section. The written requirements above prevail over labels, sample data, or prices shown in the images. See Admin Screens

Admin creates/edits/activates/deactivates/reorders products without developer assistance. Every catalog item from the Product Catalog appears here with name, classification, configurations, canvas representation, default footage, SOW behavior, Regular/Roofer prices, and status.

Page: summary filters (Total Items, Products, Services, Accessories), search, Category/Pricing/Last Modified/alphabetical controls, compact rows (icon, name, badge, category, variation summary, Regular Price, Roofer Price or fallback, Edit). K Style 6/7 in show Varies by Roofer; missing Roofer Price shows — or Uses Regular Price.

Add/Edit Product uses one five-step builder:

  1. Basic Information — icon, name, internal description.
  2. Classification, Configurations & Rules — type, category, attributes, values, pricing flags, dependency rules.
  3. Canvas Representation — procedural line/symbol or uploaded SVG/PNG.
  4. SOW & Final Sketch Mark — reuse canvas mark or upload dedicated asset.
  5. Pricing & Final Product Preview — Price per Foot/Unit, Regular + optional Roofer prices per variation, reactive previews (Product Picker, Canvas, SOW Row, Final Sketch tabs).

Edit adds Active/Inactive, Cancel, Save Draft, Save Changes, and recoverable delete-to-Trash. Only Affects Pricing attributes generate pricing variations. Deactivation preserves historical estimate data. Downspout price matrix supports the optional Connected Gutter Size (6 in / 7 in) dimension.

35 — Builder step 1 36 — Builder step 2 37 — Builder step 3 38 — Symbol library 39 — Line configuration 40 — Line styles 41 — Builder steps 4–5 42 — Catalog 43 — Edit product 61 — Approved Apple design

Visual references 35–43, 61 — approved visual direction for this section. The written requirements above prevail over labels, sample data, or prices shown in the images. See Admin Screens

Fields: Name, unique Abbreviation, identifying icon color, Active/Inactive, 6 in + 7 in K Style price/ft, Minimum Fee (reference only — never inserted into Canvas/SOW/Preview/Final Sketch), default Commission %, Include Commission in SOW switch.

List: compact rows (color icon, Abbreviation / Roofer Name, status, Commission, Last Modified, Edit); Total/Active/Inactive summary cards; search + filters. Edit is inline (one row at a time). Add New Roofer is an in-page modal. No Lower/Standard/Higher levels.

44 — Roofer list 45 — Add roofer 46 — Edit roofer

Visual references 44–46 — approved visual direction for this section. The written requirements above prevail over labels, sample data, or prices shown in the images. See Admin Screens

Admin-only form: Company Identity (logo upload/replace/remove — SVG/PNG/JPG ≤ 5 MB; Company Name; Legal Business Name; Website), Contact (Business Phone, Business Email, optional secondary phone), Business Address (street, line 2, city, state, ZIP, country), Business Details (contractor license number/state). Cancel/Save Changes with validation and unsaved-change protection.

48 — Company information

Visual reference 48 — approved visual direction for this section. The written requirements above prevail over labels, sample data, or prices shown in the images. See Admin Screens

Admin-only editor: configuration panels left, live preview right (auto-updating, zoom, Regular Customer / Roofer mode switch).

  • Branding from Company Information + document accent color.
  • Document Content toggles: logo/contact/license, customer info, address, date, property sketch, property details, Scope of Work, Estimator name/signature. (No project photos, no estimate/quote number.)
  • SOW Display controls: shared mark, description/material, configuration, quantity/unit, Regular/Roofer pricing, line total, Proposal totals per privacy rules. Roofer preview/output removes every financial value and reflows without gaps.
  • Footer Content: Google Reviews text/link/QR, Payment & Notes, Warranty, blank-by-default Other Information, Estimator signature block.
  • Output Settings: US Letter, Portrait/Landscape, PDF/JPG, high-res quality, PDF page numbers, bottom document note.
  • Reset to Default / Save Changes. Live Preview must match generated output.

49 — Template editor 50 — Template footer

Visual references 49–50 — approved visual direction for this section. The written requirements above prevail over labels, sample data, or prices shown in the images. See Admin Screens

Follows all Gallery rules in Navigation & Main Screens: metadata dependencies, upload modal, tagging, permissions, and Trash rules.

  • Apple-style Audit Log with Audit Log/Trash segmented tabs; search; Module, Action, User, Time filters; count; table; View details; pagination.
  • Modules: Estimates, Products & Pricing, Gallery, Roofer Profiles, Company Information, Final Sketch Template, Users & Roles, User Profile & Security. (Estimate/sketch/canvas/SOW activity is normalized under Estimates.)
  • Records estimate price/content edits, catalog changes, gallery actions, roofer changes, company/template changes, invitations/roles/permissions/status, profile/password/signature changes. View Details shows field-level previous/new values. Passwords, hashes, reset links, tokens, secrets are never logged. Audit events are immutable.
  • Version recovery and deletion, Force Unlock, Trash restore and permanent deletion.
  • Trash receives cancelled Drafts, deleted estimates, and deleted versions; auto-purge after 30 days; purge and permanent deletion are auditable.

53 — Audit log

Visual reference 53 — approved visual direction for this section. The written requirements above prevail over labels, sample data, or prices shown in the images. See Admin Screens