diff --git a/src/pages/Portfolio.tsx b/src/pages/Portfolio.tsx new file mode 100644 index 0000000..5af2de1 --- /dev/null +++ b/src/pages/Portfolio.tsx @@ -0,0 +1,87 @@ +import { useState } from "react"; +import { Badge } from "@/components/ui/badge"; +import { Dialog, DialogContent, DialogTrigger } from "@/components/ui/dialog"; +import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs"; +import { useSaas } from "@/hooks/use-tygarun"; +import Header from "@/components/Header"; +import Footer from "@/components/Footer"; + +const categories = ["All", "Wedding", "Portrait", "Commercial", "Fashion", "Nature"]; + +const photos = [ + { title: "First Dance", category: "Wedding", img: "https://images.unsplash.com/photo-1519741497674-611481863552?w=800&h=600&fit=crop", tall: true }, + { title: "Quiet Confidence", category: "Portrait", img: "https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=600&h=600&fit=crop", tall: false }, + { title: "Brand Essence", category: "Commercial", img: "https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=600&h=400&fit=crop", tall: false }, + { title: "Avant Garde", category: "Fashion", img: "https://images.unsplash.com/photo-1469334031218-e382a71b716b?w=600&h=800&fit=crop", tall: true }, + { title: "Morning Mist", category: "Nature", img: "https://images.unsplash.com/photo-1472214103451-9374bd1c798e?w=800&h=600&fit=crop", tall: false }, + { title: "The Vow", category: "Wedding", img: "https://images.unsplash.com/photo-1511285560929-80b456fea0bc?w=600&h=600&fit=crop", tall: false }, + { title: "Inner Light", category: "Portrait", img: "https://images.unsplash.com/photo-1531746020798-e6953c6e8e04?w=600&h=800&fit=crop", tall: true }, + { title: "Studio Session", category: "Commercial", img: "https://images.unsplash.com/photo-1556761175-5973dc0f32e7?w=600&h=400&fit=crop", tall: false }, + { title: "Editorial Gaze", category: "Fashion", img: "https://images.unsplash.com/photo-1509631179647-0177331693ae?w=600&h=600&fit=crop", tall: false }, + { title: "Wilderness", category: "Nature", img: "https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05?w=800&h=600&fit=crop", tall: true }, + { title: "Sunset Ceremony", category: "Wedding", img: "https://images.unsplash.com/photo-1606216794074-735e91aa2c92?w=600&h=400&fit=crop", tall: false }, + { title: "Timeless", category: "Portrait", img: "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=600&h=600&fit=crop", tall: false }, +]; + +export default function PortfolioPage() { + const [active, setActive] = useState("All"); + + // Gallery is media-backed via tyga.run file-management (seed images until the library is live) + const { data: media } = useSaas("file-management", "/list"); + const livePhotos = Array.isArray(media) && media.length + ? media.map((m: any) => ({ + title: m.title || m.name || "Untitled", + category: m.category || "All", + img: m.url || m.src || m.signedUrl, + tall: !!m.tall, + })) + : photos; + + const filtered = active === "All" ? livePhotos : livePhotos.filter((p) => p.category === active); + + return ( +
Each image is a story. Browse by category or explore the full collection.
+ +