= e791c08ce1 Feat: (UI) Replace connected-app creation with modular OIDC service and components
- Removed the old `connected-apps.create` implementation and components, simplifying the codebase.
- Introduced modular OIDC integration using reusable components and traits, such as `WithSearchableChoices` and `WithRepeaterFields`.
- Added `StoreOIDCAppForm` for handling OpenID Connect app-specific fields and validation.
- Updated `choices.blade.php` and related components to leverage configuration-driven, dynamic multi-select functionality.
- Updated routes to support new OIDC app creation under distinct connection protocol namespaces.
- Enhanced app creation flow with support for dynamic fields like URIs (`repeater-input`) and scoped user roles.
2026-06-18 09:48:07 +00:00

40 lines
1.4 KiB
PHP

{{--
Read /App/Livewire/Concerns/Choices/README.md first.
This will give you a resuable idea of using this component
--}}
@props([
'label' => 'Select Items',
'options', // The data collection passed from the parent
'searchFunction', // The parent method to call for searching
'selectAllAction', // The parent method to call for selecting all
'clearAction', // The parent method to call for clearing
'placeholder' => 'Search...',
'noResultText' => 'No items found.'
])
<fieldset class="fieldset">
<legend class="fieldset-legend w-full mb-1 flex items-end justify-between">
<label class="text-xs font-semibold text-">{{ $label }}</label>
<div class="flex gap-3 text-xs">
<button type="button" wire:click="{{ $selectAllAction }}" class="text-primary hover:underline">
Select All
</button>
<button type="button" wire:click="{{ $clearAction }}" class="text-error hover:underline">
Clear
</button>
</div>
</legend>
<x-mary-choices
{{ $attributes->whereStartsWith('wire:model') }}
:options="$options"
search-function="{{ $searchFunction }}"
option-label="name"
option-value="id"
:no-result-text="$noResultText"
:placeholder="$placeholder"
searchable
/>
</fieldset>