@cimplify/sdk 0.44.34 → 0.45.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 (451) hide show
  1. package/README.md +21 -16
  2. package/dist/styles.css +1 -1
  3. package/package.json +5 -9
  4. package/dist/cli/commands/deploy.mjs +0 -717
  5. package/dist/cli/commands/dev.mjs +0 -479
  6. package/dist/cli/commands/domains.mjs +0 -769
  7. package/dist/cli/commands/env.mjs +0 -705
  8. package/dist/cli/commands/link.mjs +0 -378
  9. package/dist/cli/commands/login.mjs +0 -584
  10. package/dist/cli/commands/logout.mjs +0 -75
  11. package/dist/cli/commands/logs.mjs +0 -432
  12. package/dist/cli/commands/projects.mjs +0 -473
  13. package/dist/cli/commands/repo.mjs +0 -584
  14. package/dist/cli/commands/rollback.mjs +0 -553
  15. package/dist/cli/commands/status.mjs +0 -450
  16. package/dist/cli/commands/unlink.mjs +0 -79
  17. package/dist/cli/commands/whoami.mjs +0 -285
  18. package/dist/cli.js +0 -184
  19. package/dist/dispatcher.mjs +0 -360
  20. package/registry/booking-page.json +0 -18
  21. package/registry/bookings-page.json +0 -17
  22. package/registry/service-card.json +0 -16
  23. package/registry/service-grid.json +0 -16
  24. package/templates/storefront-bakery/.claude/skills/cimplify-storefront/SKILL.md +0 -145
  25. package/templates/storefront-bakery/.cursor/rules/cimplify-storefront.mdc +0 -25
  26. package/templates/storefront-bakery/.env.example +0 -16
  27. package/templates/storefront-bakery/AGENTS.md +0 -120
  28. package/templates/storefront-bakery/CLAUDE.md +0 -22
  29. package/templates/storefront-bakery/README.md +0 -73
  30. package/templates/storefront-bakery/__tests__/brand.test.ts +0 -4
  31. package/templates/storefront-bakery/__tests__/cart-flow.test.ts +0 -4
  32. package/templates/storefront-bakery/__tests__/contract.test.ts +0 -4
  33. package/templates/storefront-bakery/app/about/page.tsx +0 -38
  34. package/templates/storefront-bakery/app/accessibility/page.tsx +0 -11
  35. package/templates/storefront-bakery/app/account/addresses/page.tsx +0 -21
  36. package/templates/storefront-bakery/app/account/orders/page.tsx +0 -21
  37. package/templates/storefront-bakery/app/account/page.tsx +0 -22
  38. package/templates/storefront-bakery/app/account/settings/page.tsx +0 -21
  39. package/templates/storefront-bakery/app/cart/page.tsx +0 -9
  40. package/templates/storefront-bakery/app/categories/[slug]/listing-client.tsx +0 -19
  41. package/templates/storefront-bakery/app/categories/[slug]/page.tsx +0 -118
  42. package/templates/storefront-bakery/app/checkout/page.tsx +0 -17
  43. package/templates/storefront-bakery/app/collections/[slug]/listing-client.tsx +0 -20
  44. package/templates/storefront-bakery/app/collections/[slug]/page.tsx +0 -118
  45. package/templates/storefront-bakery/app/contact/contact-form.tsx +0 -109
  46. package/templates/storefront-bakery/app/contact/page.tsx +0 -54
  47. package/templates/storefront-bakery/app/error.tsx +0 -60
  48. package/templates/storefront-bakery/app/faq/page.tsx +0 -46
  49. package/templates/storefront-bakery/app/globals.css +0 -47
  50. package/templates/storefront-bakery/app/layout.tsx +0 -82
  51. package/templates/storefront-bakery/app/llms.txt/route.ts +0 -94
  52. package/templates/storefront-bakery/app/login/page.tsx +0 -17
  53. package/templates/storefront-bakery/app/not-found.tsx +0 -39
  54. package/templates/storefront-bakery/app/opensearch.xml/route.ts +0 -37
  55. package/templates/storefront-bakery/app/orders/[id]/page.tsx +0 -21
  56. package/templates/storefront-bakery/app/page.tsx +0 -97
  57. package/templates/storefront-bakery/app/privacy/page.tsx +0 -44
  58. package/templates/storefront-bakery/app/returns/page.tsx +0 -11
  59. package/templates/storefront-bakery/app/robots.ts +0 -18
  60. package/templates/storefront-bakery/app/search/page.tsx +0 -38
  61. package/templates/storefront-bakery/app/search/search-client.tsx +0 -7
  62. package/templates/storefront-bakery/app/shipping/page.tsx +0 -16
  63. package/templates/storefront-bakery/app/shop/page.tsx +0 -31
  64. package/templates/storefront-bakery/app/shop/shop-client.tsx +0 -27
  65. package/templates/storefront-bakery/app/signup/page.tsx +0 -17
  66. package/templates/storefront-bakery/app/sitemap-page/page.tsx +0 -167
  67. package/templates/storefront-bakery/app/sitemap.ts +0 -62
  68. package/templates/storefront-bakery/app/terms/page.tsx +0 -44
  69. package/templates/storefront-bakery/app/track-order/page.tsx +0 -24
  70. package/templates/storefront-bakery/app/track-order/track-order-form.tsx +0 -69
  71. package/templates/storefront-bakery/components/account-iframe.tsx +0 -13
  72. package/templates/storefront-bakery/components/cart-drawer.tsx +0 -14
  73. package/templates/storefront-bakery/components/cart-pill.tsx +0 -36
  74. package/templates/storefront-bakery/components/category-grid.tsx +0 -28
  75. package/templates/storefront-bakery/components/collection-strip.tsx +0 -45
  76. package/templates/storefront-bakery/components/footer.tsx +0 -148
  77. package/templates/storefront-bakery/components/header.tsx +0 -43
  78. package/templates/storefront-bakery/components/hero.tsx +0 -25
  79. package/templates/storefront-bakery/components/nav-link.tsx +0 -20
  80. package/templates/storefront-bakery/components/policy-page.tsx +0 -49
  81. package/templates/storefront-bakery/components/product-modal.tsx +0 -104
  82. package/templates/storefront-bakery/components/providers.tsx +0 -35
  83. package/templates/storefront-bakery/components/store-product-card.tsx +0 -87
  84. package/templates/storefront-bakery/lib/brand.ts +0 -570
  85. package/templates/storefront-bakery/lib/cart.ts +0 -12
  86. package/templates/storefront-bakery/next.config.ts +0 -42
  87. package/templates/storefront-bakery/package.json +0 -35
  88. package/templates/storefront-bakery/postcss.config.mjs +0 -7
  89. package/templates/storefront-bakery/tsconfig.json +0 -23
  90. package/templates/storefront-bakery/vitest.config.ts +0 -9
  91. package/templates/storefront-fashion/.claude/skills/cimplify-storefront/SKILL.md +0 -145
  92. package/templates/storefront-fashion/.cursor/rules/cimplify-storefront.mdc +0 -25
  93. package/templates/storefront-fashion/.env.example +0 -16
  94. package/templates/storefront-fashion/AGENTS.md +0 -126
  95. package/templates/storefront-fashion/CLAUDE.md +0 -22
  96. package/templates/storefront-fashion/README.md +0 -77
  97. package/templates/storefront-fashion/__tests__/brand.test.ts +0 -4
  98. package/templates/storefront-fashion/__tests__/cart-flow.test.ts +0 -55
  99. package/templates/storefront-fashion/__tests__/contract.test.ts +0 -4
  100. package/templates/storefront-fashion/app/about/page.tsx +0 -41
  101. package/templates/storefront-fashion/app/accessibility/page.tsx +0 -11
  102. package/templates/storefront-fashion/app/account/addresses/page.tsx +0 -21
  103. package/templates/storefront-fashion/app/account/orders/page.tsx +0 -21
  104. package/templates/storefront-fashion/app/account/page.tsx +0 -22
  105. package/templates/storefront-fashion/app/account/settings/page.tsx +0 -21
  106. package/templates/storefront-fashion/app/cart/page.tsx +0 -9
  107. package/templates/storefront-fashion/app/categories/[slug]/listing-client.tsx +0 -19
  108. package/templates/storefront-fashion/app/categories/[slug]/page.tsx +0 -130
  109. package/templates/storefront-fashion/app/checkout/page.tsx +0 -17
  110. package/templates/storefront-fashion/app/collections/[slug]/listing-client.tsx +0 -20
  111. package/templates/storefront-fashion/app/collections/[slug]/page.tsx +0 -130
  112. package/templates/storefront-fashion/app/contact/contact-form.tsx +0 -109
  113. package/templates/storefront-fashion/app/contact/page.tsx +0 -54
  114. package/templates/storefront-fashion/app/error.tsx +0 -61
  115. package/templates/storefront-fashion/app/faq/page.tsx +0 -46
  116. package/templates/storefront-fashion/app/globals.css +0 -46
  117. package/templates/storefront-fashion/app/layout.tsx +0 -78
  118. package/templates/storefront-fashion/app/llms.txt/route.ts +0 -94
  119. package/templates/storefront-fashion/app/login/page.tsx +0 -17
  120. package/templates/storefront-fashion/app/lookbook/page.tsx +0 -132
  121. package/templates/storefront-fashion/app/not-found.tsx +0 -39
  122. package/templates/storefront-fashion/app/opensearch.xml/route.ts +0 -37
  123. package/templates/storefront-fashion/app/orders/[id]/page.tsx +0 -24
  124. package/templates/storefront-fashion/app/page.tsx +0 -183
  125. package/templates/storefront-fashion/app/privacy/page.tsx +0 -44
  126. package/templates/storefront-fashion/app/products/[slug]/page.tsx +0 -165
  127. package/templates/storefront-fashion/app/products/[slug]/product-detail.tsx +0 -70
  128. package/templates/storefront-fashion/app/returns/page.tsx +0 -11
  129. package/templates/storefront-fashion/app/robots.ts +0 -18
  130. package/templates/storefront-fashion/app/search/page.tsx +0 -38
  131. package/templates/storefront-fashion/app/search/search-client.tsx +0 -7
  132. package/templates/storefront-fashion/app/shipping/page.tsx +0 -16
  133. package/templates/storefront-fashion/app/shop/page.tsx +0 -63
  134. package/templates/storefront-fashion/app/shop/shop-client.tsx +0 -32
  135. package/templates/storefront-fashion/app/signup/page.tsx +0 -17
  136. package/templates/storefront-fashion/app/sitemap-page/page.tsx +0 -167
  137. package/templates/storefront-fashion/app/sitemap.ts +0 -59
  138. package/templates/storefront-fashion/app/size-guide/page.tsx +0 -155
  139. package/templates/storefront-fashion/app/terms/page.tsx +0 -44
  140. package/templates/storefront-fashion/app/track-order/page.tsx +0 -24
  141. package/templates/storefront-fashion/app/track-order/track-order-form.tsx +0 -69
  142. package/templates/storefront-fashion/components/account-iframe.tsx +0 -13
  143. package/templates/storefront-fashion/components/brand-marquee.tsx +0 -27
  144. package/templates/storefront-fashion/components/cart-drawer.tsx +0 -14
  145. package/templates/storefront-fashion/components/cart-pill.tsx +0 -36
  146. package/templates/storefront-fashion/components/category-grid.tsx +0 -28
  147. package/templates/storefront-fashion/components/category-tiles.tsx +0 -104
  148. package/templates/storefront-fashion/components/collection-strip.tsx +0 -45
  149. package/templates/storefront-fashion/components/feature-hero.tsx +0 -82
  150. package/templates/storefront-fashion/components/footer.tsx +0 -153
  151. package/templates/storefront-fashion/components/header.tsx +0 -43
  152. package/templates/storefront-fashion/components/hero.tsx +0 -28
  153. package/templates/storefront-fashion/components/nav-link.tsx +0 -20
  154. package/templates/storefront-fashion/components/newsletter.tsx +0 -50
  155. package/templates/storefront-fashion/components/policy-page.tsx +0 -49
  156. package/templates/storefront-fashion/components/promo-banner.tsx +0 -41
  157. package/templates/storefront-fashion/components/providers.tsx +0 -35
  158. package/templates/storefront-fashion/components/section-heading.tsx +0 -37
  159. package/templates/storefront-fashion/components/store-product-card.tsx +0 -87
  160. package/templates/storefront-fashion/components/trade-in-cta.tsx +0 -54
  161. package/templates/storefront-fashion/components/trust-bar.tsx +0 -66
  162. package/templates/storefront-fashion/e2e/visual.spec.ts +0 -52
  163. package/templates/storefront-fashion/lib/brand.ts +0 -518
  164. package/templates/storefront-fashion/lib/cart.ts +0 -12
  165. package/templates/storefront-fashion/next.config.ts +0 -42
  166. package/templates/storefront-fashion/package.json +0 -38
  167. package/templates/storefront-fashion/playwright.config.ts +0 -48
  168. package/templates/storefront-fashion/postcss.config.mjs +0 -7
  169. package/templates/storefront-fashion/tsconfig.json +0 -23
  170. package/templates/storefront-fashion/vitest.config.ts +0 -9
  171. package/templates/storefront-grocery/.claude/skills/cimplify-storefront/SKILL.md +0 -145
  172. package/templates/storefront-grocery/.cursor/rules/cimplify-storefront.mdc +0 -25
  173. package/templates/storefront-grocery/.env.example +0 -16
  174. package/templates/storefront-grocery/AGENTS.md +0 -96
  175. package/templates/storefront-grocery/CLAUDE.md +0 -22
  176. package/templates/storefront-grocery/README.md +0 -73
  177. package/templates/storefront-grocery/__tests__/brand.test.ts +0 -4
  178. package/templates/storefront-grocery/__tests__/cart-flow.test.ts +0 -4
  179. package/templates/storefront-grocery/__tests__/contract.test.ts +0 -4
  180. package/templates/storefront-grocery/app/about/page.tsx +0 -38
  181. package/templates/storefront-grocery/app/accessibility/page.tsx +0 -11
  182. package/templates/storefront-grocery/app/account/addresses/page.tsx +0 -21
  183. package/templates/storefront-grocery/app/account/orders/page.tsx +0 -21
  184. package/templates/storefront-grocery/app/account/page.tsx +0 -22
  185. package/templates/storefront-grocery/app/account/settings/page.tsx +0 -21
  186. package/templates/storefront-grocery/app/cart/page.tsx +0 -9
  187. package/templates/storefront-grocery/app/categories/[slug]/listing-client.tsx +0 -19
  188. package/templates/storefront-grocery/app/categories/[slug]/page.tsx +0 -118
  189. package/templates/storefront-grocery/app/checkout/page.tsx +0 -17
  190. package/templates/storefront-grocery/app/collections/[slug]/listing-client.tsx +0 -20
  191. package/templates/storefront-grocery/app/collections/[slug]/page.tsx +0 -118
  192. package/templates/storefront-grocery/app/contact/contact-form.tsx +0 -109
  193. package/templates/storefront-grocery/app/contact/page.tsx +0 -54
  194. package/templates/storefront-grocery/app/error.tsx +0 -60
  195. package/templates/storefront-grocery/app/faq/page.tsx +0 -46
  196. package/templates/storefront-grocery/app/globals.css +0 -45
  197. package/templates/storefront-grocery/app/layout.tsx +0 -77
  198. package/templates/storefront-grocery/app/llms.txt/route.ts +0 -94
  199. package/templates/storefront-grocery/app/login/page.tsx +0 -17
  200. package/templates/storefront-grocery/app/not-found.tsx +0 -39
  201. package/templates/storefront-grocery/app/opensearch.xml/route.ts +0 -37
  202. package/templates/storefront-grocery/app/orders/[id]/page.tsx +0 -21
  203. package/templates/storefront-grocery/app/page.tsx +0 -97
  204. package/templates/storefront-grocery/app/privacy/page.tsx +0 -44
  205. package/templates/storefront-grocery/app/returns/page.tsx +0 -11
  206. package/templates/storefront-grocery/app/robots.ts +0 -18
  207. package/templates/storefront-grocery/app/search/page.tsx +0 -38
  208. package/templates/storefront-grocery/app/search/search-client.tsx +0 -7
  209. package/templates/storefront-grocery/app/shipping/page.tsx +0 -16
  210. package/templates/storefront-grocery/app/shop/page.tsx +0 -31
  211. package/templates/storefront-grocery/app/shop/shop-client.tsx +0 -27
  212. package/templates/storefront-grocery/app/signup/page.tsx +0 -17
  213. package/templates/storefront-grocery/app/sitemap-page/page.tsx +0 -167
  214. package/templates/storefront-grocery/app/sitemap.ts +0 -62
  215. package/templates/storefront-grocery/app/terms/page.tsx +0 -44
  216. package/templates/storefront-grocery/app/track-order/page.tsx +0 -24
  217. package/templates/storefront-grocery/app/track-order/track-order-form.tsx +0 -69
  218. package/templates/storefront-grocery/components/account-iframe.tsx +0 -13
  219. package/templates/storefront-grocery/components/cart-drawer.tsx +0 -14
  220. package/templates/storefront-grocery/components/cart-pill.tsx +0 -36
  221. package/templates/storefront-grocery/components/category-grid.tsx +0 -28
  222. package/templates/storefront-grocery/components/collection-strip.tsx +0 -45
  223. package/templates/storefront-grocery/components/footer.tsx +0 -148
  224. package/templates/storefront-grocery/components/header.tsx +0 -43
  225. package/templates/storefront-grocery/components/hero.tsx +0 -25
  226. package/templates/storefront-grocery/components/nav-link.tsx +0 -20
  227. package/templates/storefront-grocery/components/policy-page.tsx +0 -49
  228. package/templates/storefront-grocery/components/product-modal.tsx +0 -104
  229. package/templates/storefront-grocery/components/providers.tsx +0 -35
  230. package/templates/storefront-grocery/components/store-product-card.tsx +0 -87
  231. package/templates/storefront-grocery/lib/brand.ts +0 -375
  232. package/templates/storefront-grocery/lib/cart.ts +0 -12
  233. package/templates/storefront-grocery/next.config.ts +0 -42
  234. package/templates/storefront-grocery/package.json +0 -35
  235. package/templates/storefront-grocery/postcss.config.mjs +0 -7
  236. package/templates/storefront-grocery/tsconfig.json +0 -23
  237. package/templates/storefront-grocery/vitest.config.ts +0 -9
  238. package/templates/storefront-restaurant/.claude/skills/cimplify-storefront/SKILL.md +0 -145
  239. package/templates/storefront-restaurant/.cursor/rules/cimplify-storefront.mdc +0 -25
  240. package/templates/storefront-restaurant/.env.example +0 -16
  241. package/templates/storefront-restaurant/AGENTS.md +0 -102
  242. package/templates/storefront-restaurant/CLAUDE.md +0 -22
  243. package/templates/storefront-restaurant/README.md +0 -73
  244. package/templates/storefront-restaurant/__tests__/brand.test.ts +0 -4
  245. package/templates/storefront-restaurant/__tests__/cart-flow.test.ts +0 -4
  246. package/templates/storefront-restaurant/__tests__/contract.test.ts +0 -4
  247. package/templates/storefront-restaurant/app/about/page.tsx +0 -38
  248. package/templates/storefront-restaurant/app/accessibility/page.tsx +0 -11
  249. package/templates/storefront-restaurant/app/account/addresses/page.tsx +0 -21
  250. package/templates/storefront-restaurant/app/account/orders/page.tsx +0 -21
  251. package/templates/storefront-restaurant/app/account/page.tsx +0 -22
  252. package/templates/storefront-restaurant/app/account/settings/page.tsx +0 -21
  253. package/templates/storefront-restaurant/app/cart/page.tsx +0 -9
  254. package/templates/storefront-restaurant/app/categories/[slug]/listing-client.tsx +0 -19
  255. package/templates/storefront-restaurant/app/categories/[slug]/page.tsx +0 -118
  256. package/templates/storefront-restaurant/app/checkout/page.tsx +0 -17
  257. package/templates/storefront-restaurant/app/collections/[slug]/listing-client.tsx +0 -20
  258. package/templates/storefront-restaurant/app/collections/[slug]/page.tsx +0 -118
  259. package/templates/storefront-restaurant/app/contact/contact-form.tsx +0 -109
  260. package/templates/storefront-restaurant/app/contact/page.tsx +0 -54
  261. package/templates/storefront-restaurant/app/error.tsx +0 -60
  262. package/templates/storefront-restaurant/app/faq/page.tsx +0 -46
  263. package/templates/storefront-restaurant/app/globals.css +0 -44
  264. package/templates/storefront-restaurant/app/layout.tsx +0 -82
  265. package/templates/storefront-restaurant/app/llms.txt/route.ts +0 -94
  266. package/templates/storefront-restaurant/app/login/page.tsx +0 -17
  267. package/templates/storefront-restaurant/app/not-found.tsx +0 -39
  268. package/templates/storefront-restaurant/app/opensearch.xml/route.ts +0 -37
  269. package/templates/storefront-restaurant/app/orders/[id]/page.tsx +0 -21
  270. package/templates/storefront-restaurant/app/page.tsx +0 -97
  271. package/templates/storefront-restaurant/app/privacy/page.tsx +0 -44
  272. package/templates/storefront-restaurant/app/reservations/page.tsx +0 -66
  273. package/templates/storefront-restaurant/app/reservations/reservations-client.tsx +0 -234
  274. package/templates/storefront-restaurant/app/returns/page.tsx +0 -11
  275. package/templates/storefront-restaurant/app/robots.ts +0 -18
  276. package/templates/storefront-restaurant/app/search/page.tsx +0 -38
  277. package/templates/storefront-restaurant/app/search/search-client.tsx +0 -7
  278. package/templates/storefront-restaurant/app/shipping/page.tsx +0 -16
  279. package/templates/storefront-restaurant/app/shop/page.tsx +0 -31
  280. package/templates/storefront-restaurant/app/shop/shop-client.tsx +0 -27
  281. package/templates/storefront-restaurant/app/signup/page.tsx +0 -17
  282. package/templates/storefront-restaurant/app/sitemap-page/page.tsx +0 -167
  283. package/templates/storefront-restaurant/app/sitemap.ts +0 -62
  284. package/templates/storefront-restaurant/app/terms/page.tsx +0 -44
  285. package/templates/storefront-restaurant/app/track-order/page.tsx +0 -24
  286. package/templates/storefront-restaurant/app/track-order/track-order-form.tsx +0 -69
  287. package/templates/storefront-restaurant/components/account-iframe.tsx +0 -13
  288. package/templates/storefront-restaurant/components/cart-drawer.tsx +0 -14
  289. package/templates/storefront-restaurant/components/cart-pill.tsx +0 -36
  290. package/templates/storefront-restaurant/components/category-grid.tsx +0 -28
  291. package/templates/storefront-restaurant/components/collection-strip.tsx +0 -45
  292. package/templates/storefront-restaurant/components/footer.tsx +0 -148
  293. package/templates/storefront-restaurant/components/header.tsx +0 -43
  294. package/templates/storefront-restaurant/components/hero.tsx +0 -25
  295. package/templates/storefront-restaurant/components/nav-link.tsx +0 -20
  296. package/templates/storefront-restaurant/components/policy-page.tsx +0 -49
  297. package/templates/storefront-restaurant/components/product-modal.tsx +0 -104
  298. package/templates/storefront-restaurant/components/providers.tsx +0 -35
  299. package/templates/storefront-restaurant/components/store-product-card.tsx +0 -87
  300. package/templates/storefront-restaurant/lib/brand.ts +0 -377
  301. package/templates/storefront-restaurant/lib/cart.ts +0 -12
  302. package/templates/storefront-restaurant/next.config.ts +0 -42
  303. package/templates/storefront-restaurant/package.json +0 -35
  304. package/templates/storefront-restaurant/postcss.config.mjs +0 -7
  305. package/templates/storefront-restaurant/tsconfig.json +0 -23
  306. package/templates/storefront-restaurant/vitest.config.ts +0 -9
  307. package/templates/storefront-retail/.claude/skills/cimplify-storefront/SKILL.md +0 -145
  308. package/templates/storefront-retail/.cursor/rules/cimplify-storefront.mdc +0 -25
  309. package/templates/storefront-retail/.env.example +0 -16
  310. package/templates/storefront-retail/AGENTS.md +0 -117
  311. package/templates/storefront-retail/CLAUDE.md +0 -22
  312. package/templates/storefront-retail/README.md +0 -77
  313. package/templates/storefront-retail/__tests__/brand.test.ts +0 -4
  314. package/templates/storefront-retail/__tests__/cart-flow.test.ts +0 -4
  315. package/templates/storefront-retail/__tests__/contract.test.ts +0 -4
  316. package/templates/storefront-retail/app/about/page.tsx +0 -41
  317. package/templates/storefront-retail/app/accessibility/page.tsx +0 -11
  318. package/templates/storefront-retail/app/account/addresses/page.tsx +0 -21
  319. package/templates/storefront-retail/app/account/orders/page.tsx +0 -21
  320. package/templates/storefront-retail/app/account/page.tsx +0 -22
  321. package/templates/storefront-retail/app/account/settings/page.tsx +0 -21
  322. package/templates/storefront-retail/app/cart/page.tsx +0 -9
  323. package/templates/storefront-retail/app/categories/[slug]/listing-client.tsx +0 -19
  324. package/templates/storefront-retail/app/categories/[slug]/page.tsx +0 -130
  325. package/templates/storefront-retail/app/checkout/page.tsx +0 -17
  326. package/templates/storefront-retail/app/collections/[slug]/listing-client.tsx +0 -20
  327. package/templates/storefront-retail/app/collections/[slug]/page.tsx +0 -130
  328. package/templates/storefront-retail/app/contact/contact-form.tsx +0 -109
  329. package/templates/storefront-retail/app/contact/page.tsx +0 -54
  330. package/templates/storefront-retail/app/error.tsx +0 -61
  331. package/templates/storefront-retail/app/faq/page.tsx +0 -46
  332. package/templates/storefront-retail/app/globals.css +0 -47
  333. package/templates/storefront-retail/app/layout.tsx +0 -77
  334. package/templates/storefront-retail/app/llms.txt/route.ts +0 -94
  335. package/templates/storefront-retail/app/login/page.tsx +0 -17
  336. package/templates/storefront-retail/app/not-found.tsx +0 -39
  337. package/templates/storefront-retail/app/opensearch.xml/route.ts +0 -37
  338. package/templates/storefront-retail/app/orders/[id]/page.tsx +0 -24
  339. package/templates/storefront-retail/app/page.tsx +0 -182
  340. package/templates/storefront-retail/app/privacy/page.tsx +0 -44
  341. package/templates/storefront-retail/app/products/[slug]/page.tsx +0 -165
  342. package/templates/storefront-retail/app/products/[slug]/product-detail.tsx +0 -70
  343. package/templates/storefront-retail/app/returns/page.tsx +0 -11
  344. package/templates/storefront-retail/app/robots.ts +0 -18
  345. package/templates/storefront-retail/app/search/page.tsx +0 -38
  346. package/templates/storefront-retail/app/search/search-client.tsx +0 -7
  347. package/templates/storefront-retail/app/shipping/page.tsx +0 -16
  348. package/templates/storefront-retail/app/shop/page.tsx +0 -63
  349. package/templates/storefront-retail/app/shop/shop-client.tsx +0 -32
  350. package/templates/storefront-retail/app/signup/page.tsx +0 -17
  351. package/templates/storefront-retail/app/sitemap-page/page.tsx +0 -167
  352. package/templates/storefront-retail/app/sitemap.ts +0 -59
  353. package/templates/storefront-retail/app/terms/page.tsx +0 -44
  354. package/templates/storefront-retail/app/track-order/page.tsx +0 -24
  355. package/templates/storefront-retail/app/track-order/track-order-form.tsx +0 -69
  356. package/templates/storefront-retail/components/account-iframe.tsx +0 -13
  357. package/templates/storefront-retail/components/brand-marquee.tsx +0 -27
  358. package/templates/storefront-retail/components/cart-drawer.tsx +0 -14
  359. package/templates/storefront-retail/components/cart-pill.tsx +0 -36
  360. package/templates/storefront-retail/components/category-grid.tsx +0 -28
  361. package/templates/storefront-retail/components/category-tiles.tsx +0 -104
  362. package/templates/storefront-retail/components/collection-strip.tsx +0 -45
  363. package/templates/storefront-retail/components/feature-hero.tsx +0 -84
  364. package/templates/storefront-retail/components/footer.tsx +0 -153
  365. package/templates/storefront-retail/components/header.tsx +0 -45
  366. package/templates/storefront-retail/components/hero.tsx +0 -28
  367. package/templates/storefront-retail/components/nav-link.tsx +0 -20
  368. package/templates/storefront-retail/components/newsletter.tsx +0 -50
  369. package/templates/storefront-retail/components/policy-page.tsx +0 -49
  370. package/templates/storefront-retail/components/promo-banner.tsx +0 -41
  371. package/templates/storefront-retail/components/providers.tsx +0 -35
  372. package/templates/storefront-retail/components/section-heading.tsx +0 -37
  373. package/templates/storefront-retail/components/store-product-card.tsx +0 -87
  374. package/templates/storefront-retail/components/trade-in-cta.tsx +0 -54
  375. package/templates/storefront-retail/components/trust-bar.tsx +0 -66
  376. package/templates/storefront-retail/lib/brand.ts +0 -664
  377. package/templates/storefront-retail/lib/cart.ts +0 -12
  378. package/templates/storefront-retail/next.config.ts +0 -42
  379. package/templates/storefront-retail/package.json +0 -35
  380. package/templates/storefront-retail/postcss.config.mjs +0 -7
  381. package/templates/storefront-retail/tsconfig.json +0 -23
  382. package/templates/storefront-retail/vitest.config.ts +0 -9
  383. package/templates/storefront-services/.claude/skills/cimplify-storefront/SKILL.md +0 -145
  384. package/templates/storefront-services/.cursor/rules/cimplify-storefront.mdc +0 -25
  385. package/templates/storefront-services/.env.example +0 -16
  386. package/templates/storefront-services/AGENTS.md +0 -101
  387. package/templates/storefront-services/CLAUDE.md +0 -22
  388. package/templates/storefront-services/README.md +0 -73
  389. package/templates/storefront-services/__tests__/brand.test.ts +0 -4
  390. package/templates/storefront-services/__tests__/cart-flow.test.ts +0 -4
  391. package/templates/storefront-services/__tests__/contract.test.ts +0 -4
  392. package/templates/storefront-services/app/about/page.tsx +0 -38
  393. package/templates/storefront-services/app/accessibility/page.tsx +0 -11
  394. package/templates/storefront-services/app/account/addresses/page.tsx +0 -21
  395. package/templates/storefront-services/app/account/orders/page.tsx +0 -21
  396. package/templates/storefront-services/app/account/page.tsx +0 -22
  397. package/templates/storefront-services/app/account/settings/page.tsx +0 -21
  398. package/templates/storefront-services/app/book/book-client.tsx +0 -195
  399. package/templates/storefront-services/app/book/page.tsx +0 -65
  400. package/templates/storefront-services/app/cart/page.tsx +0 -9
  401. package/templates/storefront-services/app/categories/[slug]/listing-client.tsx +0 -19
  402. package/templates/storefront-services/app/categories/[slug]/page.tsx +0 -118
  403. package/templates/storefront-services/app/checkout/page.tsx +0 -17
  404. package/templates/storefront-services/app/collections/[slug]/listing-client.tsx +0 -20
  405. package/templates/storefront-services/app/collections/[slug]/page.tsx +0 -118
  406. package/templates/storefront-services/app/contact/contact-form.tsx +0 -109
  407. package/templates/storefront-services/app/contact/page.tsx +0 -54
  408. package/templates/storefront-services/app/error.tsx +0 -60
  409. package/templates/storefront-services/app/faq/page.tsx +0 -46
  410. package/templates/storefront-services/app/globals.css +0 -45
  411. package/templates/storefront-services/app/layout.tsx +0 -82
  412. package/templates/storefront-services/app/llms.txt/route.ts +0 -94
  413. package/templates/storefront-services/app/login/page.tsx +0 -17
  414. package/templates/storefront-services/app/not-found.tsx +0 -39
  415. package/templates/storefront-services/app/opensearch.xml/route.ts +0 -37
  416. package/templates/storefront-services/app/orders/[id]/page.tsx +0 -21
  417. package/templates/storefront-services/app/page.tsx +0 -97
  418. package/templates/storefront-services/app/privacy/page.tsx +0 -44
  419. package/templates/storefront-services/app/returns/page.tsx +0 -11
  420. package/templates/storefront-services/app/robots.ts +0 -18
  421. package/templates/storefront-services/app/search/page.tsx +0 -38
  422. package/templates/storefront-services/app/search/search-client.tsx +0 -7
  423. package/templates/storefront-services/app/shipping/page.tsx +0 -16
  424. package/templates/storefront-services/app/shop/page.tsx +0 -31
  425. package/templates/storefront-services/app/shop/shop-client.tsx +0 -27
  426. package/templates/storefront-services/app/signup/page.tsx +0 -17
  427. package/templates/storefront-services/app/sitemap-page/page.tsx +0 -167
  428. package/templates/storefront-services/app/sitemap.ts +0 -62
  429. package/templates/storefront-services/app/terms/page.tsx +0 -44
  430. package/templates/storefront-services/app/track-order/page.tsx +0 -24
  431. package/templates/storefront-services/app/track-order/track-order-form.tsx +0 -69
  432. package/templates/storefront-services/components/account-iframe.tsx +0 -13
  433. package/templates/storefront-services/components/cart-drawer.tsx +0 -14
  434. package/templates/storefront-services/components/cart-pill.tsx +0 -36
  435. package/templates/storefront-services/components/category-grid.tsx +0 -28
  436. package/templates/storefront-services/components/collection-strip.tsx +0 -45
  437. package/templates/storefront-services/components/footer.tsx +0 -148
  438. package/templates/storefront-services/components/header.tsx +0 -43
  439. package/templates/storefront-services/components/hero.tsx +0 -25
  440. package/templates/storefront-services/components/nav-link.tsx +0 -20
  441. package/templates/storefront-services/components/policy-page.tsx +0 -49
  442. package/templates/storefront-services/components/product-modal.tsx +0 -104
  443. package/templates/storefront-services/components/providers.tsx +0 -35
  444. package/templates/storefront-services/components/store-product-card.tsx +0 -87
  445. package/templates/storefront-services/lib/brand.ts +0 -396
  446. package/templates/storefront-services/lib/cart.ts +0 -12
  447. package/templates/storefront-services/next.config.ts +0 -42
  448. package/templates/storefront-services/package.json +0 -35
  449. package/templates/storefront-services/postcss.config.mjs +0 -7
  450. package/templates/storefront-services/tsconfig.json +0 -23
  451. package/templates/storefront-services/vitest.config.ts +0 -9
