json-schema-org / json-schema-org/website
✨ Enhancement: Display Community Event Times in User’s Local Timezone
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 169
- Forks
- 484
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 6
Description
Is your feature request related to a problem? Please describe
The "Upcoming events" section on the /community page currently displays meeting times in a static format (e.g., 19:00 UTC).
While accurate, this requires users in different regions (APAC, EMEA, Americas, etc.) to manually convert UTC to their local timezone, which adds friction for a global community.
Describe the solution you'd like
I would like the website to automatically detect the user's browser timezone and display the event time in their local time alongside the UTC time.
Technical Plan:
To avoid Next.js Hydration Mismatches (where the server-rendered HTML differs from the client's initial render), I propose implementing a client-side localization layer:
-Create a reusable LocalizedTime React component.
-Use a useEffect hook to detect the user's locale via Intl.DateTimeFormat().resolvedOptions().timeZone.
-Use the native Intl API to format the time, ensuring no heavy external libraries (like Moment.js) are needed.
Describe alternatives you've considered
I considered performing the conversion during the build step in getStaticProps, but this would hardcode the server’s timezone (likely UTC) into the generated output for all users. Since the page is statically generated, this approach would not provide true per-user localization and therefore would not address the core usability issue for a global audience.
Additional context
Events are fetched in pages/community/index.tsx using fetchRemoteICalFile and rendered directly as:
<span>{event.time} ({event.timezone})</span>
This enhancement would only affect client-side rendering and should not impact the data fetching pipeline.
Happy to work on this if maintainers feel this would be a useful enhancement.
Are you working on this?
Yes
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in pages/community/index.tsx, read how fetchRemoteICalFile supplies events, and inspect the existing span that renders event.time and event.timezone. Check the client-side localization plan against the statically generated page and hydration behavior. Done means event times show the user's browser timezone alongside UTC without changing the data-fetching pipeline.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- next.js, react, typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 42/100