migrate to Bootstrap v4
[!WARNING] TBD: tag Bootstrap4 screenshots & replace them in the docs (needs to be done before removing Draft status)
Finally finished going through all the hairy bits for Bootstrap migration (or at least it appears decent enough for merging).
Here's my screenshot samples, each in 4 versions (for sake of comparison):
main page
(note that both base font size and some colors/components have changed in v4 themes)
main page (expanded)
bookmarks list
(the iconset got changed between Bootstrap versions)
bookmarks list (filtered)
(pagination panel is cut off because the page contents is now taller than my browser window due to changed sizes)
bookmarklet popup (create bookmark)
(I increased the popup height to account for changed sizes)
(before increasing popup height, the Fetch checkbox was pushed out of the view)
bookmarklet popup (edit bookmark)
(even with the recently increased width, the Delete button barely fits within the row in popups… and in some themes it doesn't)
bookmarklet popup (view bookmark)
bookmark create dialog
(the buttons row change is not my doing; I did, however, figure out I might as well put the Fetch checkbox inside it)
(also note that all forms are vertical in Bootstrap4 templates of flask-admin; I modified them to horizontal to reduce design changes, but it's easy to turn off in the code)
(~~the Tags input looks different because it's added on top of Bootstrap proper, and is thus mostly unaffected by themes~~ found a fix that appears to work)
bookmark edit dialog
bookmark view dialog (random entry)
(the filter design change is not my doing either)
bookmark create page (accessible from bookmark view/edit page)
(the sizing changes appear to be the cause of the input fields sticking out slightly from the right side… though as I mentioned all forms were originally vertical in Bootstrap4 templates)
bookmark edit page (accessible from bookmark view page)
bookmark view page (accessible via link in view dialog / "bookmark saved" message)
tags list
(note that the "page 2" button is hovered in these screenshots)
tag edit page
success message ("bookmark saved", linked to the saved record)
error message ("invalid filter value")
(reorder buttons aren't displayed since page URL includes filters)
stats page
(the table is now taller due to changed sizes)
stats page (chart hovered)
stats page (full list dialog)
(…the dialog table appears thinner now as well)
(also I changed header color here to match the navbar)
(I've checked them out in other themes as well – they appear serviceable at least)
[!CAUTION] Reason for keeping it a draft pull-request (for the time being): a minor bug caused by upstream, fixed in their repo but not in their current PyPI version (the brunt of it was fixed by #760, but the spammed requests still have a side-effect of dialogs freezing when opened for increasingly longer durations).
Because of this bug, I suggest delaying the merge until the new version of
flask-adminis released (so that we can finish version migration soon after that). I also suggest creating a (non-release) tag immediately before merging (e.g.archive/pre-bootstrap4), for sake of having it easier to locate if needed.
@jarun once the UI changes are finalized, I can add these screenshots to the docs repo and replace images in bukuserver readme
Feel free to suggest changes in the meantime
Where are we on this? Can we make a new release?
As far as implementation goes, this code seems to be working alright (or at least that was the case last time I checked).
The reason it's still marked as "draft" is stated at the bottom of the description:
Reason for keeping it a draft pull-request (for the time being): a minor bug caused by upstream, fixed in their repo but not in their current PyPI version (the brunt of it was fixed by #760, but the spammed requests still have a side-effect of dialogs freezing when opened for increasingly longer durations).
Because of this bug, I suggest delaying the merge until the new version of
flask-adminis released (so that we can finish version migration soon after that). I also suggest creating a (non-release) tag immediately before merging (e.g.archive/pre-bootstrap4), for sake of having it easier to locate if needed.
The upcoming flask-admin release is still stalled due to them not being done updating storage support for certain backends, apparently.
Thanks for the update!
@LeXofLeviafan: Any progress about this PR?
@Neustradamus see the notes in description. (TL;DR – waiting for upstream release)
OK to merge?
Should be fine now, yes. (Updated screenshot links just now.) Note my suggestion from the description though:
I also suggest creating a (non-release) tag immediately before merging (e.g.
archive/pre-bootstrap4), for sake of having it easier to locate if needed.