Skip to content

Conversation

offbeatjs
Copy link

Updated the hero component to allow users to select multiple programming languages via checkboxes, both from main and 'other' languages. Modified the repo page logic to accept and process multiple languages, fetching and merging results from GitHub for each selected language. This enhances the search experience by supporting multi-language queries.
(commit desc by copilot)

what's changed tl;dr

  • hero.tsx to add langauge selector checkboxes
  • src\app(public)\repos[language]\page.tsx edited to add multi language support by querying Github API

Updated the hero component to allow users to select multiple programming languages via checkboxes, both from main and 'other' languages. Modified the repo page logic to accept and process multiple languages, fetching and merging results from GitHub for each selected language. This enhances the search experience by supporting multi-language queries.
(commit desc by copilot)
Copy link

vercel bot commented Oct 11, 2025

@offbeatjs is attempting to deploy a commit to the Max Programming's projects Team on Vercel.

A member of the Team first needs to authorize it.

Copy link

vercel bot commented Oct 11, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
hacktoberfest-projects Ready Ready Preview Comment Oct 14, 2025 11:57am

Copy link
Owner

@max-programming max-programming left a comment

Choose a reason for hiding this comment

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

Thanks for this implementation!

Here are a few requested changes

Copy link
Owner

Choose a reason for hiding this comment

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

This implementation is very nice, and the UI is good too. With the UX, there is a problem that the user has to click on the search button, which is in line with the input.

A better way to handle this would be to have a search button below like this

[ SEARCH YOUR LANGUAGE                           ]
[________________________________________________]
[ Type a language (optional)...                             ]

OR SELECT FROM THE LIST BELOW

[ ] JavaScript [ ] Python [ ] C++ ...
[ ] Rust       [ ] HTML   [ ] TypeScript ...

      [ OTHER LANGUAGES ]

      +-------------------+
      |      SEARCH       |
      +-------------------+

Copy link
Owner

Choose a reason for hiding this comment

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

We can make this button better. And maybe remove that button beside the input at the top

Image

@max-programming
Copy link
Owner

max-programming commented Oct 11, 2025

@offbeatjs I have reviewed the code and it's good but the implementation doesn't work. I have requested some changes to make the implementation perfect. Please let me know if you get stuck anywhere or you don't understand something ✌️

@offbeatjs
Copy link
Author

Thanks for the awesome insights ! I'll do this asap

offbeatjs and others added 4 commits October 11, 2025 14:39
fixed the requested changes
- added search button below
- directory move from `/(public)/repos/[language]/_components` to `/(public)/repos/_components`
@offbeatjs
Copy link
Author

Could you check this up ?

Copy link
Owner

@max-programming max-programming left a comment

Choose a reason for hiding this comment

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

Loving it so far @offbeatjs!

I've left a few comments for further improvements

- Replaced CSV params with Array
- Moved the search bar up, and the button where it was.
Copy link
Owner

@max-programming max-programming left a comment

Choose a reason for hiding this comment

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

A few more changes and we're good to go

Copy link
Owner

Choose a reason for hiding this comment

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

We can make this button better. And maybe remove that button beside the input at the top

Image

Comment on lines 19 to 22
const langs = raw
.flatMap(r => r.split(',')) // handles comma-separated and multi params
.map(s => decodeURIComponent(s.trim()))
.filter(Boolean);
Copy link
Owner

Choose a reason for hiding this comment

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

We no longer need this because out raw is already a string[]

Copy link
Owner

Choose a reason for hiding this comment

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

Also let's add a loading.tsx file under /repos folder so that we get a loading skeleton while the data is being fetched

offbeatjs and others added 3 commits October 13, 2025 21:43
Refactored the hero search form to separate the input and submit button, improving accessibility and layout. Added a loading skeleton for the repos page to enhance user experience during data fetching. Also simplified language parameter parsing in the repos page.

- the repos/loading.tsx is exact same as the /repos/[language]/loading.tsx
@offbeatjs
Copy link
Author

Let me know if there are further changes needed.

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.

Allow multiple language based searching for repositories

2 participants