@fayz-ai/saas 0.6.6 → 0.7.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/README.md CHANGED
@@ -10,7 +10,7 @@ This is where the Fayz pitch becomes a product. `@fayz-ai/saas` is the multi-ten
10
10
  A salon and a clinic ship from the same engine — `@fayz-ai/saas` is the part that makes each one a real, isolated, billable tenant. Plugins snap in; this layer gives them an org to live in, a user to act as, and a shell to render through.
11
11
 
12
12
  ## What's inside
13
- - **App factory** — `defineSaas`, `createSaasApp`, `createFayzApp`, `AdminScaffold`, `AdminShell`, `LoginPage` (manifest-first admin entry)
13
+ - **App factory** — `defineSaas`, `AdminScaffold`, `AdminShell`, `LoginPage` (manifest-first admin entry)
14
14
  - **CRUD engine** — `CrudPage`, `CrudListView`, `CrudFormPage`, `CrudDetailPage`, `CrudCardGrid`, `createCrudPage`, `ImportWizard`, `exportToCSV`
15
15
  - **Org / multi-tenancy** — `createSupabaseOrgAdapter`, `createMockOrgAdapter`, `OrgProvider`, `useTenant`, `useOrganizationStore`
16
16
  - **Permissions** — `PermissionsProvider`, `PermissionGate`, `usePermission`, `useHasPermission`, `usePermissions`
@@ -1 +1 @@
1
- {"version":3,"file":"useModuleNavigation.d.ts","sourceRoot":"","sources":["../../src/hooks/useModuleNavigation.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,CAAA;AAE7C;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAW7C;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,SAAY;;;;yBA6ErD,MAAM,SAAS,MAAM;;0BA8BpB,MAAM;EAWhD"}
1
+ {"version":3,"file":"useModuleNavigation.d.ts","sourceRoot":"","sources":["../../src/hooks/useModuleNavigation.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,CAAA;AAE7C;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAW7C;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,SAAY;;;;yBAmFrD,MAAM,SAAS,MAAM;;0BA8BpB,MAAM;EAWhD"}
package/dist/index.cjs CHANGED
@@ -8859,13 +8859,17 @@ function useModuleNavigation(hashBase, depthMap, homeView = "summary") {
8859
8859
  const rest = hash.slice(hashBase.length + 1);
8860
8860
  const segments = rest.split("/");
8861
8861
  if (segments.length === 1 && segments[0] === homeView) return homeView;
8862
- const ACTION_KEYWORDS = ["edit", "detail", "view"];
8862
+ const ACTION_KEYWORDS = ["edit", "detail", "view", "post"];
8863
8863
  if (segments.length >= 3) {
8864
8864
  const maybeAction = segments[segments.length - 2];
8865
8865
  if (ACTION_KEYWORDS.includes(maybeAction)) {
8866
8866
  return segments.slice(0, -2).join("-") + "-" + maybeAction + ":" + segments[segments.length - 1];
8867
8867
  }
8868
8868
  }
8869
+ const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
8870
+ if (segments.length >= 2 && UUID_RE.test(segments[segments.length - 1])) {
8871
+ return segments.slice(0, -1).join("-") + ":" + segments[segments.length - 1];
8872
+ }
8869
8873
  return segments.join("-");
8870
8874
  }
8871
8875
  return homeView;