Commit Graph

29 Commits

Author SHA1 Message Date
Andras Bacsai bc39c2caa8 fix: eliminate layout shift on input border indicator using box-shadow
Replace border-based left indicator with inset box-shadow to prevent unwanted layout shifts when focusing or marking fields as dirty. The solution reserves 4px space with transparent shadow in default state and transitions to colored shadow on focus/dirty without affecting the box model. Update all form components (input, textarea, select, datalist) for consistency.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 15:29:06 +01:00
Andras Bacsai a5c6f53b58 Fix wire:dirty indicator appearing on readonly fields without wire:model binding
The wire:dirty.class was being applied to all form inputs, even those without
wire:model bindings (like readonly fields). This caused the dirty state indicator
to appear on readonly fields when other fields in the form were modified.

Fixed by only applying wire:dirty.class when wire:model binding is present:
- input.blade.php: Moved wire:dirty.class inside @if($modelBinding !== 'null')
- textarea.blade.php: Applied same fix for all textarea variations
- select.blade.php: Applied same fix for select elements

This ensures only fields with actual Livewire bindings show dirty state indicators.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-16 11:09:39 +02:00
Andras Bacsai 837a0f4545 Merge branch 'next' into andrasbacsai/livewire-model-binding
Resolved merge conflicts between Livewire model binding refactoring and UI/CSS updates from next branch. Key integrations:

- Preserved unique HTML ID generation for form components
- Maintained wire:model bindings using $modelBinding
- Integrated new wire:dirty.class styles (border-l-warning pattern)
- Kept both syncData(true) and validateDockerComposeForInjection in StackForm
- Merged security tests and helper improvements from next

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-16 11:05:29 +02:00
Andras Bacsai 2a8f02ed58 Changes auto-committed by Conductor 2025-10-16 09:48:32 +02:00
Andras Bacsai a514c837b6 Fix duplicate HTML ID warnings in form components
Resolve browser console warnings about non-unique HTML IDs when multiple
Livewire components with similar form fields appear on the same page.

**Problem:**
Multiple forms using generic IDs like `id="description"` or `id="name"`
caused duplicate ID warnings and potential accessibility/JavaScript issues.

**Solution:**
- Separate `wire:model` binding name from HTML `id` attribute
- Auto-prefix HTML IDs with Livewire component ID for uniqueness
- Preserve existing `wire:model` behavior with property names

**Implementation:**
- Added `$modelBinding` property for wire:model (e.g., "description")
- Added `$htmlId` property for unique HTML ID (e.g., "lw-xyz123-description")
- Updated render() method to generate unique IDs automatically
- Updated all blade templates to use new properties

**Components Updated:**
- Input (text, password, etc.)
- Textarea (including Monaco editor)
- Select
- Checkbox
- Datalist (single & multiple selection)

**Result:**
 All HTML IDs now unique across page
 No console warnings
 wire:model bindings work correctly
 Validation error messages display correctly
 Backward compatible - no changes needed in existing components

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-14 10:27:41 +02:00
Andras Bacsai c9e6418542 refactor(forms): simplify wire:dirty class bindings for input, select, and textarea components 2025-10-09 12:52:59 +02:00
Andras Bacsai d7ded7f8e5 refactor(database): enhance SSL configuration handling for various databases 2025-03-26 17:24:46 +01:00
Andras Bacsai e1a6c3e776 chore: Refactor terminal component and select form layout 2024-09-16 11:25:20 +02:00
Andras Bacsai 7345ccbbee feat: easily redirect between www-and-non-www domains 2024-06-11 11:32:08 +02:00
Andras Bacsai d31f75d1ec Refactor form inputs and labels 2024-04-03 15:10:21 +02:00
Andras Bacsai b418a78e2e ui ui ui (pig) 2024-03-24 16:00:25 +01:00
Andras Bacsai 718603e37e wip: migrate to livewire 3 2023-12-07 19:06:32 +01:00
Andras Bacsai b39ca51d41 wip: boarding 2023-08-22 17:44:49 +02:00
Andras Bacsai c762195c8a format files lol 2023-08-11 20:19:42 +02:00
Andras Bacsai 61864970c1 Able to backup Coolify itself 2023-08-11 16:13:53 +02:00
Andras Bacsai f2228cec7b testing php storm code cleanup and styling 2023-08-08 11:51:36 +02:00
Andras Bacsai e9bd1f88c0 fixes 2023-07-28 09:10:35 +02:00
Andras Bacsai fd89735521 Added +add flows everywhere
ui: changed vibrant button to not so vibrant
2023-07-26 13:23:47 +02:00
Andras Bacsai cac59e4873 wip 2023-07-13 22:03:27 +02:00
Andras Bacsai a0b2868e95 UI stuffs 2023-07-13 13:16:24 +02:00
Andras Bacsai e4704fb7e6 updates 2023-06-13 10:02:58 +02:00
Andras Bacsai fa1fca7dbd fix 2023-06-12 13:48:26 +02:00
Andras Bacsai a97d22b81b updates 2023-06-12 12:00:01 +02:00
Andras Bacsai 127d42d873 updates 2023-06-08 11:43:14 +02:00
Andras Bacsai 88d1028950 fix 2023-06-08 08:47:22 +02:00
Andras Bacsai 774b8d987b ui updates 2023-06-07 21:44:16 +02:00
Andras Bacsai 6a599c53d7 updates 2023-06-05 13:50:34 +02:00
Andras Bacsai e5aad4d170 updates 2023-06-05 12:07:55 +02:00
Andras Bacsai d2b0823cd0 fix 2023-05-25 14:05:44 +02:00