Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
Update frontend/src/pages/LandingPage.jsx
Browse files
frontend/src/pages/LandingPage.jsx
CHANGED
|
@@ -73,6 +73,30 @@ export const LandingPage = () => {
|
|
| 73 |
};
|
| 74 |
}, []);
|
| 75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
const calendarDays = calendarOffset === 0 ? allDays.slice(0, 8) : allDays.slice(8, 16);
|
| 77 |
|
| 78 |
const timeSlots = [
|
|
|
|
| 73 |
};
|
| 74 |
}, []);
|
| 75 |
|
| 76 |
+
useEffect(() => {
|
| 77 |
+
const scrollKey = 'landing_scroll_pos';
|
| 78 |
+
const savedScroll = sessionStorage.getItem(scrollKey);
|
| 79 |
+
if (savedScroll) {
|
| 80 |
+
const scrollY = parseInt(savedScroll, 10);
|
| 81 |
+
if (!isNaN(scrollY) && scrollY > 0) {
|
| 82 |
+
const timer = setTimeout(() => {
|
| 83 |
+
window.scrollTo({ top: scrollY, behavior: 'instant' });
|
| 84 |
+
}, 80);
|
| 85 |
+
return () => clearTimeout(timer);
|
| 86 |
+
}
|
| 87 |
+
}
|
| 88 |
+
}, []);
|
| 89 |
+
|
| 90 |
+
useEffect(() => {
|
| 91 |
+
const handleScroll = () => {
|
| 92 |
+
sessionStorage.setItem('landing_scroll_pos', window.scrollY.toString());
|
| 93 |
+
};
|
| 94 |
+
window.addEventListener('scroll', handleScroll, { passive: true });
|
| 95 |
+
return () => {
|
| 96 |
+
window.removeEventListener('scroll', handleScroll);
|
| 97 |
+
};
|
| 98 |
+
}, []);
|
| 99 |
+
|
| 100 |
const calendarDays = calendarOffset === 0 ? allDays.slice(0, 8) : allDays.slice(8, 16);
|
| 101 |
|
| 102 |
const timeSlots = [
|