@@ -1,664 +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
- import type { SeedName } from "@cimplify/sdk/testing/suite";
14
-
15
- export interface BrandSocial {
16
- /** Display label (Instagram, X, YouTube, …). Used as aria-label and footer chip. */
17
- label: string;
18
- href: string;
19
- /** Optional icon override — defaults to inline SVG keyed by `label`. */
20
- icon?: "instagram" | "x" | "tiktok" | "facebook" | "youtube" | "linkedin" | "whatsapp";
21
- }
22
-
23
- export interface BrandFaqEntry {
24
- q: string;
25
- a: string;
26
- }
27
-
28
- export interface BrandFaqSection {
29
- title: string;
30
- items: BrandFaqEntry[];
31
- }
32
-
33
- export interface BrandPolicySection {
34
- heading: string;
35
- /** Plain prose, or { intro + bullets } for list-style sections. */
36
- body: string | { intro: string; bullets: string[] };
37
- }
38
-
39
- export interface BrandSitemapSection {
40
- title: string;
41
- links: { label: string; href: string }[];
42
- }
43
-
44
- export interface Brand {
45
- // ─── Identity ─────────────────────────────────────────────────
46
- name: string;
47
- /** Short brand mark for compact spaces. */
48
- shortName: string;
49
- /** Microtag shown in the header beside the brand mark. */
50
- microTag: string;
51
- /** SEO description and default OG description. */
52
- description: string;
53
- /** Schema.org `@type` for the Organization JSON-LD on the layout. */
54
- schemaType:
55
- | "Store"
56
- | "Bakery"
57
- | "Restaurant"
58
- | "BeautySalon"
59
- | "GroceryStore"
60
- | "LocalBusiness"
61
- | "Organization";
62
-
63
- // ─── Currency / locale ────────────────────────────────────────
64
- currency: string;
65
- locale: string;
66
-
67
- // ─── Contact ──────────────────────────────────────────────────
68
- contact: {
69
- address: string;
70
- streetAddress: string;
71
- city: string;
72
- countryCode: string;
73
- /** Display phone, with formatting. */
74
- phone: string;
75
- /** Phone in `tel:` format (digits + country code). */
76
- phoneTel: string;
77
- email: string;
78
- privacyEmail: string;
79
- supportEmail?: string;
80
- businessEmail?: string;
81
- hours: string;
82
- };
83
-
84
- socials: BrandSocial[];
85
-
86
- // ─── Header ───────────────────────────────────────────────────
87
- header: {
88
- /** Top-level nav links. Order is preserved. */
89
- nav: { label: string; href: string }[];
90
- };
91
-
92
- // ─── Hero ─────────────────────────────────────────────────────
93
- hero: {
94
- badge: string;
95
- title: string;
96
- /** Subtitle. May span multiple paragraphs by separating with \n\n. */
97
- subtitle: string;
98
- primaryCtaLabel: string;
99
- secondaryCtaLabel?: string;
100
- secondaryCtaHref?: string;
101
- };
102
-
103
- // ─── Trust bar (optional) ─────────────────────────────────────
104
- trustItems?: { label: string; value: string; description: string; iconKey: string }[];
105
-
106
- // ─── Brand authority strip (optional) ─────────────────────────
107
- brandStrip?: {
108
- headline: string;
109
- brands: string[];
110
- };
111
-
112
- // ─── Promo banner (optional) ──────────────────────────────────
113
- promo?: {
114
- badge: string;
115
- title: string;
116
- body: string;
117
- ctaLabel: string;
118
- ctaHref: string;
119
- };
120
-
121
- // ─── Trade-in CTA (optional) ──────────────────────────────────
122
- tradeIn?: {
123
- eyebrow: string;
124
- title: string;
125
- body: string;
126
- primaryCtaLabel: string;
127
- primaryCtaHref: string;
128
- secondaryCtaLabel: string;
129
- secondaryCtaHref: string;
130
- steps: { step: string; title: string; body: string }[];
131
- };
132
-
133
- // ─── Newsletter ───────────────────────────────────────────────
134
- newsletter: {
135
- eyebrow: string;
136
- title: string;
137
- body: string;
138
- placeholder: string;
139
- submitLabel: string;
140
- successLabel: string;
141
- };
142
-
143
- // ─── About page ───────────────────────────────────────────────
144
- about: {
145
- eyebrow: string;
146
- /** Title — supports a single \n for a hard line break. */
147
- title: string;
148
- paragraphs: string[];
149
- sections: { heading: string; body: string }[];
150
- };
151
-
152
- // ─── FAQ ──────────────────────────────────────────────────────
153
- faq: {
154
- eyebrow: string;
155
- title: string;
156
- sections: BrandFaqSection[];
157
- contactPrompt: string;
158
- contactEmail: string;
159
- };
160
-
161
- // ─── Terms ────────────────────────────────────────────────────
162
- terms: {
163
- eyebrow: string;
164
- title: string;
165
- lastUpdated: string;
166
- sections: BrandPolicySection[];
167
- };
168
-
169
- // ─── Privacy ──────────────────────────────────────────────────
170
- privacy: {
171
- eyebrow: string;
172
- title: string;
173
- lastUpdated: string;
174
- sections: BrandPolicySection[];
175
- };
176
-
177
- // ─── Standalone policy pages ──────────────────────────────────
178
- shipping: { eyebrow: string; title: string; lastUpdated: string; sections: BrandPolicySection[] };
179
- returns: { eyebrow: string; title: string; lastUpdated: string; sections: BrandPolicySection[] };
180
- accessibility: { eyebrow: string; title: string; lastUpdated: string; sections: BrandPolicySection[] };
181
-
182
- // ─── Auth + account UX copy ───────────────────────────────────
183
- account: {
184
- loginEyebrow: string; loginTitle: string; loginSubtitle: string;
185
- signupEyebrow: string; signupTitle: string; signupSubtitle: string;
186
- accountEyebrow: string; accountTitle: string;
187
- };
188
-
189
- // ─── Contact form copy ────────────────────────────────────────
190
- contactPage: {
191
- eyebrow: string; title: string; body: string;
192
- reasons: string[];
193
- directLines: { label: string; value: string; href: string }[];
194
- };
195
-
196
- // ─── Track-order page copy ────────────────────────────────────
197
- trackOrder: { eyebrow: string; title: string; body: string };
198
-
199
- // ─── Footer ───────────────────────────────────────────────────
200
- footer: {
201
- blurb: string;
202
- sitemap: BrandSitemapSection[];
203
- poweredBy?: { label: string; href: string };
204
- };
205
-
206
- // ─── llms.txt summary (LLM-friendly site index) ───────────────
207
- llms: {
208
- summary: string;
209
- };
210
-
211
- // ─── Mock seed ────────────────────────────────────────────────
212
- mock: {
213
- seed: SeedName;
214
- businessId: string;
215
- };
216
- }
217
-
218
- export const brand: Brand = {
219
- name: "Currents Electronics",
220
- shortName: "Currents",
221
- microTag: "ELECTRONICS",
222
- description:
223
- "The latest laptops, phones, audio, and accessories — curated, in-stock, shipped same-day from Accra to Africa.",
224
- schemaType: "Store",
225
-
226
- currency: "GHS",
227
- locale: "en_GH",
228
-
229
- contact: {
230
- address: "Atomic Junction, East Legon, Accra",
231
- streetAddress: "Atomic Junction, East Legon",
232
- city: "Accra",
233
- countryCode: "GH",
234
- phone: "+233 244 000 000",
235
- phoneTel: "+233244000000",
236
- email: "hello@currentselectronics.test",
237
- privacyEmail: "privacy@currentselectronics.test",
238
- supportEmail: "support@currentselectronics.test",
239
- businessEmail: "business@currentselectronics.test",
240
- hours: "Mon–Sat · 9am–8pm",
241
- },
242
-
243
- socials: [
244
- { label: "Instagram", href: "https://instagram.com/currentselectronics", icon: "instagram" },
245
- { label: "X", href: "https://x.com/currentselectronics", icon: "x" },
246
- { label: "YouTube", href: "https://youtube.com/@currentselectronics", icon: "youtube" },
247
- { label: "WhatsApp", href: "https://wa.me/233244000000", icon: "whatsapp" },
248
- ],
249
-
250
- header: {
251
- nav: [
252
- { label: "Shop", href: "/shop" },
253
- { label: "Deals", href: "/categories/deals" },
254
- { label: "Support", href: "/faq" },
255
- ],
256
- },
257
-
258
- hero: {
259
- badge: "LAPTOPS · PHONES · AUDIO · ACCESSORIES",
260
- title: "The tech you want, in stock today.",
261
- subtitle:
262
- "Authorised dealer for Apple, Samsung, Sony, Bose. Same-day delivery in Accra. Two-year warranty on every product.",
263
- primaryCtaLabel: "Shop now",
264
- secondaryCtaLabel: "See deals",
265
- secondaryCtaHref: "/categories/deals",
266
- },
267
-
268
- trustItems: [
269
- {
270
- label: "Delivery",
271
- value: "Same-day in Accra",
272
- description: "Orders before 4pm, free over GH₵500.",
273
- iconKey: "delivery",
274
- },
275
- {
276
- label: "Warranty",
277
- value: "2 years on everything",
278
- description: "1yr manufacturer + 1yr Currents.",
279
- iconKey: "warranty",
280
- },
281
- {
282
- label: "Payment",
283
- value: "Pay in 3, interest-free",
284
- description: "Or 6/12 months via Fidelity Bank.",
285
- iconKey: "payment",
286
- },
287
- {
288
- label: "Genuine",
289
- value: "Authorised dealer",
290
- description: "Direct from Apple, Samsung, Sony, Bose.",
291
- iconKey: "verified",
292
- },
293
- ],
294
-
295
- brandStrip: {
296
- headline: "Authorised dealer · genuine stock · 2-year warranty",
297
- brands: [
298
- "Apple",
299
- "Samsung",
300
- "Sony",
301
- "Bose",
302
- "Logitech",
303
- "Anker",
304
- "JBL",
305
- "Microsoft",
306
- "Lenovo",
307
- "DJI",
308
- ],
309
- },
310
-
311
- promo: {
312
- badge: "Limited · ends Sunday",
313
- title: "Trade in your old phone, get up to GH₵3,500 off.",
314
- body: "Send us your last-gen iPhone or Galaxy. We'll quote within 48 hours and credit the value toward your next upgrade.",
315
- ctaLabel: "Start trade-in",
316
- ctaHref: "/about",
317
- },
318
-
319
- tradeIn: {
320
- eyebrow: "Trade-in programme",
321
- title: "Last year's phone, this year's discount.",
322
- body: "Send us your iPhone, Galaxy, or MacBook. We'll quote within 48 hours and credit the value toward your next purchase. Devices head to certified refurbishers across the continent — yours stays in service for years more.",
323
- primaryCtaLabel: "Get a quote",
324
- primaryCtaHref: "/about",
325
- secondaryCtaLabel: "How it works",
326
- secondaryCtaHref: "/faq",
327
- steps: [
328
- { step: "01", title: "Tell us what you have", body: "Model + condition + photos. 2 minutes." },
329
- { step: "02", title: "Ship it free", body: "Drop at our store or book a free pickup." },
330
- { step: "03", title: "Get credited", body: "Within 48 hours, in store credit or Mobile Money." },
331
- ],
332
- },
333
-
334
- newsletter: {
335
- eyebrow: "The shortlist",
336
- title: "New drops, real prices, in your inbox.",
337
- body: "One email a week. Curated launches, our actual price (not the launch price), and the deals worth knowing about. No newsletter chaff.",
338
- placeholder: "you@email.com",
339
- submitLabel: "Subscribe",
340
- successLabel: "Subscribed ✓",
341
- },
342
-
343
- about: {
344
- eyebrow: "About Currents",
345
- title: "Tech that lasts.\nService that doesn't flake.",
346
- paragraphs: [
347
- "We started Currents in 2017 because the best phones, laptops, and headphones were either three months out of stock in Accra, or obviously fake. Either way, you ended up calling someone's cousin in London. That's a bad way to buy a thousand-dollar device.",
348
- "Today we're an authorised dealer for Apple, Samsung, Sony, Bose, Logitech, and Anker. Every product is sourced direct from the manufacturer or their certified distributor — no parallel imports, no refurbished-as-new, no \"dual SIM Asia spec\" on a US iPhone. What you order is what we open in front of you on delivery.",
349
- "We back everything with a two-year warranty (one year manufacturer + one year Currents), free same-day Accra delivery, and a 14-day no-questions-asked return on anything sealed.",
350
- ],
351
- sections: [
352
- {
353
- heading: "Trade-in",
354
- body: "Got an iPhone, Galaxy, or MacBook you no longer use? Bring it in or ship it to us — we'll quote you within 48 hours and credit the value toward your next purchase. We work with refurbishers across the continent so your old kit stays in service for years more.",
355
- },
356
- {
357
- heading: "Business sales",
358
- body: "Equipping a team or kitting out a co-working space? We do volume quotes, delivery scheduling, asset tagging, and on-site setup. Email business@currentselectronics.test.",
359
- },
360
- {
361
- heading: "Visit",
362
- body: "Atomic Junction, East Legon, Accra · Mon–Sat, 9am–8pm.",
363
- },
364
- ],
365
- },
366
-
367
- faq: {
368
- eyebrow: "Support",
369
- title: "Questions, answered.",
370
- sections: [
371
- {
372
- title: "Ordering & delivery",
373
- items: [
374
- {
375
- q: "How fast is shipping?",
376
- a: "Free same-day delivery within Greater Accra for orders placed before 4pm. Outside Accra, we use a partner courier — usually 1–3 business days, with tracking sent by SMS.",
377
- },
378
- {
379
- q: "Can I pick up in store?",
380
- a: "Yes. Choose 'Pickup' at checkout and we'll have your order boxed at our Atomic Junction store within 30 minutes. Bring a photo ID matching the order name.",
381
- },
382
- {
383
- q: "Do you ship internationally?",
384
- a: "We ship across West Africa via DHL — rates and ETAs are calculated at checkout once you enter your destination.",
385
- },
386
- {
387
- q: "How do I track my order?",
388
- a: "You'll get an SMS and email with a tracking link within 30 minutes of dispatch. Same-day Accra orders include the rider's phone number.",
389
- },
390
- ],
391
- },
392
- {
393
- title: "Warranty & repairs",
394
- items: [
395
- {
396
- q: "What does the two-year warranty cover?",
397
- a: "Manufacturing defects, electrical failures, and battery degradation below 80% within the first 24 months. Accidental damage, water damage, and software issues caused by user installs are excluded.",
398
- },
399
- {
400
- q: "Where do I send a faulty device?",
401
- a: "Drop it at our Atomic Junction store, or request a free pickup from your address by emailing support@currentselectronics.test. Loaner devices are available for warranty claims while we diagnose.",
402
- },
403
- {
404
- q: "Can you fix devices bought elsewhere?",
405
- a: "We offer paid repairs on Apple and Samsung devices regardless of where they were purchased. Expect a quote within 48 hours of inspection.",
406
- },
407
- ],
408
- },
409
- {
410
- title: "Trade-in & financing",
411
- items: [
412
- {
413
- q: "How does trade-in work?",
414
- a: "Tell us the model and condition of your device, get an instant estimate, and ship it free or drop it at our store. Once we verify, we credit your account or pay out via Mobile Money — your choice.",
415
- },
416
- {
417
- q: "Do you offer instalment payments?",
418
- a: "Yes. Pay in 3 (interest-free) or 6/12 monthly instalments via our partner Fidelity Bank. Available at checkout for orders over GH₵2,000.",
419
- },
420
- {
421
- q: "Are there bulk discounts for businesses?",
422
- a: "Yes. Email business@currentselectronics.test with your shopping list and team size — most orders over 5 units qualify for a discount, plus free on-site setup.",
423
- },
424
- ],
425
- },
426
- {
427
- title: "Payment & returns",
428
- items: [
429
- {
430
- q: "What payment methods do you accept?",
431
- a: "Mobile Money (MTN, Telecel, AirtelTigo), Visa/Mastercard, instalments via Fidelity Bank, and cash on delivery for Accra orders.",
432
- },
433
- {
434
- q: "What's your return policy?",
435
- a: "14 days, no questions asked, on any sealed product. For opened items, returns are accepted within 7 days subject to a 10% restocking fee. We can't accept returns on activated SIM-bundled phones once the SIM is registered.",
436
- },
437
- {
438
- q: "Are products genuine?",
439
- a: "Yes. We're an authorised dealer for every brand we stock. Every product ships with the manufacturer's serial number registered to your name — verify it on the brand's official portal anytime.",
440
- },
441
- ],
442
- },
443
- ],
444
- contactPrompt: "Still stuck? Email",
445
- contactEmail: "support@currentselectronics.test",
446
- },
447
-
448
- terms: {
449
- eyebrow: "Terms of service",
450
- title: "Terms of Service",
451
- lastUpdated: "1 May 2026",
452
- sections: [
453
- {
454
- heading: "1. Who we are",
455
- body: "Currents Electronics (\"we\", \"us\") is a consumer electronics retailer based at Atomic Junction, East Legon, Accra, Ghana. By placing an order, you (\"you\", \"customer\") agree to these terms.",
456
- },
457
- {
458
- heading: "2. Authorised dealer status",
459
- body: "We are authorised dealers for the brands listed on our About page. Every product is sourced direct from the manufacturer or a certified distributor. Serial numbers can be verified on the brand's official portal at any time.",
460
- },
461
- {
462
- heading: "3. Pricing and payment",
463
- body: "Prices are in Ghana Cedis (GH₵) and include VAT where applicable. Payment is due at checkout via Mobile Money, card, or instalments via our partner bank. Cash on delivery is available for Accra orders only.",
464
- },
465
- {
466
- heading: "4. Warranty",
467
- body: "Every product carries a two-year warranty: the standard manufacturer warranty in year one, plus a Currents-backed extension in year two. Coverage includes manufacturing defects and battery degradation below 80%. Accidental damage, liquid damage, and unauthorised modifications are excluded.",
468
- },
469
- {
470
- heading: "5. Returns",
471
- body: "Sealed products: 14 days, no questions asked. Opened products: 7 days, subject to a 10% restocking fee for non-defective items. Activated SIM-bundled phones cannot be returned once the SIM is registered. Custom orders and bulk corporate orders are non-refundable except for defects.",
472
- },
473
- {
474
- heading: "6. Trade-in",
475
- body: "Trade-in quotes are estimates only. Final value is determined after inspection by our refurbishment partner. We reserve the right to revise the quote, and you may decline the revised offer and receive your device back at our cost.",
476
- },
477
- {
478
- heading: "7. Liability",
479
- 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, including data loss.",
480
- },
481
- {
482
- heading: "8. Governing law",
483
- body: "These terms are governed by the laws of Ghana. Disputes will be resolved in the courts of Greater Accra.",
484
- },
485
- {
486
- heading: "9. Contact",
487
- body: "Questions? Email hello@currentselectronics.test.",
488
- },
489
- ],
490
- },
491
-
492
- privacy: {
493
- eyebrow: "Privacy",
494
- title: "Privacy Policy",
495
- lastUpdated: "1 May 2026",
496
- sections: [
497
- {
498
- heading: "What we collect",
499
- body: "We collect what we need to fulfil your order: name, phone, delivery address, email, and the items in your order. For warranty service and trade-ins, we also collect device serial numbers. Payment details are processed by our payment partners (Paystack, Stripe, Fidelity Bank) and never stored on our servers.",
500
- },
501
- {
502
- heading: "How we use it",
503
- body: {
504
- intro: "We use your data to:",
505
- bullets: [
506
- "Prepare, deliver, and confirm your order.",
507
- "Register product warranties on your behalf.",
508
- "Send order updates by SMS and email.",
509
- "Send occasional product news and deals — only if you opted in. Unsubscribe anytime in one click.",
510
- "Analyse aggregated, anonymised browsing patterns so we can improve the site and recommend products.",
511
- ],
512
- },
513
- },
514
- {
515
- heading: "Who we share it with",
516
- body: "We share data only with the partners required to fulfil your order and warranty: payment processors (Paystack, Stripe, Fidelity Bank), delivery couriers (DHL, local riders), manufacturer warranty portals (for serial registration), and our email/SMS providers. We do not sell or rent personal data to third parties — ever.",
517
- },
518
- {
519
- heading: "Cookies",
520
- body: "We use a small number of strictly-necessary cookies to keep your cart working and your session signed in, plus optional analytics cookies (you can disable these in our cookie banner).",
521
- },
522
- {
523
- heading: "Your rights",
524
- 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 (subject to our tax-record retention obligations). Email privacy@currentselectronics.test and we'll respond within 14 days.",
525
- },
526
- {
527
- heading: "Retention",
528
- body: "We keep order records for 7 years to comply with Ghanaian tax law. Warranty records are retained for the life of the warranty plus 24 months. Marketing-list opt-ins are kept until you unsubscribe.",
529
- },
530
- {
531
- heading: "Changes",
532
- body: "If we make material changes to this policy, we'll email customers on our marketing list and update the \"last updated\" date above.",
533
- },
534
- ],
535
- },
536
-
537
- shipping: {
538
- eyebrow: "Shipping",
539
- title: "Shipping & Pickup",
540
- lastUpdated: "1 May 2026",
541
- sections: [
542
- { heading: "Same-day Greater Accra", body: "Orders before 4pm ship the same day. Free over GH₵500." },
543
- { heading: "Outside Accra", body: "Partner courier nationwide; 1–3 business days. Tracking SMS sent on dispatch." },
544
- { heading: "International", body: "DHL Express across West Africa. Rates and ETA computed at checkout." },
545
- { heading: "Pickup", body: "Atomic Junction store, Mon–Sat 9am–8pm. Choose Pickup at checkout; ready in 30 minutes." },
546
- { heading: "Bulky / fragile items", body: "TVs, monitors, and large appliances ship by signature. We coordinate the delivery window with you 24h before." },
547
- ],
548
- },
549
-
550
- returns: {
551
- eyebrow: "Returns",
552
- title: "Returns & Warranty",
553
- lastUpdated: "1 May 2026",
554
- sections: [
555
- { heading: "Sealed products", body: "14 days, no questions asked. Original packaging required." },
556
- { heading: "Opened products", body: "7 days, subject to a 10% restocking fee for non-defective items." },
557
- { heading: "Activated SIM phones", body: "Cannot be returned once the SIM is registered. Defects covered under warranty." },
558
- { heading: "Two-year warranty", body: "Manufacturer + Currents-backed extension. Covers manufacturing defects and battery degradation below 80%." },
559
- { heading: "How to start", body: "Email support@currentselectronics.test with your order number. We email a prepaid label or pickup time." },
560
- ],
561
- },
562
-
563
- accessibility: {
564
- eyebrow: "Accessibility",
565
- title: "Accessibility Statement",
566
- lastUpdated: "1 May 2026",
567
- sections: [
568
- { heading: "Our commitment", body: "We aim for WCAG 2.1 AA on this site and test against it on every release." },
569
- { heading: "What we've done", body: { intro: "Specifically, we've:", bullets: [
570
- "Maintained a minimum 4.5:1 contrast ratio on body text.",
571
- "Ensured every interactive element is keyboard-reachable with visible focus.",
572
- "Labelled images, icons, and form fields for screen-reader users.",
573
- "Avoided motion-based interactions; respected `prefers-reduced-motion`.",
574
- ] } },
575
- { heading: "Reporting issues", body: "Email accessibility@currentselectronics.test. We respond within 5 business days." },
576
- ],
577
- },
578
-
579
- account: {
580
- loginEyebrow: "Welcome back",
581
- loginTitle: "Sign in to Currents",
582
- loginSubtitle: "Track orders, manage your warranty, and view your trade-in credits.",
583
- signupEyebrow: "Welcome",
584
- signupTitle: "Create your Currents account",
585
- signupSubtitle: "Save addresses, register warranties, manage trade-ins, and unlock instalment options at checkout.",
586
- accountEyebrow: "Your account",
587
- accountTitle: "Welcome back",
588
- },
589
-
590
- contactPage: {
591
- eyebrow: "Contact",
592
- title: "Talk to a real human.",
593
- body: "Order question, warranty claim, business sales — fill the form and we'll reply within a business day.",
594
- reasons: ["General question", "An order issue", "Warranty / repair", "Trade-in", "Business sales", "Press / partnerships"],
595
- directLines: [
596
- { label: "Email", value: "hello@currentselectronics.test", href: "mailto:hello@currentselectronics.test" },
597
- { label: "Phone", value: "+233 244 000 000", href: "tel:+233244000000" },
598
- { label: "WhatsApp", value: "+233 244 000 000", href: "https://wa.me/233244000000" },
599
- ],
600
- },
601
-
602
- trackOrder: {
603
- eyebrow: "Track an order",
604
- title: "Where's my order?",
605
- body: "Enter your order number and email. We'll show the live status, courier tracking, and ETA.",
606
- },
607
-
608
- footer: {
609
- blurb:
610
- "Authorised dealer for Apple, Samsung, Sony, Bose. Same-day delivery in Accra; nationwide via partner courier. Two-year warranty on every product.",
611
- sitemap: [
612
- {
613
- title: "Shop",
614
- links: [
615
- { label: "All products", href: "/shop" },
616
- { label: "Laptops", href: "/categories/laptops" },
617
- { label: "Phones", href: "/categories/phones" },
618
- { label: "Audio", href: "/categories/audio" },
619
- { label: "Accessories", href: "/categories/accessories" },
620
- { label: "Deals", href: "/categories/deals" },
621
- ],
622
- },
623
- {
624
- title: "Support",
625
- links: [
626
- { label: "Contact", href: "/contact" },
627
- { label: "Track an order", href: "/track-order" },
628
- { label: "Shipping", href: "/shipping" },
629
- { label: "Returns & warranty", href: "/returns" },
630
- { label: "FAQ", href: "/faq" },
631
- ],
632
- },
633
- {
634
- title: "Account",
635
- links: [
636
- { label: "Sign in", href: "/login" },
637
- { label: "Create account", href: "/signup" },
638
- { label: "Your orders", href: "/account/orders" },
639
- { label: "Settings", href: "/account/settings" },
640
- ],
641
- },
642
- {
643
- title: "Legal",
644
- links: [
645
- { label: "Terms of Service", href: "/terms" },
646
- { label: "Privacy Policy", href: "/privacy" },
647
- { label: "Accessibility", href: "/accessibility" },
648
- { label: "Sitemap", href: "/sitemap-page" },
649
- ],
650
- },
651
- ],
652
- poweredBy: { label: "Cimplify", href: "https://app.cimplify.io" },
653
- },
654
-
655
- llms: {
656
- summary:
657
- "Authorised dealer for Apple, Samsung, Sony, Bose. Same-day delivery in Accra; nationwide via partner courier. Two-year warranty on every product. Trade-in and instalment payments available.",
658
- },
659
-
660
- mock: {
661
- seed: "retail",
662
- businessId: "bus_currents_electronics",
663
- },
664
- };
@@ -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
- }