@geekity/cms 0.40.0 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/admin/components/blocks.njk +15 -1
  2. package/admin/pages/appearance/look.njk +135 -0
  3. package/admin/pages/dashboard/home.njk +9 -3
  4. package/admin/pages/documents/conflict.njk +35 -10
  5. package/admin/pages/documents/editor.njk +29 -0
  6. package/admin/pages/documents/list.njk +44 -1
  7. package/admin/pages/settings/general.njk +4 -0
  8. package/admin/pages/settings/reading.njk +14 -0
  9. package/admin/pages/users/edit.njk +1 -1
  10. package/admin/pages/users/writing-goals.njk +64 -0
  11. package/admin/src/admin.css +32 -0
  12. package/admin/static/admin.css +202 -4
  13. package/admin/static/dashboard.js +51 -23
  14. package/admin/static/editor.js +22 -19
  15. package/dist/access-log.d.ts +3 -0
  16. package/dist/access-log.d.ts.map +1 -1
  17. package/dist/access-log.js +13 -9
  18. package/dist/access-log.js.map +1 -1
  19. package/dist/admin/autosave-client.d.ts +85 -0
  20. package/dist/admin/autosave-client.d.ts.map +1 -0
  21. package/dist/admin/autosave-client.js +218 -0
  22. package/dist/admin/autosave-client.js.map +1 -0
  23. package/dist/admin/autosave.d.ts +12 -0
  24. package/dist/admin/autosave.d.ts.map +1 -0
  25. package/dist/admin/autosave.js +92 -0
  26. package/dist/admin/autosave.js.map +1 -0
  27. package/dist/admin/blocks.d.ts +13 -1
  28. package/dist/admin/blocks.d.ts.map +1 -1
  29. package/dist/admin/blocks.js +40 -5
  30. package/dist/admin/blocks.js.map +1 -1
  31. package/dist/admin/core-widgets.d.ts.map +1 -1
  32. package/dist/admin/core-widgets.js +2 -0
  33. package/dist/admin/core-widgets.js.map +1 -1
  34. package/dist/admin/dashboard.d.ts +2 -2
  35. package/dist/admin/dashboard.d.ts.map +1 -1
  36. package/dist/admin/dashboard.js +23 -15
  37. package/dist/admin/dashboard.js.map +1 -1
  38. package/dist/admin/documents.d.ts.map +1 -1
  39. package/dist/admin/documents.js +223 -16
  40. package/dist/admin/documents.js.map +1 -1
  41. package/dist/admin/editor-word-counter.d.ts +8 -0
  42. package/dist/admin/editor-word-counter.d.ts.map +1 -0
  43. package/dist/admin/editor-word-counter.js +27 -0
  44. package/dist/admin/editor-word-counter.js.map +1 -0
  45. package/dist/admin/editor-words.d.ts +7 -0
  46. package/dist/admin/editor-words.d.ts.map +1 -0
  47. package/dist/admin/editor-words.js +9 -0
  48. package/dist/admin/editor-words.js.map +1 -0
  49. package/dist/admin/flash.d.ts +2 -0
  50. package/dist/admin/flash.d.ts.map +1 -1
  51. package/dist/admin/flash.js +12 -0
  52. package/dist/admin/flash.js.map +1 -1
  53. package/dist/admin/focus-mode.d.ts +37 -0
  54. package/dist/admin/focus-mode.d.ts.map +1 -0
  55. package/dist/admin/focus-mode.js +71 -0
  56. package/dist/admin/focus-mode.js.map +1 -0
  57. package/dist/admin/look.d.ts +12 -0
  58. package/dist/admin/look.d.ts.map +1 -0
  59. package/dist/admin/look.js +179 -0
  60. package/dist/admin/look.js.map +1 -0
  61. package/dist/admin/menu.d.ts.map +1 -1
  62. package/dist/admin/menu.js +7 -3
  63. package/dist/admin/menu.js.map +1 -1
  64. package/dist/admin/preview.d.ts.map +1 -1
  65. package/dist/admin/preview.js +1 -0
  66. package/dist/admin/preview.js.map +1 -1
  67. package/dist/admin/routes.d.ts.map +1 -1
  68. package/dist/admin/routes.js +8 -4
  69. package/dist/admin/routes.js.map +1 -1
  70. package/dist/admin/settings-fields.d.ts +1 -1
  71. package/dist/admin/settings-fields.d.ts.map +1 -1
  72. package/dist/admin/settings-fields.js +2 -0
  73. package/dist/admin/settings-fields.js.map +1 -1
  74. package/dist/admin/settings-general.d.ts.map +1 -1
  75. package/dist/admin/settings-general.js +1 -0
  76. package/dist/admin/settings-general.js.map +1 -1
  77. package/dist/admin/settings-reading.d.ts.map +1 -1
  78. package/dist/admin/settings-reading.js +7 -1
  79. package/dist/admin/settings-reading.js.map +1 -1
  80. package/dist/admin/templates.d.ts +2 -0
  81. package/dist/admin/templates.d.ts.map +1 -1
  82. package/dist/admin/templates.js +2 -0
  83. package/dist/admin/templates.js.map +1 -1
  84. package/dist/admin/users.d.ts.map +1 -1
  85. package/dist/admin/users.js +4 -0
  86. package/dist/admin/users.js.map +1 -1
  87. package/dist/admin/widget-writing.d.ts +3 -0
  88. package/dist/admin/widget-writing.d.ts.map +1 -0
  89. package/dist/admin/widget-writing.js +102 -0
  90. package/dist/admin/widget-writing.js.map +1 -0
  91. package/dist/admin/widgets.d.ts +4 -1
  92. package/dist/admin/widgets.d.ts.map +1 -1
  93. package/dist/admin/widgets.js +19 -8
  94. package/dist/admin/widgets.js.map +1 -1
  95. package/dist/admin/writing-goals.d.ts +33 -0
  96. package/dist/admin/writing-goals.d.ts.map +1 -0
  97. package/dist/admin/writing-goals.js +149 -0
  98. package/dist/admin/writing-goals.js.map +1 -0
  99. package/dist/autosave/index.d.ts +5 -0
  100. package/dist/autosave/index.d.ts.map +1 -0
  101. package/dist/autosave/index.js +3 -0
  102. package/dist/autosave/index.js.map +1 -0
  103. package/dist/autosave/key.d.ts +13 -0
  104. package/dist/autosave/key.d.ts.map +1 -0
  105. package/dist/autosave/key.js +29 -0
  106. package/dist/autosave/key.js.map +1 -0
  107. package/dist/autosave/store.d.ts +23 -0
  108. package/dist/autosave/store.d.ts.map +1 -0
  109. package/dist/autosave/store.js +114 -0
  110. package/dist/autosave/store.js.map +1 -0
  111. package/dist/cli.d.ts +1 -1
  112. package/dist/cli.d.ts.map +1 -1
  113. package/dist/cli.js +65 -4
  114. package/dist/cli.js.map +1 -1
  115. package/dist/cms/app.d.ts.map +1 -1
  116. package/dist/cms/app.js +1 -0
  117. package/dist/cms/app.js.map +1 -1
  118. package/dist/cms/boot.d.ts.map +1 -1
  119. package/dist/cms/boot.js +2 -0
  120. package/dist/cms/boot.js.map +1 -1
  121. package/dist/cms/create.d.ts +11 -2
  122. package/dist/cms/create.d.ts.map +1 -1
  123. package/dist/cms/create.js +61 -2
  124. package/dist/cms/create.js.map +1 -1
  125. package/dist/cms/server-error.d.ts.map +1 -1
  126. package/dist/cms/server-error.js +1 -0
  127. package/dist/cms/server-error.js.map +1 -1
  128. package/dist/cms/services.d.ts +2 -0
  129. package/dist/cms/services.d.ts.map +1 -1
  130. package/dist/cms/services.js +14 -0
  131. package/dist/cms/services.js.map +1 -1
  132. package/dist/config.d.ts +20 -0
  133. package/dist/config.d.ts.map +1 -1
  134. package/dist/config.js +6 -2
  135. package/dist/config.js.map +1 -1
  136. package/dist/content/post-type.d.ts +1 -0
  137. package/dist/content/post-type.d.ts.map +1 -1
  138. package/dist/content/post-type.js +1 -1
  139. package/dist/content/post-type.js.map +1 -1
  140. package/dist/content/words.d.ts +3 -0
  141. package/dist/content/words.d.ts.map +1 -0
  142. package/dist/content/words.js +120 -0
  143. package/dist/content/words.js.map +1 -0
  144. package/dist/content/write.d.ts +8 -0
  145. package/dist/content/write.d.ts.map +1 -1
  146. package/dist/content/write.js +1 -1
  147. package/dist/content/write.js.map +1 -1
  148. package/dist/files/data-files.d.ts +5 -0
  149. package/dist/files/data-files.d.ts.map +1 -1
  150. package/dist/files/data-files.js +30 -0
  151. package/dist/files/data-files.js.map +1 -1
  152. package/dist/fonts/css.d.ts +25 -0
  153. package/dist/fonts/css.d.ts.map +1 -0
  154. package/dist/fonts/css.js +88 -0
  155. package/dist/fonts/css.js.map +1 -0
  156. package/dist/fonts/family.d.ts +23 -0
  157. package/dist/fonts/family.d.ts.map +1 -0
  158. package/dist/fonts/family.js +41 -0
  159. package/dist/fonts/family.js.map +1 -0
  160. package/dist/fonts/index.d.ts +10 -0
  161. package/dist/fonts/index.d.ts.map +1 -0
  162. package/dist/fonts/index.js +6 -0
  163. package/dist/fonts/index.js.map +1 -0
  164. package/dist/fonts/job.d.ts +20 -0
  165. package/dist/fonts/job.d.ts.map +1 -0
  166. package/dist/fonts/job.js +49 -0
  167. package/dist/fonts/job.js.map +1 -0
  168. package/dist/fonts/roles.d.ts +53 -0
  169. package/dist/fonts/roles.d.ts.map +1 -0
  170. package/dist/fonts/roles.js +64 -0
  171. package/dist/fonts/roles.js.map +1 -0
  172. package/dist/fonts/store.d.ts +69 -0
  173. package/dist/fonts/store.d.ts.map +1 -0
  174. package/dist/fonts/store.js +237 -0
  175. package/dist/fonts/store.js.map +1 -0
  176. package/dist/gemini/capsule.d.ts +4 -0
  177. package/dist/gemini/capsule.d.ts.map +1 -0
  178. package/dist/gemini/capsule.js +9 -0
  179. package/dist/gemini/capsule.js.map +1 -0
  180. package/dist/gemini/certificate.d.ts +34 -0
  181. package/dist/gemini/certificate.d.ts.map +1 -0
  182. package/dist/gemini/certificate.js +255 -0
  183. package/dist/gemini/certificate.js.map +1 -0
  184. package/dist/gemini/site-certificate.d.ts +8 -0
  185. package/dist/gemini/site-certificate.d.ts.map +1 -0
  186. package/dist/gemini/site-certificate.js +17 -0
  187. package/dist/gemini/site-certificate.js.map +1 -0
  188. package/dist/micropub/endpoint.d.ts.map +1 -1
  189. package/dist/micropub/endpoint.js +12 -0
  190. package/dist/micropub/endpoint.js.map +1 -1
  191. package/dist/plugin.d.ts +15 -2
  192. package/dist/plugin.d.ts.map +1 -1
  193. package/dist/plugin.js.map +1 -1
  194. package/dist/settings/registry.d.ts.map +1 -1
  195. package/dist/settings/registry.js +5 -1
  196. package/dist/settings/registry.js.map +1 -1
  197. package/dist/settings/types.d.ts +1 -1
  198. package/dist/settings/types.d.ts.map +1 -1
  199. package/dist/site/dashboard-layout.d.ts +33 -26
  200. package/dist/site/dashboard-layout.d.ts.map +1 -1
  201. package/dist/site/dashboard-layout.js +94 -39
  202. package/dist/site/dashboard-layout.js.map +1 -1
  203. package/dist/site/namespace.d.ts +6 -0
  204. package/dist/site/namespace.d.ts.map +1 -1
  205. package/dist/site/namespace.js +46 -1
  206. package/dist/site/namespace.js.map +1 -1
  207. package/dist/site/users.d.ts +7 -0
  208. package/dist/site/users.d.ts.map +1 -1
  209. package/dist/site/users.js +7 -0
  210. package/dist/site/users.js.map +1 -1
  211. package/dist/site/writing-goals.d.ts +22 -0
  212. package/dist/site/writing-goals.d.ts.map +1 -0
  213. package/dist/site/writing-goals.js +42 -0
  214. package/dist/site/writing-goals.js.map +1 -0
  215. package/dist/store/schema.d.ts.map +1 -1
  216. package/dist/store/schema.js +4 -0
  217. package/dist/store/schema.js.map +1 -1
  218. package/dist/store/sessions.d.ts +2 -1
  219. package/dist/store/sessions.d.ts.map +1 -1
  220. package/dist/store/sessions.js +30 -12
  221. package/dist/store/sessions.js.map +1 -1
  222. package/dist/theme/font-family.d.ts +13 -0
  223. package/dist/theme/font-family.d.ts.map +1 -0
  224. package/dist/theme/font-family.js +21 -0
  225. package/dist/theme/font-family.js.map +1 -0
  226. package/dist/theme/scheme-tokens.d.ts +50 -0
  227. package/dist/theme/scheme-tokens.d.ts.map +1 -0
  228. package/dist/theme/scheme-tokens.js +240 -0
  229. package/dist/theme/scheme-tokens.js.map +1 -0
  230. package/dist/theme/site-data.d.ts +12 -0
  231. package/dist/theme/site-data.d.ts.map +1 -1
  232. package/dist/theme/site-data.js +15 -0
  233. package/dist/theme/site-data.js.map +1 -1
  234. package/dist/theme/themes.d.ts +74 -0
  235. package/dist/theme/themes.d.ts.map +1 -1
  236. package/dist/theme/themes.js +100 -9
  237. package/dist/theme/themes.js.map +1 -1
  238. package/dist/util/public-address.d.ts +1 -0
  239. package/dist/util/public-address.d.ts.map +1 -1
  240. package/dist/util/public-address.js +38 -30
  241. package/dist/util/public-address.js.map +1 -1
  242. package/dist/web/access-line.d.ts +2 -0
  243. package/dist/web/access-line.d.ts.map +1 -0
  244. package/dist/web/access-line.js +6 -0
  245. package/dist/web/access-line.js.map +1 -0
  246. package/dist/web/document-page.d.ts.map +1 -1
  247. package/dist/web/document-page.js +3 -4
  248. package/dist/web/document-page.js.map +1 -1
  249. package/dist/web/embed.d.ts.map +1 -1
  250. package/dist/web/embed.js +2 -1
  251. package/dist/web/embed.js.map +1 -1
  252. package/dist/web/env.d.ts +2 -0
  253. package/dist/web/env.d.ts.map +1 -1
  254. package/dist/web/feed-routes.d.ts.map +1 -1
  255. package/dist/web/feed-routes.js +4 -4
  256. package/dist/web/feed-routes.js.map +1 -1
  257. package/dist/web/feed-source.d.ts +1 -1
  258. package/dist/web/feed-source.d.ts.map +1 -1
  259. package/dist/web/feed-source.js +1 -1
  260. package/dist/web/feed-source.js.map +1 -1
  261. package/dist/web/font-routes.d.ts +13 -0
  262. package/dist/web/font-routes.d.ts.map +1 -0
  263. package/dist/web/font-routes.js +27 -0
  264. package/dist/web/font-routes.js.map +1 -0
  265. package/dist/web/gemini-listener.d.ts +30 -0
  266. package/dist/web/gemini-listener.d.ts.map +1 -0
  267. package/dist/web/gemini-listener.js +186 -0
  268. package/dist/web/gemini-listener.js.map +1 -0
  269. package/dist/web/gemini-request.d.ts +23 -0
  270. package/dist/web/gemini-request.d.ts.map +1 -0
  271. package/dist/web/gemini-request.js +127 -0
  272. package/dist/web/gemini-request.js.map +1 -0
  273. package/dist/web/listing-pages.d.ts.map +1 -1
  274. package/dist/web/listing-pages.js +7 -5
  275. package/dist/web/listing-pages.js.map +1 -1
  276. package/dist/web/llms.d.ts +1 -0
  277. package/dist/web/llms.d.ts.map +1 -1
  278. package/dist/web/llms.js +3 -0
  279. package/dist/web/llms.js.map +1 -1
  280. package/dist/web/maintenance.d.ts.map +1 -1
  281. package/dist/web/maintenance.js +6 -2
  282. package/dist/web/maintenance.js.map +1 -1
  283. package/dist/web/manifest.d.ts +8 -5
  284. package/dist/web/manifest.d.ts.map +1 -1
  285. package/dist/web/manifest.js +10 -7
  286. package/dist/web/manifest.js.map +1 -1
  287. package/dist/web/markdown-representation.d.ts +11 -20
  288. package/dist/web/markdown-representation.d.ts.map +1 -1
  289. package/dist/web/markdown-representation.js +57 -58
  290. package/dist/web/markdown-representation.js.map +1 -1
  291. package/dist/web/negotiate.d.ts +4 -16
  292. package/dist/web/negotiate.d.ts.map +1 -1
  293. package/dist/web/negotiate.js +23 -18
  294. package/dist/web/negotiate.js.map +1 -1
  295. package/dist/web/oembed.d.ts +17 -3
  296. package/dist/web/oembed.d.ts.map +1 -1
  297. package/dist/web/oembed.js +68 -26
  298. package/dist/web/oembed.js.map +1 -1
  299. package/dist/web/proxy-protocol.d.ts +13 -0
  300. package/dist/web/proxy-protocol.d.ts.map +1 -0
  301. package/dist/web/proxy-protocol.js +79 -0
  302. package/dist/web/proxy-protocol.js.map +1 -0
  303. package/dist/web/render.d.ts +52 -22
  304. package/dist/web/render.d.ts.map +1 -1
  305. package/dist/web/render.js +94 -30
  306. package/dist/web/render.js.map +1 -1
  307. package/dist/web/routes.d.ts.map +1 -1
  308. package/dist/web/routes.js +7 -8
  309. package/dist/web/routes.js.map +1 -1
  310. package/dist/web/site-index.d.ts.map +1 -1
  311. package/dist/web/site-index.js +6 -2
  312. package/dist/web/site-index.js.map +1 -1
  313. package/dist/web/status-pages.d.ts +2 -3
  314. package/dist/web/status-pages.d.ts.map +1 -1
  315. package/dist/web/status-pages.js +14 -11
  316. package/dist/web/status-pages.js.map +1 -1
  317. package/dist/web/throttle.d.ts +9 -0
  318. package/dist/web/throttle.d.ts.map +1 -1
  319. package/dist/web/throttle.js +17 -0
  320. package/dist/web/throttle.js.map +1 -1
  321. package/dist/webmention/fetch-public.d.ts +6 -0
  322. package/dist/webmention/fetch-public.d.ts.map +1 -1
  323. package/dist/webmention/fetch-public.js +6 -1
  324. package/dist/webmention/fetch-public.js.map +1 -1
  325. package/dist/writing/ledger.d.ts +15 -0
  326. package/dist/writing/ledger.d.ts.map +1 -0
  327. package/dist/writing/ledger.js +70 -0
  328. package/dist/writing/ledger.js.map +1 -0
  329. package/dist/writing/progress.d.ts +25 -0
  330. package/dist/writing/progress.d.ts.map +1 -0
  331. package/dist/writing/progress.js +83 -0
  332. package/dist/writing/progress.js.map +1 -0
  333. package/package.json +2 -1
  334. package/themes/default/layouts/404.gmi.njk +10 -0
  335. package/themes/default/layouts/410.gmi.njk +8 -0
  336. package/themes/default/layouts/500.gmi.njk +9 -0
  337. package/themes/default/layouts/503.gmi.njk +9 -0
  338. package/themes/default/layouts/base.njk +31 -16
  339. package/themes/default/layouts/page.njk +4 -8
  340. package/themes/default/partials/bio.njk +1 -1
  341. package/themes/default/partials/contact-form.njk +1 -1
  342. package/themes/default/partials/markdown-footer.md.njk +9 -1
  343. package/themes/default/src/style.css +326 -15
  344. package/themes/default/static/style.css +489 -3
  345. package/themes/default/theme.json +23 -1
