Commit 7c1e05248205e0e90f2fd4a703d1f8a3e5968a8a

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

Формы настройки сайта и форма профиля администратора

Showing 17 changed files with 1226 additions and 2 deletions Inline Diff

app/Http/Controllers/Admin/AdminController.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\Http\Requests\CompanyRequest;
7 use App\Models\Company;
6 use App\Models\Employer; 8 use App\Models\Employer;
7 use App\Models\User; 9 use App\Models\User;
8 use Illuminate\Http\Request; 10 use Illuminate\Http\Request;
9 use Illuminate\Support\Facades\Auth; 11 use Illuminate\Support\Facades\Auth;
10 use Illuminate\Support\Facades\Hash; 12 use Illuminate\Support\Facades\Hash;
13 use Illuminate\Support\Facades\Storage;
11 use Illuminate\Support\Facades\Validator; 14 use Illuminate\Support\Facades\Validator;
12 15
13 class AdminController extends Controller 16 class AdminController extends Controller
14 { 17 {
15 /** 18 /**
16 * Handle the incoming request. 19 * Handle the incoming request.
17 * 20 *
18 * @param \Illuminate\Http\Request $request 21 * @param \Illuminate\Http\Request $request
19 * @return \Illuminate\Http\Response 22 * @return \Illuminate\Http\Response
20 */ 23 */
21 public function __invoke(Request $request) 24 public function __invoke(Request $request)
22 { 25 {
23 // 26 //
24 } 27 }
25 28
26 public function register() { 29 public function register() {
27 return view('admin.register'); 30 return view('admin.register');
28 } 31 }
29 32
30 public function create(Request $request) { 33 public function create(Request $request) {
31 34
32 $rules = [ 35 $rules = [
33 'name' => 'required|string|max:255', 36 'name' => 'required|string|max:255',
34 'email' => 'required|string|email|max:255|unique:users', 37 'email' => 'required|string|email|max:255|unique:users',
35 'password' => 'required|string|min:8|confirmed', 38 'password' => 'required|string|min:8|confirmed',
36 ]; 39 ];
37 40
38 $messages = [ 41 $messages = [
39 'required' => 'Укажите обязательное поле «:attribute»', 42 'required' => 'Укажите обязательное поле «:attribute»',
40 'confirmed' => 'Пароли не совпадают', 43 'confirmed' => 'Пароли не совпадают',
41 'email' => 'Введите корректный email', 44 'email' => 'Введите корректный email',
42 'min' => [ 45 'min' => [
43 'string' => 'Поле «:attribute» должно быть не меньше :min символов', 46 'string' => 'Поле «:attribute» должно быть не меньше :min символов',
44 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт' 47 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт'
45 ], 48 ],
46 'max' => [ 49 'max' => [
47 'string' => 'Поле «:attribute» должно быть не больше :max символов', 50 'string' => 'Поле «:attribute» должно быть не больше :max символов',
48 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт' 51 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт'
49 ], 52 ],
50 ]; 53 ];
51 54
52 $validator = Validator::make($request->all(), $rules, $messages); 55 $validator = Validator::make($request->all(), $rules, $messages);
53 56
54 if ($validator->fails()) { 57 if ($validator->fails()) {
55 return back()->withErrors($validator)->withInput(); //->route('admin.register') 58 return back()->withErrors($validator)->withInput(); //->route('admin.register')
56 59
57 } else { 60 } else {
58 $params = $request->all(); 61 $params = $request->all();
59 62
60 User::create([ 63 User::create([
61 'name' => $request->name, 64 'name' => $request->name,
62 'email' => $request->email, 65 'email' => $request->email,
63 'password' => Hash::make($request->password), 66 'password' => Hash::make($request->password),
64 ]); 67 ]);
65 return redirect() 68 return redirect()
66 ->route('admin.login') 69 ->route('admin.login')
67 ->with('success', 'Вы успешно зарегистрировались'); 70 ->with('success', 'Вы успешно зарегистрировались');
68 } 71 }
69 } 72 }
70 73
71 public function login() { 74 public function login() {
72 return view('admin.login'); 75 return view('admin.login');
73 } 76 }
74 77
75 // Аутентификация 78 // Аутентификация
76 public function autenticate(Request $request) { 79 public function autenticate(Request $request) {
77 //$request->validate( 80 //$request->validate(
78 $rules = [ 81 $rules = [
79 'email' => 'required|string|email', 82 'email' => 'required|string|email',
80 'password' => 'required|string', 83 'password' => 'required|string',
81 ]; 84 ];
82 85
83 $messages = [ 86 $messages = [
84 'required' => 'Укажите обязательное поле «:attribute»', 87 'required' => 'Укажите обязательное поле «:attribute»',
85 'email' => 'Введите корректный email', 88 'email' => 'Введите корректный email',
86 'min' => [ 89 'min' => [
87 'string' => 'Поле «:attribute» должно быть не меньше :min символов', 90 'string' => 'Поле «:attribute» должно быть не меньше :min символов',
88 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт' 91 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт'
89 ], 92 ],
90 'max' => [ 93 'max' => [
91 'string' => 'Поле «:attribute» должно быть не больше :max символов', 94 'string' => 'Поле «:attribute» должно быть не больше :max символов',
92 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт' 95 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт'
93 ], 96 ],
94 ]; 97 ];
95 98
96 99
97 $validator = Validator::make($request->all(), $rules, $messages); 100 $validator = Validator::make($request->all(), $rules, $messages);
98 101
99 if ($validator->fails()) { 102 if ($validator->fails()) {
100 return back()->withErrors($validator)->withInput(); 103 return back()->withErrors($validator)->withInput();
101 104
102 } else { 105 } else {
103 106
104 $credentials = $request->only('email', 'password'); 107 $credentials = $request->only('email', 'password');
105 108
106 if (Auth::attempt($credentials, $request->has('remember'))) { 109 if (Auth::attempt($credentials, $request->has('remember'))) {
107 110
108 if (is_null(Auth::user()->email_verified_at)) { 111 if (is_null(Auth::user()->email_verified_at)) {
109 Auth::logout(); 112 Auth::logout();
110 return back()->withErrors('Адрес почты не подтвержден')->withInput(); 113 return back()->withErrors('Адрес почты не подтвержден')->withInput();
111 } 114 }
112 115
113 if (!Auth::user()->admin) { 116 if (!Auth::user()->admin) {
114 Auth::logout(); 117 Auth::logout();
115 return //redirect()->route('admin.login') 118 return //redirect()->route('admin.login')
116 back()->withErrors('Вы не являетесь админом!')->withInput();; 119 back()->withErrors('Вы не являетесь админом!')->withInput();;
117 120
118 } 121 }
119 122
120 return redirect() 123 return redirect()
121 ->route('admin.index') 124 ->route('admin.index')
122 ->with('success', 'Вы вошли в личный кабинет.'); 125 ->with('success', 'Вы вошли в личный кабинет.');
123 } 126 }
124 } 127 }
125 128
126 return redirect() 129 return redirect()
127 ->route('admin.login') 130 ->route('admin.login')
128 ->withErrors('Неверный логин или пароль!')->withInput(); 131 ->withErrors('Неверный логин или пароль!')->withInput();
129 132
130 } 133 }
131 134
132 public function logout() { 135 public function logout() {
133 Auth::logout(); 136 Auth::logout();
134 return redirect()->route('index') 137 return redirect()->route('index')
135 ->with('success', 'Вы вышли из личного кабинета'); 138 ->with('success', 'Вы вышли из личного кабинета');
136 } 139 }
137 140
138 public function index() { 141 public function index() {
139 $all_user = User::query()->count(); 142 $all_user = User::query()->count();
140 $all_employer = User::where('is_worker', '0')->count(); 143 $all_employer = User::where('is_worker', '0')->count();
141 $all_worker = User::where('is_worker', '1')->count(); 144 $all_worker = User::where('is_worker', '1')->count();
142 $all_admin = User::where('admin', '1')->count(); 145 $all_admin = User::where('admin', '1')->count();
143 return view('admin.index', compact('all_employer', 'all_user', 'all_worker', 'all_admin')); 146 return view('admin.index', compact('all_employer', 'all_user', 'all_worker', 'all_admin'));
144 } 147 }
145 148
146 public function index_admin(Request $request) { 149 public function index_admin(Request $request) {
147 if ($request->ajax()) { 150 if ($request->ajax()) {
148 $user = User::find($request->id); 151 $user = User::find($request->id);
149 $request->offsetUnset('id'); 152 $request->offsetUnset('id');
150 $user->update($request->all()); 153 $user->update($request->all());
151 } 154 }
152 155
153 $users = User::where('admin', '1')->paginate(15); 156 $users = User::where('admin', '1')->paginate(15);
154 157
155 if ($request->ajax()) { 158 if ($request->ajax()) {
156 return view('admin.users.index_ajax', compact('users')); 159 return view('admin.users.index_ajax', compact('users'));
157 } else { 160 } else {
158 return view('admin.users.index', compact('users')); 161 return view('admin.users.index', compact('users'));
159 } 162 }
160 } 163 }
161 164
165 public function profile() {
166 $id = Auth::user()->id;
167 $user = User::find($id);
168
169 return view('admin.profile', compact('user'));
170 }
171
172 public function store_profile(Request $request) {
173 $id = Auth::user()->id;
174 $user = User::find($id);
175
176 return redirect()->route('admin.profile');
177 }
178
179 public function config_form() {
180 $config = Company::find(1);
181 return view('admin.config', compact('config'));
182 }
183
184 public function store_config(CompanyRequest $request) {
185 $config = Company::find(1);
186
187 $params = $request->all();
188 unset($params['logo']);
189 unset($params['image']);
190
191 if ($request->has('logo')) {
192 Storage::delete($config->logo);
193 $params['logo'] = $request->file('logo')->store('config', 'public');
194 }
195
196 if ($request->has('image')) {
197 Storage::delete($config->image);
198 $params['image'] = $request->file('image')->store('config', 'public');
199 }
200
201 if (is_null($config)) {
202 Company::create($params);
203 } else {
204 $config->update($params);
205 }
206
207 return redirect()->route('admin.config');
208 }
209
162 } 210 }
163 211
app/Http/Controllers/Admin/CompanyController.php
File was created 1 <?php
2
3 namespace App\Http\Controllers\Admin;
4
5 use App\Http\Controllers\Controller;
6 use Illuminate\Http\Request;
7
8 class CompanyController extends Controller
9 {
10 //
11 }
12
app/Http/Controllers/CompanyController.php
File was created 1 <?php
2
3 namespace App\Http\Controllers;
4
5 use Illuminate\Http\Request;
6
7 class CompanyController extends Controller
8 {
9 //
10 }
11
app/Http/Requests/CompanyRequest.php
File was created 1 <?php
2
3 namespace App\Http\Requests;
4
5 use Illuminate\Foundation\Http\FormRequest;
6
7 class CompanyRequest 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:1|max:255',
28 'email' => 'required|email|min:5',
29 'logo' => [
30 'mimes:jpeg,jpg,png,ico',
31 'max:10000'
32 ],
33 'image' => [
34 'mimes:jpeg,jpg,png',
35 'max:10000'
36 ],
37 ];
38 }
39
40 public function messages() {
41 return [
42 'required' => 'Поле :attribute обязательно для ввода',
43 'min' => [
44 'string' => 'Поле «:attribute» должно быть не меньше :min символов',
45 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт'
46 ],
47 'max' => [
48 'string' => 'Поле «:attribute» должно быть не больше :max символов',
49 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт'
50 ],
51 'email' => 'Это поле должно быть формата email',
52 ];
53 }
54 }
55
app/Models/Answer.php
File was created 1 <?php
2
3 namespace App\Models;
4
5 use Illuminate\Database\Eloquent\Factories\HasFactory;
6 use Illuminate\Database\Eloquent\Model;
7
8 class Answer extends Model
9 {
10 use HasFactory;
11 }
12
app/Models/Company.php
File was created 1 <?php
2
3 namespace App\Models;
4
5 use Illuminate\Database\Eloquent\Factories\HasFactory;
6 use Illuminate\Database\Eloquent\Model;
7
8 class Company extends Model
9 {
10 use HasFactory;
11
12 protected $fillable = [
13 'name',
14 'address',
15 'fio_director',
16 'email',
17 'telephone',
18 'site',
19 'telegram',
20 'vkontact',
21 'logo',
22 'image',
23 'map',
24 'text',
25 ];
26 }
27
app/Models/Contacts.php
File was created 1 <?php
2
3 namespace App\Models;
4
5 use Illuminate\Database\Eloquent\Factories\HasFactory;
6 use Illuminate\Database\Eloquent\Model;
7
8 class Contacts extends Model
9 {
10 use HasFactory;
11 }
12
File was created 1 <?php
2
3 namespace App\Models;
4
5 use Illuminate\Database\Eloquent\Factories\HasFactory;
6 use Illuminate\Database\Eloquent\Model;
7
8 class Flot extends Model
9 {
10 use HasFactory;
11 }
12
database/migrations/2023_05_22_084553_create_contacts_table.php
File was created 1 <?php
2
3 use Illuminate\Database\Migrations\Migration;
4 use Illuminate\Database\Schema\Blueprint;
5 use Illuminate\Support\Facades\Schema;
6
7 return new class extends Migration
8 {
9 /**
10 * Run the migrations.
11 *
12 * @return void
13 */
14 public function up()
15 {
16 Schema::create('contacts', function (Blueprint $table) {
17 $table->id();
18 $table->string('name', 255)->nullable(true);
19 $table->boolean('is_email')->default(false);
20 $table->bigInteger('employer_id')->nullable(false);
21 $table->timestamps();
22 });
23 }
24
25 /**
26 * Reverse the migrations.
27 *
28 * @return void
29 */
30 public function down()
31 {
32 Schema::dropIfExists('contacts');
33 }
34 };
35
database/migrations/2023_05_22_084651_create_flots_table.php
File was created 1 <?php
2
3 use Illuminate\Database\Migrations\Migration;
4 use Illuminate\Database\Schema\Blueprint;
5 use Illuminate\Support\Facades\Schema;
6
7 return new class extends Migration
8 {
9 /**
10 * Run the migrations.
11 *
12 * @return void
13 */
14 public function up()
15 {
16 Schema::create('flots', function (Blueprint $table) {
17 $table->id();
18 $table->string('name', 255)->nullable(true);
19 $table->text('text')->nullable(true);
20 $table->string('image', 255)->nullable(true);
21 $table->bigInteger('employer_id')->nullable(false);
22 $table->timestamps();
23 });
24 }
25
26 /**
27 * Reverse the migrations.
28 *
29 * @return void
30 */
31 public function down()
32 {
33 Schema::dropIfExists('flots');
34 }
35 };
36
database/migrations/2023_05_22_084739_create_answers_table.php
File was created 1 <?php
2
3 use Illuminate\Database\Migrations\Migration;
4 use Illuminate\Database\Schema\Blueprint;
5 use Illuminate\Support\Facades\Schema;
6
7 return new class extends Migration
8 {
9 /**
10 * Run the migrations.
11 *
12 * @return void
13 */
14 public function up()
15 {
16 Schema::create('answers', function (Blueprint $table) {
17 $table->id();
18 $table->bigInteger('employer_id')->nullable(false);
19 $table->integer('plus')->default(0);
20 $table->integer('minus')->default(0);
21 $table->integer('rate')->nullable(true);
22 $table->string('title', 255)->nullable(true);
23 $table->string('text', 255)->nullable(true);
24 $table->boolean('is_moderate')->default(false);
25 $table->bigInteger('user_id')->nullable(false);
26 $table->timestamps();
27 });
28 }
29
30 /**
31 * Reverse the migrations.
32 *
33 * @return void
34 */
35 public function down()
36 {
37 Schema::dropIfExists('answers');
38 }
39 };
40
database/migrations/2023_05_22_085010_create_companies_table.php
File was created 1 <?php
2
3 use Illuminate\Database\Migrations\Migration;
4 use Illuminate\Database\Schema\Blueprint;
5 use Illuminate\Support\Facades\Schema;
6
7 return new class extends Migration
8 {
9 /**
10 * Run the migrations.
11 *
12 * @return void
13 */
14 public function up()
15 {
16 Schema::create('companies', function (Blueprint $table) {
17 $table->id();
18 $table->string('name', 255)->nullable(true);
19 $table->string('address', 255)->nullable(true);
20 $table->string('fio_director', 255)->nullable(true);
21 $table->string('email', 255)->nullable(true);
22 $table->string('telephone', 255)->nullable(true);
23 $table->string('site', 255)->nullable(true);
24 $table->string('telegram', 255)->nullable(true);
25 $table->string('vkontact', 255)->nullable(true);
26 $table->string('logo', 255)->nullable(true);
27 $table->string('image', 255)->nullable(true);
28 $table->string('map', 255)->nullable(true);
29 $table->text('text')->nullable(true);
30 $table->timestamps();
31 });
32 }
33
34 /**
35 * Reverse the migrations.
36 *
37 * @return void
38 */
39 public function down()
40 {
41 Schema::dropIfExists('companies');
42 }
43 };
44
resources/views/admin/config.blade.php
File was created 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 Реквизиты сайта (конфигурация)
6 </h4>
7 <form action="" method="POST" enctype="multipart/form-data">
8 @csrf
9
10 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
11 <label class="block text-sm">
12 <span class="text-gray-700 dark:text-gray-400">Имя компании</span>
13 <input name="name" id="name"
14 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"
15 placeholder="Имя компании" value="{{ old('name') ?? $config->name ?? '' }}"
16 />
17 @error('name')
18 <span class="text-xs text-red-600 dark:text-red-400">
19 {{ $message }}
20 </span>
21 @enderror
22 </label><br>
23
24 <label class="block text-sm">
25 <span class="text-gray-700 dark:text-gray-400">Адрес</span>
26 <input name="address" id="address"
27 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"
28 placeholder="Адрес" value="{{ old('address') ?? $config->address ?? '' }}"
29 />
30 @error('address')
31 <span class="text-xs text-red-600 dark:text-red-400">
32 {{ $message }}
33 </span>
34 @enderror
35 </label><br>
36
37 <label class="block text-sm">
38 <span class="text-gray-700 dark:text-gray-400">ФИО директора компании</span>
39 <input name="fio_director" id="fio_director"
40 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"
41 placeholder="ФИО директора" value="{{ old('fio_director') ?? $config->fio_director ?? '' }}"
42 />
43 @error('fio_director')
44 <span class="text-xs text-red-600 dark:text-red-400">
45 {{ $message }}
46 </span>
47 @enderror
48 </label><br>
49
50 <label class="block text-sm">
51 <span class="text-gray-700 dark:text-gray-400">Email</span>
52 <input name="email" id="email"
53 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"
54 placeholder="Почта" value="{{ old('email') ?? $config->email ?? '' }}"
55 />
56 @error('email')
57 <span class="text-xs text-red-600 dark:text-red-400">
58 {{ $message }}
59 </span>
60 @enderror
61 </label><br>
62
63 <label class="block text-sm">
64 <span class="text-gray-700 dark:text-gray-400">Телефон</span>
65 <input name="telephone" id="telephone"
66 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"
67 placeholder="Телефон" value="{{ old('telephone') ?? $config->telephone ?? '' }}"
68 />
69 @error('telephone')
70 <span class="text-xs text-red-600 dark:text-red-400">
71 {{ $message }}
72 </span>
73 @enderror
74 </label><br>
75
76 <label class="block text-sm">
77 <span class="text-gray-700 dark:text-gray-400">Сайт</span>
78 <input name="site" id="site"
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="{{ old('site') ?? $config->site ?? '' }}"
81 />
82 @error('site')
83 <span class="text-xs text-red-600 dark:text-red-400">
84 {{ $message }}
85 </span>
86 @enderror
87 </label><br>
88
89 <label class="block text-sm">
90 <span class="text-gray-700 dark:text-gray-400">Телеграм</span>
91 <input name="telegram" id="telegram"
92 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"
93 placeholder="Телеграм линк" value="{{ old('telegram') ?? $config->telegram ?? '' }}"
94 />
95 @error('telegram')
96 <span class="text-xs text-red-600 dark:text-red-400">
97 {{ $message }}
98 </span>
99 @enderror
100 </label><br>
101
102 <label class="block text-sm">
103 <span class="text-gray-700 dark:text-gray-400">Вконтакте</span>
104 <input name="vkontact" id="vkontact"
105 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 placeholder="Вконтакте линк" value="{{ old('vkontact') ?? $config->vkontact ?? '' }}"
107 />
108 @error('vkontact')
109 <span class="text-xs text-red-600 dark:text-red-400">
110 {{ $message }}
111 </span>
112 @enderror
113 </label><br>
114
115 <label class="block text-sm">
116 <span class="text-gray-700 dark:text-gray-400">Лого</span>
117 <input name="logo" id="logo" type="file"
118 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"
119 placeholder="Лого" value="{{ old('logo') ?? $config->logo ?? '' }}"
120 />
121
122 @if (isset($config->logo))
123 <img src="<?=asset(Storage::url($config->logo))?>" width="150"/>
124 @endif
125
126 @error('logo')
127 <span class="text-xs text-red-600 dark:text-red-400">
128 {{ $message }}
129 </span>
130 @enderror
131 </label><br>
132
133 <label class="block text-sm">
134 <span class="text-gray-700 dark:text-gray-400">Картинка</span>
135 <input name="image" id="image" type="file"
136 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"
137 placeholder="Картинка"
138 />
139
140 @if (isset($config->image))
141 <img src="<?=asset(Storage::url($config->image))?>" width="150"/>
142 @endif
143
144
145 @error('image')
146 <span class="text-xs text-red-600 dark:text-red-400">
147 {{ $message }}
148 </span>
149 @enderror
150 </label><br>
151
152 <label class="block text-sm">
153 <span class="text-gray-700 dark:text-gray-400">Карта</span>
154 <input name="map" id="map"
155 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"
156 placeholder="Карта" value="{{ old('map') ?? $config->map ?? '' }}"
157 />
158 @error('map')
159 <span class="text-xs text-red-600 dark:text-red-400">
160 {{ $message }}
161 </span>
162 @enderror
163 </label><br>
164
165 <label class="block text-sm">
166 <span class="text-gray-700 dark:text-gray-400">Описание</span>
167 <textarea id="text" name="text"
168 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"
169 rows="3"
170 placeholder="Описание"
171 >{{ old('text') ?? $config->text ?? '' }}</textarea>
172
173 @error('text')
174 <span class="text-xs text-red-600 dark:text-red-400">
175 {{ $message }}
176 </span>
177 @enderror
178 </label><br>
179
180 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
181 <div>
182 <button 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">
183 Сохранить
184 </button>
185 </div>
186 </div>
187 </div>
188 </form>
189 @endsection
190
resources/views/admin/profile.blade.php
File was created 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 Личные данные
6 </h4>
7 <form method="POST" action="">
8 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
9 <label class="block text-sm">
10 <span class="text-gray-700 dark:text-gray-400">Имя/Псевдоним/Имя компании</span>
11 <input name="name" id="name"
12 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 placeholder="Псевдоним для админки" value="{{ old('name') ?? $user->name ?? '' }}"
14 />
15 @error('name')
16 <span class="text-xs text-red-600 dark:text-red-400">
17 {{ $message }}
18 </span>
19 @enderror
20 </label><br>
21
22 <label class="block text-sm">
23 <span class="text-gray-700 dark:text-gray-400">Email</span>
24 <input name="email" id="email"
25 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 placeholder="Почта" value="{{ old('email') ?? $config->email ?? '' }}"
27 />
28 @error('email')
29 <span class="text-xs text-red-600 dark:text-red-400">
30 {{ $message }}
31 </span>
32 @enderror
33 </label><br>
34
35 <label class="block text-sm">
36 <span class="text-gray-700 dark:text-gray-400">Телефон</span>
37 <input name="telephone" id="telephone"
38 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 placeholder="Телефон" value="{{ old('telephone') ?? $user->telephone ?? '' }}"
40 />
41 @error('telephone')
42 <span class="text-xs text-red-600 dark:text-red-400">
43 {{ $message }}
44 </span>
45 @enderror
46 </label><br>
47
48 <label class="block text-sm">
49 <span class="text-gray-700 dark:text-gray-400">Фамилия</span>
50 <input name="surname" id="surname"
51 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 placeholder="Фамилия" value="{{ old('surname') ?? $user->surname ?? '' }}"
53 />
54 @error('surname')
55 <span class="text-xs text-red-600 dark:text-red-400">
56 {{ $message }}
57 </span>
58 @enderror
59 </label><br>
60
61 <label class="block text-sm">
62 <span class="text-gray-700 dark:text-gray-400">Имя человека</span>
63 <input name="name_man" id="name_man"
64 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 placeholder="Имя человека" value="{{ old('name_man') ?? $user->name_man ?? '' }}"
66 />
67 @error('name_man')
68 <span class="text-xs text-red-600 dark:text-red-400">
69 {{ $message }}
70 </span>
71 @enderror
72 </label><br>
73
74 <label class="block text-sm">
75 <span class="text-gray-700 dark:text-gray-400">Отчество</span>
76 <input name="surname2" id="surname2"
77 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"
78 placeholder="Отчество" value="{{ old('surname2') ?? $user->surname2 ?? '' }}"
79 />
80 @error('surname2')
81 <span class="text-xs text-red-600 dark:text-red-400">
82 {{ $message }}
83 </span>
84 @enderror
85 </label><br>
86
87 <div class="mt-4 text-sm">
88 <span class="text-gray-700 dark:text-gray-400">
89 Тип пользователя
90 </span>
91 <div class="mt-2">
92 <label class="inline-flex items-center text-gray-600 dark:text-gray-400">
93 <input
94 type="radio"
95 class="text-purple-600 form-radio focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
96 name="is_worker"
97 value="1"
98 <? if ($user->is_worker == 1) echo "checked"; ?>
99 />
100 <span class="ml-2">Работник</span>
101 </label>
102 <label class="inline-flex items-center ml-6 text-gray-600 dark:text-gray-400">
103 <input
104 type="radio"
105 class="text-purple-600 form-radio focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
106 name="is_worker"
107 value="0"
108 <? if ($user->is_worker == 0) echo "checked"; ?>
109 />
110 <span class="ml-2">Работодатель</span>
111 </label>
112 </div>
113 </div><br>
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 <a 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">
121 Сменить пароль
122 </a>
123 </div>
124 </div>
125 </div>
126 </form>
127 <!--
128 <label class="block mt-4 text-sm">
129 <span class="text-gray-700 dark:text-gray-400">
130 Requested Limit
131 </span>
132 <select
133 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"
134 >
135 <option>$1,000</option>
136 <option>$5,000</option>
137 <option>$10,000</option>
138 <option>$25,000</option>
139 </select>
140 </label>
141
142 <label class="block mt-4 text-sm">
143 <span class="text-gray-700 dark:text-gray-400">
144 Multiselect
145 </span>
146 <select
147 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"
148 multiple
149 >
150 <option>Option 1</option>
151 <option>Option 2</option>
152 <option>Option 3</option>
153 <option>Option 4</option>
154 <option>Option 5</option>
155 </select>
156 </label>
157
158 <label class="block mt-4 text-sm">
159 <span class="text-gray-700 dark:text-gray-400">Message</span>
160 <textarea
161 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"
162 rows="3"
163 placeholder="Enter some long form content."
164 ></textarea>
165 </label>
166
167 <div class="flex mt-6 text-sm">
168 <label class="flex items-center dark:text-gray-400">
169 <input
170 type="checkbox"
171 class="text-purple-600 form-checkbox focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
172 />
173 <span class="ml-2">
174 I agree to the
175 <span class="underline">privacy policy</span>
176 </span>
177 </label>
178 </div>
179 </div>
180
181 <!-- Validation inputs -->
182 <!--<h4
183 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
184 >
185 Validation
186 </h4>
187 <div
188 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
189 >
190 <!-- Invalid input -->
191 <!--<label class="block text-sm">
192 <span class="text-gray-700 dark:text-gray-400">
193 Invalid input
194 </span>
195 <input
196 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"
197 placeholder="Jane Doe"
198 />
199 <span class="text-xs text-red-600 dark:text-red-400">
200 Your password is too short.
201 </span>
202 </label>
203
204 <!-- Valid input -->
205 <!--<label class="block mt-4 text-sm">
206 <span class="text-gray-700 dark:text-gray-400">
207 Valid input
208 </span>
209 <input
210 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"
211 placeholder="Jane Doe"
212 />
213 <span class="text-xs text-green-600 dark:text-green-400">
214 Your password is strong.
215 </span>
216 </label>
217
218 <!-- Helper text -->
219 <!--<label class="block mt-4 text-sm">
220 <span class="text-gray-700 dark:text-gray-400">
221 Helper text
222 </span>
223 <input
224 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"
225 placeholder="Jane Doe"
226 />
227 <span class="text-xs text-gray-600 dark:text-gray-400">
228 Your password must be at least 6 characters long.
229 </span>
230 </label>
231 </div>
232
233 <!-- Inputs with icons -->
234 <!--<h4
235 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
236 >
237 Icons
238 </h4>
239 <div
240 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
241 >
242 <label class="block text-sm">
243 <span class="text-gray-700 dark:text-gray-400">Icon left</span>
244 <!-- focus-within sets the color for the icon when input is focused -->
245 <!--<div
246 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400"
247 >
248 <input
249 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"
250 placeholder="Jane Doe"
251 />
252 <div
253 class="absolute inset-y-0 flex items-center ml-3 pointer-events-none"
254 >
255 <svg
256 class="w-5 h-5"
257 aria-hidden="true"
258 fill="none"
259 stroke-linecap="round"
260 stroke-linejoin="round"
261 stroke-width="2"
262 viewBox="0 0 24 24"
263 stroke="currentColor"
264 >
265 <path
266 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"
267 ></path>
268 </svg>
269 </div>
270 </div>
271 </label>
272
273 <label class="block mt-4 text-sm">
274 <span class="text-gray-700 dark:text-gray-400">Icon right</span>
275 <!-- focus-within sets the color for the icon when input is focused -->
276 <!--<div
277 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400"
278 >
279 <input
280 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"
281 placeholder="Jane Doe"
282 />
283 <div
284 class="absolute inset-y-0 right-0 flex items-center mr-3 pointer-events-none"
285 >
286 <svg
287 class="w-5 h-5"
288 aria-hidden="true"
289 fill="none"
290 stroke-linecap="round"
291 stroke-linejoin="round"
292 stroke-width="2"
293 viewBox="0 0 24 24"
294 stroke="currentColor"
295 >
296 <path
297 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"
298 ></path>
299 </svg>
300 </div>
301 </div>
302 </label>
303 </div>
304
305 <!-- Inputs with buttons -->
306 <!--<h4
307 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
308 >
309 Buttons
310 </h4>
311 <div
312 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
313 >
314 <label class="block text-sm">
315 <span class="text-gray-700 dark:text-gray-400">
316 Button left
317 </span>
318 <div class="relative">
319 <input
320 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"
321 placeholder="Jane Doe"
322 />
323 <button
324 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"
325 >
326 Click
327 </button>
328 </div>
329 </label>
330
331 <label class="block mt-4 text-sm">
332 <span class="text-gray-700 dark:text-gray-400">
333 Button right
334 </span>
335 <div
336 class="relative text-gray-500 focus-within:text-purple-600"
337 >
338 <input
339 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"
340 placeholder="Jane Doe"
341 />
342 <button
343 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"
344 >
345 Click
346 </button>
347 </div>
348 </label>
349 </div>-->
350 @endsection
351
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') }}"
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') }}"
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="#" 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="#" 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 @yield('content') 916 @yield('content')
917 917
918 <!-- Cards 918 <!-- Cards
919 <div class="grid gap-6 mb-8 md:grid-cols-2 xl:grid-cols-4"> 919 <div class="grid gap-6 mb-8 md:grid-cols-2 xl:grid-cols-4">
920 920
921 <div 921 <div
922 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 922 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
923 > 923 >
924 <div 924 <div
925 class="p-3 mr-4 text-orange-500 bg-orange-100 rounded-full dark:text-orange-100 dark:bg-orange-500" 925 class="p-3 mr-4 text-orange-500 bg-orange-100 rounded-full dark:text-orange-100 dark:bg-orange-500"
926 > 926 >
927 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 927 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
928 <path 928 <path
929 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" 929 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"
930 ></path> 930 ></path>
931 </svg> 931 </svg>
932 </div> 932 </div>
933 <div> 933 <div>
934 <p 934 <p
935 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 935 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
936 > 936 >
937 Total clients 937 Total clients
938 </p> 938 </p>
939 <p 939 <p
940 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 940 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
941 > 941 >
942 6389 942 6389
943 </p> 943 </p>
944 </div> 944 </div>
945 </div> 945 </div>
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-green-500 bg-green-100 rounded-full dark:text-green-100 dark:bg-green-500" 951 class="p-3 mr-4 text-green-500 bg-green-100 rounded-full dark:text-green-100 dark:bg-green-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 fill-rule="evenodd" 955 fill-rule="evenodd"
956 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" 956 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"
957 clip-rule="evenodd" 957 clip-rule="evenodd"
958 ></path> 958 ></path>
959 </svg> 959 </svg>
960 </div> 960 </div>
961 <div> 961 <div>
962 <p 962 <p
963 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 963 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
964 > 964 >
965 Account balance 965 Account balance
966 </p> 966 </p>
967 <p 967 <p
968 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 968 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
969 > 969 >
970 $ 46,760.89 970 $ 46,760.89
971 </p> 971 </p>
972 </div> 972 </div>
973 </div> 973 </div>
974 974
975 <div 975 <div
976 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 976 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
977 > 977 >
978 <div 978 <div
979 class="p-3 mr-4 text-blue-500 bg-blue-100 rounded-full dark:text-blue-100 dark:bg-blue-500" 979 class="p-3 mr-4 text-blue-500 bg-blue-100 rounded-full dark:text-blue-100 dark:bg-blue-500"
980 > 980 >
981 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 981 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
982 <path 982 <path
983 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" 983 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"
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 New sales 991 New sales
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 376 996 376
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-teal-500 bg-teal-100 rounded-full dark:text-teal-100 dark:bg-teal-500" 1005 class="p-3 mr-4 text-teal-500 bg-teal-100 rounded-full dark:text-teal-100 dark:bg-teal-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 fill-rule="evenodd" 1009 fill-rule="evenodd"
1010 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" 1010 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"
1011 clip-rule="evenodd" 1011 clip-rule="evenodd"
1012 ></path> 1012 ></path>
1013 </svg> 1013 </svg>
1014 </div> 1014 </div>
1015 <div> 1015 <div>
1016 <p 1016 <p
1017 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1017 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
1018 > 1018 >
1019 Pending contacts 1019 Pending contacts
1020 </p> 1020 </p>
1021 <p 1021 <p
1022 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1022 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
1023 > 1023 >
1024 35 1024 35
1025 </p> 1025 </p>
1026 </div> 1026 </div>
1027 </div> 1027 </div>
1028 </div> 1028 </div>
1029 --> 1029 -->
1030 <!-- New Table 1030 <!-- New Table
1031 <div class="w-full overflow-hidden rounded-lg shadow-xs"> 1031 <div class="w-full overflow-hidden rounded-lg shadow-xs">
1032 <div class="w-full overflow-x-auto"> 1032 <div class="w-full overflow-x-auto">
1033 <table class="w-full whitespace-no-wrap"> 1033 <table class="w-full whitespace-no-wrap">
1034 <thead> 1034 <thead>
1035 <tr 1035 <tr
1036 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" 1036 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"
1037 > 1037 >
1038 <th class="px-4 py-3">Client</th> 1038 <th class="px-4 py-3">Client</th>
1039 <th class="px-4 py-3">Amount</th> 1039 <th class="px-4 py-3">Amount</th>
1040 <th class="px-4 py-3">Status</th> 1040 <th class="px-4 py-3">Status</th>
1041 <th class="px-4 py-3">Date</th> 1041 <th class="px-4 py-3">Date</th>
1042 </tr> 1042 </tr>
1043 </thead> 1043 </thead>
1044 <tbody 1044 <tbody
1045 class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800" 1045 class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"
1046 > 1046 >
1047 <tr class="text-gray-700 dark:text-gray-400"> 1047 <tr class="text-gray-700 dark:text-gray-400">
1048 <td class="px-4 py-3"> 1048 <td class="px-4 py-3">
1049 <div class="flex items-center text-sm"> 1049 <div class="flex items-center text-sm">
1050 1050
1051 <div 1051 <div
1052 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1052 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1053 > 1053 >
1054 <img 1054 <img
1055 class="object-cover w-full h-full rounded-full" 1055 class="object-cover w-full h-full rounded-full"
1056 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" 1056 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"
1057 alt="" 1057 alt=""
1058 loading="lazy" 1058 loading="lazy"
1059 /> 1059 />
1060 <div 1060 <div
1061 class="absolute inset-0 rounded-full shadow-inner" 1061 class="absolute inset-0 rounded-full shadow-inner"
1062 aria-hidden="true" 1062 aria-hidden="true"
1063 ></div> 1063 ></div>
1064 </div> 1064 </div>
1065 <div> 1065 <div>
1066 <p class="font-semibold">Hans Burger</p> 1066 <p class="font-semibold">Hans Burger</p>
1067 <p class="text-xs text-gray-600 dark:text-gray-400"> 1067 <p class="text-xs text-gray-600 dark:text-gray-400">
1068 10x Developer 1068 10x Developer
1069 </p> 1069 </p>
1070 </div> 1070 </div>
1071 </div> 1071 </div>
1072 </td> 1072 </td>
1073 <td class="px-4 py-3 text-sm"> 1073 <td class="px-4 py-3 text-sm">
1074 $ 863.45 1074 $ 863.45
1075 </td> 1075 </td>
1076 <td class="px-4 py-3 text-xs"> 1076 <td class="px-4 py-3 text-xs">
1077 <span 1077 <span
1078 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" 1078 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"
1079 > 1079 >
1080 Approved 1080 Approved
1081 </span> 1081 </span>
1082 </td> 1082 </td>
1083 <td class="px-4 py-3 text-sm"> 1083 <td class="px-4 py-3 text-sm">
1084 6/10/2020 1084 6/10/2020
1085 </td> 1085 </td>
1086 </tr> 1086 </tr>
1087 1087
1088 <tr class="text-gray-700 dark:text-gray-400"> 1088 <tr class="text-gray-700 dark:text-gray-400">
1089 <td class="px-4 py-3"> 1089 <td class="px-4 py-3">
1090 <div class="flex items-center text-sm"> 1090 <div class="flex items-center text-sm">
1091 1091
1092 <div 1092 <div
1093 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1093 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1094 > 1094 >
1095 <img 1095 <img
1096 class="object-cover w-full h-full rounded-full" 1096 class="object-cover w-full h-full rounded-full"
1097 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" 1097 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"
1098 alt="" 1098 alt=""
1099 loading="lazy" 1099 loading="lazy"
1100 /> 1100 />
1101 <div 1101 <div
1102 class="absolute inset-0 rounded-full shadow-inner" 1102 class="absolute inset-0 rounded-full shadow-inner"
1103 aria-hidden="true" 1103 aria-hidden="true"
1104 ></div> 1104 ></div>
1105 </div> 1105 </div>
1106 <div> 1106 <div>
1107 <p class="font-semibold">Jolina Angelie</p> 1107 <p class="font-semibold">Jolina Angelie</p>
1108 <p class="text-xs text-gray-600 dark:text-gray-400"> 1108 <p class="text-xs text-gray-600 dark:text-gray-400">
1109 Unemployed 1109 Unemployed
1110 </p> 1110 </p>
1111 </div> 1111 </div>
1112 </div> 1112 </div>
1113 </td> 1113 </td>
1114 <td class="px-4 py-3 text-sm"> 1114 <td class="px-4 py-3 text-sm">
1115 $ 369.95 1115 $ 369.95
1116 </td> 1116 </td>
1117 <td class="px-4 py-3 text-xs"> 1117 <td class="px-4 py-3 text-xs">
1118 <span 1118 <span
1119 class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600" 1119 class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"
1120 > 1120 >
1121 Pending 1121 Pending
1122 </span> 1122 </span>
1123 </td> 1123 </td>
1124 <td class="px-4 py-3 text-sm"> 1124 <td class="px-4 py-3 text-sm">
1125 6/10/2020 1125 6/10/2020
1126 </td> 1126 </td>
1127 </tr> 1127 </tr>
1128 1128
1129 <tr class="text-gray-700 dark:text-gray-400"> 1129 <tr class="text-gray-700 dark:text-gray-400">
1130 <td class="px-4 py-3"> 1130 <td class="px-4 py-3">
1131 <div class="flex items-center text-sm"> 1131 <div class="flex items-center text-sm">
1132 1132
1133 <div 1133 <div
1134 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1134 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1135 > 1135 >
1136 <img 1136 <img
1137 class="object-cover w-full h-full rounded-full" 1137 class="object-cover w-full h-full rounded-full"
1138 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" 1138 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"
1139 alt="" 1139 alt=""
1140 loading="lazy" 1140 loading="lazy"
1141 /> 1141 />
1142 <div 1142 <div
1143 class="absolute inset-0 rounded-full shadow-inner" 1143 class="absolute inset-0 rounded-full shadow-inner"
1144 aria-hidden="true" 1144 aria-hidden="true"
1145 ></div> 1145 ></div>
1146 </div> 1146 </div>
1147 <div> 1147 <div>
1148 <p class="font-semibold">Sarah Curry</p> 1148 <p class="font-semibold">Sarah Curry</p>
1149 <p class="text-xs text-gray-600 dark:text-gray-400"> 1149 <p class="text-xs text-gray-600 dark:text-gray-400">
1150 Designer 1150 Designer
1151 </p> 1151 </p>
1152 </div> 1152 </div>
1153 </div> 1153 </div>
1154 </td> 1154 </td>
1155 <td class="px-4 py-3 text-sm"> 1155 <td class="px-4 py-3 text-sm">
1156 $ 86.00 1156 $ 86.00
1157 </td> 1157 </td>
1158 <td class="px-4 py-3 text-xs"> 1158 <td class="px-4 py-3 text-xs">
1159 <span 1159 <span
1160 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" 1160 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"
1161 > 1161 >
1162 Denied 1162 Denied
1163 </span> 1163 </span>
1164 </td> 1164 </td>
1165 <td class="px-4 py-3 text-sm"> 1165 <td class="px-4 py-3 text-sm">
1166 6/10/2020 1166 6/10/2020
1167 </td> 1167 </td>
1168 </tr> 1168 </tr>
1169 1169
1170 <tr class="text-gray-700 dark:text-gray-400"> 1170 <tr class="text-gray-700 dark:text-gray-400">
1171 <td class="px-4 py-3"> 1171 <td class="px-4 py-3">
1172 <div class="flex items-center text-sm"> 1172 <div class="flex items-center text-sm">
1173 1173
1174 <div 1174 <div
1175 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1175 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1176 > 1176 >
1177 <img 1177 <img
1178 class="object-cover w-full h-full rounded-full" 1178 class="object-cover w-full h-full rounded-full"
1179 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" 1179 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"
1180 alt="" 1180 alt=""
1181 loading="lazy" 1181 loading="lazy"
1182 /> 1182 />
1183 <div 1183 <div
1184 class="absolute inset-0 rounded-full shadow-inner" 1184 class="absolute inset-0 rounded-full shadow-inner"
1185 aria-hidden="true" 1185 aria-hidden="true"
1186 ></div> 1186 ></div>
1187 </div> 1187 </div>
1188 <div> 1188 <div>
1189 <p class="font-semibold">Rulia Joberts</p> 1189 <p class="font-semibold">Rulia Joberts</p>
1190 <p class="text-xs text-gray-600 dark:text-gray-400"> 1190 <p class="text-xs text-gray-600 dark:text-gray-400">
1191 Actress 1191 Actress
1192 </p> 1192 </p>
1193 </div> 1193 </div>
1194 </div> 1194 </div>
1195 </td> 1195 </td>
1196 <td class="px-4 py-3 text-sm"> 1196 <td class="px-4 py-3 text-sm">
1197 $ 1276.45 1197 $ 1276.45
1198 </td> 1198 </td>
1199 <td class="px-4 py-3 text-xs"> 1199 <td class="px-4 py-3 text-xs">
1200 <span 1200 <span
1201 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" 1201 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"
1202 > 1202 >
1203 Approved 1203 Approved
1204 </span> 1204 </span>
1205 </td> 1205 </td>
1206 <td class="px-4 py-3 text-sm"> 1206 <td class="px-4 py-3 text-sm">
1207 6/10/2020 1207 6/10/2020
1208 </td> 1208 </td>
1209 </tr> 1209 </tr>
1210 1210
1211 <tr class="text-gray-700 dark:text-gray-400"> 1211 <tr class="text-gray-700 dark:text-gray-400">
1212 <td class="px-4 py-3"> 1212 <td class="px-4 py-3">
1213 <div class="flex items-center text-sm"> 1213 <div class="flex items-center text-sm">
1214 1214
1215 <div 1215 <div
1216 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1216 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1217 > 1217 >
1218 <img 1218 <img
1219 class="object-cover w-full h-full rounded-full" 1219 class="object-cover w-full h-full rounded-full"
1220 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" 1220 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"
1221 alt="" 1221 alt=""
1222 loading="lazy" 1222 loading="lazy"
1223 /> 1223 />
1224 <div 1224 <div
1225 class="absolute inset-0 rounded-full shadow-inner" 1225 class="absolute inset-0 rounded-full shadow-inner"
1226 aria-hidden="true" 1226 aria-hidden="true"
1227 ></div> 1227 ></div>
1228 </div> 1228 </div>
1229 <div> 1229 <div>
1230 <p class="font-semibold">Wenzel Dashington</p> 1230 <p class="font-semibold">Wenzel Dashington</p>
1231 <p class="text-xs text-gray-600 dark:text-gray-400"> 1231 <p class="text-xs text-gray-600 dark:text-gray-400">
1232 Actor 1232 Actor
1233 </p> 1233 </p>
1234 </div> 1234 </div>
1235 </div> 1235 </div>
1236 </td> 1236 </td>
1237 <td class="px-4 py-3 text-sm"> 1237 <td class="px-4 py-3 text-sm">
1238 $ 863.45 1238 $ 863.45
1239 </td> 1239 </td>
1240 <td class="px-4 py-3 text-xs"> 1240 <td class="px-4 py-3 text-xs">
1241 <span 1241 <span
1242 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" 1242 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"
1243 > 1243 >
1244 Expired 1244 Expired
1245 </span> 1245 </span>
1246 </td> 1246 </td>
1247 <td class="px-4 py-3 text-sm"> 1247 <td class="px-4 py-3 text-sm">
1248 6/10/2020 1248 6/10/2020
1249 </td> 1249 </td>
1250 </tr> 1250 </tr>
1251 1251
1252 <tr class="text-gray-700 dark:text-gray-400"> 1252 <tr class="text-gray-700 dark:text-gray-400">
1253 <td class="px-4 py-3"> 1253 <td class="px-4 py-3">
1254 <div class="flex items-center text-sm"> 1254 <div class="flex items-center text-sm">
1255 1255
1256 <div 1256 <div
1257 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1257 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1258 > 1258 >
1259 <img 1259 <img
1260 class="object-cover w-full h-full rounded-full" 1260 class="object-cover w-full h-full rounded-full"
1261 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" 1261 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"
1262 alt="" 1262 alt=""
1263 loading="lazy" 1263 loading="lazy"
1264 /> 1264 />
1265 <div 1265 <div
1266 class="absolute inset-0 rounded-full shadow-inner" 1266 class="absolute inset-0 rounded-full shadow-inner"
1267 aria-hidden="true" 1267 aria-hidden="true"
1268 ></div> 1268 ></div>
1269 </div> 1269 </div>
1270 <div> 1270 <div>
1271 <p class="font-semibold">Dave Li</p> 1271 <p class="font-semibold">Dave Li</p>
1272 <p class="text-xs text-gray-600 dark:text-gray-400"> 1272 <p class="text-xs text-gray-600 dark:text-gray-400">
1273 Influencer 1273 Influencer
1274 </p> 1274 </p>
1275 </div> 1275 </div>
1276 </div> 1276 </div>
1277 </td> 1277 </td>
1278 <td class="px-4 py-3 text-sm"> 1278 <td class="px-4 py-3 text-sm">
1279 $ 863.45 1279 $ 863.45
1280 </td> 1280 </td>
1281 <td class="px-4 py-3 text-xs"> 1281 <td class="px-4 py-3 text-xs">
1282 <span 1282 <span
1283 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" 1283 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"
1284 > 1284 >
1285 Approved 1285 Approved
1286 </span> 1286 </span>
1287 </td> 1287 </td>
1288 <td class="px-4 py-3 text-sm"> 1288 <td class="px-4 py-3 text-sm">
1289 6/10/2020 1289 6/10/2020
1290 </td> 1290 </td>
1291 </tr> 1291 </tr>
1292 1292
1293 <tr class="text-gray-700 dark:text-gray-400"> 1293 <tr class="text-gray-700 dark:text-gray-400">
1294 <td class="px-4 py-3"> 1294 <td class="px-4 py-3">
1295 <div class="flex items-center text-sm"> 1295 <div class="flex items-center text-sm">
1296 1296
1297 <div 1297 <div
1298 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1298 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1299 > 1299 >
1300 <img 1300 <img
1301 class="object-cover w-full h-full rounded-full" 1301 class="object-cover w-full h-full rounded-full"
1302 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" 1302 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"
1303 alt="" 1303 alt=""
1304 loading="lazy" 1304 loading="lazy"
1305 /> 1305 />
1306 <div 1306 <div
1307 class="absolute inset-0 rounded-full shadow-inner" 1307 class="absolute inset-0 rounded-full shadow-inner"
1308 aria-hidden="true" 1308 aria-hidden="true"
1309 ></div> 1309 ></div>
1310 </div> 1310 </div>
1311 <div> 1311 <div>
1312 <p class="font-semibold">Maria Ramovic</p> 1312 <p class="font-semibold">Maria Ramovic</p>
1313 <p class="text-xs text-gray-600 dark:text-gray-400"> 1313 <p class="text-xs text-gray-600 dark:text-gray-400">
1314 Runner 1314 Runner
1315 </p> 1315 </p>
1316 </div> 1316 </div>
1317 </div> 1317 </div>
1318 </td> 1318 </td>
1319 <td class="px-4 py-3 text-sm"> 1319 <td class="px-4 py-3 text-sm">
1320 $ 863.45 1320 $ 863.45
1321 </td> 1321 </td>
1322 <td class="px-4 py-3 text-xs"> 1322 <td class="px-4 py-3 text-xs">
1323 <span 1323 <span
1324 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" 1324 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"
1325 > 1325 >
1326 Approved 1326 Approved
1327 </span> 1327 </span>
1328 </td> 1328 </td>
1329 <td class="px-4 py-3 text-sm"> 1329 <td class="px-4 py-3 text-sm">
1330 6/10/2020 1330 6/10/2020
1331 </td> 1331 </td>
1332 </tr> 1332 </tr>
1333 1333
1334 <tr class="text-gray-700 dark:text-gray-400"> 1334 <tr class="text-gray-700 dark:text-gray-400">
1335 <td class="px-4 py-3"> 1335 <td class="px-4 py-3">
1336 <div class="flex items-center text-sm"> 1336 <div class="flex items-center text-sm">
1337 1337
1338 <div 1338 <div
1339 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1339 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1340 > 1340 >
1341 <img 1341 <img
1342 class="object-cover w-full h-full rounded-full" 1342 class="object-cover w-full h-full rounded-full"
1343 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" 1343 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"
1344 alt="" 1344 alt=""
1345 loading="lazy" 1345 loading="lazy"
1346 /> 1346 />
1347 <div 1347 <div
1348 class="absolute inset-0 rounded-full shadow-inner" 1348 class="absolute inset-0 rounded-full shadow-inner"
1349 aria-hidden="true" 1349 aria-hidden="true"
1350 ></div> 1350 ></div>
1351 </div> 1351 </div>
1352 <div> 1352 <div>
1353 <p class="font-semibold">Hitney Wouston</p> 1353 <p class="font-semibold">Hitney Wouston</p>
1354 <p class="text-xs text-gray-600 dark:text-gray-400"> 1354 <p class="text-xs text-gray-600 dark:text-gray-400">
1355 Singer 1355 Singer
1356 </p> 1356 </p>
1357 </div> 1357 </div>
1358 </div> 1358 </div>
1359 </td> 1359 </td>
1360 <td class="px-4 py-3 text-sm"> 1360 <td class="px-4 py-3 text-sm">
1361 $ 863.45 1361 $ 863.45
1362 </td> 1362 </td>
1363 <td class="px-4 py-3 text-xs"> 1363 <td class="px-4 py-3 text-xs">
1364 <span 1364 <span
1365 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" 1365 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"
1366 > 1366 >
1367 Approved 1367 Approved
1368 </span> 1368 </span>
1369 </td> 1369 </td>
1370 <td class="px-4 py-3 text-sm"> 1370 <td class="px-4 py-3 text-sm">
1371 6/10/2020 1371 6/10/2020
1372 </td> 1372 </td>
1373 </tr> 1373 </tr>
1374 1374
1375 <tr class="text-gray-700 dark:text-gray-400"> 1375 <tr class="text-gray-700 dark:text-gray-400">
1376 <td class="px-4 py-3"> 1376 <td class="px-4 py-3">
1377 <div class="flex items-center text-sm"> 1377 <div class="flex items-center text-sm">
1378 1378
1379 <div 1379 <div
1380 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1380 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1381 > 1381 >
1382 <img 1382 <img
1383 class="object-cover w-full h-full rounded-full" 1383 class="object-cover w-full h-full rounded-full"
1384 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" 1384 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"
1385 alt="" 1385 alt=""
1386 loading="lazy" 1386 loading="lazy"
1387 /> 1387 />
1388 <div 1388 <div
1389 class="absolute inset-0 rounded-full shadow-inner" 1389 class="absolute inset-0 rounded-full shadow-inner"
1390 aria-hidden="true" 1390 aria-hidden="true"
1391 ></div> 1391 ></div>
1392 </div> 1392 </div>
1393 <div> 1393 <div>
1394 <p class="font-semibold">Hans Burger</p> 1394 <p class="font-semibold">Hans Burger</p>
1395 <p class="text-xs text-gray-600 dark:text-gray-400"> 1395 <p class="text-xs text-gray-600 dark:text-gray-400">
1396 10x Developer 1396 10x Developer
1397 </p> 1397 </p>
1398 </div> 1398 </div>
1399 </div> 1399 </div>
1400 </td> 1400 </td>
1401 <td class="px-4 py-3 text-sm"> 1401 <td class="px-4 py-3 text-sm">
1402 $ 863.45 1402 $ 863.45
1403 </td> 1403 </td>
1404 <td class="px-4 py-3 text-xs"> 1404 <td class="px-4 py-3 text-xs">
1405 <span 1405 <span
1406 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" 1406 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"
1407 > 1407 >
1408 Approved 1408 Approved
1409 </span> 1409 </span>
1410 </td> 1410 </td>
1411 <td class="px-4 py-3 text-sm"> 1411 <td class="px-4 py-3 text-sm">
1412 6/10/2020 1412 6/10/2020
1413 </td> 1413 </td>
1414 </tr> 1414 </tr>
1415 </tbody> 1415 </tbody>
1416 </table> 1416 </table>
1417 </div> 1417 </div>
1418 <div 1418 <div
1419 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" 1419 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"
1420 > 1420 >
1421 <span class="flex items-center col-span-3"> 1421 <span class="flex items-center col-span-3">
1422 Showing 21-30 of 100 1422 Showing 21-30 of 100
1423 </span> 1423 </span>
1424 <span class="col-span-2"></span> 1424 <span class="col-span-2"></span>
1425 1425
1426 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end"> 1426 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end">
1427 <nav aria-label="Table navigation"> 1427 <nav aria-label="Table navigation">
1428 <ul class="inline-flex items-center"> 1428 <ul class="inline-flex items-center">
1429 <li> 1429 <li>
1430 <button 1430 <button
1431 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple" 1431 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple"
1432 aria-label="Previous" 1432 aria-label="Previous"
1433 > 1433 >
1434 <svg 1434 <svg
1435 aria-hidden="true" 1435 aria-hidden="true"
1436 class="w-4 h-4 fill-current" 1436 class="w-4 h-4 fill-current"
1437 viewBox="0 0 20 20" 1437 viewBox="0 0 20 20"
1438 > 1438 >
1439 <path 1439 <path
1440 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" 1440 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"
1441 clip-rule="evenodd" 1441 clip-rule="evenodd"
1442 fill-rule="evenodd" 1442 fill-rule="evenodd"
1443 ></path> 1443 ></path>
1444 </svg> 1444 </svg>
1445 </button> 1445 </button>
1446 </li> 1446 </li>
1447 <li> 1447 <li>
1448 <button 1448 <button
1449 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1449 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1450 > 1450 >
1451 1 1451 1
1452 </button> 1452 </button>
1453 </li> 1453 </li>
1454 <li> 1454 <li>
1455 <button 1455 <button
1456 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1456 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1457 > 1457 >
1458 2 1458 2
1459 </button> 1459 </button>
1460 </li> 1460 </li>
1461 <li> 1461 <li>
1462 <button 1462 <button
1463 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" 1463 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"
1464 > 1464 >
1465 3 1465 3
1466 </button> 1466 </button>
1467 </li> 1467 </li>
1468 <li> 1468 <li>
1469 <button 1469 <button
1470 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1470 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1471 > 1471 >
1472 4 1472 4
1473 </button> 1473 </button>
1474 </li> 1474 </li>
1475 <li> 1475 <li>
1476 <span class="px-3 py-1">...</span> 1476 <span class="px-3 py-1">...</span>
1477 </li> 1477 </li>
1478 <li> 1478 <li>
1479 <button 1479 <button
1480 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1480 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1481 > 1481 >
1482 8 1482 8
1483 </button> 1483 </button>
1484 </li> 1484 </li>
1485 <li> 1485 <li>
1486 <button 1486 <button
1487 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1487 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1488 > 1488 >
1489 9 1489 9
1490 </button> 1490 </button>
1491 </li> 1491 </li>
1492 <li> 1492 <li>
1493 <button 1493 <button
1494 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple" 1494 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple"
1495 aria-label="Next" 1495 aria-label="Next"
1496 > 1496 >
1497 <svg 1497 <svg
1498 class="w-4 h-4 fill-current" 1498 class="w-4 h-4 fill-current"
1499 aria-hidden="true" 1499 aria-hidden="true"
1500 viewBox="0 0 20 20" 1500 viewBox="0 0 20 20"
1501 > 1501 >
1502 <path 1502 <path
1503 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" 1503 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"
1504 clip-rule="evenodd" 1504 clip-rule="evenodd"
1505 fill-rule="evenodd" 1505 fill-rule="evenodd"
1506 ></path> 1506 ></path>
1507 </svg> 1507 </svg>
1508 </button> 1508 </button>
1509 </li> 1509 </li>
1510 </ul> 1510 </ul>
1511 </nav> 1511 </nav>
1512 </span> 1512 </span>
1513 </div> 1513 </div>
1514 </div> 1514 </div>
1515 --> 1515 -->
1516 <!-- Charts --> 1516 <!-- Charts -->
1517 <!-- 1517 <!--
1518 <h2 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200"> 1518 <h2 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200">
1519 Графики 1519 Графики
1520 </h2> 1520 </h2>
1521 <div class="grid gap-6 mb-8 md:grid-cols-2"> 1521 <div class="grid gap-6 mb-8 md:grid-cols-2">
1522 <div 1522 <div
1523 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1523 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1524 > 1524 >
1525 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300"> 1525 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300">
1526 Revenue 1526 Revenue
1527 </h4> 1527 </h4>
1528 <canvas id="pie"></canvas> 1528 <canvas id="pie"></canvas>
1529 <div 1529 <div
1530 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400" 1530 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400"
1531 > 1531 >
1532 1532
1533 <div class="flex items-center"> 1533 <div class="flex items-center">
1534 <span 1534 <span
1535 class="inline-block w-3 h-3 mr-1 bg-blue-500 rounded-full" 1535 class="inline-block w-3 h-3 mr-1 bg-blue-500 rounded-full"
1536 ></span> 1536 ></span>
1537 <span>Shirts</span> 1537 <span>Shirts</span>
1538 </div> 1538 </div>
1539 <div class="flex items-center"> 1539 <div class="flex items-center">
1540 <span 1540 <span
1541 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full" 1541 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full"
1542 ></span> 1542 ></span>
1543 <span>Shoes</span> 1543 <span>Shoes</span>
1544 </div> 1544 </div>
1545 <div class="flex items-center"> 1545 <div class="flex items-center">
1546 <span 1546 <span
1547 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full" 1547 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full"
1548 ></span> 1548 ></span>
1549 <span>Bags</span> 1549 <span>Bags</span>
1550 </div> 1550 </div>
1551 </div> 1551 </div>
1552 </div> 1552 </div>
1553 <div 1553 <div
1554 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1554 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1555 > 1555 >
1556 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300"> 1556 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300">
1557 Traffic 1557 Traffic
1558 </h4> 1558 </h4>
1559 <canvas id="line"></canvas> 1559 <canvas id="line"></canvas>
1560 <div 1560 <div
1561 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400" 1561 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400"
1562 > 1562 >
1563 1563
1564 <div class="flex items-center"> 1564 <div class="flex items-center">
1565 <span 1565 <span
1566 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full" 1566 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full"
1567 ></span> 1567 ></span>
1568 <span>Organic</span> 1568 <span>Organic</span>
1569 </div> 1569 </div>
1570 <div class="flex items-center"> 1570 <div class="flex items-center">
1571 <span 1571 <span
1572 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full" 1572 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full"
1573 ></span> 1573 ></span>
1574 <span>Paid</span> 1574 <span>Paid</span>
1575 </div> 1575 </div>
1576 </div> 1576 </div>
1577 </div> 1577 </div>
1578 </div> 1578 </div>
1579 --> 1579 -->
1580 </div> 1580 </div>
1581 </main> 1581 </main>
1582 </div> 1582 </div>
1583 </div> 1583 </div>
1584 </body> 1584 </body>
1585 @yield('script') 1585 @yield('script')
1586 </html> 1586 </html>
1587 1587
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\EmployersController; 4 use App\Http\Controllers\Admin\EmployersController;
5 use App\Http\Controllers\Admin\UsersController; 5 use App\Http\Controllers\Admin\UsersController;
6 use App\Http\Controllers\Admin\WorkersController; 6 use App\Http\Controllers\Admin\WorkersController;
7 use App\Http\Controllers\Auth\LoginController; 7 use App\Http\Controllers\Auth\LoginController;
8 use App\Http\Controllers\Auth\RegisterController; 8 use App\Http\Controllers\Auth\RegisterController;
9 use App\Models\User; 9 use App\Models\User;
10 use App\Http\Controllers\MainController; 10 use App\Http\Controllers\MainController;
11 use App\Http\Controllers\HomeController; 11 use App\Http\Controllers\HomeController;
12 use Illuminate\Support\Facades\Route; 12 use Illuminate\Support\Facades\Route;
13 13
14 /* 14 /*
15 |-------------------------------------------------------------------------- 15 |--------------------------------------------------------------------------
16 | Web Routes 16 | Web Routes
17 |-------------------------------------------------------------------------- 17 |--------------------------------------------------------------------------
18 | 18 |
19 | Here is where you can register web routes for your application. These 19 | Here is where you can register web routes for your application. These
20 | routes are loaded by the RouteServiceProvider within a group which 20 | routes are loaded by the RouteServiceProvider within a group which
21 | contains the "web" middleware group. Now create something great! 21 | contains the "web" middleware group. Now create something great!
22 | 22 |
23 */ 23 */
24 /* 24 /*
25 Route::get('/', function () { 25 Route::get('/', function () {
26 return view('welcome'); 26 return view('welcome');
27 })->name('index'); 27 })->name('index');
28 */ 28 */
29 Route::get('/', [MainController::class, 'index'])->name('index'); 29 Route::get('/', [MainController::class, 'index'])->name('index');
30 30
31 //Роуты авторизации, регистрации, восстановления, аутентификации 31 //Роуты авторизации, регистрации, восстановления, аутентификации
32 Auth::routes(['verify' => true]); 32 Auth::routes(['verify' => true]);
33 //Личный кабинет пользователя 33 //Личный кабинет пользователя
34 Route::get('/home', [HomeController::class, 'index'])->name('home'); 34 Route::get('/home', [HomeController::class, 'index'])->name('home');
35 35
36 /* 36 /*
37 Route::post('resend/verification-email', function (\Illuminate\Http\Request $request) { 37 Route::post('resend/verification-email', function (\Illuminate\Http\Request $request) {
38 $user = User::where('email',$request->input('email'))->first(); 38 $user = User::where('email',$request->input('email'))->first();
39 39
40 $user->sendEmailVerificationNotification(); 40 $user->sendEmailVerificationNotification();
41 41
42 return 'your response'; 42 return 'your response';
43 })->middleware('throttle:6,1')->name('verification.resend'); 43 })->middleware('throttle:6,1')->name('verification.resend');
44 */ 44 */
45 45
46 // Авторизация, регистрация в админку 46 // Авторизация, регистрация в админку
47 Route::group([ 47 Route::group([
48 'as' => 'admin.', // имя маршрута, например auth.index 48 'as' => 'admin.', // имя маршрута, например auth.index
49 'prefix' => 'admin', // префикс маршрута, например auth/index 49 'prefix' => 'admin', // префикс маршрута, например auth/index
50 'middleware' => ['guest'], 50 'middleware' => ['guest'],
51 ], function () { 51 ], function () {
52 // Форма регистрации 52 // Форма регистрации
53 Route::get('register', [AdminController::class, 'register'])->name('register'); 53 Route::get('register', [AdminController::class, 'register'])->name('register');
54 54
55 // Создание пользователя 55 // Создание пользователя
56 Route::post('register', [AdminController::class, 'create'])->name('create'); 56 Route::post('register', [AdminController::class, 'create'])->name('create');
57 //Форма входа 57 //Форма входа
58 Route::get('login', [AdminController::class, 'login'])->name('login'); 58 Route::get('login', [AdminController::class, 'login'])->name('login');
59 59
60 // аутентификация 60 // аутентификация
61 Route::post('login', [AdminController::class, 'autenticate'])->name('auth'); 61 Route::post('login', [AdminController::class, 'autenticate'])->name('auth');
62 62
63 }); 63 });
64 64
65 // Личный кабинет админки 65 // Личный кабинет админки
66 Route::group([ 66 Route::group([
67 'as' => 'admin.', // имя маршрута, например auth.index 67 'as' => 'admin.', // имя маршрута, например auth.index
68 'prefix' => 'admin', // префикс маршрута, например auth/index 68 'prefix' => 'admin', // префикс маршрута, например auth/index
69 'middleware' => ['auth'], ['admin'], 69 'middleware' => ['auth'], ['admin'],
70 ], function() { 70 ], function() {
71 71
72 // выход 72 // выход
73 Route::get('logout', [AdminController::class, 'logout'])->name('logout'); 73 Route::get('logout', [AdminController::class, 'logout'])->name('logout');
74 74
75 // кабинет главная страница 75 // кабинет главная страница
76 Route::get('cabinet', [AdminController::class, 'index'])->name('index'); 76 Route::get('cabinet', [AdminController::class, 'index'])->name('index');
77 // кабинет профиль - форма
78 Route::get('profile', [AdminController::class, 'profile'])->name('profile');
79 // кабинет профиль - сохранение формы
80 Route::post('profile', [AdminController::class, 'store_profile'])->name('store_profile');
81
82 // кабинет настройки - форма
83 Route::get('config', [AdminController::class, 'config_form'])->name('config');
84 // кабинет настройки сохранение формы
85 Route::post('config', [AdminController::class, 'store_config'])->name('store_config');
77 86
78 // кабинет - пользователи 87 // кабинет - пользователи
79 Route::get('users', [UsersController::class, 'index'])->name('users'); 88 Route::get('users', [UsersController::class, 'index'])->name('users');
80 89
81 // кабинет - пользователи 90 // кабинет - пользователи
82 Route::get('admin-users', [AdminController::class, 'index_admin'])->name('admin-users'); 91 Route::get('admin-users', [AdminController::class, 'index_admin'])->name('admin-users');
83 92
84 // кабинет - работодатели 93 // кабинет - работодатели
85 Route::get('employers', [EmployersController::class, 'index'])->name('employers'); 94 Route::get('employers', [EmployersController::class, 'index'])->name('employers');
86 95
87 // кабинет - соискатели 96 // кабинет - соискатели
88 Route::get('workers', [WorkersController::class, 'index'])->name('workers'); 97 Route::get('workers', [WorkersController::class, 'index'])->name('workers');
89 98
90 // кабинет - вакансии 99 // кабинет - вакансии
91 Route::get('ad-employers', [AdminController::class, 'index'])->name('ad-employers'); 100 Route::get('ad-employers', [AdminController::class, 'index'])->name('ad-employers');
92 101
93 // кабинет - категории 102 // кабинет - категории
94 Route::get('categories', [AdminController::class, 'index'])->name('categories'); 103 Route::get('categories', [AdminController::class, 'index'])->name('categories');
95 104
96 // кабинет - должности 105 // кабинет - должности
97 Route::get('job-titles', [AdminController::class, 'index'])->name('job-titles'); 106 Route::get('job-titles', [AdminController::class, 'index'])->name('job-titles');
98 107
99 // кабинет - сообщения 108 // кабинет - сообщения
100 Route::get('messages', [AdminController::class, 'index'])->name('messages'); 109 Route::get('messages', [AdminController::class, 'index'])->name('messages');
101 110
102 // кабинет - группы пользователей 111 // кабинет - группы пользователей
103 Route::get('groups', [AdminController::class, 'index'])->name('groups'); 112 Route::get('groups', [AdminController::class, 'index'])->name('groups');
104 113
105 // кабинет - список админов 114 // кабинет - список админов
106 Route::get('group-admin', [AdminController::class, 'index'])->name('group-admin'); 115 Route::get('group-admin', [AdminController::class, 'index'])->name('group-admin');
107 }); 116 });
108 117
File was created 1 -- --------------------------------------------------------
2 -- Хост: 127.0.0.1
3 -- Версия сервера: 8.0.24 - MySQL Community Server - GPL
4 -- Операционная система: Win64
5 -- HeidiSQL Версия: 11.3.0.6295
6 -- --------------------------------------------------------
7
8 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
9 /*!40101 SET NAMES utf8 */;
10 /*!50503 SET NAMES utf8mb4 */;
11 /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
12 /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
13 /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
14
15
16 -- Дамп структуры базы данных laravel_rekamore
17 --CREATE DATABASE IF NOT EXISTS `laravel_rekamore` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;
18 --USE `laravel_rekamore`;
19
20 -- Дамп структуры для таблица laravel_rekamore.ad_employers
21 CREATE TABLE IF NOT EXISTS `ad_employers` (
22 `id` bigint unsigned NOT NULL AUTO_INCREMENT,
23 `employer_id` bigint NOT NULL,
24 `category_id` int NOT NULL DEFAULT '1',
25 `telephone` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
26 `email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
27 `salary` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
28 `text` text COLLATE utf8mb4_unicode_ci,
29 `city` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
30 `sort` int NOT NULL DEFAULT '1',
31 `created_at` timestamp NULL DEFAULT NULL,
32 `updated_at` timestamp NULL DEFAULT NULL,
33 PRIMARY KEY (`id`)
34 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
35
36 -- Дамп данных таблицы laravel_rekamore.ad_employers: ~0 rows (приблизительно)
37 /*!40000 ALTER TABLE `ad_employers` DISABLE KEYS */;
38 /*!40000 ALTER TABLE `ad_employers` ENABLE KEYS */;
39
40 -- Дамп структуры для таблица laravel_rekamore.ad_jobs
41 CREATE TABLE IF NOT EXISTS `ad_jobs` (
42 `id` bigint unsigned NOT NULL AUTO_INCREMENT,
43 `ad_employer_id` bigint NOT NULL,
44 `job_title_id` bigint NOT NULL,
45 `created_at` timestamp NULL DEFAULT NULL,
46 `updated_at` timestamp NULL DEFAULT NULL,
47 PRIMARY KEY (`id`)
48 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
49
50 -- Дамп данных таблицы laravel_rekamore.ad_jobs: ~0 rows (приблизительно)
51 /*!40000 ALTER TABLE `ad_jobs` DISABLE KEYS */;
52 /*!40000 ALTER TABLE `ad_jobs` ENABLE KEYS */;
53
54 -- Дамп структуры для таблица laravel_rekamore.categories
55 CREATE TABLE IF NOT EXISTS `categories` (
56 `id` bigint unsigned NOT NULL AUTO_INCREMENT,
57 `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
58 `created_at` timestamp NULL DEFAULT NULL,
59 `updated_at` timestamp NULL DEFAULT NULL,
60 PRIMARY KEY (`id`)
61 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
62
63 -- Дамп данных таблицы laravel_rekamore.categories: ~0 rows (приблизительно)
64 /*!40000 ALTER TABLE `categories` DISABLE KEYS */;
65 /*!40000 ALTER TABLE `categories` ENABLE KEYS */;
66
67 -- Дамп структуры для таблица laravel_rekamore.employers
68 CREATE TABLE IF NOT EXISTS `employers` (
69 `id` bigint unsigned NOT NULL AUTO_INCREMENT,
70 `user_id` bigint NOT NULL,
71 `name_company` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
72 `telephone` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
73 `email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
74 `logo` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
75 `rate` double(8,2) NOT NULL DEFAULT '0.00',
76 `text` text COLLATE utf8mb4_unicode_ci,
77 `city` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
78 `sort` int NOT NULL DEFAULT '1',
79 `created_at` timestamp NULL DEFAULT NULL,
80 `updated_at` timestamp NULL DEFAULT NULL,
81 `address` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
82 `map` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
83 `site` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
84 PRIMARY KEY (`id`)
85 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
86
87 -- Дамп данных таблицы laravel_rekamore.employers: ~0 rows (приблизительно)
88 /*!40000 ALTER TABLE `employers` DISABLE KEYS */;
89 /*!40000 ALTER TABLE `employers` ENABLE KEYS */;
90
91 -- Дамп структуры для таблица laravel_rekamore.failed_jobs
92 CREATE TABLE IF NOT EXISTS `failed_jobs` (
93 `id` bigint unsigned NOT NULL AUTO_INCREMENT,
94 `uuid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
95 `connection` text COLLATE utf8mb4_unicode_ci NOT NULL,
96 `queue` text COLLATE utf8mb4_unicode_ci NOT NULL,
97 `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
98 `exception` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
99 `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
100 PRIMARY KEY (`id`),
101 UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`)
102 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
103
104 -- Дамп данных таблицы laravel_rekamore.failed_jobs: ~0 rows (приблизительно)
105 /*!40000 ALTER TABLE `failed_jobs` DISABLE KEYS */;
106 /*!40000 ALTER TABLE `failed_jobs` ENABLE KEYS */;
107
108 -- Дамп структуры для таблица laravel_rekamore.group_users
109 CREATE TABLE IF NOT EXISTS `group_users` (
110 `id` bigint unsigned NOT NULL AUTO_INCREMENT,
111 `name_group` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
112 `created_at` timestamp NULL DEFAULT NULL,
113 `updated_at` timestamp NULL DEFAULT NULL,
114 `user_id` bigint NOT NULL,
115 PRIMARY KEY (`id`)
116 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
117
118 -- Дамп данных таблицы laravel_rekamore.group_users: ~0 rows (приблизительно)
119 /*!40000 ALTER TABLE `group_users` DISABLE KEYS */;
120 /*!40000 ALTER TABLE `group_users` ENABLE KEYS */;
121
122 -- Дамп структуры для таблица laravel_rekamore.group_works
123 CREATE TABLE IF NOT EXISTS `group_works` (
124 `id` bigint unsigned NOT NULL AUTO_INCREMENT,
125 `group_user_id` bigint NOT NULL,
126 `user_id` bigint NOT NULL,
127 `created_at` timestamp NULL DEFAULT NULL,
128 `updated_at` timestamp NULL DEFAULT NULL,
129 PRIMARY KEY (`id`)
130 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
131
132 -- Дамп данных таблицы laravel_rekamore.group_works: ~0 rows (приблизительно)
133 /*!40000 ALTER TABLE `group_works` DISABLE KEYS */;
134 /*!40000 ALTER TABLE `group_works` ENABLE KEYS */;
135
136 -- Дамп структуры для таблица laravel_rekamore.job_titles
137 CREATE TABLE IF NOT EXISTS `job_titles` (
138 `id` bigint unsigned NOT NULL AUTO_INCREMENT,
139 `name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
140 `created_at` timestamp NULL DEFAULT NULL,
141 `updated_at` timestamp NULL DEFAULT NULL,
142 PRIMARY KEY (`id`)
143 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
144
145 -- Дамп данных таблицы laravel_rekamore.job_titles: ~0 rows (приблизительно)
146 /*!40000 ALTER TABLE `job_titles` DISABLE KEYS */;
147 /*!40000 ALTER TABLE `job_titles` ENABLE KEYS */;
148
149 -- Дамп структуры для таблица laravel_rekamore.messages
150 CREATE TABLE IF NOT EXISTS `messages` (
151 `id` bigint unsigned NOT NULL AUTO_INCREMENT,
152 `user_id` bigint NOT NULL,
153 `to_user_id` bigint NOT NULL,
154 `text` text COLLATE utf8mb4_unicode_ci,
155 `created_at` timestamp NULL DEFAULT NULL,
156 `updated_at` timestamp NULL DEFAULT NULL,
157 `title` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
158 `file` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
159 PRIMARY KEY (`id`)
160 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
161
162 -- Дамп данных таблицы laravel_rekamore.messages: ~0 rows (приблизительно)
163 /*!40000 ALTER TABLE `messages` DISABLE KEYS */;
164 /*!40000 ALTER TABLE `messages` ENABLE KEYS */;
165
166 -- Дамп структуры для таблица laravel_rekamore.migrations
167 CREATE TABLE IF NOT EXISTS `migrations` (
168 `id` int unsigned NOT NULL AUTO_INCREMENT,
169 `migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
170 `batch` int NOT NULL,
171 PRIMARY KEY (`id`)
172 ) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
173
174 -- Дамп данных таблицы laravel_rekamore.migrations: ~21 rows (приблизительно)
175 /*!40000 ALTER TABLE `migrations` DISABLE KEYS */;
176 INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES
177 (1, '2014_10_12_000000_create_users_table', 1),
178 (2, '2014_10_12_100000_create_password_resets_table', 1),
179 (3, '2019_08_19_000000_create_failed_jobs_table', 1),
180 (4, '2019_12_14_000001_create_personal_access_tokens_table', 1),
181 (5, '2023_05_15_102620_alter_users_table', 2),
182 (6, '2023_05_16_062924_alter_users_table2', 3),
183 (7, '2023_05_16_080855_create_workers_table', 3),
184 (8, '2023_05_16_080945_create_employers_table', 3),
185 (9, '2023_05_16_081048_create_ad_employers_table', 3),
186 (10, '2023_05_16_081113_create_categories_table', 3),
187 (11, '2023_05_16_081142_create_group_users_table', 3),
188 (12, '2023_05_16_081213_create_job_titles_table', 3),
189 (13, '2023_05_16_081237_create_messages_table', 3),
190 (14, '2023_05_16_081308_create_static_workers_table', 3),
191 (15, '2023_05_16_081330_create_static_ads_table', 3),
192 (16, '2023_05_16_092746_alter_ad_jobs_table', 4),
193 (17, '2023_05_16_092836_alter_group_work_table', 4),
194 (18, '2023_05_17_090650_alter_group_users_table', 5),
195 (19, '2023_05_17_090749_alter_messages_table', 5),
196 (20, '2023_05_17_090923_alter_employers_table', 5),
197 (21, '2023_05_17_090944_alter_workers_table', 5),
198 (22, '2023_05_17_095512_alter_users_table', 6);
199 /*!40000 ALTER TABLE `migrations` ENABLE KEYS */;
200
201 -- Дамп структуры для таблица laravel_rekamore.password_resets
202 CREATE TABLE IF NOT EXISTS `password_resets` (
203 `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
204 `token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
205 `created_at` timestamp NULL DEFAULT NULL,
206 PRIMARY KEY (`email`)
207 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
208
209 -- Дамп данных таблицы laravel_rekamore.password_resets: ~0 rows (приблизительно)
210 /*!40000 ALTER TABLE `password_resets` DISABLE KEYS */;
211 /*!40000 ALTER TABLE `password_resets` ENABLE KEYS */;
212
213 -- Дамп структуры для таблица laravel_rekamore.personal_access_tokens
214 CREATE TABLE IF NOT EXISTS `personal_access_tokens` (
215 `id` bigint unsigned NOT NULL AUTO_INCREMENT,
216 `tokenable_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
217 `tokenable_id` bigint unsigned NOT NULL,
218 `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
219 `token` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
220 `abilities` text COLLATE utf8mb4_unicode_ci,
221 `last_used_at` timestamp NULL DEFAULT NULL,
222 `expires_at` timestamp NULL DEFAULT NULL,
223 `created_at` timestamp NULL DEFAULT NULL,
224 `updated_at` timestamp NULL DEFAULT NULL,
225 PRIMARY KEY (`id`),
226 UNIQUE KEY `personal_access_tokens_token_unique` (`token`),
227 KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`)
228 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
229
230 -- Дамп данных таблицы laravel_rekamore.personal_access_tokens: ~0 rows (приблизительно)
231 /*!40000 ALTER TABLE `personal_access_tokens` DISABLE KEYS */;
232 /*!40000 ALTER TABLE `personal_access_tokens` ENABLE KEYS */;
233
234 -- Дамп структуры для таблица laravel_rekamore.static_ads
235 CREATE TABLE IF NOT EXISTS `static_ads` (
236 `id` bigint unsigned NOT NULL AUTO_INCREMENT,
237 `ad_employer_id` bigint NOT NULL,
238 `lookin` int NOT NULL DEFAULT '0',
239 `month_year` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
240 `message` int NOT NULL DEFAULT '0',
241 `created_at` timestamp NULL DEFAULT NULL,
242 `updated_at` timestamp NULL DEFAULT NULL,
243 PRIMARY KEY (`id`)
244 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
245
246 -- Дамп данных таблицы laravel_rekamore.static_ads: ~0 rows (приблизительно)
247 /*!40000 ALTER TABLE `static_ads` DISABLE KEYS */;
248 /*!40000 ALTER TABLE `static_ads` ENABLE KEYS */;
249
250 -- Дамп структуры для таблица laravel_rekamore.static_workers
251 CREATE TABLE IF NOT EXISTS `static_workers` (
252 `id` bigint unsigned NOT NULL AUTO_INCREMENT,
253 `user_id` bigint NOT NULL,
254 `lookin` int NOT NULL DEFAULT '0',
255 `month_year` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
256 `message` int NOT NULL DEFAULT '0',
257 `created_at` timestamp NULL DEFAULT NULL,
258 `updated_at` timestamp NULL DEFAULT NULL,
259 PRIMARY KEY (`id`)
260 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
261
262 -- Дамп данных таблицы laravel_rekamore.static_workers: ~0 rows (приблизительно)
263 /*!40000 ALTER TABLE `static_workers` DISABLE KEYS */;
264 /*!40000 ALTER TABLE `static_workers` ENABLE KEYS */;
265
266 -- Дамп структуры для таблица laravel_rekamore.users
267 CREATE TABLE IF NOT EXISTS `users` (
268 `id` bigint unsigned NOT NULL AUTO_INCREMENT,
269 `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
270 `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
271 `admin` tinyint(1) NOT NULL DEFAULT '0',
272 `email_verified_at` timestamp NULL DEFAULT NULL,
273 `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
274 `remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
275 `created_at` timestamp NULL DEFAULT NULL,
276 `updated_at` timestamp NULL DEFAULT NULL,
277 `telephone` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
278 `surname` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
279 `name_man` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
280 `surname2` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
281 `is_worker` tinyint(1) NOT NULL DEFAULT '0',
282 `is_lookin` tinyint(1) NOT NULL DEFAULT '1',
283 `is_message` tinyint(1) NOT NULL DEFAULT '1',
284 `is_public` tinyint(1) NOT NULL DEFAULT '1',
285 `is_remove` tinyint(1) NOT NULL DEFAULT '0',
286 `is_ban` tinyint(1) NOT NULL DEFAULT '0',
287 `is_new` tinyint(1) NOT NULL DEFAULT '1',
288 PRIMARY KEY (`id`),
289 UNIQUE KEY `users_email_unique` (`email`)
290 ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
291
292 -- Дамп данных таблицы laravel_rekamore.users: ~4 rows (приблизительно)
293 /*!40000 ALTER TABLE `users` DISABLE KEYS */;
294 INSERT INTO `users` (`id`, `name`, `email`, `admin`, `email_verified_at`, `password`, `remember_token`, `created_at`, `updated_at`, `telephone`, `surname`, `name_man`, `surname2`, `is_worker`, `is_lookin`, `is_message`, `is_public`, `is_remove`, `is_ban`, `is_new`) VALUES
295 (1, 'Администратор', 'admin@mail.ru', 1, '2023-05-15 14:46:39', '$2y$10$4LrFVBjWy.Tjl2OJIuvfiOppobeQNA42bzJ5c1AJRgv1vm56N0/Yq', 'TqzY4yyIUyLJYRdSzGLqGTxNKL4E1x3EbCF2OLlI6bugbek0wRnYNThSMfUh', '2023-05-15 07:46:26', '2023-05-17 13:44:10', '+79131340942', NULL, 'Андрей', NULL, 0, 1, 1, 1, 0, 0, 0),
296 (2, 'integralal', 'integralal@mail.ru', 0, '2023-05-15 20:35:12', '$2y$10$As4bkRP3XXiSZG3rERW4Uee05nD9bO8vABDpakx.xG8tuEuBvK9Qq', '9SuLE4Ig5j20yrJxLd3OcAXZ6AQB8hqbZwLlr6o6E3ld5BuTbwuz92kGK1xW', '2023-05-15 10:16:27', '2023-05-17 13:44:09', NULL, NULL, 'Александр', NULL, 1, 1, 1, 1, 0, 0, 0),
297 (3, 'менеджер', 'info@renttorg.ru', 0, NULL, '$2y$10$avhr9OwECSHOtRDCE4Qe/uyq8MelzHKRiRT3NqEm/KApe.JcNSkAK', '5cZRhemIWOPFFQUtB0acF6vFvJVfS9WvSRXxxmTkoFiBiy1Gbv4ZbHQhMQWZ', '2023-05-17 06:45:07', '2023-05-17 13:46:17', NULL, NULL, 'Олег', NULL, 0, 1, 1, 1, 0, 0, 0),
298 (4, 'Админ-менеджер', 'Info@vekprom.ru', 1, '2023-05-17 15:34:57', '$2y$10$9l3vgMBMFlqAt4xyY7v9EuWB0EdCOVTd1scM2a3FIcXzpI.JPCVmq', 'lPwraQgpzNn7uXB72f4jhvRkcORzmownmJEjFGfXfNPGoWHX44M9DDUm67YG', '2023-05-17 08:33:37', '2023-05-17 13:43:40', NULL, NULL, 'Наталья', NULL, 0, 1, 1, 1, 0, 0, 0);
299 /*!40000 ALTER TABLE `users` ENABLE KEYS */;
300
301 -- Дамп структуры для таблица laravel_rekamore.workers
302 CREATE TABLE IF NOT EXISTS `workers` (
303 `id` bigint unsigned NOT NULL AUTO_INCREMENT,
304 `user_id` bigint NOT NULL,
305 `status_work` int NOT NULL DEFAULT '1',
306 `position_work` int NOT NULL DEFAULT '1',
307 `telephone` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
308 `telephone2` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
309 `email` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
310 `persent_anketa` int NOT NULL DEFAULT '10',
311 `photo` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
312 `email_data` tinyint(1) NOT NULL DEFAULT '0',
313 `status_profile` int NOT NULL DEFAULT '1',
314 `old_year` int DEFAULT NULL,
315 `experience` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
316 `en_is` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
317 `interpassport` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
318 `mk` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
319 `vvp` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
320 `vlm` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
321 `reka_diplom` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
322 `more_diplom` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
323 `mpss` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
324 `tanker` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
325 `gmssb` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
326 `resume` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
327 `sort` int NOT NULL,
328 `created_at` timestamp NULL DEFAULT NULL,
329 `updated_at` timestamp NULL DEFAULT NULL,
330 `address` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
331 `city` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
332 `text` text COLLATE utf8mb4_unicode_ci,
333 PRIMARY KEY (`id`)
334 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
335
336 -- Дамп данных таблицы laravel_rekamore.workers: ~0 rows (приблизительно)
337 /*!40000 ALTER TABLE `workers` DISABLE KEYS */;
338 /*!40000 ALTER TABLE `workers` ENABLE KEYS */;
339
340 /*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
341 /*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */;
342 /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
343 /*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */;
344