@jant/core 0.3.23 → 0.3.25

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 (248) hide show
  1. package/dist/app.js +50 -26
  2. package/dist/db/schema.js +72 -47
  3. package/dist/i18n/locales/en.js +1 -1
  4. package/dist/i18n/locales/zh-Hans.js +1 -1
  5. package/dist/i18n/locales/zh-Hant.js +1 -1
  6. package/dist/index.js +5 -11
  7. package/dist/lib/constants.js +2 -4
  8. package/dist/lib/excerpt.js +76 -0
  9. package/dist/lib/feed.js +18 -7
  10. package/dist/lib/nav-reorder.js +1 -1
  11. package/dist/lib/navigation.js +30 -6
  12. package/dist/lib/pagination.js +44 -0
  13. package/dist/lib/render.js +7 -11
  14. package/dist/lib/schemas.js +80 -38
  15. package/dist/lib/theme.js +4 -4
  16. package/dist/lib/time.js +56 -1
  17. package/dist/lib/timeline.js +95 -0
  18. package/dist/lib/view.js +61 -72
  19. package/dist/routes/api/collections.js +124 -0
  20. package/dist/routes/api/nav-items.js +104 -0
  21. package/dist/routes/api/pages.js +91 -0
  22. package/dist/routes/api/posts.js +27 -33
  23. package/dist/routes/api/search.js +4 -5
  24. package/dist/routes/api/settings.js +68 -0
  25. package/dist/routes/api/upload.js +13 -13
  26. package/dist/routes/compose.js +48 -0
  27. package/dist/routes/dash/collections.js +24 -42
  28. package/dist/routes/dash/index.js +3 -3
  29. package/dist/routes/dash/media.js +2 -2
  30. package/dist/routes/dash/pages.js +440 -106
  31. package/dist/routes/dash/posts.js +27 -37
  32. package/dist/routes/dash/redirects.js +2 -2
  33. package/dist/routes/dash/settings.js +79 -5
  34. package/dist/routes/feed/rss.js +4 -6
  35. package/dist/routes/feed/sitemap.js +11 -8
  36. package/dist/routes/pages/archive.js +13 -15
  37. package/dist/routes/pages/collection.js +12 -9
  38. package/dist/routes/pages/collections.js +28 -0
  39. package/dist/routes/pages/featured.js +32 -0
  40. package/dist/routes/pages/home.js +19 -68
  41. package/dist/routes/pages/page.js +57 -29
  42. package/dist/routes/pages/post.js +7 -17
  43. package/dist/routes/pages/search.js +5 -9
  44. package/dist/services/collection.js +52 -64
  45. package/dist/services/index.js +5 -3
  46. package/dist/services/navigation.js +29 -53
  47. package/dist/services/page.js +84 -0
  48. package/dist/services/post.js +102 -69
  49. package/dist/services/search.js +24 -18
  50. package/dist/types.js +24 -40
  51. package/dist/ui/compose/ComposeDialog.js +452 -0
  52. package/dist/ui/compose/ComposePrompt.js +55 -0
  53. package/dist/{theme/components/TypeBadge.js → ui/dash/FormatBadge.js} +3 -15
  54. package/dist/{theme/components → ui/dash}/PageForm.js +15 -15
  55. package/dist/{theme/components → ui/dash}/PostForm.js +117 -137
  56. package/dist/{theme/components → ui/dash}/PostList.js +18 -13
  57. package/dist/ui/dash/StatusBadge.js +46 -0
  58. package/dist/{theme/components → ui/dash}/index.js +3 -6
  59. package/dist/ui/feed/LinkCard.js +72 -0
  60. package/dist/ui/feed/NoteCard.js +58 -0
  61. package/dist/{themes/minimal/timeline → ui/feed}/QuoteCard.js +29 -14
  62. package/dist/{themes/minimal/timeline → ui/feed}/ThreadPreview.js +20 -18
  63. package/dist/ui/feed/TimelineFeed.js +41 -0
  64. package/dist/ui/feed/TimelineItem.js +27 -0
  65. package/dist/{theme → ui}/layouts/BaseLayout.js +10 -0
  66. package/dist/{theme → ui}/layouts/DashLayout.js +0 -8
  67. package/dist/ui/layouts/SiteLayout.js +141 -0
  68. package/dist/{themes/minimal → ui}/pages/ArchivePage.js +37 -50
  69. package/dist/ui/pages/CollectionPage.js +70 -0
  70. package/dist/ui/pages/CollectionsPage.js +76 -0
  71. package/dist/ui/pages/FeaturedPage.js +24 -0
  72. package/dist/ui/pages/HomePage.js +24 -0
  73. package/dist/{themes/minimal → ui}/pages/PostPage.js +20 -12
  74. package/dist/{themes/minimal → ui}/pages/SearchPage.js +19 -18
  75. package/dist/{themes/minimal → ui}/pages/SinglePage.js +5 -4
  76. package/dist/ui/shared/MediaGallery.js +35 -0
  77. package/dist/{theme/components → ui/shared}/Pagination.js +41 -2
  78. package/dist/{theme/components → ui/shared}/ThreadView.js +3 -3
  79. package/dist/ui/shared/index.js +5 -0
  80. package/package.json +2 -9
  81. package/src/__tests__/helpers/app.ts +4 -0
  82. package/src/__tests__/helpers/db.ts +53 -73
  83. package/src/app.tsx +56 -28
  84. package/src/db/migrations/0005_v2_schema_migration.sql +268 -0
  85. package/src/db/migrations/0006_rename_slug_to_path.sql +5 -0
  86. package/src/db/migrations/meta/_journal.json +14 -0
  87. package/src/db/schema.ts +63 -46
  88. package/src/i18n/locales/en.po +443 -240
  89. package/src/i18n/locales/en.ts +1 -1
  90. package/src/i18n/locales/zh-Hans.po +443 -240
  91. package/src/i18n/locales/zh-Hans.ts +1 -1
  92. package/src/i18n/locales/zh-Hant.po +443 -240
  93. package/src/i18n/locales/zh-Hant.ts +1 -1
  94. package/src/index.ts +29 -42
  95. package/src/lib/__tests__/excerpt.test.ts +125 -0
  96. package/src/lib/__tests__/schemas.test.ts +201 -99
  97. package/src/lib/__tests__/time.test.ts +62 -0
  98. package/src/{routes/api → lib}/__tests__/timeline.test.ts +81 -75
  99. package/src/lib/__tests__/view.test.ts +204 -50
  100. package/src/lib/constants.ts +2 -4
  101. package/src/lib/excerpt.ts +87 -0
  102. package/src/lib/feed.ts +22 -7
  103. package/src/lib/nav-reorder.ts +1 -1
  104. package/src/lib/navigation.ts +45 -8
  105. package/src/lib/pagination.ts +50 -0
  106. package/src/lib/render.tsx +7 -14
  107. package/src/lib/schemas.ts +119 -51
  108. package/src/lib/theme.ts +5 -5
  109. package/src/lib/time.ts +64 -0
  110. package/src/lib/timeline.ts +141 -0
  111. package/src/lib/view.ts +80 -82
  112. package/src/preset.css +46 -0
  113. package/src/routes/__tests__/compose.test.ts +199 -0
  114. package/src/routes/api/__tests__/collections.test.ts +249 -0
  115. package/src/routes/api/__tests__/nav-items.test.ts +222 -0
  116. package/src/routes/api/__tests__/pages.test.ts +218 -0
  117. package/src/routes/api/__tests__/posts.test.ts +50 -108
  118. package/src/routes/api/__tests__/search.test.ts +2 -3
  119. package/src/routes/api/__tests__/settings.test.ts +132 -0
  120. package/src/routes/api/collections.ts +143 -0
  121. package/src/routes/api/nav-items.ts +115 -0
  122. package/src/routes/api/pages.ts +101 -0
  123. package/src/routes/api/posts.ts +28 -28
  124. package/src/routes/api/search.ts +3 -3
  125. package/src/routes/api/settings.ts +91 -0
  126. package/src/routes/api/upload.ts +16 -6
  127. package/src/routes/compose.ts +63 -0
  128. package/src/routes/dash/__tests__/pages.test.ts +225 -0
  129. package/src/routes/dash/collections.tsx +20 -42
  130. package/src/routes/dash/index.tsx +3 -3
  131. package/src/routes/dash/media.tsx +2 -2
  132. package/src/routes/dash/pages.tsx +480 -122
  133. package/src/routes/dash/posts.tsx +42 -54
  134. package/src/routes/dash/redirects.tsx +2 -2
  135. package/src/routes/dash/settings.tsx +83 -5
  136. package/src/routes/feed/rss.ts +4 -3
  137. package/src/routes/feed/sitemap.ts +15 -5
  138. package/src/routes/pages/__tests__/collections.test.ts +94 -0
  139. package/src/routes/pages/__tests__/featured.test.ts +94 -0
  140. package/src/routes/pages/archive.tsx +15 -15
  141. package/src/routes/pages/collection.tsx +16 -9
  142. package/src/routes/pages/collections.tsx +36 -0
  143. package/src/routes/pages/featured.tsx +38 -0
  144. package/src/routes/pages/home.tsx +21 -92
  145. package/src/routes/pages/page.tsx +62 -27
  146. package/src/routes/pages/post.tsx +6 -18
  147. package/src/routes/pages/search.tsx +3 -7
  148. package/src/services/__tests__/collection.test.ts +257 -158
  149. package/src/services/__tests__/media.test.ts +18 -18
  150. package/src/services/__tests__/navigation.test.ts +161 -87
  151. package/src/services/__tests__/page.test.ts +106 -0
  152. package/src/services/__tests__/post-timeline.test.ts +92 -88
  153. package/src/services/__tests__/post.test.ts +432 -197
  154. package/src/services/__tests__/search.test.ts +19 -25
  155. package/src/services/collection.ts +71 -113
  156. package/src/services/index.ts +9 -8
  157. package/src/services/navigation.ts +38 -71
  158. package/src/services/page.ts +136 -0
  159. package/src/services/post.ts +141 -101
  160. package/src/services/search.ts +38 -27
  161. package/src/styles/tokens.css +47 -0
  162. package/src/styles/ui.css +491 -0
  163. package/src/types.ts +212 -198
  164. package/src/ui/compose/ComposeDialog.tsx +395 -0
  165. package/src/ui/compose/ComposePrompt.tsx +55 -0
  166. package/src/ui/dash/FormatBadge.tsx +28 -0
  167. package/src/{theme/components → ui/dash}/PageForm.tsx +21 -21
  168. package/src/{theme/components → ui/dash}/PostForm.tsx +110 -131
  169. package/src/ui/dash/PostList.tsx +101 -0
  170. package/src/ui/dash/StatusBadge.tsx +61 -0
  171. package/src/ui/dash/index.ts +10 -0
  172. package/src/ui/feed/LinkCard.tsx +72 -0
  173. package/src/ui/feed/NoteCard.tsx +63 -0
  174. package/src/ui/feed/QuoteCard.tsx +68 -0
  175. package/src/ui/feed/ThreadPreview.tsx +48 -0
  176. package/src/ui/feed/TimelineFeed.tsx +49 -0
  177. package/src/ui/feed/TimelineItem.tsx +45 -0
  178. package/src/{theme → ui}/layouts/BaseLayout.tsx +11 -1
  179. package/src/{theme → ui}/layouts/DashLayout.tsx +0 -10
  180. package/src/ui/layouts/SiteLayout.tsx +150 -0
  181. package/src/ui/pages/ArchivePage.tsx +162 -0
  182. package/src/ui/pages/CollectionPage.tsx +70 -0
  183. package/src/ui/pages/CollectionsPage.tsx +73 -0
  184. package/src/ui/pages/FeaturedPage.tsx +31 -0
  185. package/src/ui/pages/HomePage.tsx +37 -0
  186. package/src/ui/pages/PostPage.tsx +56 -0
  187. package/src/{themes/minimal → ui}/pages/SearchPage.tsx +24 -20
  188. package/src/{themes/minimal → ui}/pages/SinglePage.tsx +5 -5
  189. package/src/ui/shared/MediaGallery.tsx +59 -0
  190. package/src/{theme/components → ui/shared}/Pagination.tsx +67 -4
  191. package/src/{theme/components → ui/shared}/ThreadView.tsx +6 -3
  192. package/src/ui/shared/__tests__/pagination.test.ts +46 -0
  193. package/src/ui/shared/index.ts +12 -0
  194. package/bin/jant.js +0 -185
  195. package/dist/lib/theme-components.js +0 -49
  196. package/dist/routes/api/timeline.js +0 -120
  197. package/dist/routes/dash/navigation.js +0 -288
  198. package/dist/theme/components/MediaGallery.js +0 -107
  199. package/dist/theme/components/VisibilityBadge.js +0 -37
  200. package/dist/theme/index.js +0 -18
  201. package/dist/theme/layouts/index.js +0 -2
  202. package/dist/themes/minimal/MinimalSiteLayout.js +0 -83
  203. package/dist/themes/minimal/index.js +0 -65
  204. package/dist/themes/minimal/pages/CollectionPage.js +0 -65
  205. package/dist/themes/minimal/pages/HomePage.js +0 -25
  206. package/dist/themes/minimal/timeline/ArticleCard.js +0 -36
  207. package/dist/themes/minimal/timeline/ImageCard.js +0 -67
  208. package/dist/themes/minimal/timeline/LinkCard.js +0 -47
  209. package/dist/themes/minimal/timeline/NoteCard.js +0 -34
  210. package/dist/themes/minimal/timeline/TimelineFeed.js +0 -48
  211. package/dist/themes/minimal/timeline/TimelineItem.js +0 -44
  212. package/src/lib/__tests__/theme-components.test.ts +0 -126
  213. package/src/lib/theme-components.ts +0 -68
  214. package/src/routes/api/timeline.tsx +0 -159
  215. package/src/routes/dash/navigation.tsx +0 -316
  216. package/src/theme/components/MediaGallery.tsx +0 -128
  217. package/src/theme/components/PostList.tsx +0 -92
  218. package/src/theme/components/TypeBadge.tsx +0 -37
  219. package/src/theme/components/VisibilityBadge.tsx +0 -45
  220. package/src/theme/components/index.ts +0 -23
  221. package/src/theme/index.ts +0 -22
  222. package/src/theme/layouts/index.ts +0 -7
  223. package/src/themes/minimal/MinimalSiteLayout.tsx +0 -100
  224. package/src/themes/minimal/index.ts +0 -83
  225. package/src/themes/minimal/pages/ArchivePage.tsx +0 -157
  226. package/src/themes/minimal/pages/CollectionPage.tsx +0 -60
  227. package/src/themes/minimal/pages/HomePage.tsx +0 -41
  228. package/src/themes/minimal/pages/PostPage.tsx +0 -43
  229. package/src/themes/minimal/timeline/ArticleCard.tsx +0 -37
  230. package/src/themes/minimal/timeline/ImageCard.tsx +0 -63
  231. package/src/themes/minimal/timeline/LinkCard.tsx +0 -48
  232. package/src/themes/minimal/timeline/NoteCard.tsx +0 -35
  233. package/src/themes/minimal/timeline/QuoteCard.tsx +0 -49
  234. package/src/themes/minimal/timeline/ThreadPreview.tsx +0 -47
  235. package/src/themes/minimal/timeline/TimelineFeed.tsx +0 -57
  236. package/src/themes/minimal/timeline/TimelineItem.tsx +0 -75
  237. /package/dist/{theme → ui}/color-themes.js +0 -0
  238. /package/dist/{theme/components → ui/dash}/ActionButtons.js +0 -0
  239. /package/dist/{theme/components → ui/dash}/CrudPageHeader.js +0 -0
  240. /package/dist/{theme/components → ui/dash}/DangerZone.js +0 -0
  241. /package/dist/{theme/components → ui/dash}/ListItemRow.js +0 -0
  242. /package/dist/{theme/components → ui/shared}/EmptyState.js +0 -0
  243. /package/src/{theme → ui}/color-themes.ts +0 -0
  244. /package/src/{theme/components → ui/dash}/ActionButtons.tsx +0 -0
  245. /package/src/{theme/components → ui/dash}/CrudPageHeader.tsx +0 -0
  246. /package/src/{theme/components → ui/dash}/DangerZone.tsx +0 -0
  247. /package/src/{theme/components → ui/dash}/ListItemRow.tsx +0 -0
  248. /package/src/{theme/components → ui/shared}/EmptyState.tsx +0 -0
