mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-11 05:32:39 +01:00
ac5525c9ac
* Client login, reset and update password page * Client dashboard, sidebar, PortalComposer.php * wip * Personal page & update for details * Invoices, paying & pagination.blade.php * Invoices, recurring invoice & buttons * Payments, link component * Payment methods * Breadcrums, clean up & wrap up * Remove format_date() method to formatDate on object * Payments - $this->render is now proxy for render() - Removed logic from Controller.php to ClientPortal.php - Added MakesDates to ClientGatewayToken.php - StripePaymentDriver.php now returns correct views - Refactor of adding new payment method - Ignoring all local builds for public/js/clients/* * Signature, wip * Fix "Pay now" on single invoice * Payments: - Added ProcessInvoicesInBulk request class - Refactor InvoiceController::bulk() - Displaying terms & payments - New signature.blade.php - Removed comment from webpack.mix.js * Quotes: - Refactor ProcessInvoicesInBulk.php to ProcessInvoicesInBulkRequest.php - Add new 'Quotes' field inside of PortalComposer.php - Added MakesDates to Quote.php - Added Quote::badgeForStatus() - Cleanup payment.blade.php - Quote showing and approving - New resource 'quotes' in client.php - New image for quotes, align-left.svg * Credits: - New 'credits' resource in client.php - Fixes for client.php typo * Breadcrumbs: - Quotes - Credits * Placeholder for translations. * Restore whereIn & client scope Co-authored-by: David Bomba <turbo124@gmail.com>
60 lines
3.0 KiB
PHP
60 lines
3.0 KiB
PHP
@extends('portal.ninja2020.layout.clean')
|
|
@section('meta_title', ctrans('texts.login'))
|
|
|
|
@section('body')
|
|
<div class="grid lg:grid-cols-3">
|
|
<div class="hidden lg:block col-span-1 bg-red-100 h-screen">
|
|
<img src="https://www.invoiceninja.com/wp-content/uploads/2018/04/bg-home2018b.jpg"
|
|
class="w-full h-screen object-cover"
|
|
alt="Background image">
|
|
</div>
|
|
<div class="col-span-2 h-screen flex">
|
|
<div class="m-auto md:w-1/2 lg:w-1/4">
|
|
<div class="flex flex-col">
|
|
<h1 class="text-center text-3xl">{{ ctrans('texts.account_login') }}</h1>
|
|
<p class="text-center mt-1 text-gray-600">{{ ctrans('texts.account_login_text') }}</p>
|
|
<form action="{{ route('client.login') }}" method="post" class="mt-6">
|
|
@csrf
|
|
<div class="flex flex-col">
|
|
<label for="email" class="input-label">{{ ctrans('texts.email_address') }}</label>
|
|
<input type="email" name="email" id="email"
|
|
class="input"
|
|
value="{{ old('email') }}"
|
|
autofocus>
|
|
@error('email')
|
|
<div class="validation validation-fail">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
<div class="flex flex-col mt-4">
|
|
<div class="flex justify-between items-center">
|
|
<label for="password" class="input-label">{{ ctrans('texts.password') }}</label>
|
|
<a class="text-xs text-gray-600 hover:text-gray-800 ease-in duration-100"
|
|
href="{{ route('client.password.request') }}">{{ trans('texts.forgot_password') }}</a>
|
|
</div>
|
|
<input type="password" name="password" id="password"
|
|
class="input"
|
|
autofocus>
|
|
@error('password')
|
|
<div class="validation validation-fail">
|
|
{{ $message }}
|
|
</div>
|
|
@enderror
|
|
</div>
|
|
<div class="mt-5">
|
|
<button class="button button-primary button-block">
|
|
{{ trans('texts.login') }}
|
|
</button>
|
|
</div>
|
|
</form>
|
|
<a href="#" class="uppercase text-sm mt-4 text-center text-grey-600 hover:text-blue-600 ease-in duration-100">
|
|
{{ trans('texts.login_create_an_account') }}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection
|