@lastbrain/app 0.1.40 → 0.1.43

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.
@@ -24,7 +24,7 @@ export function DefaultDocumentation() {
24
24
  <CardHeader>
25
25
  <h2 className="text-2xl font-semibold flex items-center gap-2">
26
26
  <FileText size={24} />
27
- Documentation LastBrain
27
+ LastBrain
28
28
  </h2>
29
29
  </CardHeader>
30
30
  <CardBody className="space-y-4">
@@ -33,11 +33,62 @@ export function DefaultDocumentation() {
33
33
  avec système de modules, authentification et base de données.
34
34
  </p>
35
35
  <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
36
- LastBrain est un framework modulaire pour créer des applications
37
- Next.js avec une architecture basée sur des modules réutilisables.
36
+ !
37
+ <a
38
+ href="https://img.shields.io/github/package-json/dependency-version/lastpublication/starter/next?label=Next.js&path=packages/app/package.json"
39
+ className="text-blue-600 hover:underline"
40
+ target="_blank"
41
+ rel="noopener noreferrer"
42
+ >
43
+ Next.js
44
+ </a>
38
45
  </p>
39
46
  <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
40
- <strong>Version:</strong> v1.0.0
47
+ <strong>Require\</strong>*
48
+ </p>
49
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
50
+ !
51
+ <a
52
+ href="https://img.shields.io/npm/v/@lastbrain/app?label=%40lastbrain%2Fapp"
53
+ className="text-blue-600 hover:underline"
54
+ target="_blank"
55
+ rel="noopener noreferrer"
56
+ >
57
+ npm version
58
+ </a>
59
+ </p>
60
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
61
+ !
62
+ <a
63
+ href="https://img.shields.io/npm/v/@lastbrain/core?label=%40lastbrain%2Fcore"
64
+ className="text-blue-600 hover:underline"
65
+ target="_blank"
66
+ rel="noopener noreferrer"
67
+ >
68
+ npm version
69
+ </a>
70
+ </p>
71
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
72
+ !
73
+ <a
74
+ href="https://img.shields.io/npm/v/@lastbrain/ui?label=%40lastbrain%2Fui"
75
+ className="text-blue-600 hover:underline"
76
+ target="_blank"
77
+ rel="noopener noreferrer"
78
+ >
79
+ npm version
80
+ </a>
81
+ </p>
82
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
83
+ !
84
+ <a
85
+ href="https://img.shields.io/npm/v/@lastbrain/module-auth?label=%40lastbrain%2Fmodule-auth"
86
+ className="text-blue-600 hover:underline"
87
+ target="_blank"
88
+ rel="noopener noreferrer"
89
+ >
90
+ npm version
91
+ </a>
41
92
  </p>
42
93
  </CardBody>
43
94
  </Card>
@@ -72,25 +123,37 @@ export function DefaultDocumentation() {
72
123
  . Tous ces packages sont nécessaires pour le bon fonctionnement.
73
124
  </p>
74
125
  <Snippet symbol="" hideSymbol className="text-sm mb-2">
75
- {`# 1. Créer une nouvelle application (utilise @latest pour la version la plus récente)`}
126
+ {`# 1. Lancer Docker Desktop`}
127
+ </Snippet>
128
+ <Snippet symbol="" hideSymbol className="text-sm mb-2">
129
+ {`Attendre que Docker soit “Running”.`}
130
+ </Snippet>
131
+ <Snippet symbol="" hideSymbol className="text-sm mb-2">
132
+ {`# 2. Installer Supabase CLI (si pas déjà installé)`}
133
+ </Snippet>
134
+ <Snippet symbol="" hideSymbol className="text-sm mb-2">
135
+ {`brew install supabase/tap/supabase`}
136
+ </Snippet>
137
+ <Snippet symbol="" hideSymbol className="text-sm mb-2">
138
+ {`# 3. Créer une nouvelle application (utilise @latest pour la version la plus récente)`}
76
139
  </Snippet>
77
140
  <Snippet symbol="" hideSymbol className="text-sm mb-2">
78
141
  {`pnpx @lastbrain/app@latest init mon-app`}
79
142
  </Snippet>
80
143
  <Snippet symbol="" hideSymbol className="text-sm mb-2">
81
- {`# 2. Accéder au dossier`}
144
+ {`# 4. Accéder au dossier`}
82
145
  </Snippet>
83
146
  <Snippet symbol="" hideSymbol className="text-sm mb-2">
84
147
  {`cd mon-app`}
85
148
  </Snippet>
86
149
  <Snippet symbol="" hideSymbol className="text-sm mb-2">
87
- {`# 3. Initialiser Supabase`}
150
+ {`# 5. Initialiser Supabase`}
88
151
  </Snippet>
89
152
  <Snippet symbol="" hideSymbol className="text-sm mb-2">
90
153
  {`pnpm db:init`}
91
154
  </Snippet>
92
155
  <Snippet symbol="" hideSymbol className="text-sm mb-2">
93
- {`# 4. Démarrer l'application`}
156
+ {`# 6. Démarrer l'application si pas déjà lancé port :3000 par default`}
94
157
  </Snippet>
95
158
  <Snippet symbol="" hideSymbol className="text-sm mb-2">
96
159
  {`pnpm dev`}
@@ -1305,7 +1368,15 @@ export function DocUsageCustom() {
1305
1368
  [module-ai](../packages/module-ai/README.md)
1306
1369
  </h4>
1307
1370
  <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1308
- @lastbrain/module-ai
1371
+ !
1372
+ <a
1373
+ href="https://img.shields.io/npm/v/@lastbrain/module-ai?label=%40lastbrain%2Fmodule-ai"
1374
+ className="text-blue-600 hover:underline"
1375
+ target="_blank"
1376
+ rel="noopener noreferrer"
1377
+ >
1378
+ npm version
1379
+ </a>
1309
1380
  </p>
1310
1381
  <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1311
1382
  <strong>Pages</strong>: 1 auth, 1 admin
@@ -1332,7 +1403,15 @@ export function DocUsageCustom() {
1332
1403
  [module-auth](../packages/module-auth/README.md)
1333
1404
  </h4>
1334
1405
  <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1335
- @lastbrain/module-auth
1406
+ !
1407
+ <a
1408
+ href="https://img.shields.io/npm/v/@lastbrain/module-auth?label=%40lastbrain%2Fmodule-auth"
1409
+ className="text-blue-600 hover:underline"
1410
+ target="_blank"
1411
+ rel="noopener noreferrer"
1412
+ >
1413
+ npm version
1414
+ </a>
1336
1415
  </p>
1337
1416
  <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1338
1417
  <strong>Pages</strong>: 3 publique(s), 4 auth, 2 admin
@@ -1356,11 +1435,274 @@ export function DocUsageCustom() {
1356
1435
  </a>
1357
1436
  </p>
1358
1437
  <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">---</p>
1438
+ <h4 className="font-medium mb-2">
1439
+ [module-billing](../packages/module-billing/README.md)
1440
+ </h4>
1441
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1442
+ !
1443
+ <a
1444
+ href="https://img.shields.io/npm/v/@lastbrain/module-billing?label=%40lastbrain%2Fmodule-billing"
1445
+ className="text-blue-600 hover:underline"
1446
+ target="_blank"
1447
+ rel="noopener noreferrer"
1448
+ >
1449
+ npm version
1450
+ </a>
1451
+ </p>
1452
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1453
+ <strong>Pages</strong>: 3 auth, 2 admin
1454
+ </p>
1455
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1456
+ <strong>Tables</strong>: billing_invoice, billing_invoice_line,
1457
+ billing_invoice_payment, billing_invoice_log,
1458
+ billing_invoice_counter, billing_settings
1459
+ </p>
1460
+ <h4 className="font-medium mb-2">Installation du module billing</h4>
1461
+ <Snippet symbol="" hideSymbol className="text-sm mb-2">
1462
+ {`pnpm lastbrain add-module billing`}
1463
+ </Snippet>
1464
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1465
+ <a
1466
+ href="../packages/module-billing/README.md"
1467
+ className="text-blue-600 hover:underline"
1468
+ target="_blank"
1469
+ rel="noopener noreferrer"
1470
+ >
1471
+ 📖 Documentation complète →
1472
+ </a>
1473
+ </p>
1474
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">---</p>
1475
+ <h4 className="font-medium mb-2">
1476
+ [module-core-cart](../packages/module-core-cart/README.md)
1477
+ </h4>
1478
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1479
+ !
1480
+ <a
1481
+ href="https://img.shields.io/npm/v/@lastbrain/module-core-cart?label=%40lastbrain%2Fmodule-core-cart"
1482
+ className="text-blue-600 hover:underline"
1483
+ target="_blank"
1484
+ rel="noopener noreferrer"
1485
+ >
1486
+ npm version
1487
+ </a>
1488
+ </p>
1489
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1490
+ <strong>Pages</strong>: 2 auth, 1 admin
1491
+ </p>
1492
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1493
+ <strong>Tables</strong>: carts, cart_items
1494
+ </p>
1495
+ <h4 className="font-medium mb-2">Installation du module core-cart</h4>
1496
+ <Snippet symbol="" hideSymbol className="text-sm mb-2">
1497
+ {`pnpm lastbrain add-module core-cart`}
1498
+ </Snippet>
1499
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1500
+ <a
1501
+ href="../packages/module-core-cart/README.md"
1502
+ className="text-blue-600 hover:underline"
1503
+ target="_blank"
1504
+ rel="noopener noreferrer"
1505
+ >
1506
+ 📖 Documentation complète →
1507
+ </a>
1508
+ </p>
1509
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">---</p>
1510
+ <h4 className="font-medium mb-2">
1511
+ [module-core-commerce](../packages/module-core-commerce/README.md)
1512
+ </h4>
1513
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1514
+ !
1515
+ <a
1516
+ href="https://img.shields.io/npm/v/@lastbrain/module-core-commerce?label=%40lastbrain%2Fmodule-core-commerce"
1517
+ className="text-blue-600 hover:underline"
1518
+ target="_blank"
1519
+ rel="noopener noreferrer"
1520
+ >
1521
+ npm version
1522
+ </a>
1523
+ </p>
1524
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1525
+ <strong>Tables</strong>: commerce_events, commerce_stats_daily
1526
+ </p>
1527
+ <h4 className="font-medium mb-2">
1528
+ Installation du module core-commerce
1529
+ </h4>
1530
+ <Snippet symbol="" hideSymbol className="text-sm mb-2">
1531
+ {`pnpm lastbrain add-module core-commerce`}
1532
+ </Snippet>
1533
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1534
+ <a
1535
+ href="../packages/module-core-commerce/README.md"
1536
+ className="text-blue-600 hover:underline"
1537
+ target="_blank"
1538
+ rel="noopener noreferrer"
1539
+ >
1540
+ 📖 Documentation complète →
1541
+ </a>
1542
+ </p>
1543
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">---</p>
1544
+ <h4 className="font-medium mb-2">
1545
+ [module-core-order](../packages/module-core-order/README.md)
1546
+ </h4>
1547
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1548
+ !
1549
+ <a
1550
+ href="https://img.shields.io/npm/v/@lastbrain/module-core-order?label=%40lastbrain%2Fmodule-core-order"
1551
+ className="text-blue-600 hover:underline"
1552
+ target="_blank"
1553
+ rel="noopener noreferrer"
1554
+ >
1555
+ npm version
1556
+ </a>
1557
+ </p>
1558
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1559
+ <strong>Pages</strong>: 2 auth
1560
+ </p>
1561
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1562
+ <strong>Tables</strong>: orders, order_items, order_status_logs
1563
+ </p>
1564
+ <h4 className="font-medium mb-2">
1565
+ Installation du module core-order
1566
+ </h4>
1567
+ <Snippet symbol="" hideSymbol className="text-sm mb-2">
1568
+ {`pnpm lastbrain add-module core-order`}
1569
+ </Snippet>
1570
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1571
+ <a
1572
+ href="../packages/module-core-order/README.md"
1573
+ className="text-blue-600 hover:underline"
1574
+ target="_blank"
1575
+ rel="noopener noreferrer"
1576
+ >
1577
+ 📖 Documentation complète →
1578
+ </a>
1579
+ </p>
1580
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">---</p>
1581
+ <h4 className="font-medium mb-2">
1582
+ [module-core-payment](../packages/module-core-payment/README.md)
1583
+ </h4>
1584
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1585
+ !
1586
+ <a
1587
+ href="https://img.shields.io/npm/v/@lastbrain/module-core-payment?label=%40lastbrain%2Fmodule-core-payment"
1588
+ className="text-blue-600 hover:underline"
1589
+ target="_blank"
1590
+ rel="noopener noreferrer"
1591
+ >
1592
+ npm version
1593
+ </a>
1594
+ </p>
1595
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1596
+ <strong>Pages</strong>: 1 admin
1597
+ </p>
1598
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1599
+ <strong>Tables</strong>: payments
1600
+ </p>
1601
+ <h4 className="font-medium mb-2">
1602
+ Installation du module core-payment
1603
+ </h4>
1604
+ <Snippet symbol="" hideSymbol className="text-sm mb-2">
1605
+ {`pnpm lastbrain add-module core-payment`}
1606
+ </Snippet>
1607
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1608
+ <a
1609
+ href="../packages/module-core-payment/README.md"
1610
+ className="text-blue-600 hover:underline"
1611
+ target="_blank"
1612
+ rel="noopener noreferrer"
1613
+ >
1614
+ 📖 Documentation complète →
1615
+ </a>
1616
+ </p>
1617
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">---</p>
1618
+ <h4 className="font-medium mb-2">
1619
+ [module-core-product](../packages/module-core-product/README.md)
1620
+ </h4>
1621
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1622
+ !
1623
+ <a
1624
+ href="https://img.shields.io/npm/v/@lastbrain/module-core-product?label=%40lastbrain%2Fmodule-core-product"
1625
+ className="text-blue-600 hover:underline"
1626
+ target="_blank"
1627
+ rel="noopener noreferrer"
1628
+ >
1629
+ npm version
1630
+ </a>
1631
+ </p>
1632
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1633
+ <strong>Pages</strong>: 2 publique(s)
1634
+ </p>
1635
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1636
+ <strong>Tables</strong>: products, product_variants, product_stock,
1637
+ product_images, product_seo, product_variant_families,
1638
+ product_variant_options, product_delivery, product_additional_info,
1639
+ product_stats
1640
+ </p>
1641
+ <h4 className="font-medium mb-2">
1642
+ Installation du module core-product
1643
+ </h4>
1644
+ <Snippet symbol="" hideSymbol className="text-sm mb-2">
1645
+ {`pnpm lastbrain add-module core-product`}
1646
+ </Snippet>
1647
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1648
+ <a
1649
+ href="../packages/module-core-product/README.md"
1650
+ className="text-blue-600 hover:underline"
1651
+ target="_blank"
1652
+ rel="noopener noreferrer"
1653
+ >
1654
+ 📖 Documentation complète →
1655
+ </a>
1656
+ </p>
1657
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">---</p>
1658
+ <h4 className="font-medium mb-2">
1659
+ [module-legal](../packages/module-legal/README.md)
1660
+ </h4>
1661
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1662
+ !
1663
+ <a
1664
+ href="https://img.shields.io/npm/v/@lastbrain/module-legal?label=%40lastbrain%2Fmodule-legal"
1665
+ className="text-blue-600 hover:underline"
1666
+ target="_blank"
1667
+ rel="noopener noreferrer"
1668
+ >
1669
+ npm version
1670
+ </a>
1671
+ </p>
1672
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1673
+ <strong>Pages</strong>: 4 publique(s), 2 admin
1674
+ </p>
1675
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1676
+ <strong>Tables</strong>: legal_settings, legal_pages
1677
+ </p>
1678
+ <h4 className="font-medium mb-2">Installation du module legal</h4>
1679
+ <Snippet symbol="" hideSymbol className="text-sm mb-2">
1680
+ {`pnpm lastbrain add-module legal`}
1681
+ </Snippet>
1682
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1683
+ <a
1684
+ href="../packages/module-legal/README.md"
1685
+ className="text-blue-600 hover:underline"
1686
+ target="_blank"
1687
+ rel="noopener noreferrer"
1688
+ >
1689
+ 📖 Documentation complète →
1690
+ </a>
1691
+ </p>
1692
+ <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">---</p>
1359
1693
  <h4 className="font-medium mb-2">
1360
1694
  [module-recipes](../packages/module-recipes/README.md)
1361
1695
  </h4>
1362
1696
  <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1363
- @lastbrain/module-recipes
1697
+ !
1698
+ <a
1699
+ href="https://img.shields.io/npm/v/@lastbrain/module-recipes?label=%40lastbrain%2Fmodule-recipes"
1700
+ className="text-blue-600 hover:underline"
1701
+ target="_blank"
1702
+ rel="noopener noreferrer"
1703
+ >
1704
+ npm version
1705
+ </a>
1364
1706
  </p>
1365
1707
  <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1366
1708
  <strong>Pages</strong>: 4 auth
@@ -1388,7 +1730,15 @@ export function DocUsageCustom() {
1388
1730
  [module-tasks](../packages/module-tasks/README.md)
1389
1731
  </h4>
1390
1732
  <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1391
- @lastbrain/module-tasks
1733
+ !
1734
+ <a
1735
+ href="https://img.shields.io/npm/v/@lastbrain/module-tasks?label=%40lastbrain%2Fmodule-tasks"
1736
+ className="text-blue-600 hover:underline"
1737
+ target="_blank"
1738
+ rel="noopener noreferrer"
1739
+ >
1740
+ npm version
1741
+ </a>
1392
1742
  </p>
1393
1743
  <p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
1394
1744
  <strong>Pages</strong>: 2 auth, 1 admin
@@ -296,7 +296,7 @@ export function DocPage({ modules = [], defaultContent }: DocPageProps) {
296
296
  ];
297
297
 
298
298
  return (
299
- <div className="w-full pt-8 md:pt-12 pb-24 lg:pb-8">
299
+ <div className="w-full pb-24 lg:pb-8">
300
300
  <div className="container mx-auto md:px-4 py-8">
301
301
  {/* Mobile menu button */}
302
302
  <div className="fixed w-full h-16 left-0 bottom-0 bg-background/20 backdrop-blur-lg z-50 lg:hidden p-2">
@@ -334,8 +334,8 @@ export function DocPage({ modules = [], defaultContent }: DocPageProps) {
334
334
 
335
335
  <div className="flex gap-4">
336
336
  {/* Desktop Navigation sidebar */}
337
- <aside className="hidden lg:block w-72 shrink-0 sticky top-18 self-start">
338
- <Card>
337
+ <aside>
338
+ <Card className="hidden max-h-[calc(100vh-6rem)] overflow-y-auto lg:block w-72 shrink-0 sticky top-18 self-start">
339
339
  <CardBody>
340
340
  <NavigationListbox
341
341
  navigationItems={navigationItems}