@promakeai/cli 0.1.2 → 0.1.3

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 (60) hide show
  1. package/dist/index.js +56 -56
  2. package/dist/registry/about-page.json +2 -2
  3. package/dist/registry/about-section.json +2 -2
  4. package/dist/registry/announcement-bar.json +1 -1
  5. package/dist/registry/blog-section.json +6 -4
  6. package/dist/registry/cart-drawer.json +5 -4
  7. package/dist/registry/case-study-page.json +2 -2
  8. package/dist/registry/coming-soon-page-minimal.json +1 -1
  9. package/dist/registry/coming-soon-page.json +1 -1
  10. package/dist/registry/contact-info-grid.json +2 -2
  11. package/dist/registry/contact-page-centered.json +2 -2
  12. package/dist/registry/contact-page-split.json +2 -2
  13. package/dist/registry/contact-page.json +2 -2
  14. package/dist/registry/cta-section.json +2 -2
  15. package/dist/registry/docs/blog-section.md +3 -1
  16. package/dist/registry/docs/cart-drawer.md +9 -9
  17. package/dist/registry/docs/favorites-blog-block.md +10 -3
  18. package/dist/registry/docs/favorites-blog-page.md +38 -0
  19. package/dist/registry/docs/favorites-ecommerce-block.md +10 -3
  20. package/dist/registry/docs/favorites-ecommerce-page.md +38 -0
  21. package/dist/registry/docs/login-page.md +6 -16
  22. package/dist/registry/docs/payment-success-block.md +8 -1
  23. package/dist/registry/docs/post-detail-page.md +39 -0
  24. package/dist/registry/docs/product-card-detailed.md +7 -11
  25. package/dist/registry/docs/product-detail-page.md +39 -0
  26. package/dist/registry/docs/product-detail-section.md +7 -13
  27. package/dist/registry/docs/product-quick-view.md +4 -2
  28. package/dist/registry/faq-categorized.json +2 -2
  29. package/dist/registry/faq-simple.json +2 -2
  30. package/dist/registry/favorites-blog-block.json +1 -1
  31. package/dist/registry/favorites-blog-page.json +48 -0
  32. package/dist/registry/favorites-ecommerce-block.json +1 -1
  33. package/dist/registry/favorites-ecommerce-page.json +48 -0
  34. package/dist/registry/feature-section.json +2 -2
  35. package/dist/registry/footer.json +2 -2
  36. package/dist/registry/header-ecommerce.json +1 -1
  37. package/dist/registry/hero-carousel.json +2 -2
  38. package/dist/registry/hero-cta.json +2 -2
  39. package/dist/registry/hero-gradient.json +2 -2
  40. package/dist/registry/hero.json +2 -2
  41. package/dist/registry/index.json +9 -0
  42. package/dist/registry/landing-page-app.json +1 -1
  43. package/dist/registry/landing-page-saas.json +1 -1
  44. package/dist/registry/login-page.json +8 -6
  45. package/dist/registry/logo-cloud.json +1 -1
  46. package/dist/registry/payment-success-block.json +7 -3
  47. package/dist/registry/portfolio-page.json +2 -2
  48. package/dist/registry/post-detail-page.json +48 -0
  49. package/dist/registry/pricing-page.json +1 -1
  50. package/dist/registry/pricing-section.json +2 -2
  51. package/dist/registry/product-card-detailed.json +5 -4
  52. package/dist/registry/product-detail-page.json +48 -0
  53. package/dist/registry/product-detail-section.json +5 -4
  54. package/dist/registry/product-quick-view.json +5 -4
  55. package/dist/registry/team-page.json +1 -1
  56. package/dist/registry/testimonials-carousel.json +2 -2
  57. package/dist/registry/testimonials-grid.json +2 -2
  58. package/dist/registry/timeline-section.json +2 -2
  59. package/dist/registry/video-hero.json +1 -1
  60. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  # Login Page
2
2
 
3
- Presentational login page with email/password form, social OAuth buttons (Google, Microsoft), forgot password link, and create account link. Centered card layout with responsive design. Requires parent to handle authentication via callbacks.
3
+ Login page with email/password form, forgot password link, and create account link. Centered card layout with responsive design. Integrated with auth-core for authentication.
4
4
 
5
5
  ## Files
6
6
 
@@ -24,24 +24,12 @@ import { LoginPage, default } from '@/modules/login-page';
24
24
  ```
25
25
  import LoginPage from '@/modules/login-page';
26
26
 
27
- // Presentational component - handle auth in parent
28
- <LoginPage
29
- onSubmit={(email, password) => {
30
- // Handle login API call here
31
- }}
32
- onGoogleLogin={() => {
33
- // Handle Google OAuth
34
- }}
35
- onMicrosoftLogin={() => {
36
- // Handle Microsoft OAuth
37
- }}
38
- />
27
+ <LoginPage />
39
28
 
40
29
  • Installed at: src/modules/login-page/
41
30
  • Customize text: src/modules/login-page/lang/*.json
42
- This is a presentational component - no built-in API calls
43
- Parent must handle authentication via callbacks
44
- • For built-in API integration, use login-page-split instead
31
+ Integrated with auth-core for API authentication
32
+ On success, redirects to previous page or home
45
33
  ```
46
34
 
47
35
  ## Dependencies
@@ -50,3 +38,5 @@ This component requires:
50
38
  - `button`
51
39
  - `input`
52
40
  - `label`
41
+ - `auth-core`
42
+ - `api`
@@ -1,6 +1,6 @@
1
1
  # Payment Success Block
2
2
 
3
- Payment verification UI with loading, success, and failed states. Displays order details and navigation options
3
+ Payment verification UI with loading, success, and failed states. Displays order details and navigation options. Uses formatPrice from ecommerce-core.
4
4
 
5
5
  ## Files
6
6
 
@@ -30,3 +30,10 @@ import { PaymentSuccessBlock } from '@/modules/payment-success-block';
30
30
  • Handles loading, success, and failed states
31
31
  • Use in payment callback/confirmation pages
