Fix code quality violations for publish

Remove unused blade settings pages not linked from UI
Convert remaining frontend pages to SPA actions
Convert settings user_settings and general to SPA actions
Convert settings profile pages to SPA actions
Convert contacts and projects add/edit pages to SPA actions
Convert clients add/edit page to SPA action with loading pattern
Refactor component scoped IDs from $id to $sid
Fix jqhtml comment syntax and implement universal error component system
Update all application code to use new unified error system
Remove all backwards compatibility - unified error system complete
Phase 5: Remove old response classes
Phase 3-4: Ajax response handler sends new format, old helpers deprecated
Phase 2: Add client-side unified error foundation
Phase 1: Add server-side unified error foundation
Add unified Ajax error response system with constants

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root
2025-11-21 04:35:01 +00:00
parent 081fc0b88e
commit 78553d4edf
899 changed files with 8887 additions and 7868 deletions

View File

@@ -66,7 +66,7 @@ class MainLayout extends Jqhtml_Layout {
async on_render() {
this.$.html(`
<header>Navigation</header>
<main $id="content"></main> <!-- REQUIRED: Routes render here -->
<main $sid="content"></main> <!-- REQUIRED: Routes render here -->
<footer>Footer</footer>
`);
}
@@ -94,7 +94,7 @@ class MainLayout extends Jqhtml_Layout {
### Layout Persistence
- Layouts never re-render during route changes within same layout
- Layout instance persists until different layout needed
- `$id="content"` element required for route injection point
- `$sid="content"` element required for route injection point
## SPA Application Container
@@ -273,7 +273,7 @@ class DashboardRoute extends Jqhtml_Route {
this.$.html(`
<div class="dashboard">
<Sidebar />
<div $id="dashboard-content">
<div $sid="dashboard-content">
<!-- Sub-routes could render here -->
</div>
</div>
@@ -343,7 +343,7 @@ class SearchRoute extends Jqhtml_Route {
```
## Critical Invariants
1. Layouts must have element with `$id="content"` for route injection
1. Layouts must have element with `$sid="content"` for route injection
2. Route dispatch is asynchronous and can be cancelled at multiple points
3. Layout instances persist across same-layout route changes
4. Routes are destroyed and recreated on each navigation

0
node_modules/@jqhtml/router/dist/index.cjs generated vendored Executable file → Normal file
View File

0
node_modules/@jqhtml/router/dist/index.cjs.map generated vendored Executable file → Normal file
View File

0
node_modules/@jqhtml/router/dist/index.d.ts generated vendored Executable file → Normal file
View File

0
node_modules/@jqhtml/router/dist/index.d.ts.map generated vendored Executable file → Normal file
View File

2
node_modules/@jqhtml/router/dist/index.js generated vendored Executable file → Normal file
View File

@@ -878,7 +878,7 @@ class Jqhtml_Layout extends Jqhtml_Component {
* Must contain an element with $id="content"
*/
$content() {
const $content = this.$id('content');
const $content = this.$sid('content');
if (!$content.length) {
throw new Error(`Layout ${this.constructor.name} must have an element with $id="content"`);
}

0
node_modules/@jqhtml/router/dist/index.js.map generated vendored Executable file → Normal file
View File

4
node_modules/@jqhtml/router/dist/jqhtml-router.esm.js generated vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/**
* JQHTML Router v2.2.217
* JQHTML Router v2.2.218
* (c) 2025 JQHTML Team
* Released under the MIT License
*/
@@ -883,7 +883,7 @@ class Jqhtml_Layout extends Jqhtml_Component {
* Must contain an element with $id="content"
*/
$content() {
const $content = this.$id('content');
const $content = this.$sid('content');
if (!$content.length) {
throw new Error(`Layout ${this.constructor.name} must have an element with $id="content"`);
}

0
node_modules/@jqhtml/router/dist/jqhtml-router.esm.js.map generated vendored Executable file → Normal file
View File

0
node_modules/@jqhtml/router/dist/layout.d.ts generated vendored Executable file → Normal file
View File

0
node_modules/@jqhtml/router/dist/layout.d.ts.map generated vendored Executable file → Normal file
View File

0
node_modules/@jqhtml/router/dist/route.d.ts generated vendored Executable file → Normal file
View File

0
node_modules/@jqhtml/router/dist/route.d.ts.map generated vendored Executable file → Normal file
View File

0
node_modules/@jqhtml/router/dist/router.d.ts generated vendored Executable file → Normal file
View File

0
node_modules/@jqhtml/router/dist/router.d.ts.map generated vendored Executable file → Normal file
View File

0
node_modules/@jqhtml/router/dist/spa.d.ts generated vendored Executable file → Normal file
View File

0
node_modules/@jqhtml/router/dist/spa.d.ts.map generated vendored Executable file → Normal file
View File

0
node_modules/@jqhtml/router/dist/types.d.ts generated vendored Executable file → Normal file
View File

0
node_modules/@jqhtml/router/dist/types.d.ts.map generated vendored Executable file → Normal file
View File

2
node_modules/@jqhtml/router/package.json generated vendored Executable file → Normal file
View File

@@ -1,6 +1,6 @@
{
"name": "@jqhtml/router",
"version": "2.2.217",
"version": "2.2.218",
"description": "Client-side routing for JQHTML applications",
"type": "module",
"main": "dist/index.js",