@promakeai/cli 0.0.5

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 (285) hide show
  1. package/dist/index.js +212 -0
  2. package/dist/registry/about-page.json +45 -0
  3. package/dist/registry/about-section.json +40 -0
  4. package/dist/registry/animations.json +69 -0
  5. package/dist/registry/bento-grid-section.json +42 -0
  6. package/dist/registry/blog-core.json +74 -0
  7. package/dist/registry/blog-list-page.json +48 -0
  8. package/dist/registry/blog-section.json +43 -0
  9. package/dist/registry/cards-carousel-section.json +46 -0
  10. package/dist/registry/cart-drawer.json +43 -0
  11. package/dist/registry/cart-page.json +47 -0
  12. package/dist/registry/category-section.json +43 -0
  13. package/dist/registry/checkout-page.json +47 -0
  14. package/dist/registry/contact-info-grid.json +40 -0
  15. package/dist/registry/contact-page-centered.json +50 -0
  16. package/dist/registry/contact-page-map-overlay.json +54 -0
  17. package/dist/registry/contact-page-map-split.json +54 -0
  18. package/dist/registry/contact-page-split.json +49 -0
  19. package/dist/registry/contact-page.json +45 -0
  20. package/dist/registry/content-section.json +40 -0
  21. package/dist/registry/cookies-page.json +45 -0
  22. package/dist/registry/cta-section.json +40 -0
  23. package/dist/registry/docs/about-page.md +32 -0
  24. package/dist/registry/docs/about-section.md +33 -0
  25. package/dist/registry/docs/animations.md +44 -0
  26. package/dist/registry/docs/bento-grid-section.md +40 -0
  27. package/dist/registry/docs/blog-core.md +37 -0
  28. package/dist/registry/docs/blog-list-page.md +38 -0
  29. package/dist/registry/docs/blog-section.md +39 -0
  30. package/dist/registry/docs/cards-carousel-section.md +39 -0
  31. package/dist/registry/docs/cart-drawer.md +42 -0
  32. package/dist/registry/docs/cart-page.md +37 -0
  33. package/dist/registry/docs/category-section.md +34 -0
  34. package/dist/registry/docs/checkout-page.md +38 -0
  35. package/dist/registry/docs/contact-info-grid.md +33 -0
  36. package/dist/registry/docs/contact-page-centered.md +41 -0
  37. package/dist/registry/docs/contact-page-map-overlay.md +44 -0
  38. package/dist/registry/docs/contact-page-map-split.md +44 -0
  39. package/dist/registry/docs/contact-page-split.md +40 -0
  40. package/dist/registry/docs/contact-page.md +33 -0
  41. package/dist/registry/docs/content-section.md +35 -0
  42. package/dist/registry/docs/cookies-page.md +32 -0
  43. package/dist/registry/docs/cta-section.md +32 -0
  44. package/dist/registry/docs/ecommerce-core.md +41 -0
  45. package/dist/registry/docs/empty-page.md +31 -0
  46. package/dist/registry/docs/faq-categorized.md +38 -0
  47. package/dist/registry/docs/faq-simple.md +38 -0
  48. package/dist/registry/docs/favorites-blog-block.md +38 -0
  49. package/dist/registry/docs/favorites-ecommerce-block.md +38 -0
  50. package/dist/registry/docs/feature-section.md +33 -0
  51. package/dist/registry/docs/featured-products.md +38 -0
  52. package/dist/registry/docs/footer-detailed.md +33 -0
  53. package/dist/registry/docs/footer-minimal.md +32 -0
  54. package/dist/registry/docs/footer.md +32 -0
  55. package/dist/registry/docs/google-map.md +36 -0
  56. package/dist/registry/docs/header-centered-pill.md +37 -0
  57. package/dist/registry/docs/header-ecommerce.md +38 -0
  58. package/dist/registry/docs/header-mega.md +40 -0
  59. package/dist/registry/docs/header-minimal.md +38 -0
  60. package/dist/registry/docs/header-simple.md +32 -0
  61. package/dist/registry/docs/hero-cta.md +38 -0
  62. package/dist/registry/docs/hero-gradient.md +33 -0
  63. package/dist/registry/docs/hero-grid.md +40 -0
  64. package/dist/registry/docs/hero-profile.md +33 -0
  65. package/dist/registry/docs/hero.md +32 -0
  66. package/dist/registry/docs/login-page-split.md +40 -0
  67. package/dist/registry/docs/login-page.md +39 -0
  68. package/dist/registry/docs/newsletter-section.md +40 -0
  69. package/dist/registry/docs/order-card-compact.md +37 -0
  70. package/dist/registry/docs/order-detail-block.md +37 -0
  71. package/dist/registry/docs/orders-list-block.md +40 -0
  72. package/dist/registry/docs/payment-success-block.md +32 -0
  73. package/dist/registry/docs/post-card.md +37 -0
  74. package/dist/registry/docs/post-detail-block.md +37 -0
  75. package/dist/registry/docs/pricing-card.md +37 -0
  76. package/dist/registry/docs/pricing-section.md +39 -0
  77. package/dist/registry/docs/privacy-page.md +32 -0
  78. package/dist/registry/docs/product-card-detailed.md +42 -0
  79. package/dist/registry/docs/product-card-hover.md +35 -0
  80. package/dist/registry/docs/product-card.md +37 -0
  81. package/dist/registry/docs/product-detail-block.md +37 -0
  82. package/dist/registry/docs/product-detail-section.md +45 -0
  83. package/dist/registry/docs/products-page.md +39 -0
  84. package/dist/registry/docs/related-posts-block.md +38 -0
  85. package/dist/registry/docs/related-products-block.md +38 -0
  86. package/dist/registry/docs/service-card.md +34 -0
  87. package/dist/registry/docs/skill-card.md +33 -0
  88. package/dist/registry/docs/terms-page.md +32 -0
  89. package/dist/registry/docs/testimonials-carousel.md +40 -0
  90. package/dist/registry/docs/testimonials-grid.md +39 -0
  91. package/dist/registry/ecommerce-core.json +95 -0
  92. package/dist/registry/empty-page.json +45 -0
  93. package/dist/registry/faq-categorized.json +42 -0
  94. package/dist/registry/faq-simple.json +42 -0
  95. package/dist/registry/favorites-blog-block.json +43 -0
  96. package/dist/registry/favorites-ecommerce-block.json +43 -0
  97. package/dist/registry/feature-section.json +40 -0
  98. package/dist/registry/featured-products.json +43 -0
  99. package/dist/registry/footer-detailed.json +43 -0
  100. package/dist/registry/footer-minimal.json +40 -0
  101. package/dist/registry/footer.json +40 -0
  102. package/dist/registry/google-map.json +31 -0
  103. package/dist/registry/header-centered-pill.json +45 -0
  104. package/dist/registry/header-ecommerce.json +42 -0
  105. package/dist/registry/header-mega.json +47 -0
  106. package/dist/registry/header-minimal.json +45 -0
  107. package/dist/registry/header-simple.json +43 -0
  108. package/dist/registry/hero-cta.json +42 -0
  109. package/dist/registry/hero-gradient.json +40 -0
  110. package/dist/registry/hero-grid.json +42 -0
  111. package/dist/registry/hero-profile.json +62 -0
  112. package/dist/registry/hero.json +40 -0
  113. package/dist/registry/index.json +70 -0
  114. package/dist/registry/login-page-split.json +47 -0
  115. package/dist/registry/login-page.json +49 -0
  116. package/dist/registry/newsletter-section.json +44 -0
  117. package/dist/registry/order-card-compact.json +42 -0
  118. package/dist/registry/order-detail-block.json +42 -0
  119. package/dist/registry/orders-list-block.json +45 -0
  120. package/dist/registry/payment-success-block.json +40 -0
  121. package/dist/registry/post-card.json +42 -0
  122. package/dist/registry/post-detail-block.json +42 -0
  123. package/dist/registry/pricing-card.json +40 -0
  124. package/dist/registry/pricing-section.json +43 -0
  125. package/dist/registry/privacy-page.json +45 -0
  126. package/dist/registry/product-card-detailed.json +45 -0
  127. package/dist/registry/product-card-hover.json +40 -0
  128. package/dist/registry/product-card.json +42 -0
  129. package/dist/registry/product-detail-block.json +42 -0
  130. package/dist/registry/product-detail-section.json +46 -0
  131. package/dist/registry/products-page.json +48 -0
  132. package/dist/registry/related-posts-block.json +43 -0
  133. package/dist/registry/related-products-block.json +43 -0
  134. package/dist/registry/service-card.json +28 -0
  135. package/dist/registry/skill-card.json +28 -0
  136. package/dist/registry/terms-page.json +45 -0
  137. package/dist/registry/testimonials-carousel.json +44 -0
  138. package/dist/registry/testimonials-grid.json +43 -0
  139. package/package.json +52 -0
  140. package/template/.env +6 -0
  141. package/template/.prettierignore +3 -0
  142. package/template/.prettierrc +1 -0
  143. package/template/README.md +73 -0
  144. package/template/bun.lock +1007 -0
  145. package/template/components.json +22 -0
  146. package/template/eslint.config.js +32 -0
  147. package/template/index.html +285 -0
  148. package/template/package.json +92 -0
  149. package/template/promake.json +6 -0
  150. package/template/public/_redirects +1 -0
  151. package/template/public/data/database.db +0 -0
  152. package/template/public/favicon.svg +1 -0
  153. package/template/public/images/placeholder.png +0 -0
  154. package/template/public/robots.txt +14 -0
  155. package/template/scripts/init-db.ts +131 -0
  156. package/template/src/App.tsx +33 -0
  157. package/template/src/components/Footer.tsx +100 -0
  158. package/template/src/components/Header.tsx +79 -0
  159. package/template/src/components/Hero.tsx +69 -0
  160. package/template/src/components/LanguageSwitcher.tsx +47 -0
  161. package/template/src/components/Layout.tsx +25 -0
  162. package/template/src/components/Logo.tsx +64 -0
  163. package/template/src/components/ThemeSwitcher.tsx +58 -0
  164. package/template/src/components/ui/accordion.tsx +64 -0
  165. package/template/src/components/ui/alert-dialog.tsx +155 -0
  166. package/template/src/components/ui/alert.tsx +66 -0
  167. package/template/src/components/ui/aspect-ratio.tsx +11 -0
  168. package/template/src/components/ui/avatar.tsx +51 -0
  169. package/template/src/components/ui/badge.tsx +46 -0
  170. package/template/src/components/ui/breadcrumb.tsx +109 -0
  171. package/template/src/components/ui/button-group.tsx +83 -0
  172. package/template/src/components/ui/button.tsx +62 -0
  173. package/template/src/components/ui/calendar.tsx +220 -0
  174. package/template/src/components/ui/card.tsx +92 -0
  175. package/template/src/components/ui/carousel.tsx +239 -0
  176. package/template/src/components/ui/chart.tsx +357 -0
  177. package/template/src/components/ui/checkbox.tsx +32 -0
  178. package/template/src/components/ui/collapsible.tsx +31 -0
  179. package/template/src/components/ui/command.tsx +182 -0
  180. package/template/src/components/ui/context-menu.tsx +252 -0
  181. package/template/src/components/ui/dialog.tsx +141 -0
  182. package/template/src/components/ui/drawer.tsx +135 -0
  183. package/template/src/components/ui/dropdown-menu.tsx +255 -0
  184. package/template/src/components/ui/empty.tsx +104 -0
  185. package/template/src/components/ui/field.tsx +246 -0
  186. package/template/src/components/ui/form.tsx +168 -0
  187. package/template/src/components/ui/hover-card.tsx +44 -0
  188. package/template/src/components/ui/input-group.tsx +170 -0
  189. package/template/src/components/ui/input-otp.tsx +75 -0
  190. package/template/src/components/ui/input.tsx +21 -0
  191. package/template/src/components/ui/item.tsx +193 -0
  192. package/template/src/components/ui/kbd.tsx +28 -0
  193. package/template/src/components/ui/label.tsx +24 -0
  194. package/template/src/components/ui/menubar.tsx +274 -0
  195. package/template/src/components/ui/navigation-menu.tsx +168 -0
  196. package/template/src/components/ui/pagination.tsx +127 -0
  197. package/template/src/components/ui/popover.tsx +48 -0
  198. package/template/src/components/ui/progress.tsx +29 -0
  199. package/template/src/components/ui/radio-group.tsx +45 -0
  200. package/template/src/components/ui/resizable.tsx +54 -0
  201. package/template/src/components/ui/scroll-area.tsx +58 -0
  202. package/template/src/components/ui/select.tsx +188 -0
  203. package/template/src/components/ui/separator.tsx +28 -0
  204. package/template/src/components/ui/sheet.tsx +137 -0
  205. package/template/src/components/ui/sidebar.tsx +726 -0
  206. package/template/src/components/ui/skeleton.tsx +13 -0
  207. package/template/src/components/ui/slider.tsx +63 -0
  208. package/template/src/components/ui/sonner.tsx +38 -0
  209. package/template/src/components/ui/spinner.tsx +16 -0
  210. package/template/src/components/ui/switch.tsx +31 -0
  211. package/template/src/components/ui/table.tsx +114 -0
  212. package/template/src/components/ui/tabs.tsx +66 -0
  213. package/template/src/components/ui/textarea.tsx +18 -0
  214. package/template/src/components/ui/toggle-group.tsx +81 -0
  215. package/template/src/components/ui/toggle.tsx +45 -0
  216. package/template/src/components/ui/tooltip.tsx +61 -0
  217. package/template/src/constants/constants.json +58 -0
  218. package/template/src/hooks/use-is-mobile.ts +21 -0
  219. package/template/src/hooks/use-page-title.ts +49 -0
  220. package/template/src/hooks/use-theme.ts +57 -0
  221. package/template/src/index.css +128 -0
  222. package/template/src/lang/en/about.json +4 -0
  223. package/template/src/lang/en/contact.json +39 -0
  224. package/template/src/lang/en/cookies.json +4 -0
  225. package/template/src/lang/en/footer.json +12 -0
  226. package/template/src/lang/en/forgotPassword.json +37 -0
  227. package/template/src/lang/en/header.json +10 -0
  228. package/template/src/lang/en/hero.json +8 -0
  229. package/template/src/lang/en/index.json +30 -0
  230. package/template/src/lang/en/login.json +18 -0
  231. package/template/src/lang/en/notfound.json +7 -0
  232. package/template/src/lang/en/privacy.json +4 -0
  233. package/template/src/lang/en/register.json +25 -0
  234. package/template/src/lang/en/terms.json +4 -0
  235. package/template/src/lang/index.ts +86 -0
  236. package/template/src/lang/tr/about.json +4 -0
  237. package/template/src/lang/tr/contact.json +39 -0
  238. package/template/src/lang/tr/cookies.json +4 -0
  239. package/template/src/lang/tr/footer.json +12 -0
  240. package/template/src/lang/tr/forgotPassword.json +37 -0
  241. package/template/src/lang/tr/header.json +10 -0
  242. package/template/src/lang/tr/hero.json +8 -0
  243. package/template/src/lang/tr/index.json +30 -0
  244. package/template/src/lang/tr/login.json +18 -0
  245. package/template/src/lang/tr/notfound.json +7 -0
  246. package/template/src/lang/tr/privacy.json +4 -0
  247. package/template/src/lang/tr/register.json +25 -0
  248. package/template/src/lang/tr/terms.json +4 -0
  249. package/template/src/lib/api.ts +237 -0
  250. package/template/src/lib/storage.ts +109 -0
  251. package/template/src/lib/utils.ts +15 -0
  252. package/template/src/main.tsx +13 -0
  253. package/template/src/modules/api/USAGE.md +515 -0
  254. package/template/src/modules/api/customer-client.ts +20 -0
  255. package/template/src/modules/api/get-error-message.ts +18 -0
  256. package/template/src/modules/api/validation/en.json +29 -0
  257. package/template/src/modules/api/validation/tr.json +29 -0
  258. package/template/src/modules/auth/USAGE.md +248 -0
  259. package/template/src/modules/auth/auth-header-menu.tsx +123 -0
  260. package/template/src/modules/auth/auth-store.ts +57 -0
  261. package/template/src/modules/auth/forgot-password-page.tsx +371 -0
  262. package/template/src/modules/auth/login-page.tsx +183 -0
  263. package/template/src/modules/auth/register-page.tsx +252 -0
  264. package/template/src/modules/auth/use-auth.ts +273 -0
  265. package/template/src/modules/db/adapters/IDataAdapter.ts +26 -0
  266. package/template/src/modules/db/adapters/SqliteAdapter.ts +364 -0
  267. package/template/src/modules/db/adapters/index.ts +2 -0
  268. package/template/src/modules/db/config.ts +59 -0
  269. package/template/src/modules/db/core/DataManager.ts +125 -0
  270. package/template/src/modules/db/core/types.ts +101 -0
  271. package/template/src/modules/db/index.ts +42 -0
  272. package/template/src/modules/db/react/QueryProvider.tsx +16 -0
  273. package/template/src/modules/db/react/index.ts +23 -0
  274. package/template/src/modules/db/react/queryClient.ts +64 -0
  275. package/template/src/modules/db/react/useRepository.ts +400 -0
  276. package/template/src/modules/db/utils/parsers.ts +96 -0
  277. package/template/src/pages/Index.tsx +108 -0
  278. package/template/src/pages/NotFound.tsx +35 -0
  279. package/template/src/router.tsx +14 -0
  280. package/template/src/types/index.ts +0 -0
  281. package/template/src/vite-env.d.ts +1 -0
  282. package/template/tsconfig.app.json +32 -0
  283. package/template/tsconfig.json +17 -0
  284. package/template/tsconfig.node.json +26 -0
  285. package/template/vite.config.ts +74 -0
@@ -0,0 +1,42 @@
1
+ # Cart Drawer
2
+
3
+ Shopping cart drawer that slides in from the right. Displays cart items with images, prices, quantities, remove buttons, subtotal calculation, checkout button, and continue shopping link. Uses shadcn Sheet component.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/cart-drawer/index.ts` | index |
10
+ | `$modules$/cart-drawer/cart-drawer.tsx` | component |
11
+ | `$modules$/cart-drawer/lang/en.json` | lang |
12
+ | `$modules$/cart-drawer/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `CartDrawer`
17
+
18
+ ```typescript
19
+ import { CartDrawer } from '@/modules/cart-drawer';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ import { CartDrawer } from '@/modules/cart-drawer';
26
+
27
+ const [open, setOpen] = useState(false);
28
+
29
+ <CartDrawer
30
+ open={open}
31
+ onOpenChange={setOpen}
32
+ items={cartItems}
33
+ onRemove={(id) => removeFromCart(id)}
34
+ checkoutHref="/checkout"
35
+ />
36
+ ```
37
+
38
+ ## Dependencies
39
+
40
+ This component requires:
41
+ - `sheet`
42
+ - `button`
@@ -0,0 +1,37 @@
1
+ # Cart Page
2
+
3
+ Shopping cart page with item list showing product image, name, price, and quantity controls (+/- buttons). Features order summary sidebar with subtotal, shipping estimate, tax calculation, and total. Includes empty cart state with CTA, remove item confirmation, quantity validation, and proceed to checkout button. Responsive layout with mobile-optimized summary.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/cart-page/index.ts` | index |
10
+ | `$modules$/cart-page/cart-page.tsx` | page |
11
+ | `$modules$/cart-page/lang/en.json` | lang |
12
+ | `$modules$/cart-page/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `CartPage`, `default`
17
+
18
+ ```typescript
19
+ import { CartPage, default } from '@/modules/cart-page';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ import CartPage from '@/modules/cart-page';
26
+
27
+ <Route path="/cart" element={<CartPage />} />
28
+
29
+ • Uses useCart() from ecommerce-core (Zustand)
30
+ • Features: item list, quantity controls, order summary
31
+ • Empty cart state with shop CTA
32
+ ```
33
+
34
+ ## Dependencies
35
+
36
+ This component requires:
37
+ - `ecommerce-core`
@@ -0,0 +1,34 @@
1
+ # Category Section
2
+
3
+ E-commerce category showcase grid with image cards. Each card has category image, name overlay, and hover zoom effect. Supports 4-6 categories in responsive grid (2 cols mobile, 3 cols tablet, 4+ cols desktop). Click navigates to filtered products page. Great for homepage category browsing.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/category-section/index.ts` | index |
10
+ | `$modules$/category-section/category-section.tsx` | component |
11
+ | `$modules$/category-section/lang/en.json` | lang |
12
+ | `$modules$/category-section/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Types:** `CategoryItem`, `CategorySectionProps`
17
+
18
+ **Components/Functions:** `CategorySection`
19
+
20
+ ```typescript
21
+ import { CategorySection, CategoryItem, CategorySectionProps } from '@/modules/category-section';
22
+ ```
23
+
24
+ ## Usage
25
+
26
+ ```
27
+ import { CategorySection } from '@/modules/category-section';
28
+
29
+ <CategorySection />
30
+
31
+ • Installed at: src/modules/category-section/
32
+ • Customize content: src/modules/category-section/lang/*.json
33
+ • Categories link to: /products?category={slug}
34
+ ```
@@ -0,0 +1,38 @@
1
+ # Checkout Page
2
+
3
+ Multi-step checkout page with customer information form (name, email, phone, address), shipping method selection, payment method options (credit card, PayPal, bank transfer), and order review. Features form validation, order summary sidebar, shipping cost calculation, and place order button. Includes progress indicator for checkout steps.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/checkout-page/index.ts` | index |
10
+ | `$modules$/checkout-page/checkout-page.tsx` | page |
11
+ | `$modules$/checkout-page/lang/en.json` | lang |
12
+ | `$modules$/checkout-page/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `CheckoutPage`, `default`
17
+
18
+ ```typescript
19
+ import { CheckoutPage, default } from '@/modules/checkout-page';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ import CheckoutPage from '@/modules/checkout-page';
26
+
27
+ <Route path="/checkout" element={<CheckoutPage />} />
28
+
29
+ • Uses useCart() from ecommerce-core (Zustand)
30
+ • Steps: customer info → shipping → payment → review
31
+ • Form validation with react-hook-form
32
+ • Connect payment provider (Stripe, PayPal, etc.)
33
+ ```
34
+
35
+ ## Dependencies
36
+
37
+ This component requires:
38
+ - `ecommerce-core`
@@ -0,0 +1,33 @@
1
+ # Contact Info Grid
2
+
3
+ 4-card grid displaying contact information (email, office address, phone, live chat). Each card has an icon, label, description, and clickable value. Uses constants.json for contact details. Perfect as a standalone section or complement to contact forms.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/contact-info-grid/index.ts` | index |
10
+ | `$modules$/contact-info-grid/contact-info-grid.tsx` | component |
11
+ | `$modules$/contact-info-grid/lang/en.json` | lang |
12
+ | `$modules$/contact-info-grid/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `ContactInfoGrid`
17
+
18
+ ```typescript
19
+ import { ContactInfoGrid } from '@/modules/contact-info-grid';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ import { ContactInfoGrid } from '@/modules/contact-info-grid';
26
+
27
+ <ContactInfoGrid />
28
+
29
+ - 4-card responsive grid
30
+ - Email, Office, Phone, Chat
31
+ - Uses constants.json values
32
+ - Hover effects on cards
33
+ ```
@@ -0,0 +1,41 @@
1
+ # Contact Page Centered
2
+
3
+ Centered contact page layout with contact info cards above the form. Features 3 info cards (email, phone, address), centered header, and a simple name/email/message form. Clean, minimal design perfect for landing pages.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/contact-page-centered/index.ts` | index |
10
+ | `$modules$/contact-page-centered/contact-page-centered.tsx` | component |
11
+ | `$modules$/contact-page-centered/lang/en.json` | lang |
12
+ | `$modules$/contact-page-centered/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `ContactPageCentered`, `default`
17
+
18
+ ```typescript
19
+ import { ContactPageCentered, default } from '@/modules/contact-page-centered';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ import { ContactPageCentered } from '@/modules/contact-page-centered';
26
+
27
+ <ContactPageCentered />
28
+
29
+ - 3 contact info cards
30
+ - Centered form layout
31
+ - Name, email, message fields
32
+ - Success/error states
33
+ ```
34
+
35
+ ## Dependencies
36
+
37
+ This component requires:
38
+ - `card`
39
+ - `input`
40
+ - `textarea`
41
+ - `label`
@@ -0,0 +1,44 @@
1
+ # Contact Page (Map Overlay)
2
+
3
+ Stunning full-screen Google Map background with glassmorphism contact form and info cards overlaid. Modern, eye-catching design with backdrop blur effects.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/contact-page-map-overlay/index.ts` | index |
10
+ | `$modules$/contact-page-map-overlay/contact-page-map-overlay.tsx` | component |
11
+ | `$modules$/contact-page-map-overlay/lang/en.json` | lang |
12
+ | `$modules$/contact-page-map-overlay/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `ContactPageMapOverlay`
17
+
18
+ ```typescript
19
+ import { ContactPageMapOverlay } from '@/modules/contact-page-map-overlay';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ import { ContactPageMapOverlay } from '@/modules/contact-page-map-overlay';
26
+
27
+ <ContactPageMapOverlay />
28
+
29
+ - Full-screen map background
30
+ - Glassmorphism form card
31
+ - Contact info overlay
32
+ - Social media links
33
+ - Open in Maps link
34
+ ```
35
+
36
+ ## Dependencies
37
+
38
+ This component requires:
39
+ - `button`
40
+ - `input`
41
+ - `label`
42
+ - `textarea`
43
+ - `card`
44
+ - `google-map`
@@ -0,0 +1,44 @@
1
+ # Contact Page (Split with Map)
2
+
3
+ Modern 50/50 split layout contact page with contact form on the left and full-height Google Map on the right. Includes email, phone, address info cards and social media links.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/contact-page-map-split/index.ts` | index |
10
+ | `$modules$/contact-page-map-split/contact-page-map-split.tsx` | component |
11
+ | `$modules$/contact-page-map-split/lang/en.json` | lang |
12
+ | `$modules$/contact-page-map-split/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `ContactPageMapSplit`
17
+
18
+ ```typescript
19
+ import { ContactPageMapSplit } from '@/modules/contact-page-map-split';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ import { ContactPageMapSplit } from '@/modules/contact-page-map-split';
26
+
27
+ <ContactPageMapSplit />
28
+
29
+ - 50/50 split layout
30
+ - Contact form with validation
31
+ - Google Map integration
32
+ - Social media links
33
+ - Responsive design
34
+ ```
35
+
36
+ ## Dependencies
37
+
38
+ This component requires:
39
+ - `button`
40
+ - `input`
41
+ - `label`
42
+ - `textarea`
43
+ - `google-map`
44
+ - `animations`
@@ -0,0 +1,40 @@
1
+ # Contact Page Split
2
+
3
+ 50/50 split layout contact page with colored info panel on left and form on right. Left side features primary color background with contact details (email, phone, address, hours). Right side has clean form with name, email, phone, and message fields.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/contact-page-split/index.ts` | index |
10
+ | `$modules$/contact-page-split/contact-page-split.tsx` | component |
11
+ | `$modules$/contact-page-split/lang/en.json` | lang |
12
+ | `$modules$/contact-page-split/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `ContactPageSplit`, `default`
17
+
18
+ ```typescript
19
+ import { ContactPageSplit, default } from '@/modules/contact-page-split';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ import { ContactPageSplit } from '@/modules/contact-page-split';
26
+
27
+ <ContactPageSplit />
28
+
29
+ - 50/50 split layout
30
+ - Primary color info panel
31
+ - Contact details with icons
32
+ - Clean form on white background
33
+ ```
34
+
35
+ ## Dependencies
36
+
37
+ This component requires:
38
+ - `input`
39
+ - `textarea`
40
+ - `label`
@@ -0,0 +1,33 @@
1
+ # Contact Page
2
+
3
+ Contact page with two-column layout: contact form (name, email, subject, message) on left, and contact information (address, phone, email, business hours, social links) on right. Includes embedded Google Map, form validation, and success/error toast notifications. Mobile-responsive with stacked layout.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/contact-page/index.ts` | index |
10
+ | `$modules$/contact-page/contact-page.tsx` | page |
11
+ | `$modules$/contact-page/lang/en.json` | lang |
12
+ | `$modules$/contact-page/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `ContactPage`, `default`
17
+
18
+ ```typescript
19
+ import { ContactPage, default } from '@/modules/contact-page';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ import { ContactPage } from '@/modules/contact-page';
26
+
27
+ <Route path="/contact" element={<ContactPage />} />
28
+
29
+ • Two-column: form left, info right
30
+ • Form: name, email, subject, message
31
+ • Info: address, phone, email, hours, map
32
+ • Toast notifications on submit
33
+ ```
@@ -0,0 +1,35 @@
1
+ # Content Section
2
+
3
+ Two-column content section with large image and title/description grid. Features optional grayscale effect on image, CTA button, and responsive layout. Perfect for about pages and feature showcases.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/content-section/index.ts` | index |
10
+ | `$modules$/content-section/content-section.tsx` | component |
11
+ | `$modules$/content-section/lang/en.json` | lang |
12
+ | `$modules$/content-section/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `ContentSection`
17
+
18
+ ```typescript
19
+ import { ContentSection } from '@/modules/content-section';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ import { ContentSection } from '@/modules/content-section';
26
+
27
+ <ContentSection
28
+ image="/images/team.jpg"
29
+ title="Our Mission"
30
+ description="We are building the future..."
31
+ ctaText="Learn More"
32
+ ctaLink="/about"
33
+ grayscale
34
+ />
35
+ ```
@@ -0,0 +1,32 @@
1
+ # Cookie Policy Page
2
+
3
+ Cookie policy page explaining cookie types (essential, analytics, marketing), purposes, third-party cookies, and user controls. Includes cookie table with name, purpose, and expiration. GDPR/ePrivacy compliant formatting with clear explanations for non-technical users.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/cookies-page/index.ts` | index |
10
+ | `$modules$/cookies-page/cookies-page.tsx` | page |
11
+ | `$modules$/cookies-page/lang/en.json` | lang |
12
+ | `$modules$/cookies-page/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `CookiesPage`, `default`
17
+
18
+ ```typescript
19
+ import { CookiesPage, default } from '@/modules/cookies-page';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ import { CookiesPage } from '@/modules/cookies-page';
26
+
27
+ <Route path="/cookies" element={<CookiesPage />} />
28
+
29
+ • Cookie types: essential, analytics, marketing
30
+ • Cookie table with name, purpose, expiration
31
+ • GDPR/ePrivacy compliant
32
+ ```
@@ -0,0 +1,32 @@
1
+ # CTA Section
2
+
3
+ Eye-catching call-to-action section with primary/brand color background. Features large headline, supporting text, and prominent action button. Can include secondary button or email input for newsletter. Designed to drive conversions at the bottom of landing pages.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/cta-section/index.ts` | index |
10
+ | `$modules$/cta-section/cta-section.tsx` | component |
11
+ | `$modules$/cta-section/lang/en.json` | lang |
12
+ | `$modules$/cta-section/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `CtaSection`
17
+
18
+ ```typescript
19
+ import { CtaSection } from '@/modules/cta-section';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ import { CtaSection } from '@/modules/cta-section';
26
+
27
+ <CtaSection />
28
+
29
+ • Installed at: src/modules/cta-section/
30
+ • Customize content: src/modules/cta-section/lang/*.json
31
+ • Customize background via CSS variables
32
+ ```
@@ -0,0 +1,41 @@
1
+ # E-commerce Core
2
+
3
+ Complete e-commerce state management with Zustand. Includes useCartStore for shopping cart operations (add/remove/update items, totals), useFavoritesStore for wishlist, useProducts hook for product fetching with filtering/sorting/pagination, and useSearch hook. No provider wrapping needed.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/ecommerce-core/index.ts` | index |
10
+ | `$modules$/ecommerce-core/types.ts` | type |
11
+ | `$modules$/ecommerce-core/stores/cart-store.ts` | store |
12
+ | `$modules$/ecommerce-core/stores/favorites-store.ts` | store |
13
+ | `$modules$/ecommerce-core/useProducts.ts` | hook |
14
+ | `$modules$/ecommerce-core/useSearch.ts` | hook |
15
+ | `$modules$/ecommerce-core/format-price.ts` | lib |
16
+ | `$modules$/ecommerce-core/lang/en.json` | lang |
17
+ | `$modules$/ecommerce-core/lang/tr.json` | lang |
18
+
19
+ ## Exports
20
+
21
+ **Types:** `Address`, `CartContextType`, `CartItem`, `CartState`, `Category`, `FavoritesContextType`, `Order`, `OrderItem`, `Product`, `ProductCategory`, `ProductVariant`, `User`
22
+
23
+ **Components/Functions:** `formatPrice`, `useCart`, `useCartStore`, `useCategories`, `useFavorites`, `useFavoritesStore`, `useFeaturedProducts`, `useProductBySlug`, `useProducts`, `useSearch`
24
+
25
+ ```typescript
26
+ import { formatPrice, useCart, useCartStore, ... } from '@/modules/ecommerce-core';
27
+ ```
28
+
29
+ ## Usage
30
+
31
+ ```
32
+ import { useCart, useFavorites, useProducts } from '@/modules/ecommerce-core';
33
+
34
+ // No provider needed - just use the hooks:
35
+ const { addItem, removeItem, state, itemCount } = useCart();
36
+ const { addToFavorites, isFavorite } = useFavorites();
37
+ const { products, loading } = useProducts();
38
+
39
+ // Or use stores directly with selectors:
40
+ const itemCount = useCartStore((s) => s.itemCount);
41
+ ```
@@ -0,0 +1,31 @@
1
+ # Empty Page
2
+
3
+ Minimal starter page template. Use with --module-name and --route-path flags to create custom pages. Includes Layout wrapper, i18n support, and usePageTitle hook.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/empty-page/index.ts` | index |
10
+ | `$modules$/empty-page/empty-page.tsx` | page |
11
+ | `$modules$/empty-page/lang/en.json` | lang |
12
+ | `$modules$/empty-page/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `EmptyPage`, `default`
17
+
18
+ ```typescript
19
+ import { EmptyPage, default } from '@/modules/empty-page';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ promake add empty-page --module-name faq --route-path /faq
26
+
27
+ • Creates: src/modules/faq/faq.tsx
28
+ • Adds route: /faq → FaqPage
29
+ • Edit content in lang/en.json
30
+ • Wrapped with Layout component
31
+ ```
@@ -0,0 +1,38 @@
1
+ # FAQ Categorized
2
+
3
+ Multi-column FAQ section with questions grouped by category. Features 3 category columns (General, Billing, Technical) each with its own accordion. Responsive grid layout that stacks on mobile. Great for comprehensive FAQ pages.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/faq-categorized/index.ts` | index |
10
+ | `$modules$/faq-categorized/faq-categorized.tsx` | component |
11
+ | `$modules$/faq-categorized/lang/en.json` | lang |
12
+ | `$modules$/faq-categorized/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `FaqCategorized`
17
+
18
+ ```typescript
19
+ import { FaqCategorized } from '@/modules/faq-categorized';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ import { FaqCategorized } from '@/modules/faq-categorized';
26
+
27
+ <FaqCategorized />
28
+
29
+ - 3 category columns
30
+ - Each category has accordion
31
+ - Responsive grid (1-3 columns)
32
+ - Customize categories via lang files
33
+ ```
34
+
35
+ ## Dependencies
36
+
37
+ This component requires:
38
+ - `accordion`
@@ -0,0 +1,38 @@
1
+ # FAQ Simple
2
+
3
+ Simple single-column FAQ section with accordion. Features centered heading, subtitle, and collapsible question/answer items. Clean minimal design using shadcn Accordion component. Perfect for landing pages and support sections.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/faq-simple/index.ts` | index |
10
+ | `$modules$/faq-simple/faq-simple.tsx` | component |
11
+ | `$modules$/faq-simple/lang/en.json` | lang |
12
+ | `$modules$/faq-simple/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `FaqSimple`
17
+
18
+ ```typescript
19
+ import { FaqSimple } from '@/modules/faq-simple';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ import { FaqSimple } from '@/modules/faq-simple';
26
+
27
+ <FaqSimple />
28
+
29
+ - Single column accordion
30
+ - Centered header
31
+ - Collapsible Q&A items
32
+ - Customize via lang files
33
+ ```
34
+
35
+ ## Dependencies
36
+
37
+ This component requires:
38
+ - `accordion`
@@ -0,0 +1,38 @@
1
+ # Favorites Blog Block
2
+
3
+ Saved posts page block showing bookmarked blog posts in grid. Includes empty state with browse CTA, clear all button, and remove from favorites per item.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/favorites-blog-block/index.ts` | index |
10
+ | `$modules$/favorites-blog-block/favorites-blog-block.tsx` | block |
11
+ | `$modules$/favorites-blog-block/lang/en.json` | lang |
12
+ | `$modules$/favorites-blog-block/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `FavoritesBlogBlock`
17
+
18
+ ```typescript
19
+ import { FavoritesBlogBlock } from '@/modules/favorites-blog-block';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ import { FavoritesBlogBlock } from '@/modules/favorites-blog-block';
26
+
27
+ <FavoritesBlogBlock />
28
+
29
+ • Uses useBlog() from blog-core (Zustand)
30
+ • Reads favorites directly from store
31
+ • Empty state: "No saved posts" with blog link
32
+ ```
33
+
34
+ ## Dependencies
35
+
36
+ This component requires:
37
+ - `blog-core`
38
+ - `post-card`