Align POS header with other apps: AI assistant, register button, sidebar
Deploy Ladill POS / deploy (push) Successful in 47s

- Add the Afia AI assistant to the header (topbar AI button + slide-over),
  matching every other Ladill app. Ports config/afia.php, AfiaService, a POS
  AiController (pos.ai.chat) scoped to register/sales/products, and includes
  the slide-over in the app layout. The afia() Alpine component already existed.
- Hide the header "Open register" button while on the register page.
- Move Settings to a pinned bottom section of the sidebar, like other apps.
- Commit the updated POS logo + launcher icon assets.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
isaacclad
2026-06-24 07:08:43 +00:00
co-authored by Claude Opus 4.8
parent b7c7a32ee6
commit e9a0c92308
12 changed files with 345 additions and 26 deletions
+3
View File
@@ -1,6 +1,7 @@
<?php
use App\Http\Controllers\Auth\SsoLoginController;
use App\Http\Controllers\Pos\AiController;
use App\Http\Controllers\Pos\DashboardController;
use App\Http\Controllers\Pos\ProductController;
use App\Http\Controllers\Pos\RegisterController;
@@ -28,6 +29,8 @@ Route::get('/sales/{sale}/callback', [SaleController::class, 'callback'])->name(
Route::middleware(['auth', 'platform.session'])->group(function () {
Route::get('/wallet/balance', [WalletBalanceController::class, 'balance'])->name('wallet.balance');
Route::post('/ai/chat', [AiController::class, 'chat'])->middleware('throttle:30,1')->name('pos.ai.chat');
Route::get('/notifications', [NotificationController::class, 'index'])->name('notifications.index');
Route::get('/notifications/unread', [NotificationController::class, 'unread'])->name('notifications.unread');
Route::post('/notifications/{id}/read', [NotificationController::class, 'markAsRead'])->name('notifications.mark-read');