HEX
Server: LiteSpeed
System: Linux php-prod-3.spaceapp.ru 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: sarli3128 (1010)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //home/marketing.cfbon.ru/public_html/resources/views/coffee-shops/index.blade.php
@extends('layouts.main')

@section('title', 'Кофейни на картах')

@section('title_button')
    <div class="col-md-1">
        <a href="{{ route('coffee-shops.create')  }}" class="btn btn-danger">Добавить</a>
    </div>
@endsection

@section('content')
    <div class="container mt-3 ms-2">
        <div class="row">
            <div class="col-md-11">
                <table class="table table-hover">
                    <thead class="bg-light">
                    <tr>
                        <th scope="col">Номер</th>
                        <th scope="col">Адрес</th>
                        <th scope="col">Метро</th>
                        <th scope="col">Расписание</th>
                        <th scope="col">Открыта</th>
                        <th scope="col">Действия</th>
                    </tr>
                    </thead>
                    <tbody>
                    @foreach ($coffeeShops as $shop)
                        <tr>
                            <td>{{ $shop->number }}</td>
                            <td>{{ $shop->address }}</td>
                            <td>
                                <div class="d-flex align-items-center">
                                    <span class="metro-dot" style="background-color: {{ $shop->metro_data->color }}"></span>
                                    <span>{{ $shop->metro_data->name }}</span>
                                </div>
                            </td>
                            <td>
                                <div class="d-flex flex-column">
                                    <div class="d-flex justify-content-between align-items-center gap-2">
                                        <span>{{ $shop->schedule->working->days }}</span>
                                        <span>{{ $shop->schedule->working->time }}</span>
                                    </div>

                                    @if ($shop->schedule->weekend)
                                        <div class="d-flex justify-content-between align-items-center gap-2 mt-1 text-muted">
                                            <span>{{ $shop->schedule->weekend->days }}</span>
                                            <span>{{ $shop->schedule->weekend->time }}</span>
                                        </div>
                                    @endif
                                </div>
                            </td>
                            <td>
                                <form action="{{ route('coffee-shops.changeShopOpen', ['shopId' => $shop->id]) }}" method="POST">
                                    @method('PATCH')
                                    @csrf
                                    <div class="mb-3 mt-2 switch-wrapper">
                                        <label class="switch-label">
                                            <input type="checkbox" name="is_open"
                                                   {{ old('is_open', $shop->is_open ? 'on' : '') == 'on' ? 'checked' : '' }}
                                                   class="switch-checkbox is_active_checkbox @error('is_open') is-invalid @enderror">
                                            <span class="switch-slider"></span>
                                        </label>

                                        @error('is_open')<div class="invalid-feedback">{{ $message }}</div>@enderror
                                    </div>
                                </form>
                            </td>
                            <td>
                                <div class="d-flex">
                                    <a href="{{ route('coffee-shops.edit', $shop->id) }}" class="btn btn-outline-danger btn-sm me-2">Редактировать</a>
                                    <form action="{{ route('coffee-shops.destroy', $shop->id) }}" method="POST" class="d-inline">
                                        @csrf
                                        @method('DELETE')
                                        <button type="submit" class="btn btn-outline-secondary btn-sm" onclick="return confirm('Вы уверены, что хотите безвозвратно удалить кофейню?')">Удалить</button>
                                    </form>
                                </div>
                            </td>
                        </tr>
                    @endforeach
                    </tbody>
                </table>
            </div>
        </div>
    </div>
    <style>
        .metro-dot {
            display: inline-block;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background-color: #ccc;
            margin-right: 8px;
        }

        .table th,
        .table td {
            vertical-align: middle;
            padding: 0.75rem 1rem;
        }

    </style>
@endsection

@section('scripts')
    @parent
    <script>
        document.addEventListener('change', function(e) {
            if (e.target.classList.contains('is_active_checkbox')) {
                const form = e.target.closest('form');

                fetch(form.action, {
                    method: 'PATCH',
                    headers: {
                        'X-CSRF-TOKEN': form.querySelector('input[name="_token"]').value,
                        'Accept': 'application/json',
                        'Content-Type': 'application/json',
                    },
                    body: JSON.stringify({
                        is_open: e.target.checked
                    })
                })
                    .then(response => response.json())
                    .then(data => console.log('Ответ сервера:', data))
                    .catch(error => console.error('Ошибка:', error));
            }
        });
    </script>
@endsection