import { ReactElement, useRef, useState } from "react"; import { ArticleCard } from "./_components/card/article"; import { cn, For, Show } from "@imphnen-frontend-service/utils"; import { Button } from "@imphnen-frontend-service/ui/atoms"; import { motion, useInView, Variants } from "framer-motion"; import { useGetArticleCategories, useGetArticles } from "@imphnen-frontend-service/service"; export default function Components(): ReactElement { const [activeTab, setActiveTab] = useState("Semua") const { data: articles = [], isLoading } = useGetArticles({ per_page: 20 }) const { data: categories = [] } = useGetArticleCategories() const tabs = ["Semua", ...categories] const featured = articles[0] const recent = articles.slice(1, 4) const filtered = activeTab === "Semua" ? articles : articles.filter((a) => a.category === activeTab) const ref = useRef(null) const isInView = useInView(ref, { once: true, amount: 0.2 }) const containerVariants: Variants = { hidden: { opacity: 0 }, visible: { opacity: 1, transition: { staggerChildren: 0.1, delayChildren: 0.2, }, }, } const childVariants: Variants = { hidden: { opacity: 0, y: 20 }, visible: { opacity: 1, y: 0, transition: { duration: 0.4, ease: [0.25, 0.46, 0.45, 0.94], }, }, } return (
Featuring Articles Memuat artikel...

} >
Recent Articles
{(article, index) => ( )}
Category
{(category) => ( )}
0} fallback={

Belum ada artikel di kategori ini.

} >
{(article, index) => ( )}
) }