language and hsow case changed
This commit is contained in:
@@ -98,11 +98,10 @@ export function ContactForm() {
|
||||
>
|
||||
<div>
|
||||
<h3 className="text-2xl font-bold text-gray-900 mb-2">
|
||||
Get In Touch
|
||||
{t.contact.title}
|
||||
</h3>
|
||||
<p className="text-gray-600 mb-8">
|
||||
Reach out to us for inquiries, support, or partnership
|
||||
opportunities.
|
||||
{t.contact.desc}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -110,18 +109,18 @@ export function ContactForm() {
|
||||
{[
|
||||
{
|
||||
icon: Phone,
|
||||
title: "Phone",
|
||||
value: "+998 (99) 123-45-67",
|
||||
title: "phone_title",
|
||||
value: "+998 (99) 869-74-70",
|
||||
},
|
||||
{
|
||||
icon: MessageSquare,
|
||||
title: "Telegram",
|
||||
title: "telegram_title",
|
||||
value: "@firma_support",
|
||||
},
|
||||
{
|
||||
icon: MapPin,
|
||||
title: "Address",
|
||||
value: "Tashkent, Uzbekistan",
|
||||
title: "addres_title",
|
||||
value: "Tashkent, Сергели 6 а 179 кв",
|
||||
},
|
||||
].map((item, idx) => {
|
||||
const Icon = item.icon;
|
||||
@@ -134,7 +133,7 @@ export function ContactForm() {
|
||||
<Icon className="text-blue-600 shrink-0" size={24} />
|
||||
<div>
|
||||
<h4 className="font-semibold text-gray-900">
|
||||
{item.title}
|
||||
{t.contact[item.title]}
|
||||
</h4>
|
||||
<p className="text-gray-600">{item.value}</p>
|
||||
</div>
|
||||
|
||||
@@ -45,7 +45,7 @@ export function ShowCase({ images }: ShowCaseProps) {
|
||||
};
|
||||
|
||||
return (
|
||||
<section className="relative min-h-screen pt-20 pb-20">
|
||||
<section className="relative min-h-screen flex items-center py-20">
|
||||
{/* background image */}
|
||||
<div className="absolute -z-50 top-0 left-0 h-full w-full">
|
||||
<Image
|
||||
@@ -57,8 +57,8 @@ export function ShowCase({ images }: ShowCaseProps) {
|
||||
</div>
|
||||
<div className="absolute w-full h-full top-0 left-0 bg-black opacity-25 -z-40" />
|
||||
|
||||
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<div className="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center">
|
||||
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 w-full h-full flex flex-col justify-center ">
|
||||
<div className="flex flex-1 max-w-xl w-full">
|
||||
{/* Left Content */}
|
||||
<motion.div
|
||||
initial={{ opacity: 0, x: -50 }}
|
||||
@@ -84,7 +84,7 @@ export function ShowCase({ images }: ShowCaseProps) {
|
||||
</motion.div>
|
||||
|
||||
{/* Right - Image Carousel */}
|
||||
<motion.div
|
||||
{/* <motion.div
|
||||
initial={{ opacity: 0, x: 50 }}
|
||||
animate={{ opacity: 1, x: 0 }}
|
||||
transition={{ duration: 0.6, delay: 0.2 }}
|
||||
@@ -111,8 +111,6 @@ export function ShowCase({ images }: ShowCaseProps) {
|
||||
/>
|
||||
</motion.div>
|
||||
</AnimatePresence>
|
||||
|
||||
{/* Navigation Buttons */}
|
||||
<motion.button
|
||||
whileHover={{ scale: 1.1 }}
|
||||
whileTap={{ scale: 0.95 }}
|
||||
@@ -130,8 +128,6 @@ export function ShowCase({ images }: ShowCaseProps) {
|
||||
>
|
||||
<ChevronRight className="text-gray-800" />
|
||||
</motion.button>
|
||||
|
||||
{/* Indicators */}
|
||||
<div className="absolute bottom-4 left-1/2 -translate-x-1/2 z-10 flex gap-2">
|
||||
{images.map((_, idx) => (
|
||||
<motion.button
|
||||
@@ -150,7 +146,7 @@ export function ShowCase({ images }: ShowCaseProps) {
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</motion.div>
|
||||
</motion.div> */}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -8,7 +8,7 @@ type Language = "uz" | "ru"
|
||||
interface LanguageContextType {
|
||||
language: Language
|
||||
setLanguage: (lang: Language) => void
|
||||
t: (typeof translations)[Language]
|
||||
t: (any)[Language]
|
||||
}
|
||||
|
||||
const LanguageContext = createContext<LanguageContextType | undefined>(undefined)
|
||||
|
||||
@@ -25,7 +25,8 @@ export const translations = {
|
||||
items: [
|
||||
{
|
||||
question: "Mahsulotlar uchun kafolat bormi?",
|
||||
answer: "Ha, barcha uskunalarimizga 12 oylik texnik kafolat beriladi.",
|
||||
answer:
|
||||
"Ha, barcha uskunalarimizga 12 oylik texnik kafolat beriladi.",
|
||||
},
|
||||
{
|
||||
question: "Yetkazib berish muddati qancha?",
|
||||
@@ -39,6 +40,7 @@ export const translations = {
|
||||
},
|
||||
contact: {
|
||||
title: "Bog'lanish",
|
||||
desc: "Savollar, qo'llab-quvvatlash yoki hamkorlik imkoniyatlari uchun biz bilan bog'laning.",
|
||||
name: "Ism",
|
||||
phone: "Telefon raqami",
|
||||
message: "Xabar",
|
||||
@@ -49,6 +51,9 @@ export const translations = {
|
||||
namePlaceholder: "Sizning ismingiz",
|
||||
phonePlaceholder: "+998 XX XXX XX XX",
|
||||
messagePlaceholder: "Sizning xabaringiz (ixtiyoriy)",
|
||||
phone_title: "Telefon",
|
||||
telegram_title: "Telegram",
|
||||
addres_title: "Manzil",
|
||||
},
|
||||
footer: {
|
||||
copyright: "© 2025 Firma. Barcha huquqlar himoyalangan.",
|
||||
@@ -64,14 +69,12 @@ export const translations = {
|
||||
pump_2: {
|
||||
name: "Agregat Nasos",
|
||||
shortDescription: "Kuchli va ishonchli aggregat nasos",
|
||||
description:
|
||||
"Katta volumli neft mahsulotlarini tashishda o'rnatilgan.",
|
||||
description: "Katta volumli neft mahsulotlarini tashishda o'rnatilgan.",
|
||||
},
|
||||
pump_3: {
|
||||
name: "СЦЛ 20/24",
|
||||
shortDescription: "Professional kalibrli nasos",
|
||||
description:
|
||||
"Chuqurligi 20-24 metrda ishlaydigan professional nasos.",
|
||||
description: "Chuqurligi 20-24 metrda ishlaydigan professional nasos.",
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -119,6 +122,7 @@ export const translations = {
|
||||
},
|
||||
contact: {
|
||||
title: "Свяжитесь с нами",
|
||||
desc: "Для вопросов, поддержки или возможностей сотрудничества свяжитесь с нами.",
|
||||
name: "Имя",
|
||||
phone: "Номер телефона",
|
||||
message: "Сообщение",
|
||||
@@ -129,6 +133,9 @@ export const translations = {
|
||||
namePlaceholder: "Ваше имя",
|
||||
phonePlaceholder: "+998 XX XXX XX XX",
|
||||
messagePlaceholder: "Ваше сообщение (опционально)",
|
||||
phone_title: "Телефон",
|
||||
telegram_title: "Телеграм",
|
||||
addres_title: "Адрес",
|
||||
},
|
||||
footer: {
|
||||
copyright: "© 2025 Firma. Все права защищены.",
|
||||
@@ -137,8 +144,7 @@ export const translations = {
|
||||
products_list: {
|
||||
pump_1: {
|
||||
name: "Счетчик Насос",
|
||||
shortDescription:
|
||||
"Для безопасной транспортировки нефтепродуктов",
|
||||
shortDescription: "Для безопасной транспортировки нефтепродуктов",
|
||||
description:
|
||||
"Высококачественный счетчиковый насос, используется для транспортировки бензина, дизеля и керосина.",
|
||||
},
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
},
|
||||
"contact": {
|
||||
"title": "Свяжитесь с нами",
|
||||
"desc": "Для вопросов, поддержки или возможностей сотрудничества свяжитесь с нами.",
|
||||
"name": "Имя",
|
||||
"phone": "Номер телефона",
|
||||
"message": "Сообщение",
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
},
|
||||
"contact": {
|
||||
"title": "Bog'lanish",
|
||||
"desc": "Savollar, qo'llab-quvvatlash yoki hamkorlik imkoniyatlari uchun biz bilan bog'laning.",
|
||||
"name": "Ism",
|
||||
"phone": "Telefon raqami",
|
||||
"message": "Xabar",
|
||||
|
||||
BIN
public/logo.jpg
Normal file
BIN
public/logo.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 178 KiB |
Reference in New Issue
Block a user