Sweep all .cshtml files for encoding corruption; add pre-commit guard
Replace all corruption variants with HTML entities across 226 view files: - 3-char UTF-8-as-Win1252 sequences (ae-corruption) - Standalone smart/curly quotes that break C# Razor expressions - Partially re-corrupted variants where the 3rd byte was normalised to ASCII tools/Fix-Encoding.ps1: re-runnable sweep; uses [char] code points so the script itself never contains a literal non-ASCII character; supports -DryRun .githooks/pre-commit: blocks commits containing the ae-corruption byte signature (xc3xa2xe2x82xac); git core.hooksPath = .githooks so the hook is repo-committed and active for all future work on this machine. Build clean; 225 unit tests pass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -212,7 +212,7 @@
|
||||
</div>
|
||||
<h1>Welcome, @firstName!</h1>
|
||||
<p class="subtitle">
|
||||
Your account is created and ready — but <strong style="color:white;">it still needs to be configured
|
||||
Your account is created and ready — but <strong style="color:white;">it still needs to be configured
|
||||
before it's ready to use.</strong> Run the Setup Wizard to get your shop up and running.
|
||||
We <strong style="color:#4fc3f7;">strongly recommend</strong> completing it before doing anything else.
|
||||
</p>
|
||||
@@ -241,7 +241,7 @@
|
||||
</div>
|
||||
<div class="tile-text">
|
||||
<h6>Lookups Pre-Seeded</h6>
|
||||
<p>Job statuses, priorities, quote statuses, appointment types, and inventory categories are ready to use — and fully customizable.</p>
|
||||
<p>Job statuses, priorities, quote statuses, appointment types, and inventory categories are ready to use — and fully customizable.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-tile">
|
||||
@@ -259,18 +259,18 @@
|
||||
<div class="screenshot-rotator">
|
||||
<p class="rotator-label"><i class="bi bi-grid-1x2 me-1"></i>A quick look around</p>
|
||||
<div class="rotator-track" id="rotatorTrack">
|
||||
<img src="/images/welcome/Dashboard.png" alt="Dashboard" class="active" data-caption="Dashboard — live KPIs, alerts, and daily tips at a glance" />
|
||||
<img src="/images/welcome/Jobs.png" alt="Jobs" data-caption="Jobs — track every job from intake through delivery across 16 statuses" />
|
||||
<img src="/images/welcome/JobBoard.png" alt="Job Board" data-caption="Job Board — drag-and-drop priority view of all active work" />
|
||||
<img src="/images/welcome/Quotes.png" alt="Quotes" data-caption="Quotes — multi-item pricing engine with AI photo quoting" />
|
||||
<img src="/images/welcome/Schedule.png" alt="Schedule" data-caption="Schedule — calendar view for appointments and job deadlines" />
|
||||
<img src="/images/welcome/ShopDisplay.png" alt="Shop Display" data-caption="Shop Display — full-screen board for the shop floor" />
|
||||
<img src="/images/welcome/SetupWizard.png" alt="Setup Wizard" data-caption="Setup Wizard — 10-step guided configuration for your shop" />
|
||||
<img src="/images/welcome/CompanySettings.png" alt="Company Settings" data-caption="Company Settings — pricing rates, branding, notifications, and more" />
|
||||
<img src="/images/welcome/DailyBoard.png" alt="Daily Board" data-caption="Daily Board — at-a-glance view of today's work" />
|
||||
<img src="/images/welcome/QBMigrationWizard.png" alt="QB Migration" data-caption="QuickBooks Migration Wizard — import your existing customers and data" />
|
||||
<img src="/images/welcome/Tools.png" alt="Tools" data-caption="Tools — equipment management and maintenance scheduling" />
|
||||
<img src="/images/welcome/Help.png" alt="Help Center" data-caption="Help Center — built-in documentation and AI assistant" />
|
||||
<img src="/images/welcome/Dashboard.png" alt="Dashboard" class="active" data-caption="Dashboard — live KPIs, alerts, and daily tips at a glance" />
|
||||
<img src="/images/welcome/Jobs.png" alt="Jobs" data-caption="Jobs — track every job from intake through delivery across 16 statuses" />
|
||||
<img src="/images/welcome/JobBoard.png" alt="Job Board" data-caption="Job Board — drag-and-drop priority view of all active work" />
|
||||
<img src="/images/welcome/Quotes.png" alt="Quotes" data-caption="Quotes — multi-item pricing engine with AI photo quoting" />
|
||||
<img src="/images/welcome/Schedule.png" alt="Schedule" data-caption="Schedule — calendar view for appointments and job deadlines" />
|
||||
<img src="/images/welcome/ShopDisplay.png" alt="Shop Display" data-caption="Shop Display — full-screen board for the shop floor" />
|
||||
<img src="/images/welcome/SetupWizard.png" alt="Setup Wizard" data-caption="Setup Wizard — 10-step guided configuration for your shop" />
|
||||
<img src="/images/welcome/CompanySettings.png" alt="Company Settings" data-caption="Company Settings — pricing rates, branding, notifications, and more" />
|
||||
<img src="/images/welcome/DailyBoard.png" alt="Daily Board" data-caption="Daily Board — at-a-glance view of today's work" />
|
||||
<img src="/images/welcome/QBMigrationWizard.png" alt="QB Migration" data-caption="QuickBooks Migration Wizard — import your existing customers and data" />
|
||||
<img src="/images/welcome/Tools.png" alt="Tools" data-caption="Tools — equipment management and maintenance scheduling" />
|
||||
<img src="/images/welcome/Help.png" alt="Help Center" data-caption="Help Center — built-in documentation and AI assistant" />
|
||||
<div class="rotator-nav">
|
||||
<button id="rotatorPrev" aria-label="Previous"><i class="bi bi-chevron-left"></i></button>
|
||||
<button id="rotatorNext" aria-label="Next"><i class="bi bi-chevron-right"></i></button>
|
||||
|
||||
Reference in New Issue
Block a user