@@ -1,24 +1,25 @@
1
+ import { AUTOSAVE_FIELD, autosaveCopies, isMintedAutosaveId, mintAutosaveId, } from '../autosave/index.js';
1
2
  import { CITATION_PROPERTIES, citedHost, citesAnImage, shownInFull } from '../content/citation.js';
2
3
  import { commentPolicyOf } from '../comments/policy.js';
3
4
  import { AUTHOR_UNTIL_REQUEST, blankForm, CITATION_FIELDS, COMMENT_SETTINGS, extraFromForm, formFor, formInReplyTo, postFieldsForm, splitTags, } from '../content/document-form.js';
4
5
  import { PAGE_KIND, POST_KIND } from '../content/document-kind.js';
5
- import { TRANSCRIPT_TYPES } from '../content/enclosure.js';
6
- import { ENCLOSURE_FIELDS } from '../content/enclosure-form.js';
6
+ import { enclosureOf, TRANSCRIPT_TYPES } from '../content/enclosure.js';
7
+ import { ENCLOSURE_FIELDS, resolveEnclosure } from '../content/enclosure-form.js';
7
8
  import { EVENT_FIELDS } from '../content/event-form.js';
8
9
  import { isReviewKind, REVIEW_KIND_FIELDS, REVIEW_KIND_WORDS, REVIEW_KINDS, } from '../content/review.js';
