Misago v4 comes with plugin support for client and admin React.JS apps. This plugin system lets plugin authors to inject custom React.js components into selected slots (hooks). It also lets plugins add custom translation strings and sass styles.
But for situations where you are not happy with how some part of the UI looks like (eg. menu in navbar), plugin system now supports component replacements. To override src/Navbar/NavbarNav.tsx
you simply need to create custom version of this file in your plugin, with path plugins/myplugin/client/replace/Navbar/NavbarNav.tsx
.
Doing so will make Misago replace its default file with one from plugin.
This feature is not limited only to component files, so you can also use it to replace ts/tsx files with GraphQL operations, type definitions or utility functions.