karaoke-gen 0.105.4__py3-none-any.whl → 0.107.0__py3-none-any.whl

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 (322) hide show
  1. backend/api/routes/users.py +14 -3
  2. backend/config.py +3 -0
  3. backend/services/encoding_interface.py +4 -0
  4. backend/services/job_notification_service.py +4 -21
  5. backend/tests/test_job_notification_service.py +24 -58
  6. backend/tests/test_video_worker_orchestrator.py +189 -0
  7. backend/workers/video_worker_orchestrator.py +7 -0
  8. karaoke_gen/instrumental_review/server.py +145 -35
  9. karaoke_gen/nextjs_frontend/__init__.py +98 -0
  10. karaoke_gen/nextjs_frontend/out/404/index.html +1 -0
  11. karaoke_gen/nextjs_frontend/out/404.html +1 -0
  12. karaoke_gen/nextjs_frontend/out/__next.__PAGE__.txt +9 -0
  13. karaoke_gen/nextjs_frontend/out/__next._full.txt +22 -0
  14. karaoke_gen/nextjs_frontend/out/__next._head.txt +8 -0
  15. karaoke_gen/nextjs_frontend/out/__next._index.txt +9 -0
  16. karaoke_gen/nextjs_frontend/out/__next._tree.txt +2 -0
  17. karaoke_gen/nextjs_frontend/out/_next/static/chunks/01a7f8fe40f1ff47.js +1 -0
  18. karaoke_gen/nextjs_frontend/out/_next/static/chunks/112f346e31f991df.js +4 -0
  19. karaoke_gen/nextjs_frontend/out/_next/static/chunks/16d1a4dd9d8a873a.js +3 -0
  20. karaoke_gen/nextjs_frontend/out/_next/static/chunks/1ab85c362b8b0e86.js +9 -0
  21. karaoke_gen/nextjs_frontend/out/_next/static/chunks/247eb132b7f7b574.js +1 -0
  22. karaoke_gen/nextjs_frontend/out/_next/static/chunks/2b80d15cc95e4818.js +1 -0
  23. karaoke_gen/nextjs_frontend/out/_next/static/chunks/32c7eba5cd46c1bc.js +7 -0
  24. karaoke_gen/nextjs_frontend/out/_next/static/chunks/483f26794eae53d0.js +1 -0
  25. karaoke_gen/nextjs_frontend/out/_next/static/chunks/550c3b02e85f196a.js +1 -0
  26. karaoke_gen/nextjs_frontend/out/_next/static/chunks/55c5ade44387bef8.js +1 -0
  27. karaoke_gen/nextjs_frontend/out/_next/static/chunks/5628d92b5893add2.css +1 -0
  28. karaoke_gen/nextjs_frontend/out/_next/static/chunks/56ebf7665e4341c8.js +7 -0
  29. karaoke_gen/nextjs_frontend/out/_next/static/chunks/5997132b61dec430.js +1 -0
  30. karaoke_gen/nextjs_frontend/out/_next/static/chunks/5ea55255bce3eb9e.js +5 -0
  31. karaoke_gen/nextjs_frontend/out/_next/static/chunks/5eda89a57490b3cd.js +1 -0
  32. karaoke_gen/nextjs_frontend/out/_next/static/chunks/692f5d9e0d700c76.js +3 -0
  33. karaoke_gen/nextjs_frontend/out/_next/static/chunks/71d7a05b14f9f0f4.js +1 -0
  34. karaoke_gen/nextjs_frontend/out/_next/static/chunks/81ac355749ef3302.js +1 -0
  35. karaoke_gen/nextjs_frontend/out/_next/static/chunks/95f7e5934dbb0e5d.js +1 -0
  36. karaoke_gen/nextjs_frontend/out/_next/static/chunks/9bce8f19eaa46940.js +1 -0
  37. karaoke_gen/nextjs_frontend/out/_next/static/chunks/a6dad97d9634a72d.js +1 -0
  38. karaoke_gen/nextjs_frontend/out/_next/static/chunks/a9ed54eed3e14c92.js +2 -0
  39. karaoke_gen/nextjs_frontend/out/_next/static/chunks/b35cd41238ecfb17.js +1 -0
  40. karaoke_gen/nextjs_frontend/out/_next/static/chunks/b5bc3c3d5ebd49eb.js +1 -0
  41. karaoke_gen/nextjs_frontend/out/_next/static/chunks/b5c078c08db5ae32.js +5 -0
  42. karaoke_gen/nextjs_frontend/out/_next/static/chunks/be9c44a178104187.js +1 -0
  43. karaoke_gen/nextjs_frontend/out/_next/static/chunks/c4c840e18cb4861c.js +1 -0
  44. karaoke_gen/nextjs_frontend/out/_next/static/chunks/c645af7d6b65f73e.js +1 -0
  45. karaoke_gen/nextjs_frontend/out/_next/static/chunks/d2c5e2575df784d4.js +1 -0
  46. karaoke_gen/nextjs_frontend/out/_next/static/chunks/d30af02b96d81462.js +1 -0
  47. karaoke_gen/nextjs_frontend/out/_next/static/chunks/d9bdf64f4ec1e9b7.js +7 -0
  48. karaoke_gen/nextjs_frontend/out/_next/static/chunks/dcde6ed684dacd0e.js +5 -0
  49. karaoke_gen/nextjs_frontend/out/_next/static/chunks/e422cbe931246000.js +1 -0
  50. karaoke_gen/nextjs_frontend/out/_next/static/chunks/e483af34fc792d38.js +1 -0
  51. karaoke_gen/nextjs_frontend/out/_next/static/chunks/e57422aad6b897da.js +1 -0
  52. karaoke_gen/nextjs_frontend/out/_next/static/chunks/ef02697fb404726a.js +1 -0
  53. karaoke_gen/nextjs_frontend/out/_next/static/chunks/ff1a16fafef87110.js +1 -0
  54. karaoke_gen/nextjs_frontend/out/_next/static/chunks/turbopack-2d9ca3017a9deedf.js +3 -0
  55. karaoke_gen/nextjs_frontend/out/_next/static/zpw_-rjFIDV5tlPPtnvRI/_buildManifest.js +11 -0
  56. karaoke_gen/nextjs_frontend/out/_next/static/zpw_-rjFIDV5tlPPtnvRI/_clientMiddlewareManifest.json +1 -0
  57. karaoke_gen/nextjs_frontend/out/_next/static/zpw_-rjFIDV5tlPPtnvRI/_ssgManifest.js +1 -0
  58. karaoke_gen/nextjs_frontend/out/_not-found/__next._full.txt +18 -0
  59. karaoke_gen/nextjs_frontend/out/_not-found/__next._head.txt +8 -0
  60. karaoke_gen/nextjs_frontend/out/_not-found/__next._index.txt +9 -0
  61. karaoke_gen/nextjs_frontend/out/_not-found/__next._not-found.__PAGE__.txt +5 -0
  62. karaoke_gen/nextjs_frontend/out/_not-found/__next._not-found.txt +4 -0
  63. karaoke_gen/nextjs_frontend/out/_not-found/__next._tree.txt +2 -0
  64. karaoke_gen/nextjs_frontend/out/_not-found/index.html +1 -0
  65. karaoke_gen/nextjs_frontend/out/_not-found/index.txt +18 -0
  66. karaoke_gen/nextjs_frontend/out/admin/__next._full.txt +25 -0
  67. karaoke_gen/nextjs_frontend/out/admin/__next._head.txt +8 -0
  68. karaoke_gen/nextjs_frontend/out/admin/__next._index.txt +9 -0
  69. karaoke_gen/nextjs_frontend/out/admin/__next._tree.txt +2 -0
  70. karaoke_gen/nextjs_frontend/out/admin/__next.admin.__PAGE__.txt +9 -0
  71. karaoke_gen/nextjs_frontend/out/admin/__next.admin.txt +7 -0
  72. karaoke_gen/nextjs_frontend/out/admin/beta/__next._full.txt +25 -0
  73. karaoke_gen/nextjs_frontend/out/admin/beta/__next._head.txt +8 -0
  74. karaoke_gen/nextjs_frontend/out/admin/beta/__next._index.txt +9 -0
  75. karaoke_gen/nextjs_frontend/out/admin/beta/__next._tree.txt +2 -0
  76. karaoke_gen/nextjs_frontend/out/admin/beta/__next.admin.beta.__PAGE__.txt +9 -0
  77. karaoke_gen/nextjs_frontend/out/admin/beta/__next.admin.beta.txt +4 -0
  78. karaoke_gen/nextjs_frontend/out/admin/beta/__next.admin.txt +7 -0
  79. karaoke_gen/nextjs_frontend/out/admin/beta/index.html +1 -0
  80. karaoke_gen/nextjs_frontend/out/admin/beta/index.txt +25 -0
  81. karaoke_gen/nextjs_frontend/out/admin/index.html +1 -0
  82. karaoke_gen/nextjs_frontend/out/admin/index.txt +25 -0
  83. karaoke_gen/nextjs_frontend/out/admin/jobs/__next._full.txt +25 -0
  84. karaoke_gen/nextjs_frontend/out/admin/jobs/__next._head.txt +8 -0
  85. karaoke_gen/nextjs_frontend/out/admin/jobs/__next._index.txt +9 -0
  86. karaoke_gen/nextjs_frontend/out/admin/jobs/__next._tree.txt +2 -0
  87. karaoke_gen/nextjs_frontend/out/admin/jobs/__next.admin.jobs.__PAGE__.txt +9 -0
  88. karaoke_gen/nextjs_frontend/out/admin/jobs/__next.admin.jobs.txt +4 -0
  89. karaoke_gen/nextjs_frontend/out/admin/jobs/__next.admin.txt +7 -0
  90. karaoke_gen/nextjs_frontend/out/admin/jobs/index.html +1 -0
  91. karaoke_gen/nextjs_frontend/out/admin/jobs/index.txt +25 -0
  92. karaoke_gen/nextjs_frontend/out/admin/rate-limits/__next._full.txt +25 -0
  93. karaoke_gen/nextjs_frontend/out/admin/rate-limits/__next._head.txt +8 -0
  94. karaoke_gen/nextjs_frontend/out/admin/rate-limits/__next._index.txt +9 -0
  95. karaoke_gen/nextjs_frontend/out/admin/rate-limits/__next._tree.txt +2 -0
  96. karaoke_gen/nextjs_frontend/out/admin/rate-limits/__next.admin.rate-limits.__PAGE__.txt +9 -0
  97. karaoke_gen/nextjs_frontend/out/admin/rate-limits/__next.admin.rate-limits.txt +4 -0
  98. karaoke_gen/nextjs_frontend/out/admin/rate-limits/__next.admin.txt +7 -0
  99. karaoke_gen/nextjs_frontend/out/admin/rate-limits/index.html +1 -0
  100. karaoke_gen/nextjs_frontend/out/admin/rate-limits/index.txt +25 -0
  101. karaoke_gen/nextjs_frontend/out/admin/searches/__next._full.txt +25 -0
  102. karaoke_gen/nextjs_frontend/out/admin/searches/__next._head.txt +8 -0
  103. karaoke_gen/nextjs_frontend/out/admin/searches/__next._index.txt +9 -0
  104. karaoke_gen/nextjs_frontend/out/admin/searches/__next._tree.txt +2 -0
  105. karaoke_gen/nextjs_frontend/out/admin/searches/__next.admin.searches.__PAGE__.txt +9 -0
  106. karaoke_gen/nextjs_frontend/out/admin/searches/__next.admin.searches.txt +4 -0
  107. karaoke_gen/nextjs_frontend/out/admin/searches/__next.admin.txt +7 -0
  108. karaoke_gen/nextjs_frontend/out/admin/searches/index.html +1 -0
  109. karaoke_gen/nextjs_frontend/out/admin/searches/index.txt +25 -0
  110. karaoke_gen/nextjs_frontend/out/admin/users/__next._full.txt +25 -0
  111. karaoke_gen/nextjs_frontend/out/admin/users/__next._head.txt +8 -0
  112. karaoke_gen/nextjs_frontend/out/admin/users/__next._index.txt +9 -0
  113. karaoke_gen/nextjs_frontend/out/admin/users/__next._tree.txt +2 -0
  114. karaoke_gen/nextjs_frontend/out/admin/users/__next.admin.txt +7 -0
  115. karaoke_gen/nextjs_frontend/out/admin/users/__next.admin.users.__PAGE__.txt +9 -0
  116. karaoke_gen/nextjs_frontend/out/admin/users/__next.admin.users.txt +4 -0
  117. karaoke_gen/nextjs_frontend/out/admin/users/detail/__next._full.txt +25 -0
  118. karaoke_gen/nextjs_frontend/out/admin/users/detail/__next._head.txt +8 -0
  119. karaoke_gen/nextjs_frontend/out/admin/users/detail/__next._index.txt +9 -0
  120. karaoke_gen/nextjs_frontend/out/admin/users/detail/__next._tree.txt +2 -0
  121. karaoke_gen/nextjs_frontend/out/admin/users/detail/__next.admin.txt +7 -0
  122. karaoke_gen/nextjs_frontend/out/admin/users/detail/__next.admin.users.detail.__PAGE__.txt +9 -0
  123. karaoke_gen/nextjs_frontend/out/admin/users/detail/__next.admin.users.detail.txt +4 -0
  124. karaoke_gen/nextjs_frontend/out/admin/users/detail/__next.admin.users.txt +4 -0
  125. karaoke_gen/nextjs_frontend/out/admin/users/detail/index.html +1 -0
  126. karaoke_gen/nextjs_frontend/out/admin/users/detail/index.txt +25 -0
  127. karaoke_gen/nextjs_frontend/out/admin/users/index.html +1 -0
  128. karaoke_gen/nextjs_frontend/out/admin/users/index.txt +25 -0
  129. karaoke_gen/nextjs_frontend/out/app/__next._full.txt +22 -0
  130. karaoke_gen/nextjs_frontend/out/app/__next._head.txt +8 -0
  131. karaoke_gen/nextjs_frontend/out/app/__next._index.txt +9 -0
  132. karaoke_gen/nextjs_frontend/out/app/__next._tree.txt +2 -0
  133. karaoke_gen/nextjs_frontend/out/app/__next.app.__PAGE__.txt +9 -0
  134. karaoke_gen/nextjs_frontend/out/app/__next.app.txt +4 -0
  135. karaoke_gen/nextjs_frontend/out/app/index.html +1 -0
  136. karaoke_gen/nextjs_frontend/out/app/index.txt +22 -0
  137. karaoke_gen/nextjs_frontend/out/app/jobs/__next._full.txt +19 -0
  138. karaoke_gen/nextjs_frontend/out/app/jobs/__next._head.txt +8 -0
  139. karaoke_gen/nextjs_frontend/out/app/jobs/__next._index.txt +9 -0
  140. karaoke_gen/nextjs_frontend/out/app/jobs/__next._tree.txt +2 -0
  141. karaoke_gen/nextjs_frontend/out/app/jobs/__next.app.jobs.$oc$slug.__PAGE__.txt +6 -0
  142. karaoke_gen/nextjs_frontend/out/app/jobs/__next.app.jobs.$oc$slug.txt +4 -0
  143. karaoke_gen/nextjs_frontend/out/app/jobs/__next.app.jobs.txt +4 -0
  144. karaoke_gen/nextjs_frontend/out/app/jobs/__next.app.txt +4 -0
  145. karaoke_gen/nextjs_frontend/out/app/jobs/index.html +1 -0
  146. karaoke_gen/nextjs_frontend/out/app/jobs/index.txt +19 -0
  147. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/__next._full.txt +19 -0
  148. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/__next._head.txt +8 -0
  149. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/__next._index.txt +9 -0
  150. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/__next._tree.txt +2 -0
  151. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/__next.app.jobs.$oc$slug.__PAGE__.txt +6 -0
  152. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/__next.app.jobs.$oc$slug.txt +4 -0
  153. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/__next.app.jobs.txt +4 -0
  154. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/__next.app.txt +4 -0
  155. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/index.html +1 -0
  156. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/index.txt +19 -0
  157. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/__next._full.txt +19 -0
  158. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/__next._head.txt +8 -0
  159. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/__next._index.txt +9 -0
  160. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/__next._tree.txt +2 -0
  161. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/__next.app.jobs.$oc$slug.__PAGE__.txt +6 -0
  162. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/__next.app.jobs.$oc$slug.txt +4 -0
  163. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/__next.app.jobs.txt +4 -0
  164. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/__next.app.txt +4 -0
  165. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/index.html +1 -0
  166. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/index.txt +19 -0
  167. karaoke_gen/nextjs_frontend/out/auth/verify/__next._full.txt +22 -0
  168. karaoke_gen/nextjs_frontend/out/auth/verify/__next._head.txt +8 -0
  169. karaoke_gen/nextjs_frontend/out/auth/verify/__next._index.txt +9 -0
  170. karaoke_gen/nextjs_frontend/out/auth/verify/__next._tree.txt +2 -0
  171. karaoke_gen/nextjs_frontend/out/auth/verify/__next.auth.txt +4 -0
  172. karaoke_gen/nextjs_frontend/out/auth/verify/__next.auth.verify.__PAGE__.txt +9 -0
  173. karaoke_gen/nextjs_frontend/out/auth/verify/__next.auth.verify.txt +4 -0
  174. karaoke_gen/nextjs_frontend/out/auth/verify/index.html +1 -0
  175. karaoke_gen/nextjs_frontend/out/auth/verify/index.txt +22 -0
  176. karaoke_gen/nextjs_frontend/out/index.html +1 -0
  177. karaoke_gen/nextjs_frontend/out/index.txt +22 -0
  178. karaoke_gen/nextjs_frontend/out/manifest.webmanifest +31 -0
  179. karaoke_gen/nextjs_frontend/out/order/success/__next._full.txt +22 -0
  180. karaoke_gen/nextjs_frontend/out/order/success/__next._head.txt +8 -0
  181. karaoke_gen/nextjs_frontend/out/order/success/__next._index.txt +9 -0
  182. karaoke_gen/nextjs_frontend/out/order/success/__next._tree.txt +2 -0
  183. karaoke_gen/nextjs_frontend/out/order/success/__next.order.success.__PAGE__.txt +9 -0
  184. karaoke_gen/nextjs_frontend/out/order/success/__next.order.success.txt +4 -0
  185. karaoke_gen/nextjs_frontend/out/order/success/__next.order.txt +4 -0
  186. karaoke_gen/nextjs_frontend/out/order/success/index.html +1 -0
  187. karaoke_gen/nextjs_frontend/out/order/success/index.txt +22 -0
  188. karaoke_gen/nextjs_frontend/out/payment/success/__next._full.txt +22 -0
  189. karaoke_gen/nextjs_frontend/out/payment/success/__next._head.txt +8 -0
  190. karaoke_gen/nextjs_frontend/out/payment/success/__next._index.txt +9 -0
  191. karaoke_gen/nextjs_frontend/out/payment/success/__next._tree.txt +2 -0
  192. karaoke_gen/nextjs_frontend/out/payment/success/__next.payment.success.__PAGE__.txt +9 -0
  193. karaoke_gen/nextjs_frontend/out/payment/success/__next.payment.success.txt +4 -0
  194. karaoke_gen/nextjs_frontend/out/payment/success/__next.payment.txt +4 -0
  195. karaoke_gen/nextjs_frontend/out/payment/success/index.html +1 -0
  196. karaoke_gen/nextjs_frontend/out/payment/success/index.txt +22 -0
  197. karaoke_gen/nextjs_frontend/out/screenshots/email-action_reminder.png +0 -0
  198. karaoke_gen/nextjs_frontend/out/screenshots/email-beta_welcome.png +0 -0
  199. karaoke_gen/nextjs_frontend/out/screenshots/email-job_completion.png +0 -0
  200. karaoke_gen/nextjs_frontend/out/screenshots/example-output.avif +0 -0
  201. karaoke_gen/nextjs_frontend/out/screenshots/homepage-full.png +0 -0
  202. karaoke_gen/nextjs_frontend/out/screenshots/homepage-hero.png +0 -0
  203. karaoke_gen/nextjs_frontend/out/screenshots/instrumental-review.avif +0 -0
  204. karaoke_gen/nextjs_frontend/out/screenshots/instrumental-review.png +0 -0
  205. karaoke_gen/nextjs_frontend/out/screenshots/job-dashboard.avif +0 -0
  206. karaoke_gen/nextjs_frontend/out/screenshots/lyrics-review.avif +0 -0
  207. karaoke_gen/nextjs_frontend/out/screenshots/lyrics-review.png +0 -0
  208. karaoke_gen/nextjs_frontend/out/sw.js +183 -0
  209. karaoke_gen/utils/cli_args.py +3 -3
  210. karaoke_gen/utils/gen_cli.py +4 -0
  211. karaoke_gen/utils/remote_cli.py +8 -40
  212. {karaoke_gen-0.105.4.dist-info → karaoke_gen-0.107.0.dist-info}/METADATA +1 -1
  213. {karaoke_gen-0.105.4.dist-info → karaoke_gen-0.107.0.dist-info}/RECORD +227 -121
  214. {karaoke_gen-0.105.4.dist-info → karaoke_gen-0.107.0.dist-info}/WHEEL +1 -1
  215. lyrics_transcriber/correction/agentic/agent.py +83 -60
  216. lyrics_transcriber/correction/anchor_sequence.py +48 -3
  217. lyrics_transcriber/correction/corrector.py +92 -58
  218. lyrics_transcriber/review/server.py +165 -33
  219. lyrics_transcriber/utils/tracing.py +214 -0
  220. karaoke_gen/instrumental_review/static/index.html +0 -1721
  221. lyrics_transcriber/frontend/.gitignore +0 -24
  222. lyrics_transcriber/frontend/.yarn/releases/yarn-4.7.0.cjs +0 -935
  223. lyrics_transcriber/frontend/.yarnrc.yml +0 -3
  224. lyrics_transcriber/frontend/README.md +0 -50
  225. lyrics_transcriber/frontend/REPLACE_ALL_FUNCTIONALITY.md +0 -210
  226. lyrics_transcriber/frontend/__init__.py +0 -25
  227. lyrics_transcriber/frontend/e2e/agentic-corrections.spec.ts +0 -207
  228. lyrics_transcriber/frontend/e2e/fixtures/agentic-correction-data.json +0 -226
  229. lyrics_transcriber/frontend/eslint.config.js +0 -28
  230. lyrics_transcriber/frontend/index.html +0 -22
  231. lyrics_transcriber/frontend/package-lock.json +0 -4553
  232. lyrics_transcriber/frontend/package.json +0 -48
  233. lyrics_transcriber/frontend/playwright.config.ts +0 -69
  234. lyrics_transcriber/frontend/public/android-chrome-192x192.png +0 -0
  235. lyrics_transcriber/frontend/public/android-chrome-512x512.png +0 -0
  236. lyrics_transcriber/frontend/src/App.tsx +0 -243
  237. lyrics_transcriber/frontend/src/api.ts +0 -262
  238. lyrics_transcriber/frontend/src/components/AIFeedbackModal.tsx +0 -111
  239. lyrics_transcriber/frontend/src/components/AddLyricsModal.tsx +0 -114
  240. lyrics_transcriber/frontend/src/components/AgenticCorrectionMetrics.tsx +0 -204
  241. lyrics_transcriber/frontend/src/components/AppHeader.tsx +0 -65
  242. lyrics_transcriber/frontend/src/components/AudioPlayer.tsx +0 -180
  243. lyrics_transcriber/frontend/src/components/CorrectedWordWithActions.tsx +0 -175
  244. lyrics_transcriber/frontend/src/components/CorrectionAnnotationModal.tsx +0 -359
  245. lyrics_transcriber/frontend/src/components/CorrectionDetailCard.tsx +0 -281
  246. lyrics_transcriber/frontend/src/components/CorrectionMetrics.tsx +0 -162
  247. lyrics_transcriber/frontend/src/components/DurationTimelineView.tsx +0 -257
  248. lyrics_transcriber/frontend/src/components/EditActionBar.tsx +0 -94
  249. lyrics_transcriber/frontend/src/components/EditModal.tsx +0 -720
  250. lyrics_transcriber/frontend/src/components/EditTimelineSection.tsx +0 -592
  251. lyrics_transcriber/frontend/src/components/EditWordList.tsx +0 -431
  252. lyrics_transcriber/frontend/src/components/FileUpload.tsx +0 -77
  253. lyrics_transcriber/frontend/src/components/FindReplaceModal.tsx +0 -467
  254. lyrics_transcriber/frontend/src/components/Header.tsx +0 -520
  255. lyrics_transcriber/frontend/src/components/LyricsAnalyzer.tsx +0 -1526
  256. lyrics_transcriber/frontend/src/components/LyricsSynchronizer/SyncControls.tsx +0 -216
  257. lyrics_transcriber/frontend/src/components/LyricsSynchronizer/TimelineCanvas.tsx +0 -721
  258. lyrics_transcriber/frontend/src/components/LyricsSynchronizer/UpcomingWordsBar.tsx +0 -80
  259. lyrics_transcriber/frontend/src/components/LyricsSynchronizer/index.tsx +0 -999
  260. lyrics_transcriber/frontend/src/components/MetricsDashboard.tsx +0 -51
  261. lyrics_transcriber/frontend/src/components/ModeSelectionModal.tsx +0 -127
  262. lyrics_transcriber/frontend/src/components/ModeSelector.tsx +0 -67
  263. lyrics_transcriber/frontend/src/components/ModelSelector.tsx +0 -23
  264. lyrics_transcriber/frontend/src/components/PreviewVideoSection.tsx +0 -177
  265. lyrics_transcriber/frontend/src/components/ReferenceView.tsx +0 -268
  266. lyrics_transcriber/frontend/src/components/ReplaceAllLyricsModal.tsx +0 -336
  267. lyrics_transcriber/frontend/src/components/ReviewChangesModal.tsx +0 -354
  268. lyrics_transcriber/frontend/src/components/SegmentDetailsModal.tsx +0 -64
  269. lyrics_transcriber/frontend/src/components/TimelineEditor.tsx +0 -383
  270. lyrics_transcriber/frontend/src/components/TimingOffsetModal.tsx +0 -131
  271. lyrics_transcriber/frontend/src/components/TranscriptionView.tsx +0 -266
  272. lyrics_transcriber/frontend/src/components/WordDivider.tsx +0 -191
  273. lyrics_transcriber/frontend/src/components/shared/components/HighlightedText.tsx +0 -466
  274. lyrics_transcriber/frontend/src/components/shared/components/SourceSelector.tsx +0 -56
  275. lyrics_transcriber/frontend/src/components/shared/components/Word.tsx +0 -89
  276. lyrics_transcriber/frontend/src/components/shared/constants.ts +0 -30
  277. lyrics_transcriber/frontend/src/components/shared/hooks/useWordClick.ts +0 -180
  278. lyrics_transcriber/frontend/src/components/shared/styles.ts +0 -13
  279. lyrics_transcriber/frontend/src/components/shared/types.js +0 -2
  280. lyrics_transcriber/frontend/src/components/shared/types.ts +0 -135
  281. lyrics_transcriber/frontend/src/components/shared/utils/keyboardHandlers.ts +0 -177
  282. lyrics_transcriber/frontend/src/components/shared/utils/localStorage.ts +0 -78
  283. lyrics_transcriber/frontend/src/components/shared/utils/referenceLineCalculator.ts +0 -75
  284. lyrics_transcriber/frontend/src/components/shared/utils/segmentOperations.ts +0 -360
  285. lyrics_transcriber/frontend/src/components/shared/utils/timingUtils.ts +0 -110
  286. lyrics_transcriber/frontend/src/components/shared/utils/wordUtils.ts +0 -22
  287. lyrics_transcriber/frontend/src/hooks/useManualSync.ts +0 -537
  288. lyrics_transcriber/frontend/src/main.tsx +0 -11
  289. lyrics_transcriber/frontend/src/theme.ts +0 -406
  290. lyrics_transcriber/frontend/src/types/global.d.ts +0 -9
  291. lyrics_transcriber/frontend/src/types.js +0 -2
  292. lyrics_transcriber/frontend/src/types.ts +0 -199
  293. lyrics_transcriber/frontend/src/validation.ts +0 -132
  294. lyrics_transcriber/frontend/src/vite-env.d.ts +0 -1
  295. lyrics_transcriber/frontend/tsconfig.app.json +0 -26
  296. lyrics_transcriber/frontend/tsconfig.json +0 -25
  297. lyrics_transcriber/frontend/tsconfig.node.json +0 -23
  298. lyrics_transcriber/frontend/tsconfig.tsbuildinfo +0 -1
  299. lyrics_transcriber/frontend/update_version.js +0 -11
  300. lyrics_transcriber/frontend/vite.config.d.ts +0 -2
  301. lyrics_transcriber/frontend/vite.config.js +0 -15
  302. lyrics_transcriber/frontend/vite.config.ts +0 -16
  303. lyrics_transcriber/frontend/web_assets/android-chrome-192x192.png +0 -0
  304. lyrics_transcriber/frontend/web_assets/android-chrome-512x512.png +0 -0
  305. lyrics_transcriber/frontend/web_assets/apple-touch-icon.png +0 -0
  306. lyrics_transcriber/frontend/web_assets/assets/index-BSMgOq4Z.js +0 -44465
  307. lyrics_transcriber/frontend/web_assets/assets/index-BSMgOq4Z.js.map +0 -1
  308. lyrics_transcriber/frontend/web_assets/favicon-16x16.png +0 -0
  309. lyrics_transcriber/frontend/web_assets/favicon-32x32.png +0 -0
  310. lyrics_transcriber/frontend/web_assets/favicon.ico +0 -0
  311. lyrics_transcriber/frontend/web_assets/index.html +0 -22
  312. lyrics_transcriber/frontend/web_assets/nomad-karaoke-logo.png +0 -0
  313. lyrics_transcriber/frontend/web_assets/nomad-karaoke-logo.svg +0 -5
  314. lyrics_transcriber/frontend/yarn.lock +0 -3711
  315. {lyrics_transcriber/frontend/public → karaoke_gen/nextjs_frontend/out}/apple-touch-icon.png +0 -0
  316. {lyrics_transcriber/frontend/public → karaoke_gen/nextjs_frontend/out}/favicon-16x16.png +0 -0
  317. {lyrics_transcriber/frontend/public → karaoke_gen/nextjs_frontend/out}/favicon-32x32.png +0 -0
  318. {lyrics_transcriber/frontend/public → karaoke_gen/nextjs_frontend/out}/favicon.ico +0 -0
  319. {lyrics_transcriber/frontend/public → karaoke_gen/nextjs_frontend/out}/nomad-karaoke-logo.svg +0 -0
  320. /lyrics_transcriber/frontend/public/nomad-karaoke-logo.png → /karaoke_gen/nextjs_frontend/out/nomad-logo.png +0 -0
  321. {karaoke_gen-0.105.4.dist-info → karaoke_gen-0.107.0.dist-info}/entry_points.txt +0 -0
  322. {karaoke_gen-0.105.4.dist-info → karaoke_gen-0.107.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,91915,(e,r,t)=>{"use strict";function n(e,r={}){if(r.onlyHashChange)return void e();let t=document.documentElement;if("smooth"!==t.dataset.scrollBehavior)return void e();let a=t.style.scrollBehavior;t.style.scrollBehavior="auto",r.dontForceLayout||t.getClientRects(),e(),t.style.scrollBehavior=a}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"disableSmoothScrollDuringRouteTransition",{enumerable:!0,get:function(){return n}}),e.r(33525)},68017,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTTPAccessFallbackBoundary",{enumerable:!0,get:function(){return i}});let n=e.r(90809),a=e.r(43476),o=n._(e.r(71645)),c=e.r(90373),u=e.r(54394);e.r(33525);let l=e.r(8372);class s extends o.default.Component{constructor(e){super(e),this.state={triggeredStatus:void 0,previousPathname:e.pathname}}componentDidCatch(){}static getDerivedStateFromError(e){if((0,u.isHTTPAccessFallbackError)(e))return{triggeredStatus:(0,u.getAccessFallbackHTTPStatus)(e)};throw e}static getDerivedStateFromProps(e,r){return e.pathname!==r.previousPathname&&r.triggeredStatus?{triggeredStatus:void 0,previousPathname:e.pathname}:{triggeredStatus:r.triggeredStatus,previousPathname:e.pathname}}render(){let{notFound:e,forbidden:r,unauthorized:t,children:n}=this.props,{triggeredStatus:o}=this.state,c={[u.HTTPAccessErrorStatus.NOT_FOUND]:e,[u.HTTPAccessErrorStatus.FORBIDDEN]:r,[u.HTTPAccessErrorStatus.UNAUTHORIZED]:t};if(o){let l=o===u.HTTPAccessErrorStatus.NOT_FOUND&&e,s=o===u.HTTPAccessErrorStatus.FORBIDDEN&&r,i=o===u.HTTPAccessErrorStatus.UNAUTHORIZED&&t;return l||s||i?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("meta",{name:"robots",content:"noindex"}),!1,c[o]]}):n}return n}}function i({notFound:e,forbidden:r,unauthorized:t,children:n}){let u=(0,c.useUntrackedPathname)(),i=(0,o.useContext)(l.MissingSlotContext);return e||r||t?(0,a.jsx)(s,{pathname:u,notFound:e,forbidden:r,unauthorized:t,missingSlots:i,children:n}):(0,a.jsx)(a.Fragment,{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),r.exports=t.default)},91798,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useRouterBFCache",{enumerable:!0,get:function(){return a}});let n=e.r(71645);function a(e,r){let[t,a]=(0,n.useState)(()=>({tree:e,stateKey:r,next:null}));if(t.tree===e)return t;let o={tree:e,stateKey:r,next:null},c=1,u=t,l=o;for(;null!==u&&c<1;){if(u.stateKey===r){l.next=u.next;break}{c++;let e={tree:u.tree,stateKey:u.stateKey,next:null};l.next=e,l=e}u=u.next}return a(o),o}("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),r.exports=t.default)},39756,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return T}});let n=e.r(55682),a=e.r(90809),o=e.r(43476),c=e.r(88540),u=a._(e.r(71645)),l=n._(e.r(74080)),s=e.r(8372),i=e.r(87288),d=e.r(1244),f=e.r(72383),p=e.r(56019),h=e.r(91915),m=e.r(58442),g=e.r(68017),y=e.r(70725),b=e.r(84356),P=e.r(41538),_=e.r(91798);e.r(74180);let v=e.r(61994),O=e.r(33906),S=l.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,E=["bottom","height","left","right","top","width","x","y"];function R(e,r){let t=e.getBoundingClientRect();return t.top>=0&&t.top<=r}class j extends u.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...e){super(...e),this.handlePotentialScroll=()=>{let{focusAndScrollRef:e,segmentPath:r}=this.props;if(e.apply){if(0!==e.segmentPaths.length&&!e.segmentPaths.some(e=>r.every((r,t)=>(0,p.matchSegment)(r,e[t]))))return;let t=null,n=e.hashFragment;if(n&&(t="top"===n?document.body:document.getElementById(n)??document.getElementsByName(n)[0]),t||(t="undefined"==typeof window?null:(0,S.findDOMNode)(this)),!(t instanceof Element))return;for(;!(t instanceof HTMLElement)||function(e){if(["sticky","fixed"].includes(getComputedStyle(e).position))return!0;let r=e.getBoundingClientRect();return E.every(e=>0===r[e])}(t);){if(null===t.nextElementSibling)return;t=t.nextElementSibling}e.apply=!1,e.hashFragment=null,e.segmentPaths=[],(0,h.disableSmoothScrollDuringRouteTransition)(()=>{if(n)return void t.scrollIntoView();let e=document.documentElement,r=e.clientHeight;!R(t,r)&&(e.scrollTop=0,R(t,r)||t.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:e.onlyHashChange}),e.onlyHashChange=!1,t.focus()}}}}function w({segmentPath:e,children:r}){let t=(0,u.useContext)(s.GlobalLayoutRouterContext);if(!t)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});return(0,o.jsx)(j,{segmentPath:e,focusAndScrollRef:t.focusAndScrollRef,children:r})}function C({tree:e,segmentPath:r,debugNameContext:t,cacheNode:n,params:a,url:l,isActive:f}){let h=(0,u.useContext)(s.GlobalLayoutRouterContext);if((0,u.useContext)(v.NavigationPromisesContext),!h)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});let{tree:m}=h,g=null!==n.prefetchRsc?n.prefetchRsc:n.rsc,y=(0,u.useDeferredValue)(n.rsc,g),_="object"==typeof y&&null!==y&&"function"==typeof y.then?(0,u.use)(y):y;if(!_){if(f){let e=n.lazyData;if(null===e){let t=function e(r,t){if(r){let[n,a]=r,o=2===r.length;if((0,p.matchSegment)(t[0],n)&&t[1].hasOwnProperty(a)){if(o){let r=e(void 0,t[1][a]);return[t[0],{...t[1],[a]:[r[0],r[1],r[2],"refetch"]}]}return[t[0],{...t[1],[a]:e(r.slice(2),t[1][a])}]}}return t}(["",...r],m),a=(0,b.hasInterceptionRouteInCurrentTree)(m),o=Date.now();n.lazyData=e=(0,i.fetchServerResponse)(new URL(l,location.origin),{flightRouterState:t,nextUrl:a?h.previousNextUrl||h.nextUrl:null}).then(e=>((0,u.startTransition)(()=>{(0,P.dispatchAppRouterAction)({type:c.ACTION_SERVER_PATCH,previousTree:m,serverResponse:e,navigatedAt:o})}),e)),(0,u.use)(e)}}(0,u.use)(d.unresolvedThenable)}return(0,o.jsx)(s.LayoutRouterContext.Provider,{value:{parentTree:e,parentCacheNode:n,parentSegmentPath:r,parentParams:a,debugNameContext:t,url:l,isActive:f},children:_})}function x({name:e,loading:r,children:t}){let n;if(n="object"==typeof r&&null!==r&&"function"==typeof r.then?(0,u.use)(r):r){let r=n[0],a=n[1],c=n[2];return(0,o.jsx)(u.Suspense,{name:e,fallback:(0,o.jsxs)(o.Fragment,{children:[a,c,r]}),children:t})}return(0,o.jsx)(o.Fragment,{children:t})}function T({parallelRouterKey:e,error:r,errorStyles:t,errorScripts:n,templateStyles:a,templateScripts:c,template:l,notFound:i,forbidden:d,unauthorized:p,segmentViewBoundaries:h}){let b=(0,u.useContext)(s.LayoutRouterContext);if(!b)throw Object.defineProperty(Error("invariant expected layout router to be mounted"),"__NEXT_ERROR_CODE",{value:"E56",enumerable:!1,configurable:!0});let{parentTree:P,parentCacheNode:v,parentSegmentPath:S,parentParams:E,url:R,isActive:j,debugNameContext:T}=b,A=v.parallelRoutes,M=A.get(e);M||(M=new Map,A.set(e,M));let F=P[0],D=null===S?[e]:S.concat([F,e]),k=P[1][e],N=k[0],I=(0,y.createRouterCacheKey)(N,!0),U=(0,_.useRouterBFCache)(k,I),H=[];do{let e=U.tree,u=U.stateKey,h=e[0],b=(0,y.createRouterCacheKey)(h),P=M.get(b);if(void 0===P){let e={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:-1};P=e,M.set(b,e)}let _=E;if(Array.isArray(h)){let e=h[0],r=h[1],t=h[2],n=(0,O.getParamValueFromCacheKey)(r,t);null!==n&&(_={...E,[e]:n})}let S=function(e){if("/"===e)return"/";if("string"==typeof e)if("(slot)"===e)return;else return e+"/";return e[1]+"/"}(h),A=S??T,F=void 0===S?void 0:T,k=v.loading,N=(0,o.jsxs)(s.TemplateContext.Provider,{value:(0,o.jsxs)(w,{segmentPath:D,children:[(0,o.jsx)(f.ErrorBoundary,{errorComponent:r,errorStyles:t,errorScripts:n,children:(0,o.jsx)(x,{name:F,loading:k,children:(0,o.jsx)(g.HTTPAccessFallbackBoundary,{notFound:i,forbidden:d,unauthorized:p,children:(0,o.jsxs)(m.RedirectBoundary,{children:[(0,o.jsx)(C,{url:R,tree:e,params:_,cacheNode:P,segmentPath:D,debugNameContext:A,isActive:j&&u===I}),null]})})})}),null]}),children:[a,c,l]},u);H.push(N),U=U.next}while(null!==U)return H}("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),r.exports=t.default)},37457,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let n=e.r(90809),a=e.r(43476),o=n._(e.r(71645)),c=e.r(8372);function u(){let e=(0,o.useContext)(c.TemplateContext);return(0,a.jsx)(a.Fragment,{children: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),r.exports=t.default)},93504,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return a}});let n=new WeakMap;function a(e){let r=n.get(e);if(r)return r;let t=Promise.resolve(e);return n.set(e,t),t}("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),r.exports=t.default)},66996,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return n}});let n=e.r(93504).createRenderSearchParamsFromClient;("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),r.exports=t.default)},6831,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRenderParamsFromClient",{enumerable:!0,get:function(){return a}});let n=new WeakMap;function a(e){let r=n.get(e);if(r)return r;let t=Promise.resolve(e);return n.set(e,t),t}("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),r.exports=t.default)},97689,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRenderParamsFromClient",{enumerable:!0,get:function(){return n}});let n=e.r(6831).createRenderParamsFromClient;("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),r.exports=t.default)},42715,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ReflectAdapter",{enumerable:!0,get:function(){return n}});class n{static get(e,r,t){let n=Reflect.get(e,r,t);return"function"==typeof n?n.bind(e):n}static set(e,r,t,n){return Reflect.set(e,r,t,n)}static has(e,r){return Reflect.has(e,r)}static deleteProperty(e,r){return Reflect.deleteProperty(e,r)}}},76361,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return l}});let n=function(e,r){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a(void 0);if(t&&t.has(e))return t.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in e)if("default"!==c&&Object.prototype.hasOwnProperty.call(e,c)){var u=o?Object.getOwnPropertyDescriptor(e,c):null;u&&(u.get||u.set)?Object.defineProperty(n,c,u):n[c]=e[c]}return n.default=e,t&&t.set(e,n),n}(e.r(71645));function a(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap,t=new WeakMap;return(a=function(e){return e?t:r})(e)}let o={current:null},c="function"==typeof n.cache?n.cache:e=>e,u=console.warn;function l(e){return function(...r){u(e(...r))}}c(e=>{try{u(o.current)}finally{o.current=null}})},65932,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={describeHasCheckingStringProperty:function(){return u},describeStringPropertyAccess:function(){return c},wellKnownProperties:function(){return l}};for(var a in n)Object.defineProperty(t,a,{enumerable:!0,get:n[a]});let o=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function c(e,r){return o.test(r)?`\`${e}.${r}\``:`\`${e}[${JSON.stringify(r)}]\``}function u(e,r){let t=JSON.stringify(r);return`\`Reflect.has(${e}, ${t})\`, \`${t} in ${e}\`, or similar`}let l=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","_debugInfo","toJSON","$$typeof","__esModule"])},83066,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"afterTaskAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},41643,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"afterTaskAsyncStorage",{enumerable:!0,get:function(){return n.afterTaskAsyncStorageInstance}});let n=e.r(83066)},50999,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={isRequestAPICallableInsideAfter:function(){return s},throwForSearchParamsAccessInUseCache:function(){return l},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return u}};for(var a in n)Object.defineProperty(t,a,{enumerable:!0,get:n[a]});let o=e.r(43248),c=e.r(41643);function u(e,r){throw Object.defineProperty(new o.StaticGenBailoutError(`Route ${e} with \`dynamic = "error"\` couldn't be rendered statically because it used ${r}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function l(e,r){let t=Object.defineProperty(Error(`Route ${e.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(t,r),e.invalidDynamicUsageError??=t,t}function s(){let e=c.afterTaskAsyncStorage.getStore();return(null==e?void 0:e.rootTaskSpawnPhase)==="action"}},69882,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={createPrerenderSearchParamsForClientPage:function(){return g},createSearchParamsFromClient:function(){return p},createServerSearchParamsForMetadata:function(){return h},createServerSearchParamsForServerPage:function(){return m},makeErroringSearchParamsForUseCache:function(){return v}};for(var a in n)Object.defineProperty(t,a,{enumerable:!0,get:n[a]});let o=e.r(42715),c=e.r(67673),u=e.r(62141),l=e.r(12718),s=e.r(63138),i=e.r(76361),d=e.r(65932),f=e.r(50999);function p(e,r){let t=u.workUnitAsyncStorage.getStore();if(t)switch(t.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return y(r,t);case"prerender-runtime":throw Object.defineProperty(new l.InvariantError("createSearchParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E769",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new l.InvariantError("createSearchParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E739",enumerable:!1,configurable:!0});case"request":return b(e,r,t)}(0,u.throwInvariantForMissingStore)()}e.r(42852);let h=m;function m(e,r){let t=u.workUnitAsyncStorage.getStore();if(t)switch(t.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return y(r,t);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new l.InvariantError("createServerSearchParamsForServerPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E747",enumerable:!1,configurable:!0});case"prerender-runtime":var n,a;return n=e,a=t,(0,c.delayUntilRuntimeStage)(a,O(n));case"request":return b(e,r,t)}(0,u.throwInvariantForMissingStore)()}function g(e){if(e.forceStatic)return Promise.resolve({});let r=u.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":return(0,s.makeHangingPromise)(r.renderSignal,e.route,"`searchParams`");case"prerender-runtime":throw Object.defineProperty(new l.InvariantError("createPrerenderSearchParamsForClientPage should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E768",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new l.InvariantError("createPrerenderSearchParamsForClientPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E746",enumerable:!1,configurable:!0});case"prerender-ppr":case"prerender-legacy":case"request":return Promise.resolve({})}(0,u.throwInvariantForMissingStore)()}function y(e,r){if(e.forceStatic)return Promise.resolve({});switch(r.type){case"prerender":case"prerender-client":var t=e,n=r;let a=P.get(n);if(a)return a;let u=(0,s.makeHangingPromise)(n.renderSignal,t.route,"`searchParams`"),l=new Proxy(u,{get(e,r,t){if(Object.hasOwn(u,r))return o.ReflectAdapter.get(e,r,t);switch(r){case"then":return(0,c.annotateDynamicAccess)("`await searchParams`, `searchParams.then`, or similar",n),o.ReflectAdapter.get(e,r,t);case"status":return(0,c.annotateDynamicAccess)("`use(searchParams)`, `searchParams.status`, or similar",n),o.ReflectAdapter.get(e,r,t);default:return o.ReflectAdapter.get(e,r,t)}}});return P.set(n,l),l;case"prerender-ppr":case"prerender-legacy":var i=e,d=r;let p=P.get(i);if(p)return p;let h=Promise.resolve({}),m=new Proxy(h,{get(e,r,t){if(Object.hasOwn(h,r))return o.ReflectAdapter.get(e,r,t);if("string"==typeof r&&"then"===r){let e="`await searchParams`, `searchParams.then`, or similar";i.dynamicShouldError?(0,f.throwWithStaticGenerationBailoutErrorWithDynamicError)(i.route,e):"prerender-ppr"===d.type?(0,c.postponeWithTracking)(i.route,e,d.dynamicTracking):(0,c.throwToInterruptStaticGeneration)(e,i,d)}return o.ReflectAdapter.get(e,r,t)}});return P.set(i,m),m;default:return r}}function b(e,r,t){return r.forceStatic?Promise.resolve({}):O(e)}let P=new WeakMap,_=new WeakMap;function v(e){let r=_.get(e);if(r)return r;let t=Promise.resolve({}),n=new Proxy(t,{get:function r(n,a,c){return Object.hasOwn(t,a)||"string"!=typeof a||"then"!==a&&d.wellKnownProperties.has(a)||(0,f.throwForSearchParamsAccessInUseCache)(e,r),o.ReflectAdapter.get(n,a,c)}});return _.set(e,n),n}function O(e){let r=P.get(e);if(r)return r;let t=Promise.resolve(e);return P.set(e,t),t}(0,i.createDedupedByCallsiteServerErrorLoggerDev)(function(e,r){let t=e?`Route "${e}" `:"This route ";return Object.defineProperty(Error(`${t}used ${r}. \`searchParams\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E848",enumerable:!1,configurable:!0})})},74804,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"dynamicAccessAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},88276,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"dynamicAccessAsyncStorage",{enumerable:!0,get:function(){return n.dynamicAccessAsyncStorageInstance}});let n=e.r(74804)},41489,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={createParamsFromClient:function(){return h},createPrerenderParamsForClientSegment:function(){return b},createServerParamsForMetadata:function(){return m},createServerParamsForRoute:function(){return g},createServerParamsForServerSegment:function(){return y}};for(var a in n)Object.defineProperty(t,a,{enumerable:!0,get:n[a]});let o=e.r(63599),c=e.r(42715),u=e.r(67673),l=e.r(62141),s=e.r(12718),i=e.r(65932),d=e.r(63138),f=e.r(76361),p=e.r(88276);function h(e,r){let t=l.workUnitAsyncStorage.getStore();if(t)switch(t.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return P(e,r,t);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new s.InvariantError("createParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E736",enumerable:!1,configurable:!0});case"prerender-runtime":throw Object.defineProperty(new s.InvariantError("createParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E770",enumerable:!1,configurable:!0});case"request":return S(e)}(0,l.throwInvariantForMissingStore)()}e.r(42852);let m=y;function g(e,r){let t=l.workUnitAsyncStorage.getStore();if(t)switch(t.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return P(e,r,t);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new s.InvariantError("createServerParamsForRoute should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E738",enumerable:!1,configurable:!0});case"prerender-runtime":return _(e,t);case"request":return S(e)}(0,l.throwInvariantForMissingStore)()}function y(e,r){let t=l.workUnitAsyncStorage.getStore();if(t)switch(t.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return P(e,r,t);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new s.InvariantError("createServerParamsForServerSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E743",enumerable:!1,configurable:!0});case"prerender-runtime":return _(e,t);case"request":return S(e)}(0,l.throwInvariantForMissingStore)()}function b(e){let r=o.workAsyncStorage.getStore();if(!r)throw Object.defineProperty(new s.InvariantError("Missing workStore in createPrerenderParamsForClientSegment"),"__NEXT_ERROR_CODE",{value:"E773",enumerable:!1,configurable:!0});let t=l.workUnitAsyncStorage.getStore();if(t)switch(t.type){case"prerender":case"prerender-client":let n=t.fallbackRouteParams;if(n){for(let a in e)if(n.has(a))return(0,d.makeHangingPromise)(t.renderSignal,r.route,"`params`")}break;case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new s.InvariantError("createPrerenderParamsForClientSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E734",enumerable:!1,configurable:!0})}return Promise.resolve(e)}function P(e,r,t){switch(t.type){case"prerender":case"prerender-client":{let n=t.fallbackRouteParams;if(n){for(let a in e)if(n.has(a))return function(e,r,t){let n=v.get(e);if(n)return n;let a=new Proxy((0,d.makeHangingPromise)(t.renderSignal,r.route,"`params`"),O);return v.set(e,a),a}(e,r,t)}break}case"prerender-ppr":{let n=t.fallbackRouteParams;if(n){for(let a in e)if(n.has(a))return function(e,r,t,n){let a=v.get(e);if(a)return a;let o={...e},c=Promise.resolve(o);return v.set(e,c),Object.keys(e).forEach(e=>{i.wellKnownProperties.has(e)||r.has(e)&&Object.defineProperty(o,e,{get(){let r=(0,i.describeStringPropertyAccess)("params",e);"prerender-ppr"===n.type?(0,u.postponeWithTracking)(t.route,r,n.dynamicTracking):(0,u.throwToInterruptStaticGeneration)(r,t,n)},enumerable:!0})}),c}(e,n,r,t)}}}return S(e)}function _(e,r){return(0,u.delayUntilRuntimeStage)(r,S(e))}let v=new WeakMap,O={get:function(e,r,t){if("then"===r||"catch"===r||"finally"===r){let n=c.ReflectAdapter.get(e,r,t);return({[r]:(...r)=>{let t=p.dynamicAccessAsyncStorage.getStore();return t&&t.abortController.abort(Object.defineProperty(Error("Accessed fallback `params` during prerendering."),"__NEXT_ERROR_CODE",{value:"E691",enumerable:!1,configurable:!0})),new Proxy(n.apply(e,r),O)}})[r]}return c.ReflectAdapter.get(e,r,t)}};function S(e){let r=v.get(e);if(r)return r;let t=Promise.resolve(e);return v.set(e,t),t}(0,f.createDedupedByCallsiteServerErrorLoggerDev)(function(e,r){let t=e?`Route "${e}" `:"This route ";return Object.defineProperty(Error(`${t}used ${r}. \`params\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E834",enumerable:!1,configurable:!0})})},47257,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ClientPageRoot",{enumerable:!0,get:function(){return s}});let n=e.r(43476),a=e.r(12718),o=e.r(8372),c=e.r(71645),u=e.r(33906),l=e.r(61994);function s({Component:r,serverProvidedParams:t}){let s,i;if(null!==t)s=t.searchParams,i=t.params;else{let e=(0,c.use)(o.LayoutRouterContext);i=null!==e?e.parentParams:{},s=(0,u.urlSearchParamsToParsedUrlQuery)((0,c.use)(l.SearchParamsContext))}if("undefined"==typeof window){let t,o,{workAsyncStorage:c}=e.r(63599),u=c.getStore();if(!u)throw Object.defineProperty(new a.InvariantError("Expected workStore to exist when handling searchParams in a client Page."),"__NEXT_ERROR_CODE",{value:"E564",enumerable:!1,configurable:!0});let{createSearchParamsFromClient:l}=e.r(69882);t=l(s,u);let{createParamsFromClient:d}=e.r(41489);return o=d(i,u),(0,n.jsx)(r,{params:o,searchParams:t})}{let{createRenderSearchParamsFromClient:t}=e.r(66996),a=t(s),{createRenderParamsFromClient:o}=e.r(97689),c=o(i);return(0,n.jsx)(r,{params:c,searchParams:a})}}("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),r.exports=t.default)},92825,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ClientSegmentRoot",{enumerable:!0,get:function(){return u}});let n=e.r(43476),a=e.r(12718),o=e.r(8372),c=e.r(71645);function u({Component:r,slots:t,serverProvidedParams:u}){let l;if(null!==u)l=u.params;else{let e=(0,c.use)(o.LayoutRouterContext);l=null!==e?e.parentParams:{}}if("undefined"==typeof window){let o,{workAsyncStorage:c}=e.r(63599),u=c.getStore();if(!u)throw Object.defineProperty(new a.InvariantError("Expected workStore to exist when handling params in a client segment such as a Layout or Template."),"__NEXT_ERROR_CODE",{value:"E600",enumerable:!1,configurable:!0});let{createParamsFromClient:s}=e.r(41489);return o=s(l,u),(0,n.jsx)(r,{...t,params:o})}{let{createRenderParamsFromClient:a}=e.r(97689),o=a(l);return(0,n.jsx)(r,{...t,params:o})}}("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),r.exports=t.default)},27201,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"IconMark",{enumerable:!0,get:function(){return a}});let n=e.r(43476),a=()=>"undefined"!=typeof window?null:(0,n.jsx)("meta",{name:"«nxt-icon»"})}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,78784,e=>{"use strict";var t=e.i(78745);e.s(["CheckIcon",()=>t.default])},99219,e=>{"use strict";let t=(0,e.i(75254).default)("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);e.s(["default",()=>t])},78745,e=>{"use strict";let t=(0,e.i(75254).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t])},31171,e=>{"use strict";let t=(0,e.i(75254).default)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["default",()=>t])},75830,86318,e=>{"use strict";var t=e.i(71645),r=e.i(30030),n=e.i(20783),o=e.i(91918),l=e.i(43476);function a(e){let a=e+"CollectionProvider",[i,s]=(0,r.createContextScope)(a),[d,c]=i(a,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:r,children:n}=e,o=t.default.useRef(null),a=t.default.useRef(new Map).current;return(0,l.jsx)(d,{scope:r,itemMap:a,collectionRef:o,children:n})};u.displayName=a;let p=e+"CollectionSlot",f=t.default.forwardRef((e,t)=>{let{scope:r,children:a}=e,i=c(p,r),s=(0,n.useComposedRefs)(t,i.collectionRef);return(0,l.jsx)(o.Slot,{ref:s,children:a})});f.displayName=p;let m=e+"CollectionItemSlot",v="data-radix-collection-item",h=t.default.forwardRef((e,r)=>{let{scope:a,children:i,...s}=e,d=t.default.useRef(null),u=(0,n.useComposedRefs)(r,d),p=c(m,a);return t.default.useEffect(()=>(p.itemMap.set(d,{ref:d,...s}),()=>void p.itemMap.delete(d))),(0,l.jsx)(o.Slot,{...{[v]:""},ref:u,children:i})});return h.displayName=m,[{Provider:u,Slot:f,ItemSlot:h},function(r){let n=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${v}]`));return Array.from(n.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[n.collectionRef,n.itemMap])},s]}e.s(["createCollection",()=>a],75830);var i=t.createContext(void 0);function s(e){let r=t.useContext(i);return e||r||"ltr"}e.s(["useDirection",()=>s],86318)},62870,70152,9797,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(74080);function o(e,[t,r]){return Math.min(r,Math.max(t,e))}e.s(["clamp",()=>o],70152);var l=e.i(81140),a=e.i(75830),i=e.i(20783),s=e.i(30030),d=e.i(86318),c=e.i(26330),u=e.i(3536),p=e.i(65491),f=e.i(10772),m=e.i(53660),v=e.i(74606),h=e.i(48425),x=e.i(91918),g=e.i(30207),w=e.i(69340),y=e.i(34620),b=e.i(99682),C=e.i(59411),S=e.i(86312),j=e.i(85369),R=[" ","Enter","ArrowUp","ArrowDown"],E=[" ","Enter"],P="Select",[k,T,I]=(0,a.createCollection)(P),[N,H]=(0,s.createContextScope)(P,[I,m.createPopperScope]),D=(0,m.createPopperScope)(),[M,L]=N(P),[A,_]=N(P),z=e=>{let{__scopeSelect:n,children:o,open:l,defaultOpen:a,onOpenChange:i,value:s,defaultValue:c,onValueChange:u,dir:p,name:v,autoComplete:h,disabled:x,required:g,form:y}=e,b=D(n),[C,S]=r.useState(null),[j,R]=r.useState(null),[E,P]=r.useState(!1),T=(0,d.useDirection)(p),[I=!1,N]=(0,w.useControllableState)({prop:l,defaultProp:a,onChange:i}),[H,L]=(0,w.useControllableState)({prop:s,defaultProp:c,onChange:u}),_=r.useRef(null),z=!C||y||!!C.closest("form"),[B,O]=r.useState(new Set),V=Array.from(B).map(e=>e.props.value).join(";");return(0,t.jsx)(m.Root,{...b,children:(0,t.jsxs)(M,{required:g,scope:n,trigger:C,onTriggerChange:S,valueNode:j,onValueNodeChange:R,valueNodeHasChildren:E,onValueNodeHasChildrenChange:P,contentId:(0,f.useId)(),value:H,onValueChange:L,open:I,onOpenChange:N,dir:T,triggerPointerDownPosRef:_,disabled:x,children:[(0,t.jsx)(k.Provider,{scope:n,children:(0,t.jsx)(A,{scope:e.__scopeSelect,onNativeOptionAdd:r.useCallback(e=>{O(t=>new Set(t).add(e))},[]),onNativeOptionRemove:r.useCallback(e=>{O(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:o})}),z?(0,t.jsxs)(eb,{"aria-hidden":!0,required:g,tabIndex:-1,name:v,autoComplete:h,value:H,onChange:e=>L(e.target.value),disabled:x,form:y,children:[void 0===H?(0,t.jsx)("option",{value:""}):null,Array.from(B)]},V):null]})})};z.displayName=P;var B="SelectTrigger",O=r.forwardRef((e,n)=>{let{__scopeSelect:o,disabled:a=!1,...s}=e,d=D(o),c=L(B,o),u=c.disabled||a,p=(0,i.useComposedRefs)(n,c.onTriggerChange),f=T(o),v=r.useRef("touch"),[x,g,w]=eC(e=>{let t=f().filter(e=>!e.disabled),r=t.find(e=>e.value===c.value),n=eS(t,e,r);void 0!==n&&c.onValueChange(n.value)}),y=e=>{u||(c.onOpenChange(!0),w()),e&&(c.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,t.jsx)(m.Anchor,{asChild:!0,...d,children:(0,t.jsx)(h.Primitive.button,{type:"button",role:"combobox","aria-controls":c.contentId,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":"none",dir:c.dir,"data-state":c.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":ey(c.value)?"":void 0,...s,ref:p,onClick:(0,l.composeEventHandlers)(s.onClick,e=>{e.currentTarget.focus(),"mouse"!==v.current&&y(e)}),onPointerDown:(0,l.composeEventHandlers)(s.onPointerDown,e=>{v.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(y(e),e.preventDefault())}),onKeyDown:(0,l.composeEventHandlers)(s.onKeyDown,e=>{let t=""!==x.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||g(e.key),(!t||" "!==e.key)&&R.includes(e.key)&&(y(),e.preventDefault())})})})});O.displayName=B;var V="SelectValue",K=r.forwardRef((e,r)=>{let{__scopeSelect:n,className:o,style:l,children:a,placeholder:s="",...d}=e,c=L(V,n),{onValueNodeHasChildrenChange:u}=c,p=void 0!==a,f=(0,i.useComposedRefs)(r,c.onValueNodeChange);return(0,y.useLayoutEffect)(()=>{u(p)},[u,p]),(0,t.jsx)(h.Primitive.span,{...d,ref:f,style:{pointerEvents:"none"},children:ey(c.value)?(0,t.jsx)(t.Fragment,{children:s}):a})});K.displayName=V;var F=r.forwardRef((e,r)=>{let{__scopeSelect:n,children:o,...l}=e;return(0,t.jsx)(h.Primitive.span,{"aria-hidden":!0,...l,ref:r,children:o||"▼"})});F.displayName="SelectIcon";var U=e=>(0,t.jsx)(v.Portal,{asChild:!0,...e});U.displayName="SelectPortal";var W="SelectContent",q=r.forwardRef((e,o)=>{let l=L(W,e.__scopeSelect),[a,i]=r.useState();return((0,y.useLayoutEffect)(()=>{i(new DocumentFragment)},[]),l.open)?(0,t.jsx)(Y,{...e,ref:o}):a?n.createPortal((0,t.jsx)(G,{scope:e.__scopeSelect,children:(0,t.jsx)(k.Slot,{scope:e.__scopeSelect,children:(0,t.jsx)("div",{children:e.children})})}),a):null});q.displayName=W;var[G,X]=N(W),Y=r.forwardRef((e,n)=>{let{__scopeSelect:o,position:a="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:d,onPointerDownOutside:f,side:m,sideOffset:v,align:h,alignOffset:g,arrowPadding:w,collisionBoundary:y,collisionPadding:b,sticky:C,hideWhenDetached:R,avoidCollisions:E,...P}=e,k=L(W,o),[I,N]=r.useState(null),[H,D]=r.useState(null),M=(0,i.useComposedRefs)(n,e=>N(e)),[A,_]=r.useState(null),[z,B]=r.useState(null),O=T(o),[V,K]=r.useState(!1),F=r.useRef(!1);r.useEffect(()=>{if(I)return(0,S.hideOthers)(I)},[I]),(0,u.useFocusGuards)();let U=r.useCallback(e=>{let[t,...r]=O().map(e=>e.ref.current),[n]=r.slice(-1),o=document.activeElement;for(let r of e)if(r===o||(r?.scrollIntoView({block:"nearest"}),r===t&&H&&(H.scrollTop=0),r===n&&H&&(H.scrollTop=H.scrollHeight),r?.focus(),document.activeElement!==o))return},[O,H]),q=r.useCallback(()=>U([A,I]),[U,A,I]);r.useEffect(()=>{V&&q()},[V,q]);let{onOpenChange:X,triggerPointerDownPosRef:Y}=k;r.useEffect(()=>{if(I){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(Y.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(Y.current?.y??0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():I.contains(r.target)||X(!1),document.removeEventListener("pointermove",t),Y.current=null};return null!==Y.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[I,X,Y]),r.useEffect(()=>{let e=()=>X(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[X]);let[J,Q]=eC(e=>{let t=O().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),n=eS(t,e,r);n&&setTimeout(()=>n.ref.current.focus())}),ee=r.useCallback((e,t,r)=>{let n=!F.current&&!r;(void 0!==k.value&&k.value===t||n)&&(_(e),n&&(F.current=!0))},[k.value]),et=r.useCallback(()=>I?.focus(),[I]),er=r.useCallback((e,t,r)=>{let n=!F.current&&!r;(void 0!==k.value&&k.value===t||n)&&B(e)},[k.value]),en="popper"===a?$:Z,eo=en===$?{side:m,sideOffset:v,align:h,alignOffset:g,arrowPadding:w,collisionBoundary:y,collisionPadding:b,sticky:C,hideWhenDetached:R,avoidCollisions:E}:{};return(0,t.jsx)(G,{scope:o,content:I,viewport:H,onViewportChange:D,itemRefCallback:ee,selectedItem:A,onItemLeave:et,itemTextRefCallback:er,focusSelectedItem:q,selectedItemText:z,position:a,isPositioned:V,searchRef:J,children:(0,t.jsx)(j.RemoveScroll,{as:x.Slot,allowPinchZoom:!0,children:(0,t.jsx)(p.FocusScope,{asChild:!0,trapped:k.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,l.composeEventHandlers)(s,e=>{k.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,t.jsx)(c.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>k.onOpenChange(!1),children:(0,t.jsx)(en,{role:"listbox",id:k.contentId,"data-state":k.open?"open":"closed",dir:k.dir,onContextMenu:e=>e.preventDefault(),...P,...eo,onPlaced:()=>K(!0),ref:M,style:{display:"flex",flexDirection:"column",outline:"none",...P.style},onKeyDown:(0,l.composeEventHandlers)(P.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||Q(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=O().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,n=t.indexOf(r);t=t.slice(n+1)}setTimeout(()=>U(t)),e.preventDefault()}})})})})})})});Y.displayName="SelectContentImpl";var Z=r.forwardRef((e,n)=>{let{__scopeSelect:l,onPlaced:a,...s}=e,d=L(W,l),c=X(W,l),[u,p]=r.useState(null),[f,m]=r.useState(null),v=(0,i.useComposedRefs)(n,e=>m(e)),x=T(l),g=r.useRef(!1),w=r.useRef(!0),{viewport:b,selectedItem:C,selectedItemText:S,focusSelectedItem:j}=c,R=r.useCallback(()=>{if(d.trigger&&d.valueNode&&u&&f&&b&&C&&S){let e=d.trigger.getBoundingClientRect(),t=f.getBoundingClientRect(),r=d.valueNode.getBoundingClientRect(),n=S.getBoundingClientRect();if("rtl"!==d.dir){let l=n.left-t.left,a=r.left-l,i=e.left-a,s=e.width+i,d=Math.max(s,t.width),c=o(a,[10,Math.max(10,window.innerWidth-10-d)]);u.style.minWidth=s+"px",u.style.left=c+"px"}else{let l=t.right-n.right,a=window.innerWidth-r.right-l,i=window.innerWidth-e.right-a,s=e.width+i,d=Math.max(s,t.width),c=o(a,[10,Math.max(10,window.innerWidth-10-d)]);u.style.minWidth=s+"px",u.style.right=c+"px"}let l=x(),i=window.innerHeight-20,s=b.scrollHeight,c=window.getComputedStyle(f),p=parseInt(c.borderTopWidth,10),m=parseInt(c.paddingTop,10),v=parseInt(c.borderBottomWidth,10),h=p+m+s+parseInt(c.paddingBottom,10)+v,w=Math.min(5*C.offsetHeight,h),y=window.getComputedStyle(b),j=parseInt(y.paddingTop,10),R=parseInt(y.paddingBottom,10),E=e.top+e.height/2-10,P=C.offsetHeight/2,k=p+m+(C.offsetTop+P);if(k<=E){let e=l.length>0&&C===l[l.length-1].ref.current;u.style.bottom="0px";let t=Math.max(i-E,P+(e?R:0)+(f.clientHeight-b.offsetTop-b.offsetHeight)+v);u.style.height=k+t+"px"}else{let e=l.length>0&&C===l[0].ref.current;u.style.top="0px";let t=Math.max(E,p+b.offsetTop+(e?j:0)+P);u.style.height=t+(h-k)+"px",b.scrollTop=k-E+b.offsetTop}u.style.margin="10px 0",u.style.minHeight=w+"px",u.style.maxHeight=i+"px",a?.(),requestAnimationFrame(()=>g.current=!0)}},[x,d.trigger,d.valueNode,u,f,b,C,S,d.dir,a]);(0,y.useLayoutEffect)(()=>R(),[R]);let[E,P]=r.useState();(0,y.useLayoutEffect)(()=>{f&&P(window.getComputedStyle(f).zIndex)},[f]);let k=r.useCallback(e=>{e&&!0===w.current&&(R(),j?.(),w.current=!1)},[R,j]);return(0,t.jsx)(J,{scope:l,contentWrapper:u,shouldExpandOnScrollRef:g,onScrollButtonChange:k,children:(0,t.jsx)("div",{ref:p,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:E},children:(0,t.jsx)(h.Primitive.div,{...s,ref:v,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});Z.displayName="SelectItemAlignedPosition";var $=r.forwardRef((e,r)=>{let{__scopeSelect:n,align:o="start",collisionPadding:l=10,...a}=e,i=D(n);return(0,t.jsx)(m.Content,{...i,...a,ref:r,align:o,collisionPadding:l,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});$.displayName="SelectPopperPosition";var[J,Q]=N(W,{}),ee="SelectViewport",et=r.forwardRef((e,n)=>{let{__scopeSelect:o,nonce:a,...s}=e,d=X(ee,o),c=Q(ee,o),u=(0,i.useComposedRefs)(n,d.onViewportChange),p=r.useRef(0);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),(0,t.jsx)(k.Slot,{scope:o,children:(0,t.jsx)(h.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:(0,l.composeEventHandlers)(s.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:n}=c;if(n?.current&&r){let e=Math.abs(p.current-t.scrollTop);if(e>0){let n=window.innerHeight-20,o=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(o<n){let l=o+e,a=Math.min(n,l),i=l-a;r.style.height=a+"px","0px"===r.style.bottom&&(t.scrollTop=i>0?i:0,r.style.justifyContent="flex-end")}}}p.current=t.scrollTop})})})]})});et.displayName=ee;var er="SelectGroup",[en,eo]=N(er);r.forwardRef((e,r)=>{let{__scopeSelect:n,...o}=e,l=(0,f.useId)();return(0,t.jsx)(en,{scope:n,id:l,children:(0,t.jsx)(h.Primitive.div,{role:"group","aria-labelledby":l,...o,ref:r})})}).displayName=er;var el="SelectLabel";r.forwardRef((e,r)=>{let{__scopeSelect:n,...o}=e,l=eo(el,n);return(0,t.jsx)(h.Primitive.div,{id:l.id,...o,ref:r})}).displayName=el;var ea="SelectItem",[ei,es]=N(ea),ed=r.forwardRef((e,n)=>{let{__scopeSelect:o,value:a,disabled:s=!1,textValue:d,...c}=e,u=L(ea,o),p=X(ea,o),m=u.value===a,[v,x]=r.useState(d??""),[g,w]=r.useState(!1),y=(0,i.useComposedRefs)(n,e=>p.itemRefCallback?.(e,a,s)),b=(0,f.useId)(),C=r.useRef("touch"),S=()=>{s||(u.onValueChange(a),u.onOpenChange(!1))};if(""===a)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,t.jsx)(ei,{scope:o,value:a,disabled:s,textId:b,isSelected:m,onItemTextChange:r.useCallback(e=>{x(t=>t||(e?.textContent??"").trim())},[]),children:(0,t.jsx)(k.ItemSlot,{scope:o,value:a,disabled:s,textValue:v,children:(0,t.jsx)(h.Primitive.div,{role:"option","aria-labelledby":b,"data-highlighted":g?"":void 0,"aria-selected":m&&g,"data-state":m?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...c,ref:y,onFocus:(0,l.composeEventHandlers)(c.onFocus,()=>w(!0)),onBlur:(0,l.composeEventHandlers)(c.onBlur,()=>w(!1)),onClick:(0,l.composeEventHandlers)(c.onClick,()=>{"mouse"!==C.current&&S()}),onPointerUp:(0,l.composeEventHandlers)(c.onPointerUp,()=>{"mouse"===C.current&&S()}),onPointerDown:(0,l.composeEventHandlers)(c.onPointerDown,e=>{C.current=e.pointerType}),onPointerMove:(0,l.composeEventHandlers)(c.onPointerMove,e=>{C.current=e.pointerType,s?p.onItemLeave?.():"mouse"===C.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,l.composeEventHandlers)(c.onPointerLeave,e=>{e.currentTarget===document.activeElement&&p.onItemLeave?.()}),onKeyDown:(0,l.composeEventHandlers)(c.onKeyDown,e=>{(p.searchRef?.current===""||" "!==e.key)&&(E.includes(e.key)&&S()," "===e.key&&e.preventDefault())})})})})});ed.displayName=ea;var ec="SelectItemText",eu=r.forwardRef((e,o)=>{let{__scopeSelect:l,className:a,style:s,...d}=e,c=L(ec,l),u=X(ec,l),p=es(ec,l),f=_(ec,l),[m,v]=r.useState(null),x=(0,i.useComposedRefs)(o,e=>v(e),p.onItemTextChange,e=>u.itemTextRefCallback?.(e,p.value,p.disabled)),g=m?.textContent,w=r.useMemo(()=>(0,t.jsx)("option",{value:p.value,disabled:p.disabled,children:g},p.value),[p.disabled,p.value,g]),{onNativeOptionAdd:b,onNativeOptionRemove:C}=f;return(0,y.useLayoutEffect)(()=>(b(w),()=>C(w)),[b,C,w]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(h.Primitive.span,{id:p.textId,...d,ref:x}),p.isSelected&&c.valueNode&&!c.valueNodeHasChildren?n.createPortal(d.children,c.valueNode):null]})});eu.displayName=ec;var ep="SelectItemIndicator",ef=r.forwardRef((e,r)=>{let{__scopeSelect:n,...o}=e;return es(ep,n).isSelected?(0,t.jsx)(h.Primitive.span,{"aria-hidden":!0,...o,ref:r}):null});ef.displayName=ep;var em="SelectScrollUpButton",ev=r.forwardRef((e,n)=>{let o=X(em,e.__scopeSelect),l=Q(em,e.__scopeSelect),[a,s]=r.useState(!1),d=(0,i.useComposedRefs)(n,l.onScrollButtonChange);return(0,y.useLayoutEffect)(()=>{if(o.viewport&&o.isPositioned){let e=function(){s(t.scrollTop>0)},t=o.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[o.viewport,o.isPositioned]),a?(0,t.jsx)(eg,{...e,ref:d,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=o;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});ev.displayName=em;var eh="SelectScrollDownButton",ex=r.forwardRef((e,n)=>{let o=X(eh,e.__scopeSelect),l=Q(eh,e.__scopeSelect),[a,s]=r.useState(!1),d=(0,i.useComposedRefs)(n,l.onScrollButtonChange);return(0,y.useLayoutEffect)(()=>{if(o.viewport&&o.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;s(Math.ceil(t.scrollTop)<e)},t=o.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[o.viewport,o.isPositioned]),a?(0,t.jsx)(eg,{...e,ref:d,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=o;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});ex.displayName=eh;var eg=r.forwardRef((e,n)=>{let{__scopeSelect:o,onAutoScroll:a,...i}=e,s=X("SelectScrollButton",o),d=r.useRef(null),c=T(o),u=r.useCallback(()=>{null!==d.current&&(window.clearInterval(d.current),d.current=null)},[]);return r.useEffect(()=>()=>u(),[u]),(0,y.useLayoutEffect)(()=>{let e=c().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[c]),(0,t.jsx)(h.Primitive.div,{"aria-hidden":!0,...i,ref:n,style:{flexShrink:0,...i.style},onPointerDown:(0,l.composeEventHandlers)(i.onPointerDown,()=>{null===d.current&&(d.current=window.setInterval(a,50))}),onPointerMove:(0,l.composeEventHandlers)(i.onPointerMove,()=>{s.onItemLeave?.(),null===d.current&&(d.current=window.setInterval(a,50))}),onPointerLeave:(0,l.composeEventHandlers)(i.onPointerLeave,()=>{u()})})});r.forwardRef((e,r)=>{let{__scopeSelect:n,...o}=e;return(0,t.jsx)(h.Primitive.div,{"aria-hidden":!0,...o,ref:r})}).displayName="SelectSeparator";var ew="SelectArrow";function ey(e){return""===e||void 0===e}r.forwardRef((e,r)=>{let{__scopeSelect:n,...o}=e,l=D(n),a=L(ew,n),i=X(ew,n);return a.open&&"popper"===i.position?(0,t.jsx)(m.Arrow,{...l,...o,ref:r}):null}).displayName=ew;var eb=r.forwardRef((e,n)=>{let{value:o,...l}=e,a=r.useRef(null),s=(0,i.useComposedRefs)(n,a),d=(0,b.usePrevious)(o);return r.useEffect(()=>{let e=a.current,t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(d!==o&&t){let r=new Event("change",{bubbles:!0});t.call(e,o),e.dispatchEvent(r)}},[d,o]),(0,t.jsx)(C.VisuallyHidden,{asChild:!0,children:(0,t.jsx)("select",{...l,ref:s,defaultValue:o})})});function eC(e){let t=(0,g.useCallbackRef)(e),n=r.useRef(""),o=r.useRef(0),l=r.useCallback(e=>{let r=n.current+e;t(r),function e(t){n.current=t,window.clearTimeout(o.current),""!==t&&(o.current=window.setTimeout(()=>e(""),1e3))}(r)},[t]),a=r.useCallback(()=>{n.current="",window.clearTimeout(o.current)},[]);return r.useEffect(()=>()=>window.clearTimeout(o.current),[]),[n,l,a]}function eS(e,t,r){var n,o;let l=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,a=r?e.indexOf(r):-1,i=(n=e,o=Math.max(a,0),n.map((e,t)=>n[(o+t)%n.length]));1===l.length&&(i=i.filter(e=>e!==r));let s=i.find(e=>e.textValue.toLowerCase().startsWith(l.toLowerCase()));return s!==r?s:void 0}eb.displayName="BubbleSelect";var ej=e.i(78784),eR=e.i(31171);e.s(["ChevronDownIcon",()=>eR.default],9797);var eR=eR,eE=e.i(99219),eE=eE,eP=e.i(47163);function ek({...e}){return(0,t.jsx)(z,{"data-slot":"select",...e})}function eT({...e}){return(0,t.jsx)(K,{"data-slot":"select-value",...e})}function eI({className:e,size:r="default",children:n,...o}){return(0,t.jsxs)(O,{"data-slot":"select-trigger","data-size":r,className:(0,eP.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...o,children:[n,(0,t.jsx)(F,{asChild:!0,children:(0,t.jsx)(eR.default,{className:"size-4 opacity-50"})})]})}function eN({className:e,children:r,position:n="popper",...o}){return(0,t.jsx)(U,{children:(0,t.jsxs)(q,{"data-slot":"select-content",className:(0,eP.cn)("bg-popover text-popover-foreground 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-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===n&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...o,children:[(0,t.jsx)(eD,{}),(0,t.jsx)(et,{className:(0,eP.cn)("p-1","popper"===n&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:r}),(0,t.jsx)(eM,{})]})})}function eH({className:e,children:r,...n}){return(0,t.jsxs)(ed,{"data-slot":"select-item",className:(0,eP.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...n,children:[(0,t.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,t.jsx)(ef,{children:(0,t.jsx)(ej.CheckIcon,{className:"size-4"})})}),(0,t.jsx)(eu,{children:r})]})}function eD({className:e,...r}){return(0,t.jsx)(ev,{"data-slot":"select-scroll-up-button",className:(0,eP.cn)("flex cursor-default items-center justify-center py-1",e),...r,children:(0,t.jsx)(eE.default,{className:"size-4"})})}function eM({className:e,...r}){return(0,t.jsx)(ex,{"data-slot":"select-scroll-down-button",className:(0,eP.cn)("flex cursor-default items-center justify-center py-1",e),...r,children:(0,t.jsx)(eR.default,{className:"size-4"})})}e.s(["Select",()=>ek,"SelectContent",()=>eN,"SelectItem",()=>eH,"SelectTrigger",()=>eI,"SelectValue",()=>eT],62870)}]);
