• July 10, 2022, 10:03 p.m.

    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.

  • Aug. 5, 2022, 9:44 p.m.

    New idea: merge in all tsx files defined by plugins with Misago's. This will let plugin not only replace existing component with new one, but will also add custom typescript files with extra components, graphQL queries, etc ect.

    Naturally if more than one plugin defines given file, plugins will overwrite each other, but with great power comes great responsibility.