Skip to content
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
663 commits
Select commit Hold shift + click to select a range
78d8006
QF-3062 - Show 'Verses about the Sunnah' link only in production envi…
zonetecde Oct 21, 2025
bf6edca
Added test for QF-2082
zonetecde Oct 21, 2025
0400f80
mark the test as skiped until PR is merged
zonetecde Oct 21, 2025
15c1d83
Merge branch 'pre-live'
osamasayed Oct 22, 2025
b48dc23
Merge branch 'master' into testing
osamasayed Oct 22, 2025
3a198d2
QF-3548 ch: update ayah reflection URL to use verifiedOnly filter ins…
rrrokhtar Oct 24, 2025
316a232
added tests for QF-2639 (persistent repeat modal values)
zonetecde Oct 24, 2025
53f54b3
added tests for QF-2639 (persistent repeat modal values)
zonetecde Oct 24, 2025
9bcc931
fix: logging to see the cookies with proxy
mohsinayoob Oct 26, 2025
1823cfb
fix: update AppEnv enum to change PRE_LIVE to PRELIVE for consistency…
rrrokhtar Oct 26, 2025
d7f8942
added playwright test for QF-3600
zonetecde Oct 26, 2025
cd880e0
Added test for QF-2769
zonetecde Oct 26, 2025
51ec051
marked QF-2769 test as skipped for now
zonetecde Oct 26, 2025
bbc6dfd
QDC->QR integration (#2555)
osamasayed Oct 27, 2025
7d9a0a9
fixed discord reporter issue
zonetecde Oct 29, 2025
5b2dc62
Added @smoke tag to numerous tests
zonetecde Oct 29, 2025
755f0be
removed create acc smoke test
zonetecde Oct 29, 2025
04377f6
fixed a test
zonetecde Oct 29, 2025
84a6859
Added multiple Playwright tests for the Tafsir feature
zonetecde Oct 30, 2025
b0c2f6b
QF-3520: Open learning plans for guest users (#2547)
yousefdergham Oct 30, 2025
58a4850
removed .only from a test
zonetecde Oct 30, 2025
ff15f2a
only create the discord message if a test fails
zonetecde Oct 30, 2025
10b1d30
only run dev server and load env var if is localhost
zonetecde Oct 31, 2025
e87e384
[QF-3123] Update the reflections and lessons popup design (#2557)
afifvdin Oct 31, 2025
c48a956
QF-3656 - Update verse link regex and tests for triple-digit referenc…
zonetecde Oct 31, 2025
a3513e0
Merge branch 'production' into pre-live
osamasayed Nov 2, 2025
4697719
Merge branch 'master' into testing
osamasayed Nov 2, 2025
4b8fe30
Merge branch 'production' into pre-live
osamasayed Nov 2, 2025
b1cfbd6
Merge branch 'master' into testing
osamasayed Nov 2, 2025
83785f7
Fixed typo on about us page
zonetecde Nov 4, 2025
15650e7
Revert "Fixed typo on about us page"
zonetecde Nov 4, 2025
507a225
QF-2751: Show the settings/preferences icon on the surah header (#2554)
yousefdergham Nov 5, 2025
ffea7e5
allow card images to opt out of Next optimizations
zonetecde Nov 5, 2025
e4bbe68
QF-3590: Update PopularButton and ChapterCard styles for improved res…
yousefdergham Nov 6, 2025
2c4eb01
[QF-3542] Daily ayah pushed down o be above the community section and…
afifvdin Nov 6, 2025
c7887b1
[QF-3550] Open create goal screen for the guest user before redirecti…
afifvdin Nov 6, 2025
e3aab05
fix: update AppEnv enum to change PRE_LIVE to PRELIVE for consistency…
rrrokhtar Oct 26, 2025
e9d623e
Update QR integration (#2490)
osamasayed Sep 10, 2025
9eaa53f
QF-3350 (#2497)
osamasayed Sep 22, 2025
f3d8fce
[QF-3309]: SSO Login and logout support for QR (#2495)
mohsinayoob Sep 28, 2025
30cc392
Fix room's url (#2516)
osamasayed Oct 7, 2025
eb80ac1
QF-3354 ref: AuthorInfo component with image error handling and updat…
rrrokhtar Oct 9, 2025
30470e0
QF-3548 ch: update ayah reflection URL to use verifiedOnly filter ins…
rrrokhtar Oct 24, 2025
c6b0c3f
QDC->QR integration (#2555)
osamasayed Oct 27, 2025
9cc14ae
QF-3435: Fix ayah reference formatting for RTL locales (#2504)
yousefdergham Sep 30, 2025
1846ae6
remove outdated test
osamasayed Nov 8, 2025
94af125
Fix tests
osamasayed Nov 8, 2025
c5df9c9
Fix full-surah reference when from and to is not 0
osamasayed Nov 8, 2025
28bd041
Fix navigation to subdomain
osamasayed Nov 8, 2025
4f94cb3
make language picker load correct defaults
Nov 8, 2025
e77d051
route QuranReflect API through proxy and align tests/types
Nov 8, 2025
7816f5f
Make sure the reflections API call uses the language returned by get …
Nov 8, 2025
4661ea6
moved quranreflect-related locale to the quranreflect locale file
Nov 8, 2025
3b11a6e
QF-3590: Update PopularButton and ChapterCard styles for improved res…
yousefdergham Nov 6, 2025
337918f
Complete application of the logic when the user signs up or logs in.
Nov 9, 2025
722bffb
Applied coderabbit suggestions
zonetecde Nov 10, 2025
2dbbb20
QF 3724 (#2580)
AhmedCodeGuy Nov 10, 2025
044b3f8
Add shared Sanity helpers for courses/product updates and refactor pa…
zonetecde Nov 11, 2025
d5952f3
applied user settings from the server after login, and fixed the redi…
zonetecde Nov 11, 2025
13f4e5b
Implemented logic for the 'Reset settings'
zonetecde Nov 11, 2025
53d051a
Fixed the site behavior when a user changes the language without modi…
zonetecde Nov 11, 2025
6e6ffed
fixed playwright tests
zonetecde Nov 11, 2025
c2cbfc9
add the 'languages' parameter to the request to retrieve courses base…
Nov 12, 2025
09eb4d5
Localization POC
osamasayed Nov 13, 2025
d269009
fixed some problem with the LP api call
Nov 13, 2025
c671908
add language group to saved's group upon sign up
Nov 13, 2025
9f302f6
fix lessons languages + ayahreflection refactor
Nov 13, 2025
99caae6
fix ayah reflection language request not having the right languages
Nov 15, 2025
64f35d0
Fetch learning plans server-side (align with Quran Reflect SSR pattern)
Nov 15, 2025
04ef26c
feat: add localization integration tests
Nov 15, 2025
ac8533e
QF-2606 - Fix media range timestamp normalization and add coverage (#…
zonetecde Nov 15, 2025
f15e6e6
fixed all lint issues and fixed the rub/N and page/N pages not workin…
Nov 15, 2025
6b0de11
Fix audio test case
osamasayed Nov 15, 2025
e50fb77
skipped a test
Nov 16, 2025
96764a8
Merge branch 'playwright-tests' of https://github.com/zonetecde/quran…
Nov 16, 2025
1151535
Added numerous Playwright tests covering the entire website (#2512)
zonetecde Nov 17, 2025
43f2fbb
Revert "Added numerous Playwright tests covering the entire website" …
mustafa0x Nov 17, 2025
75af293
Merge remote-tracking branch 'origin/testing' into playwright-tests
zonetecde Nov 17, 2025
e72ed42
fixed all playwright tests that were failing bc of the merge
zonetecde Nov 17, 2025
e6c9de4
fixing 4 flaky Playwright tests
zonetecde Nov 17, 2025
b1cd818
Merge branch 'testing' into SSR
zonetecde Nov 18, 2025
9a4d120
fixed hizb page and /S/V page
zonetecde Nov 19, 2025
db93ed6
fixed all playwright tests that were failing because of the merge
Nov 19, 2025
42d99b4
fixed the Spanish onboarding modal that was causing the website to crash
Nov 19, 2025
728766e
- applied Coderabbit suggestions
zonetecde Nov 20, 2025
ab214fd
Add a "userHasCustomized" preference group, and use it on the fronten…
Nov 21, 2025
5eef269
userHasCustomized -> userHasCustomised
zonetecde Nov 22, 2025
8db40e9
Merge branch 'production' into pre-live
osamasayed Nov 24, 2025
e33e257
QF-2082 - Hide the navigation drawer when not on Quran reading pages.…
zonetecde Nov 25, 2025
aef2804
feat(notifications): Filter notification preferences by QDC tag (#2596)
AhmedCodeGuy Nov 26, 2025
ee7db94
[QF-3972] Add banner for (The Rescuer: Powerful lessons in Surah Al-M…
yousefdergham Nov 26, 2025
9724458
[QF-3972] Add banner for (The Rescuer: Powerful lessons in Surah Al-M…
yousefdergham Nov 26, 2025
3fd6c48
[QF-3972] Add banner for (The Rescuer: Powerful lessons in Surah Al-M…
yousefdergham Nov 26, 2025
27a311c
feat(notifications): Filter notification preferences by QDC tag (#2596)
AhmedCodeGuy Nov 26, 2025
6c6e508
Update prompts (#2599)
osamasayed Nov 28, 2025
5ce4455
Sync locales
osamasayed Nov 30, 2025
6ecfb25
Sync locales
osamasayed Nov 30, 2025
955bab8
Sync locales
osamasayed Nov 30, 2025
580f6e6
QF-3690 - Fixed typo on about us page (#2573)
zonetecde Nov 30, 2025
aaaaf35
Fixed typo on about us page
zonetecde Nov 4, 2025
f91c619
Fixed typo on about us page
zonetecde Nov 4, 2025
c3e053b
Fix onboarding modal (Spanish & Kiswahili) (#2591)
zonetecde Nov 30, 2025
d96ca1d
Fix onboarding modal (Spanish & Kiswahili) (#2591)
zonetecde Nov 30, 2025
a6a24b7
Fix onboarding modal (Spanish & Kiswahili) (#2591)
zonetecde Nov 30, 2025
8f948a6
[QF-3112] remove 3rd bullet from access-anywhere section (#2571)
al-imam Nov 30, 2025
b7d496d
feat(notifications): Filter notification preferences by QDC tag (#2596)
AhmedCodeGuy Nov 26, 2025
ec504c8
Prod release (#2613)
osamasayed Dec 2, 2025
535ac2b
Prod release (#2613)
osamasayed Dec 2, 2025
acd6656
Prod release (#2613)
osamasayed Dec 2, 2025
8e43f77
Fix: QF-3500 Include query parameters when sharing search query (#2519)
zonetecde Dec 2, 2025
cd14e41
QF-2696 - Adding right padding to the title text of a modal (#2536)
zonetecde Dec 3, 2025
b0e4fae
Made Collection's verses expanded by default (#2615)
zonetecde Dec 3, 2025
828ef5e
Made Collection's verses expanded by default (#2615)
zonetecde Dec 3, 2025
40b6e86
Made Collection's verses expanded by default (#2615)
zonetecde Dec 3, 2025
b5a348b
applied copilot suggestion: renamed a variable
zonetecde Dec 4, 2025
7fff306
Merge branch 'testing' into perf/learning-plans-imgs-fast-load
zonetecde Dec 4, 2025
ee8ddfb
QF-4026 - Change the LP view on the homepage (#2616)
zonetecde Dec 4, 2025
3390dd6
Updated LP Card size on mobile (#2621)
zonetecde Dec 4, 2025
5dda7bb
updated LP cards size on mobile
zonetecde Dec 4, 2025
e908beb
Production release (#2624)
osamasayed Dec 6, 2025
69b9823
Enhance ExploreTopicsSection styling for better layout and scrolling …
yousefdergham Oct 21, 2025
233cc3f
QF-4026 - Change the LP view on the homepage (#2616)
zonetecde Dec 4, 2025
702cfdd
Updated LP Card size on mobile (#2621)
zonetecde Dec 4, 2025
b2a5a4a
QF-4028 - Change order of the sections on QDC homepage for guest user…
zonetecde Dec 6, 2025
a644547
Merge branch 'testing' into SSR
zonetecde Dec 6, 2025
6829ec1
fixed a lint issue
zonetecde Dec 6, 2025
a07197d
QF-318 - Fixed SSR build issues + applied a fix for a regression that…
zonetecde Dec 6, 2025
e1b5d8d
Course.{LessonView,MainDetails}: add p + p margins (#2623)
mustafa0x Dec 6, 2025
725cef9
QF-922 - Localization Fix (#2627)
zonetecde Dec 7, 2025
a0275ce
[QF-2775] - Show the data source provider of the translation on the t…
yousefdergham Dec 7, 2025
0541e9c
[QF-3553] Update QDC banner for Goals (#2570)
afifvdin Dec 7, 2025
0a75203
[QF-3593] Update the burger menu (#2556)
afifvdin Dec 8, 2025
bd20bba
QF-3590: Update PopularButton and ChapterCard styles for improved res…
yousefdergham Nov 6, 2025
2afbff9
QF-2751: Show the settings/preferences icon on the surah header (#2554)
yousefdergham Nov 5, 2025
b88a0fc
[QF-3123] Update the reflections and lessons popup design (#2557)
afifvdin Oct 31, 2025
0d19df0
[QF-3112] remove 3rd bullet from access-anywhere section (#2571)
al-imam Nov 30, 2025
3efd04d
QF 3724 (#2580)
AhmedCodeGuy Nov 10, 2025
59e77a6
QF-4028 - Change order of the sections on QDC homepage for guest user…
zonetecde Dec 6, 2025
3936030
QF-2082 - Hide the navigation drawer when not on Quran reading pages.…
zonetecde Nov 25, 2025
e77adf2
[QF-3156] Add "Ask Question" Button to Quranic Calendar Hero (#2581)
al-imam Dec 8, 2025
44f0a37
QF 3724 (#2580)
AhmedCodeGuy Nov 10, 2025
022c1f8
[QF-3112] remove 3rd bullet from access-anywhere section (#2571)
al-imam Nov 30, 2025
94e5ccf
QF-4028 - Change order of the sections on QDC homepage for guest user…
zonetecde Dec 6, 2025
f03ca83
Fix: Page number tracking in Reading and Translation modes (#2587)
AhmedCodeGuy Dec 8, 2025
bc5c625
Add font rendering docs (#2640)
osamasayed Dec 8, 2025
12b5d75
Revert "Fix: Page number tracking in Reading and Translation modes (#…
AhmedCodeGuy Dec 8, 2025
e7c024e
QF-2082 - Hide the navigation drawer when not on Quran reading pages.…
zonetecde Nov 25, 2025
b2466a1
Fix: Page number tracking in Reading and Translation modes (#2641)
AhmedCodeGuy Dec 9, 2025
bdcfbca
Revert "Fix: Page number tracking in Reading and Translation modes (#…
AhmedCodeGuy Dec 9, 2025
e46e81d
Fix: Page number tracking in Reading and Translation modes (#2648)
AhmedCodeGuy Dec 9, 2025
e5ef1ba
Fix: Page number tracking in Reading and Translation modes (#2648)
AhmedCodeGuy Dec 9, 2025
f8e02bd
[QF-2770] Add CheckboxChip component and update WordByWordSection to …
yousefdergham Dec 10, 2025
85656c0
Add Apps Portal page and CTA on Developers page (#2638)
basit3407 Dec 11, 2025
3eccb6c
Merge branch 'production' into pre-live
osamasayed Dec 11, 2025
e06fcbb
Add apps-portal
osamasayed Dec 11, 2025
883d344
Merge branch 'production' into pre-live
osamasayed Dec 11, 2025
0d43a49
Add MTF banner
osamasayed Dec 11, 2025
bb809cd
Update developers page
osamasayed Dec 11, 2025
93804f9
Add MTF banner
osamasayed Dec 11, 2025
530676b
Update developers page
osamasayed Dec 11, 2025
ea633c8
Added mobile apps for qdc to Quran App Portal (#2654)
basit3407 Dec 11, 2025
4176e48
Added mobile apps for qdc to Quran App Portal (#2654)
basit3407 Dec 11, 2025
46b5a8c
Added mobile apps for qdc to Quran App Portal (#2654)
basit3407 Dec 11, 2025
3b48296
fix: revert bookmark icon and add another variant (#2642)
afifvdin Dec 11, 2025
474bbf6
Remove Quran Meet
osamasayed Dec 11, 2025
f190eab
Remove Quran Meet
osamasayed Dec 11, 2025
6d0593a
Remove Quran Meet
osamasayed Dec 11, 2025
7a9ce6e
Fix: Page number tracking in Reading and Translation modes (#2648)
AhmedCodeGuy Dec 9, 2025
4d0acf5
fix: show yellow lightbulb icon for clarification questions (#2659)
AhmedCodeGuy Dec 16, 2025
fdf9754
[QF-3991] Redesign Auth UI (#2647)
al-imam Dec 16, 2025
4804e93
Merge branch 'production' into pre-live
osamasayed Dec 17, 2025
d76f9b8
Remove MTF banner (#2672)
osamasayed Dec 17, 2025
f9f01fd
Remove MTF banner (#2672)
osamasayed Dec 17, 2025
a93870e
[QF-4003] Surah Info New UI (#2649)
al-imam Dec 17, 2025
16beb96
[QF-2775] - Show the data source provider of the translation on the t…
yousefdergham Dec 7, 2025
cae5785
[QF-3675-hooks] add useUpdatePassword hook (#2651)
afifvdin Dec 18, 2025
7654184
[QF-3675] Edit User Profile - Change Password (#2652)
afifvdin Dec 18, 2025
8941f38
refactor(bookmarks): Comprehensive bookmarks system overhaul (#2639)
AhmedCodeGuy Dec 18, 2025
c0a6e11
[QF-3666-hooks] add hooks and function related to updating user profi…
afifvdin Dec 18, 2025
099925d
fix: show yellow lightbulb icon for clarification questions (#2659)
AhmedCodeGuy Dec 16, 2025
06fa70c
[QF-3156] Add "Ask Question" Button to Quranic Calendar Hero (#2581)
al-imam Dec 8, 2025
aa7ded6
Fix ChapterHeader centering in Safari and Firefox (#2657)
AhmedCodeGuy Dec 18, 2025
6391270
fix: RTL display issues in TranslationView and ReadingView (#2658)
AhmedCodeGuy Dec 18, 2025
60f0fd0
[QF-3520]: Open learning plans (#2637)
yousefdergham Dec 18, 2025
bd0fd80
sentry: don't send hydration errors (#2655)
mustafa0x Dec 18, 2025
084f31c
Merge branch 'production' into pre-live
osamasayed Dec 18, 2025
6f41270
sentry: don't send hydration errors (#2655)
mustafa0x Dec 18, 2025
de35ed3
Open Apps Portal in new tab from Developers page (#2682)
basit3407 Dec 19, 2025
21fcdc0
Open Apps Portal in new tab from Developers page (#2682)
basit3407 Dec 19, 2025
472d3a8
Open Apps Portal in new tab from Developers page (#2682)
basit3407 Dec 19, 2025
6ce13c2
Merge branch 'production' into pre-live
osamasayed Dec 21, 2025
b778989
[QF-4268] Update Ask Question Icon (#2681)
al-imam Dec 22, 2025
5454828
Sync UR locales
osamasayed Dec 22, 2025
6e956f1
Sync UR locales
osamasayed Dec 22, 2025
97e3ec9
Sync UR locales
osamasayed Dec 22, 2025
6ad91dd
[QF-3794] Add Report Translation Feedback (#2593)
al-imam Dec 22, 2025
788f83a
[QF-4260] Update OrText color to medium gray (#2680)
al-imam Dec 23, 2025
40d3fde
[QF-4268] Update Ask Question Icon (#2681)
al-imam Dec 22, 2025
fc12f3c
Fix ChapterHeader centering in Safari and Firefox (#2657)
AhmedCodeGuy Dec 18, 2025
2037596
QF-3656 - Update verse link regex and tests for triple-digit referenc…
zonetecde Oct 31, 2025
813f9a2
Fix: Playwright tests and First language switch bug (#2677)
zonetecde Dec 23, 2025
e6398ac
[QF-4284] Fix answers button flickering in TranslationView (#2696)
AhmedCodeGuy Dec 23, 2025
3bef353
Merge branch 'testing' into perf/learning-plans-imgs-fast-load
zonetecde Dec 23, 2025
8bfc956
feat: add safe redirect handling in LoginContainer component (#2704)
yousefdergham Dec 24, 2025
39d5edb
refactor(bookmarks): Comprehensive bookmarks system overhaul (#2639)
AhmedCodeGuy Dec 18, 2025
e3de7e5
[QF-3156] Add "Ask Question" Button to Quranic Calendar Hero (#2581)
al-imam Dec 8, 2025
04d418a
[QF-4268] Update Ask Question Icon (#2681)
al-imam Dec 22, 2025
7291efd
QF-3656 - Update verse link regex and tests for triple-digit referenc…
zonetecde Oct 31, 2025
51d9b95
[QF-4286] fix profile picture exceed limit message (#2702)
afifvdin Dec 24, 2025
a5a1284
fix: RTL display issues in TranslationView and ReadingView (#2658)
AhmedCodeGuy Dec 18, 2025
afc6fbc
[QF-4113] fix reflection modal/dialog issue (#2646)
afifvdin Dec 24, 2025
f442170
[QF-4157] fix: navbar should not hide context menu (#2645)
afifvdin Dec 24, 2025
19401f2
[QF-4230] Donate link not correct (#2664)
afifvdin Dec 24, 2025
bdd8fed
[QF-4234] Close navigation drawer on navigation click (#2668)
afifvdin Dec 24, 2025
6c8feba
[QF-4224] fix burger menu icons, list menu and donate button (#2665)
afifvdin Dec 24, 2025
085ac38
[QF-4238] if user had goal, redirect to progress (#2669)
afifvdin Dec 24, 2025
f7a6489
[QF-4311] remove rules for new password (#2694)
afifvdin Dec 24, 2025
e8bb96f
[QF-4290] when save changes, app shows wrong message (#2692)
afifvdin Dec 24, 2025
f211527
[QF-4287] remove profile picture modal (#2690)
afifvdin Dec 24, 2025
f620f90
[QF-4291] fix ui issue in profile (#2687)
afifvdin Dec 24, 2025
356e2c4
[QF-4312] form check on change (#2697)
afifvdin Dec 24, 2025
efe6ea7
[QF-4284] Fix answers button flickering in TranslationView (#2696)
AhmedCodeGuy Dec 23, 2025
35349a5
Add more language names (#2705)
osamasayed Dec 24, 2025
2548b9c
Add more language names (#2705)
osamasayed Dec 24, 2025
70a828e
QF-2514: Navigation redesign (#2436)
AhmedCodeGuy Jun 24, 2025
5aa509b
surah bar fixes (#2450)
AhmedCodeGuy Jul 6, 2025
14c78a0
[QF-3991] Redesign Auth UI (#2647)
al-imam Dec 16, 2025
79ab9aa
[QF-4260] Update OrText color to medium gray (#2680)
al-imam Dec 23, 2025
a073d4a
feat: add safe redirect handling in LoginContainer component (#2704)
yousefdergham Dec 24, 2025
d32d58d
Fix ChapterHeader centering in Safari and Firefox (#2657)
AhmedCodeGuy Dec 18, 2025
a2b3c06
[QF-4115] fix when open the side menu then close it, app reset the vi…
yousefdergham Dec 25, 2025
31203b6
Add more language names (#2705)
osamasayed Dec 24, 2025
a653437
[QF-3668] Edit User Profile - Delete Account (#2662)
afifvdin Dec 29, 2025
6118487
Attach userId to GA (#2729)
osamasayed Dec 29, 2025
6a4ac97
Attach userId to GA (#2729)
osamasayed Dec 29, 2025
99911bf
Add userId to logger (#2388)
osamasayed Apr 14, 2025
9d6083c
Attach userId to GA (#2729)
osamasayed Dec 29, 2025
9c4ac6b
Course: add ol + p margins (#2731)
mustafa0x Dec 30, 2025
8fd0e87
fix(prelive): merging conflicts (#2713)
osamasayed Dec 30, 2025
db2856d
fix(master): merging conflicts (#2712)
osamasayed Dec 30, 2025
b7e0262
fix(testing): revert SSR (#2730)
rrrokhtar Dec 30, 2025
74b9073
Merge branch 'master' into testing
rrrokhtar Dec 30, 2025
8962265
fix(styles): add missing section menu and progress bar height variabl…
rrrokhtar Dec 30, 2025
967a36f
deployment: testing into staging sync & diff (#2735)
rrrokhtar Dec 30, 2025
2ca4fb6
Merge branch 'pre-live'
rrrokhtar Dec 30, 2025
e07584c
Merge branch 'master' into testing
rrrokhtar Dec 30, 2025
aae4e31
docs: add review guidelines and update PR template
AhmedCodeGuy Jan 1, 2026
7b6099b
[QF-4027] - fix: align quranic calendar weeks with CSV and update tes…
zonetecde Jan 1, 2026
24ac880
Update playwright tests - Fixed and restored all of them (#2741)
zonetecde Jan 2, 2026
abc5708
Merge branch 'testing' into perf/learning-plans-imgs-fast-load
zonetecde Jan 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .cursor/rules/bug-handling-with-todo-comments.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
description: Specifies the usage of TODO comments to outline problems or bugs encountered in existing code, regardless of file type.
globs: **/*.*
---
- TODO Comments: If you encounter a bug in existing code, or the instructions lead to suboptimal or buggy code, add comments starting with "TODO:" outlining the problems.
56 changes: 56 additions & 0 deletions .cursor/rules/clean-code.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
description: Guidelines for writing clean, maintainable, and human-readable code. Apply these rules when writing or reviewing code to ensure consistency and quality.
globs:
alwaysApply: false
---
# Clean Code Guidelines

## Constants Over Magic Numbers
- Replace hard-coded values with named constants
- Use descriptive constant names that explain the value's purpose
- Keep constants at the top of the file or in a dedicated constants file

## Meaningful Names
- Variables, functions, and classes should reveal their purpose
- Names should explain why something exists and how it's used
- Avoid abbreviations unless they're universally understood

## Smart Comments
- Don't comment on what the code does - make the code self-documenting
- Use comments to explain why something is done a certain way
- Document APIs, complex algorithms, and non-obvious side effects

## Single Responsibility
- Each function should do exactly one thing
- Functions should be small and focused
- If a function needs a comment to explain what it does, it should be split

## DRY (Don't Repeat Yourself)
- Extract repeated code into reusable functions
- Share common logic through proper abstraction
- Maintain single sources of truth

## Clean Structure
- Keep related code together
- Organize code in a logical hierarchy
- Use consistent file and folder naming conventions

## Encapsulation
- Hide implementation details
- Expose clear interfaces
- Move nested conditionals into well-named functions

## Code Quality Maintenance
- Refactor continuously
- Fix technical debt early
- Leave code cleaner than you found it

## Testing
- Write tests before fixing bugs
- Keep tests readable and maintainable
- Test edge cases and error conditions

## Version Control
- Write clear commit messages
- Make small, focused commits
- Use meaningful branch names
45 changes: 45 additions & 0 deletions .cursor/rules/codequality.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
description: Code Quality Guidelines
globs:
alwaysApply: false
---
# Code Quality Guidelines

## Verify Information
Always verify information before presenting it. Do not make assumptions or speculate without clear evidence.

## File-by-File Changes
Make changes file by file and give me a chance to spot mistakes.

## No Apologies
Never use apologies.

## No Understanding Feedback
Avoid giving feedback about understanding in comments or documentation.

## No Whitespace Suggestions
Don't suggest whitespace changes.

## No Inventions
Don't invent changes other than what's explicitly requested.

## No Unnecessary Confirmations
Don't ask for confirmation of information already provided in the context.

## Preserve Existing Code
Don't remove unrelated code or functionalities. Pay attention to preserving existing structures.

## Single Chunk Edits
Provide all edits in a single chunk instead of multiple-step instructions or explanations for the same file.

## No Implementation Checks
Don't ask the user to verify implementations that are visible in the provided context.

## No Unnecessary Updates
Don't suggest updates or changes to files when there are no actual modifications needed.

## Provide Real File Links
Always provide links to the real files, not x.md.

## No Current Implementation
Don't show or discuss the current implementation unless specifically requested.
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
description: Applies coding guidelines related to using early returns and conditional classes in all files.
globs: **/*.*
---
- Utilize Early Returns: Use early returns to avoid nested conditions and improve readability.
- Conditional Classes: Prefer conditional classes over ternary operators for class attributes.
8 changes: 8 additions & 0 deletions .cursor/rules/comment-usage.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
description: This rule dictates how comments should be used within the codebase to enhance understanding and avoid clutter.
globs: **/*.*
---
- Use comments sparingly, and when you do, make them meaningful.
- Don't comment on obvious things. Excessive or unclear comments can clutter the codebase and become outdated.
- Use comments to convey the "why" behind specific actions or explain unusual behavior and potential pitfalls.
- Provide meaningful information about the function's behavior and explain unusual behavior and potential pitfalls.
7 changes: 7 additions & 0 deletions .cursor/rules/follow-up-questions.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@

---
description: When you have questions or need clarification, I'll ask follow-up questions to ensure I understand your requirements before providing a solution. This helps me deliver more accurate and useful code that meets your specific needs.
globs:
alwaysApply: true
---
Do not make any changes, until you have 95% confidence that you know what to build ask me follow up questions until you have that confidence.
7 changes: 7 additions & 0 deletions .cursor/rules/function-length-and-responsibility.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
description: This rule enforces the single responsibility principle, ensuring functions are short and focused.
globs: **/*.*
---
- Write short functions that only do one thing.
- Follow the single responsibility principle (SRP), which means that a function should have one purpose and perform it effectively.
- If a function becomes too long or complex, consider breaking it into smaller, more manageable functions.
5 changes: 5 additions & 0 deletions .cursor/rules/function-ordering-conventions.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
description: Defines the function ordering conventions, where functions that compose other functions appear earlier in the file, regardless of the file type.
globs: **/*.*
---
- Order functions with those that are composing other functions appearing earlier in the file. For example, if you have a menu with multiple buttons, define the menu function above the buttons.
6 changes: 6 additions & 0 deletions .cursor/rules/general-code-commenting.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
description: Ensures helpful comments are added to the code and that old, relevant comments are preserved.
globs: **/*.*
---
- Always add helpful comments to the code explaining what you are doing.
- Never delete old comments, unless they are no longer relevant because the code has been rewritten or deleted.
7 changes: 7 additions & 0 deletions .cursor/rules/general-coding-principles.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
description: Applies general coding principles like simplicity, readability, performance, maintainability, testability, and reusability to all files.
globs: **/*.*
---
- Focus on simplicity, readability, performance, maintainability, testability, and reusability.
- Remember less code is better.
- Lines of code = Debt.
7 changes: 7 additions & 0 deletions .cursor/rules/minimal-code-changes-rule.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
description: Enforces the principle of making minimal code changes to avoid introducing bugs or technical debt in any file.
globs: **/*.*
---
- Only modify sections of the code related to the task at hand.
- Avoid modifying unrelated pieces of code.
- Accomplish goals with minimal code changes.
7 changes: 7 additions & 0 deletions .cursor/rules/naming-conventions.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
description: This rule focuses on using meaningful and descriptive names for variables, functions, and classes throughout the project.
globs: **/*.*
---
- Choose names for variables, functions, and classes that reflect their purpose and behavior.
- A name should tell you why it exists, what it does, and how it is used. If a name requires a comment, then the name does not reveal its intent.
- Use specific names that provide a clearer understanding of what the variables represent and how they are used.
7 changes: 7 additions & 0 deletions .cursor/rules/next-js-app-router-rule.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
description: Applies Next.js App Router specific guidelines to components and pages within the 'app' directory.
globs: app/**/*.tsx
alwaysApply: false
---
- You are an expert in Next.js Pages Router.
- Follow Next.js documentation for best practices in data fetching, rendering, and routing.
7 changes: 7 additions & 0 deletions .cursor/rules/next-js-configuration-rule.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
description: Rules specifically for the Next.js configuration file.
globs: /next.config.js
alwaysApply: false
---
- Ensure the Next.js configuration is optimized for performance.
- Review and update the configuration regularly based on project needs.
12 changes: 12 additions & 0 deletions .cursor/rules/next-js-conventions.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
description: Key Next.js conventions for state changes, web vitals, and client-side code usage.
globs: **/*.{ts,js,jsx,tsx}
alwaysApply: false
---
- Rely on Next.js Pages Router for state changes.
- Prioritize Web Vitals (LCP, CLS, FID).
- Minimize 'use client' usage:
- Prefer server components and Next.js SSR features.
- Use 'use client' only for Web API access in small components.
- Avoid using 'use client' for data fetching or state management.
- Refer to Next.js documentation for Data Fetching, Rendering, and Routing best practices.
14 changes: 14 additions & 0 deletions .cursor/rules/next-js-folder-structure.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
description: This rule defines the recommended folder structure for Next.js projects.
globs: app/**/*.*
alwaysApply: false
---
- Adhere to the following folder structure:

src/
components/
lib/
pages/
hooks/
utils/
public/
6 changes: 6 additions & 0 deletions .cursor/rules/performance-optimization-rules.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
description: Guidelines for optimizing performance by minimizing client-side operations and using server-side rendering.
globs: **/*.{js,jsx,ts,tsx}
---
- Optimize Web Vitals (LCP, CLS, FID).
- Use dynamic loading for non-critical components using @src/components/dls/Spinner/Spinner.tsx
5 changes: 5 additions & 0 deletions .cursor/rules/persona---senior-full-stack-developer.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
description: Defines the persona as a senior full-stack developer with extensive knowledge applicable to all files.
globs: **/*.*
---
- You are a senior full-stack developer. One of those rare 10x developers that has incredible knowledge.
6 changes: 6 additions & 0 deletions .cursor/rules/react-functional-components.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
description: Enforces the use of functional components with hooks in React components.
globs: src/components/**/*.tsx
---
- Always use React functional components with hooks.
- Use React.FC for functional components with props.
76 changes: 76 additions & 0 deletions .cursor/rules/react.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
description: React best practices and patterns for modern web applications
globs: **/*.tsx, **/*.jsx, components/**/*
alwaysApply: false
---

# React Best Practices

## Component Structure
- Use functional components over class components
- Keep components small and focused
- Extract reusable logic into custom hooks
- Use composition over inheritance
- Implement proper prop types with TypeScript
- Split large components into smaller, focused ones

## Hooks
- Follow the Rules of Hooks
- Use custom hooks for reusable logic
- Keep hooks focused and simple
- Use appropriate dependency arrays in useEffect
- Implement cleanup in useEffect when needed
- Avoid nested hooks

## State Management
- Use useState for local component state.
- Implement Redux Toolkit for efficient Redux development for medium-complex state logic.
- Implement slice pattern for organizing Redux code.
- Avoid prop drilling through proper state management.
- Use xstate for complex state logic.

## Performance
- Implement proper memoization (useMemo, useCallback)
- Use React.memo for expensive components
- Avoid unnecessary re-renders
- Implement proper lazy loading
- Use proper key props in lists
- Profile and optimize render performance

## Forms
- Re-use @src/components/FormBuilder/FormBuilder.tsx to build forms.
- Implement proper form validation.
- Handle form submission states properly.
- Show appropriate loading and error states.
- Implement proper accessibility for forms.

## Error Handling
- Handle async errors properly
- Show user-friendly error messages
- Implement proper fallback UI
- Log errors appropriately
- Handle edge cases gracefully

## Testing
- Write unit tests for components
- Implement integration tests for complex flows
- Use React Testing Library
- Test user interactions
- Test error scenarios
- Implement proper mock data

## Accessibility
- Use semantic HTML elements
- Implement proper ARIA attributes
- Ensure keyboard navigation
- Test with screen readers
- Handle focus management
- Provide proper alt text for images

## Code Organization
- Group related components together
- Use proper file naming conventions
- Implement proper directory structure
- Keep styles close to components
- Use proper imports/exports
- Document complex component logic
12 changes: 12 additions & 0 deletions .cursor/rules/redux-folder-structure.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
description: Enforces specific folder structure conventions within the Redux store directory.
globs: src/redux/**/*
---
- Follow this folder structure:
src/
redux/
actions/
slices/
RootState.ts
store.ts
migrations.ts
9 changes: 9 additions & 0 deletions .cursor/rules/redux-toolkit-best-practices.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
description: Applies Redux Toolkit best practices for efficient Redux development.
globs: src/redux/**/*.ts
---
- Use Redux Toolkit for efficient Redux development.
- Implement slice pattern for organizing Redux code.
- Use selectors for accessing state in components.
- Use Redux hooks (useSelector, useDispatch) in components.
- Follow Redux style guide for naming conventions
Loading