32
32
  ```
33
+
34
+ ## Dependencies
35
+
36
+ This component requires:
37
+ - `button`
38
+ - `card`
39
+ - `ecommerce-core`
@@ -0,0 +1,39 @@
1
+ # Post Detail Page
2
+
3
+ Blog post detail page that fetches post data by slug from URL params. Uses usePostBySlug hook from blog-core and renders PostDetailBlock. Includes loading skeleton, error handling for not found posts, and automatic page title.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/post-detail-page/index.ts` | index |
10
+ | `$modules$/post-detail-page/post-detail-page.tsx` | page |
11
+ | `$modules$/post-detail-page/lang/en.json` | lang |
12
+ | `$modules$/post-detail-page/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `PostDetailPage`, `default`
17
+
18
+ ```typescript
19
+ import { PostDetailPage, default } from '@/modules/post-detail-page';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ import { PostDetailPage } from '@/modules/post-detail-page';
26
+
27
+ <Route path="/blog/:slug" element={<PostDetailPage />} />
28
+
29
+ • Uses usePostBySlug() from blog-core
30
+ • Fetches post by slug from URL params
31
+ • Shows loading skeleton while fetching
32
+ • Handles post not found state
33
+ ```
34
+
35
+ ## Dependencies
36
+
37
+ This component requires:
38
+ - `blog-core`
39
+ - `post-detail-block`
@@ -1,6 +1,6 @@
1
1
  # Product Card Detailed
2
2
 
3
- Detailed product card with wishlist button, hover scale effect, price with optional discount, description, and Add to Cart/Buy Now action buttons. Perfect for product grids with more information.
3
+ Detailed product card with wishlist toggle, hover scale effect, price with optional discount, description, and Add to Cart/Buy Now action buttons. Integrated with ecommerce-core for cart and favorites.
4
4
 
5
5
  ## Files
6
6
 
@@ -23,20 +23,16 @@ import { ProductCardDetailed } from '@/modules/product-card-detailed';
23
23
 
24
24
  ```
25
25
  import { ProductCardDetailed } from '@/modules/product-card-detailed';
26
+ import type { Product } from '@/modules/ecommerce-core';
26
27
 
27
- <ProductCardDetailed
28
- href="/products/1"
29
- image="/images/product.jpg"
30
- title="Wireless Headphones"
31
- price={49.99}
32
- originalPrice={80}
33
- description="Product description here..."
34
- onAddToCart={() => {}}
35
- onBuyNow={() => {}}
36
- />
28
+ <ProductCardDetailed product={product} />
29
+
30
+ • Uses useCart and useFavorites from ecommerce-core
31
+ Wishlist toggle shows filled heart when favorited
37
32
  ```
38
33
 
39
34
  ## Dependencies
40
35
 
41
36
  This component requires:
42
37
  - `button`
38
+ - `ecommerce-core`
@@ -0,0 +1,39 @@
1
+ # Product Detail Page
2
+
3
+ Product detail page that fetches product data by slug from URL params. Uses useProductBySlug hook from ecommerce-core and renders ProductDetailBlock. Includes loading skeleton, error handling for not found products, and automatic page title.
4
+
5
+ ## Files
6
+
7
+ | Target | Type |
8
+ |--------|------|
9
+ | `$modules$/product-detail-page/index.ts` | index |
10
+ | `$modules$/product-detail-page/product-detail-page.tsx` | page |
11
+ | `$modules$/product-detail-page/lang/en.json` | lang |
12
+ | `$modules$/product-detail-page/lang/tr.json` | lang |
13
+
14
+ ## Exports
15
+
16
+ **Components/Functions:** `ProductDetailPage`, `default`
17
+
18
+ ```typescript
19
+ import { ProductDetailPage, default } from '@/modules/product-detail-page';
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ import { ProductDetailPage } from '@/modules/product-detail-page';
26
+
27
+ <Route path="/products/:slug" element={<ProductDetailPage />} />
28
+
29
+ • Uses useProductBySlug() from ecommerce-core
30
+ • Fetches product by slug from URL params
31
+ • Shows loading skeleton while fetching
32
+ • Handles product not found state
33
+ ```
34
+
35
+ ## Dependencies
36
+
37
+ This component requires:
38
+ - `ecommerce-core`
39
+ - `product-detail-block`
@@ -1,6 +1,6 @@
1
1
  # Product Detail Section
2
2
 
3
- Product detail UI section with image, title, brand, price, description, color/size selectors, rating stars, social share buttons, and add to cart/wishlist actions. Fully customizable via props.
3
+ Product detail UI section with image, title, brand, price, description, rating stars, social share buttons, and add to cart/wishlist actions. Integrated with ecommerce-core for cart and favorites.
4
4
 
5
5
  ## Files
6
6
 
@@ -23,19 +23,12 @@ import { ProductDetailSection } from '@/modules/product-detail-section';
23
23
 
24
24
  ```
25
25
  import { ProductDetailSection } from '@/modules/product-detail-section';
26
+ import type { Product } from '@/modules/ecommerce-core';
26
27
 
27
- <ProductDetailSection
28
- image="/images/product.jpg"
29
- title="Product Name"
30
- brand="Brand"
31
- price={58}
32
- description="Product description..."
33
- colors={[{ name: 'Red', value: '#ef4444' }]}
34
- sizes={['SM', 'M', 'L', 'XL']}
35
- rating={4}
36
- reviewCount={12}
37
- onAddToCart={() => {}}
38
- />
28
+ <ProductDetailSection product={product} />
29
+
30
+ Uses useCart and useFavorites from ecommerce-core
31
+ • Wishlist toggle shows filled heart when favorited
39
32
  ```
40
33
 
41
34
  ## Dependencies
@@ -43,3 +36,4 @@ import { ProductDetailSection } from '@/modules/product-detail-section';
43
36
  This component requires:
44
37
  - `button`
45
38
  - `select`
39
+ - `ecommerce-core`
@@ -1,6 +1,6 @@
1
1
  # Product Quick View
2
2
 
3
- Modal overlay for quick product preview with variant selection. Features image gallery, size/color selectors, and add to cart functionality.
3
+ Modal overlay for quick product preview. Features image gallery and add to cart functionality. Integrated with ecommerce-core for cart and favorites.
4
4
 
5
5
  ## Files
6
6
 
@@ -23,11 +23,12 @@ import { ProductQuickView } from '@/modules/product-quick-view';
23
23
 
24
24
  ```
25
25
  import { ProductQuickView } from '@/modules/product-quick-view';
26
+ import type { Product } from '@/modules/ecommerce-core';
26
27
 
