igiveup 0.1.0 → 0.1.2

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 (149) hide show
  1. package/README.md +100 -134
  2. package/bin/cli.js +26 -28
  3. package/dist/404.html +1 -1
  4. package/dist/__next.__PAGE__.txt +4 -4
  5. package/dist/__next._full.txt +21 -19
  6. package/dist/__next._head.txt +4 -4
  7. package/dist/__next._index.txt +7 -6
  8. package/dist/__next._tree.txt +4 -3
  9. package/dist/_next/static/chunks/10cafdb3ff8cde3d.js +1 -0
  10. package/dist/_next/static/chunks/{b18da497cd71639c.js → 22fc8eaca9ee64bc.js} +1 -1
  11. package/dist/_next/static/chunks/2660aa5f54185347.js +342 -0
  12. package/dist/_next/static/chunks/3900c8b574893467.js +2 -0
  13. package/dist/_next/static/chunks/51fc93af44d91b77.js +1 -0
  14. package/dist/_next/static/chunks/63d05db48d1b3476.js +1 -0
  15. package/dist/_next/static/chunks/6c19b4bfc6ff265c.css +1 -0
  16. package/dist/_next/static/chunks/7eb5861ee097b323.js +1 -0
  17. package/dist/_next/static/chunks/89319efd744d13b7.js +1 -0
  18. package/dist/_next/static/chunks/{c218146104a27e59.js → cc2bed07383b16df.js} +1 -1
  19. package/dist/_next/static/chunks/d4fd43ed181c3c14.js +13 -0
  20. package/dist/_next/static/chunks/d7e230cf85778001.js +4 -0
  21. package/dist/_next/static/chunks/f9ec689097ebc987.css +1 -0
  22. package/dist/_next/static/chunks/{turbopack-42182df38b37704b.js → turbopack-f1a2f377cb54786e.js} +1 -1
  23. package/dist/_next/static/media/00014e848e9c95b7-s.d3603743.woff2 +0 -0
  24. package/dist/_next/static/media/004f258d0f697418-s.f344da23.woff2 +0 -0
  25. package/dist/_next/static/media/0262ded5424bad8d-s.3234df93.woff2 +0 -0
  26. package/dist/_next/static/media/0481755b59c0d400-s.5359174b.woff2 +0 -0
  27. package/dist/_next/static/media/06be43540ab2bc8e-s.afd4e7b5.woff2 +0 -0
  28. package/dist/_next/static/media/0924b4f9801903fa-s.e4ec60ec.woff2 +0 -0
  29. package/dist/_next/static/media/0a907ae9cb0738dc-s.2ade8a59.woff2 +0 -0
  30. package/dist/_next/static/media/0de0b9b70e0c5c75-s.9455e08f.woff2 +0 -0
  31. package/dist/_next/static/media/0ebbd9c63ec5d991-s.81c2963d.woff2 +0 -0
  32. package/dist/_next/static/media/10e5706cd96c5c09-s.8aca4ca4.woff2 +0 -0
  33. package/dist/_next/static/media/11e4380658480fc7-s.5ae240d7.woff2 +0 -0
  34. package/dist/_next/static/media/132c9044aec49244-s.0e791b05.woff2 +0 -0
  35. package/dist/_next/static/media/174346f0d0efda44-s.35ed1557.woff2 +0 -0
  36. package/dist/_next/static/media/1adbfbcd49a895b3-s.479c81e3.woff2 +0 -0
  37. package/dist/_next/static/media/1ba5f184a07c212d-s.ae1f3a4e.woff2 +0 -0
  38. package/dist/_next/static/media/1f2a0338c1b94ec5-s.24996119.woff2 +0 -0
  39. package/dist/_next/static/media/1f416efc35ef14e1-s.47c7917f.woff2 +0 -0
  40. package/dist/_next/static/media/1f5e72047766afb5-s.d7e6fac7.woff2 +0 -0
  41. package/dist/_next/static/media/25aca0f82a861946-s.9c51b364.woff2 +0 -0
  42. package/dist/_next/static/media/29c1bd25fe068aca-s.c00bd2bd.woff2 +0 -0
  43. package/dist/_next/static/media/2a95a63198c96fdb-s.9acda241.woff2 +0 -0
  44. package/dist/_next/static/media/32cc90dfa31e1e6d-s.a74664c0.woff2 +0 -0
  45. package/dist/_next/static/media/3b352ddd20b99253-s.5bff2508.woff2 +0 -0
  46. package/dist/_next/static/media/3b46bc029424e5c7-s.bd4d34bf.woff2 +0 -0
  47. package/dist/_next/static/media/3e89a536a849f456-s.9e1be6d2.woff2 +0 -0
  48. package/dist/_next/static/media/425302cee2d83426-s.d1d73ee4.woff2 +0 -0
  49. package/dist/_next/static/media/44713c84af92323f-s.145e6359.woff2 +0 -0
  50. package/dist/_next/static/media/487daf28e0ea8cee-s.27080888.woff2 +0 -0
  51. package/dist/_next/static/media/4a30c6d3c6b046b2-s.ead271e0.woff2 +0 -0
  52. package/dist/_next/static/media/4c4374b4f4fdec9e-s.218a137f.woff2 +0 -0
  53. package/dist/_next/static/media/4d40391e737054ed-s.9d94255a.woff2 +0 -0
  54. package/dist/_next/static/media/58a4dbc789192060-s.31c8ae1a.woff2 +0 -0
  55. package/dist/_next/static/media/597d03b254439578-s.1323d452.woff2 +0 -0
  56. package/dist/_next/static/media/5dabd6bccbaafa57-s.5aedae46.woff2 +0 -0
  57. package/dist/_next/static/media/5e2f6f0b802cfbdf-s.f4440eb7.woff2 +0 -0
  58. package/dist/_next/static/media/63825990b35916a6-s.c2325c77.woff2 +0 -0
  59. package/dist/_next/static/media/667c2a78cf80937f-s.7377bb29.woff2 +0 -0
  60. package/dist/_next/static/media/67da0c40a8bdba86-s.80df1f2f.woff2 +0 -0
  61. package/dist/_next/static/media/68c88a4880acb7f7-s.4a6bbe64.woff2 +0 -0
  62. package/dist/_next/static/media/6902b7f764f8d0a2-s.b78a77c2.woff2 +0 -0
  63. package/dist/_next/static/media/6b84c3d46053599f-s.fc503e19.woff2 +0 -0
  64. package/dist/_next/static/media/6b867f4692cc1c24-s.ec928ed3.woff2 +0 -0
  65. package/dist/_next/static/media/6bc37c1816c36115-s.54868a7c.woff2 +0 -0
  66. package/dist/_next/static/media/6c4747324ffb7ff6-s.a687e43f.woff2 +0 -0
  67. package/dist/_next/static/media/6d925f981f4b97d5-s.ad8174fa.woff2 +0 -0
  68. package/dist/_next/static/media/6e784326faefd94f-s.57b35f54.woff2 +0 -0
  69. package/dist/_next/static/media/6f063d2e3f5ed4b2-s.77058057.woff2 +0 -0
  70. package/dist/_next/static/media/737d13bbaa7a3560-s.b1f2cb20.woff2 +0 -0
  71. package/dist/_next/static/media/75e1c015194f1074-s.9a830731.woff2 +0 -0
  72. package/dist/_next/static/media/75e28cd10e93746b-s.b8c31981.woff2 +0 -0
  73. package/dist/_next/static/media/768d2384cfda099c-s.32e7e5e6.woff2 +0 -0
  74. package/dist/_next/static/media/77fbd8b27544ded4-s.ef83a7fe.woff2 +0 -0
  75. package/dist/_next/static/media/7aef9075d757d3c6-s.33f9c009.woff2 +0 -0
  76. package/dist/_next/static/media/7b6b92333187c5da-s.7c3d2a56.woff2 +0 -0
  77. package/dist/_next/static/media/7bbd1d6f5b5dbc91-s.4a8fe726.woff2 +0 -0
  78. package/dist/_next/static/media/7dc2d1927a47186e-s.85db3769.woff2 +0 -0
  79. package/dist/_next/static/media/801542a26b39d54e-s.6d23e25a.woff2 +0 -0
  80. package/dist/_next/static/media/835a033bc99a3004-s.530e1c0e.woff2 +0 -0
  81. package/dist/_next/static/media/87624f4b68a7ae18-s.8219b4bf.woff2 +0 -0
  82. package/dist/_next/static/media/89ec3f0752821d2a-s.5b472127.woff2 +0 -0
  83. package/dist/_next/static/media/8a8a45bc2be6e75f-s.ab5dd8b6.woff2 +0 -0
  84. package/dist/_next/static/media/8bb075a1b5cd2fb6-s.fae87df3.woff2 +0 -0
  85. package/dist/_next/static/media/8de34c732618a697-s.2c9fb109.woff2 +0 -0
  86. package/dist/_next/static/media/8dee343dfe44bd61-s.d7ab8266.woff2 +0 -0
  87. package/dist/_next/static/media/946daa5a3a89cfc5-s.93af40d3.woff2 +0 -0
  88. package/dist/_next/static/media/97f69eeaf40202c0-s.08e25883.woff2 +0 -0
  89. package/dist/_next/static/media/99c899fe62b2196e-s.aa168c88.woff2 +0 -0
  90. package/dist/_next/static/media/9c1659cbf1d78c40-s.3c005ee7.woff2 +0 -0
  91. package/dist/_next/static/media/a2d7248a844b869a-s.2fe99030.woff2 +0 -0
  92. package/dist/_next/static/media/a88ca424fba28a50-s.8f914b75.woff2 +0 -0
  93. package/dist/_next/static/media/a95445f9f9529239-s.0241ea71.woff2 +0 -0
  94. package/dist/_next/static/media/a99d8aa8d1d5d84a-s.c4f904fe.woff2 +0 -0
  95. package/dist/_next/static/media/adc4c24d849b7d22-s.6a6a4da8.woff2 +0 -0
  96. package/dist/_next/static/media/b2925ad35584ba70-s.518eab91.woff2 +0 -0
  97. package/dist/_next/static/media/b5c5a3aee3d68f14-s.e9880d5c.woff2 +0 -0
  98. package/dist/_next/static/media/b5dccbeb735a2e0f-s.14defd14.woff2 +0 -0
  99. package/dist/_next/static/media/b775ae14120f0c97-s.4abb72ee.woff2 +0 -0
  100. package/dist/_next/static/media/b95174f56d442c5d-s.4812a252.woff2 +0 -0
  101. package/dist/_next/static/media/c0aacfec2f1573c0-s.f492f708.woff2 +0 -0
  102. package/dist/_next/static/media/c4b0b4dcf0f22c7a-s.0cfafb9c.woff2 +0 -0
  103. package/dist/_next/static/media/c4e4a6761a279a26-s.cde1c1b1.woff2 +0 -0
  104. package/dist/_next/static/media/c8065fd4f164b3a5-s.bb74a635.woff2 +0 -0
  105. package/dist/_next/static/media/cd0ac912c441b9b4-s.959b6030.woff2 +0 -0
  106. package/dist/_next/static/media/d03debd6cf4b3362-s.5c0c5927.woff2 +0 -0
  107. package/dist/_next/static/media/d3f4c737e8dc0be9-s.12c160ef.woff2 +0 -0
  108. package/dist/_next/static/media/d95fa6e3c5a4cdd3-s.7ddf94b3.woff2 +0 -0
  109. package/dist/_next/static/media/e3a5d23087736f5c-s.9ad16c03.woff2 +0 -0
  110. package/dist/_next/static/media/e3ef056ddd3a2ac5-s.1552ef47.woff2 +0 -0
  111. package/dist/_next/static/media/e7faabac039536c0-s.8e35a3a3.woff2 +0 -0
  112. package/dist/_next/static/media/e87c8e66644fea0e-s.df5d4a03.woff2 +0 -0
  113. package/dist/_next/static/media/e9242943403695a8-s.1b7a452f.woff2 +0 -0
  114. package/dist/_next/static/media/f15b8acd20219e15-s.8c281e97.woff2 +0 -0
  115. package/dist/_next/static/media/f4214a50e6a13e82-s.a6a48d6d.woff2 +0 -0
  116. package/dist/_next/static/media/f4321b0b4a0dbceb-s.6e9655ce.woff2 +0 -0
  117. package/dist/_next/static/media/f65cb101f1fc3fec-s.5a396dcb.woff2 +0 -0
  118. package/dist/_next/static/media/f7ef87dd76e798bf-s.79cb5561.woff2 +0 -0
  119. package/dist/_next/static/media/f8536e6dafe9eb48-s.c050e0ac.woff2 +0 -0
  120. package/dist/_next/static/media/f8a93f6b396da90f-s.6a44a4b6.woff2 +0 -0
  121. package/dist/_next/static/media/fa1c512a13c0dddb-s.9f3531ba.woff2 +0 -0
  122. package/dist/_next/static/media/fab1392add46a006-s.7eb29fd5.woff2 +0 -0
  123. package/dist/_next/static/media/fb4edce8a3cbfef3-s.p.fe3c897b.woff2 +0 -0
  124. package/dist/_next/static/media/fc82e7e9b0e3e420-s.8c166144.woff2 +0 -0
  125. package/dist/_next/static/media/fd4c56e2e3df4865-s.05650364.woff2 +0 -0
  126. package/dist/_next/static/media/ff968943fd53ca5d-s.d4c93737.woff2 +0 -0
  127. package/dist/_next/static/media/ffec6e4bb7681106-s.a24cdcb3.woff2 +0 -0
  128. package/dist/_not-found/__next._full.txt +16 -15
  129. package/dist/_not-found/__next._head.txt +4 -4
  130. package/dist/_not-found/__next._index.txt +7 -6
  131. package/dist/_not-found/__next._not-found.__PAGE__.txt +2 -2
  132. package/dist/_not-found/__next._not-found.txt +3 -3
  133. package/dist/_not-found/__next._tree.txt +3 -3
  134. package/dist/_not-found.html +1 -1
  135. package/dist/_not-found.txt +16 -15
  136. package/dist/index.html +1 -1
  137. package/dist/index.txt +21 -19
  138. package/package.json +14 -5
  139. package/dist/_next/static/chunks/41307292ab86fe39.js +0 -1
  140. package/dist/_next/static/chunks/7521cd4ba12a4d17.css +0 -1
  141. package/dist/_next/static/chunks/7f3a50588edd3e98.js +0 -1
  142. package/dist/_next/static/chunks/a43937f87dbafba4.js +0 -1
  143. package/dist/_next/static/chunks/b4a799ac963d5996.js +0 -323
  144. package/dist/_next/static/chunks/c24f9dcbcebdbbbc.js +0 -13
  145. package/dist/_next/static/chunks/d8c9b2a63125f582.js +0 -2
  146. package/dist/_next/static/chunks/d9468907c0fe03d2.js +0 -4
  147. /package/dist/_next/static/{Btx0p5I4qNygUnI8kASLN → 49Oims7pQ1EZfR0IVDndf}/_buildManifest.js +0 -0
  148. /package/dist/_next/static/{Btx0p5I4qNygUnI8kASLN → 49Oims7pQ1EZfR0IVDndf}/_clientMiddlewareManifest.json +0 -0
  149. /package/dist/_next/static/{Btx0p5I4qNygUnI8kASLN → 49Oims7pQ1EZfR0IVDndf}/_ssgManifest.js +0 -0
