diff --git a/src/assets/front.jpg b/src/assets/front.jpg new file mode 100644 index 0000000..12f06ef Binary files /dev/null and b/src/assets/front.jpg differ diff --git a/src/components/CustomPostcards.tsx b/src/components/CustomPostcards.tsx index 6562bfe..3556edb 100644 --- a/src/components/CustomPostcards.tsx +++ b/src/components/CustomPostcards.tsx @@ -4,7 +4,7 @@ import { Button } from './ui/button'; import { ImageWithFallback } from './figma/ImageWithFallback'; import { motion, useMotionValue, useSpring, useTransform, useInView } from 'motion/react'; import { HandwrittenText, useHandwrittenText } from './HandwrittenText'; -import postcardImage from 'figma:asset/d3a880cf8b7f1bec6da9b3f2ce4a76e822e483cf.png'; +import front from '../assets/front.jpg' interface EditableCardProps { isEditing: boolean; @@ -190,485 +190,485 @@ export function CustomPostcards() { }; // Ultra-realistic vintage postcard with responsive scaling and animations - const PostcardFrame = () => { - return ( - - {/* Realistic paper texture with variations */} -
+ // const PostcardFrame = () => { + // return ( + // + // {/* Realistic paper texture with variations */} + //
- {/* Age spots and stains */} -
-
-
-
-
+ // {/* Age spots and stains */} + //
+ //
+ //
+ //
+ //
- {/* Corner wear and creases */} -
-
+ // {/* Corner wear and creases */} + //
+ //
- {/* Subtle crease lines */} -
+ // {/* Subtle crease lines */} + //
- {/* Animated Vintage Vector Logo - Top Right - Mobile Optimized */} - - - {/* Subtle aging overlay for the vector */} -
- + // {/* Animated Vintage Vector Logo - Top Right - Mobile Optimized */} + // + // + // {/* Subtle aging overlay for the vector */} + //
+ // - {/* For Correspondence Text */} -
-

- For correspondence -

-
+ // {/* For Correspondence Text */} + //
+ //

+ // For correspondence + //

+ //
- {/* Realistic vertical divider with ink bleeding - Responsive */} -
+ // {/* Realistic vertical divider with ink bleeding - Responsive */} + //
- {/* Ink bleed effect around divider - Responsive */} -
+ // {/* Ink bleed effect around divider - Responsive */} + //
- {/* Right side content area - Responsive */} -
- {/* Editable Address Label Card - Responsive */} - setEditingCard(editingCard === 'label' ? null : 'label')} - style={{ - position: 'absolute', - top: '4.1%', - left: '0%', - pointerEvents: 'auto', - transform: 'rotate(-0.3deg)' - }} - editIcon={} - > -
- {postcardData.addressLabel} -
-
+ // {/* Right side content area - Responsive */} + //
+ // {/* Editable Address Label Card - Responsive */} + // setEditingCard(editingCard === 'label' ? null : 'label')} + // style={{ + // position: 'absolute', + // top: '4.1%', + // left: '0%', + // pointerEvents: 'auto', + // transform: 'rotate(-0.3deg)' + // }} + // editIcon={} + // > + //
+ // {postcardData.addressLabel} + //
+ //
- {/* Realistic horizontal ruled lines with ink bleeding - Responsive */} -
- {[...Array(9)].map((_, i) => ( -
- {/* Main line */} -
- {/* Ink bleed effect */} -
-
- ))} -
+ // {/* Realistic horizontal ruled lines with ink bleeding - Responsive */} + //
+ // {[...Array(9)].map((_, i) => ( + //
+ // {/* Main line */} + //
+ // {/* Ink bleed effect */} + //
+ //
+ // ))} + //
- {/* Editable Message Card with Handwritten Animation - Responsive */} - setEditingCard(editingCard === 'message' ? null : 'message')} - style={{ - position: 'absolute', - top: '17.6%', - left: '4.4%', - width: '88.2%', - pointerEvents: 'auto', - transform: 'rotate(-0.7deg)' - }} - editIcon={} - > -
- {editingCard === 'message' ? ( - // Show static text when editing -
- {postcardData.message} -
- ) : ( - // Show animated handwritten text when not editing - - )} -
-
+ // {/* Editable Message Card with Handwritten Animation - Responsive */} + // setEditingCard(editingCard === 'message' ? null : 'message')} + // style={{ + // position: 'absolute', + // top: '17.6%', + // left: '4.4%', + // width: '88.2%', + // pointerEvents: 'auto', + // transform: 'rotate(-0.7deg)' + // }} + // editIcon={} + // > + //
+ // {editingCard === 'message' ? ( + // // Show static text when editing + //
+ // {postcardData.message} + //
+ // ) : ( + // // Show animated handwritten text when not editing + // + // )} + //
+ //
- {/* Editable Date Card - Responsive */} - setEditingCard(editingCard === 'date' ? null : 'date')} - style={{ - position: 'absolute', - bottom: '16.2%', - right: '7.4%', - pointerEvents: 'auto', - transform: 'rotate(-1.5deg)' - }} - editIcon={} - > -
- {postcardData.date} -
-
-
+ // {/* Editable Date Card - Responsive */} + // setEditingCard(editingCard === 'date' ? null : 'date')} + // style={{ + // position: 'absolute', + // bottom: '16.2%', + // right: '7.4%', + // pointerEvents: 'auto', + // transform: 'rotate(-1.5deg)' + // }} + // editIcon={} + // > + //
+ // {postcardData.date} + //
+ //
+ //
- {/* Ultra-realistic stamp - Responsive */} - setEditingCard(editingCard === 'stamp' ? null : 'stamp')} - style={{ - position: 'absolute', - width: '12.5%', - height: '19.1%', - right: '3.5%', - bottom: '5.3%', - transform: 'rotate(-12deg)' - }} - editIcon={} - > -
- {/* Stamp aging and wear */} -
+ // {/* Ultra-realistic stamp - Responsive */} + // setEditingCard(editingCard === 'stamp' ? null : 'stamp')} + // style={{ + // position: 'absolute', + // width: '12.5%', + // height: '19.1%', + // right: '3.5%', + // bottom: '5.3%', + // transform: 'rotate(-12deg)' + // }} + // editIcon={} + // > + //
+ // {/* Stamp aging and wear */} + //
- {/* Stamp inner details */} -
-
+ // {/* Stamp inner details */} + //
+ //
- {/* Stamp text */} -
-
- TRAVEL -
-
- MEMORIES -
-
- 2024 -
-
+ // {/* Stamp text */} + //
+ //
+ // TRAVEL + //
+ //
+ // MEMORIES + //
+ //
+ // 2024 + //
+ //
- {/* Stamp perforations with realistic variations */} - {[...Array(20)].map((_, i) => ( -
0.1 ? 1 : 0.3 // Random missing perforations - }} - /> - ))} + // {/* Stamp perforations with realistic variations */} + // {[...Array(20)].map((_, i) => ( + //
0.1 ? 1 : 0.3 // Random missing perforations + // }} + // /> + // ))} - {/* Stamp smudge mark */} -
-
- + // {/* Stamp smudge mark */} + //
+ //
+ // - {/* Additional realistic aging effects */} -
- - ); - }; + // {/* Additional realistic aging effects */} + //
+ // + // ); + // }; return (
@@ -700,7 +700,7 @@ export function CustomPostcards() {

The Only Card That Sends Your - + Holiday {' '} Home. @@ -783,7 +783,8 @@ export function CustomPostcards() { WebkitBackfaceVisibility: "hidden" }} > - + {/* */} + Postcard Image {/* Subtle glow effect */} How Your{' '} {!location.pathname.includes("landing") && - Melbourne + Melbourne } City Card{' '} Works. diff --git a/src/components/PostCardsPage.tsx b/src/components/PostCardsPage.tsx index 8f94e42..8486e7d 100644 --- a/src/components/PostCardsPage.tsx +++ b/src/components/PostCardsPage.tsx @@ -13,6 +13,8 @@ import { CustomPostcards } from './CustomPostcards'; import { HowItWorks } from './HowItWorks'; import { ImageWithFallback } from './figma/ImageWithFallback'; import { Layout } from '../Layout'; +import front from '../assets/front.jpg' + interface User { email: string; @@ -73,165 +75,155 @@ export function PostCardsPage({ return (
{/* Navbar */} - + - {/* Sub Navbar */} - {/* */} + {/* Hero Section */} +
+ {/* Background gradient */} +
- {/* Hero Section */} -
- {/* Background gradient */} -
- -
- -

- Create Beautiful{' '} - - Custom Postcards - -

-

- Transform your travel memories into stunning, personalized postcards with authentic handwritten messages. - Share your journey in a way that feels truly personal and meaningful. -

- -
-
- - {/* Decorative elements */} -
-
-
- - {/* Reuse CustomPostcards Component */} - - - {/* How It Works Section */} - - - {/* Features Section */} - - - {/* Gallery Section */} -
-
- -

Postcard Gallery

-

- Get inspired by beautiful postcards created by our community of travelers -

-
- -
- {[ - { - image: 'https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=400&h=600&fit=crop', - title: 'Tropical Paradise', - message: 'Greetings from paradise! The beaches here are absolutely breathtaking...', - location: 'Maldives' - }, - { - image: 'https://images.unsplash.com/photo-1499856871958-5b9627545d1a?w=400&h=600&fit=crop', - title: 'City Adventures', - message: 'Having the most amazing time exploring this incredible city...', - location: 'Paris, France' - }, - { - image: 'https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=400&h=600&fit=crop', - title: 'Mountain Views', - message: 'The views from up here are simply unbelievable. Wish you were here...', - location: 'Swiss Alps' - }, - { - image: 'https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=400&h=600&fit=crop', - title: 'Cultural Journey', - message: 'Immersing myself in the rich culture and history of this amazing place...', - location: 'Kyoto, Japan' - }, - { - image: 'https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=400&h=600&fit=crop', - title: 'Safari Adventure', - message: 'Just saw the most incredible wildlife! This experience is unforgettable...', - location: 'Kenya, Africa' - }, - { - image: 'https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=400&h=600&fit=crop', - title: 'Island Escape', - message: 'Living the island life and loving every moment of this peaceful retreat...', - location: 'Santorini, Greece' - } - ].map((postcard, index) => ( - - - -
- - - {postcard.location} - -
-
-

{postcard.title}

-

"{postcard.message}"

-
-
-
-
- ))} + */} + + < img src={front} alt='Postcard image' />
-
-
- {/* Ready to Explore Melbourne Section */} + {/* Decorative elements */} +
+
+
+ + {/* How It Works Section */} + + + {/* Reuse CustomPostcards Component */} + + + {/* Features Section */} + + + {/* Gallery Section */} +
+
+ +

Postcard Gallery

+

+ Get inspired by beautiful postcards created by our community of travelers +

+
+ +
+ {[ + { + image: 'https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=400&h=600&fit=crop', + title: 'Tropical Paradise', + message: 'Greetings from paradise! The beaches here are absolutely breathtaking...', + location: 'Maldives' + }, + { + image: 'https://images.unsplash.com/photo-1499856871958-5b9627545d1a?w=400&h=600&fit=crop', + title: 'City Adventures', + message: 'Having the most amazing time exploring this incredible city...', + location: 'Paris, France' + }, + { + image: 'https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=400&h=600&fit=crop', + title: 'Mountain Views', + message: 'The views from up here are simply unbelievable. Wish you were here...', + location: 'Swiss Alps' + }, + { + image: 'https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=400&h=600&fit=crop', + title: 'Cultural Journey', + message: 'Immersing myself in the rich culture and history of this amazing place...', + location: 'Kyoto, Japan' + }, + { + image: 'https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=400&h=600&fit=crop', + title: 'Safari Adventure', + message: 'Just saw the most incredible wildlife! This experience is unforgettable...', + location: 'Kenya, Africa' + }, + { + image: 'https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=400&h=600&fit=crop', + title: 'Island Escape', + message: 'Living the island life and loving every moment of this peaceful retreat...', + location: 'Santorini, Greece' + } + ].map((postcard, index) => ( + + + +
+ + + {postcard.location} + +
+
+

{postcard.title}

+

"{postcard.message}"

+
+
+
+
+ ))} +
+
+
+ + {/* Ready to Explore Melbourne Section */} - {/* Mobile App Section */} - + {/* Customer Reviews */} + + + {/* Mobile App Section */} + - {/* Customer Reviews */} - -
);