Files
growup-crm/resources/views/vendor/admin/sessions/login.blade.php
Cauê Faleiros 564da06e67
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 25s
Fix: Copy admin images and update Vite config/view to resolve 500 error
2026-02-04 10:13:31 -03:00

130 lines
5.4 KiB
PHP

<x-admin::layouts.anonymous>
<!-- Page Title -->
<x-slot:title>
@lang('admin::app.users.login.title')
</x-slot>
<div class="flex h-[100vh] flex-col items-center justify-center gap-10">
<div class="flex flex-col items-center gap-5">
<!-- Logo -->
@if ($logo = core()->getConfigData('general.design.admin_logo.logo_image'))
<img
class="h-10 w-[110px]"
src="{{ Storage::url($logo) }}"
alt="{{ config('app.name') }}"
/>
@else
<img
class="w-max"
src="{{ vite()->asset('resources/images/logo.svg') }}"
alt="{{ config('app.name') }}"
/>
@endif
<div class="box-shadow flex min-w-[300px] flex-col rounded-md bg-white dark:bg-gray-900">
{!! view_render_event('admin.sessions.login.form_controls.before') !!}
<!-- Login Form -->
<x-admin::form :action="route('admin.session.store')">
<p class="p-4 text-xl font-bold text-gray-800 dark:text-white">
@lang('admin::app.users.login.title')
</p>
<div class="border-y p-4 dark:border-gray-800">
<!-- Email -->
<x-admin::form.control-group>
<x-admin::form.control-group.label class="required">
@lang('admin::app.users.login.email')
</x-admin::form.control-group.label>
<x-admin::form.control-group.control
type="email"
class="w-[254px] max-w-full"
id="email"
name="email"
rules="required|email"
:label="trans('admin::app.users.login.email')"
:placeholder="trans('admin::app.users.login.email')"
/>
<x-admin::form.control-group.error control-name="email" />
</x-admin::form.control-group>
<!-- Password -->
<x-admin::form.control-group class="relative w-full">
<x-admin::form.control-group.label class="required">
@lang('admin::app.users.login.password')
</x-admin::form.control-group.label>
<x-admin::form.control-group.control
type="password"
class="w-[254px] max-w-full ltr:pr-10 rtl:pl-10"
id="password"
name="password"
rules="required|min:6"
:label="trans('admin::app.users.login.password')"
:placeholder="trans('admin::app.users.login.password')"
/>
<span
class="icon-eye-hide absolute top-11 -translate-y-2/4 cursor-pointer text-2xl ltr:right-3 rtl:left-3"
onclick="switchVisibility()"
id="visibilityIcon"
role="presentation"
tabindex="0"
>
</span>
<x-admin::form.control-group.error control-name="password" />
</x-admin::form.control-group>
</div>
<div class="flex items-center justify-between p-4">
<!-- Forgot Password Link -->
<a
class="cursor-pointer text-xs font-semibold leading-6 text-brandColor"
href="{{ route('admin.forgot_password.create') }}"
>
@lang('admin::app.users.login.forget-password-link')
</a>
<!-- Submit Button -->
<button
class="primary-button"
aria-label="{{ trans('admin::app.users.login.submit-btn')}}"
>
@lang('admin::app.users.login.submit-btn')
</button>
</div>
</x-admin::form>
{!! view_render_event('admin.sessions.login.form_controls.after') !!}
</div>
</div>
<!-- Powered By -->
<div class="text-sm font-normal">
Desenvolvido por
<a
style="color: #0E90D9;"
class="hover:underline"
href="https://blyzer.com.br"
target="_blank"
>
Blyzer
</a>
</div>
@push('scripts')
<script>
function switchVisibility() {
let passwordField = document.getElementById("password");
let visibilityIcon = document.getElementById("visibilityIcon");
passwordField.type = passwordField.type === "password" ? "text" : "password";
visibilityIcon.classList.toggle("icon-eye");
}
</script>
@endpush
</x-admin::layouts.anonymous>