package/README.md CHANGED
@@ -24,13 +24,28 @@ npx igiveup
24
24
  >
25
25
  > Options: `--port 8080` `--lang en`
26
26
 
27
+ ### Docker
28
+
29
+ ```bash
30
+ docker run -p 8080:8080 supra126/igiveup
31
+
32
+ # With API Key (optional)
33
+ docker run -p 8080:8080 -e GEMINI_API_KEY=your-api-key supra126/igiveup
34
+ ```
35
+
36
+ > Open http://localhost:8080
37
+
38
+ ### Railway
39
+
40
+ [![Deploy on Railway](https://railway.com/button.svg)](https://railway.com/deploy/i-give-up?referralCode=EnYHPz&utm_medium=integration&utm_source=template&utm_campaign=generic)
41
+
27
42
  ---
28
43
 
29
44
  ## Features
30
45
 
31
46
  ### Phase 1: Strategy Selection
32
47
 
33
- *The Grind Begins*
48
+ _The Grind Begins_
34
49
 
35
50
  - **Smart Product Analysis**: Upload product image, AI decodes visual features & brand semantics
36
51
  - **3 Strategy Routes**: Instantly generate 3 distinct marketing directions
@@ -39,17 +54,17 @@ npx igiveup
39
54
 
40
55
  ### Phase 2: Content Planning
41
56
 
42
- *Still Grinding*
57
+ _Still Grinding_
43
58
 
44
59
  #### Multi-Platform Sizes
45
60
 
46
- | Size | Best For |
47
- |------|----------|
48
- | **1:1 Square** | FB posts, IG carousel, e-commerce |
49
- | **9:16 Vertical** | Stories, Reels, full-screen mobile |
50
- | **4:5 Portrait** | IG Feed, mobile-optimized |
51
- | **16:9 Landscape** | Covers, ad banners |
52
- | **1:1 Commercial** | Professional product photography |
61
+ | Size | Best For |
62
+ | ------------------ | ---------------------------------- |
63
+ | **1:1 Square** | FB posts, IG carousel, e-commerce |
64
+ | **9:16 Vertical** | Stories, Reels, full-screen mobile |
65
+ | **4:5 Portrait** | IG Feed, mobile-optimized |
66
+ | **16:9 Landscape** | Covers, ad banners |
67
+ | **1:1 Commercial** | Professional product photography |
53
68
 
54
69
  #### Content Planning
55
70
 
@@ -66,12 +81,13 @@ npx igiveup
66
81
 
67
82
  #### Prompt Mode & Reference Mode
68
83
 
69
- | Mode | Description |
70
- |------|-------------|
71
- | **Prompt** | Generate from AI visual prompts |
84
+ | Mode | Description |
85
+ | ------------- | ------------------------------------ |
86
+ | **Prompt** | Generate from AI visual prompts |
72
87
  | **Reference** | Upload reference, control similarity |
73
88
 
74
89
  **Similarity Levels:**
90
+
75
91
  - Low: Creative freedom (only color tone & mood)
76
92
  - Medium: Moderate reference (lighting & colors, flexible composition)
77
93
  - High: Close match (composition, layout, style)
@@ -88,15 +104,15 @@ npx igiveup
88
104
 
89
105
  ## Tech Stack
90
106
 
91
- | Category | Technology |
92
- |----------|------------|
93
- | Framework | Next.js 16 + React 19 + TypeScript |
94
- | AI Models | Google Gemini |
95
- | | `gemini-2.5-flash` (text analysis & content planning) |
96
- | | `gemini-3-pro-image-preview` (image generation) |
97
- | Styling | Tailwind CSS |
98
- | Fonts | Inter + Playfair Display (UI), Noto Sans TC (generated images) |
99
- | Auth | Cloudflare Zero Trust (optional) |
107
+ | Category | Technology |
108
+ | --------- | -------------------------------------------------------------- |
109
+ | Framework | Next.js 16 + React 19 + TypeScript |
110
+ | AI Models | Google Gemini |
111
+ | | `gemini-2.5-flash` (text analysis & content planning) |
112
+ | | `gemini-3-pro-image-preview` (image generation) |
113
+ | Styling | Tailwind CSS |
114
+ | Fonts | Inter + Playfair Display (UI), Noto Sans TC (generated images) |
115
+ | Auth | Cloudflare Zero Trust (optional) |
100
116
 
101
117
  ---
102
118
 
@@ -134,7 +150,7 @@ pnpm start
134
150
  # Static version (GitHub Pages, Cloudflare Pages, etc.)
135
151
  pnpm build:static
136
152
  pnpm start:static # Local test
137
- # Output: ./out
153
+ # Output: ./dist
138
154
  ```
139
155
 
140
156
  ### Environment Variables
@@ -164,13 +180,13 @@ CF_ACCESS_AUD=your-application-aud
164
180
 
165
181
  ### Server vs Static Build
166
182
 
167
- | Feature | Server | Static |
168
- |---------|--------|--------|
169
- | API Key | Server-side supported | User must provide |
170
- | Rate Limiting | Server-controlled | None |
171
- | Zero Trust | Supported | Not supported |
172
- | Deployment | Node.js server | Any static hosting |
173
- | Output | `.next/` | `out/` |
183
+ | Feature | Server | Static |
184
+ | ------------- | --------------------- | ------------------ |
185
+ | API Key | Server-side supported | User must provide |
186
+ | Rate Limiting | Server-controlled | None |
187
+ | Zero Trust | Supported | Not supported |
188
+ | Deployment | Node.js server | Any static hosting |
189
+ | Output | `.next/` | `dist/` |
174
190
 
175
191
  ---
176
192
 
@@ -205,57 +221,24 @@ CF_ACCESS_AUD=your-application-aud
205
221
 
206
222
  ---
207
223
 
208
- ## Project Structure
209
-
210
- ```
211
- IGiveUpOnLife/
212
- ├── app/ # Next.js App Router
213
- │ ├── actions/ # Server Actions
214
- │ │ └── gemini.ts # Gemini API calls
215
- │ ├── globals.css # Global styles
216
- │ ├── page.tsx # Main page
217
- │ └── layout.tsx # Root layout
218
- ├── components/ # React Components
219
- │ ├── ApiKeyModal.tsx # API Key settings
220
- │ ├── ContentSuite.tsx # Phase 2 content suite
221
- │ ├── GuideModal.tsx # User guide
222
- │ ├── ProductCard.tsx # Product card
223
- │ ├── PromptCard.tsx # Prompt card
224
- │ └── Spinner.tsx # Loading spinner
225
- ├── services/ # Service Layer
226
- │ ├── geminiService.ts # Unified entry (auto-detect build mode)
227
- │ └── geminiClient.ts # Static build client-side API
228
- ├── lib/ # Utilities
229
- │ ├── rate-limit.ts # Rate limiting
230
- │ ├── cloudflareAccess.ts # Cloudflare Zero Trust
231
- │ └── api-key-storage.ts # API Key storage
232
- ├── locales/ # i18n translations
233
- │ ├── en.json # English
234
- │ └── zh.json # Traditional Chinese
235
- ├── contexts/ # React Contexts
236
- │ └── LocaleContext.tsx # Locale provider
237
- ├── prompts.ts # AI prompt templates
238
- ├── types.ts # TypeScript types
239
- └── next.config.ts # Next.js config
240
- ```
241
-
242
- ---
243
-
244
224
  ## Why This Exists
245
225
 
246
226
  ### User Experience
227
+
247
228
  - Zero design skills needed
248
229
  - Fast response (~3 sec strategy)
249
230
  - Smooth UX with polished animations
250
231
  - Full control over AI-generated content
251
232
 
252
233
  ### Marketing Expertise
234
+
253
235
  - Brand consistency based on story & features
254
236
  - Competitor insights from reference copy
255
237
  - Multi-angle strategies (feature, emotion, data)
256
238
  - Multi-platform support in one go
257
239
 
258
240
  ### Technical Advantages
241
+
259
242
  - Cost-optimized - only generate what's needed
260
243
  - Flexible deployment - server or static
261
244
  - Enterprise-ready - Cloudflare Zero Trust integration
@@ -270,14 +253,14 @@ Don't want to work alone? Neither do we.
270
253
  - **Feature idea?** Let's discuss
271
254
  - **Want to code?** PRs welcome
272
255
 
273
- > *"I don't want to work hard, but I'll review your PR."* — The Maintainers
256
+ > _"I don't want to work hard, but I'll review your PR."_ — The Maintainers
274
257
 
275
258
  ---
276
259
 
277
260
  ## Authors
278
261
 
279
262
  | <a href="https://github.com/mag477"><img src="https://github.com/mag477.png" width="80" alt="mag477"/><br/><sub>@mag477</sub></a> | <a href="https://github.com/supra126"><img src="https://github.com/supra126.png" width="80" alt="supra126"/><br/><sub>@supra126</sub></a> |
280
- |:---:|:---:|
263
+ | :-------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------: |
281
264
 
282
265
  ---
283
266
 
@@ -317,7 +300,22 @@ npx igiveup
317
300
 
318
301
  > 一行指令啟動
319
302
  >
320
- > 選項: `--port 8080` `--lang en`
303
+ > 選項: `--port 8080` `--lang zh`
304
+
305
+ ### Docker
306
+
307
+ ```bash
308
+ docker run -p 8080:8080 supra126/igiveup
309
+
310
+ # 帶 API Key(可選)
311
+ docker run -p 8080:8080 -e GEMINI_API_KEY=your-api-key supra126/igiveup
312
+ ```
313
+
314
+ > 開啟 http://localhost:8080
315
+
316
+ ### Railway
317
+
318
+ [![Deploy on Railway](https://railway.com/button.svg)](https://railway.com/deploy/i-give-up?referralCode=EnYHPz&utm_medium=integration&utm_source=template&utm_campaign=generic)
321
319
 
322
320
  ---
323
321
 
@@ -325,7 +323,7 @@ npx igiveup
325
323
 
326
324
  ### 第一階段:視覺策略選擇
327
325
 
328
- *讓我努力步驟一*
326
+ _讓我努力步驟一_
329
327
 
330
328
  - **智能產品分析**:上傳產品圖片,AI 自動解讀視覺特徵與品牌語意
331
329
  - **三條策略路線**:即時生成 3 種截然不同的行銷策略方向
@@ -334,17 +332,17 @@ npx igiveup
334
332
 
335
333
  ### 第二階段:完整內容企劃
336
334
 
337
- *不努力步驟二*
335
+ _不努力步驟二_
338
336
 
339
337
  #### 多平台尺寸支援
340
338
 
341
- | 尺寸 | 適用場景 |
342
- |------|----------|
343
- | **1:1 方形圖** | FB 貼文、IG 輪播、電商主圖 |
339
+ | 尺寸 | 適用場景 |
340
+ | ----------------- | --------------------------- |
341
+ | **1:1 方形圖** | FB 貼文、IG 輪播、電商主圖 |
344
342
  | **9:16 直式長圖** | 限時動態、Reels、手機全螢幕 |
345
- | **4:5 直式圖** | IG Feed 主頁、優化手機瀏覽 |
346
- | **16:9 橫式長圖** | 封面、廣告圖片 |
347
- | **1:1 商業攝影** | 專業商品攝影風格 |
343
+ | **4:5 直式圖** | IG Feed 主頁、優化手機瀏覽 |
344
+ | **16:9 橫式長圖** | 封面、廣告圖片 |
345
+ | **1:1 商業攝影** | 專業商品攝影風格 |
348
346
 
349
347
  #### 內容企劃功能
350
348
 
@@ -361,12 +359,13 @@ npx igiveup
361
359
 
362
360
  #### 提詞版 & 參考版
363
361
 
364
- | 模式 | 說明 |
365
- |------|------|
362
+ | 模式 | 說明 |
363
+ | ---------- | ------------------------------ |
366
364
  | **提詞版** | 使用 AI 生成的視覺 Prompt 創作 |
367
- | **參考版** | 上傳參考圖片,控制相似度生成 |
365
+ | **參考版** | 上傳參考圖片,控制相似度生成 |
368
366
 
369
367
  **相似度控制:**
368
+
370
369
  - 低:創意自由(僅參考色調與氛圍)
371
370
  - 中:適度參考(光線與色彩,構圖彈性)
372
371
  - 高:高度相似(構圖、佈局、風格)
@@ -383,15 +382,15 @@ npx igiveup
383
382
 
384
383
  ## 技術棧
385
384
 
386
- | 類別 | 技術 |
387
- |------|------|
388
- | 框架 | Next.js 16 + React 19 + TypeScript |
389
- | AI 模型 | Google Gemini |
390
- | | `gemini-2.5-flash`(文字分析與內容規劃)|
391
- | | `gemini-3-pro-image-preview`(專業圖片生成)|
392
- | 樣式 | Tailwind CSS |
393
- | 字體 | Inter + Playfair Display(介面)、Noto Sans TC(生成圖片)|
394
- | 認證 | Cloudflare Zero Trust(選填)|
385
+ | 類別 | 技術 |
386
+ | ------- | ---------------------------------------------------------- |
387
+ | 框架 | Next.js 16 + React 19 + TypeScript |
388
+ | AI 模型 | Google Gemini |
389
+ | | `gemini-2.5-flash`(文字分析與內容規劃) |
390
+ | | `gemini-3-pro-image-preview`(專業圖片生成) |
391
+ | 樣式 | Tailwind CSS |
392
+ | 字體 | Inter + Playfair Display(介面)、Noto Sans TC(生成圖片) |
393
+ | 認證 | Cloudflare Zero Trust(選填) |
395
394
 
396
395
  ---
397
396
 
@@ -429,7 +428,7 @@ pnpm start
429
428
  # 靜態版(可部署到 GitHub Pages、Cloudflare Pages 等)
430
429
  pnpm build:static
431
430
  pnpm start:static # 本地測試
432
- # 輸出目錄: ./out
431
+ # 輸出目錄: ./dist
433
432
  ```
434
433
 
435
434
  ### 環境變數設定
@@ -459,13 +458,13 @@ CF_ACCESS_AUD=your-application-aud
459
458
 
460
459
  ### 伺服器版 vs 靜態版
461
460
 
462
- | 功能 | 伺服器版 | 靜態版 |
463
- |------|----------|--------|
464
- | API 金鑰 | 支援伺服器端 | 用戶必須提供 |
465
- | 速率限制 | 伺服器控制 | 無 |
466
- | Zero Trust | 支援 | 不支援 |
467
- | 部署方式 | Node.js 伺服器 | 任何靜態託管 |
468
- | 輸出目錄 | `.next/` | `out/` |
461
+ | 功能 | 伺服器版 | 靜態版 |
462
+ | ---------- | -------------- | ------------ |
463
+ | API 金鑰 | 支援伺服器端 | 用戶必須提供 |
464
+ | 速率限制 | 伺服器控制 | 無 |
465
+ | Zero Trust | 支援 | 不支援 |
466
+ | 部署方式 | Node.js 伺服器 | 任何靜態託管 |
467
+ | 輸出目錄 | `.next/` | `dist/` |
469
468
 
470
469
  ---
471
470
 
@@ -500,57 +499,24 @@ CF_ACCESS_AUD=your-application-aud
500
499
 
501
500
  ---
502
501
 
503
- ## 專案結構
504
-
505
- ```
506
- IGiveUpOnLife/
507
- ├── app/ # Next.js App Router
508
- │ ├── actions/ # Server Actions
509
- │ │ └── gemini.ts # Gemini API 呼叫
510
- │ ├── globals.css # 全域樣式
511
- │ ├── page.tsx # 主頁面
512
- │ └── layout.tsx # 根佈局
513
- ├── components/ # React 元件
514
- │ ├── ApiKeyModal.tsx # API Key 設定
515
- │ ├── ContentSuite.tsx # 第二階段內容套件
516
- │ ├── GuideModal.tsx # 使用指南
517
- │ ├── ProductCard.tsx # 產品卡片
518
- │ ├── PromptCard.tsx # 提示卡片
519
- │ └── Spinner.tsx # 載入動畫
520
- ├── services/ # 服務層
521
- │ ├── geminiService.ts # 統一入口(自動偵測建置模式)
522
- │ └── geminiClient.ts # 靜態版客戶端 API
523
- ├── lib/ # 工具函式
524
- │ ├── rate-limit.ts # 速率限制
525
- │ ├── cloudflareAccess.ts # Cloudflare Zero Trust
526
- │ └── api-key-storage.ts # API Key 儲存
527
- ├── locales/ # 多語系翻譯
528
- │ ├── en.json # 英文
529
- │ └── zh.json # 繁體中文
530
- ├── contexts/ # React Contexts
531
- │ └── LocaleContext.tsx # 語系提供者
532
- ├── prompts.ts # AI 提示模板
533
- ├── types.ts # TypeScript 類型
534
- └── next.config.ts # Next.js 設定
535
- ```
536
-
537
- ---
538
-
539
502
  ## 為什麼做這個
540
503
 
541
504
  ### 使用者體驗
505
+
542
506
  - 零設計門檻
543
507
  - 極速響應(約 3 秒完成策略分析)
544
508
  - 流暢體驗,精緻動畫
545
509
  - AI 生成內容完全可控
546
510
 
547
511
  ### 行銷專業
512
+
548
513
  - 基於品牌故事與特色的品牌一致性
549
514
  - 從參考文案獲得競品洞察
550
515
  - 多角度策略(功能、情感、數據)
551
516
  - 一次支援多平台
552
517
 
553
518
  ### 技術優勢
519
+
554
520
  - 成本優化 - 只生成需要的內容
555
521
  - 彈性部署 - 伺服器或靜態皆可
556
522
  - 企業整合 - Cloudflare Zero Trust 支援
@@ -565,14 +531,14 @@ IGiveUpOnLife/
565
531
  - **功能建議?** 來討論看看
566
532
  - **想寫程式?** 歡迎 PR
567
533
 
568
- > *「我不想努力了,但我會 review 你的 PR。」* — 維護者們
534
+ > _「我不想努力了,但我會 review 你的 PR。」_ — 維護者們
569
535
 
570
536
  ---
571
537
 
572
538
  ## 作者
573
539
 
574
540
  | <a href="https://github.com/mag477"><img src="https://github.com/mag477.png" width="80" alt="mag477"/><br/><sub>@mag477</sub></a> | <a href="https://github.com/supra126"><img src="https://github.com/supra126.png" width="80" alt="supra126"/><br/><sub>@supra126</sub></a> |
575
- |:---:|:---:|
541
+ | :-------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------: |
576
542
 
577
543
  ---
578
544
 
package/bin/cli.js CHANGED
@@ -225,39 +225,37 @@ function openBrowser(url) {
225
225
  }
226
226
  }
227
227
 
228
+ // ANSI color codes
229
+ const colors = {
230
+ reset: "\x1b[0m",
231
+ cyan: "\x1b[36m",
232
+ green: "\x1b[32m",
233
+ yellow: "\x1b[33m",
234
+ dim: "\x1b[2m",
235
+ bold: "\x1b[1m",
236
+ };
237
+
228
238
  // 啟動伺服器
229
239
  server.listen(port, () => {
230
240
  const url = `http://localhost:${port}`;
231
-
232
- // Dynamic width based on content
233
- const line1 = `🎨 ${t.title}`;
234
- const line2 = `${t.serverStarted}: ${url}`;
235
- const line3 = `📝 ${t.instructions}:`;
236
- const line4 = `1. ${t.step1}`;
237
- const line5 = `2. ${t.step2}`;
238
- const line6 = `3. ${t.step3}`;
239
- const line7 = `🔑 ${t.getApiKey}:`;
240
- const line8 = `https://aistudio.google.com/app/apikey`;
241
- const line9 = t.pressCtrlC;
241
+ const separator = "━".repeat(45);
242
242
 
243
243
  console.log(`
244
- ╔════════════════════════════════════════════════════════════╗
245
- ║ ║
246
- ║ ${line1.padEnd(55)}║
247
- ║ ║
248
- ║ ${line2.padEnd(55)}║
249
- ║ ║
250
- ${line3.padEnd(55)}
251
- ${line4.padEnd(55)}
252
- ${line5.padEnd(55)}
253
- ║ ${line6.padEnd(55)}║
254
- ║ ║
255
- ${line7.padEnd(55)}
256
- ║ ${line8.padEnd(55)}║
257
- ║ ║
258
- ${line9.padEnd(55)}
259
- ║ ║
260
- ╚════════════════════════════════════════════════════════════╝
244
+ ${colors.cyan}${colors.bold}🎨 ${t.title}${colors.reset}
245
+ ${colors.dim}${separator}${colors.reset}
246
+
247
+ ${colors.green}✓${colors.reset} ${t.serverStarted}: ${colors.cyan}${url}${colors.reset}
248
+
249
+ ${colors.yellow}📝 ${t.instructions}:${colors.reset}
250
+ 1. ${t.step1}
251
+ 2. ${t.step2}
252
+ 3. ${t.step3}
253
+
254
+ ${colors.yellow}🔑 ${t.getApiKey}:${colors.reset}
255
+ ${colors.dim}https://aistudio.google.com/app/apikey${colors.reset}
256
+
257
+ ${colors.dim}${separator}${colors.reset}
258
+ ${colors.dim}${t.pressCtrlC}${colors.reset}
261
259
  `);
262
260
 
263
261
  // 自動開啟瀏覽器
package/dist/404.html CHANGED
@@ -1 +1 @@
1
- <!DOCTYPE html><!--Btx0p5I4qNygUnI8kASLN--><html lang="zh-TW"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/7521cd4ba12a4d17.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/41307292ab86fe39.js"/><script src="/_next/static/chunks/d8c9b2a63125f582.js" async=""></script><script src="/_next/static/chunks/d9468907c0fe03d2.js" async=""></script><script src="/_next/static/chunks/turbopack-42182df38b37704b.js" async=""></script><script src="/_next/static/chunks/c218146104a27e59.js" async=""></script><script src="/_next/static/chunks/b18da497cd71639c.js" async=""></script><script src="/_next/static/chunks/a43937f87dbafba4.js" async=""></script><link rel="preload" href="https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;700;900&amp;display=swap" as="style"/><meta name="robots" content="noindex"/><title>不想努力了 I Give Up</title><meta name="description" content="AI 驅動的產品行銷內容設計工具"/><link rel="icon" href="/icon?140e72a8a8e48b2f" type="image/png" sizes="32x32"/><link rel="apple-touch-icon" href="/apple-icon?e7fde030fe27eb68" type="image/png" sizes="180x180"/><link href="https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;700;900&amp;display=swap" rel="stylesheet"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="bg-dynamic"><div class="bg-grid"></div><div class="bg-glow"></div></div><script src="/_next/static/chunks/41307292ab86fe39.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[29712,[\"/_next/static/chunks/c218146104a27e59.js\"],\"LocaleProvider\"]\n3:I[4342,[\"/_next/static/chunks/b18da497cd71639c.js\",\"/_next/static/chunks/a43937f87dbafba4.js\"],\"default\"]\n4:I[18580,[\"/_next/static/chunks/b18da497cd71639c.js\",\"/_next/static/chunks/a43937f87dbafba4.js\"],\"default\"]\n5:I[99706,[\"/_next/static/chunks/b18da497cd71639c.js\",\"/_next/static/chunks/a43937f87dbafba4.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n8:I[99706,[\"/_next/static/chunks/b18da497cd71639c.js\",\"/_next/static/chunks/a43937f87dbafba4.js\"],\"ViewportBoundary\"]\na:I[99706,[\"/_next/static/chunks/b18da497cd71639c.js\",\"/_next/static/chunks/a43937f87dbafba4.js\"],\"MetadataBoundary\"]\nc:I[576,[\"/_next/static/chunks/b18da497cd71639c.js\",\"/_next/static/chunks/a43937f87dbafba4.js\"],\"default\"]\n:HL[\"/_next/static/chunks/7521cd4ba12a4d17.css\",\"style\"]\n:HL[\"https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;700;900\u0026display=swap\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"Btx0p5I4qNygUnI8kASLN\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/7521cd4ba12a4d17.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/c218146104a27e59.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"zh-TW\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;700;900\u0026display=swap\",\"rel\":\"stylesheet\"}]}],[\"$\",\"body\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"bg-dynamic\",\"children\":[[\"$\",\"div\",null,{\"className\":\"bg-grid\"}],[\"$\",\"div\",null,{\"className\":\"bg-glow\"}]]}],[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$@9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$@b\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"d:I[1059,[\"/_next/static/chunks/b18da497cd71639c.js\",\"/_next/static/chunks/a43937f87dbafba4.js\"],\"IconMark\"]\nb:[[\"$\",\"title\",\"0\",{\"children\":\"不想努力了 I Give Up\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI 驅動的產品行銷內容設計工具\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/icon?140e72a8a8e48b2f\",\"alt\":\"$undefined\",\"type\":\"image/png\",\"sizes\":\"32x32\"}],[\"$\",\"link\",\"3\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon?e7fde030fe27eb68\",\"alt\":\"$undefined\",\"type\":\"image/png\",\"sizes\":\"180x180\"}],[\"$\",\"$Ld\",\"4\",{}]]\n7:null\n"])</script></body></html>
1
+ <!DOCTYPE html><!--49Oims7pQ1EZfR0IVDndf--><html lang="zh-TW" class="noto_sans_tc_a7549988-module__7yaLFW__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/f9ec689097ebc987.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/6c19b4bfc6ff265c.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/51fc93af44d91b77.js"/><script src="/_next/static/chunks/3900c8b574893467.js" async=""></script><script src="/_next/static/chunks/d7e230cf85778001.js" async=""></script><script src="/_next/static/chunks/turbopack-f1a2f377cb54786e.js" async=""></script><script src="/_next/static/chunks/cc2bed07383b16df.js" async=""></script><script src="/_next/static/chunks/22fc8eaca9ee64bc.js" async=""></script><script src="/_next/static/chunks/7eb5861ee097b323.js" async=""></script><script src="/_next/static/chunks/10cafdb3ff8cde3d.js" async=""></script><script src="/_next/static/chunks/63d05db48d1b3476.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>不想努力了 I Give Up</title><meta name="description" content="AI 驅動的產品行銷內容設計工具"/><link rel="icon" href="/icon?140e72a8a8e48b2f" type="image/png" sizes="32x32"/><link rel="apple-touch-icon" href="/apple-icon?e7fde030fe27eb68" type="image/png" sizes="180x180"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="noto_sans_tc_a7549988-module__7yaLFW__className"><div hidden=""><!--$--><!--/$--></div><div class="bg-dynamic"><div class="bg-grid"></div><div class="bg-glow"></div></div><script src="/_next/static/chunks/51fc93af44d91b77.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[29712,[\"/_next/static/chunks/cc2bed07383b16df.js\"],\"LocaleProvider\"]\n3:I[62447,[\"/_next/static/chunks/22fc8eaca9ee64bc.js\",\"/_next/static/chunks/7eb5861ee097b323.js\"],\"default\"]\n4:I[8821,[\"/_next/static/chunks/cc2bed07383b16df.js\",\"/_next/static/chunks/10cafdb3ff8cde3d.js\"],\"default\"]\n5:I[92699,[\"/_next/static/chunks/22fc8eaca9ee64bc.js\",\"/_next/static/chunks/7eb5861ee097b323.js\"],\"default\"]\n6:I[87625,[\"/_next/static/chunks/22fc8eaca9ee64bc.js\",\"/_next/static/chunks/7eb5861ee097b323.js\"],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\n9:I[87625,[\"/_next/static/chunks/22fc8eaca9ee64bc.js\",\"/_next/static/chunks/7eb5861ee097b323.js\"],\"ViewportBoundary\"]\nb:I[87625,[\"/_next/static/chunks/22fc8eaca9ee64bc.js\",\"/_next/static/chunks/7eb5861ee097b323.js\"],\"MetadataBoundary\"]\nd:I[53348,[\"/_next/static/chunks/63d05db48d1b3476.js\"],\"default\"]\n:HL[\"/_next/static/chunks/f9ec689097ebc987.css\",\"style\"]\n:HL[\"/_next/static/chunks/6c19b4bfc6ff265c.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"49Oims7pQ1EZfR0IVDndf\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/f9ec689097ebc987.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/6c19b4bfc6ff265c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/cc2bed07383b16df.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"zh-TW\",\"suppressHydrationWarning\":true,\"className\":\"noto_sans_tc_a7549988-module__7yaLFW__variable\",\"children\":[\"$\",\"body\",null,{\"className\":\"noto_sans_tc_a7549988-module__7yaLFW__className\",\"children\":[[\"$\",\"div\",null,{\"className\":\"bg-dynamic\",\"children\":[[\"$\",\"div\",null,{\"className\":\"bg-grid\"}],[\"$\",\"div\",null,{\"className\":\"bg-glow\"}]]}],[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$4\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/10cafdb3ff8cde3d.js\",\"async\":true}]],\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$@a\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$@c\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[65893,[\"/_next/static/chunks/22fc8eaca9ee64bc.js\",\"/_next/static/chunks/7eb5861ee097b323.js\"],\"IconMark\"]\nc:[[\"$\",\"title\",\"0\",{\"children\":\"不想努力了 I Give Up\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI 驅動的產品行銷內容設計工具\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/icon?140e72a8a8e48b2f\",\"alt\":\"$undefined\",\"type\":\"image/png\",\"sizes\":\"32x32\"}],[\"$\",\"link\",\"3\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon?e7fde030fe27eb68\",\"alt\":\"$undefined\",\"type\":\"image/png\",\"sizes\":\"180x180\"}],[\"$\",\"$Le\",\"4\",{}]]\n8:null\n"])</script></body></html>
@@ -1,9 +1,9 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[71887,["/_next/static/chunks/b18da497cd71639c.js","/_next/static/chunks/a43937f87dbafba4.js"],"ClientPageRoot"]
3
- 3:I[31713,["/_next/static/chunks/c218146104a27e59.js","/_next/static/chunks/7f3a50588edd3e98.js","/_next/static/chunks/c24f9dcbcebdbbbc.js"],"default"]
4
- 6:I[99706,["/_next/static/chunks/b18da497cd71639c.js","/_next/static/chunks/a43937f87dbafba4.js"],"OutletBoundary"]
2
+ 2:I[72479,["/_next/static/chunks/22fc8eaca9ee64bc.js","/_next/static/chunks/7eb5861ee097b323.js"],"ClientPageRoot"]
3
+ 3:I[31713,["/_next/static/chunks/cc2bed07383b16df.js","/_next/static/chunks/89319efd744d13b7.js","/_next/static/chunks/d4fd43ed181c3c14.js"],"default"]
4
+ 6:I[87625,["/_next/static/chunks/22fc8eaca9ee64bc.js","/_next/static/chunks/7eb5861ee097b323.js"],"OutletBoundary"]
5
5
  7:"$Sreact.suspense"
6
- 0:{"buildId":"Btx0p5I4qNygUnI8kASLN","rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/7f3a50588edd3e98.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/c24f9dcbcebdbbbc.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"loading":null,"isPartial":false}
6
+ 0:{"buildId":"49Oims7pQ1EZfR0IVDndf","rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/89319efd744d13b7.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/d4fd43ed181c3c14.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"loading":null,"isPartial":false}
7
7
  4:{}
8
8
  5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
9
9
  8:null
@@ -1,20 +1,22 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[29712,["/_next/static/chunks/c218146104a27e59.js"],"LocaleProvider"]
3
- 3:I[4342,["/_next/static/chunks/b18da497cd71639c.js","/_next/static/chunks/a43937f87dbafba4.js"],"default"]
4
- 4:I[18580,["/_next/static/chunks/b18da497cd71639c.js","/_next/static/chunks/a43937f87dbafba4.js"],"default"]
5
- 5:I[71887,["/_next/static/chunks/b18da497cd71639c.js","/_next/static/chunks/a43937f87dbafba4.js"],"ClientPageRoot"]
6
- 6:I[31713,["/_next/static/chunks/c218146104a27e59.js","/_next/static/chunks/7f3a50588edd3e98.js","/_next/static/chunks/c24f9dcbcebdbbbc.js"],"default"]
7
- 9:I[99706,["/_next/static/chunks/b18da497cd71639c.js","/_next/static/chunks/a43937f87dbafba4.js"],"OutletBoundary"]
8
- a:"$Sreact.suspense"
9
- c:I[99706,["/_next/static/chunks/b18da497cd71639c.js","/_next/static/chunks/a43937f87dbafba4.js"],"ViewportBoundary"]
10
- e:I[99706,["/_next/static/chunks/b18da497cd71639c.js","/_next/static/chunks/a43937f87dbafba4.js"],"MetadataBoundary"]
11
- 10:I[576,[],"default"]
12
- :HL["/_next/static/chunks/7521cd4ba12a4d17.css","style"]
13
- :HL["https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;700;900&display=swap","style"]
14
- 0:{"P":null,"b":"Btx0p5I4qNygUnI8kASLN","c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/7521cd4ba12a4d17.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/c218146104a27e59.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"zh-TW","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;700;900&display=swap","rel":"stylesheet"}]}],["$","body",null,{"children":[["$","div",null,{"className":"bg-dynamic","children":[["$","div",null,{"className":"bg-grid"}],["$","div",null,{"className":"bg-glow"}]]}],["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@7","$@8"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/7f3a50588edd3e98.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/c24f9dcbcebdbbbc.js","async":true,"nonce":"$undefined"}]],["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],{},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$@d"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$a",null,{"name":"Next.Metadata","children":"$@f"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true}
15
- 7:{}
16
- 8:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params"
17
- d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
18
- 11:I[1059,["/_next/static/chunks/b18da497cd71639c.js","/_next/static/chunks/a43937f87dbafba4.js"],"IconMark"]
19
- f:[["$","title","0",{"children":"不想努力了 I Give Up"}],["$","meta","1",{"name":"description","content":"AI 驅動的產品行銷內容設計工具"}],["$","link","2",{"rel":"icon","href":"/icon?140e72a8a8e48b2f","alt":"$undefined","type":"image/png","sizes":"32x32"}],["$","link","3",{"rel":"apple-touch-icon","href":"/apple-icon?e7fde030fe27eb68","alt":"$undefined","type":"image/png","sizes":"180x180"}],["$","$L11","4",{}]]
20
- b:null
2
+ 2:I[29712,["/_next/static/chunks/cc2bed07383b16df.js"],"LocaleProvider"]
3
+ 3:I[62447,["/_next/static/chunks/22fc8eaca9ee64bc.js","/_next/static/chunks/7eb5861ee097b323.js"],"default"]
4
+ 4:I[8821,["/_next/static/chunks/cc2bed07383b16df.js","/_next/static/chunks/10cafdb3ff8cde3d.js"],"default"]
5
+ 5:I[92699,["/_next/static/chunks/22fc8eaca9ee64bc.js","/_next/static/chunks/7eb5861ee097b323.js"],"default"]
6
+ 6:I[72479,["/_next/static/chunks/22fc8eaca9ee64bc.js","/_next/static/chunks/7eb5861ee097b323.js"],"ClientPageRoot"]
7
+ 7:I[31713,["/_next/static/chunks/cc2bed07383b16df.js","/_next/static/chunks/89319efd744d13b7.js","/_next/static/chunks/d4fd43ed181c3c14.js"],"default"]
8
+ a:I[87625,["/_next/static/chunks/22fc8eaca9ee64bc.js","/_next/static/chunks/7eb5861ee097b323.js"],"OutletBoundary"]
9
+ b:"$Sreact.suspense"
10
+ d:I[87625,["/_next/static/chunks/22fc8eaca9ee64bc.js","/_next/static/chunks/7eb5861ee097b323.js"],"ViewportBoundary"]
11
+ f:I[87625,["/_next/static/chunks/22fc8eaca9ee64bc.js","/_next/static/chunks/7eb5861ee097b323.js"],"MetadataBoundary"]
12
+ 11:I[53348,["/_next/static/chunks/63d05db48d1b3476.js"],"default"]
13
+ :HL["/_next/static/chunks/f9ec689097ebc987.css","style"]
14
+ :HL["/_next/static/chunks/6c19b4bfc6ff265c.css","style"]
15
+ :HL["/_next/static/media/fb4edce8a3cbfef3-s.p.fe3c897b.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
16
+ 0:{"P":null,"b":"49Oims7pQ1EZfR0IVDndf","c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/f9ec689097ebc987.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/6c19b4bfc6ff265c.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/cc2bed07383b16df.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"zh-TW","suppressHydrationWarning":true,"className":"noto_sans_tc_a7549988-module__7yaLFW__variable","children":["$","body",null,{"className":"noto_sans_tc_a7549988-module__7yaLFW__className","children":[["$","div",null,{"className":"bg-dynamic","children":[["$","div",null,{"className":"bg-grid"}],["$","div",null,{"className":"bg-glow"}]]}],["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$4","errorStyles":[],"errorScripts":[["$","script","script-0",{"src":"/_next/static/chunks/10cafdb3ff8cde3d.js","async":true}]],"template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/89319efd744d13b7.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/d4fd43ed181c3c14.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$@e"}],["$","div",null,{"hidden":true,"children":["$","$Lf",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$@10"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$11",[]],"S":true}
17
+ 8:{}
18
+ 9:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params"
19
+ e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
20
+ 12:I[65893,["/_next/static/chunks/22fc8eaca9ee64bc.js","/_next/static/chunks/7eb5861ee097b323.js"],"IconMark"]
21
+ 10:[["$","title","0",{"children":"不想努力了 I Give Up"}],["$","meta","1",{"name":"description","content":"AI 驅動的產品行銷內容設計工具"}],["$","link","2",{"rel":"icon","href":"/icon?140e72a8a8e48b2f","alt":"$undefined","type":"image/png","sizes":"32x32"}],["$","link","3",{"rel":"apple-touch-icon","href":"/apple-icon?e7fde030fe27eb68","alt":"$undefined","type":"image/png","sizes":"180x180"}],["$","$L12","4",{}]]
22
+ c:null