Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/file viewer #57

Merged
merged 4 commits into from
Sep 10, 2024
Merged

Feat/file viewer #57

merged 4 commits into from
Sep 10, 2024

Conversation

Harman-singh-waraich
Copy link
Contributor

@Harman-singh-waraich Harman-singh-waraich commented Sep 9, 2024

  • adds file viewer

PR-Codex overview

This PR adds the AttachmentDisplay page, updates links to use Link from react-router-dom, and introduces new components for rendering markdown files.

Detailed summary

  • Added AttachmentDisplay page
  • Updated links to use Link component
  • Added MarkdownRenderer component for markdown files
  • Introduced FileViewer component for rendering various file types

The following files were skipped due to too many changes: web/src/layout/Header/navbar/Explore.tsx, web/src/pages/AttachmentDisplay/Header.tsx, web/src/assets/svgs/icons/paperclip.svg, web/src/pages/AttachmentDisplay/index.tsx, yarn.lock

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Summary by CodeRabbit

  • New Features

    • Introduced a new AttachmentDisplay component for viewing attachments.
    • Added a Loader component for improved loading animations.
    • Implemented a FileViewer component to display various file types.
    • Enhanced document viewing with a new MarkdownRenderer component.
  • Improvements

    • Updated navigation links to use React Router's Link component for smoother transitions.
    • Improved URL construction for better flexibility in routing.
  • Bug Fixes

    • Resolved issues with link navigation by replacing anchor tags with React Router links.
  • Chores

    • Added new dependencies to support document viewing capabilities.

Copy link
Contributor

coderabbitai bot commented Sep 9, 2024

Walkthrough

This pull request introduces several enhancements to the project, including the addition of a new dependency for document viewing, the integration of new components for displaying attachments and Markdown content, and modifications to existing components to improve routing and navigation. Key changes involve the use of React Router's Link component for internal navigation, the implementation of a loading indicator, and the establishment of new routes within the application.

Changes

File Path Change Summary
web/package.json Added dependency "@cyntler/react-doc-viewer": "^1.17.0"
web/src/app.tsx Added route for AttachmentDisplay component
web/src/components/FileViewer/Viewers/MarkdownViewer.tsx Introduced MarkdownRenderer component for rendering Markdown content
web/src/components/FileViewer/index.tsx Added FileViewer component for displaying various file types
web/src/components/HistoryDisplay/Party/JustificationDetails.tsx Changed StyledA from <a> to <Link> for internal navigation
web/src/components/InformationCards/RegistryInformationCard/Policies.tsx Changed StyledA to use Link for internal routing
web/src/components/Loader.tsx Introduced Loader component for displaying loading animations
web/src/layout/Header/navbar/Explore.tsx Modified URL construction for "Curation Policy" link using getIpfsUrl
web/src/pages/AttachmentDisplay/Header.tsx Introduced Header component for attachment display
web/src/pages/AttachmentDisplay/index.tsx Introduced AttachmentDisplay component for displaying attachments with lazy loading
web/src/pages/SubmitItem/Policy/ReadPolicy.tsx Changed StyledA to use Link for internal navigation
web/src/pages/SubmitList/ListParameters/Policy.tsx Changed hyperlink to use Link for improved routing

Possibly related PRs

Suggested labels

Package: Web, Type: Feature🗿

🐰 In the garden where changes bloom,
A viewer for docs dispels the gloom.
With links that hop from page to page,
Our app now dances with newfound grace.
Attachments displayed with style and flair,
A rabbit's delight, we celebrate with care! 🌼✨

Tip

New features

Walkthrough comment now includes:

  • Possibly related PRs: A list of potentially related PRs to help you recall past context.
  • Suggested labels: CodeRabbit can now suggest labels by learning from your past PRs. You can also provide custom labeling instructions in the UI or configuration file.

Notes:

  • Please share any feedback in the discussion post on our Discord.
  • Possibly related PRs, automatic label suggestions based on past PRs, learnings, and possibly related issues require data opt-in (enabled by default).

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai or @coderabbitai title anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

netlify bot commented Sep 9, 2024

Deploy Preview for curate-v2 ready!