@@ -18,8 +18,13 @@ msgstr ""
18
18
  #~ msgid "{count} replies"
19
19
  #~ msgstr "{count} replies"
20
20
 
21
+ #. @context: Custom CSS textarea placeholder
22
+ #: src/routes/dash/settings.tsx:364
23
+ msgid "/* Your custom CSS here */"
24
+ msgstr "/* Your custom CSS here */"
25
+
21
26
  #. @context: Navigation link
22
- #: src/routes/dash/collections.tsx:282
27
+ #: src/routes/dash/collections.tsx:271
23
28
  msgid "← Back to Collections"
24
29
  msgstr "← Back to Collections"
25
30
 
@@ -50,28 +55,50 @@ msgstr "302 (Temporary)"
50
55
  msgid "Account"
51
56
  msgstr "Account"
52
57
 
58
+ #. @context: Custom CSS settings description
59
+ #: src/routes/dash/settings.tsx:354
60
+ msgid "Add custom CSS to override any styles. Use data attributes like [data-page], [data-post], [data-format] to target specific elements."
61
+ msgstr "Add custom CSS to override any styles. Use data attributes like [data-page], [data-post], [data-format] to target specific elements."
62
+
63
+ #. @context: Button to add a navigation link
64
+ #: src/routes/dash/pages.tsx:50
65
+ msgid "Add Link"
66
+ msgstr "Add Link"
67
+
53
68
  #. @context: Button to open media picker
54
- #: src/theme/components/PostForm.tsx:190
69
+ #. @context: Compose toolbar - add media
70
+ #: src/ui/compose/ComposeDialog.tsx:219
71
+ #: src/ui/dash/PostForm.tsx:211
55
72
  msgid "Add Media"
56
73
  msgstr "Add Media"
57
74
 
58
- #. @context: Archive filter - all types
59
- #: src/themes/minimal/pages/ArchivePage.tsx:90
75
+ #. @context: Button to add page to navigation
76
+ #: src/routes/dash/pages.tsx:185
77
+ msgid "Add to nav"
78
+ msgstr "Add to nav"
79
+
80
+ #. @context: Archive filter - all formats
81
+ #: src/ui/pages/ArchivePage.tsx:71
60
82
  msgid "All"
61
83
  msgstr "All"
62
84
 
85
+ #. @context: Empty state when all pages are in nav
86
+ #: src/routes/dash/pages.tsx:168
87
+ msgid "All pages are in your navigation."
88
+ msgstr "All pages are in your navigation."
89
+
63
90
  #. @context: Settings sub-navigation tab
64
91
  #: src/routes/dash/settings.tsx:55
65
92
  msgid "Appearance"
66
93
  msgstr "Appearance"
67
94
 
68
95
  #. @context: Archive page title
69
- #: src/themes/minimal/pages/ArchivePage.tsx:76
96
+ #: src/ui/pages/ArchivePage.tsx:55
70
97
  msgid "Archive"
71
98
  msgstr "Archive"
72
99
 
73
100
  #. @context: Confirmation dialog when deleting a post from the list
74
- #: src/theme/components/PostList.tsx:56
101
+ #: src/ui/dash/PostList.tsx:60
75
102
  msgid "Are you sure you want to delete this post? This cannot be undone."