9
- import { REVIEW_FIELDS } from '../content/review-form.js';
10
+ import { resolveReview, REVIEW_FIELDS } from '../content/review-form.js';
10
11
  import { BLANK_LOCATION_FORM } from '../content/location-form.js';
11
12
  import { postLocations } from '../content/locations.js';
12
- import { PHOTO_FIELDS } from '../content/photo-form.js';
13
+ import { PHOTO_FIELDS, resolvePhotos } from '../content/photo-form.js';
13
14
  import { syndicateToField } from '../content/post-fields.js';
14
- import { postLabel } from '../content/post-type.js';
15
+ import { firstWords, postLabel } from '../content/post-type.js';
15
16
  import { RSVP_LABELS, RSVP_VALUES, rsvpValue } from '../content/rsvp.js';
16
17
  import { scheduledFor } from '../content/schedule.js';
17
18
  import { isTrashedPath } from '../content/store.js';
18
19
  import { zoneLabel } from '../content/time.js';
19
20
  import { moveDocumentFile } from '../content/trash.js';
20
21
  import { isVisibility, visibilityOf } from '../content/visibility.js';
21
- import { missingAltText, writeDocument } from '../content/write.js';
22
+ import { conflictWith, missingAltText, writeDocument } from '../content/write.js';
22
23
  import { currentUsername, documentSite } from '../web/document-site.js';