27
28
  <ProductQuickView product={product} open={open} onOpenChange={setOpen} />
28
29
 
29
30
  • Installed at: src/modules/product-quick-view/
30
- Props: product, open, onOpenChange, onAddToCart
31
+ Uses useCart and useFavorites from ecommerce-core
31
32
  ```
32
33
 
33
34
  ## Dependencies
@@ -35,3 +36,4 @@ import { ProductQuickView } from '@/modules/product-quick-view';
35
36
  This component requires:
36
37
  - `button`
37
38
  - `dialog`
39
+ - `ecommerce-core`
@@ -24,13 +24,13 @@
24
24
  "path": "faq-categorized/lang/en.json",
25
25
  "type": "registry:lang",
26
26
  "target": "$modules$/faq-categorized/lang/en.json",
27
- "content": "{\r\n \"title\": \"Frequently Asked Questions\",\r\n \"subtitle\": \"Ask Promake to customize this subtitle to match your FAQ section purpose.\",\r\n \"generalTitle\": \"General\",\r\n \"general1Q\": \"Replace this with your first general question\",\r\n \"general1A\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ask Promake to replace this answer with relevant information based on your project context.\",\r\n \"general2Q\": \"This is a placeholder question that needs customization\",\r\n \"general2A\": \"This answer will be automatically generated by Promake based on your industry and service offerings. Sed do eiusmod tempor incididunt ut labore.\",\r\n \"general3Q\": \"Customize this question for your FAQ section\",\r\n \"general3A\": \"Ask Promake to generate appropriate answers based on your site needs. Ut enim ad minim veniam, quis nostrud exercitation ullamco.\",\r\n \"billingTitle\": \"Billing\",\r\n \"billing1Q\": \"Replace with your billing-related question\",\r\n \"billing1A\": \"Placeholder answer text. Ask Promake to customize this content to provide accurate billing information for your plan.\",\r\n \"billing2Q\": \"This question should be replaced with real billing FAQ\",\r\n \"billing2A\": \"Lorem ipsum dolor sit amet. Ask Promake to replace this with contextually appropriate billing information for your service.\",\r\n \"billing3Q\": \"Customize this billing question\",\r\n \"billing3A\": \"This is placeholder text that will be replaced by Promake with relevant billing answers based on your payment structure.\",\r\n \"technicalTitle\": \"Technical\",\r\n \"technical1Q\": \"Replace with your technical question\",\r\n \"technical1A\": \"Ask Promake to customize this technical answer based on your product or service specifications. Duis aute irure dolor in reprehenderit.\",\r\n \"technical2Q\": \"This is a placeholder technical question\",\r\n \"technical2A\": \"Placeholder answer. Ask Promake to generate appropriate technical information based on your platform capabilities.\",\r\n \"technical3Q\": \"Customize this final technical question\",\r\n \"technical3A\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ask Promake to replace this with relevant technical details for your offering.\"\r\n}\r\n"
27
+ "content": "{\r\n \"title\": \"Frequently Asked Questions\",\r\n \"subtitle\": \"Promake can help personalize this subtitle to match your FAQ section.\",\r\n \"generalTitle\": \"General\",\r\n \"general1Q\": \"Replace this with your first general question\",\r\n \"general1A\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Let Promake update this answer with relevant information for your project.\",\r\n \"general2Q\": \"This is a placeholder question that needs customization\",\r\n \"general2A\": \"Use Promake to generate this answer based on your industry and offerings. Sed do eiusmod tempor incididunt ut labore.\",\r\n \"general3Q\": \"Customize this question for your FAQ section\",\r\n \"general3A\": \"Work with Promake to generate appropriate answers for your site. Ut enim ad minim veniam, quis nostrud exercitation ullamco.\",\r\n \"billingTitle\": \"Billing\",\r\n \"billing1Q\": \"Replace with your billing-related question\",\r\n \"billing1A\": \"Placeholder answer text. Customize this content with Promake to provide accurate billing information.\",\r\n \"billing2Q\": \"This question should be replaced with real billing FAQ\",\r\n \"billing2A\": \"Lorem ipsum dolor sit amet. Have Promake replace this with appropriate billing details for your service.\",\r\n \"billing3Q\": \"Customize this billing question\",\r\n \"billing3A\": \"This is placeholder text. Edit via Promake with billing answers based on your payment structure.\",\r\n \"technicalTitle\": \"Technical\",\r\n \"technical1Q\": \"Replace with your technical question\",\r\n \"technical1A\": \"Update this technical answer using Promake based on your product specifications. Duis aute irure dolor in reprehenderit.\",\r\n \"technical2Q\": \"This is a placeholder technical question\",\r\n \"technical2A\": \"Placeholder answer. Let Promake generate technical information about your platform capabilities.\",\r\n \"technical3Q\": \"Customize this final technical question\",\r\n \"technical3A\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Promake can help add relevant technical details for your offering.\"\r\n}\r\n"
28
28
  },
29
29
  {
30
30
  "path": "faq-categorized/lang/tr.json",
31
31
  "type": "registry:lang",
32
32
  "target": "$modules$/faq-categorized/lang/tr.json",
33
- "content": "{\r\n \"title\": \"Sıkça Sorulan Sorular\",\r\n \"subtitle\": \"AI bu alt başlığı SSS bölümünüzün amacına göre özelleştirecektir.\",\r\n \"generalTitle\": \"Genel\",\r\n \"general1Q\": \"Bunu ilk genel sorunuzla değiştirin\",\r\n \"general1A\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. AI bu cevabı proje bağlamınıza göre ilgili bilgilerle değiştirecektir.\",\r\n \"general2Q\": \"Bu özelleştirilmesi gereken bir placeholder sorudur\",\r\n \"general2A\": \"Bu cevap AI tarafından sektörünüze ve hizmet tekliflerinize göre otomatik olarak üretilecektir. Sed do eiusmod tempor incididunt ut labore.\",\r\n \"general3Q\": \"Bu soruyu SSS bölümünüz için özelleştirin\",\r\n \"general3A\": \"AI site ihtiyaçlarınıza göre uygun cevaplar üretecektir. Ut enim ad minim veniam, quis nostrud exercitation ullamco.\",\r\n \"billingTitle\": \"Faturalama\",\r\n \"billing1Q\": \"Faturalama ile ilgili sorunuzla değiştirin\",\r\n \"billing1A\": \"Placeholder cevap metni. AI bu içeriği planınız için doğru faturalama bilgileri sağlamak üzere özelleştirecektir.\",\r\n \"billing2Q\": \"Bu soru gerçek faturalama SSS'si ile değiştirilmelidir\",\r\n \"billing2A\": \"Lorem ipsum dolor sit amet. AI bunu hizmetiniz için bağlamsal olarak uygun faturalama bilgileriyle değiştirecektir.\",\r\n \"billing3Q\": \"Bu faturalama sorusunu özelleştirin\",\r\n \"billing3A\": \"Bu, AI tarafından ödeme yapınıza göre ilgili faturalama cevaplarıyla değiştirilecek placeholder metindir.\",\r\n \"technicalTitle\": \"Teknik\",\r\n \"technical1Q\": \"Teknik sorunuzla değiştirin\",\r\n \"technical1A\": \"AI bu teknik cevabı ürün veya hizmet özelliklerinize göre özelleştirecektir. Duis aute irure dolor in reprehenderit.\",\r\n \"technical2Q\": \"Bu bir placeholder teknik sorudur\",\r\n \"technical2A\": \"Placeholder cevap. AI platform yeteneklerinize göre uygun teknik bilgiler üretecektir.\",\r\n \"technical3Q\": \"Bu son teknik soruyu özelleştirin\",\r\n \"technical3A\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. AI bunu teklifiniz için ilgili teknik detaylarla değiştirecektir.\"\r\n}\r\n"
33
+ "content": "{\r\n \"title\": \"Sıkça Sorulan Sorular\",\r\n \"subtitle\": \"Promake bu alt başlığı SSS bölümünüze göre kişiselleştirmenize yardımcı olabilir.\",\r\n \"generalTitle\": \"Genel\",\r\n \"general1Q\": \"Bunu ilk genel sorunuzla değiştirin\",\r\n \"general1A\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Promake ile bu cevabı projeniz için ilgili bilgilerle güncelleyin.\",\r\n \"general2Q\": \"Bu özelleştirilmesi gereken bir placeholder sorudur\",\r\n \"general2A\": \"Bu cevabı sektörünüz ve tekliflerinize göre üretmek için Promake kullanın. Sed do eiusmod tempor incididunt ut labore.\",\r\n \"general3Q\": \"Bu soruyu SSS bölümünüz için özelleştirin\",\r\n \"general3A\": \"Promake ile siteniz için uygun cevaplar oluşturun. Ut enim ad minim veniam, quis nostrud exercitation ullamco.\",\r\n \"billingTitle\": \"Faturalama\",\r\n \"billing1Q\": \"Faturalama ile ilgili sorunuzla değiştirin\",\r\n \"billing1A\": \"Placeholder cevap metni. Doğru faturalama bilgileri sağlamak için bu içeriği Promake ile özelleştirin.\",\r\n \"billing2Q\": \"Bu soru gerçek faturalama SSS'si ile değiştirilmelidir\",\r\n \"billing2A\": \"Lorem ipsum dolor sit amet. Promake'ten hizmetiniz için uygun faturalama detaylarıyla değiştirmesini isteyin.\",\r\n \"billing3Q\": \"Bu faturalama sorusunu özelleştirin\",\r\n \"billing3A\": \"Bu placeholder metindir. Ödeme yapınıza göre faturalama cevaplarıyla Promake üzerinden düzenleyin.\",\r\n \"technicalTitle\": \"Teknik\",\r\n \"technical1Q\": \"Teknik sorunuzla değiştirin\",\r\n \"technical1A\": \"Bu teknik cevabı ürün özelliklerinize göre Promake kullanarak güncelleyin. Duis aute irure dolor in reprehenderit.\",\r\n \"technical2Q\": \"Bu bir placeholder teknik sorudur\",\r\n \"technical2A\": \"Placeholder cevap. Promake ile platform yetenekleriniz hakkında teknik bilgiler üretin.\",\r\n \"technical3Q\": \"Bu son teknik soruyu özelleştirin\",\r\n \"technical3A\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Promake teklifiniz için ilgili teknik detaylar eklemenize yardımcı olabilir.\"\r\n}\r\n"
34
34
  }
35
35
  ],
36
36
  "exports": {
@@ -24,13 +24,13 @@
24
24
  "path": "faq-simple/lang/en.json",
25
25
  "type": "registry:lang",
26
26
  "target": "$modules$/faq-simple/lang/en.json",
27
- "content": "{\r\n \"title\": \"Frequently Asked Questions\",\r\n \"subtitle\": \"Ask Promake to customize this subtitle based on your service or product offering.\",\r\n \"q1\": \"Replace this question with your first FAQ\",\r\n \"a1\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ask Promake to replace this answer with relevant information.\",\r\n \"q2\": \"This is a placeholder question that needs to be customized\",\r\n \"a2\": \"This answer will be automatically replaced by Promake based on your project context and the question above. Ut enim ad minim veniam, quis nostrud exercitation.\",\r\n \"q3\": \"Customize this question to match your service\",\r\n \"a3\": \"Ask Promake to generate appropriate answers based on your site goals and audience. Duis aute irure dolor in reprehenderit in voluptate velit esse.\",\r\n \"q4\": \"Replace with your actual frequently asked question\",\r\n \"a4\": \"Placeholder answer text. Ask Promake to customize this content to provide accurate information about your product or service offerings.\",\r\n \"q5\": \"This question should be replaced with real FAQ content\",\r\n \"a5\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ask Promake to replace this with contextually appropriate information for your site.\",\r\n \"q6\": \"Customize this final question for your FAQ section\",\r\n \"a6\": \"This is placeholder text that will be replaced by Promake with relevant answers based on your specific needs and audience questions.\"\r\n}\r\n"
27
+ "content": "{\r\n \"title\": \"Frequently Asked Questions\",\r\n \"subtitle\": \"Customize this subtitle with Promake based on your offering.\",\r\n \"q1\": \"Replace this question with your first FAQ\",\r\n \"a1\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Let Promake personalize this answer with relevant information.\",\r\n \"q2\": \"This is a placeholder question that needs to be customized\",\r\n \"a2\": \"Use Promake to update this answer based on your project context. Ut enim ad minim veniam, quis nostrud exercitation.\",\r\n \"q3\": \"Customize this question to match your service\",\r\n \"q3\": \"Work with Promake to generate appropriate answers for your audience. Duis aute irure dolor in reprehenderit in voluptate velit esse.\",\r\n \"q4\": \"Replace with your actual frequently asked question\",\r\n \"a4\": \"Placeholder answer text. Have Promake tailor this content to provide accurate information about your offerings.\",\r\n \"q5\": \"This question should be replaced with real FAQ content\",\r\n \"a5\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Edit this via Promake with appropriate information for your site.\",\r\n \"q6\": \"Customize this final question for your FAQ section\",\r\n \"a6\": \"This is placeholder text. Promake can help add relevant answers based on your specific needs.\"\r\n}\r\n"
28
28
  },
29
29
  {
30
30
  "path": "faq-simple/lang/tr.json",
31
31
  "type": "registry:lang",
32
32
  "target": "$modules$/faq-simple/lang/tr.json",
33
- "content": "{\r\n \"title\": \"Sıkça Sorulan Sorular\",\r\n \"subtitle\": \"AI bu alt başlığı hizmet veya ürün teklifinize göre özelleştirecektir.\",\r\n \"q1\": \"Bu soruyu ilk SSS'nizle değiştirin\",\r\n \"a1\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore. AI bu cevabı ilgili bilgilerle değiştirecektir.\",\r\n \"q2\": \"Bu özelleştirilmesi gereken bir placeholder sorudur\",\r\n \"a2\": \"Bu cevap AI tarafından proje bağlamınıza ve yukarıdaki soruya göre otomatik olarak değiştirilecektir. Ut enim ad minim veniam, quis nostrud exercitation.\",\r\n \"q3\": \"Bu soruyu hizmetinize uyacak şekilde özelleştirin\",\r\n \"a3\": \"AI hedef kitlenize ve site ihtiyaçlarınıza göre uygun cevaplar üretecektir. Duis aute irure dolor in reprehenderit in voluptate velit esse.\",\r\n \"q4\": \"Gerçek sık sorulan sorunuzla değiştirin\",\r\n \"a4\": \"Placeholder cevap metni. AI bu içeriği ürün veya hizmet teklifleriniz hakkında doğru bilgi sağlamak için özelleştirecektir.\",\r\n \"q5\": \"Bu soru gerçek SSS içeriğiyle değiştirilmelidir\",\r\n \"a5\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. AI bunu siteniz için bağlamsal olarak uygun bilgilerle değiştirecektir.\",\r\n \"q6\": \"SSS bölümünüz için bu son soruyu özelleştirin\",\r\n \"a6\": \"Bu, AI tarafından özel ihtiyaçlarınıza ve kullanıcı sorularınıza göre ilgili cevaplarla değiştirilecek placeholder metindir.\"\r\n}\r\n"
33
+ "content": "{\r\n \"title\": \"Sıkça Sorulan Sorular\",\r\n \"subtitle\": \"Bu alt başlığı teklifinize göre Promake ile özelleştirin.\",\r\n \"q1\": \"Bu soruyu ilk SSS'nizle değiştirin\",\r\n \"a1\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore. Promake ile bu cevabı ilgili bilgilerle kişiselleştirin.\",\r\n \"q2\": \"Bu özelleştirilmesi gereken bir placeholder sorudur\",\r\n \"a2\": \"Bu cevabı proje bağlamınıza göre güncellemek için Promake kullanın. Ut enim ad minim veniam, quis nostrud exercitation.\",\r\n \"q3\": \"Bu soruyu hizmetinize uyacak şekilde özelleştirin\",\r\n \"a3\": \"Promake ile hedef kitleniz için uygun cevaplar oluşturun. Duis aute irure dolor in reprehenderit in voluptate velit esse.\",\r\n \"q4\": \"Gerçek sık sorulan sorunuzla değiştirin\",\r\n \"a4\": \"Placeholder cevap metni. Promake'ten bu içeriği teklifleriniz hakkında doğru bilgi sağlamak için uyarlamasını isteyin.\",\r\n \"q5\": \"Bu soru gerçek SSS içeriğiyle değiştirilmelidir\",\r\n \"a5\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Bunu siteniz için uygun bilgilerle Promake üzerinden düzenleyin.\",\r\n \"q6\": \"SSS bölümünüz için bu son soruyu özelleştirin\",\r\n \"a6\": \"Bu placeholder metindir. Promake özel ihtiyaçlarınıza göre ilgili cevaplar eklemenize yardımcı olabilir.\"\r\n}\r\n"
34
34
  }
35
35
  ],
36
36
  "exports": {
@@ -7,7 +7,7 @@
7
7
  "blog-core",
8
8
  "post-card"
9
9
  ],
10
- "usage": "import { FavoritesBlogBlock } from '@/modules/favorites-blog-block';\n\n<FavoritesBlogBlock />\n\n• Uses useBlog() from blog-core (Zustand)\n• Reads favorites directly from store\n• Empty state: \"No saved posts\" with blog link",
10
+ "usage": "import { FavoritesBlogBlock } from '@/modules/favorites-blog-block';\nimport type { Post } from '@/modules/blog-core/types';\n\nconst favorites: Post[] = [...];\n\n<FavoritesBlogBlock\n favorites={favorites}\n onClearAll={() => clearFavorites()}\n/>\n\n• Receives favorites as prop (reusable block)\n• Optional onClearAll callback\n• Empty state: \"No saved posts\" with blog link\n• Use favorites-blog-page for full page with hooks",
11
11
  "files": [
12
12
  {
13
13
  "path": "favorites-blog-block/index.ts",
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "favorites-blog-page",
3
+ "type": "registry:page",
4
+ "title": "Favorites Blog Page",
5
+ "description": "Blog favorites page that displays user's favorite posts with grid layout. Uses useBlog hook from blog-core for state management. Includes empty state, clear all functionality, and responsive post grid.",
6
+ "registryDependencies": [
7
+ "blog-core",
8
+ "post-card"
9
+ ],
10
+ "usage": "import FavoritesBlogPage from '@/modules/favorites-blog-page';\n\n<Route path=\"/favorites-blog\" element={<FavoritesBlogPage />} />\n\n• Uses useBlog() from blog-core\n• Shows empty state when no favorites\n• Grid layout with PostCard components",
11
+ "route": {
12
+ "path": "/favorites-blog",
13
+ "componentName": "FavoritesBlogPage"
14
+ },
15
+ "files": [
16
+ {
17
+ "path": "favorites-blog-page/index.ts",
18
+ "type": "registry:index",
19
+ "target": "$modules$/favorites-blog-page/index.ts",
20
+ "content": "export * from './favorites-blog-page';\r\nexport { FavoritesBlogPage as default } from './favorites-blog-page';\r\n"
21
+ },
22
+ {
23
+ "path": "favorites-blog-page/favorites-blog-page.tsx",
24
+ "type": "registry:page",
25
+ "target": "$modules$/favorites-blog-page/favorites-blog-page.tsx",
26
+ "content": "import { Link } from \"react-router\";\r\nimport { Heart, BookOpen } from \"lucide-react\";\r\nimport { Button } from \"@/components/ui/button\";\r\nimport { Layout } from \"@/components/Layout\";\r\nimport { PostCard } from \"@/modules/post-card/post-card\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useBlog } from \"@/modules/blog-core\";\r\nimport { usePageTitle } from \"@/hooks/use-page-title\";\r\n\r\nexport function FavoritesBlogPage() {\r\n const { t } = useTranslation(\"favorites-blog-page\");\r\n const { favorites, clearFavorites } = useBlog();\r\n usePageTitle({ title: t(\"title\", \"My Favorites\") });\r\n\r\n // Empty State\r\n if (favorites.length === 0) {\r\n return (\r\n <Layout>\r\n <div className=\"min-h-screen bg-muted/30 py-12\">\r\n <div className=\"w-full max-w-[var(--container-max-width)] mx-auto px-4\">\r\n <div className=\"text-center max-w-md mx-auto\">\r\n <Heart className=\"w-16 h-16 text-muted-foreground mx-auto mb-6\" />\r\n <h1 className=\"text-3xl font-bold text-foreground mb-4\">\r\n {t(\"noFavoritesYet\", \"No Favorites Yet\")}\r\n </h1>\r\n <p className=\"text-muted-foreground mb-8\">\r\n {t(\r\n \"noFavoritesDescription\",\r\n \"Start browsing our blog and add posts to your favorites by clicking the heart icon.\"\r\n )}\r\n </p>\r\n <Button asChild size=\"lg\">\r\n <Link to=\"/blog\">\r\n <BookOpen className=\"w-5 h-5 mr-2\" />\r\n {t(\"browseBlog\", \"Browse Blog\")}\r\n </Link>\r\n </Button>\r\n </div>\r\n </div>\r\n </div>\r\n </Layout>\r\n );\r\n }\r\n\r\n // Favorites Grid\r\n return (\r\n <Layout>\r\n <div className=\"min-h-screen py-12\">\r\n <div className=\"w-full max-w-[var(--container-max-width)] mx-auto px-4\">\r\n {/* Header */}\r\n <div className=\"flex justify-between items-center mb-8\">\r\n <div>\r\n <h1 className=\"text-3xl font-bold mb-2\">\r\n {t(\"title\", \"My Favorites\")}\r\n </h1>\r\n <p className=\"text-muted-foreground\">\r\n {t(\r\n \"favoritesCount\",\r\n `You have ${favorites.length} favorite posts`\r\n )}\r\n </p>\r\n </div>\r\n <Button variant=\"outline\" onClick={clearFavorites}>\r\n {t(\"clearAll\", \"Clear All\")}\r\n </Button>\r\n </div>\r\n\r\n {/* Posts Grid */}\r\n <div className=\"grid gap-6 md:grid-cols-2 lg:grid-cols-3\">\r\n {favorites.map((post) => (\r\n <PostCard key={post.id} post={post} layout=\"grid\" />\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n </Layout>\r\n );\r\n}\r\n\r\nexport default FavoritesBlogPage;\r\n"
27
+ },
28
+ {
29
+ "path": "favorites-blog-page/lang/en.json",
30
+ "type": "registry:lang",
31
+ "target": "$modules$/favorites-blog-page/lang/en.json",
32
+ "content": "{\r\n \"title\": \"My Favorites\",\r\n \"noFavoritesYet\": \"No Favorites Yet\",\r\n \"noFavoritesDescription\": \"Start browsing our blog and add posts to your favorites by clicking the heart icon.\",\r\n \"browseBlog\": \"Browse Blog\",\r\n \"favoritesCount\": \"favorite posts\",\r\n \"clearAll\": \"Clear All\"\r\n}\r\n"
33
+ },
34
+ {
35
+ "path": "favorites-blog-page/lang/tr.json",
36
+ "type": "registry:lang",
37
+ "target": "$modules$/favorites-blog-page/lang/tr.json",
38
+ "content": "{\r\n \"title\": \"Favorilerim\",\r\n \"noFavoritesYet\": \"Henüz Favori Yok\",\r\n \"noFavoritesDescription\": \"Blog yazılarımıza göz atın ve kalp ikonuna tıklayarak favorilerinize ekleyin.\",\r\n \"browseBlog\": \"Bloga Göz At\",\r\n \"favoritesCount\": \"favori yazı\",\r\n \"clearAll\": \"Tümünü Temizle\"\r\n}\r\n"
39
+ }
40
+ ],
41
+ "exports": {
42
+ "types": [],
43
+ "variables": [
44
+ "FavoritesBlogPage",
45
+ "default"
46
+ ]
47
+ }
48
+ }
@@ -7,7 +7,7 @@
7
7
  "ecommerce-core",
8
8
  "product-card"
9
9
  ],
10
- "usage": "import { FavoritesEcommerceBlock } from '@/modules/favorites-ecommerce-block';\n\n<FavoritesEcommerceBlock />\n\n• Uses useFavorites() from ecommerce-core (Zustand)\n• Reads favorites directly from store\n• Empty state: \"No favorites yet\" with shop link",
10
+ "usage": "import { FavoritesEcommerceBlock } from '@/modules/favorites-ecommerce-block';\nimport type { Product } from '@/modules/ecommerce-core/types';\n\nconst favorites: Product[] = [...];\n\n<FavoritesEcommerceBlock\n favorites={favorites}\n onClearAll={() => clearFavorites()}\n/>\n\n• Receives favorites as prop (reusable block)\n• Optional onClearAll callback\n• Empty state: \"No favorites yet\" with shop link\n• Use favorites-ecommerce-page for full page with hooks",
11
11
  "files": [
12
12
  {
13
13
  "path": "favorites-ecommerce-block/index.ts",
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "favorites-ecommerce-page",
3
+ "type": "registry:page",
4
+ "title": "Favorites Ecommerce Page",
5
+ "description": "Product favorites page that displays user's favorite products with grid layout. Uses useFavorites hook from ecommerce-core for state management. Includes empty state, clear all functionality, and responsive product grid.",
6
+ "registryDependencies": [
7
+ "ecommerce-core",
8
+ "product-card"
9
+ ],
10
+ "usage": "import FavoritesEcommercePage from '@/modules/favorites-ecommerce-page';\n\n<Route path=\"/favorites\" element={<FavoritesEcommercePage />} />\n\n• Uses useFavorites() from ecommerce-core\n• Shows empty state when no favorites\n• Grid layout with ProductCard components",
11
+ "route": {
12
+ "path": "/favorites",
13
+ "componentName": "FavoritesEcommercePage"
14
+ },
15
+ "files": [
16
+ {
17
+ "path": "favorites-ecommerce-page/index.ts",
18
+ "type": "registry:index",
19
+ "target": "$modules$/favorites-ecommerce-page/index.ts",
20
+ "content": "export * from './favorites-ecommerce-page';\r\nexport { FavoritesEcommercePage as default } from './favorites-ecommerce-page';\r\n"
21
+ },
22
+ {
23
+ "path": "favorites-ecommerce-page/favorites-ecommerce-page.tsx",
24
+ "type": "registry:page",
25
+ "target": "$modules$/favorites-ecommerce-page/favorites-ecommerce-page.tsx",
26
+ "content": "import { Link } from \"react-router\";\r\nimport { Heart, ShoppingBag } from \"lucide-react\";\r\nimport { Button } from \"@/components/ui/button\";\r\nimport { Layout } from \"@/components/Layout\";\r\nimport { ProductCard } from \"@/modules/product-card/product-card\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useFavorites } from \"@/modules/ecommerce-core\";\r\nimport { usePageTitle } from \"@/hooks/use-page-title\";\r\n\r\nexport function FavoritesEcommercePage() {\r\n const { t } = useTranslation(\"favorites-ecommerce-page\");\r\n const { favorites, clearFavorites } = useFavorites();\r\n usePageTitle({ title: t(\"title\", \"My Favorites\") });\r\n\r\n // Empty State\r\n if (favorites.length === 0) {\r\n return (\r\n <Layout>\r\n <div className=\"min-h-screen bg-muted/30 py-12\">\r\n <div className=\"w-full max-w-[var(--container-max-width)] mx-auto px-4\">\r\n <div className=\"text-center max-w-md mx-auto\">\r\n <Heart className=\"w-16 h-16 text-muted-foreground mx-auto mb-6\" />\r\n <h1 className=\"text-3xl font-bold text-foreground mb-4\">\r\n {t(\"noFavoritesYet\", \"No Favorites Yet\")}\r\n </h1>\r\n <p className=\"text-muted-foreground mb-8\">\r\n {t(\r\n \"noFavoritesDescription\",\r\n \"Start browsing our products and add items to your favorites by clicking the heart icon.\"\r\n )}\r\n </p>\r\n <Button asChild size=\"lg\">\r\n <Link to=\"/products\">\r\n <ShoppingBag className=\"w-5 h-5 mr-2\" />\r\n {t(\"browseProducts\", \"Browse Products\")}\r\n </Link>\r\n </Button>\r\n </div>\r\n </div>\r\n </div>\r\n </Layout>\r\n );\r\n }\r\n\r\n // Favorites Grid\r\n return (\r\n <Layout>\r\n <div className=\"min-h-screen bg-muted/30 py-12\">\r\n <div className=\"w-full max-w-[var(--container-max-width)] mx-auto px-4\">\r\n {/* Header */}\r\n <div className=\"flex items-center justify-between mb-8\">\r\n <div>\r\n <h1 className=\"text-3xl font-bold text-foreground mb-2\">\r\n {t(\"title\", \"My Favorites\")}\r\n </h1>\r\n <p className=\"text-muted-foreground\">\r\n {favorites.length}{\" \"}\r\n {t(\r\n \"itemsInFavorites\",\r\n `item${favorites.length !== 1 ? \"s\" : \"\"} in your favorites`\r\n )}\r\n </p>\r\n </div>\r\n <Button variant=\"outline\" onClick={clearFavorites}>\r\n {t(\"clearAll\", \"Clear All\")}\r\n </Button>\r\n </div>\r\n\r\n {/* Products Grid */}\r\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6\">\r\n {favorites.map((product) => (\r\n <ProductCard key={product.id} product={product} variant=\"grid\" />\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n </Layout>\r\n );\r\n}\r\n\r\nexport default FavoritesEcommercePage;\r\n"
27
+ },
28
+ {
29
+ "path": "favorites-ecommerce-page/lang/en.json",
30
+ "type": "registry:lang",
31
+ "target": "$modules$/favorites-ecommerce-page/lang/en.json",
32
+ "content": "{\r\n \"title\": \"My Favorites\",\r\n \"noFavoritesYet\": \"No Favorites Yet\",\r\n \"noFavoritesDescription\": \"Start browsing our products and add items to your favorites by clicking the heart icon.\",\r\n \"browseProducts\": \"Browse Products\",\r\n \"itemsInFavorites\": \"items in your favorites\",\r\n \"clearAll\": \"Clear All\"\r\n}\r\n"
33
+ },
34
+ {
35
+ "path": "favorites-ecommerce-page/lang/tr.json",
36
+ "type": "registry:lang",
37
+ "target": "$modules$/favorites-ecommerce-page/lang/tr.json",
38
+ "content": "{\r\n \"title\": \"Favorilerim\",\r\n \"noFavoritesYet\": \"Henüz Favori Yok\",\r\n \"noFavoritesDescription\": \"Ürünlerimize göz atın ve kalp ikonuna tıklayarak favorilerinize ekleyin.\",\r\n \"browseProducts\": \"Ürünlere Göz At\",\r\n \"itemsInFavorites\": \"ürün favorilerinizde\",\r\n \"clearAll\": \"Tümünü Temizle\"\r\n}\r\n"
39
+ }
40
+ ],
41
+ "exports": {
42
+ "types": [],
43
+ "variables": [
44
+ "FavoritesEcommercePage",
45
+ "default"
46
+ ]
47
+ }
48
+ }
@@ -22,13 +22,13 @@
22
22
  "path": "feature-section/lang/en.json",