76
103
  msgstr "Are you sure you want to delete this post? This cannot be undone."
77
104
 
@@ -80,19 +107,19 @@ msgstr "Are you sure you want to delete this post? This cannot be undone."
80
107
  #. @context: Post type option
81
108
  #: src/theme/components/PostForm.tsx:74
82
109
  #: src/theme/components/TypeBadge.tsx:20
83
- #: src/themes/minimal/pages/ArchivePage.tsx:17
84
- msgid "Article"
85
- msgstr "Article"
110
+ #: src/themes/threads/pages/ArchivePage.tsx:17
111
+ #~ msgid "Article"
112
+ #~ msgstr "Article"
86
113
 
87
114
  #. @context: Post type label plural - articles
88
- #: src/themes/minimal/pages/ArchivePage.tsx:42
89
- msgid "Articles"
90
- msgstr "Articles"
115
+ #: src/themes/threads/pages/ArchivePage.tsx:42
116
+ #~ msgid "Articles"
117
+ #~ msgstr "Articles"
91
118
 
92
119
  #. @context: Hint for image post type media requirement
93
120
  #: src/theme/components/PostForm.tsx:137
94
- msgid "At least 1 image required for image posts."
95
- msgstr "At least 1 image required for image posts."
121
+ #~ msgid "At least 1 image required for image posts."
122
+ #~ msgstr "At least 1 image required for image posts."
96
123
 
97
124
  #. @context: Button to go back to media list
98
125
  #: src/routes/dash/media.tsx:266
@@ -115,18 +142,18 @@ msgstr "Back"
115
142
  #. @context: Button to cancel form
116
143
  #. @context: Button to cancel form
117
144
  #: src/routes/dash/collections.tsx:186
118
- #: src/routes/dash/collections.tsx:365
119
- #: src/routes/dash/navigation.tsx:192
145
+ #: src/routes/dash/collections.tsx:354
146
+ #: src/routes/dash/pages.tsx:400
120
147
  #: src/routes/dash/redirects.tsx:177
121
- #: src/theme/components/PageForm.tsx:171
122
- #: src/theme/components/PostForm.tsx:333
148
+ #: src/ui/dash/PageForm.tsx:171
149
+ #: src/ui/dash/PostForm.tsx:312
123
150
  msgid "Cancel"
124
151
  msgstr "Cancel"
125
152
 
126
153
  #. @context: Button to change password
127
154
  #. @context: Settings section heading
128
- #: src/routes/dash/settings.tsx:417
129
- #: src/routes/dash/settings.tsx:482
155
+ #: src/routes/dash/settings.tsx:474
156
+ #: src/routes/dash/settings.tsx:539
130
157
  msgid "Change Password"
131
158
  msgstr "Change Password"
132
159
 
@@ -135,42 +162,56 @@ msgstr "Change Password"
135
162
  msgid "Click image to view full size"
136
163
  msgstr "Click image to view full size"
137
164
 
165
+ #. @context: Compose collection field
166
+ #. @context: Compose toolbar - toggle collection
167
+ #: src/ui/compose/ComposeDialog.tsx:191
168
+ #: src/ui/compose/ComposeDialog.tsx:272
169
+ msgid "Collection"
170
+ msgstr "Collection"
171
+
172
+ #. @context: Post form field - assign to collection
173
+ #: src/ui/dash/PostForm.tsx:264
174
+ msgid "Collection (optional)"
175
+ msgstr "Collection (optional)"
176
+
177
+ #. @context: Collections page heading
138
178
  #. @context: Dashboard heading
139
179
  #. @context: Dashboard navigation - collections management
140
180
  #: src/routes/dash/collections.tsx:35
141
- #: src/theme/layouts/DashLayout.tsx:114
181
+ #: src/ui/layouts/DashLayout.tsx:114
182
+ #: src/ui/pages/CollectionsPage.tsx:18
142
183
  msgid "Collections"
143
184
  msgstr "Collections"
144
185
 
145
186
  #. @context: Post form field - assign to collections
146
187
  #: src/theme/components/PostForm.tsx:273
147
- msgid "Collections (optional)"
148
- msgstr "Collections (optional)"
188
+ #~ msgid "Collections (optional)"
189
+ #~ msgstr "Collections (optional)"
149
190
 
150
191
  #. @context: Appearance settings heading
151
- #: src/routes/dash/settings.tsx:311
192
+ #: src/routes/dash/settings.tsx:315
152
193
  msgid "Color theme"
153
194
  msgstr "Color theme"
154
195
 
155
196
  #. @context: Setup form submit button
156
- #: src/app.tsx:277
197
+ #: src/app.tsx:289
157
198
  msgid "Complete Setup"
158
199
  msgstr "Complete Setup"
159
200
 
160
201
  #. @context: Password form field
161
- #: src/routes/dash/settings.tsx:459
202
+ #: src/routes/dash/settings.tsx:516
162
203
  msgid "Confirm New Password"
163
204
  msgstr "Confirm New Password"
164
205
 
165
206
  #. @context: Password reset form field
166
- #: src/app.tsx:538
207
+ #: src/app.tsx:562
167
208
  msgid "Confirm Password"
168
209
  msgstr "Confirm Password"
169
210
 
170
211
  #. @context: Page form field label - content
171
212
  #. @context: Post form field
172
- #: src/theme/components/PageForm.tsx:96
173
- #: src/theme/components/PostForm.tsx:110
213
+ #: src/ui/dash/PageForm.tsx:96
214
+ #: src/ui/dash/PostForm.tsx:104
174
215
  msgid "Content"
175
216
  msgstr "Content"
176
217
 
@@ -187,12 +228,12 @@ msgid "Create Collection"
187
228
  msgstr "Create Collection"
188
229
 
189
230
  #. @context: Button to save new navigation link
190
- #: src/routes/dash/navigation.tsx:178
231
+ #: src/routes/dash/pages.tsx:386
191
232
  msgid "Create Link"
192
233
  msgstr "Create Link"
193
234
 
194
235
  #. @context: Button to create new page
195
- #: src/theme/components/PageForm.tsx:157
236
+ #: src/ui/dash/PageForm.tsx:157
196
237
  msgid "Create Page"
197
238
  msgstr "Create Page"
198
239
 
@@ -202,53 +243,68 @@ msgid "Create Redirect"
202
243
  msgstr "Create Redirect"
203
244
 
204
245
  #. @context: Setup page description
205
- #: src/app.tsx:217
246
+ #: src/app.tsx:229
206
247
  msgid "Create your admin account."
207
248
  msgstr "Create your admin account."
208
249
 
209
250
  #. @context: Button in empty state to create first page
210
- #: src/routes/dash/pages.tsx:50
211
- msgid "Create your first page"
212
- msgstr "Create your first page"
251
+ #: src/routes/dash/pages.tsx:48
252
+ #~ msgid "Create your first page"
253
+ #~ msgstr "Create your first page"
213
254
 
214
255
  #. @context: Button in empty state to create first post
215
- #: src/theme/components/PostList.tsx:29
256
+ #: src/ui/dash/PostList.tsx:29
216
257
  msgid "Create your first post"
217
258
  msgstr "Create your first post"
218
259
 
219
260
  #. @context: Password form field
220
- #: src/routes/dash/settings.tsx:426
261
+ #: src/routes/dash/settings.tsx:483
221
262
  msgid "Current Password"
222
263
  msgstr "Current Password"
223
264
 
265
+ #. @context: Appearance settings heading for custom CSS
266
+ #: src/routes/dash/settings.tsx:348
267
+ msgid "Custom CSS"
268
+ msgstr "Custom CSS"
269
+
224
270
  #. @context: Post form field
225
271
  #: src/theme/components/PostForm.tsx:297
226
- msgid "Custom Path (optional)"
227
- msgstr "Custom Path (optional)"
272
+ #~ msgid "Custom Path (optional)"
273
+ #~ msgstr "Custom Path (optional)"
274
+
275
+ #. @context: Post form field
276
+ #: src/theme/components/PostForm.tsx:293
277
+ #~ msgid "Custom Slug (optional)"
278
+ #~ msgstr "Custom Slug (optional)"
279
+
280
+ #. @context: Slug help text
281
+ #: src/theme/components/PostForm.tsx:306
282
+ #~ msgid "Custom URL path. Leave empty to use default /p/ID format."
283
+ #~ msgstr "Custom URL path. Leave empty to use default /p/ID format."
228
284
 
229
285
  #. @context: Section heading for dangerous/destructive actions
230
- #: src/theme/components/DangerZone.tsx:55
286
+ #: src/ui/dash/DangerZone.tsx:55
231
287
  msgid "Danger Zone"
232
288
  msgstr "Danger Zone"
233
289
 
234
290
  #. @context: Dashboard main heading
235
291
  #. @context: Dashboard navigation - main dashboard page
236
292
  #: src/routes/dash/index.tsx:36
237
- #: src/theme/layouts/DashLayout.tsx:78
293
+ #: src/ui/layouts/DashLayout.tsx:78
238
294
  msgid "Dashboard"
239
295
  msgstr "Dashboard"
240
296
 
241
297
  #. @context: Button to delete item
242
- #. @context: Button to delete navigation link
298
+ #. @context: Button to delete link
243
299
  #. @context: Button to delete redirect
244
- #: src/routes/dash/navigation.tsx:66
300
+ #: src/routes/dash/pages.tsx:120
245
301
  #: src/routes/dash/redirects.tsx:60
246
- #: src/theme/components/ActionButtons.tsx:80
302
+ #: src/ui/dash/ActionButtons.tsx:80
247
303
  msgid "Delete"
248
304
  msgstr "Delete"
249
305
 
250
306
  #. @context: Button to delete collection
251
- #: src/routes/dash/collections.tsx:374
307
+ #: src/routes/dash/collections.tsx:363
252
308
  msgid "Delete Collection"
253
309
  msgstr "Delete Collection"
