7 Commits

Author SHA1 Message Date
81368e48ad Merge version_5 into main
Merge version_5 into main
2026-04-17 11:59:21 +00:00
6dc303027a Update theme colors 2026-04-17 11:59:18 +00:00
e81205f051 Merge version_4 into main
Merge version_4 into main
2026-04-17 11:50:22 +00:00
6c3f0a512e Update src/app/feed/page.tsx 2026-04-17 11:50:16 +00:00
a9b751cfd3 Merge version_3 into main
Merge version_3 into main
2026-04-17 11:43:08 +00:00
452d93ac52 Merge version_3 into main
Merge version_3 into main
2026-04-17 11:42:43 +00:00
cdd7144432 Merge version_3 into main
Merge version_3 into main
2026-04-17 11:42:17 +00:00
2 changed files with 21 additions and 22 deletions

View File

@@ -5,7 +5,7 @@ import ReactLenis from "lenis/react";
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
import { Heart, MessageCircle, Share2, MoreHorizontal } from "lucide-react";
import { useState, useEffect, useCallback } from "react";
import { useState, useEffect, useCallback, useRef } from "react";
const POSTS_DATA = [
{ id: "1", author: "Alex J.", content: "Just launched the new version of our platform! So excited to share it with everyone. #tech #launch", likes: 120, comments: 45 },
@@ -18,6 +18,7 @@ const POSTS_DATA = [
export default function FeedPage() {
const [posts, setPosts] = useState(POSTS_DATA);
const [loading, setLoading] = useState(false);
const lenisRef = useRef<any>(null);
const loadMore = useCallback(() => {
if (loading) return;
@@ -28,16 +29,6 @@ export default function FeedPage() {
}, 1000);
}, [loading]);
useEffect(() => {
const handleScroll = () => {
if (window.innerHeight + window.scrollY >= document.body.offsetHeight - 500) {
loadMore();
}
};
window.addEventListener('scroll', handleScroll);
return () => window.removeEventListener('scroll', handleScroll);
}, [loadMore]);
return (
<ThemeProvider
defaultButtonVariant="directional-hover"
@@ -51,7 +42,7 @@ export default function FeedPage() {
secondaryButtonStyle="solid"
headingFontWeight="bold"
>
<ReactLenis root>
<ReactLenis root ref={lenisRef}>
<NavbarStyleApple
navItems={[
{ name: "Home", id: "/" },
@@ -63,7 +54,15 @@ export default function FeedPage() {
<main className="pt-32 pb-20 px-4 max-w-2xl mx-auto space-y-6">
<h1 className="text-4xl font-bold mb-8">Community Feed</h1>
{posts.map((post) => (
<div key={post.id} className="p-6 rounded-2xl border bg-card shadow-sm hover:shadow-md transition-shadow">
<div
key={post.id}
onClick={() => {
const lenis = lenisRef.current?.lenis;
if (lenis) lenis.scrollTo(`#post-${post.id}`, { offset: -100 });
}}
id={`post-${post.id}`}
className="p-6 rounded-2xl border bg-card shadow-sm hover:shadow-md transition-shadow cursor-pointer"
>
<div className="flex items-center justify-between mb-4">
<div className="flex items-center gap-3">
<div className="w-10 h-10 rounded-full bg-accent" />

View File

@@ -10,15 +10,15 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #0a0a0a;
--card: #1a1a1a;
--foreground: #ffffffe6;
--primary-cta: #e6e6e6;
--primary-cta-text: #0a0a0a;
--secondary-cta: #1a1a1a;
--secondary-cta-text: #ffffffe6;
--accent: #737373;
--background-accent: #737373;
--background: #ffffff;
--card: #f9f9f9;
--foreground: #000612e6;
--primary-cta: #15479c;
--primary-cta-text: #ffffff;
--secondary-cta: #f9f9f9;
--secondary-cta-text: #000612e6;
--accent: #e2e2e2;
--background-accent: #c4c4c4;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);