Merge version_2 into main
Merge version_2 into main
This commit was merged in pull request #1.
This commit is contained in:
@@ -3,6 +3,10 @@
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||
import Link from "next/link";
|
||||
import TextAbout from '@/components/sections/about/TextAbout';
|
||||
import TeamCardFive from '@/components/sections/team/TeamCardFive';
|
||||
import MetricCardSeven from '@/components/sections/metrics/MetricCardSeven';
|
||||
import { Rocket } from 'lucide-react';
|
||||
|
||||
interface FooterProps {
|
||||
brandName?: string;
|
||||
@@ -35,6 +39,7 @@ export default function AboutPage() {
|
||||
const navItems = [
|
||||
{name: "Home", id: "home", href: "/"},
|
||||
{name: "About us", id: "about", href: "/about"},
|
||||
{name: "Services", id: "services", href: "/services"},
|
||||
{name: "Products", id: "products", href: "/products"},
|
||||
{name: "Achievements", id: "achievements", href: "/portfolio"},
|
||||
{name: "News", id: "news", href: "/portfolio"},
|
||||
@@ -62,14 +67,44 @@ export default function AboutPage() {
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay {...navbarProps} />
|
||||
</div>
|
||||
{/*
|
||||
Due to an empty sectionRegistry, no sections can be rendered on this page.
|
||||
This site will only display the Navbar and Footer.
|
||||
*/}
|
||||
<main className="min-h-[calc(10vh)] flex items-center justify-center">
|
||||
<h1 className="text-3xl md:text-5xl font-bold text-center">About Nexsoft Australia</h1>
|
||||
</main>
|
||||
<div id="about-content" data-section="about-content">
|
||||
<TextAbout
|
||||
tag="Who We Are"
|
||||
tagIcon={Rocket}
|
||||
title="Driving Innovation with Passion and Expertise"
|
||||
buttons={[
|
||||
{ text: "Our Services", href: "/services" }
|
||||
]}
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
<div id="team" data-section="team">
|
||||
<TeamCardFive
|
||||
title="Meet Our Expert Team"
|
||||
description="Dedicated professionals passionate about your success."
|
||||
team={[
|
||||
{ id: '1', name: 'John Doe', role: 'CEO & Founder', imageSrc: 'https://cdn.pixabay.com/photo/2015/10/05/22/37/blank-profile-picture-973460_960_720.png', imageAlt: 'John Doe' },
|
||||
{ id: '2', name: 'Jane Smith', role: 'Lead Developer', imageSrc: 'https://cdn.pixabay.com/photo/2015/10/05/22/37/blank-profile-picture-973460_960_720.png', imageAlt: 'Jane Smith' },
|
||||
{ id: '3', name: 'Emily White', role: 'Head of Marketing', imageSrc: 'https://cdn.pixabay.com/photo/2015/10/05/22/37/blank-profile-picture-973460_960_720.png', imageAlt: 'Emily White' }
|
||||
]}
|
||||
animationType={'slide-up'}
|
||||
useInvertedBackground={true}
|
||||
/>
|
||||
</div>
|
||||
<div id="metrics" data-section="metrics">
|
||||
<MetricCardSeven
|
||||
title="Our Impact in Numbers"
|
||||
description="Quantifying our commitment to excellence and client success."
|
||||
metrics={[
|
||||
{ id: '1', value: '10+', title: 'Years of Experience', items: ['Industry leading solutions', 'Proven track record'] },
|
||||
{ id: '2', value: '100%', title: 'Client Satisfaction', items: ['Dedicated support', 'Tailored approach'] },
|
||||
{ id: '3', value: '250+', title: 'Successful Projects', items: ['On-time delivery', 'Exceeding expectations'] }
|
||||
]}
|
||||
animationType={'blur-reveal'}
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
<Footer brandName="Nexsoft Australia" navItems={navItems} />
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
88
src/app/contact/page.tsx
Normal file
88
src/app/contact/page.tsx
Normal file
@@ -0,0 +1,88 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||
import Link from "next/link";
|
||||
|
||||
interface FooterProps {
|
||||
brandName?: string;
|
||||
navItems: Array<{ name: string; href: string; }>;
|
||||
}
|
||||
|
||||
const Footer: React.FC<FooterProps> = ({ brandName = "Nexsoft Australia", navItems }) => {
|
||||
return (
|
||||
<footer className="w-full py-8 bg-card text-foreground border-t border-accent mt-16">
|
||||
<div className="mx-auto px-4 md:px-6 max-w-7xl flex flex-col md:flex-row justify-between items-center gap-4">
|
||||
<div className="text-lg font-bold">
|
||||
{brandName}
|
||||
</div>
|
||||
<nav className="flex flex-wrap justify-center gap-6">
|
||||
{navItems.map((item) => (
|
||||
<Link key={item.href} href={item.href} className="text-foreground hover:text-primary-cta">
|
||||
{item.name}
|
||||
</Link>
|
||||
))}
|
||||
</nav>
|
||||
<div className="text-sm text-foreground/80">
|
||||
© {new Date().getFullYear()} {brandName}. All rights reserved.
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
);
|
||||
};
|
||||
|
||||
export default function ContactPage() {
|
||||
const navItems = [
|
||||
{name: "Home", id: "home", href: "/"},
|
||||
{name: "Contact us", id: "contact", href: "/contact"}
|
||||
];
|
||||
|
||||
const navbarProps = {
|
||||
brandName: "Nexsoft Australia", navItems: navItems,
|
||||
button: {text: "Get a Quote", href: "/contact"}
|
||||
};
|
||||
|
||||
const handleFormSubmit = (data: Record<string, string>) => {
|
||||
console.log("Form submitted:", data);
|
||||
alert("Thank you for your message! We will get back to you soon.");
|
||||
};
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="hover-magnetic"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="soft"
|
||||
contentWidth="medium"
|
||||
sizing="largeSmall"
|
||||
background="blurBottom"
|
||||
cardStyle="gradient-radial"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
headingFontWeight="normal"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay {...navbarProps} />
|
||||
</div>
|
||||
<div id="contact-form" data-section="contact-form">
|
||||
<ContactSplitForm
|
||||
title="Get in Touch"
|
||||
description="We'd love to hear from you! Fill out the form below or find us on the map."
|
||||
inputs={[
|
||||
{ name: "name", type: "text", placeholder: "Your Name", required: true },
|
||||
{ name: "email", type: "email", placeholder: "Your Email", required: true }
|
||||
]}
|
||||
textarea={{ name: "message", placeholder: "Your Message", rows: 5, required: true }}
|
||||
buttonText="Send Message"
|
||||
imageSrc="https://picsum.photos/id/1083/800/600?grayscale&blur=2"
|
||||
imageAlt="Office location map"
|
||||
mediaPosition="right"
|
||||
useInvertedBackground={false}
|
||||
onSubmit={handleFormSubmit}
|
||||
className="pt-24 md:pt-32 pb-16"
|
||||
/>
|
||||
</div>
|
||||
<Footer brandName="Nexsoft Australia" navItems={navItems} />
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
@@ -34,10 +34,6 @@ const Footer: React.FC<FooterProps> = ({ brandName = "Nexsoft Australia", navIte
|
||||
export default function HomePage() {
|
||||
const navItems = [
|
||||
{name: "Home", id: "home", href: "/"},
|
||||
{name: "About us", id: "about", href: "/about"},
|
||||
{name: "Products", id: "products", href: "/products"},
|
||||
{name: "Achievements", id: "achievements", href: "/portfolio"},
|
||||
{name: "News", id: "news", href: "/portfolio"},
|
||||
{name: "Contact us", id: "contact", href: "/contact"}
|
||||
];
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||
import Link from "next/link";
|
||||
import ProductCardThree from '@/components/sections/product/ProductCardThree'; // For portfolio display
|
||||
|
||||
interface FooterProps {
|
||||
brandName?: string;
|
||||
@@ -46,6 +47,16 @@ export default function PortfolioPage() {
|
||||
button: {text: "Get a Quote", href: "/contact"}
|
||||
};
|
||||
|
||||
const productCardThreeProps = {
|
||||
title: "Our Portfolio", description: "Discover the projects we've brought to life.", gridVariant: "bento-grid", // Choose a responsive grid variant
|
||||
animationType: "slide-up", products: [
|
||||
{ id: "1", name: "Project Alpha", price: "Case Study", imageSrc: "https://r2.webild.io/p/4e2bb7a8-1a5c-4235-9008-012903330663_img_1.webp", imageAlt: "Project Alpha screenshot" },
|
||||
{ id: "2", name: "Project Beta", price: "Case Study", imageSrc: "https://r2.webild.io/p/4e2bb7a8-1a5c-4235-9008-012903330663_img_2.webp", imageAlt: "Project Beta screenshot" },
|
||||
{ id: "3", name: "Project Gamma", price: "Case Study", imageSrc: "https://r2.webild.io/p/4e2bb7a8-1a5c-4235-9008-012903330663_img_3.webp", imageAlt: "Project Gamma screenshot" },
|
||||
{ id: "4", name: "Project Delta", price: "Case Study", imageSrc: "https://r2.webild.io/p/4e2bb7a8-1a5c-4235-9008-012903330663_img_4.webp", imageAlt: "Project Delta screenshot" }
|
||||
]
|
||||
};
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="hover-magnetic"
|
||||
@@ -62,13 +73,18 @@ export default function PortfolioPage() {
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay {...navbarProps} />
|
||||
</div>
|
||||
{/*
|
||||
Due to an empty sectionRegistry, no sections can be rendered on this page.
|
||||
This site will only display the Navbar and Footer.
|
||||
*/}
|
||||
<main className="min-h-[calc(10vh)] flex items-center justify-center">
|
||||
<h1 className="text-3xl md:text-5xl font-bold text-center">Our Portfolio & News</h1>
|
||||
|
||||
<main>
|
||||
<div id="portfolio-hero" data-section="portfolio-hero" className="py-20 md:py-32 text-center">
|
||||
<h1 className="text-4xl md:text-6xl font-bold text-foreground">Our Portfolio</h1>
|
||||
<p className="mt-4 text-xl text-foreground/80 max-w-2xl mx-auto">Explore our diverse range of successful projects and client collaborations.</p>
|
||||
</div>
|
||||
|
||||
<div id="product-card-three" data-section="product-card-three">
|
||||
<ProductCardThree {...productCardThreeProps} />
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<Footer brandName="Nexsoft Australia" navItems={navItems} />
|
||||
</ThemeProvider>
|
||||
);
|
||||
|
||||
142
src/app/services/page.tsx
Normal file
142
src/app/services/page.tsx
Normal file
@@ -0,0 +1,142 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||
import Link from "next/link";
|
||||
import FeatureCardSix from '@/components/sections/feature/FeatureCardSix';
|
||||
import PricingCardFive from '@/components/sections/pricing/PricingCardFive';
|
||||
import FaqSplitText from '@/components/sections/faq/FaqSplitText';
|
||||
import { HardDrive, Cloud, Users, ShieldCheck } from 'lucide-react';
|
||||
|
||||
interface FooterProps {
|
||||
brandName?: string;
|
||||
navItems: Array<{ name: string; href: string; }>;
|
||||
}
|
||||
|
||||
const Footer: React.FC<FooterProps> = ({ brandName = "Nexsoft Australia", navItems }) => {
|
||||
return (
|
||||
<footer className="w-full py-8 bg-card text-foreground border-t border-accent mt-16">
|
||||
<div className="mx-auto px-4 md:px-6 max-w-7xl flex flex-col md:flex-row justify-between items-center gap-4">
|
||||
<div className="text-lg font-bold">
|
||||
{brandName}
|
||||
</div>
|
||||
<nav className="flex flex-wrap justify-center gap-6">
|
||||
{navItems.map((item) => (
|
||||
<Link key={item.href} href={item.href} className="text-foreground hover:text-primary-cta">
|
||||
{item.name}
|
||||
</Link>
|
||||
))}
|
||||
</nav>
|
||||
<div className="text-sm text-foreground/80">
|
||||
© {new Date().getFullYear()} {brandName}. All rights reserved.
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
);
|
||||
};
|
||||
|
||||
export default function ServicesPage() {
|
||||
const navItems = [
|
||||
{name: "Home", id: "home", href: "/"},
|
||||
{name: "About us", id: "about", href: "/about"},
|
||||
{name: "Services", id: "services", href: "/services"},
|
||||
{name: "Products", id: "products", href: "/products"},
|
||||
{name: "Achievements", id: "achievements", href: "/portfolio"},
|
||||
{name: "News", id: "news", href: "/portfolio"},
|
||||
{name: "Contact us", id: "contact", href: "/contact"}
|
||||
];
|
||||
|
||||
const navbarProps = {
|
||||
brandName: "Nexsoft Australia", navItems: navItems,
|
||||
button: {text: "Get a Quote", href: "/contact"}
|
||||
};
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="hover-magnetic"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="soft"
|
||||
contentWidth="medium"
|
||||
sizing="largeSmall"
|
||||
background="blurBottom"
|
||||
cardStyle="gradient-radial"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
headingFontWeight="normal"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay {...navbarProps} />
|
||||
</div>
|
||||
<div id="services-features" data-section="services-features">
|
||||
<FeatureCardSix
|
||||
tag="What We Do"
|
||||
title="Comprehensive Digital Solutions"
|
||||
description="From concept to deployment, we deliver tailored services designed to meet your unique business needs."
|
||||
features={[
|
||||
{ id: 1, title: 'Custom Software Development', description: 'Building bespoke applications that drive efficiency.', imageSrc: 'https://cdn.pixabay.com/photo/2016/03/09/09/16/programmer-1246761_960_720.jpg', imageAlt: 'Software Development' },
|
||||
{ id: 2, title: 'Cloud Solutions & Migration', description: 'Leverage the power of the cloud for scalability and security.', imageSrc: 'https://cdn.pixabay.com/photo/2016/11/19/23/00/data-1840003_960_720.jpg', imageAlt: 'Cloud Solutions' },
|
||||
{ id: 3, title: 'IT Consulting & Strategy', description: 'Expert guidance to optimize your technology roadmap.', imageSrc: 'https://cdn.pixabay.com/photo/2015/07/02/10/44/laptop-828551_960_720.jpg', imageAlt: 'IT Consulting' },
|
||||
{ id: 4, title: 'Cybersecurity & Data Protection', description: 'Protect your valuable assets with robust security measures.', imageSrc: 'https://cdn.pixabay.com/photo/2017/01/17/14/45/cyber-security-1987570_960_720.jpg', imageAlt: 'Cybersecurity' }
|
||||
]}
|
||||
useInvertedBackground={true}
|
||||
textboxLayout={'default'}
|
||||
/>
|
||||
</div>
|
||||
<div id="pricing" data-section="pricing">
|
||||
<PricingCardFive
|
||||
title="Flexible Service Plans"
|
||||
description="Choose a plan that scales with your business, or let's create a custom solution."
|
||||
plans={[
|
||||
{
|
||||
id: 'basic',
|
||||
tag: 'Starter',
|
||||
price: '$999',
|
||||
period: '/month',
|
||||
description: 'Ideal for small businesses and startups.',
|
||||
button: { text: 'Get Started', href: '#' },
|
||||
featuresTitle: 'Includes:',
|
||||
features: ['Custom Dev (10 hrs)', 'Basic Cloud Setup', 'Email Support']
|
||||
},
|
||||
{
|
||||
id: 'pro',
|
||||
tag: 'Professional',
|
||||
price: '$2499',
|
||||
period: '/month',
|
||||
description: 'For growing businesses requiring more comprehensive support.',
|
||||
button: { text: 'Learn More', href: '#' },
|
||||
featuresTitle: 'Includes:',
|
||||
features: ['Custom Dev (30 hrs)', 'Advanced Cloud Mgmt', 'Priority Support', 'Monthly Reports']
|
||||
},
|
||||
{
|
||||
id: 'enterprise',
|
||||
tag: 'Enterprise',
|
||||
price: 'Custom',
|
||||
period: '',
|
||||
description: 'Tailored solutions for large organizations with complex needs.',
|
||||
button: { text: 'Contact Us', href: '/contact' },
|
||||
featuresTitle: 'Includes:',
|
||||
features: ['Dedicated Team', 'Full Cloud Suite', '24/7 Support', 'Strategic Consulting']
|
||||
}
|
||||
]}
|
||||
animationType={'slide-up'}
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
<div id="faq" data-section="faq">
|
||||
<FaqSplitText
|
||||
sideTitle="Got Questions About Our Services?"
|
||||
sideDescription="We're here to provide clarity and ensure you have all the information you need."
|
||||
faqs={[
|
||||
{ id: '1', title: 'How does your custom software development process work?', content: 'Our process involves discovery, design, development, testing, and deployment, ensuring a tailored solution that meets your specific needs.' },
|
||||
{ id: '2', title: 'What cloud platforms do you support?', content: 'We specialize in AWS, Azure, and Google Cloud Platform, providing flexible and scalable cloud solutions.' },
|
||||
{ id: '3', title: 'Can you help with legacy system migration?', content: 'Yes, we have extensive experience in migrating legacy systems to modern cloud infrastructure with minimal disruption.' },
|
||||
{ id: '4', title: 'What is your approach to cybersecurity?', content: 'We implement multi-layered security strategies, including threat detection, data encryption, and regular security audits to protect your systems.' }
|
||||
]}
|
||||
faqsAnimation={'slide-up'}
|
||||
useInvertedBackground={true}
|
||||
/>
|
||||
</div>
|
||||
<Footer brandName="Nexsoft Australia" navItems={navItems} />
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user