Commits
* optimize homepage leaflets query
* seperate static landing page
* wrap legal in suspense boundary
* login tweaks
* don't show untitled for logged out users
* fix adding empty doc to home from new button
* init the landing page
* started making it work on mobile
* added some of the copy
* added in copy, example pubs, more mobiel work
* add login checkout flow
* handle new being added to home properly
* render about page at / for unauthed
* added product images
* tweaks
* chronch images
* welcome modal
* link get started button
---------
Co-authored-by: celine <celine@hyperlink.academy>
* add standard site post block
* add posts-list block settings: view + highlight-first-post
Adds a Settings popover to the on-block options strip on posts-list
blocks, persisting `posts-list/view` (compact|full) and
`posts-list/highlight-first-post` as block facts. Introduces
PublicationPostItemSmall/Medium/Large variants and wires
PublicationPostsList to render Large for the highlighted first post,
Small for compact, and Medium for full.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* add basic publication pages implementation
Introduces editable pages attached to a publication (separate from
draft posts). Each page is backed by its own leaflet, listed under
`publication_pages`, and edited through a new
`/lish/[did]/[publication]/edit/[[...route]]` route with its own
header/nav. PublicationContent is refactored to share
PublicationHeader and PublicationPostsList. createNewLeaflet gains
`firstBlocks` + `addToHomepage` so createPublicationPage can seed a
page with a text + posts-list block without polluting the user's
homepage. Page/Sidebar/PageOptions/PublicationMetadata hide
post-only chrome when viewing a publication page, and the block
command bar exposes Posts List + Subscribe Form via a new
`publicationOnly` flag.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* wip publish publication pages
* add standard-site-post block size setting: small/medium/large
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* update many styles
* add filtering by tag to post list block
* change copy
* simplify scroll stuff
* de-duplicate things
* add publication pages lexicon to the permission set
* proper form for creating pub pages
* some formatting WIP
* fix standard.site resolution
* pass down cover image from standard site post item
* wrap up standard site post styling
* add re-orderable tabs
* use block size on initial placeholder
* gate new features behind flag
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: celine <celine@hyperlink.academy>
The firehose UPDATE path was also running the newsletter claim/send logic.
Combined with the fact that the idempotency row in publication_post_sends
is only inserted when newsletters are enabled at upsert time, this meant
that editing an old post after newsletters were turned on for the
publication would mail the post out to subscribers retroactively.
Gate the newsletter block on event_type === "create" so only firehose
creates can fire sends. Metadata sync (indexed flag, bsky like counts,
bridgy deletion) still runs on updates as before.
Co-authored-by: Claude <noreply@anthropic.com>
* init the landing page
* started making it work on mobile
* added some of the copy
* added in copy, example pubs, more mobiel work
* add login checkout flow
* handle new being added to home properly
* render about page at / for unauthed
* added product images
* tweaks
* chronch images
* welcome modal
* link get started button
---------
Co-authored-by: celine <celine@hyperlink.academy>
* add standard site post block
* add posts-list block settings: view + highlight-first-post
Adds a Settings popover to the on-block options strip on posts-list
blocks, persisting `posts-list/view` (compact|full) and
`posts-list/highlight-first-post` as block facts. Introduces
PublicationPostItemSmall/Medium/Large variants and wires
PublicationPostsList to render Large for the highlighted first post,
Small for compact, and Medium for full.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* add basic publication pages implementation
Introduces editable pages attached to a publication (separate from
draft posts). Each page is backed by its own leaflet, listed under
`publication_pages`, and edited through a new
`/lish/[did]/[publication]/edit/[[...route]]` route with its own
header/nav. PublicationContent is refactored to share
PublicationHeader and PublicationPostsList. createNewLeaflet gains
`firstBlocks` + `addToHomepage` so createPublicationPage can seed a
page with a text + posts-list block without polluting the user's
homepage. Page/Sidebar/PageOptions/PublicationMetadata hide
post-only chrome when viewing a publication page, and the block
command bar exposes Posts List + Subscribe Form via a new
`publicationOnly` flag.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* wip publish publication pages
* add standard-site-post block size setting: small/medium/large
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* update many styles
* add filtering by tag to post list block
* change copy
* simplify scroll stuff
* de-duplicate things
* add publication pages lexicon to the permission set
* proper form for creating pub pages
* some formatting WIP
* fix standard.site resolution
* pass down cover image from standard site post item
* wrap up standard site post styling
* add re-orderable tabs
* use block size on initial placeholder
* gate new features behind flag
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: celine <celine@hyperlink.academy>
The firehose UPDATE path was also running the newsletter claim/send logic.
Combined with the fact that the idempotency row in publication_post_sends
is only inserted when newsletters are enabled at upsert time, this meant
that editing an old post after newsletters were turned on for the
publication would mail the post out to subscribers retroactively.
Gate the newsletter block on event_type === "create" so only firehose
creates can fire sends. Metadata sync (indexed flag, bsky like counts,
bridgy deletion) still runs on updates as before.
Co-authored-by: Claude <noreply@anthropic.com>