chore: remove scroll restoration

This commit is contained in:
Nathan Lamy 2025-07-30 18:33:18 +02:00
parent 0684a0649b
commit 4eadd2f195
4 changed files with 3 additions and 43 deletions

View file

@ -1,7 +1,7 @@
import type React from "react";
import type { Colle } from "~/lib/api";
import { Link, useNavigate } from "react-router";
import { Link } from "react-router";
import {
Card,
CardContent,
@ -26,26 +26,14 @@ const getSubjectEmoji = (_: string) => {
type ColleCardProps = {
colle: Colle;
onToggleFavorite: (id: number, favorite: boolean) => void;
beforeClick: () => void;
isFavorite: boolean;
};
export default function ColleCard({
colle,
onToggleFavorite,
beforeClick,
isFavorite,
}: ColleCardProps) {
const navigate = useNavigate();
// TODO: Remove this if scroll restoration is not needed (test first)
const handleCardClick = (e: React.MouseEvent) => {
e.preventDefault();
e.stopPropagation();
beforeClick();
setTimeout(() => navigate(`/colles/${colle.id}`), 100);
};
// TODO: Favorites
const handleToggleFavorite = (e: React.MouseEvent) => {
e.stopPropagation(); // Prevent card click
@ -58,7 +46,7 @@ export default function ColleCard({
const subjectEmoji = getSubjectEmoji(colle.subject.name);
return (
<Link to={`/colles/${colle.id}`} onClick={handleCardClick}>
<Link to={`/colles/${colle.id}`}>
<Card
id={`colle-${colle.id}`}
className="h-full cursor-pointer hover:shadow-md transition-shadow border-primary"
@ -94,7 +82,7 @@ export default function ColleCard({
)}
</CardHeader>
<CardContent className="pb-0 pt-0 px-4" onClick={handleCardClick}>
<CardContent className="pb-0 pt-0 px-4">
<div className="flex items-center justify-between">
<div className="space-y-1">
<div className="flex items-center gap-2">

View file

@ -117,27 +117,6 @@ export default function Home() {
// sessionStorage.setItem('student', studentFilter)
}, [subjectFilter, examinerFilter]);
// Restore scroll position
// TODO: Test and check if needed!!
// // SCROLL
// const setScrollPosition = (colleId: number) => {
// sessionStorage.setItem("colles_position", colleId.toString());
// };
// const restoreScrollPosition = () => {
// const position = sessionStorage.getItem("colles_position");
// if (position) {
// const element = document.getElementById(`colle-${position}`);
// if (element) {
// element.scrollIntoView({ behavior: "smooth", block: "center" });
// sessionStorage.removeItem("colles_position");
// }
// }
// };
// const location = useLocation();
// useEffect(() => {
// setTimeout(restoreScrollPosition, 500);
// }, [location]);
return (
<div className="space-y-6 pb-20 md:pb-0">
{/* Week Navigation */}

View file

@ -84,11 +84,8 @@ export default function TabContent({
<ColleCard
key={colle.id}
colle={colle}
beforeClick={() => {}}
onToggleFavorite={() => {}}
isFavorite={false}
// TODO: Implement scroll position handling
// beforeClick={() => setScrollPosition(colle.id)}
// TODO: Implement favorite toggle
// onToggleFavorite={handleToggleFavorite}
// isFavorite={isFavorite(colle)}

View file

@ -25,8 +25,6 @@ import { Separator } from "~/components/ui/separator";
import UserDropdown from "~/components/user-dropdown";
import ColleDetailsSkeleton from "~/components/details/skeleton-details";
import AttachmentItem from "~/components/details/attachment";
// TODO: Scroll restoration
// import { ScrollToTopOnMount } from "~/components/noscroll";
import Error from "~/components/error";
import { Badge } from "~/components/ui/badge";
import { AUTH_ERROR, useColle, useUser } from "~/lib/api";
@ -131,8 +129,6 @@ export default function ColleDetailPage() {
return (
<div className="container mx-auto py-6 px-4 pb-20 md:pb-6 md:py-8">
{/* <ScrollToTopOnMount /> */}
<div className="flex justify-between items-center mb-4">
<Button variant="outline" onClick={() => goBack(navigate)}>
<ArrowLeft className="h-4 w-4 mr-2" />