254
310
 
@@ -258,7 +314,7 @@ msgid "Delete Media"
258
314
  msgstr "Delete Media"
259
315
 
260
316
  #. @context: Button to delete page
261
- #: src/routes/dash/pages.tsx:160
317
+ #: src/routes/dash/pages.tsx:278
262
318
  msgid "Delete Page"
263
319
  msgstr "Delete Page"
264
320
 
@@ -268,33 +324,37 @@ msgid "Deleting this media will remove it permanently from storage."
268
324
  msgstr "Deleting this media will remove it permanently from storage."
269
325
 
270
326
  #. @context: Hint shown on signin page when demo credentials are pre-filled
271
- #: src/app.tsx:376
327
+ #: src/app.tsx:400
272
328
  msgid "Demo account pre-filled. Just click Sign In."
273
329
  msgstr "Demo account pre-filled. Just click Sign In."
274
330
 
275
331
  #. @context: Collection form field
276
332
  #. @context: Collection form field
277
333
  #: src/routes/dash/collections.tsx:153
278
- #: src/routes/dash/collections.tsx:338
334
+ #: src/routes/dash/collections.tsx:327
279
335
  msgid "Description (optional)"
280
336
  msgstr "Description (optional)"
281
337
 
282
338
  #. @context: Navigation label help text
283
- #: src/routes/dash/navigation.tsx:140
339
+ #: src/routes/dash/pages.tsx:348
284
340
  msgid "Display text for the link"
285
341
  msgstr "Display text for the link"
286
342
 
287
343
  #. @context: Close media picker button
288
- #: src/theme/components/PostForm.tsx:355
344
+ #. @context: Close media picker button
345
+ #: src/ui/compose/ComposeDialog.tsx:375
346
+ #: src/ui/dash/PostForm.tsx:334
289
347
  msgid "Done"
290
348
  msgstr "Done"
291
349
 
350
+ #. @context: Compose button - save as draft
292
351
  #. @context: Page status option - draft
293
- #. @context: Post visibility badge - draft
294
- #. @context: Post visibility option
295
- #: src/theme/components/PageForm.tsx:133
296
- #: src/theme/components/PostForm.tsx:261
297
- #: src/theme/components/VisibilityBadge.tsx:38
352
+ #. @context: Post status badge - draft
353
+ #. @context: Post status option
354
+ #: src/ui/compose/ComposeDialog.tsx:326
355
+ #: src/ui/dash/PageForm.tsx:133
356
+ #: src/ui/dash/PostForm.tsx:234
357
+ #: src/ui/dash/StatusBadge.tsx:34
298
358
  msgid "Draft"
299
359
  msgstr "Draft"
300
360
 
@@ -305,45 +365,47 @@ msgstr "Drafts"
305
365
 
306
366
  #. @context: Source name placeholder
307
367
  #: src/theme/components/PostForm.tsx:226
308
- msgid "e.g. The Verge, John Doe"
309
- msgstr "e.g. The Verge, John Doe"
368
+ #~ msgid "e.g. The Verge, John Doe"
369
+ #~ msgstr "e.g. The Verge, John Doe"
310
370
 
311
371
  #. @context: Button to edit collection
312
372
  #. @context: Button to edit collection
313
373
  #. @context: Button to edit item
314
- #. @context: Button to edit navigation link
374
+ #. @context: Button to edit link
375
+ #. @context: Button to edit page
315
376
  #. @context: Button to edit page
316
377
  #. @context: Button to edit page
317
378
  #. @context: Button to edit post
318
379
  #. @context: Button to edit post
319
380
  #: src/routes/dash/collections.tsx:66
320
381
  #: src/routes/dash/collections.tsx:220
321
- #: src/routes/dash/navigation.tsx:61
322
- #: src/routes/dash/pages.tsx:64
323
- #: src/routes/dash/pages.tsx:134
324
- #: src/routes/dash/posts.tsx:142
325
- #: src/theme/components/ActionButtons.tsx:72
326
- #: src/theme/components/PostList.tsx:46
382
+ #: src/routes/dash/pages.tsx:94
383
+ #: src/routes/dash/pages.tsx:115
384
+ #: src/routes/dash/pages.tsx:192
385
+ #: src/routes/dash/pages.tsx:256
386
+ #: src/routes/dash/posts.tsx:140
387
+ #: src/ui/dash/ActionButtons.tsx:72
388
+ #: src/ui/dash/PostList.tsx:50
327
389
  msgid "Edit"
328
390
  msgstr "Edit"
329
391
 
330
392
  #. @context: Page heading
331
- #: src/routes/dash/collections.tsx:304
393
+ #: src/routes/dash/collections.tsx:293
332
394
  msgid "Edit Collection"
333
395
  msgstr "Edit Collection"
334
396
 
335
397
  #. @context: Page heading
336
- #: src/routes/dash/navigation.tsx:105
398
+ #: src/routes/dash/pages.tsx:313
337
399
  msgid "Edit Link"
338
400
  msgstr "Edit Link"
339
401
 
340
402
  #. @context: Edit page main heading
341
- #: src/routes/dash/pages.tsx:176
403
+ #: src/routes/dash/pages.tsx:294
342
404
  msgid "Edit Page"
343
405
  msgstr "Edit Page"
344
406
 
345
407
  #. @context: Page heading
346
- #: src/routes/dash/posts.tsx:187
408
+ #: src/routes/dash/posts.tsx:183
347
409
  msgid "Edit Post"
348
410
  msgstr "Edit Post"
349
411
 
@@ -358,30 +420,41 @@ msgstr "Edit Post"
358
420
 
359
421
  #. @context: Setup/signin form field - email
360
422
  #. @context: Setup/signin form field - email
361
- #: src/app.tsx:247
362
- #: src/app.tsx:391
423
+ #: src/app.tsx:259
424
+ #: src/app.tsx:415
363
425
  msgid "Email"
364
426
  msgstr "Email"
365
427
 
366
428
  #. @context: Password reset page description
367
- #: src/app.tsx:507
429
+ #: src/app.tsx:531
368
430
  msgid "Enter your new password."
369
431
  msgstr "Enter your new password."
370
432
 
371
- #. @context: Post visibility badge - featured
372
- #. @context: Post visibility option
373
- #: src/theme/components/PostForm.tsx:249
374
- #: src/theme/components/VisibilityBadge.tsx:26
433
+ #. @context: Archive filter - featured posts
434
+ #. @context: Browse filter for featured posts
435
+ #. @context: Compose checkbox - mark as featured
436
+ #. @context: Post badge - featured
437
+ #. @context: Post form checkbox - mark as featured
438
+ #: src/ui/compose/ComposeDialog.tsx:305
439
+ #: src/ui/dash/PostForm.tsx:246
440
+ #: src/ui/dash/StatusBadge.tsx:45
441
+ #: src/ui/layouts/SiteLayout.tsx:49
442
+ #: src/ui/pages/ArchivePage.tsx:92
375
443
  msgid "Featured"
376
444
  msgstr "Featured"
377
445
 
446
+ #. @context: Post form field - post format
447
+ #: src/ui/dash/PostForm.tsx:64
448
+ msgid "Format"
449
+ msgstr "Format"
450
+
378
451
  #. @context: Search results count - multiple
379
- #: src/themes/minimal/pages/SearchPage.tsx:73
452
+ #: src/ui/pages/SearchPage.tsx:73
380
453
  msgid "Found {count} results"
381
454
  msgstr "Found {count} results"
382
455
 
383
456
  #. @context: Search results count - single
384
- #: src/themes/minimal/pages/SearchPage.tsx:69
457
+ #: src/ui/pages/SearchPage.tsx:69
385
458
  msgid "Found 1 result"
386
459
  msgstr "Found 1 result"
387
460
 
@@ -402,14 +475,14 @@ msgstr "General"
402
475
  #. @context: Post type option
403
476
  #: src/theme/components/PostForm.tsx:83
404
477
  #: src/theme/components/TypeBadge.tsx:29
405
- #: src/themes/minimal/pages/ArchivePage.tsx:26
406
- msgid "Image"
407
- msgstr "Image"
478
+ #: src/themes/threads/pages/ArchivePage.tsx:26
479
+ #~ msgid "Image"
480
+ #~ msgstr "Image"
408
481
 
409
482
  #. @context: Post type label plural - images
410
- #: src/themes/minimal/pages/ArchivePage.tsx:54
411
- msgid "Images"
412
- msgstr "Images"
483
+ #: src/themes/threads/pages/ArchivePage.tsx:54
484
+ #~ msgid "Images"
485
+ #~ msgstr "Images"
413
486
 
414
487
  #. @context: Media upload instructions - auto optimization
415
488
  #: src/routes/dash/media.tsx:171
@@ -417,12 +490,12 @@ msgid "Images are automatically optimized: resized to max 1920px, converted to W
417
490
  msgstr "Images are automatically optimized: resized to max 1920px, converted to WebP, and metadata stripped."
418
491
 
419
492
  #. @context: Password reset error heading
420
- #: src/app.tsx:582
493
+ #: src/app.tsx:606
421
494
  msgid "Invalid or Expired Link"
422
495
  msgstr "Invalid or Expired Link"
423
496
 
424
497
  #. @context: Navigation link form field
425
- #: src/routes/dash/navigation.tsx:127
498
+ #: src/routes/dash/pages.tsx:335
426
499
  msgid "Label"
427
500
  msgstr "Label"
428
501
 
@@ -431,39 +504,51 @@ msgstr "Label"
431
504
  msgid "Language"
432
505
  msgstr "Language"
433
506
 
507
+ #. @context: Browse filter for latest posts
508
+ #: src/ui/layouts/SiteLayout.tsx:42
509
+ msgid "Latest"
510
+ msgstr "Latest"
511
+
434
512
  #. @context: Setup page description
435
513
  #: src/app.tsx:130
436
514
  #~ msgid "Let's set up your site."
