header language change option updated for 2 languages
This commit is contained in:
parent
9707b1c982
commit
9c6b7b2de1
@ -7,43 +7,120 @@ import Image from 'next/image'
|
|||||||
import { useTranslation } from 'next-i18next'
|
import { useTranslation } from 'next-i18next'
|
||||||
import { changeLanguage } from '../../utils/commonFunction.utils'
|
import { changeLanguage } from '../../utils/commonFunction.utils'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
|
import Slider from 'react-slick'
|
||||||
|
|
||||||
const HeaderTopbar = () => {
|
const HeaderTopbar = () => {
|
||||||
const { t } = useTranslation('common')
|
const { t, i18n } = useTranslation('common')
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|
||||||
const handleLanguageChange = () => {
|
const handleLanguageChange = (locale) => {
|
||||||
changeLanguage(router, 'es'); // always switch to Spanish
|
changeLanguage(router, locale)
|
||||||
};
|
}
|
||||||
|
|
||||||
|
// Slider Settings
|
||||||
|
const settings = {
|
||||||
|
dots: false,
|
||||||
|
arrows: false,
|
||||||
|
infinite: true,
|
||||||
|
autoplay: true,
|
||||||
|
autoplaySpeed: 2000,
|
||||||
|
speed: 600,
|
||||||
|
slidesToShow: 1,
|
||||||
|
slidesToScroll: 1,
|
||||||
|
fade: true,
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div
|
<div
|
||||||
className="header-top py-2 "
|
className="header-top py-2"
|
||||||
style={{
|
style={{
|
||||||
background: 'linear-gradient(90deg, #C12026 11.32%, #E14448 95.28%)',
|
background: 'linear-gradient(90deg, #C12026 11.32%, #E14448 95.28%)',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div className="container-fluid">
|
<div className="container-fluid">
|
||||||
<div className='d-flex justify-content-center align-items-center gap-5 flex-wrap'>
|
<Slider {...settings}>
|
||||||
<div className="text-center" style={{ color: 'white' }}>
|
{/* 🔹 Show only Spanish switch if current lang is English */}
|
||||||
Haz clic en el botón para cambiar a español.
|
{i18n.language === 'en' && (
|
||||||
</div>
|
<div>
|
||||||
<button onClick={handleLanguageChange} className='white-button'>Haz clic aquí</button>
|
<div className="d-flex justify-content-center align-items-center gap-5 flex-wrap">
|
||||||
</div>
|
<div className="text-center text-white">
|
||||||
|
Haz clic en el botón para cambiar el idioma a <b>Español</b>.
|
||||||
|
</div>
|
||||||
|
<button
|
||||||
|
onClick={() => handleLanguageChange('es')}
|
||||||
|
className="white-button"
|
||||||
|
>
|
||||||
|
Cambiar a Español
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
{
|
||||||
|
i18n.language === 'es' && (
|
||||||
|
<div>
|
||||||
|
<div className="d-flex justify-content-center align-items-center gap-5 flex-wrap">
|
||||||
|
<div className="text-center text-white">
|
||||||
|
Haz clic en el botón para cambiar el idioma a <b>Inglés</b>.
|
||||||
|
</div>
|
||||||
|
<button
|
||||||
|
onClick={() => handleLanguageChange('en')}
|
||||||
|
className="white-button"
|
||||||
|
>
|
||||||
|
Cambiar a Inglés
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
{/* 🔹 Show only English switch if current lang is Spanish */}
|
||||||
|
{i18n.language === 'en' && (
|
||||||
|
<div>
|
||||||
|
<div className="d-flex justify-content-center align-items-center gap-5 flex-wrap">
|
||||||
|
<div className="text-center text-white">
|
||||||
|
Click the button to switch the language to <b>Spanish</b>.
|
||||||
|
</div>
|
||||||
|
<button
|
||||||
|
onClick={() => handleLanguageChange('es')}
|
||||||
|
className="white-button"
|
||||||
|
>
|
||||||
|
Switch to Spanish
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
{i18n.language === 'es' && (
|
||||||
|
<div>
|
||||||
|
<div className="d-flex justify-content-center align-items-center gap-5 flex-wrap">
|
||||||
|
<div className="text-center text-white">
|
||||||
|
Click the button to switch the language to <b>English</b>.
|
||||||
|
</div>
|
||||||
|
<button
|
||||||
|
onClick={() => handleLanguageChange('en')}
|
||||||
|
className="white-button"
|
||||||
|
>
|
||||||
|
Switch to English
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</Slider>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{/* 🔹 Main Topbar */}
|
||||||
<div className="topbar d-lg-block d-none">
|
<div className="topbar d-lg-block d-none">
|
||||||
<div className="container">
|
<div className="container">
|
||||||
<div className="row align-items-center">
|
<div className="row align-items-center">
|
||||||
|
{/* Logo */}
|
||||||
<div className="col-lg-3 col-12 d-lg-block d-none">
|
<div className="col-lg-3 col-12 d-lg-block d-none">
|
||||||
<Link className="navbar-brand" href="/">
|
<Link className="navbar-brand" href="/">
|
||||||
<Image src={Logo} alt="logo" />
|
<Image src={Logo} alt="logo" />
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{/* Contact Info */}
|
||||||
<div className="col-lg-6 col-12">
|
<div className="col-lg-6 col-12">
|
||||||
<div className="contact-info-wrap">
|
<div className="contact-info-wrap">
|
||||||
<div className="contact-info">
|
<div className="contact-info">
|
||||||
@ -67,6 +144,7 @@ const HeaderTopbar = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{/* Contact Button */}
|
||||||
<div className="col-lg-3 col-12 d-flex justify-content-end align-items-center">
|
<div className="col-lg-3 col-12 d-flex justify-content-end align-items-center">
|
||||||
<div className="contact-info ms-3">
|
<div className="contact-info ms-3">
|
||||||
<Link className="theme-btn" href="/contact">
|
<Link className="theme-btn" href="/contact">
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
i18n: {
|
i18n: {
|
||||||
defaultLocale: 'es',
|
defaultLocale: 'en',
|
||||||
locales: ['en', 'es'],
|
locales: ['en', 'es'],
|
||||||
localeDetection: false,
|
localeDetection: false,
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user