cici 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-build-manifest.json +122 -0
  3. package/.next/app-path-routes-manifest.json +1 -0
  4. package/.next/build-manifest.json +32 -0
  5. package/.next/export-marker.json +1 -0
  6. package/.next/images-manifest.json +1 -0
  7. package/.next/next-minimal-server.js.nft.json +1 -0
  8. package/.next/next-server.js.nft.json +1 -0
  9. package/.next/package.json +1 -0
  10. package/.next/prerender-manifest.json +1 -0
  11. package/.next/react-loadable-manifest.json +1886 -0
  12. package/.next/required-server-files.json +1 -0
  13. package/.next/routes-manifest.json +1 -0
  14. package/.next/server/app/_not-found/page.js +1 -0
  15. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  17. package/.next/server/app/api/asset/[...path]/route.js +1 -0
  18. package/.next/server/app/api/asset/[...path]/route.js.nft.json +1 -0
  19. package/.next/server/app/api/auth/[...nextauth]/route.js +1 -0
  20. package/.next/server/app/api/auth/[...nextauth]/route.js.nft.json +1 -0
  21. package/.next/server/app/api/blog/[id]/highlights/[hid]/comments/[cid]/reactions/route.js +1 -0
  22. package/.next/server/app/api/blog/[id]/highlights/[hid]/comments/[cid]/reactions/route.js.nft.json +1 -0
  23. package/.next/server/app/api/blog/[id]/highlights/[hid]/comments/[cid]/route.js +1 -0
  24. package/.next/server/app/api/blog/[id]/highlights/[hid]/comments/[cid]/route.js.nft.json +1 -0
  25. package/.next/server/app/api/blog/[id]/highlights/[hid]/replies/route.js +1 -0
  26. package/.next/server/app/api/blog/[id]/highlights/[hid]/replies/route.js.nft.json +1 -0
  27. package/.next/server/app/api/blog/[id]/highlights/[hid]/resolve/route.js +1 -0
  28. package/.next/server/app/api/blog/[id]/highlights/[hid]/resolve/route.js.nft.json +1 -0
  29. package/.next/server/app/api/blog/[id]/highlights/[hid]/route.js +1 -0
  30. package/.next/server/app/api/blog/[id]/highlights/[hid]/route.js.nft.json +1 -0
  31. package/.next/server/app/api/blog/[id]/highlights/route.js +1 -0
  32. package/.next/server/app/api/blog/[id]/highlights/route.js.nft.json +1 -0
  33. package/.next/server/app/api/graphql/route.js +140 -0
  34. package/.next/server/app/api/graphql/route.js.nft.json +1 -0
  35. package/.next/server/app/api/mile/prompts/route.js +230 -0
  36. package/.next/server/app/api/mile/prompts/route.js.nft.json +1 -0
  37. package/.next/server/app/api/mile/prompts.body +1 -0
  38. package/.next/server/app/api/mile/prompts.meta +1 -0
  39. package/.next/server/app/api/upload/route.js +1 -0
  40. package/.next/server/app/api/upload/route.js.nft.json +1 -0
  41. package/.next/server/app/api/webhooks/notification/route.js +1 -0
  42. package/.next/server/app/api/webhooks/notification/route.js.nft.json +1 -0
  43. package/.next/server/app/atom.xml/route.js +34 -0
  44. package/.next/server/app/atom.xml/route.js.nft.json +1 -0
  45. package/.next/server/app/atom.xml.body +15 -0
  46. package/.next/server/app/atom.xml.meta +1 -0
  47. package/.next/server/app/blog/[id]/page.js +30 -0
  48. package/.next/server/app/blog/[id]/page.js.nft.json +1 -0
  49. package/.next/server/app/blog/[id]/page_client-reference-manifest.js +1 -0
  50. package/.next/server/app/blog/page.js +1 -0
  51. package/.next/server/app/blog/page.js.nft.json +1 -0
  52. package/.next/server/app/blog/page_client-reference-manifest.js +1 -0
  53. package/.next/server/app/editor/page.js +45 -0
  54. package/.next/server/app/editor/page.js.nft.json +1 -0
  55. package/.next/server/app/editor/page_client-reference-manifest.js +1 -0
  56. package/.next/server/app/favicon.ico/route.js +1 -0
  57. package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  58. package/.next/server/app/favicon.ico.body +0 -0
  59. package/.next/server/app/favicon.ico.meta +1 -0
  60. package/.next/server/app/login/page.js +1 -0
  61. package/.next/server/app/login/page.js.nft.json +1 -0
  62. package/.next/server/app/login/page_client-reference-manifest.js +1 -0
  63. package/.next/server/app/memos/page.js +26 -0
  64. package/.next/server/app/memos/page.js.nft.json +1 -0
  65. package/.next/server/app/memos/page_client-reference-manifest.js +1 -0
  66. package/.next/server/app/page.js +1 -0
  67. package/.next/server/app/page.js.nft.json +1 -0
  68. package/.next/server/app/page_client-reference-manifest.js +1 -0
  69. package/.next/server/app/robots.txt/route.js +1 -0
  70. package/.next/server/app/robots.txt/route.js.nft.json +1 -0
  71. package/.next/server/app/robots.txt.body +8 -0
  72. package/.next/server/app/robots.txt.meta +1 -0
  73. package/.next/server/app/rss.xml/route.js +18 -0
  74. package/.next/server/app/rss.xml/route.js.nft.json +1 -0
  75. package/.next/server/app/rss.xml.body +12 -0
  76. package/.next/server/app/rss.xml.meta +1 -0
  77. package/.next/server/app/sitemap.xml/route.js +76 -0
  78. package/.next/server/app/sitemap.xml/route.js.nft.json +1 -0
  79. package/.next/server/app/sitemap.xml.body +33 -0
  80. package/.next/server/app/sitemap.xml.meta +1 -0
  81. package/.next/server/app/unavailable/page.js +1 -0
  82. package/.next/server/app/unavailable/page.js.nft.json +1 -0
  83. package/.next/server/app/unavailable/page_client-reference-manifest.js +1 -0
  84. package/.next/server/app-paths-manifest.json +27 -0
  85. package/.next/server/chunks/1230.js +1 -0
  86. package/.next/server/chunks/1446.js +1 -0
  87. package/.next/server/chunks/1450.js +1 -0
  88. package/.next/server/chunks/1536.js +1 -0
  89. package/.next/server/chunks/1615.js +1 -0
  90. package/.next/server/chunks/1682.js +6 -0
  91. package/.next/server/chunks/179.js +14 -0
  92. package/.next/server/chunks/2448.js +34 -0
  93. package/.next/server/chunks/2481.js +1 -0
  94. package/.next/server/chunks/2518.js +12 -0
  95. package/.next/server/chunks/2581.js +1 -0
  96. package/.next/server/chunks/2878.js +63 -0
  97. package/.next/server/chunks/3125.js +1 -0
  98. package/.next/server/chunks/330.js +1 -0
  99. package/.next/server/chunks/3381.js +1 -0
  100. package/.next/server/chunks/3464.js +1 -0
  101. package/.next/server/chunks/3573.js +1 -0
  102. package/.next/server/chunks/3607.js +14 -0
  103. package/.next/server/chunks/3844.js +1 -0
  104. package/.next/server/chunks/4536.js +1 -0
  105. package/.next/server/chunks/4742.js +1 -0
  106. package/.next/server/chunks/4857.js +1 -0
  107. package/.next/server/chunks/6621.js +1 -0
  108. package/.next/server/chunks/7070.js +12 -0
  109. package/.next/server/chunks/719.js +1 -0
  110. package/.next/server/chunks/7667.js +1 -0
  111. package/.next/server/chunks/7674.js +1 -0
  112. package/.next/server/chunks/7937.js +1 -0
  113. package/.next/server/chunks/7990.js +1 -0
  114. package/.next/server/chunks/8038.js +1 -0
  115. package/.next/server/chunks/8195.js +1 -0
  116. package/.next/server/chunks/8198.js +1 -0
  117. package/.next/server/chunks/8224.js +1 -0
  118. package/.next/server/chunks/8398.js +1 -0
  119. package/.next/server/chunks/8948.js +2 -0
  120. package/.next/server/chunks/9600.js +1 -0
  121. package/.next/server/chunks/9627.js +1 -0
  122. package/.next/server/chunks/9715.js +1 -0
  123. package/.next/server/chunks/9772.js +2 -0
  124. package/.next/server/chunks/font-manifest.json +1 -0
  125. package/.next/server/font-manifest.json +1 -0
  126. package/.next/server/functions-config-manifest.json +1 -0
  127. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  128. package/.next/server/middleware-build-manifest.js +1 -0
  129. package/.next/server/middleware-manifest.json +6 -0
  130. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  131. package/.next/server/next-font-manifest.js +1 -0
  132. package/.next/server/next-font-manifest.json +1 -0
  133. package/.next/server/pages/500.html +1 -0
  134. package/.next/server/pages/_app.js +1 -0
  135. package/.next/server/pages/_app.js.nft.json +1 -0
  136. package/.next/server/pages/_document.js +1 -0
  137. package/.next/server/pages/_document.js.nft.json +1 -0
  138. package/.next/server/pages/_error.js +1 -0
  139. package/.next/server/pages/_error.js.nft.json +1 -0
  140. package/.next/server/pages-manifest.json +1 -0
  141. package/.next/server/server-reference-manifest.js +1 -0
  142. package/.next/server/server-reference-manifest.json +1 -0
  143. package/.next/server/webpack-runtime.js +1 -0
  144. package/.next/standalone/.next/BUILD_ID +1 -1
  145. package/.next/standalone/.next/app-path-routes-manifest.json +1 -1
  146. package/.next/standalone/.next/build-manifest.json +2 -2
  147. package/.next/standalone/.next/prerender-manifest.json +1 -1
  148. package/.next/standalone/.next/server/app/api/mile/prompts.body +1 -1
  149. package/.next/standalone/.next/server/app/atom.xml.body +1 -1
  150. package/.next/standalone/.next/server/app/rss.xml.body +1 -1
  151. package/.next/standalone/.next/server/app/sitemap.xml.body +5 -5
  152. package/.next/standalone/.next/server/app-paths-manifest.json +3 -3
  153. package/.next/standalone/.next/server/pages/500.html +1 -1
  154. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  155. package/.next/standalone/package.json +5 -4
  156. package/.next/static/PDn4f_-4CIbfG8EmueowG/_buildManifest.js +1 -0
  157. package/.next/static/PDn4f_-4CIbfG8EmueowG/_ssgManifest.js +1 -0
  158. package/.next/static/chunks/0e5ce63c-dc8fe6cd5df6dc6f.js +1 -0
  159. package/.next/static/chunks/0e762574-561b753e40bf5566.js +1 -0
  160. package/.next/static/chunks/117-70c87e31cd233c14.js +2 -0
  161. package/.next/static/chunks/152-16409649f7f42f9f.js +1 -0
  162. package/.next/static/chunks/153-f9c1aae3150e3029.js +1 -0
  163. package/.next/static/chunks/164-27f8b4187a29c395.js +1 -0
  164. package/.next/static/chunks/306-8d9c9a07b04a69f4.js +1 -0
  165. package/.next/static/chunks/343-ef3404804cc77cf3.js +1 -0
  166. package/.next/static/chunks/37-4aae6f4051a21b05.js +1 -0
  167. package/.next/static/chunks/479ba886-f76cebda33235b4d.js +1 -0
  168. package/.next/static/chunks/586-51f7e768b82803f6.js +1 -0
  169. package/.next/static/chunks/654-13e1845df8edb304.js +1 -0
  170. package/.next/static/chunks/767-2ec5d3ea9fe43cfa.js +1 -0
  171. package/.next/static/chunks/789-9810818d7be29598.js +1 -0
  172. package/.next/static/chunks/795d4814-090707ad3f792458.js +1 -0
  173. package/.next/static/chunks/878-b71984a1ef1b61e8.js +1 -0
  174. package/.next/static/chunks/8e1d74a4-f0365ca0a1823520.js +1 -0
  175. package/.next/static/chunks/961-29616c8a08e9f439.js +1 -0
  176. package/.next/static/chunks/972-774fbff93f73f32d.js +1 -0
  177. package/.next/static/chunks/app/_not-found/page-3061d7e79b77cf51.js +1 -0
  178. package/.next/static/chunks/app/blog/[id]/page-1fc779790ce384a8.js +1 -0
  179. package/.next/static/chunks/app/blog/page-096c29c6f69ebc33.js +1 -0
  180. package/.next/static/chunks/app/editor/page-f387899e39bc5e66.js +1 -0
  181. package/.next/static/chunks/app/layout-3439dc235234d73d.js +1 -0
  182. package/.next/static/chunks/app/login/page-6b91892f0e29c5e9.js +1 -0
  183. package/.next/static/chunks/app/memos/page-1b33cb7e1f301ba0.js +1 -0
  184. package/.next/static/chunks/app/page-f7dabeade6df80fd.js +1 -0
  185. package/.next/static/chunks/app/unavailable/page-c7774081778f08fc.js +1 -0
  186. package/.next/static/chunks/c916193b-16ee67ea0eb0c9df.js +1 -0
  187. package/.next/static/chunks/d3ac728e-709e52b22b85fd0a.js +1 -0
  188. package/.next/static/chunks/ee560e2c-0aeb447bc68f09f5.js +1 -0
  189. package/.next/static/chunks/fd9d1056-a4afdface6e53879.js +1 -0
  190. package/.next/static/chunks/framework-00a8ba1a63cfdc9e.js +1 -0
  191. package/.next/static/chunks/main-530e55a5659ae7e4.js +1 -0
  192. package/.next/static/chunks/main-app-838433dc18720d83.js +1 -0
  193. package/.next/static/chunks/pages/_app-15e2daefa259f0b5.js +1 -0
  194. package/.next/static/chunks/pages/_error-28b803cb2479b966.js +1 -0
  195. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  196. package/.next/static/chunks/webpack-a3d722a538b58757.js +1 -0
  197. package/.next/static/css/3864b451a61e4546.css +1 -0
  198. package/.next/static/css/67e4cfd62ab3f75c.css +1 -0
  199. package/.next/static/css/bf9d0ede562bd061.css +3 -0
  200. package/.next/static/media/04b170fa1114a606-s.woff2 +0 -0
  201. package/.next/static/media/08e5276c49c9ea3c-s.woff2 +0 -0
  202. package/.next/static/media/095b3ef40b322df1-s.woff2 +0 -0
  203. package/.next/static/media/0d843c40cdb24da5-s.woff2 +0 -0
  204. package/.next/static/media/16198ffb9c9fdd71-s.woff2 +0 -0
  205. package/.next/static/media/185e1e5dfa43e25f-s.woff2 +0 -0
  206. package/.next/static/media/1cfb11966f8bf838-s.woff2 +0 -0
  207. package/.next/static/media/1f4ef3a7563c157c-s.woff2 +0 -0
  208. package/.next/static/media/207ad64b019bcdef-s.woff2 +0 -0
  209. package/.next/static/media/21f0145a081cb2c8-s.woff2 +0 -0
  210. package/.next/static/media/25169183b7610496-s.woff2 +0 -0
  211. package/.next/static/media/2c913da5dc1da2ce-s.woff2 +0 -0
  212. package/.next/static/media/2d7ca78015d280d1-s.woff2 +0 -0
  213. package/.next/static/media/32be0b7a9127e345-s.woff2 +0 -0
  214. package/.next/static/media/33a4c9c744d0f9cd-s.woff2 +0 -0
  215. package/.next/static/media/3579da1a17de9863-s.woff2 +0 -0
  216. package/.next/static/media/36524af73d313f3b-s.woff2 +0 -0
  217. package/.next/static/media/3683934951fcdfff-s.woff2 +0 -0
  218. package/.next/static/media/3a3a2937d60ce37f-s.woff2 +0 -0
  219. package/.next/static/media/3e2c1db9f0de322f-s.woff2 +0 -0
  220. package/.next/static/media/3f282b8fe3ef7004-s.woff2 +0 -0
  221. package/.next/static/media/4294bde93a0ebb03-s.woff2 +0 -0
  222. package/.next/static/media/4cb92749e68500bf-s.woff2 +0 -0
  223. package/.next/static/media/4d3ec3b19c6bf06c-s.woff2 +0 -0
  224. package/.next/static/media/4eaaaae34a570973-s.woff2 +0 -0
  225. package/.next/static/media/4f45b9473df2758b-s.woff2 +0 -0
  226. package/.next/static/media/59769944ee073575-s.woff2 +0 -0
  227. package/.next/static/media/5bca2cb7d28055ae-s.woff2 +0 -0
  228. package/.next/static/media/5d217fec32e2068e-s.woff2 +0 -0
  229. package/.next/static/media/5f46c2de3a30070d-s.woff2 +0 -0
  230. package/.next/static/media/651d2e07f2cec067-s.woff2 +0 -0
  231. package/.next/static/media/684008be259a59c6-s.woff2 +0 -0
  232. package/.next/static/media/6858bbe75ab53fba-s.woff2 +0 -0
  233. package/.next/static/media/6cbcf0df7f219406-s.woff2 +0 -0
  234. package/.next/static/media/6d92d05365182413-s.woff2 +0 -0
  235. package/.next/static/media/7470b994d8569922-s.woff2 +0 -0
  236. package/.next/static/media/74e7e1e3fdad08dd-s.woff2 +0 -0
  237. package/.next/static/media/77901e7a9559d10c-s.woff2 +0 -0
  238. package/.next/static/media/796fab757a0e6146-s.woff2 +0 -0
  239. package/.next/static/media/7a830ebca9fe9db7-s.woff2 +0 -0
  240. package/.next/static/media/7bef3958b14cb6e3-s.woff2 +0 -0
  241. package/.next/static/media/81eb003b78a42a7b-s.woff2 +0 -0
  242. package/.next/static/media/84057adca98c0827-s.woff2 +0 -0
  243. package/.next/static/media/84a87fc9f232641e-s.woff2 +0 -0
  244. package/.next/static/media/84efce35a48f395c-s.woff2 +0 -0
  245. package/.next/static/media/872bfc82854f88b2-s.woff2 +0 -0
  246. package/.next/static/media/878380e8db69cb31-s.woff2 +0 -0
  247. package/.next/static/media/89c333b5a8239870-s.woff2 +0 -0
  248. package/.next/static/media/8a2e82a5f6677757-s.woff2 +0 -0
  249. package/.next/static/media/8cb8df5532e281af-s.woff2 +0 -0
  250. package/.next/static/media/8efbe4984052b206-s.woff2 +0 -0
  251. package/.next/static/media/8f2ab7576a12de97-s.woff2 +0 -0
  252. package/.next/static/media/905b23b26fa2645b-s.woff2 +0 -0
  253. package/.next/static/media/91fb5c9b9b43e9ec-s.woff2 +0 -0
  254. package/.next/static/media/92079ce87aa6c00d-s.woff2 +0 -0
  255. package/.next/static/media/9d87bcf0c05a83d6-s.p.woff2 +0 -0
  256. package/.next/static/media/9e9c82ad03b7dfa5-s.woff2 +0 -0
  257. package/.next/static/media/KaTeX_AMS-Regular.1608a09b.woff +0 -0
  258. package/.next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf +0 -0
  259. package/.next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2 +0 -0
  260. package/.next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff +0 -0
  261. package/.next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf +0 -0
  262. package/.next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2 +0 -0
  263. package/.next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf +0 -0
  264. package/.next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2 +0 -0
  265. package/.next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff +0 -0
  266. package/.next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff +0 -0
  267. package/.next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf +0 -0
  268. package/.next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2 +0 -0
  269. package/.next/static/media/KaTeX_Fraktur-Regular.7c187121.woff +0 -0
  270. package/.next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2 +0 -0
  271. package/.next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf +0 -0
  272. package/.next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf +0 -0
  273. package/.next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2 +0 -0
  274. package/.next/static/media/KaTeX_Main-Bold.d181c465.woff +0 -0
  275. package/.next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2 +0 -0
  276. package/.next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf +0 -0
  277. package/.next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff +0 -0
  278. package/.next/static/media/KaTeX_Main-Italic.47373d1e.ttf +0 -0
  279. package/.next/static/media/KaTeX_Main-Italic.8916142b.woff2 +0 -0
  280. package/.next/static/media/KaTeX_Main-Italic.9024d815.woff +0 -0
  281. package/.next/static/media/KaTeX_Main-Regular.0462f03b.woff2 +0 -0
  282. package/.next/static/media/KaTeX_Main-Regular.7f51fe03.woff +0 -0
  283. package/.next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf +0 -0
  284. package/.next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2 +0 -0
  285. package/.next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf +0 -0
  286. package/.next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff +0 -0
  287. package/.next/static/media/KaTeX_Math-Italic.5295ba48.woff +0 -0
  288. package/.next/static/media/KaTeX_Math-Italic.939bc644.ttf +0 -0
  289. package/.next/static/media/KaTeX_Math-Italic.f28c23ac.woff2 +0 -0
  290. package/.next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2 +0 -0
  291. package/.next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf +0 -0
  292. package/.next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff +0 -0
  293. package/.next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2 +0 -0
  294. package/.next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff +0 -0
  295. package/.next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf +0 -0
  296. package/.next/static/media/KaTeX_SansSerif-Regular.74048478.woff +0 -0
  297. package/.next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2 +0 -0
  298. package/.next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf +0 -0
  299. package/.next/static/media/KaTeX_Script-Regular.03e9641d.woff2 +0 -0
  300. package/.next/static/media/KaTeX_Script-Regular.07505710.woff +0 -0
  301. package/.next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf +0 -0
  302. package/.next/static/media/KaTeX_Size1-Regular.e1e279cb.woff +0 -0
  303. package/.next/static/media/KaTeX_Size1-Regular.eae34984.woff2 +0 -0
  304. package/.next/static/media/KaTeX_Size1-Regular.fabc004a.ttf +0 -0
  305. package/.next/static/media/KaTeX_Size2-Regular.57727022.woff +0 -0
  306. package/.next/static/media/KaTeX_Size2-Regular.5916a24f.woff2 +0 -0
  307. package/.next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf +0 -0
  308. package/.next/static/media/KaTeX_Size3-Regular.9acaf01c.woff +0 -0
  309. package/.next/static/media/KaTeX_Size3-Regular.a144ef58.ttf +0 -0
  310. package/.next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2 +0 -0
  311. package/.next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2 +0 -0
  312. package/.next/static/media/KaTeX_Size4-Regular.7a996c9d.woff +0 -0
  313. package/.next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf +0 -0
  314. package/.next/static/media/KaTeX_Typewriter-Regular.6258592b.woff +0 -0
  315. package/.next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2 +0 -0
  316. package/.next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf +0 -0
  317. package/.next/static/media/a0c7b168290800ea-s.woff2 +0 -0
  318. package/.next/static/media/a211c214b387705f-s.woff2 +0 -0
  319. package/.next/static/media/a515f80c15233dd2-s.woff2 +0 -0
  320. package/.next/static/media/a59cf4e3704a8bf9-s.woff2 +0 -0
  321. package/.next/static/media/a7107da688a6a6c4-s.woff2 +0 -0
  322. package/.next/static/media/b0785a8aafa8fb40-s.woff2 +0 -0
  323. package/.next/static/media/b3afeb402d0641d1-s.woff2 +0 -0
  324. package/.next/static/media/b3d4f23ea9869e41-s.woff2 +0 -0
  325. package/.next/static/media/b88b6f09060fd402-s.woff2 +0 -0
  326. package/.next/static/media/b9bde58fd979694e-s.woff2 +0 -0
  327. package/.next/static/media/bdb722ed5812b325-s.woff2 +0 -0
  328. package/.next/static/media/c24e4778556eba42-s.woff2 +0 -0
  329. package/.next/static/media/c3040269b1771b02-s.woff2 +0 -0
  330. package/.next/static/media/c4123b44ca624496-s.woff2 +0 -0
  331. package/.next/static/media/ccadbccc98acfb1c-s.woff2 +0 -0
  332. package/.next/static/media/d04351f5bc3644ea-s.woff2 +0 -0
  333. package/.next/static/media/d1778a980b3fad78-s.woff2 +0 -0
  334. package/.next/static/media/d416562cb7cba055-s.woff2 +0 -0
  335. package/.next/static/media/d872fd07230782c0-s.woff2 +0 -0
  336. package/.next/static/media/db3791bbb1ae5747-s.woff2 +0 -0
  337. package/.next/static/media/dd090f323c5887c3-s.woff2 +0 -0
  338. package/.next/static/media/dd1fcf6432702b11-s.woff2 +0 -0
  339. package/.next/static/media/e45abf9e3abcfe63-s.woff2 +0 -0
  340. package/.next/static/media/e6e70594dba816d3-s.woff2 +0 -0
  341. package/.next/static/media/e8a6cb3b0c8c1d41-s.woff2 +0 -0
  342. package/.next/static/media/e8fdc46fb8ed5f75-s.woff2 +0 -0
  343. package/.next/static/media/ed7a78808c74aaab-s.woff2 +0 -0
  344. package/.next/static/media/ef9a93445fe49953-s.woff2 +0 -0
  345. package/.next/static/media/f00fd2cfeda7750f-s.woff2 +0 -0
  346. package/.next/static/media/f0863c4be7cb812e-s.woff2 +0 -0
  347. package/.next/static/media/f2fb250c4baa1fea-s.woff2 +0 -0
  348. package/.next/static/media/f392a13a0094c3d1-s.woff2 +0 -0
  349. package/.next/static/media/f42f4d2ecc3cba08-s.woff2 +0 -0
  350. package/.next/static/media/f8f98f7e33dde58b-s.woff2 +0 -0
  351. package/.next/static/media/fba9d66c2358f8e6-s.woff2 +0 -0
  352. package/.next/static/media/fc8b52876cd8aa42-s.woff2 +0 -0
  353. package/.next/static/media/fcc5ccbd071c5f3e-s.woff2 +0 -0
  354. package/.next/static/media/fe9908567bfd9cbf-s.woff2 +0 -0
  355. package/.next/trace +120 -0
  356. package/.next/types/app/api/asset/[...path]/route.ts +343 -0
  357. package/.next/types/app/api/auth/[...nextauth]/route.ts +343 -0
  358. package/.next/types/app/api/blog/[id]/highlights/[hid]/comments/[cid]/reactions/route.ts +343 -0
  359. package/.next/types/app/api/blog/[id]/highlights/[hid]/comments/[cid]/route.ts +343 -0
  360. package/.next/types/app/api/blog/[id]/highlights/[hid]/replies/route.ts +343 -0
  361. package/.next/types/app/api/blog/[id]/highlights/[hid]/resolve/route.ts +343 -0
  362. package/.next/types/app/api/blog/[id]/highlights/[hid]/route.ts +343 -0
  363. package/.next/types/app/api/blog/[id]/highlights/route.ts +343 -0
  364. package/.next/types/app/api/graphql/route.ts +343 -0
  365. package/.next/types/app/api/mile/prompts/route.ts +343 -0
  366. package/.next/types/app/api/upload/route.ts +343 -0
  367. package/.next/types/app/api/webhooks/notification/route.ts +343 -0
  368. package/.next/types/app/atom.xml/route.ts +343 -0
  369. package/.next/types/app/blog/[id]/page.ts +79 -0
  370. package/.next/types/app/blog/page.ts +79 -0
  371. package/.next/types/app/editor/page.ts +79 -0
  372. package/.next/types/app/login/page.ts +79 -0
  373. package/.next/types/app/memos/page.ts +79 -0
  374. package/.next/types/app/page.ts +79 -0
  375. package/.next/types/app/rss.xml/route.ts +343 -0
  376. package/.next/types/app/unavailable/page.ts +79 -0
  377. package/.next/types/package.json +1 -0
  378. package/bin/cici.js +9 -7
  379. package/package.json +5 -4
  380. package/public/Tinymind-banner.png +0 -0
  381. package/public/Tinymind.dmg +0 -0
  382. package/public/icon-144.jpg +0 -0
  383. package/public/icon.jpg +0 -0
  384. package/public/manifest.json +25 -0
  385. package/public/presentations/coordinated-access-control-with-policy/index.html +1593 -0
  386. package/public/tinymind.icns +0 -0
  387. /package/.next/standalone/.next/static/{Pl18p4h2shbbqjypPxStc → PDn4f_-4CIbfG8EmueowG}/_buildManifest.js +0 -0
  388. /package/.next/standalone/.next/static/{Pl18p4h2shbbqjypPxStc → PDn4f_-4CIbfG8EmueowG}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[972],{55449:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return r}}),n(33068);let r=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return e};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},56958:function(e,t,n){function r(e,t,n,r){return!1}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDomainLocale",{enumerable:!0,get:function(){return r}}),n(33068),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},72972:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return y}});let r=n(47043),o=n(57437),a=r._(n(2265)),i=n(25246),u=n(53552),s=n(57497),l=n(3987),c=n(55449),f=n(25523),d=n(61956),p=n(16081),h=n(56958),_=n(1634),g=n(24673),m=new Set;function E(e,t,n,r,o,a){if("undefined"!=typeof window&&(a||(0,u.isLocalURL)(t))){if(!r.bypassPrefetchedCheck){let o=t+"%"+n+"%"+(void 0!==r.locale?r.locale:"locale"in e?e.locale:void 0);if(m.has(o))return;m.add(o)}(async()=>a?e.prefetch(t,o):e.prefetch(t,n,r))().catch(e=>{})}}function R(e){return"string"==typeof e?e:(0,s.formatUrl)(e)}let y=a.default.forwardRef(function(e,t){let n,r;let{href:s,as:m,children:y,prefetch:P=null,passHref:S,replace:b,shallow:O,scroll:A,locale:v,onClick:T,onMouseEnter:N,onTouchStart:I,legacyBehavior:C=!1,...x}=e;n=y,C&&("string"==typeof n||"number"==typeof n)&&(n=(0,o.jsx)("a",{children:n}));let j=a.default.useContext(f.RouterContext),M=a.default.useContext(d.AppRouterContext),w=null!=j?j:M,L=!j,D=!1!==P,U=null===P?g.PrefetchKind.AUTO:g.PrefetchKind.FULL,{href:k,as:F}=a.default.useMemo(()=>{if(!j){let e=R(s);return{href:e,as:m?R(m):e}}let[e,t]=(0,i.resolveHref)(j,s,!0);return{href:e,as:m?(0,i.resolveHref)(j,m):t||e}},[j,s,m]),X=a.default.useRef(k),W=a.default.useRef(F);C&&(r=a.default.Children.only(n));let G=C?r&&"object"==typeof r&&r.ref:t,[H,Y,B]=(0,p.useIntersection)({rootMargin:"200px"}),K=a.default.useCallback(e=>{(W.current!==F||X.current!==k)&&(B(),W.current=F,X.current=k),H(e),G&&("function"==typeof G?G(e):"object"==typeof G&&(G.current=e))},[F,G,k,B,H]);a.default.useEffect(()=>{w&&Y&&D&&E(w,k,F,{locale:v},{kind:U},L)},[F,k,Y,v,D,null==j?void 0:j.locale,w,L,U]);let V={ref:K,onClick(e){C||"function"!=typeof T||T(e),C&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(e),w&&!e.defaultPrevented&&function(e,t,n,r,o,i,s,l,c){let{nodeName:f}=e.currentTarget;if("A"===f.toUpperCase()&&(function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||!c&&!(0,u.isLocalURL)(n)))return;e.preventDefault();let d=()=>{let e=null==s||s;"beforePopState"in t?t[o?"replace":"push"](n,r,{shallow:i,locale:l,scroll:e}):t[o?"replace":"push"](r||n,{scroll:e})};c?a.default.startTransition(d):d()}(e,w,k,F,b,O,A,v,L)},onMouseEnter(e){C||"function"!=typeof N||N(e),C&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),w&&(D||!L)&&E(w,k,F,{locale:v,priority:!0,bypassPrefetchedCheck:!0},{kind:U},L)},onTouchStart:function(e){C||"function"!=typeof I||I(e),C&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),w&&(D||!L)&&E(w,k,F,{locale:v,priority:!0,bypassPrefetchedCheck:!0},{kind:U},L)}};if((0,l.isAbsoluteUrl)(F))V.href=F;else if(!C||S||"a"===r.type&&!("href"in r.props)){let e=void 0!==v?v:null==j?void 0:j.locale,t=(null==j?void 0:j.isLocaleDomain)&&(0,h.getDomainLocale)(F,e,null==j?void 0:j.locales,null==j?void 0:j.domainLocales);V.href=t||(0,_.addBasePath)((0,c.addLocale)(F,e,null==j?void 0:j.defaultLocale))}return C?a.default.cloneElement(r,V):(0,o.jsx)("a",{...x,...V,children:n})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},63515:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{cancelIdleCallback:function(){return r},requestIdleCallback:function(){return n}});let n="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},r="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},25246:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return f}});let r=n(48637),o=n(57497),a=n(17053),i=n(3987),u=n(33068),s=n(53552),l=n(86279),c=n(37205);function f(e,t,n){let f;let d="string"==typeof t?t:(0,o.formatWithValidation)(t),p=d.match(/^[a-zA-Z]{1,}:\/\//),h=p?d.slice(p[0].length):d;if((h.split("?",1)[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+d+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,i.normalizeRepeatedSlashes)(h);d=(p?p[0]:"")+t}if(!(0,s.isLocalURL)(d))return n?[d]:d;try{f=new URL(d.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){f=new URL("/","http://n")}try{let e=new URL(d,f);e.pathname=(0,u.normalizePathTrailingSlash)(e.pathname);let t="";if((0,l.isDynamicRoute)(e.pathname)&&e.searchParams&&n){let n=(0,r.searchParamsToUrlQuery)(e.searchParams),{result:i,params:u}=(0,c.interpolateAs)(e.pathname,e.pathname,n);i&&(t=(0,o.formatWithValidation)({pathname:i,hash:e.hash,query:(0,a.omit)(n,u)}))}let i=e.origin===f.origin?e.href.slice(e.origin.length):e.href;return n?[i,t||i]:i}catch(e){return n?[d]:d}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},16081:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return s}});let r=n(2265),o=n(63515),a="function"==typeof IntersectionObserver,i=new Map,u=[];function s(e){let{rootRef:t,rootMargin:n,disabled:s}=e,l=s||!a,[c,f]=(0,r.useState)(!1),d=(0,r.useRef)(null),p=(0,r.useCallback)(e=>{d.current=e},[]);return(0,r.useEffect)(()=>{if(a){if(l||c)return;let e=d.current;if(e&&e.tagName)return function(e,t,n){let{id:r,observer:o,elements:a}=function(e){let t;let n={root:e.root||null,margin:e.rootMargin||""},r=u.find(e=>e.root===n.root&&e.margin===n.margin);if(r&&(t=i.get(r)))return t;let o=new Map;return t={id:n,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e),elements:o},u.push(n),i.set(n,t),t}(n);return a.set(e,t),o.observe(e),function(){if(a.delete(e),o.unobserve(e),0===a.size){o.disconnect(),i.delete(r);let e=u.findIndex(e=>e.root===r.root&&e.margin===r.margin);e>-1&&u.splice(e,1)}}}(e,e=>e&&f(e),{root:null==t?void 0:t.current,rootMargin:n})}else if(!c){let e=(0,o.requestIdleCallback)(()=>f(!0));return()=>(0,o.cancelIdleCallback)(e)}},[l,n,t,c,d.current]),[p,c,(0,r.useCallback)(()=>{f(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},19259:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ACTION_SUFFIX:function(){return s},APP_DIR_ALIAS:function(){return T},CACHE_ONE_YEAR:function(){return y},DOT_NEXT_ALIAS:function(){return A},ESLINT_DEFAULT_DIRS:function(){return B},GSP_NO_RETURNED_VALUE:function(){return F},GSSP_COMPONENT_MEMBER_ERROR:function(){return G},GSSP_NO_RETURNED_VALUE:function(){return X},INSTRUMENTATION_HOOK_FILENAME:function(){return b},MIDDLEWARE_FILENAME:function(){return P},MIDDLEWARE_LOCATION_REGEXP:function(){return S},NEXT_BODY_SUFFIX:function(){return f},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return R},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return h},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return _},NEXT_CACHE_SOFT_TAGS_HEADER:function(){return p},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return E},NEXT_CACHE_TAGS_HEADER:function(){return d},NEXT_CACHE_TAG_MAX_ITEMS:function(){return g},NEXT_CACHE_TAG_MAX_LENGTH:function(){return m},NEXT_DATA_SUFFIX:function(){return l},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return r},NEXT_META_SUFFIX:function(){return c},NEXT_QUERY_PARAM_PREFIX:function(){return n},NON_STANDARD_NODE_ENV:function(){return H},PAGES_DIR_ALIAS:function(){return O},PRERENDER_REVALIDATE_HEADER:function(){return o},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return a},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return M},ROOT_DIR_ALIAS:function(){return v},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return j},RSC_ACTION_ENCRYPTION_ALIAS:function(){return x},RSC_ACTION_PROXY_ALIAS:function(){return C},RSC_ACTION_VALIDATE_ALIAS:function(){return I},RSC_MOD_REF_PROXY_ALIAS:function(){return N},RSC_PREFETCH_SUFFIX:function(){return i},RSC_SUFFIX:function(){return u},SERVER_PROPS_EXPORT_ERROR:function(){return k},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return L},SERVER_PROPS_SSG_CONFLICT:function(){return D},SERVER_RUNTIME:function(){return K},SSG_FALLBACK_EXPORT_ERROR:function(){return Y},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return w},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return U},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return W},WEBPACK_LAYERS:function(){return z},WEBPACK_RESOURCE_QUERIES:function(){return q}});let n="nxtP",r="nxtI",o="x-prerender-revalidate",a="x-prerender-revalidate-if-generated",i=".prefetch.rsc",u=".rsc",s=".action",l=".json",c=".meta",f=".body",d="x-next-cache-tags",p="x-next-cache-soft-tags",h="x-next-revalidated-tags",_="x-next-revalidate-tag-token",g=128,m=256,E=1024,R="_N_T_",y=31536e3,P="middleware",S=`(?:src/)?${P}`,b="instrumentation",O="private-next-pages",A="private-dot-next",v="private-next-root-dir",T="private-next-app-dir",N="private-next-rsc-mod-ref-proxy",I="private-next-rsc-action-validate",C="private-next-rsc-server-reference",x="private-next-rsc-action-encryption",j="private-next-rsc-action-client-wrapper",M="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",w="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",L="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",D="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",U="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",k="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",F="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",X="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",W="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",G="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",H='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',Y="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",B=["app","pages","components","lib","src"],K={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},V={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",api:"api",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",appMetadataRoute:"app-metadata-route",appRouteHandler:"app-route-handler"},z={...V,GROUP:{serverOnly:[V.reactServerComponents,V.actionBrowser,V.appMetadataRoute,V.appRouteHandler,V.instrument],clientOnly:[V.serverSideRendering,V.appPagesBrowser],nonClientServerTarget:[V.middleware,V.api],app:[V.reactServerComponents,V.actionBrowser,V.appMetadataRoute,V.appRouteHandler,V.serverSideRendering,V.appPagesBrowser,V.shared,V.instrument]}},q={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},90042:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return o}});let n=/[|\\{}()[\]^$+*?.-]/,r=/[|\\{}()[\]^$+*?.-]/g;function o(e){return n.test(e)?e.replace(r,"\\$&"):e}},25523:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return r}});let r=n(47043)._(n(2265)).default.createContext(null)},57497:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{formatUrl:function(){return a},formatWithValidation:function(){return u},urlObjectKeys:function(){return i}});let r=n(53099)._(n(48637)),o=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:n}=e,a=e.protocol||"",i=e.pathname||"",u=e.hash||"",s=e.query||"",l=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?l=t+e.host:n&&(l=t+(~n.indexOf(":")?"["+n+"]":n),e.port&&(l+=":"+e.port)),s&&"object"==typeof s&&(s=String(r.urlQueryToSearchParams(s)));let c=e.search||s&&"?"+s||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==l?(l="//"+(l||""),i&&"/"!==i[0]&&(i="/"+i)):l||(l=""),u&&"#"!==u[0]&&(u="#"+u),c&&"?"!==c[0]&&(c="?"+c),""+a+l+(i=i.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+u}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return a(e)}},86279:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getSortedRoutes:function(){return r.getSortedRoutes},isDynamicRoute:function(){return o.isDynamicRoute}});let r=n(14777),o=n(38104)},37205:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return a}});let r=n(4199),o=n(9964);function a(e,t,n){let a="",i=(0,o.getRouteRegex)(e),u=i.groups,s=(t!==e?(0,r.getRouteMatcher)(i)(t):"")||n;a=e;let l=Object.keys(u);return l.every(e=>{let t=s[e]||"",{repeat:n,optional:r}=u[e],o="["+(n?"...":"")+e+"]";return r&&(o=(t?"":"/")+"["+o+"]"),n&&!Array.isArray(t)&&(t=[t]),(r||e in s)&&(a=a.replace(o,n?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(a=""),{params:l,result:a}}},38104:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return a}});let r=n(91182),o=/\/\[[^/]+?\](?=\/|$)/;function a(e){return(0,r.isInterceptionRouteAppPath)(e)&&(e=(0,r.extractInterceptionRouteInformation)(e).interceptedRoute),o.test(e)}},53552:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return a}});let r=n(3987),o=n(11283);function a(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,o.hasBasePath)(n.pathname)}catch(e){return!1}}},17053:function(e,t){function n(e,t){let n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return n}})},48637:function(e,t){function n(e){let t={};return e.forEach((e,n)=>{void 0===t[n]?t[n]=e:Array.isArray(t[n])?t[n].push(e):t[n]=[t[n],e]}),t}function r(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[n,o]=e;Array.isArray(o)?o.forEach(e=>t.append(n,r(e))):t.set(n,r(o))}),t}function a(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.forEach(t=>{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,n)=>e.append(n,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{assign:function(){return a},searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return o}})},4199:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return o}});let r=n(3987);function o(e){let{re:t,groups:n}=e;return e=>{let o=t.exec(e);if(!o)return!1;let a=e=>{try{return decodeURIComponent(e)}catch(e){throw new r.DecodeError("failed to decode param")}},i={};return Object.keys(n).forEach(e=>{let t=n[e],r=o[t.pos];void 0!==r&&(i[e]=~r.indexOf("/")?r.split("/").map(e=>a(e)):t.repeat?[a(r)]:a(r))}),i}}},9964:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getNamedMiddlewareRegex:function(){return p},getNamedRouteRegex:function(){return d},getRouteRegex:function(){return l},parseParameter:function(){return u}});let r=n(19259),o=n(91182),a=n(90042),i=n(26674);function u(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let n=e.startsWith("...");return n&&(e=e.slice(3)),{key:e,repeat:n,optional:t}}function s(e){let t=(0,i.removeTrailingSlash)(e).slice(1).split("/"),n={},r=1;return{parameterizedRoute:t.map(e=>{let t=o.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(t&&i){let{key:e,optional:o,repeat:s}=u(i[1]);return n[e]={pos:r++,repeat:s,optional:o},"/"+(0,a.escapeStringRegexp)(t)+"([^/]+?)"}if(!i)return"/"+(0,a.escapeStringRegexp)(e);{let{key:e,repeat:t,optional:o}=u(i[1]);return n[e]={pos:r++,repeat:t,optional:o},t?o?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}}).join(""),groups:n}}function l(e){let{parameterizedRoute:t,groups:n}=s(e);return{re:RegExp("^"+t+"(?:/)?$"),groups:n}}function c(e){let{interceptionMarker:t,getSafeRouteKey:n,segment:r,routeKeys:o,keyPrefix:i}=e,{key:s,optional:l,repeat:c}=u(r),f=s.replace(/\W/g,"");i&&(f=""+i+f);let d=!1;(0===f.length||f.length>30)&&(d=!0),isNaN(parseInt(f.slice(0,1)))||(d=!0),d&&(f=n()),i?o[f]=""+i+s:o[f]=s;let p=t?(0,a.escapeStringRegexp)(t):"";return c?l?"(?:/"+p+"(?<"+f+">.+?))?":"/"+p+"(?<"+f+">.+?)":"/"+p+"(?<"+f+">[^/]+?)"}function f(e,t){let n;let u=(0,i.removeTrailingSlash)(e).slice(1).split("/"),s=(n=0,()=>{let e="",t=++n;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),l={};return{namedParameterizedRoute:u.map(e=>{let n=o.INTERCEPTION_ROUTE_MARKERS.some(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(n&&i){let[n]=e.split(i[0]);return c({getSafeRouteKey:s,interceptionMarker:n,segment:i[1],routeKeys:l,keyPrefix:t?r.NEXT_INTERCEPTION_MARKER_PREFIX:void 0})}return i?c({getSafeRouteKey:s,segment:i[1],routeKeys:l,keyPrefix:t?r.NEXT_QUERY_PARAM_PREFIX:void 0}):"/"+(0,a.escapeStringRegexp)(e)}).join(""),routeKeys:l}}function d(e,t){let n=f(e,t);return{...l(e),namedRegex:"^"+n.namedParameterizedRoute+"(?:/)?$",routeKeys:n.routeKeys}}function p(e,t){let{parameterizedRoute:n}=s(e),{catchAll:r=!0}=t;if("/"===n)return{namedRegex:"^/"+(r?".*":"")+"$"};let{namedParameterizedRoute:o}=f(e,!1);return{namedRegex:"^"+o+(r?"(?:(/.*)?)":"")+"$"}}},14777:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSortedRoutes",{enumerable:!0,get:function(){return r}});class n{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let n=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&n.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").');n.unshift(t)}return null!==this.restSlugName&&n.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&n.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),n}_insert(e,t,r){if(0===e.length){this.placeholder=!1;return}if(r)throw Error("Catch-all must be the last part of the URL.");let o=e[0];if(o.startsWith("[")&&o.endsWith("]")){let n=o.slice(1,-1),i=!1;if(n.startsWith("[")&&n.endsWith("]")&&(n=n.slice(1,-1),i=!0),n.startsWith("...")&&(n=n.substring(3),r=!0),n.startsWith("[")||n.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+n+"').");if(n.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+n+"').");function a(e,n){if(null!==e&&e!==n)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+n+"').");t.forEach(e=>{if(e===n)throw Error('You cannot have the same slug name "'+n+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+n+'" differ only by non-word symbols within a single dynamic path')}),t.push(n)}if(r){if(i){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).');a(this.optionalRestSlugName,n),this.optionalRestSlugName=n,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").');a(this.restSlugName,n),this.restSlugName=n,o="[...]"}}else{if(i)throw Error('Optional route parameters are not yet supported ("'+e[0]+'").');a(this.slugName,n),this.slugName=n,o="[]"}}this.children.has(o)||this.children.set(o,new n),this.children.get(o)._insert(e.slice(1),t,r)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function r(e){let t=new n;return e.forEach(e=>t.insert(e)),t.smoosh()}},3987:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return E},MissingStaticPage:function(){return m},NormalizeError:function(){return _},PageNotFoundError:function(){return g},SP:function(){return d},ST:function(){return p},WEB_VITALS:function(){return n},execOnce:function(){return r},getDisplayName:function(){return s},getLocationOrigin:function(){return i},getURL:function(){return u},isAbsoluteUrl:function(){return a},isResSent:function(){return l},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return R}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function r(e){let t,n=!1;return function(){for(var r=arguments.length,o=Array(r),a=0;a<r;a++)o[a]=arguments[a];return n||(n=!0,t=e(...o)),t}}let o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,a=e=>o.test(e);function i(){let{protocol:e,hostname:t,port:n}=window.location;return e+"//"+t+(n?":"+n:"")}function u(){let{href:e}=window.location,t=i();return e.substring(t.length)}function s(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function l(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&l(n))return r;if(!r)throw Error('"'+s(e)+'.getInitialProps()" should resolve to an object. But found "'+r+'" instead.');return r}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class _ extends Error{}class g extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class m extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class E extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function R(e){return JSON.stringify({message:e.message,stack:e.stack})}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[409],{67589:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_not-found/page",function(){return n(83634)}])},83634:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}}),n(47043);let i=n(57437);n(2265);let o={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},l={display:"inline-block"},r={display:"inline-block",margin:"0 20px 0 0",padding:"0 23px 0 0",fontSize:24,fontWeight:500,verticalAlign:"top",lineHeight:"49px"},d={fontSize:14,fontWeight:400,lineHeight:"49px",margin:0};function s(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("title",{children:"404: This page could not be found."}),(0,i.jsx)("div",{style:o,children:(0,i.jsxs)("div",{children:[(0,i.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,i.jsx)("h1",{className:"next-error-h1",style:r,children:"404"}),(0,i.jsx)("div",{style:l,children:(0,i.jsx)("h2",{style:d,children:"This page could not be found."})})]})})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}},function(e){e.O(0,[971,117,744],function(){return e(e.s=67589)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[548],{32154:function(e,t,n){Promise.resolve().then(n.bind(n,63141)),Promise.resolve().then(n.bind(n,37344))},63141:function(e,t,n){"use strict";n.d(t,{PostContainer:function(){return em}});var r=n(57437),l=n(2265),o=n(99376);n(2446);var i=n(20698),a=n(34996),s=n(52093),d=n(46191),c=n(19683),u=n(81315),m=n(92920),f=n(33145),h=n(84678);function p(e){let{title:t,date:n,content:o,slug:p,headerContent:g,discussionsComponent:x,location:v}=e;return(0,r.jsxs)("div",{className:"max-w-3xl mx-auto px-4 py-8",children:[g&&(0,r.jsx)("div",{className:"flex justify-end mb-6",children:g}),(0,r.jsxs)("main",{className:"bg-white rounded-lg border border-gray-200 p-8",children:[(0,r.jsxs)("header",{className:"mb-8",children:[(0,r.jsx)("h1",{className:"text-3xl font-bold leading-tight mb-3 text-gray-900",children:t}),(0,r.jsxs)("div",{className:"text-sm text-gray-600 flex items-center gap-3",children:[(0,r.jsx)("time",{dateTime:n,children:(0,s.WU)(new Date(n),"MMM d, yyyy")}),(null==v?void 0:v.city)&&(0,r.jsxs)("span",{className:"flex items-center gap-1",children:["\uD83D\uDD8A ",v.city,v.street?" \xb7 ".concat(v.street):""]})]})]}),(0,r.jsx)("div",{className:"prose prose-lg max-w-none text-gray-900 leading-relaxed prose-p:my-3 prose-img:my-0",children:(0,r.jsx)(i.U,{remarkPlugins:[c.Z,u.Z],rehypePlugins:[d.Z],components:{code(e){let{inline:t,className:n,children:l,...o}=e,i=/language-(\w+)/.exec(n||"");return!t&&i?(0,r.jsx)(a.Z,{style:m.Z,language:i[1],PreTag:"div",children:String(l).replace(/\n$/,"")}):(0,r.jsx)("code",{className:n,...o,children:l})},a:e=>{let{children:t,...n}=e;return(0,r.jsx)("a",{...n,className:"text-gray-400 no-underline hover:text-gray-600 hover:underline hover:underline-offset-4 transition-colors duration-200 break-words",target:"_blank",rel:"noopener noreferrer",children:t})},blockquote:e=>{let{children:t}=e;return(0,r.jsx)("blockquote",{className:"pl-4 border-l-4 border-gray-200 text-gray-400",children:t})},p:e=>{let{children:t}=e;return l.Children.toArray(t).every(e=>l.isValidElement(e)&&"img"===e.type)?(0,r.jsx)(r.Fragment,{children:t}):(0,r.jsx)("p",{children:t})},img:e=>{let{children:t,...n}=e;return(0,r.jsx)("div",{className:"flex justify-center",children:(0,r.jsxs)("div",{className:"w-full",children:[(0,r.jsx)(f.default,{src:n.src||"",alt:n.alt||"image",width:1200,height:800,className:"h-auto w-full object-contain rounded-lg shadow-md",quality:100,priority:!0}),t&&(0,r.jsx)("div",{className:"text-center mt-2 text-sm text-gray-500 italic",children:t})]})})}},children:o})}),(0,r.jsx)("div",{className:"mt-8 pt-6 border-t border-gray-100 flex justify-center",children:(0,r.jsx)(h.Z,{type:"blog",id:p})})]}),x&&(0,r.jsx)("div",{className:"mt-6",children:x})]})}function g(e,t){var n;let r=null!==(n=t.textContent)&&void 0!==n?n:"";if(0===r.length)return null;if(e.startOffset>=0&&e.endOffset<=r.length&&r.slice(e.startOffset,e.endOffset)===e.exact)return b(t,e.startOffset,e.endOffset);if(e.prefix.length>0||e.suffix.length>0){let n=e.prefix+e.exact+e.suffix,l=r.indexOf(n);if(l>=0){let n=l+e.prefix.length;return b(t,n,n+e.exact.length)}}if(e.exact.length>0){let n=r.indexOf(e.exact);if(n>=0)return b(t,n,n+e.exact.length)}return null}function x(e,t,n){return t.nodeType===Node.TEXT_NODE?function(e,t,n){let r=e.ownerDocument;if(!r)return -1;let l=0,o=r.createTreeWalker(e,NodeFilter.SHOW_TEXT),i=o.nextNode();for(;i;){var a,s,d,c;if(i===t)return l+Math.min(n,null!==(d=null===(s=i.textContent)||void 0===s?void 0:s.length)&&void 0!==d?d:0);l+=null!==(c=null===(a=i.textContent)||void 0===a?void 0:a.length)&&void 0!==c?c:0,i=o.nextNode()}return -1}(e,t,n):t===e?v(e,e,n):t.nodeType===Node.ELEMENT_NODE?v(e,t,n):-1}function v(e,t,n){var r,l,o,i;let a=0;for(let e=0;e<n&&e<t.childNodes.length;e++)a+=null!==(l=null===(r=t.childNodes[e].textContent)||void 0===r?void 0:r.length)&&void 0!==l?l:0;if(t===e)return a;let s=e.ownerDocument;if(!s)return -1;let d=0,c=s.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT),u=c.nextNode();for(;u;){if(u===t)return d+a;u.nodeType===Node.TEXT_NODE&&(d+=null!==(i=null===(o=u.textContent)||void 0===o?void 0:o.length)&&void 0!==i?i:0),u=c.nextNode()}return -1}function b(e,t,n){let r=e.ownerDocument;if(!r||t<0||n<t)return null;let l=r.createRange(),o=0,i=!1,a=!1,s=r.createTreeWalker(e,NodeFilter.SHOW_TEXT),d=s.nextNode();for(;d;){var c,u;let e=null!==(u=null===(c=d.textContent)||void 0===c?void 0:c.length)&&void 0!==u?u:0,r=o,m=o+e;if(!i&&t>=r&&t<=m&&(l.setStart(d,t-r),i=!0),!a&&n>=r&&n<=m&&(l.setEnd(d,n-r),a=!0),i&&a)return l;o=m,d=s.nextNode()}return i&&a?l:null}async function y(e,t){var n,r;let l=await fetch(e,{...t,headers:{"Content-Type":"application/json",...null!==(n=null==t?void 0:t.headers)&&void 0!==n?n:{}}}),o=await l.json();if(!l.ok||!o.success||void 0===o.data)throw Error(null!==(r=o.error)&&void 0!==r?r:"Request failed: ".concat(l.status));return o.data}async function j(e){return y("/api/blog/".concat(encodeURIComponent(e),"/highlights"))}async function w(e,t){return y("/api/blog/".concat(encodeURIComponent(e),"/highlights"),{method:"POST",body:JSON.stringify(t)})}async function N(e,t,n){return y("/api/blog/".concat(encodeURIComponent(e),"/highlights/").concat(encodeURIComponent(t),"/replies"),{method:"POST",body:JSON.stringify(n)})}async function C(e,t,n,r){return y("/api/blog/".concat(encodeURIComponent(e),"/highlights/").concat(encodeURIComponent(t),"/comments/").concat(encodeURIComponent(n),"/reactions"),{method:"POST",body:JSON.stringify({emoji:r})})}async function S(e,t,n){return y("/api/blog/".concat(encodeURIComponent(e),"/highlights/").concat(encodeURIComponent(t),"/resolve"),{method:"POST",body:JSON.stringify({resolved:n})})}async function E(e,t){return y("/api/blog/".concat(encodeURIComponent(e),"/highlights/").concat(encodeURIComponent(t)),{method:"DELETE"})}async function R(e,t,n){return y("/api/blog/".concat(encodeURIComponent(e),"/highlights/").concat(encodeURIComponent(t),"/comments/").concat(encodeURIComponent(n)),{method:"DELETE"})}var T=n(55710),O=n(69076),D=n(41671),k=n(18930);let A=null,_=new Set;function I(e){A!==e&&(A=e,_.forEach(t=>t(e)))}function M(){let[e,t]=(0,l.useState)(A);return(0,l.useEffect)(()=>(_.add(t),()=>{_.delete(t)}),[]),e}var P=n(32489),U=n(44743);function z(e){let{initialBody:t="",initialName:n="",placeholder:o="Add a comment…",submitLabel:i="Comment",onSubmit:a,onCancel:s,disabled:d}=e,[c,u]=(0,l.useState)(t),[m,f]=(0,l.useState)(n),[h,p]=(0,l.useState)(!1),[g,x]=(0,l.useState)(""),[v,b]=(0,l.useState)(!1),[y,j]=(0,l.useState)(null);async function w(){if(c.trim()&&!v&&!d){b(!0),j(null);try{if(g.length>0){j("Submission blocked");return}await a(c.trim(),m.trim()?m.trim():null),u("")}catch(e){j(e instanceof Error?e.message:"Failed to submit")}finally{b(!1)}}}return(0,l.useEffect)(()=>{h||f(n)},[n,h]),(0,r.jsxs)("div",{className:"flex flex-col gap-3 rounded-lg border border-border bg-card p-4",children:[(0,r.jsx)("textarea",{value:c,onChange:e=>u(e.target.value),placeholder:o,rows:3,maxLength:2e3,disabled:v||d,className:"w-full resize-none rounded border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground focus:border-primary focus:outline-none focus:ring-1 focus:ring-primary/40",onKeyDown:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),w())}}),(0,r.jsx)("input",{type:"text",value:m,onChange:e=>{p(!0),f(e.target.value)},placeholder:"Your name (optional)",maxLength:40,disabled:v||d,className:"w-full rounded border border-border bg-background px-3 py-2 text-xs text-foreground placeholder-muted-foreground focus:border-primary focus:outline-none focus:ring-1 focus:ring-primary/40"}),(0,r.jsx)("input",{type:"text",value:g,onChange:e=>x(e.target.value),tabIndex:-1,autoComplete:"off","aria-hidden":"true",className:"absolute -left-[9999px] -top-[9999px] h-0 w-0 opacity-0"}),y&&(0,r.jsx)("div",{className:"text-xs text-destructive",children:y}),(0,r.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-1",children:[s&&(0,r.jsxs)("button",{type:"button",onClick:s,disabled:v,className:"inline-flex h-8 items-center gap-1 rounded px-3 text-xs text-muted-foreground hover:bg-muted",children:[(0,r.jsx)(P.Z,{className:"h-3 w-3"}),"Cancel"]}),(0,r.jsxs)("button",{type:"button",onClick:w,disabled:v||d||!c.trim(),className:"inline-flex h-8 items-center gap-1 rounded bg-primary px-3 text-xs font-medium text-primary-foreground shadow-sm hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-50",children:[(0,r.jsx)(U.Z,{className:"h-3 w-3"}),v?"Sending…":i]})]})]})}function L(e){let{highlight:t,fingerprint:n,isOwner:o,onReply:i,onReact:a,onResolve:s,onDelete:d}=e,c=M()===t.id,[u,m]=(0,l.useState)(!1),f=t.thread[0],h=t.thread.slice(1);return(0,r.jsxs)("div",{"data-card-for":t.id,onMouseEnter:()=>I(t.id),onMouseLeave:()=>I(null),className:["rounded-lg border bg-card p-3 shadow-sm transition-all",c?"border-primary/60 shadow-md":"border-border",t.resolved?"opacity-60":""].join(" "),children:[(0,r.jsx)(F,{comment:f,isOwner:o,onDelete:()=>d(t.id,f.id)}),h.length>0&&(0,r.jsx)("div",{className:"mt-2 space-y-2 border-l-2 border-border pl-2",children:h.map(e=>(0,r.jsx)(F,{comment:e,isOwner:o,onDelete:()=>d(t.id,e.id),compact:!0},e.id))}),(0,r.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-2",children:[u?null:(0,r.jsx)("button",{type:"button",onClick:()=>m(!0),className:"text-xs font-medium text-primary hover:underline",children:"Reply"}),o&&(0,r.jsxs)("button",{type:"button",onClick:()=>s(t.id,!t.resolved),className:"ml-auto inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-xs text-muted-foreground hover:bg-muted","aria-label":t.resolved?"Reopen":"Resolve",children:[t.resolved?(0,r.jsx)(O.Z,{className:"h-3 w-3"}):(0,r.jsx)(D.Z,{className:"h-3 w-3"}),t.resolved?"Reopen":"Resolve"]})]}),u&&(0,r.jsx)("div",{className:"mt-2",children:(0,r.jsx)(z,{placeholder:"Reply…",submitLabel:"Reply",onSubmit:async(e,n)=>{await i(t.id,f.id,e,n),m(!1)},onCancel:()=>m(!1)})})]})}function F(e){var t;let{comment:n,isOwner:l,onDelete:o,compact:i}=e;if(n.hidden)return(0,r.jsx)("div",{className:"text-xs italic text-muted-foreground",children:"(removed)"});let a=(null===(t=n.authorName)||void 0===t?void 0:t.trim())||"Anonymous ".concat(n.fingerprint.slice(0,4)),s=(0,T.Q)(new Date(n.createdAt),{addSuffix:!0});return(0,r.jsxs)("div",{className:i?"text-xs":"text-sm",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("span",{className:"font-medium text-foreground",children:a}),(0,r.jsxs)("span",{className:"text-[11px] text-muted-foreground",children:["\xb7 ",s]})]}),l&&(0,r.jsx)("button",{type:"button",onClick:o,className:"rounded p-1 text-muted-foreground hover:bg-muted hover:text-destructive","aria-label":i?"Delete reply":"Delete comment",children:(0,r.jsx)(k.Z,{className:"h-3 w-3"})})]}),(0,r.jsx)("div",{className:"mt-1 whitespace-pre-wrap text-foreground/80",children:n.body})]})}let Z="__pending__";function B(e){var t,n;let{highlights:o,articleEl:i,recomputeKey:a,pending:s}=e,[d,c]=(0,l.useState)({}),[u,m]=(0,l.useState)({}),f=(0,l.useRef)(new Map);(0,l.useLayoutEffect)(()=>{if(!i)return;let e=i.getBoundingClientRect(),t={};for(let n of o){let r=g(n.anchor,i);if(!r)continue;let l=r.getBoundingClientRect();t[n.id]=l.top-e.top}if(s){let n=g(s.anchor,i);if(n){let r=n.getBoundingClientRect();t[Z]=r.top-e.top}else t[Z]=0}m(t)},[o,i,a,s]);let h=o.filter(e=>void 0!==u[e.id]),p=h.map(e=>{var t;return{id:e.id,desiredTop:u[e.id],height:null!==(t=d[e.id])&&void 0!==t?t:100}});s&&void 0!==u[Z]&&p.push({id:Z,desiredTop:u[Z],height:null!==(t=d[Z])&&void 0!==t?t:100});let x=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=[...e].sort((e,t)=>e.desiredTop-t.desiredTop),r=new Map,l=0;for(let e of n){let n=Math.max(e.desiredTop,l);r.set(e.id,n),l=n+e.height+t}return r}(p);function v(e){return t=>{let n=f.current.get(e);if(n&&(n.disconnect(),f.current.delete(e)),!t)return;let r=new ResizeObserver(t=>{let n=t[0];if(!n)return;let r=n.contentRect.height;c(t=>t[e]===r?t:{...t,[e]:r})});r.observe(t),f.current.set(e,r)}}if((0,l.useEffect)(()=>{let e=f.current;return()=>{e.forEach(e=>e.disconnect()),e.clear()}},[]),(0,l.useEffect)(()=>{let e=new Set(o.map(e=>e.id));s&&e.add(Z),f.current.forEach((t,n)=>{e.has(n)||(t.disconnect(),f.current.delete(n))})},[o,s]),0===p.length)return null;let b=Math.max(...p.map(e=>{var t,n;return(null!==(t=x.get(e.id))&&void 0!==t?t:0)+(null!==(n=d[e.id])&&void 0!==n?n:100)}),0);return(0,r.jsxs)("div",{className:"relative w-full",style:{minHeight:b},children:[h.map(t=>{var n;return(0,r.jsx)("div",{ref:v(t.id),className:"absolute left-0 w-full",style:{top:null!==(n=x.get(t.id))&&void 0!==n?n:0},children:(0,r.jsx)(L,{highlight:t,fingerprint:e.fingerprint,isOwner:e.isOwner,onReply:e.onReply,onReact:e.onReact,onResolve:e.onResolve,onDelete:e.onDelete})},t.id)}),s&&void 0!==u[Z]&&(0,r.jsx)("div",{ref:v(Z),className:"absolute left-0 w-full",style:{top:null!==(n=x.get(Z))&&void 0!==n?n:0},children:s.composer})]})}function H(e){let{highlight:t,articleEl:n,recomputeKey:o=0}=e,[i,a]=(0,l.useState)([]),s=M();if((0,l.useEffect)(()=>{if(!n)return;let e=g(t.anchor,n);if(!e){a([]);return}let r=n.getBoundingClientRect();a(Array.from(e.getClientRects()).map(e=>({top:e.top-r.top+n.scrollTop,left:e.left-r.left,width:e.width,height:e.height})))},[t.anchor,n,o]),0===i.length)return null;let d=s===t.id,c=t.resolved;return(0,r.jsx)(r.Fragment,{children:i.map((e,n)=>{var l,o;return(0,r.jsx)("button",{type:"button","aria-label":"Highlight: ".concat(null!==(o=null===(l=t.thread[0])||void 0===l?void 0:l.body.slice(0,80))&&void 0!==o?o:""),"data-highlight-id":t.id,onClick:e=>{e.preventDefault(),e.stopPropagation(),I(d?null:t.id)},onMouseEnter:()=>I(t.id),style:{top:e.top,left:e.left,width:e.width,height:e.height},className:["absolute z-10 cursor-pointer rounded-sm border-b-2 transition-colors",c?"border-muted-foreground/40 bg-muted/40 hover:bg-muted/60":"border-yellow-400/60 bg-yellow-200/40 hover:bg-yellow-200/70",d&&!c?"border-yellow-500 bg-yellow-300/60":"",d&&c?"border-muted-foreground bg-muted/70":""].join(" ")},"".concat(t.id,"-").concat(n))})})}var W=n(77440);function V(e){let{containerRef:t,onAddComment:n,suppressed:o}=e,[i,a]=(0,l.useState)(null);return((0,l.useEffect)(()=>{if(!t.current)return;let e=()=>(function(){if(o){a(null);return}let e=document.getSelection();if(!e||e.isCollapsed||0===e.rangeCount){a(null);return}let n=e.getRangeAt(0),r=t.current;if(!r)return;if(!r.contains(n.startContainer)||!r.contains(n.endContainer)){a(null);return}let l=n.getBoundingClientRect(),i=r.getBoundingClientRect();if(0===l.width&&0===l.height){a(null);return}a({top:l.top-i.top,left:i.width+8})})();return document.addEventListener("selectionchange",e),window.addEventListener("resize",e),()=>{document.removeEventListener("selectionchange",e),window.removeEventListener("resize",e)}},[t,o]),i)?(0,r.jsx)("button",{type:"button",onMouseDown:e=>{e.preventDefault()},onClick:n,style:{top:i.top,left:i.left},className:"absolute z-30 flex h-8 w-8 items-center justify-center rounded-full bg-primary text-primary-foreground shadow-md transition-all hover:scale-110 hover:opacity-90 focus:outline-none focus:ring-2 focus:ring-ring","aria-label":"Add comment on selection",children:(0,r.jsx)(W.Z,{className:"h-4 w-4"})}):null}function X(e){let{postId:t,children:n}=e,o=(0,l.useRef)(null),[i,a]=(0,l.useState)([]),[s,d]=(0,l.useState)(null),[c,u]=(0,l.useState)(null),[m,f]=(0,l.useState)(!1),[h,p]=(0,l.useState)(null),[v,b]=(0,l.useState)([]),[y,T]=(0,l.useState)(0),[O,D]=(0,l.useState)(null);(0,l.useEffect)(()=>{let e=!1;return j(t).then(t=>{e||(a(t.highlights),d(t.currentFingerprint),u(t.currentDisplayName),f(t.isOwner))}).catch(t=>{e||console.error("Failed to load highlights",t)}),()=>{e=!0}},[t]),(0,l.useEffect)(()=>{let e=o.current;if(!e)return;let t=new ResizeObserver(()=>T(e=>e+1));t.observe(e),"undefined"!=typeof document&&document.fonts&&document.fonts.ready.then(()=>T(e=>e+1)).catch(()=>{});let n=()=>T(e=>e+1);return window.addEventListener("resize",n),()=>{t.disconnect(),window.removeEventListener("resize",n)}},[]),(0,l.useEffect)(()=>{if(!h){b([]);return}let e=o.current;if(!e)return;let t=g(h,e);if(!t){b([]);return}let n=e.getBoundingClientRect();b(Array.from(t.getClientRects()).map(e=>({top:e.top-n.top,left:e.left-n.left,width:e.width,height:e.height})))},[h,y]);let k=(0,l.useCallback)(()=>{let e=document.getSelection();if(!e||0===e.rangeCount||e.isCollapsed)return;let t=e.getRangeAt(0),n=o.current;if(!n)return;let r=function(e,t){var n;if(e.collapsed||!t.contains(e.startContainer)||!t.contains(e.endContainer))return null;let r=null!==(n=t.textContent)&&void 0!==n?n:"";if(0===r.length)return null;let l=x(t,e.startContainer,e.startOffset),o=x(t,e.endContainer,e.endOffset);if(l<0||o<0||o<=l)return null;let i=r.slice(l,o);if(0===i.length)return null;let a=r.slice(Math.max(0,l-32),l),s=r.slice(o,Math.min(r.length,o+32));return{startOffset:l,endOffset:o,exact:i,prefix:a,suffix:s}}(t,n);r&&(p(r),e.removeAllRanges())},[]),A=(0,l.useCallback)(async(e,n)=>{if(h)try{let{highlight:r}=await w(t,{anchor:h,body:e,authorName:n});a(e=>[...e,r]),p(null),D(null)}catch(e){throw D(e instanceof Error?e.message:"Failed to comment"),e}},[h,t]),_=(0,l.useCallback)(async(e,n,r,l)=>{let{comment:o}=await N(t,e,{parentId:n,body:r,authorName:l});a(t=>t.map(t=>t.id===e?{...t,thread:[...t.thread,o]}:t))},[t]),I=(0,l.useCallback)(async(e,n,r)=>{let{reactions:l}=await C(t,e,n,r);a(t=>t.map(t=>t.id===e?{...t,thread:t.thread.map(e=>e.id===n?{...e,reactions:l}:e)}:t))},[t]),M=(0,l.useCallback)(async(e,n)=>{let{highlight:r}=await S(t,e,n);a(t=>t.map(t=>t.id===e?r:t))},[t]),P=(0,l.useCallback)(async(e,n)=>{n?(await R(t,e,n)).removedHighlight?a(t=>t.filter(t=>t.id!==e)):a(t=>t.map(t=>t.id===e?{...t,thread:t.thread.filter(e=>e.id!==n)}:t)):(await E(t,e),a(t=>t.filter(t=>t.id!==e)))},[t]),U=o.current,F=(0,l.useCallback)(()=>{p(null),D(null)},[]),Z=i.length>0||null!==h;return(0,r.jsxs)("div",{className:Z?"relative mx-auto w-full lg:flex lg:max-w-6xl lg:items-start lg:gap-12 lg:px-6":"relative w-full",children:[(0,r.jsxs)("div",{ref:o,className:Z?"relative w-full lg:max-w-3xl lg:flex-1":"relative w-full",children:[n,i.map(e=>(0,r.jsx)(H,{highlight:e,articleEl:U,recomputeKey:y},e.id)),v.map((e,t)=>(0,r.jsx)("div",{className:"pointer-events-none absolute z-10 rounded-sm border-b-2 border-primary/60 bg-primary/15",style:{top:e.top,left:e.left,width:e.width,height:e.height}},"pending-".concat(t))),(0,r.jsx)(V,{containerRef:o,onAddComment:k,suppressed:!!h})]}),Z&&(0,r.jsx)("aside",{className:"hidden w-72 shrink-0 lg:block",children:(0,r.jsx)(B,{highlights:i,articleEl:U,recomputeKey:y,fingerprint:s,isOwner:m,onReply:_,onReact:I,onResolve:M,onDelete:P,pending:h?{anchor:h,composer:(0,r.jsxs)("div",{className:"rounded-lg shadow-lg",children:[(0,r.jsx)(z,{placeholder:"Add a comment…",submitLabel:"Comment",initialName:null!=c?c:"",onSubmit:A,onCancel:F}),O&&(0,r.jsx)("div",{className:"mt-2 rounded border border-destructive/30 bg-destructive/10 p-2 text-xs text-destructive",children:O})]})}:void 0})}),h&&(0,r.jsx)("div",{className:"fixed inset-x-0 bottom-0 z-50 px-4 pb-4 pt-2 lg:hidden",children:(0,r.jsxs)("div",{className:"mx-auto max-w-3xl rounded-lg shadow-lg",children:[(0,r.jsx)(z,{placeholder:"Add a comment…",submitLabel:"Comment",initialName:null!=c?c:"",onSubmit:A,onCancel:F}),O&&(0,r.jsx)("div",{className:"mt-2 rounded border border-destructive/30 bg-destructive/10 p-2 text-xs text-destructive",children:O})]})}),i.length>0&&(0,r.jsxs)("div",{className:"mt-6 space-y-3 px-4 lg:hidden",children:[(0,r.jsx)("h2",{className:"text-sm font-semibold text-muted-foreground",children:"Inline comments"}),i.map(e=>(0,r.jsx)(L,{highlight:e,fingerprint:s,isOwner:m,onReply:_,onReact:I,onResolve:M,onDelete:P},e.id))]})]})}var q=n(75873),J=n(84190),K=n(62869),$=n(63400),Y=n(49027),Q=n(20653),G=n(94508);let ee=Y.fC;Y.xz;let et=Y.h_;Y.x8;let en=l.forwardRef((e,t)=>{let{className:n,...l}=e;return(0,r.jsx)(Y.aV,{ref:t,className:(0,G.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",n),...l})});en.displayName=Y.aV.displayName;let er=l.forwardRef((e,t)=>{let{className:n,children:l,...o}=e;return(0,r.jsxs)(et,{children:[(0,r.jsx)(en,{}),(0,r.jsxs)(Y.VY,{ref:t,className:(0,G.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",n),...o,children:[l,(0,r.jsxs)(Y.x8,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,r.jsx)(Q.Pxu,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});er.displayName=Y.VY.displayName;let el=e=>{let{className:t,...n}=e;return(0,r.jsx)("div",{className:(0,G.cn)("flex flex-col space-y-1.5 text-center sm:text-left",t),...n})};el.displayName="DialogHeader";let eo=e=>{let{className:t,...n}=e;return(0,r.jsx)("div",{className:(0,G.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...n})};eo.displayName="DialogFooter";let ei=l.forwardRef((e,t)=>{let{className:n,...l}=e;return(0,r.jsx)(Y.Dx,{ref:t,className:(0,G.cn)("text-lg font-semibold leading-none tracking-tight",n),...l})});ei.displayName=Y.Dx.displayName;let ea=l.forwardRef((e,t)=>{let{className:n,...l}=e;return(0,r.jsx)(Y.dk,{ref:t,className:(0,G.cn)("text-sm text-muted-foreground",n),...l})});ea.displayName=Y.dk.displayName;var es=n(80605),ed=n(42586),ec=n(77992);function eu(e){try{return decodeURIComponent(e)}catch(t){return console.error("Error decoding content:",t),e}}let em=e=>{let{post:t,discussionsComponent:n}=e,[i,a]=(0,l.useState)(!1),[s,d]=(0,l.useState)(!1),c=(0,o.useRouter)(),{toast:u}=(0,ec.pm)(),{data:m,status:f}=(0,es.useSession)(),h=(0,q.M)(),g=(0,ed.useTranslations)("HomePage");(0,l.useEffect)(()=>{h("blog-post-view",{postId:t.id,postTitle:t.title,postDate:t.date})},[h,t.id,t.title,t.date]);let x=eu(t.title),v=eu(t.content).replace(/^---\n([\s\S]*?)\n---\n/,""),b=async()=>{if(!(null==m?void 0:m.accessToken)){console.error("No access token available");return}a(!0);try{let e=await fetch("/api/graphql",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:"\n mutation DeleteBlogPost($id: String!) {\n deleteBlogPost(id: $id)\n }\n ",variables:{id:t.id}})}),n=await e.json();if(n.errors)throw Error(n.errors[0].message);if(!e.ok)throw Error("Failed to delete blog post");u({title:g("success"),description:g("blogPostDeleted"),duration:3e3}),setTimeout(()=>{c.push("/blog")},500)}catch(e){console.error("Error deleting blog post:",e),u({title:g("error"),description:g("blogPostDeleteFailed"),variant:"destructive",duration:3e3})}finally{a(!1),d(!1)}},y=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(J.h_,{children:[(0,r.jsx)(J.$F,{asChild:!0,children:(0,r.jsx)(K.z,{variant:"ghost",className:"h-8 w-8 p-0",children:(0,r.jsx)($.jfL,{className:"h-4 w-4"})})}),(0,r.jsxs)(J.AW,{align:"end",children:[(0,r.jsx)(J.Xi,{onSelect:()=>c.push("/editor?type=blog&id=".concat(t.id)),children:g("edit")}),(0,r.jsx)(J.Xi,{onSelect:()=>d(!0),children:g("delete")})]})]}),(0,r.jsx)(ee,{open:s,onOpenChange:d,children:(0,r.jsxs)(er,{children:[(0,r.jsxs)(el,{children:[(0,r.jsx)(ei,{children:g("confirmDelete")}),(0,r.jsx)(ea,{children:g("undoAction")})]}),(0,r.jsxs)(eo,{children:[(0,r.jsx)(K.z,{variant:"outline",onClick:()=>d(!1),children:g("cancel")}),(0,r.jsx)(K.z,{variant:"destructive",onClick:b,disabled:i,children:i?"Deleting...":g("delete")})]})]})})]});return(0,r.jsx)(X,{postId:t.id,children:(0,r.jsx)(p,{title:x,date:t.date,content:v,slug:t.id,headerContent:"authenticated"===f?y:null,discussionsComponent:n,location:t.city?{city:t.city,street:t.street}:void 0})})}},77992:function(e,t,n){"use strict";n.d(t,{pm:function(){return m}});var r=n(2265);let l=0,o=new Map,i=e=>{if(o.has(e))return;let t=setTimeout(()=>{o.delete(e),c({type:"REMOVE_TOAST",toastId:e})},3e3);o.set(e,t)},a=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:n}=t;return n?i(n):e.toasts.forEach(e=>{i(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===n||void 0===n?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},s=[],d={toasts:[]};function c(e){d=a(d,e),s.forEach(e=>{e(d)})}function u(e){let{...t}=e,n=(l=(l+1)%Number.MAX_VALUE).toString(),r=()=>c({type:"DISMISS_TOAST",toastId:n});return c({type:"ADD_TOAST",toast:{...t,id:n,open:!0,onOpenChange:e=>{e||r()}}}),{id:n,dismiss:r,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:n}})}}function m(){let[e,t]=r.useState(d);return r.useEffect(()=>(s.push(t),()=>{let e=s.indexOf(t);e>-1&&s.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}}},function(e){e.O(0,[329,954,310,259,37,586,152,654,878,343,164,789,767,971,117,744],function(){return e(e.s=32154)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[404],{78259:function(e,t,r){Promise.resolve().then(r.bind(r,81908))},81908:function(e,t,r){"use strict";r.d(t,{default:function(){return d}});var n=r(57437),a=r(27648);let o=e=>{let{post:t}=e;return(0,n.jsx)(a.default,{href:"/blog/".concat(encodeURIComponent(t.id)),className:"block p-6 h-full flex flex-col justify-between","aria-label":t.title,children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsx)("h3",{className:"font-semibold text-xl md:text-2xl text-gray-900 group-hover:text-blue-600 transition-colors duration-200 leading-tight",children:t.title}),(0,n.jsx)("p",{className:"text-sm text-gray-500",children:new Date(t.date).toISOString().split("T")[0]})]})})},i=e=>{let{post:t}=e;return(0,n.jsxs)("div",{className:"group bg-white rounded-lg border border-gray-200 overflow-hidden hover:shadow-lg transition-all duration-200",children:[t.imageUrl&&(0,n.jsx)("div",{className:"h-48 bg-gray-100 relative overflow-hidden",style:{backgroundImage:"url(".concat(t.imageUrl,")"),backgroundSize:"cover",backgroundPosition:"center"},children:(0,n.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/30 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-200"})}),(0,n.jsx)(o,{post:t})]})};var s=r(62869),c=r(99376),l=r(42586);function d(e){let{posts:t}=e,r=(0,c.useRouter)(),a=(0,l.useTranslations)("HomePage");if(0===t.length)return(0,n.jsx)("div",{className:"max-w-3xl mx-auto px-4 py-8",children:(0,n.jsxs)("div",{className:"flex flex-col items-center mt-16 space-y-6",children:[(0,n.jsxs)("div",{className:"text-center space-y-3",children:[(0,n.jsx)("h2",{className:"text-2xl font-semibold text-gray-900",children:"No blog posts yet"}),(0,n.jsx)("p",{className:"text-gray-500 max-w-md",children:"Share your thoughts and experiences by creating your first blog post."})]}),(0,n.jsx)(s.z,{onClick:()=>r.push("/editor?type=blog"),className:"bg-black hover:bg-gray-800 text-white px-6 py-3",children:a("createBlogPost")})]})});let o=[...t].sort((e,t)=>new Date(t.date).getTime()-new Date(e.date).getTime());return(0,n.jsx)("div",{className:"max-w-3xl mx-auto px-4 py-8",children:(0,n.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:o.map(e=>(0,n.jsx)(i,{post:e},e.id))})})}},62869:function(e,t,r){"use strict";r.d(t,{z:function(){return l}});var n=r(57437),a=r(2265),o=r(37053),i=r(77712),s=r(94508);let c=(0,i.j)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),l=a.forwardRef((e,t)=>{let{className:r,variant:a,size:i,asChild:l=!1,...d}=e,u=l?o.g7:"button";return(0,n.jsx)(u,{className:(0,s.cn)(c({variant:a,size:i,className:r})),ref:t,...d})});l.displayName="Button"},94508:function(e,t,r){"use strict";r.d(t,{cn:function(){return o},i$:function(){return i},y4:function(){return s}});var n=r(61994),a=r(53335);function o(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,a.m6)((0,n.W)(t))}let i=e=>{let t=new Date(e);if(isNaN(t.getTime()))return console.error("Invalid date:",e),"Invalid date";let r=t.toLocaleString("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone}),n=Math.floor(-t.getTimezoneOffset()/60),[a,o]=r.split(", "),[i,s,c]=a.split("/");return"".concat(c,"/").concat(i,"/").concat(s," ").concat(o,"(UTC").concat(n>=0?"+":"-").concat(Math.abs(n),")")};function s(e){if(e.startsWith("2000-01-01T00:00:00"))return"date unknown";let t=new Date(e);if(isNaN(t.getTime()))return"invalid date";let r=String(t.getDate()).padStart(2,"0"),n=String(t.getMonth()+1).padStart(2,"0"),a=t.getFullYear();return"".concat(r,"/").concat(n,"/").concat(a)}},27648:function(e,t,r){"use strict";r.d(t,{default:function(){return a.a}});var n=r(72972),a=r.n(n)}},function(e){e.O(0,[37,586,972,971,117,744],function(){return e(e.s=78259)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[219],{9563:function(e,t,a){Promise.resolve().then(a.bind(a,14447)),Promise.resolve().then(a.bind(a,51113))},75247:function(e,t,a){"use strict";a.d(t,{$:function(){return o},EditProvider:function(){return i}});var r=a(57437),s=a(2265);let n=(0,s.createContext)(!1);function i(e){let{canEdit:t,children:a}=e;return(0,r.jsx)(n.Provider,{value:t,children:a})}function o(){return(0,s.useContext)(n)}},14447:function(e,t,a){"use strict";a.d(t,{default:function(){return T}});var r=a(57437);a(2446);var s=a(2265),n=a(99376),i=a(62869),o=a(76186),l=a(94508);let c=s.forwardRef((e,t)=>{let{className:a,type:s,...n}=e;return(0,r.jsx)("input",{type:s,className:(0,l.cn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",a),ref:t,...n})});c.displayName="Input";var d=a(6394);let u=(0,a(77712).j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),m=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)(d.f,{ref:t,className:(0,l.cn)(u(),a),...s})});m.displayName=d.f.displayName;var p=a(51817),g=a(20698),h=a(68054);let x=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)("textarea",{className:(0,l.cn)("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",a),ref:t,...s})});x.displayName="Textarea";var b=a(46191),f=a(19683),y=a(81315),v=a(92920),j=a(77598),w=a(75247),N=a(77992),S=a(42586);async function C(){if(!navigator.geolocation)return console.log("Geolocation is not supported by this browser"),null;try{let{latitude:e,longitude:t}=(await new Promise((e,t)=>{navigator.geolocation.getCurrentPosition(e,t,{enableHighAccuracy:!0,timeout:1e4,maximumAge:0})})).coords,a=await k(e,t);return{latitude:e,longitude:t,city:null==a?void 0:a.city,street:null==a?void 0:a.street}}catch(e){return console.error("Error getting location:",e),null}}async function k(e,t){try{let a=await fetch("https://nominatim.openstreetmap.org/reverse?format=json&lat=".concat(e,"&lon=").concat(t,"&zoom=18&addressdetails=1"),{headers:{"User-Agent":"cici Blog App"}});if(!a.ok)throw Error("Failed to reverse geocode");let r=(await a.json()).address||{},s=r.city||r.town||r.village||r.municipality||r.county||"",n=r.road||r.street||r.highway||"";return{city:s,street:n}}catch(e){return console.error("Error reverse geocoding:",e),null}}function T(e){let{defaultType:t="memo"}=e,a=(0,n.useRouter)(),l=(0,n.useSearchParams)(),[d,u]=(0,s.useState)(""),[k,T]=(0,s.useState)(""),[D,P]=(0,s.useState)(l.get("type")||t),[E,A]=(0,s.useState)(!1),[z,O]=(0,s.useState)(!1),[U,I]=(0,s.useState)(!1),[M,$]=(0,s.useState)(!1),_=(0,S.useTranslations)("HomePage"),L=(0,w.$)(),Z=(0,s.useCallback)(async e=>{let t=new FormData;t.append("file",e);let a=await fetch("/api/upload",{method:"POST",body:t}),r=await a.json();if(!a.ok)throw Error((null==r?void 0:r.error)||"Upload failed");return r.url},[]),[R,F]=(0,s.useState)(null),{toast:q}=(0,N.pm)(),[B,W]=(0,s.useState)(null),[V,H]=(0,s.useState)([]),{location:J,loading:G,requestLocation:X}=function(){let[e,t]=(0,s.useState)(null),[a,r]=(0,s.useState)(!1),[n,i]=(0,s.useState)(null),o=async()=>{r(!0),i(null);try{let e=await C();e?t(e):i("Could not get location")}catch(e){i("Failed to get location"),console.error(e)}finally{r(!1)}};return(0,s.useEffect)(()=>{o()},[]),{location:e,loading:a,error:n,requestLocation:o}}(),[K,Y]=(0,s.useState)(null),[Q,ee]=(0,s.useState)(!1),[et,ea]=(0,s.useState)(!0),[er,es]=(0,s.useState)(!1),en=(0,s.useCallback)(async e=>{try{var t,a;let r=await fetch("/api/graphql",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:"query { memos { id content } }"})}),s=await r.json();if(s.errors)throw Error(s.errors[0].message);let n=(null!==(a=null===(t=s.data)||void 0===t?void 0:t.memos)&&void 0!==a?a:[]).find(t=>t.id===e);n&&u(n.content)}catch(e){console.error("Error fetching memo:",e)}},[]),ei=(0,s.useCallback)(async e=>{try{let t=await fetch("/api/graphql",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:"\n query GetBlogPost($id: String!) {\n blogPost(id: $id) {\n id\n title\n content\n status\n latitude\n longitude\n city\n street\n discussions {\n platform\n url\n title\n count\n }\n }\n }\n ",variables:{id:e}})}),a=await t.json();if(a.errors)throw Error(a.errors[0].message);let r=a.data.blogPost;r&&(T(r.title),u(r.content.replace(/^---\n([\s\S]*?)\n---\n/,"")),H(r.discussions||[]),F(e),ea("published"===r.status),(r.latitude||r.city)&&(Y({latitude:r.latitude,longitude:r.longitude,city:r.city,street:r.street}),ee(!0)))}catch(e){console.error("Error fetching blog post:",e)}},[]);(0,s.useEffect)(()=>{let e=new URLSearchParams(window.location.search);e.set("type",D),a.push("/editor?".concat(e.toString()));let t=l.get("id");t&&(F(t),"blog"===D?ei(t):"memo"===D&&en(t))},[D,a,l,en,ei]);let eo=e=>{P(e),u(""),T(""),F(null),H([]),Y(null),ee(!1),es(!1),ea(!0),a.push("/editor?type=".concat(e))},el=async e=>{e.preventDefault(),O(!0),$(!1);try{let e,t;"blog"===D?(e="\n mutation SaveBlogPost($id: String, $input: SaveBlogPostInput!) {\n saveBlogPost(id: $id, input: $input) {\n id\n title\n content\n status\n }\n }\n ",t={...R&&{id:R},input:{title:k,content:d,status:et?"published":"draft",discussions:V,...Q&&K&&{latitude:K.latitude,longitude:K.longitude,city:K.city,street:K.street}}}):R?(e="\n mutation UpdateMemo($id: String!, $input: UpdateMemoInput!) {\n updateMemo(id: $id, input: $input) {\n id\n content\n timestamp\n }\n }\n ",t={id:R,input:{content:d}}):(e="\n mutation CreateMemo($input: CreateMemoInput!) {\n createMemo(input: $input) {\n id\n content\n timestamp\n }\n }\n ",t={input:{content:d,...J&&{latitude:J.latitude,longitude:J.longitude,city:J.city,street:J.street}}});let r=await fetch("/api/graphql",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:e,variables:t})}),s=await r.json();if(s.errors)throw Error(s.errors[0].message);if(!r.ok)throw Error(_("failedPublish"));$(!0),q({title:_("success"),description:R?"".concat("blog"===D?_("blogPostUpdated"):_("memoUpdated")):"".concat("blog"===D?et?_("blogPostCreated"):"Draft saved":_("memoCreated")),duration:3e3}),setTimeout(()=>{"blog"===D?a.push("/blog"):a.push("/memos")},2e3)}catch(e){console.error("Error publishing:",e),q({title:_("error"),description:_("failedPublish"),variant:"destructive",duration:3e3})}finally{O(!1)}},ec=(0,s.useCallback)(async e=>{if(!L){q({title:_("error"),description:_("notAuthenticated"),variant:"destructive",duration:3e3});return}I(!0);try{let t=await Z(e),a="![".concat(e.name,"](").concat(t,")");if(null!==B){let e=d.slice(0,B)+a+d.slice(B);u(e)}else u(e=>e+"\n\n"+a);q({title:_("success"),description:_("imageUploaded"),duration:3e3})}catch(e){console.error("Error uploading image:",e),q({title:_("error"),description:_("imageUploadFailed"),variant:"destructive",duration:3e3})}finally{I(!1)}},[L,Z,B,d,q,_]),ed=e=>{H(V.filter((t,a)=>a!==e))},eu=(e,t,a)=>{H(V.map((r,s)=>s===e?{...r,[t]:a}:r))},em=(0,s.useCallback)(async e=>{for(let t of e)t.type.startsWith("image/")?await ec(t):q({title:_("error"),description:_("onlyImagesAllowed"),variant:"default",duration:3e3})},[ec,q,_]),{getRootProps:ep,getInputProps:eg,isDragActive:eh}=(0,j.uI)({onDrop:em,noClick:!0,noKeyboard:!0,accept:{"image/*":[]}}),ex=(0,s.useCallback)(async e=>{if(!L){q({title:_("error"),description:_("notAuthenticated"),variant:"destructive",duration:3e3});return}for(let t of Array.from(e.clipboardData.items))if(t.type.startsWith("image/")){e.preventDefault(),I(!0);try{let e=t.getAsFile();if(!e)continue;let a=await Z(e),r="![".concat(e.name||"Pasted image","](").concat(a,")");if(null!==B){let e=d.slice(0,B)+r+d.slice(B);u(e)}else u(e=>e+"\n\n"+r);q({title:_("success"),description:_("imageUploaded"),duration:3e3})}catch(e){console.error("Error uploading pasted image:",e),q({title:_("error"),description:_("imageUploadFailed"),variant:"destructive",duration:3e3})}finally{I(!1)}}},[L,Z,B,d,q,_]);return(0,r.jsxs)("div",{className:"max-w-4xl mx-auto px-4 py-8",children:[(z||U)&&(0,r.jsx)("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:(0,r.jsx)("div",{className:"bg-white p-4 rounded-lg shadow-xl",children:(0,r.jsx)(p.Z,{className:"h-8 w-8 animate-spin text-gray-600"})})}),(0,r.jsx)("div",{className:"mb-8",children:(0,r.jsxs)("div",{className:"flex justify-between items-center",children:["blog"===D&&(0,r.jsxs)("div",{className:"flex items-center gap-1 bg-gray-100 rounded-lg p-1",children:[(0,r.jsx)("button",{type:"button",onClick:()=>ea(!1),className:"px-3 py-1.5 rounded-md text-sm font-medium transition-all ".concat(et?"text-gray-600 hover:text-gray-900":"bg-white text-black shadow-sm"),disabled:z||U,children:"Draft"}),(0,r.jsx)("button",{type:"button",onClick:()=>ea(!0),className:"px-3 py-1.5 rounded-md text-sm font-medium transition-all ".concat(et?"bg-white text-black shadow-sm":"text-gray-600 hover:text-gray-900"),disabled:z||U,children:"Published"})]}),"memo"===D&&(0,r.jsx)("div",{})," ",(0,r.jsxs)("div",{className:"flex items-center gap-1 bg-gray-100 rounded-lg p-1",children:[(0,r.jsx)("button",{type:"button",onClick:()=>eo("memo"),className:"px-3 py-1.5 rounded-md text-sm font-medium transition-all ".concat("memo"===D?"bg-white text-black shadow-sm":"text-gray-600 hover:text-gray-900"),children:"Memo"}),(0,r.jsx)("button",{type:"button",onClick:()=>eo("blog"),className:"px-3 py-1.5 rounded-md text-sm font-medium transition-all ".concat("blog"===D?"bg-white text-black shadow-sm":"text-gray-600 hover:text-gray-900"),children:"Blog"})]})]})}),(0,r.jsxs)("form",{onSubmit:el,className:"space-y-6",children:["blog"===D&&(0,r.jsx)("div",{className:"bg-white rounded-lg border border-gray-200 p-6",children:(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"flex items-center justify-between mb-2",children:(0,r.jsx)(m,{htmlFor:"title",className:"text-sm font-medium text-gray-700",children:"Title"})}),(0,r.jsx)(c,{id:"title",type:"text",value:k,onChange:e=>T(e.target.value),placeholder:"Enter a compelling title...",required:!0,className:"text-lg font-medium border-gray-200 focus:border-blue-500 focus:ring-blue-500",disabled:z||U})]})}),(0,r.jsxs)("div",{className:"bg-white rounded-lg border border-gray-200 overflow-hidden",...ep(),children:[(0,r.jsx)("input",{...eg()}),(0,r.jsx)("div",{className:"border-b border-gray-200 bg-gray-50",children:(0,r.jsxs)("div",{className:"flex items-center justify-between px-4",children:[(0,r.jsxs)("div",{className:"flex",children:[(0,r.jsx)("button",{type:"button",onClick:()=>A(!1),className:"px-4 py-3 text-sm font-medium transition-colors ".concat(E?"text-gray-600 hover:text-gray-900":"text-blue-600 border-b-2 border-blue-600 bg-white"),disabled:z||U,children:"Write"}),(0,r.jsx)("button",{type:"button",onClick:()=>A(!0),className:"px-4 py-3 text-sm font-medium transition-colors ".concat(E?"text-blue-600 border-b-2 border-blue-600 bg-white":"text-gray-600 hover:text-gray-900"),disabled:z||U,children:"Preview"})]}),(0,r.jsxs)("label",{htmlFor:"image-upload",className:"p-2 text-gray-600 hover:text-gray-900 cursor-pointer transition-colors",title:"Upload image",children:[(0,r.jsx)(o.cr$,{className:"h-5 w-5"}),(0,r.jsx)("input",{id:"image-upload",type:"file",accept:"image/*",className:"hidden",onChange:e=>{e.target.files&&e.target.files[0]&&ec(e.target.files[0])},disabled:z||U})]})]})}),E?(0,r.jsx)("div",{className:"p-6 prose prose-gray max-w-none min-h-[400px]",children:(0,r.jsx)(g.U,{remarkPlugins:[f.Z,y.Z],rehypePlugins:[b.Z],components:{code(e){let{inline:t,className:a,children:s,...n}=e,i=/language-(\w+)/.exec(a||"");return!t&&i?(0,r.jsx)(h.Z,{style:v.Z,language:i[1],PreTag:"div",children:String(s).replace(/\n$/,"")}):(0,r.jsx)("code",{className:a,...n,children:s})},a:e=>{let{children:t,...a}=e;return(0,r.jsx)("a",{...a,className:"text-gray-400 no-underline hover:text-gray-600 hover:underline hover:underline-offset-4 transition-colors duration-200 break-words",target:"_blank",rel:"noopener noreferrer",children:t})},blockquote:e=>{let{children:t}=e;return(0,r.jsx)("div",{className:"pl-4 border-l-4 border-gray-200 text-gray-400",children:t})}},children:d})}):(0,r.jsx)(x,{value:d,onChange:e=>u(e.target.value),onSelect:e=>W(e.currentTarget.selectionStart),onPaste:ex,placeholder:"blog"===D?"Write your blog post content... (Markdown supported)":"What's on your mind?",className:"min-h-[400px] p-6 border-0 focus:ring-0 resize-none",required:!0,disabled:z||U}),eh&&(0,r.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-white bg-opacity-90 border-2 border-dashed border-blue-400 rounded-lg",children:(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)(o.cr$,{className:"h-12 w-12 mx-auto text-blue-500 mb-2"}),(0,r.jsx)("p",{className:"text-lg font-medium text-gray-700",children:"Drop image here"})]})})]}),"blog"===D&&Q&&K&&(0,r.jsx)("div",{className:"bg-gray-50 rounded-lg border border-gray-100 p-4",children:(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("span",{className:"text-sm text-gray-700 flex items-center gap-2",children:[(0,r.jsx)("span",{children:"\uD83D\uDCCD"}),(0,r.jsxs)("span",{children:[K.city,K.street?" \xb7 ".concat(K.street):""]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(i.z,{type:"button",variant:"ghost",size:"sm",onClick:async()=>{await X(),J&&(Y(J),ee(!0),q({title:"Location updated",description:"".concat(J.city).concat(J.street?" \xb7 ".concat(J.street):""),duration:3e3}))},disabled:G,className:"text-xs text-gray-500 hover:text-gray-700",children:G?(0,r.jsx)(p.Z,{className:"h-3 w-3 animate-spin"}):"Update"}),(0,r.jsx)(i.z,{type:"button",variant:"ghost",size:"sm",onClick:()=>{Y(null),ee(!1),q({title:"Location removed",duration:2e3})},className:"text-xs text-red-500 hover:text-red-700",children:"Remove"})]})]})}),"blog"===D&&V.length>0&&(0,r.jsxs)("div",{className:"bg-gray-50 rounded-lg border border-gray-100 p-4",children:[(0,r.jsx)("div",{className:"flex items-center justify-between mb-3",children:(0,r.jsxs)("span",{className:"text-sm font-medium text-gray-700",children:["External Discussions (",V.length,")"]})}),(0,r.jsx)("div",{className:"space-y-2",children:V.map((e,t)=>(0,r.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,r.jsxs)("select",{value:e.platform,onChange:e=>eu(t,"platform",e.target.value),className:"px-2 py-1.5 border border-gray-200 rounded text-xs bg-white",disabled:z||U,children:[(0,r.jsx)("option",{value:"v2ex",children:"V2EX"}),(0,r.jsx)("option",{value:"reddit",children:"Reddit"}),(0,r.jsx)("option",{value:"hackernews",children:"Hacker News"})]}),(0,r.jsx)(c,{type:"url",value:e.url,onChange:e=>eu(t,"url",e.target.value),placeholder:"Paste discussion URL...",className:"flex-1 border-gray-200 text-xs h-8",disabled:z||U}),(0,r.jsx)(i.z,{type:"button",variant:"ghost",size:"sm",onClick:()=>ed(t),disabled:z||U,className:"text-xs text-red-500 hover:text-red-700 h-8 px-2",children:"Remove"})]},t))})]}),"memo"===D&&J&&!er&&(0,r.jsx)("div",{className:"bg-gray-50 rounded-lg border border-gray-100 p-4",children:(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("span",{className:"text-sm text-gray-700 flex items-center gap-2",children:[(0,r.jsx)("span",{children:"\uD83D\uDCCD"}),(0,r.jsxs)("span",{children:[J.city,J.street?" \xb7 ".concat(J.street):""]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(i.z,{type:"button",variant:"ghost",size:"sm",onClick:async()=>{await X(),q({title:"Location updated",description:J?"".concat(J.city).concat(J.street?" \xb7 ".concat(J.street):""):"Location refreshed",duration:3e3})},disabled:G,className:"text-xs text-gray-500 hover:text-gray-700",children:G?(0,r.jsx)(p.Z,{className:"h-3 w-3 animate-spin"}):"Update"}),(0,r.jsx)(i.z,{type:"button",variant:"ghost",size:"sm",onClick:()=>{es(!0),q({title:"Location removed",description:"Location will not be included with this memo",duration:2e3})},className:"text-xs text-red-500 hover:text-red-700",children:"Remove"})]})]})}),(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:["blog"===D&&!Q&&(0,r.jsxs)(i.z,{type:"button",variant:"outline",size:"sm",onClick:async()=>{await X(),J&&(Y(J),ee(!0),q({title:"Location attached",description:"".concat(J.city).concat(J.street?" \xb7 ".concat(J.street):""),duration:3e3}))},disabled:G,className:"flex items-center gap-2 text-sm",children:[G?(0,r.jsx)(p.Z,{className:"h-3 w-3 animate-spin"}):(0,r.jsx)("span",{className:"text-base",children:"\uD83D\uDCCD"}),"Add Location"]}),"memo"===D&&(!J||er)&&(0,r.jsxs)(i.z,{type:"button",variant:"outline",size:"sm",onClick:async()=>{es(!1),await X(),J&&q({title:"Location detected",description:"".concat(J.city).concat(J.street?" \xb7 ".concat(J.street):""),duration:3e3})},disabled:G,className:"flex items-center gap-2 text-sm",children:[G?(0,r.jsx)(p.Z,{className:"h-3 w-3 animate-spin"}):(0,r.jsx)("span",{className:"text-base",children:"\uD83D\uDCCD"}),"Add Location"]}),"blog"===D&&(0,r.jsx)(i.z,{type:"button",variant:"outline",size:"sm",onClick:()=>{H([...V,{platform:"v2ex",url:""}])},disabled:z||U,className:"text-sm",children:"+ Add Discussion Link"}),M&&(0,r.jsxs)("span",{className:"text-sm text-green-600 flex items-center gap-2",children:[(0,r.jsx)("span",{className:"inline-block w-2 h-2 bg-green-600 rounded-full"}),_("successPublished")]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-4",children:[(0,r.jsx)(i.z,{type:"button",variant:"outline",onClick:()=>a.push("blog"===D?"/blog":"/memos"),disabled:z||U,className:"px-6",children:"Cancel"}),(0,r.jsx)(i.z,{type:"submit",disabled:z||U||!d||"blog"===D&&!k,className:"px-8 bg-black hover:bg-gray-800 text-white disabled:opacity-50",children:z?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(p.Z,{className:"mr-2 h-4 w-4 animate-spin"}),_("saving")]}):(0,r.jsxs)(r.Fragment,{children:[R?"Update":"Save","blog"===D?" Post":" Memo"]})})]})]})]})]})}},51113:function(e,t,a){"use strict";var r=a(57437),s=a(80605),n=a(62869),i=a(75135);t.default=()=>(0,r.jsx)(n.z,{onClick:()=>(0,s.signIn)("github"),className:"rounded-full w-12 h-12 p-0 flex items-center justify-center",children:(0,r.jsx)(i.Z,{className:"h-5 w-5"})})},62869:function(e,t,a){"use strict";a.d(t,{z:function(){return c}});var r=a(57437),s=a(2265),n=a(37053),i=a(77712),o=a(94508);let l=(0,i.j)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),c=s.forwardRef((e,t)=>{let{className:a,variant:s,size:i,asChild:c=!1,...d}=e,u=c?n.g7:"button";return(0,r.jsx)(u,{className:(0,o.cn)(l({variant:s,size:i,className:a})),ref:t,...d})});c.displayName="Button"},77992:function(e,t,a){"use strict";a.d(t,{pm:function(){return m}});var r=a(2265);let s=0,n=new Map,i=e=>{if(n.has(e))return;let t=setTimeout(()=>{n.delete(e),d({type:"REMOVE_TOAST",toastId:e})},3e3);n.set(e,t)},o=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:a}=t;return a?i(a):e.toasts.forEach(e=>{i(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===a||void 0===a?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},l=[],c={toasts:[]};function d(e){c=o(c,e),l.forEach(e=>{e(c)})}function u(e){let{...t}=e,a=(s=(s+1)%Number.MAX_VALUE).toString(),r=()=>d({type:"DISMISS_TOAST",toastId:a});return d({type:"ADD_TOAST",toast:{...t,id:a,open:!0,onOpenChange:e=>{e||r()}}}),{id:a,dismiss:r,update:e=>d({type:"UPDATE_TOAST",toast:{...e,id:a}})}}function m(){let[e,t]=r.useState(c);return r.useEffect(()=>(l.push(t),()=>{let e=l.indexOf(t);e>-1&&l.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>d({type:"DISMISS_TOAST",toastId:e})}}},94508:function(e,t,a){"use strict";a.d(t,{cn:function(){return n},i$:function(){return i},y4:function(){return o}});var r=a(61994),s=a(53335);function n(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,s.m6)((0,r.W)(t))}let i=e=>{let t=new Date(e);if(isNaN(t.getTime()))return console.error("Invalid date:",e),"Invalid date";let a=t.toLocaleString("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone}),r=Math.floor(-t.getTimezoneOffset()/60),[s,n]=a.split(", "),[i,o,l]=s.split("/");return"".concat(l,"/").concat(i,"/").concat(o," ").concat(n,"(UTC").concat(r>=0?"+":"-").concat(Math.abs(r),")")};function o(e){if(e.startsWith("2000-01-01T00:00:00"))return"date unknown";let t=new Date(e);if(isNaN(t.getTime()))return"invalid date";let a=String(t.getDate()).padStart(2,"0"),r=String(t.getMonth()+1).padStart(2,"0"),s=t.getFullYear();return"".concat(a,"/").concat(r,"/").concat(s)}}},function(e){e.O(0,[329,954,694,37,586,152,654,961,971,117,744],function(){return e(e.s=9563)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[185],{5174:function(e,t,r){Promise.resolve().then(r.t.bind(r,47960,23)),Promise.resolve().then(r.bind(r,75873)),Promise.resolve().then(r.bind(r,28490)),Promise.resolve().then(r.bind(r,75247)),Promise.resolve().then(r.bind(r,63156)),Promise.resolve().then(r.bind(r,59556)),Promise.resolve().then(r.bind(r,16456)),Promise.resolve().then(r.t.bind(r,91444,23))},75873:function(e,t,r){"use strict";r.d(t,{M:function(){return u},default:function(){return d}});var n,s=r(57437),o=r(48667),i=r(2265),a=r(40257);function d(){let{websiteId:e=a.env.NEXT_PUBLIC_UMAMI_WEBSITE_ID,scriptUrl:t=a.env.NEXT_PUBLIC_UMAMI_SCRIPT_URL||"https://cloud.umami.is/script.js",domains:r=(null===(n=a.env.NEXT_PUBLIC_UMAMI_DOMAINS)||void 0===n?void 0:n.split(","))||[],enabled:d="true"===a.env.NEXT_PUBLIC_ANALYTICS_ENABLED}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return((0,i.useEffect)(()=>{},[d,e,t,r]),d&&e)?(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(o.default,{src:t,"data-website-id":e,"data-domains":r.length>0?r.join(","):void 0,strategy:"afterInteractive",onLoad:()=>{},onError:e=>{console.error("❌ Failed to load Umami Analytics:",e)}})}):null}function u(){return(e,t)=>{window.umami&&window.umami.track(e,t)}}},28490:function(e,t,r){"use strict";r.d(t,{default:function(){return u}});var n=r(57437),s=r(37996),o=r(51113),i=r(27648),a=r(99376),d=r(75247);function u(e){let{messages:t}=e,r=(0,a.usePathname)();return(0,d.$)()?(0,n.jsxs)(i.default,{href:"/blog"===r?"/editor?type=blog":"/editor?type=memo",className:"fixed bottom-9 right-9 p-2 bg-primary text-primary-foreground hover:bg-primary/90 rounded-full shadow-lg z-20 flex items-center justify-center",children:[(0,n.jsx)(s.OvN,{className:"w-6 h-6"}),(0,n.jsx)("span",{className:"sr-only",children:"/"===r||"/memos"===r?t.createNewMemo:t.createNewBlogPost})]}):(0,n.jsx)("div",{className:"fixed bottom-9 right-9 z-20",children:(0,n.jsx)(o.default,{})})}},75247:function(e,t,r){"use strict";r.d(t,{$:function(){return a},EditProvider:function(){return i}});var n=r(57437),s=r(2265);let o=(0,s.createContext)(!1);function i(e){let{canEdit:t,children:r}=e;return(0,n.jsx)(o.Provider,{value:t,children:r})}function a(){return(0,s.useContext)(o)}},51113:function(e,t,r){"use strict";var n=r(57437),s=r(80605),o=r(62869),i=r(75135);t.default=()=>(0,n.jsx)(o.z,{onClick:()=>(0,s.signIn)("github"),className:"rounded-full w-12 h-12 p-0 flex items-center justify-center",children:(0,n.jsx)(i.Z,{className:"h-5 w-5"})})},63156:function(e,t,r){"use strict";r.d(t,{SessionProvider:function(){return o}});var n=r(57437),s=r(80605);function o(e){let{children:t}=e;return(0,n.jsx)(s.SessionProvider,{children:t})}},62869:function(e,t,r){"use strict";r.d(t,{z:function(){return u}});var n=r(57437),s=r(2265),o=r(37053),i=r(77712),a=r(94508);let d=(0,i.j)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),u=s.forwardRef((e,t)=>{let{className:r,variant:s,size:i,asChild:u=!1,...c}=e,l=u?o.g7:"button";return(0,n.jsx)(l,{className:(0,a.cn)(d({variant:s,size:i,className:r})),ref:t,...c})});u.displayName="Button"},59556:function(e,t,r){"use strict";r.d(t,{Toaster:function(){return b}});var n=r(57437),s=r(77992),o=r(2265),i=r(20653),a=r(10129),d=r(77712),u=r(94508);let c=a.zt,l=o.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,n.jsx)(a.l_,{ref:t,className:(0,u.cn)("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",r),...s})});l.displayName=a.l_.displayName;let f=(0,d.j)("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),m=o.forwardRef((e,t)=>{let{className:r,variant:s,...o}=e;return(0,n.jsx)(a.fC,{ref:t,className:(0,u.cn)(f({variant:s}),r),...o})});m.displayName=a.fC.displayName,o.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,n.jsx)(a.aU,{ref:t,className:(0,u.cn)("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",r),...s})}).displayName=a.aU.displayName;let p=o.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,n.jsx)(a.x8,{ref:t,className:(0,u.cn)("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",r),"toast-close":"",...s,children:(0,n.jsx)(i.Pxu,{className:"h-4 w-4"})})});p.displayName=a.x8.displayName;let v=o.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,n.jsx)(a.Dx,{ref:t,className:(0,u.cn)("text-sm font-semibold [&+div]:text-xs",r),...s})});v.displayName=a.Dx.displayName;let g=o.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,n.jsx)(a.dk,{ref:t,className:(0,u.cn)("text-sm opacity-90",r),...s})});g.displayName=a.dk.displayName;var h=r(11140),x=r(22744);function b(){let{toasts:e}=(0,s.pm)();return(0,n.jsxs)(c,{children:[e.map(function(e){let{id:t,title:r,description:s,action:o,...i}=e,{variant:a}=i;return(0,n.jsxs)(m,{...i,children:[(0,n.jsxs)("div",{className:"gap-2",children:[(0,n.jsxs)("div",{className:"flex gap-2",children:["destructive"===a?(0,n.jsx)(x.vVM,{}):(0,n.jsx)(h.N9r,{className:"fill-emerald-500"}),r&&(0,n.jsx)(v,{children:r})]}),s&&(0,n.jsx)(g,{children:s})]}),o,(0,n.jsx)(p,{})]},t)}),(0,n.jsx)(l,{})]})}},77992:function(e,t,r){"use strict";r.d(t,{pm:function(){return f}});var n=r(2265);let s=0,o=new Map,i=e=>{if(o.has(e))return;let t=setTimeout(()=>{o.delete(e),c({type:"REMOVE_TOAST",toastId:e})},3e3);o.set(e,t)},a=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:r}=t;return r?i(r):e.toasts.forEach(e=>{i(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===r||void 0===r?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},d=[],u={toasts:[]};function c(e){u=a(u,e),d.forEach(e=>{e(u)})}function l(e){let{...t}=e,r=(s=(s+1)%Number.MAX_VALUE).toString(),n=()=>c({type:"DISMISS_TOAST",toastId:r});return c({type:"ADD_TOAST",toast:{...t,id:r,open:!0,onOpenChange:e=>{e||n()}}}),{id:r,dismiss:n,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:r}})}}function f(){let[e,t]=n.useState(u);return n.useEffect(()=>(d.push(t),()=>{let e=d.indexOf(t);e>-1&&d.splice(e,1)}),[e]),{...e,toast:l,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}},94508:function(e,t,r){"use strict";r.d(t,{cn:function(){return o},i$:function(){return i},y4:function(){return a}});var n=r(61994),s=r(53335);function o(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,s.m6)((0,n.W)(t))}let i=e=>{let t=new Date(e);if(isNaN(t.getTime()))return console.error("Invalid date:",e),"Invalid date";let r=t.toLocaleString("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone}),n=Math.floor(-t.getTimezoneOffset()/60),[s,o]=r.split(", "),[i,a,d]=s.split("/");return"".concat(d,"/").concat(i,"/").concat(a," ").concat(o,"(UTC").concat(n>=0?"+":"-").concat(Math.abs(n),")")};function a(e){if(e.startsWith("2000-01-01T00:00:00"))return"date unknown";let t=new Date(e);if(isNaN(t.getTime()))return"invalid date";let r=String(t.getDate()).padStart(2,"0"),n=String(t.getMonth()+1).padStart(2,"0"),s=t.getFullYear();return"".concat(r,"/").concat(n,"/").concat(s)}},47960:function(){}},function(e){e.O(0,[587,604,310,51,956,779,37,152,972,343,153,971,117,744],function(){return e(e.s=5174)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[626],{57061:function(e,t,r){Promise.resolve().then(r.bind(r,3980))},3980:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return g}});var n=r(57437),a=r(80605),i=r(49089),o=r(62869),s=r(2265),c=r(94508);let d=s.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,n.jsx)("div",{ref:t,className:(0,c.cn)("rounded-xl bg-card text-card-foreground",r),...a})});d.displayName="Card";let l=s.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,n.jsx)("div",{ref:t,className:(0,c.cn)("flex flex-col space-y-1.5 p-6",r),...a})});l.displayName="CardHeader";let u=s.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,n.jsx)("h3",{ref:t,className:(0,c.cn)("font-semibold leading-none tracking-tight",r),...a})});u.displayName="CardTitle";let f=s.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,n.jsx)("p",{ref:t,className:(0,c.cn)("text-sm text-muted-foreground",r),...a})});f.displayName="CardDescription";let m=s.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,n.jsx)("div",{ref:t,className:(0,c.cn)("p-6 pt-0",r),...a})});function g(){return(0,n.jsx)("div",{className:"min-h-screen flex items-center justify-center bg-gray-100",children:(0,n.jsxs)(d,{className:"w-[350px]",children:[(0,n.jsxs)(l,{children:[(0,n.jsx)(u,{children:"Welcome"}),(0,n.jsx)(f,{children:"Sign in to your account"})]}),(0,n.jsx)(m,{children:(0,n.jsxs)(o.z,{onClick:()=>(0,a.signIn)("github"),className:"w-full",variant:"outline",children:[(0,n.jsx)(i.hJX,{className:"mr-2 h-5 w-5"}),"Sign in with GitHub"]})})]})})}m.displayName="CardContent",s.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,n.jsx)("div",{ref:t,className:(0,c.cn)("flex items-center p-6 pt-0",r),...a})}).displayName="CardFooter"},62869:function(e,t,r){"use strict";r.d(t,{z:function(){return d}});var n=r(57437),a=r(2265),i=r(37053),o=r(77712),s=r(94508);let c=(0,o.j)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),d=a.forwardRef((e,t)=>{let{className:r,variant:a,size:o,asChild:d=!1,...l}=e,u=d?i.g7:"button";return(0,n.jsx)(u,{className:(0,s.cn)(c({variant:a,size:o,className:r})),ref:t,...l})});d.displayName="Button"},94508:function(e,t,r){"use strict";r.d(t,{cn:function(){return i},i$:function(){return o},y4:function(){return s}});var n=r(61994),a=r(53335);function i(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,a.m6)((0,n.W)(t))}let o=e=>{let t=new Date(e);if(isNaN(t.getTime()))return console.error("Invalid date:",e),"Invalid date";let r=t.toLocaleString("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone}),n=Math.floor(-t.getTimezoneOffset()/60),[a,i]=r.split(", "),[o,s,c]=a.split("/");return"".concat(c,"/").concat(o,"/").concat(s," ").concat(i,"(UTC").concat(n>=0?"+":"-").concat(Math.abs(n),")")};function s(e){if(e.startsWith("2000-01-01T00:00:00"))return"date unknown";let t=new Date(e);if(isNaN(t.getTime()))return"invalid date";let r=String(t.getDate()).padStart(2,"0"),n=String(t.getMonth()+1).padStart(2,"0"),a=t.getFullYear();return"".concat(r,"/").concat(n,"/").concat(a)}}},function(e){e.O(0,[699,37,152,971,117,744],function(){return e(e.s=57061)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{54225:function(e,r,t){Promise.resolve().then(t.bind(t,87232)),Promise.resolve().then(t.t.bind(t,65878,23)),Promise.resolve().then(t.t.bind(t,72972,23))},87232:function(e,r,t){"use strict";t.d(r,{default:function(){return N}});var s=t(57437);t(2446);var a=t(2265),l=t(60579),i=t(84190),n=t(63400),o=t(83774),d=t(62869),c=t(20698),m=t(34996),h=t(94508),x=t(46191),u=t(19683),g=t(81315),p=t(92920),y=t(42586),f=t(84678);let b=e=>{let{memo:r,onDelete:t,onEdit:a,isDeleting:l=!1}=e,b=(0,y.useTranslations)("HomePage"),j=function(e){let r=[e.city,e.street].filter(e=>"string"==typeof e&&e.trim().length>0);return 0===r.length?null:Array.from(new Set(r.map(e=>e.trim()))).join(" \xb7 ")}(r);return(0,s.jsxs)("article",{className:"group relative flex flex-col px-5 pt-10 pb-5 rounded-xl bg-white border border-gray-200 transition-all duration-200 hover:shadow-md overflow-visible",children:[(0,s.jsx)("div",{className:"absolute top-2.5 right-3 z-10",children:(0,s.jsxs)(i.h_,{children:[(0,s.jsx)(i.$F,{asChild:!0,children:(0,s.jsx)(d.z,{variant:"ghost","aria-label":"More actions",className:"text-gray-400 hover:text-gray-700 bg-transparent h-6 w-6 p-0 rounded-full opacity-0 group-hover:opacity-100 focus-visible:opacity-100 transition-opacity",children:(0,s.jsx)(n.jfL,{className:"h-4 w-4"})})}),(0,s.jsxs)(i.AW,{align:"end",side:"bottom",className:"z-50 bg-white border border-gray-200 shadow-lg rounded-md min-w-[120px]",sideOffset:4,children:[(0,s.jsx)(i.Xi,{onSelect:()=>t(r.id),disabled:l,className:"px-3 py-2 text-sm cursor-pointer hover:bg-gray-100 focus:bg-gray-100 text-red-600 hover:text-red-700 disabled:opacity-50 disabled:cursor-not-allowed",children:l?(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(n.Z7b,{className:"h-4 w-4 animate-spin"}),b("delete")]}):b("delete")}),(0,s.jsx)(i.Xi,{onClick:()=>a(r.id),disabled:l,className:"px-3 py-2 text-sm cursor-pointer hover:bg-gray-100 focus:bg-gray-100 text-gray-700 hover:text-gray-900 disabled:opacity-50 disabled:cursor-not-allowed",children:b("edit")})]})]})}),(0,s.jsx)("div",{className:"text-gray-900 prose prose-sm max-w-none break-words mb-4",children:(0,s.jsx)(c.U,{remarkPlugins:[u.Z,g.Z],rehypePlugins:[x.Z],components:{code(e){let{inline:r,className:t,children:a,...l}=e,i=/language-(\w+)/.exec(t||"");return!r&&i?(0,s.jsx)(m.Z,{style:p.Z,language:i[1],PreTag:"div",children:String(a).replace(/\n$/,"")}):(0,s.jsx)("code",{className:t,...l,children:a})},a:e=>{let{children:r,...t}=e;return(0,s.jsx)("a",{...t,className:"text-gray-500 no-underline hover:text-gray-800 hover:underline hover:underline-offset-4 transition-colors duration-200 break-words",target:"_blank",rel:"noopener noreferrer",children:r})},blockquote:e=>{let{children:r}=e;return(0,s.jsx)("div",{className:"pl-4 border-l-4 border-gray-200 text-gray-500 italic",children:r})},img:e=>{let{alt:r,src:t}=e;return(0,s.jsx)("img",{alt:null!=r?r:"",src:t,loading:"lazy",className:"w-full h-auto rounded-lg my-3 border border-gray-100"})}},children:r.content})}),(0,s.jsxs)("footer",{className:"flex items-center justify-between text-xs text-gray-400 pt-3 border-t border-gray-100",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,s.jsx)("time",{dateTime:r.timestamp,className:"whitespace-nowrap tabular-nums",children:(0,h.y4)(r.timestamp)}),j&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{"aria-hidden":"true",className:"text-gray-300",children:"\xb7"}),(0,s.jsxs)("span",{className:"inline-flex items-center gap-1 truncate",title:j,children:[(0,s.jsx)(o.Z,{className:"h-3 w-3 flex-shrink-0","aria-hidden":"true"}),(0,s.jsx)("span",{className:"truncate",children:j})]})]})]}),(0,s.jsx)("div",{className:"flex items-center gap-1 flex-shrink-0",children:(0,s.jsx)(f.Z,{type:"memo",id:r.id,className:"text-xs"})})]})]},r.id)},j={default:2,768:1};function N(e){let{memos:r}=e,[t,i]=(0,a.useState)([]),[n,o]=(0,a.useState)(null);(0,a.useEffect)(()=>{i(r.map(e=>({...e,formattedTimestamp:(0,h.i$)(e.timestamp)})))},[r]);let d=async e=>{try{o(e);let r=await fetch("/api/graphql",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:"\n mutation DeleteMemo($id: String!) {\n deleteMemo(id: $id)\n }\n ",variables:{id:e}})}),t=await r.json();if(t.errors)throw Error(t.errors[0].message);if(!r.ok)throw Error("Failed to delete memo");i(r=>r.filter(r=>r.id!==e))}catch(e){console.error("error delete memo: ".concat(e))}finally{o(null)}};return 0===t.length?(0,s.jsx)("div",{className:"flex flex-col items-center mt-16 space-y-6",children:(0,s.jsxs)("div",{className:"text-center space-y-3",children:[(0,s.jsx)("h2",{className:"text-2xl font-semibold text-gray-900",children:"No memos yet"}),(0,s.jsx)("p",{className:"text-gray-500 max-w-md",children:"Capture quick thoughts and moments by creating your first memo."})]})}):(0,s.jsx)(l.Z,{breakpointCols:j,className:"memos-masonry",columnClassName:"memos-masonry-col",children:t.map(e=>(0,s.jsx)("div",{className:"mb-4",children:(0,s.jsx)(b,{memo:e,onDelete:d,onEdit:()=>{},isDeleting:n===e.id})},e.id))})}}},function(e){e.O(0,[329,954,310,259,37,586,972,654,878,343,164,306,767,971,117,744],function(){return e(e.s=54225)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{22255:function(e,t,r){Promise.resolve().then(r.bind(r,81908)),Promise.resolve().then(r.t.bind(r,65878,23)),Promise.resolve().then(r.t.bind(r,72972,23))},81908:function(e,t,r){"use strict";r.d(t,{default:function(){return d}});var n=r(57437),a=r(27648);let o=e=>{let{post:t}=e;return(0,n.jsx)(a.default,{href:"/blog/".concat(encodeURIComponent(t.id)),className:"block p-6 h-full flex flex-col justify-between","aria-label":t.title,children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsx)("h3",{className:"font-semibold text-xl md:text-2xl text-gray-900 group-hover:text-blue-600 transition-colors duration-200 leading-tight",children:t.title}),(0,n.jsx)("p",{className:"text-sm text-gray-500",children:new Date(t.date).toISOString().split("T")[0]})]})})},i=e=>{let{post:t}=e;return(0,n.jsxs)("div",{className:"group bg-white rounded-lg border border-gray-200 overflow-hidden hover:shadow-lg transition-all duration-200",children:[t.imageUrl&&(0,n.jsx)("div",{className:"h-48 bg-gray-100 relative overflow-hidden",style:{backgroundImage:"url(".concat(t.imageUrl,")"),backgroundSize:"cover",backgroundPosition:"center"},children:(0,n.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/30 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-200"})}),(0,n.jsx)(o,{post:t})]})};var s=r(62869),c=r(99376),l=r(42586);function d(e){let{posts:t}=e,r=(0,c.useRouter)(),a=(0,l.useTranslations)("HomePage");if(0===t.length)return(0,n.jsx)("div",{className:"max-w-3xl mx-auto px-4 py-8",children:(0,n.jsxs)("div",{className:"flex flex-col items-center mt-16 space-y-6",children:[(0,n.jsxs)("div",{className:"text-center space-y-3",children:[(0,n.jsx)("h2",{className:"text-2xl font-semibold text-gray-900",children:"No blog posts yet"}),(0,n.jsx)("p",{className:"text-gray-500 max-w-md",children:"Share your thoughts and experiences by creating your first blog post."})]}),(0,n.jsx)(s.z,{onClick:()=>r.push("/editor?type=blog"),className:"bg-black hover:bg-gray-800 text-white px-6 py-3",children:a("createBlogPost")})]})});let o=[...t].sort((e,t)=>new Date(t.date).getTime()-new Date(e.date).getTime());return(0,n.jsx)("div",{className:"max-w-3xl mx-auto px-4 py-8",children:(0,n.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:o.map(e=>(0,n.jsx)(i,{post:e},e.id))})})}},62869:function(e,t,r){"use strict";r.d(t,{z:function(){return l}});var n=r(57437),a=r(2265),o=r(37053),i=r(77712),s=r(94508);let c=(0,i.j)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),l=a.forwardRef((e,t)=>{let{className:r,variant:a,size:i,asChild:l=!1,...d}=e,u=l?o.g7:"button";return(0,n.jsx)(u,{className:(0,s.cn)(c({variant:a,size:i,className:r})),ref:t,...d})});l.displayName="Button"},94508:function(e,t,r){"use strict";r.d(t,{cn:function(){return o},i$:function(){return i},y4:function(){return s}});var n=r(61994),a=r(53335);function o(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,a.m6)((0,n.W)(t))}let i=e=>{let t=new Date(e);if(isNaN(t.getTime()))return console.error("Invalid date:",e),"Invalid date";let r=t.toLocaleString("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone}),n=Math.floor(-t.getTimezoneOffset()/60),[a,o]=r.split(", "),[i,s,c]=a.split("/");return"".concat(c,"/").concat(i,"/").concat(s," ").concat(o,"(UTC").concat(n>=0?"+":"-").concat(Math.abs(n),")")};function s(e){if(e.startsWith("2000-01-01T00:00:00"))return"date unknown";let t=new Date(e);if(isNaN(t.getTime()))return"invalid date";let r=String(t.getDate()).padStart(2,"0"),n=String(t.getMonth()+1).padStart(2,"0"),a=t.getFullYear();return"".concat(r,"/").concat(n,"/").concat(a)}},27648:function(e,t,r){"use strict";r.d(t,{default:function(){return a.a}});var n=r(72972),a=r.n(n)}},function(e){e.O(0,[37,586,972,878,971,117,744],function(){return e(e.s=22255)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[941],{63521:function(){}},function(n){n.O(0,[971,117,744],function(){return n(n.s=63521)}),_N_E=n.O()}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[694],{76186:function(e,l,C){C.d(l,{cr$:function(){return n}});var t=C(46231);function n(e){return(0,t.w_)({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none"},child:[{tag:"path",attr:{fillRule:"evenodd",clipRule:"evenodd",d:"M7 7C5.34315 7 4 8.34315 4 10C4 11.6569 5.34315 13 7 13C8.65685 13 10 11.6569 10 10C10 8.34315 8.65685 7 7 7ZM6 10C6 9.44772 6.44772 9 7 9C7.55228 9 8 9.44772 8 10C8 10.5523 7.55228 11 7 11C6.44772 11 6 10.5523 6 10Z",fill:"currentColor"},child:[]},{tag:"path",attr:{fillRule:"evenodd",clipRule:"evenodd",d:"M3 3C1.34315 3 0 4.34315 0 6V18C0 19.6569 1.34315 21 3 21H21C22.6569 21 24 19.6569 24 18V6C24 4.34315 22.6569 3 21 3H3ZM21 5H3C2.44772 5 2 5.44772 2 6V18C2 18.5523 2.44772 19 3 19H7.31374L14.1924 12.1214C15.364 10.9498 17.2635 10.9498 18.435 12.1214L22 15.6863V6C22 5.44772 21.5523 5 21 5ZM21 19H10.1422L15.6066 13.5356C15.9971 13.145 16.6303 13.145 17.0208 13.5356L21.907 18.4217C21.7479 18.7633 21.4016 19 21 19Z",fill:"currentColor"},child:[]}]})(e)}}}]);