@jant/core 0.6.14 → 0.6.16

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 (350) hide show
  1. package/bin/commands/import-site.js +88 -13
  2. package/bin/commands/migrate.js +55 -0
  3. package/bin/commands/posts/rebuild-html.js +184 -0
  4. package/bin/commands/site/snapshot/import.js +14 -10
  5. package/bin/lib/d1-query.js +23 -5
  6. package/bin/lib/migration-runner.js +29 -7
  7. package/bin/lib/node-database.js +32 -0
  8. package/bin/lib/site-snapshot.js +347 -46
  9. package/bin/lib/sql-export.js +1 -1
  10. package/bin/lib/thread-collection-migration.js +326 -0
  11. package/dist/app-C75Zc8dD.js +6 -0
  12. package/dist/{app-2i7-WQHg.js → app-C7_4oab9.js} +7774 -6425
  13. package/dist/client/.vite/manifest.json +8 -8
  14. package/dist/client/_assets/chunks/{url-pLre2DM_.js → url-CU9pEbk5.js} +1 -1
  15. package/dist/client/_assets/{client-BvID5ucz.js → client-Bq0vre8Y.js} +59 -38
  16. package/dist/client/_assets/client-D3VZyG4L.css +2 -0
  17. package/dist/client/_assets/client-auth-F2rb9WfF.js +5571 -0
  18. package/dist/{env-OHRKGcMj.js → env-BPYViDJJ.js} +1 -1
  19. package/dist/{export-DWn149b7.js → export-Dl5KCiEs.js} +1348 -128
  20. package/dist/{github-api-BgSiE71w.js → github-api-BNF35Lkx.js} +1 -1
  21. package/dist/{github-app-BbklkFmU.js → github-app-DdiD-bC4.js} +1 -1
  22. package/dist/{github-sync-C0zyF6XS.js → github-sync-Bqg62IvV.js} +3 -3
  23. package/dist/{github-sync-Ckk0sJxK.js → github-sync-HdK2EgvJ.js} +3 -3
  24. package/dist/index.js +5 -5
  25. package/dist/node.js +7 -7
  26. package/dist/{url-BMYO-Zlt.js → url-CbLAtlZe.js} +517 -12
  27. package/package.json +11 -10
  28. package/src/__tests__/bin/posts-rebuild-html.test.ts +137 -0
  29. package/src/__tests__/dev-navigation-defaults.test.ts +22 -0
  30. package/src/__tests__/export-hugo-build.test.ts +63 -4
  31. package/src/__tests__/export-import-roundtrip.test.ts +6 -4
  32. package/src/__tests__/export-service.test.ts +142 -9
  33. package/src/__tests__/helpers/app.ts +3 -0
  34. package/src/__tests__/helpers/export-fixtures.ts +2 -0
  35. package/src/__tests__/import-site-command.test.ts +65 -0
  36. package/src/__tests__/mise-config.test.ts +22 -0
  37. package/src/__tests__/vite-config.test.ts +45 -0
  38. package/src/app.tsx +16 -3
  39. package/src/client/__tests__/collection-created-notice.test.ts +36 -0
  40. package/src/client/__tests__/collection-form-bridge.test.ts +10 -1
  41. package/src/client/__tests__/collection-page-actions.test.ts +71 -2
  42. package/src/client/__tests__/compose-bridge.test.ts +316 -2
  43. package/src/client/__tests__/compose-shortcuts.test.ts +20 -0
  44. package/src/client/__tests__/feed-video-player.test.ts +16 -1
  45. package/src/client/__tests__/footnote-rail.test.ts +472 -0
  46. package/src/client/__tests__/hydrate-partial.test.ts +3 -0
  47. package/src/client/__tests__/toast.test.ts +82 -1
  48. package/src/client/collection-created-notice.ts +66 -0
  49. package/src/client/collection-form-bridge.ts +17 -0
  50. package/src/client/collection-navigation.ts +44 -0
  51. package/src/client/collection-page-actions.ts +57 -1
  52. package/src/client/components/__tests__/compose-format-convert.test.ts +0 -19
  53. package/src/client/components/__tests__/jant-collection-directory.test.ts +155 -6
  54. package/src/client/components/__tests__/jant-command-palette.test.ts +51 -0
  55. package/src/client/components/__tests__/jant-compose-dialog.test.ts +2268 -206
  56. package/src/client/components/__tests__/jant-compose-editor.test.ts +147 -59
  57. package/src/client/components/__tests__/jant-compose-fullscreen.test.ts +114 -64
  58. package/src/client/components/__tests__/jant-config-editor.test.ts +405 -0
  59. package/src/client/components/__tests__/jant-media-lightbox.test.ts +121 -0
  60. package/src/client/components/__tests__/jant-nav-manager.test.ts +538 -2
  61. package/src/client/components/__tests__/jant-post-form.test.ts +2 -2
  62. package/src/client/components/__tests__/jant-post-menu.test.ts +47 -5
  63. package/src/client/components/__tests__/jant-settings-avatar.test.ts +2 -2
  64. package/src/client/components/__tests__/jant-settings-general.test.ts +3 -3
  65. package/src/client/components/collection-manager-types.ts +9 -3
  66. package/src/client/components/compose-format-convert.ts +5 -1
  67. package/src/client/components/compose-types.ts +55 -3
  68. package/src/client/components/jant-collection-directory.ts +165 -30
  69. package/src/client/components/jant-command-palette.ts +14 -7
  70. package/src/client/components/jant-compose-dialog.ts +1542 -694
  71. package/src/client/components/jant-compose-editor.ts +237 -99
  72. package/src/client/components/jant-compose-fullscreen.ts +27 -9
  73. package/src/client/components/jant-config-editor.ts +722 -0
  74. package/src/client/components/jant-media-lightbox.ts +100 -18
  75. package/src/client/components/jant-nav-manager.ts +1283 -54
  76. package/src/client/components/jant-post-form.ts +3 -3
  77. package/src/client/components/jant-post-menu.ts +177 -95
  78. package/src/client/components/nav-manager-types.ts +51 -2
  79. package/src/client/components/post-form-types.ts +1 -1
  80. package/src/client/compose-bridge.ts +147 -123
  81. package/src/client/compose-launch.ts +13 -0
  82. package/src/client/compose-shortcuts.ts +5 -1
  83. package/src/client/feed-video-player.ts +62 -2
  84. package/src/client/footnote-rail.ts +478 -0
  85. package/src/client/hydrate-partial.ts +2 -0
  86. package/src/client/media-lightbox-events.ts +63 -0
  87. package/src/client/post-refresh.ts +135 -0
  88. package/src/client/site-header-fragment.ts +38 -0
  89. package/src/client/tiptap/__tests__/blockquote-editing.test.ts +201 -0
  90. package/src/client/tiptap/__tests__/clear-formatting.test.ts +168 -0
  91. package/src/client/tiptap/__tests__/link-input-rules.test.ts +121 -0
  92. package/src/client/tiptap/__tests__/list-editing.test.ts +447 -0
  93. package/src/client/tiptap/__tests__/markdown-clipboard.test.ts +727 -4
  94. package/src/client/tiptap/__tests__/table-controls.test.ts +263 -0
  95. package/src/client/tiptap/__tests__/table-size-picker.test.ts +179 -0
  96. package/src/client/tiptap/bubble-menu.ts +88 -10
  97. package/src/client/tiptap/continuous-lists.ts +102 -0
  98. package/src/client/tiptap/create-editor.ts +3 -0
  99. package/src/client/tiptap/extensions.ts +14 -5
  100. package/src/client/tiptap/link-input-rules.ts +4 -4
  101. package/src/client/tiptap/markdown-clipboard.ts +608 -11
  102. package/src/client/tiptap/slash-commands.ts +8 -1
  103. package/src/client/tiptap/structural-keymap.ts +211 -0
  104. package/src/client/tiptap/tab-indent.ts +8 -22
  105. package/src/client/tiptap/table-control-labels.ts +30 -0
  106. package/src/client/tiptap/table-controls.ts +537 -0
  107. package/src/client/tiptap/table-size-picker.ts +254 -0
  108. package/src/client/toast.ts +133 -39
  109. package/src/client-auth.ts +1 -0
  110. package/src/client.ts +1 -0
  111. package/src/db/__tests__/backfill-thread-activity.test.ts +234 -0
  112. package/src/db/__tests__/d1-query.test.ts +43 -1
  113. package/src/db/__tests__/migration-runner.test.ts +63 -0
  114. package/src/db/__tests__/migrations.test.ts +469 -0
  115. package/src/db/__tests__/thread-activity.test.ts +113 -0
  116. package/src/db/__tests__/thread-collection-migration.test.ts +364 -0
  117. package/src/db/backfills/0005_split_thread_activity_from_quiet_replies.sql +68 -0
  118. package/src/db/migrations/0027_old_blue_blade.sql +39 -0
  119. package/src/db/migrations/0028_superb_post.sql +2 -0
  120. package/src/db/migrations/0029_boring_magma.sql +1 -0
  121. package/src/db/migrations/0030_typical_vivisector.sql +50 -0
  122. package/src/db/migrations/0031_many_ego.sql +3 -0
  123. package/src/db/migrations/meta/0027_snapshot.json +2511 -0
  124. package/src/db/migrations/meta/0028_snapshot.json +2511 -0
  125. package/src/db/migrations/meta/0029_snapshot.json +2519 -0
  126. package/src/db/migrations/meta/0030_snapshot.json +2541 -0
  127. package/src/db/migrations/meta/0031_snapshot.json +2562 -0
  128. package/src/db/migrations/meta/_journal.json +35 -0
  129. package/src/db/migrations/pg/0025_moaning_epoch.sql +39 -0
  130. package/src/db/migrations/pg/0026_talented_killer_shrike.sql +2 -0
  131. package/src/db/migrations/pg/0027_short_cannonball.sql +1 -0
  132. package/src/db/migrations/pg/0028_perfect_sharon_carter.sql +27 -0
  133. package/src/db/migrations/pg/0029_rare_hairball.sql +3 -0
  134. package/src/db/migrations/pg/meta/0025_snapshot.json +3204 -0
  135. package/src/db/migrations/pg/meta/0026_snapshot.json +3204 -0
  136. package/src/db/migrations/pg/meta/0027_snapshot.json +3211 -0
  137. package/src/db/migrations/pg/meta/0028_snapshot.json +3248 -0
  138. package/src/db/migrations/pg/meta/0029_snapshot.json +3289 -0
  139. package/src/db/migrations/pg/meta/_journal.json +35 -0
  140. package/src/db/pg/schema.ts +46 -20
  141. package/src/db/rehearsal-fixtures/demo-current.json +39 -4
  142. package/src/db/rehearsal-fixtures/demo-current.sql +121 -6
  143. package/src/db/schema.ts +48 -20
  144. package/src/db/thread-activity.ts +101 -0
  145. package/src/i18n/__tests__/detect.test.ts +8 -2
  146. package/src/i18n/detect.ts +14 -5
  147. package/src/i18n/locales/public/en.po +222 -51
  148. package/src/i18n/locales/public/en.ts +1 -1
  149. package/src/i18n/locales/public/zh-Hans.po +216 -45
  150. package/src/i18n/locales/public/zh-Hans.ts +1 -1
  151. package/src/i18n/locales/public/zh-Hant.po +216 -45
  152. package/src/i18n/locales/public/zh-Hant.ts +1 -1
  153. package/src/i18n/locales/settings/en.po +513 -10
  154. package/src/i18n/locales/settings/en.ts +1 -1
  155. package/src/i18n/locales/settings/zh-Hans.po +515 -12
  156. package/src/i18n/locales/settings/zh-Hans.ts +1 -1
  157. package/src/i18n/locales/settings/zh-Hant.po +515 -12
  158. package/src/i18n/locales/settings/zh-Hant.ts +1 -1
  159. package/src/lib/__tests__/api-settings.test.ts +299 -0
  160. package/src/lib/__tests__/constants.test.ts +5 -0
  161. package/src/lib/__tests__/feed-policy.test.ts +25 -0
  162. package/src/lib/__tests__/feed.test.ts +168 -0
  163. package/src/lib/__tests__/footnotes-upgrade.test.ts +181 -0
  164. package/src/lib/__tests__/markdown-roundtrip-embed.test.ts +61 -0
  165. package/src/lib/__tests__/markdown-to-tiptap.test.ts +32 -4
  166. package/src/lib/__tests__/markdown.test.ts +24 -6
  167. package/src/lib/__tests__/navigation.test.ts +59 -2
  168. package/src/lib/__tests__/post-body-html.test.ts +176 -0
  169. package/src/lib/__tests__/post-display.test.ts +64 -0
  170. package/src/lib/__tests__/resolve-config.test.ts +113 -1
  171. package/src/lib/__tests__/slug.test.ts +18 -0
  172. package/src/lib/__tests__/summary.test.ts +82 -0
  173. package/src/lib/__tests__/timeline.test.ts +109 -70
  174. package/src/lib/__tests__/timezones.test.ts +31 -3
  175. package/src/lib/__tests__/tiptap-render.test.ts +268 -9
  176. package/src/lib/__tests__/tiptap-to-markdown.test.ts +6 -0
  177. package/src/lib/__tests__/translit.test.ts +87 -0
  178. package/src/lib/__tests__/url.test.ts +53 -0
  179. package/src/lib/__tests__/view.test.ts +53 -0
  180. package/src/lib/__tests__/worker-response-cache.test.ts +18 -1
  181. package/src/lib/api-settings.ts +239 -12
  182. package/src/lib/collection-sort.ts +7 -5
  183. package/src/lib/constants.ts +2 -0
  184. package/src/lib/feed-path.ts +25 -0
  185. package/src/lib/feed-policy.ts +64 -0
  186. package/src/lib/feed.ts +113 -11
  187. package/src/lib/footnotes.ts +264 -0
  188. package/src/lib/github-sync-site-config.ts +2 -0
  189. package/src/lib/hugo-markdown.ts +15 -3
  190. package/src/lib/jant-branding.ts +1 -0
  191. package/src/lib/link-preview.ts +25 -0
  192. package/src/lib/markdown-manager.ts +193 -5
  193. package/src/lib/markdown.ts +10 -3
  194. package/src/lib/navigation.ts +16 -3
  195. package/src/lib/post-body-html.ts +131 -0
  196. package/src/lib/post-display.ts +47 -8
  197. package/src/lib/render.tsx +9 -2
  198. package/src/lib/resolve-config.ts +100 -16
  199. package/src/lib/schemas.ts +133 -1
  200. package/src/lib/settings-paths.ts +5 -0
  201. package/src/lib/site-skill.ts +78 -0
  202. package/src/lib/summary.ts +16 -5
  203. package/src/lib/timeline.ts +137 -131
  204. package/src/lib/timezones.ts +54 -14
  205. package/src/lib/tiptap-render.ts +359 -83
  206. package/src/lib/translit.ts +288 -0
  207. package/src/lib/url.ts +123 -12
  208. package/src/lib/view.ts +58 -20
  209. package/src/lib/worker-response-cache.ts +11 -18
  210. package/src/middleware/__tests__/public-content-access.test.ts +91 -0
  211. package/src/middleware/config.ts +2 -2
  212. package/src/middleware/public-content-access.ts +87 -0
  213. package/src/node/__tests__/cli-export.test.ts +14 -0
  214. package/src/node/__tests__/cli-migrate.test.ts +6 -0
  215. package/src/node/__tests__/cli-site-snapshot.test.ts +205 -2
  216. package/src/node/__tests__/cli-snapshot-meta.test.ts +100 -0
  217. package/src/node/index.ts +2 -1
  218. package/src/preset.css +16 -2
  219. package/src/routes/__tests__/compose.test.ts +51 -0
  220. package/src/routes/__tests__/site-skill.test.ts +112 -0
  221. package/src/routes/api/__tests__/collections.test.ts +91 -19
  222. package/src/routes/api/__tests__/mcp.test.ts +65 -1
  223. package/src/routes/api/__tests__/nav-items.test.ts +91 -0
  224. package/src/routes/api/__tests__/palette.test.ts +44 -0
  225. package/src/routes/api/__tests__/public-access.test.ts +81 -0
  226. package/src/routes/api/__tests__/settings.test.ts +217 -0
  227. package/src/routes/api/collections.ts +22 -26
  228. package/src/routes/api/export.ts +2 -0
  229. package/src/routes/api/internal/__tests__/post-body-html.test.ts +163 -0
  230. package/src/routes/api/internal/__tests__/sites.test.ts +35 -2
  231. package/src/routes/api/internal/post-body-html.ts +43 -0
  232. package/src/routes/api/internal/sites.ts +24 -0
  233. package/src/routes/api/nav-items.ts +24 -1
  234. package/src/routes/api/posts.ts +14 -10
  235. package/src/routes/api/public/__tests__/archive.test.ts +35 -0
  236. package/src/routes/api/public/__tests__/posts.test.ts +246 -0
  237. package/src/routes/api/public/archive.ts +4 -0
  238. package/src/routes/api/public/posts.ts +48 -24
  239. package/src/routes/api/search.ts +3 -0
  240. package/src/routes/api/settings.ts +33 -0
  241. package/src/routes/auth/__tests__/setup.test.ts +7 -4
  242. package/src/routes/compose.tsx +8 -3
  243. package/src/routes/dash/settings.tsx +45 -2
  244. package/src/routes/feed/__tests__/feed.test.ts +210 -6
  245. package/src/routes/feed/__tests__/sitemap.test.ts +68 -1
  246. package/src/routes/feed/feed.ts +23 -14
  247. package/src/routes/pages/__tests__/archive-params.test.ts +384 -3
  248. package/src/routes/pages/__tests__/collection-routing.test.ts +63 -5
  249. package/src/routes/pages/__tests__/collections.test.ts +9 -9
  250. package/src/routes/pages/__tests__/featured.test.ts +6 -2
  251. package/src/routes/pages/__tests__/preview.test.ts +176 -0
  252. package/src/routes/pages/__tests__/search.test.ts +69 -0
  253. package/src/routes/pages/archive.tsx +90 -22
  254. package/src/routes/pages/collection.tsx +32 -19
  255. package/src/routes/pages/collections.tsx +6 -1
  256. package/src/routes/pages/page.tsx +86 -11
  257. package/src/routes/site-skill.ts +18 -0
  258. package/src/services/__tests__/auth.test.ts +7 -5
  259. package/src/services/__tests__/collection.test.ts +190 -44
  260. package/src/services/__tests__/navigation.test.ts +229 -21
  261. package/src/services/__tests__/post-timeline.test.ts +249 -39
  262. package/src/services/__tests__/post.test.ts +844 -5
  263. package/src/services/__tests__/search.test.ts +48 -1
  264. package/src/services/__tests__/settings.test.ts +8 -0
  265. package/src/services/__tests__/site-admin.test.ts +121 -1
  266. package/src/services/auth.ts +2 -2
  267. package/src/services/bootstrap.ts +3 -2
  268. package/src/services/collection.ts +224 -167
  269. package/src/services/export-theme/assets/client-site.css +1 -1
  270. package/src/services/export-theme/assets/client-site.js +46 -25
  271. package/src/services/export-theme/layouts/_default/list.html +18 -4
  272. package/src/services/export-theme/layouts/_default/rss.xml +8 -12
  273. package/src/services/export-theme/layouts/featured/list.html +5 -4
  274. package/src/services/export-theme/layouts/partials/featured-thread.html +56 -0
  275. package/src/services/export-theme/layouts/partials/footer.html +1 -1
  276. package/src/services/export-theme/layouts/partials/media-gallery.html +1 -0
  277. package/src/services/export-theme/styles/main.css +30 -2
  278. package/src/services/export.ts +94 -85
  279. package/src/services/mcp.ts +37 -27
  280. package/src/services/media.ts +1 -1
  281. package/src/services/navigation.ts +185 -46
  282. package/src/services/path.ts +4 -1
  283. package/src/services/post.ts +1142 -342
  284. package/src/services/search.ts +17 -2
  285. package/src/services/settings.ts +2 -10
  286. package/src/services/site-admin.ts +63 -43
  287. package/src/style-cjk-jp.css +1 -1
  288. package/src/style-cjk-kr.css +1 -1
  289. package/src/style-cjk-tc.css +1 -1
  290. package/src/style-cjk.css +1 -1
  291. package/src/styles/components.css +540 -14
  292. package/src/styles/site-media.css +111 -19
  293. package/src/styles/tokens.css +76 -10
  294. package/src/styles/ui.css +2227 -1347
  295. package/src/types/bindings.ts +3 -0
  296. package/src/types/config.ts +243 -12
  297. package/src/types/constants.ts +22 -1
  298. package/src/types/entities.ts +14 -8
  299. package/src/types/operations.ts +18 -10
  300. package/src/types/props.ts +20 -2
  301. package/src/types/raw-assets.d.ts +5 -0
  302. package/src/types/views.ts +22 -4
  303. package/src/ui/__tests__/font-themes.test.ts +42 -30
  304. package/src/ui/compose/ComposeDialog.tsx +109 -19
  305. package/src/ui/dash/appearance/NavigationContent.tsx +332 -4
  306. package/src/ui/dash/appearance/__tests__/NavigationContent.test.tsx +23 -0
  307. package/src/ui/dash/settings/ConfigEditorContent.tsx +578 -0
  308. package/src/ui/dash/settings/GeneralContent.tsx +15 -5
  309. package/src/ui/dash/settings/SettingsRootContent.tsx +21 -1
  310. package/src/ui/dash/settings/__tests__/ConfigEditorContent.test.tsx +98 -0
  311. package/src/ui/dash/settings/__tests__/SettingsRootContent.test.tsx +15 -0
  312. package/src/ui/feed/CuratedThreadPreview.tsx +16 -4
  313. package/src/ui/feed/LinkCard.tsx +2 -12
  314. package/src/ui/feed/LinkPreview.tsx +2 -7
  315. package/src/ui/feed/NoteCard.tsx +10 -20
  316. package/src/ui/feed/PostStatusBadges.tsx +42 -3
  317. package/src/ui/feed/QuoteCard.tsx +2 -12
  318. package/src/ui/feed/ThreadPreview.tsx +26 -34
  319. package/src/ui/feed/TimelineFeed.tsx +2 -2
  320. package/src/ui/feed/__tests__/thread-preview.test.ts +197 -56
  321. package/src/ui/feed/__tests__/timeline-cards.test.ts +178 -3
  322. package/src/ui/feed/thread-preview-state.ts +5 -7
  323. package/src/ui/font-themes.ts +74 -26
  324. package/src/ui/layouts/BaseLayout.tsx +22 -8
  325. package/src/ui/layouts/__tests__/BaseLayout.test.tsx +64 -1
  326. package/src/ui/pages/ArchivePage.tsx +131 -24
  327. package/src/ui/pages/CollectionPage.tsx +101 -22
  328. package/src/ui/pages/CollectionsPage.tsx +3 -1
  329. package/src/ui/pages/PostPage.tsx +39 -12
  330. package/src/ui/pages/SearchPage.tsx +6 -14
  331. package/src/ui/pages/__tests__/ArchivePage.test.tsx +70 -0
  332. package/src/ui/pages/__tests__/PostPage.test.tsx +88 -0
  333. package/src/ui/shared/CollectionDirectory.tsx +13 -9
  334. package/src/ui/shared/CollectionsManager.tsx +17 -7
  335. package/src/ui/shared/DraftPreviewBar.tsx +49 -0
  336. package/src/ui/shared/HomePageBranding.tsx +2 -2
  337. package/src/ui/shared/MediaGallery.tsx +1 -0
  338. package/src/ui/shared/PostFooter.tsx +38 -13
  339. package/src/ui/shared/__tests__/home-page-branding.test.tsx +1 -1
  340. package/src/ui/shared/__tests__/media-gallery.test.ts +1 -0
  341. package/src/ui/shared/__tests__/navigation-labels.test.ts +2 -2
  342. package/src/ui/shared/__tests__/post-footer.test.ts +15 -0
  343. package/src/ui/shared/collection-management-labels.ts +33 -2
  344. package/src/ui/shared/custom-icons.ts +5 -0
  345. package/src/ui/shared/navigation-labels.ts +2 -4
  346. package/src/ui/shared/post-article-attributes.ts +52 -0
  347. package/dist/app-DZDlmh7C.js +0 -6
  348. package/dist/client/_assets/client-Cevfpm8H.css +0 -2
  349. package/dist/client/_assets/client-auth-v3yvhbgZ.js +0 -4736
  350. package/src/client/tiptap/wrapping-input-rules.ts +0 -102
