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

View file

@ -117,27 +117,6 @@ export default function Home() {
// sessionStorage.setItem('student', studentFilter) // sessionStorage.setItem('student', studentFilter)
}, [subjectFilter, examinerFilter]); }, [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 ( return (
<div className="space-y-6 pb-20 md:pb-0"> <div className="space-y-6 pb-20 md:pb-0">
{/* Week Navigation */} {/* Week Navigation */}

View file

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

View file

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