buku icon indicating copy to clipboard operation
buku copied to clipboard

migrate to Bootstrap v4

Open LeXofLeviafan opened this issue 1 year ago • 3 comments

[!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

default3 (note that both base font size and some colors/components have changed in v4 themes) default4 slate3 slate4

main page (expanded)

default3 default4 slate3 slate4

bookmarks list

default3 (the iconset got changed between Bootstrap versions) default4 slate3 slate4

bookmarks list (filtered)

default3 (pagination panel is cut off because the page contents is now taller than my browser window due to changed sizes) default4 slate3 slate4

bookmarklet popup (create bookmark)

default3 (I increased the popup height to account for changed sizes) default4 slate3 (before increasing popup height, the Fetch checkbox was pushed out of the view) slate4

bookmarklet popup (edit bookmark)

default3 (even with the recently increased width, the Delete button barely fits within the row in popups… and in some themes it doesn't) default4 slate3 slate4

bookmarklet popup (view bookmark)

default3 default4 slate3 slate4

bookmark create dialog

default3 (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) default4 slate3 (~~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) slate4

bookmark edit dialog

default3 default4 slate3 slate4

bookmark view dialog (random entry)

default3 (the filter design change is not my doing either) default4 slate3 slate4

bookmark create page (accessible from bookmark view/edit page)

default3 (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) default4 slate3 slate4

bookmark edit page (accessible from bookmark view page)

default3 default4 slate3 slate4

bookmark view page (accessible via link in view dialog / "bookmark saved" message)

default3 default4 slate3 slate4

tags list

(note that the "page 2" button is hovered in these screenshots) default3 default4 slate3 slate4

tag edit page

default3 default4 slate3 slate4

success message ("bookmark saved", linked to the saved record)

default3 default4 slate3 slate4

error message ("invalid filter value")

(reorder buttons aren't displayed since page URL includes filters) default3 default4 slate3 slate4

stats page

default3 (the table is now taller due to changed sizes) default4 slate3 slate4

stats page (chart hovered)

default3 default4 slate3 slate4

stats page (full list dialog)

default3 (…the dialog table appears thinner now as well) (also I changed header color here to match the navbar) default4 slate3 slate4

(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-admin is 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.

LeXofLeviafan avatar Aug 26 '24 19:08 LeXofLeviafan

@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

LeXofLeviafan avatar Aug 26 '24 19:08 LeXofLeviafan

Where are we on this? Can we make a new release?

jarun avatar Feb 10 '25 12:02 jarun

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-admin is 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.

LeXofLeviafan avatar Feb 10 '25 13:02 LeXofLeviafan

Thanks for the update!

jarun avatar Jul 01 '25 00:07 jarun

@LeXofLeviafan: Any progress about this PR?

Neustradamus avatar Jul 25 '25 19:07 Neustradamus

@Neustradamus see the notes in description. (TL;DR – waiting for upstream release)

LeXofLeviafan avatar Jul 25 '25 22:07 LeXofLeviafan

OK to merge?

jarun avatar Oct 26 '25 13:10 jarun

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.

LeXofLeviafan avatar Oct 26 '25 16:10 LeXofLeviafan