@kelpie/ui 0.11.0 → 0.13.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/attendances.d.ts +13 -0
- package/dist/api/resources/attendances.d.ts.map +1 -0
- package/dist/api/resources/attendances.js +34 -0
- package/dist/api/resources/attendances.js.map +1 -0
- package/dist/api/resources/eventAssociations.d.ts +12 -0
- package/dist/api/resources/eventAssociations.d.ts.map +1 -0
- package/dist/api/resources/eventAssociations.js +25 -0
- package/dist/api/resources/eventAssociations.js.map +1 -0
- package/dist/api/resources/events.d.ts +17 -0
- package/dist/api/resources/events.d.ts.map +1 -0
- package/dist/api/resources/events.js +40 -0
- package/dist/api/resources/events.js.map +1 -0
- package/dist/api/resources/handbookSeed.d.ts +11 -0
- package/dist/api/resources/handbookSeed.d.ts.map +1 -0
- package/dist/api/resources/handbookSeed.js +43 -0
- package/dist/api/resources/handbookSeed.js.map +1 -0
- package/dist/api/resources/moduleSettings.d.ts +10 -0
- package/dist/api/resources/moduleSettings.d.ts.map +1 -1
- package/dist/api/resources/moduleSettings.js +21 -0
- package/dist/api/resources/moduleSettings.js.map +1 -1
- package/dist/api/resources/planItems.d.ts +4 -4
- package/dist/api/resources/planItems.d.ts.map +1 -1
- package/dist/api/resources/planItems.js +1 -1
- package/dist/api/resources/planItems.js.map +1 -1
- package/dist/api/resources/publicConfig.js +3 -3
- package/dist/api/resources/sampleData.d.ts.map +1 -1
- package/dist/api/resources/sampleData.js +2 -0
- package/dist/api/resources/sampleData.js.map +1 -1
- package/dist/api/resources/session.d.ts +22 -1
- package/dist/api/resources/session.d.ts.map +1 -1
- package/dist/api/resources/session.js +43 -1
- package/dist/api/resources/session.js.map +1 -1
- package/dist/api/resources/workspace.d.ts.map +1 -1
- package/dist/api/resources/workspace.js +2 -3
- package/dist/api/resources/workspace.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/components/ActivitiesPanel.d.ts.map +1 -1
- package/dist/components/ActivitiesPanel.js +2 -0
- package/dist/components/ActivitiesPanel.js.map +1 -1
- package/dist/components/AddressesField.d.ts +23 -0
- package/dist/components/AddressesField.d.ts.map +1 -0
- package/dist/components/AddressesField.js +215 -0
- package/dist/components/AddressesField.js.map +1 -0
- package/dist/components/CountrySearch.d.ts +16 -0
- package/dist/components/CountrySearch.d.ts.map +1 -0
- package/dist/components/CountrySearch.js +30 -0
- package/dist/components/CountrySearch.js.map +1 -0
- package/dist/components/EnvironmentBanner.d.ts +0 -12
- package/dist/components/EnvironmentBanner.d.ts.map +1 -1
- package/dist/components/EnvironmentBanner.js +21 -6
- package/dist/components/EnvironmentBanner.js.map +1 -1
- package/dist/components/InlineEdit.d.ts +7 -1
- package/dist/components/InlineEdit.d.ts.map +1 -1
- package/dist/components/InlineEdit.js +8 -1
- package/dist/components/InlineEdit.js.map +1 -1
- package/dist/components/LinkedEventsPanel.d.ts +11 -0
- package/dist/components/LinkedEventsPanel.d.ts.map +1 -0
- package/dist/components/LinkedEventsPanel.js +18 -0
- package/dist/components/LinkedEventsPanel.js.map +1 -0
- package/dist/components/NotesPanel.d.ts +4 -6
- package/dist/components/NotesPanel.d.ts.map +1 -1
- package/dist/components/NotesPanel.js +39 -3
- package/dist/components/NotesPanel.js.map +1 -1
- package/dist/components/PlanAttention.d.ts.map +1 -1
- package/dist/components/PlanAttention.js +3 -2
- package/dist/components/PlanAttention.js.map +1 -1
- package/dist/components/PlanPanel.d.ts +3 -3
- package/dist/components/PlanPanel.d.ts.map +1 -1
- package/dist/components/Shell.d.ts.map +1 -1
- package/dist/components/Shell.js +8 -2
- package/dist/components/Shell.js.map +1 -1
- package/dist/components/SocialNetworkIcon.d.ts +17 -0
- package/dist/components/SocialNetworkIcon.d.ts.map +1 -0
- package/dist/components/SocialNetworkIcon.js +39 -0
- package/dist/components/SocialNetworkIcon.js.map +1 -0
- package/dist/components/SocialProfilesField.d.ts +8 -0
- package/dist/components/SocialProfilesField.d.ts.map +1 -1
- package/dist/components/SocialProfilesField.js +19 -5
- package/dist/components/SocialProfilesField.js.map +1 -1
- package/dist/components/TimezoneSearch.d.ts +21 -0
- package/dist/components/TimezoneSearch.d.ts.map +1 -0
- package/dist/components/TimezoneSearch.js +27 -0
- package/dist/components/TimezoneSearch.js.map +1 -0
- package/dist/components/WorkspaceSwitcher.d.ts +8 -0
- package/dist/components/WorkspaceSwitcher.d.ts.map +1 -0
- package/dist/components/WorkspaceSwitcher.js +67 -0
- package/dist/components/WorkspaceSwitcher.js.map +1 -0
- package/dist/components/environmentTone.d.ts +10 -0
- package/dist/components/environmentTone.d.ts.map +1 -0
- package/dist/components/environmentTone.js +35 -0
- package/dist/components/environmentTone.js.map +1 -0
- package/dist/index.d.ts +25 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/timezones.d.ts +17 -0
- package/dist/lib/timezones.d.ts.map +1 -0
- package/dist/lib/timezones.js +39 -0
- package/dist/lib/timezones.js.map +1 -0
- package/dist/pages/CompaniesPage.d.ts.map +1 -1
- package/dist/pages/CompaniesPage.js +12 -11
- package/dist/pages/CompaniesPage.js.map +1 -1
- package/dist/pages/CompanyDetail.d.ts.map +1 -1
- package/dist/pages/CompanyDetail.js +23 -12
- package/dist/pages/CompanyDetail.js.map +1 -1
- package/dist/pages/DealDetail.d.ts.map +1 -1
- package/dist/pages/DealDetail.js +5 -1
- package/dist/pages/DealDetail.js.map +1 -1
- package/dist/pages/DecisionsPage.d.ts.map +1 -1
- package/dist/pages/DecisionsPage.js +7 -0
- package/dist/pages/DecisionsPage.js.map +1 -1
- package/dist/pages/EnquiryDetail.d.ts.map +1 -1
- package/dist/pages/EnquiryDetail.js +5 -1
- package/dist/pages/EnquiryDetail.js.map +1 -1
- package/dist/pages/EventDetail.d.ts +2 -0
- package/dist/pages/EventDetail.d.ts.map +1 -0
- package/dist/pages/EventDetail.js +332 -0
- package/dist/pages/EventDetail.js.map +1 -0
- package/dist/pages/EventsPage.d.ts +2 -0
- package/dist/pages/EventsPage.d.ts.map +1 -0
- package/dist/pages/EventsPage.js +176 -0
- package/dist/pages/EventsPage.js.map +1 -0
- package/dist/pages/ListDetail.d.ts.map +1 -1
- package/dist/pages/ListDetail.js +17 -0
- package/dist/pages/ListDetail.js.map +1 -1
- package/dist/pages/OpportunityDetail.d.ts.map +1 -1
- package/dist/pages/OpportunityDetail.js +5 -1
- package/dist/pages/OpportunityDetail.js.map +1 -1
- package/dist/pages/PartnershipDetail.d.ts.map +1 -1
- package/dist/pages/PartnershipDetail.js +5 -1
- package/dist/pages/PartnershipDetail.js.map +1 -1
- package/dist/pages/PeoplePage.d.ts.map +1 -1
- package/dist/pages/PeoplePage.js +13 -5
- package/dist/pages/PeoplePage.js.map +1 -1
- package/dist/pages/PersonDetail.d.ts.map +1 -1
- package/dist/pages/PersonDetail.js +94 -28
- package/dist/pages/PersonDetail.js.map +1 -1
- package/dist/pages/PlanningPage.d.ts.map +1 -1
- package/dist/pages/PlanningPage.js +6 -3
- package/dist/pages/PlanningPage.js.map +1 -1
- package/dist/pages/RaiseDetail.d.ts.map +1 -1
- package/dist/pages/RaiseDetail.js +5 -1
- package/dist/pages/RaiseDetail.js.map +1 -1
- package/dist/pages/RoleDetail.d.ts.map +1 -1
- package/dist/pages/RoleDetail.js +4 -1
- package/dist/pages/RoleDetail.js.map +1 -1
- package/dist/pages/SearchPage.d.ts.map +1 -1
- package/dist/pages/SearchPage.js +2 -1
- package/dist/pages/SearchPage.js.map +1 -1
- package/dist/pages/account/PreferencesPage.d.ts.map +1 -1
- package/dist/pages/account/PreferencesPage.js +2 -28
- package/dist/pages/account/PreferencesPage.js.map +1 -1
- package/dist/pages/account/SecurityPage.js +2 -2
- package/dist/pages/account/SecurityPage.js.map +1 -1
- package/dist/pages/admin/DataPage.js +10 -9
- package/dist/pages/admin/DataPage.js.map +1 -1
- package/dist/pages/admin/FieldsPage.js +1 -1
- package/dist/pages/admin/FieldsPage.js.map +1 -1
- package/dist/pages/admin/ModulesPage.d.ts.map +1 -1
- package/dist/pages/admin/ModulesPage.js +1 -0
- package/dist/pages/admin/ModulesPage.js.map +1 -1
- package/dist/pages/admin/WorkspaceSettingsPage.d.ts +12 -0
- package/dist/pages/admin/WorkspaceSettingsPage.d.ts.map +1 -1
- package/dist/pages/admin/WorkspaceSettingsPage.js +2 -21
- package/dist/pages/admin/WorkspaceSettingsPage.js.map +1 -1
- package/dist/pages/auth/AuthForm.d.ts +18 -0
- package/dist/pages/auth/AuthForm.d.ts.map +1 -1
- package/dist/pages/auth/AuthForm.js +17 -0
- package/dist/pages/auth/AuthForm.js.map +1 -1
- package/dist/pages/auth/AuthLayout.d.ts +5 -4
- package/dist/pages/auth/AuthLayout.d.ts.map +1 -1
- package/dist/pages/auth/AuthLayout.js +7 -5
- package/dist/pages/auth/AuthLayout.js.map +1 -1
- package/dist/pages/auth/AuthMethods.d.ts +12 -0
- package/dist/pages/auth/AuthMethods.d.ts.map +1 -0
- package/dist/pages/auth/AuthMethods.js +20 -0
- package/dist/pages/auth/AuthMethods.js.map +1 -0
- package/dist/pages/auth/RegionSwitcher.d.ts +10 -0
- package/dist/pages/auth/RegionSwitcher.d.ts.map +1 -0
- package/dist/pages/auth/RegionSwitcher.js +28 -0
- package/dist/pages/auth/RegionSwitcher.js.map +1 -0
- package/dist/pages/auth/SignInPage.d.ts +7 -0
- package/dist/pages/auth/SignInPage.d.ts.map +1 -1
- package/dist/pages/auth/SignInPage.js +5 -8
- package/dist/pages/auth/SignInPage.js.map +1 -1
- package/dist/pages/auth/SignUpPage.d.ts.map +1 -1
- package/dist/pages/auth/SignUpPage.js +9 -1
- package/dist/pages/auth/SignUpPage.js.map +1 -1
- package/dist/pages/auth/nextPath.d.ts +15 -0
- package/dist/pages/auth/nextPath.d.ts.map +1 -0
- package/dist/pages/auth/nextPath.js +17 -0
- package/dist/pages/auth/nextPath.js.map +1 -0
- package/dist/pages/auth/regionHref.d.ts +6 -0
- package/dist/pages/auth/regionHref.d.ts.map +1 -0
- package/dist/pages/auth/regionHref.js +8 -0
- package/dist/pages/auth/regionHref.js.map +1 -0
- package/dist/pages/dashboard/DashboardPage.d.ts +8 -0
- package/dist/pages/dashboard/DashboardPage.d.ts.map +1 -1
- package/dist/pages/dashboard/DashboardPage.js +5 -13
- package/dist/pages/dashboard/DashboardPage.js.map +1 -1
- package/dist/pages/dashboard/attention.d.ts +1 -8
- package/dist/pages/dashboard/attention.d.ts.map +1 -1
- package/dist/pages/dashboard/attention.js +21 -54
- package/dist/pages/dashboard/attention.js.map +1 -1
- package/dist/pages/dashboard/sections.d.ts.map +1 -1
- package/dist/pages/dashboard/sections.js +3 -2
- package/dist/pages/dashboard/sections.js.map +1 -1
- package/dist/pages/forms/FormActions.d.ts.map +1 -1
- package/dist/pages/forms/FormActions.js +7 -3
- package/dist/pages/forms/FormActions.js.map +1 -1
- package/dist/pages/onboarding/HandbookStepPage.d.ts +4 -8
- package/dist/pages/onboarding/HandbookStepPage.d.ts.map +1 -1
- package/dist/pages/onboarding/HandbookStepPage.js +13 -13
- package/dist/pages/onboarding/HandbookStepPage.js.map +1 -1
- package/dist/pages/onboarding/InvitesStepPage.d.ts.map +1 -1
- package/dist/pages/onboarding/InvitesStepPage.js +13 -7
- package/dist/pages/onboarding/InvitesStepPage.js.map +1 -1
- package/dist/pages/onboarding/ModulesStepPage.d.ts +11 -0
- package/dist/pages/onboarding/ModulesStepPage.d.ts.map +1 -0
- package/dist/pages/onboarding/ModulesStepPage.js +80 -0
- package/dist/pages/onboarding/ModulesStepPage.js.map +1 -0
- package/dist/pages/onboarding/OnboardingNav.d.ts +17 -0
- package/dist/pages/onboarding/OnboardingNav.d.ts.map +1 -0
- package/dist/pages/onboarding/OnboardingNav.js +37 -0
- package/dist/pages/onboarding/OnboardingNav.js.map +1 -0
- package/dist/pages/onboarding/OrganisationStepPage.d.ts +13 -0
- package/dist/pages/onboarding/OrganisationStepPage.d.ts.map +1 -0
- package/dist/pages/onboarding/OrganisationStepPage.js +59 -0
- package/dist/pages/onboarding/OrganisationStepPage.js.map +1 -0
- package/dist/pages/onboarding/WorkspaceStepPage.d.ts.map +1 -1
- package/dist/pages/onboarding/WorkspaceStepPage.js +25 -20
- package/dist/pages/onboarding/WorkspaceStepPage.js.map +1 -1
- package/dist/pages/onboarding/handbookTemplates.d.ts +19 -0
- package/dist/pages/onboarding/handbookTemplates.d.ts.map +1 -0
- package/dist/pages/onboarding/handbookTemplates.js +57 -0
- package/dist/pages/onboarding/handbookTemplates.js.map +1 -0
- package/dist/pages/onboarding/onboardingModules.d.ts +23 -0
- package/dist/pages/onboarding/onboardingModules.d.ts.map +1 -0
- package/dist/pages/onboarding/onboardingModules.js +153 -0
- package/dist/pages/onboarding/onboardingModules.js.map +1 -0
- package/dist/pages/onboarding/onboardingRerun.d.ts +21 -0
- package/dist/pages/onboarding/onboardingRerun.d.ts.map +1 -0
- package/dist/pages/onboarding/onboardingRerun.js +33 -0
- package/dist/pages/onboarding/onboardingRerun.js.map +1 -0
- package/dist/registry/context.d.ts +3 -1
- package/dist/registry/context.d.ts.map +1 -1
- package/dist/registry/context.js +4 -0
- package/dist/registry/context.js.map +1 -1
- package/dist/registry/contributions.d.ts +24 -0
- package/dist/registry/contributions.d.ts.map +1 -1
- package/dist/registry/contributions.js.map +1 -1
- package/dist/registry/registry.d.ts +4 -1
- package/dist/registry/registry.d.ts.map +1 -1
- package/dist/registry/registry.js +6 -0
- package/dist/registry/registry.js.map +1 -1
- package/package.json +4 -3
- package/src/api/resources/attendances.ts +54 -0
- package/src/api/resources/eventAssociations.ts +43 -0
- package/src/api/resources/events.ts +70 -0
- package/src/api/resources/handbookSeed.ts +63 -0
- package/src/api/resources/moduleSettings.ts +25 -0
- package/src/api/resources/planItems.ts +5 -5
- package/src/api/resources/publicConfig.ts +3 -3
- package/src/api/resources/sampleData.ts +2 -0
- package/src/api/resources/session.ts +59 -0
- package/src/api/resources/workspace.ts +2 -3
- package/src/app/KelpieApp.tsx +11 -3
- package/src/components/ActivitiesPanel.tsx +2 -0
- package/src/components/AddressesField.tsx +502 -0
- package/src/components/CountrySearch.tsx +71 -0
- package/src/components/EnvironmentBanner.tsx +23 -6
- package/src/components/InlineEdit.tsx +35 -1
- package/src/components/LinkedEventsPanel.tsx +50 -0
- package/src/components/NotesPanel.tsx +132 -15
- package/src/components/PlanAttention.tsx +5 -4
- package/src/components/PlanPanel.tsx +3 -3
- package/src/components/Shell.tsx +16 -1
- package/src/components/SocialNetworkIcon.tsx +88 -0
- package/src/components/SocialProfilesField.tsx +57 -10
- package/src/components/TimezoneSearch.tsx +67 -0
- package/src/components/WorkspaceSwitcher.tsx +136 -0
- package/src/components/environmentTone.ts +40 -0
- package/src/index.ts +49 -3
- package/src/lib/timezones.ts +43 -0
- package/src/pages/CompaniesPage.tsx +14 -13
- package/src/pages/CompanyDetail.tsx +59 -27
- package/src/pages/DealDetail.tsx +5 -0
- package/src/pages/DecisionsPage.tsx +7 -0
- package/src/pages/EnquiryDetail.tsx +7 -0
- package/src/pages/EventDetail.tsx +794 -0
- package/src/pages/EventsPage.tsx +382 -0
- package/src/pages/ListDetail.tsx +24 -0
- package/src/pages/OpportunityDetail.tsx +7 -0
- package/src/pages/PartnershipDetail.tsx +7 -0
- package/src/pages/PeoplePage.tsx +18 -5
- package/src/pages/PersonDetail.tsx +300 -100
- package/src/pages/PlanningPage.tsx +17 -14
- package/src/pages/RaiseDetail.tsx +5 -0
- package/src/pages/RoleDetail.tsx +8 -0
- package/src/pages/SearchPage.tsx +2 -1
- package/src/pages/account/PreferencesPage.tsx +2 -37
- package/src/pages/account/SecurityPage.tsx +6 -1
- package/src/pages/admin/DataPage.tsx +63 -21
- package/src/pages/admin/FieldsPage.tsx +1 -1
- package/src/pages/admin/ModulesPage.tsx +1 -0
- package/src/pages/admin/WorkspaceSettingsPage.tsx +10 -33
- package/src/pages/auth/AuthForm.tsx +38 -0
- package/src/pages/auth/AuthLayout.tsx +8 -4
- package/src/pages/auth/AuthMethods.tsx +29 -0
- package/src/pages/auth/RegionSwitcher.tsx +56 -0
- package/src/pages/auth/SignInPage.tsx +13 -14
- package/src/pages/auth/SignUpPage.tsx +32 -0
- package/src/pages/auth/nextPath.ts +17 -0
- package/src/pages/auth/regionHref.ts +10 -0
- package/src/pages/dashboard/DashboardPage.tsx +16 -48
- package/src/pages/dashboard/attention.ts +24 -78
- package/src/pages/dashboard/sections.tsx +8 -2
- package/src/pages/forms/FormActions.tsx +14 -8
- package/src/pages/onboarding/HandbookStepPage.tsx +21 -24
- package/src/pages/onboarding/InvitesStepPage.tsx +27 -19
- package/src/pages/onboarding/ModulesStepPage.tsx +145 -0
- package/src/pages/onboarding/OnboardingNav.tsx +97 -0
- package/src/pages/onboarding/OrganisationStepPage.tsx +130 -0
- package/src/pages/onboarding/WorkspaceStepPage.tsx +53 -38
- package/src/pages/onboarding/handbookTemplates.ts +77 -0
- package/src/pages/onboarding/onboardingModules.ts +202 -0
- package/src/pages/onboarding/onboardingRerun.ts +41 -0
- package/src/registry/context.ts +6 -0
- package/src/registry/contributions.ts +26 -0
- package/src/registry/registry.ts +12 -0
- package/src/styles.css +30 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModulesPage.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/ModulesPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ModulesPage.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/ModulesPage.tsx"],"names":[],"mappings":"AA4CA,wBAAgB,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CA6B/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModulesPage.js","sourceRoot":"","sources":["../../../src/pages/admin/ModulesPage.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModulesPage.js","sourceRoot":"","sources":["../../../src/pages/admin/ModulesPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workspace settings, and the one screen that can end a workspace.
|
|
3
|
+
*
|
|
4
|
+
* Ported from the mockup's Workspace page. Two differences, both because there
|
|
5
|
+
* is an API behind it now: the slug is editable and can collide, and the danger
|
|
6
|
+
* zone deletes for real, so it asks the reader to type the slug rather than
|
|
7
|
+
* clicking one button.
|
|
8
|
+
*
|
|
9
|
+
* The form saves explicitly instead of per keystroke. Every field here is
|
|
10
|
+
* workspace-wide, and the slug appears in URLs, so committing on each character
|
|
11
|
+
* would be a stream of half-typed addresses.
|
|
12
|
+
*/
|
|
1
13
|
export declare function WorkspaceSettingsPage(): React.JSX.Element;
|
|
2
14
|
//# sourceMappingURL=WorkspaceSettingsPage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceSettingsPage.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/WorkspaceSettingsPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WorkspaceSettingsPage.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/WorkspaceSettingsPage.tsx"],"names":[],"mappings":"AAsBA;;;;;;;;;;;GAWG;AAEH,wBAAgB,qBAAqB,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAczD"}
|
|
@@ -7,6 +7,7 @@ import { useDeleteWorkspace, useUpdateWorkspace, useWorkspace, } from '../../api
|
|
|
7
7
|
import { EntitySearch } from '../../components/EntitySearch.js';
|
|
8
8
|
import { PageHeader } from '../../components/PageHeader.js';
|
|
9
9
|
import { ErrorPanel, LoadingPanel } from '../../components/QueryState.js';
|
|
10
|
+
import { TimezoneSearch } from '../../components/TimezoneSearch.js';
|
|
10
11
|
/**
|
|
11
12
|
* Workspace settings, and the one screen that can end a workspace.
|
|
12
13
|
*
|
|
@@ -19,21 +20,6 @@ import { ErrorPanel, LoadingPanel } from '../../components/QueryState.js';
|
|
|
19
20
|
* workspace-wide, and the slug appears in URLs, so committing on each character
|
|
20
21
|
* would be a stream of half-typed addresses.
|
|
21
22
|
*/
|
|
22
|
-
/**
|
|
23
|
-
* The timezones the mockup offered, plus whatever this workspace already holds.
|
|
24
|
-
*
|
|
25
|
-
* A full IANA list belongs in a combo box, which is its own piece of work. An
|
|
26
|
-
* unlisted value must still survive a save, so it joins the list rather than
|
|
27
|
-
* being silently rewritten to the first option.
|
|
28
|
-
*/
|
|
29
|
-
const COMMON_TIMEZONES = [
|
|
30
|
-
'Australia/Sydney',
|
|
31
|
-
'Australia/Melbourne',
|
|
32
|
-
'America/Los_Angeles',
|
|
33
|
-
'America/New_York',
|
|
34
|
-
'Europe/London',
|
|
35
|
-
'UTC',
|
|
36
|
-
];
|
|
37
23
|
export function WorkspaceSettingsPage() {
|
|
38
24
|
const { workspace, isLoading, error } = useWorkspace();
|
|
39
25
|
if (error !== null) {
|
|
@@ -54,9 +40,6 @@ function WorkspaceSettingsForm({ workspace, }) {
|
|
|
54
40
|
const [timezone, setTimezone] = useState(workspace.timezone);
|
|
55
41
|
const [saved, setSaved] = useState(false);
|
|
56
42
|
const canEdit = session?.role === 'owner' || session?.role === 'admin';
|
|
57
|
-
const timezones = COMMON_TIMEZONES.includes(timezone)
|
|
58
|
-
? [...COMMON_TIMEZONES]
|
|
59
|
-
: [timezone, ...COMMON_TIMEZONES];
|
|
60
43
|
function save(event) {
|
|
61
44
|
event.preventDefault();
|
|
62
45
|
setSaved(false);
|
|
@@ -75,9 +58,7 @@ function WorkspaceSettingsForm({ workspace, }) {
|
|
|
75
58
|
setName(event.target.value);
|
|
76
59
|
}, required: true, disabled: !canEdit, className: "w-full max-w-md rounded-md border border-border bg-surface-raised px-3 py-2 text-[13px] outline-none focus:border-accent focus:ring-2 focus:ring-accent/20 disabled:opacity-60" }) }), _jsx(Field, { label: "Slug", hint: "Lowercase letters, digits, and hyphens. It appears in URLs.", children: _jsx("input", { value: slug, onChange: (event) => {
|
|
77
60
|
setSlug(event.target.value);
|
|
78
|
-
}, required: true, disabled: !canEdit, className: "w-full max-w-md rounded-md border border-border bg-surface-raised px-3 py-2 font-mono text-[13px] outline-none focus:border-accent focus:ring-2 focus:ring-accent/20 disabled:opacity-60" }) }), _jsx(Field, { label: "Timezone", children: _jsx("
|
|
79
|
-
setTimezone(event.target.value);
|
|
80
|
-
}, disabled: !canEdit, className: "w-full max-w-md rounded-md border border-border bg-surface-raised px-3 py-2 text-[13px] outline-none focus:border-accent disabled:opacity-60", children: timezones.map((zone) => (_jsx("option", { value: zone, children: zone }, zone))) }) }), update.error !== null && (_jsx("div", { className: "max-w-xl", children: _jsx(ErrorPanel, { error: update.error }) })), canEdit ? (_jsx("button", { type: "submit", disabled: update.isPending, className: "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: update.isPending ? 'Saving…' : saved ? 'Saved' : 'Save changes' })) : (_jsx("p", { className: "text-[12px] text-ink-muted", children: "Workspace settings are changed by an admin or the owner." }))] }), _jsx(OwnCompanySection, { canEdit: canEdit }), session?.role === 'owner' && _jsx(DangerZone, { slug: workspace.slug })] }));
|
|
61
|
+
}, required: true, disabled: !canEdit, className: "w-full max-w-md rounded-md border border-border bg-surface-raised px-3 py-2 font-mono text-[13px] outline-none focus:border-accent focus:ring-2 focus:ring-accent/20 disabled:opacity-60" }) }), _jsx(Field, { label: "Timezone", children: _jsx("div", { className: "max-w-md", children: _jsx(TimezoneSearch, { value: timezone, onChange: setTimezone, required: true, disabled: !canEdit, size: "md" }) }) }), update.error !== null && (_jsx("div", { className: "max-w-xl", children: _jsx(ErrorPanel, { error: update.error }) })), canEdit ? (_jsx("button", { type: "submit", disabled: update.isPending, className: "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: update.isPending ? 'Saving…' : saved ? 'Saved' : 'Save changes' })) : (_jsx("p", { className: "text-[12px] text-ink-muted", children: "Workspace settings are changed by an admin or the owner." }))] }), _jsx(OwnCompanySection, { canEdit: canEdit }), session?.role === 'owner' && _jsx(DangerZone, { slug: workspace.slug })] }));
|
|
81
62
|
}
|
|
82
63
|
/**
|
|
83
64
|
* Mark one or more Companies as "us" — the workspace's own organisation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceSettingsPage.js","sourceRoot":"","sources":["../../../src/pages/admin/WorkspaceSettingsPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAC3D,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,GACb,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAmC,CAAA;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAiC,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"WorkspaceSettingsPage.js","sourceRoot":"","sources":["../../../src/pages/admin/WorkspaceSettingsPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -43,4 +43,22 @@ export declare function SecondaryButton({ label, onClick, disabled, }: {
|
|
|
43
43
|
readonly onClick: () => void;
|
|
44
44
|
readonly disabled?: boolean;
|
|
45
45
|
}): React.JSX.Element;
|
|
46
|
+
/**
|
|
47
|
+
* A labelled rule, for a module separating its own buttons from the password
|
|
48
|
+
* form above them. Core never renders one itself; see `AuthMethods`.
|
|
49
|
+
*/
|
|
50
|
+
export declare function AuthDivider({ label }: {
|
|
51
|
+
readonly label?: string;
|
|
52
|
+
}): React.JSX.Element;
|
|
53
|
+
/**
|
|
54
|
+
* The secondary button as a link.
|
|
55
|
+
*
|
|
56
|
+
* A plain anchor, not a router link: a sign-in method leaves the app for its
|
|
57
|
+
* provider, and the destination is a server route the SPA router knows nothing
|
|
58
|
+
* about.
|
|
59
|
+
*/
|
|
60
|
+
export declare function AuthLinkButton({ label, href, }: {
|
|
61
|
+
readonly label: string;
|
|
62
|
+
readonly href: string;
|
|
63
|
+
}): React.JSX.Element;
|
|
46
64
|
//# sourceMappingURL=AuthForm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthForm.d.ts","sourceRoot":"","sources":["../../../src/pages/auth/AuthForm.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,+IACiH,CAAA;AAE9I,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAA;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,uFAAuF;IACvF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,IAAa,EACb,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,QAAgB,EAChB,IAAY,GACb,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAkBpC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,kFAAkF;IAClF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B;AAKD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,YAAY,EACZ,SAAS,GACV,EAAE,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAMvC;AAED,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,OAAO,GACR,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAC7B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAMpB;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,OAAO,EACP,QAAgB,GACjB,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC5B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAWpB"}
|
|
1
|
+
{"version":3,"file":"AuthForm.d.ts","sourceRoot":"","sources":["../../../src/pages/auth/AuthForm.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,+IACiH,CAAA;AAE9I,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAA;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,uFAAuF;IACvF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,IAAa,EACb,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,QAAgB,EAChB,IAAY,GACb,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAkBpC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,kFAAkF;IAClF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B;AAKD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,YAAY,EACZ,SAAS,GACV,EAAE,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAMvC;AAED,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,OAAO,GACR,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAC7B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAMpB;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,OAAO,EACP,QAAgB,GACjB,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC5B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAWpB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,KAAY,EAAE,EAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAQ5F;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,IAAI,GACL,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CASpB"}
|
|
@@ -29,4 +29,21 @@ export function PrimaryButton({ label, onClick, }) {
|
|
|
29
29
|
export function SecondaryButton({ label, onClick, disabled = false, }) {
|
|
30
30
|
return (_jsx("button", { type: "button", onClick: onClick, disabled: disabled, className: "w-full rounded-md border border-border bg-surface px-3.5 py-2 text-[12px] font-medium text-ink-muted transition hover:bg-surface-raised disabled:opacity-50", children: label }));
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* A labelled rule, for a module separating its own buttons from the password
|
|
34
|
+
* form above them. Core never renders one itself; see `AuthMethods`.
|
|
35
|
+
*/
|
|
36
|
+
export function AuthDivider({ label = 'or' }) {
|
|
37
|
+
return (_jsxs("div", { className: "flex items-center gap-3 py-1", children: [_jsx("span", { className: "h-px flex-1 bg-border" }), _jsx("span", { className: "text-[11px] text-ink-faint", children: label }), _jsx("span", { className: "h-px flex-1 bg-border" })] }));
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The secondary button as a link.
|
|
41
|
+
*
|
|
42
|
+
* A plain anchor, not a router link: a sign-in method leaves the app for its
|
|
43
|
+
* provider, and the destination is a server route the SPA router knows nothing
|
|
44
|
+
* about.
|
|
45
|
+
*/
|
|
46
|
+
export function AuthLinkButton({ label, href, }) {
|
|
47
|
+
return (_jsx("a", { href: href, className: "block w-full rounded-md border border-border bg-surface px-3.5 py-2 text-center text-[12px] font-medium text-ink-muted transition hover:bg-surface-raised", children: label }));
|
|
48
|
+
}
|
|
32
49
|
//# sourceMappingURL=AuthForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthForm.js","sourceRoot":"","sources":["../../../src/pages/auth/AuthForm.tsx"],"names":[],"mappings":";AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAC3B,4IAA4I,CAAA;AAgB9I,MAAM,UAAU,SAAS,CAAC,EACxB,KAAK,EACL,IAAI,GAAG,MAAM,EACb,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,QAAQ,GAAG,KAAK,EAChB,IAAI,GAAG,KAAK,GACG;IACf,OAAO,CACL,iBAAO,SAAS,EAAC,OAAO,aACtB,eAAM,SAAS,EAAC,+CAA+C,YAAE,KAAK,GAAQ,EAC9E,gBACE,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC9B,CAAC,EACD,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAgB,YAAY,CAAC,CAAC,CAAC,gBAAgB,GACpE,EACD,IAAI,KAAK,SAAS,IAAI,eAAM,SAAS,EAAC,uCAAuC,YAAE,IAAI,GAAQ,IACtF,CACT,CAAA;AACH,CAAC;AASD,MAAM,aAAa,GACjB,uIAAuI,CAAA;AAEzI,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,YAAY,EACZ,SAAS,GACS;IAClB,OAAO,CACL,iBAAQ,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,YAChE,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,GAC1B,CACV,CAAA;AACH,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,aAAa,CAAC,EAC5B,KAAK,EACL,OAAO,GAIR;IACC,OAAO,CACL,iBAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,YAC7D,KAAK,GACC,CACV,CAAA;AACH,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,OAAO,EACP,QAAQ,GAAG,KAAK,GAKjB;IACC,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,6JAA6J,YAEtK,KAAK,GACC,CACV,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"AuthForm.js","sourceRoot":"","sources":["../../../src/pages/auth/AuthForm.tsx"],"names":[],"mappings":";AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAC3B,4IAA4I,CAAA;AAgB9I,MAAM,UAAU,SAAS,CAAC,EACxB,KAAK,EACL,IAAI,GAAG,MAAM,EACb,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,QAAQ,GAAG,KAAK,EAChB,IAAI,GAAG,KAAK,GACG;IACf,OAAO,CACL,iBAAO,SAAS,EAAC,OAAO,aACtB,eAAM,SAAS,EAAC,+CAA+C,YAAE,KAAK,GAAQ,EAC9E,gBACE,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC9B,CAAC,EACD,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAgB,YAAY,CAAC,CAAC,CAAC,gBAAgB,GACpE,EACD,IAAI,KAAK,SAAS,IAAI,eAAM,SAAS,EAAC,uCAAuC,YAAE,IAAI,GAAQ,IACtF,CACT,CAAA;AACH,CAAC;AASD,MAAM,aAAa,GACjB,uIAAuI,CAAA;AAEzI,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,YAAY,EACZ,SAAS,GACS;IAClB,OAAO,CACL,iBAAQ,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,YAChE,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,GAC1B,CACV,CAAA;AACH,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,aAAa,CAAC,EAC5B,KAAK,EACL,OAAO,GAIR;IACC,OAAO,CACL,iBAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,YAC7D,KAAK,GACC,CACV,CAAA;AACH,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,OAAO,EACP,QAAQ,GAAG,KAAK,GAKjB;IACC,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,6JAA6J,YAEtK,KAAK,GACC,CACV,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,GAAG,IAAI,EAA+B;IACvE,OAAO,CACL,eAAK,SAAS,EAAC,8BAA8B,aAC3C,eAAM,SAAS,EAAC,uBAAuB,GAAG,EAC1C,eAAM,SAAS,EAAC,4BAA4B,YAAE,KAAK,GAAQ,EAC3D,eAAM,SAAS,EAAC,uBAAuB,GAAG,IACtC,CACP,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,EACL,IAAI,GAIL;IACC,OAAO,CACL,YACE,IAAI,EAAE,IAAI,EACV,SAAS,EAAC,2JAA2J,YAEpK,KAAK,GACJ,CACL,CAAA;AACH,CAAC"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
/**
|
|
3
3
|
* The centred card every signed-out page sits in: sign in, signup, the two
|
|
4
|
-
* password-reset pages, and the
|
|
4
|
+
* password-reset pages, and the five onboarding steps.
|
|
5
5
|
*
|
|
6
6
|
* `step` is what makes it an onboarding page. Onboarding is a sequence somebody
|
|
7
7
|
* is part-way through, and a card that does not say where they are in it turns
|
|
8
|
-
*
|
|
8
|
+
* five screens into five unrelated forms. The region switcher stays off
|
|
9
|
+
* those steps: a session already exists on this origin.
|
|
9
10
|
*/
|
|
10
|
-
/** Onboarding, per `onboarding.md`: workspace, invites, handbook. */
|
|
11
|
-
declare const ONBOARDING_STEPS: readonly [1, 2, 3];
|
|
11
|
+
/** Onboarding, per `onboarding.md`: workspace, organisation, modules, invites, handbook. */
|
|
12
|
+
declare const ONBOARDING_STEPS: readonly [1, 2, 3, 4, 5];
|
|
12
13
|
export type OnboardingStep = (typeof ONBOARDING_STEPS)[number];
|
|
13
14
|
export interface AuthLayoutProps {
|
|
14
15
|
readonly title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthLayout.d.ts","sourceRoot":"","sources":["../../../src/pages/auth/AuthLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"AuthLayout.d.ts","sourceRoot":"","sources":["../../../src/pages/auth/AuthLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC;;;;;;;;GAQG;AAEH,4FAA4F;AAC5F,QAAA,MAAM,gBAAgB,YAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAU,CAAA;AAEjD,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE9D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,iFAAiF;IACjF,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAC5B;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,MAAM,GACP,EAAE,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsBrC"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Link } from 'react-router';
|
|
3
|
+
import { RegionSwitcher } from './RegionSwitcher.js';
|
|
3
4
|
/**
|
|
4
5
|
* The centred card every signed-out page sits in: sign in, signup, the two
|
|
5
|
-
* password-reset pages, and the
|
|
6
|
+
* password-reset pages, and the five onboarding steps.
|
|
6
7
|
*
|
|
7
8
|
* `step` is what makes it an onboarding page. Onboarding is a sequence somebody
|
|
8
9
|
* is part-way through, and a card that does not say where they are in it turns
|
|
9
|
-
*
|
|
10
|
+
* five screens into five unrelated forms. The region switcher stays off
|
|
11
|
+
* those steps: a session already exists on this origin.
|
|
10
12
|
*/
|
|
11
|
-
/** Onboarding, per `onboarding.md`: workspace, invites, handbook. */
|
|
12
|
-
const ONBOARDING_STEPS = [1, 2, 3];
|
|
13
|
+
/** Onboarding, per `onboarding.md`: workspace, organisation, modules, invites, handbook. */
|
|
14
|
+
const ONBOARDING_STEPS = [1, 2, 3, 4, 5];
|
|
13
15
|
export function AuthLayout({ title, description, step, children, footer, }) {
|
|
14
|
-
return (_jsxs("div", { className: "flex min-h-screen flex-col items-center justify-center bg-surface px-4 py-12", children: [_jsx(Link, { to: "/login", className: "mb-8 text-[20px] font-semibold tracking-tight text-ink", children: "Kelpie" }), _jsxs("div", { className: `w-full animate-fade-in rounded-md border border-border p-6 ${step === undefined ? 'max-w-sm' : 'max-w-md'}`, children: [step !== undefined && _jsx(StepProgress, { step: step }), _jsx("h1", { className: "text-[18px] font-semibold tracking-tight text-ink", children: title }), description !== undefined && (_jsx("p", { className: "mt-1 text-[13px] text-ink-muted", children: description })), children, footer !== undefined && _jsx("div", { className: "mt-4 text-center text-[12px]", children: footer })] })] }));
|
|
16
|
+
return (_jsxs("div", { className: "flex min-h-screen flex-col items-center justify-center bg-surface px-4 py-12", children: [_jsx(Link, { to: "/login", className: "mb-8 text-[20px] font-semibold tracking-tight text-ink", children: "Kelpie" }), _jsxs("div", { className: `w-full animate-fade-in rounded-md border border-border p-6 ${step === undefined ? 'max-w-sm' : 'max-w-md'}`, children: [step !== undefined && _jsx(StepProgress, { step: step }), _jsx("h1", { className: "text-[18px] font-semibold tracking-tight text-ink", children: title }), description !== undefined && (_jsx("p", { className: "mt-1 text-[13px] text-ink-muted", children: description })), children, footer !== undefined && _jsx("div", { className: "mt-4 text-center text-[12px]", children: footer })] }), step === undefined && _jsx(RegionSwitcher, {})] }));
|
|
15
17
|
}
|
|
16
18
|
function StepProgress({ step }) {
|
|
17
19
|
return (_jsxs(_Fragment, { children: [_jsx("div", { className: "mb-4 flex items-center gap-2", children: ONBOARDING_STEPS.map((each) => (_jsx("div", { "aria-hidden": true, className: `h-1.5 flex-1 rounded-full ${each <= step ? 'bg-accent' : 'bg-border'}` }, each))) }), _jsxs("p", { className: "mb-1 text-[11px] font-medium tracking-wide text-ink-faint uppercase", children: ["Step ", step, " of ", ONBOARDING_STEPS.length] })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthLayout.js","sourceRoot":"","sources":["../../../src/pages/auth/AuthLayout.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAEnC
|
|
1
|
+
{"version":3,"file":"AuthLayout.js","sourceRoot":"","sources":["../../../src/pages/auth/AuthLayout.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAsB,CAAA;AAErD;;;;;;;;GAQG;AAEH,4FAA4F;AAC5F,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAU,CAAA;AAcjD,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,MAAM,GACU;IAChB,OAAO,CACL,eAAK,SAAS,EAAC,8EAA8E,aAC3F,KAAC,IAAI,IAAC,EAAE,EAAC,QAAQ,EAAC,SAAS,EAAC,wDAAwD,uBAE7E,EACP,eACE,SAAS,EAAE,8DACT,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UACpC,EAAE,aAED,IAAI,KAAK,SAAS,IAAI,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,GAAI,EACnD,aAAI,SAAS,EAAC,mDAAmD,YAAE,KAAK,GAAM,EAC7E,WAAW,KAAK,SAAS,IAAI,CAC5B,YAAG,SAAS,EAAC,iCAAiC,YAAE,WAAW,GAAK,CACjE,EACA,QAAQ,EACR,MAAM,KAAK,SAAS,IAAI,cAAK,SAAS,EAAC,8BAA8B,YAAE,MAAM,GAAO,IACjF,EACL,IAAI,KAAK,SAAS,IAAI,KAAC,cAAc,KAAG,IACrC,CACP,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,IAAI,EAAqC;IAC/D,OAAO,CACL,8BACE,cAAK,SAAS,EAAC,8BAA8B,YAC1C,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC9B,mCAGE,SAAS,EAAE,6BAA6B,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,IAF7E,IAAI,CAGT,CACH,CAAC,GACE,EACN,aAAG,SAAS,EAAC,qEAAqE,sBAC1E,IAAI,UAAM,gBAAgB,CAAC,MAAM,IACrC,IACH,CACJ,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AuthMethodContext } from '../../registry/contributions.ts';
|
|
2
|
+
/**
|
|
3
|
+
* The `auth.methods` slot, rendered by the signed-out pages beside their form.
|
|
4
|
+
*
|
|
5
|
+
* Nothing is drawn around the contributions: no divider, no "or" rule. Whether
|
|
6
|
+
* a module has anything to show is decided at run time (a sign-in module with
|
|
7
|
+
* no provider configured renders nothing), so core framing would leave a
|
|
8
|
+
* heading over an empty space. A module that draws buttons draws its own
|
|
9
|
+
* divider with `AuthDivider`.
|
|
10
|
+
*/
|
|
11
|
+
export declare function AuthMethods({ intent, next }: AuthMethodContext): React.JSX.Element | null;
|
|
12
|
+
//# sourceMappingURL=AuthMethods.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthMethods.d.ts","sourceRoot":"","sources":["../../../src/pages/auth/AuthMethods.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAExE;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAczF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Fragment } from 'react';
|
|
3
|
+
import { useAuthMethods } from '../../registry/context.js';
|
|
4
|
+
/**
|
|
5
|
+
* The `auth.methods` slot, rendered by the signed-out pages beside their form.
|
|
6
|
+
*
|
|
7
|
+
* Nothing is drawn around the contributions: no divider, no "or" rule. Whether
|
|
8
|
+
* a module has anything to show is decided at run time (a sign-in module with
|
|
9
|
+
* no provider configured renders nothing), so core framing would leave a
|
|
10
|
+
* heading over an empty space. A module that draws buttons draws its own
|
|
11
|
+
* divider with `AuthDivider`.
|
|
12
|
+
*/
|
|
13
|
+
export function AuthMethods({ intent, next }) {
|
|
14
|
+
const methods = useAuthMethods();
|
|
15
|
+
if (methods.length === 0) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
return (_jsx("div", { className: "mt-4 space-y-2", children: methods.map((method) => (_jsx(Fragment, { children: method.render({ intent, next }) }, method.id))) }));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=AuthMethods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthMethods.js","sourceRoot":"","sources":["../../../src/pages/auth/AuthMethods.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG1D;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAqB;IAC7D,MAAM,OAAO,GAAG,cAAc,EAAE,CAAA;IAEhC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,gBAAgB,YAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,QAAQ,cAAkB,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAA3C,MAAM,CAAC,EAAE,CAA8C,CACvE,CAAC,GACE,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A region picker for signed-out pages.
|
|
3
|
+
*
|
|
4
|
+
* Hidden unless public config lists two or more origins. Selecting another
|
|
5
|
+
* region leaves this origin: the session cookie is host-scoped, so the
|
|
6
|
+
* browser has to load the other host's login page. Path, query, and hash
|
|
7
|
+
* stay, so `/login?next=` and invite tokens survive the hop.
|
|
8
|
+
*/
|
|
9
|
+
export declare function RegionSwitcher(): React.JSX.Element | null;
|
|
10
|
+
//# sourceMappingURL=RegionSwitcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RegionSwitcher.d.ts","sourceRoot":"","sources":["../../../src/pages/auth/RegionSwitcher.tsx"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AAEH,wBAAgB,cAAc,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAyCzD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { usePublicConfig } from '../../api/resources/publicConfig.js';
|
|
3
|
+
import { regionHref } from './regionHref.js';
|
|
4
|
+
/**
|
|
5
|
+
* A region picker for signed-out pages.
|
|
6
|
+
*
|
|
7
|
+
* Hidden unless public config lists two or more origins. Selecting another
|
|
8
|
+
* region leaves this origin: the session cookie is host-scoped, so the
|
|
9
|
+
* browser has to load the other host's login page. Path, query, and hash
|
|
10
|
+
* stay, so `/login?next=` and invite tokens survive the hop.
|
|
11
|
+
*/
|
|
12
|
+
export function RegionSwitcher() {
|
|
13
|
+
const { config } = usePublicConfig();
|
|
14
|
+
const regions = config?.regions ?? [];
|
|
15
|
+
if (regions.length < 2) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const current = regions.find((region) => region.origin === window.location.origin);
|
|
19
|
+
function change(event) {
|
|
20
|
+
const selected = regions.find((region) => region.id === event.target.value);
|
|
21
|
+
if (selected === undefined || selected.origin === window.location.origin) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
window.location.assign(regionHref(selected.origin, window.location));
|
|
25
|
+
}
|
|
26
|
+
return (_jsxs("label", { className: "mt-6 block w-full max-w-sm", children: [_jsx("span", { className: "mb-1.5 block text-[12px] font-medium text-ink", children: "Region" }), _jsxs("select", { className: "w-full rounded-md border border-border bg-transparent px-2 py-1 text-[13px] outline-none focus:border-accent", value: current?.id ?? '', onChange: change, children: [current === undefined && (_jsx("option", { value: "", disabled: true, children: "Select a region" })), regions.map((region) => (_jsx("option", { value: region.id, children: region.label }, region.id)))] })] }));
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=RegionSwitcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RegionSwitcher.js","sourceRoot":"","sources":["../../../src/pages/auth/RegionSwitcher.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C;;;;;;;GAOG;AAEH,MAAM,UAAU,cAAc;IAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAAA;IACpC,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,EAAE,CAAA;IAErC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAElF,SAAS,MAAM,CAAC,KAAqC;QACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAE3E,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACzE,OAAM;QACR,CAAC;QAED,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;IACtE,CAAC;IAED,OAAO,CACL,iBAAO,SAAS,EAAC,4BAA4B,aAC3C,eAAM,SAAS,EAAC,+CAA+C,uBAAc,EAC7E,kBACE,SAAS,EAAC,8GAA8G,EACxH,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EACxB,QAAQ,EAAE,MAAM,aAEf,OAAO,KAAK,SAAS,IAAI,CACxB,iBAAQ,KAAK,EAAC,EAAE,EAAC,QAAQ,sCAEhB,CACV,EACA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,iBAAwB,KAAK,EAAE,MAAM,CAAC,EAAE,YACrC,MAAM,CAAC,KAAK,IADF,MAAM,CAAC,EAAE,CAEb,CACV,CAAC,IACK,IACH,CACT,CAAA;AACH,CAAC"}
|
|
@@ -1,2 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sign in, against `POST /v1/auth/login`.
|
|
3
|
+
*
|
|
4
|
+
* Where the browser goes afterwards is not always the app. An invitation link
|
|
5
|
+
* sends its token through `?next=`, and dropping it would land the invitee on
|
|
6
|
+
* People with the invitation still unaccepted.
|
|
7
|
+
*/
|
|
1
8
|
export declare function SignInPage(): React.JSX.Element;
|
|
2
9
|
//# sourceMappingURL=SignInPage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignInPage.d.ts","sourceRoot":"","sources":["../../../src/pages/auth/SignInPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SignInPage.d.ts","sourceRoot":"","sources":["../../../src/pages/auth/SignInPage.tsx"],"names":[],"mappings":"AAYA;;;;;;GAMG;AAEH,wBAAgB,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CA6D9C"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { Link, useNavigate, useSearchParams } from 'react-router';
|
|
4
|
+
import { usePublicConfig } from '../../api/resources/publicConfig.js';
|
|
4
5
|
import { useLogIn } from '../../api/resources/session.js';
|
|
5
6
|
import { ErrorPanel } from '../../components/QueryState.js';
|
|
6
7
|
import { SubmitButton, TextField } from './AuthForm.js';
|
|
7
8
|
import { AuthLayout } from './AuthLayout.js';
|
|
9
|
+
import { AuthMethods } from './AuthMethods.js';
|
|
10
|
+
import { safeNext } from './nextPath.js';
|
|
8
11
|
/**
|
|
9
12
|
* Sign in, against `POST /v1/auth/login`.
|
|
10
13
|
*
|
|
@@ -12,17 +15,11 @@ import { AuthLayout } from './AuthLayout.js';
|
|
|
12
15
|
* sends its token through `?next=`, and dropping it would land the invitee on
|
|
13
16
|
* People with the invitation still unaccepted.
|
|
14
17
|
*/
|
|
15
|
-
/**
|
|
16
|
-
* Only a path within this app. An absolute URL in `?next=` would turn the
|
|
17
|
-
* sign-in form into an open redirect.
|
|
18
|
-
*/
|
|
19
|
-
function safeNext(value) {
|
|
20
|
-
return value !== null && value.startsWith('/') && !value.startsWith('//') ? value : '/dashboard';
|
|
21
|
-
}
|
|
22
18
|
export function SignInPage() {
|
|
23
19
|
const navigate = useNavigate();
|
|
24
20
|
const [searchParameters] = useSearchParams();
|
|
25
21
|
const logIn = useLogIn();
|
|
22
|
+
const { config } = usePublicConfig();
|
|
26
23
|
const [email, setEmail] = useState('');
|
|
27
24
|
const [password, setPassword] = useState('');
|
|
28
25
|
const next = safeNext(searchParameters.get('next'));
|
|
@@ -33,6 +30,6 @@ export function SignInPage() {
|
|
|
33
30
|
.then(() => navigate(next, { replace: true }))
|
|
34
31
|
.catch(() => undefined);
|
|
35
32
|
}
|
|
36
|
-
return (
|
|
33
|
+
return (_jsxs(AuthLayout, { title: "Sign in", footer: _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(Link, { to: "/forgot-password", className: "font-medium text-accent hover:underline", children: "Forgot password?" }), config?.signupsEnabled !== false && (_jsxs("span", { className: "text-ink-muted", children: ["No account?", ' ', _jsx(Link, { to: "/signup", className: "font-medium text-accent hover:underline", children: "Sign up" })] }))] }), children: [_jsxs("form", { onSubmit: submit, className: "mt-5 space-y-3", children: [_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: "current-password", required: true }), logIn.error !== null && _jsx(ErrorPanel, { error: logIn.error }), _jsx(SubmitButton, { label: "Sign in", pendingLabel: "Signing in\u2026", isPending: logIn.isPending })] }), _jsx(AuthMethods, { intent: "login", next: next })] }));
|
|
37
34
|
}
|
|
38
35
|
//# sourceMappingURL=SignInPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignInPage.js","sourceRoot":"","sources":["../../../src/pages/auth/SignInPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AACzD,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;
|
|
1
|
+
{"version":3,"file":"SignInPage.js","sourceRoot":"","sources":["../../../src/pages/auth/SignInPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AACzD,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;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAmB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC;;;;;;GAMG;AAEH,MAAM,UAAU,UAAU;IACxB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,CAAC,gBAAgB,CAAC,GAAG,eAAe,EAAE,CAAA;IAC5C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAAA;IACpC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IACtC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAE5C,MAAM,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAEnD,SAAS,MAAM,CAAC,KAAgB;QAC9B,KAAK,CAAC,cAAc,EAAE,CAAA;QAEtB,KAAK;aACF,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC;aAC3C,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;aAC7C,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,CACL,MAAC,UAAU,IACT,KAAK,EAAC,SAAS,EACf,MAAM,EACJ,eAAK,SAAS,EAAC,uBAAuB,aACpC,KAAC,IAAI,IAAC,EAAE,EAAC,kBAAkB,EAAC,SAAS,EAAC,yCAAyC,iCAExE,EACN,MAAM,EAAE,cAAc,KAAK,KAAK,IAAI,CACnC,gBAAM,SAAS,EAAC,gBAAgB,4BAClB,GAAG,EACf,KAAC,IAAI,IAAC,EAAE,EAAC,SAAS,EAAC,SAAS,EAAC,yCAAyC,wBAE/D,IACF,CACR,IACG,aAGR,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,EACF,KAAC,SAAS,IACR,KAAK,EAAC,UAAU,EAChB,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,WAAW,EACrB,YAAY,EAAC,kBAAkB,EAC/B,QAAQ,SACR,EACD,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,EAC3D,KAAC,YAAY,IAAC,KAAK,EAAC,SAAS,EAAC,YAAY,EAAC,kBAAa,EAAC,SAAS,EAAE,KAAK,CAAC,SAAS,GAAI,IAClF,EACP,KAAC,WAAW,IAAC,MAAM,EAAC,OAAO,EAAC,IAAI,EAAE,IAAI,GAAI,IAC/B,CACd,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignUpPage.d.ts","sourceRoot":"","sources":["../../../src/pages/auth/SignUpPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SignUpPage.d.ts","sourceRoot":"","sources":["../../../src/pages/auth/SignUpPage.tsx"],"names":[],"mappings":"AAYA;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAyG9C"}
|
|
@@ -2,10 +2,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { MINIMUM_PASSWORD_LENGTH } from '@kelpie/schemas';
|
|
3
3
|
import { useState } from 'react';
|
|
4
4
|
import { Link, useNavigate } from 'react-router';
|
|
5
|
+
import { usePublicConfig } from '../../api/resources/publicConfig.js';
|
|
5
6
|
import { useSignUp } from '../../api/resources/session.js';
|
|
6
7
|
import { ErrorPanel } from '../../components/QueryState.js';
|
|
7
8
|
import { SubmitButton, TextField } from './AuthForm.js';
|
|
8
9
|
import { AuthLayout } from './AuthLayout.js';
|
|
10
|
+
import { AuthMethods } from './AuthMethods.js';
|
|
9
11
|
/**
|
|
10
12
|
* Creating an account, against `POST /v1/auth/signup`.
|
|
11
13
|
*
|
|
@@ -22,10 +24,16 @@ import { AuthLayout } from './AuthLayout.js';
|
|
|
22
24
|
export function SignUpPage() {
|
|
23
25
|
const navigate = useNavigate();
|
|
24
26
|
const signUp = useSignUp();
|
|
27
|
+
const { config } = usePublicConfig();
|
|
25
28
|
const [name, setName] = useState('');
|
|
26
29
|
const [email, setEmail] = useState('');
|
|
27
30
|
const [password, setPassword] = useState('');
|
|
28
31
|
const [localError, setLocalError] = useState(null);
|
|
32
|
+
// Undefined (still loading) renders the form, same as the server's own
|
|
33
|
+
// default: a caller that has not thought about it sees no change.
|
|
34
|
+
if (config?.signupsEnabled === false) {
|
|
35
|
+
return (_jsx(AuthLayout, { title: "Signups are closed", 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: _jsx("p", { className: "mt-5 text-ink-muted", children: "This instance is not accepting new accounts right now. If you were invited to a workspace, use the link from your invitation email instead." }) }));
|
|
36
|
+
}
|
|
29
37
|
function submit(event) {
|
|
30
38
|
event.preventDefault();
|
|
31
39
|
// Checked here as well as by the service so the rule is stated before a
|
|
@@ -44,6 +52,6 @@ export function SignUpPage() {
|
|
|
44
52
|
.then(() => navigate('/verify-email/pending', { replace: true }))
|
|
45
53
|
.catch(() => undefined);
|
|
46
54
|
}
|
|
47
|
-
return (
|
|
55
|
+
return (_jsxs(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 })] }), _jsx(AuthMethods, { intent: "signup", next: "/dashboard" })] }));
|
|
48
56
|
}
|
|
49
57
|
//# 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;
|
|
1
|
+
{"version":3,"file":"SignUpPage.js","sourceRoot":"","sources":["../../../src/pages/auth/SignUpPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a signed-out page sends the browser once it is signed in.
|
|
3
|
+
*
|
|
4
|
+
* Its own file rather than beside the form controls: a module exporting a
|
|
5
|
+
* component and a function from one file loses Fast Refresh, and this is
|
|
6
|
+
* exported to modules, which is the reason it is not page-local. A module
|
|
7
|
+
* contributing a sign-in method is handed the result and has to be able to
|
|
8
|
+
* rely on what it means.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Only a path within this app. An absolute URL in `?next=` would turn a
|
|
12
|
+
* sign-in page into an open redirect.
|
|
13
|
+
*/
|
|
14
|
+
export declare function safeNext(value: string | null): string;
|
|
15
|
+
//# sourceMappingURL=nextPath.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nextPath.d.ts","sourceRoot":"","sources":["../../../src/pages/auth/nextPath.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAErD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a signed-out page sends the browser once it is signed in.
|
|
3
|
+
*
|
|
4
|
+
* Its own file rather than beside the form controls: a module exporting a
|
|
5
|
+
* component and a function from one file loses Fast Refresh, and this is
|
|
6
|
+
* exported to modules, which is the reason it is not page-local. A module
|
|
7
|
+
* contributing a sign-in method is handed the result and has to be able to
|
|
8
|
+
* rely on what it means.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Only a path within this app. An absolute URL in `?next=` would turn a
|
|
12
|
+
* sign-in page into an open redirect.
|
|
13
|
+
*/
|
|
14
|
+
export function safeNext(value) {
|
|
15
|
+
return value !== null && value.startsWith('/') && !value.startsWith('//') ? value : '/dashboard';
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=nextPath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nextPath.js","sourceRoot":"","sources":["../../../src/pages/auth/nextPath.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAA;AAClG,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The URL a region switcher navigates to: the other origin, plus the path,
|
|
3
|
+
* query, and hash the reader is already on.
|
|
4
|
+
*/
|
|
5
|
+
export declare function regionHref(origin: string, location: Pick<Location, 'pathname' | 'search' | 'hash'>): string;
|
|
6
|
+
//# sourceMappingURL=regionHref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regionHref.d.ts","sourceRoot":"","sources":["../../../src/pages/auth/regionHref.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC,GACvD,MAAM,CAER"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The URL a region switcher navigates to: the other origin, plus the path,
|
|
3
|
+
* query, and hash the reader is already on.
|
|
4
|
+
*/
|
|
5
|
+
export function regionHref(origin, location) {
|
|
6
|
+
return `${origin}${location.pathname}${location.search}${location.hash}`;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=regionHref.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regionHref.js","sourceRoot":"","sources":["../../../src/pages/auth/regionHref.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,MAAc,EACd,QAAwD;IAExD,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;AAC1E,CAAC"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The workspace home: what is open, what is late, and what happened lately.
|
|
3
|
+
*
|
|
4
|
+
* One request, not seven. `GET /v1/dashboard` answers the whole page, with the
|
|
5
|
+
* name of every record it points at already resolved, so this file holds no
|
|
6
|
+
* fetching beyond the two directories the shell needs anyway — the workspace,
|
|
7
|
+
* for its name, and the team, to turn an author id into a person.
|
|
8
|
+
*/
|
|
1
9
|
export declare function DashboardPage(): React.JSX.Element;
|
|
2
10
|
//# sourceMappingURL=DashboardPage.d.ts.map
|
|
@@ -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":"AAYA;;;;;;;GAOG;AAEH,wBAAgB,aAAa,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CA+BjD"}
|