尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Quote-and-apply flow for Contractor GL, the contractor-side sibling of the
non-contractor GL/BOP product in GL-Bop. Same NorbieLink design system, same
BTIS marketplace mechanics; the field set comes from the BTIS Contractor GL
flow (afgl-client-staging.btisinc.com).
React 19 + Vite + Tailwind 3.檢視完整 README ↗Quote-and-apply flow for Contractor GL, the contractor-side sibling of the
non-contractor GL/BOP product in GL-Bop. Same NorbieLink design system, same
BTIS marketplace mechanics; the field set comes from the BTIS Contractor GL
flow (afgl-client-staging.btisinc.com).
React 19 + Vite + Tailwind 3.
npm install
npm run dev
| Screen | Progress | What it does |
|---|---|---|
Page Zero (pages/PageZero.jsx) | — | Ten-question quick quote; carrier indications appear live on the right once every answer is in. |
Applicant (pages/ApplicantContact.jsx) | 25% | Rating answers carried from intake, plus who to contact. |
Business Information (pages/ApplicantBusiness.jsx) | 50% | License, legal identity, address, and the class-code split (up to 4 trades, must total 100%). |
Business Operations (pages/BusinessOperations.jsx) | 75% | Exposure figures and the two branching questions (subcontractors, pre-C-of-O residential work). |
Price Indication (pages/PriceIndication.jsx) | 100% | Carrier cards with limits/deductible selectors and admitted status. |
The right rail follows the applicant through every step and mirrors the
GL-BOP layout: progress at the top, the cheapest carrier promoted to a hero
card marked BEST, the rest as a compact list. Editing any answer that
moves the premium blanks the prices to --- and enables Refresh My Quote
— same contract the marketplace flow uses.
components/AppShell.jsx is the chrome: 56px header, 256px white step
sidebar, scrolling content column capped at 760px, and the RightPanel
aside (w-80 2xl:w-96). Field components live in components/FormField.jsx
and come in two scales — size="lg" for the Page Zero landing (54px tall,
12px radius) and the default compact scale for in-app forms (42px tall, 8px
radius).
Field help uses InfoTip: a gradient "i" dot that opens a 340px card on
hover (and on focus, or tap for touch). Content lives in data/fieldHelp.jsx
as { title, body } pairs.
Both placements ship behind a query param so they can be compared on one deployment:
/ — a card tucked into the corner of the Norbie portrait (chosen)/?upload=inline — a quiet row under the primary CTAOnce the corner card is signed off, delete the row and the uploadPlacement
switch in pages/PageZero.jsx.
lib/rating.js is not a rating engine. It produces stable, plausible
numbers so the UI can be demoed, calibrated so the reference test case
returns the same $1,434 / $1,216 that staging does. Swap the module and keep
the rateAll() return shape.data/classCodes.js was transcribed from the live dropdown, which
scrolls — four stretches were not captured and are marked with GAP
comments. Fill them from the carrier's master list.data/carrierTerms.js carries only what staging returned — 1M/2M/2M
and $0. The live flow filters these per carrier; add rows when the API
returns them.brivado, so the
carrier reads "Brivado"; the id stays bravado. Confirm which is correct.GL-Bop but has not been ported here; the dark logo
variants are already in src/assets for when it is.