feat: export tablar views and fix js stack

This commit is contained in:
2026-05-01 13:04:37 -04:00
parent 4bd0ec6e35
commit 46c88ed22a
52 changed files with 2235 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
<!doctype html>
<html lang="{{ Config::get('app.locale') }}">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/>
<meta http-equiv="X-UA-Compatible" content="ie=edge"/>
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>@yield('title')</title>
<!-- CSS/JS files -->
@if(config('tablar','vite'))
@vite('resources/js/app.js')
@endif
{{-- Custom Stylesheets (post Tablar) --}}
@yield('tablar_css')
</head>
<body class=" border-top-wide border-primary d-flex flex-column">
<div class="page page-center">
@yield('content')
</div>
@yield('tablar_js')
</html>
+96
View File
@@ -0,0 +1,96 @@
@extends('tablar::auth.layout')
@section('title', 'Login')
@section('content')
<div class="container container-tight py-4">
<div class="text-center mb-1 mt-5">
<a href="" class="navbar-brand navbar-brand-autodark">
<img src="{{asset(config('tablar.auth_logo.img.path','assets/logo.svg'))}}" height="36"
alt=""></a>
</div>
<div class="card card-md">
<div class="card-body">
<h2 class="h2 text-center mb-4">Login to your account</h2>
<form action="{{route('login')}}" method="post" autocomplete="off" novalidate>
@csrf
<div class="mb-3">
<label class="form-label">Email address</label>
<input type="email" class="form-control @error('email') is-invalid @enderror" name="email"
placeholder="your@email.com"
autocomplete="off">
@error('email')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
<div class="mb-2">
<label class="form-label">
Password
<span class="form-label-description">
<a href="{{route('password.request')}}">I forgot password</a>
</span>
</label>
<div class="input-group input-group-flat">
<input type="password" name="password"
class="form-control @error('password') is-invalid @enderror"
placeholder="Your password"
autocomplete="off">
<span class="input-group-text">
<a href="#" class="link-secondary" title="Show password" data-bs-toggle="tooltip"><!-- Download SVG icon from http://tabler-icons.io/i/eye -->
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24"
stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round"
stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><circle cx="12"
cy="12"
r="2"/><path
d="M22 12c-2.667 4.667 -6 7 -10 7s-7.333 -2.333 -10 -7c2.667 -4.667 6 -7 10 -7s7.333 2.333 10 7"/></svg>
</a>
</span>
@error('password')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
</div>
<div class="mb-2">
<label class="form-check">
<input type="checkbox" class="form-check-input"/>
<span class="form-check-label">Remember me on this device</span>
</label>
</div>
<div class="form-footer">
<button type="submit" class="btn btn-primary w-100">Sign in</button>
</div>
</form>
</div>
<div class="hr-text">or</div>
<div class="card-body">
<div class="row">
<div class="col"><a href="#" class="btn btn-white w-100">
<!-- Download SVG icon from http://tabler-icons.io/i/brand-github -->
<svg xmlns="http://www.w3.org/2000/svg" class="icon text-github" width="24" height="24"
viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none"
stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path
d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5"/>
</svg>
Login with Github
</a></div>
<div class="col"><a href="#" class="btn btn-white w-100">
<!-- Download SVG icon from http://tabler-icons.io/i/brand-twitter -->
<svg xmlns="http://www.w3.org/2000/svg" class="icon text-twitter" width="24" height="24"
viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none"
stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<path
d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z"/>
</svg>
Login with Twitter
</a></div>
</div>
</div>
</div>
@if(Route::has('register'))
<div class="text-center text-muted mt-3">
Don't have account yet? <a href="{{route('register')}}" tabindex="-1">Sign up</a>
</div>
@endif
</div>
@endsection
@@ -0,0 +1,50 @@
@extends('tablar::auth.layout')
@section('content')
<div class="page-single">
<div class="container">
<div class="row">
<div class="col col-login mx-auto">
<div class="text-center mb-1 mt-5">
<a href="" class="navbar-brand navbar-brand-autodark">
<img src="{{asset(config('tablar.auth_logo.img.path','assets/logo.svg'))}}" height="36"
alt=""></a>
</div>
<form class="card" action="{{ route('password.email') }}" method="post" novalidate>
@csrf
<div class="card-body p-6">
<div class="card-title">@lang('Forgot password')</div>
<p class="text-muted">@lang('Enter your email address.')</p>
<div class="form-group">
<label class="form-label" for="exampleInputEmail1">@lang('Email address')</label>
<input
type="email"
class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}"
id="email"
name="email"
aria-describedby="emailHelp"
placeholder="Enter email"
value="{{ old('email') }}"
required
autofocus>
@if ($errors->has('email'))
<span class="invalid-feedback">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
<div class="form-footer">
<button type="submit"
class="btn btn-primary btn-block">@lang('Send me new password')</button>
</div>
</div>
</form>
<div class="text-center text-muted">
Forget it, <a href="{{ route('login') }}">send me back</a> to the sign in screen.
</div>
</div>
</div>
</div>
</div>
@endsection
@@ -0,0 +1,77 @@
@extends('tablar::auth.layout')
@section('content')
<div class="page-single">
<div class="container">
<div class="row">
<div class="col col-login mx-auto">
<div class="text-center mb-1 mt-5">
<a href="" class="navbar-brand navbar-brand-autodark">
<img src="{{asset(config('tablar.auth_logo.img.path','assets/logo.svg'))}}" height="36"
alt=""></a>
</div>
<form class="card" method="POST" action="{{ route('password.request') }}">
@csrf
<input type="hidden" name="token" value="{{ $token }}">
<div class="card-body p-6">
<div class="card-title">@lang('Reset password')</div>
<p class="text-muted">@lang('Enter your email address and your password will be reset and emailed to you.')</p>
<div class="form-group">
<label class="form-label" for="exampleInputEmail1">@lang('Email address')</label>
<input
type="email"
class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}"
id="email"
name="email"
aria-describedby="emailHelp"
placeholder="Enter email"
value="{{ $email ?? old('email') }}"
required
autofocus>
@if ($errors->has('email'))
<span class="invalid-feedback">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
<div class="form-group">
<label class="form-label">@lang('Password')</label>
<input
type="password"
class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}"
placeholder="Password"
name="password"
required>
@if ($errors->has('password'))
<span class="invalid-feedback">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
</div>
<div class="form-group">
<label class="form-label" for="password-confirm">@lang('Confirm Password')</label>
<input
type="password"
class="form-control{{ $errors->has('password_confirmation') ? ' is-invalid' : '' }}"
placeholder="Confirm Password"
name="password_confirmation"
id="password-confirm">
@if ($errors->has('password_confirmation'))
<span class="invalid-feedback">
<strong>{{ $errors->first('password_confirmation') }}</strong>
</span>
@endif
</div>
<div class="form-footer">
<button type="submit" class="btn btn-primary btn-block">@lang('Reset Password')</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
@endsection
+84
View File
@@ -0,0 +1,84 @@
@extends('tablar::auth.layout')
@section('title', 'Register')
@section('content')
<div class="container container-tight py-4">
<div class="text-center mb-1 mt-5">
<a href="" class="navbar-brand navbar-brand-autodark">
<img src="{{asset(config('tablar.auth_logo.img.path','assets/logo.svg'))}}" height="36"
alt=""></a>
</div>
<form class="card card-md" action="{{route('register')}}" method="post" autocomplete="off" novalidate>
@csrf
<div class="card-body">
<h2 class="card-title text-center mb-4">Create new account</h2>
<div class="mb-3">
<label class="form-label">Name</label>
<input type="text" name="name" class="form-control @error('name') is-invalid @enderror" placeholder="Enter name">
@error('name')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
<div class="mb-3">
<label class="form-label">Email address</label>
<input type="email" name="email" class="form-control @error('email') is-invalid @enderror" placeholder="Enter email">
@error('email')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
<div class="mb-3">
<label class="form-label">Password</label>
<div class="input-group input-group-flat">
<input type="password" name="password" class="form-control @error('password') is-invalid @enderror" placeholder="Password"
autocomplete="off">
<span class="input-group-text">
<a href="#" class="link-secondary" title="Show password" data-bs-toggle="tooltip"><!-- Download SVG icon from http://tabler-icons.io/i/eye -->
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24"
stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round"
stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><circle cx="12"
cy="12"
r="2"/><path
d="M22 12c-2.667 4.667 -6 7 -10 7s-7.333 -2.333 -10 -7c2.667 -4.667 6 -7 10 -7s7.333 2.333 10 7"/></svg>
</a>
</span>
@error('password')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
</div>
<div class="mb-3">
<label class="form-label">Confirm Password</label>
<div class="input-group input-group-flat">
<input type="password" name="password_confirmation" class="form-control @error('password_confirmation') is-invalid @enderror" placeholder="Password"
autocomplete="off">
<span class="input-group-text">
<a href="#" class="link-secondary" title="Show password" data-bs-toggle="tooltip"><!-- Download SVG icon from http://tabler-icons.io/i/eye -->
<svg xmlns="http://www.w3.org/2000/svg" class="icon" width="24" height="24" viewBox="0 0 24 24"
stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round"
stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><circle cx="12"
cy="12"
r="2"/><path
d="M22 12c-2.667 4.667 -6 7 -10 7s-7.333 -2.333 -10 -7c2.667 -4.667 6 -7 10 -7s7.333 2.333 10 7"/></svg>
</a>
</span>
@error('password_confirmation')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
</div>
<div class="mb-3">
<label class="form-check">
<input type="checkbox" class="form-check-input"/>
<span class="form-check-label">Agree the <a href="#" tabindex="-1">terms and policy</a>.</span>
</label>
</div>
<div class="form-footer">
<button type="submit" class="btn btn-primary w-100">Create new account</button>
</div>
</div>
</form>
<div class="text-center text-muted mt-3">
Already have account? <a href="{{route('login')}}" tabindex="-1">Sign in</a>
</div>
</div>
@endsection
+28
View File
@@ -0,0 +1,28 @@
@extends('tablar::auth.layout')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Verify Your Email Address') }}</div>
<div class="card-body">
@if (session('resent'))
<div class="alert alert-success" role="alert">
{{ __('A fresh verification link has been sent to your email address.') }}
</div>
@endif
{{ __('Before proceeding, please check your email for a verification link.') }}
{{ __('If you did not receive the email') }},
<form class="d-inline" method="POST" action="{{ route('verification.resend') }}">
@csrf
<button type="submit" class="btn btn-link p-0 m-0 align-baseline">{{ __('click here to request another') }}</button>.
</form>
</div>
</div>
</div>
</div>
</div>
@endsection