23
24
  import { normalizeBody, serializeDocument } from '../content/writer.js';
24
25
  import { listUsers } from '../site/users.js';
@@ -27,14 +28,18 @@ import { userForAuthor } from '../content/authors.js';
27
28
  import { isServed } from '../content/served.js';
28
29
  import { SEARCH_KINDS } from '../item-lookup/lookup.js';
29
30
  import { syndicationTargetsReader } from '../webmention/syndication.js';
31
+ import { creditWriting } from '../writing/ledger.js';
30
32
  import { editorActionViews } from './editor-actions.js';
33
+ import { editorWordCounter } from './editor-word-counter.js';
31
34
  import { BLANK_ALTERNATE_ROW, enclosureChoices, LOCATION_FIELDS, libraryThumbnail, photoPicker, readLocationForm, } from './editor-fields.js';
32
35
  import { discoveredKind, EDITOR_KINDS, isPostKind, PAGE_CHOICE, POST_KINDS, REVIEW_EDITOR_WORDS, } from './editor-kinds.js';
33
36
  import { editorSections, openGroups, sidebarLocation } from './editor-layout.js';
34
- import { flash } from './flash.js';
37
+ import { flash, noteClearedAutosave } from './flash.js';
35
38
  import { ITEM_LOOKUP_BUTTON, ITEM_LOOKUP_PATH, ITEM_SEARCH_PATH, lookUpReviewItem, } from './item-lookup.js';