23
23
  "type": "registry:lang",
24
24
  "target": "$modules$/feature-section/lang/en.json",
25
- "content": "{\r\n \"heading\": \"Your Site Title Here\",\r\n \"description\": \"This is where your main site description will appear. Ask Promake to customize this content based on your specific goals and audience.\",\r\n \"feature1\": \"Key feature or benefit #1\",\r\n \"feature2\": \"Key feature or benefit #2\",\r\n \"feature3\": \"Key feature or benefit #3\",\r\n \"primaryButton\": \"Learn More\",\r\n \"secondaryButton\": \"Get Started\",\r\n \"imageAlt\": \"Site Preview\"\r\n}\r\n"
25
+ "content": "{\r\n \"heading\": \"Your Site Title Here\",\r\n \"description\": \"This is where your main site description will appear. Use Promake to personalize this content for your audience.\",\r\n \"feature1\": \"Key feature or benefit #1\",\r\n \"feature2\": \"Key feature or benefit #2\",\r\n \"feature3\": \"Key feature or benefit #3\",\r\n \"primaryButton\": \"Learn More\",\r\n \"secondaryButton\": \"Get Started\",\r\n \"imageAlt\": \"Site Preview\"\r\n}\r\n"
26
26
  },
27
27
  {
28
28
  "path": "feature-section/lang/tr.json",
29
29
  "type": "registry:lang",
30
30
  "target": "$modules$/feature-section/lang/tr.json",
31
- "content": "{\r\n \"heading\": \"Site Başlığınız\",\r\n \"description\": \"Ana site açıklamanız burada görünecek. AI, içeriklerinizi hedef kitlenize ve içeriğinize göre özelleştirecektir.\",\r\n \"feature1\": \"Anahtar özellik veya avantaj #1\",\r\n \"feature2\": \"Anahtar özellik veya avantaj #2\",\r\n \"feature3\": \"Anahtar özellik veya avantaj #3\",\r\n \"primaryButton\": \"Daha Fazla Öğren\",\r\n \"secondaryButton\": \"Başlayın\",\r\n \"imageAlt\": \"Site Önizlemesi\"\r\n}\r\n"
31
+ "content": "{\r\n \"heading\": \"Site Başlığınız\",\r\n \"description\": \"Ana site açıklamanız burada görünecek. Promake kullanarak içeriğinizi hedef kitlenize göre kişiselleştirin.\",\r\n \"feature1\": \"Anahtar özellik veya avantaj #1\",\r\n \"feature2\": \"Anahtar özellik veya avantaj #2\",\r\n \"feature3\": \"Anahtar özellik veya avantaj #3\",\r\n \"primaryButton\": \"Daha Fazla Öğren\",\r\n \"secondaryButton\": \"Başlayın\",\r\n \"imageAlt\": \"Site Önizlemesi\"\r\n}\r\n"
32
32
  }
