@ihsandeen/aya 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/CONTRIBUTING.md +39 -0
  2. package/LICENSE +21 -0
  3. package/README.md +141 -0
  4. package/dist/commands/adab.js +28 -0
  5. package/dist/commands/adhan.js +58 -0
  6. package/dist/commands/anatomy.js +29 -0
  7. package/dist/commands/blame.js +29 -0
  8. package/dist/commands/commit.js +44 -0
  9. package/dist/commands/diff.js +54 -0
  10. package/dist/commands/dua.js +34 -0
  11. package/dist/commands/fast.js +36 -0
  12. package/dist/commands/friday.js +21 -0
  13. package/dist/commands/hero.js +69 -0
  14. package/dist/commands/hijri.js +42 -0
  15. package/dist/commands/history.js +98 -0
  16. package/dist/commands/init.js +54 -0
  17. package/dist/commands/invest.js +26 -0
  18. package/dist/commands/journal.js +84 -0
  19. package/dist/commands/journey.js +24 -0
  20. package/dist/commands/lens.js +58 -0
  21. package/dist/commands/memorize.js +117 -0
  22. package/dist/commands/mirror.js +47 -0
  23. package/dist/commands/names.js +48 -0
  24. package/dist/commands/nature.js +28 -0
  25. package/dist/commands/nazm.js +100 -0
  26. package/dist/commands/parable.js +332 -0
  27. package/dist/commands/prayers.js +63 -0
  28. package/dist/commands/pull.js +28 -0
  29. package/dist/commands/push.js +156 -0
  30. package/dist/commands/qibla.js +118 -0
  31. package/dist/commands/repo.js +34 -0
  32. package/dist/commands/sabr.js +32 -0
  33. package/dist/commands/scene.js +54 -0
  34. package/dist/commands/seek.js +28 -0
  35. package/dist/commands/shukr.js +22 -0
  36. package/dist/commands/sleep.js +26 -0
  37. package/dist/commands/sound.js +35 -0
  38. package/dist/commands/status.js +109 -0
  39. package/dist/commands/sunnah.js +24 -0
  40. package/dist/commands/tafsir.js +89 -0
  41. package/dist/commands/tasbih.js +50 -0
  42. package/dist/commands/wudu.js +22 -0
  43. package/dist/commands/zakat.js +72 -0
  44. package/dist/data/commands-db.js +365 -0
  45. package/dist/data/events.js +105 -0
  46. package/dist/data/gems.js +160 -0
  47. package/dist/data/nak.js +616 -0
  48. package/dist/data/tafsir.js +157 -0
  49. package/dist/data/vocab.js +105 -0
  50. package/dist/index.js +86 -0
  51. package/dist/server.js +140 -0
  52. package/dist/utils/config.js +38 -0
  53. package/dist/utils/logger.js +104 -0
  54. package/dist/utils/printer.js +36 -0
  55. package/docs/index.html +1048 -0
  56. package/docs/repo.html +952 -0
  57. package/package.json +55 -0
  58. package/public/hero.html +285 -0
  59. package/public/index.html +1039 -0
  60. package/public/repo.html +904 -0
  61. package/src/commands/adab.ts +24 -0
  62. package/src/commands/adhan.ts +55 -0
  63. package/src/commands/anatomy.ts +25 -0
  64. package/src/commands/blame.ts +31 -0
  65. package/src/commands/commit.ts +42 -0
  66. package/src/commands/diff.ts +56 -0
  67. package/src/commands/dua.ts +34 -0
  68. package/src/commands/fast.ts +35 -0
  69. package/src/commands/friday.ts +17 -0
  70. package/src/commands/hero.ts +73 -0
  71. package/src/commands/hijri.ts +43 -0
  72. package/src/commands/history.ts +103 -0
  73. package/src/commands/init.ts +53 -0
  74. package/src/commands/invest.ts +22 -0
  75. package/src/commands/journal.ts +97 -0
  76. package/src/commands/journey.ts +20 -0
  77. package/src/commands/lens.ts +58 -0
  78. package/src/commands/memorize.ts +131 -0
  79. package/src/commands/mirror.ts +48 -0
  80. package/src/commands/names.ts +46 -0
  81. package/src/commands/nature.ts +24 -0
  82. package/src/commands/nazm.ts +102 -0
  83. package/src/commands/parable.ts +360 -0
  84. package/src/commands/prayers.ts +65 -0
  85. package/src/commands/pull.ts +28 -0
  86. package/src/commands/push.ts +171 -0
  87. package/src/commands/qibla.ts +127 -0
  88. package/src/commands/repo.ts +34 -0
  89. package/src/commands/sabr.ts +28 -0
  90. package/src/commands/scene.ts +56 -0
  91. package/src/commands/seek.ts +24 -0
  92. package/src/commands/shukr.ts +19 -0
  93. package/src/commands/sleep.ts +23 -0
  94. package/src/commands/sound.ts +34 -0
  95. package/src/commands/status.ts +132 -0
  96. package/src/commands/sunnah.ts +21 -0
  97. package/src/commands/tafsir.ts +86 -0
  98. package/src/commands/tasbih.ts +49 -0
  99. package/src/commands/wudu.ts +19 -0
  100. package/src/commands/zakat.ts +73 -0
  101. package/src/data/commands-db.ts +372 -0
  102. package/src/data/events.ts +113 -0
  103. package/src/data/gems.ts +163 -0
  104. package/src/data/nak.ts +805 -0
  105. package/src/data/tafsir.ts +165 -0
  106. package/src/data/vocab.ts +114 -0
  107. package/src/index.ts +94 -0
  108. package/src/server.ts +128 -0
  109. package/src/utils/config.ts +44 -0
  110. package/src/utils/logger.ts +122 -0
  111. package/src/utils/printer.ts +38 -0
  112. package/tsconfig.json +16 -0
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.zakatCommand = void 0;
7
+ const commander_1 = require("commander");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const inquirer_1 = __importDefault(require("inquirer"));
10
+ const printer_1 = require("../utils/printer");
11
+ exports.zakatCommand = new commander_1.Command('zakat')
12
+ .description('Simple Zakat Calculator (2.5% of Assets)')
13
+ .action(async () => {
14
+ (0, printer_1.printCommandHeader)('zakat');
15
+ console.clear();
16
+ console.log(chalk_1.default.green.bold('\n Zakat Calculator'));
17
+ console.log(chalk_1.default.gray('Calculate your Zakat on savings and assets (2.5%)'));
18
+ console.log(chalk_1.default.gray('Note: This is a simple calculator. Consult a scholar for complex assets.\n'));
19
+ const answers = await inquirer_1.default.prompt([
20
+ {
21
+ type: 'number',
22
+ name: 'cash',
23
+ message: 'Cash on hand / Bank accounts:',
24
+ default: 0
25
+ },
26
+ {
27
+ type: 'number',
28
+ name: 'gold',
29
+ message: 'Value of Gold/Silver (if above Nisab):',
30
+ default: 0
31
+ },
32
+ {
33
+ type: 'number',
34
+ name: 'investments',
35
+ message: 'Stocks / Mutual Funds (Zakat-able portion):',
36
+ default: 0
37
+ },
38
+ {
39
+ type: 'number',
40
+ name: 'business',
41
+ message: 'Business Assets (Inventory/Cash):',
42
+ default: 0
43
+ },
44
+ {
45
+ type: 'number',
46
+ name: 'debts',
47
+ message: 'Debts due immediately (Deductible):',
48
+ default: 0
49
+ }
50
+ ]);
51
+ const totalAssets = (answers.cash || 0) + (answers.gold || 0) + (answers.investments || 0) + (answers.business || 0);
52
+ const netAssets = totalAssets - (answers.debts || 0);
53
+ // Nisab Threshold (Approximate)
54
+ // Gold Nisab: 87.48 grams
55
+ // Silver Nisab: 612.36 grams
56
+ // Let's assume a rough currency value or just warn the user.
57
+ // For now, we just calculate the amount.
58
+ const zakatAmount = Math.max(0, netAssets * 0.025);
59
+ console.log(chalk_1.default.gray('\n----------------------------------------'));
60
+ console.log(chalk_1.default.white(`Total Assets: ${totalAssets.toLocaleString()}`));
61
+ console.log(chalk_1.default.white(`Deductible: -${answers.debts.toLocaleString()}`));
62
+ console.log(chalk_1.default.white.bold(`Net Worth: ${netAssets.toLocaleString()}`));
63
+ console.log(chalk_1.default.gray('----------------------------------------'));
64
+ if (netAssets > 0) {
65
+ console.log(chalk_1.default.green.bold(`\n Zakat Due (2.5%): ${zakatAmount.toLocaleString()}`));
66
+ }
67
+ else {
68
+ console.log(chalk_1.default.yellow.bold('\n No Zakat due (Net worth is zero or negative).'));
69
+ }
70
+ console.log(chalk_1.default.gray('\n"Take, [O, Muhammad], from their wealth a charity by which you purify them..." (9:103)'));
71
+ console.log('');
72
+ });
@@ -0,0 +1,365 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.commandsDB = void 0;
4
+ exports.commandsDB = {
5
+ "init": {
6
+ name: "init",
7
+ arabic: "نِيَّة",
8
+ transliteration: "Niyyah",
9
+ meaning: "Intention / The Root / The Seed",
10
+ story: "In the depth of the Arabic language, the word 'Niyyah' comes from 'Nawa', which is the date stone. Think about a date stone. It's hard, it's buried deep in the ground, and nobody sees it. But that entire massive palm tree, the shade it gives, the fruit it bears—it all comes from that one hidden core. If the stone is rotten, there is no tree. If the intention is corrupt, the action is hollow.",
11
+ reflection: "Before you type `git init` or start a project, check your Niyyah. Is this for fame? For money alone? Or to build something beneficial? The Prophet ﷺ said 'Actions are but by intentions'. Your codebase is the tree; your intention is the seed.",
12
+ technical: "Initialize your spiritual config. Just as a repository needs a .git folder to track history, your soul needs a pure intention to track rewards."
13
+ },
14
+ "status": {
15
+ name: "status",
16
+ arabic: "مُحَاسَبَة",
17
+ transliteration: "Muhasaba",
18
+ meaning: "Self-Accountability / Taking Stock",
19
+ story: "The word 'Hasiba' means to calculate or reckon. On the Day of Judgment, we will have a 'Hisab'—a full audit. But the intelligent one is he who audits himself (Muhasaba) before he is audited. It's looking in the mirror and asking: 'What is my real state right now?' Not what I tell people, but what is the reality of my file system?",
20
+ reflection: "When you run `git status`, you see what's staged, what's untracked, what's modified. Do this for your heart. What sins are modified but not committed? What good deeds are staged? What part of your character is untracked and wild?",
21
+ technical: "Check the working tree of your heart. Clean usage? Any uncommitted sins? Time to stage the good and reset the bad."
22
+ },
23
+ "add": {
24
+ name: "add",
25
+ arabic: "إِعْدَاد",
26
+ transliteration: "I'dad",
27
+ meaning: "Preparation / Getting Ready",
28
+ story: "The Quran speaks of 'Wa a'iddu lahum' - Prepare for them whatever force you can. Preparation is half the victory. When you stage files, you are deliberately choosing what becomes part of your history. You aren't just throwing things in; you are selecting the best to present.",
29
+ reflection: "Don't just drift through life. Stage your day. Stage your prayers. Be intentional about what you are about to commit to your book of deeds.",
30
+ technical: "Stage your changes. Don't commit garbage. `git add -p` (patch) is like reviewing every small deed before letting it define you."
31
+ },
32
+ "commit": {
33
+ name: "commit",
34
+ arabic: "أَمَانَة",
35
+ transliteration: "Amanah",
36
+ meaning: "Trust / Covenant / Binding Promise",
37
+ story: "In the pre-Islamic era, if a man gave his word ('Ahd), he would die defending it. Islam elevated this. Your word is your bond. When you make a 'commit', you are saving a checkpoint in history. You are saying 'I stand by this code'. It is a testimony.",
38
+ reflection: "Every day is a series of commits. You commit to a meeting, a prayer, a relationship. Are your commit messages (your intentions) clear? Or are they 'wip', 'fix', 'misc'? Be clear with Allah and yourself.",
39
+ technical: "Save your state. A commit is immutable history. Make it count. Write a message that explains 'why', not just 'what'."
40
+ },
41
+ "push": {
42
+ name: "push",
43
+ arabic: "تَبْلِيغ",
44
+ transliteration: "Tabligh",
45
+ meaning: "Conveying / Delivery / Propagation",
46
+ story: "The Prophet ﷺ was commanded: 'Balligh ma onzila ilayk' - Convey what has been revealed to you. Pushing isn't just moving data; it's delivering a message. It's sharing benefit. But with the power to push comes the responsibility of what you are pushing. Is it bug-free? Is it truthful?",
47
+ reflection: "You have knowledge, wealth, or a smile. Push it to the remote (the world). Don't keep the khair (goodness) in your local environment. Share it. But ensure it builds, not breaks.",
48
+ technical: "Upload your local changes to the remote repository. Deployment is Da'wah—making your work accessible to others."
49
+ },
50
+ "pull": {
51
+ name: "pull",
52
+ arabic: "طَلَبُ الْعِلْم",
53
+ transliteration: "Talab al-'Ilm",
54
+ meaning: "Seeking Knowledge / Intake",
55
+ story: "We are not the source of knowledge; we are consumers of it. We 'pull' from the Divine source, from scholars, from history. Musa (AS) traveled specifically to 'pull' knowledge from Khidr. It requires humility. You have to admit your local version is behind.",
56
+ reflection: "Always be pulling. If you stop syncing with the Quran and Sunnah, your branch diverges. You get conflicts. Stay up to date with the Master branch.",
57
+ technical: "Fetch and merge changes from the remote. Update your knowledge base. Resolve conflicts between your ego and the Truth."
58
+ },
59
+ "blame": {
60
+ name: "blame",
61
+ arabic: "لَوْم",
62
+ transliteration: "Lawm",
63
+ meaning: "Self-Reproach / Accusation",
64
+ story: "The Quran swears by 'An-Nafs Al-Lawwama'—the self-reproaching soul. This is the soul that blames itself when it slips. In code, `git blame` tells you who wrote a line. In life, don't use 'blame' to point fingers at others. Use it to find where *you* introduced the bug.",
65
+ reflection: "When calamity strikes, the believer asks 'What did I do?' The hypocrite asks 'Who did this to me?' Be the debugger of your own soul.",
66
+ technical: "View line-by-line revision history. Who wrote this bug? Usually, it was you, six months ago."
67
+ },
68
+ "diff": {
69
+ name: "diff",
70
+ arabic: "فُرْقَان",
71
+ transliteration: "Furqan",
72
+ meaning: "The Criterion / Distinguisher",
73
+ story: "The Quran is called Al-Furqan because it differentiates clearly between Truth and Falsehood, right and wrong. A 'diff' shows you exactly what changed. It removes the ambiguity. You need a Furqan in your life to see the difference between a good idea and a temptation.",
74
+ reflection: "Look at your life a year ago vs today. Run a `diff`. Have you improved? Or have you regressed? Without a diff, you are blind to your own drift.",
75
+ technical: "Show changes between commits. Identify the delta. What has changed in your state?"
76
+ },
77
+ "history": {
78
+ name: "history",
79
+ arabic: "تَارِيخ",
80
+ transliteration: "Tarikh",
81
+ meaning: "History / The Timeline",
82
+ story: "History (Tarikh) isn't just dates. It's 'Ibrah'—lessons. The Quran is full of stories not for entertainment, but so we don't repeat the bugs of previous nations. `git log` shows you the path you took. If you don't know your history, you will re-introduce the same errors.",
83
+ reflection: "Review your past commits. The days you were angry, the days you were patient. Learn from your own log. Don't rewrite history (force push); learn from it.",
84
+ technical: "Show commit logs. Review the journey. Debug the past to secure the future."
85
+ },
86
+ "adab": {
87
+ name: "adab",
88
+ arabic: "أَدَب",
89
+ transliteration: "Adab",
90
+ meaning: "Etiquette / Manners / Refinement",
91
+ story: "Adab is often translated as manners, but it means 'putting things in their proper place'. Adab with parents, Adab with teachers, Adab with code. A scholar said 'Make your knowledge salt, and your Adab the flour'. You need more manners than raw data.",
92
+ reflection: "How do you comment on PRs? Harshly? Or with Adab? How do you treat junior devs? Adab is the API of human interaction.",
93
+ technical: "The manners engine. Lint your behavior. optimize your relationships."
94
+ },
95
+ "adhan": {
96
+ name: "adhan",
97
+ arabic: "أَذَان",
98
+ transliteration: "Adhan",
99
+ meaning: "The Call / Announcement",
100
+ story: "The Adhan is the interruption of the Dunya for the sake of the Akhirah. It resets your priority queue. When the notification comes, do you swipe it away? Or do you answer? It's a call to success (Hayya 'ala al-Falah).",
101
+ reflection: "Your prayer times are the breakpoints in your daily code. Stop execution. Debug your heart. Resume.",
102
+ technical: "Prayer times notification. The ultimate system interrupt."
103
+ },
104
+ "anatomy": {
105
+ name: "anatomy",
106
+ arabic: "خِلْقَة",
107
+ transliteration: "Khilqah",
108
+ meaning: "Creation / Structure",
109
+ story: "We have been created in the best stature (Ahsani Taqwim). But then we reduce ourselves. Understanding your spiritual anatomy—the Nafs (ego), the Qalb (heart), the Ruh (spirit)—is essential. You are not just hardware (body); you are software (soul).",
110
+ reflection: "Debug your components. Is your Heart hard? Is your Ego inflated? Is your Spirit starved?",
111
+ technical: "System architecture of the human soul. Component analysis."
112
+ },
113
+ "dua": {
114
+ name: "dua",
115
+ arabic: "دُعَاء",
116
+ transliteration: "Du'a",
117
+ meaning: "Supplication / The Call",
118
+ story: "Du'a is the weapon of the believer. It is the direct line to the Admin. No pull request needed; it's an instant merge if the conditions are met. Allah is 'Al-Mujib' (The Responder). He doesn't leave you on 'read'.",
119
+ reflection: "Code not working? Life falling apart? raise an Exception to the Most High. Make Du'a. It changes Qadr (destiny).",
120
+ technical: "Invoke the Supreme Provider. Request resources directly from the Source."
121
+ },
122
+ "fast": {
123
+ name: "fast",
124
+ arabic: "صِيَام",
125
+ transliteration: "Siyam",
126
+ meaning: "Fasting / Restraint",
127
+ story: "Siyam isn't just starving. It comes from a root meaning 'to hold back'. Horses that stood still were called 'Sa'im'. Fasting is a firewall. It blocks incoming desires so your system can cleanup and reboot.",
128
+ reflection: "Fast from food, yes. But also fast from toxic words, angry comments, and haram glances. Enable the firewall.",
129
+ technical: "System throttle. Reduce input to optimize internal processing. Garbage collection for the soul."
130
+ },
131
+ "friday": {
132
+ name: "friday",
133
+ arabic: "جُمُعَة",
134
+ transliteration: "Jumu'ah",
135
+ meaning: "The Gathering / Friday",
136
+ story: "Yaum al-Jumu'ah is the weekly sync. The community gathers not just to pray, but to connect. It's the day Adam was created, and the day the Hour will be established. It's the 'master' branch update for the Ummah.",
137
+ reflection: "Don't miss the Jumu'ah sync. It's mandatory. Wear your best, listen to the Khutbah (the weekly patch notes), and realign.",
138
+ technical: "Weekly all-hands meeting. Sync with the community. Apply weekly patches."
139
+ },
140
+ "hero": {
141
+ name: "hero",
142
+ arabic: "قُدْوَة",
143
+ transliteration: "Qudwah",
144
+ meaning: "Role Model / Exemplar",
145
+ story: "Everyone follows someone. Who is your hero? The Quran gives us the ultimate Qudwah: the Prophet ﷺ. In a world of influencers and tech moguls, who do you emulate? 'Laqad kana lakum fi Rasulillahi uswatun hasanah' - You have in the Messenger the best example.",
146
+ reflection: "Check your dependencies. Who are you inheriting properties from? If your parent class is corrupt, your instance will be too.",
147
+ technical: "Base class inspection. Who are you extending? Inherit from the Prophets."
148
+ },
149
+ "hijri": {
150
+ name: "hijri",
151
+ arabic: "هِجْرَة",
152
+ transliteration: "Hijrah",
153
+ meaning: "Migration / The Islamic Calendar",
154
+ story: "The Islamic calendar doesn't start with the birth of the Prophet, but with the Hijrah—the sacrifice. It marks the shift from oppression to statehood. It reminds us that time is defined by action and movement, not just existence.",
155
+ reflection: "Are you still living in the Jahiliyyah (ignorance) of your past? Make a Hijrah. Move away from bad habits to good ones.",
156
+ technical: "System time configuration. Switch to the lunar clock. Track time by the moon, not just the sun."
157
+ },
158
+ "invest": {
159
+ name: "invest",
160
+ arabic: "تِجَارَة",
161
+ transliteration: "Tijarah",
162
+ meaning: "Trade / Investment",
163
+ story: "Allah asks: 'Shall I tell you of a trade (Tijarah) that will save you from a painful punishment?' The believer is an investor. You trade your time and wealth in this Dunya for a return in Jannah. It's a long-term hold. Diamond hands for the Akhirah.",
164
+ reflection: "Where is your capital going? Crypto? Stocks? Or Sadaqah Jariyah (ceaseless charity)? One crashes; the other compounds infinitely.",
165
+ technical: "Resource allocation. ROI calculation for the Hereafter. Long-term storage."
166
+ },
167
+ "journal": {
168
+ name: "journal",
169
+ arabic: "مُحَاسَبَة",
170
+ transliteration: "Muhasaba",
171
+ meaning: "Accounting / Journaling",
172
+ story: "Umar (RA) said: 'Account for yourselves before you are accounted for.' Writing down your day—your wins, your sins—is a Sunnah of the introspective. It turns vague feelings into concrete data you can analyze.",
173
+ reflection: "Start a spiritual log. Document your bugs. Track your feature requests (Duas).",
174
+ technical: "System logs. Write to stdout/stderr. Keep a record of runtime events."
175
+ },
176
+ "journey": {
177
+ name: "journey",
178
+ arabic: "سَفَر",
179
+ transliteration: "Safar",
180
+ meaning: "Travel / Journey",
181
+ story: "Life is a Safar. We are travelers. The Prophet ﷺ said: 'Be in this world as if you are a stranger or a traveler.' A traveler travels light. He doesn't build a mansion in the transit lounge.",
182
+ reflection: "Check your baggage. Are you carrying too much Dunya? Lighten the load. The destination is close.",
183
+ technical: "Runtime environment. You are in a temporary container. Don't rely on local storage; persist to the cloud (Akhirah)."
184
+ },
185
+ "lens": {
186
+ name: "lens",
187
+ arabic: "بَصِيرَة",
188
+ transliteration: "Basirah",
189
+ meaning: "Insight / Inner Vision",
190
+ story: "Basar is eyesight; Basirah is insight. It's the ability to see the reality of things, not just their appearance. It's the debugging tool for life. When others see a calamity, the person of Basirah sees a test and a purification.",
191
+ reflection: "Clean your lens. Sin fogs the heart. Istighfar (seeking forgiveness) polishes it so you can see clearly again.",
192
+ technical: "Debug view. X-Ray vision for the soul. Inspect element."
193
+ },
194
+ "memorize": {
195
+ name: "memorize",
196
+ arabic: "حِفْظ",
197
+ transliteration: "Hifz",
198
+ meaning: "Preservation / Memorization",
199
+ story: "Hifz means to guard/protect. When you memorize Quran, you are guarding it in your chest. But it also guards *you*. The Prophet ﷺ said the one without Quran in their heart is like a ruined house.",
200
+ reflection: "What is cached in your memory? Lyrics? Memes? Or the Words of the Creator? Fill your RAM with Ayaat.",
201
+ technical: "Cache management. Load high-priority data into fast access memory."
202
+ },
203
+ "mirror": {
204
+ name: "mirror",
205
+ arabic: "مِرْآة",
206
+ transliteration: "Mir'ah",
207
+ meaning: "Mirror",
208
+ story: "The Believer is the mirror of the Believer. A mirror doesn't lie. It doesn't scream. It just shows you the smudge on your face so you can wipe it. It reflects reality faithfully.",
209
+ reflection: "Be a mirror to your brother. Correct him gently, privately. And accept correction when the mirror is held up to you.",
210
+ technical: "Reflection API. Introspection. See yourself as you truly are."
211
+ },
212
+ "names": {
213
+ name: "names",
214
+ arabic: "أَسْمَاءُ اللَّهِ",
215
+ transliteration: "Asma Allah",
216
+ meaning: "Names of Allah",
217
+ story: "To know Him is to love Him. Allah has Beautiful Names (Al-Asma Al-Husna). He is Al-Wadud (The Loving), Al-Ghafur (The Forgiving). Don't just worship a generic 'God'. Worship the One with these specific attributes.",
218
+ reflection: "Call upon Him by the Name that matches your need. Broke? Ya Razzaq. Sinful? Ya Ghaffar. Lonely? Ya Wadud.",
219
+ technical: "API Endpoints of the Divine. Access specific attributes for specific needs."
220
+ },
221
+ "nature": {
222
+ name: "nature",
223
+ arabic: "فِطْرَة",
224
+ transliteration: "Fitrah",
225
+ meaning: "Innate Nature / Disposition",
226
+ story: "Every child is born on Fitrah—the factory setting. It is an inclination towards Truth and God. Society, parents, and sins corrupt this configuration. Islam is not a new plugin; it's a factory reset.",
227
+ reflection: "Return to your source code. You were hardwired to know Allah. Ignore the bloatware of society.",
228
+ technical: "Factory reset. Restore default settings. The original clean install."
229
+ },
230
+ "nazm": {
231
+ name: "nazm",
232
+ arabic: "نَظْم",
233
+ transliteration: "Nazm",
234
+ meaning: "Coherence / Arrangement / String of Pearls",
235
+ story: "The Quran is not random. It is a Nazm—a perfectly arranged necklace. Every Ayah is connected to the next; every Surah pairs with its neighbor. It is a structural miracle. To see the Nazm is to see the Architect's plan.",
236
+ reflection: "Look for the connections in your life. Nothing is random. Allah is the best of Planners.",
237
+ technical: "Structural integrity. Linked lists. The divine architecture of the Text."
238
+ },
239
+ "parable": {
240
+ name: "parable",
241
+ arabic: "مَثَل",
242
+ transliteration: "Mathal",
243
+ meaning: "Parable / Example",
244
+ story: "Allah uses Mathal (parables) to make complex spiritual truths tangible. The hypocrite is like a rainfall... The deed is like a grain of corn... These aren't just stories; they are compression algorithms for wisdom.",
245
+ reflection: "Reflect on the parables. Are you the rock that water runs off? Or the fertile soil that absorbs it?",
246
+ technical: "Design patterns. Abstract concepts instantiated in concrete classes."
247
+ },
248
+ "prayers": {
249
+ name: "prayers",
250
+ arabic: "صَلَاة",
251
+ transliteration: "Salah",
252
+ meaning: "Connection / Prayer",
253
+ story: "Salah comes from Silah (connection). It is your link to the Divine. Without it, you are offline. The 5 daily prayers are the heartbeat of the believer. Miss them, and the spiritual heart stops.",
254
+ reflection: "Is your Salah a burden or a relief? 'Arihna biha ya Bilal' - Give us rest with it, O Bilal. Debug your connection.",
255
+ technical: "Keep-alive signal. Ping the Server 5 times a day to maintain the session."
256
+ },
257
+ "qibla": {
258
+ name: "qibla",
259
+ arabic: "قِبْلَة",
260
+ transliteration: "Qiblah",
261
+ meaning: "Direction / Focus",
262
+ story: "The Qiblah unifies the Ummah. Millions of people, one focal point. It represents unity and purpose. If you don't have a Qiblah in life, you turn in every direction and go nowhere.",
263
+ reflection: "Where are you facing? Is your heart facing the Dunya or the Akhirah? Align your compass.",
264
+ technical: "Orientation vector. Set your heading. Target alignment."
265
+ },
266
+ "sabr": {
267
+ name: "sabr",
268
+ arabic: "صَبْر",
269
+ transliteration: "Sabr",
270
+ meaning: "Perseverance / Constancy",
271
+ story: "Sabr is not just 'patience' (sitting and waiting). It means to tie down, to remain firm, to persevere. It's active, not passive. It's holding on to the hot coal. It's coding through the error until it's fixed.",
272
+ reflection: "Sabr has three parts: Sabr on obedience, Sabr against sin, and Sabr on calamity. Which one are you struggling with?",
273
+ technical: "Error handling. Retry logic. Exponential backoff. Don't crash; handle the exception."
274
+ },
275
+ "scene": {
276
+ name: "scene",
277
+ arabic: "مَشْهَد",
278
+ transliteration: "Mashhad",
279
+ meaning: "Scene / Witnessing",
280
+ story: "The Quran paints scenes of the Day of Judgment so vivid you feel you are there. This is 'Visualized Faith'. You need to visualize the consequences to stay motivated.",
281
+ reflection: "Visualize your standing before Allah. It puts your current stress in perspective.",
282
+ technical: "Rendering. Scene graph. Visualize the end state."
283
+ },
284
+ "seek": {
285
+ name: "seek",
286
+ arabic: "اِسْتِعَاذَة",
287
+ transliteration: "Isti'adhah",
288
+ meaning: "Seeking Refuge",
289
+ story: "Before you recite, you say A'udhu billah. You seek refuge. You admit you are weak and need protection. The Shaytan is a hacker trying to inject malicious code into your heart. Activate the antivirus.",
290
+ reflection: "Don't fight Shaytan alone. Run to Allah. You can't outsmart a creature thousands of years old, but Allah can.",
291
+ technical: "Security protocols. Firewall activation. Request protection token."
292
+ },
293
+ "shukr": {
294
+ name: "shukr",
295
+ arabic: "شُكْر",
296
+ transliteration: "Shukr",
297
+ meaning: "Gratitude / Appreciation",
298
+ story: "Shukr is not just saying 'Thanks'. It is using the blessing for the purpose it was created. If you have eyes but look at haram, you aren't grateful. 'La in shakartum la azidannakum' - If you are grateful, I will surely increase you.",
299
+ reflection: "Gratitude is the abundance mindset. Ingratitude is the scarcity mindset. Count your blessings, not your bugs.",
300
+ technical: "Positive feedback loop. Scaling factor. Increase resources through acknowledgement."
301
+ },
302
+ "sleep": {
303
+ name: "sleep",
304
+ arabic: "نَوْم",
305
+ transliteration: "Nawm",
306
+ meaning: "Sleep / Minor Death",
307
+ story: "Sleep is the minor death. Allah takes your soul every night. Will He return it? Sleep is a sign of our vulnerability. We power down. We are not self-sustaining.",
308
+ reflection: "Recite your Adhkar before sleep. It might be your last logout. Clean the session.",
309
+ technical: "Hibernate mode. System suspension. Daily reboot cycle."
310
+ },
311
+ "sound": {
312
+ name: "sound",
313
+ arabic: "تَرْتِيل",
314
+ transliteration: "Tartil",
315
+ meaning: "Measured Recitation",
316
+ story: "The Quran is meant to be heard. 'Warattil il-Qurana tartila'. Recite it slowly, beautifully. The sound of the Quran has a healing frequency for the heart.",
317
+ reflection: "Listen to the Quran. Let it overwrite the noise of the world.",
318
+ technical: "Audio stream. Bitrate of the heart. Tuning into the divine frequency."
319
+ },
320
+ "sunnah": {
321
+ name: "sunnah",
322
+ arabic: "سُنَّة",
323
+ transliteration: "Sunnah",
324
+ meaning: "The Way / Tradition",
325
+ story: "The Sunnah is the documentation of the Perfect Implementation. The Prophet ﷺ showed us how to live the theory of Quran. Without Sunnah, we are guessing.",
326
+ reflection: "Revive a Sunnah. Siwak? Smile? Right foot first? Small deeds, massive love.",
327
+ technical: "Best practices. Standard operating procedures. The documentation of the Master Developer."
328
+ },
329
+ "tafsir": {
330
+ name: "tafsir",
331
+ arabic: "تَفْسِير",
332
+ transliteration: "Tafsir",
333
+ meaning: "Exegesis / Unveiling",
334
+ story: "Tafsir comes from 'Fassara' - to explain or unveil. The Quran has layers. You can read the surface, or you can dive deep. Tafsir is the deep dive. It's analyzing the code to understand the logic.",
335
+ reflection: "Don't just read the translation. Read the Tafsir. Understand the context (Asbab al-Nuzul).",
336
+ technical: "Code analysis. Documentation reading. Understanding the source code comments."
337
+ },
338
+ "tasbih": {
339
+ name: "tasbih",
340
+ arabic: "تَسْبِيح",
341
+ transliteration: "Tasbih",
342
+ meaning: "Glorification / Floating",
343
+ story: "Tasbih (SubhanAllah) means to declare Allah perfect and far removed from any imperfection. It comes from a root meaning 'to float' or 'swim'. When you do Tasbih, you keep your heart floating above the drowning ocean of the Dunya.",
344
+ reflection: "Keep your tongue moist with Tasbih. It's the lightest on the tongue, heaviest on the scales.",
345
+ technical: "Heartbeat. Background process. Constant glorification loop."
346
+ },
347
+ "wudu": {
348
+ name: "wudu",
349
+ arabic: "وُضُوء",
350
+ transliteration: "Wudu",
351
+ meaning: "Ablution / Light",
352
+ story: "Wudu comes from 'Wada'ah' (brightness/beauty). It washes away sins. As the water drips, the minor sins drip away. It is the prerequisite for connection.",
353
+ reflection: "Don't just wash your limbs; wash your heart. Prepare to meet the King.",
354
+ technical: "Clear cache. Flush buffers. Preparation for secure connection."
355
+ },
356
+ "zakat": {
357
+ name: "zakat",
358
+ arabic: "زَكَاة",
359
+ transliteration: "Zakah",
360
+ meaning: "Purification / Growth",
361
+ story: "Zakah means purification and growth. It seems like you are giving money away (-), but spiritually you are growing (+). It purifies your wealth from greed and the rights of the poor.",
362
+ reflection: "Give. It doesn't decrease wealth. It blesses the remainder.",
363
+ technical: "Garbage collection for wealth. Removing impurities to optimize the remaining assets."
364
+ }
365
+ };
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.eventsList = void 0;
4
+ exports.eventsList = [
5
+ {
6
+ id: 'prophethood',
7
+ name: 'The Beginning of Prophethood',
8
+ year: '13 BH (Before Hijrah)',
9
+ location: 'Cave of Hira',
10
+ scene: 'The Prophet (saw) is meditating in the cave. Jibreel (as) appears and squeezes him tight. "Read!"',
11
+ ayah: '96:1-5',
12
+ revelation: 'Recite in the name of your Lord who created - Created man from a clinging substance. Recite, and your Lord is the most Generous...',
13
+ details: 'This event marked the beginning of the final revelation. The Prophet (saw) was terrified and rushed home to Khadijah (ra).'
14
+ },
15
+ {
16
+ id: 'open_preaching',
17
+ name: 'Open Preaching',
18
+ year: '10 BH',
19
+ location: 'Mount Safa',
20
+ scene: 'The Prophet (saw) climbs Mount Safa and calls out to the tribes of Quraysh. He warns them of a coming punishment if they do not believe.',
21
+ ayah: '15:94',
22
+ revelation: 'Then declare what you are commanded and turn away from the polytheists.'
23
+ },
24
+ {
25
+ id: 'taif',
26
+ name: 'The Year of Sorrow (Taif)',
27
+ year: '10 BH',
28
+ location: 'Taif',
29
+ scene: 'Rejected by Makkah, the Prophet (saw) goes to Taif. They stone him until his shoes are filled with blood. He prays for them instead of cursing them.',
30
+ ayah: '43:31',
31
+ revelation: 'And they said, "Why was this Qur\'an not sent down upon a great man from [one of] the two cities?"'
32
+ },
33
+ {
34
+ id: 'isra_miraj',
35
+ name: 'Isra and Mi\'raj',
36
+ year: '9 BH',
37
+ location: 'Jerusalem & Heavens',
38
+ scene: 'A miraculous night journey from Makkah to Jerusalem, then ascending through the seven heavens. The gift of 5 daily prayers is given.',
39
+ ayah: '17:1',
40
+ revelation: 'Exalted is He who took His Servant by night from al-Masjid al-Haram to al-Masjid al-Aqsa, whose surroundings We have blessed...'
41
+ },
42
+ {
43
+ id: 'migration',
44
+ name: 'The Hijrah (Migration)',
45
+ year: '1 AH',
46
+ location: 'Cave of Thawr',
47
+ scene: 'Hunted. The Prophet (saw) and Abu Bakr (ra) are hiding in a cave. The enemy is standing right outside. Abu Bakr is terrified for the Prophet.',
48
+ ayah: '9:40',
49
+ revelation: 'If you do not aid the Prophet - Allah has already aided him when those who disbelieved had driven him out [of Makkah] as one of two...'
50
+ },
51
+ {
52
+ id: 'badr',
53
+ name: 'Battle of Badr',
54
+ year: '2 AH',
55
+ location: 'Badr',
56
+ scene: 'The Muslims are outnumbered 3 to 1. They have 2 horses. The enemy has 100. It is the first major battle. The future of Islam hangs by a thread.',
57
+ ayah: '3:123',
58
+ revelation: 'And Allah had already given you victory at Badr while you were few. So fear Allah; perhaps you will be grateful.'
59
+ },
60
+ {
61
+ id: 'uhud',
62
+ name: 'Battle of Uhud',
63
+ year: '3 AH',
64
+ location: 'Mount Uhud',
65
+ scene: 'Victory turned into defeat. The archers left their post. The Prophet (saw) was injured. Rumors spread that he was killed.',
66
+ ayah: '3:159',
67
+ revelation: 'So by mercy from Allah, you were lenient with them. And if you had been rude [in speech] and harsh in heart, they would have disbanded from about you.'
68
+ },
69
+ {
70
+ id: 'trench',
71
+ name: 'Battle of the Trench',
72
+ year: '5 AH',
73
+ location: 'Madinah',
74
+ scene: '10,000 confederates besiege Madinah. The Muslims dig a trench. It is freezing cold. Hunger and fear are rampant.',
75
+ ayah: '33:10',
76
+ revelation: '[Remember] when they came at you from above you and from below you, and when eyes shifted [in fear], and hearts reached the throats...'
77
+ },
78
+ {
79
+ id: 'hudaybiyyah',
80
+ name: 'Treaty of Hudaybiyyah',
81
+ year: '6 AH',
82
+ location: 'Hudaybiyyah',
83
+ scene: 'The Muslims are stopped from performing Umrah. A peace treaty is signed that looks like a defeat, but Allah calls it a clear victory.',
84
+ ayah: '48:1',
85
+ revelation: 'Indeed, We have given you, [O Muhammad], a clear conquest.'
86
+ },
87
+ {
88
+ id: 'conquest',
89
+ name: 'Conquest of Makkah',
90
+ year: '8 AH',
91
+ location: 'Makkah',
92
+ scene: 'The Prophet (saw) enters Makkah with 10,000 companions. No blood is shed. He forgives those who persecuted him for years. "Go, for you are free."',
93
+ ayah: '110:1-3',
94
+ revelation: 'When the victory of Allah has come and the conquest, And you see the people entering into the religion of Allah in multitudes...'
95
+ },
96
+ {
97
+ id: 'farewell',
98
+ name: 'Farewell Sermon',
99
+ year: '10 AH',
100
+ location: 'Mount Arafat',
101
+ scene: 'The Prophet (saw) delivers his final sermon to over 100,000 Muslims. He emphasizes equality, women\'s rights, and the sanctity of life and property.',
102
+ ayah: '5:3',
103
+ revelation: 'This day I have perfected for you your religion and completed My favor upon you and have approved for you Islam as religion.'
104
+ }
105
+ ];