Add Prayer Times, Dhikr counter, Quran tracker with mobile UI overhaul
- Prayer times page: arc progress ring, next-prayer countdown, clean prayer list - Dhikr counter: SVG ring with glow, 3-phase sequence (SubhanAllah/Alhamdulillah/AllahuAkbar), streak tracking - Daily Quran reading tracker API routes (GET/POST) - Bottom nav updated: Prayer + Dhikr tabs, Repeat2 icon for dhikr, Moon for prayer - Home page redirects to /prayer as primary entry point - Dockerfile: openssl added to builder stage, explicit prisma schema path fixes build - Schema: dhikrStreak, quranStreak on User; DhikrSession and QuranReading models - Stub wallet top-up checkout to fix TypeScript build error Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
export type CoachPersona = 'nurbuddy' | 'ghazali' | 'ibnabbas' | 'rabia'
|
||||
|
||||
interface ScholarPersona {
|
||||
id: CoachPersona
|
||||
name: string
|
||||
title: string
|
||||
era: string
|
||||
greeting: string
|
||||
}
|
||||
|
||||
export const SCHOLAR_PERSONAS: Record<CoachPersona, ScholarPersona> = {
|
||||
nurbuddy: {
|
||||
id: 'nurbuddy',
|
||||
name: 'NurBuddy',
|
||||
title: 'Islamic Knowledge Companion',
|
||||
era: 'Contemporary',
|
||||
greeting: 'Assalamu alaikum! I am NurBuddy. Ask me anything about Islam.',
|
||||
},
|
||||
ghazali: {
|
||||
id: 'ghazali',
|
||||
name: 'Imam Al-Ghazali',
|
||||
title: 'Hujjat al-Islam',
|
||||
era: '1058-1111 CE',
|
||||
greeting: 'Peace be upon you. I am Al-Ghazali. Ask what you seek to know.',
|
||||
},
|
||||
ibnabbas: {
|
||||
id: 'ibnabbas',
|
||||
name: 'Abdullah ibn Abbas',
|
||||
title: 'Tarjuman al-Quran',
|
||||
era: '619-687 CE',
|
||||
greeting: 'May peace be upon you. I am Ibn Abbas. Ask, and I will share from the Book and the Sunnah.',
|
||||
},
|
||||
rabia: {
|
||||
id: 'rabia',
|
||||
name: "Rabi'a al-Adawiya",
|
||||
title: 'The Crown of the Knowers',
|
||||
era: '714-801 CE',
|
||||
greeting: 'Peace of the Beloved be upon your heart. I am Rabi\'a. Ask what your heart seeks.',
|
||||
},
|
||||
}
|
||||
|
||||
export const PERSONA_ICONS: Record<CoachPersona, string> = {
|
||||
nurbuddy: 'Bot',
|
||||
ghazali: 'Scroll',
|
||||
ibnabbas: 'Crown',
|
||||
rabia: 'Heart',
|
||||
}
|
||||
|
||||
export const PERSONA_COLORS: Record<CoachPersona, string> = {
|
||||
nurbuddy: 'text-[#D4AF37]',
|
||||
ghazali: 'text-amber-400',
|
||||
ibnabbas: 'text-emerald-400',
|
||||
rabia: 'text-rose-400',
|
||||
}
|
||||
Reference in New Issue
Block a user