Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 022d0242e6 | |||
| ee9f7d95a1 | |||
| 7263473d1a | |||
| acfac7537a | |||
| f3e987356a | |||
| 4a5e18c7ed | |||
| 33691f6894 | |||
| cec6cea2d3 | |||
| 4f9c8ceeb6 |
@@ -1,58 +1,21 @@
|
||||
import type { Metadata } from "next";
|
||||
import { Halant } from "next/font/google";
|
||||
import { Inter } from "next/font/google";
|
||||
import { Public_Sans } from "next/font/google";
|
||||
import "./globals.css";
|
||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||
import Tag from "@/tag/Tag";
|
||||
|
||||
const halant = Halant({
|
||||
variable: "--font-halant", subsets: ["latin"],
|
||||
weight: ["300", "400", "500", "600", "700"],
|
||||
});
|
||||
|
||||
const inter = Inter({
|
||||
variable: "--font-inter", subsets: ["latin"],
|
||||
});
|
||||
|
||||
const publicSans = Public_Sans({
|
||||
variable: "--font-public-sans", subsets: ["latin"],
|
||||
});
|
||||
const inter = Inter({ subsets: ["latin"] });
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Oron Studio | Award-Winning Creative Agency", description: "High-end creative agency specializing in premium branding, immersive digital experiences, and sophisticated motion design for global enterprises.", keywords: "creative agency, branding, web design, motion design, GSAP animation, digital experience, brand strategy, award-winning design", metadataBase: new URL("https://oronstudio.com"),
|
||||
alternates: {
|
||||
canonical: "https://oronstudio.com"},
|
||||
openGraph: {
|
||||
title: "Oron Studio | Design That Moves Culture Forward", description: "Premium creative agency crafting bold brands and immersive digital experiences.", url: "https://oronstudio.com", siteName: "Oron Studio", type: "website", images: [
|
||||
{
|
||||
url: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AbEkZmziBT3SSVmxNpLEKgE8yR/a-sleek-premium-creative-agency-dashboar-1772853153806-45156c7e.png", alt: "Oron Studio Creative Dashboard"},
|
||||
],
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image", title: "Oron Studio | Design That Moves Culture Forward", description: "Premium creative agency crafting bold brands and immersive digital experiences.", images: [
|
||||
"https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AbEkZmziBT3SSVmxNpLEKgE8yR/a-sleek-premium-creative-agency-dashboar-1772853153806-45156c7e.png"],
|
||||
},
|
||||
robots: {
|
||||
index: true,
|
||||
follow: true,
|
||||
},
|
||||
title: "Oron Studio - Award-Winning Creative Agency", description: "Oron Studio crafts bold brands and immersive digital experiences with cutting-edge animation and strategic thinking."
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
}: {
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
}) {
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<ServiceWrapper>
|
||||
<body
|
||||
className={`${halant.variable} ${inter.variable} ${publicSans.variable} antialiased`}
|
||||
>
|
||||
<Tag />
|
||||
{children}
|
||||
|
||||
<html lang="en">
|
||||
<body className={inter.className}>{children}
|
||||
<script
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: `
|
||||
@@ -1420,7 +1383,6 @@ export default function RootLayout({
|
||||
}}
|
||||
/>
|
||||
</body>
|
||||
</ServiceWrapper>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -8,11 +8,87 @@ import FeatureHoverPattern from '@/components/sections/feature/featureHoverPatte
|
||||
import ProductCardFour from '@/components/sections/product/ProductCardFour';
|
||||
import MetricCardTwo from '@/components/sections/metrics/MetricCardTwo';
|
||||
import TestimonialCardTen from '@/components/sections/testimonial/TestimonialCardTen';
|
||||
import ContactCenter from '@/components/sections/contact/ContactCenter';
|
||||
import ContactCTA from '@/components/sections/contact/ContactCTA';
|
||||
import FooterCard from '@/components/sections/footer/FooterCard';
|
||||
import { Sparkles, Award, Palette, Zap, Target, TrendingUp, MessageSquare, Dribbble, Linkedin, Twitter, Instagram } from 'lucide-react';
|
||||
import gsap from 'gsap';
|
||||
import { useEffect, useRef } from 'react';
|
||||
|
||||
export default function LandingPage() {
|
||||
const contactRef = useRef(null);
|
||||
|
||||
useEffect(() => {
|
||||
// Register ScrollTrigger plugin
|
||||
import('gsap/ScrollTrigger').then(({ default: ScrollTrigger }) => {
|
||||
gsap.registerPlugin(ScrollTrigger);
|
||||
|
||||
// Animate contact section on scroll
|
||||
if (contactRef.current) {
|
||||
const ctx = gsap.context(() => {
|
||||
// Title animation
|
||||
gsap.from('[data-contact-title]', {
|
||||
scrollTrigger: {
|
||||
trigger: contactRef.current,
|
||||
start: 'top 60%',
|
||||
end: 'top 30%',
|
||||
scrub: 1,
|
||||
markers: false,
|
||||
},
|
||||
opacity: 0,
|
||||
y: 50,
|
||||
duration: 1,
|
||||
});
|
||||
|
||||
// Description animation with stagger
|
||||
gsap.from('[data-contact-description]', {
|
||||
scrollTrigger: {
|
||||
trigger: contactRef.current,
|
||||
start: 'top 55%',
|
||||
end: 'top 25%',
|
||||
scrub: 1,
|
||||
markers: false,
|
||||
},
|
||||
opacity: 0,
|
||||
y: 40,
|
||||
duration: 1,
|
||||
delay: 0.2,
|
||||
});
|
||||
|
||||
// Button animation
|
||||
gsap.from('[data-contact-button]', {
|
||||
scrollTrigger: {
|
||||
trigger: contactRef.current,
|
||||
start: 'top 50%',
|
||||
end: 'top 20%',
|
||||
scrub: 1,
|
||||
markers: false,
|
||||
},
|
||||
opacity: 0,
|
||||
scale: 0.8,
|
||||
duration: 1,
|
||||
delay: 0.4,
|
||||
});
|
||||
|
||||
// Background animated elements
|
||||
gsap.to('[data-contact-bg-element]', {
|
||||
scrollTrigger: {
|
||||
trigger: contactRef.current,
|
||||
start: 'top center',
|
||||
end: 'bottom center',
|
||||
scrub: 2,
|
||||
markers: false,
|
||||
},
|
||||
rotation: 360,
|
||||
duration: 20,
|
||||
repeat: -1,
|
||||
});
|
||||
}, contactRef);
|
||||
|
||||
return () => ctx.revert();
|
||||
}
|
||||
});
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="hover-bubble"
|
||||
@@ -167,18 +243,19 @@ export default function LandingPage() {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactCenter
|
||||
<div id="contact" data-section="contact" ref={contactRef}>
|
||||
<ContactCTA
|
||||
tag="Let's Create Together"
|
||||
title="Ready to transform your brand?"
|
||||
description="Schedule a consultation with our creative team. We'll explore how Oron Studio can elevate your brand and drive measurable business impact."
|
||||
description="Schedule a consultation with our creative team. We'll respond within 24 hours with a tailored proposal and creative roadmap to elevate your brand and drive measurable business impact."
|
||||
tagIcon={Zap}
|
||||
tagAnimation="slide-up"
|
||||
background={{ variant: "rotated-rays-animated-grid" }}
|
||||
useInvertedBackground={false}
|
||||
buttonText="Get in Touch"
|
||||
inputPlaceholder="your@email.com"
|
||||
termsText="By submitting, you agree to our privacy policy. We'll respond within 24 hours."
|
||||
buttons={[
|
||||
{ text: "Get in Touch", href: "contact" },
|
||||
{ text: "View Portfolio", href: "work" }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user