437
515
  #~ msgstr "Let's set up your site."
438
516
 
439
- #. @context: Post type badge - link
440
- #. @context: Post type label - link
441
- #. @context: Post type option
442
- #: src/theme/components/PostForm.tsx:77
443
- #: src/theme/components/TypeBadge.tsx:24
444
- #: src/themes/minimal/pages/ArchivePage.tsx:21
517
+ #. @context: Nav item type badge
518
+ #: src/routes/dash/pages.tsx:145
519
+ msgid "link"
520
+ msgstr "link"
521
+
522
+ #. @context: Compose format tab
523
+ #. @context: Post format badge - link
524
+ #. @context: Post format label - link
525
+ #. @context: Post format option
526
+ #: src/ui/compose/ComposeDialog.tsx:101
527
+ #: src/ui/dash/FormatBadge.tsx:20
528
+ #: src/ui/dash/PostForm.tsx:74
529
+ #: src/ui/pages/ArchivePage.tsx:17
445
530
  msgid "Link"
446
531
  msgstr "Link"
447
532
 
448
- #. @context: Post type label plural - links
449
- #: src/themes/minimal/pages/ArchivePage.tsx:46
533
+ #. @context: Post format label plural - links
534
+ #: src/ui/pages/ArchivePage.tsx:33
450
535
  msgid "Links"
451
536
  msgstr "Links"
452
537
 
453
- #. @context: Button to load more posts in timeline
454
538
  #. @context: Pagination button - load more items
455
- #: src/theme/components/Pagination.tsx:103
456
- #: src/themes/minimal/timeline/TimelineFeed.tsx:48
539
+ #: src/ui/shared/Pagination.tsx:104
457
540
  msgid "Load more"
458
541
  msgstr "Load more"
459
542
 
460
543
  #. @context: Loading state for media picker
461
- #: src/theme/components/PostForm.tsx:366
544
+ #. @context: Loading state for media picker
545
+ #: src/ui/compose/ComposeDialog.tsx:386
546
+ #: src/ui/dash/PostForm.tsx:345
462
547
  msgid "Loading..."
463
548
  msgstr "Loading..."
464
549
 
465
- #. @context: Page path validation message
466
- #: src/theme/components/PageForm.tsx:77
550
+ #. @context: Page slug validation message
551
+ #: src/ui/dash/PageForm.tsx:77
467
552
  msgid "Lowercase letters, numbers, and hyphens only"
468
553
  msgstr "Lowercase letters, numbers, and hyphens only"
469
554
 
@@ -476,8 +561,8 @@ msgstr "Markdown"
476
561
  #. @context: Media main heading
477
562
  #. @context: Post form field - media attachments
478
563
  #: src/routes/dash/media.tsx:151
479
- #: src/theme/components/PostForm.tsx:128
480
- #: src/theme/layouts/DashLayout.tsx:105
564
+ #: src/ui/dash/PostForm.tsx:158
565
+ #: src/ui/layouts/DashLayout.tsx:105
481
566
  msgid "Media"
482
567
  msgstr "Media"
483
568
 
@@ -492,7 +577,7 @@ msgid "My Collection"
492
577
  msgstr "My Collection"
493
578
 
494
579
  #. @context: Account settings form field
495
- #: src/routes/dash/settings.tsx:373
580
+ #: src/routes/dash/settings.tsx:430
496
581
  msgid "Name"
497
582
  msgstr "Name"
498
583
 
@@ -500,8 +585,8 @@ msgstr "Name"
500
585
  #. @context: Dashboard navigation - navigation links management
501
586
  #: src/routes/dash/navigation.tsx:29
502
587
  #: src/theme/layouts/DashLayout.tsx:133
503
- msgid "Navigation"
504
- msgstr "Navigation"
588
+ #~ msgid "Navigation"
589
+ #~ msgstr "Navigation"
505
590
 
506
591
  #. @context: Help text with link
507
592
  #: src/routes/dash/index.tsx:78
@@ -517,35 +602,33 @@ msgstr "Need help? Visit the <0>documentation</0>"
517
602
  msgid "New Collection"
518
603
  msgstr "New Collection"
519
604
 
520
- #. @context: Button to create new navigation link
521
- #. @context: Button to create new navigation link
522
605
  #. @context: Page heading
523
- #: src/routes/dash/navigation.tsx:33
524
- #: src/routes/dash/navigation.tsx:46
525
- #: src/routes/dash/navigation.tsx:106
606
+ #: src/routes/dash/pages.tsx:314
526
607
  msgid "New Link"
527
608
  msgstr "New Link"
528
609
 
529
610
  #. @context: Button to create new page
530
611
  #. @context: New page main heading
531
- #: src/routes/dash/pages.tsx:37
532
- #: src/routes/dash/pages.tsx:110
612
+ #: src/routes/dash/pages.tsx:56
613
+ #: src/routes/dash/pages.tsx:232
533
614
  msgid "New Page"
534
615
  msgstr "New Page"
535
616
 
536
617
  #. @context: Password form field
537
618
  #. @context: Password reset form field
538
- #: src/app.tsx:522
539
- #: src/routes/dash/settings.tsx:442
619
+ #: src/app.tsx:546
620
+ #: src/routes/dash/settings.tsx:499
540
621
  msgid "New Password"
541
622
  msgstr "New Password"
542
623
 
543
624
  #. @context: Button to create new post
544
625
  #. @context: Button to create new post
626
+ #. @context: Compose dialog title
545
627
  #. @context: Page heading
546
628
  #: src/routes/dash/index.tsx:68
547
629
  #: src/routes/dash/posts.tsx:30
548
630
  #: src/routes/dash/posts.tsx:46
631
+ #: src/ui/compose/ComposeDialog.tsx:66
549
632
  msgid "New Post"
550
633
  msgstr "New Post"
551
634
 
@@ -560,16 +643,23 @@ msgstr "New Redirect"
560
643
 
561
644
  #. @context: Pagination button - next page
562
645
  #. @context: Pagination button - next page
563
- #: src/theme/components/Pagination.tsx:49
564
- #: src/theme/components/Pagination.tsx:160
646
+ #: src/ui/shared/Pagination.tsx:50
647
+ #: src/ui/shared/Pagination.tsx:167
565
648
  msgid "Next"
566
649
  msgstr "Next"
567
650
 
568
651
  #. @context: Empty state message
652
+ #. @context: Empty state message on collections page
569
653
  #: src/routes/dash/collections.tsx:48
654
+ #: src/ui/pages/CollectionsPage.tsx:28
570
655
  msgid "No collections yet."
571
656
  msgstr "No collections yet."
572
657
 
658
+ #. @context: Empty state message on featured page
659
+ #: src/ui/pages/FeaturedPage.tsx:20
660
+ msgid "No featured posts yet."
661
+ msgstr "No featured posts yet."
662
+
573
663
  #. @context: Empty state message when no media exists
574
664
  #: src/routes/dash/media.tsx:186
575
665
  msgid "No media uploaded yet."
@@ -577,30 +667,35 @@ msgstr "No media uploaded yet."
577
667
 
578
668
  #. @context: Empty state message
579
669
  #: src/routes/dash/navigation.tsx:42
580
- msgid "No navigation links configured."
581
- msgstr "No navigation links configured."
670
+ #~ msgid "No navigation links configured."
671
+ #~ msgstr "No navigation links configured."
672
+
673
+ #. @context: Empty state for navigation section
674
+ #: src/routes/dash/pages.tsx:74
675
+ msgid "No navigation links yet. Add pages to navigation or create links."
676
+ msgstr "No navigation links yet. Add pages to navigation or create links."
582
677
 
583
678
  #. @context: Empty state message when no pages exist
584
- #: src/routes/dash/pages.tsx:46
585
- msgid "No pages yet."
586
- msgstr "No pages yet."
679
+ #: src/routes/dash/pages.tsx:44
680
+ #~ msgid "No pages yet."
681
+ #~ msgstr "No pages yet."
587
682
 
588
683
  #. @context: Archive empty state
589
- #: src/themes/minimal/pages/ArchivePage.tsx:110
684
+ #: src/ui/pages/ArchivePage.tsx:103
590
685
  msgid "No posts found."
591
686
  msgstr "No posts found."
592
687
 
593
688
  #. @context: Empty state message
594
689
  #. @context: Empty state message
595
690
  #: src/routes/dash/collections.tsx:243
596
- #: src/themes/minimal/pages/CollectionPage.tsx:29
691
+ #: src/ui/pages/CollectionPage.tsx:29
597
692
  msgid "No posts in this collection."
598
693
  msgstr "No posts in this collection."
599
694
 
600
695
  #. @context: Empty state message on home page
601
696
  #. @context: Empty state message when no posts exist
602
- #: src/theme/components/PostList.tsx:25
603
- #: src/themes/minimal/pages/HomePage.tsx:26
697
+ #: src/ui/dash/PostList.tsx:25
698
+ #: src/ui/pages/HomePage.tsx:23
604
699
  msgid "No posts yet."
605
700
  msgstr "No posts yet."
606
701
 
@@ -610,95 +705,138 @@ msgid "No redirects configured."
610
705
  msgstr "No redirects configured."
611
706
 
612
707
  #. @context: Search empty results
613
- #: src/themes/minimal/pages/SearchPage.tsx:64
708
+ #: src/ui/pages/SearchPage.tsx:64
614
709
  msgid "No results found."
615
710
  msgstr "No results found."
616
711
 
