99 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<div>
 | 
						|
    <form wire:submit='submit' class="flex flex-col">
 | 
						|
        <div class="flex items-center gap-2">
 | 
						|
            <h2>Source</h2>
 | 
						|
            @can('update', $application)
 | 
						|
                <x-forms.button type="submit">Save</x-forms.button>
 | 
						|
            @endcan
 | 
						|
            <div class="flex items-center gap-4 px-2">
 | 
						|
                <a target="_blank" class="hover:no-underline flex items-center gap-1"
 | 
						|
                    href="{{ $application?->gitBranchLocation }}">
 | 
						|
                    Open Repository
 | 
						|
                    <x-external-link />
 | 
						|
                </a>
 | 
						|
                @if (data_get($application, 'source.is_public') === false)
 | 
						|
                    <a target="_blank" class="hover:no-underline flex items-center gap-1"
 | 
						|
                        href="{{ getInstallationPath($application->source) }}">
 | 
						|
                        Open Git App
 | 
						|
                        <x-external-link />
 | 
						|
                    </a>
 | 
						|
                @endif
 | 
						|
                <a target="_blank" class="flex hover:no-underline items-center gap-1"
 | 
						|
                    href="{{ $application?->gitCommits }}">
 | 
						|
                    Open Commits on Git
 | 
						|
                    <x-external-link />
 | 
						|
                </a>
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
        <div class="pb-4">Code source of your application.</div>
 | 
						|
 | 
						|
        <div class="flex flex-col gap-2">
 | 
						|
            @if (!$privateKeyId)
 | 
						|
                <div>Currently connected source: <span
 | 
						|
                        class="font-bold text-warning">{{ data_get($application, 'source.name', 'No source connected') }}</span>
 | 
						|
                </div>
 | 
						|
            @endif
 | 
						|
            <div class="flex gap-2">
 | 
						|
                <x-forms.input placeholder="coollabsio/coolify-example" id="gitRepository" label="Repository"
 | 
						|
                    canGate="update" :canResource="$application" />
 | 
						|
                <x-forms.input placeholder="main" id="gitBranch" label="Branch" canGate="update" :canResource="$application" />
 | 
						|
            </div>
 | 
						|
            <div class="flex items-end gap-2">
 | 
						|
                <x-forms.input placeholder="HEAD" id="gitCommitSha" placeholder="HEAD" label="Commit SHA"
 | 
						|
                    canGate="update" :canResource="$application" />
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
 | 
						|
        @if ($privateKeyId)
 | 
						|
            <h3 class="pt-4">Deploy Key</h3>
 | 
						|
            <div class="py-2 pt-4">Currently attached Private Key: <span
 | 
						|
                    class="dark:text-warning">{{ $privateKeyName }}</span>
 | 
						|
            </div>
 | 
						|
 | 
						|
            @can('update', $application)
 | 
						|
                <h4 class="py-2 ">Select another Private Key</h4>
 | 
						|
                <div class="flex flex-wrap gap-2">
 | 
						|
                    @foreach ($privateKeys as $key)
 | 
						|
                        <x-forms.button wire:click="setPrivateKey('{{ $key->id }}')">{{ $key->name }}
 | 
						|
                        </x-forms.button>
 | 
						|
                    @endforeach
 | 
						|
                </div>
 | 
						|
            @endcan
 | 
						|
        @else
 | 
						|
            @can('update', $application)
 | 
						|
                <div class="pt-4">
 | 
						|
                    <h3 class="pb-2">Change Git Source</h3>
 | 
						|
                    <div class="grid grid-cols-1 gap-2">
 | 
						|
                        @forelse ($sources as $source)
 | 
						|
                            <div wire:key="{{ $source->name }}">
 | 
						|
                                <x-modal-confirmation title="Change Git Source" :actions="['Change git source to ' . $source->name]" :buttonFullWidth="true"
 | 
						|
                                    :isHighlightedButton="$application->source_id === $source->id" :disabled="$application->source_id === $source->id"
 | 
						|
                                    submitAction="changeSource({{ $source->id }}, {{ $source->getMorphClass() }})"
 | 
						|
                                    :confirmWithText="true" confirmationText="Change Git Source"
 | 
						|
                                    confirmationLabel="Please confirm changing the git source by entering the text below"
 | 
						|
                                    shortConfirmationLabel="Confirmation Text" :confirmWithPassword="false">
 | 
						|
                                    <x-slot:customButton>
 | 
						|
                                        <div class="flex items-center gap-2">
 | 
						|
                                            <div class="box-title">
 | 
						|
                                                {{ $source->name }}
 | 
						|
                                                @if ($application->source_id === $source->id)
 | 
						|
                                                    <span class="text-xs">(current)</span>
 | 
						|
                                                @endif
 | 
						|
                                            </div>
 | 
						|
                                            <div class="box-description">
 | 
						|
                                                {{ $source->organization ?? 'Personal Account' }}
 | 
						|
                                            </div>
 | 
						|
                                        </div>
 | 
						|
                                    </x-slot:customButton>
 | 
						|
                                </x-modal-confirmation>
 | 
						|
                            </div>
 | 
						|
                        @empty
 | 
						|
                            <div>No other sources found</div>
 | 
						|
                        @endforelse
 | 
						|
                    </div>
 | 
						|
                </div>
 | 
						|
            @endcan
 | 
						|
        @endif
 | 
						|
    </form>
 | 
						|
</div>
 |