@cimplify/sdk 0.44.34 → 0.45.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.
Files changed (470) hide show
  1. package/README.md +21 -16
  2. package/dist/advanced.d.mts +1 -1
  3. package/dist/advanced.d.ts +1 -1
  4. package/dist/{client-5B9IPDmf.d.ts → client-Bsd4Vi_y.d.ts} +1 -0
  5. package/dist/{client-CpVMRI8V.d.mts → client-C5LcbNxL.d.mts} +1 -0
  6. package/dist/{client-DMhRxuzm.d.ts → client-DjzIoewX.d.ts} +1 -1
  7. package/dist/{client-Cwb1sMr3.d.mts → client-EM8xKCPO.d.mts} +1 -1
  8. package/dist/index.d.mts +1 -1
  9. package/dist/index.d.ts +1 -1
  10. package/dist/react.d.mts +120 -45
  11. package/dist/react.d.ts +120 -45
  12. package/dist/react.js +453 -97
  13. package/dist/react.mjs +452 -98
  14. package/dist/server.d.mts +2 -2
  15. package/dist/server.d.ts +2 -2
  16. package/dist/styles.css +2 -2
  17. package/dist/testing/suite.d.mts +2 -2
  18. package/dist/testing/suite.d.ts +2 -2
  19. package/dist/testing.d.mts +2 -2
  20. package/dist/testing.d.ts +2 -2
  21. package/package.json +5 -9
  22. package/registry/booking-page.json +2 -1
  23. package/registry/bookings-page.json +1 -1
  24. package/registry/index.json +24 -0
  25. package/dist/cli/commands/deploy.mjs +0 -717
  26. package/dist/cli/commands/dev.mjs +0 -479
  27. package/dist/cli/commands/domains.mjs +0 -769
  28. package/dist/cli/commands/env.mjs +0 -705
  29. package/dist/cli/commands/link.mjs +0 -378
  30. package/dist/cli/commands/login.mjs +0 -584
  31. package/dist/cli/commands/logout.mjs +0 -75
  32. package/dist/cli/commands/logs.mjs +0 -432
  33. package/dist/cli/commands/projects.mjs +0 -473
  34. package/dist/cli/commands/repo.mjs +0 -584
  35. package/dist/cli/commands/rollback.mjs +0 -553
  36. package/dist/cli/commands/status.mjs +0 -450
  37. package/dist/cli/commands/unlink.mjs +0 -79
  38. package/dist/cli/commands/whoami.mjs +0 -285
  39. package/dist/cli.js +0 -184
  40. package/dist/dispatcher.mjs +0 -360
  41. package/registry/service-card.json +0 -16
  42. package/registry/service-grid.json +0 -16
  43. package/templates/storefront-bakery/.claude/skills/cimplify-storefront/SKILL.md +0 -145
  44. package/templates/storefront-bakery/.cursor/rules/cimplify-storefront.mdc +0 -25
  45. package/templates/storefront-bakery/.env.example +0 -16
  46. package/templates/storefront-bakery/AGENTS.md +0 -120
  47. package/templates/storefront-bakery/CLAUDE.md +0 -22
  48. package/templates/storefront-bakery/README.md +0 -73
  49. package/templates/storefront-bakery/__tests__/brand.test.ts +0 -4
  50. package/templates/storefront-bakery/__tests__/cart-flow.test.ts +0 -4
  51. package/templates/storefront-bakery/__tests__/contract.test.ts +0 -4
  52. package/templates/storefront-bakery/app/about/page.tsx +0 -38
  53. package/templates/storefront-bakery/app/accessibility/page.tsx +0 -11
  54. package/templates/storefront-bakery/app/account/addresses/page.tsx +0 -21
  55. package/templates/storefront-bakery/app/account/orders/page.tsx +0 -21
  56. package/templates/storefront-bakery/app/account/page.tsx +0 -22
  57. package/templates/storefront-bakery/app/account/settings/page.tsx +0 -21
  58. package/templates/storefront-bakery/app/cart/page.tsx +0 -9
  59. package/templates/storefront-bakery/app/categories/[slug]/listing-client.tsx +0 -19
  60. package/templates/storefront-bakery/app/categories/[slug]/page.tsx +0 -118
  61. package/templates/storefront-bakery/app/checkout/page.tsx +0 -17
  62. package/templates/storefront-bakery/app/collections/[slug]/listing-client.tsx +0 -20
  63. package/templates/storefront-bakery/app/collections/[slug]/page.tsx +0 -118
  64. package/templates/storefront-bakery/app/contact/contact-form.tsx +0 -109
  65. package/templates/storefront-bakery/app/contact/page.tsx +0 -54
  66. package/templates/storefront-bakery/app/error.tsx +0 -60
  67. package/templates/storefront-bakery/app/faq/page.tsx +0 -46
  68. package/templates/storefront-bakery/app/globals.css +0 -47
  69. package/templates/storefront-bakery/app/layout.tsx +0 -82
  70. package/templates/storefront-bakery/app/llms.txt/route.ts +0 -94
  71. package/templates/storefront-bakery/app/login/page.tsx +0 -17
  72. package/templates/storefront-bakery/app/not-found.tsx +0 -39
  73. package/templates/storefront-bakery/app/opensearch.xml/route.ts +0 -37
  74. package/templates/storefront-bakery/app/orders/[id]/page.tsx +0 -21
  75. package/templates/storefront-bakery/app/page.tsx +0 -97
  76. package/templates/storefront-bakery/app/privacy/page.tsx +0 -44
  77. package/templates/storefront-bakery/app/returns/page.tsx +0 -11
  78. package/templates/storefront-bakery/app/robots.ts +0 -18
  79. package/templates/storefront-bakery/app/search/page.tsx +0 -38
  80. package/templates/storefront-bakery/app/search/search-client.tsx +0 -7
  81. package/templates/storefront-bakery/app/shipping/page.tsx +0 -16
  82. package/templates/storefront-bakery/app/shop/page.tsx +0 -31
  83. package/templates/storefront-bakery/app/shop/shop-client.tsx +0 -27
  84. package/templates/storefront-bakery/app/signup/page.tsx +0 -17
  85. package/templates/storefront-bakery/app/sitemap-page/page.tsx +0 -167
  86. package/templates/storefront-bakery/app/sitemap.ts +0 -62
  87. package/templates/storefront-bakery/app/terms/page.tsx +0 -44
  88. package/templates/storefront-bakery/app/track-order/page.tsx +0 -24
  89. package/templates/storefront-bakery/app/track-order/track-order-form.tsx +0 -69
  90. package/templates/storefront-bakery/components/account-iframe.tsx +0 -13
  91. package/templates/storefront-bakery/components/cart-drawer.tsx +0 -14
  92. package/templates/storefront-bakery/components/cart-pill.tsx +0 -36
  93. package/templates/storefront-bakery/components/category-grid.tsx +0 -28
  94. package/templates/storefront-bakery/components/collection-strip.tsx +0 -45
  95. package/templates/storefront-bakery/components/footer.tsx +0 -148
  96. package/templates/storefront-bakery/components/header.tsx +0 -43
  97. package/templates/storefront-bakery/components/hero.tsx +0 -25
  98. package/templates/storefront-bakery/components/nav-link.tsx +0 -20
  99. package/templates/storefront-bakery/components/policy-page.tsx +0 -49
  100. package/templates/storefront-bakery/components/product-modal.tsx +0 -104
  101. package/templates/storefront-bakery/components/providers.tsx +0 -35
  102. package/templates/storefront-bakery/components/store-product-card.tsx +0 -87
  103. package/templates/storefront-bakery/lib/brand.ts +0 -570
  104. package/templates/storefront-bakery/lib/cart.ts +0 -12
  105. package/templates/storefront-bakery/next.config.ts +0 -42
  106. package/templates/storefront-bakery/package.json +0 -35
  107. package/templates/storefront-bakery/postcss.config.mjs +0 -7
  108. package/templates/storefront-bakery/tsconfig.json +0 -23
  109. package/templates/storefront-bakery/vitest.config.ts +0 -9
  110. package/templates/storefront-fashion/.claude/skills/cimplify-storefront/SKILL.md +0 -145
  111. package/templates/storefront-fashion/.cursor/rules/cimplify-storefront.mdc +0 -25
  112. package/templates/storefront-fashion/.env.example +0 -16
  113. package/templates/storefront-fashion/AGENTS.md +0 -126
  114. package/templates/storefront-fashion/CLAUDE.md +0 -22
  115. package/templates/storefront-fashion/README.md +0 -77
  116. package/templates/storefront-fashion/__tests__/brand.test.ts +0 -4
  117. package/templates/storefront-fashion/__tests__/cart-flow.test.ts +0 -55
  118. package/templates/storefront-fashion/__tests__/contract.test.ts +0 -4
  119. package/templates/storefront-fashion/app/about/page.tsx +0 -41
  120. package/templates/storefront-fashion/app/accessibility/page.tsx +0 -11
  121. package/templates/storefront-fashion/app/account/addresses/page.tsx +0 -21
  122. package/templates/storefront-fashion/app/account/orders/page.tsx +0 -21
  123. package/templates/storefront-fashion/app/account/page.tsx +0 -22
  124. package/templates/storefront-fashion/app/account/settings/page.tsx +0 -21
  125. package/templates/storefront-fashion/app/cart/page.tsx +0 -9
  126. package/templates/storefront-fashion/app/categories/[slug]/listing-client.tsx +0 -19
  127. package/templates/storefront-fashion/app/categories/[slug]/page.tsx +0 -130
  128. package/templates/storefront-fashion/app/checkout/page.tsx +0 -17
  129. package/templates/storefront-fashion/app/collections/[slug]/listing-client.tsx +0 -20
  130. package/templates/storefront-fashion/app/collections/[slug]/page.tsx +0 -130
  131. package/templates/storefront-fashion/app/contact/contact-form.tsx +0 -109
  132. package/templates/storefront-fashion/app/contact/page.tsx +0 -54
  133. package/templates/storefront-fashion/app/error.tsx +0 -61
  134. package/templates/storefront-fashion/app/faq/page.tsx +0 -46
  135. package/templates/storefront-fashion/app/globals.css +0 -46
  136. package/templates/storefront-fashion/app/layout.tsx +0 -78
  137. package/templates/storefront-fashion/app/llms.txt/route.ts +0 -94
  138. package/templates/storefront-fashion/app/login/page.tsx +0 -17
  139. package/templates/storefront-fashion/app/lookbook/page.tsx +0 -132
  140. package/templates/storefront-fashion/app/not-found.tsx +0 -39
  141. package/templates/storefront-fashion/app/opensearch.xml/route.ts +0 -37
  142. package/templates/storefront-fashion/app/orders/[id]/page.tsx +0 -24
  143. package/templates/storefront-fashion/app/page.tsx +0 -183
  144. package/templates/storefront-fashion/app/privacy/page.tsx +0 -44
  145. package/templates/storefront-fashion/app/products/[slug]/page.tsx +0 -165
  146. package/templates/storefront-fashion/app/products/[slug]/product-detail.tsx +0 -70
  147. package/templates/storefront-fashion/app/returns/page.tsx +0 -11
  148. package/templates/storefront-fashion/app/robots.ts +0 -18
  149. package/templates/storefront-fashion/app/search/page.tsx +0 -38
  150. package/templates/storefront-fashion/app/search/search-client.tsx +0 -7
  151. package/templates/storefront-fashion/app/shipping/page.tsx +0 -16
  152. package/templates/storefront-fashion/app/shop/page.tsx +0 -63
  153. package/templates/storefront-fashion/app/shop/shop-client.tsx +0 -32
  154. package/templates/storefront-fashion/app/signup/page.tsx +0 -17
  155. package/templates/storefront-fashion/app/sitemap-page/page.tsx +0 -167
  156. package/templates/storefront-fashion/app/sitemap.ts +0 -59
  157. package/templates/storefront-fashion/app/size-guide/page.tsx +0 -155
  158. package/templates/storefront-fashion/app/terms/page.tsx +0 -44
  159. package/templates/storefront-fashion/app/track-order/page.tsx +0 -24
  160. package/templates/storefront-fashion/app/track-order/track-order-form.tsx +0 -69
  161. package/templates/storefront-fashion/components/account-iframe.tsx +0 -13
  162. package/templates/storefront-fashion/components/brand-marquee.tsx +0 -27
  163. package/templates/storefront-fashion/components/cart-drawer.tsx +0 -14
  164. package/templates/storefront-fashion/components/cart-pill.tsx +0 -36
  165. package/templates/storefront-fashion/components/category-grid.tsx +0 -28
  166. package/templates/storefront-fashion/components/category-tiles.tsx +0 -104
  167. package/templates/storefront-fashion/components/collection-strip.tsx +0 -45
  168. package/templates/storefront-fashion/components/feature-hero.tsx +0 -82
  169. package/templates/storefront-fashion/components/footer.tsx +0 -153
  170. package/templates/storefront-fashion/components/header.tsx +0 -43
  171. package/templates/storefront-fashion/components/hero.tsx +0 -28
  172. package/templates/storefront-fashion/components/nav-link.tsx +0 -20
  173. package/templates/storefront-fashion/components/newsletter.tsx +0 -50
  174. package/templates/storefront-fashion/components/policy-page.tsx +0 -49
  175. package/templates/storefront-fashion/components/promo-banner.tsx +0 -41
  176. package/templates/storefront-fashion/components/providers.tsx +0 -35
  177. package/templates/storefront-fashion/components/section-heading.tsx +0 -37
  178. package/templates/storefront-fashion/components/store-product-card.tsx +0 -87
  179. package/templates/storefront-fashion/components/trade-in-cta.tsx +0 -54
  180. package/templates/storefront-fashion/components/trust-bar.tsx +0 -66
  181. package/templates/storefront-fashion/e2e/visual.spec.ts +0 -52
  182. package/templates/storefront-fashion/lib/brand.ts +0 -518
  183. package/templates/storefront-fashion/lib/cart.ts +0 -12
  184. package/templates/storefront-fashion/next.config.ts +0 -42
  185. package/templates/storefront-fashion/package.json +0 -38
  186. package/templates/storefront-fashion/playwright.config.ts +0 -48
  187. package/templates/storefront-fashion/postcss.config.mjs +0 -7
  188. package/templates/storefront-fashion/tsconfig.json +0 -23
  189. package/templates/storefront-fashion/vitest.config.ts +0 -9
  190. package/templates/storefront-grocery/.claude/skills/cimplify-storefront/SKILL.md +0 -145
  191. package/templates/storefront-grocery/.cursor/rules/cimplify-storefront.mdc +0 -25
  192. package/templates/storefront-grocery/.env.example +0 -16
  193. package/templates/storefront-grocery/AGENTS.md +0 -96
  194. package/templates/storefront-grocery/CLAUDE.md +0 -22
  195. package/templates/storefront-grocery/README.md +0 -73
  196. package/templates/storefront-grocery/__tests__/brand.test.ts +0 -4
  197. package/templates/storefront-grocery/__tests__/cart-flow.test.ts +0 -4
  198. package/templates/storefront-grocery/__tests__/contract.test.ts +0 -4
  199. package/templates/storefront-grocery/app/about/page.tsx +0 -38
  200. package/templates/storefront-grocery/app/accessibility/page.tsx +0 -11
  201. package/templates/storefront-grocery/app/account/addresses/page.tsx +0 -21
  202. package/templates/storefront-grocery/app/account/orders/page.tsx +0 -21
  203. package/templates/storefront-grocery/app/account/page.tsx +0 -22
  204. package/templates/storefront-grocery/app/account/settings/page.tsx +0 -21
  205. package/templates/storefront-grocery/app/cart/page.tsx +0 -9
  206. package/templates/storefront-grocery/app/categories/[slug]/listing-client.tsx +0 -19
  207. package/templates/storefront-grocery/app/categories/[slug]/page.tsx +0 -118
  208. package/templates/storefront-grocery/app/checkout/page.tsx +0 -17
  209. package/templates/storefront-grocery/app/collections/[slug]/listing-client.tsx +0 -20
  210. package/templates/storefront-grocery/app/collections/[slug]/page.tsx +0 -118
  211. package/templates/storefront-grocery/app/contact/contact-form.tsx +0 -109
  212. package/templates/storefront-grocery/app/contact/page.tsx +0 -54
  213. package/templates/storefront-grocery/app/error.tsx +0 -60
  214. package/templates/storefront-grocery/app/faq/page.tsx +0 -46
  215. package/templates/storefront-grocery/app/globals.css +0 -45
  216. package/templates/storefront-grocery/app/layout.tsx +0 -77
  217. package/templates/storefront-grocery/app/llms.txt/route.ts +0 -94
  218. package/templates/storefront-grocery/app/login/page.tsx +0 -17
  219. package/templates/storefront-grocery/app/not-found.tsx +0 -39
  220. package/templates/storefront-grocery/app/opensearch.xml/route.ts +0 -37
  221. package/templates/storefront-grocery/app/orders/[id]/page.tsx +0 -21
  222. package/templates/storefront-grocery/app/page.tsx +0 -97
  223. package/templates/storefront-grocery/app/privacy/page.tsx +0 -44
  224. package/templates/storefront-grocery/app/returns/page.tsx +0 -11
  225. package/templates/storefront-grocery/app/robots.ts +0 -18
  226. package/templates/storefront-grocery/app/search/page.tsx +0 -38
  227. package/templates/storefront-grocery/app/search/search-client.tsx +0 -7
  228. package/templates/storefront-grocery/app/shipping/page.tsx +0 -16
  229. package/templates/storefront-grocery/app/shop/page.tsx +0 -31
  230. package/templates/storefront-grocery/app/shop/shop-client.tsx +0 -27
  231. package/templates/storefront-grocery/app/signup/page.tsx +0 -17
  232. package/templates/storefront-grocery/app/sitemap-page/page.tsx +0 -167
  233. package/templates/storefront-grocery/app/sitemap.ts +0 -62
  234. package/templates/storefront-grocery/app/terms/page.tsx +0 -44
  235. package/templates/storefront-grocery/app/track-order/page.tsx +0 -24
  236. package/templates/storefront-grocery/app/track-order/track-order-form.tsx +0 -69
  237. package/templates/storefront-grocery/components/account-iframe.tsx +0 -13
  238. package/templates/storefront-grocery/components/cart-drawer.tsx +0 -14
  239. package/templates/storefront-grocery/components/cart-pill.tsx +0 -36
  240. package/templates/storefront-grocery/components/category-grid.tsx +0 -28
  241. package/templates/storefront-grocery/components/collection-strip.tsx +0 -45
  242. package/templates/storefront-grocery/components/footer.tsx +0 -148
  243. package/templates/storefront-grocery/components/header.tsx +0 -43
  244. package/templates/storefront-grocery/components/hero.tsx +0 -25
  245. package/templates/storefront-grocery/components/nav-link.tsx +0 -20
  246. package/templates/storefront-grocery/components/policy-page.tsx +0 -49
  247. package/templates/storefront-grocery/components/product-modal.tsx +0 -104
  248. package/templates/storefront-grocery/components/providers.tsx +0 -35
  249. package/templates/storefront-grocery/components/store-product-card.tsx +0 -87
  250. package/templates/storefront-grocery/lib/brand.ts +0 -375
  251. package/templates/storefront-grocery/lib/cart.ts +0 -12
  252. package/templates/storefront-grocery/next.config.ts +0 -42
  253. package/templates/storefront-grocery/package.json +0 -35
  254. package/templates/storefront-grocery/postcss.config.mjs +0 -7
  255. package/templates/storefront-grocery/tsconfig.json +0 -23
  256. package/templates/storefront-grocery/vitest.config.ts +0 -9
  257. package/templates/storefront-restaurant/.claude/skills/cimplify-storefront/SKILL.md +0 -145
  258. package/templates/storefront-restaurant/.cursor/rules/cimplify-storefront.mdc +0 -25
  259. package/templates/storefront-restaurant/.env.example +0 -16
  260. package/templates/storefront-restaurant/AGENTS.md +0 -102
  261. package/templates/storefront-restaurant/CLAUDE.md +0 -22
  262. package/templates/storefront-restaurant/README.md +0 -73
  263. package/templates/storefront-restaurant/__tests__/brand.test.ts +0 -4
  264. package/templates/storefront-restaurant/__tests__/cart-flow.test.ts +0 -4
  265. package/templates/storefront-restaurant/__tests__/contract.test.ts +0 -4
  266. package/templates/storefront-restaurant/app/about/page.tsx +0 -38
  267. package/templates/storefront-restaurant/app/accessibility/page.tsx +0 -11
  268. package/templates/storefront-restaurant/app/account/addresses/page.tsx +0 -21
  269. package/templates/storefront-restaurant/app/account/orders/page.tsx +0 -21
  270. package/templates/storefront-restaurant/app/account/page.tsx +0 -22
  271. package/templates/storefront-restaurant/app/account/settings/page.tsx +0 -21
  272. package/templates/storefront-restaurant/app/cart/page.tsx +0 -9
  273. package/templates/storefront-restaurant/app/categories/[slug]/listing-client.tsx +0 -19
  274. package/templates/storefront-restaurant/app/categories/[slug]/page.tsx +0 -118
  275. package/templates/storefront-restaurant/app/checkout/page.tsx +0 -17
  276. package/templates/storefront-restaurant/app/collections/[slug]/listing-client.tsx +0 -20
  277. package/templates/storefront-restaurant/app/collections/[slug]/page.tsx +0 -118
  278. package/templates/storefront-restaurant/app/contact/contact-form.tsx +0 -109
  279. package/templates/storefront-restaurant/app/contact/page.tsx +0 -54
  280. package/templates/storefront-restaurant/app/error.tsx +0 -60
  281. package/templates/storefront-restaurant/app/faq/page.tsx +0 -46
  282. package/templates/storefront-restaurant/app/globals.css +0 -44
  283. package/templates/storefront-restaurant/app/layout.tsx +0 -82
  284. package/templates/storefront-restaurant/app/llms.txt/route.ts +0 -94
  285. package/templates/storefront-restaurant/app/login/page.tsx +0 -17
  286. package/templates/storefront-restaurant/app/not-found.tsx +0 -39
  287. package/templates/storefront-restaurant/app/opensearch.xml/route.ts +0 -37
  288. package/templates/storefront-restaurant/app/orders/[id]/page.tsx +0 -21
  289. package/templates/storefront-restaurant/app/page.tsx +0 -97
  290. package/templates/storefront-restaurant/app/privacy/page.tsx +0 -44
  291. package/templates/storefront-restaurant/app/reservations/page.tsx +0 -66
  292. package/templates/storefront-restaurant/app/reservations/reservations-client.tsx +0 -234
  293. package/templates/storefront-restaurant/app/returns/page.tsx +0 -11
  294. package/templates/storefront-restaurant/app/robots.ts +0 -18
  295. package/templates/storefront-restaurant/app/search/page.tsx +0 -38
  296. package/templates/storefront-restaurant/app/search/search-client.tsx +0 -7
  297. package/templates/storefront-restaurant/app/shipping/page.tsx +0 -16
  298. package/templates/storefront-restaurant/app/shop/page.tsx +0 -31
  299. package/templates/storefront-restaurant/app/shop/shop-client.tsx +0 -27
  300. package/templates/storefront-restaurant/app/signup/page.tsx +0 -17
  301. package/templates/storefront-restaurant/app/sitemap-page/page.tsx +0 -167
  302. package/templates/storefront-restaurant/app/sitemap.ts +0 -62
  303. package/templates/storefront-restaurant/app/terms/page.tsx +0 -44
  304. package/templates/storefront-restaurant/app/track-order/page.tsx +0 -24
  305. package/templates/storefront-restaurant/app/track-order/track-order-form.tsx +0 -69
  306. package/templates/storefront-restaurant/components/account-iframe.tsx +0 -13
  307. package/templates/storefront-restaurant/components/cart-drawer.tsx +0 -14
  308. package/templates/storefront-restaurant/components/cart-pill.tsx +0 -36
  309. package/templates/storefront-restaurant/components/category-grid.tsx +0 -28
  310. package/templates/storefront-restaurant/components/collection-strip.tsx +0 -45
  311. package/templates/storefront-restaurant/components/footer.tsx +0 -148
  312. package/templates/storefront-restaurant/components/header.tsx +0 -43
  313. package/templates/storefront-restaurant/components/hero.tsx +0 -25
  314. package/templates/storefront-restaurant/components/nav-link.tsx +0 -20
  315. package/templates/storefront-restaurant/components/policy-page.tsx +0 -49
  316. package/templates/storefront-restaurant/components/product-modal.tsx +0 -104
  317. package/templates/storefront-restaurant/components/providers.tsx +0 -35
  318. package/templates/storefront-restaurant/components/store-product-card.tsx +0 -87
  319. package/templates/storefront-restaurant/lib/brand.ts +0 -377
  320. package/templates/storefront-restaurant/lib/cart.ts +0 -12
  321. package/templates/storefront-restaurant/next.config.ts +0 -42
  322. package/templates/storefront-restaurant/package.json +0 -35
  323. package/templates/storefront-restaurant/postcss.config.mjs +0 -7
  324. package/templates/storefront-restaurant/tsconfig.json +0 -23
  325. package/templates/storefront-restaurant/vitest.config.ts +0 -9
  326. package/templates/storefront-retail/.claude/skills/cimplify-storefront/SKILL.md +0 -145
  327. package/templates/storefront-retail/.cursor/rules/cimplify-storefront.mdc +0 -25
  328. package/templates/storefront-retail/.env.example +0 -16
  329. package/templates/storefront-retail/AGENTS.md +0 -117
  330. package/templates/storefront-retail/CLAUDE.md +0 -22
  331. package/templates/storefront-retail/README.md +0 -77
  332. package/templates/storefront-retail/__tests__/brand.test.ts +0 -4
  333. package/templates/storefront-retail/__tests__/cart-flow.test.ts +0 -4
  334. package/templates/storefront-retail/__tests__/contract.test.ts +0 -4
  335. package/templates/storefront-retail/app/about/page.tsx +0 -41
  336. package/templates/storefront-retail/app/accessibility/page.tsx +0 -11
  337. package/templates/storefront-retail/app/account/addresses/page.tsx +0 -21
  338. package/templates/storefront-retail/app/account/orders/page.tsx +0 -21
  339. package/templates/storefront-retail/app/account/page.tsx +0 -22
  340. package/templates/storefront-retail/app/account/settings/page.tsx +0 -21
  341. package/templates/storefront-retail/app/cart/page.tsx +0 -9
  342. package/templates/storefront-retail/app/categories/[slug]/listing-client.tsx +0 -19
  343. package/templates/storefront-retail/app/categories/[slug]/page.tsx +0 -130
  344. package/templates/storefront-retail/app/checkout/page.tsx +0 -17
  345. package/templates/storefront-retail/app/collections/[slug]/listing-client.tsx +0 -20
  346. package/templates/storefront-retail/app/collections/[slug]/page.tsx +0 -130
  347. package/templates/storefront-retail/app/contact/contact-form.tsx +0 -109
  348. package/templates/storefront-retail/app/contact/page.tsx +0 -54
  349. package/templates/storefront-retail/app/error.tsx +0 -61
  350. package/templates/storefront-retail/app/faq/page.tsx +0 -46
  351. package/templates/storefront-retail/app/globals.css +0 -47
  352. package/templates/storefront-retail/app/layout.tsx +0 -77
  353. package/templates/storefront-retail/app/llms.txt/route.ts +0 -94
  354. package/templates/storefront-retail/app/login/page.tsx +0 -17
  355. package/templates/storefront-retail/app/not-found.tsx +0 -39
  356. package/templates/storefront-retail/app/opensearch.xml/route.ts +0 -37
  357. package/templates/storefront-retail/app/orders/[id]/page.tsx +0 -24
  358. package/templates/storefront-retail/app/page.tsx +0 -182
  359. package/templates/storefront-retail/app/privacy/page.tsx +0 -44
  360. package/templates/storefront-retail/app/products/[slug]/page.tsx +0 -165
  361. package/templates/storefront-retail/app/products/[slug]/product-detail.tsx +0 -70
  362. package/templates/storefront-retail/app/returns/page.tsx +0 -11
  363. package/templates/storefront-retail/app/robots.ts +0 -18
  364. package/templates/storefront-retail/app/search/page.tsx +0 -38
  365. package/templates/storefront-retail/app/search/search-client.tsx +0 -7
  366. package/templates/storefront-retail/app/shipping/page.tsx +0 -16
  367. package/templates/storefront-retail/app/shop/page.tsx +0 -63
  368. package/templates/storefront-retail/app/shop/shop-client.tsx +0 -32
  369. package/templates/storefront-retail/app/signup/page.tsx +0 -17
  370. package/templates/storefront-retail/app/sitemap-page/page.tsx +0 -167
  371. package/templates/storefront-retail/app/sitemap.ts +0 -59
  372. package/templates/storefront-retail/app/terms/page.tsx +0 -44
  373. package/templates/storefront-retail/app/track-order/page.tsx +0 -24
  374. package/templates/storefront-retail/app/track-order/track-order-form.tsx +0 -69
  375. package/templates/storefront-retail/components/account-iframe.tsx +0 -13
  376. package/templates/storefront-retail/components/brand-marquee.tsx +0 -27
  377. package/templates/storefront-retail/components/cart-drawer.tsx +0 -14
  378. package/templates/storefront-retail/components/cart-pill.tsx +0 -36
  379. package/templates/storefront-retail/components/category-grid.tsx +0 -28
  380. package/templates/storefront-retail/components/category-tiles.tsx +0 -104
  381. package/templates/storefront-retail/components/collection-strip.tsx +0 -45
  382. package/templates/storefront-retail/components/feature-hero.tsx +0 -84
  383. package/templates/storefront-retail/components/footer.tsx +0 -153
  384. package/templates/storefront-retail/components/header.tsx +0 -45
  385. package/templates/storefront-retail/components/hero.tsx +0 -28
  386. package/templates/storefront-retail/components/nav-link.tsx +0 -20
  387. package/templates/storefront-retail/components/newsletter.tsx +0 -50
  388. package/templates/storefront-retail/components/policy-page.tsx +0 -49
  389. package/templates/storefront-retail/components/promo-banner.tsx +0 -41
  390. package/templates/storefront-retail/components/providers.tsx +0 -35
  391. package/templates/storefront-retail/components/section-heading.tsx +0 -37
  392. package/templates/storefront-retail/components/store-product-card.tsx +0 -87
  393. package/templates/storefront-retail/components/trade-in-cta.tsx +0 -54
  394. package/templates/storefront-retail/components/trust-bar.tsx +0 -66
  395. package/templates/storefront-retail/lib/brand.ts +0 -664
  396. package/templates/storefront-retail/lib/cart.ts +0 -12
  397. package/templates/storefront-retail/next.config.ts +0 -42
  398. package/templates/storefront-retail/package.json +0 -35
  399. package/templates/storefront-retail/postcss.config.mjs +0 -7
  400. package/templates/storefront-retail/tsconfig.json +0 -23
  401. package/templates/storefront-retail/vitest.config.ts +0 -9
  402. package/templates/storefront-services/.claude/skills/cimplify-storefront/SKILL.md +0 -145
  403. package/templates/storefront-services/.cursor/rules/cimplify-storefront.mdc +0 -25
  404. package/templates/storefront-services/.env.example +0 -16
  405. package/templates/storefront-services/AGENTS.md +0 -101
  406. package/templates/storefront-services/CLAUDE.md +0 -22
  407. package/templates/storefront-services/README.md +0 -73
  408. package/templates/storefront-services/__tests__/brand.test.ts +0 -4
  409. package/templates/storefront-services/__tests__/cart-flow.test.ts +0 -4
  410. package/templates/storefront-services/__tests__/contract.test.ts +0 -4
  411. package/templates/storefront-services/app/about/page.tsx +0 -38
  412. package/templates/storefront-services/app/accessibility/page.tsx +0 -11
  413. package/templates/storefront-services/app/account/addresses/page.tsx +0 -21
  414. package/templates/storefront-services/app/account/orders/page.tsx +0 -21
  415. package/templates/storefront-services/app/account/page.tsx +0 -22
  416. package/templates/storefront-services/app/account/settings/page.tsx +0 -21
  417. package/templates/storefront-services/app/book/book-client.tsx +0 -195
  418. package/templates/storefront-services/app/book/page.tsx +0 -65
  419. package/templates/storefront-services/app/cart/page.tsx +0 -9
  420. package/templates/storefront-services/app/categories/[slug]/listing-client.tsx +0 -19
  421. package/templates/storefront-services/app/categories/[slug]/page.tsx +0 -118
  422. package/templates/storefront-services/app/checkout/page.tsx +0 -17
  423. package/templates/storefront-services/app/collections/[slug]/listing-client.tsx +0 -20
  424. package/templates/storefront-services/app/collections/[slug]/page.tsx +0 -118
  425. package/templates/storefront-services/app/contact/contact-form.tsx +0 -109
  426. package/templates/storefront-services/app/contact/page.tsx +0 -54
  427. package/templates/storefront-services/app/error.tsx +0 -60
  428. package/templates/storefront-services/app/faq/page.tsx +0 -46
  429. package/templates/storefront-services/app/globals.css +0 -45
  430. package/templates/storefront-services/app/layout.tsx +0 -82
  431. package/templates/storefront-services/app/llms.txt/route.ts +0 -94
  432. package/templates/storefront-services/app/login/page.tsx +0 -17
  433. package/templates/storefront-services/app/not-found.tsx +0 -39
  434. package/templates/storefront-services/app/opensearch.xml/route.ts +0 -37
  435. package/templates/storefront-services/app/orders/[id]/page.tsx +0 -21
  436. package/templates/storefront-services/app/page.tsx +0 -97
  437. package/templates/storefront-services/app/privacy/page.tsx +0 -44
  438. package/templates/storefront-services/app/returns/page.tsx +0 -11
  439. package/templates/storefront-services/app/robots.ts +0 -18
  440. package/templates/storefront-services/app/search/page.tsx +0 -38
  441. package/templates/storefront-services/app/search/search-client.tsx +0 -7
  442. package/templates/storefront-services/app/shipping/page.tsx +0 -16
  443. package/templates/storefront-services/app/shop/page.tsx +0 -31
  444. package/templates/storefront-services/app/shop/shop-client.tsx +0 -27
  445. package/templates/storefront-services/app/signup/page.tsx +0 -17
  446. package/templates/storefront-services/app/sitemap-page/page.tsx +0 -167
  447. package/templates/storefront-services/app/sitemap.ts +0 -62
  448. package/templates/storefront-services/app/terms/page.tsx +0 -44
  449. package/templates/storefront-services/app/track-order/page.tsx +0 -24
  450. package/templates/storefront-services/app/track-order/track-order-form.tsx +0 -69
  451. package/templates/storefront-services/components/account-iframe.tsx +0 -13
  452. package/templates/storefront-services/components/cart-drawer.tsx +0 -14
  453. package/templates/storefront-services/components/cart-pill.tsx +0 -36
  454. package/templates/storefront-services/components/category-grid.tsx +0 -28
  455. package/templates/storefront-services/components/collection-strip.tsx +0 -45
  456. package/templates/storefront-services/components/footer.tsx +0 -148
  457. package/templates/storefront-services/components/header.tsx +0 -43
  458. package/templates/storefront-services/components/hero.tsx +0 -25
  459. package/templates/storefront-services/components/nav-link.tsx +0 -20
  460. package/templates/storefront-services/components/policy-page.tsx +0 -49
  461. package/templates/storefront-services/components/product-modal.tsx +0 -104
  462. package/templates/storefront-services/components/providers.tsx +0 -35
  463. package/templates/storefront-services/components/store-product-card.tsx +0 -87
  464. package/templates/storefront-services/lib/brand.ts +0 -396
  465. package/templates/storefront-services/lib/cart.ts +0 -12
  466. package/templates/storefront-services/next.config.ts +0 -42
  467. package/templates/storefront-services/package.json +0 -35
  468. package/templates/storefront-services/postcss.config.mjs +0 -7
  469. package/templates/storefront-services/tsconfig.json +0 -23
  470. package/templates/storefront-services/vitest.config.ts +0 -9
