The system-wide warning callout was not appearing when the checkbox was toggled because it was only evaluated on initial render. Changes: - Wrapped checkbox and warning in Alpine.js x-data scope - Used @entangle to bind showWarning to the is_system_wide Livewire property - Added x-show directive to reactively show/hide warning based on checkbox state - Added x-transition for smooth appearance/disappearance - Added style="display: none;" to prevent flash of content on load Now the warning appears immediately when the System Wide checkbox is checked and disappears when unchecked. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
65 lines
3.6 KiB
PHP
65 lines
3.6 KiB
PHP
@can('createAnyResource')
|
|
<form wire:submit='createGitHubApp' class="flex flex-col w-full gap-2">
|
|
<div class="pb-2">This is required, if you would like to get full integration (commit / pull request
|
|
deployments, etc)
|
|
with GitHub.</div>
|
|
<div class="flex gap-2">
|
|
<x-forms.input id="name" label="Name" required />
|
|
<x-forms.input helper="If empty, your GitHub user will be used."
|
|
placeholder="If empty, your GitHub user will be used." id="organization" label="Organization (on GitHub)" />
|
|
</div>
|
|
@if (!isCloud())
|
|
<div x-data="{ showWarning: @entangle('is_system_wide') }">
|
|
<div class="w-48">
|
|
<x-forms.checkbox id="is_system_wide" label="System Wide"
|
|
helper="If checked, this GitHub App will be available for everyone in this Coolify instance." />
|
|
</div>
|
|
<div x-show="showWarning" x-transition style="display: none;">
|
|
<x-callout type="warning" title="Not Recommended">
|
|
System-wide GitHub Apps are shared across all teams on this Coolify instance. This means any team can use this GitHub App to deploy applications from your repositories. For better security and isolation, it's recommended to create team-specific GitHub Apps instead.
|
|
</x-callout>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
<div x-data="{
|
|
activeAccordion: '',
|
|
setActiveAccordion(id) {
|
|
this.activeAccordion = (this.activeAccordion == id) ? '' : id
|
|
}
|
|
}" class="relative w-full py-2 mx-auto overflow-hidden text-sm font-normal rounded-md">
|
|
<div x-data="{ id: $id('accordion') }" class="cursor-pointer">
|
|
<button @click="setActiveAccordion(id)"
|
|
class="flex items-center justify-between w-full px-1 py-2 text-left select-none dark:hover:text-white hover:bg-white/5"
|
|
type="button">
|
|
<h4>Self-hosted / Enterprise GitHub</h4>
|
|
<svg class="w-4 h-4 duration-200 ease-out" :class="{ 'rotate-180': activeAccordion == id }"
|
|
viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor"
|
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
<polyline points="6 9 12 15 18 9"></polyline>
|
|
</svg>
|
|
</button>
|
|
<div x-show="activeAccordion==id" x-collapse x-cloak class="px-2">
|
|
<div class="flex flex-col gap-2 pt-0 opacity-70">
|
|
<div class="flex gap-2">
|
|
<x-forms.input id="html_url" label="HTML Url" required />
|
|
<x-forms.input id="api_url" label="API Url" required />
|
|
</div>
|
|
<div class="flex gap-2">
|
|
<x-forms.input id="custom_user" label="Custom Git User" required />
|
|
<x-forms.input id="custom_port" type="number" label="Custom Git Port" required />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<x-forms.button class="mt-4" type="submit">
|
|
Continue
|
|
</x-forms.button>
|
|
</form>
|
|
@else
|
|
<x-callout type="warning" title="Permission Required">
|
|
You don't have permission to create new GitHub Apps. Please contact your team administrator for access.
|
|
</x-callout>
|
|
@endcan
|