From f963aaf2b82e7b6af488684c36011de5d0075052 Mon Sep 17 00:00:00 2001 From: "nabijonovdavronbek619@gmail.com" Date: Mon, 10 Nov 2025 20:27:51 +0500 Subject: [PATCH] ui changes --- components/contact.tsx | 6 ++-- components/header.tsx | 79 ++++++++++++++++++++++++++++++------------ components/hero.tsx | 11 ++++-- components/pricing.tsx | 5 +-- lib/translations.ts | 38 +++++++------------- 5 files changed, 84 insertions(+), 55 deletions(-) diff --git a/components/contact.tsx b/components/contact.tsx index c5763da..2647993 100644 --- a/components/contact.tsx +++ b/components/contact.tsx @@ -32,7 +32,7 @@ export default function Contact() { }; return ( -
+

@@ -110,9 +110,9 @@ export default function Contact() {

diff --git a/components/header.tsx b/components/header.tsx index 9d1dad3..f284f0d 100644 --- a/components/header.tsx +++ b/components/header.tsx @@ -1,20 +1,26 @@ -"use client" +"use client"; -import { useState } from "react" -import { Menu, X, Globe, Phone } from "lucide-react" -import { Button } from "@/components/ui/button" -import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu" -import { useLanguage } from "@/contexts/language-context" +import { useState } from "react"; +import { Menu, X, Globe, Phone } from "lucide-react"; +import { Button } from "@/components/ui/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu"; +import { useLanguage } from "@/contexts/language-context"; +import Link from "next/link"; export default function Header() { - const [mobileMenuOpen, setMobileMenuOpen] = useState(false) - const { language, setLanguage, t } = useLanguage() + const [mobileMenuOpen, setMobileMenuOpen] = useState(false); + const { language, setLanguage, t } = useLanguage(); const languages = [ { code: "en" as const, name: "English" }, { code: "uz" as const, name: "O'zbekcha" }, { code: "ru" as const, name: "Русский" }, - ] + ]; return (
@@ -31,7 +37,10 @@ export default function Header() { {language.toUpperCase()} - + {languages.map((lang) => (
- - + + + + + +
- @@ -81,10 +108,16 @@ export default function Header() { {mobileMenuOpen && (
)} - ) + ); } diff --git a/components/hero.tsx b/components/hero.tsx index 62547d9..486289b 100644 --- a/components/hero.tsx +++ b/components/hero.tsx @@ -2,6 +2,7 @@ import { Button } from "@/components/ui/button" import { useLanguage } from "@/contexts/language-context" +import Link from "next/link" export default function Hero() { const { t } = useLanguage() @@ -14,9 +15,12 @@ export default function Hero() {

{t.hero.title}

{t.hero.description}

- + + + + +
diff --git a/components/pricing.tsx b/components/pricing.tsx index 8131877..5f14f68 100644 --- a/components/pricing.tsx +++ b/components/pricing.tsx @@ -23,7 +23,7 @@ export default function Pricing() { price: t.pricingSection.plans.two.price, period: "/year", description: t.pricingSection.plans.two.desc, - popular: true, + features: [ t.pricingSection.plans.two.features[0], t.pricingSection.plans.two.features[1], @@ -37,6 +37,7 @@ export default function Pricing() { name: t.pricingSection.plans.three.title, price: t.pricingSection.plans.three.price, period: "per station/year", + popular: true, description: t.pricingSection.plans.three.desc, features: [ t.pricingSection.plans.three.features[0], @@ -110,7 +111,7 @@ export default function Pricing() {
{tier.features.map((feature, featureIndex) => (
- + {feature}
))} diff --git a/lib/translations.ts b/lib/translations.ts index 4149bce..a3a4ef0 100644 --- a/lib/translations.ts +++ b/lib/translations.ts @@ -65,7 +65,6 @@ export const translations = { }, }, }, - pricingSection: { popular: "Most Popular", started: "Get Started", @@ -87,7 +86,7 @@ export const translations = { two: { title: "2 Stations", desc: "For growing networks", - price: "$550/year", + price: "$250/year", tag: "Most Popular", features: [ "Real-time monitoring", @@ -114,12 +113,10 @@ export const translations = { }, }, }, - action: { title: "See It In Action", subtitle: "Watch a quick demo of the Dwatt dashboard.", }, - faq: { title: "Frequently Asked Questions", subtitle: "Can't find what you're looking for? Contact our support team.", @@ -150,10 +147,10 @@ export const translations = { }, ], }, - contact: { title: "Get In Touch", subtitle: "Have questions? We're here to help.", + open:"Open Telegram", fields: { name: "Name", email: "Email", @@ -161,19 +158,18 @@ export const translations = { send: "Send message", }, whatsapp: { - title: "WhatsApp Support", + title: "Telegram Support", desc: "Chat with our team directly on WhatsApp for quick assistance.", }, email: { title: "Email", - address: "your@email.com", + address: "info@startupinvest.uz", }, response: { title: "Response Time", desc: "We typically respond within 24 hours.", }, }, - footer: { brand: "Dwatt", description: "Managing EV charging stations made simple.", @@ -256,7 +252,6 @@ export const translations = { }, }, }, - pricingSection: { popular: "Eng Mashhur", started: "Boshlash", @@ -278,7 +273,7 @@ export const translations = { two: { title: "2 stansiya", desc: "O‘sib borayotgan tarmoqlar uchun", - price: "$550/yil", + price: "$250/yil", tag: "Ommabop", features: [ "Real vaqtda monitoring", @@ -305,12 +300,10 @@ export const translations = { }, }, }, - action: { title: "Amalda Ko‘ring", subtitle: "Dwatt panelining tezkor videosini tomosha qiling.", }, - faq: { title: "Ko‘p So‘raladigan Savollar", subtitle: "Savolingiz topilmadimi? Biz bilan bog‘laning.", @@ -341,10 +334,10 @@ export const translations = { }, ], }, - contact: { title: "Biz bilan bog‘laning", subtitle: "Savollaringiz bormi? Yordam berishga tayyormiz.", + open:"Telegramni ochish", fields: { name: "Ism", email: "Email", @@ -352,19 +345,18 @@ export const translations = { send: "Xabar yuborish", }, whatsapp: { - title: "WhatsApp Yordam", + title: "Telegram Yordam", desc: "Tezkor yordam uchun jamoamiz bilan bevosita bog‘laning.", }, email: { title: "Email", - address: "contact@dwatt.com", + address: "info@startupinvest.uz", }, response: { title: "Javob vaqti", desc: "Odatda 24 soat ichida javob beramiz.", }, }, - footer: { brand: "Dwatt", description: "EV zaryadlash stansiyalarini boshqarishni osonlashtiramiz.", @@ -447,7 +439,6 @@ export const translations = { }, }, }, - pricingSection: { popular: "Самый популярный", started: "Начать", @@ -469,7 +460,7 @@ export const translations = { two: { title: "2 станции", desc: "Для растущих сетей", - price: "$550/год", + price: "$250/год", tag: "Самое популярное", features: [ "Мониторинг в реальном времени", @@ -496,12 +487,10 @@ export const translations = { }, }, }, - action: { title: "Посмотрите в действии", subtitle: "Смотрите короткую демонстрацию панели Dwatt.", }, - faq: { title: "Часто задаваемые вопросы", subtitle: "Не нашли ответ? Свяжитесь с нашей службой поддержки.", @@ -532,30 +521,29 @@ export const translations = { }, ], }, - contact: { title: "Свяжитесь с нами", subtitle: "Есть вопросы? Мы готовы помочь.", + open:"Открыть Telegram", fields: { name: "Имя", - email: "Email", + email: "Telefon raqam/Email", message: "Сообщение", send: "Отправить сообщение", }, whatsapp: { - title: "Поддержка WhatsApp", + title: "Поддержка Telegram", desc: "Свяжитесь напрямую с нашей командой для быстрой помощи.", }, email: { title: "Email", - address: "contact@dwatt.com", + address: "info@startupinvest.uz", }, response: { title: "Время ответа", desc: "Обычно отвечаем в течение 24 часов.", }, }, - footer: { brand: "Dwatt", description: "Управление зарядными станциями становится проще.",