Name Link
🔨 Latest commit bfc8900
🔍 Latest deploy log https://app.netlify.com/sites/curate-v2/deploys/66def39a2256a5000803ab96
😎 Deploy Preview https://deploy-preview-57--curate-v2.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between b3669b8 and 60d395e.

Files ignored due to path filters (4)
  • web/src/assets/svgs/icons/arrow-left.svg is excluded by !**/*.svg
  • web/src/assets/svgs/icons/new-tab.svg is excluded by !**/*.svg
  • web/src/assets/svgs/icons/paperclip.svg is excluded by !**/*.svg
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
Files selected for processing (12)
  • web/package.json (1 hunks)
  • web/src/app.tsx (2 hunks)
  • web/src/components/FileViewer/Viewers/MarkdownViewer.tsx (1 hunks)
  • web/src/components/FileViewer/index.tsx (1 hunks)
  • web/src/components/HistoryDisplay/Party/JustificationDetails.tsx (3 hunks)
  • web/src/components/InformationCards/RegistryInformationCard/Policies.tsx (4 hunks)
  • web/src/components/Loader.tsx (1 hunks)
  • web/src/layout/Header/navbar/Explore.tsx (2 hunks)
  • web/src/pages/AttachmentDisplay/Header.tsx (1 hunks)
  • web/src/pages/AttachmentDisplay/index.tsx (1 hunks)
  • web/src/pages/SubmitItem/Policy/ReadPolicy.tsx (2 hunks)
  • web/src/pages/SubmitList/ListParameters/Policy.tsx (2 hunks)
Files skipped from review due to trivial changes (1)
  • web/package.json
Additional comments not posted (19)
web/src/pages/SubmitItem/Policy/ReadPolicy.tsx (1)

5-7: Approved: Transition to React Router's Link.

The transition from a standard anchor tag to React Router's Link component is correctly implemented. This change enhances user experience by enabling client-side routing, which is more efficient than traditional full page reloads. The to prop is correctly used to dynamically generate the navigation URL based on the policyURI, which is a good practice for maintaining dynamic client-side routes.

Also applies to: 17-17

web/src/components/FileViewer/Viewers/MarkdownViewer.tsx (1)

21-38: Approved: Robust Markdown Rendering Implementation.

The MarkdownRenderer component is well-implemented with appropriate checks and handling for the currentDocument. The decoding of base64 encoded data is correctly done, ensuring that the Markdown content is rendered properly. The component is styled consistently with the application's theme, and the handling of specific file types and renderer priority is well thought out.

web/src/components/Loader.tsx (1)

41-49: Approved: Well-Implemented Loader Component.

The Loader component is well-implemented with a smooth breathing animation that enhances the user experience during loading states. The component's design allows for flexibility in usage across the application by accepting width, height, and className as props. This is a good practice for creating reusable UI components.

web/src/components/HistoryDisplay/Party/JustificationDetails.tsx (3)

8-8: Approved: Import of React Router's Link.

The addition of the Link component from react-router-dom is necessary for enabling client-side routing, which aligns with the best practices for single-page applications.


28-28: Approved: Conversion of StyledA to use Link.

Changing StyledA from an anchor tag to a Link component is a good practice in React applications to prevent full page reloads and enhance user experience with smoother transitions.


47-47: Verify the dynamic URL generation.

The to prop uses getIpfsUrl to dynamically generate the URL for the attachment. Ensure that the getIpfsUrl function correctly handles all expected input formats and edge cases.

Verification successful

Dynamic URL generation is correctly handled.

The getIpfsUrl function properly manages different input formats and edge cases, ensuring that the generated URLs are correctly formatted for the IPFS gateway. The implementation includes checks for undefined inputs and uses a helper function to format IPFS paths.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the correctness of the `getIpfsUrl` function by checking its implementation.

# Test: Search for the function implementation. Expect: Proper handling of inputs and edge cases.
ast-grep --lang javascript --pattern $'function getIpfsUrl($_) {
  $$$
}'

Length of output: 74


Script:

#!/bin/bash
# Search for the term `getIpfsUrl` in the codebase to find its definition or import statement.
rg 'getIpfsUrl'

Length of output: 2838


Script:

#!/bin/bash
# Extract the implementation of the `getIpfsUrl` function from `web/src/utils/getIpfsUrl.ts`.
ast-grep --lang javascript --pattern $'export const getIpfsUrl = (url: string) => {
  $$$
}' web/src/utils/getIpfsUrl.ts

Length of output: 121


Script:

#!/bin/bash
# Search for the `getIpfsUrl` function definition in `web/src/utils/getIpfsUrl.ts`.
rg 'getIpfsUrl' web/src/utils/getIpfsUrl.ts

Length of output: 88


Script:

#!/bin/bash
# Use `rg` with context lines to capture the full implementation of the `getIpfsUrl` function.
rg 'export const getIpfsUrl' -A 10 web/src/utils/getIpfsUrl.ts

Length of output: 487

web/src/components/FileViewer/index.tsx (3)

1-6: Approved: Setup and imports for the file viewer.

The initial setup with necessary imports and the inclusion of styles for @cyntler/react-doc-viewer are correctly implemented to support the functionality of the file viewer.


8-9: Approved: Custom Markdown renderer and scrollbar.

The inclusion of a custom Markdown renderer and the application of a custom scrollbar style are good practices to ensure the file viewer handles content consistently and elegantly across the application.


30-51: Approved: Implementation of FileViewer component.

The FileViewer component is well-implemented with clear documentation and a functional approach to handling document viewing. The use of DocViewerRenderers along with a custom renderer for Markdown ensures that the component is versatile and can handle different file types effectively.

web/src/pages/AttachmentDisplay/Header.tsx (2)

1-8: Approved: Setup and imports for the header component.

The setup with necessary imports, including React Router's useNavigate and styled components, is correctly implemented to support the functionality of the header component in the attachment display context.


11-57: Approved: Styling and functionality of the Header component.

The Header component is well-styled with responsive design considerations and includes navigation functionality using a styled button that triggers useNavigate. This implementation aligns with modern web practices and enhances user experience by providing a consistent and functional interface.

web/src/layout/Header/navbar/Explore.tsx (1)

63-63: Dynamic URL construction using getIpfsUrl enhances flexibility.

The change to use getIpfsUrl for constructing the IPFS URL is a good practice as it centralizes the URL generation logic, making it easier to maintain and update in the future. However, ensure that the getIpfsUrl function is thoroughly tested to handle all expected input scenarios.

Run the following script to verify the robustness of the getIpfsUrl function:

web/src/pages/AttachmentDisplay/index.tsx (1)

50-77: Well-implemented dynamic component loading and error handling.

The AttachmentDisplay component is well-implemented with dynamic URL parameter handling and conditional rendering based on the presence of the url. The use of Suspense and lazy for the FileViewer component is a good practice, enhancing the user experience by providing a fallback loader while the component loads. This approach is consistent with modern React best practices.

web/src/app.tsx (1)

43-43: Correct integration of the new route for AttachmentDisplay.

The addition of the new route for the AttachmentDisplay component is correctly implemented within the existing routing structure. Ensure that this new route does not conflict with other routes and is accessible as intended from different parts of the application.

Run the following script to verify the accessibility and non-conflict of the new route:

Verification successful

Verification successful for the new route and import of AttachmentDisplay.

The new route for AttachmentDisplay is correctly integrated into the routing structure without conflicts, and the component is properly imported. No issues were found with the current implementation.

  • The route <Route path="attachment/*" element={<AttachmentDisplay />} /> is correctly placed.
  • The AttachmentDisplay component is imported from ./pages/AttachmentDisplay.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the accessibility and non-conflict of the new route.

# Test: Search for potential route conflicts. Expect: No overlapping routes.
rg --type python -A 5 $'Route'

Length of output: 60


Script:

#!/bin/bash
# Description: Verify the accessibility and non-conflict of the new route.

# Test: Search for potential route conflicts in TypeScript or JavaScript files.
rg --type tsx -A 5 'Route' || rg --type jsx -A 5 'Route'

Length of output: 109


Script:

#!/bin/bash
# Description: Verify the correct import and usage of the AttachmentDisplay component.

# Test: Search for the import statement of AttachmentDisplay.
rg 'import { AttachmentDisplay }' --type tsx || rg 'import { AttachmentDisplay }' --type jsx

Length of output: 333


Script:

#!/bin/bash
# Description: Verify the accessibility and non-conflict of the new route.

# Find all .tsx and .jsx files and search for route definitions.
fd -e tsx -e jsx -x rg 'Route' -A 5 {}

Length of output: 9697


Script:

#!/bin/bash
# Description: Verify the correct import and usage of the AttachmentDisplay component.

# Find all .tsx and .jsx files and search for the import statement of AttachmentDisplay.
fd -e tsx -e jsx -x rg 'import .*AttachmentDisplay' {}

Length of output: 117

web/src/components/InformationCards/RegistryInformationCard/Policies.tsx (3)

10-10: Approved import of Link.

The import is correctly added to support the use of the Link component for internal navigation.


73-73: Approved usage of StyledA with to attribute.

The use of to attribute for internal routing with getIpfsUrl is correctly implemented. Verify that the URL formatting aligns with the application's routing requirements.

Run the following script to verify the URL formatting:

Also applies to: 83-83

Verification successful

Verified usage of StyledA with to attribute for internal routing.

The StyledA component is correctly used with the to attribute for internal routing, leveraging getIpfsUrl to format URLs. This usage is consistent across the codebase and aligns with internal navigation practices. No issues were found.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the URL formatting in the `StyledA` component.

# Test: Search for the `StyledA` component usage. Expect: URLs should be correctly formatted for internal routing.
rg --type js -A 5 $'StyledA'

Length of output: 27


Script:

#!/bin/bash
# Description: Search for the definition and usage of `StyledA` in TypeScript files.

# Search for the definition of `StyledA` in TypeScript files.
ast-grep --lang typescript --pattern 'const StyledA = $_' 

# Search for the usage of `StyledA` in TypeScript files.
rg --type tsx -A 5 'StyledA'

Length of output: 116


Script:

#!/bin/bash
# Description: Search for the usage of `StyledA` in TypeScript files by first locating .tsx files.

# Find all .tsx files and search for the usage of `StyledA`.
fd --extension tsx --exec rg 'StyledA' {}

Length of output: 1057


41-41: Approved modification to StyledA.

The change from an anchor tag to a Link component is consistent with the PR's objectives. Ensure that the styling and functionality are preserved in the transition.

Run the following script to verify the styling:

web/src/pages/SubmitList/ListParameters/Policy.tsx (2)

14-14: Approved import of Link.

The import is correctly added to support the use of the Link component for internal navigation.


69-75: Approved usage of Link with to attribute.

The use of to attribute for internal routing with getIpfsUrl is correctly implemented. Verify that the URL formatting aligns with the application's routing requirements.

Run the following script to verify the URL formatting:

Verification successful

Verified URL formatting in Link component.

The Link component in Policy.tsx correctly uses the to attribute with getIpfsUrl for internal routing. The URL is formatted as expected, and no issues were found with the implementation.

  • The Link component is correctly imported and used.
  • The URL is properly constructed for internal navigation.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the URL formatting in the `Link` component.

# Test: Search for the `Link` component usage. Expect: URLs should be correctly formatted for internal routing.
rg --type js -A 5 $'Link'

Length of output: 24


Script:

#!/bin/bash
# Description: Verify the URL formatting in the `Link` component within the Policy.tsx file.

# Test: Search for the `Link` component usage in the Policy.tsx file and check the usage of `getIpfsUrl`.
fd 'Policy.tsx' --exec rg 'Link' -A 5

Length of output: 798

coderabbitai[bot]
coderabbitai bot previously approved these changes Sep 9, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 60d395e and bfc8900.

Files selected for processing (4)
  • web/src/components/InformationCards/RegistryInformationCard/TopInfo.tsx (2 hunks)
  • web/src/components/ItemCard/ItemField/FileField.tsx (2 hunks)
  • web/src/components/ItemCard/ItemField/ImageField.tsx (2 hunks)
  • web/src/layout/Header/navbar/Explore.tsx (3 hunks)
Additional comments not posted (6)
web/src/components/ItemCard/ItemField/FileField.tsx (2)

7-7: Refactor: Use Link for internal navigation.

The change from an anchor tag to a Link component is a good practice in React applications using React Router. This ensures that navigation is handled internally without reloading the page.


21-21: Verify the URL construction in Link.

Ensure that the URL constructed with the to prop is correct and aligns with the application's routing structure. The use of query parameters (?url=${fileUrl}) should be consistent with how URLs are handled elsewhere in the application.

Verification successful

URL Construction in Link Component is Consistent

The usage of the Link component with query parameters is consistent across the application. Both instances found use the /attachment/?url= pattern, indicating a standardized approach to URL construction. This aligns with the application's routing structure as expected.

  • web/src/components/InformationCards/RegistryInformationCard/TopInfo.tsx
  • web/src/components/ItemCard/ItemField/ImageField.tsx
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the URL construction in `Link` component.

# Test: Search for the `Link` component usage with query parameters. Expect: Consistent usage across the application.
rg --type typescript -A 5 $'Link.*to.*\\?url='

Length of output: 81


Script:

#!/bin/bash
# Description: Verify the URL construction in `Link` component.

# Test: Search for the `Link` component usage with query parameters. Expect: Consistent usage across the application.
rg --type ts -A 5 $'Link.*to.*\\?url='

Length of output: 1161

web/src/components/ItemCard/ItemField/ImageField.tsx (1)

20-22: Enhance user interaction by making images navigable.

Wrapping the image in a Link component allows users to navigate to a detailed view, which enhances the user experience. Ensure that the URL construction is consistent with the application's routing structure.

Verification successful

URL Construction Consistency Verified

The URL construction in the Link component for images is consistent across the application. Both instances found in the codebase use the pattern /attachment/?url=${...}. No discrepancies were found.

  • web/src/components/InformationCards/RegistryInformationCard/TopInfo.tsx
  • web/src/components/ItemCard/ItemField/ImageField.tsx
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the URL construction in `Link` component for images.

# Test: Search for the `Link` component usage with query parameters for images. Expect: Consistent usage across the application.
rg --type typescript -A 5 $'Link.*to.*\\?url='

Length of output: 81


Script:

#!/bin/bash
# Description: Verify the URL construction in `Link` component for images.

# Test: Search for the `Link` component usage with query parameters for images. Expect: Consistent usage across the application.
rg --type tsx -A 5 $'Link.*to.*\\?url='

Length of output: 67


Script:

#!/bin/bash
# Description: Verify the URL construction in `Link` component for images.

# Test: Search for the `Link` component usage with query parameters for images. Expect: Consistent usage across the application.
rg -A 5 $'Link.*to.*\\?url='

Length of output: 1151

web/src/layout/Header/navbar/Explore.tsx (1)

64-64: Improve flexibility with dynamic URL construction.

Replacing static URL construction with getIpfsUrl enhances flexibility and maintainability. Verify that this change integrates well with the rest of the application and does not break existing functionality.

Verification successful

Dynamic URL construction with getIpfsUrl is well-integrated.

The use of getIpfsUrl for dynamic URL construction is consistent across the application, ensuring flexibility and maintainability without breaking existing functionality.

  • getIpfsUrl is used in multiple components for constructing URLs, indicating a standard practice.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the new URL construction method using `getIpfsUrl`.

# Test: Search for the usage of `getIpfsUrl` in link constructions. Expect: Consistent and correct usage across the application.
rg --type typescript -A 5 $'getIpfsUrl'

Length of output: 73


Script:

#!/bin/bash
# Description: Verify the new URL construction method using `getIpfsUrl`.

# Test: Search for the usage of `getIpfsUrl` in link constructions. Expect: Consistent and correct usage across the application.
rg --type ts -A 5 $'getIpfsUrl'

Length of output: 12175

web/src/components/InformationCards/RegistryInformationCard/TopInfo.tsx (2)

14-14: Correct import for new functionality.

The import of Link from react-router-dom is correctly added to support the clickable logo functionality.


126-133: Enhanced functionality with clickable logo.

The StyledLogo component is correctly wrapped within a Link component, making the logo clickable and enhancing user navigation. The dynamic URL construction for the to prop is well-implemented.

Please verify the URL construction to ensure it correctly navigates to the intended attachment page. Consider adding a unit test to cover this new navigation functionality.

@kemuru kemuru self-requested a review September 9, 2024 13:30
@Harman-singh-waraich Harman-singh-waraich merged commit f281f00 into master Sep 10, 2024
7 checks passed
@Harman-singh-waraich Harman-singh-waraich deleted the feat/file-viewer branch September 10, 2024 06:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants