feat: image error placeholder + scroll-to-top on navigation
Image bubbles previously used the raw filename as alt text, so a failed asset load exposed the file name in the broken-image box. Add a reusable BubbleImage that renders an empty alt and falls back to a neutral placeholder (ImageOff icon) on error; use it in the album, image, and image-with-text bubbles, and drop the filename from their aria-labels. Also add a global ScrollToTop that resets the window on route change so desktop navigation matches mobile (e.g. clicking a category card no longer lands at the bottom of the new page). Hash navigations are skipped so #post-<id> deep-link scrolling still works. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -10,6 +10,7 @@ import { CategoryPage } from "./pages/Category";
|
||||
import { OfficialRecommendationsPage } from "./pages/OfficialRecommendations";
|
||||
import { SearchPage } from "./pages/Search";
|
||||
import { PostRedirect } from "./pages/PostRedirect";
|
||||
import { ScrollToTop } from "./components/ScrollToTop";
|
||||
import { AboutPage } from "./pages/About";
|
||||
import Favorites from "./pages/Favorites";
|
||||
import { adminUiPrefix } from "./adminPaths";
|
||||
@@ -29,6 +30,7 @@ export default function App() {
|
||||
<ImageLightboxProvider>
|
||||
<VideoPlayerProvider>
|
||||
<BrowserRouter>
|
||||
<ScrollToTop />
|
||||
<Routes>
|
||||
<Route element={<PublicLayout />}>
|
||||
<Route path="/" element={<Home />} />
|
||||
|
||||
Reference in New Issue
Block a user