Commit 8c73c7b41010936aae7382e57998d5a922571670

Authored by Андрей Ларионов
1 parent c84db52439

Категории вакансий и резюме. Модель. Контроллер.

Showing 12 changed files with 751 additions and 8 deletions Inline Diff

app/Http/Controllers/Admin/CategoryController.php
File was created 1 <?php
2
3 namespace App\Http\Controllers\Admin;
4
5 use App\Http\Controllers\Controller;
6 use App\Http\Requests\CategoryRequest;
7 use App\Models\Category;
8 use Illuminate\Http\Request;
9 use Illuminate\Support\Facades\Auth;
10 use Illuminate\Support\Facades\Storage;
11
12 class CategoryController extends Controller
13 {
14 /**
15 * Display a listing of the resource.
16 *
17 * @return \Illuminate\Http\Response
18 */
19 public function index()
20 {
21 $category = Category::query()->paginate(15);
22 return view('admin.category.index', compact('category'));
23 }
24
25 /**
26 * Show the form for creating a new resource.
27 *
28 * @return \Illuminate\Http\Response
29 */
30 public function create()
31 {
32 return view('admin.category.add');
33 }
34
35 /**
36 * Store a newly created resource in storage.
37 *
38 * @param \Illuminate\Http\Request $request
39 * @return \Illuminate\Http\Response
40 */
41 public function store(CategoryRequest $request)
42 {
43 Category::create($request->all());
44 return redirect()->route('admin.categories.index');
45 }
46
47 /**
48 * Display the specified resource.
49 *
50 * @param \App\Models\Category $category
51 * @return \Illuminate\Http\Response
52 */
53 public function show(Category $category)
54 {
55 //
56 }
57
58 /**
59 * Show the form for editing the specified resource.
60 *
61 * @param \App\Models\Category $category
62 * @return \Illuminate\Http\Response
63 */
64 public function edit(Category $category)
65 {
66 return view('admin.category.edit', compact('category'));
67 }
68
69 /**
70 * Update the specified resource in storage.
71 *
72 * @param \Illuminate\Http\Request $request
73 * @param \App\Models\Category $category
74 * @return \Illuminate\Http\Response
75 */
76 public function update(CategoryRequest $request, Category $category)
77 {
78 $category->update($request->all());
79 return redirect()->route('admin.categories.index');
80 }
81
82 /**
83 * Remove the specified resource from storage.
84 *
85 * @param \App\Models\Category $category
86 * @return \Illuminate\Http\Response
87 */
88 public function destroy(Category $category)
89 {
90 if (Auth::user()->id == 1) {
91 $category->delete();
92 }
93 return redirect()->route('admin.categories.index');
94 }
95 }
96
app/Http/Controllers/Admin/EmployersController.php
1 <?php 1 <?php
2 2
3 namespace App\Http\Controllers\Admin; 3 namespace App\Http\Controllers\Admin;
4 4
5 use App\Http\Controllers\Controller; 5 use App\Http\Controllers\Controller;
6 use App\Models\Employer; 6 use App\Models\Employer;
7 use App\Models\User; 7 use App\Models\User;
8 use Illuminate\Http\Request; 8 use Illuminate\Http\Request;
9 use Illuminate\Support\Facades\Storage;
10 use Illuminate\Support\Facades\Validator;
9 11
10 class EmployersController extends Controller 12 class EmployersController extends Controller
11 { 13 {
12 public function index(Request $request) { 14 public function index(Request $request) {
13 if ($request->ajax()) { 15 if ($request->ajax()) {
14 $user = User::find($request->id); 16 $user = User::find($request->id);
15 $request->offsetUnset('id'); 17 $request->offsetUnset('id');
16 $user->update($request->all()); 18 $user->update($request->all());
17 } 19 }
18 20
19 $users = User::where('is_worker', '0')->paginate(15); 21 $users = User::where('is_worker', '0')->paginate(15);
20 if ($request->ajax()) { 22 if ($request->ajax()) {
21 return view('admin.employer.index_ajax', compact('users')); 23 return view('admin.employer.index_ajax', compact('users'));
22 } else { 24 } else {
23 return view('admin.employer.index', compact('users')); 25 return view('admin.employer.index', compact('users'));
24 } 26 }
25 } 27 }
26 28
27 public function form_update_employer(Employer $employer) { 29 public function form_update_employer(Employer $employer) {
28 return view('admin.employer.edit', compact('employer')); 30 return view('admin.employer.edit', compact('employer'));
29 } 31 }
32
33 public function update_employer(Employer $employer, Request $request)
34 {
35 $params = $request->all();
36 unset($params['logo']);
37 unset($params['telephone']);
38 unset($params['email']);
39 unset($params['address']);
40 unset($params['site']);
41
42 $rules = [
43 'name' => 'required|string|max:255',
44 ];
45
46 $messages = [
47 'required' => 'Укажите обязательное поле «:attribute»',
48 'confirmed' => 'Пароли не совпадают',
49 'email' => 'Введите корректный email',
50 'min' => [
51 'string' => 'Поле «:attribute» должно быть не меньше :min символов',
52 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт'
53 ],
54 'max' => [
55 'string' => 'Поле «:attribute» должно быть не больше :max символов',
56 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт'
57 ],
58 ];
59
60 $validator = Validator::make($params, $rules, $messages);
61
62 if ($validator->fails()) {
63 return back()->withErrors($validator)->withInput(); //->route('admin.register')
64
65 } else {
66
67 //$user = User::find($employer->user_id);
68 $user_id = $employer->user_id;
69 $employer->telephone = $request->telephone;
70 $employer->email = $request->email;
71 $employer->address = $request->address;
72 $employer->site = $request->site;
73 $employer->text = $request->text;
74
75 if ($request->has('logo')) {
76 if (!empty($employer->logo)) {
77 Storage::delete($employer->logo);
78 }
79 $employer->logo = $request->file('logo')->store("employer/$user_id", 'public');
80 }
81 $employer->save();
82
83 $user = User::find($user_id);
84 $user->update($params);
85
86 return redirect()->route('admin.employer-profile', ['employer' => $employer->id])
87 ->with('success', 'Данные были успешно сохранены');
88 }
89 }
30 } 90 }
31 91
app/Http/Requests/CategoryRequest.php
File was created 1 <?php
2
3 namespace App\Http\Requests;
4
5 use Illuminate\Foundation\Http\FormRequest;
6
7 class CategoryRequest extends FormRequest
8 {
9 /**
10 * Determine if the user is authorized to make this request.
11 *
12 * @return bool
13 */
14 public function authorize()
15 {
16 return true;
17 }
18
19 /**
20 * Get the validation rules that apply to the request.
21 *
22 * @return array<string, mixed>
23 */
24 public function rules()
25 {
26 return [
27 'name' => 'required|min:3|max:255',
28 ];
29 }
30
31 public function messages() {
32 return [
33 'required' => 'Поле :attribute обязательно для ввода',
34 'min' => [
35 'string' => 'Поле «:attribute» должно быть не меньше :min символов',
36 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт'
37 ],
38 'max' => [
39 'string' => 'Поле «:attribute» должно быть не больше :max символов',
40 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт'
41 ],
42
43 ];
44 }
45 }
46
app/Models/Category.php
1 <?php 1 <?php
2 2
3 namespace App\Models; 3 namespace App\Models;
4 4
5 use Illuminate\Database\Eloquent\Factories\HasFactory; 5 use Illuminate\Database\Eloquent\Factories\HasFactory;
6 use Illuminate\Database\Eloquent\Model; 6 use Illuminate\Database\Eloquent\Model;
7 7
8 class Category extends Model 8 class Category extends Model
9 { 9 {
10 use HasFactory; 10 use HasFactory;
11
12 protected $fillable = [
13 'name',
14 ];
11 } 15 }
12 16
resources/views/admin/category/add.blade.php
File was created 1 @extends('layout.admin', ['title' => 'Админка - Добавление категории'])
2
3 @section('content')
4 <form method="POST" action="{{ route('admin.categories.store') }}">
5 @include('admin.category.form')
6 </form>
7 @endsection
8
resources/views/admin/category/edit.blade.php
File was created 1 @extends('layout.admin', ['title' => 'Админка - Редактирование категории'])
2
3 @section('content')
4 <form method="POST" action="{{ route('admin.categories.update', ['category' => $category->id]) }}">
5 @include('admin.category.form')
6 </form>
7 @endsection
8
resources/views/admin/category/form.blade.php
File was created 1 @csrf
2
3 @isset($category)
4 @method('PUT')
5 @endisset
6
7 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
8 <label class="block text-sm">
9 <span class="text-gray-700 dark:text-gray-400">Имя категории</span>
10 <input name="name" id="name"
11 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
12 placeholder="Имя категории" value="{{ old('name') ?? $category->name ?? '' }}"
13 />
14 @error('name')
15 <span class="text-xs text-red-600 dark:text-red-400">
16 {{ $message }}
17 </span>
18 @enderror
19 </label><br>
20
21 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
22 <div>
23 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
24 Сохранить
25 </button>
26 </div>
27 </div>
28 </div>
29
resources/views/admin/category/index.blade.php
File was created 1 @extends('layout.admin', ['title' => 'Админка - Категории'])
2
3 @section('script')
4 <script>
5 $(document).ready(function() {
6 $(document).on('click', '.checkban', function () {
7 var this_ = $(this);
8 var value = this_.val();
9 var ajax_block = $('#ajax_block');
10 var bool = 0;
11
12 if(this.checked){
13 bool = 1;
14 } else {
15 bool = 0;
16 }
17
18 $.ajax({
19 type: "GET",
20 url: "{{ url()->full()}}",
21 data: "id=" + value + "&is_ban=" + bool,
22 success: function (data) {
23 console.log('Обновление таблицы пользователей ');
24 //data = JSON.parse(data);
25 console.log(data);
26 ajax_block.html(data);
27 },
28 headers: {
29 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
30 },
31 error: function (data) {
32 console.log('Error: ' + data);
33 }
34 });
35 });
36
37 });
38 </script>
39 @endsection
40
41 @section('content')
42
43 <a href="{{ route('admin.categories.create') }}" style="width: 210px" class="px-5 py-3 font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-lg active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
44 Добавить категорию
45 </a>
46 <br>
47 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block">
48
49 <div class="w-full overflow-x-auto">
50 <table class="w-full whitespace-no-wrap">
51 <thead>
52 <tr
53 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800"
54 >
55 <th class="px-4 py-3">№</th>
56 <th class="px-4 py-3">Название категории</th>
57 <th class="px-4 py-3">Дата создания</th>
58 <th class="px-4 py-3">Редактировать</th>
59 </tr>
60 </thead>
61 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
62 @foreach($category as $cat)
63 <tr class="text-gray-700 dark:text-gray-400">
64 <td class="px-4 py-3">
65 {{$cat->id}}
66 </td>
67 <td class="px-4 py-3">
68 {{$cat->name}}
69 </td>
70 <td class="px-4 py-3">
71 {{$cat->created_at}}
72 </td>
73 <td class="px-4 py-3 text-sm">
74 <form action="{{ route('admin.categories.destroy', ['category' => $cat->id]) }}" method="POST">
75 <a href="{{ route('admin.categories.edit', ['category' => $cat->id]) }}">Изменить</a> |
76 @csrf
77 @method('DELETE')
78 <input class=" btn-danger" type="submit" value="Удалить">
79 </form>
80 </td>
81 </tr>
82 @endforeach
83 </tbody>
84 </table>
85 </div>
86
87 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800">
88 <?=$category->appends($_GET)->links('admin.pagginate'); ?>
89 </div>
90 </div>
91 @endsection
92
resources/views/admin/employer/edit.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Редактирование работодателя']) 1 @extends('layout.admin', ['title' => 'Админка - Редактирование работодателя'])
2 2
3 @section('content') 3 @section('content')
4 <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"> 4 <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300">
5 Работодатель-пользователь: "{{$employer->users->name_man}} ({{$employer->user_id}})" 5 Работодатель-пользователь: "{{$employer->users->name_man}} ({{$employer->user_id}})"
6 </h4> 6 </h4>
7 <form method="POST" action=""> 7 <form method="POST" action="" enctype="multipart/form-data">
8 @csrf 8 @csrf
9 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> 9 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
10 <label class="block text-sm"> 10 <label class="block text-sm">
11 <span class="text-gray-700 dark:text-gray-400">Имя компании</span> 11 <span class="text-gray-700 dark:text-gray-400">Имя компании</span>
12 <input name="name_company" id="name_company" 12 <input name="name" id="name"
13 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 13 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
14 placeholder="Имя компании" value="{{ old('name_company') ?? $employer->name_company ?? '' }}" 14 placeholder="Имя компании" value="{{ old('name') ?? $employer->users->name ?? '' }}"
15 /> 15 />
16 @error('name_company') 16 @error('name')
17 <span class="text-xs text-red-600 dark:text-red-400"> 17 <span class="text-xs text-red-600 dark:text-red-400">
18 {{ $message }} 18 {{ $message }}
19 </span> 19 </span>
20 @enderror 20 @enderror
21 </label><br> 21 </label><br>
22 22
23 <label class="block text-sm"> 23 <label class="block text-sm">
24 <span class="text-gray-700 dark:text-gray-400">Email</span> 24 <span class="text-gray-700 dark:text-gray-400">Email</span>
25 <input name="email" id="email" 25 <input name="email" id="email"
26 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 26 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
27 placeholder="Почта" value="{{ old('email') ?? $employer->email ?? '' }}" 27 placeholder="Почта" value="{{ old('email') ?? $employer->email ?? '' }}"
28 /> 28 />
29 @error('email') 29 @error('email')
30 <span class="text-xs text-red-600 dark:text-red-400"> 30 <span class="text-xs text-red-600 dark:text-red-400">
31 {{ $message }} 31 {{ $message }}
32 </span> 32 </span>
33 @enderror 33 @enderror
34 </label><br> 34 </label><br>
35 35
36 <label class="block text-sm"> 36 <label class="block text-sm">
37 <span class="text-gray-700 dark:text-gray-400">Телефон</span> 37 <span class="text-gray-700 dark:text-gray-400">Телефон</span>
38 <input name="telephone" id="telephone" 38 <input name="telephone" id="telephone"
39 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 39 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
40 placeholder="Телефон" value="{{ old('telephone') ?? $employer->telephone ?? '' }}" 40 placeholder="Телефон" value="{{ old('telephone') ?? $employer->telephone ?? '' }}"
41 /> 41 />
42 @error('telephone') 42 @error('telephone')
43 <span class="text-xs text-red-600 dark:text-red-400"> 43 <span class="text-xs text-red-600 dark:text-red-400">
44 {{ $message }} 44 {{ $message }}
45 </span> 45 </span>
46 @enderror 46 @enderror
47 </label><br> 47 </label><br>
48 48
49 <label class="block text-sm"> 49 <label class="block text-sm">
50 <span class="text-gray-700 dark:text-gray-400">Адрес</span> 50 <span class="text-gray-700 dark:text-gray-400">Адрес</span>
51 <input name="address" id="address" 51 <input name="address" id="address"
52 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 52 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
53 placeholder="Адрес" value="{{ old('address') ?? $employer->address ?? '' }}" 53 placeholder="Адрес" value="{{ old('address') ?? $employer->address ?? '' }}"
54 /> 54 />
55 @error('address') 55 @error('address')
56 <span class="text-xs text-red-600 dark:text-red-400"> 56 <span class="text-xs text-red-600 dark:text-red-400">
57 {{ $message }} 57 {{ $message }}
58 </span> 58 </span>
59 @enderror 59 @enderror
60 </label><br> 60 </label><br>
61 61
62 <label class="block text-sm"> 62 <label class="block text-sm">
63 <span class="text-gray-700 dark:text-gray-400">Сайт</span> 63 <span class="text-gray-700 dark:text-gray-400">Сайт</span>
64 <input name="site" id="site" 64 <input name="site" id="site"
65 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 65 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
66 placeholder="Сайт" value="{{ old('site') ?? $employer->site ?? '' }}" 66 placeholder="Сайт" value="{{ old('site') ?? $employer->site ?? '' }}"
67 /> 67 />
68 @error('site') 68 @error('site')
69 <span class="text-xs text-red-600 dark:text-red-400"> 69 <span class="text-xs text-red-600 dark:text-red-400">
70 {{ $message }} 70 {{ $message }}
71 </span> 71 </span>
72 @enderror 72 @enderror
73 </label><br> 73 </label><br>
74 74
75 <label class="block text-sm"> 75 <label class="block text-sm">
76 <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300">
77 Права работодателя:
78 </h4>
79 <p style="float:left; margin-right: 10px">Просмотр базы резюме </p>
80 <input type="hidden" name="is_lookin" value="0" />
81 <input name="is_lookin" <? if ($employer->users->is_lookin) echo "checked";?>
82 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray "
83 placeholder="" type="checkbox" value="1"
84 /><br>
85
86 <p style="float:left; margin-right: 10px">Отправка сообщений</p>
87 <input type="hidden" name="is_message" value="0" />
88 <input name="is_message" id="is_message" <? if ($employer->users->is_message) echo "checked";?>
89 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray "
90 placeholder="" type="checkbox" value="1"
91 /><br>
92
93 <p style="float:left; margin-right: 10px">Публикация вакансий</p>
94 <input type="hidden" name="is_public" value="0" />
95 <input name="is_public" id="is_public" <? if ($employer->users->is_public) echo "checked";?>
96 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray "
97 placeholder="" type="checkbox" value="1"
98 /><br>
99
100 </label>
101
102 <label class="block text-sm">
76 <span class="text-gray-700 dark:text-gray-400">Лого</span> 103 <span class="text-gray-700 dark:text-gray-400">Лого</span>
77 <input name="logo" id="logo" 104
105 <input name="logo" id="logo" type="file"
78 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 106 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
79 placeholder="Лого" value="" 107 placeholder="Лого" value=""
80 /> 108 />
109 @isset($employer->logo)
110 <img src="<?=asset(Storage::url($employer->logo))?>" width="150"/>
111 @endisset
81 @error('logo') 112 @error('logo')
82 <span class="text-xs text-red-600 dark:text-red-400"> 113 <span class="text-xs text-red-600 dark:text-red-400">
83 {{ $message }} 114 {{ $message }}
84 </span> 115 </span>
85 @enderror 116 @enderror
86 </label><br> 117 </label><br>
87 118
119 <label class="block mt-4 text-sm">
120 <span class="text-gray-700 dark:text-gray-400">Описание</span>
121 <textarea name="text" id="text"
122 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
123 rows="3"
124 placeholder="Описание компании"
125 >{{ old('text') ?? $employer->text ?? '' }}</textarea>
126 </label>
127
128
88 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> 129 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
89 <div> 130 <div>
90 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 131 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
91 Сохранить 132 Сохранить
92 </button> 133 </button>
93 </div> 134 </div>
135 <div>
136 <a href="">Флот</a>
137 </div>
138 <div>
139 <a href="">Вакансии</a>
140 </div>
141 <div>
142 <a href="">Контакты</a>
143 </div>
94 </div> 144 </div>
95 </div> 145 </div>
96 </form> 146 </form>
97 <!-- 147 <!--
98 <label class="block mt-4 text-sm"> 148 <label class="block mt-4 text-sm">
99 <span class="text-gray-700 dark:text-gray-400"> 149 <span class="text-gray-700 dark:text-gray-400">
100 Requested Limit 150 Requested Limit
101 </span> 151 </span>
102 <select 152 <select
103 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 153 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
104 > 154 >
105 <option>$1,000</option> 155 <option>$1,000</option>
106 <option>$5,000</option> 156 <option>$5,000</option>
107 <option>$10,000</option> 157 <option>$10,000</option>
108 <option>$25,000</option> 158 <option>$25,000</option>
109 </select> 159 </select>
110 </label> 160 </label>
111 161
112 <label class="block mt-4 text-sm"> 162 <label class="block mt-4 text-sm">
113 <span class="text-gray-700 dark:text-gray-400"> 163 <span class="text-gray-700 dark:text-gray-400">
114 Multiselect 164 Multiselect
115 </span> 165 </span>
116 <select 166 <select
117 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-multiselect focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 167 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-multiselect focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
118 multiple 168 multiple
119 > 169 >
120 <option>Option 1</option> 170 <option>Option 1</option>
121 <option>Option 2</option> 171 <option>Option 2</option>
122 <option>Option 3</option> 172 <option>Option 3</option>
123 <option>Option 4</option> 173 <option>Option 4</option>
124 <option>Option 5</option> 174 <option>Option 5</option>
125 </select> 175 </select>
126 </label> 176 </label>
127 177
128 <label class="block mt-4 text-sm"> 178 <label class="block mt-4 text-sm">
129 <span class="text-gray-700 dark:text-gray-400">Message</span> 179 <span class="text-gray-700 dark:text-gray-400">Message</span>
130 <textarea 180 <textarea
131 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 181 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
132 rows="3" 182 rows="3"
133 placeholder="Enter some long form content." 183 placeholder="Enter some long form content."
134 ></textarea> 184 ></textarea>
135 </label> 185 </label>
136 186
137 <div class="flex mt-6 text-sm"> 187 <div class="flex mt-6 text-sm">
138 <label class="flex items-center dark:text-gray-400"> 188 <label class="flex items-center dark:text-gray-400">
139 <input 189 <input
140 type="checkbox" 190 type="checkbox"
141 class="text-purple-600 form-checkbox focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 191 class="text-purple-600 form-checkbox focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
142 /> 192 />
143 <span class="ml-2"> 193 <span class="ml-2">
144 I agree to the 194 I agree to the
145 <span class="underline">privacy policy</span> 195 <span class="underline">privacy policy</span>
146 </span> 196 </span>
147 </label> 197 </label>
148 </div> 198 </div>
149 </div> 199 </div>
150 200
151 <!-- Validation inputs --> 201 <!-- Validation inputs -->
152 <!--<h4 202 <!--<h4
153 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" 203 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
154 > 204 >
155 Validation 205 Validation
156 </h4> 206 </h4>
157 <div 207 <div
158 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" 208 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
159 > 209 >
160 <!-- Invalid input --> 210 <!-- Invalid input -->
161 <!--<label class="block text-sm"> 211 <!--<label class="block text-sm">
162 <span class="text-gray-700 dark:text-gray-400"> 212 <span class="text-gray-700 dark:text-gray-400">
163 Invalid input 213 Invalid input
164 </span> 214 </span>
165 <input 215 <input
166 class="block w-full mt-1 text-sm border-red-600 dark:text-gray-300 dark:bg-gray-700 focus:border-red-400 focus:outline-none focus:shadow-outline-red form-input" 216 class="block w-full mt-1 text-sm border-red-600 dark:text-gray-300 dark:bg-gray-700 focus:border-red-400 focus:outline-none focus:shadow-outline-red form-input"
167 placeholder="Jane Doe" 217 placeholder="Jane Doe"
168 /> 218 />
169 <span class="text-xs text-red-600 dark:text-red-400"> 219 <span class="text-xs text-red-600 dark:text-red-400">
170 Your password is too short. 220 Your password is too short.
171 </span> 221 </span>
172 </label> 222 </label>
173 223
174 <!-- Valid input --> 224 <!-- Valid input -->
175 <!--<label class="block mt-4 text-sm"> 225 <!--<label class="block mt-4 text-sm">
176 <span class="text-gray-700 dark:text-gray-400"> 226 <span class="text-gray-700 dark:text-gray-400">
177 Valid input 227 Valid input
178 </span> 228 </span>
179 <input 229 <input
180 class="block w-full mt-1 text-sm border-green-600 dark:text-gray-300 dark:bg-gray-700 focus:border-green-400 focus:outline-none focus:shadow-outline-green form-input" 230 class="block w-full mt-1 text-sm border-green-600 dark:text-gray-300 dark:bg-gray-700 focus:border-green-400 focus:outline-none focus:shadow-outline-green form-input"
181 placeholder="Jane Doe" 231 placeholder="Jane Doe"
182 /> 232 />
183 <span class="text-xs text-green-600 dark:text-green-400"> 233 <span class="text-xs text-green-600 dark:text-green-400">
184 Your password is strong. 234 Your password is strong.
185 </span> 235 </span>
186 </label> 236 </label>
187 237
188 <!-- Helper text --> 238 <!-- Helper text -->
189 <!--<label class="block mt-4 text-sm"> 239 <!--<label class="block mt-4 text-sm">
190 <span class="text-gray-700 dark:text-gray-400"> 240 <span class="text-gray-700 dark:text-gray-400">
191 Helper text 241 Helper text
192 </span> 242 </span>
193 <input 243 <input
194 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 244 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
195 placeholder="Jane Doe" 245 placeholder="Jane Doe"
196 /> 246 />
197 <span class="text-xs text-gray-600 dark:text-gray-400"> 247 <span class="text-xs text-gray-600 dark:text-gray-400">
198 Your password must be at least 6 characters long. 248 Your password must be at least 6 characters long.
199 </span> 249 </span>
200 </label> 250 </label>
201 </div> 251 </div>
202 252
203 <!-- Inputs with icons --> 253 <!-- Inputs with icons -->
204 <!--<h4 254 <!--<h4
205 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" 255 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
206 > 256 >
207 Icons 257 Icons
208 </h4> 258 </h4>
209 <div 259 <div
210 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" 260 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
211 > 261 >
212 <label class="block text-sm"> 262 <label class="block text-sm">
213 <span class="text-gray-700 dark:text-gray-400">Icon left</span> 263 <span class="text-gray-700 dark:text-gray-400">Icon left</span>
214 <!-- focus-within sets the color for the icon when input is focused --> 264 <!-- focus-within sets the color for the icon when input is focused -->
215 <!--<div 265 <!--<div
216 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400" 266 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400"
217 > 267 >
218 <input 268 <input
219 class="block w-full pl-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 269 class="block w-full pl-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
220 placeholder="Jane Doe" 270 placeholder="Jane Doe"
221 /> 271 />
222 <div 272 <div
223 class="absolute inset-y-0 flex items-center ml-3 pointer-events-none" 273 class="absolute inset-y-0 flex items-center ml-3 pointer-events-none"
224 > 274 >
225 <svg 275 <svg
226 class="w-5 h-5" 276 class="w-5 h-5"
227 aria-hidden="true" 277 aria-hidden="true"
228 fill="none" 278 fill="none"
229 stroke-linecap="round" 279 stroke-linecap="round"
230 stroke-linejoin="round" 280 stroke-linejoin="round"
231 stroke-width="2" 281 stroke-width="2"
232 viewBox="0 0 24 24" 282 viewBox="0 0 24 24"
233 stroke="currentColor" 283 stroke="currentColor"
234 > 284 >
235 <path 285 <path
236 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" 286 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"
237 ></path> 287 ></path>
238 </svg> 288 </svg>
239 </div> 289 </div>
240 </div> 290 </div>
241 </label> 291 </label>
242 292
243 <label class="block mt-4 text-sm"> 293 <label class="block mt-4 text-sm">
244 <span class="text-gray-700 dark:text-gray-400">Icon right</span> 294 <span class="text-gray-700 dark:text-gray-400">Icon right</span>
245 <!-- focus-within sets the color for the icon when input is focused --> 295 <!-- focus-within sets the color for the icon when input is focused -->
246 <!--<div 296 <!--<div
247 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400" 297 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400"
248 > 298 >
249 <input 299 <input
250 class="block w-full pr-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 300 class="block w-full pr-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
251 placeholder="Jane Doe" 301 placeholder="Jane Doe"
252 /> 302 />
253 <div 303 <div
254 class="absolute inset-y-0 right-0 flex items-center mr-3 pointer-events-none" 304 class="absolute inset-y-0 right-0 flex items-center mr-3 pointer-events-none"
255 > 305 >
256 <svg 306 <svg
257 class="w-5 h-5" 307 class="w-5 h-5"
258 aria-hidden="true" 308 aria-hidden="true"
259 fill="none" 309 fill="none"
260 stroke-linecap="round" 310 stroke-linecap="round"
261 stroke-linejoin="round" 311 stroke-linejoin="round"
262 stroke-width="2" 312 stroke-width="2"
263 viewBox="0 0 24 24" 313 viewBox="0 0 24 24"
264 stroke="currentColor" 314 stroke="currentColor"
265 > 315 >
266 <path 316 <path
267 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" 317 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"
268 ></path> 318 ></path>
269 </svg> 319 </svg>
270 </div> 320 </div>
271 </div> 321 </div>
272 </label> 322 </label>
273 </div> 323 </div>
274 324
275 <!-- Inputs with buttons --> 325 <!-- Inputs with buttons -->
276 <!--<h4 326 <!--<h4
277 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" 327 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
278 > 328 >
279 Buttons 329 Buttons
280 </h4> 330 </h4>
281 <div 331 <div
282 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" 332 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
283 > 333 >
284 <label class="block text-sm"> 334 <label class="block text-sm">
285 <span class="text-gray-700 dark:text-gray-400"> 335 <span class="text-gray-700 dark:text-gray-400">
286 Button left 336 Button left
287 </span> 337 </span>
288 <div class="relative"> 338 <div class="relative">
289 <input 339 <input
290 class="block w-full pl-20 mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 340 class="block w-full pl-20 mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
291 placeholder="Jane Doe" 341 placeholder="Jane Doe"
292 /> 342 />
293 <button 343 <button
294 class="absolute inset-y-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-l-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 344 class="absolute inset-y-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-l-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
295 > 345 >
296 Click 346 Click
297 </button> 347 </button>
298 </div> 348 </div>
299 </label> 349 </label>
300 350
301 <label class="block mt-4 text-sm"> 351 <label class="block mt-4 text-sm">
302 <span class="text-gray-700 dark:text-gray-400"> 352 <span class="text-gray-700 dark:text-gray-400">
303 Button right 353 Button right
304 </span> 354 </span>
305 <div 355 <div
306 class="relative text-gray-500 focus-within:text-purple-600" 356 class="relative text-gray-500 focus-within:text-purple-600"
307 > 357 >
308 <input 358 <input
309 class="block w-full pr-20 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 359 class="block w-full pr-20 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
310 placeholder="Jane Doe" 360 placeholder="Jane Doe"
311 /> 361 />
312 <button 362 <button
313 class="absolute inset-y-0 right-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-r-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" 363 class="absolute inset-y-0 right-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-r-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
314 > 364 >
315 Click 365 Click
316 </button> 366 </button>
317 </div> 367 </div>
318 </label> 368 </label>
319 </div>--> 369 </div>-->
320 @endsection 370 @endsection
321 371
resources/views/admin/worker/edit.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Редактирование соискателя'])
2
3 @section('content')
4 <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300">
5 Соискатель-пользователь: "{{$worker->users->name_man}} ({{$worker->user_id}})"
6 </h4>
7 <form method="POST" action="">
8 @csrf
9 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
10 <label class="block text-sm">
11 <span class="text-gray-700 dark:text-gray-400">Имя компании</span>
12 <input name="name_company" id="name_company"
13 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
14 placeholder="Имя компании" value="{{ old('name_company') ?? $employer->name_company ?? '' }}"
15 />
16 @error('name_company')
17 <span class="text-xs text-red-600 dark:text-red-400">
18 {{ $message }}
19 </span>
20 @enderror
21 </label><br>
22
23 <label class="block text-sm">
24 <span class="text-gray-700 dark:text-gray-400">Email</span>
25 <input name="email" id="email"
26 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
27 placeholder="Почта" value="{{ old('email') ?? $worker->email ?? '' }}"
28 />
29 @error('email')
30 <span class="text-xs text-red-600 dark:text-red-400">
31 {{ $message }}
32 </span>
33 @enderror
34 </label><br>
35
36 <label class="block text-sm">
37 <span class="text-gray-700 dark:text-gray-400">Телефон</span>
38 <input name="telephone" id="telephone"
39 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
40 placeholder="Телефон" value="{{ old('telephone') ?? $worker->telephone ?? '' }}"
41 />
42 @error('telephone')
43 <span class="text-xs text-red-600 dark:text-red-400">
44 {{ $message }}
45 </span>
46 @enderror
47 </label><br>
48
49 <label class="block text-sm">
50 <span class="text-gray-700 dark:text-gray-400">Адрес</span>
51 <input name="address" id="address"
52 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
53 placeholder="Адрес" value="{{ old('address') ?? $worker->address ?? '' }}"
54 />
55 @error('address')
56 <span class="text-xs text-red-600 dark:text-red-400">
57 {{ $message }}
58 </span>
59 @enderror
60 </label><br>
61
62 <label class="block text-sm">
63 <span class="text-gray-700 dark:text-gray-400">Город</span>
64 <input name="city" id="city"
65 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
66 placeholder="Город" value="{{ old('city') ?? $worker->site ?? '' }}"
67 />
68 @error('city')
69 <span class="text-xs text-red-600 dark:text-red-400">
70 {{ $message }}
71 </span>
72 @enderror
73 </label><br>
74
75 <label class="block text-sm">
76 <span class="text-gray-700 dark:text-gray-400">Фото</span>
77
78 <input name="photo" id="photo" type="file"
79 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
80 placeholder="Фото" value=""
81 />
82 @isset('photo')
83 <img src="<?=asset(Storage::url($worker->photo))?>" width="150"/>
84 @endisset
85 @error('logo')
86 <span class="text-xs text-red-600 dark:text-red-400">
87 {{ $message }}
88 </span>
89 @enderror
90 </label><br>
91
92 <label class="block text-sm">
93 <span class="text-gray-700 dark:text-gray-400">Согласие на обработку данных</span>
94 <input name="email_data" id="email_data" <? if ($worker->email_data) echo "checked"; ?>
95 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
96 placeholder=""
97 />
98 @error('email_data')
99 <span class="text-xs text-red-600 dark:text-red-400">
100 {{ $message }}
101 </span>
102 @enderror
103 </label><br>
104
105 <label class="block mt-4 text-sm">
106 <span class="text-gray-700 dark:text-gray-400">Описание</span>
107 <textarea name="text" id="text"
108 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
109 rows="3"
110 placeholder="Описание компании"
111 >{{ old('text') ?? $worker->text ?? '' }}</textarea>
112 </label>
113
114
115 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
116 <div>
117 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
118 Сохранить
119 </button>
120 </div>
121 </div>
122 </div>
123 </form>
124 <!--
125 <label class="block mt-4 text-sm">
126 <span class="text-gray-700 dark:text-gray-400">
127 Requested Limit
128 </span>
129 <select
130 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
131 >
132 <option>$1,000</option>
133 <option>$5,000</option>
134 <option>$10,000</option>
135 <option>$25,000</option>
136 </select>
137 </label>
138
139 <label class="block mt-4 text-sm">
140 <span class="text-gray-700 dark:text-gray-400">
141 Multiselect
142 </span>
143 <select
144 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-multiselect focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
145 multiple
146 >
147 <option>Option 1</option>
148 <option>Option 2</option>
149 <option>Option 3</option>
150 <option>Option 4</option>
151 <option>Option 5</option>
152 </select>
153 </label>
154
155 <label class="block mt-4 text-sm">
156 <span class="text-gray-700 dark:text-gray-400">Message</span>
157 <textarea
158 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
159 rows="3"
160 placeholder="Enter some long form content."
161 ></textarea>
162 </label>
163
164 <div class="flex mt-6 text-sm">
165 <label class="flex items-center dark:text-gray-400">
166 <input
167 type="checkbox"
168 class="text-purple-600 form-checkbox focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
169 />
170 <span class="ml-2">
171 I agree to the
172 <span class="underline">privacy policy</span>
173 </span>
174 </label>
175 </div>
176 </div>
177
178 <!-- Validation inputs -->
179 <!--<h4
180 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
181 >
182 Validation
183 </h4>
184 <div
185 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
186 >
187 <!-- Invalid input -->
188 <!--<label class="block text-sm">
189 <span class="text-gray-700 dark:text-gray-400">
190 Invalid input
191 </span>
192 <input
193 class="block w-full mt-1 text-sm border-red-600 dark:text-gray-300 dark:bg-gray-700 focus:border-red-400 focus:outline-none focus:shadow-outline-red form-input"
194 placeholder="Jane Doe"
195 />
196 <span class="text-xs text-red-600 dark:text-red-400">
197 Your password is too short.
198 </span>
199 </label>
200
201 <!-- Valid input -->
202 <!--<label class="block mt-4 text-sm">
203 <span class="text-gray-700 dark:text-gray-400">
204 Valid input
205 </span>
206 <input
207 class="block w-full mt-1 text-sm border-green-600 dark:text-gray-300 dark:bg-gray-700 focus:border-green-400 focus:outline-none focus:shadow-outline-green form-input"
208 placeholder="Jane Doe"
209 />
210 <span class="text-xs text-green-600 dark:text-green-400">
211 Your password is strong.
212 </span>
213 </label>
214
215 <!-- Helper text -->
216 <!--<label class="block mt-4 text-sm">
217 <span class="text-gray-700 dark:text-gray-400">
218 Helper text
219 </span>
220 <input
221 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
222 placeholder="Jane Doe"
223 />
224 <span class="text-xs text-gray-600 dark:text-gray-400">
225 Your password must be at least 6 characters long.
226 </span>
227 </label>
228 </div>
229
230 <!-- Inputs with icons -->
231 <!--<h4
232 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
233 >
234 Icons
235 </h4>
236 <div
237 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
238 >
239 <label class="block text-sm">
240 <span class="text-gray-700 dark:text-gray-400">Icon left</span>
241 <!-- focus-within sets the color for the icon when input is focused -->
242 <!--<div
243 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400"
244 >
245 <input
246 class="block w-full pl-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
247 placeholder="Jane Doe"
248 />
249 <div
250 class="absolute inset-y-0 flex items-center ml-3 pointer-events-none"
251 >
252 <svg
253 class="w-5 h-5"
254 aria-hidden="true"
255 fill="none"
256 stroke-linecap="round"
257 stroke-linejoin="round"
258 stroke-width="2"
259 viewBox="0 0 24 24"
260 stroke="currentColor"
261 >
262 <path
263 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"
264 ></path>
265 </svg>
266 </div>
267 </div>
268 </label>
269
270 <label class="block mt-4 text-sm">
271 <span class="text-gray-700 dark:text-gray-400">Icon right</span>
272 <!-- focus-within sets the color for the icon when input is focused -->
273 <!--<div
274 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400"
275 >
276 <input
277 class="block w-full pr-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
278 placeholder="Jane Doe"
279 />
280 <div
281 class="absolute inset-y-0 right-0 flex items-center mr-3 pointer-events-none"
282 >
283 <svg
284 class="w-5 h-5"
285 aria-hidden="true"
286 fill="none"
287 stroke-linecap="round"
288 stroke-linejoin="round"
289 stroke-width="2"
290 viewBox="0 0 24 24"
291 stroke="currentColor"
292 >
293 <path
294 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"
295 ></path>
296 </svg>
297 </div>
298 </div>
299 </label>
300 </div>
301
302 <!-- Inputs with buttons -->
303 <!--<h4
304 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
305 >
306 Buttons
307 </h4>
308 <div
309 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
310 >
311 <label class="block text-sm">
312 <span class="text-gray-700 dark:text-gray-400">
313 Button left
314 </span>
315 <div class="relative">
316 <input
317 class="block w-full pl-20 mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
318 placeholder="Jane Doe"
319 />
320 <button
321 class="absolute inset-y-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-l-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
322 >
323 Click
324 </button>
325 </div>
326 </label>
327
328 <label class="block mt-4 text-sm">
329 <span class="text-gray-700 dark:text-gray-400">
330 Button right
331 </span>
332 <div
333 class="relative text-gray-500 focus-within:text-purple-600"
334 >
335 <input
336 class="block w-full pr-20 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
337 placeholder="Jane Doe"
338 />
339 <button
340 class="absolute inset-y-0 right-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-r-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
341 >
342 Click
343 </button>
344 </div>
345 </label>
346 </div>-->
347 @endsection
348
resources/views/layout/admin.blade.php
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html :class="{ 'theme-dark': dark }" x-data="data()" lang="{{ str_replace('_', '-', app()->getLocale()) }}"> 2 <html :class="{ 'theme-dark': dark }" x-data="data()" lang="{{ str_replace('_', '-', app()->getLocale()) }}">
3 <head> 3 <head>
4 <meta charset="UTF-8" /> 4 <meta charset="UTF-8" />
5 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6 <title>{{$title}}</title> 6 <title>{{$title}}</title>
7 <link 7 <link
8 href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" 8 href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap"
9 rel="stylesheet" 9 rel="stylesheet"
10 /> 10 />
11 <link rel="stylesheet" href="{{ asset('./assets/css/tailwind.output.css')}}" /> 11 <link rel="stylesheet" href="{{ asset('./assets/css/tailwind.output.css')}}" />
12 <script 12 <script
13 src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.min.js" 13 src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.min.js"
14 defer 14 defer
15 ></script> 15 ></script>
16 <script src="{{ asset('./assets/js/init-alpine.js') }}"></script> 16 <script src="{{ asset('./assets/js/init-alpine.js') }}"></script>
17 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.css"/> 17 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.css"/>
18 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js" defer></script> 18 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js" defer></script>
19 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 19 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
20 <script src="{{ asset('./assets/js/charts-lines.js') }}" defer></script> 20 <script src="{{ asset('./assets/js/charts-lines.js') }}" defer></script>
21 <script src="{{ asset('./assets/js/charts-pie.js') }}" defer></script> 21 <script src="{{ asset('./assets/js/charts-pie.js') }}" defer></script>
22 </head> 22 </head>
23 <body> 23 <body>
24 <div class="flex h-screen bg-gray-50 dark:bg-gray-900" :class="{ 'overflow-hidden': isSideMenuOpen }"> 24 <div class="flex h-screen bg-gray-50 dark:bg-gray-900" :class="{ 'overflow-hidden': isSideMenuOpen }">
25 <!-- Desktop sidebar --> 25 <!-- Desktop sidebar -->
26 <aside 26 <aside
27 class="z-20 hidden w-64 overflow-y-auto bg-white dark:bg-gray-800 md:block flex-shrink-0" 27 class="z-20 hidden w-64 overflow-y-auto bg-white dark:bg-gray-800 md:block flex-shrink-0"
28 > 28 >
29 <div class="py-4 text-gray-500 dark:text-gray-400"> 29 <div class="py-4 text-gray-500 dark:text-gray-400">
30 <a 30 <a
31 class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200" 31 class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200"
32 href="{{ route('admin.index') }}" 32 href="{{ route('admin.index') }}"
33 > 33 >
34 Админка 34 Админка
35 </a> 35 </a>
36 <ul class="mt-6"> 36 <ul class="mt-6">
37 <li class="relative px-6 py-3"> 37 <li class="relative px-6 py-3">
38 <span 38 <span
39 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg" 39 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg"
40 aria-hidden="true" 40 aria-hidden="true"
41 ></span> 41 ></span>
42 <a 42 <a
43 class="inline-flex items-center w-full text-sm font-semibold text-gray-800 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 dark:text-gray-100" 43 class="inline-flex items-center w-full text-sm font-semibold text-gray-800 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 dark:text-gray-100"
44 href="{{ route('admin.index') }}" 44 href="{{ route('admin.index') }}"
45 > 45 >
46 <svg 46 <svg
47 class="w-5 h-5" 47 class="w-5 h-5"
48 aria-hidden="true" 48 aria-hidden="true"
49 fill="none" 49 fill="none"
50 stroke-linecap="round" 50 stroke-linecap="round"
51 stroke-linejoin="round" 51 stroke-linejoin="round"
52 stroke-width="2" 52 stroke-width="2"
53 viewBox="0 0 24 24" 53 viewBox="0 0 24 24"
54 stroke="currentColor" 54 stroke="currentColor"
55 > 55 >
56 <path 56 <path
57 d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6" 57 d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"
58 ></path> 58 ></path>
59 </svg> 59 </svg>
60 <span class="ml-4">Главная страница</span> 60 <span class="ml-4">Главная страница</span>
61 </a> 61 </a>
62 </li> 62 </li>
63 </ul> 63 </ul>
64 <ul> 64 <ul>
65 <li class="relative px-6 py-3"> 65 <li class="relative px-6 py-3">
66 <a 66 <a
67 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 67 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
68 href="{{ route('admin.users') }}" 68 href="{{ route('admin.users') }}"
69 > 69 >
70 <svg 70 <svg
71 class="w-5 h-5" 71 class="w-5 h-5"
72 aria-hidden="true" 72 aria-hidden="true"
73 fill="none" 73 fill="none"
74 stroke-linecap="round" 74 stroke-linecap="round"
75 stroke-linejoin="round" 75 stroke-linejoin="round"
76 stroke-width="2" 76 stroke-width="2"
77 viewBox="0 0 24 24" 77 viewBox="0 0 24 24"
78 stroke="currentColor" 78 stroke="currentColor"
79 > 79 >
80 <path 80 <path
81 d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01" 81 d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"
82 ></path> 82 ></path>
83 </svg> 83 </svg>
84 <span class="ml-4">Пользователи</span> 84 <span class="ml-4">Пользователи</span>
85 </a> 85 </a>
86 </li> 86 </li>
87 <li class="relative px-6 py-3"> 87 <li class="relative px-6 py-3">
88 <a 88 <a
89 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 89 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
90 href="{{ route('admin.employers') }}" 90 href="{{ route('admin.employers') }}"
91 > 91 >
92 <svg 92 <svg
93 class="w-5 h-5" 93 class="w-5 h-5"
94 aria-hidden="true" 94 aria-hidden="true"
95 fill="none" 95 fill="none"
96 stroke-linecap="round" 96 stroke-linecap="round"
97 stroke-linejoin="round" 97 stroke-linejoin="round"
98 stroke-width="2" 98 stroke-width="2"
99 viewBox="0 0 24 24" 99 viewBox="0 0 24 24"
100 stroke="currentColor" 100 stroke="currentColor"
101 > 101 >
102 <path 102 <path
103 d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10" 103 d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"
104 ></path> 104 ></path>
105 </svg> 105 </svg>
106 <span class="ml-4">Работодатели</span> 106 <span class="ml-4">Работодатели</span>
107 </a> 107 </a>
108 </li> 108 </li>
109 <li class="relative px-6 py-3"> 109 <li class="relative px-6 py-3">
110 <a 110 <a
111 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 111 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
112 href="{{ route('admin.workers') }}" 112 href="{{ route('admin.workers') }}"
113 > 113 >
114 <svg 114 <svg
115 class="w-5 h-5" 115 class="w-5 h-5"
116 aria-hidden="true" 116 aria-hidden="true"
117 fill="none" 117 fill="none"
118 stroke-linecap="round" 118 stroke-linecap="round"
119 stroke-linejoin="round" 119 stroke-linejoin="round"
120 stroke-width="2" 120 stroke-width="2"
121 viewBox="0 0 24 24" 121 viewBox="0 0 24 24"
122 stroke="currentColor" 122 stroke="currentColor"
123 > 123 >
124 <path 124 <path
125 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 125 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
126 ></path> 126 ></path>
127 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 127 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
128 </svg> 128 </svg>
129 <span class="ml-4">Соискатели</span> 129 <span class="ml-4">Соискатели</span>
130 </a> 130 </a>
131 </li> 131 </li>
132 <li class="relative px-6 py-3"> 132 <li class="relative px-6 py-3">
133 <a 133 <a
134 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 134 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
135 href="{{ route('admin.ad-employers') }}" 135 href="{{ route('admin.ad-employers') }}"
136 > 136 >
137 <svg 137 <svg
138 class="w-5 h-5" 138 class="w-5 h-5"
139 aria-hidden="true" 139 aria-hidden="true"
140 fill="none" 140 fill="none"
141 stroke-linecap="round" 141 stroke-linecap="round"
142 stroke-linejoin="round" 142 stroke-linejoin="round"
143 stroke-width="2" 143 stroke-width="2"
144 viewBox="0 0 24 24" 144 viewBox="0 0 24 24"
145 stroke="currentColor" 145 stroke="currentColor"
146 > 146 >
147 <path 147 <path
148 d="M15 15l-2 5L9 9l11 4-5 2zm0 0l5 5M7.188 2.239l.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656l-2.12 2.122" 148 d="M15 15l-2 5L9 9l11 4-5 2zm0 0l5 5M7.188 2.239l.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656l-2.12 2.122"
149 ></path> 149 ></path>
150 </svg> 150 </svg>
151 <span class="ml-4">Вакансии</span> 151 <span class="ml-4">Вакансии</span>
152 </a> 152 </a>
153 </li> 153 </li>
154 <li class="relative px-6 py-3"> 154 <li class="relative px-6 py-3">
155 <a 155 <a
156 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 156 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
157 href="{{ route('admin.categories') }}" 157 href="{{ route('admin.categories.index') }}"
158 > 158 >
159 <svg 159 <svg
160 class="w-5 h-5" 160 class="w-5 h-5"
161 aria-hidden="true" 161 aria-hidden="true"
162 fill="none" 162 fill="none"
163 stroke-linecap="round" 163 stroke-linecap="round"
164 stroke-linejoin="round" 164 stroke-linejoin="round"
165 stroke-width="2" 165 stroke-width="2"
166 viewBox="0 0 24 24" 166 viewBox="0 0 24 24"
167 stroke="currentColor" 167 stroke="currentColor"
168 > 168 >
169 <path 169 <path
170 d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" 170 d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"
171 ></path> 171 ></path>
172 </svg> 172 </svg>
173 <span class="ml-4">Категории</span> 173 <span class="ml-4">Категории</span>
174 </a> 174 </a>
175 </li> 175 </li>
176 <li class="relative px-6 py-3"> 176 <li class="relative px-6 py-3">
177 <a 177 <a
178 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 178 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
179 href="{{ route('admin.job-titles') }}" 179 href="{{ route('admin.job-titles') }}"
180 > 180 >
181 <svg 181 <svg
182 class="w-5 h-5" 182 class="w-5 h-5"
183 aria-hidden="true" 183 aria-hidden="true"
184 fill="none" 184 fill="none"
185 stroke-linecap="round" 185 stroke-linecap="round"
186 stroke-linejoin="round" 186 stroke-linejoin="round"
187 stroke-width="2" 187 stroke-width="2"
188 viewBox="0 0 24 24" 188 viewBox="0 0 24 24"
189 stroke="currentColor" 189 stroke="currentColor"
190 > 190 >
191 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 191 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
192 </svg> 192 </svg>
193 <span class="ml-4">Должности</span> 193 <span class="ml-4">Должности</span>
194 </a> 194 </a>
195 </li> 195 </li>
196 <li class="relative px-6 py-3"> 196 <li class="relative px-6 py-3">
197 <a 197 <a
198 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 198 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
199 href="{{ route('admin.messages') }}" 199 href="{{ route('admin.messages') }}"
200 > 200 >
201 <svg 201 <svg
202 class="w-5 h-5" 202 class="w-5 h-5"
203 aria-hidden="true" 203 aria-hidden="true"
204 fill="none" 204 fill="none"
205 stroke-linecap="round" 205 stroke-linecap="round"
206 stroke-linejoin="round" 206 stroke-linejoin="round"
207 stroke-width="2" 207 stroke-width="2"
208 viewBox="0 0 24 24" 208 viewBox="0 0 24 24"
209 stroke="currentColor" 209 stroke="currentColor"
210 > 210 >
211 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 211 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
212 </svg> 212 </svg>
213 <span class="ml-4">Сообщения</span> 213 <span class="ml-4">Сообщения</span>
214 </a> 214 </a>
215 </li> 215 </li>
216 <li class="relative px-6 py-3"> 216 <li class="relative px-6 py-3">
217 <a 217 <a
218 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 218 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
219 href="{{ route('admin.groups') }}" 219 href="{{ route('admin.groups') }}"
220 > 220 >
221 <svg 221 <svg
222 class="w-5 h-5" 222 class="w-5 h-5"
223 aria-hidden="true" 223 aria-hidden="true"
224 fill="none" 224 fill="none"
225 stroke-linecap="round" 225 stroke-linecap="round"
226 stroke-linejoin="round" 226 stroke-linejoin="round"
227 stroke-width="2" 227 stroke-width="2"
228 viewBox="0 0 24 24" 228 viewBox="0 0 24 24"
229 stroke="currentColor" 229 stroke="currentColor"
230 > 230 >
231 <path 231 <path
232 d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01" 232 d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"
233 ></path> 233 ></path>
234 </svg> 234 </svg>
235 <span class="ml-4">Группы пользователей</span> 235 <span class="ml-4">Группы пользователей</span>
236 </a> 236 </a>
237 </li> 237 </li>
238 <li class="relative px-6 py-3"> 238 <li class="relative px-6 py-3">
239 <button 239 <button
240 class="inline-flex items-center justify-between w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 240 class="inline-flex items-center justify-between w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
241 @click="togglePagesMenu" 241 @click="togglePagesMenu"
242 aria-haspopup="true" 242 aria-haspopup="true"
243 > 243 >
244 <span class="inline-flex items-center"> 244 <span class="inline-flex items-center">
245 <svg 245 <svg
246 class="w-5 h-5" 246 class="w-5 h-5"
247 aria-hidden="true" 247 aria-hidden="true"
248 fill="none" 248 fill="none"
249 stroke-linecap="round" 249 stroke-linecap="round"
250 stroke-linejoin="round" 250 stroke-linejoin="round"
251 stroke-width="2" 251 stroke-width="2"
252 viewBox="0 0 24 24" 252 viewBox="0 0 24 24"
253 stroke="currentColor" 253 stroke="currentColor"
254 > 254 >
255 <path 255 <path
256 d="M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z" 256 d="M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z"
257 ></path> 257 ></path>
258 </svg> 258 </svg>
259 <span class="ml-4">Страницы</span> 259 <span class="ml-4">Страницы</span>
260 </span> 260 </span>
261 <svg 261 <svg
262 class="w-4 h-4" 262 class="w-4 h-4"
263 aria-hidden="true" 263 aria-hidden="true"
264 fill="currentColor" 264 fill="currentColor"
265 viewBox="0 0 20 20" 265 viewBox="0 0 20 20"
266 > 266 >
267 <path 267 <path
268 fill-rule="evenodd" 268 fill-rule="evenodd"
269 d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" 269 d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z"
270 clip-rule="evenodd" 270 clip-rule="evenodd"
271 ></path> 271 ></path>
272 </svg> 272 </svg>
273 </button> 273 </button>
274 <template x-if="isPagesMenuOpen"> 274 <template x-if="isPagesMenuOpen">
275 <ul 275 <ul
276 x-transition:enter="transition-all ease-in-out duration-300" 276 x-transition:enter="transition-all ease-in-out duration-300"
277 x-transition:enter-start="opacity-25 max-h-0" 277 x-transition:enter-start="opacity-25 max-h-0"
278 x-transition:enter-end="opacity-100 max-h-xl" 278 x-transition:enter-end="opacity-100 max-h-xl"
279 x-transition:leave="transition-all ease-in-out duration-300" 279 x-transition:leave="transition-all ease-in-out duration-300"
280 x-transition:leave-start="opacity-100 max-h-xl" 280 x-transition:leave-start="opacity-100 max-h-xl"
281 x-transition:leave-end="opacity-0 max-h-0" 281 x-transition:leave-end="opacity-0 max-h-0"
282 class="p-2 mt-2 space-y-2 overflow-hidden text-sm font-medium text-gray-500 rounded-md shadow-inner bg-gray-50 dark:text-gray-400 dark:bg-gray-900" 282 class="p-2 mt-2 space-y-2 overflow-hidden text-sm font-medium text-gray-500 rounded-md shadow-inner bg-gray-50 dark:text-gray-400 dark:bg-gray-900"
283 aria-label="submenu" 283 aria-label="submenu"
284 > 284 >
285 <li 285 <li
286 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 286 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
287 > 287 >
288 <a class="w-full" href="pages/login.html">Login</a> 288 <a class="w-full" href="pages/login.html">Login</a>
289 </li> 289 </li>
290 <li 290 <li
291 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 291 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
292 > 292 >
293 <a class="w-full" href="pages/create-account.html"> 293 <a class="w-full" href="pages/create-account.html">
294 Create account 294 Create account
295 </a> 295 </a>
296 </li> 296 </li>
297 <li 297 <li
298 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 298 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
299 > 299 >
300 <a class="w-full" href="pages/forgot-password.html"> 300 <a class="w-full" href="pages/forgot-password.html">
301 Forgot password 301 Forgot password
302 </a> 302 </a>
303 </li> 303 </li>
304 <li 304 <li
305 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 305 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
306 > 306 >
307 <a class="w-full" href="pages/404.html">404</a> 307 <a class="w-full" href="pages/404.html">404</a>
308 </li> 308 </li>
309 <li 309 <li
310 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 310 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
311 > 311 >
312 <a class="w-full" href="pages/blank.html">Blank</a> 312 <a class="w-full" href="pages/blank.html">Blank</a>
313 </li> 313 </li>
314 </ul> 314 </ul>
315 </template> 315 </template>
316 </li> 316 </li>
317 </ul> 317 </ul>
318 <!--<div class="px-6 my-6"> 318 <!--<div class="px-6 my-6">
319 <button 319 <button
320 class="flex items-center justify-between w-full px-4 py-2 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-lg active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" 320 class="flex items-center justify-between w-full px-4 py-2 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-lg active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
321 > 321 >
322 Create account 322 Create account
323 <span class="ml-2" aria-hidden="true">+</span> 323 <span class="ml-2" aria-hidden="true">+</span>
324 </button> 324 </button>
325 </div>--> 325 </div>-->
326 </div> 326 </div>
327 </aside> 327 </aside>
328 <!-- Mobile sidebar --> 328 <!-- Mobile sidebar -->
329 <!-- Backdrop --> 329 <!-- Backdrop -->
330 <div 330 <div
331 x-show="isSideMenuOpen" 331 x-show="isSideMenuOpen"
332 x-transition:enter="transition ease-in-out duration-150" 332 x-transition:enter="transition ease-in-out duration-150"
333 x-transition:enter-start="opacity-0" 333 x-transition:enter-start="opacity-0"
334 x-transition:enter-end="opacity-100" 334 x-transition:enter-end="opacity-100"
335 x-transition:leave="transition ease-in-out duration-150" 335 x-transition:leave="transition ease-in-out duration-150"
336 x-transition:leave-start="opacity-100" 336 x-transition:leave-start="opacity-100"
337 x-transition:leave-end="opacity-0" 337 x-transition:leave-end="opacity-0"
338 class="fixed inset-0 z-10 flex items-end bg-black bg-opacity-50 sm:items-center sm:justify-center" 338 class="fixed inset-0 z-10 flex items-end bg-black bg-opacity-50 sm:items-center sm:justify-center"
339 ></div> 339 ></div>
340 <aside 340 <aside
341 class="fixed inset-y-0 z-20 flex-shrink-0 w-64 mt-16 overflow-y-auto bg-white dark:bg-gray-800 md:hidden" 341 class="fixed inset-y-0 z-20 flex-shrink-0 w-64 mt-16 overflow-y-auto bg-white dark:bg-gray-800 md:hidden"
342 x-show="isSideMenuOpen" 342 x-show="isSideMenuOpen"
343 x-transition:enter="transition ease-in-out duration-150" 343 x-transition:enter="transition ease-in-out duration-150"
344 x-transition:enter-start="opacity-0 transform -translate-x-20" 344 x-transition:enter-start="opacity-0 transform -translate-x-20"
345 x-transition:enter-end="opacity-100" 345 x-transition:enter-end="opacity-100"
346 x-transition:leave="transition ease-in-out duration-150" 346 x-transition:leave="transition ease-in-out duration-150"
347 x-transition:leave-start="opacity-100" 347 x-transition:leave-start="opacity-100"
348 x-transition:leave-end="opacity-0 transform -translate-x-20" 348 x-transition:leave-end="opacity-0 transform -translate-x-20"
349 @click.away="closeSideMenu" 349 @click.away="closeSideMenu"
350 @keydown.escape="closeSideMenu" 350 @keydown.escape="closeSideMenu"
351 > 351 >
352 <div class="py-4 text-gray-500 dark:text-gray-400"> 352 <div class="py-4 text-gray-500 dark:text-gray-400">
353 <a 353 <a
354 class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200" 354 class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200"
355 href="{{ route('admin.index') }}" 355 href="{{ route('admin.index') }}"
356 > 356 >
357 Админка 357 Админка
358 </a> 358 </a>
359 <ul class="mt-6"> 359 <ul class="mt-6">
360 <li class="relative px-6 py-3"> 360 <li class="relative px-6 py-3">
361 <span 361 <span
362 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg" 362 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg"
363 aria-hidden="true" 363 aria-hidden="true"
364 ></span> 364 ></span>
365 <a 365 <a
366 class="inline-flex items-center w-full text-sm font-semibold text-gray-800 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 dark:text-gray-100" 366 class="inline-flex items-center w-full text-sm font-semibold text-gray-800 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 dark:text-gray-100"
367 href="{{ route('admin.index') }}" 367 href="{{ route('admin.index') }}"
368 > 368 >
369 <svg 369 <svg
370 class="w-5 h-5" 370 class="w-5 h-5"
371 aria-hidden="true" 371 aria-hidden="true"
372 fill="none" 372 fill="none"
373 stroke-linecap="round" 373 stroke-linecap="round"
374 stroke-linejoin="round" 374 stroke-linejoin="round"
375 stroke-width="2" 375 stroke-width="2"
376 viewBox="0 0 24 24" 376 viewBox="0 0 24 24"
377 stroke="currentColor" 377 stroke="currentColor"
378 > 378 >
379 <path 379 <path
380 d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6" 380 d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"
381 ></path> 381 ></path>
382 </svg> 382 </svg>
383 <span class="ml-4">Главная страница</span> 383 <span class="ml-4">Главная страница</span>
384 </a> 384 </a>
385 </li> 385 </li>
386 </ul> 386 </ul>
387 <ul> 387 <ul>
388 <li class="relative px-6 py-3"> 388 <li class="relative px-6 py-3">
389 <a class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 389 <a class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
390 href="{{ route('admin.users') }}"> 390 href="{{ route('admin.users') }}">
391 <svg 391 <svg
392 class="w-5 h-5" 392 class="w-5 h-5"
393 aria-hidden="true" 393 aria-hidden="true"
394 fill="none" 394 fill="none"
395 stroke-linecap="round" 395 stroke-linecap="round"
396 stroke-linejoin="round" 396 stroke-linejoin="round"
397 stroke-width="2" 397 stroke-width="2"
398 viewBox="0 0 24 24" 398 viewBox="0 0 24 24"
399 stroke="currentColor" 399 stroke="currentColor"
400 > 400 >
401 <path 401 <path
402 d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01" 402 d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"
403 ></path> 403 ></path>
404 </svg> 404 </svg>
405 <span class="ml-4">Пользователи</span> 405 <span class="ml-4">Пользователи</span>
406 </a> 406 </a>
407 </li> 407 </li>
408 <li class="relative px-6 py-3"> 408 <li class="relative px-6 py-3">
409 <a 409 <a
410 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 410 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
411 href="{{ route('admin.employers') }}" 411 href="{{ route('admin.employers') }}"
412 > 412 >
413 <svg 413 <svg
414 class="w-5 h-5" 414 class="w-5 h-5"
415 aria-hidden="true" 415 aria-hidden="true"
416 fill="none" 416 fill="none"
417 stroke-linecap="round" 417 stroke-linecap="round"
418 stroke-linejoin="round" 418 stroke-linejoin="round"
419 stroke-width="2" 419 stroke-width="2"
420 viewBox="0 0 24 24" 420 viewBox="0 0 24 24"
421 stroke="currentColor" 421 stroke="currentColor"
422 > 422 >
423 <path 423 <path
424 d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10" 424 d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"
425 ></path> 425 ></path>
426 </svg> 426 </svg>
427 <span class="ml-4">Работодатели</span> 427 <span class="ml-4">Работодатели</span>
428 </a> 428 </a>
429 </li> 429 </li>
430 <li class="relative px-6 py-3"> 430 <li class="relative px-6 py-3">
431 <a 431 <a
432 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 432 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
433 href="{{ route('admin.workers') }}" 433 href="{{ route('admin.workers') }}"
434 > 434 >
435 <svg 435 <svg
436 class="w-5 h-5" 436 class="w-5 h-5"
437 aria-hidden="true" 437 aria-hidden="true"
438 fill="none" 438 fill="none"
439 stroke-linecap="round" 439 stroke-linecap="round"
440 stroke-linejoin="round" 440 stroke-linejoin="round"
441 stroke-width="2" 441 stroke-width="2"
442 viewBox="0 0 24 24" 442 viewBox="0 0 24 24"
443 stroke="currentColor" 443 stroke="currentColor"
444 > 444 >
445 <path 445 <path
446 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 446 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
447 ></path> 447 ></path>
448 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 448 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
449 </svg> 449 </svg>
450 <span class="ml-4">Соискатели</span> 450 <span class="ml-4">Соискатели</span>
451 </a> 451 </a>
452 </li> 452 </li>
453 <li class="relative px-6 py-3"> 453 <li class="relative px-6 py-3">
454 <a 454 <a
455 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 455 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
456 href="{{ route('admin.ad-employers') }}" 456 href="{{ route('admin.ad-employers') }}"
457 > 457 >
458 <svg 458 <svg
459 class="w-5 h-5" 459 class="w-5 h-5"
460 aria-hidden="true" 460 aria-hidden="true"
461 fill="none" 461 fill="none"
462 stroke-linecap="round" 462 stroke-linecap="round"
463 stroke-linejoin="round" 463 stroke-linejoin="round"
464 stroke-width="2" 464 stroke-width="2"
465 viewBox="0 0 24 24" 465 viewBox="0 0 24 24"
466 stroke="currentColor" 466 stroke="currentColor"
467 > 467 >
468 <path 468 <path
469 d="M15 15l-2 5L9 9l11 4-5 2zm0 0l5 5M7.188 2.239l.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656l-2.12 2.122" 469 d="M15 15l-2 5L9 9l11 4-5 2zm0 0l5 5M7.188 2.239l.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656l-2.12 2.122"
470 ></path> 470 ></path>
471 </svg> 471 </svg>
472 <span class="ml-4">Вакансии</span> 472 <span class="ml-4">Вакансии</span>
473 </a> 473 </a>
474 </li> 474 </li>
475 <li class="relative px-6 py-3"> 475 <li class="relative px-6 py-3">
476 <a 476 <a
477 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 477 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
478 href="{{ route('admin.categories') }}" 478 href="{{ route('admin.categories.index') }}"
479 > 479 >
480 <svg 480 <svg
481 class="w-5 h-5" 481 class="w-5 h-5"
482 aria-hidden="true" 482 aria-hidden="true"
483 fill="none" 483 fill="none"
484 stroke-linecap="round" 484 stroke-linecap="round"
485 stroke-linejoin="round" 485 stroke-linejoin="round"
486 stroke-width="2" 486 stroke-width="2"
487 viewBox="0 0 24 24" 487 viewBox="0 0 24 24"
488 stroke="currentColor" 488 stroke="currentColor"
489 > 489 >
490 <path 490 <path
491 d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" 491 d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"
492 ></path> 492 ></path>
493 </svg> 493 </svg>
494 <span class="ml-4">Категории</span> 494 <span class="ml-4">Категории</span>
495 </a> 495 </a>
496 </li> 496 </li>
497 <li class="relative px-6 py-3"> 497 <li class="relative px-6 py-3">
498 <a 498 <a
499 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 499 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
500 href="{{ route('admin.job-titles') }}" 500 href="{{ route('admin.job-titles') }}"
501 > 501 >
502 <svg 502 <svg
503 class="w-5 h-5" 503 class="w-5 h-5"
504 aria-hidden="true" 504 aria-hidden="true"
505 fill="none" 505 fill="none"
506 stroke-linecap="round" 506 stroke-linecap="round"
507 stroke-linejoin="round" 507 stroke-linejoin="round"
508 stroke-width="2" 508 stroke-width="2"
509 viewBox="0 0 24 24" 509 viewBox="0 0 24 24"
510 stroke="currentColor" 510 stroke="currentColor"
511 > 511 >
512 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 512 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
513 </svg> 513 </svg>
514 <span class="ml-4">Должности</span> 514 <span class="ml-4">Должности</span>
515 </a> 515 </a>
516 </li> 516 </li>
517 <li class="relative px-6 py-3"> 517 <li class="relative px-6 py-3">
518 <a 518 <a
519 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 519 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
520 href="{{ route('admin.messages') }}" 520 href="{{ route('admin.messages') }}"
521 > 521 >
522 <svg 522 <svg
523 class="w-5 h-5" 523 class="w-5 h-5"
524 aria-hidden="true" 524 aria-hidden="true"
525 fill="none" 525 fill="none"
526 stroke-linecap="round" 526 stroke-linecap="round"
527 stroke-linejoin="round" 527 stroke-linejoin="round"
528 stroke-width="2" 528 stroke-width="2"
529 viewBox="0 0 24 24" 529 viewBox="0 0 24 24"
530 stroke="currentColor" 530 stroke="currentColor"
531 > 531 >
532 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 532 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
533 </svg> 533 </svg>
534 <span class="ml-4">Сообщения</span> 534 <span class="ml-4">Сообщения</span>
535 </a> 535 </a>
536 </li> 536 </li>
537 <li class="relative px-6 py-3"> 537 <li class="relative px-6 py-3">
538 <a class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 538 <a class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
539 href="{{ route('admin.groups') }}"> 539 href="{{ route('admin.groups') }}">
540 <svg 540 <svg
541 class="w-5 h-5" 541 class="w-5 h-5"
542 aria-hidden="true" 542 aria-hidden="true"
543 fill="none" 543 fill="none"
544 stroke-linecap="round" 544 stroke-linecap="round"
545 stroke-linejoin="round" 545 stroke-linejoin="round"
546 stroke-width="2" 546 stroke-width="2"
547 viewBox="0 0 24 24" 547 viewBox="0 0 24 24"
548 stroke="currentColor" 548 stroke="currentColor"
549 > 549 >
550 <path 550 <path
551 d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01" 551 d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"
552 ></path> 552 ></path>
553 </svg> 553 </svg>
554 <span class="ml-4">Группы пользователей</span> 554 <span class="ml-4">Группы пользователей</span>
555 </a> 555 </a>
556 </li> 556 </li>
557 <li class="relative px-6 py-3"> 557 <li class="relative px-6 py-3">
558 <button 558 <button
559 class="inline-flex items-center justify-between w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 559 class="inline-flex items-center justify-between w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
560 @click="togglePagesMenu" 560 @click="togglePagesMenu"
561 aria-haspopup="true" 561 aria-haspopup="true"
562 > 562 >
563 <span class="inline-flex items-center"> 563 <span class="inline-flex items-center">
564 <svg 564 <svg
565 class="w-5 h-5" 565 class="w-5 h-5"
566 aria-hidden="true" 566 aria-hidden="true"
567 fill="none" 567 fill="none"
568 stroke-linecap="round" 568 stroke-linecap="round"
569 stroke-linejoin="round" 569 stroke-linejoin="round"
570 stroke-width="2" 570 stroke-width="2"
571 viewBox="0 0 24 24" 571 viewBox="0 0 24 24"
572 stroke="currentColor" 572 stroke="currentColor"
573 > 573 >
574 <path 574 <path
575 d="M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z" 575 d="M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z"
576 ></path> 576 ></path>
577 </svg> 577 </svg>
578 <span class="ml-4">Страницы</span> 578 <span class="ml-4">Страницы</span>
579 </span> 579 </span>
580 <svg 580 <svg
581 class="w-4 h-4" 581 class="w-4 h-4"
582 aria-hidden="true" 582 aria-hidden="true"
583 fill="currentColor" 583 fill="currentColor"
584 viewBox="0 0 20 20" 584 viewBox="0 0 20 20"
585 > 585 >
586 <path 586 <path
587 fill-rule="evenodd" 587 fill-rule="evenodd"
588 d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" 588 d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z"
589 clip-rule="evenodd" 589 clip-rule="evenodd"
590 ></path> 590 ></path>
591 </svg> 591 </svg>
592 </button> 592 </button>
593 <template x-if="isPagesMenuOpen"> 593 <template x-if="isPagesMenuOpen">
594 <ul 594 <ul
595 x-transition:enter="transition-all ease-in-out duration-300" 595 x-transition:enter="transition-all ease-in-out duration-300"
596 x-transition:enter-start="opacity-25 max-h-0" 596 x-transition:enter-start="opacity-25 max-h-0"
597 x-transition:enter-end="opacity-100 max-h-xl" 597 x-transition:enter-end="opacity-100 max-h-xl"
598 x-transition:leave="transition-all ease-in-out duration-300" 598 x-transition:leave="transition-all ease-in-out duration-300"
599 x-transition:leave-start="opacity-100 max-h-xl" 599 x-transition:leave-start="opacity-100 max-h-xl"
600 x-transition:leave-end="opacity-0 max-h-0" 600 x-transition:leave-end="opacity-0 max-h-0"
601 class="p-2 mt-2 space-y-2 overflow-hidden text-sm font-medium text-gray-500 rounded-md shadow-inner bg-gray-50 dark:text-gray-400 dark:bg-gray-900" 601 class="p-2 mt-2 space-y-2 overflow-hidden text-sm font-medium text-gray-500 rounded-md shadow-inner bg-gray-50 dark:text-gray-400 dark:bg-gray-900"
602 aria-label="submenu" 602 aria-label="submenu"
603 > 603 >
604 <li 604 <li
605 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 605 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
606 > 606 >
607 <a class="w-full" href="pages/login.html">Login</a> 607 <a class="w-full" href="pages/login.html">Login</a>
608 </li> 608 </li>
609 <li 609 <li
610 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 610 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
611 > 611 >
612 <a class="w-full" href="pages/create-account.html"> 612 <a class="w-full" href="pages/create-account.html">
613 Create account 613 Create account
614 </a> 614 </a>
615 </li> 615 </li>
616 <li 616 <li
617 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 617 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
618 > 618 >
619 <a class="w-full" href="pages/forgot-password.html"> 619 <a class="w-full" href="pages/forgot-password.html">
620 Forgot password 620 Forgot password
621 </a> 621 </a>
622 </li> 622 </li>
623 <li 623 <li
624 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 624 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
625 > 625 >
626 <a class="w-full" href="pages/404.html">404</a> 626 <a class="w-full" href="pages/404.html">404</a>
627 </li> 627 </li>
628 <li 628 <li
629 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 629 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
630 > 630 >
631 <a class="w-full" href="pages/blank.html">Blank</a> 631 <a class="w-full" href="pages/blank.html">Blank</a>
632 </li> 632 </li>
633 </ul> 633 </ul>
634 </template> 634 </template>
635 </li> 635 </li>
636 </ul> 636 </ul>
637 <!--<div class="px-6 my-6"> 637 <!--<div class="px-6 my-6">
638 <button class="flex items-center justify-between px-4 py-2 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-lg active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 638 <button class="flex items-center justify-between px-4 py-2 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-lg active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
639 Create account 639 Create account
640 <span class="ml-2" aria-hidden="true">+</span> 640 <span class="ml-2" aria-hidden="true">+</span>
641 </button> 641 </button>
642 </div>--> 642 </div>-->
643 </div> 643 </div>
644 </aside> 644 </aside>
645 <div class="flex flex-col flex-1 w-full"> 645 <div class="flex flex-col flex-1 w-full">
646 <header class="z-10 py-4 bg-white shadow-md dark:bg-gray-800"> 646 <header class="z-10 py-4 bg-white shadow-md dark:bg-gray-800">
647 <div 647 <div
648 class="container flex items-center justify-between h-full px-6 mx-auto text-purple-600 dark:text-purple-300" 648 class="container flex items-center justify-between h-full px-6 mx-auto text-purple-600 dark:text-purple-300"
649 > 649 >
650 <!-- Mobile hamburger --> 650 <!-- Mobile hamburger -->
651 <button 651 <button
652 class="p-1 mr-5 -ml-1 rounded-md md:hidden focus:outline-none focus:shadow-outline-purple" 652 class="p-1 mr-5 -ml-1 rounded-md md:hidden focus:outline-none focus:shadow-outline-purple"
653 @click="toggleSideMenu" 653 @click="toggleSideMenu"
654 aria-label="Menu" 654 aria-label="Menu"
655 > 655 >
656 <svg 656 <svg
657 class="w-6 h-6" 657 class="w-6 h-6"
658 aria-hidden="true" 658 aria-hidden="true"
659 fill="currentColor" 659 fill="currentColor"
660 viewBox="0 0 20 20" 660 viewBox="0 0 20 20"
661 > 661 >
662 <path 662 <path
663 fill-rule="evenodd" 663 fill-rule="evenodd"
664 d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z" 664 d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z"
665 clip-rule="evenodd" 665 clip-rule="evenodd"
666 ></path> 666 ></path>
667 </svg> 667 </svg>
668 </button> 668 </button>
669 <!-- Search input --> 669 <!-- Search input -->
670 <div class="flex justify-center flex-1 lg:mr-32"> 670 <div class="flex justify-center flex-1 lg:mr-32">
671 <div 671 <div
672 class="relative w-full max-w-xl mr-6 focus-within:text-purple-500" 672 class="relative w-full max-w-xl mr-6 focus-within:text-purple-500"
673 > 673 >
674 <div class="absolute inset-y-0 flex items-center pl-2"> 674 <div class="absolute inset-y-0 flex items-center pl-2">
675 <svg 675 <svg
676 class="w-4 h-4" 676 class="w-4 h-4"
677 aria-hidden="true" 677 aria-hidden="true"
678 fill="currentColor" 678 fill="currentColor"
679 viewBox="0 0 20 20" 679 viewBox="0 0 20 20"
680 > 680 >
681 <path 681 <path
682 fill-rule="evenodd" 682 fill-rule="evenodd"
683 d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z" 683 d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z"
684 clip-rule="evenodd" 684 clip-rule="evenodd"
685 ></path> 685 ></path>
686 </svg> 686 </svg>
687 </div> 687 </div>
688 <input 688 <input
689 class="w-full pl-8 pr-2 text-sm text-gray-700 placeholder-gray-600 bg-gray-100 border-0 rounded-md dark:placeholder-gray-500 dark:focus:shadow-outline-gray dark:focus:placeholder-gray-600 dark:bg-gray-700 dark:text-gray-200 focus:placeholder-gray-500 focus:bg-white focus:border-purple-300 focus:outline-none focus:shadow-outline-purple form-input" 689 class="w-full pl-8 pr-2 text-sm text-gray-700 placeholder-gray-600 bg-gray-100 border-0 rounded-md dark:placeholder-gray-500 dark:focus:shadow-outline-gray dark:focus:placeholder-gray-600 dark:bg-gray-700 dark:text-gray-200 focus:placeholder-gray-500 focus:bg-white focus:border-purple-300 focus:outline-none focus:shadow-outline-purple form-input"
690 type="text" 690 type="text"
691 placeholder="Искать..." 691 placeholder="Искать..."
692 aria-label="Search" 692 aria-label="Search"
693 /> 693 />
694 </div> 694 </div>
695 </div> 695 </div>
696 <ul class="flex items-center flex-shrink-0 space-x-6"> 696 <ul class="flex items-center flex-shrink-0 space-x-6">
697 <!-- Theme toggler --> 697 <!-- Theme toggler -->
698 <li class="flex"> 698 <li class="flex">
699 <button 699 <button
700 class="rounded-md focus:outline-none focus:shadow-outline-purple" 700 class="rounded-md focus:outline-none focus:shadow-outline-purple"
701 @click="toggleTheme" 701 @click="toggleTheme"
702 aria-label="Toggle color mode" 702 aria-label="Toggle color mode"
703 > 703 >
704 <template x-if="!dark"> 704 <template x-if="!dark">
705 <svg 705 <svg
706 class="w-5 h-5" 706 class="w-5 h-5"
707 aria-hidden="true" 707 aria-hidden="true"
708 fill="currentColor" 708 fill="currentColor"
709 viewBox="0 0 20 20" 709 viewBox="0 0 20 20"
710 > 710 >
711 <path 711 <path
712 d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z" 712 d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"
713 ></path> 713 ></path>
714 </svg> 714 </svg>
715 </template> 715 </template>
716 <template x-if="dark"> 716 <template x-if="dark">
717 <svg 717 <svg
718 class="w-5 h-5" 718 class="w-5 h-5"
719 aria-hidden="true" 719 aria-hidden="true"
720 fill="currentColor" 720 fill="currentColor"
721 viewBox="0 0 20 20" 721 viewBox="0 0 20 20"
722 > 722 >
723 <path 723 <path
724 fill-rule="evenodd" 724 fill-rule="evenodd"
725 d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z" 725 d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z"
726 clip-rule="evenodd" 726 clip-rule="evenodd"
727 ></path> 727 ></path>
728 </svg> 728 </svg>
729 </template> 729 </template>
730 </button> 730 </button>
731 </li> 731 </li>
732 <!-- Notifications menu --> 732 <!-- Notifications menu -->
733 <li class="relative"> 733 <li class="relative">
734 <button 734 <button
735 class="relative align-middle rounded-md focus:outline-none focus:shadow-outline-purple" 735 class="relative align-middle rounded-md focus:outline-none focus:shadow-outline-purple"
736 @click="toggleNotificationsMenu" 736 @click="toggleNotificationsMenu"
737 @keydown.escape="closeNotificationsMenu" 737 @keydown.escape="closeNotificationsMenu"
738 aria-label="Notifications" 738 aria-label="Notifications"
739 aria-haspopup="true" 739 aria-haspopup="true"
740 > 740 >
741 <svg 741 <svg
742 class="w-5 h-5" 742 class="w-5 h-5"
743 aria-hidden="true" 743 aria-hidden="true"
744 fill="currentColor" 744 fill="currentColor"
745 viewBox="0 0 20 20" 745 viewBox="0 0 20 20"
746 > 746 >
747 <path 747 <path
748 d="M10 2a6 6 0 00-6 6v3.586l-.707.707A1 1 0 004 14h12a1 1 0 00.707-1.707L16 11.586V8a6 6 0 00-6-6zM10 18a3 3 0 01-3-3h6a3 3 0 01-3 3z" 748 d="M10 2a6 6 0 00-6 6v3.586l-.707.707A1 1 0 004 14h12a1 1 0 00.707-1.707L16 11.586V8a6 6 0 00-6-6zM10 18a3 3 0 01-3-3h6a3 3 0 01-3 3z"
749 ></path> 749 ></path>
750 </svg> 750 </svg>
751 <!-- Notification badge --> 751 <!-- Notification badge -->
752 <span 752 <span
753 aria-hidden="true" 753 aria-hidden="true"
754 class="absolute top-0 right-0 inline-block w-3 h-3 transform translate-x-1 -translate-y-1 bg-red-600 border-2 border-white rounded-full dark:border-gray-800" 754 class="absolute top-0 right-0 inline-block w-3 h-3 transform translate-x-1 -translate-y-1 bg-red-600 border-2 border-white rounded-full dark:border-gray-800"
755 ></span> 755 ></span>
756 </button> 756 </button>
757 <template x-if="isNotificationsMenuOpen"> 757 <template x-if="isNotificationsMenuOpen">
758 <ul 758 <ul
759 x-transition:leave="transition ease-in duration-150" 759 x-transition:leave="transition ease-in duration-150"
760 x-transition:leave-start="opacity-100" 760 x-transition:leave-start="opacity-100"
761 x-transition:leave-end="opacity-0" 761 x-transition:leave-end="opacity-0"
762 @click.away="closeNotificationsMenu" 762 @click.away="closeNotificationsMenu"
763 @keydown.escape="closeNotificationsMenu" 763 @keydown.escape="closeNotificationsMenu"
764 class="absolute right-0 w-56 p-2 mt-2 space-y-2 text-gray-600 bg-white border border-gray-100 rounded-md shadow-md dark:text-gray-300 dark:border-gray-700 dark:bg-gray-700" 764 class="absolute right-0 w-56 p-2 mt-2 space-y-2 text-gray-600 bg-white border border-gray-100 rounded-md shadow-md dark:text-gray-300 dark:border-gray-700 dark:bg-gray-700"
765 > 765 >
766 <li class="flex"> 766 <li class="flex">
767 <a 767 <a
768 class="inline-flex items-center justify-between w-full px-2 py-1 text-sm font-semibold transition-colors duration-150 rounded-md hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-200" 768 class="inline-flex items-center justify-between w-full px-2 py-1 text-sm font-semibold transition-colors duration-150 rounded-md hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-200"
769 href="#" 769 href="#"
770 > 770 >
771 <span>Сообщения</span> 771 <span>Сообщения</span>
772 <span 772 <span
773 class="inline-flex items-center justify-center px-2 py-1 text-xs font-bold leading-none text-red-600 bg-red-100 rounded-full dark:text-red-100 dark:bg-red-600" 773 class="inline-flex items-center justify-center px-2 py-1 text-xs font-bold leading-none text-red-600 bg-red-100 rounded-full dark:text-red-100 dark:bg-red-600"
774 > 774 >
775 13 775 13
776 </span> 776 </span>
777 </a> 777 </a>
778 </li> 778 </li>
779 <li class="flex"> 779 <li class="flex">
780 <a 780 <a
781 class="inline-flex items-center justify-between w-full px-2 py-1 text-sm font-semibold transition-colors duration-150 rounded-md hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-200" 781 class="inline-flex items-center justify-between w-full px-2 py-1 text-sm font-semibold transition-colors duration-150 rounded-md hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-200"
782 href="#" 782 href="#"
783 > 783 >
784 <span>Логи</span> 784 <span>Логи</span>
785 </a> 785 </a>
786 </li> 786 </li>
787 </ul> 787 </ul>
788 </template> 788 </template>
789 </li> 789 </li>
790 <!-- Profile menu --> 790 <!-- Profile menu -->
791 <li class="relative"> 791 <li class="relative">
792 <button 792 <button
793 class="align-middle rounded-full focus:shadow-outline-purple focus:outline-none" 793 class="align-middle rounded-full focus:shadow-outline-purple focus:outline-none"
794 @click="toggleProfileMenu" 794 @click="toggleProfileMenu"
795 @keydown.escape="closeProfileMenu" 795 @keydown.escape="closeProfileMenu"
796 aria-label="Account" 796 aria-label="Account"
797 aria-haspopup="true" 797 aria-haspopup="true"
798 > 798 >
799 <img 799 <img
800 class="object-cover w-8 h-8 rounded-full" 800 class="object-cover w-8 h-8 rounded-full"
801 src="{{ asset('assets/img/profile.jpg') }}" 801 src="{{ asset('assets/img/profile.jpg') }}"
802 alt="" 802 alt=""
803 aria-hidden="true" 803 aria-hidden="true"
804 /> 804 />
805 </button> 805 </button>
806 <template x-if="isProfileMenuOpen"> 806 <template x-if="isProfileMenuOpen">
807 <ul 807 <ul
808 x-transition:leave="transition ease-in duration-150" 808 x-transition:leave="transition ease-in duration-150"
809 x-transition:leave-start="opacity-100" 809 x-transition:leave-start="opacity-100"
810 x-transition:leave-end="opacity-0" 810 x-transition:leave-end="opacity-0"
811 @click.away="closeProfileMenu" 811 @click.away="closeProfileMenu"
812 @keydown.escape="closeProfileMenu" 812 @keydown.escape="closeProfileMenu"
813 class="absolute right-0 w-56 p-2 mt-2 space-y-2 text-gray-600 bg-white border border-gray-100 rounded-md shadow-md dark:border-gray-700 dark:text-gray-300 dark:bg-gray-700" 813 class="absolute right-0 w-56 p-2 mt-2 space-y-2 text-gray-600 bg-white border border-gray-100 rounded-md shadow-md dark:border-gray-700 dark:text-gray-300 dark:bg-gray-700"
814 aria-label="submenu" 814 aria-label="submenu"
815 > 815 >
816 <li class="flex"> 816 <li class="flex">
817 <a 817 <a
818 class="inline-flex items-center w-full px-2 py-1 text-sm font-semibold transition-colors duration-150 rounded-md hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-200" 818 class="inline-flex items-center w-full px-2 py-1 text-sm font-semibold transition-colors duration-150 rounded-md hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-200"
819 href="{{ route('admin.profile') }}" 819 href="{{ route('admin.profile') }}"
820 > 820 >
821 <svg 821 <svg
822 class="w-4 h-4 mr-3" 822 class="w-4 h-4 mr-3"
823 aria-hidden="true" 823 aria-hidden="true"
824 fill="none" 824 fill="none"
825 stroke-linecap="round" 825 stroke-linecap="round"
826 stroke-linejoin="round" 826 stroke-linejoin="round"
827 stroke-width="2" 827 stroke-width="2"
828 viewBox="0 0 24 24" 828 viewBox="0 0 24 24"
829 stroke="currentColor" 829 stroke="currentColor"
830 > 830 >
831 <path 831 <path
832 d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" 832 d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"
833 ></path> 833 ></path>
834 </svg> 834 </svg>
835 <span>Профиль</span> 835 <span>Профиль</span>
836 </a> 836 </a>
837 </li> 837 </li>
838 <li class="flex"> 838 <li class="flex">
839 <a 839 <a
840 class="inline-flex items-center w-full px-2 py-1 text-sm font-semibold transition-colors duration-150 rounded-md hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-200" 840 class="inline-flex items-center w-full px-2 py-1 text-sm font-semibold transition-colors duration-150 rounded-md hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-200"
841 href="{{ route('admin.config') }}" 841 href="{{ route('admin.config') }}"
842 > 842 >
843 <svg 843 <svg
844 class="w-4 h-4 mr-3" 844 class="w-4 h-4 mr-3"
845 aria-hidden="true" 845 aria-hidden="true"
846 fill="none" 846 fill="none"
847 stroke-linecap="round" 847 stroke-linecap="round"
848 stroke-linejoin="round" 848 stroke-linejoin="round"
849 stroke-width="2" 849 stroke-width="2"
850 viewBox="0 0 24 24" 850 viewBox="0 0 24 24"
851 stroke="currentColor" 851 stroke="currentColor"
852 > 852 >
853 <path 853 <path
854 d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z" 854 d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"
855 ></path> 855 ></path>
856 <path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path> 856 <path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
857 </svg> 857 </svg>
858 <span>Настройки</span> 858 <span>Настройки</span>
859 </a> 859 </a>
860 </li> 860 </li>
861 <li class="flex"> 861 <li class="flex">
862 <a 862 <a
863 class="inline-flex items-center w-full px-2 py-1 text-sm font-semibold transition-colors duration-150 rounded-md hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-200" 863 class="inline-flex items-center w-full px-2 py-1 text-sm font-semibold transition-colors duration-150 rounded-md hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-200"
864 href="{{ route('admin.logout') }}" 864 href="{{ route('admin.logout') }}"
865 > 865 >
866 <svg 866 <svg
867 class="w-4 h-4 mr-3" 867 class="w-4 h-4 mr-3"
868 aria-hidden="true" 868 aria-hidden="true"
869 fill="none" 869 fill="none"
870 stroke-linecap="round" 870 stroke-linecap="round"
871 stroke-linejoin="round" 871 stroke-linejoin="round"
872 stroke-width="2" 872 stroke-width="2"
873 viewBox="0 0 24 24" 873 viewBox="0 0 24 24"
874 stroke="currentColor" 874 stroke="currentColor"
875 > 875 >
876 <path 876 <path
877 d="M11 16l-4-4m0 0l4-4m-4 4h14m-5 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h7a3 3 0 013 3v1" 877 d="M11 16l-4-4m0 0l4-4m-4 4h14m-5 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h7a3 3 0 013 3v1"
878 ></path> 878 ></path>
879 </svg> 879 </svg>
880 <span>Выход</span> 880 <span>Выход</span>
881 </a> 881 </a>
882 </li> 882 </li>
883 </ul> 883 </ul>
884 </template> 884 </template>
885 </li> 885 </li>
886 </ul> 886 </ul>
887 </div> 887 </div>
888 </header> 888 </header>
889 <main class="h-full overflow-y-auto"> 889 <main class="h-full overflow-y-auto">
890 <div class="container px-6 mx-auto grid"> 890 <div class="container px-6 mx-auto grid">
891 <h2 891 <h2
892 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200" 892 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200"
893 > 893 >
894 {{$title}} 894 {{$title}}
895 </h2> 895 </h2>
896 <!-- CTA --> 896 <!-- CTA -->
897 <a 897 <a
898 class="flex items-center justify-between p-4 mb-8 text-sm font-semibold text-purple-100 bg-purple-600 rounded-lg shadow-md focus:outline-none focus:shadow-outline-purple" 898 class="flex items-center justify-between p-4 mb-8 text-sm font-semibold text-purple-100 bg-purple-600 rounded-lg shadow-md focus:outline-none focus:shadow-outline-purple"
899 href="{{ route('admin.admin-users') }}" 899 href="{{ route('admin.admin-users') }}"
900 > 900 >
901 <div class="flex items-center"> 901 <div class="flex items-center">
902 <svg 902 <svg
903 class="w-5 h-5 mr-2" 903 class="w-5 h-5 mr-2"
904 fill="currentColor" 904 fill="currentColor"
905 viewBox="0 0 20 20" 905 viewBox="0 0 20 20"
906 > 906 >
907 <path 907 <path
908 d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z" 908 d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"
909 ></path> 909 ></path>
910 </svg> 910 </svg>
911 <span>Вход в админку только для пользователей-админов</span> 911 <span>Вход в админку только для пользователей-админов</span>
912 </div> 912 </div>
913 <span>Список админов &RightArrow;</span> 913 <span>Список админов &RightArrow;</span>
914 </a> 914 </a>
915 915
916 @if ($message = Session::get('success')) 916 @if ($message = Session::get('success'))
917 <section> 917 <section>
918 <div class="alert alert-success alert-dismissible mt-0" role="alert"> 918 <div class="alert alert-success alert-dismissible mt-0" role="alert">
919 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть"> 919 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть">
920 <span aria-hidden="true">&times;</span> 920 <span aria-hidden="true">&times;</span>
921 </button> 921 </button>
922 {{ $message }} 922 {{ $message }}
923 </div> 923 </div>
924 </section> 924 </section>
925 @endif 925 @endif
926 926
927 @if ($errors->any()) 927 @if ($errors->any())
928 <section> 928 <section>
929 <div class="alert alert-danger alert-dismissible mt-4" role="alert"> 929 <div class="alert alert-danger alert-dismissible mt-4" role="alert">
930 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть"> 930 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть">
931 <span aria-hidden="true">&times;</span> 931 <span aria-hidden="true">&times;</span>
932 </button> 932 </button>
933 <ul class="mb-0"> 933 <ul class="mb-0">
934 @foreach ($errors->all() as $error) 934 @foreach ($errors->all() as $error)
935 <li>{{ $error }}</li> 935 <li>{{ $error }}</li>
936 @endforeach 936 @endforeach
937 </ul> 937 </ul>
938 </div> 938 </div>
939 </section> 939 </section>
940 @endif 940 @endif
941 941
942 @yield('content') 942 @yield('content')
943 943
944 <!-- Cards 944 <!-- Cards
945 <div class="grid gap-6 mb-8 md:grid-cols-2 xl:grid-cols-4"> 945 <div class="grid gap-6 mb-8 md:grid-cols-2 xl:grid-cols-4">
946 946
947 <div 947 <div
948 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 948 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
949 > 949 >
950 <div 950 <div
951 class="p-3 mr-4 text-orange-500 bg-orange-100 rounded-full dark:text-orange-100 dark:bg-orange-500" 951 class="p-3 mr-4 text-orange-500 bg-orange-100 rounded-full dark:text-orange-100 dark:bg-orange-500"
952 > 952 >
953 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 953 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
954 <path 954 <path
955 d="M13 6a3 3 0 11-6 0 3 3 0 016 0zM18 8a2 2 0 11-4 0 2 2 0 014 0zM14 15a4 4 0 00-8 0v3h8v-3zM6 8a2 2 0 11-4 0 2 2 0 014 0zM16 18v-3a5.972 5.972 0 00-.75-2.906A3.005 3.005 0 0119 15v3h-3zM4.75 12.094A5.973 5.973 0 004 15v3H1v-3a3 3 0 013.75-2.906z" 955 d="M13 6a3 3 0 11-6 0 3 3 0 016 0zM18 8a2 2 0 11-4 0 2 2 0 014 0zM14 15a4 4 0 00-8 0v3h8v-3zM6 8a2 2 0 11-4 0 2 2 0 014 0zM16 18v-3a5.972 5.972 0 00-.75-2.906A3.005 3.005 0 0119 15v3h-3zM4.75 12.094A5.973 5.973 0 004 15v3H1v-3a3 3 0 013.75-2.906z"
956 ></path> 956 ></path>
957 </svg> 957 </svg>
958 </div> 958 </div>
959 <div> 959 <div>
960 <p 960 <p
961 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 961 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
962 > 962 >
963 Total clients 963 Total clients
964 </p> 964 </p>
965 <p 965 <p
966 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 966 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
967 > 967 >
968 6389 968 6389
969 </p> 969 </p>
970 </div> 970 </div>
971 </div> 971 </div>
972 972
973 <div 973 <div
974 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 974 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
975 > 975 >
976 <div 976 <div
977 class="p-3 mr-4 text-green-500 bg-green-100 rounded-full dark:text-green-100 dark:bg-green-500" 977 class="p-3 mr-4 text-green-500 bg-green-100 rounded-full dark:text-green-100 dark:bg-green-500"
978 > 978 >
979 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 979 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
980 <path 980 <path
981 fill-rule="evenodd" 981 fill-rule="evenodd"
982 d="M4 4a2 2 0 00-2 2v4a2 2 0 002 2V6h10a2 2 0 00-2-2H4zm2 6a2 2 0 012-2h8a2 2 0 012 2v4a2 2 0 01-2 2H8a2 2 0 01-2-2v-4zm6 4a2 2 0 100-4 2 2 0 000 4z" 982 d="M4 4a2 2 0 00-2 2v4a2 2 0 002 2V6h10a2 2 0 00-2-2H4zm2 6a2 2 0 012-2h8a2 2 0 012 2v4a2 2 0 01-2 2H8a2 2 0 01-2-2v-4zm6 4a2 2 0 100-4 2 2 0 000 4z"
983 clip-rule="evenodd" 983 clip-rule="evenodd"
984 ></path> 984 ></path>
985 </svg> 985 </svg>
986 </div> 986 </div>
987 <div> 987 <div>
988 <p 988 <p
989 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 989 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
990 > 990 >
991 Account balance 991 Account balance
992 </p> 992 </p>
993 <p 993 <p
994 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 994 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
995 > 995 >
996 $ 46,760.89 996 $ 46,760.89
997 </p> 997 </p>
998 </div> 998 </div>
999 </div> 999 </div>
1000 1000
1001 <div 1001 <div
1002 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1002 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1003 > 1003 >
1004 <div 1004 <div
1005 class="p-3 mr-4 text-blue-500 bg-blue-100 rounded-full dark:text-blue-100 dark:bg-blue-500" 1005 class="p-3 mr-4 text-blue-500 bg-blue-100 rounded-full dark:text-blue-100 dark:bg-blue-500"
1006 > 1006 >
1007 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1007 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
1008 <path 1008 <path
1009 d="M3 1a1 1 0 000 2h1.22l.305 1.222a.997.997 0 00.01.042l1.358 5.43-.893.892C3.74 11.846 4.632 14 6.414 14H15a1 1 0 000-2H6.414l1-1H14a1 1 0 00.894-.553l3-6A1 1 0 0017 3H6.28l-.31-1.243A1 1 0 005 1H3zM16 16.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM6.5 18a1.5 1.5 0 100-3 1.5 1.5 0 000 3z" 1009 d="M3 1a1 1 0 000 2h1.22l.305 1.222a.997.997 0 00.01.042l1.358 5.43-.893.892C3.74 11.846 4.632 14 6.414 14H15a1 1 0 000-2H6.414l1-1H14a1 1 0 00.894-.553l3-6A1 1 0 0017 3H6.28l-.31-1.243A1 1 0 005 1H3zM16 16.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM6.5 18a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"
1010 ></path> 1010 ></path>
1011 </svg> 1011 </svg>
1012 </div> 1012 </div>
1013 <div> 1013 <div>
1014 <p 1014 <p
1015 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1015 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
1016 > 1016 >
1017 New sales 1017 New sales
1018 </p> 1018 </p>
1019 <p 1019 <p
1020 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1020 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
1021 > 1021 >
1022 376 1022 376
1023 </p> 1023 </p>
1024 </div> 1024 </div>
1025 </div> 1025 </div>
1026 1026
1027 <div 1027 <div
1028 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1028 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1029 > 1029 >
1030 <div 1030 <div
1031 class="p-3 mr-4 text-teal-500 bg-teal-100 rounded-full dark:text-teal-100 dark:bg-teal-500" 1031 class="p-3 mr-4 text-teal-500 bg-teal-100 rounded-full dark:text-teal-100 dark:bg-teal-500"
1032 > 1032 >
1033 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1033 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
1034 <path 1034 <path
1035 fill-rule="evenodd" 1035 fill-rule="evenodd"
1036 d="M18 5v8a2 2 0 01-2 2h-5l-5 4v-4H4a2 2 0 01-2-2V5a2 2 0 012-2h12a2 2 0 012 2zM7 8H5v2h2V8zm2 0h2v2H9V8zm6 0h-2v2h2V8z" 1036 d="M18 5v8a2 2 0 01-2 2h-5l-5 4v-4H4a2 2 0 01-2-2V5a2 2 0 012-2h12a2 2 0 012 2zM7 8H5v2h2V8zm2 0h2v2H9V8zm6 0h-2v2h2V8z"
1037 clip-rule="evenodd" 1037 clip-rule="evenodd"
1038 ></path> 1038 ></path>
1039 </svg> 1039 </svg>
1040 </div> 1040 </div>
1041 <div> 1041 <div>
1042 <p 1042 <p
1043 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1043 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
1044 > 1044 >
1045 Pending contacts 1045 Pending contacts
1046 </p> 1046 </p>
1047 <p 1047 <p
1048 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1048 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
1049 > 1049 >
1050 35 1050 35
1051 </p> 1051 </p>
1052 </div> 1052 </div>
1053 </div> 1053 </div>
1054 </div> 1054 </div>
1055 --> 1055 -->
1056 <!-- New Table 1056 <!-- New Table
1057 <div class="w-full overflow-hidden rounded-lg shadow-xs"> 1057 <div class="w-full overflow-hidden rounded-lg shadow-xs">
1058 <div class="w-full overflow-x-auto"> 1058 <div class="w-full overflow-x-auto">
1059 <table class="w-full whitespace-no-wrap"> 1059 <table class="w-full whitespace-no-wrap">
1060 <thead> 1060 <thead>
1061 <tr 1061 <tr
1062 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800" 1062 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800"
1063 > 1063 >
1064 <th class="px-4 py-3">Client</th> 1064 <th class="px-4 py-3">Client</th>
1065 <th class="px-4 py-3">Amount</th> 1065 <th class="px-4 py-3">Amount</th>
1066 <th class="px-4 py-3">Status</th> 1066 <th class="px-4 py-3">Status</th>
1067 <th class="px-4 py-3">Date</th> 1067 <th class="px-4 py-3">Date</th>
1068 </tr> 1068 </tr>
1069 </thead> 1069 </thead>
1070 <tbody 1070 <tbody
1071 class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800" 1071 class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"
1072 > 1072 >
1073 <tr class="text-gray-700 dark:text-gray-400"> 1073 <tr class="text-gray-700 dark:text-gray-400">
1074 <td class="px-4 py-3"> 1074 <td class="px-4 py-3">
1075 <div class="flex items-center text-sm"> 1075 <div class="flex items-center text-sm">
1076 1076
1077 <div 1077 <div
1078 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1078 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1079 > 1079 >
1080 <img 1080 <img
1081 class="object-cover w-full h-full rounded-full" 1081 class="object-cover w-full h-full rounded-full"
1082 src="https://images.unsplash.com/flagged/photo-1570612861542-284f4c12e75f?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&ixid=eyJhcHBfaWQiOjE3Nzg0fQ" 1082 src="https://images.unsplash.com/flagged/photo-1570612861542-284f4c12e75f?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&ixid=eyJhcHBfaWQiOjE3Nzg0fQ"
1083 alt="" 1083 alt=""
1084 loading="lazy" 1084 loading="lazy"
1085 /> 1085 />
1086 <div 1086 <div
1087 class="absolute inset-0 rounded-full shadow-inner" 1087 class="absolute inset-0 rounded-full shadow-inner"
1088 aria-hidden="true" 1088 aria-hidden="true"
1089 ></div> 1089 ></div>
1090 </div> 1090 </div>
1091 <div> 1091 <div>
1092 <p class="font-semibold">Hans Burger</p> 1092 <p class="font-semibold">Hans Burger</p>
1093 <p class="text-xs text-gray-600 dark:text-gray-400"> 1093 <p class="text-xs text-gray-600 dark:text-gray-400">
1094 10x Developer 1094 10x Developer
1095 </p> 1095 </p>
1096 </div> 1096 </div>
1097 </div> 1097 </div>
1098 </td> 1098 </td>
1099 <td class="px-4 py-3 text-sm"> 1099 <td class="px-4 py-3 text-sm">
1100 $ 863.45 1100 $ 863.45
1101 </td> 1101 </td>
1102 <td class="px-4 py-3 text-xs"> 1102 <td class="px-4 py-3 text-xs">
1103 <span 1103 <span
1104 class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100" 1104 class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100"
1105 > 1105 >
1106 Approved 1106 Approved
1107 </span> 1107 </span>
1108 </td> 1108 </td>
1109 <td class="px-4 py-3 text-sm"> 1109 <td class="px-4 py-3 text-sm">
1110 6/10/2020 1110 6/10/2020
1111 </td> 1111 </td>
1112 </tr> 1112 </tr>
1113 1113
1114 <tr class="text-gray-700 dark:text-gray-400"> 1114 <tr class="text-gray-700 dark:text-gray-400">
1115 <td class="px-4 py-3"> 1115 <td class="px-4 py-3">
1116 <div class="flex items-center text-sm"> 1116 <div class="flex items-center text-sm">
1117 1117
1118 <div 1118 <div
1119 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1119 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1120 > 1120 >
1121 <img 1121 <img
1122 class="object-cover w-full h-full rounded-full" 1122 class="object-cover w-full h-full rounded-full"
1123 src="https://images.unsplash.com/photo-1494790108377-be9c29b29330?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&facepad=3&fit=facearea&s=707b9c33066bf8808c934c8ab394dff6" 1123 src="https://images.unsplash.com/photo-1494790108377-be9c29b29330?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&facepad=3&fit=facearea&s=707b9c33066bf8808c934c8ab394dff6"
1124 alt="" 1124 alt=""
1125 loading="lazy" 1125 loading="lazy"
1126 /> 1126 />
1127 <div 1127 <div
1128 class="absolute inset-0 rounded-full shadow-inner" 1128 class="absolute inset-0 rounded-full shadow-inner"
1129 aria-hidden="true" 1129 aria-hidden="true"
1130 ></div> 1130 ></div>
1131 </div> 1131 </div>
1132 <div> 1132 <div>
1133 <p class="font-semibold">Jolina Angelie</p> 1133 <p class="font-semibold">Jolina Angelie</p>
1134 <p class="text-xs text-gray-600 dark:text-gray-400"> 1134 <p class="text-xs text-gray-600 dark:text-gray-400">
1135 Unemployed 1135 Unemployed
1136 </p> 1136 </p>
1137 </div> 1137 </div>
1138 </div> 1138 </div>
1139 </td> 1139 </td>
1140 <td class="px-4 py-3 text-sm"> 1140 <td class="px-4 py-3 text-sm">
1141 $ 369.95 1141 $ 369.95
1142 </td> 1142 </td>
1143 <td class="px-4 py-3 text-xs"> 1143 <td class="px-4 py-3 text-xs">
1144 <span 1144 <span
1145 class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600" 1145 class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"
1146 > 1146 >
1147 Pending 1147 Pending
1148 </span> 1148 </span>
1149 </td> 1149 </td>
1150 <td class="px-4 py-3 text-sm"> 1150 <td class="px-4 py-3 text-sm">
1151 6/10/2020 1151 6/10/2020
1152 </td> 1152 </td>
1153 </tr> 1153 </tr>
1154 1154
1155 <tr class="text-gray-700 dark:text-gray-400"> 1155 <tr class="text-gray-700 dark:text-gray-400">
1156 <td class="px-4 py-3"> 1156 <td class="px-4 py-3">
1157 <div class="flex items-center text-sm"> 1157 <div class="flex items-center text-sm">
1158 1158
1159 <div 1159 <div
1160 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1160 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1161 > 1161 >
1162 <img 1162 <img
1163 class="object-cover w-full h-full rounded-full" 1163 class="object-cover w-full h-full rounded-full"
1164 src="https://images.unsplash.com/photo-1551069613-1904dbdcda11?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&ixid=eyJhcHBfaWQiOjE3Nzg0fQ" 1164 src="https://images.unsplash.com/photo-1551069613-1904dbdcda11?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&ixid=eyJhcHBfaWQiOjE3Nzg0fQ"
1165 alt="" 1165 alt=""
1166 loading="lazy" 1166 loading="lazy"
1167 /> 1167 />
1168 <div 1168 <div
1169 class="absolute inset-0 rounded-full shadow-inner" 1169 class="absolute inset-0 rounded-full shadow-inner"
1170 aria-hidden="true" 1170 aria-hidden="true"
1171 ></div> 1171 ></div>
1172 </div> 1172 </div>
1173 <div> 1173 <div>
1174 <p class="font-semibold">Sarah Curry</p> 1174 <p class="font-semibold">Sarah Curry</p>
1175 <p class="text-xs text-gray-600 dark:text-gray-400"> 1175 <p class="text-xs text-gray-600 dark:text-gray-400">
1176 Designer 1176 Designer
1177 </p> 1177 </p>
1178 </div> 1178 </div>
1179 </div> 1179 </div>
1180 </td> 1180 </td>
1181 <td class="px-4 py-3 text-sm"> 1181 <td class="px-4 py-3 text-sm">
1182 $ 86.00 1182 $ 86.00
1183 </td> 1183 </td>
1184 <td class="px-4 py-3 text-xs"> 1184 <td class="px-4 py-3 text-xs">
1185 <span 1185 <span
1186 class="px-2 py-1 font-semibold leading-tight text-red-700 bg-red-100 rounded-full dark:text-red-100 dark:bg-red-700" 1186 class="px-2 py-1 font-semibold leading-tight text-red-700 bg-red-100 rounded-full dark:text-red-100 dark:bg-red-700"
1187 > 1187 >
1188 Denied 1188 Denied
1189 </span> 1189 </span>
1190 </td> 1190 </td>
1191 <td class="px-4 py-3 text-sm"> 1191 <td class="px-4 py-3 text-sm">
1192 6/10/2020 1192 6/10/2020
1193 </td> 1193 </td>
1194 </tr> 1194 </tr>
1195 1195
1196 <tr class="text-gray-700 dark:text-gray-400"> 1196 <tr class="text-gray-700 dark:text-gray-400">
1197 <td class="px-4 py-3"> 1197 <td class="px-4 py-3">
1198 <div class="flex items-center text-sm"> 1198 <div class="flex items-center text-sm">
1199 1199
1200 <div 1200 <div
1201 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1201 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1202 > 1202 >
1203 <img 1203 <img
1204 class="object-cover w-full h-full rounded-full" 1204 class="object-cover w-full h-full rounded-full"
1205 src="https://images.unsplash.com/photo-1551006917-3b4c078c47c9?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&ixid=eyJhcHBfaWQiOjE3Nzg0fQ" 1205 src="https://images.unsplash.com/photo-1551006917-3b4c078c47c9?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&ixid=eyJhcHBfaWQiOjE3Nzg0fQ"
1206 alt="" 1206 alt=""
1207 loading="lazy" 1207 loading="lazy"
1208 /> 1208 />
1209 <div 1209 <div
1210 class="absolute inset-0 rounded-full shadow-inner" 1210 class="absolute inset-0 rounded-full shadow-inner"
1211 aria-hidden="true" 1211 aria-hidden="true"
1212 ></div> 1212 ></div>
1213 </div> 1213 </div>
1214 <div> 1214 <div>
1215 <p class="font-semibold">Rulia Joberts</p> 1215 <p class="font-semibold">Rulia Joberts</p>
1216 <p class="text-xs text-gray-600 dark:text-gray-400"> 1216 <p class="text-xs text-gray-600 dark:text-gray-400">
1217 Actress 1217 Actress
1218 </p> 1218 </p>
1219 </div> 1219 </div>
1220 </div> 1220 </div>
1221 </td> 1221 </td>
1222 <td class="px-4 py-3 text-sm"> 1222 <td class="px-4 py-3 text-sm">
1223 $ 1276.45 1223 $ 1276.45
1224 </td> 1224 </td>
1225 <td class="px-4 py-3 text-xs"> 1225 <td class="px-4 py-3 text-xs">
1226 <span 1226 <span
1227 class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100" 1227 class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100"
1228 > 1228 >
1229 Approved 1229 Approved
1230 </span> 1230 </span>
1231 </td> 1231 </td>
1232 <td class="px-4 py-3 text-sm"> 1232 <td class="px-4 py-3 text-sm">
1233 6/10/2020 1233 6/10/2020
1234 </td> 1234 </td>
1235 </tr> 1235 </tr>
1236 1236
1237 <tr class="text-gray-700 dark:text-gray-400"> 1237 <tr class="text-gray-700 dark:text-gray-400">
1238 <td class="px-4 py-3"> 1238 <td class="px-4 py-3">
1239 <div class="flex items-center text-sm"> 1239 <div class="flex items-center text-sm">
1240 1240
1241 <div 1241 <div
1242 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1242 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1243 > 1243 >
1244 <img 1244 <img
1245 class="object-cover w-full h-full rounded-full" 1245 class="object-cover w-full h-full rounded-full"
1246 src="https://images.unsplash.com/photo-1546456073-6712f79251bb?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&ixid=eyJhcHBfaWQiOjE3Nzg0fQ" 1246 src="https://images.unsplash.com/photo-1546456073-6712f79251bb?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&ixid=eyJhcHBfaWQiOjE3Nzg0fQ"
1247 alt="" 1247 alt=""
1248 loading="lazy" 1248 loading="lazy"
1249 /> 1249 />
1250 <div 1250 <div
1251 class="absolute inset-0 rounded-full shadow-inner" 1251 class="absolute inset-0 rounded-full shadow-inner"
1252 aria-hidden="true" 1252 aria-hidden="true"
1253 ></div> 1253 ></div>
1254 </div> 1254 </div>
1255 <div> 1255 <div>
1256 <p class="font-semibold">Wenzel Dashington</p> 1256 <p class="font-semibold">Wenzel Dashington</p>
1257 <p class="text-xs text-gray-600 dark:text-gray-400"> 1257 <p class="text-xs text-gray-600 dark:text-gray-400">
1258 Actor 1258 Actor
1259 </p> 1259 </p>
1260 </div> 1260 </div>
1261 </div> 1261 </div>
1262 </td> 1262 </td>
1263 <td class="px-4 py-3 text-sm"> 1263 <td class="px-4 py-3 text-sm">
1264 $ 863.45 1264 $ 863.45
1265 </td> 1265 </td>
1266 <td class="px-4 py-3 text-xs"> 1266 <td class="px-4 py-3 text-xs">
1267 <span 1267 <span
1268 class="px-2 py-1 font-semibold leading-tight text-gray-700 bg-gray-100 rounded-full dark:text-gray-100 dark:bg-gray-700" 1268 class="px-2 py-1 font-semibold leading-tight text-gray-700 bg-gray-100 rounded-full dark:text-gray-100 dark:bg-gray-700"
1269 > 1269 >
1270 Expired 1270 Expired
1271 </span> 1271 </span>
1272 </td> 1272 </td>
1273 <td class="px-4 py-3 text-sm"> 1273 <td class="px-4 py-3 text-sm">
1274 6/10/2020 1274 6/10/2020
1275 </td> 1275 </td>
1276 </tr> 1276 </tr>
1277 1277
1278 <tr class="text-gray-700 dark:text-gray-400"> 1278 <tr class="text-gray-700 dark:text-gray-400">
1279 <td class="px-4 py-3"> 1279 <td class="px-4 py-3">
1280 <div class="flex items-center text-sm"> 1280 <div class="flex items-center text-sm">
1281 1281
1282 <div 1282 <div
1283 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1283 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1284 > 1284 >
1285 <img 1285 <img
1286 class="object-cover w-full h-full rounded-full" 1286 class="object-cover w-full h-full rounded-full"
1287 src="https://images.unsplash.com/photo-1502720705749-871143f0e671?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&s=b8377ca9f985d80264279f277f3a67f5" 1287 src="https://images.unsplash.com/photo-1502720705749-871143f0e671?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&s=b8377ca9f985d80264279f277f3a67f5"
1288 alt="" 1288 alt=""
1289 loading="lazy" 1289 loading="lazy"
1290 /> 1290 />
1291 <div 1291 <div
1292 class="absolute inset-0 rounded-full shadow-inner" 1292 class="absolute inset-0 rounded-full shadow-inner"
1293 aria-hidden="true" 1293 aria-hidden="true"
1294 ></div> 1294 ></div>
1295 </div> 1295 </div>
1296 <div> 1296 <div>
1297 <p class="font-semibold">Dave Li</p> 1297 <p class="font-semibold">Dave Li</p>
1298 <p class="text-xs text-gray-600 dark:text-gray-400"> 1298 <p class="text-xs text-gray-600 dark:text-gray-400">
1299 Influencer 1299 Influencer
1300 </p> 1300 </p>
1301 </div> 1301 </div>
1302 </div> 1302 </div>
1303 </td> 1303 </td>
1304 <td class="px-4 py-3 text-sm"> 1304 <td class="px-4 py-3 text-sm">
1305 $ 863.45 1305 $ 863.45
1306 </td> 1306 </td>
1307 <td class="px-4 py-3 text-xs"> 1307 <td class="px-4 py-3 text-xs">
1308 <span 1308 <span
1309 class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100" 1309 class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100"
1310 > 1310 >
1311 Approved 1311 Approved
1312 </span> 1312 </span>
1313 </td> 1313 </td>
1314 <td class="px-4 py-3 text-sm"> 1314 <td class="px-4 py-3 text-sm">
1315 6/10/2020 1315 6/10/2020
1316 </td> 1316 </td>
1317 </tr> 1317 </tr>
1318 1318
1319 <tr class="text-gray-700 dark:text-gray-400"> 1319 <tr class="text-gray-700 dark:text-gray-400">
1320 <td class="px-4 py-3"> 1320 <td class="px-4 py-3">
1321 <div class="flex items-center text-sm"> 1321 <div class="flex items-center text-sm">
1322 1322
1323 <div 1323 <div
1324 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1324 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1325 > 1325 >
1326 <img 1326 <img
1327 class="object-cover w-full h-full rounded-full" 1327 class="object-cover w-full h-full rounded-full"
1328 src="https://images.unsplash.com/photo-1531746020798-e6953c6e8e04?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&ixid=eyJhcHBfaWQiOjE3Nzg0fQ" 1328 src="https://images.unsplash.com/photo-1531746020798-e6953c6e8e04?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&ixid=eyJhcHBfaWQiOjE3Nzg0fQ"
1329 alt="" 1329 alt=""
1330 loading="lazy" 1330 loading="lazy"
1331 /> 1331 />
1332 <div 1332 <div
1333 class="absolute inset-0 rounded-full shadow-inner" 1333 class="absolute inset-0 rounded-full shadow-inner"
1334 aria-hidden="true" 1334 aria-hidden="true"
1335 ></div> 1335 ></div>
1336 </div> 1336 </div>
1337 <div> 1337 <div>
1338 <p class="font-semibold">Maria Ramovic</p> 1338 <p class="font-semibold">Maria Ramovic</p>
1339 <p class="text-xs text-gray-600 dark:text-gray-400"> 1339 <p class="text-xs text-gray-600 dark:text-gray-400">
1340 Runner 1340 Runner
1341 </p> 1341 </p>
1342 </div> 1342 </div>
1343 </div> 1343 </div>
1344 </td> 1344 </td>
1345 <td class="px-4 py-3 text-sm"> 1345 <td class="px-4 py-3 text-sm">
1346 $ 863.45 1346 $ 863.45
1347 </td> 1347 </td>
1348 <td class="px-4 py-3 text-xs"> 1348 <td class="px-4 py-3 text-xs">
1349 <span 1349 <span
1350 class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100" 1350 class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100"
1351 > 1351 >
1352 Approved 1352 Approved
1353 </span> 1353 </span>
1354 </td> 1354 </td>
1355 <td class="px-4 py-3 text-sm"> 1355 <td class="px-4 py-3 text-sm">
1356 6/10/2020 1356 6/10/2020
1357 </td> 1357 </td>
1358 </tr> 1358 </tr>
1359 1359
1360 <tr class="text-gray-700 dark:text-gray-400"> 1360 <tr class="text-gray-700 dark:text-gray-400">
1361 <td class="px-4 py-3"> 1361 <td class="px-4 py-3">
1362 <div class="flex items-center text-sm"> 1362 <div class="flex items-center text-sm">
1363 1363
1364 <div 1364 <div
1365 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1365 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1366 > 1366 >
1367 <img 1367 <img
1368 class="object-cover w-full h-full rounded-full" 1368 class="object-cover w-full h-full rounded-full"
1369 src="https://images.unsplash.com/photo-1566411520896-01e7ca4726af?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&ixid=eyJhcHBfaWQiOjE3Nzg0fQ" 1369 src="https://images.unsplash.com/photo-1566411520896-01e7ca4726af?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&ixid=eyJhcHBfaWQiOjE3Nzg0fQ"
1370 alt="" 1370 alt=""
1371 loading="lazy" 1371 loading="lazy"
1372 /> 1372 />
1373 <div 1373 <div
1374 class="absolute inset-0 rounded-full shadow-inner" 1374 class="absolute inset-0 rounded-full shadow-inner"
1375 aria-hidden="true" 1375 aria-hidden="true"
1376 ></div> 1376 ></div>
1377 </div> 1377 </div>
1378 <div> 1378 <div>
1379 <p class="font-semibold">Hitney Wouston</p> 1379 <p class="font-semibold">Hitney Wouston</p>
1380 <p class="text-xs text-gray-600 dark:text-gray-400"> 1380 <p class="text-xs text-gray-600 dark:text-gray-400">
1381 Singer 1381 Singer
1382 </p> 1382 </p>
1383 </div> 1383 </div>
1384 </div> 1384 </div>
1385 </td> 1385 </td>
1386 <td class="px-4 py-3 text-sm"> 1386 <td class="px-4 py-3 text-sm">
1387 $ 863.45 1387 $ 863.45
1388 </td> 1388 </td>
1389 <td class="px-4 py-3 text-xs"> 1389 <td class="px-4 py-3 text-xs">
1390 <span 1390 <span
1391 class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100" 1391 class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100"
1392 > 1392 >
1393 Approved 1393 Approved
1394 </span> 1394 </span>
1395 </td> 1395 </td>
1396 <td class="px-4 py-3 text-sm"> 1396 <td class="px-4 py-3 text-sm">
1397 6/10/2020 1397 6/10/2020
1398 </td> 1398 </td>
1399 </tr> 1399 </tr>
1400 1400
1401 <tr class="text-gray-700 dark:text-gray-400"> 1401 <tr class="text-gray-700 dark:text-gray-400">
1402 <td class="px-4 py-3"> 1402 <td class="px-4 py-3">
1403 <div class="flex items-center text-sm"> 1403 <div class="flex items-center text-sm">
1404 1404
1405 <div 1405 <div
1406 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1406 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1407 > 1407 >
1408 <img 1408 <img
1409 class="object-cover w-full h-full rounded-full" 1409 class="object-cover w-full h-full rounded-full"
1410 src="https://images.unsplash.com/flagged/photo-1570612861542-284f4c12e75f?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&ixid=eyJhcHBfaWQiOjE3Nzg0fQ" 1410 src="https://images.unsplash.com/flagged/photo-1570612861542-284f4c12e75f?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&ixid=eyJhcHBfaWQiOjE3Nzg0fQ"
1411 alt="" 1411 alt=""
1412 loading="lazy" 1412 loading="lazy"
1413 /> 1413 />
1414 <div 1414 <div
1415 class="absolute inset-0 rounded-full shadow-inner" 1415 class="absolute inset-0 rounded-full shadow-inner"
1416 aria-hidden="true" 1416 aria-hidden="true"
1417 ></div> 1417 ></div>
1418 </div> 1418 </div>
1419 <div> 1419 <div>
1420 <p class="font-semibold">Hans Burger</p> 1420 <p class="font-semibold">Hans Burger</p>
1421 <p class="text-xs text-gray-600 dark:text-gray-400"> 1421 <p class="text-xs text-gray-600 dark:text-gray-400">
1422 10x Developer 1422 10x Developer
1423 </p> 1423 </p>
1424 </div> 1424 </div>
1425 </div> 1425 </div>
1426 </td> 1426 </td>
1427 <td class="px-4 py-3 text-sm"> 1427 <td class="px-4 py-3 text-sm">
1428 $ 863.45 1428 $ 863.45
1429 </td> 1429 </td>
1430 <td class="px-4 py-3 text-xs"> 1430 <td class="px-4 py-3 text-xs">
1431 <span 1431 <span
1432 class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100" 1432 class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100"
1433 > 1433 >
1434 Approved 1434 Approved
1435 </span> 1435 </span>
1436 </td> 1436 </td>
1437 <td class="px-4 py-3 text-sm"> 1437 <td class="px-4 py-3 text-sm">
1438 6/10/2020 1438 6/10/2020
1439 </td> 1439 </td>
1440 </tr> 1440 </tr>
1441 </tbody> 1441 </tbody>
1442 </table> 1442 </table>
1443 </div> 1443 </div>
1444 <div 1444 <div
1445 class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800" 1445 class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800"
1446 > 1446 >
1447 <span class="flex items-center col-span-3"> 1447 <span class="flex items-center col-span-3">
1448 Showing 21-30 of 100 1448 Showing 21-30 of 100
1449 </span> 1449 </span>
1450 <span class="col-span-2"></span> 1450 <span class="col-span-2"></span>
1451 1451
1452 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end"> 1452 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end">
1453 <nav aria-label="Table navigation"> 1453 <nav aria-label="Table navigation">
1454 <ul class="inline-flex items-center"> 1454 <ul class="inline-flex items-center">
1455 <li> 1455 <li>
1456 <button 1456 <button
1457 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple" 1457 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple"
1458 aria-label="Previous" 1458 aria-label="Previous"
1459 > 1459 >
1460 <svg 1460 <svg
1461 aria-hidden="true" 1461 aria-hidden="true"
1462 class="w-4 h-4 fill-current" 1462 class="w-4 h-4 fill-current"
1463 viewBox="0 0 20 20" 1463 viewBox="0 0 20 20"
1464 > 1464 >
1465 <path 1465 <path
1466 d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z" 1466 d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z"
1467 clip-rule="evenodd" 1467 clip-rule="evenodd"
1468 fill-rule="evenodd" 1468 fill-rule="evenodd"
1469 ></path> 1469 ></path>
1470 </svg> 1470 </svg>
1471 </button> 1471 </button>
1472 </li> 1472 </li>
1473 <li> 1473 <li>
1474 <button 1474 <button
1475 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1475 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1476 > 1476 >
1477 1 1477 1
1478 </button> 1478 </button>
1479 </li> 1479 </li>
1480 <li> 1480 <li>
1481 <button 1481 <button
1482 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1482 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1483 > 1483 >
1484 2 1484 2
1485 </button> 1485 </button>
1486 </li> 1486 </li>
1487 <li> 1487 <li>
1488 <button 1488 <button
1489 class="px-3 py-1 text-white transition-colors duration-150 bg-purple-600 border border-r-0 border-purple-600 rounded-md focus:outline-none focus:shadow-outline-purple" 1489 class="px-3 py-1 text-white transition-colors duration-150 bg-purple-600 border border-r-0 border-purple-600 rounded-md focus:outline-none focus:shadow-outline-purple"
1490 > 1490 >
1491 3 1491 3
1492 </button> 1492 </button>
1493 </li> 1493 </li>
1494 <li> 1494 <li>
1495 <button 1495 <button
1496 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1496 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1497 > 1497 >
1498 4 1498 4
1499 </button> 1499 </button>
1500 </li> 1500 </li>
1501 <li> 1501 <li>
1502 <span class="px-3 py-1">...</span> 1502 <span class="px-3 py-1">...</span>
1503 </li> 1503 </li>
1504 <li> 1504 <li>
1505 <button 1505 <button
1506 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1506 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1507 > 1507 >
1508 8 1508 8
1509 </button> 1509 </button>
1510 </li> 1510 </li>
1511 <li> 1511 <li>
1512 <button 1512 <button
1513 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1513 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1514 > 1514 >
1515 9 1515 9
1516 </button> 1516 </button>
1517 </li> 1517 </li>
1518 <li> 1518 <li>
1519 <button 1519 <button
1520 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple" 1520 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple"
1521 aria-label="Next" 1521 aria-label="Next"
1522 > 1522 >
1523 <svg 1523 <svg
1524 class="w-4 h-4 fill-current" 1524 class="w-4 h-4 fill-current"
1525 aria-hidden="true" 1525 aria-hidden="true"
1526 viewBox="0 0 20 20" 1526 viewBox="0 0 20 20"
1527 > 1527 >
1528 <path 1528 <path
1529 d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" 1529 d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
1530 clip-rule="evenodd" 1530 clip-rule="evenodd"
1531 fill-rule="evenodd" 1531 fill-rule="evenodd"
1532 ></path> 1532 ></path>
1533 </svg> 1533 </svg>
1534 </button> 1534 </button>
1535 </li> 1535 </li>
1536 </ul> 1536 </ul>
1537 </nav> 1537 </nav>
1538 </span> 1538 </span>
1539 </div> 1539 </div>
1540 </div> 1540 </div>
1541 --> 1541 -->
1542 <!-- Charts --> 1542 <!-- Charts -->
1543 <!-- 1543 <!--
1544 <h2 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200"> 1544 <h2 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200">
1545 Графики 1545 Графики
1546 </h2> 1546 </h2>
1547 <div class="grid gap-6 mb-8 md:grid-cols-2"> 1547 <div class="grid gap-6 mb-8 md:grid-cols-2">
1548 <div 1548 <div
1549 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1549 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1550 > 1550 >
1551 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300"> 1551 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300">
1552 Revenue 1552 Revenue
1553 </h4> 1553 </h4>
1554 <canvas id="pie"></canvas> 1554 <canvas id="pie"></canvas>
1555 <div 1555 <div
1556 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400" 1556 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400"
1557 > 1557 >
1558 1558
1559 <div class="flex items-center"> 1559 <div class="flex items-center">
1560 <span 1560 <span
1561 class="inline-block w-3 h-3 mr-1 bg-blue-500 rounded-full" 1561 class="inline-block w-3 h-3 mr-1 bg-blue-500 rounded-full"
1562 ></span> 1562 ></span>
1563 <span>Shirts</span> 1563 <span>Shirts</span>
1564 </div> 1564 </div>
1565 <div class="flex items-center"> 1565 <div class="flex items-center">
1566 <span 1566 <span
1567 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full" 1567 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full"
1568 ></span> 1568 ></span>
1569 <span>Shoes</span> 1569 <span>Shoes</span>
1570 </div> 1570 </div>
1571 <div class="flex items-center"> 1571 <div class="flex items-center">
1572 <span 1572 <span
1573 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full" 1573 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full"
1574 ></span> 1574 ></span>
1575 <span>Bags</span> 1575 <span>Bags</span>
1576 </div> 1576 </div>
1577 </div> 1577 </div>
1578 </div> 1578 </div>
1579 <div 1579 <div
1580 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1580 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1581 > 1581 >
1582 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300"> 1582 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300">
1583 Traffic 1583 Traffic
1584 </h4> 1584 </h4>
1585 <canvas id="line"></canvas> 1585 <canvas id="line"></canvas>
1586 <div 1586 <div
1587 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400" 1587 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400"
1588 > 1588 >
1589 1589
1590 <div class="flex items-center"> 1590 <div class="flex items-center">
1591 <span 1591 <span
1592 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full" 1592 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full"
1593 ></span> 1593 ></span>
1594 <span>Organic</span> 1594 <span>Organic</span>
1595 </div> 1595 </div>
1596 <div class="flex items-center"> 1596 <div class="flex items-center">
1597 <span 1597 <span
1598 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full" 1598 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full"
1599 ></span> 1599 ></span>
1600 <span>Paid</span> 1600 <span>Paid</span>
1601 </div> 1601 </div>
1602 </div> 1602 </div>
1603 </div> 1603 </div>
1604 </div> 1604 </div>
1605 --> 1605 -->
1606 </div> 1606 </div>
1607 </main> 1607 </main>
1608 </div> 1608 </div>
1609 </div> 1609 </div>
1610 </body> 1610 </body>
1611 @yield('script') 1611 @yield('script')
1612 </html> 1612 </html>
1613 1613
1 <?php 1 <?php
2 2
3 use App\Http\Controllers\Admin\AdminController; 3 use App\Http\Controllers\Admin\AdminController;
4 use App\Http\Controllers\Admin\CategoryController;
4 use App\Http\Controllers\Admin\EmployersController; 5 use App\Http\Controllers\Admin\EmployersController;
5 use App\Http\Controllers\Admin\UsersController; 6 use App\Http\Controllers\Admin\UsersController;
6 use App\Http\Controllers\Admin\WorkersController; 7 use App\Http\Controllers\Admin\WorkersController;
7 use App\Http\Controllers\Auth\LoginController; 8 use App\Http\Controllers\Auth\LoginController;
8 use App\Http\Controllers\Auth\RegisterController; 9 use App\Http\Controllers\Auth\RegisterController;
9 use App\Models\User; 10 use App\Models\User;
10 use App\Http\Controllers\MainController; 11 use App\Http\Controllers\MainController;
11 use App\Http\Controllers\HomeController; 12 use App\Http\Controllers\HomeController;
12 use Illuminate\Support\Facades\Route; 13 use Illuminate\Support\Facades\Route;
13 14
14 /* 15 /*
15 |-------------------------------------------------------------------------- 16 |--------------------------------------------------------------------------
16 | Web Routes 17 | Web Routes
17 |-------------------------------------------------------------------------- 18 |--------------------------------------------------------------------------
18 | 19 |
19 | Here is where you can register web routes for your application. These 20 | Here is where you can register web routes for your application. These
20 | routes are loaded by the RouteServiceProvider within a group which 21 | routes are loaded by the RouteServiceProvider within a group which
21 | contains the "web" middleware group. Now create something great! 22 | contains the "web" middleware group. Now create something great!
22 | 23 |
23 */ 24 */
24 /* 25 /*
25 Route::get('/', function () { 26 Route::get('/', function () {
26 return view('welcome'); 27 return view('welcome');
27 })->name('index'); 28 })->name('index');
28 */ 29 */
29 Route::get('/', [MainController::class, 'index'])->name('index'); 30 Route::get('/', [MainController::class, 'index'])->name('index');
30 31
31 //Роуты авторизации, регистрации, восстановления, аутентификации 32 //Роуты авторизации, регистрации, восстановления, аутентификации
32 Auth::routes(['verify' => true]); 33 Auth::routes(['verify' => true]);
33 //Личный кабинет пользователя 34 //Личный кабинет пользователя
34 Route::get('/home', [HomeController::class, 'index'])->name('home'); 35 Route::get('/home', [HomeController::class, 'index'])->name('home');
35 36
36 /* 37 /*
37 Route::post('resend/verification-email', function (\Illuminate\Http\Request $request) { 38 Route::post('resend/verification-email', function (\Illuminate\Http\Request $request) {
38 $user = User::where('email',$request->input('email'))->first(); 39 $user = User::where('email',$request->input('email'))->first();
39 40
40 $user->sendEmailVerificationNotification(); 41 $user->sendEmailVerificationNotification();
41 42
42 return 'your response'; 43 return 'your response';
43 })->middleware('throttle:6,1')->name('verification.resend'); 44 })->middleware('throttle:6,1')->name('verification.resend');
44 */ 45 */
45 46
46 // Авторизация, регистрация в админку 47 // Авторизация, регистрация в админку
47 Route::group([ 48 Route::group([
48 'as' => 'admin.', // имя маршрута, например auth.index 49 'as' => 'admin.', // имя маршрута, например auth.index
49 'prefix' => 'admin', // префикс маршрута, например auth/index 50 'prefix' => 'admin', // префикс маршрута, например auth/index
50 'middleware' => ['guest'], 51 'middleware' => ['guest'],
51 ], function () { 52 ], function () {
52 // Форма регистрации 53 // Форма регистрации
53 Route::get('register', [AdminController::class, 'register'])->name('register'); 54 Route::get('register', [AdminController::class, 'register'])->name('register');
54 55
55 // Создание пользователя 56 // Создание пользователя
56 Route::post('register', [AdminController::class, 'create'])->name('create'); 57 Route::post('register', [AdminController::class, 'create'])->name('create');
57 //Форма входа 58 //Форма входа
58 Route::get('login', [AdminController::class, 'login'])->name('login'); 59 Route::get('login', [AdminController::class, 'login'])->name('login');
59 60
60 // аутентификация 61 // аутентификация
61 Route::post('login', [AdminController::class, 'autenticate'])->name('auth'); 62 Route::post('login', [AdminController::class, 'autenticate'])->name('auth');
62 63
63 }); 64 });
64 65
65 // Личный кабинет админки 66 // Личный кабинет админки
66 Route::group([ 67 Route::group([
67 'as' => 'admin.', // имя маршрута, например auth.index 68 'as' => 'admin.', // имя маршрута, например auth.index
68 'prefix' => 'admin', // префикс маршрута, например auth/index 69 'prefix' => 'admin', // префикс маршрута, например auth/index
69 'middleware' => ['auth'], ['admin'], 70 'middleware' => ['auth'], ['admin'],
70 ], function() { 71 ], function() {
71 72
72 // выход 73 // выход
73 Route::get('logout', [AdminController::class, 'logout'])->name('logout'); 74 Route::get('logout', [AdminController::class, 'logout'])->name('logout');
74 75
75 // кабинет главная страница 76 // кабинет главная страница
76 Route::get('cabinet', [AdminController::class, 'index'])->name('index'); 77 Route::get('cabinet', [AdminController::class, 'index'])->name('index');
77 78
78 // кабинет профиль админа - форма 79 // кабинет профиль админа - форма
79 Route::get('profile', [AdminController::class, 'profile'])->name('profile'); 80 Route::get('profile', [AdminController::class, 'profile'])->name('profile');
80 // кабинет профиль админа - сохранение формы 81 // кабинет профиль админа - сохранение формы
81 Route::post('profile', [AdminController::class, 'store_profile'])->name('store_profile'); 82 Route::post('profile', [AdminController::class, 'store_profile'])->name('store_profile');
82 83
83 // кабинет профиль - форма пароли 84 // кабинет профиль - форма пароли
84 Route::get('password', [AdminController::class, 'profile_password'])->name('password'); 85 Route::get('password', [AdminController::class, 'profile_password'])->name('password');
85 // кабинет профиль - сохранение формы пароля 86 // кабинет профиль - сохранение формы пароля
86 Route::post('password', [AdminController::class, 'profile_password_new'])->name('password'); 87 Route::post('password', [AdminController::class, 'profile_password_new'])->name('password');
87 88
88 89
89 // кабинет профиль пользователя - форма 90 // кабинет профиль пользователя - форма
90 Route::get('user-profile/{user}', [AdminController::class, 'profile_user'])->name('user-profile'); 91 Route::get('user-profile/{user}', [AdminController::class, 'profile_user'])->name('user-profile');
91 // кабинет профиль пользователя - сохранение формы 92 // кабинет профиль пользователя - сохранение формы
92 Route::post('user-profile/{user}', [AdminController::class, 'store_profile_user'])->name('user-store_profile'); 93 Route::post('user-profile/{user}', [AdminController::class, 'store_profile_user'])->name('user-store_profile');
93 94
94 // кабинет профиль работодатель - форма 95 // кабинет профиль работодатель - форма
95 Route::get('employer-profile/{employer}', [EmployersController::class, 'form_update_employer'])->name('employer-profile'); 96 Route::get('employer-profile/{employer}', [EmployersController::class, 'form_update_employer'])->name('employer-profile');
97 // кабинет профиль работодатель - сохранение формы
98 Route::post('employer-profile/{employer}', [EmployersController::class, 'update_employer'])->name('update-employer-profile');
99
96 // кабинет профиль работник - форма 100 // кабинет профиль работник - форма
97 Route::post('worker-profile/{worker}', [WorkersController::class, 'form_update_worker'])->name('worker-profile'); 101 Route::post('worker-profile/{worker}', [WorkersController::class, 'form_update_worker'])->name('worker-profile');
98 102
99 // кабинет настройки - форма 103 // кабинет настройки - форма
100 Route::get('config', [AdminController::class, 'config_form'])->name('config'); 104 Route::get('config', [AdminController::class, 'config_form'])->name('config');
101 // кабинет настройки сохранение формы 105 // кабинет настройки сохранение формы
102 Route::post('config', [AdminController::class, 'store_config'])->name('store_config'); 106 Route::post('config', [AdminController::class, 'store_config'])->name('store_config');
103 107
104 // кабинет - пользователи 108 // кабинет - пользователи
105 Route::get('users', [UsersController::class, 'index'])->name('users'); 109 Route::get('users', [UsersController::class, 'index'])->name('users');
106 110
107 // кабинет - пользователи 111 // кабинет - пользователи
108 Route::get('admin-users', [AdminController::class, 'index_admin'])->name('admin-users'); 112 Route::get('admin-users', [AdminController::class, 'index_admin'])->name('admin-users');
109 113
110 // кабинет - работодатели 114 // кабинет - работодатели
111 Route::get('employers', [EmployersController::class, 'index'])->name('employers'); 115 Route::get('employers', [EmployersController::class, 'index'])->name('employers');
112 116
113 // кабинет - соискатели 117 // кабинет - соискатели
114 Route::get('workers', [WorkersController::class, 'index'])->name('workers'); 118 Route::get('workers', [WorkersController::class, 'index'])->name('workers');
115 119
116 // кабинет - вакансии 120 // кабинет - вакансии
117 Route::get('ad-employers', [AdminController::class, 'index'])->name('ad-employers'); 121 Route::get('ad-employers', [AdminController::class, 'index'])->name('ad-employers');
118 122
119 // кабинет - категории 123 // кабинет - категории
120 Route::get('categories', [AdminController::class, 'index'])->name('categories'); 124 //Route::get('categories', [AdminController::class, 'index'])->name('categories');
125 /*
126 * CRUD-операции над настройками Компании
127 */
128 Route::resource('categories', CategoryController::class, ['except' => ['show']]);
129
121 130
122 // кабинет - должности 131 // кабинет - должности
123 Route::get('job-titles', [AdminController::class, 'index'])->name('job-titles'); 132 Route::get('job-titles', [AdminController::class, 'index'])->name('job-titles');
124 133
125 // кабинет - сообщения 134 // кабинет - сообщения
126 Route::get('messages', [AdminController::class, 'index'])->name('messages'); 135 Route::get('messages', [AdminController::class, 'index'])->name('messages');
127 136
128 // кабинет - группы пользователей 137 // кабинет - группы пользователей
129 Route::get('groups', [AdminController::class, 'index'])->name('groups'); 138 Route::get('groups', [AdminController::class, 'index'])->name('groups');
130 139
131 // кабинет - список админов 140 // кабинет - список админов
132 Route::get('group-admin', [AdminController::class, 'index'])->name('group-admin'); 141 Route::get('group-admin', [AdminController::class, 'index'])->name('group-admin');
133 }); 142 });
134 143