Merge version_1 into main #2

Merged
bender merged 2 commits from version_1 into main 2026-03-11 19:24:37 +00:00
2 changed files with 105 additions and 84 deletions

View File

@@ -1,12 +1,14 @@
"use client";
import Link from "next/link";
import { Music } from "lucide-react";
import { Music, Video, Calendar, Mail } from "lucide-react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen";
import HeroBillboard from "@/components/sections/hero/HeroBillboard";
import InlineImageSplitTextAbout from "@/components/sections/about/InlineImageSplitTextAbout";
import FeatureCardOne from "@/components/sections/feature/FeatureCardOne";
import BlogCardOne from "@/components/sections/blog/BlogCardOne";
import PricingCardTwo from "@/components/sections/pricing/PricingCardTwo";
import ContactSplit from "@/components/sections/contact/ContactSplit";
import FooterLogoReveal from "@/components/sections/footer/FooterLogoReveal";
@@ -26,7 +28,7 @@ export default function HomePage() {
borderRadius="rounded"
contentWidth="mediumLarge"
sizing="large"
background="circleGradient"
background="sparkles-gradient"
cardStyle="gradient-mesh"
primaryButtonStyle="flat"
secondaryButtonStyle="layered"
@@ -45,18 +47,14 @@ export default function HomePage() {
<HeroBillboard
title="Daniel Azizov"
description="Singer • Performer"
background={{ variant: "circleGradient" }}
background={{ variant: "sparkles-gradient" }}
imageSrc="http://img.b2bpic.net/free-vector/music-festival-background-flat-style_23-2147781208.jpg"
imageAlt="Stage lights concert atmosphere"
buttons={[
{
text: "Listen to Music",
href: "/music",
},
text: "Listen to Music", href: "/music"},
{
text: "Watch Videos",
href: "/videos",
},
text: "Watch Videos", href: "/videos"},
]}
buttonAnimation="blur-reveal"
mediaAnimation="slide-up"
@@ -67,15 +65,11 @@ export default function HomePage() {
<InlineImageSplitTextAbout
heading={[
{
type: "text",
content: "Daniel Azizov - Young Vocal Talent from Uzbekistan",
},
type: "text", content: "Daniel Azizov - Young Vocal Talent from Uzbekistan"},
]}
buttons={[
{
text: "Learn More",
href: "/about",
},
text: "Learn More", href: "/about"},
]}
buttonAnimation="blur-reveal"
useInvertedBackground={false}
@@ -86,34 +80,19 @@ export default function HomePage() {
<FeatureCardOne
features={[
{
title: "Ovoz Bolalar",
description:
"A powerful rendition showcasing vocal range and emotional performance",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-bearded-smiling-black-man-wool-suit_613910-16049.jpg?_wi=1",
button: {
text: "Play All Tracks",
href: "/music",
},
title: "Ovoz Bolalar", description:
"A powerful rendition showcasing vocal range and emotional performance", imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-bearded-smiling-black-man-wool-suit_613910-16049.jpg", button: {
text: "Play All Tracks", href: "/music"},
},
{
title: "What's Up (Cover)",
description:
"Daniel's unique interpretation of the classic 4 Non Blondes hit",
imageSrc: "http://img.b2bpic.net/free-photo/artistic-woman_23-2147781679.jpg?_wi=1",
button: {
text: "View Playlist",
href: "/music",
},
title: "What's Up (Cover)", description:
"Daniel's unique interpretation of the classic 4 Non Blondes hit", imageSrc: "http://img.b2bpic.net/free-photo/artistic-woman_23-2147781679.jpg", button: {
text: "View Playlist", href: "/music"},
},
{
title: "Original Compositions",
description:
"Explore Daniel's original songs and unreleased material",
imageSrc: "http://img.b2bpic.net/free-photo/control-room-desk-equipped-with-motorized-faders-amplifier_482257-124486.jpg?_wi=1",
button: {
text: "Discover More",
href: "/music",
},
title: "Original Compositions", description:
"Explore Daniel's original songs and unreleased material", imageSrc: "http://img.b2bpic.net/free-photo/control-room-desk-equipped-with-motorized-faders-amplifier_482257-124486.jpg", button: {
text: "Discover More", href: "/music"},
},
]}
title="Featured Tracks"
@@ -127,6 +106,73 @@ export default function HomePage() {
/>
</div>
<div id="videos" data-section="videos">
<BlogCardOne
blogs={[
{
id: "1", category: "Performance", title: "Ovoz Bolalar - Live Performance", excerpt: "Daniel's winning performance from Ovoz Bolalar vocal competition", imageSrc: "http://img.b2bpic.net/free-photo/musicial-music-live-band-performing-stage-with-different-lights_627829-10059.jpg", authorName: "Daniel Azizov", authorAvatar: "http://img.b2bpic.net/free-photo/medium-shot-man-creating-van-gogh-s-characterization_23-2149736182.jpg", date: "2024"},
{
id: "2", category: "Cover", title: "What's Up - 4 Non Blondes Cover", excerpt: "An energetic cover performance showcasing vocal versatility", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-man-stage-with-microphone_23-2149215618.jpg", authorName: "Daniel Azizov", authorAvatar: "http://img.b2bpic.net/free-photo/medium-shot-man-creating-van-gogh-s-characterization_23-2149736182.jpg", date: "2024"},
{
id: "3", category: "International", title: "Performance in Dubai", excerpt: "Daniel's international performance at the UAE music festival", imageSrc: "http://img.b2bpic.net/free-photo/unrecognizable-person-photographing-with-smart-phone-stage-performers-music-festival_637285-575.jpg", authorName: "Daniel Azizov", authorAvatar: "http://img.b2bpic.net/free-photo/medium-shot-man-creating-van-gogh-s-characterization_23-2149736182.jpg", date: "2023"},
{
id: "4", category: "International", title: "Batumi Concert Series", excerpt: "Live performance at the Batumi International Music Festival in Georgia", imageSrc: "http://img.b2bpic.net/free-photo/female-rock-star-blowing-bubbles-from-chewing-gum-nightclub_482257-117350.jpg", authorName: "Daniel Azizov", authorAvatar: "http://img.b2bpic.net/free-photo/medium-shot-man-creating-van-gogh-s-characterization_23-2149736182.jpg", date: "2023"},
]}
title="Video Gallery"
description="Watch Daniel perform across different stages and events"
tag="Videos"
tagIcon={Video}
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={false}
carouselMode="buttons"
/>
</div>
<div id="live-shows" data-section="live-shows">
<PricingCardTwo
plans={[
{
id: "1", badge: "Chimgan Solo Concert", price: "Contact for Details", subtitle: "Daniel's first solo concert performance", buttons: [
{
text: "Buy Tickets", href: "#contact"},
{
text: "Learn More", href: "/shows"},
],
features: [
"Live vocal performance", "Original compositions & covers", "Meet and greet opportunities", "Professional stage production"],
},
{
id: "2", badge: "Festival Appearances", price: "TBA", subtitle: "International festival performances", buttons: [
{
text: "Get Updates", href: "#contact"},
{
text: "Subscribe", href: "#contact"},
],
features: [
"Festival line-up performances", "International stages", "Networking opportunities", "Exclusive behind-the-scenes"],
},
{
id: "3", badge: "Private Events", price: "Custom Quote", subtitle: "Book Daniel for your event", buttons: [
{
text: "Inquire Booking", href: "#contact"},
{
text: "Packages", href: "/shows"},
],
features: [
"Custom setlist options", "Flexible performance length", "Professional sound system", "Event coordination support"],
},
]}
title="Upcoming Live Shows"
description="Book tickets to see Daniel perform live in your city"
tag="Events"
tagIcon={Calendar}
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={true}
/>
</div>
<div id="contact" data-section="contact">
<ContactSplit
tag="Get In Touch"
@@ -134,7 +180,7 @@ export default function HomePage() {
description="For booking inquiries, collaboration opportunities, or general questions, reach out through email or social media."
background={{ variant: "sparkles-gradient" }}
useInvertedBackground={false}
imageSrc="http://img.b2bpic.net/free-photo/smiley-woman-playing-guitar-medium-shot_23-2149200005.jpg?_wi=1"
imageSrc="http://img.b2bpic.net/free-photo/smiley-woman-playing-guitar-medium-shot_23-2149200005.jpg"
imageAlt="Daniel Azizov performing"
mediaAnimation="slide-up"
mediaPosition="right"
@@ -148,13 +194,9 @@ export default function HomePage() {
<FooterLogoReveal
logoText="Daniel Azizov"
leftLink={{
text: "© 2024 Daniel Azizov. All Rights Reserved.",
href: "#",
}}
text: "© 2024 Daniel Azizov. All Rights Reserved.", href: "#"}}
rightLink={{
text: "All songs belong to their respective owners.",
href: "#",
}}
text: "All songs belong to their respective owners.", href: "#"}}
/>
</div>
</ThemeProvider>