617
- #. @context: Post type badge - note
618
- #. @context: Post type label - note
619
- #. @context: Post type option
620
- #: src/theme/components/PostForm.tsx:71
621
- #: src/theme/components/TypeBadge.tsx:19
622
- #: src/themes/minimal/pages/ArchivePage.tsx:16
712
+ #. @context: No collection selected
713
+ #. @context: No collection selected
714
+ #. @context: No rating selected
715
+ #: src/ui/compose/ComposeDialog.tsx:174
716
+ #: src/ui/compose/ComposeDialog.tsx:198
717
+ #: src/ui/dash/PostForm.tsx:271
718
+ msgid "None"
719
+ msgstr "None"
720
+
721
+ #. @context: Compose format tab
722
+ #. @context: Post format badge - note
723
+ #. @context: Post format label - note
724
+ #. @context: Post format option
725
+ #: src/ui/compose/ComposeDialog.tsx:90
726
+ #: src/ui/dash/FormatBadge.tsx:19
727
+ #: src/ui/dash/PostForm.tsx:71
728
+ #: src/ui/pages/ArchivePage.tsx:16
623
729
  msgid "Note"
624
730
  msgstr "Note"
625
731
 
626
- #. @context: Post type label plural - notes
627
- #: src/themes/minimal/pages/ArchivePage.tsx:38
732
+ #. @context: Post format label plural - notes
733
+ #: src/ui/pages/ArchivePage.tsx:29
628
734
  msgid "Notes"
629
735
  msgstr "Notes"
630
736
 
737
+ #. @context: Section heading for pages not in navigation
738
+ #: src/routes/dash/pages.tsx:161
739
+ msgid "Other pages"
740
+ msgstr "Other pages"
741
+
742
+ #. @context: Nav item type badge
743
+ #: src/routes/dash/pages.tsx:141
744
+ msgid "page"
745
+ msgstr "page"
746
+
631
747
  #. @context: Default page heading when untitled
632
- #. @context: Post type badge - page
633
- #. @context: Post type label - page
634
- #: src/routes/dash/pages.tsx:125
635
- #: src/theme/components/TypeBadge.tsx:33
636
- #: src/themes/minimal/pages/ArchivePage.tsx:30
748
+ #: src/routes/dash/pages.tsx:247
637
749
  msgid "Page"
638
750
  msgstr "Page"
639
751
 
640
752
  #. @context: Pagination - current page indicator
641
- #: src/theme/components/Pagination.tsx:164
753
+ #: src/ui/shared/Pagination.tsx:227
642
754
  msgid "Page {page}"
643
755
  msgstr "Page {page}"
644
756
 
645
757
  #. @context: Page content placeholder
646
- #: src/theme/components/PageForm.tsx:104
758
+ #: src/ui/dash/PageForm.tsx:104
647
759
  msgid "Page content (Markdown supported)..."
648
760
  msgstr "Page content (Markdown supported)..."
649
761
 
650
762
  #. @context: Page title placeholder
651
- #: src/theme/components/PageForm.tsx:53
763
+ #: src/ui/dash/PageForm.tsx:53
652
764
  msgid "Page title..."
653
765
  msgstr "Page title..."
654
766
 
655
767
  #. @context: Dashboard navigation - pages management
656
768
  #. @context: Pages main heading
657
- #. @context: Post type label plural - pages
658
- #: src/routes/dash/pages.tsx:36
659
- #: src/theme/layouts/DashLayout.tsx:96
660
- #: src/themes/minimal/pages/ArchivePage.tsx:58
769
+ #: src/routes/dash/pages.tsx:43
770
+ #: src/ui/layouts/DashLayout.tsx:96
661
771
  msgid "Pages"
662
772
  msgstr "Pages"
663
773
 
664
774
  #. @context: Setup/signin form field - password
665
775
  #. @context: Setup/signin form field - password
666
- #: src/app.tsx:262
667
- #: src/app.tsx:400
776
+ #: src/app.tsx:274
777
+ #: src/app.tsx:424
668
778
  msgid "Password"
669
779
  msgstr "Password"
670
780
 
671
781
  #. @context: Page form field label - URL path
672
782
  #: src/theme/components/PageForm.tsx:64
673
- msgid "Path"
674
- msgstr "Path"
783
+ #~ msgid "Path"
784
+ #~ msgstr "Path"
675
785
 
676
786
  #. @context: Navigation URL help text
677
- #: src/routes/dash/navigation.tsx:162
787
+ #: src/routes/dash/pages.tsx:370
678
788
  msgid "Path (e.g. /archive) or full URL (e.g. https://example.com)"
679
789
  msgstr "Path (e.g. /archive) or full URL (e.g. https://example.com)"
680
790
 
681
791
  #. @context: Link to individual post in thread
682
792
  #. @context: Link to permanent URL of post
683
- #: src/theme/components/ThreadView.tsx:68
684
- #: src/themes/minimal/pages/PostPage.tsx:35
793
+ #: src/ui/pages/PostPage.tsx:48
794
+ #: src/ui/shared/ThreadView.tsx:71
685
795
  msgid "Permalink"
686
796
  msgstr "Permalink"
687
797
 
798
+ #. @context: Compose checkbox - pin to top
799
+ #. @context: Post badge - pinned
800
+ #. @context: Post form checkbox - pin to top
801
+ #: src/ui/compose/ComposeDialog.tsx:312
802
+ #: src/ui/dash/PostForm.tsx:253
803
+ #: src/ui/dash/StatusBadge.tsx:53
804
+ msgid "Pinned"
805
+ msgstr "Pinned"
806
+
807
+ #. @context: Singular post count label
808
+ #: src/ui/pages/CollectionsPage.tsx:56
809
+ msgid "post"
810
+ msgstr "post"
811
+
812
+ #. @context: Compose button - publish post
813
+ #. @context: Compose prompt post button
688
814
  #. @context: Default post title
689
- #: src/routes/dash/posts.tsx:131
815
+ #: src/routes/dash/posts.tsx:128
816
+ #: src/ui/compose/ComposeDialog.tsx:339
817
+ #: src/ui/compose/ComposePrompt.tsx:48
690
818
  msgid "Post"
691
819
  msgstr "Post"
692
820
 
693
821
  #. @context: Post title placeholder
694
- #: src/theme/components/PostForm.tsx:100
822
+ #: src/ui/dash/PostForm.tsx:94
695
823
  msgid "Post title..."
696
824
  msgstr "Post title..."
697
825
 
826
+ #. @context: Compose loading text while posting
827
+ #: src/ui/compose/ComposeDialog.tsx:345
828
+ msgid "Posting..."
829
+ msgstr "Posting..."
830
+
831
+ #. @context: Plural post count label
832
+ #: src/ui/pages/CollectionsPage.tsx:60
833
+ msgid "posts"
834
+ msgstr "posts"
835
+
698
836
  #. @context: Dashboard heading
699
837
  #. @context: Dashboard navigation - posts management
700
838
  #: src/routes/dash/posts.tsx:29
701
- #: src/theme/layouts/DashLayout.tsx:87
839
+ #: src/ui/layouts/DashLayout.tsx:87
702
840
  msgid "Posts"
703
841
  msgstr "Posts"
704
842
 
@@ -714,8 +852,8 @@ msgstr "Preview"
714
852
 
715
853
  #. @context: Pagination button - previous page
716
854
  #. @context: Pagination button - previous page
717
- #: src/theme/components/Pagination.tsx:45
718
- #: src/theme/components/Pagination.tsx:156
855
+ #: src/ui/shared/Pagination.tsx:46
856
+ #: src/ui/shared/Pagination.tsx:163
719
857
  msgid "Previous"
720
858
  msgstr "Previous"
721
859
 
@@ -731,44 +869,55 @@ msgstr "Previous"
731
869
  #. @context: Loading text shown on submit button while request is in progress
732
870
  #. @context: Loading text shown on submit button while request is in progress
733
871
  #. @context: Loading text shown on submit button while request is in progress
872
+ #. @context: Loading text shown on submit button while request is in progress
734
873
  #. @context: Upload status - processing
735
- #: src/app.tsx:283
736
- #: src/app.tsx:420
737
- #: src/app.tsx:560
874
+ #: src/app.tsx:295
875
+ #: src/app.tsx:444
876
+ #: src/app.tsx:584
738
877
  #: src/routes/dash/collections.tsx:178
739
- #: src/routes/dash/collections.tsx:357
878
+ #: src/routes/dash/collections.tsx:346
740
879
  #: src/routes/dash/media.tsx:119
741
- #: src/routes/dash/navigation.tsx:184
880
+ #: src/routes/dash/pages.tsx:392
742
881
  #: src/routes/dash/redirects.tsx:169
743
882
  #: src/routes/dash/settings.tsx:200
744
- #: src/routes/dash/settings.tsx:400
745
- #: src/routes/dash/settings.tsx:488
746
- #: src/theme/components/PageForm.tsx:163
747
- #: src/theme/components/PostForm.tsx:325
883
+ #: src/routes/dash/settings.tsx:384
884
+ #: src/routes/dash/settings.tsx:457
885
+ #: src/routes/dash/settings.tsx:545
886
+ #: src/ui/dash/PageForm.tsx:163
887
+ #: src/ui/dash/PostForm.tsx:304
748
888
  msgid "Processing..."
749
889
  msgstr "Processing..."
750
890
 
751
891
  #. @context: Account settings section heading
752
- #: src/routes/dash/settings.tsx:364
892
+ #: src/routes/dash/settings.tsx:421
753
893
  msgid "Profile"
754
894
  msgstr "Profile"
755
895
 
756
896
  #. @context: Button to publish new post
757
- #: src/theme/components/PostForm.tsx:319
897
+ #: src/ui/dash/PostForm.tsx:298
758
898
  msgid "Publish"
759
899
  msgstr "Publish"
760
900
 
761
901
  #. @context: Page status option - published
902
+ #. @context: Post status badge - published
762
903
  #. @context: Post status label
904
+ #. @context: Post status option
763
905
  #: src/routes/dash/index.tsx:45
764
- #: src/theme/components/PageForm.tsx:127
906
+ #: src/ui/dash/PageForm.tsx:127
907
+ #: src/ui/dash/PostForm.tsx:228
908
+ #: src/ui/dash/StatusBadge.tsx:30
765
909
  msgid "Published"
766
910
  msgstr "Published"
767
911
 
