<x-mb-layout pageTitle="Google Ads account">
    @push('styles')
        <link href="{{ asset('assets/mb/css/creatives.css') }}?v={{ filemtime(public_path('assets/mb/css/creatives.css')) }}" rel="stylesheet">
    @endpush

    <div class="mb-page">
        <div class="mb-page-inner">
            <div class="mb-page-head">
                <div>
                    <h1 class="mb-page-title">Google Ads account</h1>
                    <p class="mb-page-sub">Store the API connection used by Google Ads publishing.</p>
                </div>
                <div class="mb-page-head-actions">
                    <a href="{{ route('google-ads.create') }}" class="mb-btn-secondary" wire:navigate>Create ad</a>
                </div>
            </div>

            @if (session('status'))
                <div class="alert alert-success">{{ session('status') }}</div>
            @endif

            <form method="POST" action="{{ route('google-ads.setup.child-accounts') }}" class="mb-3">
                @csrf
                <button class="btn btn-outline-primary">Fetch child accounts</button>
            </form>

            <div class="row g-4">
                <div class="col-lg-8">
                    <div class="card shadow-sm">
                        <div class="card-body p-4 text-center">
                            <h2 class="h5 mb-2">Connect your Google Ads account</h2>
                            <p class="text-muted mb-4">Choose the Google email that has access to the Ads account. Your account and refresh token are saved automatically.</p>
                            @error('connection')
                                <div class="alert alert-danger text-start">{{ $message }}</div>
                            @enderror
                            <a href="{{ route('google-ads.oauth.authorize') }}" class="btn btn-primary">Connect with Google</a>
                        </div>
                    </div>

                    @if ($connection?->google_email)
                        <div class="card shadow-sm mt-4">
                            <div class="card-body">
                                <div class="small text-muted">Connected Google email</div>
                                <div class="fw-semibold">{{ $connection->google_email }}</div>

                                @if ($connection->customer_id)
                                    <div class="small text-muted mt-3">Selected Google Ads customer ID</div>
                                    <div class="fw-semibold">{{ $connection->customer_id }}</div>
                                    <div class="small text-muted mt-3">Login customer ID</div>
                                    <div class="fw-semibold">{{ $connection->manager_customer_id ?: 'Not set; server fallback will be used if configured.' }}</div>
                                    <form method="POST" action="{{ route('google-ads.setup.save') }}" class="mt-3">
                                        @csrf
                                        @method('PUT')
                                        <input type="hidden" name="customer_id" value="{{ $connection->customer_id }}">
                                        <label for="manager_customer_id" class="form-label">Login customer ID (optional manager account)</label>
                                        <select id="manager_customer_id" name="manager_customer_id" class="form-select @error('manager_customer_id') is-invalid @enderror">
                                            <option value="">No manager account</option>
                                            @foreach ($connection->available_customer_ids as $customerId)
                                                <option value="{{ $customerId }}" @selected($connection->manager_customer_id === $customerId)>{{ $customerId }}</option>
                                            @endforeach
                                        </select>
                                        @error('manager_customer_id') <div class="invalid-feedback">{{ $message }}</div> @enderror
                                        <button class="btn btn-outline-primary mt-3">Save login account</button>
                                    </form>
                                @elseif (count($connection->available_customer_ids ?? []) > 0)
                                    <form method="POST" action="{{ route('google-ads.setup.save') }}" class="mt-3">
                                        @csrf
                                        @method('PUT')
                                        <label for="customer_id" class="form-label">Select Google Ads account</label>
                                        <select id="customer_id" name="customer_id" class="form-select @error('customer_id') is-invalid @enderror" required>
                                            <option value="">Choose an account</option>
                                            @foreach ($connection->available_customer_ids as $customerId)
                                                <option value="{{ $customerId }}">{{ $customerId }}</option>
                                            @endforeach
                                        </select>
                                        @error('customer_id') <div class="invalid-feedback">{{ $message }}</div> @enderror

                                        <label for="manager_customer_id" class="form-label mt-3">Login customer ID (optional manager account)</label>
                                        <select id="manager_customer_id" name="manager_customer_id" class="form-select @error('manager_customer_id') is-invalid @enderror">
                                            <option value="">No manager account</option>
                                            @foreach ($connection->available_customer_ids as $customerId)
                                                <option value="{{ $customerId }}">{{ $customerId }}</option>
                                            @endforeach
                                        </select>
                                        @error('manager_customer_id') <div class="invalid-feedback">{{ $message }}</div> @enderror
                                        <button class="btn btn-primary mt-3">Use this account</button>
                                    </form>
                                @else
                                    <p class="text-muted mb-0 mt-3">No accessible Google Ads accounts were returned for this email.</p>
                                @endif
                            </div>
                        </div>
                    @endif
                </div>

                <aside class="col-lg-4">
                    <div class="card border-primary-subtle h-100">
                        <div class="card-body">
                            <h2 class="h5">Server configuration</h2>
                            <p class="small mb-0">An administrator must set <code>GOOGLE_ADS_DEVELOPER_TOKEN</code>, <code>GOOGLE_ADS_OAUTH_CLIENT_ID</code>, and <code>GOOGLE_ADS_OAUTH_CLIENT_SECRET</code> in the server environment before users can connect.</p>
                        </div>
                    </div>
                </aside>
            </div>
        </div>
    </div>
</x-mb-layout>