36
39
  import { formatInTimezone } from './formatting.js';
37
40
  import { allowGeolocation } from './headers.js';
41
+ import { AUTOSAVE_DISCARD_JSON_PATH, AUTOSAVE_DISCARD_PATH, AUTOSAVE_PATH } from './autosave.js';
42
+ import { laterOrOnlyKnown } from './autosave-client.js';
38
43
  import { PREVIEW_PATH } from './preview.js';
39
44
  import { ADMIN_PREFIX } from '../site/admin-paths.js';
40
45
  import { ADMIN_TEMPLATES } from './templates.js';
@@ -116,6 +121,8 @@ export function listOptionsFor(kind, filter) {
116
121
  export function mountDocumentScreens(app, options) {
117
122
  const { kind, render } = options;
118
123
  app.get(kind.basePath, (c) => {
124
+ if (c.req.query('status') === UNSAVED)
125
+ return renderUnsaved(c, kind, render);
119
126
  const filter = documentFilter(c.req.query('status'));
120
127
  const pageNumber = Math.max(1, Number(c.req.query('page') ?? '1') || 1);
121
128
  const offset = (pageNumber - 1) * DOCUMENTS_PER_PAGE;
@@ -131,12 +138,7 @@ export function mountDocumentScreens(app, options) {
131
138
  child: 'all',
132
139
  kind,
133
140
  filter,
134
- filters: DOCUMENT_FILTERS.map((name) => ({
135
- name,
136
- label: FILTER_LABELS[name],
137
- url: listingUrl(kind, name, 1),
138
- current: name === filter,
139
- })),
141
+ filters: filterTabs(kind, filter),
140
142
  documents: rows.map((document) => listRow(kind, document, c.var.store.now(), pageRole(kind, document, c), (url) => c.var.replyContexts.read(url, c.var.siteAtRequestStart))),
141
143
  newUrl: newEditorPath(kind),
142
144
  returnUrl: listingUrl(kind, filter, pageNumber),
@@ -151,12 +153,20 @@ export function mountDocumentScreens(app, options) {
151
153
  const postKind = c.req.query('kind');
152
154
  if (kind.type === 'post' && !isPostKind(postKind))
153
155
  return renderChooser(c, kind, render);
156
+ const id = mintedId(c.req.query(AUTOSAVE_FIELD));
157
+ const copy = id === undefined ? undefined : ownCopy(c, kind, id);
158
+ const restoring = copy !== undefined && c.req.query(RESTORE) !== undefined;
154
159
  return renderEditor(c, {
155
160
  kind,
156
161
  render,
157
162
  document: undefined,
158
- form: blankForm(kind, siteTimezone(c), c.var.store.now()),
163
+ form: restoring
164
+ ? submittedForm(kind, copy.fields, c.var.config.contentDir)
165
+ : blankForm(kind, siteTimezone(c), c.var.store.now()),
159
166
  postKind: isPostKind(postKind) ? postKind : undefined,
167
+ autosave: id,
168
+ copy,
169
+ offer: !restoring,
160
170
  });
161
171
  });
162
172
  app.post(newEditorPath(kind), async (c) => {
@@ -165,16 +175,47 @@ export function mountDocumentScreens(app, options) {
165
175
  lookUpItem(c, { kind, render, document: undefined, body }) ??
166
176
  saveFromForm(c, { kind, render, document: undefined, body }));
167
177
  });
168
- app.get(`${kind.basePath}/:slug`, (c) => {
178
+ app.get(`${kind.basePath}/:slug`, async (c) => {
169
179
  const document = findEdited(c.var.store, kind, c.req.param('slug'), c.req.query('path'));
170
180
  if (document === undefined)
171
181
  return c.notFound();
182
+ const copy = ownCopy(c, kind, document.path);
183
+ const restore = c.req.query(RESTORE);
184
+ if (copy !== undefined && restore !== undefined) {
185
+ const form = submittedForm(kind, copy.fields, c.var.config.contentDir);
186
+ const conflict = await conflictWith(c.var.config.contentDir, document, copy.hash);
187
+ if (restore === REBASE || conflict === undefined) {
188
+ return renderEditor(c, {
189
+ kind,
190
+ render,
191
+ document,
192
+ form: { ...form, hash: conflict?.hash ?? copy.hash },
193
+ postKind: isPostKind(copy.kind) ? copy.kind : undefined,
194
+ copy,
195
+ });
196
+ }
197
+ return renderConflict(c, {
198
+ kind,
199
+ render,
200
+ document,
201
+ form,
202
+ media: copyMedia(form, document, c.var.config.contentDir),
203
+ conflict,
204
+ restoring: {
205
+ rebaseUrl: withQuery(documentEditorPath(kind, document), { [RESTORE]: REBASE }),
206
+ discardUrl: AUTOSAVE_DISCARD_PATH,
207
+ key: copy.key,
208
+ },
209
+ });
210
+ }
172
211
  const location = postLocations(c.var.config.dataDir).read(document.permalink);
173
212
  return renderEditor(c, {
174
213
  kind,
175
214
  render,
176
215
  document,
177
216
  form: formFor(kind, document, siteTimezone(c), location),
217
+ copy,
218
+ offer: true,
178
219
  });
179
220
  });
180
221
  app.post(`${kind.basePath}/:slug`, async (c) => {
@@ -241,6 +282,7 @@ function switchKind(c, options) {
241
282
  document,
242
283
  form: submittedForm(kind, body, c.var.config.contentDir),
243
284
  postKind,
285
+ autosave: mintedId(body[AUTOSAVE_FIELD]),
244
286
  });
245
287
  }
246
288
  function lookUpItem(c, options) {
@@ -257,6 +299,7 @@ function lookUpItem(c, options) {
257
299
  form: { ...form, review: outcome.review },
258
300
  postKind: 'review',
259
301
  itemLookup: { message: outcome.message, failed: outcome.failed },
302
+ autosave: mintedId(body[AUTOSAVE_FIELD]),
260
303
  });
261
304
  })();
262
305
  }
@@ -297,6 +340,7 @@ async function saveFromForm(c, options) {
297
340
  postKind: isPostKind(body['kind']) ? body['kind'] : undefined,
298
341
  refusal,
299
342
  status: 400,
343
+ autosave: mintedId(body[AUTOSAVE_FIELD]),
300
344
  });
301
345
  }
302
346
  const written = await writeDocument(documentSite(c), { kind, document, form, draft });
@@ -313,6 +357,8 @@ async function saveFromForm(c, options) {
313
357
  });
