Hope you’re all well.
I’ve built a completely custom user interface for mailinabox. It’s mostly feature complete, other than a couple missing features. It’s build with React, Redux & TypeScript, and uses the Fluent UI design system.
- Repo: https://github.com/badsyntax/mailinabox-ui
- Screenshots: https://github.com/badsyntax/mailinabox-ui/wiki/Screenshots
Follow the instructions in the README to run it on your local machine.
Why did I build it?
Covid life has left me with a lot of time on my hands, and I wanted to explore the Fluent UI design system and improve on some of my React skills. I also want to add additional features to mailinabox that I don’t get with the default UI, like allowing non-admins to administer mail accounts, but i’ve taken a step back from adding new features at this time. Another reason is I really like the mailinabox project, and I like the idea of working on tools for it.
Why Fluent UI?
I like the clean/professional look and feel and that it’s built with TypeScript. There’s pros and cons to using this design system. The biggest con being it’s not mobile first and it will take a bit of work to make the layout work nicely on mobile.
I will continue to do some work on it, to add the missing features and possibly to add full mobile support. Eventually I will get bored on move onto a different project. Such is my life.
Can anyone use it? Will I provide support?
Use it if you want, the code is open-source. I haven’t run it “in production” yet, but it should work fine in production. Keep in mind you are restricted by the mailinabox CORS policy. If you are not hosting the UI on the same host as mailinabox, you’ll need to use a backend server to proxy requests (similar to how it works locally).
I can’t promise to offer support, but feel free to create issues and I’ll take a look at them when time/interest allows.
Feedback & thoughts about mailinabox adoption
I feel there’s nothing “wrong” with the current UI. It’s simple & stable, and there’s no reason to change it. Saying that, if mailinabox wants to consider adopting this new UI, I’d be more than happy to contribute or to help integrate it.
At this time, i’m just looking for some feedback. Do you like it? Do you think it works? Any suggestions?