A question may carry event: {starts, duration, place}. While the
window is open the page is announced in a strip at the top of every
header (name, when, 'in 3 days'), soonest first, and kept out of the
footer nav; when it closes the page becomes a followup - only a
visitor carrying an answer chain still sees it.
announce.rs keeps one record per event page in the runtime-owned
portal_events bucket (built-in state graph: announced ->
awaiting_summary -> summarized, content may override) and, on a
one-minute idempotent sweep, moves ended windows to awaiting_summary,
publishing the transition on portal.answers.submitted as 'Summary
due' - the post-what-happened task a review desk picks up. Lint
warns when event pages exist but nothing reads portal_events.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
27 lines
454 B
Rust
27 lines
454 B
Rust
pub mod answers;
|
|
pub mod app;
|
|
pub mod auth;
|
|
pub mod chain;
|
|
pub mod content;
|
|
pub mod events;
|
|
pub mod resource;
|
|
|
|
#[cfg(feature = "ssr")]
|
|
pub mod aggregates;
|
|
|
|
#[cfg(feature = "ssr")]
|
|
pub mod announce;
|
|
|
|
#[cfg(feature = "ssr")]
|
|
pub mod server;
|
|
|
|
#[cfg(feature = "ssr")]
|
|
pub mod upload;
|
|
|
|
#[cfg(feature = "hydrate")]
|
|
#[wasm_bindgen::prelude::wasm_bindgen]
|
|
pub fn hydrate() {
|
|
console_error_panic_hook::set_once();
|
|
leptos::mount::hydrate_body(app::App);
|
|
}
|