diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 038b5c8..6476617 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,57 +1,24 @@ import type { Metadata } from "next"; -import { Gilda_Display } from "next/font/google"; -import { Montserrat } from "next/font/google"; -import { Halant } from "next/font/google"; import { Inter } from "next/font/google"; import "./globals.css"; -import { ServiceWrapper } from "@/components/ServiceWrapper"; -import Tag from "@/tag/Tag"; +import "./styles/variables.css"; +import "./styles/base.css"; -const gildaDisplay = Gilda_Display({ - variable: "--font-gilda-display", subsets: ["latin"], - weight: ["400"], -}); - -const montserrat = Montserrat({ - variable: "--font-montserrat", subsets: ["latin"], -}); - -const halant = Halant({ - variable: "--font-halant", subsets: ["latin"], - weight: ["300", "400", "500", "600", "700"], -}); - -const inter = Inter({ - variable: "--font-inter", subsets: ["latin"], -}); +const inter = Inter({ subsets: ["latin"] }); export const metadata: Metadata = { - title: "Michael Carpino | Real Estate Content Creator", description: "Professional real estate photography, videography, and content creation to elevate your property listings and attract qualified buyers.", keywords: "real estate photography, property video tours, real estate content creation, drone photography, real estate marketing", metadataBase: new URL("https://michaelcarpino.com"), - openGraph: { - title: "Michael Carpino | Real Estate Content Creator", description: "Professional photography and videography for real estate professionals", type: "website", siteName: "Michael Carpino", url: "https://michaelcarpino.com", images: [ - { - url: "http://img.b2bpic.net/free-photo/futuristic-kitchen-interior-design_23-2151821288.jpg", alt: "Real estate photography showcase"}, - ], - }, - twitter: { - card: "summary_large_image", title: "Michael Carpino | Real Estate Content Creator", description: "Transform your property listings with professional content creation", images: ["http://img.b2bpic.net/free-photo/futuristic-kitchen-interior-design_23-2151821288.jpg"], - }, -}; + title: "Michael Carpino - Real Estate Content Creator", description: "Professional real estate photography, videography, and content creation"}; export default function RootLayout({ children, -}: Readonly<{ +}: { children: React.ReactNode; -}>) { +}) { return ( - - - - - {children} - + + + {children} + - ); } diff --git a/src/app/my-work/page.tsx b/src/app/my-work/page.tsx new file mode 100644 index 0000000..00c377d --- /dev/null +++ b/src/app/my-work/page.tsx @@ -0,0 +1,172 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple"; +import HeroSplit from "@/components/sections/hero/HeroSplit"; +import ProductCardTwo from "@/components/sections/product/ProductCardTwo"; +import FooterBase from "@/components/sections/footer/FooterBase"; +import { Sparkles, Camera, Upload } from "lucide-react"; +import { useState } from "react"; + +export default function MyWorkPage() { + const [uploadedImages, setUploadedImages] = useState([]); + + const handleImageUpload = (e: React.ChangeEvent) => { + const files = e.target.files; + if (files) { + Array.from(files).forEach((file) => { + const reader = new FileReader(); + reader.onload = (event) => { + if (event.target?.result) { + setUploadedImages((prev) => [...prev, event.target?.result as string]); + } + }; + reader.readAsDataURL(file); + }); + } + }; + + // Convert uploaded images to product format + const uploadedProducts = uploadedImages.map((src, index) => ({ + id: `uploaded-${index}`, + brand: "Your Upload", name: `Uploaded Image ${index + 1}`, + price: "Your Work", rating: 5, + reviewCount: "New", imageSrc: src, + imageAlt: `Uploaded image ${index + 1}`, + })); + + const allProducts = [ + { + id: "1", brand: "Luxury Residential", name: "Downtown Penthouse", price: "Featured Project", rating: 5, + reviewCount: "Sold", imageSrc: "http://img.b2bpic.net/free-photo/attractive-woman-reading-magazine-near-panoramic-window_7502-9287.jpg", imageAlt: "Downtown penthouse photography"}, + { + id: "2", brand: "Commercial Real Estate", name: "Modern Office Space", price: "Featured Project", rating: 5, + reviewCount: "Sold", imageSrc: "http://img.b2bpic.net/free-photo/lobby-condominium-building_1262-3037.jpg", imageAlt: "Modern office space photography"}, + { + id: "3", brand: "Family Homes", name: "Suburban Estate", price: "Featured Project", rating: 5, + reviewCount: "Sold", imageSrc: "http://img.b2bpic.net/free-photo/modern-suburban-family-home-with-manicured-lawn_84443-74083.jpg", imageAlt: "Suburban estate photography"}, + ...uploadedProducts, + ]; + + return ( + + + + + + + + + + + + + + + Upload Your Pictures + + + Add your own real estate photos to the gallery. Simply select images from your computer. + + + + + + Click to upload images + or drag and drop your files here + PNG, JPG, GIF up to 10MB + + + {uploadedImages.length > 0 && ( + + {uploadedImages.length} image{uploadedImages.length !== 1 ? "s" : ""} uploaded + + )} + + + + + + + + + + + ); +} diff --git a/src/app/page.tsx b/src/app/page.tsx index 2531698..7496c6a 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -29,10 +29,8 @@ export default function LandingPage() { @@ -46,7 +44,7 @@ export default function LandingPage() { tagIcon={Sparkles} background={{ variant: "sparkles-gradient" }} buttons={[ - { text: "View My Work", href: "portfolio" }, + { text: "View My Work", href: "/my-work" }, { text: "Get Started", href: "contact" }, ]} imageSrc="http://img.b2bpic.net/free-photo/futuristic-kitchen-interior-design_23-2151821288.jpg"
+ Add your own real estate photos to the gallery. Simply select images from your computer. +
Click to upload images
or drag and drop your files here
PNG, JPG, GIF up to 10MB
+ {uploadedImages.length} image{uploadedImages.length !== 1 ? "s" : ""} uploaded +