@salifbiaye/create-boutique 0.6.0 → 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.
Files changed (182) hide show
  1. package/cli/dist/code.js +110 -0
  2. package/cli/dist/commands.js +143 -10
  3. package/cli/dist/create.js +54 -7
  4. package/cli/dist/generate.js +65 -4
  5. package/cli/dist/guide.js +10 -2
  6. package/cli/dist/index.js +20 -7
  7. package/cli/dist/payments.js +150 -0
  8. package/docs/fiche-client.en.html +2 -2
  9. package/docs/fiche-client.html +2 -2
  10. package/docs/guide-complet.fr.html +681 -256
  11. package/docs/guide-images/categories.jpg +0 -0
  12. package/docs/guide-images/clients.jpg +0 -0
  13. package/docs/guide-images/collections.jpg +0 -0
  14. package/docs/guide-images/commande-detail.jpg +0 -0
  15. package/docs/guide-images/commande-expedier.jpg +0 -0
  16. package/docs/guide-images/commande-menu.jpg +0 -0
  17. package/docs/guide-images/commande-paiement.jpg +0 -0
  18. package/docs/guide-images/commandes-liste.jpg +0 -0
  19. package/docs/guide-images/connexion.jpg +0 -0
  20. package/docs/guide-images/groupes-clients.jpg +0 -0
  21. package/docs/guide-images/inventaire.jpg +0 -0
  22. package/docs/guide-images/listes-prix.jpg +0 -0
  23. package/docs/guide-images/menu.jpg +0 -0
  24. package/docs/guide-images/mes-boutiques-fermer.jpg +0 -0
  25. package/docs/guide-images/mes-boutiques-panneau.jpg +0 -0
  26. package/docs/guide-images/mes-boutiques.jpg +0 -0
  27. package/docs/guide-images/parametres-boutique.jpg +0 -0
  28. package/docs/guide-images/parametres-canaux.jpg +0 -0
  29. package/docs/guide-images/parametres-emplacements.jpg +0 -0
  30. package/docs/guide-images/parametres-profil.jpg +0 -0
  31. package/docs/guide-images/parametres-regions.jpg +0 -0
  32. package/docs/guide-images/parametres-utilisateurs.jpg +0 -0
  33. package/docs/guide-images/produit-creer-details.jpg +0 -0
  34. package/docs/guide-images/produit-detail.jpg +0 -0
  35. package/docs/guide-images/produit-variantes-menu.jpg +0 -0
  36. package/docs/guide-images/produit-variantes.jpg +0 -0
  37. package/docs/guide-images/produits-liste.jpg +0 -0
  38. package/docs/guide-images/promotion-details.jpg +0 -0
  39. package/docs/guide-images/promotion-type.jpg +0 -0
  40. package/docs/guide-images/promotions-liste.jpg +0 -0
  41. package/docs/guide-images/site-boutique.jpg +0 -0
  42. package/docs/guide-images/site-fermee.png +0 -0
  43. package/docs/guide-images/vue-ensemble.jpg +0 -0
  44. package/package.json +3 -2
  45. package/templates/backend/medusa-config.ts +31 -25
  46. package/templates/backend/package-lock.json +21 -0
  47. package/templates/backend/package.json +2 -0
  48. package/templates/backend/src/admin/i18n/json/en.json +51 -3
  49. package/templates/backend/src/admin/i18n/json/fr.json +51 -3
  50. package/templates/backend/src/admin/routes/boutique-campaigns/campaign-drawer.tsx +2 -0
  51. package/templates/backend/src/admin/routes/boutique-campaigns/page.tsx +36 -1
  52. package/templates/backend/src/admin/routes/reviews/page.tsx +259 -0
  53. package/templates/backend/src/api/admin/boutique-campaigns/route.ts +3 -1
  54. package/templates/backend/src/api/admin/boutique-online/[salesChannelId]/route.ts +22 -0
  55. package/templates/backend/src/api/admin/reviews/[id]/route.ts +15 -0
  56. package/templates/backend/src/api/admin/reviews/route.ts +47 -0
  57. package/templates/backend/src/api/middlewares.ts +7 -0
  58. package/templates/backend/src/api/store/campaign/route.ts +5 -1
  59. package/templates/backend/src/api/store/reviews/latest/route.ts +39 -0
  60. package/templates/backend/src/api/store/reviews/order/route.ts +36 -0
  61. package/templates/backend/src/api/store/reviews/route.ts +43 -0
  62. package/templates/backend/src/api/store/reviews/summary/route.ts +28 -0
  63. package/templates/backend/src/emails/en.json +3 -1
  64. package/templates/backend/src/emails/fr.json +3 -1
  65. package/templates/backend/src/lib/email-config.ts +14 -0
  66. package/templates/backend/src/lib/emails.ts +9 -0
  67. package/templates/backend/src/lib/notify.ts +14 -8
  68. package/templates/backend/src/lib/payment-config.ts +66 -0
  69. package/templates/backend/src/lib/project.ts +12 -0
  70. package/templates/backend/src/lib/redirect-payment.ts +264 -0
  71. package/templates/backend/src/lib/review-token.ts +40 -0
  72. package/templates/backend/src/lib/reviews.ts +25 -0
  73. package/templates/backend/src/modules/naboopay/index.ts +6 -0
  74. package/templates/backend/src/modules/naboopay/service.ts +92 -0
  75. package/templates/backend/src/modules/paydunya/index.ts +6 -0
  76. package/templates/backend/src/modules/paydunya/service.ts +89 -0
  77. package/templates/backend/src/modules/paytech/index.ts +6 -0
  78. package/templates/backend/src/modules/paytech/service.ts +114 -0
  79. package/templates/backend/src/modules/product-review/index.ts +8 -0
  80. package/templates/backend/src/modules/product-review/migrations/Migration20261001090000.ts +18 -0
  81. package/templates/backend/src/modules/product-review/models/review.ts +25 -0
  82. package/templates/backend/src/modules/product-review/service.ts +6 -0
  83. package/templates/backend/src/modules/product-review/validators.ts +27 -0
  84. package/templates/backend/src/modules/smtp/index.ts +6 -0
  85. package/templates/backend/src/modules/smtp/service.ts +73 -0
  86. package/templates/backend/src/scripts/seed.ts +52 -36
  87. package/templates/backend/src/subscribers/fulfillment-emails.ts +1 -1
  88. package/templates/backend/src/workflows/reviews.ts +21 -0
  89. package/templates/backend/src/workflows/steps/create-review.ts +52 -0
  90. package/templates/backend/src/workflows/steps/update-review.ts +36 -0
  91. package/templates/storefront/PERSONNALISER.md +134 -0
  92. package/templates/storefront/locales/en.json +198 -11
  93. package/templates/storefront/locales/fr.json +198 -11
  94. package/templates/storefront/public/custom/LISEZMOI.txt +2 -0
  95. package/templates/storefront/src/app/(checkout)/layout.tsx +1 -1
  96. package/templates/storefront/src/app/(main)/layout.tsx +8 -1
  97. package/templates/storefront/src/app/(main)/legal/[page]/page.tsx +42 -7
  98. package/templates/storefront/src/app/(main)/page.tsx +149 -4
  99. package/templates/storefront/src/app/(main)/review/page.tsx +60 -0
  100. package/templates/storefront/src/app/(main)/store/page.tsx +3 -1
  101. package/templates/storefront/src/app/(main)/template.tsx +17 -2
  102. package/templates/storefront/src/app/layout.tsx +13 -1
  103. package/templates/storefront/src/lib/boutique/campaign.ts +5 -1
  104. package/templates/storefront/src/lib/boutique/page-name.ts +25 -0
  105. package/templates/storefront/src/lib/boutique/schema.ts +3 -1
  106. package/templates/storefront/src/lib/constants.tsx +17 -0
  107. package/templates/storefront/src/lib/data/review-actions.ts +28 -0
  108. package/templates/storefront/src/lib/data/reviews.ts +64 -0
  109. package/templates/storefront/src/modules/checkout/components/payment/index.tsx +26 -4
  110. package/templates/storefront/src/modules/checkout/components/payment-button/index.tsx +85 -2
  111. package/templates/storefront/src/modules/products/templates/index.tsx +5 -0
  112. package/templates/storefront/src/modules/store/components/shop-search.tsx +85 -0
  113. package/templates/storefront/src/modules/store/templates/index.tsx +16 -8
  114. package/templates/storefront/src/modules/store/templates/paginated-products.tsx +15 -3
  115. package/templates/storefront/src/modules/ub/album.tsx +2 -0
  116. package/templates/storefront/src/modules/ub/arena.tsx +182 -0
  117. package/templates/storefront/src/modules/ub/campaign-blocks.tsx +3 -2
  118. package/templates/storefront/src/modules/ub/campaign-ended.tsx +27 -13
  119. package/templates/storefront/src/modules/ub/cinema.tsx +2 -0
  120. package/templates/storefront/src/modules/ub/cookie-banner.tsx +62 -0
  121. package/templates/storefront/src/modules/ub/gala.tsx +2 -0
  122. package/templates/storefront/src/modules/ub/grimoire.tsx +35 -8
  123. package/templates/storefront/src/modules/ub/harvest.tsx +2 -1
  124. package/templates/storefront/src/modules/ub/hero-image.tsx +14 -0
  125. package/templates/storefront/src/modules/ub/home-kit.ts +45 -0
  126. package/templates/storefront/src/modules/ub/lantern.tsx +244 -0
  127. package/templates/storefront/src/modules/ub/locker.tsx +180 -0
  128. package/templates/storefront/src/modules/ub/mosaic.tsx +189 -0
  129. package/templates/storefront/src/modules/ub/nav.tsx +8 -5
  130. package/templates/storefront/src/modules/ub/review-form.tsx +62 -0
  131. package/templates/storefront/src/modules/ub/reviews.tsx +131 -0
  132. package/templates/storefront/src/modules/ub/riviera.tsx +175 -0
  133. package/templates/storefront/src/modules/ub/souk.tsx +214 -0
  134. package/templates/storefront/src/modules/ub/sunset-checklist.tsx +95 -0
  135. package/templates/storefront/src/modules/ub/sunset.tsx +164 -0
  136. package/templates/storefront/src/modules/ub/tech.tsx +2 -2
  137. package/templates/storefront/src/modules/ub/training.tsx +196 -0
  138. package/templates/storefront/src/proxy.ts +2 -0
  139. package/templates/storefront/src/styles/custom.css +26 -0
  140. package/templates/storefront/src/styles/ub/album.css +1 -1
  141. package/templates/storefront/src/styles/ub/arena.css +120 -0
  142. package/templates/storefront/src/styles/ub/cinema.css +1 -1
  143. package/templates/storefront/src/styles/ub/gala.css +1 -1
  144. package/templates/storefront/src/styles/ub/grimoire.css +23 -7
  145. package/templates/storefront/src/styles/ub/harvest.css +7 -6
  146. package/templates/storefront/src/styles/ub/lantern.css +157 -0
  147. package/templates/storefront/src/styles/ub/locker.css +115 -0
  148. package/templates/storefront/src/styles/ub/media.css +10 -0
  149. package/templates/storefront/src/styles/ub/mosaic.css +118 -0
  150. package/templates/storefront/src/styles/ub/motion.css +0 -3
  151. package/templates/storefront/src/styles/ub/overrides.css +10 -0
  152. package/templates/storefront/src/styles/ub/pages.css +176 -0
  153. package/templates/storefront/src/styles/ub/reviews.css +85 -0
  154. package/templates/storefront/src/styles/ub/riviera.css +103 -0
  155. package/templates/storefront/src/styles/ub/souk.css +144 -0
  156. package/templates/storefront/src/styles/ub/sunset.css +123 -0
  157. package/templates/storefront/src/styles/ub/tech.css +2 -5
  158. package/templates/storefront/src/styles/ub/training.css +120 -0
  159. package/templates/storefront/themes/jeux/campaign.en.json +31 -0
  160. package/templates/storefront/themes/jeux/campaign.fr.json +31 -0
  161. package/templates/storefront/themes/jeux/theme.json +11 -0
  162. package/templates/storefront/themes/jeux-2/campaign.en.json +31 -0
  163. package/templates/storefront/themes/jeux-2/campaign.fr.json +31 -0
  164. package/templates/storefront/themes/jeux-2/theme.json +11 -0
  165. package/templates/storefront/themes/mubarak/campaign.en.json +31 -0
  166. package/templates/storefront/themes/mubarak/campaign.fr.json +31 -0
  167. package/templates/storefront/themes/mubarak/theme.json +11 -0
  168. package/templates/storefront/themes/mubarak-2/campaign.en.json +31 -0
  169. package/templates/storefront/themes/mubarak-2/campaign.fr.json +31 -0
  170. package/templates/storefront/themes/mubarak-2/theme.json +11 -0
  171. package/templates/storefront/themes/sport/campaign.en.json +31 -0
  172. package/templates/storefront/themes/sport/campaign.fr.json +31 -0
  173. package/templates/storefront/themes/sport/theme.json +11 -0
  174. package/templates/storefront/themes/sport-2/campaign.en.json +31 -0
  175. package/templates/storefront/themes/sport-2/campaign.fr.json +31 -0
  176. package/templates/storefront/themes/sport-2/theme.json +11 -0
  177. package/templates/storefront/themes/summer/campaign.en.json +31 -0
  178. package/templates/storefront/themes/summer/campaign.fr.json +31 -0
  179. package/templates/storefront/themes/summer/theme.json +11 -0
  180. package/templates/storefront/themes/summer-2/campaign.en.json +31 -0
  181. package/templates/storefront/themes/summer-2/campaign.fr.json +31 -0
  182. package/templates/storefront/themes/summer-2/theme.json +11 -0