314
358
  }
315
359
  const { saved, undescribed, respelled } = written;
360
+ await creditSave(c, document, saved, mintedId(body[AUTOSAVE_FIELD]));
361
+ discardAutosaves(c, [document?.path, saved.path, mintedId(body[AUTOSAVE_FIELD])]);
316
362
  flash(c, 'notice', savedMessage(document, saved, store.now(), (url) => c.var.replyContexts.read(url, c.var.siteAtRequestStart)));
317
363
  if (respelled.length > 0)
318
364
  flash(c, 'notice', respelledMessage(respelled));
@@ -401,7 +447,8 @@ function renderConflict(c, options) {
401
447
  extra: extraFromForm(kind, document, form, c.var.store.now(), options.media, syndicationTargetsReader(c.var.config.contentDir)(), siteTimezone(c)),
402
448
  body: form.body,
403
449
  });
404
- c.status(409);
450
+ if (options.restoring === undefined)
451
+ c.status(409);
405
452
  return options.render(c, ADMIN_TEMPLATES.documentConflict, {
406
453
  section: kind.section,
407
454
  // Editing something that exists, so the listing is where the menu stands.
@@ -416,8 +463,20 @@ function renderConflict(c, options) {
416
463
  editUrl: documentEditorPath(kind, document),
417
464
  saveUrl: documentEditorPath(kind, document),
418
465
  action: form.draft ? 'save-draft' : 'publish',
466
+ restoring: options.restoring,
419
467
  });
420
468
  }
