/* QuoteFlow Prototype · extra admin screens, all reading window.QFStore /
window.QF_CATALOG. Rendered by AdminApp's screen map. */
/* -------- Proposals -------- */
function AdminProposals({ store, onOpen }) {
const { Card, StatusBadge, Avatar, Badge } = window.QuoteFlowDesignSystem_41788d;
const rows = store.getProposals();
const m = store.getMetrics();
const Stat = ({ label, value }) => (
Every proposal you've sent, with live acceptance & deposit status from the customer portal.
| {h} | )}|||||
|---|---|---|---|---|---|
| {l.system} | {gbp(l.proposal.total)} | {gbp(l.proposal.deposit)} |
{l.proposal.payment
? |
{store.fmtDate(l.proposal.sentAt)} |
Customers who've accepted become your installed base — manage service plans, warranties & renewals.
| {h} | )}||||
|---|---|---|---|---|
| onOpen(l.id)}> {l.name} {l.loc} |
{store.servicePlanAnnual(l.servicePlan) ? gbp(store.servicePlanAnnual(l.servicePlan)) + '/yr' : '—'} | onOpen(l.id)}> |
Branded quote journeys you publish to your website. Pricing comes from your shared catalogue.
{t.desc}
White-label your tools and control how the customer journey behaves. These toggles actually change the portal flow in this prototype.
{form.role} · {form.company}
Demo stub — no real message is sent; it's logged below.
{total} new {total === 1 ? 'lead' : 'leads'} in the last {days || 30} days
Drag a card between columns to move a lead through your stages — or click it to open the full record. Changes save instantly.