33
33
  ],
34
34
  "exports": {
@@ -22,13 +22,13 @@
22
22
  "path": "footer/lang/en.json",
23
23
  "type": "registry:lang",
24
24
  "target": "$modules$/footer/lang/en.json",
25
- "content": "{\r\n \"description\": \"Ask Promake to customize this footer description based on your site's purpose and brand.\",\r\n \"quickLinks\": \"Quick Links\",\r\n \"about\": \"About\",\r\n \"contact\": \"Contact\",\r\n \"legal\": \"Legal\",\r\n \"privacy\": \"Privacy Policy\",\r\n \"terms\": \"Terms of Service\",\r\n \"cookies\": \"Cookie Policy\",\r\n \"contactTitle\": \"Contact\",\r\n \"allRightsReserved\": \"All rights reserved.\"\r\n}\r\n"
25
+ "content": "{\r\n \"description\": \"Let Promake personalize this footer description for your brand and purpose.\",\r\n \"quickLinks\": \"Quick Links\",\r\n \"about\": \"About\",\r\n \"contact\": \"Contact\",\r\n \"legal\": \"Legal\",\r\n \"privacy\": \"Privacy Policy\",\r\n \"terms\": \"Terms of Service\",\r\n \"cookies\": \"Cookie Policy\",\r\n \"contactTitle\": \"Contact\",\r\n \"allRightsReserved\": \"All rights reserved.\"\r\n}\r\n"
26
26
  },
