Open
Conversation
updates
* Implement guest course enrollment functionality and enhance user experience - Added utilities for managing guest user course enrollment, including functions to check enrollment status and enroll guests. - Updated components to utilize the new guest enrollment logic, ensuring proper logging and user feedback. - Enhanced the Syllabus, StatusHeader, and CourseFeedback components to handle guest access and enrollment scenarios. - Introduced integration tests to verify guest enrollment behavior and access control. - Updated Course type to include flag for better course management. * Add .disabledLink styles to Syllabus module for improved accessibility and user interaction - Introduced styles for .disabledLink to enhance visual feedback for disabled links. - Added hover and focus states to ensure better user experience and accessibility compliance. * Refactor course components for improved user feedback and error handling - Simplified the enrollment success handling in StatusHeader by removing unnecessary try-catch. - Updated Syllabus component to use .notEnrolledLink for better clarity on user status. - Enhanced CourseFeedback to redirect users to login without sanitizing the URL. - Streamlined LessonPage to improve enrollment checks and user notifications. - Adjusted integration tests to replace waitForTimeout with waitForURL for better reliability. * Rename .disabledLink to .notEnrolledLink in Syllabus module for improved clarity on user status * Refactor guest enrollment logic and improve component interactions - Replaced guest enrollment utilities with Redux-based hooks for better state management. - Updated components (StatusHeader, CourseFeedback, Syllabus) to utilize new hooks for checking enrollment status and enrolling guests. - Enhanced user feedback by logging user types during enrollment actions. - Removed deprecated guest enrollment utility functions to streamline codebase. - Introduced NotEnrolledNotice component for clearer user notifications regarding enrollment status. - Adjusted integration tests to reflect changes in guest enrollment handling. * Update Syllabus styles for improved link visibility and user interaction * Enhance guest enrollment hooks and improve NotEnrolledNotice component - Updated useEnrollGuest hook to specify return type for better type safety. - Simplified NotEnrolledNotice component by removing unnecessary refs and optimizing useEffect for clearer logic. - Adjusted integration tests to improve reliability and ensure proper URL handling for guest enrollment scenarios. * Refactor NotEnrolledNotice into LessonPage for improved clarity and functionality - Merged NotEnrolledNotice component logic directly into LessonPage to streamline user notifications regarding enrollment status. - Enhanced error handling by utilizing a toast notification for unenrolled users and improved navigation flow. - Removed the separate NotEnrolledNotice file to reduce complexity and improve maintainability. * Refactor authentication handling in CourseFeedback and CompleteButton components * Refactor user type handling in CourseFeedback and CompleteButton components * Refactor course components for improved user experience and code clarity - Updated user type handling in CourseFeedback, CompleteButton, and other components to streamline logic and enhance readability. - Simplified NotEnrolledNotice integration into LessonPage for better user notifications regarding enrollment status. - Introduced LessonContent component to encapsulate lesson display logic and improve maintainability. - Enhanced error handling and user feedback mechanisms across various components, ensuring a smoother user experience. * Add NotEnrolledNotice styles and remove deprecated lessons styles
* Update popup tab design for reflections * Remove header text from Reflection modal in BottomActionsModals component * Show ayah conditionally on the page only but no popup * Refactor ReflectionBodyContainer: Simplify icon usage, enhance reflection view logging, and clean up styles. Remove unnecessary TypeScript ignore comment and adjust tab item selection logic. * Remove unnecessary useCallback
…es (#2560) Update verse link regex and tests for triple-digit references
This reverts commit 83785f7.
* Refactor Navbar and ContextMenu to integrate SettingsButton and SettingsDrawer - Removed SettingsDrawer from NavbarBody and added SettingsButton to ContextMenu for better accessibility. - Introduced a new SettingsButton component to handle opening the SettingsDrawer. - Updated ContextMenu layout to accommodate the new SettingsButton while maintaining responsiveness. * Update ContextMenu styles for improved layout and responsiveness - Adjusted padding values for better alignment in the ContextMenu. - Added new styles for reading preferences and chapter navigation components. - Enhanced responsiveness for chapter navigation and settings display on mobile devices. * Add event logging and integration tests for SettingsButton functionality - Integrated event logging to track when the settings drawer is opened. - Created integration tests to verify the visibility and functionality of the settings drawer on both desktop and mobile views. * Update ContextMenu to clarify SettingsDrawer rendering - Changed comment to specify that the SettingsDrawer component is being rendered in the ContextMenu. * Refactor ContextMenu and SettingsButton for improved performance and clarity * Fix logic in ContextMenu for mobile view handling and update SettingsButton props interface * Update ContextMenu styles for improved responsiveness and layout adjustments * Add SettingsDrawer to NavbarBody and remove from ContextMenu for improved structure
…ponsivene and RTL support (#2558) * Update PopularButton and ChapterCard styles for improved responsiveness and RTL support * Update HeroButtons styles to enforce nowrap text wrapping for better layout consistency * Update PopularButton styles to set fixed widths for improved layout on different screen sizes * Remove extra newline in PopularButton styles * Remove unnecessary whitespace in PopularButton styles for cleaner code * Implement PopularDropdown component and integrate it into HomePageHero; refactor PopularButton to accept onClick prop for dropdown handling * Remove PopularButton styles as part of the component refactor; streamline codebase by eliminating unused SCSS file.
… under explore topics (#2540) * Daily ayah pushed down o be above the community section and under explore topics. Add 'quran-in-year-verse-title' translations for multiple languages and enhance TranslationText component to display chapter references. Introduce useChapter hook for fetching chapter data. * Refactor TranslationText and VerseAndTranslation components for improved data handling and UI. Update useChapter hook to include loading state and enhance error handling. Adjust styles in VerseText module for better presentation. * Add shouldShowTitle prop to PlainVerseText component and conditionally render title * Enhance TranslationText component with Next.js Link for chapter references, improve error handling in VerseAndTranslation by using optional chaining, and update SCSS comments for clarity. Add JSDoc documentation to useChapter hook for better understanding of its functionality. * Refactor VerseAndTranslation component to improve error handling and add detailed JSDoc documentation. Enhance useChapter hook with loading state and revalidation capabilities. Update verse reference handling to use getVerseUrl for improved URL generation. * Update TranslationText component to use HTML entities for quotes, simplify mutate function in VerseAndTranslation, and enhance useChapter hook with TypeScript typing for mutate function. * Refactor TranslationText and VerseAndTranslation components to utilize getVerseUrl for chapter references, enhancing URL generation consistency. Remove redundant import of getVerseUrl in VerseAndTranslation. * Enhance TranslationText component to conditionally render text with click handling when chapter name and reference are not available, improving user interaction and display logic. * Remove 'quran-in-year-verse-title' translations from multiple language JSON files and enhance QuranInYearSection component to conditionally display title and reference, improving user experience and consistency across translations. * Refactor TranslationAndReference component to improve accessibility by separating click handling from the main div, enhancing user interaction while maintaining existing functionality. * Refactor TranslationAndReference by updating click handling logic and enhancing aria-label attributes for better screen reader support. * Refactor QuranInYearSection to use localized title text and introduce FootnoteAndSubFootnote component for improved footnote handling * Fix direction in the TranslationAndReference * Update surah name, chapter and verse number to use english * Use chaptersData from static props --------- Co-authored-by: Osama Sayed <toto777_90@hotmail.com>
…ng to the login page (#2545) * Open create goal screen for the guest user before redirecting to the login page * Update initialTab calculation in ReadingGoalPage for tab handling * Refactor ReadingGoalPage to use initialExampleKey for onboarding and update navigation logic * Refactor navigation logic in ReadingGoalPage to handle undefined exampleKey * Add code comment for initial tab index, and refactor navigation and goal reducer * Refactor ReadingGoalPage components to use ReadingGoalExampleKey enum * Remove unused string conversion
* Update QR integration * handle comments
* feat: sso login and logout * fix: protected logout api call with signature * chore: env update * fixed SSO ENABLED check * Update .env.example Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: changes requested * update .envv * minor fixes * minor fixes * minor fixes * minor fixes * fix: lint and optimization * minor types adjustment * minor types adjustment * fix: enable sso login for email and password * Update src/pages/auth.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update src/pages/logout.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
fix room's url
…e next.config.js for additional image domains (#2521) * QF-3354 ref: AuthorInfo component with image error handling and update next.config.js for additional image domains * QF-3354 ref: AuthorInfo component to use centralized AUTHOR_DEFAULT_IMAGE and improve image URL handling with getImageSrc utility function. * QF-3354 ref: Enhance AuthorInfo component by utilizing useCallback for image error handling and updating getImageSrc utility to accept undefined URLs. * QF-3354 ref: Update next.config.js to add additional image domains for Facebook integration * QF-3354 ref: Remove Facebook image domains from next.config.js * QF-3354 chore: add comments explains the image domains for Google and Facebook OAuth user avatars in next.config.js
…tead of feed flag (#2549)
updates
…es [post-merge-sync] Signed-off-by: Mokhtar <rrrokhtar@gmail.com>
tesiting & staging sync Signed-off-by: Mokhtar <rrrokhtar@gmail.com> --------- Signed-off-by: Mohammed Mokhtar <rrrokhtar@gmail.com> Signed-off-by: Mokhtar <rrrokhtar@gmail.com> Co-authored-by: Osama Sayed <osamasayed@users.noreply.github.com> Co-authored-by: H Ayoob <41894237+mohsinayoob@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Yousef Dergham <79238462+yousefdergham@users.noreply.github.com> Co-authored-by: Osama Sayed <toto777_90@hotmail.com> Co-authored-by: Ahmed Hussein <ahmedhussein.developer@gmail.com> Co-authored-by: zonetecde <zonetecde@gmail.com> Co-authored-by: Rayane Staszewski <56195432+zonetecde@users.noreply.github.com> Co-authored-by: Test User <test@example.com> Co-authored-by: afifvdin <afifudin.fdn@gmail.com> Co-authored-by: Al Imam <alimam01828@gmail.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Basit Minhas <basit3407@gmail.com> Co-authored-by: mustafa0x <mustafa.0x@gmail.com>
- Add comprehensive review prompt and common mistakes documentation - Enhance pull request template with rollback safety and edge cases - Include detailed checklists for code quality and best practices
…ts (#2666) * fix: align quranic calendar weeks with CSV and update tests * applied copilot suggestions * force a stable timezone for tests --------- Co-authored-by: Osama Sayed <toto777_90@hotmail.com>
…cting surah (#2617) * centered switch item text * when a surah is selected in the drawer, the first verse is selected * added edge case playwright tests and fixed mobile behaviour * fixed a bug when selecting twice the same verse * applied copilot suggestion * removed a mobile-only logic * fixed some tests
…2673) - Increase blockquote paragraph line-height for Urdu RTL pages to prevent glyph collisions in large Urdu text. - This applies a language- and direction-specific override without affecting LTR or non-Urdu content.
fix(course): always render HTML in learning plans
* reverted previous PR changes and added a right padding to the modal title * fixed padding on desktop and tablet view * fixed vertical cross alignement on the modal * removed duplicated scss and border between modal header and content
…2515) * Fix: Browser back button loses search paging (QF-3105) - Fixed search pagination so browser history navigation preserves state * fixed back browser history with localization * unskipped tests and added page query parameter from the start to avoid url redirection * updated tests * added unit tests for useAddQueryParamsToUrl
* Fix: IndoPak font overlap * Update IndoPak stop signs regex * Applied coderabbitai suggestion * applied copilot suggestions * applied copilot suggestion * moved the logic on another file * reverted textword changes * added a stop sign * added a stop sign * added a stop sign * added a stop sign
#2531) * Now hides the navbar during automatic scrolling to a verse to prevent it from covering part of the verse * Added comments * Ensure navbar lock releases on auto-scroll cleanup * applied coderrabbit suggestions and removed codex's one * applied copilot suggestions * cleaned up * rem magical number
- Introduce arguments for single or multiple PRs (space or comma-separated) - Add steps for each PR, including fetching details and diff - Implement re-review protocol to check previous reviews and focus on new changes - Include multi-PR workflow for reviewing multiple PRs sequentially - Update review criteria and output format with previous review status section
…s fetch Simplify the review guidelines by merging the steps for fetching previous reviews and comments into a single command, and update the summary to use uppercase for review states. This improves efficiency and clarity in the review workflow.
* Add chapter metadata API functionality - Introduced function to fetch chapter metadata including suggestions and next/previous summaries. - Added utility to construct the API URL for chapter metadata. - Defined new and interfaces to structure the response data. * Update chapterId type from number to string in API and types - src/api.ts: Changed chapterId parameter type in getChapterMetadata function to string. - src/utils/apiPaths.ts: Updated makeChapterMetadataUrl function to accept chapterId as a string. - types/ApiResponses.ts: Modified ChapterMetadata interface to use ChapterSummaries for nextChapter and previousChapter properties. * [QF-3120] End of surah section readmore card (#2699) * Implement End of Surah Section with Navigation and Styling - Added EndOfSurahSection component to display navigation options for the next and previous surahs. - Introduced ReadMoreCard for summarizing adjacent chapters with links. - Updated localization files for Arabic and English to include new navigation strings. - Created new SCSS modules for styling the End of Surah section and Read More card. - Added utility functions for random selection from arrays and word counting. - Enhanced chapter navigation logic to support both standard and revelation orders. - Included unit tests for new utility functions and chapter navigation logic. * Update ChapterControls and ChapterLink components for improved localization and accessibility - Modified ChapterControls to display the LearningPlanBanner for both English and Urdu languages. - Updated ChapterLink to change the summary type from ChapterSummary to ChapterContent and adjusted aria attributes for better accessibility. * Update localization strings, improve SCSS styles, and refactor EndOfSurahSection component - Changed button label from "Begin Now" to "Start Now" in localization file. - Updated SCSS styles for ReadMoreCard to use margin-block-end instead of margin-bottom. - Refactored handleCloseModal function in EndOfSurahSection component to remove unnecessary useCallback. - Added missing newline at the end of several SCSS files for consistency. * Integrate Redux for state management in RevelationOrderView component - Added useDispatch hook to manage reading state with Redux. - Updated logic to dispatch setIsReadingByRevelationOrder action instead of using local state. * [QF-3120] End of surah section - explore card (#2700) * Add ExploreCard component to EndOfSurahSection for enhanced navigation options - Introduced ExploreCard to provide users with action buttons for tafsir, reflections, lessons, and answers based on chapter context. - Integrated new styles for ExploreCard to improve visual presentation. - Updated EndOfSurahSection to include ExploreCard and handle modal interactions for questions. - Added utility functions for navigation URLs and button click logging. - Enhanced localization support for new action labels. * Refactor button click logging in ExploreCard component - Updated the button click logging mechanism to normalize the key format by replacing periods with underscores, ensuring consistent logging for end of surah actions. - This change enhances the accuracy of tracking user interactions with the ExploreCard component. * Refactor modal handling and enhance ExploreCard functionality - Simplified modal open and close handlers in EndOfSurahSection by removing unnecessary useCallback. - Updated ExploreCard actions to ensure proper handling of selected tafsirs and modified modal types for improved clarity. - Added a new lesson modal to BottomActionsModals for enhanced user navigation options. - Improved SCSS file by ensuring proper formatting with a newline at the end of the file. * Enhance EndOfSurahSection to dynamically determine verse with questions - Updated logic in EndOfSurahSection to find the first verse in the chapter with associated questions, improving user experience. - Modified ExploreCard to utilize the new questionsVerseKey for navigation, ensuring accurate context for answers. - Refactored hasQuestions check to evaluate all verses in the chapter for better functionality. * [QF-3120] End surah streak card (#2732) * Refactor StreakOrGoalCard to use ReadingGoalCardContent component - Replaced the inline goal progress and CTA rendering in StreakOrGoalCard with a new ReadingGoalCardContent component for better separation of concerns. - Introduced new styles for ReadingGoalCardContent to manage goal progress display and CTA button. - Removed unused styles and components from StreakOrGoalCard to streamline the codebase. - Added StreakGoalCard component to EndOfSurahSection for enhanced user engagement with reading goals and streaks. * Update ReadingGoalCardContent props and enhance styling in EndOfSurahSection - Made currentActivityDay prop optional in ReadingGoalCardContent for improved flexibility. - Adjusted SCSS styles for EndOfSurahSection to refine card layout and padding. - Updated StreakGoalCard to conditionally render goal progress link based on goal availability, enhancing user experience. * Refactor StreakOrGoalCard and ReadingGoalCardContent to enhance arrow visibility and styling - Updated ReadingGoalCardContent to replace onGoalArrowClick with shouldShowArrow for better clarity in prop usage. - Adjusted StreakOrGoalCard to conditionally render the arrow based on the presence of a goal. - Enhanced SCSS styles for EndOfSurahSection to maintain consistent card sizing and improve visual presentation of progress elements. * Enhance StreakGoalCard styling and localization updates - Updated localization strings for "day streak" and "days streak" to capitalize the first letter for consistency. - Modified StreakGoalCard styles to improve layout and responsiveness, including adjustments for mobile views and new icon integration. - Added conditional rendering for an arrow icon based on goal availability to enhance visual feedback.
…dation Add a new "Testing & Validation" section to the review prompt, covering automated checks like tests, linting, and build, as well as edge cases for loading, error, empty, and auth states. Renumber subsequent sections accordingly.
- Applied automatic fixes from stylelint - Applied automatic fixes from ESLint - No functional or behavioral changes
* [QF-4313] clear on submit success * [QF-4313] configure form to accept success argument * [QF-4313] update the comment * [QF-4313] fix test and comments
* [QF-3666-hooks] add hooks and function related to updating user profile including avatar * [QF-3666-hooks] Refactor hooks * [QF-3666-hooks] remove base64 param handling and refactor how cache work * [QF-3666-hooks] change type to interface * [QF-3666-hooks] remove unused * [QF-3666-hooks] fix avatar handling error * [QF-3666-hooks] add logging and fix profile.json * [QF-3666-hooks] configure body parse limit * [QF-3666-hooks] custom error handler for avatar * [QF-3666] Update user profile * [QF-3666-hooks] fix image format conversion, api limit and refactor * [QF-3666-hooks] refactor * [QF-3666-hooks] put back translationsParams * [QF-3666] refactor * [QF-3666] refactor * [QF-3666] remove unnecessary * [QF-3666] refactor integration test * [QF-3675-hooks] add useUpdatePassword hook * [QF-3675] Update Password UI for Profile Page * [QF-3666] add test id utils * [QF-3675] add test * [QF-3675] reusable wait time in test * [QF-3675] fix code comments * [QF-3675] fix test * [QF-3675] fix password input * [QF-3675] fix test * [QF-3667-hooks] add hooks to update email preferences * [QF-3667] Profile Update - Email Notification Settings * [QF-3667] add tests * [QF-3667] fix code comments * [QF-3667] fix error merge * [QF-3667] fix code comments
* Redesign streak progress * [QF-3645] Enhance reading progress widget with new description component and improve localization. Update styles for better readability and adjust button functionality for goal navigation. * [QF-3645] use Trans, refactor checking, use useIsMobile hook * [QF-3645] improve code comments, translation, props and getDayState function * [QF-3645] rename button class cta * [QF-3645] replace isMobile with useIsMobile * [QF-3645] fix redundant styling on svg and path * [QF-3645] Use variable styling * [QF-3645] add test and refactor * [QF-3645] fix test * [QF-3645] fix streak text * [QF-3645] remove important * [QF-3645] refactor * [QF-3645] fixing css * [QF-3645] fix button variant * [QF-3645] fix tests
* Enhance CourseDetails component with completion status display - Added a new completedContainer style for better layout of completed courses. - Integrated completion status into CourseDetails, displaying a completion pill and feedback option for users who have not provided feedback yet. - Updated the course destructuring to include isCompleted property for conditional rendering. * Add CompletedStatus component for course completion display - Introduced a new CompletedStatus component to encapsulate the display of course completion status, including a completion pill and feedback option for users without feedback. - Updated CourseDetails and StatusHeader components to utilize the new CompletedStatus component, improving code reusability and clarity. - Removed redundant styles and logic related to completion status from CourseDetails and StatusHeader, streamlining the components. * Fix CSS syntax errors in CompletedStatus and CourseDetails styles - Corrected a typo in the flex-direction property in CompletedStatus.module.scss. - Ensured proper formatting by adding a newline at the end of CourseDetails.module.scss. * Fix typo in flex-direction property in CompletedStatus.module.scss * Remove unnecessary margin from container in CompletedStatus.module.scss for improved layout consistency. * Refactor CompletedStatus styles to use flexbox mixin for improved maintainability - Introduced a new flexbox mixin for centering elements. - Updated CompletedStatus.module.scss to utilize the mixin, enhancing code clarity and reusability.
9c8660c to
b9c054d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Those SCSS styles were not auto-fixed because the logical replacement is not 100% safe, so someone has to fix them manually.
We also have some issues in the JS/TS files that need to be fixed manually