@kelpie/ui 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/resources/account.d.ts +5 -0
- package/dist/api/resources/account.d.ts.map +1 -1
- package/dist/api/resources/account.js +11 -0
- package/dist/api/resources/account.js.map +1 -1
- package/dist/api/resources/apiKeys.d.ts +15 -0
- package/dist/api/resources/apiKeys.d.ts.map +1 -0
- package/dist/api/resources/apiKeys.js +50 -0
- package/dist/api/resources/apiKeys.js.map +1 -0
- package/dist/api/resources/invites.d.ts +0 -2
- package/dist/api/resources/invites.d.ts.map +1 -1
- package/dist/api/resources/invites.js +5 -10
- package/dist/api/resources/invites.js.map +1 -1
- package/dist/api/resources/session.d.ts +17 -3
- package/dist/api/resources/session.d.ts.map +1 -1
- package/dist/api/resources/session.js +34 -6
- package/dist/api/resources/session.js.map +1 -1
- package/dist/app/KelpieApp.d.ts.map +1 -1
- package/dist/app/KelpieApp.js +5 -1
- package/dist/app/KelpieApp.js.map +1 -1
- package/dist/app/SessionGate.d.ts +6 -2
- package/dist/app/SessionGate.d.ts.map +1 -1
- package/dist/app/SessionGate.js +10 -3
- package/dist/app/SessionGate.js.map +1 -1
- package/dist/components/ActivitiesPanel.d.ts.map +1 -1
- package/dist/components/ActivitiesPanel.js +10 -7
- package/dist/components/ActivitiesPanel.js.map +1 -1
- package/dist/components/ApiKeysPanel.d.ts +20 -0
- package/dist/components/ApiKeysPanel.d.ts.map +1 -0
- package/dist/components/ApiKeysPanel.js +70 -0
- package/dist/components/ApiKeysPanel.js.map +1 -0
- package/dist/components/DecisionsPanel.d.ts.map +1 -1
- package/dist/components/DecisionsPanel.js +3 -1
- package/dist/components/DecisionsPanel.js.map +1 -1
- package/dist/components/NotesPanel.d.ts.map +1 -1
- package/dist/components/NotesPanel.js +3 -1
- package/dist/components/NotesPanel.js.map +1 -1
- package/dist/components/Shell.d.ts.map +1 -1
- package/dist/components/Shell.js +1 -0
- package/dist/components/Shell.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/dates.d.ts +25 -5
- package/dist/lib/dates.d.ts.map +1 -1
- package/dist/lib/dates.js +49 -20
- package/dist/lib/dates.js.map +1 -1
- package/dist/pages/DecisionsPage.d.ts.map +1 -1
- package/dist/pages/DecisionsPage.js +4 -2
- package/dist/pages/DecisionsPage.js.map +1 -1
- package/dist/pages/HiringPage.d.ts.map +1 -1
- package/dist/pages/HiringPage.js +3 -1
- package/dist/pages/HiringPage.js.map +1 -1
- package/dist/pages/PlanningPage.js +1 -1
- package/dist/pages/PlanningPage.js.map +1 -1
- package/dist/pages/account/AccountLayout.d.ts.map +1 -1
- package/dist/pages/account/AccountLayout.js +1 -0
- package/dist/pages/account/AccountLayout.js.map +1 -1
- package/dist/pages/account/PersonalApiKeysPage.d.ts +9 -0
- package/dist/pages/account/PersonalApiKeysPage.d.ts.map +1 -0
- package/dist/pages/account/PersonalApiKeysPage.js +14 -0
- package/dist/pages/account/PersonalApiKeysPage.js.map +1 -0
- package/dist/pages/account/PreferencesPage.js +1 -1
- package/dist/pages/account/PreferencesPage.js.map +1 -1
- package/dist/pages/account/SecurityPage.d.ts.map +1 -1
- package/dist/pages/account/SecurityPage.js +3 -2
- package/dist/pages/account/SecurityPage.js.map +1 -1
- package/dist/pages/admin/ApiKeysPage.d.ts +9 -0
- package/dist/pages/admin/ApiKeysPage.d.ts.map +1 -0
- package/dist/pages/admin/ApiKeysPage.js +20 -0
- package/dist/pages/admin/ApiKeysPage.js.map +1 -0
- package/dist/pages/admin/McpPage.d.ts.map +1 -1
- package/dist/pages/admin/McpPage.js +6 -3
- package/dist/pages/admin/McpPage.js.map +1 -1
- package/dist/pages/admin/WebhookDeliveries.d.ts.map +1 -1
- package/dist/pages/admin/WebhookDeliveries.js +4 -2
- package/dist/pages/admin/WebhookDeliveries.js.map +1 -1
- package/dist/pages/admin/WebhooksPage.d.ts.map +1 -1
- package/dist/pages/admin/WebhooksPage.js +5 -3
- package/dist/pages/admin/WebhooksPage.js.map +1 -1
- package/dist/pages/auth/ForgotPasswordPage.js +2 -2
- package/dist/pages/auth/ForgotPasswordPage.js.map +1 -1
- package/dist/pages/auth/SignUpPage.d.ts +5 -3
- package/dist/pages/auth/SignUpPage.d.ts.map +1 -1
- package/dist/pages/auth/SignUpPage.js +12 -6
- package/dist/pages/auth/SignUpPage.js.map +1 -1
- package/dist/pages/auth/VerifyEmailConfirmPage.d.ts +9 -0
- package/dist/pages/auth/VerifyEmailConfirmPage.d.ts.map +1 -0
- package/dist/pages/auth/VerifyEmailConfirmPage.js +58 -0
- package/dist/pages/auth/VerifyEmailConfirmPage.js.map +1 -0
- package/dist/pages/auth/VerifyEmailPendingPage.d.ts +10 -0
- package/dist/pages/auth/VerifyEmailPendingPage.d.ts.map +1 -0
- package/dist/pages/auth/VerifyEmailPendingPage.js +35 -0
- package/dist/pages/auth/VerifyEmailPendingPage.js.map +1 -0
- package/dist/pages/dashboard/DashboardPage.d.ts.map +1 -1
- package/dist/pages/dashboard/DashboardPage.js +6 -4
- package/dist/pages/dashboard/DashboardPage.js.map +1 -1
- package/dist/pages/dashboard/sections.d.ts +6 -3
- package/dist/pages/dashboard/sections.d.ts.map +1 -1
- package/dist/pages/dashboard/sections.js +6 -6
- package/dist/pages/dashboard/sections.js.map +1 -1
- package/dist/pages/forms/SubmissionsTable.d.ts.map +1 -1
- package/dist/pages/forms/SubmissionsTable.js +3 -1
- package/dist/pages/forms/SubmissionsTable.js.map +1 -1
- package/dist/pages/handbook/HandbookPage.d.ts.map +1 -1
- package/dist/pages/handbook/HandbookPage.js +3 -1
- package/dist/pages/handbook/HandbookPage.js.map +1 -1
- package/package.json +2 -2
- package/src/api/resources/account.ts +13 -0
- package/src/api/resources/apiKeys.ts +60 -0
- package/src/api/resources/invites.ts +5 -15
- package/src/api/resources/session.ts +42 -6
- package/src/app/KelpieApp.tsx +11 -2
- package/src/app/SessionGate.tsx +11 -3
- package/src/components/ActivitiesPanel.tsx +15 -4
- package/src/components/ApiKeysPanel.tsx +307 -0
- package/src/components/DecisionsPanel.tsx +5 -2
- package/src/components/NotesPanel.tsx +4 -1
- package/src/components/Shell.tsx +1 -0
- package/src/index.ts +0 -1
- package/src/lib/dates.ts +54 -20
- package/src/pages/DecisionsPage.tsx +6 -2
- package/src/pages/HiringPage.tsx +3 -1
- package/src/pages/PlanningPage.tsx +1 -1
- package/src/pages/account/AccountLayout.tsx +1 -0
- package/src/pages/account/PersonalApiKeysPage.tsx +27 -0
- package/src/pages/account/PreferencesPage.tsx +1 -1
- package/src/pages/account/SecurityPage.tsx +4 -1
- package/src/pages/admin/ApiKeysPage.tsx +43 -0
- package/src/pages/admin/McpPage.tsx +7 -4
- package/src/pages/admin/WebhookDeliveries.tsx +4 -2
- package/src/pages/admin/WebhooksPage.tsx +5 -3
- package/src/pages/auth/ForgotPasswordPage.tsx +2 -2
- package/src/pages/auth/SignUpPage.tsx +12 -6
- package/src/pages/auth/VerifyEmailConfirmPage.tsx +81 -0
- package/src/pages/auth/VerifyEmailPendingPage.tsx +65 -0
- package/src/pages/dashboard/DashboardPage.tsx +14 -4
- package/src/pages/dashboard/sections.tsx +9 -3
- package/src/pages/forms/SubmissionsTable.tsx +3 -1
- package/src/pages/handbook/HandbookPage.tsx +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebhooksPage.js","sourceRoot":"","sources":["../../../src/pages/admin/WebhooksPage.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WebhooksPage.js","sourceRoot":"","sources":["../../../src/pages/admin/WebhooksPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAC3D,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,WAAW,GACZ,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA2B,CAAA;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAiC,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gCAAiC,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAyB,CAAA;AAE3D;;;;;;;;;GASG;AAEH,MAAM,YAAY,GAA8C;IAC9D,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,SAAS;CAClB,CAAA;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,OAAO,GAAG,OAAO,EAAE,IAAI,KAAK,OAAO,IAAI,OAAO,EAAE,IAAI,KAAK,OAAO,CAAA;IAEtE,OAAO,CACL,eAAK,SAAS,EAAC,8CAA8C,aAC3D,KAAC,UAAU,IAAC,KAAK,EAAC,UAAU,EAAC,WAAW,EAAC,2CAA2C,GAAG,EACtF,OAAO,CAAC,CAAC,CAAC,KAAC,YAAY,KAAG,CAAC,CAAC,CAAC,KAAC,YAAY,KAAG,IAC1C,CACP,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY;IACnB,OAAO,CACL,YAAG,SAAS,EAAC,sEAAsE,kKAG/E,CACL,CAAA;AACH,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAA;IACrF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAA;IAEjE,OAAO,CACL,8BACE,KAAC,YAAY,IACX,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE;oBACxB,SAAS,CAAC,OAAO,CAAC,CAAA;gBACpB,CAAC,GACD,EAED,MAAM,KAAK,IAAI,IAAI,CAClB,KAAC,UAAU,IACT,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,GAAG,EAAE;oBACd,SAAS,CAAC,IAAI,CAAC,CAAA;gBACjB,CAAC,GACD,CACH,EAEA,KAAK,KAAK,IAAI,IAAI,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,GAAI,EAE9C,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,YAAY,IAAC,KAAK,EAAC,wBAAmB,GAAG,CAC3C,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACzB,YAAG,SAAS,EAAC,4BAA4B,iCAAqB,CAC/D,CAAC,CAAC,CAAC,CACF,aAAI,SAAS,EAAC,WAAW,YACtB,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACxB,KAAC,UAAU,IAAkB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,IAAlD,OAAO,CAAC,EAAE,CAA4C,CACxE,CAAC,GACC,CACN,EAEA,OAAO,IAAI,CACV,iBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAC,kIAAkI,YAE3I,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,GAClC,CACV,IACA,CACJ,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,YAAY,GAGb;IACC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAClC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA0B,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAEjF,SAAS,MAAM,CAAC,KAAmB;QACjC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YACrB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC;YAC1C,CAAC,CAAC,oEAAoE;gBACpE,wCAAwC;gBACxC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAC9E,CAAA;IACH,CAAC;IAED,SAAS,MAAM,CAAC,SAAoB;QAClC,SAAS,CAAC,cAAc,EAAE,CAAA;QAE1B,aAAa;aACV,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC;aACrC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,MAAM,CAAC,EAAE,CAAC,CAAA;YACV,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAA;YAC7B,YAAY,CAAC,OAAO,CAAC,CAAA;QACvB,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,CACL,gBAAM,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAC,+CAA+C,aAC/E,iBAAO,SAAS,EAAC,OAAO,aACtB,eAAM,SAAS,EAAC,+CAA+C,6BAAoB,EACnF,gBACE,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;4BAClB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;wBAC5B,CAAC,EACD,QAAQ,QACR,WAAW,EAAC,qCAAqC,EACjD,SAAS,EAAC,sJAAsJ,GAChK,IACI,EAER,0BACE,eAAM,SAAS,EAAC,+CAA+C,uBAAc,EAC7E,cAAK,SAAS,EAAC,sBAAsB,YAClC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC7B,iBAEE,SAAS,EAAE;gCACT,+EAA+E;gCAC/E,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;oCACpB,CAAC,CAAC,gDAAgD;oCAClD,CAAC,CAAC,yDAAyD;6BAC9D,CAAC,IAAI,CAAC,GAAG,CAAC,aAEX,gBACE,IAAI,EAAC,UAAU,EACf,SAAS,EAAC,SAAS,EACnB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC/B,QAAQ,EAAE,GAAG,EAAE;wCACb,MAAM,CAAC,KAAK,CAAC,CAAA;oCACf,CAAC,GACD,EACD,KAAK,KAhBD,KAAK,CAiBJ,CACT,CAAC,GACE,IACF,EAEL,aAAa,CAAC,KAAK,KAAK,IAAI,IAAI,KAAC,UAAU,IAAC,KAAK,EAAE,aAAa,CAAC,KAAK,GAAI,EAE3E,iBACE,IAAI,EAAC,QAAQ;gBACb,uEAAuE;gBACvE,wCAAwC;gBACxC,QAAQ,EAAE,aAAa,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EACxD,SAAS,EAAC,gIAAgI,YAEzI,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,GAC7C,IACJ,CACR,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,EAClB,OAAO,EACP,SAAS,GAIV;IACC,OAAO,CACL,eAAK,SAAS,EAAC,6DAA6D,aAC1E,YAAG,SAAS,EAAC,kCAAkC,qEAE3C,EACJ,aAAG,SAAS,EAAC,iCAAiC,uCACtB,eAAM,SAAS,EAAC,WAAW,gDAAkC,qEAEjF,EACJ,eAAM,SAAS,EAAC,uGAAuG,YACpH,OAAO,CAAC,MAAM,GACV,EACP,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,SAAS,EAClB,SAAS,EAAC,0DAA0D,iCAG7D,IACL,CACP,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,OAAO,EACP,SAAS,GAIV;IACC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAA;IAC7C,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrE,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAA;IAEhF,OAAO,CACL,cAAI,SAAS,EAAC,qCAAqC,aACjD,eAAK,SAAS,EAAC,kDAAkD,aAC/D,eAAK,SAAS,EAAC,SAAS,aACtB,eAAM,SAAS,EAAC,0CAA0C,YAAE,OAAO,CAAC,GAAG,GAAQ,EAC/E,cAAK,SAAS,EAAC,6BAA6B,YACzC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC7B,KAAC,IAAI,cAAc,KAAK,IAAb,KAAK,CAAgB,CACjC,CAAC,GACE,IACF,EACN,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,IAAI,IAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAQ,EACxF,iBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,aAAa,CAAC,SAAS,EACjC,OAAO,EAAE,GAAG,EAAE;oCACZ,aAAa,CAAC,GAAG,CAAC;wCAChB,EAAE,EAAE,OAAO,CAAC,EAAE;wCACd,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;qCACvE,CAAC,CAAA;gCACJ,CAAC,EACD,SAAS,EAAC,2EAA2E,YAEpF,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,GAC1C,EACR,mBAAmB,CAAC,CAAC,CAAC,CACrB,8BACE,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;4CACZ,sBAAsB,CAAC,KAAK,CAAC,CAAA;wCAC/B,CAAC,EACD,SAAS,EAAC,uDAAuD,uBAG1D,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,aAAa,CAAC,SAAS,EACjC,OAAO,EAAE,GAAG,EAAE;4CACZ,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;wCAC/B,CAAC,EACD,SAAS,EAAC,2HAA2H,YAEpI,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,GAC1C,IACR,CACJ,CAAC,CAAC,CAAC,CACF,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;oCACZ,sBAAsB,CAAC,IAAI,CAAC,CAAA;gCAC9B,CAAC,EACD,SAAS,EAAC,qDAAqD,uBAGxD,CACV,IACG,IACF,EAEN,eAAK,SAAS,EAAC,mEAAmE,aAChF,gBAAM,SAAS,EAAC,WAAW,wBAAS,OAAO,CAAC,YAAY,IAAQ,EAChE,8CAAsB,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAQ,EACrE,iBACE,IAAI,EAAC,QAAQ,mBACE,mBAAmB,EAClC,OAAO,EAAE,GAAG,EAAE;4BACZ,sBAAsB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;wBAC/C,CAAC,EACD,SAAS,EAAC,yCAAyC,YAElD,mBAAmB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,GAChD,EACT,iBACE,IAAI,EAAC,QAAQ,mBACE,UAAU,EACzB,OAAO,EAAE,GAAG,EAAE;4BACZ,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;wBACtC,CAAC,EACD,SAAS,EAAC,yCAAyC,YAElD,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,GAC1C,IACL,EAEL,UAAU,IAAI,CACb,KAAC,WAAW,IACV,SAAS,EAAE,YAAY,CAAC,SAAS,EACjC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;oBACpB,YAAY;yBACT,QAAQ,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;yBACrC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;wBAChB,aAAa,CAAC,KAAK,CAAC,CAAA;wBACpB,SAAS,CAAC,OAAO,CAAC,CAAA;oBACpB,CAAC,CAAC;yBACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;gBAC3B,CAAC,GACD,CACH,EAGA,mBAAmB,IAAI,CACtB,cAAK,SAAS,EAAC,kCAAkC,YAC/C,KAAC,iBAAiB,IAAC,SAAS,EAAE,OAAO,CAAC,EAAE,GAAI,GACxC,CACP,EAEA,OAAO,KAAK,IAAI,IAAI,CACnB,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,UAAU,IAAC,KAAK,EAAE,OAAO,GAAI,GAC1B,CACP,IACE,CACN,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,WAAW,CAAC,EACnB,SAAS,EACT,QAAQ,GAIT;IACC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE7C,OAAO,CACL,eAAK,SAAS,EAAC,4DAA4D,aACzE,YAAG,SAAS,EAAC,kCAAkC,2CAA+B,EAC9E,YAAG,SAAS,EAAC,iCAAiC,yGAE1C,EAEJ,iBAAO,SAAS,EAAC,4CAA4C,aAC3D,gBACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;4BAClB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;wBAClC,CAAC,EACD,SAAS,EAAC,QAAQ,GAClB,EACF,gBAAM,SAAS,EAAC,4BAA4B,aAC1C,gBAAM,SAAS,EAAC,sBAAsB,mDACD,4BAA4B,cAC1D,EACP,cAAM,kOAID,IACD,EAER,iBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE,GAAG,EAAE;oBACZ,QAAQ,CAAC,OAAO,CAAC,CAAA;gBACnB,CAAC,EACD,SAAS,EAAC,qIAAqI,YAE9I,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,GACnC,IACL,CACP,CAAA;AACH,CAAC;AAED,sEAAsE;AACtE,SAAS,oBAAoB,CAAC,OAAgB,EAAE,QAAgB;IAC9D,IAAI,OAAO,CAAC,cAAc,KAAK,IAAI,IAAI,OAAO,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;QAC3E,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,KAAK,OAAO,CAAC,kBAAkB,GAAG,CAAA;AAC9F,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { Link } from 'react-router';
|
|
4
|
-
import {
|
|
4
|
+
import { useRequestPasswordReset } from '../../api/resources/session.js';
|
|
5
5
|
import { ErrorPanel } from '../../components/QueryState.js';
|
|
6
6
|
import { SubmitButton, TextField } from './AuthForm.js';
|
|
7
7
|
import { AuthLayout } from './AuthLayout.js';
|
|
@@ -24,7 +24,7 @@ export function ForgotPasswordPage() {
|
|
|
24
24
|
event.preventDefault();
|
|
25
25
|
const address = email.trim();
|
|
26
26
|
request
|
|
27
|
-
.runAsync({ email: address
|
|
27
|
+
.runAsync({ email: address })
|
|
28
28
|
.then(() => {
|
|
29
29
|
setSentTo(address);
|
|
30
30
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForgotPasswordPage.js","sourceRoot":"","sources":["../../../src/pages/auth/ForgotPasswordPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAEnC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ForgotPasswordPage.js","sourceRoot":"","sources":["../../../src/pages/auth/ForgotPasswordPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAEnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAiC,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAgB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAkB,CAAA;AAE7C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAA;IACzC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IACtC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAEzD,SAAS,MAAM,CAAC,KAAgB;QAC9B,KAAK,CAAC,cAAc,EAAE,CAAA;QAEtB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;QAE5B,OAAO;aACJ,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;aAC5B,IAAI,CAAC,GAAG,EAAE;YACT,SAAS,CAAC,OAAO,CAAC,CAAA;QACpB,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IAC3B,CAAC;IAED,MAAM,YAAY,GAAG,CACnB,KAAC,IAAI,IAAC,EAAE,EAAC,QAAQ,EAAC,SAAS,EAAC,yCAAyC,gCAE9D,CACR,CAAA;IAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,CACL,KAAC,UAAU,IAAC,KAAK,EAAC,kBAAkB,EAAC,MAAM,EAAE,YAAY,YACvD,aAAG,SAAS,EAAC,iCAAiC,0CACnB,eAAM,SAAS,EAAC,sBAAsB,YAAE,MAAM,GAAQ,uEAE7E,GACO,CACd,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,UAAU,IACT,KAAK,EAAC,gBAAgB,EACtB,WAAW,EAAC,+CAA+C,EAC3D,MAAM,EAAE,YAAY,YAEpB,gBAAM,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAC,gBAAgB,aAChD,KAAC,SAAS,IACR,KAAK,EAAC,OAAO,EACb,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAC,OAAO,EACpB,QAAQ,SACR,EACD,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,KAAC,UAAU,IAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAI,EAC/D,KAAC,YAAY,IACX,KAAK,EAAC,iBAAiB,EACvB,YAAY,EAAC,eAAU,EACvB,SAAS,EAAE,OAAO,CAAC,SAAS,GAC5B,IACG,GACI,CACd,CAAA;AACH,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Creating an account, against `POST /v1/auth/signup`.
|
|
3
3
|
*
|
|
4
|
-
* Signup makes the user and nothing else, per `onboarding.md`, so success
|
|
5
|
-
* on the
|
|
6
|
-
*
|
|
4
|
+
* Signup makes the user and nothing else, per `onboarding.md`, so success
|
|
5
|
+
* lands on the email-verification screen rather than in the app or the first
|
|
6
|
+
* onboarding step: the account cannot create a workspace until it verifies.
|
|
7
|
+
* The response sets the session cookie, which is why that next page can
|
|
8
|
+
* already act as the signed-in account.
|
|
7
9
|
*
|
|
8
10
|
* The mockup collected this into `sessionStorage` and committed the lot at the
|
|
9
11
|
* end of the wizard. Here each step commits as it is finished: a draft account
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignUpPage.d.ts","sourceRoot":"","sources":["../../../src/pages/auth/SignUpPage.tsx"],"names":[],"mappings":"AAUA
|
|
1
|
+
{"version":3,"file":"SignUpPage.d.ts","sourceRoot":"","sources":["../../../src/pages/auth/SignUpPage.tsx"],"names":[],"mappings":"AAUA;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CA2E9C"}
|
|
@@ -9,9 +9,11 @@ import { AuthLayout } from './AuthLayout.js';
|
|
|
9
9
|
/**
|
|
10
10
|
* Creating an account, against `POST /v1/auth/signup`.
|
|
11
11
|
*
|
|
12
|
-
* Signup makes the user and nothing else, per `onboarding.md`, so success
|
|
13
|
-
* on the
|
|
14
|
-
*
|
|
12
|
+
* Signup makes the user and nothing else, per `onboarding.md`, so success
|
|
13
|
+
* lands on the email-verification screen rather than in the app or the first
|
|
14
|
+
* onboarding step: the account cannot create a workspace until it verifies.
|
|
15
|
+
* The response sets the session cookie, which is why that next page can
|
|
16
|
+
* already act as the signed-in account.
|
|
15
17
|
*
|
|
16
18
|
* The mockup collected this into `sessionStorage` and committed the lot at the
|
|
17
19
|
* end of the wizard. Here each step commits as it is finished: a draft account
|
|
@@ -34,10 +36,14 @@ export function SignUpPage() {
|
|
|
34
36
|
}
|
|
35
37
|
setLocalError(null);
|
|
36
38
|
signUp
|
|
37
|
-
.runAsync({
|
|
38
|
-
.
|
|
39
|
+
.runAsync({
|
|
40
|
+
name: name.trim(),
|
|
41
|
+
email: email.trim(),
|
|
42
|
+
password,
|
|
43
|
+
})
|
|
44
|
+
.then(() => navigate('/verify-email/pending', { replace: true }))
|
|
39
45
|
.catch(() => undefined);
|
|
40
46
|
}
|
|
41
|
-
return (_jsx(AuthLayout, { title: "Create account", description: "Next you will create a workspace for your company.", footer: _jsxs("span", { className: "text-ink-muted", children: ["Already have an account?", ' ', _jsx(Link, { to: "/login", className: "font-medium text-accent hover:underline", children: "Sign in" })] }), children: _jsxs("form", { onSubmit: submit, className: "mt-5 space-y-3", children: [_jsx(TextField, { label: "Your name", value: name, onChange: setName, autoComplete: "name", required: true }), _jsx(TextField, { label: "Email", type: "email", value: email, onChange: setEmail, autoComplete: "email", required: true }), _jsx(TextField, { label: "Password", type: "password", value: password, onChange: setPassword, autoComplete: "new-password", hint: `At least ${String(MINIMUM_PASSWORD_LENGTH)} characters.`, required: true }), localError !== null && _jsx("p", { className: "text-[12px] text-danger", children: localError }), signUp.error !== null && _jsx(ErrorPanel, { error: signUp.error }), _jsx(SubmitButton, { label: "Continue", pendingLabel: "Creating\u2026", isPending: signUp.isPending })] }) }));
|
|
47
|
+
return (_jsx(AuthLayout, { title: "Create account", description: "Next you will verify your email, then create a workspace for your company.", footer: _jsxs("span", { className: "text-ink-muted", children: ["Already have an account?", ' ', _jsx(Link, { to: "/login", className: "font-medium text-accent hover:underline", children: "Sign in" })] }), children: _jsxs("form", { onSubmit: submit, className: "mt-5 space-y-3", children: [_jsx(TextField, { label: "Your name", value: name, onChange: setName, autoComplete: "name", required: true }), _jsx(TextField, { label: "Email", type: "email", value: email, onChange: setEmail, autoComplete: "email", required: true }), _jsx(TextField, { label: "Password", type: "password", value: password, onChange: setPassword, autoComplete: "new-password", hint: `At least ${String(MINIMUM_PASSWORD_LENGTH)} characters.`, required: true }), localError !== null && _jsx("p", { className: "text-[12px] text-danger", children: localError }), signUp.error !== null && _jsx(ErrorPanel, { error: signUp.error }), _jsx(SubmitButton, { label: "Continue", pendingLabel: "Creating\u2026", isPending: signUp.isPending })] }) }));
|
|
42
48
|
}
|
|
43
49
|
//# sourceMappingURL=SignUpPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignUpPage.js","sourceRoot":"","sources":["../../../src/pages/auth/SignUpPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAiC,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAgB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAkB,CAAA;AAE7C
|
|
1
|
+
{"version":3,"file":"SignUpPage.js","sourceRoot":"","sources":["../../../src/pages/auth/SignUpPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a verification email lands: `/verify-email?token=…`.
|
|
3
|
+
*
|
|
4
|
+
* Spent automatically on load, unlike accepting an invitation: confirming
|
|
5
|
+
* only flips whether the account is verified. There is no workspace
|
|
6
|
+
* membership or other side effect a confirmation button would be guarding.
|
|
7
|
+
*/
|
|
8
|
+
export declare function VerifyEmailConfirmPage(): React.JSX.Element;
|
|
9
|
+
//# sourceMappingURL=VerifyEmailConfirmPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VerifyEmailConfirmPage.d.ts","sourceRoot":"","sources":["../../../src/pages/auth/VerifyEmailConfirmPage.tsx"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAkE1D"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from 'react';
|
|
3
|
+
import { Navigate, useSearchParams } from 'react-router';
|
|
4
|
+
import { useConfirmEmailVerification, useSession } from '../../api/resources/session.js';
|
|
5
|
+
import { ErrorPanel, LoadingPanel } from '../../components/QueryState.js';
|
|
6
|
+
import { AuthLayout } from './AuthLayout.js';
|
|
7
|
+
/**
|
|
8
|
+
* Where a verification email lands: `/verify-email?token=…`.
|
|
9
|
+
*
|
|
10
|
+
* Spent automatically on load, unlike accepting an invitation: confirming
|
|
11
|
+
* only flips whether the account is verified. There is no workspace
|
|
12
|
+
* membership or other side effect a confirmation button would be guarding.
|
|
13
|
+
*/
|
|
14
|
+
export function VerifyEmailConfirmPage() {
|
|
15
|
+
const [searchParameters] = useSearchParams();
|
|
16
|
+
const token = searchParameters.get('token') ?? '';
|
|
17
|
+
const confirm = useConfirmEmailVerification();
|
|
18
|
+
// `confirm` is a fresh object every render, so the effect below reads it
|
|
19
|
+
// through a ref rather than depending on it: depending on it would spend
|
|
20
|
+
// the token again on every render instead of once per token.
|
|
21
|
+
const confirmRef = useRef(confirm);
|
|
22
|
+
confirmRef.current = confirm;
|
|
23
|
+
const { isLoading, isSignedOut, needsWorkspace } = useSession();
|
|
24
|
+
const [succeeded, setSucceeded] = useState(false);
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
if (token.length === 0) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
// Guards a state update after the token was already spent by an earlier
|
|
30
|
+
// mount of this effect, not a retry: the request itself only ever fires
|
|
31
|
+
// once per token, since `token` is the only dependency.
|
|
32
|
+
let active = true;
|
|
33
|
+
confirmRef.current
|
|
34
|
+
.runAsync({ token })
|
|
35
|
+
.then(() => {
|
|
36
|
+
if (active) {
|
|
37
|
+
setSucceeded(true);
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
.catch(() => undefined);
|
|
41
|
+
return () => {
|
|
42
|
+
active = false;
|
|
43
|
+
};
|
|
44
|
+
}, [token]);
|
|
45
|
+
if (token.length === 0) {
|
|
46
|
+
return (_jsx(AuthLayout, { title: "This link is incomplete", children: _jsx("p", { className: "mt-4 text-[13px] text-ink-muted", children: "It carries no verification token." }) }));
|
|
47
|
+
}
|
|
48
|
+
if (confirm.error !== null) {
|
|
49
|
+
return (_jsx(AuthLayout, { title: "This link is invalid or has expired", children: _jsx("div", { className: "mt-4", children: _jsx(ErrorPanel, { error: confirm.error }) }) }));
|
|
50
|
+
}
|
|
51
|
+
if (!succeeded || isLoading) {
|
|
52
|
+
return _jsx(LoadingPanel, {});
|
|
53
|
+
}
|
|
54
|
+
// Confirmed. A signed-in caller moves on; `SessionGate` and the onboarding
|
|
55
|
+
// routes take it from there. A signed-out one goes to sign in.
|
|
56
|
+
return (_jsx(Navigate, { to: isSignedOut ? '/login' : needsWorkspace ? '/onboarding/workspace' : '/dashboard', replace: true }));
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=VerifyEmailConfirmPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VerifyEmailConfirmPage.js","sourceRoot":"","sources":["../../../src/pages/auth/VerifyEmailConfirmPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAExD,OAAO,EAAE,2BAA2B,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AACxF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gCAAiC,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAkB,CAAA;AAE7C;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,CAAC,gBAAgB,CAAC,GAAG,eAAe,EAAE,CAAA;IAC5C,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IACjD,MAAM,OAAO,GAAG,2BAA2B,EAAE,CAAA;IAC7C,yEAAyE;IACzE,yEAAyE;IACzE,6DAA6D;IAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAClC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAA;IAC5B,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,CAAA;IAC/D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAM;QACR,CAAC;QAED,wEAAwE;QACxE,wEAAwE;QACxE,wDAAwD;QACxD,IAAI,MAAM,GAAG,IAAI,CAAA;QAEjB,UAAU,CAAC,OAAO;aACf,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;aACnB,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,CAAC,IAAI,CAAC,CAAA;YACpB,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAEzB,OAAO,GAAG,EAAE;YACV,MAAM,GAAG,KAAK,CAAA;QAChB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CACL,KAAC,UAAU,IAAC,KAAK,EAAC,yBAAyB,YACzC,YAAG,SAAS,EAAC,iCAAiC,kDAAsC,GACzE,CACd,CAAA;IACH,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,CACL,KAAC,UAAU,IAAC,KAAK,EAAC,qCAAqC,YACrD,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,UAAU,IAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAI,GAChC,GACK,CACd,CAAA;IACH,CAAC;IAED,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;QAC5B,OAAO,KAAC,YAAY,KAAG,CAAA;IACzB,CAAC;IAED,2EAA2E;IAC3E,+DAA+D;IAC/D,OAAO,CACL,KAAC,QAAQ,IACP,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,YAAY,EACpF,OAAO,SACP,CACH,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where `SessionGate` sends a signed-in account with no workspace and an
|
|
3
|
+
* unverified email, and where `SignUpPage` navigates straight after signup.
|
|
4
|
+
*
|
|
5
|
+
* There is nothing to submit here: the account already exists, and the first
|
|
6
|
+
* verification link already went out with `POST /v1/auth/signup`. The only
|
|
7
|
+
* actions from this screen are asking for a fresh link and signing out.
|
|
8
|
+
*/
|
|
9
|
+
export declare function VerifyEmailPendingPage(): React.JSX.Element;
|
|
10
|
+
//# sourceMappingURL=VerifyEmailPendingPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VerifyEmailPendingPage.d.ts","sourceRoot":"","sources":["../../../src/pages/auth/VerifyEmailPendingPage.tsx"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAiD1D"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Navigate } from 'react-router';
|
|
4
|
+
import { useLogOut, useRequestEmailVerification, useSession } from '../../api/resources/session.js';
|
|
5
|
+
import { ErrorPanel } from '../../components/QueryState.js';
|
|
6
|
+
import { AuthLayout } from './AuthLayout.js';
|
|
7
|
+
/**
|
|
8
|
+
* Where `SessionGate` sends a signed-in account with no workspace and an
|
|
9
|
+
* unverified email, and where `SignUpPage` navigates straight after signup.
|
|
10
|
+
*
|
|
11
|
+
* There is nothing to submit here: the account already exists, and the first
|
|
12
|
+
* verification link already went out with `POST /v1/auth/signup`. The only
|
|
13
|
+
* actions from this screen are asking for a fresh link and signing out.
|
|
14
|
+
*/
|
|
15
|
+
export function VerifyEmailPendingPage() {
|
|
16
|
+
const { isSignedOut } = useSession();
|
|
17
|
+
const requestVerification = useRequestEmailVerification();
|
|
18
|
+
const logOut = useLogOut();
|
|
19
|
+
const [resent, setResent] = useState(false);
|
|
20
|
+
if (isSignedOut) {
|
|
21
|
+
return _jsx(Navigate, { to: "/login", replace: true });
|
|
22
|
+
}
|
|
23
|
+
function resend() {
|
|
24
|
+
requestVerification
|
|
25
|
+
.runAsync()
|
|
26
|
+
.then(() => {
|
|
27
|
+
setResent(true);
|
|
28
|
+
})
|
|
29
|
+
.catch(() => undefined);
|
|
30
|
+
}
|
|
31
|
+
return (_jsx(AuthLayout, { title: "Check your email", description: "Click the link we sent to finish setting up your account.", footer: _jsx("button", { type: "button", onClick: () => {
|
|
32
|
+
logOut.runAsync().catch(() => undefined);
|
|
33
|
+
}, className: "font-medium text-accent hover:underline", children: "Sign out" }), children: _jsxs("div", { className: "mt-5 space-y-3", children: [resent && _jsx("p", { className: "text-[12px] text-ink-muted", children: "A new link is on its way." }), requestVerification.error !== null && _jsx(ErrorPanel, { error: requestVerification.error }), _jsx("button", { type: "button", disabled: requestVerification.isPending, onClick: resend, className: "w-full rounded-md bg-accent px-3.5 py-2 text-[12px] font-semibold text-accent-fg transition hover:bg-accent-hover disabled:opacity-50", children: requestVerification.isPending ? 'Sending…' : 'Resend link' })] }) }));
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=VerifyEmailPendingPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VerifyEmailPendingPage.js","sourceRoot":"","sources":["../../../src/pages/auth/VerifyEmailPendingPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAiC,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAkB,CAAA;AAE7C;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,CAAA;IACpC,MAAM,mBAAmB,GAAG,2BAA2B,EAAE,CAAA;IACzD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE3C,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,KAAC,QAAQ,IAAC,EAAE,EAAC,QAAQ,EAAC,OAAO,SAAG,CAAA;IACzC,CAAC;IAED,SAAS,MAAM;QACb,mBAAmB;aAChB,QAAQ,EAAE;aACV,IAAI,CAAC,GAAG,EAAE;YACT,SAAS,CAAC,IAAI,CAAC,CAAA;QACjB,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,CACL,KAAC,UAAU,IACT,KAAK,EAAC,kBAAkB,EACxB,WAAW,EAAC,2DAA2D,EACvE,MAAM,EACJ,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YAC1C,CAAC,EACD,SAAS,EAAC,yCAAyC,yBAG5C,YAGX,eAAK,SAAS,EAAC,gBAAgB,aAC5B,MAAM,IAAI,YAAG,SAAS,EAAC,4BAA4B,0CAA8B,EACjF,mBAAmB,CAAC,KAAK,KAAK,IAAI,IAAI,KAAC,UAAU,IAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,GAAI,EACvF,iBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,mBAAmB,CAAC,SAAS,EACvC,OAAO,EAAE,MAAM,EACf,SAAS,EAAC,uIAAuI,YAEhJ,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,GACpD,IACL,GACK,CACd,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardPage.d.ts","sourceRoot":"","sources":["../../../src/pages/dashboard/DashboardPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DashboardPage.d.ts","sourceRoot":"","sources":["../../../src/pages/dashboard/DashboardPage.tsx"],"names":[],"mappings":"AA+BA,wBAAgB,aAAa,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAwBjD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useTimezone } from '../../api/resources/account.js';
|
|
2
3
|
import { useDashboard } from '../../api/resources/dashboard.js';
|
|
3
4
|
import { useMembers } from '../../api/resources/members.js';
|
|
4
5
|
import { useWorkspace } from '../../api/resources/workspace.js';
|
|
@@ -17,7 +18,7 @@ import { ActivityFeed, AttentionList, DecisionsList, NotesList } from './section
|
|
|
17
18
|
*/
|
|
18
19
|
/** The heading date, written in the workspace's own day rather than the browser's. */
|
|
19
20
|
function briefHeading(dashboard) {
|
|
20
|
-
return new Intl.DateTimeFormat(
|
|
21
|
+
return new Intl.DateTimeFormat(undefined, {
|
|
21
22
|
weekday: 'long',
|
|
22
23
|
month: 'short',
|
|
23
24
|
day: 'numeric',
|
|
@@ -28,13 +29,14 @@ export function DashboardPage() {
|
|
|
28
29
|
const { dashboard, isLoading, error } = useDashboard();
|
|
29
30
|
const { workspace } = useWorkspace();
|
|
30
31
|
const { nameById } = useMembers();
|
|
31
|
-
|
|
32
|
+
const timezone = useTimezone();
|
|
33
|
+
return (_jsxs("div", { className: "animate-fade-in", children: [_jsx(PageHeader, { title: "Dashboard", description: "What needs attention across this workspace." }), error !== null && _jsx(ErrorPanel, { error: error }), isLoading && _jsx(LoadingPanel, { label: "Loading the workspace\u2026" }), dashboard !== undefined && (_jsx(DashboardBody, { dashboard: dashboard, workspaceId: workspace?.id, workspaceName: workspace?.name ?? 'This workspace', nameById: nameById, timezone: timezone }))] }));
|
|
32
34
|
}
|
|
33
|
-
function DashboardBody({ dashboard, workspaceId, workspaceName, nameById, }) {
|
|
35
|
+
function DashboardBody({ dashboard, workspaceId, workspaceName, nameById, timezone, }) {
|
|
34
36
|
// `generatedAt` rather than a fresh `new Date()`: every relative time on the
|
|
35
37
|
// page is then measured from the same instant the counts were, so a tab left
|
|
36
38
|
// open does not creep towards "2 hours ago" on rows that never moved.
|
|
37
39
|
const now = dashboard.generatedAt;
|
|
38
|
-
return (_jsxs("div", { children: [_jsxs("section", { className: "mb-8 border-b border-border pb-6", children: [_jsxs("div", { className: "flex flex-wrap items-start justify-between gap-3", children: [_jsxs("div", { children: [_jsx("p", { className: "text-[11px] text-ink-faint", children: "Daily brief" }), _jsxs("h2", { className: "mt-0.5 text-[15px] font-semibold tracking-tight text-ink", children: [workspaceName, " \u00B7 ", briefHeading(dashboard)] }), _jsx("p", { className: "mt-1 text-[12px] text-ink-muted", children: "Assembled from overdue Plans, partnership touchpoints, and contacts going cold." })] }), workspaceId !== undefined && (_jsx(AgentTasks, { targetType: "workspace", targetId: workspaceId, targetLabel: workspaceName }))] }), _jsx("ul", { className: "mt-4 space-y-1.5", children: briefLines(dashboard).map((line) => (_jsxs("li", { className: "flex gap-2 text-[13px] leading-relaxed text-ink", children: [_jsx("span", { className: "mt-[9px] h-1 w-1 shrink-0 rounded-full bg-accent" }), _jsx("span", { children: line })] }, line))) })] }), _jsxs("div", { className: "mb-8 grid gap-8 lg:grid-cols-2", children: [_jsx(AttentionList, { rows: attentionRows(dashboard) }), _jsx(ActivityFeed, { activities: dashboard.recentActivity, nameById: nameById, now: now })] }), _jsxs("div", { className: "grid gap-8 lg:grid-cols-2", children: [_jsx(NotesList, { notes: dashboard.recentNotes, nameById: nameById, now: now }), _jsx(DecisionsList, { decisions: dashboard.recentDecisions, nameById: nameById })] })] }));
|
|
40
|
+
return (_jsxs("div", { children: [_jsxs("section", { className: "mb-8 border-b border-border pb-6", children: [_jsxs("div", { className: "flex flex-wrap items-start justify-between gap-3", children: [_jsxs("div", { children: [_jsx("p", { className: "text-[11px] text-ink-faint", children: "Daily brief" }), _jsxs("h2", { className: "mt-0.5 text-[15px] font-semibold tracking-tight text-ink", children: [workspaceName, " \u00B7 ", briefHeading(dashboard)] }), _jsx("p", { className: "mt-1 text-[12px] text-ink-muted", children: "Assembled from overdue Plans, partnership touchpoints, and contacts going cold." })] }), workspaceId !== undefined && (_jsx(AgentTasks, { targetType: "workspace", targetId: workspaceId, targetLabel: workspaceName }))] }), _jsx("ul", { className: "mt-4 space-y-1.5", children: briefLines(dashboard).map((line) => (_jsxs("li", { className: "flex gap-2 text-[13px] leading-relaxed text-ink", children: [_jsx("span", { className: "mt-[9px] h-1 w-1 shrink-0 rounded-full bg-accent" }), _jsx("span", { children: line })] }, line))) })] }), _jsxs("div", { className: "mb-8 grid gap-8 lg:grid-cols-2", children: [_jsx(AttentionList, { rows: attentionRows(dashboard) }), _jsx(ActivityFeed, { activities: dashboard.recentActivity, nameById: nameById, now: now, timezone: timezone })] }), _jsxs("div", { className: "grid gap-8 lg:grid-cols-2", children: [_jsx(NotesList, { notes: dashboard.recentNotes, nameById: nameById, now: now, timezone: timezone }), _jsx(DecisionsList, { decisions: dashboard.recentDecisions, nameById: nameById, timezone: timezone })] })] }));
|
|
39
41
|
}
|
|
40
42
|
//# sourceMappingURL=DashboardPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardPage.js","sourceRoot":"","sources":["../../../src/pages/dashboard/DashboardPage.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAiC,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAiC,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gCAAiC,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAgB,CAAA;AAEtF;;;;;;;GAOG;AAEH,sFAAsF;AACtF,SAAS,YAAY,CAAC,SAAoB;IACxC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"DashboardPage.js","sourceRoot":"","sources":["../../../src/pages/dashboard/DashboardPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,18 +3,21 @@ import type { AttentionRow } from './attention.ts';
|
|
|
3
3
|
export declare function AttentionList({ rows }: {
|
|
4
4
|
readonly rows: readonly AttentionRow[];
|
|
5
5
|
}): React.JSX.Element;
|
|
6
|
-
export declare function ActivityFeed({ activities, nameById, now, }: {
|
|
6
|
+
export declare function ActivityFeed({ activities, nameById, now, timezone, }: {
|
|
7
7
|
readonly activities: readonly DashboardActivity[];
|
|
8
8
|
readonly nameById: ReadonlyMap<string, string>;
|
|
9
9
|
readonly now: Date;
|
|
10
|
+
readonly timezone: string;
|
|
10
11
|
}): React.JSX.Element;
|
|
11
|
-
export declare function NotesList({ notes, nameById, now, }: {
|
|
12
|
+
export declare function NotesList({ notes, nameById, now, timezone, }: {
|
|
12
13
|
readonly notes: readonly DashboardNote[];
|
|
13
14
|
readonly nameById: ReadonlyMap<string, string>;
|
|
14
15
|
readonly now: Date;
|
|
16
|
+
readonly timezone: string;
|
|
15
17
|
}): React.JSX.Element;
|
|
16
|
-
export declare function DecisionsList({ decisions, nameById, }: {
|
|
18
|
+
export declare function DecisionsList({ decisions, nameById, timezone, }: {
|
|
17
19
|
readonly decisions: readonly DashboardDecision[];
|
|
18
20
|
readonly nameById: ReadonlyMap<string, string>;
|
|
21
|
+
readonly timezone: string;
|
|
19
22
|
}): React.JSX.Element;
|
|
20
23
|
//# sourceMappingURL=sections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../../../src/pages/dashboard/sections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EAEd,MAAM,iBAAiB,CAAA;AAQxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAyDlD,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,YAAY,EAAE,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA+BrG;AAED,wBAAgB,YAAY,CAAC,EAC3B,UAAU,EACV,QAAQ,EACR,GAAG,
|
|
1
|
+
{"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../../../src/pages/dashboard/sections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EAEd,MAAM,iBAAiB,CAAA;AAQxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAyDlD,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,YAAY,EAAE,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA+BrG;AAED,wBAAgB,YAAY,CAAC,EAC3B,UAAU,EACV,QAAQ,EACR,GAAG,EACH,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,CAAA;IACjD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAA;IAClB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAqDpB;AAiBD,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,GAAG,EACH,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAA;IACxC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAA;IAClB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA+BpB;AAED,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,SAAS,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAChD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAuCpB"}
|
|
@@ -38,8 +38,8 @@ function EmptyOr({ isEmpty, empty, children, }) {
|
|
|
38
38
|
export function AttentionList({ rows }) {
|
|
39
39
|
return (_jsxs("section", { children: [_jsx(SectionHeader, { title: "Needs attention", description: "The signals behind the brief." }), _jsx(EmptyOr, { isEmpty: rows.length === 0, empty: "Nothing urgent right now.", children: _jsx("ul", { className: "divide-y divide-border border-y border-border", children: rows.map((row) => (_jsxs("li", { className: "py-3", children: [_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx(Chip, { tone: row.tone, children: row.label }), _jsx("span", { className: "text-[11px] text-ink-faint", children: row.meta })] }), row.href === undefined ? (_jsx("p", { className: "mt-1.5 text-[13px] font-medium text-ink", children: row.title })) : (_jsx(Link, { to: row.href, className: "mt-1.5 block text-[13px] font-medium text-ink hover:text-accent", children: row.title })), row.detail !== '' && (_jsx("p", { className: "mt-0.5 line-clamp-2 text-[12px] text-ink-muted", children: row.detail }))] }, row.id))) }) })] }));
|
|
40
40
|
}
|
|
41
|
-
export function ActivityFeed({ activities, nameById, now, }) {
|
|
42
|
-
return (_jsxs("section", { children: [_jsx(SectionHeader, { title: "Recent activity", description: "The latest events across people, companies, and pipelines." }), _jsx(EmptyOr, { isEmpty: activities.length === 0, empty: "No activity yet.", children: _jsx("ol", { className: "divide-y divide-border border-y border-border", children: activities.map((activity, index) => (_jsxs("li", { className: "flex gap-2 py-3", children: [_jsxs("div", { className: "relative flex w-5 shrink-0 justify-center", children: [index < activities.length - 1 && (_jsx("span", { "aria-hidden": true, className: "absolute top-5 bottom-[-12px] left-1/2 w-px -translate-x-1/2 bg-border" })), _jsx("div", { className: "relative z-10 flex h-5 w-5 items-center justify-center rounded border border-border bg-surface text-[9px] font-medium tracking-wide text-ink-muted uppercase", title: activity.kind, children: KIND_GLYPHS[activity.kind] })] }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "flex items-baseline justify-between gap-3", children: [_jsxs("p", { className: "min-w-0 text-[12px] leading-snug text-ink", children: [_jsx("span", { className: "font-semibold", children: actorNameFor(activity, nameById) }), ' ', _jsx("span", { className: "text-ink-muted", children: activity.action })] }), _jsx("time", { dateTime: activity.createdAt.toISOString(), className: "shrink-0 text-[11px] text-ink-faint", children: formatRelativeTime(activity.createdAt, now) })] }), _jsxs("p", { className: "text-[11px] leading-snug text-ink-faint", children: ["on ", _jsx("span", { className: "text-ink-muted", children: targetTypeLabel(activity.targetType) }), ' · ', _jsx(TargetLink, { target: activity })] }), activity.detail !== null && (_jsx("p", { className: "text-[11px] leading-snug text-ink-faint", children: activity.detail }))] })] }, activity.id))) }) })] }));
|
|
41
|
+
export function ActivityFeed({ activities, nameById, now, timezone, }) {
|
|
42
|
+
return (_jsxs("section", { children: [_jsx(SectionHeader, { title: "Recent activity", description: "The latest events across people, companies, and pipelines." }), _jsx(EmptyOr, { isEmpty: activities.length === 0, empty: "No activity yet.", children: _jsx("ol", { className: "divide-y divide-border border-y border-border", children: activities.map((activity, index) => (_jsxs("li", { className: "flex gap-2 py-3", children: [_jsxs("div", { className: "relative flex w-5 shrink-0 justify-center", children: [index < activities.length - 1 && (_jsx("span", { "aria-hidden": true, className: "absolute top-5 bottom-[-12px] left-1/2 w-px -translate-x-1/2 bg-border" })), _jsx("div", { className: "relative z-10 flex h-5 w-5 items-center justify-center rounded border border-border bg-surface text-[9px] font-medium tracking-wide text-ink-muted uppercase", title: activity.kind, children: KIND_GLYPHS[activity.kind] })] }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "flex items-baseline justify-between gap-3", children: [_jsxs("p", { className: "min-w-0 text-[12px] leading-snug text-ink", children: [_jsx("span", { className: "font-semibold", children: actorNameFor(activity, nameById) }), ' ', _jsx("span", { className: "text-ink-muted", children: activity.action })] }), _jsx("time", { dateTime: activity.createdAt.toISOString(), className: "shrink-0 text-[11px] text-ink-faint", children: formatRelativeTime(activity.createdAt, timezone, now) })] }), _jsxs("p", { className: "text-[11px] leading-snug text-ink-faint", children: ["on ", _jsx("span", { className: "text-ink-muted", children: targetTypeLabel(activity.targetType) }), ' · ', _jsx(TargetLink, { target: activity })] }), activity.detail !== null && (_jsx("p", { className: "text-[11px] leading-snug text-ink-faint", children: activity.detail }))] })] }, activity.id))) }) })] }));
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
45
|
* Exactly one of the two actor columns is set. `actorLabel` carries the display
|
|
@@ -51,10 +51,10 @@ function actorNameFor(activity, nameById) {
|
|
|
51
51
|
}
|
|
52
52
|
return nameById.get(activity.actorMemberId) ?? 'Unknown';
|
|
53
53
|
}
|
|
54
|
-
export function NotesList({ notes, nameById, now, }) {
|
|
55
|
-
return (_jsxs("section", { children: [_jsx(SectionHeader, { title: "Recent notes", description: "Pinned notes surface first." }), _jsx(EmptyOr, { isEmpty: notes.length === 0, empty: "No notes yet.", children: _jsx("ul", { className: "divide-y divide-border border-y border-border", children: notes.map((note) => (_jsxs("li", { className: "py-3", children: [_jsxs("div", { className: "flex items-start justify-between gap-2", children: [_jsx("p", { className: "line-clamp-3 text-[13px] leading-relaxed text-ink", children: note.body }), note.pinned && (_jsx("span", { className: "shrink-0 text-[10px] font-medium tracking-wide text-accent uppercase", children: "Pinned" }))] }), _jsxs("div", { className: "mt-2 flex flex-wrap items-center gap-2 text-[11px] text-ink-faint", children: [_jsx(TargetLink, { target: note }), _jsx("span", { children: "\u00B7" }), _jsx("span", { children: targetTypeLabel(note.targetType) }), _jsx("span", { children: "\u00B7" }), _jsx("span", { children: note.authorId === null ? 'System' : (nameById.get(note.authorId) ?? 'Unknown') }), _jsx("span", { children: "\u00B7" }), _jsx("span", { children: formatRelativeTime(note.createdAt, now) })] })] }, note.id))) }) })] }));
|
|
54
|
+
export function NotesList({ notes, nameById, now, timezone, }) {
|
|
55
|
+
return (_jsxs("section", { children: [_jsx(SectionHeader, { title: "Recent notes", description: "Pinned notes surface first." }), _jsx(EmptyOr, { isEmpty: notes.length === 0, empty: "No notes yet.", children: _jsx("ul", { className: "divide-y divide-border border-y border-border", children: notes.map((note) => (_jsxs("li", { className: "py-3", children: [_jsxs("div", { className: "flex items-start justify-between gap-2", children: [_jsx("p", { className: "line-clamp-3 text-[13px] leading-relaxed text-ink", children: note.body }), note.pinned && (_jsx("span", { className: "shrink-0 text-[10px] font-medium tracking-wide text-accent uppercase", children: "Pinned" }))] }), _jsxs("div", { className: "mt-2 flex flex-wrap items-center gap-2 text-[11px] text-ink-faint", children: [_jsx(TargetLink, { target: note }), _jsx("span", { children: "\u00B7" }), _jsx("span", { children: targetTypeLabel(note.targetType) }), _jsx("span", { children: "\u00B7" }), _jsx("span", { children: note.authorId === null ? 'System' : (nameById.get(note.authorId) ?? 'Unknown') }), _jsx("span", { children: "\u00B7" }), _jsx("span", { children: formatRelativeTime(note.createdAt, timezone, now) })] })] }, note.id))) }) })] }));
|
|
56
56
|
}
|
|
57
|
-
export function DecisionsList({ decisions, nameById, }) {
|
|
58
|
-
return (_jsxs("section", { children: [_jsxs("div", { className: "mb-3 flex items-start justify-between gap-2", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("h2", { className: "text-[13px] font-semibold text-ink", children: "Recent decisions" }), _jsx("p", { className: "mt-0.5 text-[11px] text-ink-faint", children: "Commitments agents should not contradict." })] }), _jsx(Link, { to: "/decisions", className: "shrink-0 text-[12px] font-medium text-accent hover:underline", children: "View all" })] }), _jsx(EmptyOr, { isEmpty: decisions.length === 0, empty: "No decisions yet.", children: _jsx("ul", { className: "divide-y divide-border border-y border-border", children: decisions.map((decision) => (_jsxs("li", { className: "py-3", children: [_jsx("p", { className: "text-[13px] font-medium text-ink", children: decision.body }), decision.rationale !== null && (_jsx("p", { className: "mt-0.5 line-clamp-2 text-[12px] text-ink-muted", children: decision.rationale })), _jsxs("div", { className: "mt-2 flex flex-wrap items-center gap-2 text-[11px] text-ink-faint", children: [_jsx(TargetLink, { target: decision }), _jsx("span", { children: "\u00B7" }), _jsx("span", { children: formatDate(decision.decidedAt) }), _jsx("span", { children: "\u00B7" }), _jsx("span", { children: decision.ownerId === null ? '—' : (nameById.get(decision.ownerId) ?? 'Unknown') })] })] }, decision.id))) }) })] }));
|
|
57
|
+
export function DecisionsList({ decisions, nameById, timezone, }) {
|
|
58
|
+
return (_jsxs("section", { children: [_jsxs("div", { className: "mb-3 flex items-start justify-between gap-2", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("h2", { className: "text-[13px] font-semibold text-ink", children: "Recent decisions" }), _jsx("p", { className: "mt-0.5 text-[11px] text-ink-faint", children: "Commitments agents should not contradict." })] }), _jsx(Link, { to: "/decisions", className: "shrink-0 text-[12px] font-medium text-accent hover:underline", children: "View all" })] }), _jsx(EmptyOr, { isEmpty: decisions.length === 0, empty: "No decisions yet.", children: _jsx("ul", { className: "divide-y divide-border border-y border-border", children: decisions.map((decision) => (_jsxs("li", { className: "py-3", children: [_jsx("p", { className: "text-[13px] font-medium text-ink", children: decision.body }), decision.rationale !== null && (_jsx("p", { className: "mt-0.5 line-clamp-2 text-[12px] text-ink-muted", children: decision.rationale })), _jsxs("div", { className: "mt-2 flex flex-wrap items-center gap-2 text-[11px] text-ink-faint", children: [_jsx(TargetLink, { target: decision }), _jsx("span", { children: "\u00B7" }), _jsx("span", { children: formatDate(decision.decidedAt, timezone) }), _jsx("span", { children: "\u00B7" }), _jsx("span", { children: decision.ownerId === null ? '—' : (nameById.get(decision.ownerId) ?? 'Unknown') })] })] }, decision.id))) }) })] }));
|
|
59
59
|
}
|
|
60
60
|
//# sourceMappingURL=sections.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sections.js","sourceRoot":"","sources":["../../../src/pages/dashboard/sections.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA2B,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAoC,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAG5D;;;;;;GAMG;AAEH,wEAAwE;AACxE,MAAM,WAAW,GAA2C;IAC1D,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;CACf,CAAA;AAED,kFAAkF;AAClF,SAAS,UAAU,CAAC,EAClB,MAAM,EACN,SAAS,GAAG,kDAAkD,GAI/D;IACC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAErE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,eAAM,SAAS,EAAE,SAAS,YAAG,KAAK,GAAQ,CAAA;IACnD,CAAC;IAED,OAAO,CACL,KAAC,IAAI,IAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,YACjC,KAAK,GACD,CACR,CAAA;AACH,CAAC;AAED,SAAS,OAAO,CAAC,EACf,OAAO,EACP,KAAK,EACL,QAAQ,GAKT;IACC,OAAO,OAAO,CAAC,CAAC,CAAC,YAAG,SAAS,EAAC,4BAA4B,YAAE,KAAK,GAAK,CAAC,CAAC,CAAC,4BAAG,QAAQ,GAAI,CAAA;AAC1F,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAE,IAAI,EAA8C;IAChF,OAAO,CACL,8BACE,KAAC,aAAa,IAAC,KAAK,EAAC,iBAAiB,EAAC,WAAW,EAAC,+BAA+B,GAAG,EACrF,KAAC,OAAO,IAAC,OAAO,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,KAAK,EAAC,2BAA2B,YACpE,aAAI,SAAS,EAAC,+CAA+C,YAC1D,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,cAAiB,SAAS,EAAC,MAAM,aAC/B,eAAK,SAAS,EAAC,mCAAmC,aAChD,KAAC,IAAI,IAAC,IAAI,EAAE,GAAG,CAAC,IAAI,YAAG,GAAG,CAAC,KAAK,GAAQ,EACxC,eAAM,SAAS,EAAC,4BAA4B,YAAE,GAAG,CAAC,IAAI,GAAQ,IAC1D,EACL,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CACxB,YAAG,SAAS,EAAC,yCAAyC,YAAE,GAAG,CAAC,KAAK,GAAK,CACvE,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IACH,EAAE,EAAE,GAAG,CAAC,IAAI,EACZ,SAAS,EAAC,iEAAiE,YAE1E,GAAG,CAAC,KAAK,GACL,CACR,EACA,GAAG,CAAC,MAAM,KAAK,EAAE,IAAI,CACpB,YAAG,SAAS,EAAC,gDAAgD,YAAE,GAAG,CAAC,MAAM,GAAK,CAC/E,KAjBM,GAAG,CAAC,EAAE,CAkBV,CACN,CAAC,GACC,GACG,IACF,CACX,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAC3B,UAAU,EACV,QAAQ,EACR,GAAG,
|
|
1
|
+
{"version":3,"file":"sections.js","sourceRoot":"","sources":["../../../src/pages/dashboard/sections.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubmissionsTable.d.ts","sourceRoot":"","sources":["../../../src/pages/forms/SubmissionsTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAI3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"SubmissionsTable.d.ts","sourceRoot":"","sources":["../../../src/pages/forms/SubmissionsTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAI3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAsB7D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAA;CACvD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,qBAAqB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAyFhG"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
3
|
import { Link } from 'react-router';
|
|
4
|
+
import { useTimezone } from '../../api/resources/account.js';
|
|
4
5
|
import { useCompanies } from '../../api/resources/companies.js';
|
|
5
6
|
import { usePeople } from '../../api/resources/people.js';
|
|
6
7
|
import { DataTable } from '../../components/DataTable.js';
|
|
@@ -20,13 +21,14 @@ const MAX_PAGE = 200;
|
|
|
20
21
|
export function SubmissionsTable({ form, submissions }) {
|
|
21
22
|
const people = usePeople({ limit: MAX_PAGE });
|
|
22
23
|
const companies = useCompanies({ limit: MAX_PAGE });
|
|
24
|
+
const timezone = useTimezone();
|
|
23
25
|
const nameById = useMemo(() => new Map([...people.records, ...companies.records].map((record) => [record.id, record.name])), [people.records, companies.records]);
|
|
24
26
|
const columns = [
|
|
25
27
|
{
|
|
26
28
|
key: 'submitted',
|
|
27
29
|
header: 'Submitted',
|
|
28
30
|
className: 'w-40',
|
|
29
|
-
render: (submission) => (_jsx("span", { className: "font-mono text-[12px] text-ink-muted", children: formatDateTime(submission.submittedAt) })),
|
|
31
|
+
render: (submission) => (_jsx("span", { className: "font-mono text-[12px] text-ink-muted", children: formatDateTime(submission.submittedAt, timezone) })),
|
|
30
32
|
},
|
|
31
33
|
{
|
|
32
34
|
key: 'person',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubmissionsTable.js","sourceRoot":"","sources":["../../../src/pages/forms/SubmissionsTable.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAGnC,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAAgC,CAAA;AAE1D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gCAAiC,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAoC,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD;;;;;;;GAOG;AAEH,4CAA4C;AAC5C,MAAM,QAAQ,GAAG,GAAG,CAAA;AAOpB,MAAM,UAAU,gBAAgB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAyB;IAC3E,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC7C,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"SubmissionsTable.js","sourceRoot":"","sources":["../../../src/pages/forms/SubmissionsTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandbookPage.d.ts","sourceRoot":"","sources":["../../../src/pages/handbook/HandbookPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HandbookPage.d.ts","sourceRoot":"","sources":["../../../src/pages/handbook/HandbookPage.tsx"],"names":[],"mappings":"AA0CA,wBAAgB,cAAc,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAuOlD"}
|
|
@@ -4,6 +4,7 @@ import { SortableContext, useSortable, verticalListSortingStrategy } from '@dnd-
|
|
|
4
4
|
import { CSS } from '@dnd-kit/utilities';
|
|
5
5
|
import { useEffect, useMemo, useState } from 'react';
|
|
6
6
|
import { Link, useNavigate, useParams } from 'react-router';
|
|
7
|
+
import { useTimezone } from '../../api/resources/account.js';
|
|
7
8
|
import { useCreateHandbookPage, useDeleteHandbookPage, useHandbookPages, useUpdateHandbookPage, } from '../../api/resources/handbookPages.js';
|
|
8
9
|
import { useMembers } from '../../api/resources/members.js';
|
|
9
10
|
import { AgentTasks } from '../../components/AgentTasks.js';
|
|
@@ -172,6 +173,7 @@ function HandbookEditor({ page, authorName, isSaving, error, onSave, onAddChild,
|
|
|
172
173
|
const [editing, setEditing] = useState(false);
|
|
173
174
|
const [title, setTitle] = useState(page.title);
|
|
174
175
|
const [body, setBody] = useState(page.body);
|
|
176
|
+
const timezone = useTimezone();
|
|
175
177
|
useEffect(() => {
|
|
176
178
|
setTitle(page.title);
|
|
177
179
|
setBody(page.body);
|
|
@@ -184,7 +186,7 @@ function HandbookEditor({ page, authorName, isSaving, error, onSave, onAddChild,
|
|
|
184
186
|
}
|
|
185
187
|
return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsxs("div", { className: "flex flex-wrap items-start justify-between gap-3 border-b border-border px-5 py-3", children: [_jsxs("div", { className: "min-w-0 flex-1", children: [editing ? (_jsx("input", { value: title, "aria-label": "Page title", onChange: (event) => {
|
|
186
188
|
setTitle(event.target.value);
|
|
187
|
-
}, className: "w-full min-w-[200px] rounded-md border border-border bg-surface px-2.5 py-1.5 text-[15px] font-semibold outline-none focus:border-accent" })) : (_jsx("h1", { className: "text-[18px] font-semibold tracking-tight text-ink", children: page.title })), _jsxs("div", { className: "mt-1 text-[11px] text-ink-faint", children: ["Updated ", formatDateTime(page.updatedAt), authorName === undefined ? '' : ` · ${authorName}`] })] }), _jsx("div", { className: "flex shrink-0 flex-wrap items-center gap-2", children: editing ? (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", onClick: () => {
|
|
189
|
+
}, className: "w-full min-w-[200px] rounded-md border border-border bg-surface px-2.5 py-1.5 text-[15px] font-semibold outline-none focus:border-accent" })) : (_jsx("h1", { className: "text-[18px] font-semibold tracking-tight text-ink", children: page.title })), _jsxs("div", { className: "mt-1 text-[11px] text-ink-faint", children: ["Updated ", formatDateTime(page.updatedAt, timezone), authorName === undefined ? '' : ` · ${authorName}`] })] }), _jsx("div", { className: "flex shrink-0 flex-wrap items-center gap-2", children: editing ? (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", onClick: () => {
|
|
188
190
|
setTitle(page.title);
|
|
189
191
|
setBody(page.body);
|
|
190
192
|
setEditing(false);
|