Release v1.0.17 - Enhanced cashier dashboard and bug fixes

- Fixed bug where match.result showed 'under'/'over' instead of actual fight winner
- Added print functionality to admin fixture details page with option to print last N matches
- Enhanced cashier dashboard to show all matches of today's fixture with proper status
- Added Result, Winning Outcomes, and Under/Over columns to cashier match list
- Made 'Bet' status badge clickable linking to /bets/new
- Added date filter to select past fixtures with proper venue timezone handling
- Removed 'Update Display Overlay' and 'Send Custom Message' buttons from cashier dashboard
- Bumped version to 1.0.17
parent 44e59bc4
......@@ -4,7 +4,7 @@ MbetterClient - Cross-platform multimedia client application
A multi-threaded application with video playback, web dashboard, and REST API integration.
"""
__version__ = "1.0.16"
__version__ = "1.0.17"
__author__ = "MBetter Project"
__email__ = "dev@mbetter.net"
__description__ = "Cross-platform multimedia client with video overlay and web dashboard"
......
......@@ -403,7 +403,7 @@ class AppSettings:
timer: TimerConfig = field(default_factory=TimerConfig)
# Application settings
version: str = "1.0.16"
version: str = "1.0.17"
debug_mode: bool = False
dev_message: bool = False # Enable debug mode showing only message bus messages
debug_messages: bool = False # Show all messages passing through the message bus on screen
......
......@@ -70,26 +70,16 @@
</div>
<div class="card-body">
<div class="row">
<div class="col-md-4 mb-3">
<div class="col-md-6 mb-3">
<button class="btn btn-primary w-100 fw-bold" id="btn-start-games">
<i class="fas fa-gamepad me-2"></i>Start Games
</button>
</div>
<div class="col-md-4 mb-3">
<div class="col-md-6 mb-3">
<button class="btn btn-success w-100 fw-bold" id="btn-bets">
<i class="fas fa-coins me-2"></i>Bets
</button>
</div>
<div class="col-md-4 mb-3">
<button class="btn btn-outline-warning w-100" id="btn-send-message">
<i class="fas fa-comment me-2"></i>Send Custom Message
</button>
</div>
<div class="col-md-4 mb-3">
<button class="btn btn-outline-success w-100" id="btn-update-overlay">
<i class="fas fa-edit me-2"></i>Update Display Overlay
</button>
</div>
</div>
</div>
</div>
......@@ -730,13 +720,14 @@ function updateMatchesTable(data, container) {
<table class="table table-striped table-hover table-sm">
<thead class="table-dark">
<tr>
<th style="width: 50px;"><i class="fas fa-hashtag me-1"></i>#</th>
<th style="width: 40px;"><i class="fas fa-hashtag me-1"></i>#</th>
<th><i class="fas fa-user-friends me-1"></i>Fighter 1</th>
<th><i class="fas fa-user-friends me-1"></i>Fighter 2</th>
<th><i class="fas fa-map-marker-alt me-1"></i>Venue</th>
<th style="width: 80px;"><i class="fas fa-info-circle me-1"></i>Status</th>
<th style="width: 70px;"><i class="fas fa-trophy me-1"></i>Result</th>
<th style="width: 70px;"><i class="fas fa-chart-line me-1"></i>U/O</th>
<th style="width: 60px;"><i class="fas fa-info-circle me-1"></i>Status</th>
<th style="width: 60px;"><i class="fas fa-trophy me-1"></i>Result</th>
<th style="width: 100px;"><i class="fas fa-star me-1"></i>Win Outcomes</th>
<th style="width: 55px;"><i class="fas fa-chart-line me-1"></i>U/O</th>
</tr>
</thead>
<tbody>
......@@ -795,12 +786,25 @@ function updateMatchesTable(data, container) {
statusBadge = '<span class="badge bg-warning"><i class="fas fa-clock me-1"></i>Pend</span>';
}
// Result display
// Result display - show actual match result (WIN1, WIN2, DRAW, RET1, RET2, etc.)
let resultDisplay = '-';
if (match.result) {
resultDisplay = `<span class="badge bg-success">${match.result}</span>`;
}
// Winning outcomes display - show all winning outcomes from extraction
let winningOutcomesDisplay = '-';
if (match.winning_outcomes) {
try {
const wo = typeof match.winning_outcomes === 'string' ? JSON.parse(match.winning_outcomes) : match.winning_outcomes;
if (Array.isArray(wo) && wo.length > 0) {
winningOutcomesDisplay = wo.map(o => `<span class="badge bg-primary me-1" style="font-size: 10px;">${o}</span>`).join('');
}
} catch (e) {
winningOutcomesDisplay = `<span class="badge bg-secondary">${match.winning_outcomes}</span>`;
}
}
// Under/Over display
let underOverDisplay = '-';
if (match.under_over_result) {
......@@ -827,6 +831,7 @@ function updateMatchesTable(data, container) {
<td>${match.venue_kampala_township}</td>
<td>${statusBadge}</td>
<td>${resultDisplay}</td>
<td style="font-size: 10px;">${winningOutcomesDisplay}</td>
<td>${underOverDisplay}</td>
`;
......
# MbetterClient v1.0.14
# MbetterClient v1.0.16
Cross-platform multimedia client application
......@@ -38,6 +38,6 @@ For support and documentation, please visit: https://git.nexlab.net/mbetter/mbet
## Version Information
- Version: 1.0.14
- Version: 1.0.16
- Build Date: sissy
- Platform: Linux-6.12.15-amd64-x86_64-with-glibc2.42
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment