Devlog #13: UI/UX Implementation (WIP)
With the backend functionality (mostly) complete, I’ve been working on implementing a smooth and easy-to-use user interface.
Added system tray icon
I added a system tray icon to allow the user to easily relaunch the UI while the backend continuously runs in the background.
Cloud-folder assignment combobox + two-stage assignment system
Instead of one-shotting everything, there’s now a two-stage system to cloud assignment. When a user adds a cloud to a folder, it first is added to UserAssignedClouds. During the next synchronization, the service will:
- check UserAssignedClouds
- upload the folder to the remote locations in those clouds
- move the clouds from UserAssignedClouds to AssignedClouds (this way, we know where the folder currently exists at)
Add an IgnoreRules editor for WatchedFolders
I had previously coded an ignore rules popup with a visual and raw rules editor, and I implemented it today specifically for WatchedFolders. The user can now set ignore rule globs (according to VS Code glob rules: https://code.visualstudio.com/docs/editor/glob-patterns) to give themselves more control over what the service syncs and what it doesn’t.
Miscellaneous UI improvements + functionalities
- completed folders.tsx page
- added web hook listener in WebView2 to natively open File Explorer for folders
- redid the styling for the sync.tsx page (still a WIP)
Fix Dropbox/OneDrive OAuth triggers and revocations
There were previously issues with the Dropbox (wrong redirectURI) and OneDrive (wrong OAuth consumer link) flows that I fixed after some testing. Everything regarding different accounts should work 100%!