Skip to content

Conversation

@mustaphaturhan
Copy link
Collaborator

@mustaphaturhan mustaphaturhan commented Nov 26, 2025

Related with #256.

🛠️ Fixes Issue

  • Updates to react 18
    • Migrates from react-beautiful-dnd to @hello-pangea/dnd since react-beautiful-dnd is not supporting anymore. In the future, we will migrate to better dnd library but @hello-pangea/dnd is full compatible with react-beautiful-dnd
    • Changes render with createRoot since it is deprecated.
  • Removes semantic-ui-react and starts to use tailwindcss
    • semantic-ui-react is very outdated library and we have better alternatives at the moment. Instead of it, we are starting to use our design system library that created with shadcn. So we will be able to freely change everything.
    • Packages related with material-ui also removed. There is no emotion now.
  • Migrate away from mapStateToProps in favor of react hooks. Use useSelector and useDispatch instead of it. However, it is not finalized yet. We may completely deprecate it in future updates.
  • Refactor the map component and make it more readable
  • Updates UI from start to end.
  • It won't wait reverse geocode to resolve the route if wps exist in the URL.
  • New searching experience
  • New settings experience
  • Updates dependencies
  • Renames the app name with valhalla-web and makes version 1.0.0
  • Moves components under components folder for better, organized structure
  • Removes old, create-react-app leftovers and migrates them to proper vite format. To make it happen, also updates the .env file.
  • Updates package scripts for better organization and added husky pre-commit hook for linting.

This pull request is still work in progress but I wanted to create it to get some opinions from people. So if you have some recommendations or objections, please let me know 🙏🏻.

Todos

  • Update the right, settings panel with new components
  • Fix race conditions
  • Start to use tanstack/query for request for better caching support. For example, reverse geocode responses aren't changing a lot. So we can cache the values.
  • Add unit tests.
  • When user change the isochrones tab and refresh the page, we are losing waypoint

Follow-ups

  • Currently, we are sending a request whenever small portion of settings changed. Like the change might be intentional or not. So instead of fetching as soon as user changed the value, we should give an option like "save" and we should send the request whenever user save it. It is better for handling huge loads.

📄 Note to reviewers

Good luck. Sorry for this huge pull request :(

📷 Screenshots

image image image image image

@gisops-bot
Copy link

Preview is ready! 🚀 You can view it here: https://valhalla-app-tests.gis-ops.com/268

@chrstnbwnkl
Copy link
Member

This looks amazing @mustaphaturhan! I just had a quick look and the new UI looks a lot cleaner already. I'm not going through the entire code, but I see that you broke up that huge map component, which was long overdue. As I said before, I like the idea of using shdcn which just pulls the components into the repo, this may help us maintain the UI longer into the future.

Happy to merge this once you've gone through the remaining TODO's :-)

- Removed `@emotion/react` and `@emotion/styled` from dependencies.
- Updated versions for several packages including `axios`, `date-fns`, `lucide-react`, `maplibre-gl`, `tailwind-merge`, and `tailwindcss`.
- Deleted unused components: `Checkbox` and `CustomSlider`.
- Introduced new UI components: `CheckboxSetting`, `SelectSetting`, and updated `SliderSetting` for better functionality.
- Refactored `SettingsPanel` to utilize new UI components and improve settings management.
@mustaphaturhan mustaphaturhan self-assigned this Nov 27, 2025
- Changed the application name from `converter-demo-app` to `valhalla-web` and updated the version to `1.0.0` in `package.json`.
- Refactored settings-related imports and variables in `common-actions.ts`, `settings-panel.tsx`, and `settings-options.ts` for consistency and clarity.
- Introduced new types and structured settings data for better organization and maintainability.
- refactored the structure of components by moving them into a more organized directory structure under `src/components`.
…t versions to fix vulnerable gh-pages package
@mustaphaturhan mustaphaturhan force-pushed the feature/refactor-everything branch from 33a6e3d to 3e41379 Compare November 29, 2025 08:30
@mustaphaturhan
Copy link
Collaborator Author

I think I am coming to end but can you test the app again? @chrstnbwnkl @nilsnolde

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.

4 participants