27
27
  {
28
28
  "path": "footer/lang/tr.json",
29
29
  "type": "registry:lang",
30
30
  "target": "$modules$/footer/lang/tr.json",
31
- "content": "{\r\n \"description\": \"AI bu footer açıklamasını sitenizin amacı ve markasına göre özelleştirecektir.\",\r\n \"quickLinks\": \"Hızlı Bağlantılar\",\r\n \"about\": \"Hakkımızda\",\r\n \"contact\": \"İletişim\",\r\n \"legal\": \"Yasal\",\r\n \"privacy\": \"Gizlilik Politikası\",\r\n \"terms\": \"Kullanım Şartları\",\r\n \"cookies\": \"Çerez Politikası\",\r\n \"contactTitle\": \"İletişim\",\r\n \"allRightsReserved\": \"Tüm hakları saklıdır.\"\r\n}\r\n"
31
+ "content": "{\r\n \"description\": \"Promake ile bu footer açıklamasını markanız ve amacınız için kişiselleştirin.\",\r\n \"quickLinks\": \"Hızlı Bağlantılar\",\r\n \"about\": \"Hakkımızda\",\r\n \"contact\": \"İletişim\",\r\n \"legal\": \"Yasal\",\r\n \"privacy\": \"Gizlilik Politikası\",\r\n \"terms\": \"Kullanım Şartları\",\r\n \"cookies\": \"Çerez Politikası\",\r\n \"contactTitle\": \"İletişim\",\r\n \"allRightsReserved\": \"Tüm hakları saklıdır.\"\r\n}\r\n"
32
32
  }
33
33
  ],
34
34
  "exports": {