@@ -1,87 +0,0 @@
1
- "use client";
2
-
3
- import Link from "next/link";
4
- import {
5
- CardVariant,
6
- FoodProductCard,
7
- RetailProductCard,
8
- WholesaleProductCard,
9
- DigitalProductCard,
10
- BundleProductCard,
11
- CompositeProductCard,
12
- StandardServiceCard,
13
- CompactServiceCard,
14
- ScheduleServiceCard,
15
- RentalServiceCard,
16
- AccommodationCard,
17
- LeaseServiceCard,
18
- SubscriptionCard,
19
- } from "@cimplify/sdk/react";
20
- import type { CardLayoutProps } from "@cimplify/sdk/react";
21
- import type { Product } from "@cimplify/sdk";
22
- import { PRODUCT_TYPE, RENDER_HINT, DURATION_UNIT } from "@cimplify/sdk";
23
-
24
- const RENTAL_UNITS = new Set<string>([DURATION_UNIT.Days, DURATION_UNIT.Hours]);
25
- const LEASE_UNITS = new Set<string>([DURATION_UNIT.Weeks, DURATION_UNIT.Months, DURATION_UNIT.Years]);
26
-
27
- const VARIANT_CARDS: Record<CardVariant, React.ComponentType<CardLayoutProps>> = {
28
- [CardVariant.Food]: FoodProductCard,
29
- [CardVariant.Retail]: RetailProductCard,
30
- [CardVariant.Wholesale]: WholesaleProductCard,
31
- [CardVariant.Digital]: DigitalProductCard,
32
- [CardVariant.Bundle]: BundleProductCard,
33
- [CardVariant.Composite]: CompositeProductCard,
34
- [CardVariant.Standard]: StandardServiceCard,
35
- [CardVariant.Compact]: CompactServiceCard,
36
- [CardVariant.Schedule]: ScheduleServiceCard,
37
- [CardVariant.Rental]: RentalServiceCard,
38
- [CardVariant.Accommodation]: AccommodationCard,
39
- [CardVariant.Lease]: LeaseServiceCard,
40
- [CardVariant.Subscription]: SubscriptionCard,
41
- };
42
-
43
- function resolveVariant(p: Product): CardVariant {
44
- if (p.type === PRODUCT_TYPE.Bundle) return CardVariant.Bundle;
45
- if (p.type === PRODUCT_TYPE.Composite) return CardVariant.Composite;
46
- if (p.quantity_pricing && p.quantity_pricing.length > 1) return CardVariant.Wholesale;
47
- if (p.type === PRODUCT_TYPE.Digital) return CardVariant.Digital;
48
- if (p.type === PRODUCT_TYPE.Service) {
49
- if (p.duration_unit && RENTAL_UNITS.has(p.duration_unit)) return CardVariant.Rental;
50
- if (p.duration_unit === DURATION_UNIT.Nights) return CardVariant.Accommodation;
51
- if (p.duration_unit && LEASE_UNITS.has(p.duration_unit)) return CardVariant.Lease;
52
- if (p.billing_plans && p.billing_plans.length > 0 && !p.duration_minutes) return CardVariant.Subscription;
53
- return CardVariant.Standard;
54
- }
55
- if (p.render_hint === RENDER_HINT.Food) return CardVariant.Food;
56
- return CardVariant.Retail;
57
- }
58
-
59
- interface Props {
60
- product: Product;
61
- /** Override the auto-detected card variant. */
62
- variant?: CardVariant;
63
- }
64
-
65
- /**
66
- * Variant-aware product card that opens the URL-driven product modal on
67
- * click. Uses `next/link` with `?product=<slug>` so the link is statically
68
- * pre-renderable — no `useSearchParams` dependency means cards don't
69
- * become dynamic islands. The modal (which already reads `useSearchParams`
70
- * inside a Suspense boundary in the root layout) handles the rest.
71
- */
72
- export function StoreProductCard({ product, variant }: Props) {
73
- const slug = product.slug || product.id;
74
- const Card = VARIANT_CARDS[variant ?? resolveVariant(product)];
75
- const href = `?product=${encodeURIComponent(slug)}`;
76
-
77
- return (
78
- <Card
79
- product={product}
80
- renderLink={({ className, children }) => (
81
- <Link href={href} scroll={false} prefetch={false} className={className}>
82
- {children}
83
- </Link>
84
- )}
85
- />
86
- );
87
- }
@@ -1,570 +0,0 @@
1
- /**
2
- * Brand & content configuration — the **single source of truth** for every
3
- * visible string in this storefront.
4
- *
5
- * To rebrand the entire site, edit this file. Every page, component,
6
- * metadata block, JSON-LD object, sitemap, robots.txt, and llms.txt entry
7
- * reads from `brand`.
8
- *
9
- * Schema is intentionally generous: optional fields (tradeIn, trustItems,
10
- * brandStrip, promo) only render when present, so the same Brand type
11
- * works across industry templates.
12
- */
13
-
14
- import type { SeedName } from "@cimplify/sdk/testing/suite";
15
-
16
- export interface BrandSocial {
17
- /** Display label (Instagram, X, YouTube, …). Used as aria-label and footer chip. */
18
- label: string;
19
- href: string;
20
- /** Optional icon override — defaults to inline SVG keyed by `label`. */
21
- icon?: "instagram" | "x" | "tiktok" | "facebook" | "youtube" | "linkedin" | "whatsapp";
22
- }
23
-
24
- export interface BrandFaqEntry {
25
- q: string;
26
- a: string;
27
- }
28
-
29
- export interface BrandFaqSection {
30
- title: string;
31
- items: BrandFaqEntry[];
32
- }
33
-
34
- export interface BrandPolicySection {
35
- heading: string;
36
- /** Plain prose, or { intro + bullets } for list-style sections. */
37
- body: string | { intro: string; bullets: string[] };
38
- }
39
-
40
- export interface BrandSitemapSection {
41
- title: string;
42
- links: { label: string; href: string }[];
43
- }
44
-
45
- export interface Brand {
46
- name: string;
47
- shortName: string;
48
- microTag: string;
49
- description: string;
50
- schemaType:
51
- | "Store"
52
- | "Bakery"
53
- | "Restaurant"
54
- | "BeautySalon"
55
- | "GroceryStore"
56
- | "LocalBusiness"
57
- | "Organization";
58
-
59
- currency: string;
60
- locale: string;
61
-
62
- contact: {
63
- address: string;
64
- streetAddress: string;
65
- city: string;
66
- countryCode: string;
67
- phone: string;
68
- phoneTel: string;
69
- email: string;
70
- privacyEmail: string;
71
- supportEmail?: string;
72
- businessEmail?: string;
73
- hours: string;
74
- };
75
-
76
- socials: BrandSocial[];
77
-
78
- header: {
79
- nav: { label: string; href: string }[];
80
- };
81
-
82
- hero: {
83
- badge: string;
84
- title: string;
85
- subtitle: string;
86
- primaryCtaLabel: string;
87
- secondaryCtaLabel?: string;
88
- secondaryCtaHref?: string;
89
- };
90
-
91
- trustItems?: { label: string; value: string; description: string; iconKey: string }[];
92
- brandStrip?: { headline: string; brands: string[] };
93
- promo?: { badge: string; title: string; body: string; ctaLabel: string; ctaHref: string };
94
- tradeIn?: {
95
- eyebrow: string;
96
- title: string;
97
- body: string;
98
- primaryCtaLabel: string;
99
- primaryCtaHref: string;
100
- secondaryCtaLabel: string;
101
- secondaryCtaHref: string;
102
- steps: { step: string; title: string; body: string }[];
103
- };
104
-
105
- newsletter: {
106
- eyebrow: string;
107
- title: string;
108
- body: string;
109
- placeholder: string;
110
- submitLabel: string;
111
- successLabel: string;
112
- };
113
-
114
- about: {
115
- eyebrow: string;
116
- title: string;
117
- paragraphs: string[];
118
- sections: { heading: string; body: string }[];
119
- };
120
-
121
- faq: {
122
- eyebrow: string;
123
- title: string;
124
- sections: BrandFaqSection[];
125
- contactPrompt: string;
126
- contactEmail: string;
127
- };
128
-
129
- terms: {
130
- eyebrow: string;
131
- title: string;
132
- lastUpdated: string;
133
- sections: BrandPolicySection[];
134
- };
135
-
136
- privacy: {
137
- eyebrow: string;
138
- title: string;
139
- lastUpdated: string;
140
- sections: BrandPolicySection[];
141
- };
142
-
143
- // ─── Standalone policy pages ──────────────────────────────────
144
- shipping: { eyebrow: string; title: string; lastUpdated: string; sections: BrandPolicySection[] };
145
- returns: { eyebrow: string; title: string; lastUpdated: string; sections: BrandPolicySection[] };
146
- accessibility: { eyebrow: string; title: string; lastUpdated: string; sections: BrandPolicySection[] };
147
-
148
- // ─── Auth + account UX copy ───────────────────────────────────
149
- account: {
150
- loginEyebrow: string;
151
- loginTitle: string;
152
- loginSubtitle: string;
153
- signupEyebrow: string;
154
- signupTitle: string;
155
- signupSubtitle: string;
156
- accountEyebrow: string;
157
- accountTitle: string;
158
- };
159
-
160
- // ─── Contact form copy ────────────────────────────────────────
161
- contactPage: {
162
- eyebrow: string;
163
- title: string;
164
- body: string;
165
- /** Reasons offered in the contact form's subject dropdown. */
166
- reasons: string[];
167
- /** Direct lines under the form (label + href, e.g. tel: / mailto:). */
168
- directLines: { label: string; value: string; href: string }[];
169
- };
170
-
171
- // ─── Track-order page copy ────────────────────────────────────
172
- trackOrder: {
173
- eyebrow: string;
174
- title: string;
175
- body: string;
176
- };
177
-
178
- footer: {
179
- blurb: string;
180
- sitemap: BrandSitemapSection[];
181
- poweredBy?: { label: string; href: string };
182
- };
183
-
184
- llms: {
185
- summary: string;
186
- };
187
-
188
- mock: {
189
- seed: SeedName;
190
- businessId: string;
191
- };
192
- }
193
-
194
- export const brand: Brand = {
195
- name: "Akua's Bakery",
196
- shortName: "Akua's Bakery",
197
- microTag: "ACCRA · SINCE 2018",
198
- description:
199
- "Sourdough, croissants, cakes, and more — handcrafted in East Legon, delivered across Accra.",
200
- schemaType: "Bakery",
201
-
202
- currency: "GHS",
203
- locale: "en_GH",
204
-
205
- contact: {
206
- address: "12 Independence Ave, Accra",
207
- streetAddress: "12 Independence Ave",
208
- city: "Accra",
209
- countryCode: "GH",
210
- phone: "+233 244 000 000",
211
- phoneTel: "+233244000000",
212
- email: "hello@akuasbakery.test",
213
- privacyEmail: "privacy@akuasbakery.test",
214
- hours: "Tue–Sun · 8am–8pm · closed Mondays",
215
- },
216
-
217
- socials: [
218
- { label: "Instagram", href: "https://instagram.com/akuasbakery", icon: "instagram" },
219
- { label: "TikTok", href: "https://tiktok.com/@akuasbakery", icon: "tiktok" },
220
- { label: "X", href: "https://x.com/akuasbakery", icon: "x" },
221
- { label: "Facebook", href: "https://facebook.com/akuasbakery", icon: "facebook" },
222
- { label: "WhatsApp", href: "https://wa.me/233244000000", icon: "whatsapp" },
223
- ],
224
-
225
- header: {
226
- nav: [
227
- { label: "Home", href: "/" },
228
- { label: "Shop", href: "/shop" },
229
- { label: "About", href: "/about" },
230
- { label: "FAQ", href: "/faq" },
231
- ],
232
- },
233
-
234
- hero: {
235
- badge: "BAKERY · PÂTISSERIE · COFFEE",
236
- title: "Fresh from the oven, every day.",
237
- subtitle:
238
- "Sourdough, croissants, cakes, and more — handcrafted in East Legon, delivered across Accra.",
239
- primaryCtaLabel: "Shop the menu",
240
- },
241
-
242
- newsletter: {
243
- eyebrow: "Stay in touch",
244
- title: "Fresh bakes, in your inbox.",
245
- body: "One email a week. New seasonal pastries, the cake of the month, and the limited drops you don't want to miss.",
246
- placeholder: "you@email.com",
247
- submitLabel: "Subscribe",
248
- successLabel: "Subscribed ✓",
249
- },
250
-
251
- about: {
252
- eyebrow: "Our story",
253
- title: "Bread is a love letter.",
254
- paragraphs: [
255
- "Akua started baking in 2018 from a converted shipping container in East Legon, with a wood-fired oven, a 12-year-old sourdough starter, and a stubborn belief that good bread shouldn't be a luxury.",
256
- "Today, we bake out of a 200-square-metre kitchen on Independence Avenue, milling our own heritage flour and supplying restaurants and homes across Greater Accra. Every loaf, every croissant, every cake is mixed, shaped, and baked by hand — usually by Akua, increasingly by a team of ten she trained from scratch.",
257
- "We're proud to source over 90% of our ingredients within Ghana: flour from the Volta Region, butter from Tamale, hibiscus from local farmers we've worked with for years.",
258
- ],
259
- sections: [
260
- {
261
- heading: "What we believe",
262
- body: "Slow over fast. 24-hour ferments, double proofs, cold lamination. Local first — Ghanaian wheat, Ghanaian dairy, Ghanaian hands. People over yield — every team member starts on the bench, learning the doughs by feel.",
263
- },
264
- {
265
- heading: "Visit",
266
- body: "12 Independence Ave, Accra · open Tuesday–Sunday, 8am–8pm. We close on Mondays so the team can rest and the ovens can rest.",
267
- },
268
- ],
269
- },
270
-
271
- faq: {
272
- eyebrow: "Frequently asked",
273
- title: "Questions, answered.",
274
- sections: [
275
- {
276
- title: "Ordering & delivery",
277
- items: [
278
- {
279
- q: "Where do you deliver?",
280
- a: "Same-day delivery within Greater Accra for orders placed before 2pm. Outside Accra, we offer next-day shipping by partner courier — checkout will show the available options for your address.",
281
- },
282
- {
283
- q: "Can I pick up my order?",
284
- a: "Yes. Pickup is available 8am–8pm at our East Legon location, 12 Independence Avenue. Choose 'Pickup' at checkout and we'll have everything boxed and ready when you arrive.",
285
- },
286
- {
287
- q: "How quickly will my order arrive?",
288
- a: "Same-day delivery typically arrives within 2–4 hours of order confirmation. You'll get an SMS when the rider is en route.",
289
- },
290
- {
291
- q: "Do you offer subscriptions?",
292
- a: "Yes — our Weekly Loaf Subscription delivers a fresh loaf to your door every week. Pause or skip any time.",
293
- },
294
- ],
295
- },
296
- {
297
- title: "Custom cakes & celebrations",
298
- items: [
299
- {
300
- q: "How much notice do you need for a custom cake?",
301
- a: "48 hours minimum for tier cakes; 7 days for elaborate designs with sugar work or fondant figures.",
302
- },
303
- {
304
- q: "Can I bring my own design?",
305
- a: "Absolutely — send us a reference image and we'll quote what's possible within your timeline and budget.",
306
- },
307
- {
308
- q: "Do you do wedding cakes?",
309
- a: "We do, with at least 6 weeks' notice. Tasting sessions are GH₵150 and credited toward your final order.",
310
- },
311
- ],
312
- },
313
- {
314
- title: "Allergens & ingredients",
315
- items: [
316
- {
317
- q: "Is your kitchen allergen-free?",
318
- a: "No. Our kitchen handles wheat, dairy, eggs, and tree nuts. Cross-contamination is possible. Please let us know about severe allergies before ordering.",
319
- },
320
- {
321
- q: "Do you have vegan options?",
322
- a: "Yes. The country sourdough, whole-wheat seed loaf, baguette, and most of the breads are vegan.",
323
- },
324
- ],
325
- },
326
- {
327
- title: "Payment & returns",
328
- items: [
329
- {
330
- q: "What payment methods do you accept?",
331
- a: "Mobile Money (MTN, Telecel, AirtelTigo), Visa/Mastercard, and cash on delivery for Accra-based orders.",
332
- },
333
- {
334
- q: "What's your return policy?",
335
- a: "We don't accept returns on baked goods for food-safety reasons, but if anything is wrong with your order — quality, accuracy, or freshness — message us within 24 hours and we'll make it right or refund you.",
336
- },
337
- ],
338
- },
339
- ],
340
- contactPrompt: "Still stuck? Email",
341
- contactEmail: "hello@akuasbakery.test",
342
- },
343
-
344
- terms: {
345
- eyebrow: "Terms of service",
346
- title: "Terms of Service",
347
- lastUpdated: "1 May 2026",
348
- sections: [
349
- {
350
- heading: "1. Who we are",
351
- body: "Akua's Bakery (\"we\", \"us\") is a bakery and pâtisserie operating at 12 Independence Avenue, Accra, Ghana. By placing an order through this website, you (\"you\", \"customer\") agree to these terms.",
352
- },
353
- {
354
- heading: "2. Orders and acceptance",
355
- body: "Placing an order constitutes an offer to buy. We confirm acceptance by sending an order confirmation email or SMS. Until acceptance, we may decline an order — we'll refund any payment in full, immediately.",
356
- },
357
- {
358
- heading: "3. Pricing and payment",
359
- body: "Prices are in Ghana Cedis (GH₵) and include VAT where applicable. Payment is due at checkout via Mobile Money, card, or cash on delivery. We reserve the right to correct typographical pricing errors before fulfilment.",
360
- },
361
- {
362
- heading: "4. Delivery and pickup",
363
- body: "Delivery times are estimates, not guarantees. We're not liable for delays caused by weather, traffic, or events outside our control. If a rider can't reach you within 30 minutes of arrival, the order may be returned to the kitchen — please make sure your address and phone are correct.",
364
- },
365
- {
366
- heading: "5. Custom cakes",
367
- body: "Custom cake orders require a 50% deposit at booking and the balance before pickup or dispatch. Cancellations more than 72 hours before the event date receive a full refund of the deposit; within 72 hours, the deposit is non-refundable.",
368
- },
369
- {
370
- heading: "6. Allergens",
371
- body: "Our kitchen handles wheat, dairy, eggs, and tree nuts. We can't guarantee freedom from cross-contamination. Customers with severe allergies order at their own risk.",
372
- },
373
- {
374
- heading: "7. Returns",
375
- body: "Baked goods are non-returnable for food-safety reasons. If something is wrong with your order, contact us within 24 hours of delivery and we'll replace it, refund it, or credit your account — your choice.",
376
- },
377
- {
378
- heading: "8. Liability",
379
- body: "To the maximum extent permitted by Ghanaian law, our liability for any claim arising from this website or your order is limited to the value of the order. We're not liable for indirect or consequential losses.",
380
- },
381
- {
382
- heading: "9. Governing law",
383
- body: "These terms are governed by the laws of Ghana. Disputes will be resolved in the courts of Greater Accra.",
384
- },
385
- {
386
- heading: "10. Contact",
387
- body: "Questions? Email hello@akuasbakery.test.",
388
- },
389
- ],
390
- },
391
-
392
- privacy: {
393
- eyebrow: "Privacy",
394
- title: "Privacy Policy",
395
- lastUpdated: "1 May 2026",
396
- sections: [
397
- {
398
- heading: "What we collect",
399
- body: "We collect only what we need to fulfil your order: your name, phone, delivery address, email, and the items in your order. Payment details are processed by our payment partners (Paystack, Stripe) and never stored on our servers.",
400
- },
401
- {
402
- heading: "How we use it",
403
- body: {
404
- intro: "We use your data to:",
405
- bullets: [
406
- "Prepare, deliver, and confirm your order.",
407
- "Send order updates by SMS and email.",
408
- "Send occasional product news — only if you opted in. Unsubscribe anytime in one click.",
409
- "Analyse aggregated, anonymised browsing patterns so we can improve the site.",
410
- ],
411
- },
412
- },
413
- {
414
- heading: "Who we share it with",
415
- body: "We share data only with the partners required to fulfil your order: payment processors (Paystack, Stripe), delivery riders, and our email/SMS providers. We do not sell or rent personal data to third parties — ever.",
416
- },
417
- {
418
- heading: "Cookies",
419
- body: "We use a small number of strictly-necessary cookies to keep your cart working and your session signed in. We don't use third-party advertising or tracking cookies.",
420
- },
421
- {
422
- heading: "Your rights",
423
- body: "Under the Ghana Data Protection Act, 2012 (Act 843), you have the right to access the data we hold about you, correct it, or have it deleted. Email privacy@akuasbakery.test and we'll respond within 14 days.",
424
- },
425
- {
426
- heading: "Retention",
427
- body: "We keep order records for 7 years to comply with Ghanaian tax law. Marketing-list opt-ins are kept until you unsubscribe.",
428
- },
429
- {
430
- heading: "Changes",
431
- body: "If we make material changes to this policy, we'll email customers on our marketing list and update the \"last updated\" date above.",
432
- },
433
- ],
434
- },
435
-
436
- shipping: {
437
- eyebrow: "Shipping",
438
- title: "Shipping & Pickup",
439
- lastUpdated: "1 May 2026",
440
- sections: [
441
- { heading: "Same-day Greater Accra", body: "Orders placed before 2pm are delivered the same day. Free over GH₵150; GH₵25 below." },
442
- { heading: "Outside Accra", body: "Next-day shipping by partner courier. Rates and ETA computed at checkout based on your address." },
443
- { heading: "Pickup", body: "Available 8am–8pm at our East Legon location, Tuesday through Sunday. Choose 'Pickup' at checkout — order is boxed and ready within 30 minutes of confirmation." },
444
- { heading: "Custom-cake delivery", body: "All custom cakes are hand-delivered. We coordinate the time window with you 24 hours before the event." },
445
- ],
446
- },
447
-
448
- returns: {
449
- eyebrow: "Returns",
450
- title: "Returns & Refunds",
451
- lastUpdated: "1 May 2026",
452
- sections: [
453
- { heading: "Baked goods", body: "We don't accept returns on baked goods for food-safety reasons. If anything is wrong with your order — quality, accuracy, or freshness — message us within 24 hours and we'll replace, refund, or credit your account. Your choice." },
454
- { heading: "Merchandise", body: "Aprons, totes, eBooks, and gift cards: 14 days, no questions asked, on unopened items." },
455
- { heading: "How to start", body: "Email hello@akuasbakery.test with your order number and what's wrong. We respond within 24 hours." },
456
- ],
457
- },
458
-
459
- accessibility: {
460
- eyebrow: "Accessibility",
461
- title: "Accessibility Statement",
462
- lastUpdated: "1 May 2026",
463
- sections: [
464
- { heading: "Our commitment", body: "We're committed to making this site usable by everyone, including people who use screen readers, keyboard navigation, or assistive devices. We aim for WCAG 2.1 AA compliance and test against it regularly." },
465
- { heading: "What we've done", body: { intro: "Specifically, we've:", bullets: [
466
- "Maintained a minimum colour contrast of 4.5:1 on body text.",
467
- "Ensured every interactive element is reachable by keyboard.",
468
- "Labelled images and icons for screen-reader users.",
469
- "Kept focus indicators visible at all times.",
470
- ] } },
471
- { heading: "Reporting issues", body: "If you encounter a barrier, email accessibility@akuasbakery.test. We respond within 5 business days." },
472
- ],
473
- },
474
-
475
- account: {
476
- loginEyebrow: "Welcome back",
477
- loginTitle: "Sign in to your account",
478
- loginSubtitle: "Pick up where you left off — orders, addresses, and your subscription, all in one place.",
479
- signupEyebrow: "Welcome",
480
- signupTitle: "Create a baker's account",
481
- signupSubtitle: "Save your favourite loaves, track orders, and get first dibs on seasonal drops.",
482
- accountEyebrow: "Your account",
483
- accountTitle: "Welcome back",
484
- },
485
-
486
- contactPage: {
487
- eyebrow: "Contact",
488
- title: "We'd love to hear from you.",
489
- body: "Bug, idea, special request, or just hello — message us and a real human will reply within 24 hours.",
490
- reasons: ["General question", "An order issue", "Custom cake enquiry", "Press / partnerships", "Wholesale", "Something else"],
491
- directLines: [
492
- { label: "Email", value: "hello@akuasbakery.test", href: "mailto:hello@akuasbakery.test" },
493
- { label: "Phone", value: "+233 244 000 000", href: "tel:+233244000000" },
494
- { label: "WhatsApp", value: "+233 244 000 000", href: "https://wa.me/233244000000" },
495
- ],
496
- },
497
-
498
- trackOrder: {
499
- eyebrow: "Track an order",
500
- title: "Where's my loaf?",
501
- body: "Enter your order number and the email you used at checkout. We'll show you the latest status, the rider's contact, and the live ETA.",
502
- },
503
-
504
- footer: {
505
- blurb:
506
- "Family-run bakery in East Legon. Sourdough, croissants, layered cakes — handcrafted since 2018, delivered across Accra.",
507
- sitemap: [
508
- {
509
- title: "Shop",
510
- links: [
511
- { label: "All products", href: "/shop" },
512
- { label: "Breads", href: "/categories/breads" },
513
- { label: "Pastries", href: "/categories/pastries" },
514
- { label: "Cakes", href: "/categories/cakes" },
515
- { label: "Drinks", href: "/categories/drinks" },
516
- { label: "Merch & More", href: "/categories/merch" },
517
- { label: "Classes & Stays", href: "/categories/classes" },
518
- ],
519
- },
520
- {
521
- title: "Bakery",
522
- links: [
523
- { label: "Our story", href: "/about" },
524
- { label: "FAQ", href: "/faq" },
525
- { label: "Visit us", href: "/about" },
526
- { label: "Wholesale", href: "/categories/merch" },
527
- ],
528
- },
529
- {
530
- title: "Help",
531
- links: [
532
- { label: "Contact", href: "/contact" },
533
- { label: "Track an order", href: "/track-order" },
534
- { label: "Shipping", href: "/shipping" },
535
- { label: "Returns", href: "/returns" },
536
- { label: "FAQ", href: "/faq" },
537
- ],
538
- },
539
- {
540
- title: "Account",
541
- links: [
542
- { label: "Sign in", href: "/login" },
543
- { label: "Create account", href: "/signup" },
544
- { label: "Your orders", href: "/account/orders" },
545
- { label: "Settings", href: "/account/settings" },
546
- ],
547
- },
548
- {
549
- title: "Legal",
550
- links: [
551
- { label: "Terms of Service", href: "/terms" },
552
- { label: "Privacy Policy", href: "/privacy" },
553
- { label: "Accessibility", href: "/accessibility" },
554
- { label: "Sitemap", href: "/sitemap-page" },
555
- ],
556
- },
557
- ],
558
- poweredBy: { label: "Cimplify", href: "https://app.cimplify.io" },
559
- },
560
-
561
- llms: {
562
- summary:
563
- "Family-run bakery in East Legon, Accra. Sourdough, croissants, cakes, and more — handcrafted since 2018. Same-day delivery across Greater Accra; pickup at 12 Independence Ave.",
564
- },
565
-
566
- mock: {
567
- seed: "default",
568
- businessId: "bus_default_akua_bakery",
569
- },
570
- };
@@ -1,12 +0,0 @@
1
- "use client";
2
-
3
- import { useCart } from "@cimplify/sdk/react";
4
-
5
- /**
6
- * Reactive cart count for the header pill. Subscribes to the SDK cart
7
- * state — updates immediately on add / remove / quantity change.
8
- */
9
- export function useCartCount(): { count: number } {
10
- const { itemCount } = useCart();
11
- return { count: itemCount };
12
- }