3 Commits
v0.11.1 ... dev

Author SHA1 Message Date
a8e0df99d1 Update CLAUDE.md with v0.11.2/v0.11.3 session history
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 23:41:43 +01:00
70d588808e Display calendar filters side by side (v0.11.3)
All checks were successful
Create Release Package / build-release (push) Successful in 1m8s
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 23:40:05 +01:00
0bf7f19ac5 Improve calendar room column with building name display (v0.11.2)
All checks were successful
Create Release Package / build-release (push) Successful in 1m1s
- Widen room column to 200px with proper left alignment
- Display building name as second row under room name
- Change table-layout from fixed to auto for flexible columns

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 23:31:45 +01:00
5 changed files with 86 additions and 13 deletions

View File

@@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.11.3] - 2026-02-03
### Changed
- Calendar filters now display side by side instead of stacked rows
## [0.11.2] - 2026-02-03
### Changed
- Calendar page room column now wider (200px) with proper left alignment
- Room column displays building name on second row for better identification
- Changed calendar table layout from fixed to auto for flexible column widths
## [0.11.1] - 2026-02-03
### Added

View File

@@ -1234,3 +1234,37 @@ Admin features always work; frontend requires valid license.
- Merged to main (fast-forward)
- Tagged: `v0.11.0`
- Pushed to origin: dev, main, v0.11.0
### 2026-02-03 - Version 0.11.2/0.11.3 (Calendar UI Improvements)
**Completed:**
- Improved Calendar admin page room column
- Increased room column width from narrow to 200px minimum
- Changed `table-layout` from `fixed` to `auto` for flexible column sizing
- Added building name as second row under room name
- Left-aligned room column content for better readability
- Improved Calendar filter layout
- Changed filter form to flexbox layout (side by side instead of stacked)
- Added gap between filter dropdowns
- Updated responsive styles for smaller screens
**Files Changed:**
- `src/Admin/Calendar.php` - Added building name display in room cell
- `assets/css/admin.css` - Calendar table and filter layout improvements
- `wp-bnb.php` - Version bumps to 0.11.2 and 0.11.3
- `CHANGELOG.md` - Added v0.11.2 and v0.11.3 release notes
**Learnings:**
- CSS `table-layout: fixed` forces equal column widths; use `auto` for content-based sizing
- When a parent container has flexbox but content is in a child element, the flex must be applied to the correct container (form element in this case)
- Higher CSS specificity (`.bnb-calendar-table .bnb-calendar-room`) needed to override inherited styles
**Released:**
- v0.11.2: Calendar room column width and building name display
- v0.11.3: Calendar filters side-by-side layout
- Both versions tagged and pushed to origin

View File

@@ -950,13 +950,17 @@
/* Calendar Filters */
.bnb-calendar-filters {
display: flex;
gap: 15px;
padding: 15px 20px;
border-bottom: 1px solid #c3c4c7;
background: #f9f9f9;
}
.bnb-calendar-filters form {
display: flex;
align-items: center;
gap: 20px;
}
.bnb-calendar-filters label {
display: flex;
align-items: center;
@@ -976,7 +980,7 @@
.bnb-calendar-table {
width: 100%;
border-collapse: collapse;
table-layout: fixed;
table-layout: auto;
}
.bnb-calendar-table th,
@@ -997,7 +1001,8 @@
.bnb-calendar-table th.room-header {
text-align: left;
padding-left: 10px;
min-width: 150px;
width: 200px;
min-width: 200px;
}
/* Calendar Day Cell */
@@ -1068,16 +1073,31 @@
}
/* Room Row in Multi-Room Calendar */
.bnb-calendar-room {
.bnb-calendar-table .bnb-calendar-room {
font-weight: 600;
text-align: left;
padding: 8px 10px;
background: #f6f7f7;
min-width: 200px;
white-space: nowrap;
}
.bnb-calendar-room small {
.bnb-calendar-room a {
display: block;
}
.bnb-calendar-room .room-number {
font-weight: normal;
color: #646970;
margin-left: 5px;
}
.bnb-calendar-room .building-name {
display: block;
font-weight: normal;
font-size: 12px;
color: #646970;
margin-top: 2px;
}
/* Calendar Legend */
@@ -1157,8 +1177,9 @@
/* Responsive */
@media screen and (max-width: 782px) {
.bnb-calendar-filters {
.bnb-calendar-filters form {
flex-direction: column;
align-items: stretch;
}
.bnb-calendar-filters select {

View File

@@ -256,16 +256,20 @@ final class Calendar {
<tbody>
<?php foreach ( $rooms as $room ) : ?>
<?php
$room_number = get_post_meta( $room->ID, '_bnb_room_room_number', true );
$booked_dates = Availability::get_booked_dates( $room->ID, $year, $month );
$room_number = get_post_meta( $room->ID, '_bnb_room_room_number', true );
$room_building = Room::get_building( $room->ID );
$booked_dates = Availability::get_booked_dates( $room->ID, $year, $month );
?>
<tr>
<td class="bnb-calendar-room">
<a href="<?php echo esc_url( get_edit_post_link( $room->ID ) ); ?>">
<?php echo esc_html( $room->post_title ); ?>
<?php if ( $room_number ) : ?>
<span class="room-number">#<?php echo esc_html( $room_number ); ?></span>
<?php endif; ?>
</a>
<?php if ( $room_number ) : ?>
<br><small>#<?php echo esc_html( $room_number ); ?></small>
<?php if ( $room_building ) : ?>
<span class="building-name"><?php echo esc_html( $room_building->post_title ); ?></span>
<?php endif; ?>
</td>
<?php for ( $day = 1; $day <= $days_in_month; $day++ ) : ?>

View File

@@ -3,7 +3,7 @@
* Plugin Name: WP BnB Management
* Plugin URI: https://src.bundespruefstelle.ch/magdev/wp-bnb
* Description: A comprehensive Bed & Breakfast management system for WordPress. Manage buildings, rooms, bookings, and guests.
* Version: 0.11.1
* Version: 0.11.3
* Requires at least: 6.0
* Requires PHP: 8.3
* Author: Marco Graetsch
@@ -24,7 +24,7 @@ if ( ! defined( 'ABSPATH' ) ) {
}
// Plugin version constant - MUST match Version in header above.
define( 'WP_BNB_VERSION', '0.11.1' );
define( 'WP_BNB_VERSION', '0.11.3' );
// Plugin path constants.
define( 'WP_BNB_PATH', plugin_dir_path( __FILE__ ) );