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

@@ -1 +1 @@
2.2.217
2.2.218

View File

@@ -117,7 +117,7 @@ Future versions may include:
### Component Usage
```jqhtml
<MyComponent $id="instance" @click="handleClick">
<MyComponent $sid="instance" @click="handleClick">
<#slot>Content here</#slot>
</MyComponent>
```
@@ -125,7 +125,7 @@ Future versions may include:
### Control Flow
```jqhtml
<% for (let item of this.data.items): %>
<div $id="item_<%= item.id %>">
<div $sid="item_<%= item.id %>">
<%= item.name %>
</div>
<% endfor; %>

View File

@@ -14,7 +14,7 @@ Full syntax highlighting for all JQHTML constructs:
- **Slots**: `<#slotname>` with let:prop support
- **Data Bindings**: `:property="value"`
- **Event Handlers**: `@click="handler"`
- **Special Attributes**: `$id="name"`, `$property="value"`
- **Special Attributes**: `$sid="name"`, `$property="value"`
- **Components**: `<MyComponent />`
- **Comments**: `<%-- comment --%>`
@@ -38,7 +38,7 @@ Quick snippets for common patterns:
| `ifelse` | If-else |
| `for` | For loop |
| `exp` | Expression `<%= %>` |
| `$id` | Scoped ID attribute |
| `$sid` | Scoped ID attribute |
| `:prop` | Property binding |
| `@event` | Event handler |
| `slot` | Named slot |
@@ -81,7 +81,7 @@ All JQHTML syntax is highlighted with semantic colors:
```jqhtml
<Define:UserCard>
<div class="user-card" $id="card">
<div class="user-card" $sid="card">
<h2><%= this.data.name %></h2>
<% if (this.data.isAdmin) { %>

View File

@@ -678,7 +678,7 @@ class JqhtmlHoverProvider {
const markdown = new vscode.MarkdownString();
markdown.appendMarkdown(`**\`$redrawable\` Attribute**\n\n`);
markdown.appendMarkdown(`Converts this tag into an anonymous component class, allowing it to be redrawn on demand.\n\n`);
markdown.appendMarkdown(`**Usage:**\n\`\`\`javascript\nthis.$id('element_id').render()\n\`\`\`\n\n`);
markdown.appendMarkdown(`**Usage:**\n\`\`\`javascript\nthis.$sid('element_id').render()\n\`\`\`\n\n`);
markdown.appendMarkdown(`Call \`render()\` on the element's scoped ID to trigger a re-render of just this element without affecting the rest of the component.`);
const wordRange = new vscode.Range(new vscode.Position(position.line, line.indexOf('$redrawable')), new vscode.Position(position.line, line.indexOf('$redrawable') + '$redrawable'.length));
return new vscode.Hover(markdown, wordRange);

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

@@ -2,7 +2,7 @@
"name": "@jqhtml/vscode-extension",
"displayName": "JQHTML",
"description": "Syntax highlighting and language support for JQHTML template files",
"version": "2.2.217",
"version": "2.2.218",
"publisher": "jqhtml",
"license": "MIT",
"publishConfig": {