nim_restyle

pull/4/head
nimtaurel 2025-03-07 18:15:02 +05:00
parent d153c5495c
commit 0c245452fb
18 changed files with 67792 additions and 196 deletions

25
app/components/Form.php Normal file
View File

@ -0,0 +1,25 @@
<?php
/*
* Copyright (c) 2023.
*
* A.Сапаргалиев
* ТОО "Дизайн лаборатория А7"
* Астана
*/
namespace App\components;
use A7kz\Platform\Modules\Platform\Core\Services\Base\Component;
class Form extends Component
{
public function __construct(array $params = [])
{
parent::__construct($params, '');
$this->template = "components.form";
}
public function render(){
return view($this->template, $this->params)->render();
}
}

25
app/components/Show.php Normal file
View File

@ -0,0 +1,25 @@
<?php
/*
* Copyright (c) 2023.
*
* A.Сапаргалиев
* ТОО "Дизайн лаборатория А7"
* Астана
*/
namespace App\components;
use A7kz\Platform\Modules\Platform\Core\Services\Base\Component;
class Show extends Component
{
public function __construct(array $params = [])
{
parent::__construct($params, '');
$this->template = "components.show";
}
public function render(){
return view($this->template, $this->params)->render();
}
}

View File

@ -1,12 +1,18 @@
@extends('layouts.app') @extends('layouts.app')
@section('content') @section('content')
<div class="container"> <div class="container mt-5">
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-md-8"> <div class="col-md-8">
<div class="card"> <div class="card reset-card">
<div class="card-header">{{ __('Reset Password') }}</div> <div class="card-header">
<h5>
{{ __('Забыли пароль?') }}
</h5>
<p>
{!! __('Для получения инструкции по восстановлению<br>пароля введите адрес Вашей электронной почты') !!}
</p>
</div>
<div class="card-body"> <div class="card-body">
@if (session('status')) @if (session('status'))
<div class="alert alert-success" role="alert"> <div class="alert alert-success" role="alert">
@ -17,11 +23,9 @@
<form method="POST" action="{{ lurl('password/email') }}"> <form method="POST" action="{{ lurl('password/email') }}">
@csrf @csrf
<div class="row mb-3"> <div class="row mb-3" style="text-align: center;justify-content: center;">
<label for="email" class="col-md-4 col-form-label text-md-end">{{ __('Email Address') }}</label>
<div class="col-md-6"> <div class="col-md-6">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus> <input placeholder="{{ __('Email Address') }}" id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>
@error('email') @error('email')
<span class="invalid-feedback" role="alert"> <span class="invalid-feedback" role="alert">
@ -32,9 +36,9 @@
</div> </div>
<div class="row mb-0"> <div class="row mb-0">
<div class="col-md-6 offset-md-4"> <div class="reset-btn">
<button type="submit" class="btn btn-primary"> <button type="submit" class="btn btn-primary">
{{ __('Send Password Reset Link') }} {{ __('Отправить') }}
</button> </button>
</div> </div>
</div> </div>

View File

@ -5,7 +5,7 @@
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-md-8"> <div class="col-md-8">
<div class="card"> <div class="card">
<div class="card-header">{{ __('Reset Password') }}</div> <div class="card-header">{{ __('Восстановить пароль') }}</div>
<div class="card-body"> <div class="card-body">
<form method="POST" action="{{ lurl('/password/reset') }}"> <form method="POST" action="{{ lurl('/password/reset') }}">

View File

