Skip to content

chore(banner): announce September 1 community call with auto-expiry - #154

Merged
holkexyz merged 1 commit into
mainfrom
chore/september-community-call-banner
Jul 28, 2026
Merged

chore(banner): announce September 1 community call with auto-expiry#154
holkexyz merged 1 commit into
mainfrom
chore/september-community-call-banner

Conversation

@holkexyz

@holkexyz holkexyz commented Jul 28, 2026

Copy link
Copy Markdown
Member

Updates the site-wide announcement banner for the next community call.

Changes

  • Linkhttps://luma.com/mw1phg5t
  • Date → "Tuesday, September 1, 2026" (main currently still shows the stale "July 7, 2026" banner)
  • Copy → "September community call"
  • Auto-expiry → new EXPIRES_AT constant; the mount effect bails out once the visitor's clock passes local midnight on September 2, 2026, so the banner retires itself with no follow-up commit
  • BANNER_ID bumped to september-1-2026-community-call so anyone who dismissed a previous banner still sees this one

Note on the expiry cutoff

new Date('2026-09-02T00:00:00') parses as local time, so the banner disappears at each visitor's own midnight — someone in UTC+13 loses it ~13 hours before someone in UTC-7. That seemed right for a "disappears on September 2nd" banner. Happy to pin it to a single UTC instant instead if a global cutoff is preferred.

Testing

Not run locally — the change is a constant swap plus one guard clause in an existing mount effect. Worth a glance at the Vercel preview to confirm the longer date string ("Tuesday, September 1, 2026" vs "July 7, 2026") still sits well in the banner chip at narrow widths.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features
    • Updated the announcement banner to promote the September 1, 2026 community call.
    • Added the event’s updated date, registration link, and expiration handling.

@vercel

vercel Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
hypercerts-v0.2-documentation Ready Ready Preview, Comment Jul 28, 2026 8:06am

Request Review

Points the announcement banner at the September community call
(luma.com/mw1phg5t) on Tuesday, September 1, 2026.

Adds an EXPIRES_AT guard so the banner stops rendering from local
midnight on September 2, 2026 without needing a follow-up commit.
Bumps BANNER_ID so visitors who dismissed the July banner see this one.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@holkexyz
holkexyz force-pushed the chore/september-community-call-banner branch from 59e4c1b to d6d7b45 Compare July 28, 2026 08:05
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The announcement banner is retargeted from the July community call to the September 1, 2026 event, with a new banner ID, expiration cutoff, displayed date, description, and RSVP link.

Changes

Announcement banner

Layer / File(s) Summary
Retarget and expire announcement banner
components/AnnouncementBanner.js
The banner uses the September event identity, stops rendering after the configured expiration timestamp, and points its displayed event details and RSVP link to the September community call.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly reflects the banner update for the September 1 community call and mentions the auto-expiry behavior.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/september-community-call-banner

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@components/AnnouncementBanner.js`:
- Around line 12-16: Update the useEffect in AnnouncementBanner to keep
monitoring EXPIRES_AT after mount: retain the initial expiry check, schedule a
bounded timer or interval that calls setDismissed(true) once expiry is reached,
and clean up the timer on unmount. Preserve the existing localStorage dismissal
initialization for unexpired banners.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: aa9d7d37-37ce-4982-a0b9-c1dd7964180e

📥 Commits

Reviewing files that changed from the base of the PR and between 6da72a3 and d6d7b45.

📒 Files selected for processing (1)
  • components/AnnouncementBanner.js

Comment on lines 12 to 16
useEffect(() => {
if (Date.now() >= EXPIRES_AT) return;
const stored = localStorage.getItem(`banner-dismissed-${BANNER_ID}`);
if (!stored) setDismissed(false);
}, []);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Keep the expiry guard active after mount.

The effect checks EXPIRES_AT only once. A visitor who loads the page before local midnight and leaves it open will still see the banner after September 2, contrary to the auto-expiry requirement. Re-check at expiry with a bounded timer/interval and clean it up on unmount, calling setDismissed(true) when expired.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/AnnouncementBanner.js` around lines 12 - 16, Update the useEffect
in AnnouncementBanner to keep monitoring EXPIRES_AT after mount: retain the
initial expiry check, schedule a bounded timer or interval that calls
setDismissed(true) once expiry is reached, and clean up the timer on unmount.
Preserve the existing localStorage dismissal initialization for unexpired
banners.

@holkexyz
holkexyz merged commit a23df2e into main Jul 28, 2026
6 checks passed
@holkexyz
holkexyz deleted the chore/september-community-call-banner branch July 28, 2026 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant