Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Example applications demonstrating LiveTemplate usage with various features and

The todo app demonstrates LiveTemplate's core features in ~150 lines of Go + ~80 lines of HTML:

- **Real-time sync** — open two tabs as the same user; changes appear instantly via explicit `BroadcastAction`
- **Real-time sync** — open two tabs as the same user; changes appear instantly via opt-in `ctx.Subscribe` / `ctx.Publish`
- **Standard HTML forms** — `<form method="POST" name="add">` routes to `Add()` with zero configuration
- **Live search & sort** — `Change()` auto-wires input events with 300ms debounce
- **Validation** — `ErrorTag`, `AriaInvalid`, `AriaDisabled` template helpers
Expand Down
4 changes: 2 additions & 2 deletions docs/plans/improve-ui-ux.md
Original file line number Diff line number Diff line change
Expand Up @@ -470,7 +470,7 @@ Add a showcase section at the top of `README.md`, before the Progressive Complex

The todo app demonstrates LiveTemplate's core features in ~150 lines of Go + ~80 lines of HTML:

- **Real-time sync** — open two tabs as the same user; changes appear instantly via explicit `BroadcastAction`
- **Real-time sync** — open two tabs as the same user; changes appear instantly via an opt-in `ctx.Subscribe(ctx.SelfTopic())` in Mount plus an explicit `ctx.Publish(ctx.SelfTopic(), ...)` from each mutating action
- **Standard HTML forms** — `<form method="POST" name="add">` routes to `Add()` with zero configuration
- **Live search & sort** — `Change()` auto-wires input events with 300ms debounce
- **Validation** — `ErrorTag`, `AriaInvalid`, `AriaDisabled` template helpers
Expand All @@ -490,7 +490,7 @@ Record with screen capture (Kap, ffmpeg, or similar):
1. Split screen: two browser windows side by side, both at `localhost:8080`
2. Both logged in as `alice`
3. Demo sequence:
- Tab A: Add "Buy groceries" → appears in Tab B via BroadcastAction, fade animation
- Tab A: Add "Buy groceries" → appears in Tab B via the `ctx.Publish(ctx.SelfTopic(), "RefreshTodos", nil)` fan-out, fade animation
- Tab B: Toggle complete → strikethrough appears in Tab A, highlight flash
- Tab A: Search "buy" → filters in Tab A only (independent per-tab)
- Tab B: Delete with modal confirmation → disappears from Tab A
Expand Down
2 changes: 1 addition & 1 deletion shared-notepad/notepad.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
<header><strong>How it works</strong></header>
<ul>
<li><strong>BasicAuth</strong> — each user gets an isolated session (alice's notes are separate from bob's)</li>
<li><strong>BroadcastAction</strong> — Save in one tab refreshes the others for the same user</li>
<li><strong>ctx.Subscribe / ctx.Publish</strong> — Save in one tab refreshes the others for the same user</li>
<li>Notes persist across page refreshes within the same server session</li>
</ul>
<small>Demo credentials: any username, password <strong>demo</strong></small>
Expand Down
Loading