Fix kiosk inactivity timer for remote sessions; make Intakes table mobile-responsive

Remote sessions (customer's phone) no longer get the 45-second inactivity redirect
that requires a KioskDevice cookie — would have landed them on an error page.
Intakes staff table hides non-essential columns on small screens so the primary
customer/status/actions columns are visible without horizontal scrolling.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-14 21:00:43 -04:00
parent 38748c2152
commit 75b0a8afe2
2 changed files with 26 additions and 17 deletions
@@ -5,7 +5,7 @@
string activeFilter = ViewBag.ActiveFilter as string ?? "all";
}
<div class="container-fluid px-4">
<div>
<div class="d-flex align-items-center justify-content-between mb-4 flex-wrap gap-2">
<div class="d-flex align-items-center gap-3">
<i class="bi bi-clipboard-check fs-3 text-primary"></i>
@@ -57,13 +57,13 @@
<table class="table table-hover mb-0 align-middle">
<thead class="table-light">
<tr>
<th>Date</th>
<th class="d-none d-md-table-cell">Date</th>
<th>Customer</th>
<th>Contact</th>
<th>Project</th>
<th>Type</th>
<th class="d-none d-lg-table-cell">Contact</th>
<th class="d-none d-lg-table-cell">Project</th>
<th class="d-none d-sm-table-cell">Type</th>
<th>Status</th>
<th>SMS</th>
<th class="d-none d-md-table-cell">SMS</th>
<th>Actions</th>
</tr>
</thead>
@@ -71,7 +71,7 @@
@foreach (var s in Model)
{
<tr>
<td class="text-nowrap text-muted small">
<td class="text-nowrap text-muted small d-none d-md-table-cell">
@(s.SubmittedAt?.ToLocalTime().ToString("MM/dd/yy h:mm tt") ?? s.ExpiresAt.AddHours(-2).ToLocalTime().ToString("MM/dd/yy h:mm tt"))
</td>
<td>
@@ -82,8 +82,12 @@
<i class="bi bi-person-check me-1"></i>Customer matched
</a>
}
@* Show date inline on mobile since the Date column is hidden *@
<div class="text-muted small d-md-none">
@(s.SubmittedAt?.ToLocalTime().ToString("MM/dd/yy h:mm tt") ?? s.ExpiresAt.AddHours(-2).ToLocalTime().ToString("MM/dd/yy h:mm tt"))
</div>
</td>
<td class="small text-muted">
<td class="small text-muted d-none d-lg-table-cell">
@if (!string.IsNullOrEmpty(s.CustomerPhone))
{
<div><i class="bi bi-telephone me-1"></i>@s.CustomerPhone</div>
@@ -93,11 +97,11 @@
<div><i class="bi bi-envelope me-1"></i>@s.CustomerEmail</div>
}
</td>
<td style="max-width:280px;">
<td class="d-none d-lg-table-cell" style="max-width:280px;">
<span class="text-truncate d-block" style="max-width:260px;"
title="@s.JobDescription">@s.JobDescriptionSnippet</span>
</td>
<td>
<td class="d-none d-sm-table-cell">
@if (s.SessionType == KioskSessionType.InPerson)
{
<span class="badge bg-primary-subtle text-primary">
@@ -129,7 +133,7 @@
<span class="badge bg-secondary">Expired</span>
}
</td>
<td>
<td class="d-none d-md-table-cell">
@if (s.SmsOptIn)
{
<i class="bi bi-check-circle-fill text-success" title="SMS opt-in"></i>
@@ -143,19 +147,19 @@
@if (s.LinkedJobId.HasValue)
{
<a href="/Jobs/Details/@s.LinkedJobId" class="btn btn-sm btn-outline-success me-1">
<i class="bi bi-briefcase me-1"></i>View Job
<i class="bi bi-briefcase me-1"></i><span class="d-none d-sm-inline">View Job</span><span class="d-sm-none">Job</span>
</a>
}
@if (s.LinkedQuoteId.HasValue)
{
<a href="/Quotes/Details/@s.LinkedQuoteId" class="btn btn-sm btn-outline-info me-1">
<i class="bi bi-file-earmark-text me-1"></i>View Quote
<i class="bi bi-file-earmark-text me-1"></i><span class="d-none d-sm-inline">View Quote</span><span class="d-sm-none">Quote</span>
</a>
}
@if (s.LinkedCustomerId.HasValue)
{
<a href="/Customers/Details/@s.LinkedCustomerId" class="btn btn-sm btn-outline-primary">
<i class="bi bi-person me-1"></i>Customer
<i class="bi bi-person me-1"></i><span class="d-none d-sm-inline">Customer</span>
</a>
}
</td>