-
Notifications
You must be signed in to change notification settings - Fork 4
2025 Aurora Website Update #109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
90855fe
2eaabb0
5704caf
8deafaa
6091e5b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why don't we just upload these to Flickr instead of temp.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, I asked Alexis before. He mentioned that will be uploaded much later. So instead we will use temp folder for website update in early stage, later after they process all the photos. We can switch to Flicker. |
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. See above for comment for temp folder. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| ### Temporary Image Storage | ||
|
|
||
| This folder temporarily stores images that have not yet been uploaded to Flickr. Once the images are uploaded, update the website to use the Flickr links and remove these local files. |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -41,6 +41,24 @@ | |||||||||||||||||||||
| flex-direction: column; | ||||||||||||||||||||||
| justify-content: space-between; | ||||||||||||||||||||||
| align-items: center; | ||||||||||||||||||||||
| overflow: hidden; | ||||||||||||||||||||||
| border-radius: 6px; | ||||||||||||||||||||||
| } | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| .mediaBox img { | ||||||||||||||||||||||
| width: 100%; | ||||||||||||||||||||||
| max-width: 400px; | ||||||||||||||||||||||
| height: auto; | ||||||||||||||||||||||
| display: block; | ||||||||||||||||||||||
| margin: 0 auto; | ||||||||||||||||||||||
| transition: transform 220ms ease, box-shadow 220ms ease; | ||||||||||||||||||||||
| transform-origin: center center; | ||||||||||||||||||||||
| } | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| .mediaBox img:hover, | ||||||||||||||||||||||
| .mediaBox img:focus { | ||||||||||||||||||||||
| transform: scale(1.03); /* smaller zoom */ | ||||||||||||||||||||||
| box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08); | ||||||||||||||||||||||
|
Comment on lines
+58
to
+61
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion Keyboard focus state won’t fire on the img. The Photo component makes the wrapper div focusable, not the img. Update selectors so focus styles apply when the wrapper has focus. -.mediaBox img:hover,
-.mediaBox img:focus {
+.mediaBox div:hover img,
+.mediaBox div:focus img,
+.mediaBox :focus-visible img {
transform: scale(1.03); /* smaller zoom */
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||
| } | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| .landingContainer { | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Lightbox a11y: add Escape-to-close, focus return, aria-modal, and body scroll lock
Current modal cannot be closed via keyboard and doesn’t manage focus or background scroll.
Apply:
const Photo = ({ link, altText }) => { - const handleClick = () => { + const handleClick = () => { const modal = document.createElement('div'); + const originalOverflow = document.body.style.overflow; + const previouslyFocused = document.activeElement; modal.style.position = 'fixed'; modal.style.top = '0'; modal.style.left = '0'; modal.style.width = '100vw'; modal.style.height = '100vh'; modal.style.backgroundColor = 'rgba(0, 0, 0, 0.8)'; modal.style.display = 'flex'; modal.style.justifyContent = 'center'; modal.style.alignItems = 'center'; modal.style.zIndex = '1000'; + modal.setAttribute('role', 'dialog'); + modal.setAttribute('aria-modal', 'true'); + modal.setAttribute('aria-label', altText); + modal.tabIndex = -1; const img = document.createElement('img'); img.src = link; img.alt = altText; img.style.maxWidth = '90%'; img.style.maxHeight = '90%'; img.style.boxShadow = '0 0 10px rgba(255, 255, 255, 0.5)'; - modal.appendChild(img); - - modal.addEventListener('click', () => { - document.body.removeChild(modal); - }); - - document.body.appendChild(modal); + modal.appendChild(img); + let onEsc; + const close = () => { + document.removeEventListener('keydown', onEsc); + document.body.style.overflow = originalOverflow; + if (document.body.contains(modal)) document.body.removeChild(modal); + if (previouslyFocused && previouslyFocused.focus) previouslyFocused.focus(); + }; + onEsc = (e) => { if (e.key === 'Escape') close(); }; + modal.addEventListener('click', close); + document.addEventListener('keydown', onEsc); + document.body.style.overflow = 'hidden'; + document.body.appendChild(modal); + if (modal.focus) modal.focus(); };📝 Committable suggestion