@fayz-ai/plugin-courses 0.9.0 → 0.9.1
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 +3 -3
- package/dist/components/CommerceUI.d.ts +19 -2
- package/dist/components/CommerceUI.d.ts.map +1 -1
- package/dist/components/dashboardWidgets.d.ts.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +342 -253
- package/dist/index.js.map +1 -1
- package/dist/lib/nav.d.ts.map +1 -0
- package/dist/locales/en.d.ts.map +1 -1
- package/dist/locales/pt-BR.d.ts.map +1 -1
- package/dist/public/createPublicCheckoutPlugin.d.ts +1 -1
- package/dist/public/createPublicCheckoutPlugin.d.ts.map +1 -1
- package/dist/public/{data.d.ts → data/index.d.ts} +1 -1
- package/dist/public/data/index.d.ts.map +1 -0
- package/dist/public/{data.supabase.d.ts → data/supabase.d.ts} +2 -2
- package/dist/public/data/supabase.d.ts.map +1 -0
- package/dist/public/index.d.ts +4 -4
- package/dist/public/index.d.ts.map +1 -1
- package/dist/public/index.js +353 -0
- package/dist/public/index.js.map +1 -0
- package/dist/public/{CheckoutScreen.d.ts → views/CheckoutScreen.d.ts} +1 -1
- package/dist/public/views/CheckoutScreen.d.ts.map +1 -0
- package/dist/views/CourseEditorPage.d.ts.map +1 -0
- package/dist/views/CourseOrderDetailView.d.ts +4 -3
- package/dist/views/CourseOrderDetailView.d.ts.map +1 -1
- package/dist/{pages → views}/CoursesListPage.d.ts.map +1 -1
- package/dist/{pages → views}/FinancialPage.d.ts.map +1 -1
- package/dist/{pages → views}/ReportsPage.d.ts.map +1 -1
- package/dist/views/SalesPage.d.ts +19 -0
- package/dist/views/SalesPage.d.ts.map +1 -0
- package/dist/views/SubscriptionsPage.d.ts +7 -0
- package/dist/views/SubscriptionsPage.d.ts.map +1 -0
- package/package.json +6 -9
- package/dist/dashboardWidgets.d.ts.map +0 -1
- package/dist/nav.d.ts.map +0 -1
- package/dist/pages/CourseEditorPage.d.ts.map +0 -1
- package/dist/pages/SalesPage.d.ts +0 -6
- package/dist/pages/SalesPage.d.ts.map +0 -1
- package/dist/pages/SubscriptionsPage.d.ts +0 -6
- package/dist/pages/SubscriptionsPage.d.ts.map +0 -1
- package/dist/public/CheckoutScreen.d.ts.map +0 -1
- package/dist/public/data.d.ts.map +0 -1
- package/dist/public/data.supabase.d.ts.map +0 -1
- package/src/components/CommerceUI.tsx +0 -153
- package/src/connectors/stripe.ts +0 -34
- package/src/dashboardWidgets.tsx +0 -64
- package/src/index.ts +0 -150
- package/src/lib/format.ts +0 -22
- package/src/locales/en.ts +0 -203
- package/src/locales/index.ts +0 -7
- package/src/locales/pt-BR.ts +0 -203
- package/src/nav.ts +0 -9
- package/src/pages/CourseEditorPage.tsx +0 -1122
- package/src/pages/CoursesListPage.tsx +0 -137
- package/src/pages/FinancialPage.tsx +0 -81
- package/src/pages/ReportsPage.tsx +0 -59
- package/src/pages/SalesPage.tsx +0 -86
- package/src/pages/SubscriptionsPage.tsx +0 -56
- package/src/public/CheckoutScreen.tsx +0 -279
- package/src/public/createPublicCheckoutPlugin.tsx +0 -88
- package/src/public/data.supabase.ts +0 -63
- package/src/public/data.ts +0 -89
- package/src/public/index.ts +0 -26
- package/src/settings/CoursesSettings.tsx +0 -55
- package/src/views/CourseOrderDetailView.tsx +0 -132
- /package/dist/{dashboardWidgets.d.ts → components/dashboardWidgets.d.ts} +0 -0
- /package/dist/{nav.d.ts → lib/nav.d.ts} +0 -0
- /package/dist/{pages → views}/CourseEditorPage.d.ts +0 -0
- /package/dist/{pages → views}/CoursesListPage.d.ts +0 -0
- /package/dist/{pages → views}/FinancialPage.d.ts +0 -0
- /package/dist/{pages → views}/ReportsPage.d.ts +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @fayz-ai/plugin-courses
|
|
2
2
|
|
|
3
|
-
> **Status: experimental (incubating).** Not capability-complete — missing some or all of the capability bar (data-provider contract w/ supabase+mock pair, entity registries, settings, migrations; see `docs/PLUGIN-PATTERNS.md`). Fine to explore in dogfoods; NOT ready for fresh installs or generated apps, and its API may change without notice.
|
|
3
|
+
> **Status: experimental (incubating).** Not capability-complete — missing some or all of the capability bar (data-provider contract w/ supabase+mock pair, entity registries, settings, migrations; see `docs/plugins/PLUGIN-PATTERNS.md`). Fine to explore in dogfoods; NOT ready for fresh installs or generated apps, and its API may change without notice.
|
|
4
4
|
|
|
5
5
|
> Drop a course-builder admin into any Fayz SaaS — courses, modules, lessons, enrollments.
|
|
6
6
|
|
|
@@ -27,7 +27,7 @@ Peer deps: `@fayz-ai/core`, `@fayz-ai/ui`, `@fayz-ai/courses` (+ `react`, `react
|
|
|
27
27
|
|
|
28
28
|
## Usage
|
|
29
29
|
```tsx
|
|
30
|
-
import { defineSaas } from '@fayz-ai/
|
|
30
|
+
import { defineSaas } from '@fayz-ai/admin'
|
|
31
31
|
import { createCoursesPlugin } from '@fayz-ai/plugin-courses'
|
|
32
32
|
|
|
33
33
|
export const app = defineSaas({
|
|
@@ -47,4 +47,4 @@ To run on real data, set a provider before render via `setCoursesProvider(...)`
|
|
|
47
47
|
The admin surface for the `@fayz-ai/courses` engine — one of the verticals you compose into a Fayz app.
|
|
48
48
|
|
|
49
49
|
## Roadmap & contributing
|
|
50
|
-
Built and evolving in the open. See the [Fayz SDK roadmap](../../docs/ROADMAP.md#plugin-courses) for current gaps, missing features, and good first issues.
|
|
50
|
+
Built and evolving in the open. See the [Fayz SDK roadmap](../../docs/platform/ROADMAP.md#plugin-courses) for current gaps, missing features, and good first issues.
|
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { type HeaderTab } from '@fayz-ai/ui';
|
|
3
|
+
/**
|
|
4
|
+
* Cabeçalho padrão das telas de comércio (Assinaturas, Relatórios, Financeiro
|
|
5
|
+
* de cursos).
|
|
6
|
+
*
|
|
7
|
+
* Sem padding e sem max-width próprios: a shell já envolve toda página em
|
|
8
|
+
* `p-3 md:p-6` (AdminShell). Reaplicar `p-6 md:p-8` aqui empurrava estas telas
|
|
9
|
+
* 32px à direita do título na barra de topo e de todas as outras, e o
|
|
10
|
+
* `mx-auto max-w-6xl` ainda as centralizava enquanto a barra ficava à esquerda.
|
|
11
|
+
*
|
|
12
|
+
* O <h1> continua: a barra de topo nomeia o item de menu e estas páginas não
|
|
13
|
+
* têm outro cabeçalho. Vira duplicata quando o título repete o rótulo do menu —
|
|
14
|
+
* é o que `subtitle` existe para desfazer.
|
|
15
|
+
*/
|
|
16
|
+
export declare function PageContainer({ title, subtitle, actions, navTabs, activeNavTab, onNavTabChange, children }: {
|
|
4
17
|
title: string;
|
|
5
18
|
subtitle?: string;
|
|
6
19
|
actions?: React.ReactNode;
|
|
20
|
+
/** Listas irmãs com que esta divide uma faixa de abas (ver OrderListView). */
|
|
21
|
+
navTabs?: HeaderTab[];
|
|
22
|
+
activeNavTab?: string;
|
|
23
|
+
onNavTabChange?: (id: string) => void;
|
|
7
24
|
children: React.ReactNode;
|
|
8
25
|
}): React.JSX.Element;
|
|
9
26
|
/** A single KPI tile (revenue, sales, MRR…). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommerceUI.d.ts","sourceRoot":"","sources":["../../src/components/CommerceUI.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"CommerceUI.d.ts","sourceRoot":"","sources":["../../src/components/CommerceUI.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboardWidgets.d.ts","sourceRoot":"","sources":["../../src/components/dashboardWidgets.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AA0CvD;;2EAE2E;AAC3E,wBAAgB,6BAA6B,CAC3C,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9E,kBAAkB,EAAE,CAetB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -27,6 +27,32 @@ export interface CoursesPluginOptions {
|
|
|
27
27
|
financial?: boolean;
|
|
28
28
|
reports?: boolean;
|
|
29
29
|
};
|
|
30
|
+
/**
|
|
31
|
+
* Onde as telas de venda montam. Os padrões mantêm tudo sob /courses; um app
|
|
32
|
+
* que agrupa a venda em outro lugar (um CRM em /sales, por exemplo) reposiciona
|
|
33
|
+
* sem forkar o plugin — o menu da shell aninha por PREFIXO de rota, então mudar
|
|
34
|
+
* o caminho é o que muda o grupo em que a tela aparece.
|
|
35
|
+
*/
|
|
36
|
+
routes?: {
|
|
37
|
+
/** Lista de pedidos (e o detalhe em `${orders}/:id`). Default '/courses/sales'. */
|
|
38
|
+
orders?: string;
|
|
39
|
+
/** Assinaturas. Default '/courses/subscriptions'. */
|
|
40
|
+
subscriptions?: string;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Posição do item Pedidos quando ele é reposicionado para fora do bloco de
|
|
44
|
+
* Cursos. Necessária porque a shell aninha por prefixo E POR ORDEM: ela só
|
|
45
|
+
* acha o pai entre os itens JÁ processados, então um filho com posição menor
|
|
46
|
+
* que a do pai vira um item de topo em vez de entrar no grupo. Default:
|
|
47
|
+
* `navPosition + 2`, que é onde o item sempre esteve dentro de Cursos.
|
|
48
|
+
*/
|
|
49
|
+
ordersNavPosition?: number;
|
|
50
|
+
/**
|
|
51
|
+
* Pedidos e Assinaturas passam a dividir UMA faixa de abas e UMA entrada de
|
|
52
|
+
* menu (Pedidos) — Assinaturas some da navegação e é alcançada pela aba.
|
|
53
|
+
* Desligado por padrão: são duas entradas de menu, como sempre foram.
|
|
54
|
+
*/
|
|
55
|
+
salesTabs?: boolean;
|
|
30
56
|
}
|
|
31
57
|
export declare function createCoursesPlugin(options?: CoursesPluginOptions): PluginManifest;
|
|
32
58
|
export { coursesLocales } from './locales';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AA+B5E,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2DAA2D;IAC3D,MAAM,CAAC,EAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,OAAO,CAAA;QACrB,KAAK,CAAC,EAAE,OAAO,CAAA;QACf,aAAa,CAAC,EAAE,OAAO,CAAA;QACvB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAA;IACD;;;;;OAKG;IACH,MAAM,CAAC,EAAE;QACP,mFAAmF;QACnF,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,qDAAqD;QACrD,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;IACD;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AA6BD,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,cAAc,CA6GlF;AAOD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA"}
|