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

various changes #124

Closed
wants to merge 8 commits into from
Closed

various changes #124

wants to merge 8 commits into from

Conversation

devvsakib
Copy link
Contributor

@devvsakib devvsakib commented Jul 16, 2024

Description

This PR contains all changes mentioned in issue #123

Fixes #123

Summary by CodeRabbit

  • New Features

    • Introduced a 'People' page with search functionality to find people by name or description.
    • Added a 'Projects' page with search functionality to filter projects dynamically.
  • Improvements

    • Updated styling on the Data Structures in Rust page for a better visual experience.
    • Streamlined the Home page layout by removing several sections, focusing on a more concise user interface.
  • Bug Fixes

    • Fixed navigation links in mobile and desktop menus to use actual paths instead of hash fragments.
  • Content Updates

    • Updated profile information in the 'People' page to reflect current team members and their roles.

Copy link

vercel bot commented Jul 16, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
rustcrab ❌ Failed (Inspect) Jul 26, 2024 4:11pm

Copy link
Contributor

coderabbitai bot commented Jul 16, 2024

Walkthrough

The recent changes primarily involve a significant restructuring of the application. The home page has been simplified by removing several sections, with dedicated pages created for features like People and Projects. Navigation links in both mobile and main components have been updated to reflect these changes. Additionally, there are styling adjustments and updates to the people data array to enhance user experience.

Changes

Files Change Summary
src/app/dsas/page.tsx Updated CSS classes for background color, affecting visual presentation.
src/app/page.tsx Removed multiple sections (Books, Projects, etc.) from the home page.
src/app/people/page.tsx Introduced a new People page with search functionality and dynamic filtering.
src/app/projects/page.tsx Introduced a new Projects page with search functionality and dynamic filtering.
src/components/navbar/MobileNav.tsx Updated links in the menuItems array to use actual paths instead of hash fragments.
src/components/navbar/Navbar.tsx Updated link paths in the menuItems array.
src/data/people.ts Updated a person's information in the people array.

Assessment against linked issues

Objective Addressed Explanation
Remove all sections from the home page except the banner and form (#123)
Implement separate pages for other sections and update navigation (#123)

Poem

In code's vast world, split pages anew,
Projects and People with search filters too,
Links now refined, paths clear and bright,
A rabbit's delight, in code's pure light. 🐇✨


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 as 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.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

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
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: 4

Outside diff range, codebase verification and nitpick comments (1)
src/app/dsas/page.tsx (1)

Ensure consistent use of module paths and check icon imports.

  • The alias @/data/dsa is correctly configured and points to src/data/dsa.ts, which exports dsas and DSA.

  • The FaCopy and IoCloseSharp icons are not found in the project. Ensure these icons are installed and correctly imported.

  • Path Configuration:

    • @/data/dsa correctly resolves to src/data/dsa.ts.
  • Icon Imports:

    • FaCopy from react-icons/fa not found.
    • IoCloseSharp from react-icons/io5 not found.
Analysis chain

Line range hint 1-48: Ensure consistent use of module paths and check icon imports.

The imports use aliases and specific icon imports. Verify that these aliases and icons are correctly configured and available in the project.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if '@/data/dsa' alias and FaCopy, IoCloseSharp icons are configured and available
cat tsconfig.json | jq '.compilerOptions.paths'
fd 'FaCopy' --exec cat {}
fd 'IoCloseSharp' --exec cat {}

Length of output: 142


Script:

#!/bin/bash
# Verify the presence of dsas and DSA in src/data/dsa
fd 'dsas' src/data/dsa --exec cat {}
fd 'DSA' src/data/dsa --exec cat {}

# Confirm the imports for FaCopy and IoCloseSharp by checking the relevant files in the project
fd 'react-icons/fa' --exec cat {}
fd 'react-icons/io5' --exec cat {}

Length of output: 349


Script:

#!/bin/bash
# Search for files and directories named 'dsa' to confirm the correct path
fd 'dsa'

# Adjust the search criteria for react-icons/fa and react-icons/io5 to ensure accurate results
fd 'react-icons/fa' --type f
fd 'react-icons/io5' --type f

Length of output: 127


Script:

#!/bin/bash
# Verify the contents of src/data/dsa.ts to ensure dsas and DSA are correctly exported
cat src/data/dsa.ts

# Search for any files importing FaCopy and IoCloseSharp to confirm their usage
fd 'FaCopy' --type f
fd 'IoCloseSharp' --type f

Length of output: 16158

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 83cadcf and a3272b9.

Files selected for processing (7)
  • src/app/dsas/page.tsx (2 hunks)
  • src/app/page.tsx (1 hunks)
  • src/app/people/page.tsx (1 hunks)
  • src/app/projects/page.tsx (1 hunks)
  • src/components/navbar/MobileNav.tsx (1 hunks)
  • src/components/navbar/Navbar.tsx (1 hunks)
  • src/data/people.ts (1 hunks)
Additional comments not posted (6)
src/components/navbar/Navbar.tsx (1)

10-15: Updated navigation paths look good

The changes to the navigation paths in the menuItems array align with the PR objectives to create separate pages for each section. This should improve user navigation and site organization.

src/data/people.ts (1)

27-32: Updated people data entry is correctly formatted

The changes to the people array to update Francesco Ciulla's entry to Sakib Ahmed are correct and align with the PR description. The new role, description, and profile details are accurately reflected.

src/app/page.tsx (1)

Line range hint 1-39: Simplified homepage rendering

The changes to the Home function, which involve removing several sections, are consistent with the PR objectives to simplify the homepage and direct users to dedicated pages for each section. This should enhance the user experience by decluttering the homepage.

src/components/navbar/MobileNav.tsx (1)

14-19: Updated mobile navigation paths are appropriate

The changes to the mobile navigation paths in the menuItems array are appropriate and align with the PR objectives to create separate pages for each section. This improves consistency across different device types and enhances user navigation.

src/app/projects/page.tsx (1)

1-6: Ensure consistent use of module paths.

The import for tools uses an alias @/data/tools. Verify that this alias is configured in the project's module resolution settings (e.g., tsconfig.json or webpack.config.js).

Verification successful

Alias configuration is correct.

The alias @/data/tools is correctly configured in the tsconfig.json file, mapping to the ./src/data/tools directory.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if '@/data/tools' alias is configured
cat tsconfig.json | jq '.compilerOptions.paths'

Length of output: 80

src/app/people/page.tsx (1)

1-9: Ensure consistent use of module paths and check icon imports.

The imports use aliases and specific icon imports. Verify that these aliases and icons are correctly configured and available in the project.

Verification successful

The alias @/data/people and the FaGithub icon import are correctly configured and available.

  • The alias @/data/people is correctly resolved to ./src/data/people, and the file exists.
  • The react-icons package is installed, which includes the FaGithub icon.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if '@/data/people' alias and FaGithub icon are configured and available
cat tsconfig.json | jq '.compilerOptions.paths'
fd 'FaGithub' --exec cat {}

Length of output: 110


Script:

#!/bin/bash
# Verify the existence of the './src/data/people' file
if [ -f "./src/data/people.js" ] || [ -f "./src/data/people.ts" ] || [ -f "./src/data/people.tsx" ]; then
  echo "people file exists"
else
  echo "people file does not exist"
fi

# Check for the presence of the 'react-icons/fa' package in the 'package.json' file
cat package.json | jq '.dependencies["react-icons"]'

Length of output: 178

src/app/projects/page.tsx Show resolved Hide resolved
src/app/projects/page.tsx Show resolved Hide resolved
src/app/people/page.tsx Show resolved Hide resolved
src/app/people/page.tsx Show resolved Hide resolved
@devvsakib
Copy link
Contributor Author

What is the error?

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

Outside diff range, codebase verification and nitpick comments (1)
src/app/page.tsx (1)

Line range hint 3-10:
Remove unused imports.

The imports for Books, DevToolsSection, ProjectsSection, DSAToolSection, PeopleSection, and LessonSection are no longer used and should be removed.

-import Books from "../components/BooksSection";
-import DevToolsSection from "../components/DevToolsSection";
-import ProjectsSection from "../components/ProjectsSection";
-import DSAToolSection from "@/components/DSASection";
-import PeopleSection from "@/components/PeopleSection";
-import LessonSection from "@/components/LessonSection";
Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between a3272b9 and ef47314.

Files selected for processing (1)
  • src/app/page.tsx (1 hunks)
Additional comments not posted (2)
src/app/page.tsx (2)

Line range hint 12-40:
LGTM! The JSX structure aligns with the PR objectives.

The JSX structure has been simplified to focus on the banner and form, which aligns with the PR objectives.


Line range hint 12-40:
LGTM! Verify the navigation links.

The overall functionality of the Home component is simplified, aligning with the PR objectives.

Ensure that the navigation links to the separate pages for the removed sections are correctly implemented.

Verification successful

Let's correct the file type in the rg command and re-run the verification to check for the navigation links.


Let's update the shell script to remove the file type filter and add the --debug flag to understand why files are being skipped.


Let's update the shell script to include hidden files and directories in the search to ensure we capture all relevant files.


Let's verify if the /books, /devtools, /projects, /people, and /lessons pages exist in the codebase and if they are referenced elsewhere.


Navigation Links Verification

The verification process revealed that the navigation links to the /books, /devtools, /projects, /people, and /lessons pages exist in the codebase. These links are referenced in various components such as Navbar, MobileNav, and specific section components.

  • src/components/navbar/Navbar.tsx: Links to /books, /devtools, /projects, /people, and /lessons.
  • src/components/navbar/MobileNav.tsx: Links to /books, /projects, and /people.
  • src/components/BooksSection.tsx: Link to /books.
  • src/components/DevToolsSection.tsx: Link to /devtools.
  • src/components/ProjectsSection.tsx: Link to /projects.
  • src/components/PeopleSection.tsx: Link to /people.
  • src/components/LessonSection.tsx: Link to /lessons.

Additionally, the corresponding page files for these sections are present in the src/app directory.

  • src/app/books/page.tsx
  • src/app/people/page.tsx
  • src/app/lessons/page.tsx

This confirms that the removed sections are correctly linked to their respective pages.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the navigation links to the separate pages for the removed sections.

# Test: Search for navigation links. Expect: Links to /books, /devtools, /projects, /people, and /lessons pages.
rg --type jsx -A 2 $'<a href="/books"'
rg --type jsx -A 2 $'<a href="/devtools"'
rg --type jsx -A 2 $'<a href="/projects"'
rg --type jsx -A 2 $'<a href="/people"'
rg --type jsx -A 2 $'<a href="/lessons"'

Length of output: 348


Script:

#!/bin/bash
# Description: Verify the navigation links to the separate pages for the removed sections.

# Test: Search for navigation links. Expect: Links to /books, /devtools, /projects, /people, and /lessons pages.
rg --type js -A 2 '<a href="/books"'
rg --type js -A 2 '<a href="/devtools"'
rg --type js -A 2 '<a href="/projects"'
rg --type js -A 2 '<a href="/people"'
rg --type js -A 2 '<a href="/lessons"'

Length of output: 948


Script:

#!/bin/bash
# Description: Verify the navigation links to the separate pages for the removed sections.

# Test: Search for navigation links. Expect: Links to /books, /devtools, /projects, /people, and /lessons pages.
rg --debug -A 2 '<a href="/books"'
rg --debug -A 2 '<a href="/devtools"'
rg --debug -A 2 '<a href="/projects"'
rg --debug -A 2 '<a href="/people"'
rg --debug -A 2 '<a href="/lessons"'

Length of output: 21217


Script:

#!/bin/bash
# Description: Verify the navigation links to the separate pages for the removed sections.

# Test: Search for navigation links. Expect: Links to /books, /devtools, /projects, /people, and /lessons pages.
rg --hidden -A 2 '<a href="/books"'
rg --hidden -A 2 '<a href="/devtools"'
rg --hidden -A 2 '<a href="/projects"'
rg --hidden -A 2 '<a href="/people"'
rg --hidden -A 2 '<a href="/lessons"'

Length of output: 198


Script:

#!/bin/bash
# Description: Verify the existence of the pages for the removed sections and check for references.

# Test: Search for the existence of the pages.
rg '/books'
rg '/devtools'
rg '/projects'
rg '/people'
rg '/lessons'

Length of output: 1531

@FrancescoXX
Copy link
Owner

please wait to be assigned on an issue before working on that.

also,l the build is not working

@FrancescoXX
Copy link
Owner

image
@devvsakib let me know if you can fix that

@devvsakib devvsakib closed this Nov 6, 2024
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.

[FEAT] Page and UI related changes
2 participants