@@ -38,6 +38,11 @@ msgstr ""
38
38
  msgid "{count} images couldn't be saved to your library — their original links were kept."
39
39
  msgstr "有 {count} 張圖片無法轉存到你的媒體庫,已保留原連結。"
40
40
 
41
+ #. @context: Value shown on a post's permalink control when the link is generated automatically — a stand-in for the path the server will assign. Sits next to real permalinks rendered as /my-post, so keep the leading slash
42
+ #: src/ui/compose/ComposeDialog.tsx
43
+ msgid "/…"
44
+ msgstr ""
45
+
41
46
  #. @context: Placeholder for the custom collections link URL
42
47
  #: src/ui/shared/collection-management-labels.ts
43
48
  msgid "/archive?format=quote or https://example.com"
@@ -163,11 +168,41 @@ msgstr ""
163
168
  msgid "Add Collection"
164
169
  msgstr ""
165
170
 
171
+ #. @context: Compose table action
172
+ #: src/ui/compose/ComposeDialog.tsx
173
+ msgid "Add column after"
174
+ msgstr ""
175
+
176
+ #. @context: Compose table action
177
+ #: src/ui/compose/ComposeDialog.tsx
178
+ msgid "Add column before"
179
+ msgstr ""
180
+
166
181
  #. @context: Primary action to add a custom link on collections page
167
182
  #: src/ui/shared/collection-management-labels.ts
168
183
  msgid "Add Link"
169
184
  msgstr ""
170
185
 
186
+ #. @context: Compose table action
187
+ #: src/ui/compose/ComposeDialog.tsx
188
+ msgid "Add row above"
189
+ msgstr ""
190
+
191
+ #. @context: Compose table action
192
+ #: src/ui/compose/ComposeDialog.tsx
193
+ msgid "Add row below"
194
+ msgstr ""
195
+
196
+ #. @context: Action that adds a Collection to site navigation
197
+ #: src/ui/shared/collection-management-labels.ts
198
+ msgid "Add to Navigation"
199
+ msgstr ""
200
+
201
+ #. @context: Loading label while adding a Collection to site navigation
202
+ #: src/ui/shared/collection-management-labels.ts
203
+ msgid "Adding…"
204
+ msgstr ""
205
+
171
206
  #. @context: Archive filter - collection dropdown default
172
207
  #: src/ui/pages/ArchivePage.tsx
173
208
  msgid "All collections"
@@ -263,11 +298,6 @@ msgstr ""
263
298
  msgid "Auto"
264
299
  msgstr ""
265
300
 
266
- #. @context: Compose summary shown near the submit controls when a manual custom link is cleared
267
- #: src/ui/compose/ComposeDialog.tsx
268
- msgid "Auto link"
269
- msgstr ""
270
-
271
301
  #. @context: Usage label for the circle tile asset card
272
302
  #: src/ui/pages/BrandPage.tsx
273
303
  msgid "Avatar-ready"
@@ -352,6 +382,11 @@ msgstr ""
352
382
  msgid "Choose a new password."
353
383
  msgstr ""
354
384
 
385
+ #. @context: Accessible title for the table dimension picker
386
+ #: src/ui/compose/ComposeDialog.tsx
387
+ msgid "Choose table size"
388
+ msgstr ""
389
+
355
390
  #. @context: Body copy for the logo downloads section
356
391
  #: src/ui/pages/BrandPage.tsx
357
392
  msgid "Choose the standard logo for most placements and the reverse logo when you need more contrast."
@@ -381,6 +416,11 @@ msgstr ""
381
416
  msgid "Clear filter"
382
417
  msgstr ""
383
418
 
419
+ #. @context: Post options row that leaves the composer; prompts to save a draft first if there is unsaved work
420
+ #: src/ui/compose/ComposeDialog.tsx
421
+ msgid "Close compose"
422
+ msgstr ""
423
+
384
424
  #. @context: Close drawer button label
385
425
  #: src/ui/layouts/SiteLayout.tsx
386
426
  msgid "Close menu"
@@ -396,7 +436,12 @@ msgstr ""
396
436
  msgid "Collection"
397
437
  msgstr ""
398
438
 
399
- #. @context: Toast shown after creating a collection
439
+ #. @context: Confirmation after adding a Collection to site navigation
440
+ #: src/ui/shared/collection-management-labels.ts
441
+ msgid "Collection added to navigation."
442
+ msgstr ""
443
+
444
+ #. @context: Confirmation shown after creating a collection
400
445
  #: src/ui/shared/collection-management-labels.ts
401
446
  msgid "Collection created."
402
447
  msgstr ""
@@ -467,6 +512,11 @@ msgstr ""
467
512
  msgid "Complete Setup"
468
513
  msgstr ""
469
514
 
515
+ #. @context: Accessible name for the compose dialog
516
+ #: src/ui/compose/ComposeDialog.tsx
517
+ msgid "Compose"
518
+ msgstr ""
519
+
470
520
  #. @context: Password reset form field
471
521
  #: src/routes/auth/reset.tsx
472
522
  msgid "Confirm Password"
@@ -477,11 +527,21 @@ msgstr ""
477
527
  msgid "Continue →"
478
528
  msgstr ""
479
529
 
530
+ #. @context: Tooltip on the draft badge, which opens the editor
531
+ #: src/ui/feed/PostStatusBadges.tsx
532
+ msgid "Continue writing this draft"
533
+ msgstr ""
534
+
480
535
  #. @context: Controls section heading on sample page
481
536
  #: src/ui/pages/ThemeSamplePage.tsx
482
537
  msgid "Controls"
483
538
  msgstr ""
484
539
 
540
+ #. @context: Error after a Collection could not be added to site navigation
541
+ #: src/ui/shared/collection-management-labels.ts
542
+ msgid "Couldn't add this collection to navigation. Try again."
543
+ msgstr ""
544
+
485
545
  #. @context: Error toast when account creation fails
486
546
  #. @context: Error toast when account creation fails
487
547
  #. @context: Error toast when account creation fails
@@ -570,6 +630,11 @@ msgstr ""
570
630
  msgid "Delete"
571
631
  msgstr ""
572
632
 
633
+ #. @context: Compose table action
634
+ #: src/ui/compose/ComposeDialog.tsx
635
+ msgid "Delete column"
636
+ msgstr ""
637
+
573
638
  #. @context: Draft item action
574
639
  #: src/ui/compose/ComposeDialog.tsx
575
640
  msgid "Delete Draft"
@@ -580,9 +645,19 @@ msgstr ""
580
645
  msgid "Delete image"
581
646
  msgstr ""
582
647
 
648
+ #. @context: Compose table action
649
+ #: src/ui/compose/ComposeDialog.tsx
650
+ msgid "Delete row"
651
+ msgstr ""
652
+
653
+ #. @context: Destructive compose table action
654
+ #: src/ui/compose/ComposeDialog.tsx
655
+ msgid "Delete table"
656
+ msgstr ""
657
+
583
658
  #. @context: Confirm dialog for deleting a collection
584
659
  #: src/ui/shared/collection-management-labels.ts
585
- msgid "Delete this collection permanently? Posts inside won't be removed."
660
+ msgid "Delete this collection permanently? Threads inside won't be removed."
586
661
  msgstr ""
587
662
 
588
663
  #. @context: Hint shown on signin page when demo credentials are pre-filled
@@ -696,11 +771,28 @@ msgstr ""
696
771
  msgid "Download the official Jant logo, icons, and preview files."
697
772
  msgstr ""
698
773
 
774
+ #. @context: Post status badge for an unpublished draft, shown to the author only
775
+ #: src/ui/feed/PostStatusBadges.tsx
776
+ msgid "Draft"
777
+ msgstr ""
778
+
779
+ #. @context: Accessible label for a draft item's more-actions button
780
+ #: src/ui/compose/ComposeDialog.tsx
781
+ msgid "Draft actions"
782
+ msgstr ""
783
+
699
784
  #. @context: Toast after draft deletion
700
785
  #: src/ui/compose/ComposeDialog.tsx
701
786
  msgid "Draft deleted."
702
787
  msgstr ""
703
788
 
789
+ #. @context: Browser title prefix for a draft preview page
790
+ #. @context: Status label above a draft preview page
791
+ #: src/routes/pages/page.tsx
792
+ #: src/ui/shared/DraftPreviewBar.tsx
793
+ msgid "Draft preview"
794
+ msgstr ""
795
+
704
796
  #. @context: Toast shown when a local draft is restored on compose open
705
797
  #: src/ui/compose/ComposeDialog.tsx
706
798
  msgid "Draft restored."
@@ -725,11 +817,9 @@ msgstr ""
725
817
  msgid "Drag collections, links, and dividers into the order you want."
726
818
  msgstr ""
727
819
 
728
- #. @context: Compose dialog header title when editing a post
729
820
  #. @context: Per-collection edit action
730
821
  #. @context: Per-collection edit action
731
822
  #. @context: Per-collection edit action
732
- #: src/ui/compose/ComposeDialog.tsx
733
823
  #: src/ui/pages/CollectionEditorPage.tsx
734
824
  #: src/ui/pages/CollectionEditorPage.tsx
735
825
  #: src/ui/shared/collection-management-labels.ts
@@ -741,11 +831,21 @@ msgstr ""
741
831
  msgid "Edit custom link"
742
832
  msgstr ""
743
833
 
834
+ #. @context: Action in the draft preview status bar that opens the editor
835
+ #: src/ui/shared/DraftPreviewBar.tsx
836
+ msgid "Edit draft"
837
+ msgstr ""
838
+
744
839
  #. @context: Button to manually edit the collection link
745
840
  #: src/ui/shared/collection-management-labels.ts
746
841
  msgid "Edit link"
747
842
  msgstr ""
748
843
 
844
+ #. @context: Action that opens Navigation settings for a Collection already in navigation
845
+ #: src/ui/shared/collection-management-labels.ts
846
+ msgid "Edit Navigation"
847
+ msgstr ""
848
+
749
849
  #. @context: Compose dialog header title in edit mode
750
850
  #: src/ui/compose/ComposeDialog.tsx
751
851
  msgid "Edit post"
@@ -756,6 +856,11 @@ msgstr ""
756
856
  msgid "Edit publish date"
757
857
  msgstr ""
758
858
 
859
+ #. @context: Marker above the composer when changing a post that is already published
860
+ #: src/ui/compose/ComposeDialog.tsx
861
+ msgid "Editing"
862
+ msgstr ""
863
+
759
864
  #. @context: Sample link post title on the theme sample page
760
865
  #: src/ui/pages/ThemeSamplePage.tsx
761
866
  msgid "Editorial interfaces worth borrowing from"
@@ -783,20 +888,6 @@ msgstr ""
783
888
  msgid "Enter a valid URL starting with http://, https://, or mailto:."
784
889
  msgstr ""
785
890
 
786
- #. @context: Plural entry count label
787
- #. @context: Plural entry count label
788
- #: src/ui/shared/CollectionDirectory.tsx
789
- #: src/ui/shared/CollectionsManager.tsx
790
- msgid "entries"
791
- msgstr ""
792
-
793
- #. @context: Singular entry count label
794
- #. @context: Singular entry count label
795
- #: src/ui/shared/CollectionDirectory.tsx
796
- #: src/ui/shared/CollectionsManager.tsx
797
- msgid "entry"
798
- msgstr ""
799
-
800
891
  #. @context: Usage label for the brand pack card
801
892
  #: src/ui/pages/BrandPage.tsx
802
893
  msgid "Everything in one download"
@@ -1013,6 +1104,11 @@ msgstr ""
1013
1104
  msgid "Inline link"
1014
1105
  msgstr ""
1015
1106
 
1107
+ #. @context: Accessible label for a table size option. %rows% and %cols% are replaced with dimensions
1108
+ #: src/ui/compose/ComposeDialog.tsx
1109
+ msgid "Insert %rows% by %cols% table"
1110
+ msgstr ""
1111
+
1016
1112
  #. @context: Sample note summary suffix on the theme sample page
1017
1113
  #: src/ui/pages/ThemeSamplePage.tsx
1018
1114
  msgid "instead of judging it as an isolated swatch."
@@ -1070,6 +1166,11 @@ msgstr ""
1070
1166
  msgid "Label (optional)"
1071
1167
  msgstr ""
1072
1168
 
1169
+ #. @context: Tooltip text for the timestamp on an unpublished draft
1170
+ #: src/ui/shared/PostFooter.tsx
1171
+ msgid "Last edited on {date} at {time}"
1172
+ msgstr ""
1173
+
1073
1174
  #. @context: Active browse tab label on sample page
1074
1175
  #. @context: Browser page title for the latest feed
1075
1176
  #. @context: Page heading for the latest posts feed
@@ -1128,6 +1229,11 @@ msgstr ""
1128
1229
  msgid "Link removed."
1129
1230
  msgstr ""
1130
1231
 
1232
+ #. @context: Description for the featured system navigation toggle
1233
+ #: src/ui/shared/navigation-labels.ts
1234
+ msgid "Link to posts you've marked as featured."
1235
+ msgstr ""
1236
+
1131
1237
  #. @context: Description for the archive system navigation toggle
1132
1238
  #: src/ui/shared/navigation-labels.ts
1133
1239
  msgid "Link to the post archive"
@@ -1138,14 +1244,9 @@ msgstr ""
1138
1244
  msgid "Link to your collections page"
1139
1245
  msgstr ""
1140
1246
 
1141
- #. @context: Description for the featured system navigation toggle
1142
- #: src/ui/shared/navigation-labels.ts
1143
- msgid "Link to your featured posts. If it comes before Latest, the homepage opens here."
1144
- msgstr ""
1145
-
1146
1247
  #. @context: Description for the latest system navigation toggle
1147
1248
  #: src/ui/shared/navigation-labels.ts
1148
- msgid "Link to your latest posts. If it comes before Featured, the homepage opens here."
1249
+ msgid "Link to your latest posts. Your homepage shows this feed."
1149
1250
  msgstr ""
1150
1251
 
1151
1252
  #. @context: Toast after saving a custom collections link
@@ -1293,9 +1394,9 @@ msgstr ""
1293
1394
  msgid "New post"
1294
1395
  msgstr ""
1295
1396
 
