Repository navigation
Give each custom alert its own page; rework the list, builder and trigger pages - #49
Merged
Merged
Conversation
…gger pages
A custom alert now opens on /custom-alerts/{id} instead of the filtered
signals archive. The page has the rule in words, three figures (triggers
with a per-day strip, stocks matching now, the median change after the
follow-up window with a dot per measured trigger) and a table of triggers:
filters All, Unread, Higher and Lower, a ticker filter, sortable change
columns at 1, 5 and 10 candles, "so far" and "Pending · due" for triggers
still measured, stocks matched at save folded into one row, and bulk
delete (POST /api/custom-alerts/{id}/triggers/delete). Old
/signals?customAlertId links, emails, the home page, the stock page and
watchlists point at it; custom-alert-archive.js is gone.
- List: one row per alert with its figures, an instant on/off switch with
Undo, a menu (duplicate, pin, email, delete with a confirm dialog),
shorter rule chips (the condition, then its timing, quieter), a guide
for new users and the examples behind "New alert".
- Builder: a steps rail, finished steps folded to a summary, condition
cards with their own menu, a searchable condition picker, a Save bar
that names what is missing and jumps there, a saved draft, a preview
sheet on phones, and Ctrl+Enter from any field.
- Trigger page: previous and next trigger (keeping the chart's zoom and
hidden conditions), the follow-up window and its result on the chart,
what happened next with this alert's median, and each "Why it
triggered" card linked to its chart marks.
- Keyboard shortcuts on the list and alert page, listed with "?".
- The list never refreshed while alerts were being checked: the site's
sidebar is an always-open <dialog>, which the check took for a modal.
- No backdrop blur in design.css and watchlists.css; small grey text
uses the higher-contrast colour.
- Assistant pages and the reference describe the new pages.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A redesign of the custom alert pages: the list, a new page for each alert, the builder and the trigger page. An independent reviewer rated screenshots of every page (desktop, tablet and phone, dark and light) after each round of fixes. Over ten rounds its score went from 5.1 to 9.0 out of 10.
What changes
Each alert has its own page at
/custom-alerts/{id}, in place of the filtered signals archive.POST /api/custom-alerts/{id}/triggers/delete./signals?customAlertId=…links redirect here. The email, the home page, the stock page and watchlists link here too, andcustom-alert-archive.jsis removed.List
Builder
Trigger page
Also
<dialog>, and the refresh treated it as a modal dialog in front of the page. The same mistake blocked Ctrl+Enter in the builder.design.cssandwatchlists.css, and small grey text uses the higher-contrast colour.pages/custom-alert.md.Testing
Java: the full suite (
./mvnw test) ran 1131 tests: 0 failures, 33 skipped.JS: all 146 tests pass (
npm test).Browser (Playwright on Edge, a copy of the dev database):
Screenshots were taken at 1440, 820 and 390 px wide, in both themes, with no console errors.
🤖 Generated with Claude Code