View File

@@ -1,51 +1,30 @@
"use client";
import React from 'react';
import { memo } from "react";
import useSvgTextLogo from "./useSvgTextLogo";
import { cls } from "@/lib/utils";
interface SvgTextLogoProps {
logoText: string;
adjustHeightFactor?: number;
verticalAlign?: "top" | "center";
export interface SvgTextLogoProps {
text: string;
className?: string;
}
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
logoText,
adjustHeightFactor,
verticalAlign = "top",
className = "",
}) {
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
const SvgTextLogo: React.FC<SvgTextLogoProps> = ({ text, className = '' }) => {
return (
<svg
ref={svgRef}
viewBox={viewBox}
className={cls("w-full", className)}
style={{ aspectRatio: aspectRatio }}
preserveAspectRatio="none"
role="img"
aria-label={`${logoText} logo`}
viewBox="0 0 300 100"
xmlns="http://www.w3.org/2000/svg"
className={className}
aria-label={text}
>
<text
ref={textRef}
x="0"
y={verticalAlign === "center" ? "50%" : "0"}
className="font-bold fill-current"
style={{
fontSize: "20px",
letterSpacing: "-0.02em",
dominantBaseline: verticalAlign === "center" ? "middle" : "text-before-edge"
}}
x="50%"
y="50%"
dominantBaseline="central"
textAnchor="middle"
className="fill-current font-bold text-lg"
fontSize="48"
>
{logoText}
{text}
</text>
</svg>
);
});
};
SvgTextLogo.displayName = "SvgTextLogo";
export default SvgTextLogo;
export default SvgTextLogo;