Add responsive styles and restructure header markup for better mobile layout (flex column on small, row on md+; full-width diary button on small). Update echo_table_header_col() and echo_table_col() to accept an optional CSS class and apply it to th/td elements. Apply Bootstrap responsive utility classes (d-none d-sm-/d-md-/d-lg-table-cell) to hide less-important columns on smaller screens and adjust time column visibility. These changes improve readability on narrow viewports while preserving existing tooltips and badges.
Add comprehensive Quill .ql-editor CSS (typography, spacing, headings, lists, blockquotes, pre/code, tables, images, links, hr) to notes/add.php, notes/edit.php and view_log/index.php to improve editor and rendered content readability and ensure consistent styling. Note: the inserted CSS in notes/edit.php appears to have a missing/ mis-nested closing brace which may break the stylesheet and should be corrected.
Support inline diary images via shortcodes and improve notes UI. Introduces a Note::process_image_shortcodes() method (ID/caption lookup and modifiers like left/right/center/small/medium/large), and updates station diary rendering to process shortcodes and avoid duplicate image output. Adds an AJAX endpoint notes/update_image_caption with ownership checks to save image captions, plus client-side JS to edit/save captions from the note edit view. Refactors notes add/edit views: reorganized form into sections/accordion, Quill editor min-height, image upload tips, improved buttons and layout, and QSO summary layout tweaks.
Introduce Public Station Diary feature and QSO filtering support.
- Add migrations: 255 adds public_station_diary_enabled option (default enabled), 256 adds qso_date_start, qso_date_end, qso_satellite_only columns to notes.
- Bump migration version to 256.
- Add controller actions (Options::public_diary, public_diary_save) and new options view to manage the public diary setting; add sidebar link.
- Extend Note model to persist QSO filter fields and provide new methods to fetch QSO lists/summaries for date ranges and satellite-only filtering; wire filter usage into summary generation.
- Update notes add/edit views to include QSO Summary Filters (date range + satellite-only).
- Add translations for the new options keys across multiple language files.
- Update public station diary listing view styling/path and minor content cleanup; other views updated to support feature.
- Remove obsolete cache files (.htaccess, index.html).
These changes enable admins to toggle a public station diary and let note authors control which QSOs are included in summaries via date ranges and SAT-only filtering.
Add a dedicated footer message container and client-side logic to mirror form messages into the modal footer. Removed the `required` attribute from the quick logbook select, introduced `#diaryFormFooterMessages`, and added a MutationObserver + htmx:afterSwap listener to copy content from `#diaryFormMessages` to the footer. Also consolidated error rendering into a single HTML snippet and clear both message areas when the modal closes. This surfaces HTMX/server messages in the modal footer for better visibility and avoids duplicated message handling.
Add numeric band sorting in Note model and make logbook selection required when including a QSO summary. Note model: select COL_BAND+0 as band_num and order by band_num to ensure proper numeric ordering. Views (notes/add, notes/edit, view_log/index): update labels and placeholder option text, mark the logbook <select> as required, adjust helper text, and add JS to toggle the required attribute and visibility based on the "Include QSO summary" checkbox (including setting initial state for validation).
Introduce public Station Diary functionality: add global config flag, routes, controller, model changes, views and DB migrations. New migrations (252-254) add is_public/include_qso_summary, diary_images table and logbook_id on notes. Notes model updated to handle public flags, diary images, qso summaries, caching (per-user cache version), and helper methods for listing/counting public diary entries. New Stationdiary controller serves paginated public pages and RSS feed with caching. Notes controller updated to handle image uploads, attach images to diary entries, and provide an AJAX endpoint to delete images. Views updated to support public visibility options, logbook selector, image upload UI and Quill editor assets; routes and migration version bumped accordingly. Includes file upload example added to uploads/diary.
Introduce a Station Diary UI and backend endpoint to allow quick note creation via HTMX. Added Notes::quick_add in the controller with form validation, note creation, success/error responses and a small JS form reset. Updated view_log/index to show a Station Diary button (when user_show_notes=1) and include the modal form that posts to notes/quick_add and renders messages into the modal.