@ -1,7 +1,8 @@
{ {
"module": "pipicar", "module": "pipicar",
"name": "pipicar.auto", "name": "pipicar.auto",
"type": "crud", "type": "custom",
"class": "App.components.show",
"title": "Автомобили", "title": "Автомобили",
"withHeader": false, "withHeader": false,
"data": { "data": {
@ -226,6 +227,7 @@
"add": { "add": {
"title": "Добавление автомобиля", "title": "Добавление автомобиля",
"template": "app.base.crud.form", "template": "app.base.crud.form",
"component": "App.components.show",
"form": { "form": {
"submits": "struct:crud.form.edit.submits", "submits": "struct:crud.form.edit.submits",
"rows": [ "rows": [
@ -310,6 +312,7 @@
"edit": { "edit": {
"title": "Редактирование автомобиля", "title": "Редактирование автомобиля",
"template": "app.base.crud.form", "template": "app.base.crud.form",
"component": "App.components.show",
"form": { "form": {
"rows": [ "rows": [
{ {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -70,6 +70,15 @@
} }
} }
&.btn-outline {
background-color: $light-color;
color: $outline-text-color;
border: 1px solid #00465c57!important;
&:hover {
background-color: white;
}
}
&.btn-action { &.btn-action {
border-radius: 50%; border-radius: 50%;

View File

@ -1,7 +1,39 @@
.card{ .card{
border-radius: 6px; background-color: #fff;
border: 1px solid $border-color; display: flex;
flex-direction: column;
justify-content: space-between;
padding: 50px;
overflow: auto;
border-radius: 25px;
-webkit-box-shadow: 1px -2px 17px -5px rgba(179, 179, 179, 0.76);
-moz-box-shadow: 1px -2px 17px -5px rgba(179, 179, 179, 0.76);
box-shadow: 1px -2px 17px -5px rgba(179, 179, 179, 0.76);
border: none;
.card-body{ .card-body{
padding: 20px; padding: 20px;
} }
.card-header {
background-color: $white;
}
}
.reset-card {
padding: 30px;
.card-header {
text-align: center;
h5 {
text-align: center;
font-size: 1.5rem;
}
p {
font-size: 0.875rem;
}
}
.reset-btn {
display: flex;
align-content: center;
justify-content: center;
}
} }

View File

@ -15,3 +15,10 @@ $primary-bg-color: rgba(11, 107, 251, 0.2);
$success-bg-color: rgba(7, 179, 133, 0.2); $success-bg-color: rgba(7, 179, 133, 0.2);
$danger-bg-color: rgba(220, 53, 69, 0.2); $danger-bg-color: rgba(220, 53, 69, 0.2);
$secondary-bg-color: rgba(66, 75, 75, 0.2); $secondary-bg-color: rgba(66, 75, 75, 0.2);
//ouline-btn
$outline-text-color: #00465C;
$light-color: #eeeeee;
$white: white;
$outine-border: #007BA2;

View File

@ -0,0 +1,104 @@
<?php
/*
* Copyright (c) 2022.
* Aidyn Sapargaliyev
* Nur-Sultan (Astana), Kazakhstan
* ТОО Дизайн лаборатория А7
* https://a7.kz
*/
/**
* @var \A7kz\Platform\Modules\Platform\Core\Services\Application\BaseApplication $app
* @var \A7kz\Platform\Modules\Platform\Core\Services\UI\FormBuilder $form
*/
?>
@if($app->withHeader())
<x-component name="Tabs" :module="$module"/>
@endif
{!! $app->show_message() !!}
<x-component name="Js.Before" :params="['app'=>$app, 'form'=>$form]" :module="$module"/>
<div class="@if($form->hasContainer()){{$form->container()}}@endif">
<form method="post"
action="{{$app->getPath()}}/{{$form->action()}}@if($app->data->hasPkValue())?pk={{$app->data->getPkValue()}}@endif"
onsubmit="return submit_prepare()">
<div class="global-actions">
<div class="left-content">
<h5 class="global-title">@lang($form->title())</h5>
</div>
<div class="right-content">
@if(count($form->submits()))
<x-component name="Form.Submits" :params="['app'=>$app, 'form'=>$form]"
:module="$module"/>
@endif
</div>
</div>
<div class="card">
<div class="card-body">
@if($form->action() == "show")
@if(!isset($form->getConfig()->hide_prev_next_pk))
<div class="row">
<div class="col text-center">
<?php $next = $app->data->getNextPkValue(); $prev = $app->data->getPrevPkValue(); ?>
@if($prev) <a class="btn btn-primary" href="{{$app->getPath()}}/{{$form->action()}}?pk={{$prev}}"><i class="bi bi-caret-left-fill"></i></a> @endif
@if($next) <a class="btn btn-primary" href="{{$app->getPath()}}/{{$form->action()}}?pk={{$next}}"><i class="bi bi-caret-right-fill"></i></a> @endif
</div>
</div>
@endif
@endif
<div class="row">
<div class="@if($app->isProcess()) col-md-8 col-xs-12 @else col @endif">
@if($app->data->isAutoincrement() && $app->data->getPkValue())
<input type="hidden" name="{{$app->data->getPk()}}" value="{{$app->data->getPkValue()}}">
@endif
@if($app->data->getParentValue())
<input type="hidden" id="{{$app->data->getParentField()}}" value="{{$app->data->getParentValue()}}">
@endif
<x-component name="Form.Row" :params="['rows'=>$form->rows(),'app'=>$app, 'form'=>$form]"
:module="$module"/>
@if(count($form->tabs()))
<x-component name="Form.Tab" :params="['app'=>$app, 'form'=>$form]"
:module="$module"/>
@endif
@if($app->hasComments())
{!! $app->comment->getComments() !!}
@endif
</div>
@if($app->isProcess())
<div class="col-md-4 col-xs-12">
{!! $app->documentState->form(); !!}
</div>
@endif
</div>
</div>
</div>
{{ csrf_field() }}
<x-component name="Form.CFCinput" :params="['app'=>$app, 'form'=>$form]"
:module="$module"/>
</form>
</div>
<x-component name="Additional.Modal" :module="$module"/>
<x-component name="Js.After" :params="['app'=>$app]" :module="$module"/>
<x-component name="Additional.ImportAction" :params="['app'=>$app]" :module="$module"/>
@foreach($form->getInjectComponent() as $inject_component)
<x-component :name="$inject_component" :module="$module" :params="['app'=>$app]"/>
@endforeach
@if(!empty($form->getOnRenderEmitFunctions()))
<x-component name="Js.OnRenderEmitFunctions" :module="$module"
:params="['app' => $app, 'emitFunctions' => $form->getOnRenderEmitFunctions()]"
/>
@endif
@if($app->withHeader())
<div class="row mt-5">
<div class="col">
<hr>
<div class="text-end"><span style="color: #e00b0b">*</span> - @lang('Поля обязательные к заполнению')</div>
</div>
</div>
@endif

View File

@ -0,0 +1,86 @@
<?php
/*
* Copyright (c) 2022.
* Aidyn Sapargaliyev
* Nur-Sultan (Astana), Kazakhstan
* ТОО Дизайн лаборатория А7
* https://a7.kz
*/
/**
* @var \A7kz\Platform\Modules\Platform\Core\Services\Application\CrudApplication $app
*/
?>
@if($app->withHeader())
<x-component name="Tabs" :module="$module"/>
@endif
{!! $app->show_message() !!}
<x-component name="Js.Before" :params="['app'=>$app, 'form'=>$form]" :module="$module"/>
<div class="@if($form->hasContainer()){{$form->container()}}@endif">
<form method="post"
action="{{$app->getPath()}}/{{$form->action()}}@if($app->data->hasPkValue())?pk={{$app->data->getPkValue()}}@endif"
onsubmit="return submit_prepare(event)">
<div class="global-actions">
<div class="left-content">
<h5 class="global-title">{{$form->title()}}</h5>
</div>
<div class="right-content">
@if(count($form->submits()))
<x-component name="Form.Submits" :params="['app'=>$app, 'form'=>$form]"
:module="$module"/>
@endif
</div>
</div>
<hr class="global-line">
<div class="card">
<div class="card-body">
@if(!isset($form->getConfig()->form->hide_prev_next_pk))
<div class="row">
<div class="col text-center">
<?php $next = $app->data->getNextPkValue(); $prev = $app->data->getPrevPkValue(); ?>
@if($prev) <a class="btn btn-outline" href="{{$app->getPath()}}/{{$form->action()}}?pk={{$prev}}"><i class="bi bi-caret-left-fill">123</i></a> @endif
@if($next) <a class="btn btn-primary" href="{{$app->getPath()}}/{{$form->action()}}?pk={{$next}}"><i class="bi bi-caret-right-fill"></i></a> @endif
</div>
</div>
@endif
<div class="row">
<div class="@if($app->isProcess()) col-md-8 col-xs-12 @else col @endif">
@if($app->data->isAutoincrement() && $app->data->getPkValue())
<input type="hidden" name="{{$app->data->getPk()}}" value="{{$app->data->getPkValue()}}">
@endif
<x-component name="Form.Row" :params="['rows'=>$form->rows(),'app'=>$app, 'form'=>$form]"
:module="$module"/>
@if(count($form->tabs()))
<x-component name="Form.Tab" :params="['app'=>$app, 'form'=>$form]"
:module="$module"/>
@endif
@if($app->hasComments())
{!! $app->comment->getComments() !!}
@endif
</div>
@if($app->isProcess())
<div class="col-md-4 col-xs-12">
{!! $app->documentState->form(); !!}
</div>
@endif
</div>
</div>
</div>
{{ csrf_field() }}
</form>
</div>
<x-component name="Additional.Modal" :module="$module"/>
<x-component name="Js.After" :params="['app'=>$app]" :module="$module" />
<x-component name="Additional.ImportAction" :params="['app'=>$app]" :module="$module"/>
@foreach($form->getInjectComponent() as $inject_component)
<x-component :name="$inject_component" :module="$module" :params="['app'=>$app]"/>
@endforeach
@if(!empty($form->getOnRenderEmitFunctions()))
<x-component name="Js.OnRenderEmitFunctions" :module="$module"
:params="['app' => $app, 'emitFunctions' => $form->getOnRenderEmitFunctions()]"
/>
@endif

View File

@ -29,29 +29,20 @@
<div id="web_content"> <div id="web_content">
<div id="app" <div id="app"
@if(isset($_COOKIE['a7platform_open_window']) && $_COOKIE['a7platform_open_window']) class="menu-open" @endif> @if(isset($_COOKIE['a7platform_open_window']) && $_COOKIE['a7platform_open_window']) class="menu-open" @endif>
@include('platform.navigation::sidebar')
@auth
@include('platform.navigation::sidebar')
@endauth
<main class="main-container"> <main class="main-container">
<header class="navbar"> <header class="navbar">
<div class="nav-container py-1"> <div class="nav-container py-1">
<div class="left-cont d-flex"> <div class="left-cont d-flex">
@auth
<i class="bi bi-list menu-trigger"></i> <i class="bi bi-list menu-trigger"></i>
@endauth
<a class="navbar-brand"> <a class="navbar-brand">
<img src="{{asset('img/logo.png')}}" alt="logo" class="logo"> <img src="{{asset('img/logo.png')}}" alt="logo" class="logo">
</a> </a>
@guest
@if (Route::has('login'))
<a class="item-nav" href="{{ lurl('login') }}">
<i class="bi bi-box-arrow-in-right"></i>
{{ __('Login') }}
</a>
@endif
@if (Route::has('register'))
<a class="item-nav" href="{{ lurl('register') }}">
<i class="bi bi-person-plus-fill"></i>
{{ __('Register') }}
</a>
@endif
@else
<div class="item-nav lang"> <div class="item-nav lang">
<div class="dropdown"> <div class="dropdown">
<span class="dropdown-trigger" data-bs-toggle="dropdown"> <span class="dropdown-trigger" data-bs-toggle="dropdown">
@ -87,6 +78,22 @@
</div> </div>
<a class="header-phone" href="tel:87763504141"><i class="bi bi-telephone-fill"></i> +7 776 350 41 41</a> <a class="header-phone" href="tel:87763504141"><i class="bi bi-telephone-fill"></i> +7 776 350 41 41</a>
</div> </div>
@guest
<div class="right-cont d-flex justify-end align-center">
@if (Route::has('login'))
<a class="item-nav btn btn-primary waves-effect" href="{{ lurl('login') }}">
<i class="bi bi-box-arrow-in-right"></i>
{{ __('Войти') }}
</a>
@endif
@if (Route::has('register'))
<a class="item-nav btn btn-outline waves-effect" href="{{ lurl('register') }}">
<i class="bi bi-person-plus-fill"></i>
{{ __('Регистрация') }}
</a>
@endif
</div>
@else
<div class="right-cont"> <div class="right-cont">
<a class="item-nav user" <a class="item-nav user"