1296
- #. @context: Compose dialog header title when composing a thread
1297
- #: src/ui/compose/ComposeDialog.tsx
1298
- msgid "New Thread"
1397
+ #. @context: Archive page meta note explaining the active sort order
1398
+ #: src/ui/pages/ArchivePage.tsx
1399
+ msgid "newest changes first"
1299
1400
  msgstr ""
1300
1401
 
1301
1402
  #. @context: Collection sort order option
@@ -1325,7 +1426,7 @@ msgstr ""
1325
1426
  #: src/ui/pages/CollectionsPage.tsx
1326
1427
  #: src/ui/shared/CollectionDirectory.tsx
1327
1428
  #: src/ui/shared/CollectionsManager.tsx
1328
- msgid "No collections yet. Start one to organize posts by topic."
1429
+ msgid "No collections yet. Start one to organize threads by topic."
1329
1430
  msgstr ""
1330
1431
 
1331
1432
  #. @context: Drafts panel empty state
@@ -1348,6 +1449,11 @@ msgstr ""
1348
1449
  msgid "No threads match these filters. Try adjusting your selection or clear all filters."
1349
1450
  msgstr ""
1350
1451
 
1452
+ #. @context: Action to dismiss the post-create Collection navigation prompt
1453
+ #: src/ui/shared/CollectionsManager.tsx
1454
+ msgid "Not now"
1455
+ msgstr ""
1456
+
1351
1457
  #. @context: Compose format tab
1352
1458
  #. @context: Post format label - note
1353
1459
  #. @context: Post format label on theme sample content card
@@ -1371,7 +1477,7 @@ msgstr ""
1371
1477
 
1372
1478
  #. @context: Empty state message on an aggregate collection page
1373
1479
  #: src/ui/pages/CollectionPage.tsx
1374
- msgid "Nothing here yet. Add posts to one of these collections to fill this view."
1480
+ msgid "Nothing here yet. Add threads to one of these collections to fill this view."
1375
1481
  msgstr ""
1376
1482
 
1377
1483
  #. @context: Empty state message on featured page
@@ -1379,6 +1485,11 @@ msgstr ""
1379
1485
  msgid "Nothing in Featured yet. Mark a post as featured to show it here."
1380
1486
  msgstr ""
1381
1487
 
1488
+ #. @context: Value shown on a post's date control when it will publish at the current time
1489
+ #: src/ui/compose/ComposeDialog.tsx
1490
+ msgid "Now"
1491
+ msgstr ""
1492
+
1382
1493
  #. @context: Collection sort order option
1383
1494
  #. @context: Collection sort order option
1384
1495
  #: src/ui/pages/CollectionPage.tsx
@@ -1456,6 +1567,11 @@ msgstr ""
1456
1567
  msgid "Paste a URL..."
1457
1568
  msgstr ""
1458
1569
 
1570
+ #. @context: Post status badge for a pinned post
1571
+ #: src/ui/feed/PostStatusBadges.tsx
1572
+ msgid "Pinned"
1573
+ msgstr ""
1574
+
1459
1575
  #. @context: Compose button - publish post
1460
1576
  #: src/ui/compose/ComposeDialog.tsx
1461
1577
  msgid "Post"
@@ -1481,7 +1597,9 @@ msgstr ""
1481
1597
  msgid "Press N to write"
1482
1598
  msgstr ""
1483
1599
 
1600
+ #. @context: Draft item action that opens its rendered preview
1484
1601
  #. @context: Ghost button label on sample page
1602
+ #: src/ui/compose/ComposeDialog.tsx
1485
1603
  #: src/ui/pages/ThemeSamplePage.tsx
1486
1604
  msgid "Preview"
1487
1605
  msgstr ""
@@ -1517,7 +1635,9 @@ msgstr ""
1517
1635
 
1518
1636
  #. @context: Archive visibility filter - private posts
1519
1637
  #. @context: Compose publish settings visibility option
1638
+ #. @context: Post status badge for a private post
1520
1639
  #: src/ui/compose/ComposeDialog.tsx
1640
+ #: src/ui/feed/PostStatusBadges.tsx
1521
1641
  #: src/ui/pages/ArchivePage.tsx
1522
1642
  msgid "Private"
1523
1643
  msgstr ""
@@ -1536,11 +1656,6 @@ msgstr ""
1536
1656
  msgid "Publish"
1537
1657
  msgstr ""
1538
1658
 
1539
- #. @context: Compose summary shown near the submit controls when an edited post no longer has a custom publish date
1540
- #: src/ui/compose/ComposeDialog.tsx
1541
- msgid "Publish now"
1542
- msgstr ""
1543
-
1544
1659
  #. @context: Compose publish settings panel title
1545
1660
  #: src/ui/compose/ComposeDialog.tsx
1546
1661
  msgid "Publish settings"
@@ -1671,10 +1786,8 @@ msgstr ""
1671
1786
 
1672
1787
  #. @context: Archive tile label for a single thread reply
1673
1788
  #. @context: Compose button - reply to post
1674
- #. @context: Compose dialog header title when replying to a post
1675
1789
  #. @context: Reply button label in the post footer
1676
1790
  #: src/ui/compose/ComposeDialog.tsx
1677
- #: src/ui/compose/ComposeDialog.tsx
1678
1791
  #: src/ui/pages/ArchivePage.tsx
1679
1792
  #: src/ui/shared/PostFooter.tsx
1680
1793
  msgid "Reply"
@@ -1808,6 +1921,16 @@ msgstr ""
1808
1921
  msgid "Shared links"
1809
1922
  msgstr ""
1810
1923
 
1924
+ #. @context: Archive view option - grid
1925
+ #: src/ui/pages/ArchivePage.tsx
1926
+ msgid "Show as a grid of tiles"
1927
+ msgstr ""
1928
+
1929
+ #. @context: Archive view option - list
1930
+ #: src/ui/pages/ArchivePage.tsx
1931
+ msgid "Show as a list with full posts"
1932
+ msgstr ""
1933
+
1811
1934
  #. @context: Collapse expanded thread ancestor context in the feed
1812
1935
  #. @context: Collapse expanded thread ancestor context in the feed
1813
1936
  #. @context: Collapse reply context
@@ -1909,6 +2032,21 @@ msgstr ""
1909
2032
  msgid "Sort"
1910
2033
  msgstr ""
1911
2034
 
