shipscreens 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 (260) hide show
  1. package/README.md +0 -8
  2. package/bin/shipscreens.js +223 -28
  3. package/cli/assets/demo-screens/01.png +0 -0
  4. package/cli/assets/demo-screens/02.png +0 -0
  5. package/cli/assets/demo-screens/03.png +0 -0
  6. package/cli/assets/demo-screens/04.png +0 -0
  7. package/cli/commands/build.js +27 -27
  8. package/cli/schema.js +59 -20
  9. package/dist/app/assets/{AgentCli-8e28laT4.js → AgentCli-FWNCO1pb.js} +5 -5
  10. package/dist/app/assets/AgentCli-FWNCO1pb.js.map +1 -0
  11. package/dist/app/assets/App-yU7CFXCv.js +13 -0
  12. package/dist/app/assets/App-yU7CFXCv.js.map +1 -0
  13. package/dist/app/assets/{AppReviewAso-OLwc4Rw_.js → AppReviewAso-BYfaP1Lu.js} +3 -3
  14. package/dist/{assets/AppReviewAso-OLwc4Rw_.js.map → app/assets/AppReviewAso-BYfaP1Lu.js.map} +1 -1
  15. package/dist/app/assets/{Cancelled-BoeZQa1S.js → Cancelled-66ixTUrm.js} +2 -2
  16. package/dist/app/assets/{Cancelled-BoeZQa1S.js.map → Cancelled-66ixTUrm.js.map} +1 -1
  17. package/dist/app/assets/CliPreflightCard-D7utpFux.js +2 -0
  18. package/dist/app/assets/{CliPreflightCard-CxYyogdF.js.map → CliPreflightCard-D7utpFux.js.map} +1 -1
  19. package/dist/app/assets/CopyButton-CmVmSaYn.js +2 -0
  20. package/dist/app/assets/CopyButton-CmVmSaYn.js.map +1 -0
  21. package/dist/app/assets/{FastlaneScreenshots-CFT6IiRb.js → FastlaneScreenshots-CRMcetq-.js} +4 -4
  22. package/dist/{assets/FastlaneScreenshots-CFT6IiRb.js.map → app/assets/FastlaneScreenshots-CRMcetq-.js.map} +1 -1
  23. package/dist/app/assets/{FirstExport-B_UDacZm.js → FirstExport-C0WgL4Hl.js} +3 -3
  24. package/dist/{assets/FirstExport-B_UDacZm.js.map → app/assets/FirstExport-C0WgL4Hl.js.map} +1 -1
  25. package/dist/app/assets/{FivePanelFramework-C1z_xUbe.js → FivePanelFramework-BwCRmXIK.js} +3 -3
  26. package/dist/{assets/FivePanelFramework-C1z_xUbe.js.map → app/assets/FivePanelFramework-BwCRmXIK.js.map} +1 -1
  27. package/dist/app/assets/{ForgotPassword-ZQ8U3ejz.js → ForgotPassword-B9_si1tH.js} +2 -2
  28. package/dist/{assets/ForgotPassword-ZQ8U3ejz.js.map → app/assets/ForgotPassword-B9_si1tH.js.map} +1 -1
  29. package/dist/app/assets/Landing-s1ni1n-7.js +2 -0
  30. package/dist/app/assets/Landing-s1ni1n-7.js.map +1 -0
  31. package/dist/app/assets/{LanguageSwitcher-D93nCuuR.js → LanguageSwitcher-BD9N-dla.js} +2 -2
  32. package/dist/{assets/LanguageSwitcher-D93nCuuR.js.map → app/assets/LanguageSwitcher-BD9N-dla.js.map} +1 -1
  33. package/dist/app/assets/{Legal-Koe7vi6H.js → Legal-D3cAXQXw.js} +2 -2
  34. package/dist/app/assets/{Legal-Koe7vi6H.js.map → Legal-D3cAXQXw.js.map} +1 -1
  35. package/dist/app/assets/{NotFound-CfY31vMZ.js → NotFound-ClV-6RmP.js} +2 -2
  36. package/dist/app/assets/{NotFound-CfY31vMZ.js.map → NotFound-ClV-6RmP.js.map} +1 -1
  37. package/dist/app/assets/{Privacy-CaHf2UM7.js → Privacy-DfxgWwC3.js} +2 -2
  38. package/dist/{assets/Privacy-CaHf2UM7.js.map → app/assets/Privacy-DfxgWwC3.js.map} +1 -1
  39. package/dist/app/assets/{SignIn-Cyi2_-Mn.js → SignIn-ghQCKcPe.js} +2 -2
  40. package/dist/app/assets/{SignIn-Cyi2_-Mn.js.map → SignIn-ghQCKcPe.js.map} +1 -1
  41. package/dist/app/assets/{SignUp-C9QH5po_.js → SignUp-BKB87hd4.js} +2 -2
  42. package/dist/app/assets/{SignUp-C9QH5po_.js.map → SignUp-BKB87hd4.js.map} +1 -1
  43. package/dist/app/assets/SiteHeader-DxsqNPnt.js +2 -0
  44. package/dist/app/assets/SiteHeader-DxsqNPnt.js.map +1 -0
  45. package/dist/app/assets/{StickyMobileCta-uyWGVhdc.js → StickyMobileCta-C_x2pUIF.js} +2 -2
  46. package/dist/app/assets/{StickyMobileCta-uyWGVhdc.js.map → StickyMobileCta-C_x2pUIF.js.map} +1 -1
  47. package/dist/{assets/StoreAssetsPipeline-BJlnD3kD.js → app/assets/StoreAssetsPipeline-4hXRONUd.js} +3 -3
  48. package/dist/app/assets/{StoreAssetsPipeline-BJlnD3kD.js.map → StoreAssetsPipeline-4hXRONUd.js.map} +1 -1
  49. package/dist/app/assets/{Success-B7k7FvJj.js → Success-819qvzmp.js} +2 -2
  50. package/dist/app/assets/{Success-B7k7FvJj.js.map → Success-819qvzmp.js.map} +1 -1
  51. package/dist/app/assets/{Terms-DgJWOeUD.js → Terms-7k3nA4SU.js} +2 -2
  52. package/dist/app/assets/{Terms-DgJWOeUD.js.map → Terms-7k3nA4SU.js.map} +1 -1
  53. package/dist/app/assets/{ToolsIndex-xMPoFom9.js → ToolsIndex-CzrxymnM.js} +3 -3
  54. package/dist/{assets/ToolsIndex-xMPoFom9.js.map → app/assets/ToolsIndex-CzrxymnM.js.map} +1 -1
  55. package/dist/app/assets/{WorkloadCalculator-Bdt6qPR3.js → WorkloadCalculator-D2TuKS4B.js} +4 -4
  56. package/dist/app/assets/{WorkloadCalculator-Bdt6qPR3.js.map → WorkloadCalculator-D2TuKS4B.js.map} +1 -1
  57. package/dist/app/assets/{calculator-CWfp5Day.js → calculator-CiqKFdRp.js} +2 -2
  58. package/dist/app/assets/{calculator-CWfp5Day.js.map → calculator-CiqKFdRp.js.map} +1 -1
  59. package/dist/app/assets/chevron-down-_xIkRLaA.js +2 -0
  60. package/dist/app/assets/{chevron-down-DbSAem1L.js.map → chevron-down-_xIkRLaA.js.map} +1 -1
  61. package/dist/app/assets/{clipboard-copy-DgTgnK84.js → clipboard-copy-DCJioqIc.js} +2 -2
  62. package/dist/app/assets/{clipboard-copy-DgTgnK84.js.map → clipboard-copy-DCJioqIc.js.map} +1 -1
  63. package/dist/app/assets/{copy-C9t_FzCZ.js → copy-AQdWJCcs.js} +2 -2
  64. package/dist/app/assets/{copy-C9t_FzCZ.js.map → copy-AQdWJCcs.js.map} +1 -1
  65. package/dist/app/assets/{crop-B7IxIx6D.js → crop-DOMVp18h.js} +2 -2
  66. package/dist/app/assets/{crop-B7IxIx6D.js.map → crop-DOMVp18h.js.map} +1 -1
  67. package/dist/app/assets/{download-65Zuvgwm.js → download-D5RbyXDm.js} +2 -2
  68. package/dist/app/assets/{download-65Zuvgwm.js.map → download-D5RbyXDm.js.map} +1 -1
  69. package/dist/app/assets/{eye-ouNo8Nv5.js → eye-CLcZi_uk.js} +2 -2
  70. package/dist/{assets/eye-ouNo8Nv5.js.map → app/assets/eye-CLcZi_uk.js.map} +1 -1
  71. package/dist/app/assets/{grid-3x3-U1Nk_ppf.js → grid-3x3-AKmIrhzv.js} +2 -2
  72. package/dist/{assets/grid-3x3-U1Nk_ppf.js.map → app/assets/grid-3x3-AKmIrhzv.js.map} +1 -1
  73. package/dist/app/assets/hero/demo-25s-poster.jpg +0 -0
  74. package/dist/app/assets/hero/demo-25s.mp4 +0 -0
  75. package/dist/app/assets/hero/demo-25s.webm +0 -0
  76. package/dist/app/assets/hero/demo-poster.jpg +0 -0
  77. package/dist/app/assets/hero/demo.mp4 +0 -0
  78. package/dist/app/assets/hero/demo.webm +0 -0
  79. package/dist/{assets/index-B8Y8Y-Mi.js → app/assets/index-Bqv2NztY.js} +6 -6
  80. package/dist/app/assets/index-Bqv2NztY.js.map +1 -0
  81. package/dist/{assets/index-hyiQFYGv.css → app/assets/index-DGVMa-P7.css} +1 -1
  82. package/dist/app/assets/{layout-grid-X9Sgull2.js → layout-grid-CpGXUPMR.js} +2 -2
  83. package/dist/app/assets/{layout-grid-X9Sgull2.js.map → layout-grid-CpGXUPMR.js.map} +1 -1
  84. package/dist/app/assets/proof/output-01.png +0 -0
  85. package/dist/app/assets/proof/output-02.png +0 -0
  86. package/dist/app/assets/proof/output-03.png +0 -0
  87. package/dist/app/assets/proof/output-04.png +0 -0
  88. package/dist/app/assets/{rocket-BjOXauLe.js → rocket-IzRFv1aW.js} +2 -2
  89. package/dist/app/assets/{rocket-BjOXauLe.js.map → rocket-IzRFv1aW.js.map} +1 -1
  90. package/dist/app/assets/{shield-check-CFNhE_aD.js → shield-check-CngdN3zn.js} +2 -2
  91. package/dist/{assets/shield-check-CFNhE_aD.js.map → app/assets/shield-check-CngdN3zn.js.map} +1 -1
  92. package/dist/app/assets/{signIn-CVoSzqCz.js → signIn-Cn6FaQYi.js} +2 -2
  93. package/dist/{assets/signIn-CVoSzqCz.js.map → app/assets/signIn-Cn6FaQYi.js.map} +1 -1
  94. package/dist/app/assets/{smartphone-BcQB9gIh.js → smartphone-CpNG_Pfk.js} +2 -2
  95. package/dist/app/assets/{smartphone-BcQB9gIh.js.map → smartphone-CpNG_Pfk.js.map} +1 -1
  96. package/dist/app/assets/{terminal-CGhryJds.js → terminal-BbBESfoU.js} +2 -2
  97. package/dist/{assets/terminal-CGhryJds.js.map → app/assets/terminal-BbBESfoU.js.map} +1 -1
  98. package/dist/{assets/useAuth-lZZC20Tl.js → app/assets/useAuth-3WWZ3GCD.js} +2 -2
  99. package/dist/app/assets/{useAuth-lZZC20Tl.js.map → useAuth-3WWZ3GCD.js.map} +1 -1
  100. package/dist/app/index.html +2 -2
  101. package/dist/assets/{AgentCli-8e28laT4.js → AgentCli-FWNCO1pb.js} +5 -5
  102. package/dist/assets/AgentCli-FWNCO1pb.js.map +1 -0
  103. package/dist/assets/App-yU7CFXCv.js +13 -0
  104. package/dist/assets/App-yU7CFXCv.js.map +1 -0
  105. package/dist/assets/{AppReviewAso-OLwc4Rw_.js → AppReviewAso-BYfaP1Lu.js} +3 -3
  106. package/dist/{app/assets/AppReviewAso-OLwc4Rw_.js.map → assets/AppReviewAso-BYfaP1Lu.js.map} +1 -1
  107. package/dist/assets/{Cancelled-BoeZQa1S.js → Cancelled-66ixTUrm.js} +2 -2
  108. package/dist/assets/{Cancelled-BoeZQa1S.js.map → Cancelled-66ixTUrm.js.map} +1 -1
  109. package/dist/assets/CliPreflightCard-D7utpFux.js +2 -0
  110. package/dist/assets/{CliPreflightCard-CxYyogdF.js.map → CliPreflightCard-D7utpFux.js.map} +1 -1
  111. package/dist/assets/CopyButton-CmVmSaYn.js +2 -0
  112. package/dist/assets/CopyButton-CmVmSaYn.js.map +1 -0
  113. package/dist/assets/{FastlaneScreenshots-CFT6IiRb.js → FastlaneScreenshots-CRMcetq-.js} +4 -4
  114. package/dist/{app/assets/FastlaneScreenshots-CFT6IiRb.js.map → assets/FastlaneScreenshots-CRMcetq-.js.map} +1 -1
  115. package/dist/assets/{FirstExport-B_UDacZm.js → FirstExport-C0WgL4Hl.js} +3 -3
  116. package/dist/{app/assets/FirstExport-B_UDacZm.js.map → assets/FirstExport-C0WgL4Hl.js.map} +1 -1
  117. package/dist/assets/{FivePanelFramework-C1z_xUbe.js → FivePanelFramework-BwCRmXIK.js} +3 -3
  118. package/dist/{app/assets/FivePanelFramework-C1z_xUbe.js.map → assets/FivePanelFramework-BwCRmXIK.js.map} +1 -1
  119. package/dist/assets/{ForgotPassword-ZQ8U3ejz.js → ForgotPassword-B9_si1tH.js} +2 -2
  120. package/dist/{app/assets/ForgotPassword-ZQ8U3ejz.js.map → assets/ForgotPassword-B9_si1tH.js.map} +1 -1
  121. package/dist/assets/Landing-s1ni1n-7.js +2 -0
  122. package/dist/assets/Landing-s1ni1n-7.js.map +1 -0
  123. package/dist/assets/{LanguageSwitcher-D93nCuuR.js → LanguageSwitcher-BD9N-dla.js} +2 -2
  124. package/dist/{app/assets/LanguageSwitcher-D93nCuuR.js.map → assets/LanguageSwitcher-BD9N-dla.js.map} +1 -1
  125. package/dist/assets/{Legal-Koe7vi6H.js → Legal-D3cAXQXw.js} +2 -2
  126. package/dist/assets/{Legal-Koe7vi6H.js.map → Legal-D3cAXQXw.js.map} +1 -1
  127. package/dist/assets/{NotFound-CfY31vMZ.js → NotFound-ClV-6RmP.js} +2 -2
  128. package/dist/assets/{NotFound-CfY31vMZ.js.map → NotFound-ClV-6RmP.js.map} +1 -1
  129. package/dist/assets/{Privacy-CaHf2UM7.js → Privacy-DfxgWwC3.js} +2 -2
  130. package/dist/{app/assets/Privacy-CaHf2UM7.js.map → assets/Privacy-DfxgWwC3.js.map} +1 -1
  131. package/dist/assets/{SignIn-Cyi2_-Mn.js → SignIn-ghQCKcPe.js} +2 -2
  132. package/dist/assets/{SignIn-Cyi2_-Mn.js.map → SignIn-ghQCKcPe.js.map} +1 -1
  133. package/dist/assets/{SignUp-C9QH5po_.js → SignUp-BKB87hd4.js} +2 -2
  134. package/dist/assets/{SignUp-C9QH5po_.js.map → SignUp-BKB87hd4.js.map} +1 -1
  135. package/dist/assets/SiteHeader-DxsqNPnt.js +2 -0
  136. package/dist/assets/SiteHeader-DxsqNPnt.js.map +1 -0
  137. package/dist/assets/{StickyMobileCta-uyWGVhdc.js → StickyMobileCta-C_x2pUIF.js} +2 -2
  138. package/dist/assets/{StickyMobileCta-uyWGVhdc.js.map → StickyMobileCta-C_x2pUIF.js.map} +1 -1
  139. package/dist/{app/assets/StoreAssetsPipeline-BJlnD3kD.js → assets/StoreAssetsPipeline-4hXRONUd.js} +3 -3
  140. package/dist/assets/{StoreAssetsPipeline-BJlnD3kD.js.map → StoreAssetsPipeline-4hXRONUd.js.map} +1 -1
  141. package/dist/assets/{Success-B7k7FvJj.js → Success-819qvzmp.js} +2 -2
  142. package/dist/assets/{Success-B7k7FvJj.js.map → Success-819qvzmp.js.map} +1 -1
  143. package/dist/assets/{Terms-DgJWOeUD.js → Terms-7k3nA4SU.js} +2 -2
  144. package/dist/assets/{Terms-DgJWOeUD.js.map → Terms-7k3nA4SU.js.map} +1 -1
  145. package/dist/assets/{ToolsIndex-xMPoFom9.js → ToolsIndex-CzrxymnM.js} +3 -3
  146. package/dist/{app/assets/ToolsIndex-xMPoFom9.js.map → assets/ToolsIndex-CzrxymnM.js.map} +1 -1
  147. package/dist/assets/{WorkloadCalculator-Bdt6qPR3.js → WorkloadCalculator-D2TuKS4B.js} +4 -4
  148. package/dist/assets/{WorkloadCalculator-Bdt6qPR3.js.map → WorkloadCalculator-D2TuKS4B.js.map} +1 -1
  149. package/dist/assets/{calculator-CWfp5Day.js → calculator-CiqKFdRp.js} +2 -2
  150. package/dist/assets/{calculator-CWfp5Day.js.map → calculator-CiqKFdRp.js.map} +1 -1
  151. package/dist/assets/chevron-down-_xIkRLaA.js +2 -0
  152. package/dist/assets/{chevron-down-DbSAem1L.js.map → chevron-down-_xIkRLaA.js.map} +1 -1
  153. package/dist/assets/{clipboard-copy-DgTgnK84.js → clipboard-copy-DCJioqIc.js} +2 -2
  154. package/dist/assets/{clipboard-copy-DgTgnK84.js.map → clipboard-copy-DCJioqIc.js.map} +1 -1
  155. package/dist/assets/{copy-C9t_FzCZ.js → copy-AQdWJCcs.js} +2 -2
  156. package/dist/assets/{copy-C9t_FzCZ.js.map → copy-AQdWJCcs.js.map} +1 -1
  157. package/dist/assets/{crop-B7IxIx6D.js → crop-DOMVp18h.js} +2 -2
  158. package/dist/assets/{crop-B7IxIx6D.js.map → crop-DOMVp18h.js.map} +1 -1
  159. package/dist/assets/{download-65Zuvgwm.js → download-D5RbyXDm.js} +2 -2
  160. package/dist/assets/{download-65Zuvgwm.js.map → download-D5RbyXDm.js.map} +1 -1
  161. package/dist/assets/{eye-ouNo8Nv5.js → eye-CLcZi_uk.js} +2 -2
  162. package/dist/{app/assets/eye-ouNo8Nv5.js.map → assets/eye-CLcZi_uk.js.map} +1 -1
  163. package/dist/assets/{grid-3x3-U1Nk_ppf.js → grid-3x3-AKmIrhzv.js} +2 -2
  164. package/dist/{app/assets/grid-3x3-U1Nk_ppf.js.map → assets/grid-3x3-AKmIrhzv.js.map} +1 -1
  165. package/dist/assets/hero/demo-25s-poster.jpg +0 -0
  166. package/dist/assets/hero/demo-25s.mp4 +0 -0
  167. package/dist/assets/hero/demo-25s.webm +0 -0
  168. package/dist/assets/hero/demo-poster.jpg +0 -0
  169. package/dist/assets/hero/demo.mp4 +0 -0
  170. package/dist/assets/hero/demo.webm +0 -0
  171. package/dist/{app/assets/index-B8Y8Y-Mi.js → assets/index-Bqv2NztY.js} +6 -6
  172. package/dist/assets/index-Bqv2NztY.js.map +1 -0
  173. package/dist/{app/assets/index-hyiQFYGv.css → assets/index-DGVMa-P7.css} +1 -1
  174. package/dist/assets/{layout-grid-X9Sgull2.js → layout-grid-CpGXUPMR.js} +2 -2
  175. package/dist/assets/{layout-grid-X9Sgull2.js.map → layout-grid-CpGXUPMR.js.map} +1 -1
  176. package/dist/assets/proof/output-01.png +0 -0
  177. package/dist/assets/proof/output-02.png +0 -0
  178. package/dist/assets/proof/output-03.png +0 -0
  179. package/dist/assets/proof/output-04.png +0 -0
  180. package/dist/assets/{rocket-BjOXauLe.js → rocket-IzRFv1aW.js} +2 -2
  181. package/dist/assets/{rocket-BjOXauLe.js.map → rocket-IzRFv1aW.js.map} +1 -1
  182. package/dist/assets/{shield-check-CFNhE_aD.js → shield-check-CngdN3zn.js} +2 -2
  183. package/dist/{app/assets/shield-check-CFNhE_aD.js.map → assets/shield-check-CngdN3zn.js.map} +1 -1
  184. package/dist/assets/{signIn-CVoSzqCz.js → signIn-Cn6FaQYi.js} +2 -2
  185. package/dist/{app/assets/signIn-CVoSzqCz.js.map → assets/signIn-Cn6FaQYi.js.map} +1 -1
  186. package/dist/assets/{smartphone-BcQB9gIh.js → smartphone-CpNG_Pfk.js} +2 -2
  187. package/dist/assets/{smartphone-BcQB9gIh.js.map → smartphone-CpNG_Pfk.js.map} +1 -1
  188. package/dist/assets/{terminal-CGhryJds.js → terminal-BbBESfoU.js} +2 -2
  189. package/dist/{app/assets/terminal-CGhryJds.js.map → assets/terminal-BbBESfoU.js.map} +1 -1
  190. package/dist/{app/assets/useAuth-lZZC20Tl.js → assets/useAuth-3WWZ3GCD.js} +2 -2
  191. package/dist/assets/{useAuth-lZZC20Tl.js.map → useAuth-3WWZ3GCD.js.map} +1 -1
  192. package/dist/cancelled/index.html +2 -2
  193. package/dist/forgot-password/index.html +2 -2
  194. package/dist/index.html +2 -2
  195. package/dist/legal/index.html +2 -2
  196. package/dist/privacy/index.html +2 -2
  197. package/dist/signin/index.html +2 -2
  198. package/dist/signup/index.html +2 -2
  199. package/dist/sitemap.xml +0 -4
  200. package/dist/success/index.html +2 -2
  201. package/dist/terms/index.html +2 -2
  202. package/dist/tools/5-panel-screenshot-framework/index.html +2 -2
  203. package/dist/tools/agent-cli/index.html +2 -2
  204. package/dist/tools/app-review-aso/index.html +2 -2
  205. package/dist/tools/fastlane-screenshots/index.html +2 -2
  206. package/dist/tools/first-export/index.html +2 -2
  207. package/dist/tools/index.html +2 -2
  208. package/dist/tools/screenshot-workload-calculator/index.html +2 -2
  209. package/dist/tools/store-assets-pipeline/index.html +2 -2
  210. package/package.json +3 -3
  211. package/templates/agent/agent-prompt.txt +8 -0
  212. package/dist/app/assets/AgentCli-8e28laT4.js.map +0 -1
  213. package/dist/app/assets/App-DU0xew0e.js +0 -13
  214. package/dist/app/assets/App-DU0xew0e.js.map +0 -1
  215. package/dist/app/assets/CliPreflightCard-CxYyogdF.js +0 -2
  216. package/dist/app/assets/CopyButton-CGfuSJtU.js +0 -2
  217. package/dist/app/assets/CopyButton-CGfuSJtU.js.map +0 -1
  218. package/dist/app/assets/Landing-DAIP71DD.js +0 -2
  219. package/dist/app/assets/Landing-DAIP71DD.js.map +0 -1
  220. package/dist/app/assets/Pricing-BQwtFVbj.js +0 -2
  221. package/dist/app/assets/Pricing-BQwtFVbj.js.map +0 -1
  222. package/dist/app/assets/SiteHeader-Dj3gDOnR.js +0 -2
  223. package/dist/app/assets/SiteHeader-Dj3gDOnR.js.map +0 -1
  224. package/dist/app/assets/check-BWCiUZ-C.js +0 -2
  225. package/dist/app/assets/check-BWCiUZ-C.js.map +0 -1
  226. package/dist/app/assets/chevron-down-DbSAem1L.js +0 -2
  227. package/dist/app/assets/circle-check-CeakjiXC.js +0 -2
  228. package/dist/app/assets/circle-check-CeakjiXC.js.map +0 -1
  229. package/dist/app/assets/hero/cli-build-tree-15s.mp4 +0 -0
  230. package/dist/app/assets/hero/cli-build-tree-15s.webm +0 -0
  231. package/dist/app/assets/hero/cli-build-tree-25s.mp4 +0 -0
  232. package/dist/app/assets/hero/cli-build-tree-25s.webm +0 -0
  233. package/dist/app/assets/hero/cli-build-tree-poster.png +0 -0
  234. package/dist/app/assets/hero/demo.gif +0 -0
  235. package/dist/app/assets/index-B8Y8Y-Mi.js.map +0 -1
  236. package/dist/assets/AgentCli-8e28laT4.js.map +0 -1
  237. package/dist/assets/App-DU0xew0e.js +0 -13
  238. package/dist/assets/App-DU0xew0e.js.map +0 -1
  239. package/dist/assets/CliPreflightCard-CxYyogdF.js +0 -2
  240. package/dist/assets/CopyButton-CGfuSJtU.js +0 -2
  241. package/dist/assets/CopyButton-CGfuSJtU.js.map +0 -1
  242. package/dist/assets/Landing-DAIP71DD.js +0 -2
  243. package/dist/assets/Landing-DAIP71DD.js.map +0 -1
  244. package/dist/assets/Pricing-BQwtFVbj.js +0 -2
  245. package/dist/assets/Pricing-BQwtFVbj.js.map +0 -1
  246. package/dist/assets/SiteHeader-Dj3gDOnR.js +0 -2
  247. package/dist/assets/SiteHeader-Dj3gDOnR.js.map +0 -1
  248. package/dist/assets/check-BWCiUZ-C.js +0 -2
  249. package/dist/assets/check-BWCiUZ-C.js.map +0 -1
  250. package/dist/assets/chevron-down-DbSAem1L.js +0 -2
  251. package/dist/assets/circle-check-CeakjiXC.js +0 -2
  252. package/dist/assets/circle-check-CeakjiXC.js.map +0 -1
  253. package/dist/assets/hero/cli-build-tree-15s.mp4 +0 -0
  254. package/dist/assets/hero/cli-build-tree-15s.webm +0 -0
  255. package/dist/assets/hero/cli-build-tree-25s.mp4 +0 -0
  256. package/dist/assets/hero/cli-build-tree-25s.webm +0 -0
  257. package/dist/assets/hero/cli-build-tree-poster.png +0 -0
  258. package/dist/assets/hero/demo.gif +0 -0
  259. package/dist/assets/index-B8Y8Y-Mi.js.map +0 -1
  260. package/dist/pricing/index.html +0 -33
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SiteHeader-DxsqNPnt.js","sources":["../../node_modules/lucide-react/dist/esm/icons/menu.js","../../src/components/SiteHeader.jsx"],"sourcesContent":["/**\n * @license lucide-react v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M4 5h16\", key: \"1tepv9\" }],\n [\"path\", { d: \"M4 12h16\", key: \"1lakjw\" }],\n [\"path\", { d: \"M4 19h16\", key: \"1djgab\" }]\n];\nconst Menu = createLucideIcon(\"menu\", __iconNode);\n\nexport { __iconNode, Menu as default };\n//# sourceMappingURL=menu.js.map\n","import React, { useCallback, useRef, useState } from 'react';\nimport { Menu, X } from 'lucide-react';\nimport { useTranslation } from 'react-i18next';\nimport LanguageSwitcher from './LanguageSwitcher';\nimport useModalA11y from '../hooks/useModalA11y';\n\nconst XLink = ({ className }) => (\n <a\n href=\"https://x.com/shipscreenscom\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 rounded-md ${className}`}\n aria-label=\"ShipScreens on X (opens in new tab)\"\n >\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\">\n <path d=\"M20.5 3h-2.4L12 9.6 6.9 3H3l7.2 9.1L3.2 21h2.4L12 14l6.6 7h3.1l-7.7-9.5L20.5 3Z\" />\n </svg>\n </a>\n);\n\nconst SiteHeader = ({\n variant = 'dark',\n active = null, // 'tools' | 'app' | null\n logoHref = '/',\n toolsHref = '/tools/',\n openAppHref = '/app/',\n showTools = true,\n showOpenApp = true,\n showX = true,\n showLanguageSwitcher = true,\n languageSwitcherClassName = 'hidden sm:flex',\n onToolsClick,\n onOpenAppClick,\n primaryCta = null, // { href, label, onClick }\n}) => {\n const { t } = useTranslation();\n const isDark = variant === 'dark';\n const hasPrimaryCta = Boolean(primaryCta?.href && primaryCta?.label);\n const [mobileMenuOpen, setMobileMenuOpen] = useState(false);\n const mobileMenuPanelRef = useRef(null);\n const mobileMenuCloseRef = useRef(null);\n\n const closeMobileMenu = useCallback(() => setMobileMenuOpen(false), []);\n\n useModalA11y({\n isOpen: mobileMenuOpen,\n onClose: closeMobileMenu,\n panelRef: mobileMenuPanelRef,\n initialFocusRef: mobileMenuCloseRef,\n });\n\n const focusRing = isDark\n ? 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-400 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950 rounded-md'\n : 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-600 focus-visible:ring-offset-2 focus-visible:ring-offset-white rounded-md';\n const linkBase = isDark\n ? `text-sm text-slate-300 hover:text-white transition-colors ${focusRing}`\n : `text-sm text-slate-600 hover:text-slate-900 transition-colors ${focusRing}`;\n const linkActive = isDark ? 'text-white font-semibold' : 'text-slate-900 font-semibold';\n const linkClass = (id) => `${linkBase}${active === id ? ` ${linkActive}` : ''}`;\n\n const mobileMenuLinkBase = isDark\n ? `flex items-center justify-between px-3 py-2 rounded-lg border border-slate-800 bg-slate-950 text-sm text-slate-200 hover:bg-slate-900 transition ${focusRing}`\n : `flex items-center justify-between px-3 py-2 rounded-lg border border-slate-200 bg-white text-sm text-slate-800 hover:bg-slate-50 transition ${focusRing}`;\n const mobileMenuLinkActive = isDark ? 'border-blue-500 text-white' : 'border-blue-600 text-slate-900';\n const mobileMenuLinkClass = (id) => `${mobileMenuLinkBase}${active === id ? ` ${mobileMenuLinkActive}` : ''}`;\n\n const renderMobileMenu = () => {\n if (!mobileMenuOpen) return null;\n\n const menuBg = isDark ? 'bg-slate-900/70' : 'bg-slate-900/40';\n const panelBase = isDark ? 'bg-slate-950 border-slate-800 text-white' : 'bg-white border-slate-200 text-slate-800';\n const panelHeaderBorder = isDark ? 'border-slate-800' : 'border-slate-200';\n const closeButtonStyle = isDark\n ? `border-slate-800 text-slate-200 hover:bg-slate-900 ${focusRing}`\n : `border-slate-200 text-slate-600 hover:bg-slate-50 ${focusRing}`;\n\n const handleNav = (callback) => (event) => {\n callback?.(event);\n closeMobileMenu();\n };\n\n const menuLabel = t('common.menu', { defaultValue: 'Menu' });\n\n return (\n <div\n className={`fixed inset-0 z-[2200] ${menuBg} backdrop-blur-sm p-4 sm:hidden`}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={menuLabel}\n onMouseDown={(event) => {\n if (event.target === event.currentTarget) closeMobileMenu();\n }}\n >\n <div\n ref={mobileMenuPanelRef}\n id=\"shipscreens-mobile-menu\"\n className={`w-full max-w-sm ml-auto rounded-2xl shadow-2xl border overflow-hidden ${panelBase}`}\n >\n <div className={`flex items-center justify-between px-4 py-3 border-b ${panelHeaderBorder}`}>\n <div className=\"text-sm font-bold\">{menuLabel}</div>\n <button\n ref={mobileMenuCloseRef}\n type=\"button\"\n onClick={closeMobileMenu}\n className={`p-2 rounded-lg border transition ${closeButtonStyle}`}\n aria-label={t('common.close', { defaultValue: 'Close' })}\n title={t('common.close', { defaultValue: 'Close' })}\n >\n <X size={16} />\n </button>\n </div>\n\n <div className=\"p-4 space-y-3\">\n {showLanguageSwitcher && <LanguageSwitcher className=\"w-full justify-center\" />}\n\n <div className=\"space-y-2\">\n {showTools && (\n <a\n href={toolsHref}\n onClick={handleNav(onToolsClick)}\n className={mobileMenuLinkClass('tools')}\n aria-current={active === 'tools' ? 'page' : undefined}\n >\n <span>{t('landing.nav.tools')}</span>\n </a>\n )}\n\n {showOpenApp && (\n <a\n href={openAppHref}\n onClick={handleNav(onOpenAppClick)}\n className={mobileMenuLinkClass('app')}\n aria-current={active === 'app' ? 'page' : undefined}\n >\n <span>{t('landing.nav.openApp')}</span>\n </a>\n )}\n\n {showX && (\n <a\n href=\"https://x.com/shipscreenscom\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={mobileMenuLinkBase}\n >\n <span>X</span>\n </a>\n )}\n </div>\n\n {primaryCta?.href && primaryCta?.label && (\n <a\n href={primaryCta.href}\n onClick={handleNav(primaryCta.onClick)}\n className={`w-full inline-flex items-center justify-center px-4 py-2 rounded-lg font-semibold transition ${\n isDark ? 'bg-white text-slate-900 hover:scale-[1.02]' : 'bg-slate-900 text-white hover:bg-slate-800'\n } ${focusRing}`}\n >\n {primaryCta.label}\n </a>\n )}\n </div>\n </div>\n </div>\n );\n };\n\n const headerContent = isDark ? (\n <header className=\"max-w-6xl mx-auto px-4 py-4 sm:px-6 sm:py-6 flex items-center justify-between gap-4\">\n <a href={logoHref} className={`flex items-center gap-3 hover:opacity-90 transition-opacity ${focusRing}`}>\n <div className=\"w-10 h-10 rounded-xl border border-slate-800 bg-slate-950 p-1 flex items-center justify-center overflow-hidden shadow-sm\">\n <img\n src=\"/app/assets/icons/favicon-32x32.png\"\n alt=\"ShipScreens\"\n className=\"w-full h-full object-contain\"\n loading=\"lazy\"\n />\n </div>\n <span className=\"text-lg font-bold\">ShipScreens</span>\n </a>\n\n <div className=\"flex items-center gap-2 sm:gap-3\">\n {showLanguageSwitcher && <LanguageSwitcher className={languageSwitcherClassName} />}\n {showX && <XLink className=\"hidden sm:inline text-slate-300 hover:text-white transition-colors\" />}\n\n {showTools && (\n <a\n href={toolsHref}\n onClick={onToolsClick}\n className={`hidden sm:inline ${linkClass('tools')}`}\n aria-current={active === 'tools' ? 'page' : undefined}\n >\n {t('landing.nav.tools')}\n </a>\n )}\n\n {showOpenApp && (\n <a\n href={openAppHref}\n onClick={onOpenAppClick}\n className={`${hasPrimaryCta ? 'hidden sm:inline ' : ''}${linkClass('app')}`}\n aria-current={active === 'app' ? 'page' : undefined}\n >\n {t('landing.nav.openApp')}\n </a>\n )}\n\n {hasPrimaryCta && (\n <a\n href={primaryCta.href}\n onClick={primaryCta.onClick}\n className={`px-3 py-1.5 sm:px-4 sm:py-2 text-sm whitespace-nowrap rounded-lg bg-white text-slate-900 font-semibold hover:scale-[1.02] transition ${focusRing}`}\n >\n {primaryCta.label}\n </a>\n )}\n\n <button\n type=\"button\"\n onClick={() => setMobileMenuOpen(true)}\n className={`sm:hidden p-2 rounded-lg border border-slate-800 bg-slate-950 text-slate-200 hover:bg-slate-900 transition ${focusRing}`}\n aria-label={t('common.menu', { defaultValue: 'Menu' })}\n aria-controls=\"shipscreens-mobile-menu\"\n aria-expanded={mobileMenuOpen}\n >\n <Menu size={18} />\n </button>\n </div>\n </header>\n ) : (\n <header className=\"border-b border-slate-200 bg-white\">\n <div className=\"max-w-4xl mx-auto px-4 py-4 flex items-center justify-between gap-4\">\n <a href={logoHref} className={`flex items-center gap-3 hover:opacity-90 transition-opacity ${focusRing}`}>\n <div className=\"w-9 h-9 rounded-xl border border-slate-200 bg-white p-1 flex items-center justify-center overflow-hidden shadow-sm\">\n <img\n src=\"/app/assets/icons/favicon-32x32.png\"\n alt=\"ShipScreens\"\n className=\"w-full h-full object-contain\"\n loading=\"lazy\"\n />\n </div>\n <span className=\"font-bold text-slate-900\">ShipScreens</span>\n </a>\n\n <div className=\"flex items-center gap-3\">\n {showLanguageSwitcher && <LanguageSwitcher className={languageSwitcherClassName} />}\n {showX && <XLink className=\"hidden sm:inline text-slate-500 hover:text-slate-900 transition-colors\" />}\n\n {showTools && (\n <a\n href={toolsHref}\n onClick={onToolsClick}\n className={`hidden sm:inline ${linkClass('tools')}`}\n aria-current={active === 'tools' ? 'page' : undefined}\n >\n {t('landing.nav.tools')}\n </a>\n )}\n\n {showOpenApp && (\n <a\n href={openAppHref}\n onClick={onOpenAppClick}\n className={linkClass('app')}\n aria-current={active === 'app' ? 'page' : undefined}\n >\n {t('landing.nav.openApp')}\n </a>\n )}\n\n {primaryCta?.href && primaryCta?.label && (\n <a\n href={primaryCta.href}\n onClick={primaryCta.onClick}\n className={`px-4 py-2 rounded-lg bg-slate-900 text-white font-semibold hover:bg-slate-800 transition ${focusRing}`}\n >\n {primaryCta.label}\n </a>\n )}\n\n <button\n type=\"button\"\n onClick={() => setMobileMenuOpen(true)}\n className={`sm:hidden p-2 rounded-lg border border-slate-200 bg-white text-slate-700 hover:bg-slate-50 transition ${focusRing}`}\n aria-label={t('common.menu', { defaultValue: 'Menu' })}\n aria-controls=\"shipscreens-mobile-menu\"\n aria-expanded={mobileMenuOpen}\n >\n <Menu size={18} />\n </button>\n </div>\n </div>\n </header>\n );\n\n return (\n <>\n {headerContent}\n {renderMobileMenu()}\n </>\n );\n};\n\nexport default SiteHeader;\n"],"names":["__iconNode","Menu","createLucideIcon","XLink","className","jsx","SiteHeader","variant","active","logoHref","toolsHref","openAppHref","showTools","showOpenApp","showX","showLanguageSwitcher","languageSwitcherClassName","onToolsClick","onOpenAppClick","primaryCta","t","useTranslation","isDark","hasPrimaryCta","mobileMenuOpen","setMobileMenuOpen","useState","mobileMenuPanelRef","useRef","mobileMenuCloseRef","closeMobileMenu","useCallback","useModalA11y","focusRing","linkBase","linkActive","linkClass","id","mobileMenuLinkBase","mobileMenuLinkActive","mobileMenuLinkClass","renderMobileMenu","menuBg","panelBase","panelHeaderBorder","closeButtonStyle","handleNav","callback","event","menuLabel","jsxs","X","LanguageSwitcher","headerContent","Fragment"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{j as e}from"./index-B8Y8Y-Mi.js";const a=({primary:l,secondary:t,note:s})=>!l?.label||!l?.href?null:e.jsx("div",{className:"fixed inset-x-4 bottom-4 z-[1200] sm:hidden",style:{paddingBottom:"env(safe-area-inset-bottom)"},children:e.jsxs("div",{className:"rounded-2xl border border-slate-700 bg-slate-950/95 backdrop-blur p-3 shadow-xl shadow-slate-900/40",children:[s&&e.jsx("div",{className:"text-[10px] text-slate-400 mb-2",children:s}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("a",{href:l.href,onClick:l.onClick,className:"flex-1 inline-flex items-center justify-center gap-2 px-4 py-2 rounded-xl bg-blue-500 text-white text-sm font-semibold hover:bg-blue-600 transition",children:l.label}),t?.label&&t?.href&&e.jsx("a",{href:t.href,onClick:t.onClick,className:"flex-1 inline-flex items-center justify-center gap-2 px-4 py-2 rounded-xl border border-slate-700 bg-slate-950 text-slate-200 text-sm font-semibold hover:bg-slate-900 transition",children:t.label})]})]})});export{a as S};
2
- //# sourceMappingURL=StickyMobileCta-uyWGVhdc.js.map
1
+ import{j as e}from"./index-Bqv2NztY.js";const a=({primary:l,secondary:t,note:s})=>!l?.label||!l?.href?null:e.jsx("div",{className:"fixed inset-x-4 bottom-4 z-[1200] sm:hidden",style:{paddingBottom:"env(safe-area-inset-bottom)"},children:e.jsxs("div",{className:"rounded-2xl border border-slate-700 bg-slate-950/95 backdrop-blur p-3 shadow-xl shadow-slate-900/40",children:[s&&e.jsx("div",{className:"text-[10px] text-slate-400 mb-2",children:s}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("a",{href:l.href,onClick:l.onClick,className:"flex-1 inline-flex items-center justify-center gap-2 px-4 py-2 rounded-xl bg-blue-500 text-white text-sm font-semibold hover:bg-blue-600 transition",children:l.label}),t?.label&&t?.href&&e.jsx("a",{href:t.href,onClick:t.onClick,className:"flex-1 inline-flex items-center justify-center gap-2 px-4 py-2 rounded-xl border border-slate-700 bg-slate-950 text-slate-200 text-sm font-semibold hover:bg-slate-900 transition",children:t.label})]})]})});export{a as S};
2
+ //# sourceMappingURL=StickyMobileCta-C_x2pUIF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StickyMobileCta-uyWGVhdc.js","sources":["../../src/components/StickyMobileCta.jsx"],"sourcesContent":["import React from 'react';\n\nconst StickyMobileCta = ({ primary, secondary, note }) => {\n if (!primary?.label || !primary?.href) return null;\n\n return (\n <div\n className=\"fixed inset-x-4 bottom-4 z-[1200] sm:hidden\"\n style={{ paddingBottom: 'env(safe-area-inset-bottom)' }}\n >\n <div className=\"rounded-2xl border border-slate-700 bg-slate-950/95 backdrop-blur p-3 shadow-xl shadow-slate-900/40\">\n {note && <div className=\"text-[10px] text-slate-400 mb-2\">{note}</div>}\n <div className=\"flex gap-2\">\n <a\n href={primary.href}\n onClick={primary.onClick}\n className=\"flex-1 inline-flex items-center justify-center gap-2 px-4 py-2 rounded-xl bg-blue-500 text-white text-sm font-semibold hover:bg-blue-600 transition\"\n >\n {primary.label}\n </a>\n {secondary?.label && secondary?.href && (\n <a\n href={secondary.href}\n onClick={secondary.onClick}\n className=\"flex-1 inline-flex items-center justify-center gap-2 px-4 py-2 rounded-xl border border-slate-700 bg-slate-950 text-slate-200 text-sm font-semibold hover:bg-slate-900 transition\"\n >\n {secondary.label}\n </a>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default StickyMobileCta;\n"],"names":["StickyMobileCta","primary","secondary","note","jsx","jsxs"],"mappings":"wCAEA,MAAMA,EAAkB,CAAC,CAAE,QAAAC,EAAS,UAAAC,EAAW,KAAAC,KACzC,CAACF,GAAS,OAAS,CAACA,GAAS,KAAa,KAG5CG,EAAAA,IAAC,MAAA,CACC,UAAU,8CACV,MAAO,CAAE,cAAe,6BAAA,EAExB,SAAAC,EAAAA,KAAC,MAAA,CAAI,UAAU,sGACZ,SAAA,CAAAF,GAAQC,EAAAA,IAAC,MAAA,CAAI,UAAU,kCAAmC,SAAAD,EAAK,EAChEE,EAAAA,KAAC,MAAA,CAAI,UAAU,aACb,SAAA,CAAAD,EAAAA,IAAC,IAAA,CACC,KAAMH,EAAQ,KACd,QAASA,EAAQ,QACjB,UAAU,sJAET,SAAAA,EAAQ,KAAA,CAAA,EAEVC,GAAW,OAASA,GAAW,MAC9BE,EAAAA,IAAC,IAAA,CACC,KAAMF,EAAU,KAChB,QAASA,EAAU,QACnB,UAAU,oLAET,SAAAA,EAAU,KAAA,CAAA,CACb,CAAA,CAEJ,CAAA,CAAA,CACF,CAAA,CAAA"}
1
+ {"version":3,"file":"StickyMobileCta-C_x2pUIF.js","sources":["../../src/components/StickyMobileCta.jsx"],"sourcesContent":["import React from 'react';\n\nconst StickyMobileCta = ({ primary, secondary, note }) => {\n if (!primary?.label || !primary?.href) return null;\n\n return (\n <div\n className=\"fixed inset-x-4 bottom-4 z-[1200] sm:hidden\"\n style={{ paddingBottom: 'env(safe-area-inset-bottom)' }}\n >\n <div className=\"rounded-2xl border border-slate-700 bg-slate-950/95 backdrop-blur p-3 shadow-xl shadow-slate-900/40\">\n {note && <div className=\"text-[10px] text-slate-400 mb-2\">{note}</div>}\n <div className=\"flex gap-2\">\n <a\n href={primary.href}\n onClick={primary.onClick}\n className=\"flex-1 inline-flex items-center justify-center gap-2 px-4 py-2 rounded-xl bg-blue-500 text-white text-sm font-semibold hover:bg-blue-600 transition\"\n >\n {primary.label}\n </a>\n {secondary?.label && secondary?.href && (\n <a\n href={secondary.href}\n onClick={secondary.onClick}\n className=\"flex-1 inline-flex items-center justify-center gap-2 px-4 py-2 rounded-xl border border-slate-700 bg-slate-950 text-slate-200 text-sm font-semibold hover:bg-slate-900 transition\"\n >\n {secondary.label}\n </a>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default StickyMobileCta;\n"],"names":["StickyMobileCta","primary","secondary","note","jsx","jsxs"],"mappings":"wCAEA,MAAMA,EAAkB,CAAC,CAAE,QAAAC,EAAS,UAAAC,EAAW,KAAAC,KACzC,CAACF,GAAS,OAAS,CAACA,GAAS,KAAa,KAG5CG,EAAAA,IAAC,MAAA,CACC,UAAU,8CACV,MAAO,CAAE,cAAe,6BAAA,EAExB,SAAAC,EAAAA,KAAC,MAAA,CAAI,UAAU,sGACZ,SAAA,CAAAF,GAAQC,EAAAA,IAAC,MAAA,CAAI,UAAU,kCAAmC,SAAAD,EAAK,EAChEE,EAAAA,KAAC,MAAA,CAAI,UAAU,aACb,SAAA,CAAAD,EAAAA,IAAC,IAAA,CACC,KAAMH,EAAQ,KACd,QAASA,EAAQ,QACjB,UAAU,sJAET,SAAAA,EAAQ,KAAA,CAAA,EAEVC,GAAW,OAASA,GAAW,MAC9BE,EAAAA,IAAC,IAAA,CACC,KAAMF,EAAU,KAChB,QAASA,EAAU,QACnB,UAAU,oLAET,SAAAA,EAAU,KAAA,CAAA,CACb,CAAA,CAEJ,CAAA,CAAA,CACF,CAAA,CAAA"}
@@ -1,4 +1,4 @@
1
- import{u as L,r as A,t as o,j as e,b as a}from"./index-B8Y8Y-Mi.js";import{A as r,C as h}from"./CopyButton-CGfuSJtU.js";import{C as I}from"./CliPreflightCard-CxYyogdF.js";import{c as U,a as z,S as B}from"./LanguageSwitcher-D93nCuuR.js";import{S as H}from"./StickyMobileCta-uyWGVhdc.js";import{S as O}from"./SiteHeader-Dj3gDOnR.js";import{G as u}from"./grid-3x3-U1Nk_ppf.js";import{C as f}from"./crop-B7IxIx6D.js";import{C as b}from"./copy-C9t_FzCZ.js";import{C as E}from"./chevron-down-DbSAem1L.js";import"./circle-check-CeakjiXC.js";const R=[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2",key:"76otgf"}],["line",{x1:"12",x2:"12.01",y1:"18",y2:"18",key:"1dp563"}]],y=U("tablet",R),V=i=>(i||"").split("-")[0]==="ja"?"ja":"en",g={en:{badge:"Store assets pipeline kit",title:"Store Assets Pipeline Kit",subtitle:"Capture → copy → layout → export. Replace manual Figma/Canva edits and brittle AI drafts before App Store / Google Play uploads, and sanity-check App Review / ASO constraints.",heroCliTitle:"CLI quickstart (2 steps)",heroCliNote:"wizard → build (raw mode, no Playwright).",heroCliSummary:"Outputs: fastlane/ + reproducible ZIP (local/CI).",heroCliCopyLabel:"Copy all commands",heroCliTemplatesLabel:"Starter templates",heroCliConfigLabel:"config.yml",heroCliCsvLabel:"copy.csv",heroCliCmd:["npx --yes shipscreens wizard","npx --yes shipscreens build --mode raw --zip --out out/agent"].join(`
1
+ import{u as L,r as A,t as o,j as e,b as a}from"./index-Bqv2NztY.js";import{A as r,a as h}from"./CopyButton-CmVmSaYn.js";import{C as I}from"./CliPreflightCard-D7utpFux.js";import{c as U,a as z,S as B}from"./LanguageSwitcher-BD9N-dla.js";import{S as H}from"./StickyMobileCta-C_x2pUIF.js";import{S as O}from"./SiteHeader-DxsqNPnt.js";import{G as u}from"./grid-3x3-AKmIrhzv.js";import{C as f}from"./crop-DOMVp18h.js";import{C as b}from"./copy-AQdWJCcs.js";import{C as E}from"./chevron-down-_xIkRLaA.js";const R=[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2",key:"76otgf"}],["line",{x1:"12",x2:"12.01",y1:"18",y2:"18",key:"1dp563"}]],y=U("tablet",R),V=i=>(i||"").split("-")[0]==="ja"?"ja":"en",g={en:{badge:"Store assets pipeline kit",title:"Store Assets Pipeline Kit",subtitle:"Capture → copy → layout → export. Replace manual Figma/Canva edits and brittle AI drafts before App Store / Google Play uploads, and sanity-check App Review / ASO constraints.",heroCliTitle:"CLI quickstart (2 steps)",heroCliNote:"wizard → build (raw mode, no Playwright).",heroCliSummary:"Outputs: fastlane/ + reproducible ZIP (local/CI).",heroCliCopyLabel:"Copy all commands",heroCliTemplatesLabel:"Starter templates",heroCliConfigLabel:"config.yml",heroCliCsvLabel:"copy.csv",heroCliCmd:["npx --yes shipscreens wizard","npx --yes shipscreens build --mode raw --zip --out out/agent"].join(`
2
2
  `),proUnlockTitle:"Unlock Pro (CLI)",proUnlockBody:"Remove the watermark and unlock full matrix batch exports via CLI auth:",proUnlockCmd:"npx --yes shipscreens auth login",proUnlockNote:"Completes a one-time browser sign-in; then rerun build with --require-pro.",navTools:"Tools",overviewTitle:"Pipeline overview",overviewSteps:["Capture","Copy","Layout","Export","Upload (ASC/Play)"],checklistTitle:"Checklists",checklists:[{key:"ipad13",icon:y,title:"iPad 13-inch capture",body:"Get the right source before you generate.",bullets:["Use a real device shot when possible (13-inch / 2064x2752).","If you use Simulator, export at native size (no scaling).","Keep UI clean; avoid overlays that won’t match store previews."]},{key:"buckets",icon:u,title:"Size bucket shortcuts",body:"Start minimal, expand later.",bullets:["iPhone-only: pick the largest iPhone bucket first.","Add iPad 13-inch only if you ship iPad-first.","Android: one phone bucket; add tablet only if needed."]},{key:"play-safe",icon:f,title:"Play feature graphic safe area",body:"Avoid hidden crops in Play previews.",bullets:["Keep text/logos inside the central 80-86% area.","Avoid edge-aligned UI; Play crops in some previews.","Preview in Play Console before you finalize."]}],note:"Translation happens outside ShipScreens; we focus on reproducible exports, Fastlane-ready outputs, and CI guardrails (verify + stage).",scopeNote:"Upload is handled in App Store Connect / Play Console.",assetsTitle:"Templates & tools",assetsCta:"Open tool",assets:[{key:"csv",title:"Screenshot copy CSV template",desc:"Download a copy template and estimate workload.",href:"/tools/screenshot-workload-calculator/"},{key:"framework",title:"5-panel screenshot script",desc:"Hook -> Problem -> Proof -> How -> CTA.",href:"/tools/5-panel-screenshot-framework/"}],nextTitle:"Next: start from a sample project",nextBody:"Open a sample project, swap screenshots + copy, then export the first set.",nextCtaSample:"Open sample project",ctaPrimary:"Run CLI first export",ctaSecondary:"Back to tools"},ja:{badge:"ストア素材パイプラインキット",title:"ストア素材パイプラインキット",subtitle:"Capture → Copy → Layout → Export。Figma/Canvaの手作業やAI下書きの不安定さをアップロード前に整え、App Review/ASO の制約もチェック。",heroCliTitle:"CLIクイックスタート(2ステップ)",heroCliNote:"wizard → build(raw / Playwright不要)。",heroCliSummary:"出力: fastlane/ + 再現性ZIP(ローカル/CI)。",heroCliCopyLabel:"コマンドをすべてコピー",heroCliTemplatesLabel:"スターター雛形",heroCliConfigLabel:"config.yml",heroCliCsvLabel:"copy.csv",heroCliCmd:["npx --yes shipscreens wizard","npx --yes shipscreens build --mode raw --zip --out out/agent"].join(`
3
- `),proUnlockTitle:"Proを解除(CLI)",proUnlockBody:"透かし解除&フル一括(端末×言語)のために、まずはCLI認証を実行:",proUnlockCmd:"npx --yes shipscreens auth login",proUnlockNote:"初回のみブラウザでサインインします。以後は --require-pro で再実行。",navTools:"ツール一覧",overviewTitle:"パイプライン概要",overviewSteps:["素材取り","コピー","レイアウト","出力","アップロード (ASC/Play)"],checklistTitle:"チェックリスト",checklists:[{key:"ipad13",icon:y,title:"iPad 13-inch 実スクショ",body:"生成前の素材を揃える。",bullets:["実機があれば 13-inch / 2064x2752 の実スクショを用意。","Simulator を使う場合は native サイズで書き出す。","ストア表示とズレるUIオーバーレイは避ける。"]},{key:"buckets",icon:u,title:"サイズバケット削減",body:"最小セットでまず出す。",bullets:["iPhone-only は最大サイズ1バケットから。","iPad は13-inchが必要な場合のみ追加。","Android はスマホ1バケット、必要ならタブレット。"]},{key:"play-safe",icon:f,title:"Play feature graphic 安全域",body:"隠れクロップを避ける。",bullets:["文字/ロゴは中央 80-86% に収める。","端に寄せすぎない(プレビューで切れる)。","Play Console のプレビューで最終確認。"]}],note:"翻訳は外部でOK。ShipScreensはレイアウトの安定・再現性のある出力・Fastlane公式パスへの生成(CI)と、verify+stage の事故防止を担います。",scopeNote:"アップロードは App Store Connect / Play Console 側で行います。",assetsTitle:"テンプレ/ツール",assetsCta:"ツールを開く",assets:[{key:"csv",title:"コピーCSVテンプレ + 作業量見積もり",desc:"CSV雛形と端末x言語の計算。",href:"/tools/screenshot-workload-calculator/"},{key:"framework",title:"5枚構成スクリプト",desc:"Hook -> Problem -> Proof -> How -> CTA。",href:"/tools/5-panel-screenshot-framework/"}],nextTitle:"次: サンプルから開始",nextBody:"サンプルを開いて、スクショ差し替え → CSV copy → Export まで最短で。",nextCtaSample:"サンプルを開く",ctaPrimary:"CLIで初回エクスポート",ctaSecondary:"ツール一覧へ"}},W=()=>{const{i18n:i,t:l}=L(),C=V(i.resolvedLanguage||i.language),s=g[C]||g.en,n="support@shimaumaservices.co.jp",_=l("landing.partner.emailSubject",{defaultValue:"ShipScreens first export review"}),j=l("landing.partner.emailBody",{defaultValue:""}),k=`mailto:${n}?subject=${encodeURIComponent(_)}&body=${encodeURIComponent(j)}`,v="/app/?sample=5panel&entry_source=store_assets_pipeline_open_app_header",d="/tools/agent-cli/",w="/tools/first-export/?entry_source=store_assets_pipeline_primary_cta",p="/app/?sample=5panel&entry_source=store_assets_pipeline_open_sample_project",N="/downloads/shipscreens-agent-cli-config.yml",S="/downloads/shipscreens-agent-cli-copy.csv",x=l("common.copy",{defaultValue:"Copy"}),P=l("common.showCommands",{defaultValue:"Show commands"}),T=typeof window>"u"?!0:window.matchMedia("(min-width: 640px)").matches;return z("titles.storeAssetsPipeline",{defaultValue:s.title}),A.useEffect(()=>{o("tool_view",{tool:"store_assets_pipeline"})},[]),e.jsxs("div",{className:"min-h-screen bg-gradient-to-b from-slate-950 via-slate-900 to-slate-950 text-white",children:[e.jsx(B,{}),e.jsx(O,{variant:"dark",active:"tools",openAppHref:v,onToolsClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"open_tools_header"}),onPricingClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"pricing_header"}),onOpenAppClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"open_app_header"}),primaryCta:{href:w,label:e.jsxs("span",{className:"inline-flex items-center gap-2",children:[l("landing.nav.primaryCta")," ",e.jsx(r,{size:16})]}),onClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"open_first_export_header"})}}),e.jsxs("main",{className:"max-w-5xl mx-auto px-6 pb-24 space-y-10",children:[e.jsxs("section",{className:"max-w-3xl mx-auto text-center space-y-4",children:[e.jsx("div",{className:"inline-flex items-center gap-2 px-3 py-1.5 rounded-full border border-slate-800 bg-slate-900/60 text-slate-200 text-xs font-semibold",children:s.badge}),e.jsx("h1",{className:"text-3xl md:text-5xl font-black leading-tight",children:s.title}),e.jsx("p",{className:"text-slate-300 text-lg leading-relaxed",children:s.subtitle}),e.jsxs("a",{href:"#design-partner",onClick:()=>o("tool_cta_click",{tool:"store_assets_pipeline",cta:"jump_design_partner"}),className:"inline-flex items-center gap-1 text-sm text-blue-200 hover:text-blue-100 underline underline-offset-4",children:[l("landing.partner.jumpCta",{defaultValue:l("landing.partner.emailCta")})," ",e.jsx(r,{size:14})]}),e.jsxs("div",{className:"max-w-xl mx-auto text-left bg-slate-900/60 border border-slate-800 rounded-2xl p-4 space-y-2",children:[e.jsx("div",{className:"text-[11px] uppercase tracking-[0.2em] text-slate-500 font-semibold",children:s.heroCliTitle}),e.jsx("p",{className:"text-xs text-slate-400",children:s.heroCliNote}),e.jsx("p",{className:"text-xs text-slate-500",children:s.heroCliSummary}),e.jsx(h,{value:s.heroCliCmd,onCopied:()=>o("tool_cta_click",{tool:"store_assets_pipeline",cta:"copy_cli_hero"}),className:"inline-flex items-center justify-center gap-2 px-3 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-xs font-semibold",children:({copyLabel:t,copyState:c})=>e.jsxs(e.Fragment,{children:[e.jsx(b,{size:14}),c==="idle"?s.heroCliCopyLabel:t||x]})}),e.jsxs("details",{className:"group",open:T,children:[e.jsxs("summary",{className:"flex items-center justify-between text-[11px] font-semibold text-slate-400 cursor-pointer list-none",children:[e.jsx("span",{children:P}),e.jsx(E,{size:14,className:"text-slate-500 transition-transform duration-200 group-open:rotate-180"})]}),e.jsx("div",{className:"mt-2 rounded-xl border border-slate-800 bg-slate-950 p-3",children:e.jsx("pre",{className:"text-xs text-slate-200 whitespace-pre-wrap",children:s.heroCliCmd})})]}),e.jsxs("div",{className:"pt-1 space-y-2",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-[0.2em] text-slate-500 font-semibold",children:s.heroCliTemplatesLabel}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx("a",{href:N,download:!0,onClick:()=>o("tool_download",{tool:"store_assets_pipeline",asset:"config_template"}),className:"inline-flex items-center justify-center gap-2 px-2.5 py-1.5 rounded-md border border-slate-700 bg-slate-950 text-[11px] text-slate-200 hover:bg-slate-900 transition",children:s.heroCliConfigLabel}),e.jsx("a",{href:S,download:!0,onClick:()=>o("tool_download",{tool:"store_assets_pipeline",asset:"copy_template"}),className:"inline-flex items-center justify-center gap-2 px-2.5 py-1.5 rounded-md border border-slate-700 bg-slate-950 text-[11px] text-slate-200 hover:bg-slate-900 transition",children:s.heroCliCsvLabel})]})]})]}),e.jsx(I,{compact:!0,href:"/tools/agent-cli/#preflight",onClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"open_cli_preflight"}),className:"max-w-xl mx-auto"}),e.jsx("section",{className:"max-w-xl mx-auto",children:e.jsxs("div",{className:"bg-slate-900/60 border border-slate-800 rounded-2xl p-5 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsx("div",{className:"text-sm font-bold text-white",children:s.proUnlockTitle}),e.jsx("span",{className:"text-[10px] font-semibold tracking-[0.2em] text-amber-200 bg-amber-500/10 border border-amber-400/30 px-2 py-1 rounded-full",children:"PRO"})]}),s.proUnlockBody&&e.jsx("p",{className:"text-sm text-slate-300",children:s.proUnlockBody}),e.jsx("div",{className:"rounded-xl border border-slate-800 bg-slate-950/80 p-4",children:e.jsx("pre",{className:"text-xs text-slate-200 whitespace-pre-wrap",children:s.proUnlockCmd})}),e.jsx(h,{value:s.proUnlockCmd,onCopied:()=>o("tool_cta_click",{tool:"store_assets_pipeline",cta:"copy_cli_pro_unlock"}),className:"inline-flex items-center justify-center gap-2 px-4 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-sm font-semibold",children:({copyLabel:t})=>e.jsxs(e.Fragment,{children:[e.jsx(b,{size:14}),t||x]})}),s.proUnlockNote&&e.jsx("div",{className:"text-xs text-slate-500",children:s.proUnlockNote})]})})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h2",{className:"text-lg font-bold text-white text-center",children:s.overviewTitle}),e.jsx("div",{className:"flex flex-wrap justify-center gap-2 text-sm text-slate-300",children:s.overviewSteps.map(t=>e.jsx("span",{className:"px-3 py-1 rounded-full border border-slate-800 bg-slate-900/70",children:t},t))})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h2",{className:"text-lg font-bold text-white text-center",children:s.checklistTitle}),e.jsx("div",{className:"grid md:grid-cols-3 gap-6",children:s.checklists.map(t=>{const c=t.icon;return e.jsxs("div",{className:"bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl border border-slate-800 bg-slate-950 flex items-center justify-center",children:e.jsx(c,{size:18,className:"text-slate-200"})}),e.jsx("div",{className:"text-lg font-bold text-white",children:t.title})]}),e.jsx("p",{className:"text-sm text-slate-300 leading-relaxed",children:t.body}),e.jsx("ul",{className:"text-xs text-slate-400 list-disc pl-4 space-y-1",children:t.bullets.map(m=>e.jsx("li",{children:m},m))})]},t.key)})}),e.jsxs("div",{className:"text-xs text-slate-500 text-center space-y-1",children:[e.jsx("p",{children:s.note}),e.jsx("p",{children:s.scopeNote})]})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h2",{className:"text-lg font-bold text-white text-center",children:s.assetsTitle}),e.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:s.assets.map(t=>e.jsxs("a",{href:t.href,onClick:()=>o("tool_cta_click",{tool:"store_assets_pipeline",cta:`open_${t.key}`}),className:"bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-3 hover:border-slate-700 transition",children:[e.jsx("div",{className:"text-lg font-bold text-white",children:t.title}),e.jsx("div",{className:"text-sm text-slate-300",children:t.desc}),e.jsxs("div",{className:"text-xs text-blue-200 flex items-center gap-2",children:[s.assetsCta," ",e.jsx(r,{size:14})]})]},t.key))})]}),e.jsxs("section",{className:"bg-slate-900/60 border border-slate-800 rounded-2xl p-6 flex flex-col md:flex-row items-start md:items-center justify-between gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"text-sm font-bold text-white",children:s.nextTitle}),e.jsx("div",{className:"text-sm text-slate-300",children:s.nextBody})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 w-full md:w-auto",children:[e.jsxs("a",{href:d,onClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"open_agent_cli_body"}),className:"inline-flex items-center justify-center gap-2 px-5 py-3 rounded-xl bg-white text-slate-900 font-bold hover:scale-[1.02] transition w-full md:w-auto",children:[s.ctaPrimary," ",e.jsx(r,{size:16})]}),e.jsxs("a",{href:p,onClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"open_sample_project_footer"}),className:"inline-flex items-center justify-center gap-2 px-5 py-3 rounded-xl border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition w-full md:w-auto",children:[s.nextCtaSample," ",e.jsx(r,{size:16})]})]})]}),e.jsxs("section",{id:"design-partner",className:"max-w-3xl mx-auto bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-4",children:[e.jsx("div",{className:"text-lg font-bold text-white",children:l("landing.partner.title")}),e.jsx("div",{className:"text-sm text-slate-300 leading-relaxed",children:l("landing.partner.body")}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3",children:[e.jsxs("a",{href:k,onClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"email_design_partner"}),className:"flex-1 inline-flex items-center justify-center gap-2 px-4 py-3 rounded-xl bg-blue-500 text-white font-bold hover:bg-blue-600 transition",children:[l("landing.partner.emailCta")," ",e.jsx(r,{size:16})]}),e.jsx("a",{href:"https://x.com/shipscreenscom",target:"_blank",rel:"noopener noreferrer",onClick:()=>o("tool_cta_click",{tool:"store_assets_pipeline",cta:"dm_design_partner"}),className:"flex-1 inline-flex items-center justify-center gap-2 px-4 py-3 rounded-xl border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition",children:l("landing.partner.dmCta")})]}),e.jsxs("div",{className:"text-xs text-slate-500",children:[l("landing.partner.emailLabel")," ",e.jsx("a",{href:`mailto:${n}`,className:"underline underline-offset-4 hover:text-white",children:n})]})]}),e.jsx("section",{className:"max-w-3xl mx-auto text-center space-y-4 pt-2",children:e.jsx("a",{href:"/tools/",onClick:()=>o("tool_cta_click",{tool:"store_assets_pipeline",cta:"back_to_tools"}),className:"text-xs text-slate-500 hover:text-slate-300 transition-colors underline underline-offset-4",children:s.ctaSecondary})})]}),e.jsx(H,{primary:{label:s.ctaPrimary,href:d,onClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"sticky_primary"})},secondary:{label:s.nextCtaSample,href:p,onClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"sticky_secondary"})}})]})};export{W as default};
4
- //# sourceMappingURL=StoreAssetsPipeline-BJlnD3kD.js.map
3
+ `),proUnlockTitle:"Proを解除(CLI)",proUnlockBody:"透かし解除&フル一括(端末×言語)のために、まずはCLI認証を実行:",proUnlockCmd:"npx --yes shipscreens auth login",proUnlockNote:"初回のみブラウザでサインインします。以後は --require-pro で再実行。",navTools:"ツール一覧",overviewTitle:"パイプライン概要",overviewSteps:["素材取り","コピー","レイアウト","出力","アップロード (ASC/Play)"],checklistTitle:"チェックリスト",checklists:[{key:"ipad13",icon:y,title:"iPad 13-inch 実スクショ",body:"生成前の素材を揃える。",bullets:["実機があれば 13-inch / 2064x2752 の実スクショを用意。","Simulator を使う場合は native サイズで書き出す。","ストア表示とズレるUIオーバーレイは避ける。"]},{key:"buckets",icon:u,title:"サイズバケット削減",body:"最小セットでまず出す。",bullets:["iPhone-only は最大サイズ1バケットから。","iPad は13-inchが必要な場合のみ追加。","Android はスマホ1バケット、必要ならタブレット。"]},{key:"play-safe",icon:f,title:"Play feature graphic 安全域",body:"隠れクロップを避ける。",bullets:["文字/ロゴは中央 80-86% に収める。","端に寄せすぎない(プレビューで切れる)。","Play Console のプレビューで最終確認。"]}],note:"翻訳は外部でOK。ShipScreensはレイアウトの安定・再現性のある出力・Fastlane公式パスへの生成(CI)と、verify+stage の事故防止を担います。",scopeNote:"アップロードは App Store Connect / Play Console 側で行います。",assetsTitle:"テンプレ/ツール",assetsCta:"ツールを開く",assets:[{key:"csv",title:"コピーCSVテンプレ + 作業量見積もり",desc:"CSV雛形と端末x言語の計算。",href:"/tools/screenshot-workload-calculator/"},{key:"framework",title:"5枚構成スクリプト",desc:"Hook -> Problem -> Proof -> How -> CTA。",href:"/tools/5-panel-screenshot-framework/"}],nextTitle:"次: サンプルから開始",nextBody:"サンプルを開いて、スクショ差し替え → CSV copy → Export まで最短で。",nextCtaSample:"サンプルを開く",ctaPrimary:"CLIで初回エクスポート",ctaSecondary:"ツール一覧へ"}},Q=()=>{const{i18n:i,t:l}=L(),C=V(i.resolvedLanguage||i.language),s=g[C]||g.en,n="support@shimaumaservices.co.jp",_=l("landing.partner.emailSubject",{defaultValue:"ShipScreens first export review"}),j=l("landing.partner.emailBody",{defaultValue:""}),k=`mailto:${n}?subject=${encodeURIComponent(_)}&body=${encodeURIComponent(j)}`,v="/app/?sample=5panel&entry_source=store_assets_pipeline_open_app_header",d="/tools/agent-cli/",w="/tools/first-export/?entry_source=store_assets_pipeline_primary_cta",p="/app/?sample=5panel&entry_source=store_assets_pipeline_open_sample_project",N="/downloads/shipscreens-agent-cli-config.yml",S="/downloads/shipscreens-agent-cli-copy.csv",x=l("common.copy",{defaultValue:"Copy"}),P=l("common.showCommands",{defaultValue:"Show commands"}),T=typeof window>"u"?!0:window.matchMedia("(min-width: 640px)").matches;return z("titles.storeAssetsPipeline",{defaultValue:s.title}),A.useEffect(()=>{o("tool_view",{tool:"store_assets_pipeline"})},[]),e.jsxs("div",{className:"min-h-screen bg-gradient-to-b from-slate-950 via-slate-900 to-slate-950 text-white",children:[e.jsx(B,{}),e.jsx(O,{variant:"dark",active:"tools",openAppHref:v,onToolsClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"open_tools_header"}),onPricingClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"pricing_header"}),onOpenAppClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"open_app_header"}),primaryCta:{href:w,label:e.jsxs("span",{className:"inline-flex items-center gap-2",children:[l("landing.nav.primaryCta")," ",e.jsx(r,{size:16})]}),onClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"open_first_export_header"})}}),e.jsxs("main",{className:"max-w-5xl mx-auto px-6 pb-24 space-y-10",children:[e.jsxs("section",{className:"max-w-3xl mx-auto text-center space-y-4",children:[e.jsx("div",{className:"inline-flex items-center gap-2 px-3 py-1.5 rounded-full border border-slate-800 bg-slate-900/60 text-slate-200 text-xs font-semibold",children:s.badge}),e.jsx("h1",{className:"text-3xl md:text-5xl font-black leading-tight",children:s.title}),e.jsx("p",{className:"text-slate-300 text-lg leading-relaxed",children:s.subtitle}),e.jsxs("a",{href:"#design-partner",onClick:()=>o("tool_cta_click",{tool:"store_assets_pipeline",cta:"jump_design_partner"}),className:"inline-flex items-center gap-1 text-sm text-blue-200 hover:text-blue-100 underline underline-offset-4",children:[l("landing.partner.jumpCta",{defaultValue:l("landing.partner.emailCta")})," ",e.jsx(r,{size:14})]}),e.jsxs("div",{className:"max-w-xl mx-auto text-left bg-slate-900/60 border border-slate-800 rounded-2xl p-4 space-y-2",children:[e.jsx("div",{className:"text-[11px] uppercase tracking-[0.2em] text-slate-500 font-semibold",children:s.heroCliTitle}),e.jsx("p",{className:"text-xs text-slate-400",children:s.heroCliNote}),e.jsx("p",{className:"text-xs text-slate-500",children:s.heroCliSummary}),e.jsx(h,{value:s.heroCliCmd,onCopied:()=>o("tool_cta_click",{tool:"store_assets_pipeline",cta:"copy_cli_hero"}),className:"inline-flex items-center justify-center gap-2 px-3 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-xs font-semibold",children:({copyLabel:t,copyState:c})=>e.jsxs(e.Fragment,{children:[e.jsx(b,{size:14}),c==="idle"?s.heroCliCopyLabel:t||x]})}),e.jsxs("details",{className:"group",open:T,children:[e.jsxs("summary",{className:"flex items-center justify-between text-[11px] font-semibold text-slate-400 cursor-pointer list-none",children:[e.jsx("span",{children:P}),e.jsx(E,{size:14,className:"text-slate-500 transition-transform duration-200 group-open:rotate-180"})]}),e.jsx("div",{className:"mt-2 rounded-xl border border-slate-800 bg-slate-950 p-3",children:e.jsx("pre",{className:"text-xs text-slate-200 whitespace-pre-wrap",children:s.heroCliCmd})})]}),e.jsxs("div",{className:"pt-1 space-y-2",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-[0.2em] text-slate-500 font-semibold",children:s.heroCliTemplatesLabel}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx("a",{href:N,download:!0,onClick:()=>o("tool_download",{tool:"store_assets_pipeline",asset:"config_template"}),className:"inline-flex items-center justify-center gap-2 px-2.5 py-1.5 rounded-md border border-slate-700 bg-slate-950 text-[11px] text-slate-200 hover:bg-slate-900 transition",children:s.heroCliConfigLabel}),e.jsx("a",{href:S,download:!0,onClick:()=>o("tool_download",{tool:"store_assets_pipeline",asset:"copy_template"}),className:"inline-flex items-center justify-center gap-2 px-2.5 py-1.5 rounded-md border border-slate-700 bg-slate-950 text-[11px] text-slate-200 hover:bg-slate-900 transition",children:s.heroCliCsvLabel})]})]})]}),e.jsx(I,{compact:!0,href:"/tools/agent-cli/#preflight",onClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"open_cli_preflight"}),className:"max-w-xl mx-auto"}),e.jsx("section",{className:"max-w-xl mx-auto",children:e.jsxs("div",{className:"bg-slate-900/60 border border-slate-800 rounded-2xl p-5 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsx("div",{className:"text-sm font-bold text-white",children:s.proUnlockTitle}),e.jsx("span",{className:"text-[10px] font-semibold tracking-[0.2em] text-amber-200 bg-amber-500/10 border border-amber-400/30 px-2 py-1 rounded-full",children:"PRO"})]}),s.proUnlockBody&&e.jsx("p",{className:"text-sm text-slate-300",children:s.proUnlockBody}),e.jsx("div",{className:"rounded-xl border border-slate-800 bg-slate-950/80 p-4",children:e.jsx("pre",{className:"text-xs text-slate-200 whitespace-pre-wrap",children:s.proUnlockCmd})}),e.jsx(h,{value:s.proUnlockCmd,onCopied:()=>o("tool_cta_click",{tool:"store_assets_pipeline",cta:"copy_cli_pro_unlock"}),className:"inline-flex items-center justify-center gap-2 px-4 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-sm font-semibold",children:({copyLabel:t})=>e.jsxs(e.Fragment,{children:[e.jsx(b,{size:14}),t||x]})}),s.proUnlockNote&&e.jsx("div",{className:"text-xs text-slate-500",children:s.proUnlockNote})]})})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h2",{className:"text-lg font-bold text-white text-center",children:s.overviewTitle}),e.jsx("div",{className:"flex flex-wrap justify-center gap-2 text-sm text-slate-300",children:s.overviewSteps.map(t=>e.jsx("span",{className:"px-3 py-1 rounded-full border border-slate-800 bg-slate-900/70",children:t},t))})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h2",{className:"text-lg font-bold text-white text-center",children:s.checklistTitle}),e.jsx("div",{className:"grid md:grid-cols-3 gap-6",children:s.checklists.map(t=>{const c=t.icon;return e.jsxs("div",{className:"bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl border border-slate-800 bg-slate-950 flex items-center justify-center",children:e.jsx(c,{size:18,className:"text-slate-200"})}),e.jsx("div",{className:"text-lg font-bold text-white",children:t.title})]}),e.jsx("p",{className:"text-sm text-slate-300 leading-relaxed",children:t.body}),e.jsx("ul",{className:"text-xs text-slate-400 list-disc pl-4 space-y-1",children:t.bullets.map(m=>e.jsx("li",{children:m},m))})]},t.key)})}),e.jsxs("div",{className:"text-xs text-slate-500 text-center space-y-1",children:[e.jsx("p",{children:s.note}),e.jsx("p",{children:s.scopeNote})]})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("h2",{className:"text-lg font-bold text-white text-center",children:s.assetsTitle}),e.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:s.assets.map(t=>e.jsxs("a",{href:t.href,onClick:()=>o("tool_cta_click",{tool:"store_assets_pipeline",cta:`open_${t.key}`}),className:"bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-3 hover:border-slate-700 transition",children:[e.jsx("div",{className:"text-lg font-bold text-white",children:t.title}),e.jsx("div",{className:"text-sm text-slate-300",children:t.desc}),e.jsxs("div",{className:"text-xs text-blue-200 flex items-center gap-2",children:[s.assetsCta," ",e.jsx(r,{size:14})]})]},t.key))})]}),e.jsxs("section",{className:"bg-slate-900/60 border border-slate-800 rounded-2xl p-6 flex flex-col md:flex-row items-start md:items-center justify-between gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"text-sm font-bold text-white",children:s.nextTitle}),e.jsx("div",{className:"text-sm text-slate-300",children:s.nextBody})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 w-full md:w-auto",children:[e.jsxs("a",{href:d,onClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"open_agent_cli_body"}),className:"inline-flex items-center justify-center gap-2 px-5 py-3 rounded-xl bg-white text-slate-900 font-bold hover:scale-[1.02] transition w-full md:w-auto",children:[s.ctaPrimary," ",e.jsx(r,{size:16})]}),e.jsxs("a",{href:p,onClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"open_sample_project_footer"}),className:"inline-flex items-center justify-center gap-2 px-5 py-3 rounded-xl border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition w-full md:w-auto",children:[s.nextCtaSample," ",e.jsx(r,{size:16})]})]})]}),e.jsxs("section",{id:"design-partner",className:"max-w-3xl mx-auto bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-4",children:[e.jsx("div",{className:"text-lg font-bold text-white",children:l("landing.partner.title")}),e.jsx("div",{className:"text-sm text-slate-300 leading-relaxed",children:l("landing.partner.body")}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3",children:[e.jsxs("a",{href:k,onClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"email_design_partner"}),className:"flex-1 inline-flex items-center justify-center gap-2 px-4 py-3 rounded-xl bg-blue-500 text-white font-bold hover:bg-blue-600 transition",children:[l("landing.partner.emailCta")," ",e.jsx(r,{size:16})]}),e.jsx("a",{href:"https://x.com/shipscreenscom",target:"_blank",rel:"noopener noreferrer",onClick:()=>o("tool_cta_click",{tool:"store_assets_pipeline",cta:"dm_design_partner"}),className:"flex-1 inline-flex items-center justify-center gap-2 px-4 py-3 rounded-xl border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition",children:l("landing.partner.dmCta")})]}),e.jsxs("div",{className:"text-xs text-slate-500",children:[l("landing.partner.emailLabel")," ",e.jsx("a",{href:`mailto:${n}`,className:"underline underline-offset-4 hover:text-white",children:n})]})]}),e.jsx("section",{className:"max-w-3xl mx-auto text-center space-y-4 pt-2",children:e.jsx("a",{href:"/tools/",onClick:()=>o("tool_cta_click",{tool:"store_assets_pipeline",cta:"back_to_tools"}),className:"text-xs text-slate-500 hover:text-slate-300 transition-colors underline underline-offset-4",children:s.ctaSecondary})})]}),e.jsx(H,{primary:{label:s.ctaPrimary,href:d,onClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"sticky_primary"})},secondary:{label:s.nextCtaSample,href:p,onClick:t=>a(t,"tool_cta_click",{tool:"store_assets_pipeline",cta:"sticky_secondary"})}})]})};export{Q as default};
4
+ //# sourceMappingURL=StoreAssetsPipeline-4hXRONUd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StoreAssetsPipeline-BJlnD3kD.js","sources":["../../node_modules/lucide-react/dist/esm/icons/tablet.js","../../src/pages/StoreAssetsPipeline.jsx"],"sourcesContent":["/**\n * @license lucide-react v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"16\", height: \"20\", x: \"4\", y: \"2\", rx: \"2\", ry: \"2\", key: \"76otgf\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"18\", y2: \"18\", key: \"1dp563\" }]\n];\nconst Tablet = createLucideIcon(\"tablet\", __iconNode);\n\nexport { __iconNode, Tablet as default };\n//# sourceMappingURL=tablet.js.map\n","import React, { useEffect, useMemo } from 'react';\nimport { ArrowRight, ChevronDown, Copy, Crop, Grid, Tablet } from 'lucide-react';\nimport { useTranslation } from 'react-i18next';\nimport CopyButton from '../components/CopyButton';\nimport CliPreflightCard from '../components/CliPreflightCard';\nimport StagingBadge from '../components/StagingBadge';\nimport StickyMobileCta from '../components/StickyMobileCta';\nimport SiteHeader from '../components/SiteHeader';\nimport usePageTitle from '../hooks/usePageTitle';\nimport { trackEvent, trackEventAndFollowLink } from '../lib/analytics';\n\nconst normalizeLang = (lang) => {\n const base = (lang || '').split('-')[0];\n return base === 'ja' ? 'ja' : 'en';\n};\n\nconst COPY = {\n en: {\n badge: 'Store assets pipeline kit',\n title: 'Store Assets Pipeline Kit',\n subtitle:\n 'Capture → copy → layout → export. Replace manual Figma/Canva edits and brittle AI drafts before App Store / Google Play uploads, and sanity-check App Review / ASO constraints.',\n heroCliTitle: 'CLI quickstart (2 steps)',\n heroCliNote: 'wizard → build (raw mode, no Playwright).',\n heroCliSummary: 'Outputs: fastlane/ + reproducible ZIP (local/CI).',\n heroCliCopyLabel: 'Copy all commands',\n heroCliTemplatesLabel: 'Starter templates',\n heroCliConfigLabel: 'config.yml',\n heroCliCsvLabel: 'copy.csv',\n heroCliCmd: [\n 'npx --yes shipscreens wizard',\n 'npx --yes shipscreens build --mode raw --zip --out out/agent',\n ].join('\\n'),\n proUnlockTitle: 'Unlock Pro (CLI)',\n proUnlockBody: 'Remove the watermark and unlock full matrix batch exports via CLI auth:',\n proUnlockCmd: 'npx --yes shipscreens auth login',\n proUnlockNote: 'Completes a one-time browser sign-in; then rerun build with --require-pro.',\n navTools: 'Tools',\n overviewTitle: 'Pipeline overview',\n overviewSteps: ['Capture', 'Copy', 'Layout', 'Export', 'Upload (ASC/Play)'],\n checklistTitle: 'Checklists',\n checklists: [\n {\n key: 'ipad13',\n icon: Tablet,\n title: 'iPad 13-inch capture',\n body: 'Get the right source before you generate.',\n bullets: [\n 'Use a real device shot when possible (13-inch / 2064x2752).',\n 'If you use Simulator, export at native size (no scaling).',\n 'Keep UI clean; avoid overlays that won’t match store previews.',\n ],\n },\n {\n key: 'buckets',\n icon: Grid,\n title: 'Size bucket shortcuts',\n body: 'Start minimal, expand later.',\n bullets: [\n 'iPhone-only: pick the largest iPhone bucket first.',\n 'Add iPad 13-inch only if you ship iPad-first.',\n 'Android: one phone bucket; add tablet only if needed.',\n ],\n },\n {\n key: 'play-safe',\n icon: Crop,\n title: 'Play feature graphic safe area',\n body: 'Avoid hidden crops in Play previews.',\n bullets: [\n 'Keep text/logos inside the central 80-86% area.',\n 'Avoid edge-aligned UI; Play crops in some previews.',\n 'Preview in Play Console before you finalize.',\n ],\n },\n ],\n note: 'Translation happens outside ShipScreens; we focus on reproducible exports, Fastlane-ready outputs, and CI guardrails (verify + stage).',\n scopeNote: 'Upload is handled in App Store Connect / Play Console.',\n assetsTitle: 'Templates & tools',\n assetsCta: 'Open tool',\n assets: [\n {\n key: 'csv',\n title: 'Screenshot copy CSV template',\n desc: 'Download a copy template and estimate workload.',\n href: '/tools/screenshot-workload-calculator/',\n },\n {\n key: 'framework',\n title: '5-panel screenshot script',\n desc: 'Hook -> Problem -> Proof -> How -> CTA.',\n href: '/tools/5-panel-screenshot-framework/',\n },\n ],\n nextTitle: 'Next: start from a sample project',\n nextBody: 'Open a sample project, swap screenshots + copy, then export the first set.',\n nextCtaSample: 'Open sample project',\n ctaPrimary: 'Run CLI first export',\n ctaSecondary: 'Back to tools',\n },\n ja: {\n badge: 'ストア素材パイプラインキット',\n title: 'ストア素材パイプラインキット',\n subtitle:\n 'Capture → Copy → Layout → Export。Figma/Canvaの手作業やAI下書きの不安定さをアップロード前に整え、App Review/ASO の制約もチェック。',\n heroCliTitle: 'CLIクイックスタート(2ステップ)',\n heroCliNote: 'wizard → build(raw / Playwright不要)。',\n heroCliSummary: '出力: fastlane/ + 再現性ZIP(ローカル/CI)。',\n heroCliCopyLabel: 'コマンドをすべてコピー',\n heroCliTemplatesLabel: 'スターター雛形',\n heroCliConfigLabel: 'config.yml',\n heroCliCsvLabel: 'copy.csv',\n heroCliCmd: [\n 'npx --yes shipscreens wizard',\n 'npx --yes shipscreens build --mode raw --zip --out out/agent',\n ].join('\\n'),\n proUnlockTitle: 'Proを解除(CLI)',\n proUnlockBody: '透かし解除&フル一括(端末×言語)のために、まずはCLI認証を実行:',\n proUnlockCmd: 'npx --yes shipscreens auth login',\n proUnlockNote: '初回のみブラウザでサインインします。以後は --require-pro で再実行。',\n navTools: 'ツール一覧',\n overviewTitle: 'パイプライン概要',\n overviewSteps: ['素材取り', 'コピー', 'レイアウト', '出力', 'アップロード (ASC/Play)'],\n checklistTitle: 'チェックリスト',\n checklists: [\n {\n key: 'ipad13',\n icon: Tablet,\n title: 'iPad 13-inch 実スクショ',\n body: '生成前の素材を揃える。',\n bullets: [\n '実機があれば 13-inch / 2064x2752 の実スクショを用意。',\n 'Simulator を使う場合は native サイズで書き出す。',\n 'ストア表示とズレるUIオーバーレイは避ける。',\n ],\n },\n {\n key: 'buckets',\n icon: Grid,\n title: 'サイズバケット削減',\n body: '最小セットでまず出す。',\n bullets: [\n 'iPhone-only は最大サイズ1バケットから。',\n 'iPad は13-inchが必要な場合のみ追加。',\n 'Android はスマホ1バケット、必要ならタブレット。',\n ],\n },\n {\n key: 'play-safe',\n icon: Crop,\n title: 'Play feature graphic 安全域',\n body: '隠れクロップを避ける。',\n bullets: [\n '文字/ロゴは中央 80-86% に収める。',\n '端に寄せすぎない(プレビューで切れる)。',\n 'Play Console のプレビューで最終確認。',\n ],\n },\n ],\n note: '翻訳は外部でOK。ShipScreensはレイアウトの安定・再現性のある出力・Fastlane公式パスへの生成(CI)と、verify+stage の事故防止を担います。',\n scopeNote: 'アップロードは App Store Connect / Play Console 側で行います。',\n assetsTitle: 'テンプレ/ツール',\n assetsCta: 'ツールを開く',\n assets: [\n {\n key: 'csv',\n title: 'コピーCSVテンプレ + 作業量見積もり',\n desc: 'CSV雛形と端末x言語の計算。',\n href: '/tools/screenshot-workload-calculator/',\n },\n {\n key: 'framework',\n title: '5枚構成スクリプト',\n desc: 'Hook -> Problem -> Proof -> How -> CTA。',\n href: '/tools/5-panel-screenshot-framework/',\n },\n ],\n nextTitle: '次: サンプルから開始',\n nextBody: 'サンプルを開いて、スクショ差し替え → CSV copy → Export まで最短で。',\n nextCtaSample: 'サンプルを開く',\n ctaPrimary: 'CLIで初回エクスポート',\n ctaSecondary: 'ツール一覧へ',\n },\n};\n\nconst StoreAssetsPipeline = () => {\n const { i18n, t } = useTranslation();\n const lang = normalizeLang(i18n.resolvedLanguage || i18n.language);\n const copy = COPY[lang] || COPY.en;\n const supportEmail = 'support@shimaumaservices.co.jp';\n const partnerSubject = t('landing.partner.emailSubject', { defaultValue: 'ShipScreens first export review' });\n const partnerBody = t('landing.partner.emailBody', { defaultValue: '' });\n const partnerMailto = `mailto:${supportEmail}?subject=${encodeURIComponent(partnerSubject)}&body=${encodeURIComponent(\n partnerBody\n )}`;\n const openAppHref = '/app/?sample=5panel&entry_source=store_assets_pipeline_open_app_header';\n const agentCliHref = '/tools/agent-cli/';\n const firstExportHref = '/tools/first-export/?entry_source=store_assets_pipeline_primary_cta';\n const sampleProjectHref = '/app/?sample=5panel&entry_source=store_assets_pipeline_open_sample_project';\n const configDownloadHref = '/downloads/shipscreens-agent-cli-config.yml';\n const csvDownloadHref = '/downloads/shipscreens-agent-cli-copy.csv';\n const copyButtonLabel = t('common.copy', { defaultValue: 'Copy' });\n const codeToggleLabel = t('common.showCommands', { defaultValue: 'Show commands' });\n const defaultCodeOpen = typeof window === 'undefined' ? true : window.matchMedia('(min-width: 640px)').matches;\n\n usePageTitle('titles.storeAssetsPipeline', { defaultValue: copy.title });\n\n useEffect(() => {\n trackEvent('tool_view', { tool: 'store_assets_pipeline' });\n }, []);\n\n return (\n <div className=\"min-h-screen bg-gradient-to-b from-slate-950 via-slate-900 to-slate-950 text-white\">\n <StagingBadge />\n <SiteHeader\n variant=\"dark\"\n active=\"tools\"\n openAppHref={openAppHref}\n onToolsClick={(event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'open_tools_header' })\n }\n onPricingClick={(event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'pricing_header' })\n }\n onOpenAppClick={(event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'open_app_header' })\n }\n primaryCta={{\n href: firstExportHref,\n label: (\n <span className=\"inline-flex items-center gap-2\">\n {t('landing.nav.primaryCta')} <ArrowRight size={16} />\n </span>\n ),\n onClick: (event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'open_first_export_header' }),\n }}\n />\n\n <main className=\"max-w-5xl mx-auto px-6 pb-24 space-y-10\">\n <section className=\"max-w-3xl mx-auto text-center space-y-4\">\n <div className=\"inline-flex items-center gap-2 px-3 py-1.5 rounded-full border border-slate-800 bg-slate-900/60 text-slate-200 text-xs font-semibold\">\n {copy.badge}\n </div>\n <h1 className=\"text-3xl md:text-5xl font-black leading-tight\">{copy.title}</h1>\n <p className=\"text-slate-300 text-lg leading-relaxed\">{copy.subtitle}</p>\n <a\n href=\"#design-partner\"\n onClick={() => trackEvent('tool_cta_click', { tool: 'store_assets_pipeline', cta: 'jump_design_partner' })}\n className=\"inline-flex items-center gap-1 text-sm text-blue-200 hover:text-blue-100 underline underline-offset-4\"\n >\n {t('landing.partner.jumpCta', { defaultValue: t('landing.partner.emailCta') })} <ArrowRight size={14} />\n </a>\n <div className=\"max-w-xl mx-auto text-left bg-slate-900/60 border border-slate-800 rounded-2xl p-4 space-y-2\">\n <div className=\"text-[11px] uppercase tracking-[0.2em] text-slate-500 font-semibold\">{copy.heroCliTitle}</div>\n <p className=\"text-xs text-slate-400\">{copy.heroCliNote}</p>\n <p className=\"text-xs text-slate-500\">{copy.heroCliSummary}</p>\n <CopyButton\n value={copy.heroCliCmd}\n onCopied={() => trackEvent('tool_cta_click', { tool: 'store_assets_pipeline', cta: 'copy_cli_hero' })}\n className=\"inline-flex items-center justify-center gap-2 px-3 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-xs font-semibold\"\n >\n {({ copyLabel, copyState }) => (\n <>\n <Copy size={14} />\n {copyState === 'idle' ? copy.heroCliCopyLabel : copyLabel || copyButtonLabel}\n </>\n )}\n </CopyButton>\n <details className=\"group\" open={defaultCodeOpen}>\n <summary className=\"flex items-center justify-between text-[11px] font-semibold text-slate-400 cursor-pointer list-none\">\n <span>{codeToggleLabel}</span>\n <ChevronDown size={14} className=\"text-slate-500 transition-transform duration-200 group-open:rotate-180\" />\n </summary>\n <div className=\"mt-2 rounded-xl border border-slate-800 bg-slate-950 p-3\">\n <pre className=\"text-xs text-slate-200 whitespace-pre-wrap\">{copy.heroCliCmd}</pre>\n </div>\n </details>\n <div className=\"pt-1 space-y-2\">\n <div className=\"text-[10px] uppercase tracking-[0.2em] text-slate-500 font-semibold\">\n {copy.heroCliTemplatesLabel}\n </div>\n <div className=\"flex flex-wrap gap-2\">\n <a\n href={configDownloadHref}\n download\n onClick={() => trackEvent('tool_download', { tool: 'store_assets_pipeline', asset: 'config_template' })}\n className=\"inline-flex items-center justify-center gap-2 px-2.5 py-1.5 rounded-md border border-slate-700 bg-slate-950 text-[11px] text-slate-200 hover:bg-slate-900 transition\"\n >\n {copy.heroCliConfigLabel}\n </a>\n <a\n href={csvDownloadHref}\n download\n onClick={() => trackEvent('tool_download', { tool: 'store_assets_pipeline', asset: 'copy_template' })}\n className=\"inline-flex items-center justify-center gap-2 px-2.5 py-1.5 rounded-md border border-slate-700 bg-slate-950 text-[11px] text-slate-200 hover:bg-slate-900 transition\"\n >\n {copy.heroCliCsvLabel}\n </a>\n </div>\n </div>\n </div>\n <CliPreflightCard\n compact\n href=\"/tools/agent-cli/#preflight\"\n onClick={(event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'open_cli_preflight' })\n }\n className=\"max-w-xl mx-auto\"\n />\n <section className=\"max-w-xl mx-auto\">\n <div className=\"bg-slate-900/60 border border-slate-800 rounded-2xl p-5 space-y-3\">\n <div className=\"flex items-center justify-between gap-3\">\n <div className=\"text-sm font-bold text-white\">{copy.proUnlockTitle}</div>\n <span className=\"text-[10px] font-semibold tracking-[0.2em] text-amber-200 bg-amber-500/10 border border-amber-400/30 px-2 py-1 rounded-full\">\n PRO\n </span>\n </div>\n {copy.proUnlockBody && <p className=\"text-sm text-slate-300\">{copy.proUnlockBody}</p>}\n <div className=\"rounded-xl border border-slate-800 bg-slate-950/80 p-4\">\n <pre className=\"text-xs text-slate-200 whitespace-pre-wrap\">{copy.proUnlockCmd}</pre>\n </div>\n <CopyButton\n value={copy.proUnlockCmd}\n onCopied={() => trackEvent('tool_cta_click', { tool: 'store_assets_pipeline', cta: 'copy_cli_pro_unlock' })}\n className=\"inline-flex items-center justify-center gap-2 px-4 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-sm font-semibold\"\n >\n {({ copyLabel }) => (\n <>\n <Copy size={14} />\n {copyLabel || copyButtonLabel}\n </>\n )}\n </CopyButton>\n {copy.proUnlockNote && <div className=\"text-xs text-slate-500\">{copy.proUnlockNote}</div>}\n </div>\n </section>\n </section>\n\n <section className=\"space-y-4\">\n <h2 className=\"text-lg font-bold text-white text-center\">{copy.overviewTitle}</h2>\n <div className=\"flex flex-wrap justify-center gap-2 text-sm text-slate-300\">\n {copy.overviewSteps.map((step) => (\n <span key={step} className=\"px-3 py-1 rounded-full border border-slate-800 bg-slate-900/70\">\n {step}\n </span>\n ))}\n </div>\n </section>\n\n <section className=\"space-y-4\">\n <h2 className=\"text-lg font-bold text-white text-center\">{copy.checklistTitle}</h2>\n <div className=\"grid md:grid-cols-3 gap-6\">\n {copy.checklists.map((item) => {\n const Icon = item.icon;\n return (\n <div key={item.key} className=\"bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-4\">\n <div className=\"flex items-center gap-3\">\n <div className=\"w-10 h-10 rounded-xl border border-slate-800 bg-slate-950 flex items-center justify-center\">\n <Icon size={18} className=\"text-slate-200\" />\n </div>\n <div className=\"text-lg font-bold text-white\">{item.title}</div>\n </div>\n <p className=\"text-sm text-slate-300 leading-relaxed\">{item.body}</p>\n <ul className=\"text-xs text-slate-400 list-disc pl-4 space-y-1\">\n {item.bullets.map((bullet) => (\n <li key={bullet}>{bullet}</li>\n ))}\n </ul>\n </div>\n );\n })}\n </div>\n <div className=\"text-xs text-slate-500 text-center space-y-1\">\n <p>{copy.note}</p>\n <p>{copy.scopeNote}</p>\n </div>\n </section>\n\n <section className=\"space-y-4\">\n <h2 className=\"text-lg font-bold text-white text-center\">{copy.assetsTitle}</h2>\n <div className=\"grid md:grid-cols-2 gap-6\">\n {copy.assets.map((asset) => (\n <a\n key={asset.key}\n href={asset.href}\n onClick={() => trackEvent('tool_cta_click', { tool: 'store_assets_pipeline', cta: `open_${asset.key}` })}\n className=\"bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-3 hover:border-slate-700 transition\"\n >\n <div className=\"text-lg font-bold text-white\">{asset.title}</div>\n <div className=\"text-sm text-slate-300\">{asset.desc}</div>\n <div className=\"text-xs text-blue-200 flex items-center gap-2\">\n {copy.assetsCta} <ArrowRight size={14} />\n </div>\n </a>\n ))}\n </div>\n </section>\n\n <section className=\"bg-slate-900/60 border border-slate-800 rounded-2xl p-6 flex flex-col md:flex-row items-start md:items-center justify-between gap-4\">\n <div className=\"space-y-1\">\n <div className=\"text-sm font-bold text-white\">{copy.nextTitle}</div>\n <div className=\"text-sm text-slate-300\">{copy.nextBody}</div>\n </div>\n <div className=\"flex flex-col sm:flex-row gap-3 w-full md:w-auto\">\n <a\n href={agentCliHref}\n onClick={(event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'open_agent_cli_body' })\n }\n className=\"inline-flex items-center justify-center gap-2 px-5 py-3 rounded-xl bg-white text-slate-900 font-bold hover:scale-[1.02] transition w-full md:w-auto\"\n >\n {copy.ctaPrimary} <ArrowRight size={16} />\n </a>\n <a\n href={sampleProjectHref}\n onClick={(event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'open_sample_project_footer' })\n }\n className=\"inline-flex items-center justify-center gap-2 px-5 py-3 rounded-xl border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition w-full md:w-auto\"\n >\n {copy.nextCtaSample} <ArrowRight size={16} />\n </a>\n </div>\n </section>\n\n <section\n id=\"design-partner\"\n className=\"max-w-3xl mx-auto bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-4\"\n >\n <div className=\"text-lg font-bold text-white\">{t('landing.partner.title')}</div>\n <div className=\"text-sm text-slate-300 leading-relaxed\">{t('landing.partner.body')}</div>\n <div className=\"flex flex-col sm:flex-row gap-3\">\n <a\n href={partnerMailto}\n onClick={(event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'email_design_partner' })\n }\n className=\"flex-1 inline-flex items-center justify-center gap-2 px-4 py-3 rounded-xl bg-blue-500 text-white font-bold hover:bg-blue-600 transition\"\n >\n {t('landing.partner.emailCta')} <ArrowRight size={16} />\n </a>\n <a\n href=\"https://x.com/shipscreenscom\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n onClick={() => trackEvent('tool_cta_click', { tool: 'store_assets_pipeline', cta: 'dm_design_partner' })}\n className=\"flex-1 inline-flex items-center justify-center gap-2 px-4 py-3 rounded-xl border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition\"\n >\n {t('landing.partner.dmCta')}\n </a>\n </div>\n <div className=\"text-xs text-slate-500\">\n {t('landing.partner.emailLabel')}{' '}\n <a href={`mailto:${supportEmail}`} className=\"underline underline-offset-4 hover:text-white\">\n {supportEmail}\n </a>\n </div>\n </section>\n\n <section className=\"max-w-3xl mx-auto text-center space-y-4 pt-2\">\n <a\n href=\"/tools/\"\n onClick={() => trackEvent('tool_cta_click', { tool: 'store_assets_pipeline', cta: 'back_to_tools' })}\n className=\"text-xs text-slate-500 hover:text-slate-300 transition-colors underline underline-offset-4\"\n >\n {copy.ctaSecondary}\n </a>\n </section>\n </main>\n <StickyMobileCta\n primary={{\n label: copy.ctaPrimary,\n href: agentCliHref,\n onClick: (event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'sticky_primary' }),\n }}\n secondary={{\n label: copy.nextCtaSample,\n href: sampleProjectHref,\n onClick: (event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'sticky_secondary' }),\n }}\n />\n </div>\n );\n};\n\nexport default StoreAssetsPipeline;\n"],"names":["__iconNode","Tablet","createLucideIcon","normalizeLang","lang","COPY","Grid","Crop","StoreAssetsPipeline","i18n","t","useTranslation","copy","supportEmail","partnerSubject","partnerBody","partnerMailto","openAppHref","agentCliHref","firstExportHref","sampleProjectHref","configDownloadHref","csvDownloadHref","copyButtonLabel","codeToggleLabel","defaultCodeOpen","usePageTitle","useEffect","trackEvent","jsxs","jsx","StagingBadge","SiteHeader","event","trackEventAndFollowLink","ArrowRight","CopyButton","copyLabel","copyState","Fragment","Copy","ChevronDown","CliPreflightCard","step","item","Icon","bullet","asset","StickyMobileCta"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"StoreAssetsPipeline-4hXRONUd.js","sources":["../../node_modules/lucide-react/dist/esm/icons/tablet.js","../../src/pages/StoreAssetsPipeline.jsx"],"sourcesContent":["/**\n * @license lucide-react v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"16\", height: \"20\", x: \"4\", y: \"2\", rx: \"2\", ry: \"2\", key: \"76otgf\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"18\", y2: \"18\", key: \"1dp563\" }]\n];\nconst Tablet = createLucideIcon(\"tablet\", __iconNode);\n\nexport { __iconNode, Tablet as default };\n//# sourceMappingURL=tablet.js.map\n","import React, { useEffect, useMemo } from 'react';\nimport { ArrowRight, ChevronDown, Copy, Crop, Grid, Tablet } from 'lucide-react';\nimport { useTranslation } from 'react-i18next';\nimport CopyButton from '../components/CopyButton';\nimport CliPreflightCard from '../components/CliPreflightCard';\nimport StagingBadge from '../components/StagingBadge';\nimport StickyMobileCta from '../components/StickyMobileCta';\nimport SiteHeader from '../components/SiteHeader';\nimport usePageTitle from '../hooks/usePageTitle';\nimport { trackEvent, trackEventAndFollowLink } from '../lib/analytics';\n\nconst normalizeLang = (lang) => {\n const base = (lang || '').split('-')[0];\n return base === 'ja' ? 'ja' : 'en';\n};\n\nconst COPY = {\n en: {\n badge: 'Store assets pipeline kit',\n title: 'Store Assets Pipeline Kit',\n subtitle:\n 'Capture → copy → layout → export. Replace manual Figma/Canva edits and brittle AI drafts before App Store / Google Play uploads, and sanity-check App Review / ASO constraints.',\n heroCliTitle: 'CLI quickstart (2 steps)',\n heroCliNote: 'wizard → build (raw mode, no Playwright).',\n heroCliSummary: 'Outputs: fastlane/ + reproducible ZIP (local/CI).',\n heroCliCopyLabel: 'Copy all commands',\n heroCliTemplatesLabel: 'Starter templates',\n heroCliConfigLabel: 'config.yml',\n heroCliCsvLabel: 'copy.csv',\n heroCliCmd: [\n 'npx --yes shipscreens wizard',\n 'npx --yes shipscreens build --mode raw --zip --out out/agent',\n ].join('\\n'),\n proUnlockTitle: 'Unlock Pro (CLI)',\n proUnlockBody: 'Remove the watermark and unlock full matrix batch exports via CLI auth:',\n proUnlockCmd: 'npx --yes shipscreens auth login',\n proUnlockNote: 'Completes a one-time browser sign-in; then rerun build with --require-pro.',\n navTools: 'Tools',\n overviewTitle: 'Pipeline overview',\n overviewSteps: ['Capture', 'Copy', 'Layout', 'Export', 'Upload (ASC/Play)'],\n checklistTitle: 'Checklists',\n checklists: [\n {\n key: 'ipad13',\n icon: Tablet,\n title: 'iPad 13-inch capture',\n body: 'Get the right source before you generate.',\n bullets: [\n 'Use a real device shot when possible (13-inch / 2064x2752).',\n 'If you use Simulator, export at native size (no scaling).',\n 'Keep UI clean; avoid overlays that won’t match store previews.',\n ],\n },\n {\n key: 'buckets',\n icon: Grid,\n title: 'Size bucket shortcuts',\n body: 'Start minimal, expand later.',\n bullets: [\n 'iPhone-only: pick the largest iPhone bucket first.',\n 'Add iPad 13-inch only if you ship iPad-first.',\n 'Android: one phone bucket; add tablet only if needed.',\n ],\n },\n {\n key: 'play-safe',\n icon: Crop,\n title: 'Play feature graphic safe area',\n body: 'Avoid hidden crops in Play previews.',\n bullets: [\n 'Keep text/logos inside the central 80-86% area.',\n 'Avoid edge-aligned UI; Play crops in some previews.',\n 'Preview in Play Console before you finalize.',\n ],\n },\n ],\n note: 'Translation happens outside ShipScreens; we focus on reproducible exports, Fastlane-ready outputs, and CI guardrails (verify + stage).',\n scopeNote: 'Upload is handled in App Store Connect / Play Console.',\n assetsTitle: 'Templates & tools',\n assetsCta: 'Open tool',\n assets: [\n {\n key: 'csv',\n title: 'Screenshot copy CSV template',\n desc: 'Download a copy template and estimate workload.',\n href: '/tools/screenshot-workload-calculator/',\n },\n {\n key: 'framework',\n title: '5-panel screenshot script',\n desc: 'Hook -> Problem -> Proof -> How -> CTA.',\n href: '/tools/5-panel-screenshot-framework/',\n },\n ],\n nextTitle: 'Next: start from a sample project',\n nextBody: 'Open a sample project, swap screenshots + copy, then export the first set.',\n nextCtaSample: 'Open sample project',\n ctaPrimary: 'Run CLI first export',\n ctaSecondary: 'Back to tools',\n },\n ja: {\n badge: 'ストア素材パイプラインキット',\n title: 'ストア素材パイプラインキット',\n subtitle:\n 'Capture → Copy → Layout → Export。Figma/Canvaの手作業やAI下書きの不安定さをアップロード前に整え、App Review/ASO の制約もチェック。',\n heroCliTitle: 'CLIクイックスタート(2ステップ)',\n heroCliNote: 'wizard → build(raw / Playwright不要)。',\n heroCliSummary: '出力: fastlane/ + 再現性ZIP(ローカル/CI)。',\n heroCliCopyLabel: 'コマンドをすべてコピー',\n heroCliTemplatesLabel: 'スターター雛形',\n heroCliConfigLabel: 'config.yml',\n heroCliCsvLabel: 'copy.csv',\n heroCliCmd: [\n 'npx --yes shipscreens wizard',\n 'npx --yes shipscreens build --mode raw --zip --out out/agent',\n ].join('\\n'),\n proUnlockTitle: 'Proを解除(CLI)',\n proUnlockBody: '透かし解除&フル一括(端末×言語)のために、まずはCLI認証を実行:',\n proUnlockCmd: 'npx --yes shipscreens auth login',\n proUnlockNote: '初回のみブラウザでサインインします。以後は --require-pro で再実行。',\n navTools: 'ツール一覧',\n overviewTitle: 'パイプライン概要',\n overviewSteps: ['素材取り', 'コピー', 'レイアウト', '出力', 'アップロード (ASC/Play)'],\n checklistTitle: 'チェックリスト',\n checklists: [\n {\n key: 'ipad13',\n icon: Tablet,\n title: 'iPad 13-inch 実スクショ',\n body: '生成前の素材を揃える。',\n bullets: [\n '実機があれば 13-inch / 2064x2752 の実スクショを用意。',\n 'Simulator を使う場合は native サイズで書き出す。',\n 'ストア表示とズレるUIオーバーレイは避ける。',\n ],\n },\n {\n key: 'buckets',\n icon: Grid,\n title: 'サイズバケット削減',\n body: '最小セットでまず出す。',\n bullets: [\n 'iPhone-only は最大サイズ1バケットから。',\n 'iPad は13-inchが必要な場合のみ追加。',\n 'Android はスマホ1バケット、必要ならタブレット。',\n ],\n },\n {\n key: 'play-safe',\n icon: Crop,\n title: 'Play feature graphic 安全域',\n body: '隠れクロップを避ける。',\n bullets: [\n '文字/ロゴは中央 80-86% に収める。',\n '端に寄せすぎない(プレビューで切れる)。',\n 'Play Console のプレビューで最終確認。',\n ],\n },\n ],\n note: '翻訳は外部でOK。ShipScreensはレイアウトの安定・再現性のある出力・Fastlane公式パスへの生成(CI)と、verify+stage の事故防止を担います。',\n scopeNote: 'アップロードは App Store Connect / Play Console 側で行います。',\n assetsTitle: 'テンプレ/ツール',\n assetsCta: 'ツールを開く',\n assets: [\n {\n key: 'csv',\n title: 'コピーCSVテンプレ + 作業量見積もり',\n desc: 'CSV雛形と端末x言語の計算。',\n href: '/tools/screenshot-workload-calculator/',\n },\n {\n key: 'framework',\n title: '5枚構成スクリプト',\n desc: 'Hook -> Problem -> Proof -> How -> CTA。',\n href: '/tools/5-panel-screenshot-framework/',\n },\n ],\n nextTitle: '次: サンプルから開始',\n nextBody: 'サンプルを開いて、スクショ差し替え → CSV copy → Export まで最短で。',\n nextCtaSample: 'サンプルを開く',\n ctaPrimary: 'CLIで初回エクスポート',\n ctaSecondary: 'ツール一覧へ',\n },\n};\n\nconst StoreAssetsPipeline = () => {\n const { i18n, t } = useTranslation();\n const lang = normalizeLang(i18n.resolvedLanguage || i18n.language);\n const copy = COPY[lang] || COPY.en;\n const supportEmail = 'support@shimaumaservices.co.jp';\n const partnerSubject = t('landing.partner.emailSubject', { defaultValue: 'ShipScreens first export review' });\n const partnerBody = t('landing.partner.emailBody', { defaultValue: '' });\n const partnerMailto = `mailto:${supportEmail}?subject=${encodeURIComponent(partnerSubject)}&body=${encodeURIComponent(\n partnerBody\n )}`;\n const openAppHref = '/app/?sample=5panel&entry_source=store_assets_pipeline_open_app_header';\n const agentCliHref = '/tools/agent-cli/';\n const firstExportHref = '/tools/first-export/?entry_source=store_assets_pipeline_primary_cta';\n const sampleProjectHref = '/app/?sample=5panel&entry_source=store_assets_pipeline_open_sample_project';\n const configDownloadHref = '/downloads/shipscreens-agent-cli-config.yml';\n const csvDownloadHref = '/downloads/shipscreens-agent-cli-copy.csv';\n const copyButtonLabel = t('common.copy', { defaultValue: 'Copy' });\n const codeToggleLabel = t('common.showCommands', { defaultValue: 'Show commands' });\n const defaultCodeOpen = typeof window === 'undefined' ? true : window.matchMedia('(min-width: 640px)').matches;\n\n usePageTitle('titles.storeAssetsPipeline', { defaultValue: copy.title });\n\n useEffect(() => {\n trackEvent('tool_view', { tool: 'store_assets_pipeline' });\n }, []);\n\n return (\n <div className=\"min-h-screen bg-gradient-to-b from-slate-950 via-slate-900 to-slate-950 text-white\">\n <StagingBadge />\n <SiteHeader\n variant=\"dark\"\n active=\"tools\"\n openAppHref={openAppHref}\n onToolsClick={(event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'open_tools_header' })\n }\n onPricingClick={(event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'pricing_header' })\n }\n onOpenAppClick={(event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'open_app_header' })\n }\n primaryCta={{\n href: firstExportHref,\n label: (\n <span className=\"inline-flex items-center gap-2\">\n {t('landing.nav.primaryCta')} <ArrowRight size={16} />\n </span>\n ),\n onClick: (event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'open_first_export_header' }),\n }}\n />\n\n <main className=\"max-w-5xl mx-auto px-6 pb-24 space-y-10\">\n <section className=\"max-w-3xl mx-auto text-center space-y-4\">\n <div className=\"inline-flex items-center gap-2 px-3 py-1.5 rounded-full border border-slate-800 bg-slate-900/60 text-slate-200 text-xs font-semibold\">\n {copy.badge}\n </div>\n <h1 className=\"text-3xl md:text-5xl font-black leading-tight\">{copy.title}</h1>\n <p className=\"text-slate-300 text-lg leading-relaxed\">{copy.subtitle}</p>\n <a\n href=\"#design-partner\"\n onClick={() => trackEvent('tool_cta_click', { tool: 'store_assets_pipeline', cta: 'jump_design_partner' })}\n className=\"inline-flex items-center gap-1 text-sm text-blue-200 hover:text-blue-100 underline underline-offset-4\"\n >\n {t('landing.partner.jumpCta', { defaultValue: t('landing.partner.emailCta') })} <ArrowRight size={14} />\n </a>\n <div className=\"max-w-xl mx-auto text-left bg-slate-900/60 border border-slate-800 rounded-2xl p-4 space-y-2\">\n <div className=\"text-[11px] uppercase tracking-[0.2em] text-slate-500 font-semibold\">{copy.heroCliTitle}</div>\n <p className=\"text-xs text-slate-400\">{copy.heroCliNote}</p>\n <p className=\"text-xs text-slate-500\">{copy.heroCliSummary}</p>\n <CopyButton\n value={copy.heroCliCmd}\n onCopied={() => trackEvent('tool_cta_click', { tool: 'store_assets_pipeline', cta: 'copy_cli_hero' })}\n className=\"inline-flex items-center justify-center gap-2 px-3 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-xs font-semibold\"\n >\n {({ copyLabel, copyState }) => (\n <>\n <Copy size={14} />\n {copyState === 'idle' ? copy.heroCliCopyLabel : copyLabel || copyButtonLabel}\n </>\n )}\n </CopyButton>\n <details className=\"group\" open={defaultCodeOpen}>\n <summary className=\"flex items-center justify-between text-[11px] font-semibold text-slate-400 cursor-pointer list-none\">\n <span>{codeToggleLabel}</span>\n <ChevronDown size={14} className=\"text-slate-500 transition-transform duration-200 group-open:rotate-180\" />\n </summary>\n <div className=\"mt-2 rounded-xl border border-slate-800 bg-slate-950 p-3\">\n <pre className=\"text-xs text-slate-200 whitespace-pre-wrap\">{copy.heroCliCmd}</pre>\n </div>\n </details>\n <div className=\"pt-1 space-y-2\">\n <div className=\"text-[10px] uppercase tracking-[0.2em] text-slate-500 font-semibold\">\n {copy.heroCliTemplatesLabel}\n </div>\n <div className=\"flex flex-wrap gap-2\">\n <a\n href={configDownloadHref}\n download\n onClick={() => trackEvent('tool_download', { tool: 'store_assets_pipeline', asset: 'config_template' })}\n className=\"inline-flex items-center justify-center gap-2 px-2.5 py-1.5 rounded-md border border-slate-700 bg-slate-950 text-[11px] text-slate-200 hover:bg-slate-900 transition\"\n >\n {copy.heroCliConfigLabel}\n </a>\n <a\n href={csvDownloadHref}\n download\n onClick={() => trackEvent('tool_download', { tool: 'store_assets_pipeline', asset: 'copy_template' })}\n className=\"inline-flex items-center justify-center gap-2 px-2.5 py-1.5 rounded-md border border-slate-700 bg-slate-950 text-[11px] text-slate-200 hover:bg-slate-900 transition\"\n >\n {copy.heroCliCsvLabel}\n </a>\n </div>\n </div>\n </div>\n <CliPreflightCard\n compact\n href=\"/tools/agent-cli/#preflight\"\n onClick={(event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'open_cli_preflight' })\n }\n className=\"max-w-xl mx-auto\"\n />\n <section className=\"max-w-xl mx-auto\">\n <div className=\"bg-slate-900/60 border border-slate-800 rounded-2xl p-5 space-y-3\">\n <div className=\"flex items-center justify-between gap-3\">\n <div className=\"text-sm font-bold text-white\">{copy.proUnlockTitle}</div>\n <span className=\"text-[10px] font-semibold tracking-[0.2em] text-amber-200 bg-amber-500/10 border border-amber-400/30 px-2 py-1 rounded-full\">\n PRO\n </span>\n </div>\n {copy.proUnlockBody && <p className=\"text-sm text-slate-300\">{copy.proUnlockBody}</p>}\n <div className=\"rounded-xl border border-slate-800 bg-slate-950/80 p-4\">\n <pre className=\"text-xs text-slate-200 whitespace-pre-wrap\">{copy.proUnlockCmd}</pre>\n </div>\n <CopyButton\n value={copy.proUnlockCmd}\n onCopied={() => trackEvent('tool_cta_click', { tool: 'store_assets_pipeline', cta: 'copy_cli_pro_unlock' })}\n className=\"inline-flex items-center justify-center gap-2 px-4 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-sm font-semibold\"\n >\n {({ copyLabel }) => (\n <>\n <Copy size={14} />\n {copyLabel || copyButtonLabel}\n </>\n )}\n </CopyButton>\n {copy.proUnlockNote && <div className=\"text-xs text-slate-500\">{copy.proUnlockNote}</div>}\n </div>\n </section>\n </section>\n\n <section className=\"space-y-4\">\n <h2 className=\"text-lg font-bold text-white text-center\">{copy.overviewTitle}</h2>\n <div className=\"flex flex-wrap justify-center gap-2 text-sm text-slate-300\">\n {copy.overviewSteps.map((step) => (\n <span key={step} className=\"px-3 py-1 rounded-full border border-slate-800 bg-slate-900/70\">\n {step}\n </span>\n ))}\n </div>\n </section>\n\n <section className=\"space-y-4\">\n <h2 className=\"text-lg font-bold text-white text-center\">{copy.checklistTitle}</h2>\n <div className=\"grid md:grid-cols-3 gap-6\">\n {copy.checklists.map((item) => {\n const Icon = item.icon;\n return (\n <div key={item.key} className=\"bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-4\">\n <div className=\"flex items-center gap-3\">\n <div className=\"w-10 h-10 rounded-xl border border-slate-800 bg-slate-950 flex items-center justify-center\">\n <Icon size={18} className=\"text-slate-200\" />\n </div>\n <div className=\"text-lg font-bold text-white\">{item.title}</div>\n </div>\n <p className=\"text-sm text-slate-300 leading-relaxed\">{item.body}</p>\n <ul className=\"text-xs text-slate-400 list-disc pl-4 space-y-1\">\n {item.bullets.map((bullet) => (\n <li key={bullet}>{bullet}</li>\n ))}\n </ul>\n </div>\n );\n })}\n </div>\n <div className=\"text-xs text-slate-500 text-center space-y-1\">\n <p>{copy.note}</p>\n <p>{copy.scopeNote}</p>\n </div>\n </section>\n\n <section className=\"space-y-4\">\n <h2 className=\"text-lg font-bold text-white text-center\">{copy.assetsTitle}</h2>\n <div className=\"grid md:grid-cols-2 gap-6\">\n {copy.assets.map((asset) => (\n <a\n key={asset.key}\n href={asset.href}\n onClick={() => trackEvent('tool_cta_click', { tool: 'store_assets_pipeline', cta: `open_${asset.key}` })}\n className=\"bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-3 hover:border-slate-700 transition\"\n >\n <div className=\"text-lg font-bold text-white\">{asset.title}</div>\n <div className=\"text-sm text-slate-300\">{asset.desc}</div>\n <div className=\"text-xs text-blue-200 flex items-center gap-2\">\n {copy.assetsCta} <ArrowRight size={14} />\n </div>\n </a>\n ))}\n </div>\n </section>\n\n <section className=\"bg-slate-900/60 border border-slate-800 rounded-2xl p-6 flex flex-col md:flex-row items-start md:items-center justify-between gap-4\">\n <div className=\"space-y-1\">\n <div className=\"text-sm font-bold text-white\">{copy.nextTitle}</div>\n <div className=\"text-sm text-slate-300\">{copy.nextBody}</div>\n </div>\n <div className=\"flex flex-col sm:flex-row gap-3 w-full md:w-auto\">\n <a\n href={agentCliHref}\n onClick={(event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'open_agent_cli_body' })\n }\n className=\"inline-flex items-center justify-center gap-2 px-5 py-3 rounded-xl bg-white text-slate-900 font-bold hover:scale-[1.02] transition w-full md:w-auto\"\n >\n {copy.ctaPrimary} <ArrowRight size={16} />\n </a>\n <a\n href={sampleProjectHref}\n onClick={(event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'open_sample_project_footer' })\n }\n className=\"inline-flex items-center justify-center gap-2 px-5 py-3 rounded-xl border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition w-full md:w-auto\"\n >\n {copy.nextCtaSample} <ArrowRight size={16} />\n </a>\n </div>\n </section>\n\n <section\n id=\"design-partner\"\n className=\"max-w-3xl mx-auto bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-4\"\n >\n <div className=\"text-lg font-bold text-white\">{t('landing.partner.title')}</div>\n <div className=\"text-sm text-slate-300 leading-relaxed\">{t('landing.partner.body')}</div>\n <div className=\"flex flex-col sm:flex-row gap-3\">\n <a\n href={partnerMailto}\n onClick={(event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'email_design_partner' })\n }\n className=\"flex-1 inline-flex items-center justify-center gap-2 px-4 py-3 rounded-xl bg-blue-500 text-white font-bold hover:bg-blue-600 transition\"\n >\n {t('landing.partner.emailCta')} <ArrowRight size={16} />\n </a>\n <a\n href=\"https://x.com/shipscreenscom\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n onClick={() => trackEvent('tool_cta_click', { tool: 'store_assets_pipeline', cta: 'dm_design_partner' })}\n className=\"flex-1 inline-flex items-center justify-center gap-2 px-4 py-3 rounded-xl border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition\"\n >\n {t('landing.partner.dmCta')}\n </a>\n </div>\n <div className=\"text-xs text-slate-500\">\n {t('landing.partner.emailLabel')}{' '}\n <a href={`mailto:${supportEmail}`} className=\"underline underline-offset-4 hover:text-white\">\n {supportEmail}\n </a>\n </div>\n </section>\n\n <section className=\"max-w-3xl mx-auto text-center space-y-4 pt-2\">\n <a\n href=\"/tools/\"\n onClick={() => trackEvent('tool_cta_click', { tool: 'store_assets_pipeline', cta: 'back_to_tools' })}\n className=\"text-xs text-slate-500 hover:text-slate-300 transition-colors underline underline-offset-4\"\n >\n {copy.ctaSecondary}\n </a>\n </section>\n </main>\n <StickyMobileCta\n primary={{\n label: copy.ctaPrimary,\n href: agentCliHref,\n onClick: (event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'sticky_primary' }),\n }}\n secondary={{\n label: copy.nextCtaSample,\n href: sampleProjectHref,\n onClick: (event) =>\n trackEventAndFollowLink(event, 'tool_cta_click', { tool: 'store_assets_pipeline', cta: 'sticky_secondary' }),\n }}\n />\n </div>\n );\n};\n\nexport default StoreAssetsPipeline;\n"],"names":["__iconNode","Tablet","createLucideIcon","normalizeLang","lang","COPY","Grid","Crop","StoreAssetsPipeline","i18n","t","useTranslation","copy","supportEmail","partnerSubject","partnerBody","partnerMailto","openAppHref","agentCliHref","firstExportHref","sampleProjectHref","configDownloadHref","csvDownloadHref","copyButtonLabel","codeToggleLabel","defaultCodeOpen","usePageTitle","useEffect","trackEvent","jsxs","jsx","StagingBadge","SiteHeader","event","trackEventAndFollowLink","ArrowRight","CopyButton","copyLabel","copyState","Fragment","Copy","ChevronDown","CliPreflightCard","step","item","Icon","bullet","asset","StickyMobileCta"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{u as i,r as n,t as o,j as e,b as l}from"./index-B8Y8Y-Mi.js";import{c as r,a as p,S as d}from"./LanguageSwitcher-D93nCuuR.js";import{S as x}from"./SiteHeader-Dj3gDOnR.js";const u=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],m=r("circle-check-big",u),k=()=>{const{t}=i();p("titles.checkoutSuccess");const s=new URLSearchParams(typeof window<"u"?window.location.search:"").get("session_id"),c=s?`/app/?session_id=${s}`:"/app/";return n.useEffect(()=>{o("checkout_success_view",{has_session_id:!!s})},[s]),e.jsxs("div",{className:"min-h-screen bg-slate-50 text-slate-800 flex flex-col",children:[e.jsx(d,{}),e.jsx(x,{variant:"light",showX:!1,openAppHref:c}),e.jsx("main",{className:"flex-1 flex items-center justify-center px-6 py-10",children:e.jsxs("div",{className:"max-w-lg w-full bg-white border border-slate-200 rounded-2xl shadow-sm p-8 text-center space-y-4",children:[e.jsx(m,{size:48,className:"text-green-500 mx-auto"}),e.jsx("h1",{className:"text-2xl font-bold",children:t("pages.success.title")}),e.jsx("p",{className:"text-slate-600",children:t("pages.success.description")}),e.jsx("a",{href:c,onClick:a=>l(a,"checkout_success_cta_click",{cta:"open_app"}),className:"inline-flex justify-center items-center px-4 py-2 rounded-lg bg-blue-600 text-white font-semibold hover:bg-blue-700",children:t("pages.success.action")})]})})]})};export{k as default};
2
- //# sourceMappingURL=Success-B7k7FvJj.js.map
1
+ import{u as i,r as n,t as o,j as e,b as l}from"./index-Bqv2NztY.js";import{c as r,a as p,S as d}from"./LanguageSwitcher-BD9N-dla.js";import{S as x}from"./SiteHeader-DxsqNPnt.js";const u=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],m=r("circle-check-big",u),k=()=>{const{t}=i();p("titles.checkoutSuccess");const s=new URLSearchParams(typeof window<"u"?window.location.search:"").get("session_id"),c=s?`/app/?session_id=${s}`:"/app/";return n.useEffect(()=>{o("checkout_success_view",{has_session_id:!!s})},[s]),e.jsxs("div",{className:"min-h-screen bg-slate-50 text-slate-800 flex flex-col",children:[e.jsx(d,{}),e.jsx(x,{variant:"light",showX:!1,openAppHref:c}),e.jsx("main",{className:"flex-1 flex items-center justify-center px-6 py-10",children:e.jsxs("div",{className:"max-w-lg w-full bg-white border border-slate-200 rounded-2xl shadow-sm p-8 text-center space-y-4",children:[e.jsx(m,{size:48,className:"text-green-500 mx-auto"}),e.jsx("h1",{className:"text-2xl font-bold",children:t("pages.success.title")}),e.jsx("p",{className:"text-slate-600",children:t("pages.success.description")}),e.jsx("a",{href:c,onClick:a=>l(a,"checkout_success_cta_click",{cta:"open_app"}),className:"inline-flex justify-center items-center px-4 py-2 rounded-lg bg-blue-600 text-white font-semibold hover:bg-blue-700",children:t("pages.success.action")})]})})]})};export{k as default};
2
+ //# sourceMappingURL=Success-819qvzmp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Success-B7k7FvJj.js","sources":["../../node_modules/lucide-react/dist/esm/icons/circle-check-big.js","../../src/pages/Success.jsx"],"sourcesContent":["/**\n * @license lucide-react v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M21.801 10A10 10 0 1 1 17 3.335\", key: \"yps3ct\" }],\n [\"path\", { d: \"m9 11 3 3L22 4\", key: \"1pflzl\" }]\n];\nconst CircleCheckBig = createLucideIcon(\"circle-check-big\", __iconNode);\n\nexport { __iconNode, CircleCheckBig as default };\n//# sourceMappingURL=circle-check-big.js.map\n","import React, { useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { CheckCircle } from 'lucide-react';\nimport StagingBadge from '../components/StagingBadge';\nimport SiteHeader from '../components/SiteHeader';\nimport usePageTitle from '../hooks/usePageTitle';\nimport { trackEvent, trackEventAndFollowLink } from '../lib/analytics';\n\nconst Success = () => {\n const { t } = useTranslation();\n usePageTitle('titles.checkoutSuccess');\n const params = new URLSearchParams(typeof window !== 'undefined' ? window.location.search : '');\n const sessionId = params.get('session_id');\n const appLink = sessionId ? `/app/?session_id=${sessionId}` : '/app/';\n\n useEffect(() => {\n trackEvent('checkout_success_view', { has_session_id: Boolean(sessionId) });\n }, [sessionId]);\n\n return (\n <div className=\"min-h-screen bg-slate-50 text-slate-800 flex flex-col\">\n <StagingBadge />\n <SiteHeader variant=\"light\" showX={false} openAppHref={appLink} />\n <main className=\"flex-1 flex items-center justify-center px-6 py-10\">\n <div className=\"max-w-lg w-full bg-white border border-slate-200 rounded-2xl shadow-sm p-8 text-center space-y-4\">\n <CheckCircle size={48} className=\"text-green-500 mx-auto\" />\n <h1 className=\"text-2xl font-bold\">{t('pages.success.title')}</h1>\n <p className=\"text-slate-600\">{t('pages.success.description')}</p>\n <a\n href={appLink}\n onClick={(event) =>\n trackEventAndFollowLink(event, 'checkout_success_cta_click', { cta: 'open_app' })\n }\n className=\"inline-flex justify-center items-center px-4 py-2 rounded-lg bg-blue-600 text-white font-semibold hover:bg-blue-700\"\n >\n {t('pages.success.action')}\n </a>\n </div>\n </main>\n </div>\n );\n};\n\nexport default Success;\n"],"names":["__iconNode","CircleCheckBig","createLucideIcon","Success","useTranslation","usePageTitle","sessionId","appLink","useEffect","trackEvent","jsxs","jsx","StagingBadge","SiteHeader","CheckCircle","event","trackEventAndFollowLink"],"mappings":"kLASA,MAAMA,EAAa,CACjB,CAAC,OAAQ,CAAE,EAAG,kCAAmC,IAAK,QAAQ,CAAE,EAChE,CAAC,OAAQ,CAAE,EAAG,iBAAkB,IAAK,QAAQ,CAAE,CACjD,EACMC,EAAiBC,EAAiB,mBAAoBF,CAAU,ECLhEG,EAAU,IAAM,CACpB,KAAM,CAAE,CAAA,EAAMC,EAAA,EACdC,EAAa,wBAAwB,EAErC,MAAMC,EADS,IAAI,gBAAgB,OAAO,OAAW,IAAc,OAAO,SAAS,OAAS,EAAE,EACrE,IAAI,YAAY,EACnCC,EAAUD,EAAY,oBAAoBA,CAAS,GAAK,QAE9DE,OAAAA,EAAAA,UAAU,IAAM,CACdC,EAAW,wBAAyB,CAAE,eAAgB,EAAQH,EAAY,CAC5E,EAAG,CAACA,CAAS,CAAC,EAGZI,EAAAA,KAAC,MAAA,CAAI,UAAU,wDACb,SAAA,CAAAC,EAAAA,IAACC,EAAA,EAAa,QACbC,EAAA,CAAW,QAAQ,QAAQ,MAAO,GAAO,YAAaN,EAAS,QAC/D,OAAA,CAAK,UAAU,qDACd,SAAAG,EAAAA,KAAC,MAAA,CAAI,UAAU,mGACb,SAAA,CAAAC,EAAAA,IAACG,EAAA,CAAY,KAAM,GAAI,UAAU,yBAAyB,QACzD,KAAA,CAAG,UAAU,qBAAsB,SAAA,EAAE,qBAAqB,EAAE,QAC5D,IAAA,CAAE,UAAU,iBAAkB,SAAA,EAAE,2BAA2B,EAAE,EAC9DH,EAAAA,IAAC,IAAA,CACC,KAAMJ,EACN,QAAUQ,GACRC,EAAwBD,EAAO,6BAA8B,CAAE,IAAK,WAAY,EAElF,UAAU,sHAET,WAAE,sBAAsB,CAAA,CAAA,CAC3B,CAAA,CACF,CAAA,CACF,CAAA,EACF,CAEJ","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"Success-819qvzmp.js","sources":["../../node_modules/lucide-react/dist/esm/icons/circle-check-big.js","../../src/pages/Success.jsx"],"sourcesContent":["/**\n * @license lucide-react v0.563.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M21.801 10A10 10 0 1 1 17 3.335\", key: \"yps3ct\" }],\n [\"path\", { d: \"m9 11 3 3L22 4\", key: \"1pflzl\" }]\n];\nconst CircleCheckBig = createLucideIcon(\"circle-check-big\", __iconNode);\n\nexport { __iconNode, CircleCheckBig as default };\n//# sourceMappingURL=circle-check-big.js.map\n","import React, { useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { CheckCircle } from 'lucide-react';\nimport StagingBadge from '../components/StagingBadge';\nimport SiteHeader from '../components/SiteHeader';\nimport usePageTitle from '../hooks/usePageTitle';\nimport { trackEvent, trackEventAndFollowLink } from '../lib/analytics';\n\nconst Success = () => {\n const { t } = useTranslation();\n usePageTitle('titles.checkoutSuccess');\n const params = new URLSearchParams(typeof window !== 'undefined' ? window.location.search : '');\n const sessionId = params.get('session_id');\n const appLink = sessionId ? `/app/?session_id=${sessionId}` : '/app/';\n\n useEffect(() => {\n trackEvent('checkout_success_view', { has_session_id: Boolean(sessionId) });\n }, [sessionId]);\n\n return (\n <div className=\"min-h-screen bg-slate-50 text-slate-800 flex flex-col\">\n <StagingBadge />\n <SiteHeader variant=\"light\" showX={false} openAppHref={appLink} />\n <main className=\"flex-1 flex items-center justify-center px-6 py-10\">\n <div className=\"max-w-lg w-full bg-white border border-slate-200 rounded-2xl shadow-sm p-8 text-center space-y-4\">\n <CheckCircle size={48} className=\"text-green-500 mx-auto\" />\n <h1 className=\"text-2xl font-bold\">{t('pages.success.title')}</h1>\n <p className=\"text-slate-600\">{t('pages.success.description')}</p>\n <a\n href={appLink}\n onClick={(event) =>\n trackEventAndFollowLink(event, 'checkout_success_cta_click', { cta: 'open_app' })\n }\n className=\"inline-flex justify-center items-center px-4 py-2 rounded-lg bg-blue-600 text-white font-semibold hover:bg-blue-700\"\n >\n {t('pages.success.action')}\n </a>\n </div>\n </main>\n </div>\n );\n};\n\nexport default Success;\n"],"names":["__iconNode","CircleCheckBig","createLucideIcon","Success","useTranslation","usePageTitle","sessionId","appLink","useEffect","trackEvent","jsxs","jsx","StagingBadge","SiteHeader","CheckCircle","event","trackEventAndFollowLink"],"mappings":"kLASA,MAAMA,EAAa,CACjB,CAAC,OAAQ,CAAE,EAAG,kCAAmC,IAAK,QAAQ,CAAE,EAChE,CAAC,OAAQ,CAAE,EAAG,iBAAkB,IAAK,QAAQ,CAAE,CACjD,EACMC,EAAiBC,EAAiB,mBAAoBF,CAAU,ECLhEG,EAAU,IAAM,CACpB,KAAM,CAAE,CAAA,EAAMC,EAAA,EACdC,EAAa,wBAAwB,EAErC,MAAMC,EADS,IAAI,gBAAgB,OAAO,OAAW,IAAc,OAAO,SAAS,OAAS,EAAE,EACrE,IAAI,YAAY,EACnCC,EAAUD,EAAY,oBAAoBA,CAAS,GAAK,QAE9DE,OAAAA,EAAAA,UAAU,IAAM,CACdC,EAAW,wBAAyB,CAAE,eAAgB,EAAQH,EAAY,CAC5E,EAAG,CAACA,CAAS,CAAC,EAGZI,EAAAA,KAAC,MAAA,CAAI,UAAU,wDACb,SAAA,CAAAC,EAAAA,IAACC,EAAA,EAAa,QACbC,EAAA,CAAW,QAAQ,QAAQ,MAAO,GAAO,YAAaN,EAAS,QAC/D,OAAA,CAAK,UAAU,qDACd,SAAAG,EAAAA,KAAC,MAAA,CAAI,UAAU,mGACb,SAAA,CAAAC,EAAAA,IAACG,EAAA,CAAY,KAAM,GAAI,UAAU,yBAAyB,QACzD,KAAA,CAAG,UAAU,qBAAsB,SAAA,EAAE,qBAAqB,EAAE,QAC5D,IAAA,CAAE,UAAU,iBAAkB,SAAA,EAAE,2BAA2B,EAAE,EAC9DH,EAAAA,IAAC,IAAA,CACC,KAAMJ,EACN,QAAUQ,GACRC,EAAwBD,EAAO,6BAA8B,CAAE,IAAK,WAAY,EAElF,UAAU,sHAET,WAAE,sBAAsB,CAAA,CAAA,CAC3B,CAAA,CACF,CAAA,CACF,CAAA,EACF,CAEJ","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{u as m,j as s}from"./index-B8Y8Y-Mi.js";import{a as r,S as l}from"./LanguageSwitcher-D93nCuuR.js";import{S as i}from"./SiteHeader-Dj3gDOnR.js";const d=()=>{const{t}=m();r("titles.terms");const e=t("terms.sections",{returnObjects:!0})||[];return s.jsxs("div",{className:"min-h-screen bg-slate-50 text-slate-800",children:[s.jsx(l,{}),s.jsx(i,{variant:"light",showX:!1}),s.jsxs("main",{className:"max-w-4xl mx-auto px-4 py-12",children:[s.jsx("h1",{className:"text-3xl font-bold mb-6",children:t("terms.title")}),s.jsx("p",{className:"mb-4",children:t("terms.intro")}),e.map(a=>s.jsx(n,{title:a.title,body:a.body},a.title)),s.jsx("p",{className:"mt-6 text-sm text-slate-600",children:t("terms.contact",{email:"support@shimaumaservices.co.jp"})})]})]})},n=({title:t,body:e})=>s.jsxs(s.Fragment,{children:[s.jsx("h2",{className:"text-xl font-semibold mt-6 mb-2",children:t}),s.jsx("p",{className:"mb-3",children:e})]});export{d as default};
2
- //# sourceMappingURL=Terms-DgJWOeUD.js.map
1
+ import{u as m,j as s}from"./index-Bqv2NztY.js";import{a as r,S as l}from"./LanguageSwitcher-BD9N-dla.js";import{S as i}from"./SiteHeader-DxsqNPnt.js";const d=()=>{const{t}=m();r("titles.terms");const e=t("terms.sections",{returnObjects:!0})||[];return s.jsxs("div",{className:"min-h-screen bg-slate-50 text-slate-800",children:[s.jsx(l,{}),s.jsx(i,{variant:"light",showX:!1}),s.jsxs("main",{className:"max-w-4xl mx-auto px-4 py-12",children:[s.jsx("h1",{className:"text-3xl font-bold mb-6",children:t("terms.title")}),s.jsx("p",{className:"mb-4",children:t("terms.intro")}),e.map(a=>s.jsx(n,{title:a.title,body:a.body},a.title)),s.jsx("p",{className:"mt-6 text-sm text-slate-600",children:t("terms.contact",{email:"support@shimaumaservices.co.jp"})})]})]})},n=({title:t,body:e})=>s.jsxs(s.Fragment,{children:[s.jsx("h2",{className:"text-xl font-semibold mt-6 mb-2",children:t}),s.jsx("p",{className:"mb-3",children:e})]});export{d as default};
2
+ //# sourceMappingURL=Terms-7k3nA4SU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Terms-DgJWOeUD.js","sources":["../../src/pages/Terms.jsx"],"sourcesContent":["import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport StagingBadge from '../components/StagingBadge';\nimport SiteHeader from '../components/SiteHeader';\nimport usePageTitle from '../hooks/usePageTitle';\n\nconst Terms = () => {\n const { t } = useTranslation();\n usePageTitle('titles.terms');\n const sections = t('terms.sections', { returnObjects: true }) || [];\n\n return (\n <div className=\"min-h-screen bg-slate-50 text-slate-800\">\n <StagingBadge />\n <SiteHeader variant=\"light\" showX={false} />\n\n <main className=\"max-w-4xl mx-auto px-4 py-12\">\n <h1 className=\"text-3xl font-bold mb-6\">{t('terms.title')}</h1>\n <p className=\"mb-4\">{t('terms.intro')}</p>\n {sections.map((section) => (\n <Section key={section.title} title={section.title} body={section.body} />\n ))}\n <p className=\"mt-6 text-sm text-slate-600\">{t('terms.contact', { email: 'support@shimaumaservices.co.jp' })}</p>\n </main>\n </div>\n );\n};\n\r\nconst Section = ({ title, body }) => (\r\n <>\r\n <h2 className=\"text-xl font-semibold mt-6 mb-2\">{title}</h2>\r\n <p className=\"mb-3\">{body}</p>\r\n </>\r\n);\r\n\r\nexport default Terms;\r\n"],"names":["Terms","useTranslation","usePageTitle","sections","jsxs","jsx","StagingBadge","SiteHeader","section","Section","title","body","Fragment"],"mappings":"sJAMA,MAAMA,EAAQ,IAAM,CAClB,KAAM,CAAE,CAAA,EAAMC,EAAA,EACdC,EAAa,cAAc,EAC3B,MAAMC,EAAW,EAAE,iBAAkB,CAAE,cAAe,EAAA,CAAM,GAAK,CAAA,EAEjE,OACEC,EAAAA,KAAC,MAAA,CAAI,UAAU,0CACb,SAAA,CAAAC,EAAAA,IAACC,EAAA,EAAa,EACdD,EAAAA,IAACE,EAAA,CAAW,QAAQ,QAAQ,MAAO,GAAO,EAE1CH,EAAAA,KAAC,OAAA,CAAK,UAAU,+BACd,SAAA,CAAAC,MAAC,KAAA,CAAG,UAAU,0BAA2B,SAAA,EAAE,aAAa,EAAE,QACzD,IAAA,CAAE,UAAU,OAAQ,SAAA,EAAE,aAAa,EAAE,EACrCF,EAAS,IAAKK,SACZC,EAAA,CAA4B,MAAOD,EAAQ,MAAO,KAAMA,EAAQ,IAAA,EAAnDA,EAAQ,KAAiD,CACxE,EACDH,EAAAA,IAAC,IAAA,CAAE,UAAU,8BAA+B,SAAA,EAAE,gBAAiB,CAAE,MAAO,gCAAA,CAAkC,CAAA,CAAE,CAAA,CAAA,CAC9G,CAAA,EACF,CAEJ,EAEMI,EAAU,CAAC,CAAE,MAAAC,EAAO,KAAAC,CAAA,IACxBP,OAAAQ,EAAAA,SAAA,CACE,SAAA,CAAAP,EAAAA,IAAC,KAAA,CAAG,UAAU,kCAAmC,SAAAK,EAAM,EACvDL,EAAAA,IAAC,IAAA,CAAE,UAAU,OAAQ,SAAAM,CAAA,CAAK,CAAA,EAC5B"}
1
+ {"version":3,"file":"Terms-7k3nA4SU.js","sources":["../../src/pages/Terms.jsx"],"sourcesContent":["import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport StagingBadge from '../components/StagingBadge';\nimport SiteHeader from '../components/SiteHeader';\nimport usePageTitle from '../hooks/usePageTitle';\n\nconst Terms = () => {\n const { t } = useTranslation();\n usePageTitle('titles.terms');\n const sections = t('terms.sections', { returnObjects: true }) || [];\n\n return (\n <div className=\"min-h-screen bg-slate-50 text-slate-800\">\n <StagingBadge />\n <SiteHeader variant=\"light\" showX={false} />\n\n <main className=\"max-w-4xl mx-auto px-4 py-12\">\n <h1 className=\"text-3xl font-bold mb-6\">{t('terms.title')}</h1>\n <p className=\"mb-4\">{t('terms.intro')}</p>\n {sections.map((section) => (\n <Section key={section.title} title={section.title} body={section.body} />\n ))}\n <p className=\"mt-6 text-sm text-slate-600\">{t('terms.contact', { email: 'support@shimaumaservices.co.jp' })}</p>\n </main>\n </div>\n );\n};\n\r\nconst Section = ({ title, body }) => (\r\n <>\r\n <h2 className=\"text-xl font-semibold mt-6 mb-2\">{title}</h2>\r\n <p className=\"mb-3\">{body}</p>\r\n </>\r\n);\r\n\r\nexport default Terms;\r\n"],"names":["Terms","useTranslation","usePageTitle","sections","jsxs","jsx","StagingBadge","SiteHeader","section","Section","title","body","Fragment"],"mappings":"sJAMA,MAAMA,EAAQ,IAAM,CAClB,KAAM,CAAE,CAAA,EAAMC,EAAA,EACdC,EAAa,cAAc,EAC3B,MAAMC,EAAW,EAAE,iBAAkB,CAAE,cAAe,EAAA,CAAM,GAAK,CAAA,EAEjE,OACEC,EAAAA,KAAC,MAAA,CAAI,UAAU,0CACb,SAAA,CAAAC,EAAAA,IAACC,EAAA,EAAa,EACdD,EAAAA,IAACE,EAAA,CAAW,QAAQ,QAAQ,MAAO,GAAO,EAE1CH,EAAAA,KAAC,OAAA,CAAK,UAAU,+BACd,SAAA,CAAAC,MAAC,KAAA,CAAG,UAAU,0BAA2B,SAAA,EAAE,aAAa,EAAE,QACzD,IAAA,CAAE,UAAU,OAAQ,SAAA,EAAE,aAAa,EAAE,EACrCF,EAAS,IAAKK,SACZC,EAAA,CAA4B,MAAOD,EAAQ,MAAO,KAAMA,EAAQ,IAAA,EAAnDA,EAAQ,KAAiD,CACxE,EACDH,EAAAA,IAAC,IAAA,CAAE,UAAU,8BAA+B,SAAA,EAAE,gBAAiB,CAAE,MAAO,gCAAA,CAAkC,CAAA,CAAE,CAAA,CAAA,CAC9G,CAAA,EACF,CAEJ,EAEMI,EAAU,CAAC,CAAE,MAAAC,EAAO,KAAAC,CAAA,IACxBP,OAAAQ,EAAAA,SAAA,CACE,SAAA,CAAAP,EAAAA,IAAC,KAAA,CAAG,UAAU,kCAAmC,SAAAK,EAAM,EACvDL,EAAAA,IAAC,IAAA,CAAE,UAAU,OAAQ,SAAAM,CAAA,CAAK,CAAA,EAC5B"}
@@ -1,6 +1,6 @@
1
- import{u as U,r as R,t as l,j as e,b as a}from"./index-B8Y8Y-Mi.js";import{A as o,C as d}from"./CopyButton-CGfuSJtU.js";import{C as O}from"./CliPreflightCard-CxYyogdF.js";import{c as u,a as B,S as D}from"./LanguageSwitcher-D93nCuuR.js";import{S as E}from"./StickyMobileCta-uyWGVhdc.js";import{S as H}from"./SiteHeader-Dj3gDOnR.js";import{T as f}from"./terminal-CGhryJds.js";import{R as C}from"./rocket-BjOXauLe.js";import{C as j}from"./calculator-CWfp5Day.js";import{L as _}from"./layout-grid-X9Sgull2.js";import{S as k}from"./shield-check-CFNhE_aD.js";import{C as h}from"./clipboard-copy-DgTgnK84.js";import"./circle-check-CeakjiXC.js";const M=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]],w=u("clipboard-list",M);const q=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],v=u("folder",q);const V=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],$=u("wrench",V),G=c=>(c||"").split("-")[0]==="ja"?"ja":"en",N={en:{badge:"Start here",title:"5-minute First Export + Tools",subtitle:"Replace manual Figma/Canva edits or brittle AI drafts by shipping a reproducible Fastlane-ready export first, then grab size buckets, safe areas, and CSV templates to keep every release aligned.",useCases:["Manual Figma/Canva edits","Brittle AI screenshot drafts","Fastlane/CI pipeline","App Review / ASO constraints"],heroCliTitle:"CLI quickstart (2 steps)",heroCliNote:"wizard → build (raw mode, no Playwright).",heroCliSummary:"Outputs: fastlane/ + reproducible ZIP (local/CI).",heroCliCopyLabel:"Copy all commands",heroCliProLabel:"Then unlock Pro:",heroCliProCmd:"npx --yes shipscreens auth login",heroCliTemplatesLabel:"Starter templates",heroCliConfigLabel:"config.yml",heroCliCsvLabel:"copy.csv",heroCliCmd:["npx --yes shipscreens wizard","npx --yes shipscreens build --mode raw --zip --out out/agent"].join(`
1
+ import{u as U,r as R,t as l,j as e,b as a}from"./index-Bqv2NztY.js";import{A as o,a as d}from"./CopyButton-CmVmSaYn.js";import{C as O}from"./CliPreflightCard-D7utpFux.js";import{c as u,a as B,S as D}from"./LanguageSwitcher-BD9N-dla.js";import{S as E}from"./StickyMobileCta-C_x2pUIF.js";import{S as H}from"./SiteHeader-DxsqNPnt.js";import{T as f}from"./terminal-BbBESfoU.js";import{R as C}from"./rocket-IzRFv1aW.js";import{C as j}from"./calculator-CiqKFdRp.js";import{L as _}from"./layout-grid-CpGXUPMR.js";import{S as k}from"./shield-check-CngdN3zn.js";import{C as h}from"./clipboard-copy-DCJioqIc.js";const M=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]],w=u("clipboard-list",M);const q=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],v=u("folder",q);const V=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],$=u("wrench",V),G=c=>(c||"").split("-")[0]==="ja"?"ja":"en",N={en:{badge:"Start here",title:"5-minute First Export + Tools",subtitle:"Replace manual Figma/Canva edits or brittle AI drafts by shipping a reproducible Fastlane-ready export first, then grab size buckets, safe areas, and CSV templates to keep every release aligned.",useCases:["Manual Figma/Canva edits","Brittle AI screenshot drafts","Fastlane/CI pipeline","App Review / ASO constraints"],heroCliTitle:"CLI quickstart (2 steps)",heroCliNote:"wizard → build (raw mode, no Playwright).",heroCliSummary:"Outputs: fastlane/ + reproducible ZIP (local/CI).",heroCliCopyLabel:"Copy all commands",heroCliProLabel:"Then unlock Pro:",heroCliProCmd:"npx --yes shipscreens auth login",heroCliTemplatesLabel:"Starter templates",heroCliConfigLabel:"config.yml",heroCliCsvLabel:"copy.csv",heroCliCmd:["npx --yes shipscreens wizard","npx --yes shipscreens build --mode raw --zip --out out/agent"].join(`
2
2
  `),noLogin:"No login required · Free tools",trustNote:"Privacy-first: screenshots stay on your device.",cards:[{key:"agent_cli",icon:f,title:"Agent + CLI Quickstart",desc:"CLI-first: scaffold config + placeholders, replace PNGs, and export locally/CI without opening the app.",href:"/tools/agent-cli/",cta:"Open the Agent + CLI guide"},{key:"first_export",icon:C,title:"5-minute First Export",desc:"Preview-before-pay: open the sample, swap screenshots + copy, and export a watermarked Fastlane-ready bundle.",href:"/tools/first-export/",cta:"Start the 5-minute export"},{key:"calculator",icon:j,title:"Screenshot Workload Calculator",desc:"See the real image count from devices x locales, and grab a CSV copy template.",href:"/tools/screenshot-workload-calculator/",cta:"Calculate workload"},{key:"fastlane_screenshots",icon:v,title:"Fastlane Screenshot Folder Structure",desc:"Copy/paste deliver + supply paths, and keep screenshot exports reproducible in CI.",href:"/tools/fastlane-screenshots/",cta:"Copy the Fastlane paths"},{key:"framework",icon:_,title:"5-panel Screenshot Framework",desc:"A 5-panel script that keeps screenshots consistent across sizes and locales.",href:"/tools/5-panel-screenshot-framework/",cta:"Download the framework"},{key:"pipeline",icon:w,title:"Store Assets Pipeline Kit",desc:"Safe-area guide, size buckets, and capture checklist for iPad 13-inch + App Review/ASO constraints.",href:"/tools/store-assets-pipeline/",cta:"Get the safe-area guide"},{key:"app_review_aso",icon:k,title:"App Review + ASO Quick Check",desc:"A short checklist for screenshot clarity, policy-safe claims, and safe areas before upload.",href:"/tools/app-review-aso/",cta:"Open the quick check"}],primaryCta:"Run CLI first export",secondaryCta:"Open sample project",cliTitle:"No browser? CLI quickstart",cliDesc:"Run a local export in raw mode (no Playwright required).",cliCmd:["npx --yes shipscreens wizard","# replace assets/en-US/01.png..05.png","npx --yes shipscreens build --mode raw --zip --out out/agent"].join(`
3
3
  `),cliCta:"Open Agent + CLI quickstart",proUnlockTitle:"Unlock Pro (CLI)",proUnlockBody:"Remove the watermark and unlock full matrix batch exports via CLI auth:",proUnlockCmd:"npx --yes shipscreens auth login",proUnlockNote:"Completes a one-time browser sign-in; then rerun build with --require-pro.",partnerTitle:"15-min first export review",partnerBody:"Want a 15-min first-export review? We can help turn your current workflow into a reproducible CI pipeline.",partnerEmailCta:"Get a 15-min review",partnerDmCta:"DM for a 15-min review",partnerJump:"Get a 15-min first-export review"},ja:{badge:"まずここから",title:"5分で初回エクスポート + ツール集",subtitle:"Figma/Canvaの手作業やAI下書きの崩れを置き換え、まずは再現性のあるFastlane-readyを出力。サイズバケット/安全域/CSVテンプレで運用を固める。",useCases:["Figma/Canva手作業","AI下書きの崩れ","Fastlane/CI運用","App Review / ASO 制約"],heroCliTitle:"CLIクイックスタート(2ステップ)",heroCliNote:"wizard → build(raw / Playwright不要)。",heroCliSummary:"出力: fastlane/ + 再現性ZIP(ローカル/CI)。",heroCliCopyLabel:"コマンドをすべてコピー",heroCliProLabel:"次にProを解除:",heroCliProCmd:"npx --yes shipscreens auth login",heroCliTemplatesLabel:"スターター雛形",heroCliConfigLabel:"config.yml",heroCliCsvLabel:"copy.csv",heroCliCmd:["npx --yes shipscreens wizard","npx --yes shipscreens build --mode raw --zip --out out/agent"].join(`
4
4
  `),noLogin:"ログイン不要 / 無料ツール",trustNote:"プライバシー: スクショはローカル。",cards:[{key:"agent_cli",icon:f,title:"Agent + CLI クイックスタート",desc:"CLI-first: wizardで雛形作成 → PNG差し替え → ブラウザ不要でローカル/CI実行。",href:"/tools/agent-cli/",cta:"Agent + CLI を見る"},{key:"first_export",icon:C,title:"5分で初回エクスポート",desc:"preview-before-pay: サンプルを開いて差し替え、透かし付きFastlane-readyを出す。",href:"/tools/first-export/",cta:"5分で出す"},{key:"calculator",icon:j,title:"スクショ作業量 計算ツール",desc:"端末x言語から合計枚数と手作業工数を見積もり、CSVテンプレもDLできます。",href:"/tools/screenshot-workload-calculator/",cta:"作業量を計算する"},{key:"fastlane_screenshots",icon:v,title:"Fastlane スクショ フォルダ構成",desc:"deliver/supply のパスをコピペして、CIで再現性のある出力を回す。",href:"/tools/fastlane-screenshots/",cta:"パスをコピーする"},{key:"framework",icon:_,title:"5枚構成 スクショフレームワーク",desc:"5枚構成テンプレ(Hook→Problem→Proof→How→CTA)。",href:"/tools/5-panel-screenshot-framework/",cta:"フレームワークをDL"},{key:"pipeline",icon:w,title:"ストア素材パイプラインキット",desc:"iPad 13-inch 実スクショ、サイズバケット、Play安全域 + App Review/ASO 制約チェック。",href:"/tools/store-assets-pipeline/",cta:"安全域ガイドを見る"},{key:"app_review_aso",icon:k,title:"App Review / ASO クイックチェック",desc:"提出前のミニチェックリスト(伝わり方/制約/安全域)。",href:"/tools/app-review-aso/",cta:"クイックチェックを見る"}],primaryCta:"CLIで初回エクスポート",secondaryCta:"サンプルを開く",cliTitle:"ブラウザ不要のCLI最短",cliDesc:"raw モードでローカル出力(Playwright不要)。",cliCmd:["npx --yes shipscreens wizard","# assets/en-US/01.png〜05.png を差し替え","npx --yes shipscreens build --mode raw --zip --out out/agent"].join(`
5
- `),cliCta:"Agent + CLI を開く",proUnlockTitle:"Proを解除(CLI)",proUnlockBody:"透かし解除&フル一括(端末×言語)のために、まずはCLI認証を実行:",proUnlockCmd:"npx --yes shipscreens auth login",proUnlockNote:"初回のみブラウザでサインインします。以後は --require-pro で再実行。",partnerTitle:"初回エクスポート15分レビュー",partnerBody:"現在のスクショ作業を15分でレビューします。Figma/AIの修正負担を減らすパイプラインを一緒に作ります。",partnerEmailCta:"15分レビューを依頼",partnerDmCta:"Xで15分レビュー相談",partnerJump:"初回エクスポート15分レビューを依頼"}},re=()=>{const{i18n:c,t:g}=U(),r=G(c.resolvedLanguage||c.language),s=N[r]||N.en,p="support@shimaumaservices.co.jp",L=r==="ja"?"ShipScreens 初回エクスポートレビュー希望":"ShipScreens first export review",S=r==="ja"?["ShipScreens チーム様","","初回エクスポートの15分レビューを希望します。","","- アプリ名 / URL:","- 現在のスクショ作業フロー:","- 端末数 / 言語数:","","よろしくお願いします。"].join("\\n"):["Hi ShipScreens team,","","I'd like a 15-min first-export review.","","- App name / link:","- Current screenshot workflow:","- #devices / #locales:","","Thanks!"].join("\\n"),I=`mailto:${p}?subject=${encodeURIComponent(L)}&body=${encodeURIComponent(S)}`,P="/app/?sample=5panel&entry_source=tools_index_open_app_header",i="/tools/agent-cli/",A="/downloads/shipscreens-agent-cli-config.yml",z="/downloads/shipscreens-agent-cli-copy.csv",b="/app/?sample=5panel&entry_source=tools_index_open_sample_project",x=g("common.copy",{defaultValue:"Copy"}),y=new Set(["first_export","agent_cli"]),T=s.cards.filter(t=>y.has(t.key)),F=s.cards.filter(t=>!y.has(t.key));return B("titles.tools",{defaultValue:s.title}),R.useEffect(()=>{l("tool_view",{tool:"tools_index"})},[]),e.jsxs("div",{className:"min-h-screen bg-gradient-to-b from-slate-950 via-slate-900 to-slate-950 text-white",children:[e.jsx(D,{}),e.jsx(H,{variant:"dark",active:"tools",openAppHref:P,onToolsClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"open_tools_header"}),onPricingClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"pricing_header"}),onOpenAppClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"open_app_header"}),primaryCta:{href:i,label:e.jsxs("span",{className:"inline-flex items-center gap-2",children:[s.primaryCta," ",e.jsx(o,{size:16})]}),onClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"open_agent_cli_header"})}}),e.jsxs("main",{className:"max-w-5xl mx-auto px-6 pb-24 space-y-10",children:[e.jsxs("section",{className:"max-w-3xl mx-auto text-center space-y-4",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 px-3 py-1.5 rounded-full border border-slate-800 bg-slate-900/60 text-slate-200 text-xs font-semibold",children:[e.jsx($,{size:14}),s.badge]}),e.jsx("h1",{className:"text-3xl md:text-5xl font-black leading-tight",children:s.title}),e.jsx("p",{className:"text-slate-300 text-lg leading-relaxed",children:s.subtitle}),s.useCases?.length>0&&e.jsx("div",{className:"flex flex-wrap justify-center gap-2 text-xs text-slate-400",children:s.useCases.map(t=>e.jsx("span",{className:"px-3 py-1 rounded-full border border-slate-800 bg-slate-900/60",children:t},t))}),e.jsxs("a",{href:"#design-partner",onClick:()=>l("tool_cta_click",{tool:"tools_index",cta:"jump_design_partner"}),className:"inline-flex items-center gap-1 text-sm text-blue-200 hover:text-blue-100 underline underline-offset-4",children:[s.partnerJump," ",e.jsx(o,{size:14})]}),e.jsxs("div",{className:"max-w-xl mx-auto text-left bg-slate-900/60 border border-slate-800 rounded-2xl p-4 space-y-2",children:[e.jsx("div",{className:"text-[11px] uppercase tracking-[0.2em] text-slate-500 font-semibold",children:s.heroCliTitle}),e.jsx("p",{className:"text-xs text-slate-400",children:s.heroCliNote}),e.jsx("p",{className:"text-xs text-slate-500",children:s.heroCliSummary}),e.jsx("div",{className:"rounded-xl border border-slate-800 bg-slate-950 p-3",children:e.jsx("pre",{className:"text-xs text-slate-200 whitespace-pre-wrap",children:s.heroCliCmd})}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[e.jsx(d,{value:s.heroCliCmd,onCopied:()=>l("tool_cta_click",{tool:"tools_index",cta:"copy_cli_hero"}),className:"inline-flex items-center justify-center gap-2 px-3 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-xs font-semibold",children:({copyLabel:t,copyState:n})=>e.jsxs(e.Fragment,{children:[e.jsx(h,{size:14}),n==="idle"?s.heroCliCopyLabel:t||x]})}),e.jsxs("a",{href:i,onClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"open_agent_cli_hero"}),className:"inline-flex items-center justify-center gap-2 px-3 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-xs font-semibold",children:[s.cliCta," ",e.jsx(o,{size:14})]})]}),s.heroCliProCmd&&e.jsxs("div",{className:"flex flex-wrap items-center gap-3 text-xs text-slate-400",children:[s.heroCliProLabel&&e.jsx("span",{children:s.heroCliProLabel}),e.jsxs("div",{className:"inline-flex items-center gap-2 px-2 py-1 rounded-md border border-slate-800 bg-slate-950 text-slate-200",children:[e.jsx("code",{children:s.heroCliProCmd}),e.jsx(d,{value:s.heroCliProCmd,onCopied:()=>l("tool_cta_click",{tool:"tools_index",cta:"copy_cli_pro_unlock_hero"}),className:"text-[11px] px-2 py-0.5 rounded-md border border-slate-700 bg-slate-900/60 text-slate-200 hover:bg-slate-900 transition"})]})]}),e.jsxs("div",{className:"pt-1 space-y-2",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-[0.2em] text-slate-500 font-semibold",children:s.heroCliTemplatesLabel}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx("a",{href:A,download:!0,onClick:()=>l("tool_download",{tool:"tools_index",asset:"config_template"}),className:"inline-flex items-center justify-center gap-2 px-2.5 py-1.5 rounded-md border border-slate-700 bg-slate-950 text-[11px] text-slate-200 hover:bg-slate-900 transition",children:s.heroCliConfigLabel}),e.jsx("a",{href:z,download:!0,onClick:()=>l("tool_download",{tool:"tools_index",asset:"copy_template"}),className:"inline-flex items-center justify-center gap-2 px-2.5 py-1.5 rounded-md border border-slate-700 bg-slate-950 text-[11px] text-slate-200 hover:bg-slate-900 transition",children:s.heroCliCsvLabel})]})]})]}),e.jsx(O,{compact:!0,href:"/tools/agent-cli/#preflight",onClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"open_cli_preflight"}),className:"max-w-xl mx-auto"})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("div",{className:"text-xs uppercase tracking-[0.2em] text-slate-500 font-semibold text-center",children:r==="ja"?"まずここから":"Start here"}),e.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:T.map(t=>{const n=t.icon;return e.jsxs("div",{className:"bg-slate-900/70 border border-slate-700 rounded-2xl p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl border border-slate-700 bg-slate-950 flex items-center justify-center",children:e.jsx(n,{size:18,className:"text-slate-200"})}),e.jsx("div",{className:"text-lg font-bold text-white",children:t.title})]}),e.jsx("p",{className:"text-sm text-slate-300 leading-relaxed",children:t.desc}),e.jsxs("a",{href:t.href,onClick:m=>a(m,"tool_cta_click",{tool:"tools_index",cta:`open_${t.key}`}),className:"inline-flex items-center justify-center gap-2 px-4 py-3 rounded-xl bg-blue-500 text-white font-bold hover:bg-blue-600 transition w-full",children:[t.cta," ",e.jsx(o,{size:16})]})]},t.key)})})]}),e.jsx("section",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-4",children:F.map(t=>{const n=t.icon;return e.jsxs("div",{className:"bg-slate-900/50 border border-slate-800 rounded-2xl p-5 space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-9 h-9 rounded-xl border border-slate-800 bg-slate-950 flex items-center justify-center",children:e.jsx(n,{size:16,className:"text-slate-200"})}),e.jsx("div",{className:"text-sm font-bold text-white",children:t.title})]}),e.jsx("p",{className:"text-xs text-slate-300 leading-relaxed",children:t.desc}),e.jsxs("a",{href:t.href,onClick:m=>a(m,"tool_cta_click",{tool:"tools_index",cta:`open_${t.key}`}),className:"inline-flex items-center justify-center gap-2 px-3 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 font-semibold text-xs hover:bg-slate-900 transition w-full",children:[t.cta," ",e.jsx(o,{size:14})]})]},t.key)})}),e.jsxs("section",{className:"max-w-3xl mx-auto bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm font-bold text-white",children:[e.jsx(f,{size:16,className:"text-blue-300"}),s.cliTitle]}),e.jsx("p",{className:"text-sm text-slate-300",children:s.cliDesc}),e.jsx("div",{className:"rounded-xl border border-slate-800 bg-slate-950 p-4",children:e.jsx("pre",{className:"text-xs text-slate-200 whitespace-pre-wrap",children:s.cliCmd})}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3",children:[e.jsx(d,{value:s.cliCmd,onCopied:()=>l("tool_cta_click",{tool:"tools_index",cta:"copy_cli_quickstart"}),className:"inline-flex items-center justify-center gap-2 px-4 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-sm font-semibold",children:({copyLabel:t})=>e.jsxs(e.Fragment,{children:[e.jsx(h,{size:14}),t||x]})}),e.jsxs("a",{href:i,onClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"open_agent_cli"}),className:"inline-flex items-center justify-center gap-2 px-4 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-sm font-semibold",children:[s.cliCta," ",e.jsx(o,{size:16})]})]})]}),e.jsxs("section",{className:"max-w-3xl mx-auto text-center space-y-3 pt-2",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 justify-center",children:[e.jsxs("a",{href:i,onClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"open_agent_cli_body"}),className:"inline-flex items-center justify-center gap-2 px-5 py-3 rounded-xl bg-white text-slate-900 font-bold hover:scale-[1.02] transition",children:[s.primaryCta," ",e.jsx(o,{size:16})]}),e.jsx("a",{href:b,onClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"open_sample_project"}),className:"inline-flex items-center justify-center gap-2 px-5 py-3 rounded-xl border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition",children:s.secondaryCta})]}),e.jsx("div",{className:"text-xs text-slate-500 font-medium",children:s.noLogin}),s.trustNote&&e.jsx("div",{className:"text-xs text-slate-500",children:s.trustNote})]}),e.jsx("section",{className:"max-w-3xl mx-auto",children:e.jsxs("div",{className:"bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsx("div",{className:"text-sm font-bold text-white",children:s.proUnlockTitle}),e.jsx("span",{className:"text-[10px] font-semibold tracking-[0.2em] text-amber-200 bg-amber-500/10 border border-amber-400/30 px-2 py-1 rounded-full",children:"PRO"})]}),s.proUnlockBody&&e.jsx("p",{className:"text-sm text-slate-300",children:s.proUnlockBody}),e.jsx("div",{className:"rounded-xl border border-slate-800 bg-slate-950/80 p-4",children:e.jsx("pre",{className:"text-xs text-slate-200 whitespace-pre-wrap",children:s.proUnlockCmd})}),e.jsx("div",{className:"flex flex-col sm:flex-row gap-3",children:e.jsx(d,{value:s.proUnlockCmd,onCopied:()=>l("tool_cta_click",{tool:"tools_index",cta:"copy_cli_pro_unlock"}),className:"inline-flex items-center justify-center gap-2 px-4 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-sm font-semibold",children:({copyLabel:t})=>e.jsxs(e.Fragment,{children:[e.jsx(h,{size:14}),t||x]})})}),s.proUnlockNote&&e.jsx("div",{className:"text-xs text-slate-500",children:s.proUnlockNote})]})}),e.jsxs("section",{id:"design-partner",className:"max-w-3xl mx-auto bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-4",children:[e.jsx("div",{className:"text-lg font-bold text-white",children:s.partnerTitle}),e.jsx("div",{className:"text-sm text-slate-300 leading-relaxed",children:s.partnerBody}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3",children:[e.jsxs("a",{href:I,onClick:()=>l("tool_cta_click",{tool:"tools_index",cta:"email_design_partner"}),className:"flex-1 inline-flex items-center justify-center gap-2 px-4 py-3 rounded-xl bg-blue-500 text-white font-bold hover:bg-blue-600 transition",children:[s.partnerEmailCta," ",e.jsx(o,{size:16})]}),e.jsx("a",{href:"https://x.com/shipscreenscom",target:"_blank",rel:"noopener noreferrer",onClick:()=>l("tool_cta_click",{tool:"tools_index",cta:"dm_design_partner"}),className:"flex-1 inline-flex items-center justify-center gap-2 px-4 py-3 rounded-xl border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition",children:s.partnerDmCta})]}),e.jsxs("div",{className:"text-xs text-slate-500",children:[r==="ja"?"メール: ":"Email: ",e.jsx("a",{href:`mailto:${p}`,className:"underline underline-offset-4 hover:text-white",children:p})]})]})]}),e.jsx(E,{note:s.noLogin,primary:{label:s.primaryCta,href:i,onClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"sticky_primary"})},secondary:{label:s.secondaryCta,href:b,onClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"sticky_secondary"})}})]})};export{re as default};
6
- //# sourceMappingURL=ToolsIndex-xMPoFom9.js.map
5
+ `),cliCta:"Agent + CLI を開く",proUnlockTitle:"Proを解除(CLI)",proUnlockBody:"透かし解除&フル一括(端末×言語)のために、まずはCLI認証を実行:",proUnlockCmd:"npx --yes shipscreens auth login",proUnlockNote:"初回のみブラウザでサインインします。以後は --require-pro で再実行。",partnerTitle:"初回エクスポート15分レビュー",partnerBody:"現在のスクショ作業を15分でレビューします。Figma/AIの修正負担を減らすパイプラインを一緒に作ります。",partnerEmailCta:"15分レビューを依頼",partnerDmCta:"Xで15分レビュー相談",partnerJump:"初回エクスポート15分レビューを依頼"}},oe=()=>{const{i18n:c,t:g}=U(),r=G(c.resolvedLanguage||c.language),s=N[r]||N.en,p="support@shimaumaservices.co.jp",L=r==="ja"?"ShipScreens 初回エクスポートレビュー希望":"ShipScreens first export review",S=r==="ja"?["ShipScreens チーム様","","初回エクスポートの15分レビューを希望します。","","- アプリ名 / URL:","- 現在のスクショ作業フロー:","- 端末数 / 言語数:","","よろしくお願いします。"].join("\\n"):["Hi ShipScreens team,","","I'd like a 15-min first-export review.","","- App name / link:","- Current screenshot workflow:","- #devices / #locales:","","Thanks!"].join("\\n"),I=`mailto:${p}?subject=${encodeURIComponent(L)}&body=${encodeURIComponent(S)}`,P="/app/?sample=5panel&entry_source=tools_index_open_app_header",i="/tools/agent-cli/",A="/downloads/shipscreens-agent-cli-config.yml",z="/downloads/shipscreens-agent-cli-copy.csv",b="/app/?sample=5panel&entry_source=tools_index_open_sample_project",x=g("common.copy",{defaultValue:"Copy"}),y=new Set(["first_export","agent_cli"]),T=s.cards.filter(t=>y.has(t.key)),F=s.cards.filter(t=>!y.has(t.key));return B("titles.tools",{defaultValue:s.title}),R.useEffect(()=>{l("tool_view",{tool:"tools_index"})},[]),e.jsxs("div",{className:"min-h-screen bg-gradient-to-b from-slate-950 via-slate-900 to-slate-950 text-white",children:[e.jsx(D,{}),e.jsx(H,{variant:"dark",active:"tools",openAppHref:P,onToolsClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"open_tools_header"}),onPricingClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"pricing_header"}),onOpenAppClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"open_app_header"}),primaryCta:{href:i,label:e.jsxs("span",{className:"inline-flex items-center gap-2",children:[s.primaryCta," ",e.jsx(o,{size:16})]}),onClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"open_agent_cli_header"})}}),e.jsxs("main",{className:"max-w-5xl mx-auto px-6 pb-24 space-y-10",children:[e.jsxs("section",{className:"max-w-3xl mx-auto text-center space-y-4",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 px-3 py-1.5 rounded-full border border-slate-800 bg-slate-900/60 text-slate-200 text-xs font-semibold",children:[e.jsx($,{size:14}),s.badge]}),e.jsx("h1",{className:"text-3xl md:text-5xl font-black leading-tight",children:s.title}),e.jsx("p",{className:"text-slate-300 text-lg leading-relaxed",children:s.subtitle}),s.useCases?.length>0&&e.jsx("div",{className:"flex flex-wrap justify-center gap-2 text-xs text-slate-400",children:s.useCases.map(t=>e.jsx("span",{className:"px-3 py-1 rounded-full border border-slate-800 bg-slate-900/60",children:t},t))}),e.jsxs("a",{href:"#design-partner",onClick:()=>l("tool_cta_click",{tool:"tools_index",cta:"jump_design_partner"}),className:"inline-flex items-center gap-1 text-sm text-blue-200 hover:text-blue-100 underline underline-offset-4",children:[s.partnerJump," ",e.jsx(o,{size:14})]}),e.jsxs("div",{className:"max-w-xl mx-auto text-left bg-slate-900/60 border border-slate-800 rounded-2xl p-4 space-y-2",children:[e.jsx("div",{className:"text-[11px] uppercase tracking-[0.2em] text-slate-500 font-semibold",children:s.heroCliTitle}),e.jsx("p",{className:"text-xs text-slate-400",children:s.heroCliNote}),e.jsx("p",{className:"text-xs text-slate-500",children:s.heroCliSummary}),e.jsx("div",{className:"rounded-xl border border-slate-800 bg-slate-950 p-3",children:e.jsx("pre",{className:"text-xs text-slate-200 whitespace-pre-wrap",children:s.heroCliCmd})}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[e.jsx(d,{value:s.heroCliCmd,onCopied:()=>l("tool_cta_click",{tool:"tools_index",cta:"copy_cli_hero"}),className:"inline-flex items-center justify-center gap-2 px-3 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-xs font-semibold",children:({copyLabel:t,copyState:n})=>e.jsxs(e.Fragment,{children:[e.jsx(h,{size:14}),n==="idle"?s.heroCliCopyLabel:t||x]})}),e.jsxs("a",{href:i,onClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"open_agent_cli_hero"}),className:"inline-flex items-center justify-center gap-2 px-3 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-xs font-semibold",children:[s.cliCta," ",e.jsx(o,{size:14})]})]}),s.heroCliProCmd&&e.jsxs("div",{className:"flex flex-wrap items-center gap-3 text-xs text-slate-400",children:[s.heroCliProLabel&&e.jsx("span",{children:s.heroCliProLabel}),e.jsxs("div",{className:"inline-flex items-center gap-2 px-2 py-1 rounded-md border border-slate-800 bg-slate-950 text-slate-200",children:[e.jsx("code",{children:s.heroCliProCmd}),e.jsx(d,{value:s.heroCliProCmd,onCopied:()=>l("tool_cta_click",{tool:"tools_index",cta:"copy_cli_pro_unlock_hero"}),className:"text-[11px] px-2 py-0.5 rounded-md border border-slate-700 bg-slate-900/60 text-slate-200 hover:bg-slate-900 transition"})]})]}),e.jsxs("div",{className:"pt-1 space-y-2",children:[e.jsx("div",{className:"text-[10px] uppercase tracking-[0.2em] text-slate-500 font-semibold",children:s.heroCliTemplatesLabel}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx("a",{href:A,download:!0,onClick:()=>l("tool_download",{tool:"tools_index",asset:"config_template"}),className:"inline-flex items-center justify-center gap-2 px-2.5 py-1.5 rounded-md border border-slate-700 bg-slate-950 text-[11px] text-slate-200 hover:bg-slate-900 transition",children:s.heroCliConfigLabel}),e.jsx("a",{href:z,download:!0,onClick:()=>l("tool_download",{tool:"tools_index",asset:"copy_template"}),className:"inline-flex items-center justify-center gap-2 px-2.5 py-1.5 rounded-md border border-slate-700 bg-slate-950 text-[11px] text-slate-200 hover:bg-slate-900 transition",children:s.heroCliCsvLabel})]})]})]}),e.jsx(O,{compact:!0,href:"/tools/agent-cli/#preflight",onClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"open_cli_preflight"}),className:"max-w-xl mx-auto"})]}),e.jsxs("section",{className:"space-y-4",children:[e.jsx("div",{className:"text-xs uppercase tracking-[0.2em] text-slate-500 font-semibold text-center",children:r==="ja"?"まずここから":"Start here"}),e.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:T.map(t=>{const n=t.icon;return e.jsxs("div",{className:"bg-slate-900/70 border border-slate-700 rounded-2xl p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl border border-slate-700 bg-slate-950 flex items-center justify-center",children:e.jsx(n,{size:18,className:"text-slate-200"})}),e.jsx("div",{className:"text-lg font-bold text-white",children:t.title})]}),e.jsx("p",{className:"text-sm text-slate-300 leading-relaxed",children:t.desc}),e.jsxs("a",{href:t.href,onClick:m=>a(m,"tool_cta_click",{tool:"tools_index",cta:`open_${t.key}`}),className:"inline-flex items-center justify-center gap-2 px-4 py-3 rounded-xl bg-blue-500 text-white font-bold hover:bg-blue-600 transition w-full",children:[t.cta," ",e.jsx(o,{size:16})]})]},t.key)})})]}),e.jsx("section",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-4",children:F.map(t=>{const n=t.icon;return e.jsxs("div",{className:"bg-slate-900/50 border border-slate-800 rounded-2xl p-5 space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-9 h-9 rounded-xl border border-slate-800 bg-slate-950 flex items-center justify-center",children:e.jsx(n,{size:16,className:"text-slate-200"})}),e.jsx("div",{className:"text-sm font-bold text-white",children:t.title})]}),e.jsx("p",{className:"text-xs text-slate-300 leading-relaxed",children:t.desc}),e.jsxs("a",{href:t.href,onClick:m=>a(m,"tool_cta_click",{tool:"tools_index",cta:`open_${t.key}`}),className:"inline-flex items-center justify-center gap-2 px-3 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 font-semibold text-xs hover:bg-slate-900 transition w-full",children:[t.cta," ",e.jsx(o,{size:14})]})]},t.key)})}),e.jsxs("section",{className:"max-w-3xl mx-auto bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm font-bold text-white",children:[e.jsx(f,{size:16,className:"text-blue-300"}),s.cliTitle]}),e.jsx("p",{className:"text-sm text-slate-300",children:s.cliDesc}),e.jsx("div",{className:"rounded-xl border border-slate-800 bg-slate-950 p-4",children:e.jsx("pre",{className:"text-xs text-slate-200 whitespace-pre-wrap",children:s.cliCmd})}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3",children:[e.jsx(d,{value:s.cliCmd,onCopied:()=>l("tool_cta_click",{tool:"tools_index",cta:"copy_cli_quickstart"}),className:"inline-flex items-center justify-center gap-2 px-4 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-sm font-semibold",children:({copyLabel:t})=>e.jsxs(e.Fragment,{children:[e.jsx(h,{size:14}),t||x]})}),e.jsxs("a",{href:i,onClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"open_agent_cli"}),className:"inline-flex items-center justify-center gap-2 px-4 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-sm font-semibold",children:[s.cliCta," ",e.jsx(o,{size:16})]})]})]}),e.jsxs("section",{className:"max-w-3xl mx-auto text-center space-y-3 pt-2",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 justify-center",children:[e.jsxs("a",{href:i,onClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"open_agent_cli_body"}),className:"inline-flex items-center justify-center gap-2 px-5 py-3 rounded-xl bg-white text-slate-900 font-bold hover:scale-[1.02] transition",children:[s.primaryCta," ",e.jsx(o,{size:16})]}),e.jsx("a",{href:b,onClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"open_sample_project"}),className:"inline-flex items-center justify-center gap-2 px-5 py-3 rounded-xl border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition",children:s.secondaryCta})]}),e.jsx("div",{className:"text-xs text-slate-500 font-medium",children:s.noLogin}),s.trustNote&&e.jsx("div",{className:"text-xs text-slate-500",children:s.trustNote})]}),e.jsx("section",{className:"max-w-3xl mx-auto",children:e.jsxs("div",{className:"bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsx("div",{className:"text-sm font-bold text-white",children:s.proUnlockTitle}),e.jsx("span",{className:"text-[10px] font-semibold tracking-[0.2em] text-amber-200 bg-amber-500/10 border border-amber-400/30 px-2 py-1 rounded-full",children:"PRO"})]}),s.proUnlockBody&&e.jsx("p",{className:"text-sm text-slate-300",children:s.proUnlockBody}),e.jsx("div",{className:"rounded-xl border border-slate-800 bg-slate-950/80 p-4",children:e.jsx("pre",{className:"text-xs text-slate-200 whitespace-pre-wrap",children:s.proUnlockCmd})}),e.jsx("div",{className:"flex flex-col sm:flex-row gap-3",children:e.jsx(d,{value:s.proUnlockCmd,onCopied:()=>l("tool_cta_click",{tool:"tools_index",cta:"copy_cli_pro_unlock"}),className:"inline-flex items-center justify-center gap-2 px-4 py-2 rounded-lg border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition text-sm font-semibold",children:({copyLabel:t})=>e.jsxs(e.Fragment,{children:[e.jsx(h,{size:14}),t||x]})})}),s.proUnlockNote&&e.jsx("div",{className:"text-xs text-slate-500",children:s.proUnlockNote})]})}),e.jsxs("section",{id:"design-partner",className:"max-w-3xl mx-auto bg-slate-900/60 border border-slate-800 rounded-2xl p-6 space-y-4",children:[e.jsx("div",{className:"text-lg font-bold text-white",children:s.partnerTitle}),e.jsx("div",{className:"text-sm text-slate-300 leading-relaxed",children:s.partnerBody}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3",children:[e.jsxs("a",{href:I,onClick:()=>l("tool_cta_click",{tool:"tools_index",cta:"email_design_partner"}),className:"flex-1 inline-flex items-center justify-center gap-2 px-4 py-3 rounded-xl bg-blue-500 text-white font-bold hover:bg-blue-600 transition",children:[s.partnerEmailCta," ",e.jsx(o,{size:16})]}),e.jsx("a",{href:"https://x.com/shipscreenscom",target:"_blank",rel:"noopener noreferrer",onClick:()=>l("tool_cta_click",{tool:"tools_index",cta:"dm_design_partner"}),className:"flex-1 inline-flex items-center justify-center gap-2 px-4 py-3 rounded-xl border border-slate-700 bg-slate-950 text-slate-200 hover:bg-slate-900 transition",children:s.partnerDmCta})]}),e.jsxs("div",{className:"text-xs text-slate-500",children:[r==="ja"?"メール: ":"Email: ",e.jsx("a",{href:`mailto:${p}`,className:"underline underline-offset-4 hover:text-white",children:p})]})]})]}),e.jsx(E,{note:s.noLogin,primary:{label:s.primaryCta,href:i,onClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"sticky_primary"})},secondary:{label:s.secondaryCta,href:b,onClick:t=>a(t,"tool_cta_click",{tool:"tools_index",cta:"sticky_secondary"})}})]})};export{oe as default};
6
+ //# sourceMappingURL=ToolsIndex-CzrxymnM.js.map