768
912
  #. @context: Page status helper text
769
913
  #: src/theme/components/PageForm.tsx:140
770
- msgid "Published pages are accessible via their path. Drafts are not visible."
771
- msgstr "Published pages are accessible via their path. Drafts are not visible."
914
+ #~ msgid "Published pages are accessible via their path. Drafts are not visible."
915
+ #~ msgstr "Published pages are accessible via their path. Drafts are not visible."
916
+
917
+ #. @context: Page status helper text
918
+ #: src/ui/dash/PageForm.tsx:140
919
+ msgid "Published pages are accessible via their slug. Drafts are not visible."
920
+ msgstr "Published pages are accessible via their slug. Drafts are not visible."
772
921
 
773
922
  #. @context: Dashboard section title
774
923
  #: src/routes/dash/index.tsx:62
@@ -777,56 +926,73 @@ msgstr "Quick Actions"
777
926
 
778
927
  #. @context: Post visibility badge - normal
779
928
  #: src/theme/components/VisibilityBadge.tsx:30
780
- msgid "Quiet"
781
- msgstr "Quiet"
929
+ #~ msgid "Quiet"
930
+ #~ msgstr "Quiet"
782
931
 
783
932
  #. @context: Post visibility option
784
933
  #: src/theme/components/PostForm.tsx:243
785
- msgid "Quiet (normal)"
786
- msgstr "Quiet (normal)"
787
-
788
- #. @context: Post type badge - quote
789
- #. @context: Post type label - quote
790
- #. @context: Post type option
791
- #: src/theme/components/PostForm.tsx:80
792
- #: src/theme/components/TypeBadge.tsx:25
793
- #: src/themes/minimal/pages/ArchivePage.tsx:22
934
+ #~ msgid "Quiet (normal)"
935
+ #~ msgstr "Quiet (normal)"
936
+
937
+ #. @context: Compose format tab
938
+ #. @context: Post format badge - quote
939
+ #. @context: Post format label - quote
940
+ #. @context: Post format option
941
+ #: src/ui/compose/ComposeDialog.tsx:112
942
+ #: src/ui/dash/FormatBadge.tsx:21
943
+ #: src/ui/dash/PostForm.tsx:77
944
+ #: src/ui/pages/ArchivePage.tsx:18
794
945
  msgid "Quote"
795
946
  msgstr "Quote"
796
947
 
797
- #. @context: Post type label plural - quotes
798
- #: src/themes/minimal/pages/ArchivePage.tsx:50
948
+ #. @context: Post form field - quoted text
949
+ #: src/ui/dash/PostForm.tsx:137
950
+ msgid "Quote Text"
951
+ msgstr "Quote Text"
952
+
953
+ #. @context: Post format label plural - quotes
954
+ #: src/ui/pages/ArchivePage.tsx:37
799
955
  msgid "Quotes"
800
956
  msgstr "Quotes"
801
957
 
958
+ #. @context: Compose rating field
959
+ #. @context: Compose toolbar - toggle rating
960
+ #: src/ui/compose/ComposeDialog.tsx:167
961
+ #: src/ui/compose/ComposeDialog.tsx:246
962
+ msgid "Rating"
963
+ msgstr "Rating"
964
+
802
965
  #. @context: Dashboard heading
803
966
  #. @context: Dashboard navigation - URL redirects
804
967
  #: src/routes/dash/redirects.tsx:29
805
- #: src/theme/layouts/DashLayout.tsx:124
968
+ #: src/ui/layouts/DashLayout.tsx:124
806
969
  msgid "Redirects"
807
970
  msgstr "Redirects"
808
971
 
809
- #. @context: Button to remove post from collection
810
972
  #. @context: Remove media attachment button
811
- #: src/routes/dash/collections.tsx:267
812
- #: src/theme/components/PostForm.tsx:173
973
+ #: src/ui/dash/PostForm.tsx:194
813
974
  msgid "Remove"
814
975
  msgstr "Remove"
815
976
 
816
977
  #. @context: Password reset form submit button
817
978
  #. @context: Password reset page heading
818
- #: src/app.tsx:501
819
- #: src/app.tsx:554
979
+ #: src/app.tsx:525
980
+ #: src/app.tsx:578
820
981
  msgid "Reset Password"
821
982
  msgstr "Reset Password"
822
983
 
823
984
  #. @context: Button to save edited navigation link
824
- #: src/routes/dash/navigation.tsx:174
985
+ #: src/routes/dash/pages.tsx:382
825
986
  msgid "Save Changes"
826
987
  msgstr "Save Changes"
827
988
 
989
+ #. @context: Button to save custom CSS
990
+ #: src/routes/dash/settings.tsx:378
991
+ msgid "Save CSS"
992
+ msgstr "Save CSS"
993
+
828
994
  #. @context: Button to save profile
829
- #: src/routes/dash/settings.tsx:394
995
+ #: src/routes/dash/settings.tsx:451
830
996
  msgid "Save Profile"
831
997
  msgstr "Save Profile"
832
998
 
@@ -835,10 +1001,12 @@ msgstr "Save Profile"
835
1001
  msgid "Save Settings"
836
1002
  msgstr "Save Settings"
837
1003
 
1004
+ #. @context: Search icon link in browse nav
838
1005
  #. @context: Search page title
839
1006
  #. @context: Search submit button
840
- #: src/themes/minimal/pages/SearchPage.tsx:21
841
- #: src/themes/minimal/pages/SearchPage.tsx:46
1007
+ #: src/ui/layouts/SiteLayout.tsx:70
1008
+ #: src/ui/pages/SearchPage.tsx:20
1009
+ #: src/ui/pages/SearchPage.tsx:44
842
1010
  msgid "Search"
843
1011
  msgstr "Search"
844
1012
 
@@ -848,12 +1016,14 @@ msgstr "Search"
848
1016
  #~ msgstr "Search failed. Please try again."
849
1017
 
850
1018
  #. @context: Search input placeholder
851
- #: src/themes/minimal/pages/SearchPage.tsx:38
1019
+ #: src/ui/pages/SearchPage.tsx:36
852
1020
  msgid "Search posts..."
853
1021
  msgstr "Search posts..."
854
1022
 
855
1023
  #. @context: Media picker dialog title
856
- #: src/theme/components/PostForm.tsx:345
1024
+ #. @context: Media picker dialog title
1025
+ #: src/ui/compose/ComposeDialog.tsx:365
1026
+ #: src/ui/dash/PostForm.tsx:324
857
1027
  msgid "Select Media"
858
1028
  msgstr "Select Media"
859
1029
 
@@ -862,9 +1032,9 @@ msgstr "Select Media"
862
1032
  #. @context: Dashboard heading
863
1033
  #. @context: Dashboard navigation - site settings
864
1034
  #: src/routes/dash/settings.tsx:118
865
- #: src/routes/dash/settings.tsx:300
866
- #: src/routes/dash/settings.tsx:351
867
- #: src/theme/layouts/DashLayout.tsx:143
1035
+ #: src/routes/dash/settings.tsx:304
1036
+ #: src/routes/dash/settings.tsx:408
1037
+ #: src/ui/layouts/DashLayout.tsx:133
868
1038
  msgid "Settings"
869
1039
  msgstr "Settings"
870
1040
 
@@ -875,19 +1045,19 @@ msgstr "Settings"
875
1045
 
876
1046
  #. @context: Link to show remaining thread replies
877
1047
  #. placeholder {0}: remainingCount === 1 ? "reply" : "replies"
878
- #: src/themes/minimal/timeline/ThreadPreview.tsx:37
1048
+ #: src/ui/feed/ThreadPreview.tsx:37
879
1049
  msgid "Show {remainingCount} more {0}"
880
1050
  msgstr "Show {remainingCount} more {0}"
881
1051
 
882
1052
  #. @context: Sign in form submit button
883
1053
  #. @context: Sign in page heading
884
- #: src/app.tsx:367
885
- #: src/app.tsx:414
1054
+ #: src/app.tsx:391
1055
+ #: src/app.tsx:438
886
1056
  msgid "Sign In"
887
1057
  msgstr "Sign In"
888
1058
 
889
1059
  #. @context: Dashboard header link to sign out
890
- #: src/theme/layouts/DashLayout.tsx:63
1060
+ #: src/ui/layouts/DashLayout.tsx:63
891
1061
  msgid "Sign Out"
892
1062
  msgstr "Sign Out"
893
1063
 
@@ -903,23 +1073,27 @@ msgstr "Site Name"
903
1073
 
904
1074
  #. @context: Collection form field
905
1075
  #. @context: Collection form field
1076
+ #. @context: Page form field label - URL slug
906
1077
  #: src/routes/dash/collections.tsx:133
907
- #: src/routes/dash/collections.tsx:325
1078
+ #: src/routes/dash/collections.tsx:314
1079
+ #: src/ui/dash/PageForm.tsx:64
908
1080
  msgid "Slug"
909
1081
  msgstr "Slug"
910
1082
 
911
1083
  #. @context: Post form field - name of the source website or author
912
1084
  #: src/theme/components/PostForm.tsx:216
913
- msgid "Source Name (optional)"
914
- msgstr "Source Name (optional)"
1085
+ #~ msgid "Source Name (optional)"
1086
+ #~ msgstr "Source Name (optional)"
915
1087
 
916
1088
  #. @context: Post form field
917
1089
  #: src/theme/components/PostForm.tsx:200
918
- msgid "Source URL (optional)"
919
- msgstr "Source URL (optional)"
1090
+ #~ msgid "Source URL (optional)"
1091
+ #~ msgstr "Source URL (optional)"
920
1092
 
921
1093
  #. @context: Page form field label - publish status
922
- #: src/theme/components/PageForm.tsx:117
1094
+ #. @context: Post form field
1095
+ #: src/ui/dash/PageForm.tsx:117
1096
+ #: src/ui/dash/PostForm.tsx:221
923
1097
  msgid "Status"