2035
+ #. @context: Archive sort option - threads that recently gained a post first
2036
+ #: src/ui/pages/ArchivePage.tsx
2037
+ msgid "Sort by when each thread was last added to"
2038
+ msgstr ""
2039
+
2040
+ #. @context: Archive sort option - newest published first
2041
+ #: src/ui/pages/ArchivePage.tsx
2042
+ msgid "Sort by when each thread was published"
2043
+ msgstr ""
2044
+
2045
+ #. @context: Archive sort toggle group label
2046
+ #: src/ui/pages/ArchivePage.tsx
2047
+ msgid "Sort order"
2048
+ msgstr ""
2049
+
1912
2050
  #. @context: Collection form field
1913
2051
  #: src/ui/shared/collection-management-labels.ts
1914
2052
  msgid "Sort Order"
@@ -1979,6 +2117,16 @@ msgstr ""
1979
2117
  msgid "Switch to the white logo when the standard green version would lose contrast."
1980
2118
  msgstr ""
1981
2119
 
2120
+ #. @context: Accessible label for the compose table toolbar
2121
+ #: src/ui/compose/ComposeDialog.tsx
2122
+ msgid "Table controls"
2123
+ msgstr ""
2124
+
2125
+ #. @context: Compose table menu button label
2126
+ #: src/ui/compose/ComposeDialog.tsx
2127
+ msgid "Table options"
2128
+ msgstr ""
2129
+
1982
2130
  #. @context: Label on failed upload overlay button, tells user tapping retries the upload
1983
2131
  #: src/ui/compose/ComposeDialog.tsx
1984
2132
  msgid "Tap to retry"
@@ -2057,7 +2205,7 @@ msgstr ""
2057
2205
 
2058
2206
  #. @context: Empty state message
2059
2207
  #: src/ui/pages/CollectionPage.tsx
2060
- msgid "This collection is empty. Add posts from the editor."
2208
+ msgid "This collection is empty. Add threads from the editor."
2061
2209
  msgstr ""
2062
2210
 
2063
2211
  #. @context: Collection link help text
@@ -2091,6 +2239,11 @@ msgstr ""
2091
2239
  msgid "This link is reserved. Choose something else."
2092
2240
  msgstr ""
2093
2241
 
2242
+ #. @context: Explanation in the draft preview status bar
2243
+ #: src/ui/shared/DraftPreviewBar.tsx
2244
+ msgid "This post isn’t published."
2245
+ msgstr ""
2246
+
2094
2247
  #. @context: Sample link post body prefix on the theme sample page
2095
2248
  #: src/ui/pages/ThemeSamplePage.tsx
2096
2249
  msgid "This reference is useful because it treats links and citations as part of the reading rhythm. Keep that in mind while tuning the"
@@ -2120,10 +2273,14 @@ msgstr ""
2120
2273
 
2121
2274
  #. @context: Archive month header count unit for a single thread
2122
2275
  #. @context: Archive page summary unit for a single matching thread
2276
+ #. @context: Singular thread count label
2277
+ #. @context: Singular thread count label
2123
2278
  #. @context: Singular thread count label on collection detail page
2124
2279
  #: src/ui/pages/ArchivePage.tsx
2125
2280
  #: src/ui/pages/ArchivePage.tsx
2126
2281
  #: src/ui/pages/CollectionPage.tsx
2282
+ #: src/ui/shared/CollectionDirectory.tsx
2283
+ #: src/ui/shared/CollectionsManager.tsx
2127
2284
  msgid "thread"
2128
2285
  msgstr ""
2129
2286
 
@@ -2140,11 +2297,15 @@ msgstr ""
2140
2297
  #. @context: Archive feed title segment for hasReplies=1 filter
2141
2298
  #. @context: Archive month header count unit for multiple threads
2142
2299
  #. @context: Archive page summary unit for multiple matching threads
2300
+ #. @context: Plural thread count label
2301
+ #. @context: Plural thread count label
2143
2302
  #. @context: Plural thread count label on collection detail page
2144
2303
  #: src/routes/pages/archive.tsx
2145
2304
  #: src/ui/pages/ArchivePage.tsx
2146
2305
  #: src/ui/pages/ArchivePage.tsx
2147
2306
  #: src/ui/pages/CollectionPage.tsx
2307
+ #: src/ui/shared/CollectionDirectory.tsx
2308
+ #: src/ui/shared/CollectionsManager.tsx
2148
2309
  msgid "threads"
2149
2310
  msgstr ""
2150
2311
 
@@ -2159,11 +2320,9 @@ msgid "Threads can include up to {count} posts."
2159
2320
  msgstr ""
2160
2321
 
2161
2322
  #. @context: Collection form field
2162
- #. @context: Compose note title placeholder
2163
- #. @context: Compose toolbar - title tooltip
2323
+ #. @context: Compose toolbar - show or hide the title field
2164
2324
  #. @context: Input label on sample page
2165
2325
  #: src/ui/compose/ComposeDialog.tsx
2166
- #: src/ui/compose/ComposeDialog.tsx
2167
2326
  #: src/ui/pages/ThemeSamplePage.tsx
2168
2327
  #: src/ui/shared/collection-management-labels.ts
2169
2328
  msgid "Title"
@@ -2181,6 +2340,11 @@ msgstr ""
2181
2340
  msgid "to make sure both still feel like they belong to the same product."
2182
2341
  msgstr ""
2183
2342
 
2343
+ #. @context: Compose table action
2344
+ #: src/ui/compose/ComposeDialog.tsx
2345
+ msgid "Toggle header row"
2346
+ msgstr ""
2347
+
2184
2348
  #. @context: Usage label for the square logo PNG asset card
2185
2349
  #: src/ui/pages/BrandPage.tsx
2186
2350
  msgid "Transparent square"
@@ -2203,6 +2367,8 @@ msgstr ""
2203
2367
 
2204
2368
  #. @context: Archive filter - notes without a title
2205
2369
  #. @context: Archive filter - notes without a title
2370
+ #. @context: Compose note title placeholder. States what the note is while the field is empty rather than asking for a title — untitled notes are a normal kind of note here, and Archive files them under this same word.
2371
+ #: src/ui/compose/ComposeDialog.tsx
2206
2372
  #: src/ui/pages/ArchivePage.tsx
2207
2373
  #: src/ui/pages/ArchivePage.tsx
2208
2374
  msgid "Untitled"
@@ -2285,6 +2451,11 @@ msgstr ""
2285
2451
  msgid "View earlier notes in this thread"
2286
2452
  msgstr ""
2287
2453
 
2454
+ #. @context: Archive grid/list toggle group label
2455
+ #: src/ui/pages/ArchivePage.tsx
2456
+ msgid "View mode"
2457
+ msgstr ""
2458
+
2288
2459
  #. @context: Compose publish settings section label
2289
2460
  #: src/ui/compose/ComposeDialog.tsx
2290
2461
  msgid "Visibility"