469
+ function copyMedia(form, document, contentDir) {
470
+ const previous = enclosureOf(document.extra);
471
+ const recording = resolveEnclosure(form.enclosure, previous, contentDir);
472
+ const photos = resolvePhotos(form.photos, contentDir);
473
+ const review = resolveReview(form.review, contentDir);
474
+ return {
475
+ recording: 'error' in recording ? previous : recording.enclosure,
476
+ photos: 'error' in photos ? [] : photos.photos,
477
+ review: 'error' in review ? undefined : review.review,
478
+ };
479
+ }
421
480
  /**
422
481
  * Move a document into the trash or back out of it from the editor, and go
423
482
  * back where the form came from.
@@ -432,12 +491,132 @@ async function moveDocument(c, options) {
432
491
  const moved = await moveDocumentFile({ store: c.var.store, contentDir: c.var.config.contentDir, announce: c.var.announce }, document, action);
433
492
  if (moved.outcome === 'refused')
434
493
  return backTo(c, options, moved.reason);
494
+ if (action === 'trash')
495
+ discardAutosaves(c, [document.path]);
435
496
  const label = postLabel(document, (url) => c.var.replyContexts.read(url, c.var.siteAtRequestStart));
436
497
  const message = action === 'trash' ? `Moved to the trash: ${label}` : `Restored: ${label}`;
437
498
  flash(c, 'notice', message);
438
499
  return c.redirect(returnPath(options.returnTo) ??
439
500
  (action === 'trash' ? kind.basePath : documentEditorPath(kind, moved.document)), 303);
440
501
  }
502
+ const RESTORE = 'restore';
503
+ const REBASE = 'rebase';
504
+ const UNSAVED = 'unsaved';
505
+ function ownCopy(c, kind, key) {
506
+ const userId = c.var.session?.userId;
507
+ if (userId == null)
508
+ return undefined;
509
+ const copy = autosaveCopies(c.var.config.dataDir).read(userId, key);
510
+ return copy?.type === kind.type ? copy : undefined;
511
+ }
512
+ function mintedId(value) {
513
+ return isMintedAutosaveId(value) ? value : undefined;
514
+ }
515
+ function withQuery(address, query) {
516
+ const search = new URLSearchParams(query).toString();
517
+ if (search === '')
518
+ return address;
519
+ return `${address}${address.includes('?') ? '&' : '?'}${search}`;
520
+ }
521
+ function newDocumentQuery(kind, id, postKind) {
522
+ return kind.type === 'post' && postKind !== undefined
523
+ ? { kind: postKind, [AUTOSAVE_FIELD]: id }
524
+ : { [AUTOSAVE_FIELD]: id };
525
+ }
526
+ function resumeUrl(kind, document, key, postKind) {
527
+ return document === undefined
528
+ ? withQuery(newEditorPath(kind), { ...newDocumentQuery(kind, key, postKind), [RESTORE]: '1' })
529
+ : withQuery(documentEditorPath(kind, document), { [RESTORE]: '1' });
530
+ }
531
+ function renderUnsaved(c, kind, render) {
532
+ const userId = c.var.session?.userId;
533
+ const copies = userId == null ? [] : autosaveCopies(c.var.config.dataDir).list(userId);
534
+ const cited = (url) => c.var.replyContexts.read(url, c.var.siteAtRequestStart);
535
+ const rows = copies
536
+ .filter((copy) => copy.type === kind.type)
537
+ .map((copy) => {
538
+ const document = copy.path === undefined ? undefined : c.var.store.getByPath(copy.path);
539
+ const postKind = isPostKind(copy.kind) ? copy.kind : undefined;
540
+ const gone = copy.path !== undefined && document === undefined;
541
+ return {
542
+ label: copyLabel(copy),
543
+ kind: postKind !== undefined
544
+ ? EDITOR_KINDS[postKind].label
545
+ : kind.type === 'page'
546
+ ? PAGE_CHOICE.label
547
+ : 'Post',
548
+ savedAt: copy.savedAt,
549
+ at: formatInTimezone(copy.savedAt, siteTimezone(c)),
550
+ of: document !== undefined
551
+ ? `Edits to ${postLabel(document, cited)}`
552
+ : gone
553
+ ? 'Edits to a document that is gone'
554
+ : `New ${kind.singular}`,
555
+ resumeUrl: gone ? undefined : resumeUrl(kind, document, copy.key, postKind),
556
+ key: copy.key,
557
+ };
558
+ });
559
+ return render(c, ADMIN_TEMPLATES.documentList, {
560
+ section: kind.section,
561
+ child: 'all',
562
+ kind,
563
+ filter: UNSAVED,
564
+ filters: filterTabs(kind, UNSAVED),
565
+ unsaved: rows,
566
+ discardUrl: AUTOSAVE_DISCARD_PATH,
567
+ newUrl: newEditorPath(kind),
568
+ returnUrl: `${kind.basePath}?status=${UNSAVED}`,
569
+ });
570
+ }
571
+ function copyLabel(copy) {
572
+ const title = (copy.fields['title'] ?? '').trim();
573
+ if (title !== '')
574
+ return title;
575
+ const text = (copy.fields['body'] ?? '').replace(/\s+/g, ' ').trim();
576
+ return text === '' ? 'Untitled' : firstWords(text);
577
+ }
578
+ function filterTabs(kind, current) {
579
+ return [
580
+ ...DOCUMENT_FILTERS.map((name) => ({
581
+ name,
582
+ label: FILTER_LABELS[name],
583
+ url: listingUrl(kind, name, 1),
584
+ current: name === current,
585
+ })),
586
+ {
587
+ name: UNSAVED,
588
+ label: 'Unsaved',
589
+ url: `${kind.basePath}?status=${UNSAVED}`,
590
+ current: current === UNSAVED,
591
+ },
592
+ ];
593
+ }
594
+ async function creditSave(c, document, saved, minted) {
595
+ const userId = c.var.session?.userId;
596
+ if (userId == null)
597
+ return;
598
+ const key = document?.path ?? minted;
599
+ const copy = key === undefined ? undefined : autosaveCopies(c.var.config.dataDir).read(userId, key);
600
+ await creditWriting(c.var.config.dataDir, {
601
+ userId,
602
+ before: copy?.fields['body'] ?? document?.body ?? '',
603
+ after: saved.body,
604
+ at: c.var.config.now(),
605
+ timezone: c.var.siteAtRequestStart.timezone,
606
+ });
607
+ }
608
+ function discardAutosaves(c, keys) {
609
+ const userId = c.var.session?.userId;
610
+ if (userId == null)
611
+ return;
612
+ const copies = autosaveCopies(c.var.config.dataDir);
613
+ for (const key of new Set(keys)) {
614
+ if (key === undefined)
615
+ continue;
616
+ copies.discard(userId, key);
617
+ noteClearedAutosave(c, key);
618
+ }
619
+ }
441
620
  /** Report a move that did not happen and go back where the form came from. */
