Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
import { Button } from "@/components/ui/button";
import { CHAT_ASSISTANT } from "../config";
import { QuickAction } from "@/hooks/store/chat";
import { TickerBanner } from "./ticker-designs";
import { env } from "@/config/env";

type WelcomePanelProps = {
onAction: (id: string) => void;
Expand Down Expand Up @@ -33,6 +35,9 @@ export function WelcomePanel({ onAction, actions }: WelcomePanelProps) {
</div>
</div>

{/* Ticker banners 2-4 live inside the welcome panel; variants 1 and 5 live in the layout. */}
{env.uiTicker >= 2 && env.uiTicker <= 4 && <TickerBanner />}

{/* Cards List (Full width as per image 1) */}
<div className="flex w-full max-w-2xl flex-col gap-3">
{actions.map((action) => {
Expand Down
15 changes: 12 additions & 3 deletions src/config/env.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
export const env = {
apiBaseUrl: import.meta.env.VITE_API_BASE_URL as string,
apiKey: import.meta.env.VITE_API_KEY as string,
mode: import.meta.env.MODE as string,
apiBaseUrl: import.meta.env.VITE_API_BASE_URL as string,
apiKey: import.meta.env.VITE_API_KEY as string,
mode: import.meta.env.MODE as string,
// Ticker Feature UI Variant
// Controls which announcement banner design is shown on the chatbot homepage.
// Values: 1 = Scrolling Strip (below header)
// 2 = Pinned Banner Card (prev/next arrows)
// 3 = Story-ring Bubbles (tap to expand)
// 4 = Auto-rotating Carousel
// 5 = Branded Top Announcement Hero (above header)
// After changing this value, RESTART the dev server (Ctrl+C then npm run dev).
uiTicker: 5,
};

// if (!env.apiBaseUrl) throw new Error("Missing VITE_API_BASE_URL");
Expand Down
6 changes: 6 additions & 0 deletions src/layouts/chat-layout/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import { ChatHeader } from "@/components/screens-component/layouts/chat-header";
import { TickerVariant1, TickerVariant5 } from "@/components/screens-component/chat-screen/components/ticker-designs";
import { ChatInput, type ChatInputPayload } from "@/components/screens-component/chat-screen/components/chat-input";
import { env } from "@/config/env";
import { CHAT_USER } from "@/components/screens-component/chat-screen/config";
import { useChatStore } from "@/hooks/store/chat";
import { Outlet } from "@tanstack/react-router";
Expand Down Expand Up @@ -99,6 +101,8 @@ function ChatLayout() {
onClose={handleCloseToast}
/>
)}
{/* Variant 5: Branded announcement hero at the top of the chatbot */}
{env.uiTicker === 5 && <TickerVariant5 />}
<ChatHeader
title={t("appTitle") as string}
subtitle="Government assistance and agriculture insights"
Expand All @@ -108,6 +112,8 @@ function ChatLayout() {
onOpenSettings={() => setSettingsOpen(true)}
onBack={() => window.history.back()}
/>
{/* Variant 1: Original scrolling strip below the header */}
{env.uiTicker === 1 && <TickerVariant1 inLayout />}
{/* Only this area can scroll (via ChatShell/MessageList) */}
<main className="min-h-0 flex-1 bg-transparent">
<Outlet />
Expand Down
31 changes: 31 additions & 0 deletions translations/as.json
Original file line number Diff line number Diff line change
Expand Up @@ -320,5 +320,36 @@
"continue": "আগবাঢ়ক",
"submit": "বিশ্লেষণ কৰি জমা দিয়ক",
"cancel": "বাতিল কৰক"
},
"ticker": {
"live": "লাইভ",
"announcements": "ঘোষণাসমূহ",
"dismiss": "বন্ধ কৰক",
"new": "নতুন",
"tabs": {
"all": "সকলো",
"payment": "পেমেন্ট",
"feature": "বৈশিষ্ট্য",
"event": "অনুষ্ঠান"
},
"labels": {
"payment": "পেমেন্ট",
"feature": "নতুন বৈশিষ্ট্য",
"event": "অনুষ্ঠান"
},
"empty": "এই শ্ৰেণীত কোনো ঘোষণা নাই",
"unread_one": "[count]টা নপড়া ঘোষণা",
"unread_many": "[count]টা নপড়া ঘোষণা",
"allCaughtUp": "সকলো পড়া হৈছে ✓",
"sample": {
"1_title": "PM-KISAN ১৯তম কিস্তি মুকলি — যোগ্য কৃষকসকলৰ বাবে 2,000 টকা জমা",
"1_body": "আপোনাৰ বেংক একাউণ্ট বা আধাৰ-সংযুক্ত একাউণ্ট পৰীক্ষা কৰক৷ 18 জুন 2025ত পুঁজি জমা কৰা হৈছে৷",
"2_title": "শস্য বীমা (PMFBY) প্ৰশ্নসমূহ এতিয়া BharatVistaar-ত লাইভ!",
"2_body": "দাবীৰ স্থিতি, প্ৰিমিয়াম গণনা আৰু পঞ্জীয়নৰ শেষ তাৰিখ সম্পৰ্কে সোধক৷",
"3_title": "কৃষক সন্মিলন 2025 — 25 জুনৰ ভিতৰত পঞ্জীয়ন কৰক",
"3_body": "কৃষি মন্ত্ৰণালয়ৰ অনুষ্ঠান, বিজ্ঞান ভৱন, নতুন দিল্লী৷ সকলো কৃষকৰ বাবে বিনামূলীয়া৷",
"4_title": "মাটি স্বাস্থ্য কাৰ্ড সমৰ্থন যোগ কৰা হৈছে — তৎকালে শস্য পৰামৰ্শ পাওক",
"5_title": "Bharati-এ এতিয়া তেলুগু, বাংলা, গুজৰাটী আৰু আন ৭টা ভাষাত কথোপকথন কৰিব পাৰে"
}
}
}
31 changes: 31 additions & 0 deletions translations/bn.json
Original file line number Diff line number Diff line change
Expand Up @@ -320,5 +320,36 @@
"continue": "চালিয়ে যান",
"submit": "বিশ্লেষণ করে জমা দিন",
"cancel": "বাতিল করুন"
},
"ticker": {
"live": "লাইভ",
"announcements": "ঘোষণাসমূহ",
"dismiss": "বন্ধ করুন",
"new": "নতুন",
"tabs": {
"all": "সব",
"payment": "পেমেন্ট",
"feature": "বৈশিষ্ট্য",
"event": "ইভেন্ট"
},
"labels": {
"payment": "পেমেন্ট",
"feature": "নতুন বৈশিষ্ট্য",
"event": "ইভেন্ট"
},
"empty": "এই বিভাগে কোনো ঘোষণা নেই",
"unread_one": "[count]টি অপঠিত ঘোষণা",
"unread_many": "[count]টি অপঠিত ঘোষণা",
"allCaughtUp": "সব পড়া হয়েছে ✓",
"sample": {
"1_title": "PM-KISAN ১৯তম কিস্তি জারি — যোগ্য কৃষকদের ₹2,000 জমা",
"1_body": "আপনার ব্যাংক অ্যাকাউন্ট বা আধার-লিঙ্কড অ্যাকাউন্ট চেক করুন। ১৮ জুন ২০২৫ তারিখে তহবিল জমা হয়েছে।",
"2_title": "ফসল বীমা (PMFBY) প্রশ্ন এখন BharatVistaar-এ লাইভ!",
"2_body": "দাবির স্থিতি, প্রিমিয়াম গণনা এবং নথিভুক্তির সময়সীমা সম্পর্কে জিজ্ঞাসা করুন।",
"3_title": "কিষান সম্মেলন 2025 — 25 জুনের মধ্যে নিবন্ধন করুন",
"3_body": "কৃষি মন্ত্রণালয়ের অনুষ্ঠান, বিজ্ঞান ভবন, নতুন দিল্লি। সব কৃষকদের জন্য বিনামূল্যে।",
"4_title": "মৃত্তিকা স্বাস্থ্য কার্ড সহায়তা যোগ — তাৎক্ষণিক ফসল পরামর্শ পান",
"5_title": "Bharati এখন তেলুগু, বাংলা, গুজরাটি এবং আরও ৭টি ভাষায় কথোপকথন করতে পারে"
}
}
}
33 changes: 32 additions & 1 deletion translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -320,5 +320,36 @@
"yourArea": "Your area",
"kmAway": "~[km] km away",
"pleaseNote": "Please note"
},
"ticker": {
"live": "LIVE",
"announcements": "Announcements",
"dismiss": "Dismiss",
"new": "NEW",
"tabs": {
"all": "All",
"payment": "Payment",
"feature": "Feature",
"event": "Event"
},
"labels": {
"payment": "PAYMENT",
"feature": "NEW FEATURE",
"event": "EVENT"
},
"empty": "No announcements in this category",
"unread_one": "[count] unread announcement",
"unread_many": "[count] unread announcements",
"allCaughtUp": "All caught up ✓",
"sample": {
"1_title": "PM-KISAN 19th Installment released — ₹2,000 credited to eligible farmers",
"1_body": "Check your bank account or Aadhaar-linked account. Funds credited on June 18, 2025.",
"2_title": "Crop Insurance (PMFBY) queries now live on BharatVistaar!",
"2_body": "Ask about claim status, premium calculation, and enrollment deadlines.",
"3_title": "Kisan Sammelan 2025 — Register by June 25",
"3_body": "Ministry of Agriculture event at Vigyan Bhawan, New Delhi. Free for all farmers.",
"4_title": "Soil Health Card support added — get crop recommendations instantly",
"5_title": "Bharati can now converse in Telugu, Bengali, Gujarati, and 7 other languages"
}
}
}
}
33 changes: 32 additions & 1 deletion translations/gu.json
Original file line number Diff line number Diff line change
Expand Up @@ -310,5 +310,36 @@
"estimatedTime": "અંદાજિત ડાઉનટાઈમ: 2-3 કલાક",
"contact": "તાત્કાલિક પ્રશ્નો માટે કૃપા કરીને સપોર્ટનો સંપર્ક કરો."
},
"chatErrorMessage": "માફ કરશો, તમારી વિનંતી પ્રક્રિયા કરતી વખતે ભૂલ આવી. કૃપા કરીને ફરી પ્રયાસ કરો."
"chatErrorMessage": "માફ કરશો, તમારી વિનંતી પ્રક્રિયા કરતી વખતે ભૂલ આવી. કૃપા કરીને ફરી પ્રયાસ કરો.",
"ticker": {
"live": "લાઈવ",
"announcements": "જાહેરાતો",
"dismiss": "બંધ કરો",
"new": "નવું",
"tabs": {
"all": "બધા",
"payment": "ચૂકવણી",
"feature": "સુવિધા",
"event": "કાર્યક્રમ"
},
"labels": {
"payment": "ચૂકવણી",
"feature": "નવી સુવિધા",
"event": "કાર્યક્રમ"
},
"empty": "આ શ્રેણીમાં કોઈ જાહેરાત નથી",
"unread_one": "[count] વાંચ્યા વિનાની જાહેરાત",
"unread_many": "[count] વાંચ્યા વિનાની જાહેરાતો",
"allCaughtUp": "બધું વાંચ્યું ✓",
"sample": {
"1_title": "PM-KISAN 19મો હપ્તો જારી — પાત્ર ખેડૂતોને ₹2,000 જમા",
"1_body": "તમારું બેંક ખાતું અથવા આધાર-લિંક્ડ ખાતું તપાસો. 18 જૂન 2025ના રોજ ભંડોળ જમા કરાયું.",
"2_title": "પાક વીમો (PMFBY) પ્રશ્નો હવે BharatVistaar પર લાઈવ!",
"2_body": "દાવાની સ્થિતિ, પ્રીમિયમ ગણતરી અને નોંધણીની છેલ્લી તારીખો વિશે પૂછો.",
"3_title": "કિસાન સંમેલન 2025 — 25 જૂન સુધી નોંધણી કરો",
"3_body": "કૃષિ મંત્રાલયનો કાર્યક્રમ, વિજ્ઞાન ભવન, નવી દિલ્હી. બધા ખેડૂતો મા૾ે મફત.",
"4_title": "માાટી આરોગ્ય કાર્ડ સહાય ઉમેરાઈ — તત્કાળ પાક ભલામણો મેળવો",
"5_title": "Bharati હવે તેલુગુ, બંગાળી, ગુજરાતી અને અન્ય 7 ભાષાઓમાં વાતચીત કરી શકે છે"
}
}
}
33 changes: 32 additions & 1 deletion translations/hi.json
Original file line number Diff line number Diff line change
Expand Up @@ -321,5 +321,36 @@
"yourArea": "आपका क्षेत्र",
"kmAway": "~[km] किमी दूर",
"pleaseNote": "कृपया ध्यान दें"
},
"ticker": {
"live": "लाइव",
"announcements": "घोषणाएं",
"dismiss": "बंद करें",
"new": "नया",
"tabs": {
"all": "सभी",
"payment": "भुगतान",
"feature": "सुविधा",
"event": "कार्यक्रम"
},
"labels": {
"payment": "भुगतान",
"feature": "नई सुविधा",
"event": "कार्यक्रम"
},
"empty": "इस श्रेणी में कोई घोषणा नहीं",
"unread_one": "[count] अपठित घोषणा",
"unread_many": "[count] अपठित घोषणाएं",
"allCaughtUp": "सब पढ़ लिया ✓",
"sample": {
"1_title": "PM-KISAN 19वीं किस्त जारी — पात्र किसानों को ₹2,000 क्रेडिट",
"1_body": "अपना बैंक खाता या आधार-लिंक्ड खाता जांचें। 18 जून 2025 को राशि जमा की गई।",
"2_title": "फसल बीमा (PMFBY) प्रश्न अब BharatVistaar पर लाइव!",
"2_body": "दावे की स्थिति, प्रीमियम गणना और नामांकन की अंतिम तिथि के बारे में पूछें।",
"3_title": "किसान सम्मेलन 2025 — 25 जून तक पंजीकरण करें",
"3_body": "कृषि मंत्रालय का कार्यक्रम, विज्ञान भवन, नई दिल्ली। सभी किसानों के लिए निःशुल्क।",
"4_title": "मृदा स्वास्थ्य कार्ड सहायता जोड़ी — तुरंत फसल सिफारिशें पाएं",
"5_title": "Bharati अब तेलुगु, बंगाली, गुजराती और 7 अन्य भाषाओं में बातचीत कर सकती है"
}
}
}
}
31 changes: 31 additions & 0 deletions translations/kn.json
Original file line number Diff line number Diff line change
Expand Up @@ -320,5 +320,36 @@
"continue": "ಮುಂದುವರಿಸಿ",
"submit": "ವಿಶ್ಲೇಷಿಸಿ ಸಲ್ಲಿಸಿ",
"cancel": "ರದ್ದುಮಾಡಿ"
},
"ticker": {
"live": "ಲೈವ್",
"announcements": "ಪ್ರಕಟನಗಳು",
"dismiss": "ಮುಚ್ಚು",
"new": "ಹೊಸ",
"tabs": {
"all": "ಎಲ್ಲಾ",
"payment": "ಪಾವತಿ",
"feature": "ವೈಶಿಷ್ಟ್ಯ",
"event": "ಕಾರ್ಯಕ್ರಮ"
},
"labels": {
"payment": "ಪಾವತಿ",
"feature": "ಹೊಸ ವೈಶಿಷ್ಟ್ಯ",
"event": "ಕಾರ್ಯಕ್ರಮ"
},
"empty": "ಈ ವರ್ಗದಲ್ಲಿ ಯಾವುದೇ ಪ್ರಕಟನಗಳಿಲ್ಲ",
"unread_one": "[count] ಓದದ ಪ್ರಕಟನ",
"unread_many": "[count] ಓದದ ಪ್ರಕಟನಗಳು",
"allCaughtUp": "ಎಲ್ಲಾ ಓದಲಾಗಿದೆ ✓",
"sample": {
"1_title": "PM-KISAN 19ನೇ ಕಂತು ಬಿಡುಗಡೆ — ಅರ್ಹ ರೈತರಿಗೆ ₹2,000 ಜಮಾ",
"1_body": "ನಿಮ್ಮ ಬ್ಯಾಂಕ್ ಖಾತೆ ಅಥವಾ ಆಧಾರ್-ಲಿಂಕ್ಡ್ ಖಾತೆ ಪರಿಶೀಲಿಸಿ. ಜೂನ್ 18, 2025 ರಂದು ಹಣ ಜಮಾ ಮಾಡಲಾಗಿದೆ.",
"2_title": "ಬೆಳೆ ವಿಮೆ (PMFBY) ಪ್ರಶ್ನಗಳು ಈಗ BharatVistaar ನಲ್ಲಿ ಲೈವ್!",
"2_body": "ಕ್ಲೇಮ್ ಸ್ಥಿತಿ, ಪ್ರೀಮಿಯಂ ಲೆಕ್ಕಾಚಾರ ಮತ್ತು ನೋಂದಣಿ ಗಡುವುಗಳ ಬಗ್ಗೆ ಕೇಳಿ.",
"3_title": "ಕಿಸಾನ್ ಸಮ್ಮೇಳನ 2025 — ಜೂನ್ 25 ರಂದು ನೋಂದಾಯಿಸಿ",
"3_body": "ಕೃಷಿ ಸಚಿವಾಲಯದ ಕಾರ್ಯಕ್ರಮ, ವಿಜ್ಞಾನ್ ಭವನ್, ನವದೆಹಲಿ. ಎಲ್ಲಾ ರೈತರಿಗೆ ಉಚಿತ.",
"4_title": "ಮಣ್ಣು ಆರೋಗ್ಯ ಕಾರ್ಡ್ ಬೆಂಬಲ ಸೇರಿಸಲಾಗಿದೆ — ತಕ್ಷಣ ಬೆಳೆ ಶಿಫಾರಸುಗಳನ್ನು ಪಡೆಯಿರಿ",
"5_title": "Bharati ಈಗ ತೆಲುಗು, ಬಂಗಾಳಿ, ಗುಜರಾತಿ ಮತ್ತು ಇತರ 7 ಭಾಷೆಗಳಲ್ಲಿ ಸಂಭಾಷಿಸಬಹುದು"
}
}
}
31 changes: 31 additions & 0 deletions translations/ml.json
Original file line number Diff line number Diff line change
Expand Up @@ -320,5 +320,36 @@
"continue": "തുടരുക",
"submit": "വിശകലനം ചെയ്ത് സമർപ്പിക്കുക",
"cancel": "റദ്ദാക്കുക"
},
"ticker": {
"live": "തൽസമയം",
"announcements": "അറിയിപ്പുകൾ",
"dismiss": "അടക്കുക",
"new": "പുതിയത്",
"tabs": {
"all": "എല്ലാം",
"payment": "പേയ്‌മെന്റ്",
"feature": "ഫീച്ചർ",
"event": "ഇവന്റ്"
},
"labels": {
"payment": "പേയ്‌മെന്റ്",
"feature": "പുതിയ ഫീച്ചർ",
"event": "ഇവന്റ്"
},
"empty": "ഈ വിഭാഗത്തിൽ അറിയിപ്പുകളൊന്നുമില്ല",
"unread_one": "[count] വായിക്കാത്ത അറിയിപ്പ്",
"unread_many": "[count] വായിക്കാത്ത അറിയിപ്പുകൾ",
"allCaughtUp": "എല്ലാം വായിച്ചു ✓",
"sample": {
"1_title": "PM-KISAN 19-ാം ഗഡു പുറത്തിറക്കി — യോഗ്യരായ കർഷകർക്ക് ₹2,000 ക്രെഡിറ്റ്",
"1_body": "നിങ്ങളുടെ ബാമ്ക് അക്കൗണ്ട് അല്ലെങ്കിൽ ആധാർ-ലിങ്ക്ഡ് അക്കൗണ്ട് പരിശോധിക്കുക. ജൂൺ 18, 2025-ൽ ഫണ്ഡ് ക്രെഡിറ് ചെയ്തു.",
"2_title": "വിള ഇൻഷ്യുറൻസ് (PMFBY) ചോദ്യങ്ങൾ ഇപ്പോൾ BharatVistaar-ൽ ലൈവ്!",
"2_body": "ക്ലെയിം സ്റ്റാറ്റസ്, പ്രീമിയം കണക്കുകൂട്ടൽ, എൻറോൾമെന്റ് അവസാന തീയതികൾ എന്നിവ ചോദിക്കുക.",
"3_title": "കിസാൻ സമ്മേളൻ 2025 — ജൂൺ 25-നകം രജിസ്റ്റർ ചെയ്യുക",
"3_body": "കൃഷി മന്ത്രാലയ പരിപാടി, വിജ്ഞാൻ ഭവൻ, ന്യൂഡൽഹി. എല്ലാ കർഷകർക്കും സൗജന്യം.",
"4_title": "മണ്ണ് ആരോഗ്യ കാർഡ് പിന്തുന ചേർത്തു — ഉടനടി വിള ശുപാർശകൾ നേടൂ",
"5_title": "Bharati-ക്ക് ഇപ്പോൾ തെലുങ്ക്, ബംഗാളി, ഗുജറാത്തി കൂടാതെ മറ്റ് 7 ഭാഷകളിൽ സംവദിക്കാനാകും"
}
}
}
Loading
Loading