Faltudekam commited on
Commit
fa40e29
·
verified ·
1 Parent(s): b247e0a

Create a full fleged android app with nice visuals based on Indian income tax calculation with latest rules for both current and next fy rs - Initial Deployment

Browse files
Files changed (3) hide show
  1. README.md +6 -4
  2. index.html +523 -18
  3. prompts.txt +1 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Faltuspace
3
- emoji: 👁
4
  colorFrom: gray
5
- colorTo: purple
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: faltuspace
3
+ emoji: 🐳
4
  colorFrom: gray
5
+ colorTo: gray
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,524 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Indian Income Tax Calculator</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
9
+ <script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
10
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
11
+ <script src="https://unpkg.com/feather-icons"></script>
12
+ <style>
13
+ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
14
+ body {
15
+ font-family: 'Poppins', sans-serif;
16
+ background-color: #f8fafc;
17
+ }
18
+ .gradient-bg {
19
+ background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
20
+ }
21
+ .tax-card {
22
+ transition: all 0.3s ease;
23
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
24
+ }
25
+ .tax-card:hover {
26
+ transform: translateY(-5px);
27
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
28
+ }
29
+ input[type="number"]::-webkit-inner-spin-button,
30
+ input[type="number"]::-webkit-outer-spin-button {
31
+ -webkit-appearance: none;
32
+ margin: 0;
33
+ }
34
+ </style>
35
+ </head>
36
+ <body class="min-h-screen">
37
+ <!-- Header -->
38
+ <header class="gradient-bg text-white">
39
+ <div class="container mx-auto px-4 py-8">
40
+ <div class="flex justify-between items-center">
41
+ <div>
42
+ <h1 class="text-3xl font-bold">TaxCalc India</h1>
43
+ <p class="text-indigo-100">Smart Income Tax Calculator</p>
44
+ </div>
45
+ <div class="flex space-x-4">
46
+ <button class="p-2 rounded-full bg-white/10 hover:bg-white/20 transition">
47
+ <i data-feather="info"></i>
48
+ </button>
49
+ <button class="p-2 rounded-full bg-white/10 hover:bg-white/20 transition">
50
+ <i data-feather="settings"></i>
51
+ </button>
52
+ </div>
53
+ </div>
54
+ </div>
55
+ </header>
56
+
57
+ <!-- Main Content -->
58
+ <main class="container mx-auto px-4 py-8 -mt-12">
59
+ <!-- Calculator Card -->
60
+ <div class="bg-white rounded-xl shadow-lg overflow-hidden tax-card" data-aos="fade-up">
61
+ <div class="gradient-bg p-6 text-white">
62
+ <h2 class="text-xl font-semibold">Income Tax Calculator</h2>
63
+ <p class="text-indigo-100">FY 2023-24 (AY 2024-25) & FY 2024-25 (AY 2025-26)</p>
64
+ </div>
65
+
66
+ <div class="p-6">
67
+ <!-- Input Form -->
68
+ <form id="taxForm">
69
+ <div class="mb-6">
70
+ <label class="block text-gray-700 font-medium mb-2">Financial Year</label>
71
+ <div class="grid grid-cols-2 gap-4">
72
+ <button type="button" id="fy2024" class="py-3 px-4 rounded-lg border border-indigo-200 bg-indigo-50 text-indigo-700 font-medium active-fy">
73
+ 2023-24
74
+ </button>
75
+ <button type="button" id="fy2025" class="py-3 px-4 rounded-lg border border-gray-200 bg-gray-50 text-gray-700 font-medium">
76
+ 2024-25
77
+ </button>
78
+ </div>
79
+ </div>
80
+
81
+ <div class="mb-6">
82
+ <label class="block text-gray-700 font-medium mb-2">Tax Regime</label>
83
+ <div class="grid grid-cols-2 gap-4">
84
+ <button type="button" id="newRegime" class="py-3 px-4 rounded-lg border border-indigo-200 bg-indigo-50 text-indigo-700 font-medium active-regime">
85
+ New Regime
86
+ </button>
87
+ <button type="button" id="oldRegime" class="py-3 px-4 rounded-lg border border-gray-200 bg-gray-50 text-gray-700 font-medium">
88
+ Old Regime
89
+ </button>
90
+ </div>
91
+ </div>
92
+
93
+ <div class="mb-6">
94
+ <label for="income" class="block text-gray-700 font-medium mb-2">Annual Income (₹)</label>
95
+ <div class="relative">
96
+ <span class="absolute inset-y-0 left-0 flex items-center pl-3 text-gray-500">₹</span>
97
+ <input type="number" id="income" class="w-full pl-8 pr-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500" placeholder="Enter your annual income" required>
98
+ </div>
99
+ </div>
100
+
101
+ <div class="mb-6">
102
+ <label for="ageGroup" class="block text-gray-700 font-medium mb-2">Age Group</label>
103
+ <select id="ageGroup" class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500">
104
+ <option value="below60">Below 60 years</option>
105
+ <option value="60to80">60 to 80 years</option>
106
+ <option value="above80">Above 80 years</option>
107
+ </select>
108
+ </div>
109
+
110
+ <!-- Old Regime Deductions (Hidden by default) -->
111
+ <div id="oldRegimeDeductions" class="hidden mb-6">
112
+ <label class="block text-gray-700 font-medium mb-2">Deductions (Old Regime)</label>
113
+
114
+ <div class="space-y-4">
115
+ <div>
116
+ <label for="hra" class="block text-gray-600 text-sm mb-1">HRA Exemption (₹)</label>
117
+ <input type="number" id="hra" class="w-full px-4 py-2 rounded-lg border border-gray-300 focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500" placeholder="Enter HRA exemption">
118
+ </div>
119
+
120
+ <div>
121
+ <label for="section80c" class="block text-gray-600 text-sm mb-1">Section 80C (₹)</label>
122
+ <input type="number" id="section80c" class="w-full px-4 py-2 rounded-lg border border-gray-300 focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500" placeholder="Max ₹1,50,000" max="150000">
123
+ </div>
124
+
125
+ <div>
126
+ <label for="section80d" class="block text-gray-600 text-sm mb-1">Section 80D (₹)</label>
127
+ <input type="number" id="section80d" class="w-full px-4 py-2 rounded-lg border border-gray-300 focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500" placeholder="Health insurance premium">
128
+ </div>
129
+
130
+ <div>
131
+ <label for="otherDeductions" class="block text-gray-600 text-sm mb-1">Other Deductions (₹)</label>
132
+ <input type="number" id="otherDeductions" class="w-full px-4 py-2 rounded-lg border border-gray-300 focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500" placeholder="Other deductions">
133
+ </div>
134
+ </div>
135
+ </div>
136
+
137
+ <button type="submit" class="w-full gradient-bg text-white py-3 px-6 rounded-lg font-medium hover:opacity-90 transition flex items-center justify-center">
138
+ <i data-feather="calculator" class="mr-2"></i> Calculate Tax
139
+ </button>
140
+ </form>
141
+ </div>
142
+ </div>
143
+
144
+ <!-- Results Section (Initially Hidden) -->
145
+ <div id="resultsSection" class="hidden mt-8" data-aos="fade-up">
146
+ <div class="bg-white rounded-xl shadow-lg overflow-hidden tax-card">
147
+ <div class="gradient-bg p-6 text-white">
148
+ <h2 class="text-xl font-semibold">Tax Calculation Results</h2>
149
+ <p class="text-indigo-100" id="resultSubtitle">For FY 2023-24 (New Regime)</p>
150
+ </div>
151
+
152
+ <div class="p-6">
153
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6">
154
+ <div class="bg-gray-50 p-4 rounded-lg">
155
+ <p class="text-gray-500 text-sm">Annual Income</p>
156
+ <p class="text-2xl font-bold" id="annualIncome">₹0</p>
157
+ </div>
158
+ <div class="bg-gray-50 p-4 rounded-lg">
159
+ <p class="text-gray-500 text-sm">Taxable Income</p>
160
+ <p class="text-2xl font-bold" id="taxableIncome">₹0</p>
161
+ </div>
162
+ </div>
163
+
164
+ <div class="mb-6">
165
+ <h3 class="text-lg font-medium text-gray-700 mb-3">Tax Breakdown</h3>
166
+ <div class="space-y-3">
167
+ <div class="flex justify-between items-center">
168
+ <span class="text-gray-600">Income Tax</span>
169
+ <span class="font-medium" id="incomeTax">₹0</span>
170
+ </div>
171
+ <div class="flex justify-between items-center">
172
+ <span class="text-gray-600">Surcharge</span>
173
+ <span class="font-medium" id="surcharge">₹0</span>
174
+ </div>
175
+ <div class="flex justify-between items-center">
176
+ <span class="text-gray-600">Health & Education Cess (4%)</span>
177
+ <span class="font-medium" id="cess">₹0</span>
178
+ </div>
179
+ <div class="border-t border-gray-200 my-2"></div>
180
+ <div class="flex justify-between items-center">
181
+ <span class="text-gray-600 font-semibold">Total Tax Liability</span>
182
+ <span class="text-lg font-bold text-indigo-600" id="totalTax">₹0</span>
183
+ </div>
184
+ </div>
185
+ </div>
186
+
187
+ <div class="mb-6">
188
+ <h3 class="text-lg font-medium text-gray-700 mb-3">Monthly Breakdown</h3>
189
+ <div class="grid grid-cols-3 gap-4 text-center">
190
+ <div class="bg-indigo-50 p-3 rounded-lg">
191
+ <p class="text-xs text-indigo-600">Monthly Income</p>
192
+ <p class="font-medium" id="monthlyIncome">₹0</p>
193
+ </div>
194
+ <div class="bg-indigo-50 p-3 rounded-lg">
195
+ <p class="text-xs text-indigo-600">Monthly Tax</p>
196
+ <p class="font-medium" id="monthlyTax">₹0</p>
197
+ </div>
198
+ <div class="bg-indigo-50 p-3 rounded-lg">
199
+ <p class="text-xs text-indigo-600">Take Home</p>
200
+ <p class="font-medium" id="takeHome">₹0</p>
201
+ </div>
202
+ </div>
203
+ </div>
204
+
205
+ <button id="resetBtn" class="w-full border border-indigo-500 text-indigo-600 py-3 px-6 rounded-lg font-medium hover:bg-indigo-50 transition flex items-center justify-center">
206
+ <i data-feather="refresh-cw" class="mr-2"></i> Calculate Again
207
+ </button>
208
+ </div>
209
+ </div>
210
+ </div>
211
+
212
+ <!-- Tax Slabs Information -->
213
+ <div class="mt-8" data-aos="fade-up">
214
+ <div class="bg-white rounded-xl shadow-lg overflow-hidden tax-card">
215
+ <div class="gradient-bg p-6 text-white">
216
+ <h2 class="text-xl font-semibold">Tax Slabs Information</h2>
217
+ <p class="text-indigo-100">Current and Next Financial Year</p>
218
+ </div>
219
+
220
+ <div class="p-6">
221
+ <div class="mb-6">
222
+ <h3 class="text-lg font-medium text-gray-700 mb-3">New Tax Regime (FY 2023-24)</h3>
223
+ <div class="overflow-x-auto">
224
+ <table class="min-w-full divide-y divide-gray-200">
225
+ <thead class="bg-gray-50">
226
+ <tr>
227
+ <th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase">Income Range</th>
228
+ <th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase">Tax Rate</th>
229
+ </tr>
230
+ </thead>
231
+ <tbody class="bg-white divide-y divide-gray-200">
232
+ <tr>
233
+ <td class="px-4 py-2 whitespace-nowrap">Up to ₹3,00,000</td>
234
+ <td class="px-4 py-2 whitespace-nowrap">0%</td>
235
+ </tr>
236
+ <tr>
237
+ <td class="px-4 py-2 whitespace-nowrap">₹3,00,001 - ₹6,00,000</td>
238
+ <td class="px-4 py-2 whitespace-nowrap">5%</td>
239
+ </tr>
240
+ <tr>
241
+ <td class="px-4 py-2 whitespace-nowrap">₹6,00,001 - ₹9,00,000</td>
242
+ <td class="px-4 py-2 whitespace-nowrap">10%</td>
243
+ </tr>
244
+ <tr>
245
+ <td class="px-4 py-2 whitespace-nowrap">₹9,00,001 - ₹12,00,000</td>
246
+ <td class="px-4 py-2 whitespace-nowrap">15%</td>
247
+ </tr>
248
+ <tr>
249
+ <td class="px-4 py-2 whitespace-nowrap">₹12,00,001 - ₹15,00,000</td>
250
+ <td class="px-4 py-2 whitespace-nowrap">20%</td>
251
+ </tr>
252
+ <tr>
253
+ <td class="px-4 py-2 whitespace-nowrap">Above ₹15,00,000</td>
254
+ <td class="px-4 py-2 whitespace-nowrap">30%</td>
255
+ </tr>
256
+ </tbody>
257
+ </table>
258
+ </div>
259
+ </div>
260
+
261
+ <div class="mb-6">
262
+ <h3 class="text-lg font-medium text-gray-700 mb-3">Old Tax Regime (FY 2023-24)</h3>
263
+ <div class="overflow-x-auto">
264
+ <table class="min-w-full divide-y divide-gray-200">
265
+ <thead class="bg-gray-50">
266
+ <tr>
267
+ <th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase">Income Range</th>
268
+ <th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase">Tax Rate</th>
269
+ </tr>
270
+ </thead>
271
+ <tbody class="bg-white divide-y divide-gray-200">
272
+ <tr>
273
+ <td class="px-4 py-2 whitespace-nowrap">Up to ₹2,50,000</td>
274
+ <td class="px-4 py-2 whitespace-nowrap">0%</td>
275
+ </tr>
276
+ <tr>
277
+ <td class="px-4 py-2 whitespace-nowrap">₹2,50,001 - ₹5,00,000</td>
278
+ <td class="px-4 py-2 whitespace-nowrap">5%</td>
279
+ </tr>
280
+ <tr>
281
+ <td class="px-4 py-2 whitespace-nowrap">₹5,00,001 - ₹10,00,000</td>
282
+ <td class="px-4 py-2 whitespace-nowrap">20%</td>
283
+ </tr>
284
+ <tr>
285
+ <td class="px-4 py-2 whitespace-nowrap">Above ₹10,00,000</td>
286
+ <td class="px-4 py-2 whitespace-nowrap">30%</td>
287
+ </tr>
288
+ </tbody>
289
+ </table>
290
+ </div>
291
+ </div>
292
+
293
+ <div class="text-sm text-gray-500">
294
+ <p><span class="font-medium">Note:</span> Rebate under Section 87A available up to ₹12,500 (₹25,000 for FY 2024-25) for income up to ₹5,00,000 in both regimes.</p>
295
+ </div>
296
+ </div>
297
+ </div>
298
+ </div>
299
+ </main>
300
+
301
+ <!-- Footer -->
302
+ <footer class="bg-gray-50 mt-12">
303
+ <div class="container mx-auto px-4 py-8">
304
+ <div class="text-center text-gray-500 text-sm">
305
+ <p>© 2023 TaxCalc India. All rights reserved.</p>
306
+ <p class="mt-2">Disclaimer: This calculator provides estimates only. Consult a tax professional for exact calculations.</p>
307
+ </div>
308
+ </div>
309
+ </footer>
310
+
311
+ <script>
312
+ // Initialize AOS and Feather Icons
313
+ AOS.init();
314
+ feather.replace();
315
+
316
+ // DOM Elements
317
+ const fy2024Btn = document.getElementById('fy2024');
318
+ const fy2025Btn = document.getElementById('fy2025');
319
+ const newRegimeBtn = document.getElementById('newRegime');
320
+ const oldRegimeBtn = document.getElementById('oldRegime');
321
+ const oldRegimeDeductions = document.getElementById('oldRegimeDeductions');
322
+ const taxForm = document.getElementById('taxForm');
323
+ const resultsSection = document.getElementById('resultsSection');
324
+ const resetBtn = document.getElementById('resetBtn');
325
+
326
+ // Current selections
327
+ let currentFY = '2024';
328
+ let currentRegime = 'new';
329
+
330
+ // Event Listeners
331
+ fy2024Btn.addEventListener('click', () => {
332
+ currentFY = '2024';
333
+ fy2024Btn.classList.add('border-indigo-200', 'bg-indigo-50', 'text-indigo-700');
334
+ fy2024Btn.classList.remove('border-gray-200', 'bg-gray-50', 'text-gray-700');
335
+ fy2025Btn.classList.add('border-gray-200', 'bg-gray-50', 'text-gray-700');
336
+ fy2025Btn.classList.remove('border-indigo-200', 'bg-indigo-50', 'text-indigo-700');
337
+ });
338
+
339
+ fy2025Btn.addEventListener('click', () => {
340
+ currentFY = '2025';
341
+ fy2025Btn.classList.add('border-indigo-200', 'bg-indigo-50', 'text-indigo-700');
342
+ fy2025Btn.classList.remove('border-gray-200', 'bg-gray-50', 'text-gray-700');
343
+ fy2024Btn.classList.add('border-gray-200', 'bg-gray-50', 'text-gray-700');
344
+ fy2024Btn.classList.remove('border-indigo-200', 'bg-indigo-50', 'text-indigo-700');
345
+ });
346
+
347
+ newRegimeBtn.addEventListener('click', () => {
348
+ currentRegime = 'new';
349
+ newRegimeBtn.classList.add('border-indigo-200', 'bg-indigo-50', 'text-indigo-700');
350
+ newRegimeBtn.classList.remove('border-gray-200', 'bg-gray-50', 'text-gray-700');
351
+ oldRegimeBtn.classList.add('border-gray-200', 'bg-gray-50', 'text-gray-700');
352
+ oldRegimeBtn.classList.remove('border-indigo-200', 'bg-indigo-50', 'text-indigo-700');
353
+ oldRegimeDeductions.classList.add('hidden');
354
+ });
355
+
356
+ oldRegimeBtn.addEventListener('click', () => {
357
+ currentRegime = 'old';
358
+ oldRegimeBtn.classList.add('border-indigo-200', 'bg-indigo-50', 'text-indigo-700');
359
+ oldRegimeBtn.classList.remove('border-gray-200', 'bg-gray-50', 'text-gray-700');
360
+ newRegimeBtn.classList.add('border-gray-200', 'bg-gray-50', 'text-gray-700');
361
+ newRegimeBtn.classList.remove('border-indigo-200', 'bg-indigo-50', 'text-indigo-700');
362
+ oldRegimeDeductions.classList.remove('hidden');
363
+ });
364
+
365
+ taxForm.addEventListener('submit', (e) => {
366
+ e.preventDefault();
367
+ calculateTax();
368
+ });
369
+
370
+ resetBtn.addEventListener('click', () => {
371
+ resultsSection.classList.add('hidden');
372
+ taxForm.reset();
373
+ window.scrollTo({ top: 0, behavior: 'smooth' });
374
+ });
375
+
376
+ // Tax Calculation Function
377
+ function calculateTax() {
378
+ const income = parseFloat(document.getElementById('income').value);
379
+ const ageGroup = document.getElementById('ageGroup').value;
380
+
381
+ let taxableIncome = income;
382
+ let deductions = 0;
383
+
384
+ // Apply deductions for old regime
385
+ if (currentRegime === 'old') {
386
+ const hra = parseFloat(document.getElementById('hra').value) || 0;
387
+ const section80c = Math.min(parseFloat(document.getElementById('section80c').value) || 0, 150000);
388
+ const section80d = parseFloat(document.getElementById('section80d').value) || 0;
389
+ const otherDeductions = parseFloat(document.getElementById('otherDeductions').value) || 0;
390
+
391
+ deductions = hra + section80c + section80d + otherDeductions;
392
+ taxableIncome = Math.max(0, income - deductions);
393
+ }
394
+
395
+ // Calculate tax based on regime and FY
396
+ let tax = 0;
397
+ let rebate = 0;
398
+
399
+ if (currentRegime === 'new') {
400
+ // New regime calculation for FY 2023-24
401
+ if (currentFY === '2024') {
402
+ if (taxableIncome <= 300000) {
403
+ tax = 0;
404
+ } else if (taxableIncome <= 600000) {
405
+ tax = (taxableIncome - 300000) * 0.05;
406
+ } else if (taxableIncome <= 900000) {
407
+ tax = 15000 + (taxableIncome - 600000) * 0.10;
408
+ } else if (taxableIncome <= 1200000) {
409
+ tax = 45000 + (taxableIncome - 900000) * 0.15;
410
+ } else if (taxableIncome <= 1500000) {
411
+ tax = 90000 + (taxableIncome - 1200000) * 0.20;
412
+ } else {
413
+ tax = 150000 + (taxableIncome - 1500000) * 0.30;
414
+ }
415
+
416
+ // Rebate under Section 87A for new regime
417
+ if (taxableIncome <= 700000) {
418
+ rebate = Math.min(tax, 25000);
419
+ }
420
+ }
421
+ // New regime calculation for FY 2024-25
422
+ else {
423
+ if (taxableIncome <= 300000) {
424
+ tax = 0;
425
+ } else if (taxableIncome <= 600000) {
426
+ tax = (taxableIncome - 300000) * 0.05;
427
+ } else if (taxableIncome <= 900000) {
428
+ tax = 15000 + (taxableIncome - 600000) * 0.10;
429
+ } else if (taxableIncome <= 1200000) {
430
+ tax = 45000 + (taxableIncome - 900000) * 0.15;
431
+ } else if (taxableIncome <= 1500000) {
432
+ tax = 90000 + (taxableIncome - 1200000) * 0.20;
433
+ } else {
434
+ tax = 150000 + (taxableIncome - 1500000) * 0.30;
435
+ }
436
+
437
+ // Rebate under Section 87A for new regime
438
+ if (taxableIncome <= 700000) {
439
+ rebate = Math.min(tax, 25000);
440
+ }
441
+ }
442
+ }
443
+ // Old regime calculation
444
+ else {
445
+ let basicExemption = 250000;
446
+
447
+ // Higher exemption for senior citizens
448
+ if (ageGroup === '60to80') {
449
+ basicExemption = 300000;
450
+ } else if (ageGroup === 'above80') {
451
+ basicExemption = 500000;
452
+ }
453
+
454
+ taxableIncome = Math.max(0, taxableIncome - basicExemption);
455
+
456
+ if (taxableIncome <= 250000) {
457
+ tax = 0;
458
+ } else if (taxableIncome <= 500000) {
459
+ tax = (taxableIncome - 250000) * 0.05;
460
+ } else if (taxableIncome <= 1000000) {
461
+ tax = 12500 + (taxableIncome - 500000) * 0.20;
462
+ } else {
463
+ tax = 112500 + (taxableIncome - 1000000) * 0.30;
464
+ }
465
+
466
+ // Rebate under Section 87A for old regime
467
+ if (income <= 500000) {
468
+ rebate = Math.min(tax, 12500);
469
+ }
470
+ }
471
+
472
+ // Apply rebate
473
+ tax = Math.max(0, tax - rebate);
474
+
475
+ // Calculate surcharge
476
+ let surcharge = 0;
477
+ if (taxableIncome > 5000000 && taxableIncome <= 10000000) {
478
+ surcharge = tax * 0.10;
479
+ } else if (taxableIncome > 10000000 && taxableIncome <= 20000000) {
480
+ surcharge = tax * 0.15;
481
+ } else if (taxableIncome > 20000000 && taxableIncome <= 50000000) {
482
+ surcharge = tax * 0.25;
483
+ } else if (taxableIncome > 50000000) {
484
+ surcharge = tax * 0.37;
485
+ }
486
+
487
+ // Calculate health and education cess (4%)
488
+ const cess = (tax + surcharge) * 0.04;
489
+
490
+ // Total tax liability
491
+ const totalTax = tax + surcharge + cess;
492
+
493
+ // Monthly calculations
494
+ const monthlyIncome = income / 12;
495
+ const monthlyTax = totalTax / 12;
496
+ const takeHome = monthlyIncome - monthlyTax;
497
+
498
+ // Update results
499
+ document.getElementById('annualIncome').textContent = `₹${income.toLocaleString('en-IN')}`;
500
+ document.getElementById('taxableIncome').textContent = `₹${taxableIncome.toLocaleString('en-IN')}`;
501
+ document.getElementById('incomeTax').textContent = `₹${tax.toLocaleString('en-IN')}`;
502
+ document.getElementById('surcharge').textContent = `₹${surcharge.toLocaleString('en-IN')}`;
503
+ document.getElementById('cess').textContent = `₹${cess.toLocaleString('en-IN')}`;
504
+ document.getElementById('totalTax').textContent = `₹${totalTax.toLocaleString('en-IN')}`;
505
+ document.getElementById('monthlyIncome').textContent = `₹${monthlyIncome.toLocaleString('en-IN')}`;
506
+ document.getElementById('monthlyTax').textContent = `₹${monthlyTax.toLocaleString('en-IN')}`;
507
+ document.getElementById('takeHome').textContent = `₹${takeHome.toLocaleString('en-IN')}`;
508
+
509
+ // Update result subtitle
510
+ const fyText = currentFY === '2024' ? '2023-24' : '2024-25';
511
+ const regimeText = currentRegime === 'new' ? 'New Regime' : 'Old Regime';
512
+ document.getElementById('resultSubtitle').textContent = `For FY ${fyText} (${regimeText})`;
513
+
514
+ // Show results
515
+ resultsSection.classList.remove('hidden');
516
+
517
+ // Scroll to results
518
+ setTimeout(() => {
519
+ resultsSection.scrollIntoView({ behavior: 'smooth' });
520
+ }, 100);
521
+ }
522
+ </script>
523
+ </body>
524
  </html>
prompts.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ Create a full fleged android app with nice visuals based on Indian income tax calculation with latest rules for both current and next fy rs