442
621
  function backTo(c, options, message) {
443
622
  flash(c, 'error', message);
@@ -499,6 +678,25 @@ async function renderEditor(c, options) {
499
678
  actions.push({ value: 'restore', label: 'Restore' });
500
679
  else if (document !== undefined)
501
680
  actions.push({ value: 'trash', label: 'Move to trash' });
681
+ const autosaveKey = document?.path ?? options.autosave ?? mintAutosaveId();
682
+ const copy = options.copy;
683
+ const resume = options.offer === true &&
684
+ copy !== undefined &&
685
+ laterOrOnlyKnown(copy.savedAt, document?.updated)
686
+ ? {
687
+ key: copy.key,
688
+ savedAt: copy.savedAt,
689
+ at: formatInTimezone(copy.savedAt, timezone),
690
+ changedSince: document !== undefined &&
691
+ (await conflictWith(c.var.config.contentDir, document, copy.hash)) !== undefined,
692
+ noun: kind.singular,
693
+ restoreUrl: resumeUrl(kind, document, autosaveKey, postKind),
694
+ discardUrl: AUTOSAVE_DISCARD_PATH,
695
+ returnUrl: document === undefined
696
+ ? withQuery(newEditorPath(kind), newDocumentQuery(kind, autosaveKey, postKind))
697
+ : documentEditorPath(kind, document),
698
+ }
699
+ : undefined;
502
700
  if (options.status !== undefined)
503
701
  c.status(options.status);
504
702
  const permissions = c.var.config.securityHeaders['permissions-policy'];
@@ -581,6 +779,15 @@ async function renderEditor(c, options) {
581
779
  saveUrl: document === undefined ? newEditorPath(kind) : documentEditorPath(kind, document),
582
780
  listUrl: kind.basePath,
583
781
  previewUrl: PREVIEW_PATH,
782
+ autosaveUrl: AUTOSAVE_PATH,
783
+ autosaveKey,
784
+ autosaveDiscardUrl: AUTOSAVE_DISCARD_JSON_PATH,
785
+ autosaveUser: c.var.session?.userId ?? undefined,
786
+ autosaveCopySavedAt: copy?.savedAt,
787
+ autosaveFileTime: document?.updated,
788
+ autosaveTimezone: timezone,
789
+ words: editorWordCounter(c, form.body),
790
+ resume,
584
791
  viewUrl: document !== undefined && isServed(document, now) ? document.permalink : undefined,
585
792
  // Named beside the date field, because a wall clock with no zone on it is
586
793
  // exactly the ambiguity decision-11 exists to remove.
@@ -1 +1 @@
1
- {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/admin/documents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/admin/documents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Context } from 'hono';
2
+ import type { GeekityEnv } from '../web/env.ts';
3
+ export interface EditorWordCounter {
4
+ readonly label: string;
5
+ readonly today: number | undefined;
6
+ }
7
+ export declare function editorWordCounter(c: Context<GeekityEnv>, body: string): EditorWordCounter;
8
+ //# sourceMappingURL=editor-word-counter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-word-counter.d.ts","sourceRoot":"","sources":["../../src/admin/editor-word-counter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAMpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAGzF"}
@@ -0,0 +1,27 @@
1
+ import { wordCount } from '../content/words.js';
2
+ import { findUserById } from '../site/users.js';
3
+ import { trackedWritingGoals } from '../site/writing-goals.js';
4
+ import { messageOf } from '../util/errors.js';
5
+ import { readWritingLedger, writingDay } from '../writing/ledger.js';
6
+ import { wordsLabel } from './editor-words.js';
7
+ export function editorWordCounter(c, body) {
8
+ const today = wordsToday(c);
9
+ return { label: wordsLabel(wordCount(body), today), today };
10
+ }
11
+ function wordsToday(c) {
12
+ const userId = c.var.session?.userId;
13
+ if (userId == null)
14
+ return undefined;
15
+ const { dataDir, now } = c.var.config;
16
+ const user = findUserById(dataDir, userId);
17
+ if (user === undefined || trackedWritingGoals(user) === undefined)
18
+ return undefined;
19
+ try {
20
+ return (readWritingLedger(dataDir, userId).days[writingDay(now(), c.var.siteAtRequestStart.timezone)] ?? 0);
21
+ }
22
+ catch (error) {
23
+ console.warn(`The record of words written for user ${String(userId)}: ${messageOf(error)}`);
24
+ return 0;
25
+ }
26
+ }
27
+ //# sourceMappingURL=editor-word-counter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-word-counter.js","sourceRoot":"","sources":["../../src/admin/editor-word-counter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAO/C,MAAM,UAAU,iBAAiB,CAAC,CAAsB,EAAE,IAAY;IACpE,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,UAAU,CAAC,CAAsB;IACxC,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC;IACrC,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;IACtC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,SAAS,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACpF,IAAI,CAAC;QACH,OAAO,CACL,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CACrC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CACrD,IAAI,CAAC,CACP,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,wCAAwC,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5F,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface WordsBaseline {
2
+ readonly body: string;
3
+ readonly today: number;
4
+ }
5
+ export declare function wordsLabel(count: number, today?: number): string;
6
+ export declare function wordsTodayAt(baseline: WordsBaseline, body: string): number;
7
+ //# sourceMappingURL=editor-words.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-words.d.ts","sourceRoot":"","sources":["../../src/admin/editor-words.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1E"}
@@ -0,0 +1,9 @@
1
+ import { addedWords } from '../content/words.js';
2
+ export function wordsLabel(count, today) {
3
+ const words = `${count.toLocaleString('en-US')} ${count === 1 ? 'word' : 'words'}`;
4
+ return today === undefined ? words : `${words} · ${today.toLocaleString('en-US')} today`;
5
+ }
6
+ export function wordsTodayAt(baseline, body) {
7
+ return baseline.today + addedWords(baseline.body, body);
8
+ }
9
+ //# sourceMappingURL=editor-words.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-words.js","sourceRoot":"","sources":["../../src/admin/editor-words.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAOjD,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,KAAc;IACtD,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACnF,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAuB,EAAE,IAAY;IAChE,OAAO,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC"}
@@ -21,4 +21,6 @@ export declare function flash(c: Context<GeekityEnv>, kind: FlashKind, message:
21
21
  * clears it.
22
22
  */
23
23
  export declare function takeFlash(c: Context<GeekityEnv>): FlashMessage[];
24
+ export declare function noteClearedAutosave(c: Context<GeekityEnv>, key: string): void;
25
+ export declare function takeClearedAutosaves(c: Context<GeekityEnv>): string[];
24
26
  //# sourceMappingURL=flash.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flash.d.ts","sourceRoot":"","sources":["../../src/admin/flash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvE;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAIpF;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,EAAE,CAIhE"}
1
+ {"version":3,"file":"flash.d.ts","sourceRoot":"","sources":["../../src/admin/flash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvE;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAIpF;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,EAAE,CAIhE;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAI7E;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,EAAE,CAIrE"}