@@ -0,0 +1,31 @@
1
+ {
2
+ "topbar": [
3
+ "Jour de match : jusqu'à -{discount}",
4
+ "Livraison offerte dès {freeShipping}",
5
+ "Échange de taille gratuit"
6
+ ],
7
+ "hero": {
8
+ "eyebrow": "Jour de match",
9
+ "title": "Enfile tes couleurs",
10
+ "highlight": "couleurs",
11
+ "sub": "Maillots, shorts et équipements jusqu'à -{discount}. Coup de sifflet final le {endDate}.",
12
+ "cta": "Choisir mon maillot",
13
+ "cta2": "Voir l'équipe",
14
+ "bubble": [
15
+ "Jusqu'à",
16
+ "{discount}",
17
+ "maillots"
18
+ ]
19
+ },
20
+ "promo": {
21
+ "eyebrow": "Mi-temps",
22
+ "title": "La mi-temps des prix",
23
+ "text": "Les meilleures offres de la saison, jusqu'au coup de sifflet final le {endDate}.",
24
+ "cta": "Entrer sur le terrain",
25
+ "seal": "Jusqu'au {endDate}"
26
+ },
27
+ "sections": {
28
+ "categories": "Par sport",
29
+ "products": "L'équipe du moment"
30
+ }
31
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "id": "sport",
3
+ "name": "Sport · Vestiaire",
4
+ "reference": "maillots, jour de match",
5
+ "layout": "black-friday",
6
+ "fonts": {
7
+ "head": "oswald",
8
+ "body": "inter"
9
+ },
10
+ "home": "locker"
11
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "topbar": [
3
+ "Training program: up to {discount} off",
4
+ "Free shipping over {freeShipping}",
5
+ "30-day money-back guarantee"
6
+ ],
7
+ "hero": {
8
+ "eyebrow": "Strength · Focus · Discipline",
9
+ "title": "Every session counts",
10
+ "highlight": "counts",
11
+ "sub": "Dumbbells, nutrition, accessories: everything to stick to the plan. Up to {discount} off until {endDate}.",
12
+ "cta": "Start training",
13
+ "cta2": "See the program",
14
+ "bubble": [
15
+ "Up to",
16
+ "{discount}",
17
+ "off gear"
18
+ ]
19
+ },
20
+ "promo": {
21
+ "eyebrow": "Pack of the week",
22
+ "title": "Your starter pack, ready to go",
23
+ "text": "Three essentials to get started, discounted until {endDate}.",
24
+ "cta": "See the pack",
25
+ "seal": "Until {endDate}"
26
+ },
27
+ "sections": {
28
+ "categories": "By goal",
29
+ "products": "Most chosen"
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "topbar": [
3
+ "Programme d'entraînement : jusqu'à -{discount}",
4
+ "Livraison offerte dès {freeShipping}",
5
+ "Satisfait ou remboursé 30 jours"
6
+ ],
7
+ "hero": {
8
+ "eyebrow": "Force · Focus · Discipline",
9
+ "title": "Chaque séance compte",
10
+ "highlight": "compte",
11
+ "sub": "Haltères, nutrition, accessoires : tout pour tenir le programme. Jusqu'à -{discount}, jusqu'au {endDate}.",
12
+ "cta": "Commencer l'entraînement",
13
+ "cta2": "Voir le programme",
14
+ "bubble": [
15
+ "Jusqu'à",
16
+ "{discount}",
17
+ "matériel"
18
+ ]
19
+ },
20
+ "promo": {
21
+ "eyebrow": "Le pack de la semaine",
22
+ "title": "Votre pack de départ, prêt à l'emploi",
23
+ "text": "Trois essentiels pour démarrer, à prix réduit jusqu'au {endDate}.",
24
+ "cta": "Voir le pack",
25
+ "seal": "Jusqu'au {endDate}"
26
+ },
27
+ "sections": {
28
+ "categories": "Par objectif",
29
+ "products": "Les plus choisis"
30
+ }
31
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "id": "sport-2",
3
+ "name": "Sport · Training",
4
+ "reference": "salle de sport, sombre",
5
+ "layout": "black-friday",
6
+ "fonts": {
7
+ "head": "space-grotesk",
8
+ "body": "inter"
9
+ },
10
+ "home": "training"
11
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "topbar": [
3
+ "Summer collection: linen, cotton, made to measure",
4
+ "Free shipping over {freeShipping}",
5
+ "Free alterations"
6
+ ],
7
+ "hero": {
8
+ "eyebrow": "Summer collection",
9
+ "title": "Elegance moves to its summer quarters",
10
+ "highlight": "summer quarters",
11
+ "sub": "Linen suits, light shirts and shoes made for the sun. Up to {discount} off until {endDate}.",
12
+ "cta": "Discover the collection",
13
+ "cta2": "See the looks",
14
+ "bubble": [
15
+ "Up to",
16
+ "{discount}",
17
+ "collection"
18
+ ]
19
+ },
20
+ "promo": {
21
+ "eyebrow": "Made to measure",
22
+ "title": "Your summer suit, tailored to you",
23
+ "text": "Pick your cut, we adjust the lengths. Free alterations until {endDate}.",
24
+ "cta": "See the suits",
25
+ "seal": "Free alterations"
26
+ },
27
+ "sections": {
28
+ "categories": "By piece",
29
+ "products": "The summer wardrobe"
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "topbar": [
3
+ "Collection été : lin, coton, sur-mesure",
4
+ "Livraison offerte dès {freeShipping}",
5
+ "Retouches offertes"
6
+ ],
7
+ "hero": {
8
+ "eyebrow": "Collection été",
9
+ "title": "L'élégance prend ses quartiers d'été",
10
+ "highlight": "quartiers d'été",
11
+ "sub": "Costumes en lin, chemises légères et souliers faits pour le soleil. Jusqu'à -{discount}, jusqu'au {endDate}.",
12
+ "cta": "Découvrir la collection",
13
+ "cta2": "Voir les looks",
14
+ "bubble": [
15
+ "Jusqu'à",
16
+ "{discount}",
17
+ "collection"
18
+ ]
19
+ },
20
+ "promo": {
21
+ "eyebrow": "Sur-mesure",
22
+ "title": "Votre costume d'été, ajusté pour vous",
23
+ "text": "Choisissez votre coupe, nous ajustons les longueurs. Retouches offertes jusqu'au {endDate}.",
24
+ "cta": "Voir les costumes",
25
+ "seal": "Retouches offertes"
26
+ },
27
+ "sections": {
28
+ "categories": "Par pièce",
29
+ "products": "Le vestiaire d'été"
30
+ }
31
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "id": "summer",
3
+ "name": "Summer · Riviera",
4
+ "reference": "élégance d'été, lookbook éditorial",
5
+ "layout": "cyber-monday",
6
+ "fonts": {
7
+ "head": "serif",
8
+ "body": "jakarta"
9
+ },
10
+ "home": "riviera"
11
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "topbar": [
3
+ "Summer sale: up to {discount} off",
4
+ "Free shipping over {freeShipping}",
5
+ "Order today, at the beach tomorrow"
6
+ ],
7
+ "hero": {
8
+ "eyebrow": "Summer sale",
9
+ "title": "Summer is finally here",
10
+ "highlight": "finally here",
11
+ "sub": "Swimwear, towels, sunglasses and everything for the beach up to {discount} off. Until {endDate}, before sunset.",
12
+ "cta": "Head to the beach",
13
+ "cta2": "My holiday list",
14
+ "bubble": [
15
+ "Up to",
16
+ "{discount}",
17
+ "in the sun"
18
+ ]
19
+ },
20
+ "promo": {
21
+ "eyebrow": "Before summer ends",
22
+ "title": "The sun is setting on the sale",
23
+ "text": "Last hours to enjoy summer prices: until {endDate}.",
24
+ "cta": "Grab it",
25
+ "seal": "Until {endDate}"
26
+ },
27
+ "sections": {
28
+ "categories": "To the beach",
29
+ "products": "Summer postcards"
30
+ }
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "topbar": [
3
+ "Soldes d'été : jusqu'à -{discount}",
4
+ "Livraison offerte dès {freeShipping}",
5
+ "Commandez aujourd'hui, à la plage demain"
6
+ ],
7
+ "hero": {
8
+ "eyebrow": "Soldes d'été",
9
+ "title": "L'été est enfin là",
10
+ "highlight": "enfin là",
11
+ "sub": "Maillots, serviettes, lunettes et tout pour la plage jusqu'à -{discount}. Jusqu'au {endDate}, avant le coucher du soleil.",
12
+ "cta": "Filer à la plage",
13
+ "cta2": "Ma liste de vacances",
14
+ "bubble": [
15
+ "Jusqu'à",
16
+ "{discount}",
17
+ "au soleil"
18
+ ]
19
+ },
20
+ "promo": {
21
+ "eyebrow": "Avant la fin de l'été",
22
+ "title": "Le soleil se couche sur les soldes",
23
+ "text": "Dernières heures pour profiter des prix d'été : jusqu'au {endDate}.",
24
+ "cta": "J'en profite",
25
+ "seal": "Jusqu'au {endDate}"
26
+ },
27
+ "sections": {
28
+ "categories": "Direction la plage",
29
+ "products": "Cartes postales d'été"
30
+ }
31
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "id": "summer-2",
3
+ "name": "Summer · Sunset",
4
+ "reference": "affiche plage, coucher de soleil",
5
+ "layout": "black-friday",
6
+ "fonts": {
7
+ "head": "oswald",
8
+ "body": "outfit"
9
+ },
10
+ "home": "sunset"
11
+ }