bharath/webapp/src/views/pages/gamification.ejs
Vivek ed320e82c1 feat: add 35+ features - i18n, voice input, gamification, driver tools, marketplace
- Multi-language support (English, Hindi, Tamil, Telugu) with icon-based UI
- Voice input (Web Speech API) for low-literacy users
- Driver tools: Ledger, Trip Planner, Return Load, Safety, Maintenance, FASTag
- Marketplace: WhatsApp share, Rate Intelligence, Classifieds, Fleet
- Engagement: Gamification (XP/Levels), Challenges, Leaderboard, Referrals, Feed
- Business: Invoice (GST+UPI), Reports+CSV, Notifications, Documents, Bank
- Games: Rate Guesser, Route Quiz
- SEO: Sitemap, public load share pages with OG tags
- India utilities: vehicle validation, UPI links, toll/fuel calculator
- 29 routes, 54 templates, 4 languages, 3 migration files
2026-05-31 09:19:16 +00:00

28 lines
1.7 KiB
Text

<% var title = 'My Level'; %>
<%- include('../partials/header') %>
<div class="tricolor-strip"><div class="tricolor-saffron"></div><div class="tricolor-white"></div><div class="tricolor-green"></div></div>
<section class="section" style="padding-top:var(--space-lg)">
<div class="container">
<div class="card" style="padding:var(--space-lg);text-align:center;margin-bottom:var(--space-md)">
<div style="font-size:3rem"><%= level.icon %></div>
<h2 style="margin:8px 0 4px">Level <%= level.level %> — <%= level.title %></h2>
<p style="color:var(--gray-700);font-size:0.85rem"><%= xp %> XP</p>
<div style="background:var(--gray-200);border-radius:20px;height:12px;margin-top:12px;overflow:hidden">
<div style="background:linear-gradient(90deg,var(--saffron),var(--ashoka-blue));height:100%;width:<%= level.progress %>%;border-radius:20px"></div>
</div>
<p style="font-size:0.75rem;color:var(--gray-700);margin-top:4px"><%= level.progress %>% to Level <%= level.level + 1 %></p>
<p style="font-size:0.85rem;margin-top:8px">🔥 Streak: <%= streak %> days</p>
</div>
<h3 style="font-size:1rem;margin-bottom:var(--space-sm)">🏆 Achievements</h3>
<div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-sm)">
<% achievements.forEach(a => { %>
<div class="card text-center" style="padding:12px;opacity:<%= a.earned ? 1 : 0.4 %>">
<div style="font-size:1.5rem"><%= a.icon %></div>
<div style="font-size:0.7rem;font-weight:700;margin-top:4px"><%= a.title %></div>
<div style="font-size:0.65rem;color:var(--gray-700)">+<%= a.xp %> XP</div>
</div>
<% }) %>
</div>
</div>
</section>
<%- include('../partials/footer') %>