Commit Graph

105 Commits

Author SHA1 Message Date
Andras Bacsai d2a334df78 refactor: replace random ID generation with Cuid2 for unique HTML IDs in form components 2025-10-16 12:54:14 +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 598984f291 Fix wire:model warnings and ensure truly unique HTML IDs
**Problems Fixed:**
1. Livewire warnings about non-existent properties (e.g., wire:model="dcgoowgw0gcgcsgg00c8kskc")
2. Duplicate HTML IDs still appearing despite initial fix

**Root Causes:**
1. Auto-generated Cuid2 IDs were being used for wire:model when no explicit id was provided
2. Livewire's wire:id attribute isn't available during server-side rendering

**Solutions:**
1. Set $modelBinding to 'null' (string) when id is not provided, preventing invalid wire:model generation
2. Use random MD5 suffix instead of Livewire component ID for guaranteed uniqueness during initial render
3. Maintain correct $name attribute based on original property name

**Technical Changes:**
- Input, Textarea, Select, Datalist: Use random 8-char suffix for uniqueness
- Checkbox: Apply same random suffix approach
- wire:model now only created for explicit property names
- HTML IDs are unique from initial server render (no hydration required)

**Result:**
 No more Livewire property warnings
 Truly unique HTML IDs across all components
 wire:model bindings work correctly
 Validation and form submission unaffected

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-14 10:32:49 +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 ac3af8a882 feat: add support for selecting additional SSH keys from Hetzner in server creation form 2025-10-10 12:17:05 +02:00
Andras Bacsai f85a4f04d9 fix(css): update focus styles for Checkbox and modal input components to enhance accessibility 2025-10-09 16:53:46 +02:00
Andras Bacsai 61e688affd refactor(checkbox, utilities, global-search): enhance focus styles for better accessibility 2025-10-09 12:46:36 +02:00
Andras Bacsai 63fcc0ebc3 feat(acl): Change views/backend code to able to use proper ACL's later on. Currently it is not enabled. 2025-08-26 10:27:38 +02:00
Andras Bacsai 1ddec358a5 feat(input): add autofocus attribute to input component for improved accessibility 2025-08-12 10:06:19 +02:00
peaklabs-dev 2a1aa5375e fix(git): tracking issue due to case sensitivity 2025-08-03 22:26:45 +02:00
peaklabs-dev 79fc9927d7 fix(git): tracking issue due to case sensitivity 2025-08-03 22:22:16 +02:00
0x4e32 c728e6f2ba feat(ui): Upgrade to Tailwind v4 (#5710) 2025-05-14 12:43:23 +02:00
Andras Bacsai d7ded7f8e5 refactor(database): enhance SSL configuration handling for various databases 2025-03-26 17:24:46 +01:00
Andras Bacsai 950acffe0b refactor(database): streamline SSL configuration handling across database types 2025-03-17 15:15:54 +01:00
peaklabs-dev e1245f49f1 fix(ui): select component should not always uses title case 2025-01-31 11:57:30 +01:00
peaklabs-dev 11769f059f fix: Undefined variable $service when creating a new service 2025-01-14 12:40:08 +01:00
Andras Bacsai dd2d306abc feat: force deployment of services
fix: added advanced ui dropdown to services
2025-01-13 12:03:03 +01:00
Andras Bacsai 1fe4dd722b Revert "rector: arrrrr"
This reverts commit 16c0cd10d8.
2025-01-07 15:31:43 +01:00
Andras Bacsai 16c0cd10d8 rector: arrrrr 2025-01-07 14:52:08 +01:00
Andras Bacsai 2a9d499251 feat: migrate env variables to polymorphic relationship
fix: proxy status query ui
2024-12-17 10:38:42 +01:00
Andras Bacsai 4901b12279 fix: service status indicator + oauth saving 2024-12-13 12:03:10 +01:00
Andras Bacsai 78f0ac80c1 Merge branch 'next' into feat/deployment-token 2024-12-09 09:16:59 +01:00
Andras Bacsai 1fc4c7872e fix 2024-11-15 21:47:31 +01:00
Andras Bacsai b43d62f51b fix: AUTOUPDATE + checkbox opacity 2024-11-15 21:44:05 +01:00
Kael 56c8056a8f Merge branch 'next' into feat/deployment-token 2024-11-04 23:33:26 +11:00
Andras Bacsai 8c9989136b fix: remove livewire legacy from help view 2024-11-03 21:27:26 +01:00
Andras Bacsai c211227141 fix: add min/max length to input/texarea 2024-11-03 21:27:02 +01:00
Kael b9597e53e1 Merge branch 'next' into feat/deployment-token 2024-11-01 16:55:00 +11:00
Andras Bacsai 96ca72fcdb refactor server view (phuuu) 2024-10-30 20:03:30 +01:00
Kael 6520235667 middleware should allow, not deny 2024-10-30 19:06:50 +11:00
Andras Bacsai 96b8ddf664 chore: Add autocomplete attribute to input fields 2024-09-27 16:32:03 +02:00
andrasbacsai 96c4f5b8da Fix styling 2024-07-25 11:31:59 +00:00
Andras Bacsai 6a4aa492c0 fix: random generated uuid will be full length (not 7 characters) 2024-07-25 13:31:01 +02:00
Andras Bacsai 2c92cc40e1 refactor: Update code to use str() instead of Str::of() for string manipulation 2024-06-25 10:37:10 +02:00
Andras Bacsai 5201818f52 fix: monaco editor
fix: apex charts
2024-06-24 11:21:39 +02:00
Mahdi Taleghani 73bc07c7fb Merge branch 'next' into feat/monaco-editor 2024-06-23 22:50:25 +03:30
MMTE 92049cba92 add monaco-editor as option to textarea component 2024-06-23 22:13:50 +03:30
andrasbacsai d1a5f97f59 Fix styling 2024-06-19 06:59:46 +00:00
andrasbacsai dc4916dc19 Fix styling 2024-06-17 12:22:17 +00:00
Andras Bacsai 1d0a1ab16a feat: charts 2024-06-17 14:21:27 +02:00
Thijmen d86274cc37 Fix styling 2024-06-10 20:43:34 +00:00
Andras Bacsai a04674d93d Merge pull request #2006 from grahamhealy20/add-mono-font-to-textarea
Text areas use monospaced fonts with spellcheck disabled by default
2024-04-26 15:16:59 +02:00
Andras Bacsai 3e0440ba53 feat: initial datalist 2024-04-26 10:33:55 +02:00
Graham Healy aa368c3a63 Merge branch 'next' into add-mono-font-to-textarea 2024-04-24 16:20:23 +01:00
= 379212b8fe Making text areas use monospaced font and disabling spellcheck by default 2024-04-16 17:29:09 +01:00
Andras Bacsai 1aec16a240 Refactor healthcheck configurations in Docker Compose files 2024-04-16 14:08:11 +02:00
w3cj d46a565e6c feat: allow tab in textarea 2024-04-12 05:33:56 -06:00
Andras Bacsai a66090b594 ui + package updates 2024-03-25 10:41:44 +01:00
Andras Bacsai 54834891fb Update styles and classes in blade files 2024-03-22 16:52:20 +01:00