-
Notifications
You must be signed in to change notification settings - Fork 4
feat: add new dependencies including bootstrap, react-bootstrap, tailwindcss, and supporting libs #715
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
Conversation
…windcss, and supporting libs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello @anyulled, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
Summary of Changes
Hello team,
Gemini here with a summary of this pull request. This PR introduces several new UI libraries and their supporting dependencies to the project, specifically Bootstrap, React-Bootstrap, and Tailwind CSS. It also includes the necessary configuration files for Tailwind CSS (postcss.config.js, tailwind.config.js) and updates the Vite configuration.
Furthermore, this pull request refactors the existing Job Offers page implementation, replacing the old component with a new structure built using the newly added libraries. It introduces dedicated components for displaying company information, individual job offers, and filtering options. The PR also updates the site's data to enable the Job Offers section and populates it with initial job listings.
Overall, this is a significant change focused on modernizing the UI framework and implementing a new Job Offers feature.
Highlights
- New UI Libraries: Adds Bootstrap, React-Bootstrap, and Tailwind CSS as project dependencies to provide a more robust and flexible styling and component foundation.
- Job Offers Page Refactor: Replaces the previous Job Offers page implementation with new components (
JobOffersList,CompanyCard,JobOfferCard,JobFilters) utilizing the new UI libraries for improved structure and functionality. - Job Offers Data and Enabling: Includes actual job offer data and updates the 2025 data configuration to enable the Job Offers section in the navigation.
- Styling and Configuration: Adds necessary configuration files for PostCSS and Tailwind CSS and includes new styles in
index.scssto support the new Job Offers components.
Changelog
Click here to see the changelog
- package-lock.json
- Added numerous new dependencies including bootstrap, react-bootstrap, tailwindcss, autoprefixer, postcss, lucide-react, react-icons, and their transitive dependencies.
- Removed the
dev: trueflag from thedequaldependency.
- package.json
- Added direct dependencies for bootstrap, react-bootstrap, lucide-react, react-icons, autoprefixer, globals, postcss, and tailwindcss.
- postccs.config.js
- Added a new file to configure PostCSS with tailwindcss and autoprefixer plugins.
- src/App.tsx
- Removed import for the old
JobOfferscomponent (line 93). - Added import for the new
JobOffersListcomponent (line 103). - Updated the route for
ROUTE_JOB_OFFERSto render the newJobOffersListcomponent instead of the oldJobOfferscomponent (line 212).
- Removed import for the old
- src/components/JobOffers/CompanyCard.tsx
- Added a new component for displaying individual companies and their job offers using React-Bootstrap, Lucide icons, and Framer Motion.
- src/components/JobOffers/CompanyOffers.tsx
- Updated import paths from relative to alias (
@styles/colors,@types/jobOffers) (lines 2, 16). - Added
@ts-expect-errorcomment to the@types/jobOffersimport (line 15).
- Updated import paths from relative to alias (
- src/components/JobOffers/JobFilters.tsx
- Added a new component for filtering job offers by search term and location using React-Bootstrap, Lucide icons, and Framer Motion.
- src/components/JobOffers/JobOfferCard.tsx
- Added a new component for displaying individual job offers using React-Bootstrap, Lucide icons, and Framer Motion.
- src/components/JobOffers/JobOffersList.tsx
- Added a new component that orchestrates the display and filtering of job offers, replacing the functionality of the old
JobOffersview. - Imports and uses
CompanyCardandJobFilters.
- Added a new component that orchestrates the display and filtering of job offers, replacing the functionality of the old
- src/components/Navigation/NavigationData.ts
- Added
ROUTE_JOB_OFFERSto the import from@constants/routes(line 6). - Uncommented the 'JOB OFFERS' entry in
navigationItems2025to make it visible (line 26).
- Added
- src/data/2025.json
- Changed
jobOffers.enabledfromfalsetotrueto activate the job offers section (line 21).
- Changed
- src/index.scss
- Imported Bootstrap CSS (line 4).
- Added extensive new CSS rules for styling the job offers components, including cards, logos, badges, titles, and filters (lines 70-213).
- src/views/JobOffers/JobOffers.tsx
- Updated various import paths from relative to alias (
@constants/BreakPoints,@styles/colors,@assets/images,@components/SectionWrapper,@components/SectionTitle,@data/2024.json,@styles/JobOffers/JobOffers.Style,@components/JobOffers/CompanyOffers,@hooks/useDocumentTitleUpdate) (lines 1-20). - Removed the
widthprop from theMoreThanLessThancomponent (line 48). This file is no longer routed to inApp.tsx.
- Updated various import paths from relative to alias (
- src/views/JobOffers/JobsData.ts
- Populated the
jobOffersarray with actual data for 'CAIXABANK TECH' and 'Snowflake' (lines 4-67).
- Populated the
- tailwind.config.js
- Added a new file to configure Tailwind CSS content paths.
- vite.config.ts
- Removed a comment from the
baseproperty (line 52). - Added
lucide-reacttooptimizeDeps.excludefor Vite (line 64).
- Removed a comment from the
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
New libraries arrive,
Bootstrap, Tailwind, help us thrive.
Job offers now appear,
Making code much more clear.
A refactor, alive!
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
✅ Deploy Preview for dev-bcn ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces a significant enhancement by adding new dependencies like Bootstrap, React-Bootstrap, and Tailwind CSS, and completely revamping the Job Offers page. The new page, built with JobOffersList and supporting components, leverages these libraries along with lucide-react for icons and framer-motion for animations, offering a much-improved user experience with filtering and a modern UI.
While the new functionality is a great step forward, there are a few key areas to address:
- Styling Strategy: The project now incorporates PrimeReact, Bootstrap (CSS + React-Bootstrap components), Tailwind CSS, and custom SCSS. It would be beneficial to clarify the strategy for using these different styling systems. This will help avoid potential bundle size increases, styling conflicts, inconsistent UI, and developer confusion. Consider outlining when to use Tailwind utility classes versus custom SCSS or Bootstrap components.
- TypeScript Errors: There are several
@ts-expect-errorcomments. These should be investigated and resolved to ensure type safety and catch potential bugs. - Icon Libraries: The project now includes both
lucide-reactandreact-icons. Are both necessary? Consolidating to one could simplify dependencies.
Overall, this is a valuable addition. Addressing the points above will further improve the code quality and maintainability.
Summary of Findings
- TypeScript Error Suppressions: Multiple
@ts-expect-errorcomments are present across the new Job Offer components. These should be investigated and resolved to ensure type safety. - Image Error Handling: The
onErrorhandler for company logos inCompanyCard.tsxcould lead to an infinite loop if the image source is broken. A proper fallback mechanism is needed. - Incorrect Filtering Logic: The job offer filtering logic in
JobOffersList.tsxuses the??operator incorrectly where||was likely intended, potentially leading to incorrect search results. - Data Issues in
JobsData.ts: Several URLs inJobsData.tscontain trailing newline characters (\n), and one job offer has an empty title. These should be corrected. - Potential XSS Risk: Usage of
dangerouslySetInnerHTMLinJobOfferCard.tsxfor rendering job descriptions. While the current data source is local, this pattern should be handled with care. - Styling Strategy: The introduction of Bootstrap and TailwindCSS alongside existing PrimeReact and custom SCSS raises questions about the overall styling strategy. Clarification would be beneficial for consistency and maintainability.
- Alert Variant Typo: In
JobOffersList.tsx, line 120, there's a typo in the Alert variant:info\should beinfo. (Not commented inline due to severity settings).
Merge Readiness
This pull request introduces a significant and positive change to the Job Offers section. However, there are several high and medium severity issues identified, particularly concerning TypeScript error suppressions, image error handling, filtering logic, and data integrity.
I recommend addressing these issues, especially the high severity ones, before merging to ensure the stability and correctness of the new feature. A discussion on the overall styling strategy would also be valuable for the long-term health of the codebase.
As an AI, I am not authorized to approve pull requests. Please ensure these changes are reviewed and approved by other team members before merging.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|



No description provided.