@@ -0,0 +1,7 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,69638,e=>{"use strict";let t=(0,e.i(75254).default)("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);e.s(["CheckCircle",()=>t],69638)},73884,e=>{"use strict";let t=(0,e.i(75254).default)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",()=>t],73884)},53339,e=>{"use strict";let t=(0,e.i(75254).default)("Music",[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]);e.s(["Music",()=>t],53339)},16715,e=>{"use strict";let t=(0,e.i(75254).default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],16715)},94179,e=>{"use strict";var t=e.i(43476),a=e.i(91918),s=e.i(25913),l=e.i(47163);let r=(0,s.cva)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function i({className:e,variant:s,asChild:i=!1,...n}){let o=i?a.Slot:"span";return(0,t.jsx)(o,{"data-slot":"badge",className:(0,l.cn)(r({variant:s}),e),...n})}e.s(["Badge",()=>i])},20682,e=>{"use strict";var t=e.i(71645);let a=0,s=new Map,l=e=>{if(s.has(e))return;let t=setTimeout(()=>{s.delete(e),n({type:"REMOVE_TOAST",toastId:e})},1e6);s.set(e,t)},r=[],i={toasts:[]};function n(e){i=((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?l(a):e.toasts.forEach(e=>{l(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)}}})(i,e),r.forEach(e=>{e(i)})}function o({...e}){let t=(a=(a+1)%Number.MAX_SAFE_INTEGER).toString(),s=()=>n({type:"DISMISS_TOAST",toastId:t});return n({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:e=>{e||s()}}}),{id:t,dismiss:s,update:e=>n({type:"UPDATE_TOAST",toast:{...e,id:t}})}}function c(){let[e,a]=t.useState(i);return t.useEffect(()=>(r.push(a),()=>{let e=r.indexOf(a);e>-1&&r.splice(e,1)}),[e]),{...e,toast:o,dismiss:e=>n({type:"DISMISS_TOAST",toastId:e})}}e.s(["useToast",()=>c])},47627,e=>{"use strict";var t=e.i(43476),a=e.i(47163);function s({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,t.jsx)("table",{"data-slot":"table",className:(0,a.cn)("w-full caption-bottom text-sm",e),...s})})}function l({className:e,...s}){return(0,t.jsx)("thead",{"data-slot":"table-header",className:(0,a.cn)("[&_tr]:border-b",e),...s})}function r({className:e,...s}){return(0,t.jsx)("tbody",{"data-slot":"table-body",className:(0,a.cn)("[&_tr:last-child]:border-0",e),...s})}function i({className:e,...s}){return(0,t.jsx)("tr",{"data-slot":"table-row",className:(0,a.cn)("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...s})}function n({className:e,...s}){return(0,t.jsx)("th",{"data-slot":"table-head",className:(0,a.cn)("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...s})}function o({className:e,...s}){return(0,t.jsx)("td",{"data-slot":"table-cell",className:(0,a.cn)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...s})}e.s(["Table",()=>s,"TableBody",()=>r,"TableCell",()=>o,"TableHead",()=>n,"TableHeader",()=>l,"TableRow",()=>i])},27612,e=>{"use strict";let t=(0,e.i(75254).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);e.s(["Trash2",()=>t],27612)},30009,e=>{"use strict";var t=e.i(43476),a=e.i(71645),s=e.i(30030),l=e.i(20783),r=e.i(26999),i=e.i(81140),n=e.i(91918),o="AlertDialog",[c,d]=(0,s.createContextScope)(o,[r.createDialogScope]),u=(0,r.createDialogScope)(),h=e=>{let{__scopeAlertDialog:a,...s}=e,l=u(a);return(0,t.jsx)(r.Root,{...l,...s,modal:!0})};h.displayName=o;var x=a.forwardRef((e,a)=>{let{__scopeAlertDialog:s,...l}=e,i=u(s);return(0,t.jsx)(r.Trigger,{...i,...l,ref:a})});x.displayName="AlertDialogTrigger";var m=e=>{let{__scopeAlertDialog:a,...s}=e,l=u(a);return(0,t.jsx)(r.Portal,{...l,...s})};m.displayName="AlertDialogPortal";var g=a.forwardRef((e,a)=>{let{__scopeAlertDialog:s,...l}=e,i=u(s);return(0,t.jsx)(r.Overlay,{...i,...l,ref:a})});g.displayName="AlertDialogOverlay";var p="AlertDialogContent",[f,b]=c(p),j=a.forwardRef((e,s)=>{let{__scopeAlertDialog:o,children:c,...d}=e,h=u(o),x=a.useRef(null),m=(0,l.useComposedRefs)(s,x),g=a.useRef(null);return(0,t.jsx)(r.WarningProvider,{contentName:p,titleName:v,docsSlug:"alert-dialog",children:(0,t.jsx)(f,{scope:o,cancelRef:g,children:(0,t.jsxs)(r.Content,{role:"alertdialog",...h,...d,ref:m,onOpenAutoFocus:(0,i.composeEventHandlers)(d.onOpenAutoFocus,e=>{e.preventDefault(),g.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,t.jsx)(n.Slottable,{children:c}),(0,t.jsx)(D,{contentRef:x})]})})})});j.displayName=p;var v="AlertDialogTitle",y=a.forwardRef((e,a)=>{let{__scopeAlertDialog:s,...l}=e,i=u(s);return(0,t.jsx)(r.Title,{...i,...l,ref:a})});y.displayName=v;var T="AlertDialogDescription",C=a.forwardRef((e,a)=>{let{__scopeAlertDialog:s,...l}=e,i=u(s);return(0,t.jsx)(r.Description,{...i,...l,ref:a})});C.displayName=T;var w=a.forwardRef((e,a)=>{let{__scopeAlertDialog:s,...l}=e,i=u(s);return(0,t.jsx)(r.Close,{...i,...l,ref:a})});w.displayName="AlertDialogAction";var N="AlertDialogCancel",A=a.forwardRef((e,a)=>{let{__scopeAlertDialog:s,...i}=e,{cancelRef:n}=b(N,s),o=u(s),c=(0,l.useComposedRefs)(a,n);return(0,t.jsx)(r.Close,{...o,...i,ref:c})});A.displayName=N;var D=({contentRef:e})=>{let t=`\`${p}\` requires a description for the component to be accessible for screen reader users.
2
+
3
+ You can add a description to the \`${p}\` by passing a \`${T}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
4
+
5
+ Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${p}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
6
+
7
+ For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return a.useEffect(()=>{document.getElementById(e.current?.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},S=e.i(47163),k=e.i(67881);function _({...e}){return(0,t.jsx)(h,{"data-slot":"alert-dialog",...e})}function M({...e}){return(0,t.jsx)(x,{"data-slot":"alert-dialog-trigger",...e})}function R({...e}){return(0,t.jsx)(m,{"data-slot":"alert-dialog-portal",...e})}function O({className:e,...a}){return(0,t.jsx)(g,{"data-slot":"alert-dialog-overlay",className:(0,S.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...a})}function E({className:e,...a}){return(0,t.jsxs)(R,{children:[(0,t.jsx)(O,{}),(0,t.jsx)(j,{"data-slot":"alert-dialog-content",className:(0,S.cn)("bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",e),...a})]})}function H({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,S.cn)("flex flex-col gap-2 text-center sm:text-left",e),...a})}function B({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,S.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...a})}function F({className:e,...a}){return(0,t.jsx)(y,{"data-slot":"alert-dialog-title",className:(0,S.cn)("text-lg font-semibold",e),...a})}function I({className:e,...a}){return(0,t.jsx)(C,{"data-slot":"alert-dialog-description",className:(0,S.cn)("text-muted-foreground text-sm",e),...a})}function z({className:e,...a}){return(0,t.jsx)(w,{className:(0,S.cn)((0,k.buttonVariants)(),e),...a})}function P({className:e,...a}){return(0,t.jsx)(A,{className:(0,S.cn)((0,k.buttonVariants)({variant:"outline"}),e),...a})}e.s(["AlertDialog",()=>_,"AlertDialogAction",()=>z,"AlertDialogCancel",()=>P,"AlertDialogContent",()=>E,"AlertDialogDescription",()=>I,"AlertDialogFooter",()=>B,"AlertDialogHeader",()=>H,"AlertDialogTitle",()=>F,"AlertDialogTrigger",()=>M],30009)},13314,e=>{"use strict";var t=e.i(43476),a=e.i(71645),s=e.i(54858),l=e.i(54458),r=e.i(67881),i=e.i(94179),n=e.i(47627),o=e.i(62870),c=e.i(30009),d=e.i(28231),u=e.i(16715),h=e.i(31278),x=e.i(27612),m=e.i(53339),g=e.i(69638),p=e.i(73884),f=e.i(75254);let b=(0,f.default)("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]),j=(0,f.default)("HardDrive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]);var v=e.i(20682);let y=[{value:"all",label:"All Statuses"},{value:"awaiting_audio_selection",label:"Awaiting Selection"},{value:"pending",label:"Pending"},{value:"complete",label:"Complete"},{value:"failed",label:"Failed"}];function T(){let{toast:e}=(0,v.useToast)(),{showTestData:f}=(0,l.useAdminSettings)(),[T,C]=(0,a.useState)([]),[w,N]=(0,a.useState)(!0),[A,D]=(0,a.useState)("all"),[S,k]=(0,a.useState)(!1),[_,M]=(0,a.useState)(null),[R,O]=(0,a.useState)(!1),[E,H]=(0,a.useState)(!1),[B,F]=(0,a.useState)(!1),[I,z]=(0,a.useState)(null),[P,V]=(0,a.useState)(!1),L=(0,a.useCallback)(async()=>{try{N(!0);let e=await s.adminApi.listAudioSearches({limit:100,status_filter:"all"!==A?A:void 0,exclude_test:!f});C(e.jobs)}catch(t){console.error("Failed to load searches:",t),e({title:"Error",description:t.message||"Failed to load audio searches",variant:"destructive"})}finally{N(!1)}},[A,f,e]),$=(0,a.useCallback)(async()=>{try{V(!0);let e=await s.adminApi.getCacheStats();z(e)}catch(e){console.error("Failed to load cache stats:",e),z(null)}finally{V(!1)}},[]);(0,a.useEffect)(()=>{L(),$()},[L,$]);let q=async()=>{if(_)try{O(!0);let t=await s.adminApi.clearAudioSearchCache(_.job_id);e({title:"Cache Cleared",description:t.message}),k(!1),M(null),L(),$()}catch(t){e({title:"Error",description:t.message||"Failed to clear cache",variant:"destructive"})}finally{O(!1)}},U=async()=>{try{F(!0);let t=await s.adminApi.clearAllCache();e({title:"All Cache Cleared",description:t.message}),H(!1),$()}catch(t){e({title:"Error",description:t.message||"Failed to clear all cache",variant:"destructive"})}finally{F(!1)}},X=e=>{if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(1))+" "+["B","KB","MB","GB"][t]};return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:"Audio Searches"}),(0,t.jsx)("p",{className:"text-muted-foreground",children:"View and manage cached audio search results"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:()=>{L(),$()},disabled:w,children:[(0,t.jsx)(u.RefreshCw,{className:`w-4 h-4 mr-2 ${w?"animate-spin":""}`}),"Refresh"]}),(0,t.jsx)(d.TooltipProvider,{children:(0,t.jsxs)(d.Tooltip,{children:[(0,t.jsx)(d.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)(r.Button,{variant:"outline",size:"sm",className:"text-red-500 hover:text-red-400 hover:bg-red-500/10 border-red-500/30",onClick:()=>H(!0),children:[(0,t.jsx)(b,{className:"w-4 h-4 mr-2"}),"Clear All Cache"]})}),(0,t.jsx)(d.TooltipContent,{children:(0,t.jsx)("p",{children:"Clear entire flacfetch search cache"})})]})})]})]}),I&&(0,t.jsxs)("div",{className:"flex items-center gap-4 text-sm text-muted-foreground bg-muted/30 rounded-lg px-4 py-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(j,{className:"w-4 h-4"}),(0,t.jsx)("span",{children:"Flacfetch Cache:"})]}),(0,t.jsxs)(i.Badge,{variant:"outline",className:"font-mono",children:[I.count," entries"]}),(0,t.jsx)(i.Badge,{variant:"outline",className:"font-mono",children:X(I.total_size_bytes)}),I.newest_entry&&(0,t.jsxs)("span",{className:"text-xs",children:["Latest: ",new Date(I.newest_entry).toLocaleDateString()]})]}),(0,t.jsx)("div",{className:"flex gap-4",children:(0,t.jsxs)(o.Select,{value:A,onValueChange:D,children:[(0,t.jsx)(o.SelectTrigger,{className:"w-[200px]",children:(0,t.jsx)(o.SelectValue,{placeholder:"Filter by status"})}),(0,t.jsx)(o.SelectContent,{children:y.map(e=>(0,t.jsx)(o.SelectItem,{value:e.value,children:e.label},e.value))})]})}),(0,t.jsx)("div",{className:"rounded-md border",children:(0,t.jsxs)(n.Table,{children:[(0,t.jsx)(n.TableHeader,{children:(0,t.jsxs)(n.TableRow,{children:[(0,t.jsx)(n.TableHead,{children:"Job ID"}),(0,t.jsx)(n.TableHead,{children:"Search Query"}),(0,t.jsx)(n.TableHead,{children:"Results"}),(0,t.jsx)(n.TableHead,{children:"Providers"}),(0,t.jsx)(n.TableHead,{children:"Status"}),(0,t.jsx)(n.TableHead,{children:"User"}),(0,t.jsx)(n.TableHead,{children:"Created"}),(0,t.jsx)(n.TableHead,{className:"text-right",children:"Actions"})]})}),(0,t.jsx)(n.TableBody,{children:w?(0,t.jsx)(n.TableRow,{children:(0,t.jsx)(n.TableCell,{colSpan:8,className:"text-center py-8",children:(0,t.jsx)(h.Loader2,{className:"w-6 h-6 animate-spin mx-auto text-muted-foreground"})})}):0===T.length?(0,t.jsx)(n.TableRow,{children:(0,t.jsxs)(n.TableCell,{colSpan:8,className:"text-center py-8 text-muted-foreground",children:[(0,t.jsx)(m.Music,{className:"w-8 h-8 mx-auto mb-2 opacity-50"}),"No audio searches found"]})}):T.map(e=>{var a,s;return(0,t.jsxs)(n.TableRow,{children:[(0,t.jsx)(n.TableCell,{className:"font-mono text-xs",children:(0,t.jsxs)("a",{href:`/admin/jobs?id=${e.job_id}`,className:"text-blue-500 hover:underline",children:[e.job_id.slice(0,8),"..."]})}),(0,t.jsx)(n.TableCell,{children:(0,t.jsxs)("div",{className:"max-w-[200px]",children:[(0,t.jsx)("div",{className:"font-medium truncate",children:e.audio_search_artist||"—"}),(0,t.jsx)("div",{className:"text-sm text-muted-foreground truncate",children:e.audio_search_title||"—"})]})}),(0,t.jsx)(n.TableCell,{children:(0,t.jsx)(d.TooltipProvider,{children:(0,t.jsxs)(d.Tooltip,{children:[(0,t.jsx)(d.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-medium",children:e.results_count}),e.has_lossless?(0,t.jsx)(g.CheckCircle,{className:"w-4 h-4 text-green-500"}):(0,t.jsx)(p.XCircle,{className:"w-4 h-4 text-red-400"})]})}),(0,t.jsx)(d.TooltipContent,{children:(0,t.jsx)("p",{children:e.has_lossless?"Has lossless sources":"No lossless sources (YouTube only)"})})]})})}),(0,t.jsx)(n.TableCell,{children:(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:e.providers.map(e=>(0,t.jsx)(i.Badge,{variant:"outline",className:`text-[10px] ${(e=>{switch(e.toLowerCase()){case"youtube":return"bg-red-500/20 text-red-400 border-red-500/30";case"red":return"bg-red-600/30 text-red-300 border-red-500/30";case"ops":return"bg-blue-500/20 text-blue-400 border-blue-500/30";default:return"bg-muted text-muted-foreground border-border"}})(e)}`,children:e},e))})}),(0,t.jsx)(n.TableCell,{children:(0,t.jsx)(i.Badge,{variant:"complete"===(a=e.status)||"prep_complete"===a?"default":"failed"===a?"destructive":"cancelled"===a?"outline":(a.includes("awaiting"),"secondary"),children:e.status.replace(/_/g," ")})}),(0,t.jsx)(n.TableCell,{className:"text-xs text-muted-foreground",children:e.user_email?.split("@")[0]||"—"}),(0,t.jsx)(n.TableCell,{className:"text-xs text-muted-foreground",children:(s=e.created_at)?new Date(s).toLocaleString():"—"}),(0,t.jsx)(n.TableCell,{className:"text-right",children:(0,t.jsx)(d.TooltipProvider,{children:(0,t.jsxs)(d.Tooltip,{children:[(0,t.jsx)(d.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(r.Button,{variant:"ghost",size:"icon",className:"h-8 w-8 text-orange-500 hover:text-orange-400 hover:bg-orange-500/10",onClick:()=>{M(e),k(!0)},children:(0,t.jsx)(x.Trash2,{className:"w-4 h-4"})})}),(0,t.jsx)(d.TooltipContent,{children:(0,t.jsx)("p",{children:"Clear cache & allow re-search"})})]})})})]},e.job_id)})})]})}),!w&&T.length>0&&(0,t.jsxs)("div",{className:"text-sm text-muted-foreground",children:["Showing ",T.length," jobs with cached search results.",T.filter(e=>!e.has_lossless).length>0&&(0,t.jsxs)("span",{className:"ml-2 text-orange-400",children:[T.filter(e=>!e.has_lossless).length," have YouTube-only results (may need cache refresh)."]})]}),(0,t.jsx)(c.AlertDialog,{open:S,onOpenChange:k,children:(0,t.jsxs)(c.AlertDialogContent,{children:[(0,t.jsxs)(c.AlertDialogHeader,{children:[(0,t.jsx)(c.AlertDialogTitle,{children:"Clear Search Cache?"}),(0,t.jsxs)(c.AlertDialogDescription,{children:["This will clear the cached search results for job"," ",(0,t.jsx)("span",{className:"font-mono",children:_?.job_id})," and reset it to pending status, allowing a new search to be performed.",_&&!_.has_lossless&&(0,t.jsx)("span",{className:"block mt-2 text-orange-400",children:"This job only has YouTube results - clearing the cache may fix this if flacfetch has been updated."})]})]}),(0,t.jsxs)(c.AlertDialogFooter,{children:[(0,t.jsx)(c.AlertDialogCancel,{children:"Cancel"}),(0,t.jsxs)(c.AlertDialogAction,{onClick:q,disabled:R,className:"bg-orange-600 hover:bg-orange-500",children:[R?(0,t.jsx)(h.Loader2,{className:"w-4 h-4 animate-spin mr-2"}):(0,t.jsx)(x.Trash2,{className:"w-4 h-4 mr-2"}),"Clear Cache"]})]})]})}),(0,t.jsx)(c.AlertDialog,{open:E,onOpenChange:H,children:(0,t.jsxs)(c.AlertDialogContent,{children:[(0,t.jsxs)(c.AlertDialogHeader,{children:[(0,t.jsx)(c.AlertDialogTitle,{children:"Clear Entire Flacfetch Cache?"}),(0,t.jsxs)(c.AlertDialogDescription,{children:["This will delete all cached search results from flacfetch's GCS cache",I&&(0,t.jsxs)("span",{className:"font-medium",children:[" (",I.count," entries, ",X(I.total_size_bytes),")"]}),".",(0,t.jsx)("span",{className:"block mt-2 text-orange-400",children:'All subsequent searches will hit the trackers fresh. This does NOT affect the Firestore job caches - use individual "Clear Cache" buttons for those.'})]})]}),(0,t.jsxs)(c.AlertDialogFooter,{children:[(0,t.jsx)(c.AlertDialogCancel,{children:"Cancel"}),(0,t.jsxs)(c.AlertDialogAction,{onClick:U,disabled:B,className:"bg-red-600 hover:bg-red-500",children:[B?(0,t.jsx)(h.Loader2,{className:"w-4 h-4 animate-spin mr-2"}):(0,t.jsx)(b,{className:"w-4 h-4 mr-2"}),"Clear All Cache"]})]})]})})]})}e.s(["default",()=>T],13314)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,3116,e=>{"use strict";let t=(0,e.i(75254).default)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);e.s(["Clock",()=>t],3116)},16715,e=>{"use strict";let t=(0,e.i(75254).default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],16715)},94179,e=>{"use strict";var t=e.i(43476),s=e.i(91918),a=e.i(25913),r=e.i(47163);let i=(0,a.cva)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function d({className:e,variant:a,asChild:d=!1,...l}){let n=d?s.Slot:"span";return(0,t.jsx)(n,{"data-slot":"badge",className:(0,r.cn)(i({variant:a}),e),...l})}e.s(["Badge",()=>d])},70065,e=>{"use strict";var t=e.i(43476),s=e.i(47163);function a({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,s.cn)("bg-card text-card-foreground flex flex-col gap-1 rounded-lg border shadow-sm",e),...a})}function r({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,s.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...a})}function i({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,s.cn)("leading-none font-semibold",e),...a})}function d({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,s.cn)("text-muted-foreground text-sm",e),...a})}function l({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,s.cn)("px-6",e),...a})}e.s(["Card",()=>a,"CardContent",()=>l,"CardDescription",()=>d,"CardHeader",()=>r,"CardTitle",()=>i])},20682,e=>{"use strict";var t=e.i(71645);let s=0,a=new Map,r=e=>{if(a.has(e))return;let t=setTimeout(()=>{a.delete(e),l({type:"REMOVE_TOAST",toastId:e})},1e6);a.set(e,t)},i=[],d={toasts:[]};function l(e){d=((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:s}=t;return s?r(s):e.toasts.forEach(e=>{r(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===s||void 0===s?{...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,e),i.forEach(e=>{e(d)})}function n({...e}){let t=(s=(s+1)%Number.MAX_SAFE_INTEGER).toString(),a=()=>l({type:"DISMISS_TOAST",toastId:t});return l({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:e=>{e||a()}}}),{id:t,dismiss:a,update:e=>l({type:"UPDATE_TOAST",toast:{...e,id:t}})}}function c(){let[e,s]=t.useState(d);return t.useEffect(()=>(i.push(s),()=>{let e=i.indexOf(s);e>-1&&i.splice(e,1)}),[e]),{...e,toast:n,dismiss:e=>l({type:"DISMISS_TOAST",toastId:e})}}e.s(["useToast",()=>c])},47627,e=>{"use strict";var t=e.i(43476),s=e.i(47163);function a({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,t.jsx)("table",{"data-slot":"table",className:(0,s.cn)("w-full caption-bottom text-sm",e),...a})})}function r({className:e,...a}){return(0,t.jsx)("thead",{"data-slot":"table-header",className:(0,s.cn)("[&_tr]:border-b",e),...a})}function i({className:e,...a}){return(0,t.jsx)("tbody",{"data-slot":"table-body",className:(0,s.cn)("[&_tr:last-child]:border-0",e),...a})}function d({className:e,...a}){return(0,t.jsx)("tr",{"data-slot":"table-row",className:(0,s.cn)("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...a})}function l({className:e,...a}){return(0,t.jsx)("th",{"data-slot":"table-head",className:(0,s.cn)("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...a})}function n({className:e,...a}){return(0,t.jsx)("td",{"data-slot":"table-cell",className:(0,s.cn)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...a})}e.s(["Table",()=>a,"TableBody",()=>i,"TableCell",()=>n,"TableHead",()=>l,"TableHeader",()=>r,"TableRow",()=>d])},61659,e=>{"use strict";let t=(0,e.i(75254).default)("CreditCard",[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]]);e.s(["CreditCard",()=>t],61659)},30374,e=>{"use strict";var t=e.i(43476),s=e.i(71645),a=e.i(26999),r=e.i(37727),i=e.i(47163);let d=a.Root,l=a.Trigger,n=a.Portal;a.Close;let c=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)(a.Overlay,{ref:r,className:"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",...s}));c.displayName=a.Overlay.displayName;let o=s.forwardRef(({className:e,children:s,...d},l)=>(0,t.jsxs)(n,{children:[(0,t.jsx)(c,{}),(0,t.jsxs)(a.Content,{ref:l,className:(0,i.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",e),...d,children:[s,(0,t.jsxs)(a.Close,{className:"absolute right-3 top-2.5 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,t.jsx)(r.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));o.displayName=a.Content.displayName;let x=({className:e,...s})=>(0,t.jsx)("div",{className:"flex flex-col space-y-1.5 text-center sm:text-left",...s});x.displayName="DialogHeader";let u=({className:e,...s})=>(0,t.jsx)("div",{className:"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",...s});u.displayName="DialogFooter";let m=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)(a.Title,{ref:r,className:(0,i.cn)("text-lg font-semibold leading-none tracking-tight",e),...s}));m.displayName=a.Title.displayName;let h=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)(a.Description,{ref:r,className:"text-sm text-muted-foreground",...s}));h.displayName=a.Description.displayName,e.s(["Dialog",()=>d,"DialogContent",()=>o,"DialogDescription",()=>h,"DialogFooter",()=>u,"DialogHeader",()=>x,"DialogTitle",()=>m,"DialogTrigger",()=>l])},7233,e=>{"use strict";let t=(0,e.i(75254).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],7233)},82293,e=>{"use strict";let t=(0,e.i(75254).default)("UserCheck",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["polyline",{points:"16 11 18 13 22 9",key:"1pwet4"}]]);e.s(["UserCheck",()=>t],82293)},97092,e=>{"use strict";var t=e.i(43476),s=e.i(71645),a=e.i(18566),r=e.i(54858),i=e.i(67881),d=e.i(94179),l=e.i(70065),n=e.i(47627),c=e.i(30374),o=e.i(23750),x=e.i(10708),u=e.i(71689),m=e.i(16715),h=e.i(31278),p=e.i(7233);let f=(0,e.i(75254).default)("UserX",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"17",x2:"22",y1:"8",y2:"13",key:"3nzzx3"}],["line",{x1:"22",x2:"17",y1:"8",y2:"13",key:"1swrse"}]]);var j=e.i(82293),g=e.i(61659),b=e.i(63727),v=e.i(3116),y=e.i(20682);function N(){let e=(0,a.useSearchParams)(),N=(0,a.useRouter)(),{toast:C}=(0,y.useToast)(),w=e.get("email")||"",[T,k]=(0,s.useState)(null),[_,D]=(0,s.useState)(!0),[S,A]=(0,s.useState)(!1),[B,H]=(0,s.useState)(!1),[R,U]=(0,s.useState)(""),[E,I]=(0,s.useState)(""),O=async()=>{if(!w)return void D(!1);try{D(!0);let e=await r.adminApi.getUserDetail(w);k(e)}catch(e){console.error("Failed to load user:",e),C({title:"Error",description:e.message||"Failed to load user",variant:"destructive"})}finally{D(!1)}};(0,s.useEffect)(()=>{O()},[w]);let L=async()=>{if(!R||!E)return;let e=parseInt(R.trim(),10);if(!Number.isInteger(e)||e<1||e>1e5)return void C({title:"Invalid Amount",description:"Please enter a valid amount between 1 and 100,000",variant:"destructive"});try{A(!0),await r.adminApi.addCredits(w,e,E),C({title:"Credits Added",description:`Added ${R} credits`}),H(!1),U(""),I(""),O()}catch(e){C({title:"Error",description:e.message||"Failed to add credits",variant:"destructive"})}finally{A(!1)}},M=async()=>{if(T)try{A(!0),T.is_active?(await r.adminApi.disableUser(w),C({title:"User Disabled",description:"User has been disabled"})):(await r.adminApi.enableUser(w),C({title:"User Enabled",description:"User has been enabled"})),O()}catch(e){C({title:"Error",description:e.message||"Failed to update user status",variant:"destructive"})}finally{A(!1)}},F=e=>e?new Date(e).toLocaleString():"Never";return w?_?(0,t.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,t.jsx)(h.Loader2,{className:"w-8 h-8 animate-spin text-muted-foreground"})}):T?(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsx)(i.Button,{variant:"ghost",size:"icon",onClick:()=>N.push("/admin/users"),children:(0,t.jsx)(u.ArrowLeft,{className:"w-4 h-4"})}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("h1",{className:"text-2xl font-bold tracking-tight flex items-center gap-2",children:[T.display_name||T.email,(0,t.jsx)(d.Badge,{variant:"admin"===T.role?"default":"secondary",children:T.role}),!T.is_active&&(0,t.jsx)(d.Badge,{variant:"destructive",children:"Disabled"})]}),(0,t.jsx)("p",{className:"text-muted-foreground",children:T.email})]})]}),(0,t.jsx)("div",{className:"flex gap-2",children:(0,t.jsxs)(i.Button,{variant:"outline",size:"sm",onClick:O,disabled:_,children:[(0,t.jsx)(m.RefreshCw,{className:`w-4 h-4 mr-2 ${_?"animate-spin":""}`}),"Refresh"]})})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsxs)(i.Button,{onClick:()=>H(!0),disabled:S,children:[(0,t.jsx)(p.Plus,{className:"w-4 h-4 mr-2"}),"Add Credits"]}),(0,t.jsx)(i.Button,{variant:T.is_active?"destructive":"outline",onClick:M,disabled:S,children:T.is_active?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(f,{className:"w-4 h-4 mr-2"}),"Disable User"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(j.UserCheck,{className:"w-4 h-4 mr-2"}),"Enable User"]})})]}),(0,t.jsxs)("div",{className:"grid gap-4 md:grid-cols-4",children:[(0,t.jsxs)(l.Card,{children:[(0,t.jsx)(l.CardHeader,{className:"pb-2",children:(0,t.jsxs)(l.CardTitle,{className:"text-sm font-medium flex items-center gap-2",children:[(0,t.jsx)(g.CreditCard,{className:"w-4 h-4"}),"Credits"]})}),(0,t.jsx)(l.CardContent,{children:(0,t.jsx)("p",{className:"text-2xl font-bold",children:T.credits})})]}),(0,t.jsxs)(l.Card,{children:[(0,t.jsx)(l.CardHeader,{className:"pb-2",children:(0,t.jsxs)(l.CardTitle,{className:"text-sm font-medium flex items-center gap-2",children:[(0,t.jsx)(b.Briefcase,{className:"w-4 h-4"}),"Jobs Created"]})}),(0,t.jsx)(l.CardContent,{children:(0,t.jsx)("p",{className:"text-2xl font-bold",children:T.total_jobs_created})})]}),(0,t.jsxs)(l.Card,{children:[(0,t.jsx)(l.CardHeader,{className:"pb-2",children:(0,t.jsxs)(l.CardTitle,{className:"text-sm font-medium flex items-center gap-2",children:[(0,t.jsx)(b.Briefcase,{className:"w-4 h-4"}),"Jobs Completed"]})}),(0,t.jsx)(l.CardContent,{children:(0,t.jsx)("p",{className:"text-2xl font-bold",children:T.total_jobs_completed})})]}),(0,t.jsxs)(l.Card,{children:[(0,t.jsx)(l.CardHeader,{className:"pb-2",children:(0,t.jsxs)(l.CardTitle,{className:"text-sm font-medium flex items-center gap-2",children:[(0,t.jsx)(v.Clock,{className:"w-4 h-4"}),"Active Sessions"]})}),(0,t.jsx)(l.CardContent,{children:(0,t.jsx)("p",{className:"text-2xl font-bold",children:T.active_sessions_count})})]})]}),(0,t.jsxs)("div",{className:"grid gap-6 md:grid-cols-2",children:[(0,t.jsxs)(l.Card,{children:[(0,t.jsx)(l.CardHeader,{children:(0,t.jsx)(l.CardTitle,{children:"Account Information"})}),(0,t.jsxs)(l.CardContent,{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:"Email Verified"}),(0,t.jsx)(d.Badge,{variant:T.email_verified?"default":"secondary",children:T.email_verified?"Yes":"No"})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:"Beta Tester"}),(0,t.jsx)(d.Badge,{variant:T.is_beta_tester?"default":"secondary",children:T.is_beta_tester?T.beta_tester_status||"Yes":"No"})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:"Created"}),(0,t.jsx)("span",{className:"text-sm",children:F(T.created_at)})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:"Last Login"}),(0,t.jsx)("span",{className:"text-sm",children:F(T.last_login_at)})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:"Last Updated"}),(0,t.jsx)("span",{className:"text-sm",children:F(T.updated_at)})]})]})]}),(0,t.jsxs)(l.Card,{children:[(0,t.jsxs)(l.CardHeader,{children:[(0,t.jsx)(l.CardTitle,{children:"Recent Credit Transactions"}),(0,t.jsx)(l.CardDescription,{children:"Last 20 transactions"})]}),(0,t.jsx)(l.CardContent,{children:0===T.credit_transactions.length?(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"No transactions"}):(0,t.jsx)("div",{className:"space-y-2 max-h-[300px] overflow-y-auto",children:T.credit_transactions.slice().reverse().map((e,s)=>(0,t.jsxs)("div",{className:"flex justify-between items-center text-sm border-b pb-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("span",{className:e.amount>0?"text-green-500":"text-red-500",children:[e.amount>0?"+":"",e.amount]}),(0,t.jsx)("span",{className:"text-muted-foreground ml-2",children:e.reason})]}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:new Date(e.created_at).toLocaleDateString()})]},e.id||s))})})]})]}),(0,t.jsxs)(l.Card,{children:[(0,t.jsxs)(l.CardHeader,{children:[(0,t.jsx)(l.CardTitle,{children:"Recent Jobs"}),(0,t.jsx)(l.CardDescription,{children:"Last 10 jobs by this user"})]}),(0,t.jsx)(l.CardContent,{children:0===T.recent_jobs.length?(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"No jobs"}):(0,t.jsxs)(n.Table,{children:[(0,t.jsx)(n.TableHeader,{children:(0,t.jsxs)(n.TableRow,{children:[(0,t.jsx)(n.TableHead,{children:"Job ID"}),(0,t.jsx)(n.TableHead,{children:"Artist / Title"}),(0,t.jsx)(n.TableHead,{children:"Status"}),(0,t.jsx)(n.TableHead,{children:"Created"})]})}),(0,t.jsx)(n.TableBody,{children:T.recent_jobs.map(e=>(0,t.jsxs)(n.TableRow,{className:"cursor-pointer hover:bg-muted/50",onClick:()=>N.push(`/admin/jobs/detail?id=${e.job_id}`),children:[(0,t.jsx)(n.TableCell,{className:"font-mono text-sm",children:e.job_id}),(0,t.jsx)(n.TableCell,{children:e.artist&&e.title?`${e.artist} - ${e.title}`:"—"}),(0,t.jsx)(n.TableCell,{children:(0,t.jsx)(d.Badge,{variant:"complete"===e.status?"default":"failed"===e.status?"destructive":"secondary",children:e.status})}),(0,t.jsx)(n.TableCell,{className:"text-sm",children:e.created_at?new Date(e.created_at).toLocaleString():"—"})]},e.job_id))})]})})]}),(0,t.jsx)(c.Dialog,{open:B,onOpenChange:H,children:(0,t.jsxs)(c.DialogContent,{children:[(0,t.jsxs)(c.DialogHeader,{children:[(0,t.jsx)(c.DialogTitle,{children:"Add Credits"}),(0,t.jsxs)(c.DialogDescription,{children:["Add credits to ",T.email]})]}),(0,t.jsxs)("div",{className:"space-y-4 py-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(x.Label,{htmlFor:"amount",children:"Amount"}),(0,t.jsx)(o.Input,{id:"amount",type:"number",min:"1",placeholder:"Enter amount",value:R,onChange:e=>U(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(x.Label,{htmlFor:"reason",children:"Reason"}),(0,t.jsx)(o.Input,{id:"reason",placeholder:"e.g., Beta reward, Support credit",value:E,onChange:e=>I(e.target.value)})]})]}),(0,t.jsxs)(c.DialogFooter,{children:[(0,t.jsx)(i.Button,{variant:"outline",onClick:()=>H(!1),children:"Cancel"}),(0,t.jsxs)(i.Button,{onClick:L,disabled:!R||!E||S,children:[S&&(0,t.jsx)(h.Loader2,{className:"w-4 h-4 mr-2 animate-spin"}),"Add Credits"]})]})]})})]}):(0,t.jsxs)("div",{className:"text-center py-12",children:[(0,t.jsx)("p",{className:"text-muted-foreground",children:"User not found"}),(0,t.jsxs)(i.Button,{variant:"outline",className:"mt-4",onClick:()=>N.push("/admin/users"),children:[(0,t.jsx)(u.ArrowLeft,{className:"w-4 h-4 mr-2"}),"Back to Users"]})]}):(0,t.jsxs)("div",{className:"text-center py-12",children:[(0,t.jsx)("p",{className:"text-muted-foreground",children:"No user email provided"}),(0,t.jsxs)(i.Button,{variant:"outline",className:"mt-4",onClick:()=>N.push("/admin/users"),children:[(0,t.jsx)(u.ArrowLeft,{className:"w-4 h-4 mr-2"}),"Back to Users"]})]})}e.s(["default",()=>N],97092)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return a},urlQueryToSearchParams:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function a(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,i(e));else t.set(r,i(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return s},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(90809)._(e.r(98183)),i=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",s=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(a.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||i.test(n))&&!1!==u?(u="//"+(u||""),o&&"/"!==o[0]&&(o="/"+o)):u||(u=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${u}${o}${c}${s}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return s(e)}},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return w},MissingStaticPage:function(){return b},NormalizeError:function(){return v},PageNotFoundError:function(){return x},SP:function(){return m},ST:function(){return g},WEB_VITALS:function(){return a},execOnce:function(){return i},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return C}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>s.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let m="undefined"!=typeof performance,g=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class v extends Error{}class x extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class b extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class w extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function C(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(18967),o=e.r(52817);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return x}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(90809),i=e.r(43476),s=a._(e.r(71645)),l=e.r(95057),u=e.r(8372),c=e.r(18581),d=e.r(18967),f=e.r(5550);e.r(33525);let p=e.r(91949),h=e.r(73668),m=e.r(9396);function g(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function y(t){var r;let n,o,a,[l,y]=(0,s.useOptimistic)(p.IDLE_LINK_STATUS),x=(0,s.useRef)(null),{href:b,as:w,children:C,prefetch:k=null,passHref:j,replace:E,shallow:T,scroll:P,onClick:R,onMouseEnter:S,onTouchStart:N,legacyBehavior:_=!1,onNavigate:L,ref:O,unstable_dynamicOnHover:M,...D}=t;n=C,_&&("string"==typeof n||"number"==typeof n)&&(n=(0,i.jsx)("a",{children:n}));let I=s.default.useContext(u.AppRouterContext),A=!1!==k,F=!1!==k?null===(r=k)||"auto"===r?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,{href:z,as:H}=s.default.useMemo(()=>{let e=g(b);return{href:e,as:w?g(w):e}},[b,w]);if(_){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=s.default.Children.only(n)}let U=_?o&&"object"==typeof o&&o.ref:O,B=s.default.useCallback(e=>(null!==I&&(x.current=(0,p.mountLinkInstance)(e,z,I,F,A,y)),()=>{x.current&&((0,p.unmountLinkForCurrentNavigation)(x.current),x.current=null),(0,p.unmountPrefetchableInstance)(e)}),[A,z,I,F,y]),$={ref:(0,c.useMergedRef)(B,U),onClick(t){_||"function"!=typeof R||R(t),_&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!I||t.defaultPrevented||function(t,r,n,o,a,i,l){if("undefined"!=typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(99781);s.default.startTransition(()=>{d(n||r,a?"replace":"push",i??!0,o.current)})}}(t,z,H,x,E,P,L)},onMouseEnter(e){_||"function"!=typeof S||S(e),_&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),I&&A&&(0,p.onNavigationIntent)(e.currentTarget,!0===M)},onTouchStart:function(e){_||"function"!=typeof N||N(e),_&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),I&&A&&(0,p.onNavigationIntent)(e.currentTarget,!0===M)}};return(0,d.isAbsoluteUrl)(H)?$.href=H:_&&!j&&("a"!==o.type||"href"in o.props)||($.href=(0,f.addBasePath)(H)),a=_?s.default.cloneElement(o,$):(0,i.jsx)("a",{...D,...$,children:n}),(0,i.jsx)(v.Provider,{value:l,children:a})}e.r(84508);let v=(0,s.createContext)(p.IDLE_LINK_STATUS),x=()=>(0,s.useContext)(v);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},28231,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(81140),o=e.i(20783),a=e.i(30030),i=e.i(26330),s=e.i(10772),l=e.i(53660),u=e.i(74606),c=e.i(96626),d=e.i(48425),f=e.i(91918),p=e.i(69340),h=e.i(59411),[m,g]=(0,a.createContextScope)("Tooltip",[l.createPopperScope]),y=(0,l.createPopperScope)(),v="TooltipProvider",x="tooltip.open",[b,w]=m(v),C=e=>{let{__scopeTooltip:n,delayDuration:o=700,skipDelayDuration:a=300,disableHoverableContent:i=!1,children:s}=e,[l,u]=r.useState(!0),c=r.useRef(!1),d=r.useRef(0);return r.useEffect(()=>{let e=d.current;return()=>window.clearTimeout(e)},[]),(0,t.jsx)(b,{scope:n,isOpenDelayed:l,delayDuration:o,onOpen:r.useCallback(()=>{window.clearTimeout(d.current),u(!1)},[]),onClose:r.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>u(!0),a)},[a]),isPointerInTransitRef:c,onPointerInTransitChange:r.useCallback(e=>{c.current=e},[]),disableHoverableContent:i,children:s})};C.displayName=v;var k="Tooltip",[j,E]=m(k),T=e=>{let{__scopeTooltip:n,children:o,open:a,defaultOpen:i=!1,onOpenChange:u,disableHoverableContent:c,delayDuration:d}=e,f=w(k,e.__scopeTooltip),h=y(n),[m,g]=r.useState(null),v=(0,s.useId)(),b=r.useRef(0),C=c??f.disableHoverableContent,E=d??f.delayDuration,T=r.useRef(!1),[P=!1,R]=(0,p.useControllableState)({prop:a,defaultProp:i,onChange:e=>{e?(f.onOpen(),document.dispatchEvent(new CustomEvent(x))):f.onClose(),u?.(e)}}),S=r.useMemo(()=>P?T.current?"delayed-open":"instant-open":"closed",[P]),N=r.useCallback(()=>{window.clearTimeout(b.current),b.current=0,T.current=!1,R(!0)},[R]),_=r.useCallback(()=>{window.clearTimeout(b.current),b.current=0,R(!1)},[R]),L=r.useCallback(()=>{window.clearTimeout(b.current),b.current=window.setTimeout(()=>{T.current=!0,R(!0),b.current=0},E)},[E,R]);return r.useEffect(()=>()=>{b.current&&(window.clearTimeout(b.current),b.current=0)},[]),(0,t.jsx)(l.Root,{...h,children:(0,t.jsx)(j,{scope:n,contentId:v,open:P,stateAttribute:S,trigger:m,onTriggerChange:g,onTriggerEnter:r.useCallback(()=>{f.isOpenDelayed?L():N()},[f.isOpenDelayed,L,N]),onTriggerLeave:r.useCallback(()=>{C?_():(window.clearTimeout(b.current),b.current=0)},[_,C]),onOpen:N,onClose:_,disableHoverableContent:C,children:o})})};T.displayName=k;var P="TooltipTrigger",R=r.forwardRef((e,a)=>{let{__scopeTooltip:i,...s}=e,u=E(P,i),c=w(P,i),f=y(i),p=r.useRef(null),h=(0,o.useComposedRefs)(a,p,u.onTriggerChange),m=r.useRef(!1),g=r.useRef(!1),v=r.useCallback(()=>m.current=!1,[]);return r.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),(0,t.jsx)(l.Anchor,{asChild:!0,...f,children:(0,t.jsx)(d.Primitive.button,{"aria-describedby":u.open?u.contentId:void 0,"data-state":u.stateAttribute,...s,ref:h,onPointerMove:(0,n.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(g.current||c.isPointerInTransitRef.current||(u.onTriggerEnter(),g.current=!0))}),onPointerLeave:(0,n.composeEventHandlers)(e.onPointerLeave,()=>{u.onTriggerLeave(),g.current=!1}),onPointerDown:(0,n.composeEventHandlers)(e.onPointerDown,()=>{m.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:(0,n.composeEventHandlers)(e.onFocus,()=>{m.current||u.onOpen()}),onBlur:(0,n.composeEventHandlers)(e.onBlur,u.onClose),onClick:(0,n.composeEventHandlers)(e.onClick,u.onClose)})})});R.displayName=P;var S="TooltipPortal",[N,_]=m(S,{forceMount:void 0}),L=e=>{let{__scopeTooltip:r,forceMount:n,children:o,container:a}=e,i=E(S,r);return(0,t.jsx)(N,{scope:r,forceMount:n,children:(0,t.jsx)(c.Presence,{present:n||i.open,children:(0,t.jsx)(u.Portal,{asChild:!0,container:a,children:o})})})};L.displayName=S;var O="TooltipContent",M=r.forwardRef((e,r)=>{let n=_(O,e.__scopeTooltip),{forceMount:o=n.forceMount,side:a="top",...i}=e,s=E(O,e.__scopeTooltip);return(0,t.jsx)(c.Presence,{present:o||s.open,children:s.disableHoverableContent?(0,t.jsx)(F,{side:a,...i,ref:r}):(0,t.jsx)(D,{side:a,...i,ref:r})})}),D=r.forwardRef((e,n)=>{let a=E(O,e.__scopeTooltip),i=w(O,e.__scopeTooltip),s=r.useRef(null),l=(0,o.useComposedRefs)(n,s),[u,c]=r.useState(null),{trigger:d,onClose:f}=a,p=s.current,{onPointerInTransitChange:h}=i,m=r.useCallback(()=>{c(null),h(!1)},[h]),g=r.useCallback((e,t)=>{let r,n=e.currentTarget,o={x:e.clientX,y:e.clientY},a=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(r,n,o,a)){case a:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(o,n.getBoundingClientRect());c(((r=[...function(e,t,r=5){let n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}(o,a),...function(e){let{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let n=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(n.y-r.y)>=(e.y-r.y)*(n.x-r.x))t.pop();else break}t.push(n)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let n=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(n.y-t.y)>=(e.y-t.y)*(n.x-t.x))r.pop();else break}r.push(n)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),h(!0)},[h]);return r.useEffect(()=>()=>m(),[m]),r.useEffect(()=>{if(d&&p){let e=e=>g(e,p),t=e=>g(e,d);return d.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{d.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[d,p,g,m]),r.useEffect(()=>{if(u){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=d?.contains(t)||p?.contains(t),o=!function(e,t){let{x:r,y:n}=e,o=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let i=t[e].x,s=t[e].y,l=t[a].x,u=t[a].y;s>n!=u>n&&r<(l-i)*(n-s)/(u-s)+i&&(o=!o)}return o}(r,u);n?m():o&&(m(),f())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[d,p,u,f,m]),(0,t.jsx)(F,{...e,ref:l})}),[I,A]=m(k,{isInside:!1}),F=r.forwardRef((e,n)=>{let{__scopeTooltip:o,children:a,"aria-label":s,onEscapeKeyDown:u,onPointerDownOutside:c,...d}=e,p=E(O,o),m=y(o),{onClose:g}=p;return r.useEffect(()=>(document.addEventListener(x,g),()=>document.removeEventListener(x,g)),[g]),r.useEffect(()=>{if(p.trigger){let e=e=>{let t=e.target;t?.contains(p.trigger)&&g()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[p.trigger,g]),(0,t.jsx)(i.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:e=>e.preventDefault(),onDismiss:g,children:(0,t.jsxs)(l.Content,{"data-state":p.stateAttribute,...m,...d,ref:n,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,t.jsx)(f.Slottable,{children:a}),(0,t.jsx)(I,{scope:o,isInside:!0,children:(0,t.jsx)(h.Root,{id:p.contentId,role:"tooltip",children:s||a})})]})})});M.displayName=O;var z="TooltipArrow",H=r.forwardRef((e,r)=>{let{__scopeTooltip:n,...o}=e,a=y(n);return A(z,n).isInside?null:(0,t.jsx)(l.Arrow,{...a,...o,ref:r})});H.displayName=z;var U=e.i(47163);function B({delayDuration:e=0,...r}){return(0,t.jsx)(C,{"data-slot":"tooltip-provider",delayDuration:e,...r})}function $({...e}){return(0,t.jsx)(B,{children:(0,t.jsx)(T,{"data-slot":"tooltip",...e})})}function K({...e}){return(0,t.jsx)(R,{"data-slot":"tooltip-trigger",...e})}function X({className:e,sideOffset:r=0,children:n,...o}){return(0,t.jsx)(L,{children:(0,t.jsxs)(M,{"data-slot":"tooltip-content",sideOffset:r,className:(0,U.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...o,children:[n,(0,t.jsx)(H,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}e.s(["Tooltip",()=>$,"TooltipContent",()=>X,"TooltipProvider",()=>B,"TooltipTrigger",()=>K],28231)},63059,46349,e=>{"use strict";let t=(0,e.i(75254).default)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["default",()=>t],46349),e.s(["ChevronRight",()=>t],63059)},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(71645);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=a(e,n)),t&&(o.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},42727,e=>{"use strict";var t=e.i(71645),r=e.i(81140),n=e.i(75830),o=e.i(20783),a=e.i(30030),i=e.i(10772),s=e.i(48425),l=e.i(30207),u=e.i(69340),c=e.i(86318),d=e.i(43476),f="rovingFocusGroup.onEntryFocus",p={bubbles:!1,cancelable:!0},h="RovingFocusGroup",[m,g,y]=(0,n.createCollection)(h),[v,x]=(0,a.createContextScope)(h,[y]),[b,w]=v(h),C=t.forwardRef((e,t)=>(0,d.jsx)(m.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(m.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(k,{...e,ref:t})})}));C.displayName=h;var k=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:a,orientation:i,loop:h=!1,dir:m,currentTabStopId:y,defaultCurrentTabStopId:v,onCurrentTabStopIdChange:x,onEntryFocus:w,preventScrollOnEntryFocus:C=!1,...k}=e,j=t.useRef(null),E=(0,o.useComposedRefs)(n,j),T=(0,c.useDirection)(m),[R=null,S]=(0,u.useControllableState)({prop:y,defaultProp:v,onChange:x}),[N,_]=t.useState(!1),L=(0,l.useCallbackRef)(w),O=g(a),M=t.useRef(!1),[D,I]=t.useState(0);return t.useEffect(()=>{let e=j.current;if(e)return e.addEventListener(f,L),()=>e.removeEventListener(f,L)},[L]),(0,d.jsx)(b,{scope:a,orientation:i,dir:T,loop:h,currentTabStopId:R,onItemFocus:t.useCallback(e=>S(e),[S]),onItemShiftTab:t.useCallback(()=>_(!0),[]),onFocusableItemAdd:t.useCallback(()=>I(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>I(e=>e-1),[]),children:(0,d.jsx)(s.Primitive.div,{tabIndex:N||0===D?-1:0,"data-orientation":i,...k,ref:E,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{M.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!M.current;if(e.target===e.currentTarget&&t&&!N){let t=new CustomEvent(f,p);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=O().filter(e=>e.focusable);P([e.find(e=>e.active),e.find(e=>e.id===R),...e].filter(Boolean).map(e=>e.ref.current),C)}}M.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>_(!1))})})}),j="RovingFocusGroupItem",E=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:o,focusable:a=!0,active:l=!1,tabStopId:u,...c}=e,f=(0,i.useId)(),p=u||f,h=w(j,o),y=h.currentTabStopId===p,v=g(o),{onFocusableItemAdd:x,onFocusableItemRemove:b}=h;return t.useEffect(()=>{if(a)return x(),()=>b()},[a,x,b]),(0,d.jsx)(m.ItemSlot,{scope:o,id:p,focusable:a,active:l,children:(0,d.jsx)(s.Primitive.span,{tabIndex:y?0:-1,"data-orientation":h.orientation,...c,ref:n,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{a?h.onItemFocus(p):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>h.onItemFocus(p)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void h.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let o=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(o))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(o)))return T[o]}(e,h.orientation,h.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let o=v().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)o.reverse();else if("prev"===t||"next"===t){var r,n;"prev"===t&&o.reverse();let a=o.indexOf(e.currentTarget);o=h.loop?(r=o,n=a+1,r.map((e,t)=>r[(n+t)%r.length])):o.slice(a+1)}setTimeout(()=>P(o))}})})})});E.displayName=j;var T={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function P(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",()=>E,"Root",()=>C,"createRovingFocusGroupScope",()=>x])},19036,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(81140),o=e.i(20783),a=e.i(30030),i=e.i(69340),s=e.i(99682),l=e.i(35804),u=e.i(48425),c="Switch",[d,f]=(0,a.createContextScope)(c),[p,h]=d(c),m=r.forwardRef((e,a)=>{let{__scopeSwitch:s,name:l,checked:c,defaultChecked:d,required:f,disabled:h,value:m="on",onCheckedChange:g,form:y,...b}=e,[w,C]=r.useState(null),k=(0,o.useComposedRefs)(a,e=>C(e)),j=r.useRef(!1),E=!w||y||!!w.closest("form"),[T=!1,P]=(0,i.useControllableState)({prop:c,defaultProp:d,onChange:g});return(0,t.jsxs)(p,{scope:s,checked:T,disabled:h,children:[(0,t.jsx)(u.Primitive.button,{type:"button",role:"switch","aria-checked":T,"aria-required":f,"data-state":x(T),"data-disabled":h?"":void 0,disabled:h,value:m,...b,ref:k,onClick:(0,n.composeEventHandlers)(e.onClick,e=>{P(e=>!e),E&&(j.current=e.isPropagationStopped(),j.current||e.stopPropagation())})}),E&&(0,t.jsx)(v,{control:w,bubbles:!j.current,name:l,value:m,checked:T,required:f,disabled:h,form:y,style:{transform:"translateX(-100%)"}})]})});m.displayName=c;var g="SwitchThumb",y=r.forwardRef((e,r)=>{let{__scopeSwitch:n,...o}=e,a=h(g,n);return(0,t.jsx)(u.Primitive.span,{"data-state":x(a.checked),"data-disabled":a.disabled?"":void 0,...o,ref:r})});y.displayName=g;var v=e=>{let{control:n,checked:o,bubbles:a=!0,...i}=e,u=r.useRef(null),c=(0,s.usePrevious)(o),d=(0,l.useSize)(n);return r.useEffect(()=>{let e=u.current,t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(c!==o&&t){let r=new Event("click",{bubbles:a});t.call(e,o),e.dispatchEvent(r)}},[c,o,a]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:o,...i,tabIndex:-1,ref:u,style:{...e.style,...d,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function x(e){return e?"checked":"unchecked"}var b=e.i(47163);function w({className:e,...r}){return(0,t.jsx)(m,{"data-slot":"switch",className:(0,b.cn)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...r,children:(0,t.jsx)(y,{"data-slot":"switch-thumb",className:"bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"})})}e.s(["Switch",()=>w],19036)},16715,e=>{"use strict";let t=(0,e.i(75254).default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],16715)},70065,e=>{"use strict";var t=e.i(43476),r=e.i(47163);function n({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,r.cn)("bg-card text-card-foreground flex flex-col gap-1 rounded-lg border shadow-sm",e),...n})}function o({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,r.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...n})}function a({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,r.cn)("leading-none font-semibold",e),...n})}function i({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,r.cn)("text-muted-foreground text-sm",e),...n})}function s({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,r.cn)("px-6",e),...n})}e.s(["Card",()=>n,"CardContent",()=>s,"CardDescription",()=>i,"CardHeader",()=>o,"CardTitle",()=>a])},10708,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(48425),o=r.forwardRef((e,r)=>(0,t.jsx)(n.Primitive.label,{...e,ref:r,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));o.displayName="Label";var a=e.i(47163);function i({className:e,...r}){return(0,t.jsx)(o,{"data-slot":"label",className:(0,a.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...r})}e.s(["Label",()=>i],10708)},30374,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(26999),o=e.i(37727),a=e.i(47163);let i=n.Root,s=n.Trigger,l=n.Portal;n.Close;let u=r.forwardRef(({className:e,...r},o)=>(0,t.jsx)(n.Overlay,{ref:o,className:"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",...r}));u.displayName=n.Overlay.displayName;let c=r.forwardRef(({className:e,children:r,...i},s)=>(0,t.jsxs)(l,{children:[(0,t.jsx)(u,{}),(0,t.jsxs)(n.Content,{ref:s,className:(0,a.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",e),...i,children:[r,(0,t.jsxs)(n.Close,{className:"absolute right-3 top-2.5 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,t.jsx)(o.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));c.displayName=n.Content.displayName;let d=({className:e,...r})=>(0,t.jsx)("div",{className:"flex flex-col space-y-1.5 text-center sm:text-left",...r});d.displayName="DialogHeader";let f=({className:e,...r})=>(0,t.jsx)("div",{className:"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",...r});f.displayName="DialogFooter";let p=r.forwardRef(({className:e,...r},o)=>(0,t.jsx)(n.Title,{ref:o,className:(0,a.cn)("text-lg font-semibold leading-none tracking-tight",e),...r}));p.displayName=n.Title.displayName;let h=r.forwardRef(({className:e,...r},o)=>(0,t.jsx)(n.Description,{ref:o,className:"text-sm text-muted-foreground",...r}));h.displayName=n.Description.displayName,e.s(["Dialog",()=>i,"DialogContent",()=>c,"DialogDescription",()=>h,"DialogFooter",()=>f,"DialogHeader",()=>d,"DialogTitle",()=>p,"DialogTrigger",()=>s])},91799,97250,34080,e=>{"use strict";var t=e.i(75254);let r=(0,t.default)("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);e.s(["Moon",()=>r],91799);let n=(0,t.default)("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);e.s(["Sun",()=>n],97250);var o=e.i(71645);let a="nomad-karaoke-theme";function i(){let[e,t]=(0,o.useState)("dark"),[r,n]=(0,o.useState)(!1);(0,o.useEffect)(()=>{n(!0);let e=localStorage.getItem(a);"light"===e||"dark"===e?(t(e),i(e)):i("dark")},[]);let i=e=>{let t=document.documentElement;"light"===e?t.classList.add("light"):t.classList.remove("light")},s=(0,o.useCallback)(e=>{t(e),localStorage.setItem(a,e),i(e)},[]),l=(0,o.useCallback)(()=>{s("dark"===e?"light":"dark")},[e,s]),u="dark"===e;return{theme:e,setTheme:s,toggleTheme:l,isDarkMode:u,mounted:r}}e.s(["useTheme",()=>i],34080)},69638,e=>{"use strict";let t=(0,e.i(75254).default)("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);e.s(["CheckCircle",()=>t],69638)},73884,e=>{"use strict";let t=(0,e.i(75254).default)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",()=>t],73884)},63209,e=>{"use strict";let t=(0,e.i(75254).default)("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",()=>t],63209)},74886,e=>{"use strict";let t=(0,e.i(75254).default)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",()=>t],74886)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"warnOnce",{enumerable:!0,get:function(){return s}});let s=e=>{}},69638,e=>{"use strict";let t=(0,e.i(75254).default)("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);e.s(["CheckCircle",()=>t],69638)},61659,e=>{"use strict";let t=(0,e.i(75254).default)("CreditCard",[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]]);e.s(["CreditCard",()=>t],61659)},91799,97250,34080,e=>{"use strict";var t=e.i(75254);let a=(0,t.default)("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);e.s(["Moon",()=>a],91799);let s=(0,t.default)("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);e.s(["Sun",()=>s],97250);var r=e.i(71645);let l="nomad-karaoke-theme";function i(){let[e,t]=(0,r.useState)("dark"),[a,s]=(0,r.useState)(!1);(0,r.useEffect)(()=>{s(!0);let e=localStorage.getItem(l);"light"===e||"dark"===e?(t(e),i(e)):i("dark")},[]);let i=e=>{let t=document.documentElement;"light"===e?t.classList.add("light"):t.classList.remove("light")},n=(0,r.useCallback)(e=>{t(e),localStorage.setItem(l,e),i(e)},[]),o=(0,r.useCallback)(()=>{n("dark"===e?"light":"dark")},[e,n]),d="dark"===e;return{theme:e,setTheme:n,toggleTheme:o,isDarkMode:d,mounted:a}}e.s(["useTheme",()=>i],34080)},18581,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"useMergedRef",{enumerable:!0,get:function(){return r}});let s=e.r(71645);function r(e,t){let a=(0,s.useRef)(null),r=(0,s.useRef)(null);return(0,s.useCallback)(s=>{if(null===s){let e=a.current;e&&(a.current=null,e());let t=r.current;t&&(r.current=null,t())}else e&&(a.current=l(e,s)),t&&(r.current=l(t,s))},[e,t])}function l(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let a=e(t);return"function"==typeof a?a:()=>e(null)}}("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},31278,17521,e=>{"use strict";let t=(0,e.i(75254).default)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["default",()=>t],17521),e.s(["Loader2",()=>t],31278)},18566,(e,t,a)=>{t.exports=e.r(76562)},23750,e=>{"use strict";var t=e.i(43476),a=e.i(47163);function s({className:e,type:s,...r}){return(0,t.jsx)("input",{type:s,"data-slot":"input",className:(0,a.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...r})}e.s(["Input",()=>s])},71689,e=>{"use strict";let t=(0,e.i(75254).default)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],71689)},31171,e=>{"use strict";let t=(0,e.i(75254).default)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["default",()=>t])},78745,e=>{"use strict";let t=(0,e.i(75254).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t])},69074,e=>{"use strict";let t=(0,e.i(75254).default)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);e.s(["Upload",()=>t],69074)},3116,e=>{"use strict";let t=(0,e.i(75254).default)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);e.s(["Clock",()=>t],3116)},55436,e=>{"use strict";let t=(0,e.i(75254).default)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);e.s(["Search",()=>t],55436)},43531,e=>{"use strict";var t=e.i(78745);e.s(["Check",()=>t.default])},86311,e=>{"use strict";let t=(0,e.i(75254).default)("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);e.s(["MessageSquare",()=>t],86311)},83086,e=>{"use strict";let t=(0,e.i(75254).default)("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);e.s(["Sparkles",()=>t],83086)},78716,e=>{"use strict";let t=(0,e.i(75254).default)("Video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]);e.s(["Video",()=>t],78716)},62474,e=>{"use strict";var t=e.i(43476),a=e.i(91799),s=e.i(97250),r=e.i(34080),l=e.i(67881);function i(){let{theme:e,toggleTheme:i,mounted:n}=(0,r.useTheme)();return n?(0,t.jsxs)(l.Button,{variant:"ghost",size:"icon",onClick:i,className:"w-9 h-9",title:`Switch to ${"dark"===e?"light":"dark"} mode`,children:["dark"===e?(0,t.jsx)(s.Sun,{className:"h-5 w-5 text-muted-foreground hover:text-foreground transition-colors"}):(0,t.jsx)(a.Moon,{className:"h-5 w-5 text-muted-foreground hover:text-foreground transition-colors"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle theme"})]}):(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:"w-9 h-9",children:(0,t.jsx)("span",{className:"sr-only",children:"Toggle theme"})})}e.s(["ThemeToggle",()=>i])},30374,e=>{"use strict";var t=e.i(43476),a=e.i(71645),s=e.i(26999),r=e.i(37727),l=e.i(47163);let i=s.Root,n=s.Trigger,o=s.Portal;s.Close;let d=a.forwardRef(({className:e,...a},r)=>(0,t.jsx)(s.Overlay,{ref:r,className:"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",...a}));d.displayName=s.Overlay.displayName;let c=a.forwardRef(({className:e,children:a,...i},n)=>(0,t.jsxs)(o,{children:[(0,t.jsx)(d,{}),(0,t.jsxs)(s.Content,{ref:n,className:(0,l.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",e),...i,children:[a,(0,t.jsxs)(s.Close,{className:"absolute right-3 top-2.5 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,t.jsx)(r.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));c.displayName=s.Content.displayName;let u=({className:e,...a})=>(0,t.jsx)("div",{className:"flex flex-col space-y-1.5 text-center sm:text-left",...a});u.displayName="DialogHeader";let m=({className:e,...a})=>(0,t.jsx)("div",{className:"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",...a});m.displayName="DialogFooter";let x=a.forwardRef(({className:e,...a},r)=>(0,t.jsx)(s.Title,{ref:r,className:(0,l.cn)("text-lg font-semibold leading-none tracking-tight",e),...a}));x.displayName=s.Title.displayName;let h=a.forwardRef(({className:e,...a},r)=>(0,t.jsx)(s.Description,{ref:r,className:"text-sm text-muted-foreground",...a}));h.displayName=s.Description.displayName,e.s(["Dialog",()=>i,"DialogContent",()=>c,"DialogDescription",()=>h,"DialogFooter",()=>m,"DialogHeader",()=>u,"DialogTitle",()=>x,"DialogTrigger",()=>n])},63488,e=>{"use strict";let t=(0,e.i(75254).default)("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);e.s(["Mail",()=>t],63488)},23616,e=>{"use strict";let t=(0,e.i(75254).default)("Youtube",[["path",{d:"M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17",key:"1q2vi4"}],["path",{d:"m10 15 5-3-5-3z",key:"1jp15x"}]]);e.s(["Youtube",()=>t],23616)},53339,e=>{"use strict";let t=(0,e.i(75254).default)("Music",[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]);e.s(["Music",()=>t],53339)},64659,65261,84123,e=>{"use strict";var t=e.i(31171);e.s(["ChevronDown",()=>t.default],64659);var a=e.i(43476),s=e.i(71645),r=e.i(63488);let l=(0,e.i(75254).default)("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);e.s(["KeyRound",()=>l],65261);var i=e.i(71689),n=e.i(31278),o=e.i(69638),d=e.i(67881),c=e.i(23750),u=e.i(30374),m=e.i(38036);function x({open:e,onClose:t,onSuccess:x}){let[h,f]=(0,s.useState)("email"),[p,g]=(0,s.useState)(""),[y,k]=(0,s.useState)(""),[j,v]=(0,s.useState)(""),{sendMagicLink:b,loginWithToken:N,isLoading:w,error:C,clearError:M}=(0,m.useAuth)(),D=async e=>{(e.preventDefault(),v(""),p.trim())?p.includes("@")&&p.includes(".")?await b(p.trim().toLowerCase())&&f("sent"):v("Please enter a valid email"):v("Please enter your email")},S=async e=>{(e.preventDefault(),v(""),y.trim())?await N(y.trim())&&(k(""),x()):v("Please enter your access token")},T=()=>{f("email"),g(""),k(""),v(""),M(),t()},A=j||C;return(0,a.jsx)(u.Dialog,{open:e,onOpenChange:e=>!e&&T(),children:(0,a.jsxs)(u.DialogContent,{className:"sm:max-w-md bg-card border-border",children:["email"===h&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(u.DialogHeader,{children:[(0,a.jsxs)(u.DialogTitle,{className:"text-foreground flex items-center gap-2",children:[(0,a.jsx)(r.Mail,{className:"w-5 h-5 text-primary"}),"Sign In"]}),(0,a.jsx)(u.DialogDescription,{className:"text-muted-foreground",children:"Enter your email to receive a sign-in link"})]}),(0,a.jsxs)("form",{onSubmit:D,className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(c.Input,{type:"email",placeholder:"you@example.com",value:p,onChange:e=>{g(e.target.value),v(""),M()},className:"bg-secondary border-border text-foreground",autoFocus:!0,disabled:w}),A&&(0,a.jsx)("p",{className:"text-xs text-destructive mt-1",children:A})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(d.Button,{type:"submit",disabled:!p.trim()||w,className:"w-full bg-primary hover:bg-primary/90",children:w?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.Loader2,{className:"w-4 h-4 mr-2 animate-spin"}),"Sending..."]}):"Send Sign-In Link"}),(0,a.jsxs)(d.Button,{type:"button",variant:"ghost",onClick:()=>f("token"),className:"text-muted-foreground hover:text-foreground",children:[(0,a.jsx)(l,{className:"w-4 h-4 mr-2"}),"Use Access Token Instead"]})]}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground text-center",children:"No account? Just enter your email to get started."})]})]}),"sent"===h&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(u.DialogHeader,{children:(0,a.jsxs)(u.DialogTitle,{className:"text-foreground flex items-center gap-2",children:[(0,a.jsx)(o.CheckCircle,{className:"w-5 h-5 text-success"}),"Check Your Email"]})}),(0,a.jsxs)("div",{className:"space-y-4 py-4",children:[(0,a.jsx)("p",{className:"text-foreground",children:"We sent a sign-in link to:"}),(0,a.jsx)("p",{className:"text-foreground font-medium bg-secondary px-4 py-2 rounded-md",children:p}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Click the link in the email to sign in. The link expires in 15 minutes."}),(0,a.jsxs)("div",{className:"pt-4 border-t border-border space-y-2",children:[(0,a.jsxs)(d.Button,{variant:"outline",onClick:()=>f("email"),className:"w-full border-border text-foreground hover:text-foreground",children:[(0,a.jsx)(i.ArrowLeft,{className:"w-4 h-4 mr-2"}),"Try a Different Email"]}),(0,a.jsx)(d.Button,{variant:"ghost",onClick:T,className:"w-full text-muted-foreground",children:"Close"})]})]})]}),"token"===h&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(u.DialogHeader,{children:[(0,a.jsxs)(u.DialogTitle,{className:"text-foreground flex items-center gap-2",children:[(0,a.jsx)(l,{className:"w-5 h-5 text-warning"}),"Access Token"]}),(0,a.jsx)(u.DialogDescription,{className:"text-muted-foreground",children:"Enter your access token to authenticate"})]}),(0,a.jsxs)("form",{onSubmit:S,className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(c.Input,{type:"password",placeholder:"Enter access token",value:y,onChange:e=>{k(e.target.value),v(""),M()},className:"bg-secondary border-border text-foreground",autoFocus:!0,disabled:w}),A&&(0,a.jsx)("p",{className:"text-xs text-destructive mt-1",children:A})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(d.Button,{type:"submit",disabled:!y.trim()||w,className:"w-full bg-warning hover:bg-warning/90 text-warning-foreground",children:w?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.Loader2,{className:"w-4 h-4 mr-2 animate-spin"}),"Authenticating..."]}):"Authenticate"}),(0,a.jsxs)(d.Button,{type:"button",variant:"ghost",onClick:()=>f("email"),className:"text-muted-foreground hover:text-foreground",children:[(0,a.jsx)(i.ArrowLeft,{className:"w-4 h-4 mr-2"}),"Back to Email Sign-In"]})]}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground text-center",children:"Contact an admin to get an access token"})]})]})]})})}e.s(["AuthDialog",()=>x],84123)},5833,e=>{"use strict";var t=e.i(43476),a=e.i(71645),s=e.i(31278);function r({className:e="",spinnerClassName:r="w-8 h-8",warmUpDelay:l=5e3,almostThereDelay:i=15e3}){let[n,o]=(0,a.useState)("initial");return(0,a.useEffect)(()=>{let e=setTimeout(()=>{o("warming")},l),t=setTimeout(()=>{o("almost")},i);return()=>{clearTimeout(e),clearTimeout(t)}},[l,i]),(0,t.jsxs)("div",{className:`flex flex-col items-center justify-center gap-3 ${e}`,children:[(0,t.jsx)(s.Loader2,{className:`animate-spin ${r}`,style:{color:"var(--primary)"}}),"warming"===n&&(0,t.jsx)("p",{className:"text-sm animate-fade-in",style:{color:"var(--text-muted)"},children:"Warming up the generator..."}),"almost"===n&&(0,t.jsxs)("div",{className:"text-center animate-fade-in",children:[(0,t.jsx)("p",{className:"text-sm",style:{color:"var(--text-muted)"},children:"Almost there..."}),(0,t.jsx)("p",{className:"text-xs mt-1",style:{color:"var(--text-muted)",opacity:.7},children:"First load can take up to 30 seconds"})]})]})}e.s(["WarmingUpLoader",()=>r])}]);