Koha's modules have a variety of landing page designs. We should try to move to a more consistent approach across landing pages. This bug serves as a collector for such work.
Created attachment 162433 [details] [review] Bug 36164: Proof of concept This PoC serves the purpose of DRYing the markup and logic present in cataloging-home to ensure consistency between module landing pages going forward. This abstraction would then also be done in circulation-home. And after that, in tools-home and/or other adopting modules in the future.
I've submitted a PoC and would love feedback on it to justify investing more time in it or not. The test plan from the user perspective is to just visit <staff_url>/cgi-bin/koha/cataloguing/cataloging-home.pl and make sure everything is working as before. The purpose of this work is to ensure consistency across module landing pages going forward, having a single place where markup (and logic) is maintained and extended, as opposed to WET (write everytime).
Created attachment 166049 [details] [review] Bug 36164: Proof of concept This PoC serves the purpose of DRYing the markup and logic present in cataloging-home to ensure consistency between module landing pages going forward. This abstraction would then also be done in circulation-home. And after that, in tools-home and/or other adopting modules in the future.
Totally support this idea! From testing the PoC patch, everything looks and works the same as before.
I like it. Some things: * There is margin 1rem 0 from .toptabs that makes #sub-header no longer sticking #header_search https://snipboard.io/7XhEir.jpg vs https://snipboard.io/csJ5CR.jpg * + [%# FIXME: Confirm messages.inc is needed. Neither circulation-home and cataloging-home use output_and_exit from C4::Output#%] We want messages.inc EVERYWHERE. It has the "wrong csrf-token" error, and ideally we will use it for all our dialog messages/errors. * Bad news, we cannot split TT directives on several lines (see bug 18675). * I would move the BLOCKs from html_helpers.inc to a separate include file (html_helpers/landing_page.inc?)