924
1098
  msgstr "Status"
925
1099
 
@@ -938,33 +1112,40 @@ msgstr "The destination path or URL"
938
1112
  msgid "The path to redirect from"
939
1113
  msgstr "The path to redirect from"
940
1114
 
941
- #. @context: Page path helper text
942
- #: src/theme/components/PageForm.tsx:85
1115
+ #. @context: Compose quote text placeholder
1116
+ #. @context: Quote text placeholder
1117
+ #: src/ui/compose/ComposeDialog.tsx:156
1118
+ #: src/ui/dash/PostForm.tsx:145
1119
+ msgid "The text being quoted..."
1120
+ msgstr "The text being quoted..."
1121
+
1122
+ #. @context: Page slug helper text
1123
+ #: src/ui/dash/PageForm.tsx:85
943
1124
  msgid "The URL path for this page. Use lowercase letters, numbers, and hyphens."
944
1125
  msgstr "The URL path for this page. Use lowercase letters, numbers, and hyphens."
945
1126
 
946
1127
  #. @context: Password reset error description
947
- #: src/app.tsx:590
1128
+ #: src/app.tsx:614
948
1129
  msgid "This password reset link is invalid or has expired. Please generate a new one."
949
1130
  msgstr "This password reset link is invalid or has expired. Please generate a new one."
950
1131
 
951
1132
  #. @context: Appearance settings description
952
- #: src/routes/dash/settings.tsx:317
1133
+ #: src/routes/dash/settings.tsx:321
953
1134
  msgid "This will theme both your site and your dashboard. All color themes support dark mode."
954
1135
  msgstr "This will theme both your site and your dashboard. All color themes support dark mode."
955
1136
 
956
1137
  #. @context: Thread view indicator - first post in thread
957
- #: src/theme/components/ThreadView.tsx:57
1138
+ #: src/ui/shared/ThreadView.tsx:60
958
1139
  msgid "Thread start"
959
1140
  msgstr "Thread start"
960
1141
 
961
1142
  #. @context: Thread view header - multiple posts
962
- #: src/theme/components/ThreadView.tsx:102
1143
+ #: src/ui/shared/ThreadView.tsx:105
963
1144
  msgid "Thread with {count} posts"
964
1145
  msgstr "Thread with {count} posts"
965
1146
 
966
1147
  #. @context: Thread view header - single post
967
- #: src/theme/components/ThreadView.tsx:98
1148
+ #: src/ui/shared/ThreadView.tsx:101
968
1149
  msgid "Thread with 1 post"
969
1150
  msgstr "Thread with 1 post"
970
1151
 
@@ -972,13 +1153,15 @@ msgstr "Thread with 1 post"
972
1153
  #. @context: Collection form field
973
1154
  #. @context: Page form field label - title
974
1155
  #: src/routes/dash/collections.tsx:114
975
- #: src/routes/dash/collections.tsx:315
976
- #: src/theme/components/PageForm.tsx:44
1156
+ #: src/routes/dash/collections.tsx:304
1157
+ #: src/ui/dash/PageForm.tsx:44
977
1158
  msgid "Title"
978
1159
  msgstr "Title"
979
1160
 
1161
+ #. @context: Compose title placeholder
980
1162
  #. @context: Post form field
981
- #: src/theme/components/PostForm.tsx:91
1163
+ #: src/ui/compose/ComposeDialog.tsx:124
1164
+ #: src/ui/dash/PostForm.tsx:85
982
1165
  msgid "Title (optional)"
983
1166
  msgstr "Title (optional)"
984
1167
 
@@ -987,39 +1170,42 @@ msgstr "Title (optional)"
987
1170
  msgid "To Path"
988
1171
  msgstr "To Path"
989
1172
 
990
- #. @context: Post form field - post type
991
1173
  #. @context: Redirect form field
992
1174
  #: src/routes/dash/redirects.tsx:142
993
- #: src/theme/components/PostForm.tsx:64
994
1175
  msgid "Type"
995
1176
  msgstr "Type"
996
1177
 
1178
+ #. @context: Button to remove page from navigation
1179
+ #: src/routes/dash/pages.tsx:104
1180
+ msgid "Un-nav"
1181
+ msgstr "Un-nav"
1182
+
997
1183
  #. @context: Post visibility badge - unlisted
998
1184
  #. @context: Post visibility option
999
1185
  #: src/theme/components/PostForm.tsx:255
1000
1186
  #: src/theme/components/VisibilityBadge.tsx:34
1001
- msgid "Unlisted"
1002
- msgstr "Unlisted"
1187
+ #~ msgid "Unlisted"
1188
+ #~ msgstr "Unlisted"
1003
1189
 
1004
1190
  #. @context: Default title for untitled page
1005
1191
  #. @context: Default title for untitled post
1006
- #: src/routes/dash/pages.tsx:91
1007
- #: src/theme/components/PostList.tsx:78
1192
+ #: src/routes/dash/pages.tsx:212
1193
+ #: src/ui/dash/PostList.tsx:86
1008
1194
  msgid "Untitled"
1009
1195
  msgstr "Untitled"
1010
1196
 
1011
1197
  #. @context: Button to update existing post
1012
- #: src/theme/components/PostForm.tsx:315
1198
+ #: src/ui/dash/PostForm.tsx:294
1013
1199
  msgid "Update"
1014
1200
  msgstr "Update"
1015
1201
 
1016
1202
  #. @context: Button to save collection changes
1017
- #: src/routes/dash/collections.tsx:351
1203
+ #: src/routes/dash/collections.tsx:340
1018
1204
  msgid "Update Collection"
1019
1205
  msgstr "Update Collection"
1020
1206
 
1021
1207
  #. @context: Button to update existing page
1022
- #: src/theme/components/PageForm.tsx:153
1208
+ #: src/ui/dash/PageForm.tsx:153
1023
1209
  msgid "Update Page"
1024
1210
  msgstr "Update Page"
1025
1211
 
@@ -1046,10 +1232,15 @@ msgstr "Uploading..."
1046
1232
  #. @context: Media detail section - URL
1047
1233
  #. @context: Navigation link form field
1048
1234
  #: src/routes/dash/media.tsx:318
1049
- #: src/routes/dash/navigation.tsx:149
1235
+ #: src/routes/dash/pages.tsx:357
1050
1236
  msgid "URL"
1051
1237
  msgstr "URL"
1052
1238
 
1239
+ #. @context: Post form field - source URL
1240
+ #: src/ui/dash/PostForm.tsx:121
1241
+ msgid "URL (optional)"
1242
+ msgstr "URL (optional)"
1243
+
1053
1244
  #. @context: Collection path help text
1054
1245
  #: src/routes/dash/collections.tsx:144
1055
1246
  msgid "URL-safe identifier (lowercase, numbers, hyphens)"
@@ -1069,11 +1260,11 @@ msgstr "Use this URL to embed the media in your posts."
1069
1260
  #. @context: Button to view post on public site
1070
1261
  #: src/routes/dash/collections.tsx:71
1071
1262
  #: src/routes/dash/collections.tsx:225
1072
- #: src/routes/dash/pages.tsx:73
1073
- #: src/routes/dash/pages.tsx:143
1074
- #: src/routes/dash/posts.tsx:147
1075
- #: src/theme/components/ActionButtons.tsx:76
1076
- #: src/theme/components/PostList.tsx:51
1263
+ #: src/routes/dash/pages.tsx:199
1264
+ #: src/routes/dash/pages.tsx:261
1265
+ #: src/routes/dash/posts.tsx:145
1266
+ #: src/ui/dash/ActionButtons.tsx:76
1267
+ #: src/ui/dash/PostList.tsx:55
1077
1268
  msgid "View"
1078
1269
  msgstr "View"
1079
1270
 
@@ -1083,22 +1274,29 @@ msgstr "View"
1083
1274
  #~ msgstr "View all posts →"
1084
1275
 
1085
1276
  #. @context: Dashboard header link to view the public site
1086
- #: src/theme/layouts/DashLayout.tsx:53
1277
+ #: src/ui/layouts/DashLayout.tsx:53
1087
1278
  msgid "View Site"
1088
1279
  msgstr "View Site"
1089
1280
 
1090
1281
  #. @context: Post form field
1091
1282
  #: src/theme/components/PostForm.tsx:236
1092
- msgid "Visibility"
1093
- msgstr "Visibility"
1283
+ #~ msgid "Visibility"
1284
+ #~ msgstr "Visibility"
1094
1285
 
1095
1286
  #. @context: Setup page welcome heading
1096
- #: src/app.tsx:211
1287
+ #: src/app.tsx:223
1097
1288
  msgid "Welcome to Jant"
1098
1289
  msgstr "Welcome to Jant"
1099
1290
 
1291
+ #. @context: Compose prompt placeholder text
1292
+ #: src/ui/compose/ComposePrompt.tsx:37
1293
+ msgid "What's new?"
1294
+ msgstr "What's new?"
1295
+
1296
+ #. @context: Compose body placeholder
1100
1297
  #. @context: Post content placeholder
1101
- #: src/theme/components/PostForm.tsx:115
1298
+ #: src/ui/compose/ComposeDialog.tsx:134
1299
+ #: src/ui/dash/PostForm.tsx:109
1102
1300
  msgid "What's on your mind?"
1103
1301
  msgstr "What's on your mind?"
1104
1302
 
@@ -1108,6 +1306,11 @@ msgid "What's this collection about?"
1108
1306
  msgstr "What's this collection about?"
1109
1307
 
1110
1308
  #. @context: Setup form field - user name
1111
- #: src/app.tsx:232
1309
+ #: src/app.tsx:244
1112
1310
  msgid "Your Name"
1113
1311
  msgstr "Your Name"
1312
+
1313
+ #. @context: Section heading for navigation items
1314
+ #: src/routes/dash/pages.tsx:67
1315
+ msgid "Your site navigation"
1316
+ msgstr "Your site navigation"