Commit graph

36 commits

Author SHA1 Message Date
c05e320665 style(branding): replace Coolify purple and yellow with MapleDeploy palette
Replace #6b16ed (Coolify purple) with #d52b1e (MapleDeploy red) and
#fcd452 (Coolify yellow) with #fde047 (Tailwind yellow-300) across all
form focus states, dirty indicators, chart colors, and theme tokens.
Also fix warning color scale to use standard Tailwind yellow values.
2026-03-08 19:49:38 -04:00
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
ff71b28b81 Fix Monaco editor @entangle error with unique HTML IDs
**Problem:**
Monaco editor was receiving unique HTML IDs (e.g., "customLabels-a09a7773")
and using them in @entangle(), causing errors:
"Livewire property ['customLabels-a09a7773'] cannot be found"

**Root Cause:**
Monaco editor template uses @entangle($id) to bind to Livewire properties.
After our unique ID fix, $id contained the unique HTML ID with suffix,
not the original property name.

**Solution:**
Pass $modelBinding (original property name) instead of $htmlId to Monaco
editor component. This ensures @entangle() uses the correct property name
while HTML elements still get unique IDs.

**Result:**
 Monaco editor @entangle works correctly
 HTML IDs remain unique
 No Livewire property errors

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-14 10:34:36 +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
0x4e32
c728e6f2ba
feat(ui): Upgrade to Tailwind v4 (#5710) 2025-05-14 12:43:23 +02:00
Andras Bacsai
c211227141 fix: add min/max length to input/texarea 2024-11-03 21:27:02 +01:00
Andras Bacsai
5201818f52 fix: monaco editor
fix: apex charts
2024-06-24 11:21:39 +02:00
MMTE
92049cba92 add monaco-editor as option to textarea component 2024-06-23 22:13:50 +03:30
=
c75ce9cbba Removing extra whitespace 2024-04-17 11:14:29 +01:00
=
4fb4e19e99 Using corrrect ternary pattern to generate textarea spellcheck attribute 2024-04-17 11:12:15 +01:00
=
379212b8fe Making text areas use monospaced font and disabling spellcheck by default 2024-04-16 17:29:09 +01:00
w3cj
6e7e2de490 bug: use 2 space instead of tab 2024-04-12 07:23:48 -06:00
w3cj
0a9a92ee7d bug: fix allowTab logic 2024-04-12 06:36:23 -06:00
w3cj
d46a565e6c feat: allow tab in textarea 2024-04-12 05:33:56 -06: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
b61860b3ab ui: redesign 2024-03-20 12:54:06 +01:00
Andras Bacsai
3ea3674407 fix: multiline env variables 2024-03-15 22:02:37 +01:00
Andras Bacsai
718603e37e wip: migrate to livewire 3 2023-12-07 19:06:32 +01:00
Andras Bacsai
a86e971020 wip: services 2023-09-19 15:51:13 +02:00
Andras Bacsai
1cf036bbc6 fix: generate new key 2023-09-15 15:39:25 +02:00
Andras Bacsai
cf28490acc feat: generate ssh key 2023-09-15 11:55:58 +02: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
b4b1c671bd fix: input and textarea 2023-08-08 14:46:23 +02:00
Andras Bacsai
bd9a1dbaf3 Add port mappings for postgresql
Able to add init scripts fro postgresql
2023-08-08 14:35:01 +02:00
Andras Bacsai
f2228cec7b testing php storm code cleanup and styling 2023-08-08 11:51:36 +02:00
Andras Bacsai
a0b2868e95 UI stuffs 2023-07-13 13:16:24 +02:00
Andras Bacsai
774b8d987b ui updates 2023-06-07 21:44:16 +02:00
Andras Bacsai
0f18fbc24c ui fixes 2023-06-07 16:47:10 +02:00
Andras Bacsai
0f28acac00 save 2023-06-02 15:15:12 +02:00
Andras Bacsai
d2b0823cd0 fix 2023-05-25 14:05:44 +02:00
Renamed from resources/views/components/inputs/textarea.blade.php (Browse further)