Laravel - Отображение ссылок для входа и регистрации на странице входа работодателя, если пользователь вошел в систему - PullRequest
0 голосов
/ 06 апреля 2020

Я создаю онлайн-портал заданий в Laravel, в котором я использовал пакет Auth, чтобы иметь два набора пользователей: Пользователь и Работодатель. Я настроил Multi-Auth, где я использовал мини-курс DevMarketer YouTube в качестве справочного материала. Однако в примере, который он показывает в курсе, есть ссылки на панели навигации (раскрывающемся меню «Имя учетной записи»), отображаемой на его странице входа администратора. ( Временная метка того, о чем я говорю, в данный момент вошел в систему пользователь. )

Я возился с Auth::guard()->check() и Request::is('/') и как-то подошел с возможным исправлением, которое я искал, но я думаю, что решение, которое я придумал, может быть не тем, которое можно применить в этом.

navbar.blade.php

<nav class="navbar navbar-expand-lg">
    <div class="container">
        <a class="navbar-brand" href="{{ url('/') }}">
            {{ config('app.name', 'Job Portal') }}
        </a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}">
            <span class="navbar-toggler-icon"></span>
        </button>

        <div class="collapse navbar-collapse" id="navbarSupportedContent">
            <!-- Left Side Of Navbar -->
            {{-- <ul class="navbar-nav mr-auto">

            </ul> --}}

            <ul class="navbar-nav mr-auto">
                <li class="nav-item">
                    <a class="nav-link" href="/">Home</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="/job-search">Job Search</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="/about">About Us</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="/contact-us">Contact Us</a>
                </li>
            </ul>

            <!-- Right Side Of Navbar -->
            <ul class="navbar-nav ml-auto">
                <!-- Authentication Links -->
                @guest
                    @if (Request::is('/'))
                        <li class="nav-item">
                            <a href="/employer/login" class="nav-link">For Employers</a>
                        </li>    
                    @endif
                    <li class="nav-item">
                        <a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
                    </li>
                    @if (Route::has('register'))
                        <li class="nav-item">
                            <a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
                        </li>
                    @endif
                @else
                // If user is logged in and accessed employer login page
                @if ((Auth::guard('web')->check()) && (Request::is('employer/login')))    
                    <li class="nav-item">
                        <a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
                    </li>
                    @if (Route::has('register'))
                        <li class="nav-item">
                            <a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
                        </li>
                    @endif
                @else
                    <li class="nav-item">
                        <a href="/create-job-post" class="nav-link">Create Job Post</a>
                    </li>

                    <li class="nav-item dropdown">
                        <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
                            {{ Auth::user()->username }} <span class="caret"></span>
                        </a>

                        @if ((Auth::guard('employer')->check()) && (Request::is('employer/*') || Request::is('employer')))
                        <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
                            <a class="dropdown-item" href="{{ route('employer.logout') }}"
                            onclick="event.preventDefault();
                                            document.getElementById('logout-form').submit();">
                                {{ __('Logout') }}
                            </a>

                            <form id="logout-form" action="{{ route('employer.logout') }}" method="POST" style="display: none;">
                                @csrf
                            </form>
                        </div>
                        @else
                        <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
                            <a class="dropdown-item" href="{{ route('user.logout') }}"
                            onclick="event.preventDefault();
                                            document.getElementById('logout-form').submit();">
                                {{ __('Logout') }}
                            </a>

                            <form id="logout-form" action="{{ route('user.logout') }}" method="POST" style="display: none;">
                                @csrf
                            </form>
                        </div>
                        @endif
                    </li>
                @endif

                @endguest
            </ul>
        </div>
    </div>
</nav>


Если кто-то сталкивался с тем, что я ' В настоящее время я испытываю трудности, пожалуйста, порекомендуйте, если мой текущий подход будет достаточно хорошим, или я могу пропустить фрагмент кода, который уменьшил бы мой код в панели навигации. Заранее благодарим и сохраняем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...