bharath/webapp/src/routes/bank.js
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

25 lines
1,022 B
JavaScript

const express = require('express');
const router = express.Router();
const supabase = require('../services/supabase');
const { requireAuth } = require('../middleware/auth');
router.get('/', requireAuth, async (req, res) => {
const { data: accounts } = await supabase.from('bank_accounts').select('*').eq('user_id', req.session.user.id);
res.render('pages/bank', { accounts: accounts || [] });
});
router.post('/add', requireAuth, async (req, res) => {
const { bank_name, account_number, ifsc, upi_id, account_holder } = req.body;
await supabase.from('bank_accounts').insert([{
user_id: req.session.user.id, bank_name, account_number: account_number || null,
ifsc: ifsc || null, upi_id: upi_id || null, account_holder: account_holder || null,
}]);
res.redirect('/bank');
});
router.post('/delete/:id', requireAuth, async (req, res) => {
await supabase.from('bank_accounts').delete().eq('id', req.params.id).eq('user_id', req.session.user.id);
res.redirect('/bank');
});
module.exports = router;