Commit bb2fb443df87d6bf5b48028cd49c1f0e78c45768

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

Архитектурное дополнение БД, моделей, контроллеров и вьюшек

Showing 20 changed files with 798 additions and 330 deletions Inline Diff

app/Http/Controllers/Admin/Ad_EmployersController.php
File was created 1 <?php
2
3 namespace App\Http\Controllers\Admin;
4
5 use App\Http\Controllers\Controller;
6 use App\Models\Ad_employer;
7 use App\Models\User;
8 use Illuminate\Http\Request;
9 use Illuminate\Support\Facades\Auth;
10
11 class Ad_EmployersController extends Controller
12 {
13 /**
14 * Display a listing of the resource.
15 *
16 * @return \Illuminate\Http\Response
17 */
18 public function index(Request $request)
19 {
20 $title = 'Админка - Вакансии работодателей';
21 $ad_employers = Ad_employer::where('is_remove', '0')->paginate(15);
22
23 return view('admin.ad_employers.index', compact('ad_employers', 'title'));
24
25 }
26
27 /**
28 * Show the form for creating a new resource.
29 *
30 * @return \Illuminate\Http\Response
31 */
32 public function create()
33 {
34 //
35 }
36
37 /**
38 * Store a newly created resource in storage.
39 *
40 * @param \Illuminate\Http\Request $request
41 * @return \Illuminate\Http\Response
42 */
43 public function store(Request $request)
44 {
45 //
46 }
47
48 /**
49 * Display the specified resource.
50 *
51 * @param \App\Models\Ad_employer $ad_employer
52 * @return \Illuminate\Http\Response
53 */
54 public function show(Ad_employer $ad_employer)
55 {
56 //
57 }
58
59 /**
60 * Show the form for editing the specified resource.
61 *
62 * @param \App\Models\Ad_employer $ad_employer
63 * @return \Illuminate\Http\Response
64 */
65 public function edit(Ad_employer $ad_employer)
66 {
67 //
68 }
69
70 /**
71 * Update the specified resource in storage.
72 *
73 * @param \Illuminate\Http\Request $request
74 * @param \App\Models\Ad_employer $ad_employer
75 * @return \Illuminate\Http\Response
76 */
77 public function update(Request $request, Ad_employer $ad_employer)
78 {
79 //
80 }
81
82 /**
83 * Remove the specified resource from storage.
84 *
85 * @param \App\Models\Ad_employer $ad_employer
86 * @return \Illuminate\Http\Response
87 */
88 public function destroy(Ad_employer $ad_employer)
89 {
90 //
91 }
92 }
93
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; 6 use App\Http\Requests\CompanyRequest;
7 use App\Models\Company; 7 use App\Models\Company;
8 use App\Models\Employer; 8 use App\Models\Employer;
9 use App\Models\User; 9 use App\Models\User;
10 use Illuminate\Http\Request; 10 use Illuminate\Http\Request;
11 use Illuminate\Support\Facades\Auth; 11 use Illuminate\Support\Facades\Auth;
12 use Illuminate\Support\Facades\Hash; 12 use Illuminate\Support\Facades\Hash;
13 use Illuminate\Support\Facades\Storage; 13 use Illuminate\Support\Facades\Storage;
14 use Illuminate\Support\Facades\Validator; 14 use Illuminate\Support\Facades\Validator;
15 15
16 class AdminController extends Controller 16 class AdminController extends Controller
17 { 17 {
18 /** 18 /**
19 * Handle the incoming request. 19 * Handle the incoming request.
20 * 20 *
21 * @param \Illuminate\Http\Request $request 21 * @param \Illuminate\Http\Request $request
22 * @return \Illuminate\Http\Response 22 * @return \Illuminate\Http\Response
23 */ 23 */
24 public function __invoke(Request $request) 24 public function __invoke(Request $request)
25 { 25 {
26 // 26 //
27 } 27 }
28 28
29 public function register() { 29 public function register() {
30 return view('admin.register'); 30 return view('admin.register');
31 } 31 }
32 32
33 public function create(Request $request) { 33 public function create(Request $request) {
34 34
35 $rules = [ 35 $rules = [
36 'name' => 'required|string|max:255', 36 'name' => 'required|string|max:255',
37 'email' => 'required|string|email|max:255|unique:users', 37 'email' => 'required|string|email|max:255|unique:users',
38 'password' => 'required|string|min:8|confirmed', 38 'password' => 'required|string|min:8|confirmed',
39 ]; 39 ];
40 40
41 $messages = [ 41 $messages = [
42 'required' => 'Укажите обязательное поле «:attribute»', 42 'required' => 'Укажите обязательное поле «:attribute»',
43 'confirmed' => 'Пароли не совпадают', 43 'confirmed' => 'Пароли не совпадают',
44 'email' => 'Введите корректный email', 44 'email' => 'Введите корректный email',
45 'min' => [ 45 'min' => [
46 'string' => 'Поле «:attribute» должно быть не меньше :min символов', 46 'string' => 'Поле «:attribute» должно быть не меньше :min символов',
47 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт' 47 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт'
48 ], 48 ],
49 'max' => [ 49 'max' => [
50 'string' => 'Поле «:attribute» должно быть не больше :max символов', 50 'string' => 'Поле «:attribute» должно быть не больше :max символов',
51 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт' 51 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт'
52 ], 52 ],
53 ]; 53 ];
54 54
55 $validator = Validator::make($request->all(), $rules, $messages); 55 $validator = Validator::make($request->all(), $rules, $messages);
56 56
57 if ($validator->fails()) { 57 if ($validator->fails()) {
58 return back()->withErrors($validator)->withInput(); //->route('admin.register') 58 return back()->withErrors($validator)->withInput(); //->route('admin.register')
59 59
60 } else { 60 } else {
61 $params = $request->all(); 61 $params = $request->all();
62 62
63 User::create([ 63 User::create([
64 'name' => $request->name, 64 'name' => $request->name,
65 'email' => $request->email, 65 'email' => $request->email,
66 'password' => Hash::make($request->password), 66 'password' => Hash::make($request->password),
67 ]); 67 ]);
68 return redirect() 68 return redirect()
69 ->route('admin.login') 69 ->route('admin.login')
70 ->with('success', 'Вы успешно зарегистрировались'); 70 ->with('success', 'Вы успешно зарегистрировались');
71 } 71 }
72 } 72 }
73 73
74 public function login() { 74 public function login() {
75 return view('admin.login'); 75 return view('admin.login');
76 } 76 }
77 77
78 // Аутентификация 78 // Аутентификация
79 public function autenticate(Request $request) { 79 public function autenticate(Request $request) {
80 //$request->validate( 80 //$request->validate(
81 $rules = [ 81 $rules = [
82 'email' => 'required|string|email', 82 'email' => 'required|string|email',
83 'password' => 'required|string', 83 'password' => 'required|string',
84 ]; 84 ];
85 85
86 $messages = [ 86 $messages = [
87 'required' => 'Укажите обязательное поле «:attribute»', 87 'required' => 'Укажите обязательное поле «:attribute»',
88 'email' => 'Введите корректный email', 88 'email' => 'Введите корректный email',
89 'min' => [ 89 'min' => [
90 'string' => 'Поле «:attribute» должно быть не меньше :min символов', 90 'string' => 'Поле «:attribute» должно быть не меньше :min символов',
91 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт' 91 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт'
92 ], 92 ],
93 'max' => [ 93 'max' => [
94 'string' => 'Поле «:attribute» должно быть не больше :max символов', 94 'string' => 'Поле «:attribute» должно быть не больше :max символов',
95 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт' 95 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт'
96 ], 96 ],
97 ]; 97 ];
98 98
99 99
100 $validator = Validator::make($request->all(), $rules, $messages); 100 $validator = Validator::make($request->all(), $rules, $messages);
101 101
102 if ($validator->fails()) { 102 if ($validator->fails()) {
103 return back()->withErrors($validator)->withInput(); 103 return back()->withErrors($validator)->withInput();
104 104
105 } else { 105 } else {
106 106
107 $credentials = $request->only('email', 'password'); 107 $credentials = $request->only('email', 'password');
108 108
109 if (Auth::attempt($credentials, $request->has('remember'))) { 109 if (Auth::attempt($credentials, $request->has('remember'))) {
110 110
111 if (is_null(Auth::user()->email_verified_at)) { 111 if (is_null(Auth::user()->email_verified_at)) {
112 Auth::logout(); 112 Auth::logout();
113 return back()->withErrors('Адрес почты не подтвержден')->withInput(); 113 return back()->withErrors('Адрес почты не подтвержден')->withInput();
114 } 114 }
115 115
116 if (!Auth::user()->admin) { 116 if (!Auth::user()->admin) {
117 Auth::logout(); 117 Auth::logout();
118 return //redirect()->route('admin.login') 118 return //redirect()->route('admin.login')
119 back()->withErrors('Вы не являетесь админом!')->withInput();; 119 back()->withErrors('Вы не являетесь админом!')->withInput();;
120 120
121 } 121 }
122 122
123 return redirect() 123 return redirect()
124 ->route('admin.index') 124 ->route('admin.index')
125 ->with('success', 'Вы вошли в личный кабинет.'); 125 ->with('success', 'Вы вошли в личный кабинет.');
126 } 126 }
127 } 127 }
128 128
129 return redirect() 129 return redirect()
130 ->route('admin.login') 130 ->route('admin.login')
131 ->withErrors('Неверный логин или пароль!')->withInput(); 131 ->withErrors('Неверный логин или пароль!')->withInput();
132 132
133 } 133 }
134 134
135 public function logout() { 135 public function logout() {
136 Auth::logout(); 136 Auth::logout();
137 return redirect()->route('index') 137 return redirect()->route('index')
138 ->with('success', 'Вы вышли из личного кабинета'); 138 ->with('success', 'Вы вышли из личного кабинета');
139 } 139 }
140 140
141 public function index() { 141 public function index() {
142 $all_user = User::query()->count(); 142 $all_user = User::query()->count();
143 $all_employer = User::where('is_worker', '0')->count(); 143 $all_employer = User::where('is_worker', '0')->count();
144 $all_worker = User::where('is_worker', '1')->count(); 144 $all_worker = User::where('is_worker', '1')->count();
145 $all_admin = User::where('admin', '1')->count(); 145 $all_admin = User::where('admin', '1')->count();
146 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'));
147 } 147 }
148 148
149 public function index_admin(Request $request) { 149 public function index_admin(Request $request) {
150 $title = 'Админка - Администраторы системы'; 150 $title = 'Админка - Администраторы системы';
151 $id_admin = Auth::user()->id;
151 152
152 if ($request->ajax()) { 153 if ($request->ajax()) {
153 $user = User::find($request->id); 154 $user = User::find($request->id);
154 $request->offsetUnset('id'); 155 $request->offsetUnset('id');
155 $user->update($request->all()); 156 $user->update($request->all());
156 } 157 }
157 158
158 $users = User::where('admin', '1')->paginate(15); 159 $users = User::where('admin', '1')->paginate(15);
159 160
160 if ($request->ajax()) { 161 if ($request->ajax()) {
161 return view('admin.users.index_ajax', compact('users')); 162 return view('admin.users.index_ajax', compact('users', 'id_admin'));
162 } else { 163 } else {
163 return view('admin.users.index', compact('users', 'title')); 164 return view('admin.users.index', compact('users', 'title', 'id_admin'));
164 } 165 }
165 } 166 }
166 167
167 //Страница профиль пользователя - форма 168 //Страница профиль пользователя - форма
168 public function profile_user(User $user) { 169 public function profile_user(User $user) {
169 $visible = false; 170 $visible = false;
170 if($user->is_worker) { 171 if($user->is_worker) {
171 $caption = "Карточка работника"; 172 $caption = "Карточка работника";
172 if (isset($user->workers[0]->id)) { 173 if (isset($user->workers[0]->id)) {
173 $link = route('admin.worker-profile', ['worker' => $user->workers[0]->id]); 174 $link = route('admin.worker-profile', ['worker' => $user->workers[0]->id]);
174 $visible = true; 175 //$visible = true;
175 } else { 176 } else {
176 $link = ""; 177 $link = "";
177 } 178 }
178 179
179 } else { 180 } else {
180 $caption = "Карточка работодателя"; 181 $caption = "Карточка работодателя";
181 if (isset($user->employers[0]->id)) { 182 if (isset($user->employers[0]->id)) {
182 183
183 $link = route('admin.employer-profile', ['employer' => $user->employers[0]->id]); 184 $link = route('admin.employer-profile', ['employer' => $user->employers[0]->id]);
184 $visible = true; 185 //$visible = true;
185 } else { 186 } else {
186 $link = ""; 187 $link = "";
187 } 188 }
188 } 189 }
189 190
190 return view('admin.users.profile', compact('user', 'visible', 'link', 'caption')); 191 return view('admin.users.profile', compact('user', 'visible', 'link', 'caption'));
191 } 192 }
192 193
193 //Страница профиль пользователя - сохранение формы 194 //Страница профиль пользователя - сохранение формы
194 public function store_profile_user(User $user, Request $request) { 195 public function store_profile_user(User $user, Request $request) {
195 $rules = [ 196 $rules = [
196 'name' => 'required|min:3', 197 'name' => 'required|min:3',
197 ]; 198 ];
198 $messages = [ 199 $messages = [
199 'required' => 'Укажите обязательное поле', 200 'required' => 'Укажите обязательное поле',
200 'email' => 'Это поле должно быть определено, как Email' 201 'email' => 'Это поле должно быть определено, как Email'
201 ]; 202 ];
202 $validator = Validator::make($request->all(), $rules, $messages); 203 $validator = Validator::make($request->all(), $rules, $messages);
203 204
204 if ($validator->fails()) { 205 if ($validator->fails()) {
205 return redirect()->route('admin.user-profile', ['user' => $user->id]) 206 return redirect()->route('admin.user-profile', ['user' => $user->id])
206 ->withErrors($validator); 207 ->withErrors($validator);
207 } else { 208 } else {
208 $user->update($request->all()); 209 $user->update($request->all());
209 return redirect()->route('admin.user-profile', ['user' => $user->id]) 210 return redirect()->route('admin.user-profile', ['user' => $user->id])
210 ->with('success', 'Данные были успешно сохранены'); 211 ->with('success', 'Данные были успешно сохранены');
211 } 212 }
212 return redirect()->route('admin.user-profile', ['user' => $user->id]); 213 return redirect()->route('admin.user-profile', ['user' => $user->id]);
213 } 214 }
214 215
215 // Страница профиль админа - форма 216 // Страница профиль админа - форма
216 public function profile() { 217 public function profile() {
217 $id = Auth::user()->id; 218 $id = Auth::user()->id;
218 $user = User::find($id); 219 $user = User::find($id);
219 220
220 return view('admin.profile', compact('user')); 221 return view('admin.profile', compact('user'));
221 } 222 }
222 223
223 // Страница профиль админа - сохранение формы 224 // Страница профиль админа - сохранение формы
224 public function store_profile(Request $request) { 225 public function store_profile(Request $request) {
225 $id = Auth::user()->id; 226 $id = Auth::user()->id;
226 $user = User::find($id); 227 $user = User::find($id);
227 228
228 $rules = [ 229 $rules = [
229 'name' => 'required|min:3', 230 'name' => 'required|min:3',
230 'email' => 'required|email|min:3', 231 'email' => 'required|email|min:3',
231 ]; 232 ];
232 $messages = [ 233 $messages = [
233 'required' => 'Укажите обязательное поле', 234 'required' => 'Укажите обязательное поле',
234 'email' => 'Это поле должно быть определено, как Email' 235 'email' => 'Это поле должно быть определено, как Email'
235 ]; 236 ];
236 $validator = Validator::make($request->all(), $rules, $messages); 237 $validator = Validator::make($request->all(), $rules, $messages);
237 238
238 if ($validator->fails()) { 239 if ($validator->fails()) {
239 return redirect()->route('admin.profile') 240 return redirect()->route('admin.profile')
240 ->withErrors($validator); 241 ->withErrors($validator);
241 } else { 242 } else {
242 $user->update($request->all()); 243 $user->update($request->all());
243 return redirect()->route('admin.profile') 244 return redirect()->route('admin.profile')
244 ->with('success', 'Данные были успешно сохранены'); 245 ->with('success', 'Данные были успешно сохранены');
245 } 246 }
246 return redirect()->route('admin.profile'); 247 return redirect()->route('admin.profile');
247 } 248 }
248 249
249 // Форма смены пароля администоратора 250 // Форма смены пароля администоратора
250 public function profile_password() { 251 public function profile_password() {
251 $id = Auth::user()->id; 252 $id = Auth::user()->id;
252 $user = User::find($id); 253 $user = User::find($id);
253 $username = $user->name; 254 $username = $user->name;
254 255
255 return view('admin.password', compact('username')); 256 return view('admin.password', compact('username'));
256 } 257 }
257 258
258 // Сохранение формы смены пароля администоратора 259 // Сохранение формы смены пароля администоратора
259 public function profile_password_new(Request $request) { 260 public function profile_password_new(Request $request) {
260 261
261 $rules = [ 262 $rules = [
262 'old_password' => 'required|min:6', //|current_password:api', 263 'old_password' => 'required|min:6', //|current_password:api',
263 'password' => 'required|min:6|confirmed', 264 'password' => 'required|min:6|confirmed',
264 ]; 265 ];
265 $messages = [ 266 $messages = [
266 'required' => 'Укажите обязательное поле', 267 'required' => 'Укажите обязательное поле',
267 'confirmed' => 'Пароли не совпадают' 268 'confirmed' => 'Пароли не совпадают'
268 ]; 269 ];
269 270
270 $validator = Validator::make($request->all(), $rules, $messages); 271 $validator = Validator::make($request->all(), $rules, $messages);
271 272
272 if (! Hash::check($request->old_password, $request->user()->password)) { 273 if (! Hash::check($request->old_password, $request->user()->password)) {
273 return back()->withErrors([ 274 return back()->withErrors([
274 'old_password' => ['Неверный предыдущий пароль'] 275 'old_password' => ['Неверный предыдущий пароль']
275 ]); 276 ]);
276 } 277 }
277 278
278 if ($validator->fails()) { 279 if ($validator->fails()) {
279 return redirect()->route('admin.password') 280 return redirect()->route('admin.password')
280 ->withErrors($validator); 281 ->withErrors($validator);
281 } else { 282 } else {
282 $params = $request->all(); 283 $params = $request->all();
283 // устанавливаем новый пароль для пользователя 284 // устанавливаем новый пароль для пользователя
284 User::where('id', Auth::id()) 285 User::where('id', Auth::id())
285 ->update(['password' => Hash::make($request->password)]); 286 ->update(['password' => Hash::make($request->password)]);
286 session()->flash('success', 'Успешно изменен пароль!'); 287 session()->flash('success', 'Успешно изменен пароль!');
287 288
288 return redirect()->route('admin.password'); 289 return redirect()->route('admin.password');
289 } 290 }
290 } 291 }
291 292
292 // Страница конфигурация сайта - форма 293 // Страница конфигурация сайта - форма
293 public function config_form() { 294 public function config_form() {
294 $config = Company::find(1); 295 $config = Company::find(1);
295 return view('admin.config', compact('config')); 296 return view('admin.config', compact('config'));
296 } 297 }
297 298
298 // Страница конфигурация сайта - сохранение формы 299 // Страница конфигурация сайта - сохранение формы
299 public function store_config(CompanyRequest $request) { 300 public function store_config(CompanyRequest $request) {
300 $config = Company::find(1); 301 $config = Company::find(1);
301 302
302 $params = $request->all(); 303 $params = $request->all();
303 unset($params['logo']); 304 unset($params['logo']);
304 unset($params['image']); 305 unset($params['image']);
305 306
306 if ($request->has('logo')) { 307 if ($request->has('logo')) {
307 Storage::delete($config->logo); 308 Storage::delete($config->logo);
308 $params['logo'] = $request->file('logo')->store('config', 'public'); 309 $params['logo'] = $request->file('logo')->store('config', 'public');
309 } 310 }
310 311
311 if ($request->has('image')) { 312 if ($request->has('image')) {
312 Storage::delete($config->image); 313 Storage::delete($config->image);
313 $params['image'] = $request->file('image')->store('config', 'public'); 314 $params['image'] = $request->file('image')->store('config', 'public');
314 } 315 }
315 316
316 if (is_null($config)) { 317 if (is_null($config)) {
317 Company::create($params); 318 Company::create($params);
318 } else { 319 } else {
319 $config->update($params); 320 $config->update($params);
320 } 321 }
321 322
322 return redirect()->route('admin.config'); 323 return redirect()->route('admin.config');
323 } 324 }
324 325
325 // кабинет - редактор сайта
326 public function editor() {
327 return;
328 }
329
330 // кабинет - редактор шапки-футера сайта
331 public function editblocks() {
332 return;
333 }
334
335 // кабинет - редактор должности на главной
336 public function job_titles_main() {
337 return;
338 }
339
340 // кабинет - редактор работодатели на главной
341 public function employers_main() {
342 return;
343 }
344
345 // кабинет - редактор seo-сайта
346 public function editor_seo() {
347 return;
348 }
349 326
350 // кабинет - редактор страниц
351 public function editor_pages() {
352 return;
353 }
354
355 // кабинет - реклама сайта
356 public function reclames() {
357 return;
358 }
359 } 327 }
app/Http/Controllers/Admin/CompanyController.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 Illuminate\Http\Request; 6 use Illuminate\Http\Request;
7 7
8 class CompanyController extends Controller 8 class CompanyController extends Controller
9 { 9 {
10 // 10 // кабинет - редактор сайта
11 public function editor() {
12 return;
13 }
14
15 // кабинет - редактор шапки-футера сайта
16 public function editblocks() {
17 return;
18 }
19
20 // кабинет - редактор должности на главной
21 public function job_titles_main() {
22 return;
23 }
24
25 // кабинет - редактор работодатели на главной
26 public function employers_main() {
27 return;
28 }
29
30 // кабинет - редактор seo-сайта
31 public function editor_seo() {
32 return;
33 }
34
35 // кабинет - редактор страниц
36 public function editor_pages() {
37 return;
38 }
39
40 // кабинет - реклама сайта
41 public function reclames() {
42 return;
43 }
11 } 44 }
12 45
app/Http/Controllers/Admin/EmployersController.php
1 <?php 1 <?php
2 2
3 namespace App\Http\Controllers\Admin; 3 namespace App\Http\Controllers\Admin;
4 4
5 use App\Http\Controllers\Controller; 5 use App\Http\Controllers\Controller;
6 use App\Models\Employer; 6 use App\Models\Employer;
7 use App\Models\User; 7 use App\Models\User;
8 use Illuminate\Http\Request; 8 use Illuminate\Http\Request;
9 use Illuminate\Support\Facades\Storage; 9 use Illuminate\Support\Facades\Storage;
10 use Illuminate\Support\Facades\Validator; 10 use Illuminate\Support\Facades\Validator;
11 11
12 class EmployersController extends Controller 12 class EmployersController extends Controller
13 { 13 {
14 public function index(Request $request) { 14 public function index(Request $request) {
15 if ($request->ajax()) { 15 if ($request->ajax()) {
16 $user = User::find($request->id); 16 $user = User::find($request->id);
17 $request->offsetUnset('id'); 17 $request->offsetUnset('id');
18 $user->update($request->all()); 18 $user->update($request->all());
19 } 19 }
20 20
21 $users = User::where('is_worker', '0')->paginate(15); 21 $users = User::where('is_worker', '0')->paginate(15);
22 if ($request->ajax()) { 22 if ($request->ajax()) {
23 return view('admin.employer.index_ajax', compact('users')); 23 return view('admin.employer.index_ajax', compact('users'));
24 } else { 24 } else {
25 return view('admin.employer.index', compact('users')); 25 return view('admin.employer.index', compact('users'));
26 } 26 }
27 } 27 }
28 28
29 public function form_update_employer(Employer $employer) { 29 public function form_update_employer(Employer $employer) {
30 return view('admin.employer.edit', compact('employer')); 30 return view('admin.employer.edit', compact('employer'));
31 } 31 }
32 32
33 public function update_employer(Employer $employer, Request $request) 33 public function update_employer(Employer $employer, Request $request)
34 { 34 {
35 $params = $request->all(); 35 $params = $request->all();
36 unset($params['logo']); 36 unset($params['logo']);
37 unset($params['telephone']); 37 unset($params['telephone']);
38 unset($params['email']); 38 unset($params['email']);
39 unset($params['address']); 39 unset($params['address']);
40 unset($params['site']); 40 unset($params['site']);
41 41
42 $rules = [ 42 $rules = [
43 'name' => 'required|string|max:255', 43 'name' => 'required|string|max:255',
44 ]; 44 ];
45 45
46 $messages = [ 46 $messages = [
47 'required' => 'Укажите обязательное поле «:attribute»', 47 'required' => 'Укажите обязательное поле «:attribute»',
48 'confirmed' => 'Пароли не совпадают', 48 'confirmed' => 'Пароли не совпадают',
49 'email' => 'Введите корректный email', 49 'email' => 'Введите корректный email',
50 'min' => [ 50 'min' => [
51 'string' => 'Поле «:attribute» должно быть не меньше :min символов', 51 'string' => 'Поле «:attribute» должно быть не меньше :min символов',
52 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт' 52 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт'
53 ], 53 ],
54 'max' => [ 54 'max' => [
55 'string' => 'Поле «:attribute» должно быть не больше :max символов', 55 'string' => 'Поле «:attribute» должно быть не больше :max символов',
56 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт' 56 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт'
57 ], 57 ],
58 ]; 58 ];
59 59
60 $validator = Validator::make($params, $rules, $messages); 60 $validator = Validator::make($params, $rules, $messages);
61 61
62 if ($validator->fails()) { 62 if ($validator->fails()) {
63 return back()->withErrors($validator)->withInput(); //->route('admin.register') 63 return back()->withErrors($validator)->withInput(); //->route('admin.register')
64 64
65 } else { 65 } else {
66 66
67 //$user = User::find($employer->user_id); 67 //$user = User::find($employer->user_id);
68 $user_id = $employer->user_id; 68 $user_id = $employer->user_id;
69 $employer->telephone = $request->telephone; 69 $employer->telephone = $request->telephone;
70 $employer->email = $request->email; 70 $employer->email = $request->email;
71 $employer->address = $request->address; 71 $employer->address = $request->address;
72 $employer->site = $request->site; 72 $employer->site = $request->site;
73 $employer->text = $request->text; 73 $employer->text = $request->text;
74 74
75 if ($request->has('logo')) { 75 if ($request->has('logo')) {
76 if (!empty($employer->logo)) { 76 if (!empty($employer->logo)) {
77 Storage::delete($employer->logo); 77 Storage::delete($employer->logo);
78 } 78 }
79 $employer->logo = $request->file('logo')->store("employer/$user_id", 'public'); 79 $employer->logo = $request->file('logo')->store("employer/$user_id", 'public');
80 } 80 }
81 $employer->save(); 81 $employer->save();
82 82
83 $user = User::find($user_id); 83 $user = User::find($user_id);
84 $user->update($params); 84 $user->update($params);
85 85
86 return redirect()->route('admin.employer-profile', ['employer' => $employer->id]) 86 return redirect()->route('admin.employer-profile', ['employer' => $employer->id])
87 ->with('success', 'Данные были успешно сохранены'); 87 ->with('success', 'Данные были успешно сохранены');
88 } 88 }
89 } 89 }
90
91 // кабинет - отзывы о работодателе для модерации
92 public function answers() {
93 return;
94 }
95
96 // кабинет - статистика вакансий работодателя
97 public function static_ads() {
98 return;
99 }
100
101
90 } 102 }
91 103
app/Http/Controllers/Admin/UsersController.php
1 <?php 1 <?php
2 2
3 namespace App\Http\Controllers\Admin; 3 namespace App\Http\Controllers\Admin;
4 4
5 use App\Http\Controllers\Controller; 5 use App\Http\Controllers\Controller;
6 use App\Models\User; 6 use App\Models\User;
7 use Illuminate\Http\Request; 7 use Illuminate\Http\Request;
8 use Illuminate\Support\Facades\Auth;
8 9
9 class UsersController extends Controller 10 class UsersController extends Controller
10 { 11 {
11 public function index(Request $request) { 12 public function index(Request $request) {
12 $title = 'Админка - Пользователи системы'; 13 $title = 'Админка - Пользователи системы';
13 14 $id_admin = Auth::user()->id;
14 if ($request->ajax()) { 15 if ($request->ajax()) {
15 $user = User::find($request->id); 16 $user = User::find($request->id);
16 $request->offsetUnset('id'); 17 $request->offsetUnset('id');
17 $user->update($request->all()); 18 $user->update($request->all());
18 } 19 }
19 20
20 $users = User::query()->paginate(15); 21 $users = User::query()->paginate(15);
21 22
22 if ($request->ajax()) { 23 if ($request->ajax()) {
23 return view('admin.users.index_ajax', compact('users')); 24 return view('admin.users.index_ajax', compact('users', 'id_admin'));
24 } else { 25 } else {
25 return view('admin.users.index', compact('users', 'title')); 26 return view('admin.users.index', compact('users', 'title', 'id_admin'));
26 } 27 }
27 } 28 }
28 29
30 public function roles() {
31 return;
32 }
29 } 33 }
30 34
app/Http/Controllers/Admin/WorkersController.php
1 <?php 1 <?php
2 2
3 namespace App\Http\Controllers\Admin; 3 namespace App\Http\Controllers\Admin;
4 4
5 use App\Http\Controllers\Controller; 5 use App\Http\Controllers\Controller;
6 use App\Models\User; 6 use App\Models\User;
7 use App\Models\Worker; 7 use App\Models\Worker;
8 use Illuminate\Http\Request; 8 use Illuminate\Http\Request;
9 9
10 class WorkersController extends Controller 10 class WorkersController extends Controller
11 { 11 {
12 public function index(Request $request) { 12 public function index(Request $request) {
13 if ($request->ajax()) { 13 if ($request->ajax()) {
14 $user = User::find($request->id); 14 $user = User::find($request->id);
15 $request->offsetUnset('id'); 15 $request->offsetUnset('id');
16 $user->update($request->all()); 16 $user->update($request->all());
17 } 17 }
18 18
19 $users = User::where('is_worker', '1')->paginate(15); 19 $users = User::where('is_worker', '1')->paginate(15);
20 20
21 if ($request->ajax()) { 21 if ($request->ajax()) {
22 return view('admin.worker.index_ajax', compact('users')); 22 return view('admin.worker.index_ajax', compact('users'));
23 } else { 23 } else {
24 return view('admin.worker.index', compact('users')); 24 return view('admin.worker.index', compact('users'));
25 } 25 }
26 } 26 }
27 27
28 public function form_update_worker(Worker $worker) { 28 public function form_update_worker(Worker $worker) {
29 return view('admin.worker.edit'); 29 return view('admin.worker.edit');
30 } 30 }
31
32 // кабинет - статистика работников
33 public function static_workers() {
34 return;
35 }
36
37 // кабинет - справочник - блоки информации для резюме работника
38 public function infobloks() {
39 return;
40 }
31 } 41 }
32 42
app/Models/Ad_employer.php
1 <?php 1 <?php
2 2
3 namespace App\Models; 3 namespace App\Models;
4 4
5 use Illuminate\Database\Eloquent\Factories\HasFactory; 5 use Illuminate\Database\Eloquent\Factories\HasFactory;
6 use Illuminate\Database\Eloquent\Model; 6 use Illuminate\Database\Eloquent\Model;
7 7
8 class Ad_employer extends Model 8 class Ad_employer extends Model
9 { 9 {
10 use HasFactory; 10 use HasFactory;
11
12 /*
13 * Связь таблицы employers с таблицей ad_employers
14 */
15 public function employer() {
16 return $this->belongsTo(Employer::class, 'employer_id');
17 }
11 } 18 }
12 19
public/assets/js/init-alpine.js
1 function data() { 1 function data() {
2 function getThemeFromLocalStorage() { 2 function getThemeFromLocalStorage() {
3 // if user already changed the theme, use it 3 // if user already changed the theme, use it
4 if (window.localStorage.getItem('dark')) { 4 if (window.localStorage.getItem('dark')) {
5 return JSON.parse(window.localStorage.getItem('dark')) 5 return JSON.parse(window.localStorage.getItem('dark'))
6 } 6 }
7 7
8 // else return their preferences 8 // else return their preferences
9 return ( 9 return (
10 !!window.matchMedia && 10 !!window.matchMedia &&
11 window.matchMedia('(prefers-color-scheme: dark)').matches 11 window.matchMedia('(prefers-color-scheme: dark)').matches
12 ) 12 )
13 } 13 }
14 14
15 function setThemeToLocalStorage(value) { 15 function setThemeToLocalStorage(value) {
16 window.localStorage.setItem('dark', value) 16 window.localStorage.setItem('dark', value)
17 } 17 }
18 18
19 return { 19 return {
20 dark: getThemeFromLocalStorage(), 20 dark: getThemeFromLocalStorage(),
21 toggleTheme() { 21 toggleTheme() {
22 this.dark = !this.dark 22 this.dark = !this.dark
23 setThemeToLocalStorage(this.dark) 23 setThemeToLocalStorage(this.dark)
24 }, 24 },
25 isSideMenuOpen: false, 25 isSideMenuOpen: false,
26 toggleSideMenu() { 26 toggleSideMenu() {
27 this.isSideMenuOpen = !this.isSideMenuOpen 27 this.isSideMenuOpen = !this.isSideMenuOpen
28 }, 28 },
29 closeSideMenu() { 29 closeSideMenu() {
30 this.isSideMenuOpen = false 30 this.isSideMenuOpen = false
31 }, 31 },
32 isNotificationsMenuOpen: false, 32 isNotificationsMenuOpen: false,
33 toggleNotificationsMenu() { 33 toggleNotificationsMenu() {
34 this.isNotificationsMenuOpen = !this.isNotificationsMenuOpen 34 this.isNotificationsMenuOpen = !this.isNotificationsMenuOpen
35 }, 35 },
36 closeNotificationsMenu() { 36 closeNotificationsMenu() {
37 this.isNotificationsMenuOpen = false 37 this.isNotificationsMenuOpen = false
38 }, 38 },
39 isProfileMenuOpen: false, 39 isProfileMenuOpen: false,
40 toggleProfileMenu() { 40 toggleProfileMenu() {
41 this.isProfileMenuOpen = !this.isProfileMenuOpen 41 this.isProfileMenuOpen = !this.isProfileMenuOpen
42 }, 42 },
43 closeProfileMenu() { 43 closeProfileMenu() {
44 this.isProfileMenuOpen = false 44 this.isProfileMenuOpen = false
45 }, 45 },
46 isPagesMenuOpen: false, 46 isPagesMenuOpen: false,
47 togglePagesMenu() { 47 togglePagesMenu() {
48 this.isPagesMenuOpen = !this.isPagesMenuOpen 48 this.isPagesMenuOpen = !this.isPagesMenuOpen
49 }, 49 },
50 open1: false,
51 open1() {
52 this.open1 = !this.open1
53 },
50 // Modal 54 // Modal
51 isModalOpen: false, 55 isModalOpen: false,
52 trapCleanup: null, 56 trapCleanup: null,
53 openModal() { 57 openModal() {
54 this.isModalOpen = true 58 this.isModalOpen = true
55 this.trapCleanup = focusTrap(document.querySelector('#modal')) 59 this.trapCleanup = focusTrap(document.querySelector('#modal'))
56 }, 60 },
57 closeModal() { 61 closeModal() {
58 this.isModalOpen = false 62 this.isModalOpen = false
59 this.trapCleanup() 63 this.trapCleanup()
60 }, 64 },
61 } 65 }
62 } 66 }
63 67
resources/views/admin/ad_employers/index.blade.php
File was created 1 @extends('layout.admin', ['title' => 'Админка - Работодатели'])
2
3 @section('script')
4 @endsection
5
6 @section('search')
7 <div class="absolute inset-y-0 flex items-center pl-2">
8 <svg
9 class="w-4 h-4"
10 aria-hidden="true"
11 fill="currentColor"
12 viewBox="0 0 20 20"
13 >
14 <path
15 fill-rule="evenodd"
16 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"
17 clip-rule="evenodd"
18 ></path>
19 </svg>
20 </div>
21 <form action="" method="POST">
22 <div style="float:left;"><input
23 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"
24 style="width: 400px"
25 type="text"
26 placeholder="Искать..."
27 aria-label="Search"
28 /></div>
29 <div style="float: left">
30 <button type="submit" class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple">Искать</button>
31 </div>
32 </form>
33 @endsection
34
35 @section('content')
36 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block">
37 <div class="w-full overflow-x-auto">
38 <table class="w-full whitespace-no-wrap">
39 <thead>
40 <tr
41 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"
42 >
43 <th class="px-4 py-3">№</th>
44 <th class="px-4 py-3">Название компании</th>
45 <th class="px-4 py-3">Вакансии</th>
46 <th class="px-4 py-3">Город</th>
47 <th class="px-4 py-3">Дата</th>
48 </tr>
49 </thead>
50 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
51 @foreach($ad_employers as $ad)
52 <tr class="text-gray-700 dark:text-gray-400">
53 <td class="px-4 py-3">
54 {{$ad->id}}
55 </td>
56 <td class="px-4 py-3">
57 {{$ad->employers->name_company}}
58 </td>
59 <td class="px-4 py-3">
60 <div class="flex items-center text-sm">
61 <div>
62
63 <p class="font-semibold"></p>
64 <p class="text-xs text-gray-600 dark:text-gray-400">
65 </p>
66
67 </div>
68 </div>
69
70 </td>
71 <td class="px-4 py-3 text-sm">
72 {{ $ad->city }}
73 </td>
74 <td class="px-4 py-3 text-sm">
75 {{ $ad->created_at }}
76 </td>
77 </tr>
78 @endforeach
79 </tbody>
80 </table>
81 </div>
82
83 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800">
84 <?=$ad->appends($_GET)->links('admin.pagginate'); ?>
85 </div>
86 </div>
87 @endsection
88
resources/views/admin/category/index.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Категории']) 1 @extends('layout.admin', ['title' => 'Админка - Категории'])
2 2
3 @section('script') 3 @section('script')
4 <script> 4 <script>
5 $(document).ready(function() { 5 $(document).ready(function() {
6 $(document).on('click', '.checkban', function () { 6 $(document).on('click', '.checkban', function () {
7 var this_ = $(this); 7 var this_ = $(this);
8 var value = this_.val(); 8 var value = this_.val();
9 var ajax_block = $('#ajax_block'); 9 var ajax_block = $('#ajax_block');
10 var bool = 0; 10 var bool = 0;
11 11
12 if(this.checked){ 12 if(this.checked){
13 bool = 1; 13 bool = 1;
14 } else { 14 } else {
15 bool = 0; 15 bool = 0;
16 } 16 }
17 17
18 $.ajax({ 18 $.ajax({
19 type: "GET", 19 type: "GET",
20 url: "{{ url()->full()}}", 20 url: "{{ url()->full()}}",
21 data: "id=" + value + "&is_ban=" + bool, 21 data: "id=" + value + "&is_ban=" + bool,
22 success: function (data) { 22 success: function (data) {
23 console.log('Обновление таблицы пользователей '); 23 console.log('Обновление таблицы пользователей ');
24 //data = JSON.parse(data); 24 //data = JSON.parse(data);
25 console.log(data); 25 console.log(data);
26 ajax_block.html(data); 26 ajax_block.html(data);
27 }, 27 },
28 headers: { 28 headers: {
29 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 29 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
30 }, 30 },
31 error: function (data) { 31 error: function (data) {
32 console.log('Error: ' + data); 32 console.log('Error: ' + data);
33 } 33 }
34 }); 34 });
35 }); 35 });
36 36
37 }); 37 });
38 </script> 38 </script>
39 @endsection 39 @endsection
40 40
41 @section('search')
42 <div class="absolute inset-y-0 flex items-center pl-2">
43 <svg
44 class="w-4 h-4"
45 aria-hidden="true"
46 fill="currentColor"
47 viewBox="0 0 20 20"
48 >
49 <path
50 fill-rule="evenodd"
51 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"
52 clip-rule="evenodd"
53 ></path>
54 </svg>
55 </div>
56 <form action="" method="POST">
57 <div style="float:left;"><input
58 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"
59 style="width: 400px"
60 type="text"
61 placeholder="Искать..."
62 aria-label="Search"
63 /></div>
64 <div style="float: left">
65 <button type="submit" class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple">Искать</button>
66 </div>
67 </form>
68 @endsection
69
41 @section('content') 70 @section('content')
42 71
43 <a href="{{ route('admin.categories.create') }}" style="width: 210px" class="px-5 py-3 font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-lg active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 72 <a href="{{ route('admin.categories.create') }}" style="width: 210px" class="px-5 py-3 font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-lg active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
44 Добавить категорию 73 Добавить категорию
45 </a> 74 </a>
46 <br> 75 <br>
47 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block"> 76 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block">
48 77
49 <div class="w-full overflow-x-auto"> 78 <div class="w-full overflow-x-auto">
50 <table class="w-full whitespace-no-wrap"> 79 <table class="w-full whitespace-no-wrap">
51 <thead> 80 <thead>
52 <tr 81 <tr
53 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800" 82 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800"
54 > 83 >
55 <th class="px-4 py-3">№</th> 84 <th class="px-4 py-3">№</th>
56 <th class="px-4 py-3">Название категории</th> 85 <th class="px-4 py-3">Название категории</th>
57 <th class="px-4 py-3">Дата создания</th> 86 <th class="px-4 py-3">Дата создания</th>
58 <th class="px-4 py-3">Редактировать</th> 87 <th class="px-4 py-3">Редактировать</th>
59 </tr> 88 </tr>
60 </thead> 89 </thead>
61 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 90 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
62 @foreach($category as $cat) 91 @foreach($category as $cat)
63 <tr class="text-gray-700 dark:text-gray-400"> 92 <tr class="text-gray-700 dark:text-gray-400">
64 <td class="px-4 py-3"> 93 <td class="px-4 py-3">
65 {{$cat->id}} 94 {{$cat->id}}
66 </td> 95 </td>
67 <td class="px-4 py-3"> 96 <td class="px-4 py-3">
68 {{$cat->name}} 97 {{$cat->name}}
69 </td> 98 </td>
70 <td class="px-4 py-3"> 99 <td class="px-4 py-3">
71 {{$cat->created_at}} 100 {{$cat->created_at}}
72 </td> 101 </td>
73 <td class="px-4 py-3 text-sm"> 102 <td class="px-4 py-3 text-sm">
74 <form action="{{ route('admin.categories.destroy', ['category' => $cat->id]) }}" method="POST"> 103 <form action="{{ route('admin.categories.destroy', ['category' => $cat->id]) }}" method="POST">
75 <a href="{{ route('admin.categories.edit', ['category' => $cat->id]) }}">Изменить</a> | 104 <a href="{{ route('admin.categories.edit', ['category' => $cat->id]) }}">Изменить</a> |
76 @csrf 105 @csrf
77 @method('DELETE') 106 @method('DELETE')
78 <input class=" btn-danger" type="submit" value="Удалить"> 107 <input class=" btn-danger" type="submit" value="Удалить">
79 </form> 108 </form>
80 </td> 109 </td>
81 </tr> 110 </tr>
82 @endforeach 111 @endforeach
83 </tbody> 112 </tbody>
84 </table> 113 </table>
85 </div> 114 </div>
86 115
87 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800"> 116 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800">
88 <?=$category->appends($_GET)->links('admin.pagginate'); ?> 117 <?=$category->appends($_GET)->links('admin.pagginate'); ?>
89 </div> 118 </div>
90 </div> 119 </div>
91 @endsection 120 @endsection
92 121
resources/views/admin/employer/index.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Работодатели']) 1 @extends('layout.admin', ['title' => 'Админка - Работодатели'])
2 2
3 @section('script') 3 @section('script')
4 <script> 4 <script>
5 $(document).ready(function() { 5 $(document).ready(function() {
6 $(document).on('click', '.checkban', function () { 6 $(document).on('click', '.checkban', function () {
7 var this_ = $(this); 7 var this_ = $(this);
8 var value = this_.val(); 8 var value = this_.val();
9 var ajax_block = $('#ajax_block'); 9 var ajax_block = $('#ajax_block');
10 var bool = 0; 10 var bool = 0;
11 11
12 if(this.checked){ 12 if(this.checked){
13 bool = 1; 13 bool = 1;
14 } else { 14 } else {
15 bool = 0; 15 bool = 0;
16 } 16 }
17 17
18 $.ajax({ 18 $.ajax({
19 type: "GET", 19 type: "GET",
20 url: "{{ url()->full()}}", 20 url: "{{ url()->full()}}",
21 data: "id=" + value + "&is_ban=" + bool, 21 data: "id=" + value + "&is_ban=" + bool,
22 success: function (data) { 22 success: function (data) {
23 console.log('Обновление таблицы пользователей '); 23 console.log('Обновление таблицы пользователей ');
24 //data = JSON.parse(data); 24 //data = JSON.parse(data);
25 console.log(data); 25 //console.log(data);
26 ajax_block.html(data); 26 ajax_block.html(data);
27 }, 27 },
28 headers: { 28 headers: {
29 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 29 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
30 }, 30 },
31 error: function (data) { 31 error: function (data) {
32 console.log('Error: ' + data); 32 console.log('Error: ' + data);
33 } 33 }
34 }); 34 });
35 }); 35 });
36 36
37 }); 37 });
38 </script> 38 </script>
39 @endsection 39 @endsection
40 40
41 @section('search')
42 <div class="absolute inset-y-0 flex items-center pl-2">
43 <svg
44 class="w-4 h-4"
45 aria-hidden="true"
46 fill="currentColor"
47 viewBox="0 0 20 20"
48 >
49 <path
50 fill-rule="evenodd"
51 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"
52 clip-rule="evenodd"
53 ></path>
54 </svg>
55 </div>
56 <form action="" method="POST">
57 <div style="float:left;"><input
58 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"
59 style="width: 400px"
60 type="text"
61 placeholder="Искать..."
62 aria-label="Search"
63 /></div>
64 <div style="float: left">
65 <button type="submit" class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple">Искать</button>
66 </div>
67 </form>
68 @endsection
69
41 @section('content') 70 @section('content')
42 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block"> 71 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block">
43 <div class="w-full overflow-x-auto"> 72 <div class="w-full overflow-x-auto">
44 <table class="w-full whitespace-no-wrap"> 73 <table class="w-full whitespace-no-wrap">
45 <thead> 74 <thead>
46 <tr 75 <tr
47 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" 76 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"
48 > 77 >
49 <th class="px-4 py-3">№</th> 78 <th class="px-4 py-3">№</th>
50 <th class="px-4 py-3">Название компании</th> 79 <th class="px-4 py-3">Название компании</th>
51 <th class="px-4 py-3">Email/Телефон</th> 80 <th class="px-4 py-3">Email/Телефон</th>
52 <th class="px-4 py-3">Имя</th> 81 <th class="px-4 py-3">Имя</th>
53 <th class="px-4 py-3">Дата регистрации</th> 82 <th class="px-4 py-3">Дата регистрации</th>
54 <th class="px-4 py-3">Изменить</th> 83 <th class="px-4 py-3">Изменить</th>
55 <th class="px-4 py-3">Бан</th> 84 <th class="px-4 py-3">Бан</th>
56 </tr> 85 </tr>
57 </thead> 86 </thead>
58 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 87 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
59 @foreach($users as $user) 88 @foreach($users as $user)
60 <tr class="text-gray-700 dark:text-gray-400"> 89 <tr class="text-gray-700 dark:text-gray-400">
61 <td class="px-4 py-3"> 90 <td class="px-4 py-3">
62 {{$user->id}} 91 {{$user->id}}
63 </td> 92 </td>
64 <td class="px-4 py-3"> 93 <td class="px-4 py-3">
65 {{$user->name}} 94 {{$user->name}}
66 </td> 95 </td>
67 <td class="px-4 py-3"> 96 <td class="px-4 py-3">
68 <div class="flex items-center text-sm"> 97 <div class="flex items-center text-sm">
69 <!--<div class="relative hidden w-8 h-8 mr-3 rounded-full md:block"> 98 <!--<div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
70 <div 99 <div
71 class="absolute inset-0 rounded-full shadow-inner" 100 class="absolute inset-0 rounded-full shadow-inner"
72 aria-hidden="true" 101 aria-hidden="true"
73 ></div> 102 ></div>
74 </div>--> 103 </div>-->
75 <div> 104 <div>
76 <p class="font-semibold">{{ empty($user->employers->email) ? $user->email : $user->employers->email }}</p> 105 <p class="font-semibold">{{ empty($user->employers->email) ? $user->email : $user->employers->email }}</p>
77 <p class="text-xs text-gray-600 dark:text-gray-400"> 106 <p class="text-xs text-gray-600 dark:text-gray-400">
78 {{ empty($user->employers->telephone) ? $user->telephone : $user->employers->telephone }} 107 {{ empty($user->employers->telephone) ? $user->telephone : $user->employers->telephone }}
79 </p> 108 </p>
80 </div> 109 </div>
81 </div> 110 </div>
82 111
83 </td> 112 </td>
84 <td class="px-4 py-3 text-sm"> 113 <td class="px-4 py-3 text-sm">
85 {{ $user->name_man }} 114 {{ $user->name_man }}
86 </td> 115 </td>
87 <td class="px-4 py-3 text-sm"> 116 <td class="px-4 py-3 text-sm">
88 {{ $user->created_at }} 117 {{ $user->created_at }}
89 </td> 118 </td>
90 <td class="px-4 py-3 text-sm"> 119 <td class="px-4 py-3 text-sm">
91 @if ($user->id > 1) 120 @if ($user->id > 1)
92 <a href="{{ route('admin.user-profile', ['user' => $user->id]) }}">Изменить</a> 121 <a href="{{ route('admin.user-profile', ['user' => $user->id]) }}">Изменить</a>
93 @endif 122 @endif
94 </td> 123 </td>
95 <td class="px-4 py-3 text-sm"> 124 <td class="px-4 py-3 text-sm">
96 @if ($user->id > 1) 125 @if ($user->id > 1)
97 <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/> 126 <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/>
98 @endif 127 @endif
99 </td> 128 </td>
100 </tr> 129 </tr>
101 @endforeach 130 @endforeach
102 </tbody> 131 </tbody>
103 </table> 132 </table>
104 </div> 133 </div>
105 134
106 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800"> 135 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800">
107 <?=$users->appends($_GET)->links('admin.pagginate'); ?> 136 <?=$users->appends($_GET)->links('admin.pagginate'); ?>
108 </div> 137 </div>
109 </div> 138 </div>
110 @endsection 139 @endsection
111 140
resources/views/admin/employer/index_ajax.blade.php
1 <div class="w-full overflow-x-auto"> 1 <div class="w-full overflow-x-auto">
2 <table class="w-full whitespace-no-wrap"> 2 <table class="w-full whitespace-no-wrap">
3 <thead> 3 <thead>
4 <tr 4 <tr
5 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" 5 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"
6 > 6 >
7 <th class="px-4 py-3">№</th> 7 <th class="px-4 py-3">№</th>
8 <th class="px-4 py-3">Название компании</th> 8 <th class="px-4 py-3">Название компании</th>
9 <th class="px-4 py-3">Email/Телефон</th> 9 <th class="px-4 py-3">Email/Телефон</th>
10 <th class="px-4 py-3">Имя</th> 10 <th class="px-4 py-3">Имя</th>
11 <th class="px-4 py-3">Дата регистрации</th> 11 <th class="px-4 py-3">Дата регистрации</th>
12 <th class="px-4 py-3">Изменить</th> 12 <th class="px-4 py-3">Изменить</th>
13 <th class="px-4 py-3">Блокировать</th> 13 <th class="px-4 py-3">Бан</th>
14 </tr> 14 </tr>
15 </thead> 15 </thead>
16 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 16 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
17 @foreach($users as $user) 17 @foreach($users as $user)
18 <tr class="text-gray-700 dark:text-gray-400"> 18 <tr class="text-gray-700 dark:text-gray-400">
19 <td class="px-4 py-3"> 19 <td class="px-4 py-3">
20 {{$user->id}} 20 {{$user->id}}
21 </td> 21 </td>
22 <td class="px-4 py-3"> 22 <td class="px-4 py-3">
23 {{$user->name}} 23 {{$user->name}}
24 </td> 24 </td>
25 <td class="px-4 py-3"> 25 <td class="px-4 py-3">
26 <div class="flex items-center text-sm"> 26 <div class="flex items-center text-sm">
27 <!--<div class="relative hidden w-8 h-8 mr-3 rounded-full md:block"> 27 <!--<div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
28 <div 28 <div
29 class="absolute inset-0 rounded-full shadow-inner" 29 class="absolute inset-0 rounded-full shadow-inner"
30 aria-hidden="true" 30 aria-hidden="true"
31 ></div> 31 ></div>
32 </div>--> 32 </div>-->
33 <div> 33 <div>
34 <p class="font-semibold">{{ empty($user->employers->email) ? $user->email : $user->employers->email }}</p> 34 <p class="font-semibold">{{ empty($user->employers->email) ? $user->email : $user->employers->email }}</p>
35 <p class="text-xs text-gray-600 dark:text-gray-400"> 35 <p class="text-xs text-gray-600 dark:text-gray-400">
36 {{ empty($user->employers->telephone) ? $user->telephone : $user->employers->telephone }} 36 {{ empty($user->employers->telephone) ? $user->telephone : $user->employers->telephone }}
37 </p> 37 </p>
38 </div> 38 </div>
39 </div> 39 </div>
40 40
41 </td> 41 </td>
42 <td class="px-4 py-3 text-sm"> 42 <td class="px-4 py-3 text-sm">
43 {{ $user->name_man }} 43 {{ $user->name_man }}
44 </td> 44 </td>
45 <td class="px-4 py-3 text-sm"> 45 <td class="px-4 py-3 text-sm">
46 {{ $user->created_at }} 46 {{ $user->created_at }}
47 </td> 47 </td>
48 <td class="px-4 py-3 text-sm"> 48 <td class="px-4 py-3 text-sm">
49 <a href="">Изменить</a> 49 @if ($user->id > 1)
50 <a href="{{ route('admin.user-profile', ['user' => $user->id]) }}">Изменить</a>
51 @endif
50 </td> 52 </td>
51 <td class="px-4 py-3 text-sm"> 53 <td class="px-4 py-3 text-sm">
52 <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/> 54 @if ($user->id > 1)
55 <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/>
56 @endif
53 </td> 57 </td>
54 </tr> 58 </tr>
55 @endforeach 59 @endforeach
56 </tbody> 60 </tbody>
57 </table> 61 </table>
58 </div> 62 </div>
59 63
60 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800"> 64 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800">
61 <?//=$users->appends($_GET)->links('admin.pagginate'); ?> 65 <?//=$users->appends($_GET)->links('admin.pagginate'); ?>
62 <?=$users->links('admin.pagginate'); ?> 66 <?=$users->links('admin.pagginate'); ?>
63 </div> 67 </div>
64 68
65 69
resources/views/admin/index.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Главная страница']) 1 @extends('layout.admin', ['title' => 'Админка - Главная страница'])
2 2
3 @section('content') 3 @section('content')
4 <div class="grid gap-6 mb-8 md:grid-cols-2 xl:grid-cols-4"> 4 <div class="grid gap-6 mb-8 md:grid-cols-2 xl:grid-cols-4">
5 5
6 <div class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"> 6 <div class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800">
7 <div class="p-3 mr-4 text-orange-500 bg-orange-100 rounded-full dark:text-orange-100 dark:bg-orange-500"> 7 <div class="p-3 mr-4 text-orange-500 bg-orange-100 rounded-full dark:text-orange-100 dark:bg-orange-500">
8 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 8 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
9 <path 9 <path
10 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"></path> 10 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"></path>
11 </svg> 11 </svg>
12 </div> 12 </div>
13 <div> 13 <div>
14 <p class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"> 14 <p class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400">
15 Всего пользователей 15 Всего пользователей
16 </p> 16 </p>
17 <p class="text-lg font-semibold text-gray-700 dark:text-gray-200"> 17 <p class="text-lg font-semibold text-gray-700 dark:text-gray-200">
18 {{ $all_user }} 18 {{ $all_user }}
19 </p> 19 </p>
20 </div> 20 </div>
21 </div> 21 </div>
22 22
23 <div class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"> 23 <div class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800">
24 <div class="p-3 mr-4 text-green-500 bg-green-100 rounded-full dark:text-green-100 dark:bg-green-500"> 24 <div class="p-3 mr-4 text-green-500 bg-green-100 rounded-full dark:text-green-100 dark:bg-green-500">
25 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 25 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
26 <path 26 <path
27 fill-rule="evenodd" 27 fill-rule="evenodd"
28 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" 28 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"
29 clip-rule="evenodd" 29 clip-rule="evenodd"
30 ></path> 30 ></path>
31 </svg> 31 </svg>
32 </div> 32 </div>
33 <div> 33 <div>
34 <p class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"> 34 <p class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400">
35 Работодателей 35 Работодателей
36 </p> 36 </p>
37 <p class="text-lg font-semibold text-gray-700 dark:text-gray-200"> 37 <p class="text-lg font-semibold text-gray-700 dark:text-gray-200">
38 {{ $all_employer }} 38 {{ $all_employer }}
39 </p> 39 </p>
40 </div> 40 </div>
41 </div> 41 </div>
42 42
43 <div class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"> 43 <div class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800">
44 <div class="p-3 mr-4 text-blue-500 bg-blue-100 rounded-full dark:text-blue-100 dark:bg-blue-500"> 44 <div class="p-3 mr-4 text-blue-500 bg-blue-100 rounded-full dark:text-blue-100 dark:bg-blue-500">
45 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 45 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
46 <path 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"></path> 46 <path 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"></path>
47 </svg> 47 </svg>
48 </div> 48 </div>
49 <div> 49 <div>
50 <p class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"> 50 <p class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400">
51 Соискателей 51 Соискателей
52 </p> 52 </p>
53 <p class="text-lg font-semibold text-gray-700 dark:text-gray-200"> 53 <p class="text-lg font-semibold text-gray-700 dark:text-gray-200">
54 {{$all_worker}} 54 {{$all_worker}}
55 </p> 55 </p>
56 </div> 56 </div>
57 </div> 57 </div>
58 58
59 <div class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"> 59 <div class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800">
60 <div class="p-3 mr-4 text-teal-500 bg-teal-100 rounded-full dark:text-teal-100 dark:bg-teal-500"> 60 <div class="p-3 mr-4 text-teal-500 bg-teal-100 rounded-full dark:text-teal-100 dark:bg-teal-500">
61 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 61 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
62 <path 62 <path
63 fill-rule="evenodd" 63 fill-rule="evenodd"
64 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" 64 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"
65 clip-rule="evenodd" 65 clip-rule="evenodd"
66 ></path> 66 ></path>
67 </svg> 67 </svg>
68 </div> 68 </div>
69 <div> 69 <div>
70 <p class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"> 70 <p class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400">
71 Администраторы 71 Администраторы
72 </p> 72 </p>
73 <p class="text-lg font-semibold text-gray-700 dark:text-gray-200"> 73 <p class="text-lg font-semibold text-gray-700 dark:text-gray-200">
74 {{$all_admin}} 74 {{$all_admin}}
75 </p> 75 </p>
76 </div> 76 </div>
77 </div> 77 </div>
78 </div> 78 </div>
79 79
80 <!-- Таблицы --> 80 <!-- Таблицы -->
81 81
82 <div class="w-full overflow-hidden rounded-lg shadow-xs"> 82 <div class="w-full overflow-hidden rounded-lg shadow-xs">
83 <div class="w-full overflow-x-auto"> 83 <div class="w-full overflow-x-auto">
84 <table class="w-full whitespace-no-wrap"> 84 <table class="w-full whitespace-no-wrap">
85 <thead> 85 <thead>
86 <tr 86 <tr
87 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" 87 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"
88 > 88 >
89 <th class="px-4 py-3">Название</th> 89 <th class="px-4 py-3">Название</th>
90 <th class="px-4 py-3">Таблица</th> 90 <th class="px-4 py-3">Таблица</th>
91 <th class="px-4 py-3">Редактирование</th> 91 <th class="px-4 py-3">Редактирование</th>
92 <th class="px-4 py-3">Дата</th> 92 <th class="px-4 py-3">Дата</th>
93 </tr> 93 </tr>
94 </thead> 94 </thead>
95 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 95 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
96 <tr class="text-gray-700 dark:text-gray-400"> 96 <tr class="text-gray-700 dark:text-gray-400">
97 <td class="px-4 py-3"> 97 <td class="px-4 py-3">
98 <div class="flex items-center text-sm"> 98 <div class="flex items-center text-sm">
99 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block"> 99 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
100 <div 100 <div
101 class="absolute inset-0 rounded-full shadow-inner" 101 class="absolute inset-0 rounded-full shadow-inner"
102 aria-hidden="true" 102 aria-hidden="true"
103 ></div> 103 ></div>
104 </div> 104 </div>
105 <div> 105 <div>
106 <p class="font-semibold"><a href="{{ route('admin.users') }}">Пользователи</a></p> 106 <p class="font-semibold"><a href="{{ route('admin.users') }}">Пользователи</a></p>
107 <p class="text-xs text-gray-600 dark:text-gray-400"> 107 <p class="text-xs text-gray-600 dark:text-gray-400">
108 Все пользователи сайта 108 Все пользователи сайта
109 </p> 109 </p>
110 </div> 110 </div>
111 </div> 111 </div>
112 </td> 112 </td>
113 <td class="px-4 py-3 text-sm"> 113 <td class="px-4 py-3 text-sm">
114 users 114 users
115 </td> 115 </td>
116 <td class="px-4 py-3 text-xs"> 116 <td class="px-4 py-3 text-xs">
117 <span 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"> 117 <span 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">
118 Доступно 118 Доступно
119 </span> 119 </span>
120 <!--<span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"> 120 <!--<span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600">
121 Недоступно 121 Недоступно
122 </span>--> 122 </span>-->
123 </td> 123 </td>
124 <td class="px-4 py-3 text-sm"> 124 <td class="px-4 py-3 text-sm">
125 май 2023 125 май 2023
126 </td> 126 </td>
127 </tr> 127 </tr>
128 128
129 <tr class="text-gray-700 dark:text-gray-400"> 129 <tr class="text-gray-700 dark:text-gray-400">
130 <td class="px-4 py-3"> 130 <td class="px-4 py-3">
131 <div class="flex items-center text-sm"> 131 <div class="flex items-center text-sm">
132 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block"> 132 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
133 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div> 133 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div>
134 </div> 134 </div>
135 <div> 135 <div>
136 <p class="font-semibold"><a href="{{ route('admin.employers') }}">Работодатели</a></p> 136 <p class="font-semibold"><a href="{{ route('admin.employers') }}">Работодатели</a></p>
137 <p class="text-xs text-gray-600 dark:text-gray-400"> 137 <p class="text-xs text-gray-600 dark:text-gray-400">
138 Все работодатели сайта 138 Все работодатели сайта
139 </p> 139 </p>
140 </div> 140 </div>
141 </div> 141 </div>
142 </td> 142 </td>
143 <td class="px-4 py-3 text-sm"> 143 <td class="px-4 py-3 text-sm">
144 employers 144 employers
145 </td> 145 </td>
146 <td class="px-4 py-3 text-xs"> 146 <td class="px-4 py-3 text-xs">
147 <span 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"> 147 <span 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">
148 Доступно 148 Доступно
149 </span> 149 </span>
150 </td> 150 </td>
151 <td class="px-4 py-3 text-sm"> 151 <td class="px-4 py-3 text-sm">
152 май 2023 152 май 2023
153 </td> 153 </td>
154 </tr> 154 </tr>
155 155
156 <tr class="text-gray-700 dark:text-gray-400"> 156 <tr class="text-gray-700 dark:text-gray-400">
157 <td class="px-4 py-3"> 157 <td class="px-4 py-3">
158 <div class="flex items-center text-sm"> 158 <div class="flex items-center text-sm">
159 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block"> 159 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
160 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div> 160 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div>
161 </div> 161 </div>
162 <div> 162 <div>
163 <p class="font-semibold"><a href="{{ route('admin.workers') }}">Соискатели</a></p> 163 <p class="font-semibold"><a href="{{ route('admin.workers') }}">Соискатели</a></p>
164 <p class="text-xs text-gray-600 dark:text-gray-400"> 164 <p class="text-xs text-gray-600 dark:text-gray-400">
165 Все работники сайта 165 Все работники сайта
166 </p> 166 </p>
167 </div> 167 </div>
168 </div> 168 </div>
169 </td> 169 </td>
170 <td class="px-4 py-3 text-sm"> 170 <td class="px-4 py-3 text-sm">
171 workers 171 workers
172 </td> 172 </td>
173 <td class="px-4 py-3 text-xs"> 173 <td class="px-4 py-3 text-xs">
174 <span 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"> 174 <span 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">
175 Доступно 175 Доступно
176 </span> 176 </span>
177 </td> 177 </td>
178 <td class="px-4 py-3 text-sm"> 178 <td class="px-4 py-3 text-sm">
179 май 2023 179 май 2023
180 </td> 180 </td>
181 </tr> 181 </tr>
182 182
183 <tr class="text-gray-700 dark:text-gray-400"> 183 <tr class="text-gray-700 dark:text-gray-400">
184 <td class="px-4 py-3"> 184 <td class="px-4 py-3">
185 <div class="flex items-center text-sm"> 185 <div class="flex items-center text-sm">
186 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block"> 186 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
187 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div> 187 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div>
188 </div> 188 </div>
189 <div> 189 <div>
190 <p class="font-semibold"><a href="{{ route('admin.ad-employers') }}">Вакансии</a></p> 190 <p class="font-semibold"><a href="{{ route('admin.ad-employers') }}">Вакансии</a></p>
191 <p class="text-xs text-gray-600 dark:text-gray-400"> 191 <p class="text-xs text-gray-600 dark:text-gray-400">
192 Все вакансии сайта 192 Все вакансии сайта
193 </p> 193 </p>
194 </div> 194 </div>
195 </div> 195 </div>
196 </td> 196 </td>
197 <td class="px-4 py-3 text-sm"> 197 <td class="px-4 py-3 text-sm">
198 ad_employers 198 ad_employers
199 </td> 199 </td>
200 <td class="px-4 py-3 text-xs"> 200 <td class="px-4 py-3 text-xs">
201 <span 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"> 201 <span 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">
202 Доступно 202 Доступно
203 </span> 203 </span>
204 </td> 204 </td>
205 <td class="px-4 py-3 text-sm"> 205 <td class="px-4 py-3 text-sm">
206 май 2023 206 май 2023
207 </td> 207 </td>
208 </tr> 208 </tr>
209 209
210 <tr class="text-gray-700 dark:text-gray-400"> 210 <tr class="text-gray-700 dark:text-gray-400">
211 <td class="px-4 py-3"> 211 <td class="px-4 py-3">
212 <div class="flex items-center text-sm"> 212 <div class="flex items-center text-sm">
213 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block"> 213 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
214 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div> 214 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div>
215 </div> 215 </div>
216 <div> 216 <div>
217 <p class="font-semibold"><a href="{{ route('admin.categories.index') }}">Категории</a></p> 217 <p class="font-semibold"><a href="{{ route('admin.categories.index') }}">Категории</a></p>
218 <p class="text-xs text-gray-600 dark:text-gray-400"> 218 <p class="text-xs text-gray-600 dark:text-gray-400">
219 Справочник категории (по умолчанию: река, море, река-море) 219 Справочник категории (по умолчанию: река, море, река-море)
220 </p> 220 </p>
221 </div> 221 </div>
222 </div> 222 </div>
223 </td> 223 </td>
224 <td class="px-4 py-3 text-sm"> 224 <td class="px-4 py-3 text-sm">
225 category 225 category
226 </td> 226 </td>
227 <td class="px-4 py-3 text-xs"> 227 <td class="px-4 py-3 text-xs">
228 <span 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"> 228 <span 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">
229 Доступно 229 Доступно
230 </span> 230 </span>
231 </td> 231 </td>
232 <td class="px-4 py-3 text-sm"> 232 <td class="px-4 py-3 text-sm">
233 май 2023 233 май 2023
234 </td> 234 </td>
235 </tr> 235 </tr>
236 236
237 <tr class="text-gray-700 dark:text-gray-400"> 237 <tr class="text-gray-700 dark:text-gray-400">
238 <td class="px-4 py-3"> 238 <td class="px-4 py-3">
239 <div class="flex items-center text-sm"> 239 <div class="flex items-center text-sm">
240 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block"> 240 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
241 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div> 241 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div>
242 </div> 242 </div>
243 <div> 243 <div>
244 <p class="font-semibold"><a href="{{ route('admin.job-titles') }}">Должности</a></p> 244 <p class="font-semibold"><a href="{{ route('admin.job-titles') }}">Должности</a></p>
245 <p class="text-xs text-gray-600 dark:text-gray-400"> 245 <p class="text-xs text-gray-600 dark:text-gray-400">
246 Все должности 246 Справочник должности (все должности проекта)
247 </p> 247 </p>
248 </div> 248 </div>
249 </div> 249 </div>
250 </td> 250 </td>
251 <td class="px-4 py-3 text-sm"> 251 <td class="px-4 py-3 text-sm">
252 job_titles 252 job_titles
253 </td> 253 </td>
254 <td class="px-4 py-3 text-xs"> 254 <td class="px-4 py-3 text-xs">
255 <span 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"> 255 <span 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">
256 Доступно 256 Доступно
257 </span> 257 </span>
258 </td> 258 </td>
259 <td class="px-4 py-3 text-sm"> 259 <td class="px-4 py-3 text-sm">
260 май 2023 260 май 2023
261 </td> 261 </td>
262 </tr> 262 </tr>
263 263
264 <tr class="text-gray-700 dark:text-gray-400"> 264 <tr class="text-gray-700 dark:text-gray-400">
265 <td class="px-4 py-3"> 265 <td class="px-4 py-3">
266 <div class="flex items-center text-sm"> 266 <div class="flex items-center text-sm">
267 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block"> 267 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
268 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div> 268 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div>
269 </div> 269 </div>
270 <div> 270 <div>
271 <p class="font-semibold"><a href="{{ route('admin.infobloks') }}">Документы-Дипломы</a></p>
272 <p class="text-xs text-gray-600 dark:text-gray-400">
273 Справочник документы-дипломы (все блоки-документы необходимые соискателю)
274 </p>
275 </div>
276 </div>
277 </td>
278 <td class="px-4 py-3 text-sm">
279 infobloks
280 </td>
281 <td class="px-4 py-3 text-xs">
282 <span 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">
283 Доступно
284 </span>
285 </td>
286 <td class="px-4 py-3 text-sm">
287 сентябрь 2023
288 </td>
289 </tr>
290
291 <tr class="text-gray-700 dark:text-gray-400">
292 <td class="px-4 py-3">
293 <div class="flex items-center text-sm">
294 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
295 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div>
296 </div>
297 <div>
271 <p class="font-semibold"><a href="{{ route('admin.messages') }}">Сообщения</a></p> 298 <p class="font-semibold"><a href="{{ route('admin.messages') }}">Сообщения</a></p>
272 <p class="text-xs text-gray-600 dark:text-gray-400"> 299 <p class="text-xs text-gray-600 dark:text-gray-400">
273 Все сообщения сайта 300 Все сообщения сайта
274 </p> 301 </p>
275 </div> 302 </div>
276 </div> 303 </div>
277 </td> 304 </td>
278 <td class="px-4 py-3 text-sm"> 305 <td class="px-4 py-3 text-sm">
279 messages 306 messages
280 </td> 307 </td>
281 <td class="px-4 py-3 text-xs"> 308 <td class="px-4 py-3 text-xs">
282 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"> 309 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600">
283 Недоступно 310 Недоступно
284 </span> 311 </span>
285 </td> 312 </td>
286 <td class="px-4 py-3 text-sm"> 313 <td class="px-4 py-3 text-sm">
287 май 2023 314 май 2023
288 </td> 315 </td>
289 </tr> 316 </tr>
290 317
291 <tr class="text-gray-700 dark:text-gray-400"> 318 <tr class="text-gray-700 dark:text-gray-400">
292 <td class="px-4 py-3"> 319 <td class="px-4 py-3">
293 <div class="flex items-center text-sm"> 320 <div class="flex items-center text-sm">
294 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block"> 321 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
295 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div> 322 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div>
296 </div> 323 </div>
297 <div> 324 <div>
298 <p class="font-semibold"><a href="{{ route('admin.groups') }}">Группы пользователей</a></p> 325 <p class="font-semibold"><a href="{{ route('admin.groups') }}">Группы пользователей</a></p>
299 <p class="text-xs text-gray-600 dark:text-gray-400"> 326 <p class="text-xs text-gray-600 dark:text-gray-400">
300 Группировка людей в именованные группы 327 Группировка людей в именованные группы
301 </p> 328 </p>
302 </div> 329 </div>
303 </div> 330 </div>
304 </td> 331 </td>
305 <td class="px-4 py-3 text-sm"> 332 <td class="px-4 py-3 text-sm">
306 group_users 333 group_users
307 </td> 334 </td>
308 <td class="px-4 py-3 text-xs"> 335 <td class="px-4 py-3 text-xs">
309 <span 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"> 336 <span 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">
310 Доступно 337 Доступно
311 </span> 338 </span>
312 </td> 339 </td>
313 <td class="px-4 py-3 text-sm"> 340 <td class="px-4 py-3 text-sm">
314 май 2023 341 май 2023
315 </td> 342 </td>
316 </tr> 343 </tr>
317 344
345 <tr class="text-gray-700 dark:text-gray-400">
346 <td class="px-4 py-3">
347 <div class="flex items-center text-sm">
348 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
349 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div>
350 </div>
351 <div>
352 <p class="font-semibold"><a href="{{ route('admin.roles') }}">Роли пользователей</a></p>
353 <p class="text-xs text-gray-600 dark:text-gray-400">
354 Роли людей (запреты и доступы) в системе
355 </p>
356 </div>
357 </div>
358 </td>
359 <td class="px-4 py-3 text-sm">
360 users
361 </td>
362 <td class="px-4 py-3 text-xs">
363 <span 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">
364 Доступно
365 </span>
366 </td>
367 <td class="px-4 py-3 text-sm">
368 сентябрь 2023
369 </td>
370 </tr>
318 371
372 <tr class="text-gray-700 dark:text-gray-400">
373 <td class="px-4 py-3">
374 <div class="flex items-center text-sm">
375 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
376 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div>
377 </div>
378 <div>
379 <p class="font-semibold"><a href="{{ route('admin.statics') }}">Статистика</a></p>
380 <p class="text-xs text-gray-600 dark:text-gray-400">
381 Статистика соискателей и работодателей
382 </p>
383 </div>
384 </div>
385 </td>
386 <td class="px-4 py-3 text-sm">
387 static_workers, static_ads
388 </td>
389 <td class="px-4 py-3 text-xs">
390 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600">
391 Недоступно
392 </span>
393 </td>
394 <td class="px-4 py-3 text-sm">
395 сентябрь 2023
396 </td>
397 </tr>
398
399 <tr class="text-gray-700 dark:text-gray-400">
400 <td class="px-4 py-3">
401 <div class="flex items-center text-sm">
402 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
403 <div class="absolute inset-0 rounded-full shadow-inner" aria-hidden="true"></div>
404 </div>
405 <div>
406 <p class="font-semibold"><a href="{{ route('admin.editor-site') }}">Редактор сайта</a></p>
407 <p class="text-xs text-gray-600 dark:text-gray-400">
408 Все редакторы системы
409 </p>
410 </div>
411 </div>
412 </td>
413 <td class="px-4 py-3 text-sm">
414 header_footer, job_titles_mains, employers_mains,<br> pages, seo, reclames, companies
415 </td>
416 <td class="px-4 py-3 text-xs">
417 <span 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">
418 Доступно
419 </span>
420 </td>
421 <td class="px-4 py-3 text-sm">
422 сентябрь 2023
423 </td>
424 </tr>
319 425
320 <!--<tr class="text-gray-700 dark:text-gray-400"> 426 <!--<tr class="text-gray-700 dark:text-gray-400">
321 <td class="px-4 py-3"> 427 <td class="px-4 py-3">
322 <div class="flex items-center text-sm"> 428 <div class="flex items-center text-sm">
323 429
324 <div 430 <div
325 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 431 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
326 > 432 >
327 <img 433 <img
328 class="object-cover w-full h-full rounded-full" 434 class="object-cover w-full h-full rounded-full"
329 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" 435 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"
330 alt="" 436 alt=""
331 loading="lazy" 437 loading="lazy"
332 /> 438 />
333 <div 439 <div
334 class="absolute inset-0 rounded-full shadow-inner" 440 class="absolute inset-0 rounded-full shadow-inner"
335 aria-hidden="true" 441 aria-hidden="true"
336 ></div> 442 ></div>
337 </div> 443 </div>
338 <div> 444 <div>
339 <p class="font-semibold">Sarah Curry</p> 445 <p class="font-semibold">Sarah Curry</p>
340 <p class="text-xs text-gray-600 dark:text-gray-400"> 446 <p class="text-xs text-gray-600 dark:text-gray-400">
341 Designer 447 Designer
342 </p> 448 </p>
343 </div> 449 </div>
344 </div> 450 </div>
345 </td> 451 </td>
346 <td class="px-4 py-3 text-sm"> 452 <td class="px-4 py-3 text-sm">
347 $ 86.00 453 $ 86.00
348 </td> 454 </td>
349 <td class="px-4 py-3 text-xs"> 455 <td class="px-4 py-3 text-xs">
350 <span 456 <span
351 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" 457 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"
352 > 458 >
353 Denied 459 Denied
354 </span> 460 </span>
355 </td> 461 </td>
356 <td class="px-4 py-3 text-sm"> 462 <td class="px-4 py-3 text-sm">
357 6/10/2020 463 6/10/2020
358 </td> 464 </td>
359 </tr> 465 </tr>
360 466
361 <tr class="text-gray-700 dark:text-gray-400"> 467 <tr class="text-gray-700 dark:text-gray-400">
362 <td class="px-4 py-3"> 468 <td class="px-4 py-3">
363 <div class="flex items-center text-sm"> 469 <div class="flex items-center text-sm">
364 470
365 <div 471 <div
366 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 472 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
367 > 473 >
368 <img 474 <img
369 class="object-cover w-full h-full rounded-full" 475 class="object-cover w-full h-full rounded-full"
370 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" 476 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"
371 alt="" 477 alt=""
372 loading="lazy" 478 loading="lazy"
373 /> 479 />
374 <div 480 <div
375 class="absolute inset-0 rounded-full shadow-inner" 481 class="absolute inset-0 rounded-full shadow-inner"
376 aria-hidden="true" 482 aria-hidden="true"
377 ></div> 483 ></div>
378 </div> 484 </div>
379 <div> 485 <div>
380 <p class="font-semibold">Rulia Joberts</p> 486 <p class="font-semibold">Rulia Joberts</p>
381 <p class="text-xs text-gray-600 dark:text-gray-400"> 487 <p class="text-xs text-gray-600 dark:text-gray-400">
382 Actress 488 Actress
383 </p> 489 </p>
384 </div> 490 </div>
385 </div> 491 </div>
386 </td> 492 </td>
387 <td class="px-4 py-3 text-sm"> 493 <td class="px-4 py-3 text-sm">
388 $ 1276.45 494 $ 1276.45
389 </td> 495 </td>
390 <td class="px-4 py-3 text-xs"> 496 <td class="px-4 py-3 text-xs">
391 <span 497 <span
392 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" 498 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"
393 > 499 >
394 Approved 500 Approved
395 </span> 501 </span>
396 </td> 502 </td>
397 <td class="px-4 py-3 text-sm"> 503 <td class="px-4 py-3 text-sm">
398 6/10/2020 504 6/10/2020
399 </td> 505 </td>
400 </tr> 506 </tr>
401 507
402 <tr class="text-gray-700 dark:text-gray-400"> 508 <tr class="text-gray-700 dark:text-gray-400">
403 <td class="px-4 py-3"> 509 <td class="px-4 py-3">
404 <div class="flex items-center text-sm"> 510 <div class="flex items-center text-sm">
405 511
406 <div 512 <div
407 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 513 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
408 > 514 >
409 <img 515 <img
410 class="object-cover w-full h-full rounded-full" 516 class="object-cover w-full h-full rounded-full"
411 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" 517 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"
412 alt="" 518 alt=""
413 loading="lazy" 519 loading="lazy"
414 /> 520 />
415 <div 521 <div
416 class="absolute inset-0 rounded-full shadow-inner" 522 class="absolute inset-0 rounded-full shadow-inner"
417 aria-hidden="true" 523 aria-hidden="true"
418 ></div> 524 ></div>
419 </div> 525 </div>
420 <div> 526 <div>
421 <p class="font-semibold">Wenzel Dashington</p> 527 <p class="font-semibold">Wenzel Dashington</p>
422 <p class="text-xs text-gray-600 dark:text-gray-400"> 528 <p class="text-xs text-gray-600 dark:text-gray-400">
423 Actor 529 Actor
424 </p> 530 </p>
425 </div> 531 </div>
426 </div> 532 </div>
427 </td> 533 </td>
428 <td class="px-4 py-3 text-sm"> 534 <td class="px-4 py-3 text-sm">
429 $ 863.45 535 $ 863.45
430 </td> 536 </td>
431 <td class="px-4 py-3 text-xs"> 537 <td class="px-4 py-3 text-xs">
432 <span 538 <span
433 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" 539 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"
434 > 540 >
435 Expired 541 Expired
436 </span> 542 </span>
437 </td> 543 </td>
438 <td class="px-4 py-3 text-sm"> 544 <td class="px-4 py-3 text-sm">
439 6/10/2020 545 6/10/2020
440 </td> 546 </td>
441 </tr> 547 </tr>
442 548
443 <tr class="text-gray-700 dark:text-gray-400"> 549 <tr class="text-gray-700 dark:text-gray-400">
444 <td class="px-4 py-3"> 550 <td class="px-4 py-3">
445 <div class="flex items-center text-sm"> 551 <div class="flex items-center text-sm">
446 552
447 <div 553 <div
448 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 554 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
449 > 555 >
450 <img 556 <img
451 class="object-cover w-full h-full rounded-full" 557 class="object-cover w-full h-full rounded-full"
452 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" 558 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"
453 alt="" 559 alt=""
454 loading="lazy" 560 loading="lazy"
455 /> 561 />
456 <div 562 <div
457 class="absolute inset-0 rounded-full shadow-inner" 563 class="absolute inset-0 rounded-full shadow-inner"
458 aria-hidden="true" 564 aria-hidden="true"
459 ></div> 565 ></div>
460 </div> 566 </div>
461 <div> 567 <div>
462 <p class="font-semibold">Dave Li</p> 568 <p class="font-semibold">Dave Li</p>
463 <p class="text-xs text-gray-600 dark:text-gray-400"> 569 <p class="text-xs text-gray-600 dark:text-gray-400">
464 Influencer 570 Influencer
465 </p> 571 </p>
466 </div> 572 </div>
467 </div> 573 </div>
468 </td> 574 </td>
469 <td class="px-4 py-3 text-sm"> 575 <td class="px-4 py-3 text-sm">
470 $ 863.45 576 $ 863.45
471 </td> 577 </td>
472 <td class="px-4 py-3 text-xs"> 578 <td class="px-4 py-3 text-xs">
473 <span 579 <span
474 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" 580 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"
475 > 581 >
476 Approved 582 Approved
477 </span> 583 </span>
478 </td> 584 </td>
479 <td class="px-4 py-3 text-sm"> 585 <td class="px-4 py-3 text-sm">
480 6/10/2020 586 6/10/2020
481 </td> 587 </td>
482 </tr> 588 </tr>
483 589
484 <tr class="text-gray-700 dark:text-gray-400"> 590 <tr class="text-gray-700 dark:text-gray-400">
485 <td class="px-4 py-3"> 591 <td class="px-4 py-3">
486 <div class="flex items-center text-sm"> 592 <div class="flex items-center text-sm">
487 593
488 <div 594 <div
489 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 595 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
490 > 596 >
491 <img 597 <img
492 class="object-cover w-full h-full rounded-full" 598 class="object-cover w-full h-full rounded-full"
493 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" 599 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"
494 alt="" 600 alt=""
495 loading="lazy" 601 loading="lazy"
496 /> 602 />
497 <div 603 <div
498 class="absolute inset-0 rounded-full shadow-inner" 604 class="absolute inset-0 rounded-full shadow-inner"
499 aria-hidden="true" 605 aria-hidden="true"
500 ></div> 606 ></div>
501 </div> 607 </div>
502 <div> 608 <div>
503 <p class="font-semibold">Maria Ramovic</p> 609 <p class="font-semibold">Maria Ramovic</p>
504 <p class="text-xs text-gray-600 dark:text-gray-400"> 610 <p class="text-xs text-gray-600 dark:text-gray-400">
505 Runner 611 Runner
506 </p> 612 </p>
507 </div> 613 </div>
508 </div> 614 </div>
509 </td> 615 </td>
510 <td class="px-4 py-3 text-sm"> 616 <td class="px-4 py-3 text-sm">
511 $ 863.45 617 $ 863.45
512 </td> 618 </td>
513 <td class="px-4 py-3 text-xs"> 619 <td class="px-4 py-3 text-xs">
514 <span 620 <span
515 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" 621 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"
516 > 622 >
517 Approved 623 Approved
518 </span> 624 </span>
519 </td> 625 </td>
520 <td class="px-4 py-3 text-sm"> 626 <td class="px-4 py-3 text-sm">
521 6/10/2020 627 6/10/2020
522 </td> 628 </td>
523 </tr> 629 </tr>
524 630
525 <tr class="text-gray-700 dark:text-gray-400"> 631 <tr class="text-gray-700 dark:text-gray-400">
526 <td class="px-4 py-3"> 632 <td class="px-4 py-3">
527 <div class="flex items-center text-sm"> 633 <div class="flex items-center text-sm">
528 634
529 <div 635 <div
530 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 636 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
531 > 637 >
532 <img 638 <img
533 class="object-cover w-full h-full rounded-full" 639 class="object-cover w-full h-full rounded-full"
534 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" 640 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"
535 alt="" 641 alt=""
536 loading="lazy" 642 loading="lazy"
537 /> 643 />
538 <div 644 <div
539 class="absolute inset-0 rounded-full shadow-inner" 645 class="absolute inset-0 rounded-full shadow-inner"
540 aria-hidden="true" 646 aria-hidden="true"
541 ></div> 647 ></div>
542 </div> 648 </div>
543 <div> 649 <div>
544 <p class="font-semibold">Hitney Wouston</p> 650 <p class="font-semibold">Hitney Wouston</p>
545 <p class="text-xs text-gray-600 dark:text-gray-400"> 651 <p class="text-xs text-gray-600 dark:text-gray-400">
546 Singer 652 Singer
547 </p> 653 </p>
548 </div> 654 </div>
549 </div> 655 </div>
550 </td> 656 </td>
551 <td class="px-4 py-3 text-sm"> 657 <td class="px-4 py-3 text-sm">
552 $ 863.45 658 $ 863.45
553 </td> 659 </td>
554 <td class="px-4 py-3 text-xs"> 660 <td class="px-4 py-3 text-xs">
555 <span 661 <span
556 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" 662 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"
557 > 663 >
558 Approved 664 Approved
559 </span> 665 </span>
560 </td> 666 </td>
561 <td class="px-4 py-3 text-sm"> 667 <td class="px-4 py-3 text-sm">
562 6/10/2020 668 6/10/2020
563 </td> 669 </td>
564 </tr> 670 </tr>
565 671
566 <tr class="text-gray-700 dark:text-gray-400"> 672 <tr class="text-gray-700 dark:text-gray-400">
567 <td class="px-4 py-3"> 673 <td class="px-4 py-3">
568 <div class="flex items-center text-sm"> 674 <div class="flex items-center text-sm">
569 675
570 <div 676 <div
571 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 677 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
572 > 678 >
573 <img 679 <img
574 class="object-cover w-full h-full rounded-full" 680 class="object-cover w-full h-full rounded-full"
575 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" 681 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"
576 alt="" 682 alt=""
577 loading="lazy" 683 loading="lazy"
578 /> 684 />
579 <div 685 <div
580 class="absolute inset-0 rounded-full shadow-inner" 686 class="absolute inset-0 rounded-full shadow-inner"
581 aria-hidden="true" 687 aria-hidden="true"
582 ></div> 688 ></div>
583 </div> 689 </div>
584 <div> 690 <div>
585 <p class="font-semibold">Hans Burger</p> 691 <p class="font-semibold">Hans Burger</p>
586 <p class="text-xs text-gray-600 dark:text-gray-400"> 692 <p class="text-xs text-gray-600 dark:text-gray-400">
587 10x Developer 693 10x Developer
588 </p> 694 </p>
589 </div> 695 </div>
590 </div> 696 </div>
591 </td> 697 </td>
592 <td class="px-4 py-3 text-sm"> 698 <td class="px-4 py-3 text-sm">
593 $ 863.45 699 $ 863.45
594 </td> 700 </td>
595 <td class="px-4 py-3 text-xs"> 701 <td class="px-4 py-3 text-xs">
596 <span 702 <span
597 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" 703 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"
598 > 704 >
599 Approved 705 Approved
600 </span> 706 </span>
601 </td> 707 </td>
602 <td class="px-4 py-3 text-sm"> 708 <td class="px-4 py-3 text-sm">
603 6/10/2020 709 6/10/2020
604 </td> 710 </td>
605 </tr>--> 711 </tr>-->
606 </tbody> 712 </tbody>
607 </table> 713 </table>
608 </div> 714 </div>
609 </div> 715 </div>
610 716
611 717
612 <!-- Charts --> 718 <!-- Charts -->
613 719
614 <!--<h2 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200"> 720 <!--<h2 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200">
615 Графики 721 Графики
616 </h2> 722 </h2>
617 <div class="grid gap-6 mb-8 md:grid-cols-2"> 723 <div class="grid gap-6 mb-8 md:grid-cols-2">
618 <div 724 <div
619 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 725 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
620 > 726 >
621 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300"> 727 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300">
622 Revenue 728 Revenue
623 </h4> 729 </h4>
624 <canvas id="pie"></canvas> 730 <canvas id="pie"></canvas>
625 <div 731 <div
626 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400" 732 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400"
627 > 733 >
628 734
629 <div class="flex items-center"> 735 <div class="flex items-center">
630 <span 736 <span
631 class="inline-block w-3 h-3 mr-1 bg-blue-500 rounded-full" 737 class="inline-block w-3 h-3 mr-1 bg-blue-500 rounded-full"
632 ></span> 738 ></span>
633 <span>Shirts</span> 739 <span>Shirts</span>
634 </div> 740 </div>
635 <div class="flex items-center"> 741 <div class="flex items-center">
636 <span 742 <span
637 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full" 743 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full"
638 ></span> 744 ></span>
639 <span>Shoes</span> 745 <span>Shoes</span>
640 </div> 746 </div>
641 <div class="flex items-center"> 747 <div class="flex items-center">
642 <span 748 <span
643 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full" 749 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full"
644 ></span> 750 ></span>
645 <span>Bags</span> 751 <span>Bags</span>
646 </div> 752 </div>
647 </div> 753 </div>
648 </div> 754 </div>
649 <div 755 <div
650 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 756 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
651 > 757 >
652 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300"> 758 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300">
653 Посещаемость сайта 759 Посещаемость сайта
654 </h4> 760 </h4>
655 <canvas id="line"></canvas> 761 <canvas id="line"></canvas>
656 <div 762 <div
657 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400" 763 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400"
658 > 764 >
659 765
660 <div class="flex items-center"> 766 <div class="flex items-center">
661 <span 767 <span
662 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full" 768 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full"
663 ></span> 769 ></span>
664 <span>Organic</span> 770 <span>Organic</span>
665 </div> 771 </div>
666 <div class="flex items-center"> 772 <div class="flex items-center">
667 <span 773 <span
668 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full" 774 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full"
669 ></span> 775 ></span>
670 <span>Paid</span> 776 <span>Paid</span>
671 </div> 777 </div>
672 </div> 778 </div>
673 </div> 779 </div>
674 </div>--> 780 </div>-->
675 781
676 @endsection 782 @endsection
677 783
resources/views/admin/static/index.blade.php
resources/views/admin/users/index.blade.php
1 @extends('layout.admin', ['title' => $title]) 1 @extends('layout.admin', ['title' => $title])
2 2
3 @section('script') 3 @section('script')
4 <script> 4 <script>
5 $(document).ready(function() { 5 $(document).ready(function() {
6 $(document).on('click', '.checkban', function () { 6 $(document).on('click', '.check_click', function () {
7 var this_ = $(this); 7 var this_ = $(this);
8 var value = this_.val(); 8 var value = this_.val();
9 var field = this_.attr('data-field');
9 var ajax_block = $('#ajax_block'); 10 var ajax_block = $('#ajax_block');
10 var bool = 0; 11 var bool = 0;
12 var str_get = '';
11 13
12 if(this.checked){ 14 if(this.checked){
13 bool = 1; 15 bool = 1;
14 } else { 16 } else {
15 bool = 0; 17 bool = 0;
16 } 18 }
19 console.log(field);
20 str_get = "id=" + value + "&" + field + "=" + bool;
21 console.log(str_get);
17 22
18 $.ajax({ 23 $.ajax({
19 type: "GET", 24 type: "GET",
20 url: "{{ url()->full()}}", 25 url: "{{ url()->full()}}",
21 data: "id=" + value + "&is_ban=" + bool, 26 data: str_get,
22 success: function (data) { 27 success: function (data) {
23 console.log('Обновление таблицы пользователей '); 28 console.log('Обновление таблицы пользователей ');
24 //data = JSON.parse(data); 29 //data = JSON.parse(data);
25 console.log(data); 30 //console.log(data);
26 ajax_block.html(data);
27 },
28 headers: {
29 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
30 },
31 error: function (data) {
32 console.log('Error: ' + data);
33 }
34 });
35 });
36
37 $(document).on('click', '.checknew', function () {
38 var this_ = $(this);
39 var value = this_.val();
40 var ajax_block = $('#ajax_block');
41 var bool = 0;
42
43 if(this.checked){
44 bool = 1;
45 } else {
46 bool = 0;
47 }
48
49 $.ajax({
50 type: "GET",
51 url: "{{ url()->full()}}",
52 data: "id=" + value + "&is_new=" + bool,
53 success: function (data) {
54 console.log('Обновление таблицы пользователей ');
55 //data = JSON.parse(data);
56 console.log(data);
57 ajax_block.html(data); 31 ajax_block.html(data);
58 }, 32 },
59 headers: { 33 headers: {
60 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 34 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
61 }, 35 },
62 error: function (data) { 36 error: function (data) {
63 console.log('Error: ' + data); 37 console.log('Error: ' + data);
64 } 38 }
65 }); 39 });
66 }); 40 });
67 }); 41 });
68 </script> 42 </script>
69 @endsection 43 @endsection
70 44
45 @section('search')
46 <div class="absolute inset-y-0 flex items-center pl-2">
47 <svg
48 class="w-4 h-4"
49 aria-hidden="true"
50 fill="currentColor"
51 viewBox="0 0 20 20"
52 >
53 <path
54 fill-rule="evenodd"
55 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"
56 clip-rule="evenodd"
57 ></path>
58 </svg>
59 </div>
60 <form action="" method="POST">
61 <div style="float:left;"><input
62 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"
63 style="width: 400px"
64 type="text"
65 placeholder="Искать..."
66 aria-label="Search"
67 /></div>
68 <div style="float: left">
69 <button type="submit" class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple">Искать</button>
70 </div>
71 </form>
72 @endsection
73
71 @section('content') 74 @section('content')
72 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block"> 75 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block">
73 <div class="w-full overflow-x-auto"> 76 <div class="w-full overflow-x-auto">
74 <table class="w-full whitespace-no-wrap"> 77 <table class="w-full whitespace-no-wrap">
75 <thead> 78 <thead>
76 <tr 79 <tr
77 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" 80 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"
78 > 81 >
79 <th class="px-4 py-3">№</th> 82 <th class="px-4 py-3">№</th>
80 <th class="px-4 py-3">Имя</th> 83 <th class="px-4 py-3">Имя</th>
81 <th class="px-4 py-3">Email/логин</th> 84 <th class="px-4 py-3">Email/логин</th>
82 <th class="px-4 py-3">Работодатель/работник/администратор</th> 85 <th class="px-4 py-3">Работодатель/работник/администратор</th>
83 <th class="px-4 py-3">Бан</th> 86 <th class="px-4 py-3">Бан</th>
84 <th class="px-4 py-3">Новый</th> 87 <th class="px-4 py-3">Новый</th>
88 @if ($id_admin == 1)
89 <th class="px-4 py-3">Админ</th>
90 @endif
85 <th class="px-4 py-3">Дата регистрации</th> 91 <th class="px-4 py-3">Дата регистрации</th>
86 </tr> 92 </tr>
87 </thead> 93 </thead>
88 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 94 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
89 @foreach($users as $user) 95 @foreach($users as $user)
90 <tr class="text-gray-700 dark:text-gray-400"> 96 <tr class="text-gray-700 dark:text-gray-400">
91 <td class="px-4 py-3"> 97 <td class="px-4 py-3">
92 {{$user->id}} 98 {{$user->id}}
93 </td> 99 </td>
94 <td class="px-4 py-3"> 100 <td class="px-4 py-3">
95 <!--<div class="flex items-center text-sm"> 101 <!--<div class="flex items-center text-sm">
96 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block"> 102 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
97 <div 103 <div
98 class="absolute inset-0 rounded-full shadow-inner" 104 class="absolute inset-0 rounded-full shadow-inner"
99 aria-hidden="true" 105 aria-hidden="true"
100 ></div> 106 ></div>
101 </div> 107 </div>
102 <div> 108 <div>
103 <p class="font-semibold"><a href="{{ route('admin.users') }}">Пользователи</a></p> 109 <p class="font-semibold"><a href="{{ route('admin.users') }}">Пользователи</a></p>
104 <p class="text-xs text-gray-600 dark:text-gray-400"> 110 <p class="text-xs text-gray-600 dark:text-gray-400">
105 Все пользователи сайта 111 Все пользователи сайта
106 </p> 112 </p>
107 </div> 113 </div>
108 </div> 114 </div>
109 --> 115 -->
110 {{ $user->name }} 116 {{ $user->name }}
111 </td> 117 </td>
112 <td class="px-4 py-3 text-sm"> 118 <td class="px-4 py-3 text-sm">
113 {{ $user->email }} 119 {{ $user->email }}
114 </td> 120 </td>
115 <td class="px-4 py-3 text-xs"> 121 <td class="px-4 py-3 text-xs">
116 <span 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"> 122 <span 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">
117 @if ($user->is_worker) 123 @if ($user->is_worker)
118 Работник 124 Работник
119 @else 125 @else
120 Работодатель 126 Работодатель
121 @endif 127 @endif
122 </span> 128 </span>
123 @if ($user->admin) 129 @if ($user->admin)
124 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"> 130 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600">
125 Администратор 131 Администратор
126 </span> 132 </span>
127 @endif 133 @endif
128 </td> 134 </td>
129 <td class="px-4 py-3 text-sm"> 135 <td class="px-4 py-3 text-sm">
130 @if ($user->id > 1) 136 @if ($user->id > 1)
131 <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/> 137 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="is_ban" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/>
132 @endif 138 @endif
133 </td> 139 </td>
140
134 <td class="px-4 py-3 text-sm"> 141 <td class="px-4 py-3 text-sm">
135 <input type="checkbox" class="checknew" value="{{$user->id}}" name="new_{{$user->id}}" {{ ($user->is_new) ? "checked" : "" }}/> 142 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="is_new" name="new_{{$user->id}}" {{ ($user->is_new) ? "checked" : "" }}/>
136 </td> 143 </td>
144
145 @if ($id_admin == 1)
146 <td class="px-4 py-3 text-sm">
147 @if ($user->id > 1)
148 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="admin" name="admin_{{$user->id}}" {{ ($user->admin) ? "checked" : "" }}/>
149 @endif
150 </td>
151 @endif
152
137 <td class="px-4 py-3 text-sm"> 153 <td class="px-4 py-3 text-sm">
138 {{ $user->created_at }} 154 {{ $user->created_at }}
139 </td> 155 </td>
140 </tr> 156 </tr>
141 @endforeach 157 @endforeach
142 </tbody> 158 </tbody>
143 </table> 159 </table>
144 </div> 160 </div>
145 161
146 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800"> 162 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800">
147 <?//=$users->appends($_GET)->links('admin.pagginate'); ?> 163 <?//=$users->appends($_GET)->links('admin.pagginate'); ?>
148 <?=$users->links('admin.pagginate'); ?> 164 <?=$users->links('admin.pagginate'); ?>
149 </div> 165 </div>
150 166
151 167
152 <!--<div 168 <!--<div
153 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" 169 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"
154 > 170 >
155 <span class="flex items-center col-span-3"> 171 <span class="flex items-center col-span-3">
156 Showing 21-30 of 100 172 Showing 21-30 of 100
157 </span> 173 </span>
158 <span class="col-span-2"></span> 174 <span class="col-span-2"></span>
159 175
160 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end"> 176 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end">
161 <nav aria-label="Table navigation"> 177 <nav aria-label="Table navigation">
162 <ul class="inline-flex items-center"> 178 <ul class="inline-flex items-center">
163 <li> 179 <li>
164 <button 180 <button
165 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple" 181 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple"
166 aria-label="Previous" 182 aria-label="Previous"
167 > 183 >
168 <svg 184 <svg
169 aria-hidden="true" 185 aria-hidden="true"
170 class="w-4 h-4 fill-current" 186 class="w-4 h-4 fill-current"
171 viewBox="0 0 20 20" 187 viewBox="0 0 20 20"
172 > 188 >
173 <path 189 <path
174 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" 190 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"
175 clip-rule="evenodd" 191 clip-rule="evenodd"
176 fill-rule="evenodd" 192 fill-rule="evenodd"
177 ></path> 193 ></path>
178 </svg> 194 </svg>
179 </button> 195 </button>
180 </li> 196 </li>
181 <li> 197 <li>
182 <button 198 <button
183 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 199 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
184 > 200 >
185 1 201 1
186 </button> 202 </button>
187 </li> 203 </li>
188 <li> 204 <li>
189 <button 205 <button
190 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 206 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
191 > 207 >
192 2 208 2
193 </button> 209 </button>
194 </li> 210 </li>
195 <li> 211 <li>
196 <button 212 <button
197 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" 213 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"
198 > 214 >
199 3 215 3
200 </button> 216 </button>
201 </li> 217 </li>
202 <li> 218 <li>
203 <button 219 <button
204 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 220 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
205 > 221 >
206 4 222 4
207 </button> 223 </button>
208 </li> 224 </li>
209 <li> 225 <li>
210 <span class="px-3 py-1">...</span> 226 <span class="px-3 py-1">...</span>
211 </li> 227 </li>
212 <li> 228 <li>
213 <button 229 <button
214 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 230 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
215 > 231 >
216 8 232 8
217 </button> 233 </button>
218 </li> 234 </li>
219 <li> 235 <li>
220 <button 236 <button
221 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 237 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
222 > 238 >
223 9 239 9
resources/views/admin/users/index_ajax.blade.php
1 <div class="w-full overflow-x-auto"> 1 <div class="w-full overflow-x-auto">
2 <table class="w-full whitespace-no-wrap"> 2 <table class="w-full whitespace-no-wrap">
3 <thead> 3 <thead>
4 <tr 4 <tr
5 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" 5 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"
6 > 6 >
7 <th class="px-4 py-3">№</th> 7 <th class="px-4 py-3">№</th>
8 <th class="px-4 py-3">Имя</th> 8 <th class="px-4 py-3">Имя</th>
9 <th class="px-4 py-3">Email/логин</th> 9 <th class="px-4 py-3">Email/логин</th>
10 <th class="px-4 py-3">Работодатель/работник/администратор</th> 10 <th class="px-4 py-3">Работодатель/работник/администратор</th>
11 <th class="px-4 py-3">Заблокированный</th> 11 <th class="px-4 py-3">Бан</th>
12 <th class="px-4 py-3">Новый</th> 12 <th class="px-4 py-3">Новый</th>
13 @if ($id_admin == 1)
14 <th class="px-4 py-3">Админ</th>
15 @endif
13 <th class="px-4 py-3">Дата регистрации</th> 16 <th class="px-4 py-3">Дата регистрации</th>
14 </tr> 17 </tr>
15 </thead> 18 </thead>
16 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 19 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
17 @foreach($users as $user) 20 @foreach($users as $user)
18 <tr class="text-gray-700 dark:text-gray-400"> 21 <tr class="text-gray-700 dark:text-gray-400">
19 <td class="px-4 py-3"> 22 <td class="px-4 py-3">
20 {{$user->id}} 23 {{$user->id}}
21 </td> 24 </td>
22 <td class="px-4 py-3"> 25 <td class="px-4 py-3">
23 {{ $user->name }} 26 {{ $user->name }}
24 </td> 27 </td>
25 <td class="px-4 py-3 text-sm"> 28 <td class="px-4 py-3 text-sm">
26 {{ $user->email }} 29 {{ $user->email }}
27 </td> 30 </td>
28 <td class="px-4 py-3 text-xs"> 31 <td class="px-4 py-3 text-xs">
29 <span 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"> 32 <span 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">
30 @if ($user->is_worker) 33 @if ($user->is_worker)
31 Работник 34 Работник
32 @else 35 @else
33 Работодатель 36 Работодатель
34 @endif 37 @endif
35 </span> 38 </span>
36 @if ($user->admin) 39 @if ($user->admin)
37 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"> 40 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600">
38 Администратор 41 Администратор
39 </span> 42 </span>
40 @endif 43 @endif
41 </td> 44 </td>
42 <td class="px-4 py-3 text-sm"> 45 <td class="px-4 py-3 text-sm">
43 @if ($user->id > 1) 46 @if ($user->id > 1)
44 <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/> 47 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="is_ban" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/>
45 @endif 48 @endif
46 </td> 49 </td>
47 <td class="px-4 py-3 text-sm"> 50 <td class="px-4 py-3 text-sm">
48 <input type="checkbox" class="checknew" value="{{$user->id}}" name="new_{{$user->id}}" {{ ($user->is_new) ? "checked" : "" }}/> 51 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="is_new" name="new_{{$user->id}}" {{ ($user->is_new) ? "checked" : "" }}/>
49 </td> 52 </td>
53
54 @if ($id_admin == 1)
55 <td class="px-4 py-3 text-sm">
56 @if ($user->id > 1)
57 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="admin" name="admin_{{$user->id}}" {{ ($user->admin) ? "checked" : "" }}/>
58 @endif
59 </td>
60 @endif
61
50 <td class="px-4 py-3 text-sm"> 62 <td class="px-4 py-3 text-sm">
51 {{ $user->created_at }} 63 {{ $user->created_at }}
52 </td> 64 </td>
53 </tr> 65 </tr>
54 @endforeach 66 @endforeach
55 </tbody> 67 </tbody>
56 </table> 68 </table>
57 </div> 69 </div>
58 70
59 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800"> 71 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800">
60 <?//=$users->appends($_GET)->links('admin.pagginate'); ?> 72 <?//=$users->appends($_GET)->links('admin.pagginate'); ?>
61 <?=$users->links('admin.pagginate'); ?> 73 <?=$users->links('admin.pagginate'); ?>
62 </div> 74 </div>
63 75
resources/views/admin/worker/index.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Работники']) 1 @extends('layout.admin', ['title' => 'Админка - Работники'])
2 2
3 @section('script') 3 @section('script')
4 <script> 4 <script>
5 $(document).ready(function() { 5 $(document).ready(function() {
6 $(document).on('click', '.checkban', function () { 6 $(document).on('click', '.checkban', function () {
7 var this_ = $(this); 7 var this_ = $(this);
8 var value = this_.val(); 8 var value = this_.val();
9 var ajax_block = $('#ajax_block'); 9 var ajax_block = $('#ajax_block');
10 var bool = 0; 10 var bool = 0;
11 11
12 if(this.checked){ 12 if(this.checked){
13 bool = 1; 13 bool = 1;
14 } else { 14 } else {
15 bool = 0; 15 bool = 0;
16 } 16 }
17 17
18 $.ajax({ 18 $.ajax({
19 type: "GET", 19 type: "GET",
20 url: "{{ url()->full()}}", 20 url: "{{ url()->full()}}",
21 data: "id=" + value + "&is_ban=" + bool, 21 data: "id=" + value + "&is_ban=" + bool,
22 success: function (data) { 22 success: function (data) {
23 console.log('Обновление таблицы пользователей '); 23 console.log('Обновление таблицы работников ');
24 //data = JSON.parse(data); 24 //data = JSON.parse(data);
25 console.log(data); 25 console.log(data);
26 ajax_block.html(data); 26 ajax_block.html(data);
27 }, 27 },
28 headers: { 28 headers: {
29 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 29 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
30 }, 30 },
31 error: function (data) { 31 error: function (data) {
32 console.log('Error: ' + data); 32 console.log('Error: ' + data);
33 } 33 }
34 }); 34 });
35 }); 35 });
36 36
37 }); 37 });
38 </script> 38 </script>
39 @endsection 39 @endsection
40 40
41 @section('search')
42 <div class="absolute inset-y-0 flex items-center pl-2">
43 <svg
44 class="w-4 h-4"
45 aria-hidden="true"
46 fill="currentColor"
47 viewBox="0 0 20 20"
48 >
49 <path
50 fill-rule="evenodd"
51 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"
52 clip-rule="evenodd"
53 ></path>
54 </svg>
55 </div>
56 <form action="" method="POST">
57 <div style="float:left;"><input
58 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"
59 style="width: 400px"
60 type="text"
61 placeholder="Искать..."
62 aria-label="Search"
63 /></div>
64 <div style="float: left">
65 <button type="submit" class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple">Искать</button>
66 </div>
67 </form>
68 @endsection
69
41 @section('content') 70 @section('content')
42 <div class="w-full overflow-hidden rounded-lg shadow-xs"> 71 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block">
43 <div class="w-full overflow-x-auto"> 72 <div class="w-full overflow-x-auto">
44 <table class="w-full whitespace-no-wrap"> 73 <table class="w-full whitespace-no-wrap">
45 <thead> 74 <thead>
46 <tr 75 <tr
47 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" 76 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"
48 > 77 >
49 <th class="px-4 py-3">№</th> 78 <th class="px-4 py-3">№</th>
50 <th class="px-4 py-3">Имя</th> 79 <th class="px-4 py-3">Имя</th>
51 <th class="px-4 py-3">Email/Телефон</th> 80 <th class="px-4 py-3">Email/Телефон</th>
52 <th class="px-4 py-3">% заполнения анкеты</th> 81 <th class="px-4 py-3">% заполнения анкеты</th>
53 <th class="px-4 py-3">Дата регистрации</th> 82 <th class="px-4 py-3">Дата регистрации</th>
54 <th class="px-4 py-3">Изменить</th> 83 <th class="px-4 py-3">Изменить</th>
55 <th class="px-4 py-3">Бан</th> 84 <th class="px-4 py-3">Бан</th>
56 </tr> 85 </tr>
57 </thead> 86 </thead>
58 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 87 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
59 @foreach($users as $user) 88 @foreach($users as $user)
60 <tr class="text-gray-700 dark:text-gray-400"> 89 <tr class="text-gray-700 dark:text-gray-400">
61 <td class="px-4 py-3"> 90 <td class="px-4 py-3">
62 {{$user->id}} 91 {{$user->id}}
63 </td> 92 </td>
64 <td class="px-4 py-3"> 93 <td class="px-4 py-3">
65 {{ !empty($user->name_man) ? $user->name_man : $user->name }} 94 {{ !empty($user->name_man) ? $user->name_man : $user->name }}
66 </td> 95 </td>
67 <td class="px-4 py-3 text-sm"> 96 <td class="px-4 py-3 text-sm">
68 <div class="flex items-center text-sm"> 97 <div class="flex items-center text-sm">
69 <div> 98 <div>
70 <p class="font-semibold">{{ empty($user->workers->email) ? $user->email : $user->workers->email }}</p> 99 <p class="font-semibold">{{ empty($user->workers->email) ? $user->email : $user->workers->email }}</p>
71 <p class="text-xs text-gray-600 dark:text-gray-400"> 100 <p class="text-xs text-gray-600 dark:text-gray-400">
72 {{ empty($user->workers->telephone) ? $user->telephone : $user->workers->telephone }} 101 {{ empty($user->workers->telephone) ? $user->telephone : $user->workers->telephone }}
73 </p> 102 </p>
74 </div> 103 </div>
75 </div> 104 </div>
76 </td> 105 </td>
77 <td class="px-4 py-3 text-xs"> 106 <td class="px-4 py-3 text-xs">
78 @if (!empty($user->workers->persent_anketa)) 107 @if (!empty($user->workers->persent_anketa))
79 @if ($user->workers->persent_anketa > 40) 108 @if ($user->workers->persent_anketa > 40)
80 <span 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"> 109 <span 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">
81 {{$user->workers->persent_anketa}}% 110 {{$user->workers->persent_anketa}}%
82 </span> 111 </span>
83 @else 112 @else
84 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"> 113 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600">
85 {{$user->workers->persent_anketa}}% 114 {{$user->workers->persent_anketa}}%
86 </span> 115 </span>
87 @endif 116 @endif
88 @else 117 @else
89 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"> 118 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600">
90 10% 119 10%
91 </span> 120 </span>
92 @endif 121 @endif
93 </td> 122 </td>
94 <td class="px-4 py-3 text-sm"> 123 <td class="px-4 py-3 text-sm">
95 {{ $user->created_at }} 124 {{ $user->created_at }}
96 </td> 125 </td>
97 <td class="px-4 py-3 text-sm"> 126 <td class="px-4 py-3 text-sm">
98 @if ($user->id > 1) 127 @if ($user->id > 1)
99 <a href="{{ route('admin.user-profile', ['user' => $user->id]) }}">Изменить</a> 128 <a href="{{ route('admin.user-profile', ['user' => $user->id]) }}">Изменить</a>
100 @endif 129 @endif
101 </td> 130 </td>
102 <td class="px-4 py-3 text-sm"> 131 <td class="px-4 py-3 text-sm">
103 @if ($user->id > 1) 132 @if ($user->id > 1)
104 <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/> 133 <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/>
105 @endif 134 @endif
106 </td> 135 </td>
107 </tr> 136 </tr>
108 @endforeach 137 @endforeach
109 </tbody> 138 </tbody>
110 </table> 139 </table>
111 </div> 140 </div>
112 141
113 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800"> 142 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800">
114 <?=$users->appends($_GET)->links('admin.pagginate'); ?> 143 <?=$users->appends($_GET)->links('admin.pagginate'); ?>
115 </div> 144 </div>
116 145
117 146
118 <!--<div 147 <!--<div
119 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" 148 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"
120 > 149 >
121 <span class="flex items-center col-span-3"> 150 <span class="flex items-center col-span-3">
122 Showing 21-30 of 100 151 Showing 21-30 of 100
123 </span> 152 </span>
124 <span class="col-span-2"></span> 153 <span class="col-span-2"></span>
125 154
126 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end"> 155 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end">
127 <nav aria-label="Table navigation"> 156 <nav aria-label="Table navigation">
128 <ul class="inline-flex items-center"> 157 <ul class="inline-flex items-center">
129 <li> 158 <li>
130 <button 159 <button
131 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple" 160 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple"
132 aria-label="Previous" 161 aria-label="Previous"
133 > 162 >
134 <svg 163 <svg
135 aria-hidden="true" 164 aria-hidden="true"
136 class="w-4 h-4 fill-current" 165 class="w-4 h-4 fill-current"
137 viewBox="0 0 20 20" 166 viewBox="0 0 20 20"
138 > 167 >
139 <path 168 <path
140 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" 169 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"
141 clip-rule="evenodd" 170 clip-rule="evenodd"
142 fill-rule="evenodd" 171 fill-rule="evenodd"
143 ></path> 172 ></path>
144 </svg> 173 </svg>
145 </button> 174 </button>
146 </li> 175 </li>
147 <li> 176 <li>
148 <button 177 <button
149 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 178 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
150 > 179 >
151 1 180 1
152 </button> 181 </button>
153 </li> 182 </li>
154 <li> 183 <li>
155 <button 184 <button
156 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 185 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
157 > 186 >
158 2 187 2
159 </button> 188 </button>
160 </li> 189 </li>
161 <li> 190 <li>
162 <button 191 <button
163 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" 192 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"
164 > 193 >
165 3 194 3
166 </button> 195 </button>
167 </li> 196 </li>
168 <li> 197 <li>
169 <button 198 <button
170 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 199 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
171 > 200 >
172 4 201 4
173 </button> 202 </button>
174 </li> 203 </li>
175 <li> 204 <li>
176 <span class="px-3 py-1">...</span> 205 <span class="px-3 py-1">...</span>
177 </li> 206 </li>
178 <li> 207 <li>
179 <button 208 <button
180 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 209 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
181 > 210 >
182 8 211 8
183 </button> 212 </button>
184 </li> 213 </li>
185 <li> 214 <li>
186 <button 215 <button
187 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 216 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
188 > 217 >
189 9 218 9
190 </button> 219 </button>
191 </li> 220 </li>
192 <li> 221 <li>
193 <button 222 <button
194 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple" 223 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple"
195 aria-label="Next" 224 aria-label="Next"
196 > 225 >
197 <svg 226 <svg
198 class="w-4 h-4 fill-current" 227 class="w-4 h-4 fill-current"
199 aria-hidden="true" 228 aria-hidden="true"
200 viewBox="0 0 20 20" 229 viewBox="0 0 20 20"
201 > 230 >
202 <path 231 <path
203 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" 232 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"
204 clip-rule="evenodd" 233 clip-rule="evenodd"
205 fill-rule="evenodd" 234 fill-rule="evenodd"
206 ></path> 235 ></path>
207 </svg> 236 </svg>
208 </button> 237 </button>
209 </li> 238 </li>
210 </ul> 239 </ul>
211 </nav> 240 </nav>
212 </span> 241 </span>
213 </div>--> 242 </div>-->
214 </div> 243 </div>
215 244
216 <?//=$users->appends($_GET)->links('catalogs.paginate'); ?> 245 <?//=$users->appends($_GET)->links('catalogs.paginate'); ?>
217 246
218 247
219 @endsection 248 @endsection
220 249
resources/views/admin/worker/index_ajax.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Работники']) 1 <div class="w-full overflow-x-auto">
2 2 <table class="w-full whitespace-no-wrap">
3 @section('content') 3 <thead>
4 <div class="w-full overflow-hidden rounded-lg shadow-xs"> 4 <tr
5 <div class="w-full overflow-x-auto"> 5 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"
6 <table class="w-full whitespace-no-wrap">
7 <thead>
8 <tr
9 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"
10 >
11 <th class="px-4 py-3">№</th>
12 <th class="px-4 py-3">Имя</th>
13 <th class="px-4 py-3">Email/логин</th>
14 <th class="px-4 py-3">Работодатель/работник</th>
15 <th class="px-4 py-3">Дата регистрации</th>
16 </tr>
17 </thead>
18 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
19 @foreach($users as $user)
20 <tr class="text-gray-700 dark:text-gray-400">
21 <td class="px-4 py-3">
22 {{$user->id}}
23 </td>
24 <td class="px-4 py-3">
25 <!--<div class="flex items-center text-sm">
26 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
27 <div
28 class="absolute inset-0 rounded-full shadow-inner"
29 aria-hidden="true"
30 ></div>
31 </div>
32 <div>
33 <p class="font-semibold"><a href="{{ route('admin.users') }}">Пользователи</a></p>
34 <p class="text-xs text-gray-600 dark:text-gray-400">
35 Все пользователи сайта
36 </p>
37 </div>
38 </div>
39 -->
40 {{ $user->name }}
41 </td>
42 <td class="px-4 py-3 text-sm">
43 {{ $user->email }}
44 </td>
45 <td class="px-4 py-3 text-xs">
46 <span 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">
47 @if ($user->is_worker)
48 Работник
49 @else
50 Работодатель
51 @endif
52 </span>
53 @if ($user->admin)
54 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600">
55 Администратор
56 </span>
57 @endif
58 </td>
59 <td class="px-4 py-3 text-sm">
60 {{ $user->created_at }}
61 </td>
62 </tr>
63 @endforeach
64 </tbody>
65 </table>
66 </div>
67
68 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800">
69 <?=$users->appends($_GET)->links('admin.pagginate'); ?>
70 </div>
71
72
73 <!--<div
74 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"
75 > 6 >
76 <span class="flex items-center col-span-3"> 7 <th class="px-4 py-3">№</th>
77 Showing 21-30 of 100 8 <th class="px-4 py-3">Имя</th>
78 </span> 9 <th class="px-4 py-3">Email/Телефон</th>
79 <span class="col-span-2"></span> 10 <th class="px-4 py-3">% заполнения анкеты</th>
80 11 <th class="px-4 py-3">Дата регистрации</th>
81 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end"> 12 <th class="px-4 py-3">Изменить</th>
82 <nav aria-label="Table navigation"> 13 <th class="px-4 py-3">Бан</th>
83 <ul class="inline-flex items-center"> 14 </tr>
84 <li> 15 </thead>
85 <button 16 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
86 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple" 17 @foreach($users as $user)
87 aria-label="Previous" 18 <tr class="text-gray-700 dark:text-gray-400">
88 > 19 <td class="px-4 py-3">
89 <svg 20 {{$user->id}}
90 aria-hidden="true" 21 </td>
91 class="w-4 h-4 fill-current" 22 <td class="px-4 py-3">
92 viewBox="0 0 20 20" 23 {{ !empty($user->name_man) ? $user->name_man : $user->name }}
93 > 24 </td>
94 <path 25 <td class="px-4 py-3 text-sm">
95 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" 26 <div class="flex items-center text-sm">
96 clip-rule="evenodd" 27 <div>
97 fill-rule="evenodd" 28 <p class="font-semibold">{{ empty($user->workers->email) ? $user->email : $user->workers->email }}</p>
98 ></path> 29 <p class="text-xs text-gray-600 dark:text-gray-400">
99 </svg> 30 {{ empty($user->workers->telephone) ? $user->telephone : $user->workers->telephone }}
100 </button> 31 </p>
101 </li> 32 </div>
102 <li> 33 </div>
103 <button 34 </td>
104 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 35 <td class="px-4 py-3 text-xs">
105 > 36 @if (!empty($user->workers->persent_anketa))
106 1 37 @if ($user->workers->persent_anketa > 40)
107 </button> 38 <span 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">
108 </li> 39 {{$user->workers->persent_anketa}}%
109 <li> 40 </span>
110 <button 41 @else
111 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 42 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600">
112 > 43 {{$user->workers->persent_anketa}}%
113 2 44 </span>
114 </button> 45 @endif
115 </li> 46 @else
116 <li> 47 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600">
117 <button 48 10%
118 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" 49 </span>
119 > 50 @endif
120 3 51 </td>
121 </button> 52 <td class="px-4 py-3 text-sm">
122 </li> 53 {{ $user->created_at }}
123 <li> 54 </td>
124 <button 55 <td class="px-4 py-3 text-sm">
125 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 56 @if ($user->id > 1)
126 > 57 <a href="{{ route('admin.user-profile', ['user' => $user->id]) }}">Изменить</a>
127 4 58 @endif
128 </button> 59 </td>
129 </li> 60 <td class="px-4 py-3 text-sm">
130 <li> 61 @if ($user->id > 1)
131 <span class="px-3 py-1">...</span> 62 <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/>
132 </li> 63 @endif
133 <li> 64 </td>
134 <button 65 </tr>
135 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 66 @endforeach
136 > 67 </tbody>
137 8 68 </table>
138 </button> 69 </div>
139 </li>
140 <li>
141 <button
142 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
143 >
144 9
145 </button>
146 </li>
147 <li>
148 <button
149 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple"
150 aria-label="Next"
151 >
152 <svg
153 class="w-4 h-4 fill-current"
154 aria-hidden="true"
155 viewBox="0 0 20 20"
156 >
157 <path
158 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"
159 clip-rule="evenodd"
160 fill-rule="evenodd"
161 ></path>
162 </svg>
163 </button>
164 </li>
165 </ul>
166 </nav>
167 </span>
168 </div>-->
169 </div>
170
171 <?//=$users->appends($_GET)->links('catalogs.paginate'); ?>
172
173 70
174 @endsection 71 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800">
72 <?=$users->appends($_GET)->links('admin.pagginate'); ?>
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 class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200" 30 <a class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200"
31 href="{{ route('admin.index') }}"> 31 href="{{ route('admin.index') }}">
32 Админка 32 Админка
33 </a> 33 </a>
34 <ul class="mt-6"> 34 <ul class="mt-6">
35 <li class="relative px-6 py-3"> 35 <li class="relative px-6 py-3">
36 <span 36 <span
37 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg" 37 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg"
38 aria-hidden="true" 38 aria-hidden="true"
39 ></span> 39 ></span>
40 <a 40 <a
41 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" 41 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"
42 href="{{ route('admin.index') }}" 42 href="{{ route('admin.index') }}"
43 > 43 >
44 <svg 44 <svg
45 class="w-5 h-5" 45 class="w-5 h-5"
46 aria-hidden="true" 46 aria-hidden="true"
47 fill="none" 47 fill="none"
48 stroke-linecap="round" 48 stroke-linecap="round"
49 stroke-linejoin="round" 49 stroke-linejoin="round"
50 stroke-width="2" 50 stroke-width="2"
51 viewBox="0 0 24 24" 51 viewBox="0 0 24 24"
52 stroke="currentColor" 52 stroke="currentColor"
53 > 53 >
54 <path 54 <path
55 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" 55 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"
56 ></path> 56 ></path>
57 </svg> 57 </svg>
58 <span class="ml-4">Главная страница</span> 58 <span class="ml-4">Главная страница</span>
59 </a> 59 </a>
60 </li> 60 </li>
61 </ul> 61 </ul>
62 <ul> 62 <ul>
63 <li class="relative px-6 py-3"> 63 <li class="relative px-6 py-3">
64 <a 64 <a
65 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 65 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
66 href="{{ route('admin.users') }}" 66 href="{{ route('admin.users') }}"
67 > 67 >
68 <svg 68 <svg
69 class="w-5 h-5" 69 class="w-5 h-5"
70 aria-hidden="true" 70 aria-hidden="true"
71 fill="none" 71 fill="none"
72 stroke-linecap="round" 72 stroke-linecap="round"
73 stroke-linejoin="round" 73 stroke-linejoin="round"
74 stroke-width="2" 74 stroke-width="2"
75 viewBox="0 0 24 24" 75 viewBox="0 0 24 24"
76 stroke="currentColor" 76 stroke="currentColor"
77 > 77 >
78 <path 78 <path
79 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" 79 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"
80 ></path> 80 ></path>
81 </svg> 81 </svg>
82 <span class="ml-4">Пользователи</span> 82 <span class="ml-4">Пользователи</span>
83 </a> 83 </a>
84 </li> 84 </li>
85 <li class="relative px-6 py-3"> 85 <li class="relative px-6 py-3">
86 <a 86 <a
87 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 87 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
88 href="{{ route('admin.employers') }}" 88 href="{{ route('admin.employers') }}"
89 > 89 >
90 <svg 90 <svg
91 class="w-5 h-5" 91 class="w-5 h-5"
92 aria-hidden="true" 92 aria-hidden="true"
93 fill="none" 93 fill="none"
94 stroke-linecap="round" 94 stroke-linecap="round"
95 stroke-linejoin="round" 95 stroke-linejoin="round"
96 stroke-width="2" 96 stroke-width="2"
97 viewBox="0 0 24 24" 97 viewBox="0 0 24 24"
98 stroke="currentColor" 98 stroke="currentColor"
99 > 99 >
100 <path 100 <path
101 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" 101 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"
102 ></path> 102 ></path>
103 </svg> 103 </svg>
104 <span class="ml-4">Работодатели</span> 104 <span class="ml-4">Работодатели</span>
105 </a> 105 </a>
106 </li> 106 </li>
107 <li class="relative px-6 py-3"> 107 <li class="relative px-6 py-3">
108 <a 108 <a
109 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 109 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
110 href="{{ route('admin.workers') }}" 110 href="{{ route('admin.workers') }}"
111 > 111 >
112 <svg 112 <svg
113 class="w-5 h-5" 113 class="w-5 h-5"
114 aria-hidden="true" 114 aria-hidden="true"
115 fill="none" 115 fill="none"
116 stroke-linecap="round" 116 stroke-linecap="round"
117 stroke-linejoin="round" 117 stroke-linejoin="round"
118 stroke-width="2" 118 stroke-width="2"
119 viewBox="0 0 24 24" 119 viewBox="0 0 24 24"
120 stroke="currentColor" 120 stroke="currentColor"
121 > 121 >
122 <path 122 <path
123 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 123 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
124 ></path> 124 ></path>
125 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 125 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
126 </svg> 126 </svg>
127 <span class="ml-4">Соискатели</span> 127 <span class="ml-4">Соискатели</span>
128 </a> 128 </a>
129 </li> 129 </li>
130 <li class="relative px-6 py-3"> 130 <li class="relative px-6 py-3">
131 <a 131 <a
132 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 132 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
133 href="{{ route('admin.ad-employers') }}" 133 href="{{ route('admin.ad-employers') }}"
134 > 134 >
135 <svg 135 <svg
136 class="w-5 h-5" 136 class="w-5 h-5"
137 aria-hidden="true" 137 aria-hidden="true"
138 fill="none" 138 fill="none"
139 stroke-linecap="round" 139 stroke-linecap="round"
140 stroke-linejoin="round" 140 stroke-linejoin="round"
141 stroke-width="2" 141 stroke-width="2"
142 viewBox="0 0 24 24" 142 viewBox="0 0 24 24"
143 stroke="currentColor" 143 stroke="currentColor"
144 > 144 >
145 <path 145 <path
146 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" 146 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"
147 ></path> 147 ></path>
148 </svg> 148 </svg>
149 <span class="ml-4">Вакансии</span> 149 <span class="ml-4">Вакансии</span>
150 </a> 150 </a>
151 </li> 151 </li>
152
152 <li class="relative px-6 py-3"> 153 <li class="relative px-6 py-3">
153 <a 154 <a
154 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 155 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
155 href="{{ route('admin.categories.index') }}" 156 href="{{ route('admin.messages') }}"
156 > 157 >
157 <svg 158 <svg
158 class="w-5 h-5" 159 class="w-5 h-5"
159 aria-hidden="true" 160 aria-hidden="true"
160 fill="none" 161 fill="none"
161 stroke-linecap="round" 162 stroke-linecap="round"
162 stroke-linejoin="round" 163 stroke-linejoin="round"
163 stroke-width="2" 164 stroke-width="2"
164 viewBox="0 0 24 24" 165 viewBox="0 0 24 24"
165 stroke="currentColor" 166 stroke="currentColor"
166 > 167 >
167 <path 168 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
168 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"
169 ></path>
170 </svg> 169 </svg>
171 <span class="ml-4">Категории</span> 170 <span class="ml-4">Сообщения</span>
172 </a> 171 </a>
173 </li> 172 </li>
174 <li class="relative px-6 py-3"> 173 <li class="relative px-6 py-3">
175 <a 174 <a
176 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 175 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
177 href="{{ route('admin.job-titles') }}" 176 href="{{ route('admin.groups') }}"
178 > 177 >
179 <svg 178 <svg
180 class="w-5 h-5" 179 class="w-5 h-5"
181 aria-hidden="true" 180 aria-hidden="true"
182 fill="none" 181 fill="none"
183 stroke-linecap="round" 182 stroke-linecap="round"
184 stroke-linejoin="round" 183 stroke-linejoin="round"
185 stroke-width="2" 184 stroke-width="2"
186 viewBox="0 0 24 24" 185 viewBox="0 0 24 24"
187 stroke="currentColor" 186 stroke="currentColor"
188 > 187 >
189 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 188 <path
189 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"
190 ></path>
190 </svg> 191 </svg>
191 <span class="ml-4">Должности</span> 192 <span class="ml-4">Группы пользователей</span>
192 </a> 193 </a>
193 </li> 194 </li>
194 <li class="relative px-6 py-3"> 195 <li class="relative px-6 py-3">
195 <a 196 <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"
196 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 197 href="{{ route('admin.roles') }}">
197 href="{{ route('admin.messages') }}"
198 >
199 <svg 198 <svg
200 class="w-5 h-5" 199 class="w-5 h-5"
201 aria-hidden="true" 200 aria-hidden="true"
202 fill="none" 201 fill="none"
203 stroke-linecap="round" 202 stroke-linecap="round"
204 stroke-linejoin="round" 203 stroke-linejoin="round"
205 stroke-width="2" 204 stroke-width="2"
206 viewBox="0 0 24 24" 205 viewBox="0 0 24 24"
207 stroke="currentColor" 206 stroke="currentColor"
208 > 207 >
209 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 208 <path
209 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"
210 ></path>
210 </svg> 211 </svg>
211 <span class="ml-4">Сообщения</span> 212 <span class="ml-4">Роли пользователей</span>
212 </a> 213 </a>
213 </li> 214 </li>
214 <li class="relative px-6 py-3"> 215 <li class="relative px-6 py-3">
215 <a 216 <a
216 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 217 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
217 href="{{ route('admin.groups') }}" 218 href="{{ route('admin.statics') }}"
218 > 219 >
219 <svg 220 <svg
220 class="w-5 h-5" 221 class="w-5 h-5"
221 aria-hidden="true" 222 aria-hidden="true"
222 fill="none" 223 fill="none"
223 stroke-linecap="round" 224 stroke-linecap="round"
224 stroke-linejoin="round" 225 stroke-linejoin="round"
225 stroke-width="2" 226 stroke-width="2"
226 viewBox="0 0 24 24" 227 viewBox="0 0 24 24"
227 stroke="currentColor" 228 stroke="currentColor"
228 > 229 >
229 <path 230 <path
230 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" 231 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
231 ></path> 232 ></path>
233 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
232 </svg> 234 </svg>
233 <span class="ml-4">Группы пользователей</span> 235 <span class="ml-4">Статистика</span>
234 </a> 236 </a>
235 </li> 237 </li>
238 <!-- Справочники -->
239 <li class="relative px-6 py-3" x-data="{ open1: false }">
240 <button
241 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"
242 @click="open1=!open1"
243 aria-haspopup="true">
244 <span class="inline-flex items-center">
245 <svg
246 class="w-5 h-5"
247 aria-hidden="true"
248 fill="none"
249 stroke-linecap="round"
250 stroke-linejoin="round"
251 stroke-width="2"
252 viewBox="0 0 24 24"
253 stroke="currentColor">
254 <path
255 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 ></path>
257 </svg>
258 <span class="ml-4">Справочники</span>
259 </span>
260 <svg
261 class="w-4 h-4"
262 aria-hidden="true"
263 fill="currentColor"
264 viewBox="0 0 20 20"
265 >
266 <path
267 fill-rule="evenodd"
268 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 clip-rule="evenodd"
270 ></path>
271 </svg>
272 </button>
273 <template x-if="open1">
274 <ul
275 x-transition:enter="transition-all ease-in-out duration-300"
276 x-transition:enter-start="opacity-25 max-h-0"
277 x-transition:enter-end="opacity-100 max-h-xl"
278 x-transition:leave="transition-all ease-in-out duration-300"
279 x-transition:leave-start="opacity-100 max-h-xl"
280 x-transition:leave-end="opacity-0 max-h-0"
281 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 aria-label="submenu"
283 >
284 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
285 <a class="w-full" href="{{ route('admin.job-titles') }}">Должности</a>
286 </li>
287 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
288 <a class="w-full" href="{{ route('admin.categories.index') }}">Категории</a>
289 </li>
290 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
291 <a class="w-full" href="{{ route('admin.infobloks') }}">Блоки-Дипломы</a>
292 </li>
293
294 </ul>
295 </template>
296 </li>
297
298
299 <!-- Редактор -->
236 <li class="relative px-6 py-3"> 300 <li class="relative px-6 py-3">
237 <button 301 <button
238 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" 302 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"
239 @click="togglePagesMenu" 303 @click="togglePagesMenu"
240 aria-haspopup="true" 304 aria-haspopup="true">
241 >
242 <span class="inline-flex items-center"> 305 <span class="inline-flex items-center">
243 <svg 306 <svg
244 class="w-5 h-5" 307 class="w-5 h-5"
245 aria-hidden="true" 308 aria-hidden="true"
246 fill="none" 309 fill="none"
247 stroke-linecap="round" 310 stroke-linecap="round"
248 stroke-linejoin="round" 311 stroke-linejoin="round"
249 stroke-width="2" 312 stroke-width="2"
250 viewBox="0 0 24 24" 313 viewBox="0 0 24 24"
251 stroke="currentColor" 314 stroke="currentColor">
252 >
253 <path 315 <path
254 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" 316 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"
255 ></path> 317 ></path>
256 </svg> 318 </svg>
257 <span class="ml-4">Редактор</span> 319 <span class="ml-4">Редактор</span>
258 </span> 320 </span>
259 <svg 321 <svg
260 class="w-4 h-4" 322 class="w-4 h-4"
261 aria-hidden="true" 323 aria-hidden="true"
262 fill="currentColor" 324 fill="currentColor"
263 viewBox="0 0 20 20" 325 viewBox="0 0 20 20"
264 > 326 >
265 <path 327 <path
266 fill-rule="evenodd" 328 fill-rule="evenodd"
267 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" 329 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"
268 clip-rule="evenodd" 330 clip-rule="evenodd"
269 ></path> 331 ></path>
270 </svg> 332 </svg>
271 </button> 333 </button>
272 <template x-if="isPagesMenuOpen"> 334 <template x-if="isPagesMenuOpen">
273 <ul 335 <ul
274 x-transition:enter="transition-all ease-in-out duration-300" 336 x-transition:enter="transition-all ease-in-out duration-300"
275 x-transition:enter-start="opacity-25 max-h-0" 337 x-transition:enter-start="opacity-25 max-h-0"
276 x-transition:enter-end="opacity-100 max-h-xl" 338 x-transition:enter-end="opacity-100 max-h-xl"
277 x-transition:leave="transition-all ease-in-out duration-300" 339 x-transition:leave="transition-all ease-in-out duration-300"
278 x-transition:leave-start="opacity-100 max-h-xl" 340 x-transition:leave-start="opacity-100 max-h-xl"
279 x-transition:leave-end="opacity-0 max-h-0" 341 x-transition:leave-end="opacity-0 max-h-0"
280 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" 342 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"
281 aria-label="submenu" 343 aria-label="submenu"
282 > 344 >
283 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 345 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
284 <a class="w-full" href="{{ route('admin.editor-site') }}">Редактор сайта</a> 346 <a class="w-full" href="{{ route('admin.editor-site') }}">Редактор сайта</a>
285 </li> 347 </li>
286 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 348 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
287 <a class="w-full" href="{{ route('admin.edit-blocks') }}">Шапка-футер сайта</a> 349 <a class="w-full" href="{{ route('admin.edit-blocks') }}">Шапка-футер сайта</a>
288 </li> 350 </li>
289 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 351 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
290 <a class="w-full" href="{{ route('admin.reclames') }}">Реклама</a> 352 <a class="w-full" href="{{ route('admin.reclames') }}">Реклама</a>
291 </li> 353 </li>
292 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 354 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
293 <a class="w-full" href="{{ route('admin.editor-seo') }}">SEO сайта</a> 355 <a class="w-full" href="{{ route('admin.editor-seo') }}">SEO сайта</a>
294 </li> 356 </li>
295 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 357 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
296 <a class="w-full" href="{{ route('admin.editor-pages') }}">Редактор страниц</a> 358 <a class="w-full" href="{{ route('admin.editor-pages') }}">Редактор страниц</a>
297 </li> 359 </li>
298 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 360 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
299 <a class="w-full" href="{{ route('admin.job-titles-main') }}">Должности на главной</a> 361 <a class="w-full" href="{{ route('admin.job-titles-main') }}">Должности на главной</a>
300 </li> 362 </li>
301 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 363 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
302 <a class="w-full" href="{{ route('admin.employers-main') }}">Работодатели на главной</a> 364 <a class="w-full" href="{{ route('admin.employers-main') }}">Работодатели на главной</a>
303 </li> 365 </li>
304 </ul> 366 </ul>
305 </template> 367 </template>
306 </li> 368 </li>
369
307 </ul> 370 </ul>
308 <!--<div class="px-6 my-6"> 371 <!--<div class="px-6 my-6">
309 <button 372 <button
310 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" 373 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"
311 > 374 >
312 Create account 375 Create account
313 <span class="ml-2" aria-hidden="true">+</span> 376 <span class="ml-2" aria-hidden="true">+</span>
314 </button> 377 </button>
315 </div>--> 378 </div>-->
316 </div> 379 </div>
317 </aside> 380 </aside>
318 <!-- Mobile sidebar --> 381 <!-- Mobile sidebar -->
319 <!-- Backdrop --> 382 <!-- Backdrop -->
320 <div 383 <div
321 x-show="isSideMenuOpen" 384 x-show="isSideMenuOpen"
322 x-transition:enter="transition ease-in-out duration-150" 385 x-transition:enter="transition ease-in-out duration-150"
323 x-transition:enter-start="opacity-0" 386 x-transition:enter-start="opacity-0"
324 x-transition:enter-end="opacity-100" 387 x-transition:enter-end="opacity-100"
325 x-transition:leave="transition ease-in-out duration-150" 388 x-transition:leave="transition ease-in-out duration-150"
326 x-transition:leave-start="opacity-100" 389 x-transition:leave-start="opacity-100"
327 x-transition:leave-end="opacity-0" 390 x-transition:leave-end="opacity-0"
328 class="fixed inset-0 z-10 flex items-end bg-black bg-opacity-50 sm:items-center sm:justify-center" 391 class="fixed inset-0 z-10 flex items-end bg-black bg-opacity-50 sm:items-center sm:justify-center"
329 ></div> 392 ></div>
330 <aside 393 <aside
331 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" 394 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"
332 x-show="isSideMenuOpen" 395 x-show="isSideMenuOpen"
333 x-transition:enter="transition ease-in-out duration-150" 396 x-transition:enter="transition ease-in-out duration-150"
334 x-transition:enter-start="opacity-0 transform -translate-x-20" 397 x-transition:enter-start="opacity-0 transform -translate-x-20"
335 x-transition:enter-end="opacity-100" 398 x-transition:enter-end="opacity-100"
336 x-transition:leave="transition ease-in-out duration-150" 399 x-transition:leave="transition ease-in-out duration-150"
337 x-transition:leave-start="opacity-100" 400 x-transition:leave-start="opacity-100"
338 x-transition:leave-end="opacity-0 transform -translate-x-20" 401 x-transition:leave-end="opacity-0 transform -translate-x-20"
339 @click.away="closeSideMenu" 402 @click.away="closeSideMenu"
340 @keydown.escape="closeSideMenu" 403 @keydown.escape="closeSideMenu"
341 > 404 >
342 <div class="py-4 text-gray-500 dark:text-gray-400"> 405 <div class="py-4 text-gray-500 dark:text-gray-400">
343 <a 406 <a
344 class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200" 407 class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200"
345 href="{{ route('admin.index') }}" 408 href="{{ route('admin.index') }}"
346 > 409 >
347 Админка 410 Админка
348 </a> 411 </a>
349 <ul class="mt-6"> 412 <ul class="mt-6">
350 <li class="relative px-6 py-3"> 413 <li class="relative px-6 py-3">
351 <span 414 <span
352 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg" 415 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg"
353 aria-hidden="true" 416 aria-hidden="true"
354 ></span> 417 ></span>
355 <a 418 <a
356 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" 419 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"
357 href="{{ route('admin.index') }}" 420 href="{{ route('admin.index') }}"
358 > 421 >
359 <svg 422 <svg
360 class="w-5 h-5" 423 class="w-5 h-5"
361 aria-hidden="true" 424 aria-hidden="true"
362 fill="none" 425 fill="none"
363 stroke-linecap="round" 426 stroke-linecap="round"
364 stroke-linejoin="round" 427 stroke-linejoin="round"
365 stroke-width="2" 428 stroke-width="2"
366 viewBox="0 0 24 24" 429 viewBox="0 0 24 24"
367 stroke="currentColor" 430 stroke="currentColor"
368 > 431 >
369 <path 432 <path
370 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" 433 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"
371 ></path> 434 ></path>
372 </svg> 435 </svg>
373 <span class="ml-4">Главная страница</span> 436 <span class="ml-4">Главная страница</span>
374 </a> 437 </a>
375 </li> 438 </li>
376 </ul> 439 </ul>
377 <ul> 440 <ul>
378 <li class="relative px-6 py-3"> 441 <li class="relative px-6 py-3">
379 <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" 442 <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"
380 href="{{ route('admin.users') }}"> 443 href="{{ route('admin.users') }}">
381 <svg 444 <svg
382 class="w-5 h-5" 445 class="w-5 h-5"
383 aria-hidden="true" 446 aria-hidden="true"
384 fill="none" 447 fill="none"
385 stroke-linecap="round" 448 stroke-linecap="round"
386 stroke-linejoin="round" 449 stroke-linejoin="round"
387 stroke-width="2" 450 stroke-width="2"
388 viewBox="0 0 24 24" 451 viewBox="0 0 24 24"
389 stroke="currentColor" 452 stroke="currentColor"
390 > 453 >
391 <path 454 <path
392 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" 455 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"
393 ></path> 456 ></path>
394 </svg> 457 </svg>
395 <span class="ml-4">Пользователи</span> 458 <span class="ml-4">Пользователи</span>
396 </a> 459 </a>
397 </li> 460 </li>
398 <li class="relative px-6 py-3"> 461 <li class="relative px-6 py-3">
399 <a 462 <a
400 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 463 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
401 href="{{ route('admin.employers') }}" 464 href="{{ route('admin.employers') }}"
402 > 465 >
403 <svg 466 <svg
404 class="w-5 h-5" 467 class="w-5 h-5"
405 aria-hidden="true" 468 aria-hidden="true"
406 fill="none" 469 fill="none"
407 stroke-linecap="round" 470 stroke-linecap="round"
408 stroke-linejoin="round" 471 stroke-linejoin="round"
409 stroke-width="2" 472 stroke-width="2"
410 viewBox="0 0 24 24" 473 viewBox="0 0 24 24"
411 stroke="currentColor" 474 stroke="currentColor"
412 > 475 >
413 <path 476 <path
414 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" 477 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"
415 ></path> 478 ></path>
416 </svg> 479 </svg>
417 <span class="ml-4">Работодатели</span> 480 <span class="ml-4">Работодатели</span>
418 </a> 481 </a>
419 </li> 482 </li>
420 <li class="relative px-6 py-3"> 483 <li class="relative px-6 py-3">
421 <a 484 <a
422 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 485 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
423 href="{{ route('admin.workers') }}" 486 href="{{ route('admin.workers') }}"
424 > 487 >
425 <svg 488 <svg
426 class="w-5 h-5" 489 class="w-5 h-5"
427 aria-hidden="true" 490 aria-hidden="true"
428 fill="none" 491 fill="none"
429 stroke-linecap="round" 492 stroke-linecap="round"
430 stroke-linejoin="round" 493 stroke-linejoin="round"
431 stroke-width="2" 494 stroke-width="2"
432 viewBox="0 0 24 24" 495 viewBox="0 0 24 24"
433 stroke="currentColor" 496 stroke="currentColor"
434 > 497 >
435 <path 498 <path
436 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 499 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
437 ></path> 500 ></path>
438 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 501 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
439 </svg> 502 </svg>
440 <span class="ml-4">Соискатели</span> 503 <span class="ml-4">Соискатели</span>
441 </a> 504 </a>
442 </li> 505 </li>
443 <li class="relative px-6 py-3"> 506 <li class="relative px-6 py-3">
444 <a 507 <a
445 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 508 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
446 href="{{ route('admin.ad-employers') }}" 509 href="{{ route('admin.ad-employers') }}"
447 > 510 >
448 <svg 511 <svg
449 class="w-5 h-5" 512 class="w-5 h-5"
450 aria-hidden="true" 513 aria-hidden="true"
451 fill="none" 514 fill="none"
452 stroke-linecap="round" 515 stroke-linecap="round"
453 stroke-linejoin="round" 516 stroke-linejoin="round"
454 stroke-width="2" 517 stroke-width="2"
455 viewBox="0 0 24 24" 518 viewBox="0 0 24 24"
456 stroke="currentColor" 519 stroke="currentColor"
457 > 520 >
458 <path 521 <path
459 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" 522 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"
460 ></path> 523 ></path>
461 </svg> 524 </svg>
462 <span class="ml-4">Вакансии</span> 525 <span class="ml-4">Вакансии</span>
463 </a> 526 </a>
464 </li> 527 </li>
465 <li class="relative px-6 py-3"> 528 <li class="relative px-6 py-3">
466 <a 529 <a
467 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 530 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
468 href="{{ route('admin.categories.index') }}" 531 href="{{ route('admin.messages') }}"
469 > 532 >
470 <svg 533 <svg
471 class="w-5 h-5" 534 class="w-5 h-5"
472 aria-hidden="true" 535 aria-hidden="true"
473 fill="none" 536 fill="none"
474 stroke-linecap="round" 537 stroke-linecap="round"
475 stroke-linejoin="round" 538 stroke-linejoin="round"
476 stroke-width="2" 539 stroke-width="2"
477 viewBox="0 0 24 24" 540 viewBox="0 0 24 24"
478 stroke="currentColor" 541 stroke="currentColor"
479 > 542 >
480 <path 543 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
481 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"
482 ></path>
483 </svg> 544 </svg>
484 <span class="ml-4">Категории</span> 545 <span class="ml-4">Сообщения</span>
485 </a> 546 </a>
486 </li> 547 </li>
487 <li class="relative px-6 py-3"> 548 <li class="relative px-6 py-3">
488 <a 549 <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"
489 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 550 href="{{ route('admin.groups') }}">
490 href="{{ route('admin.job-titles') }}"
491 >
492 <svg 551 <svg
493 class="w-5 h-5" 552 class="w-5 h-5"
494 aria-hidden="true" 553 aria-hidden="true"
495 fill="none" 554 fill="none"
496 stroke-linecap="round" 555 stroke-linecap="round"
497 stroke-linejoin="round" 556 stroke-linejoin="round"
498 stroke-width="2" 557 stroke-width="2"
499 viewBox="0 0 24 24" 558 viewBox="0 0 24 24"
500 stroke="currentColor" 559 stroke="currentColor"
501 > 560 >
502 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 561 <path
562 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"
563 ></path>
503 </svg> 564 </svg>
504 <span class="ml-4">Должности</span> 565 <span class="ml-4">Группы пользователей</span>
505 </a> 566 </a>
506 </li> 567 </li>
507 <li class="relative px-6 py-3"> 568 <li class="relative px-6 py-3">
508 <a 569 <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"
509 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 570 href="{{ route('admin.roles') }}">
510 href="{{ route('admin.messages') }}"
511 >
512 <svg 571 <svg
513 class="w-5 h-5" 572 class="w-5 h-5"
514 aria-hidden="true" 573 aria-hidden="true"
515 fill="none" 574 fill="none"
516 stroke-linecap="round" 575 stroke-linecap="round"
517 stroke-linejoin="round" 576 stroke-linejoin="round"
518 stroke-width="2" 577 stroke-width="2"
519 viewBox="0 0 24 24" 578 viewBox="0 0 24 24"
520 stroke="currentColor" 579 stroke="currentColor"
521 > 580 >
522 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 581 <path
582 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"
583 ></path>
523 </svg> 584 </svg>
524 <span class="ml-4">Сообщения</span> 585 <span class="ml-4">Роли пользователей</span>
525 </a> 586 </a>
526 </li> 587 </li>
527 <li class="relative px-6 py-3"> 588 <li class="relative px-6 py-3">
528 <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" 589 <a
529 href="{{ route('admin.groups') }}"> 590 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
591 href="{{ route('admin.statics') }}"
592 >
530 <svg 593 <svg
531 class="w-5 h-5" 594 class="w-5 h-5"
532 aria-hidden="true" 595 aria-hidden="true"
533 fill="none" 596 fill="none"
534 stroke-linecap="round" 597 stroke-linecap="round"
535 stroke-linejoin="round" 598 stroke-linejoin="round"
536 stroke-width="2" 599 stroke-width="2"
537 viewBox="0 0 24 24" 600 viewBox="0 0 24 24"
538 stroke="currentColor" 601 stroke="currentColor"
539 > 602 >
540 <path 603 <path
541 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" 604 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
542 ></path> 605 ></path>
606 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
543 </svg> 607 </svg>
544 <span class="ml-4">Группы пользователей</span> 608 <span class="ml-4">Статистика</span>
545 </a> 609 </a>
546 </li> 610 </li>
611 <!-- Справочники -->
612 <li class="relative px-6 py-3" x-data="{ open2: false }">
613 <button
614 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"
615 @click="open2=!open2"
616 aria-haspopup="true">
617 <span class="inline-flex items-center">
618 <svg
619 class="w-5 h-5"
620 aria-hidden="true"
621 fill="none"
622 stroke-linecap="round"
623 stroke-linejoin="round"
624 stroke-width="2"
625 viewBox="0 0 24 24"
626 stroke="currentColor">
627 <path
628 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"
629 ></path>
630 </svg>
631 <span class="ml-4">Справочники</span>
632 </span>
633 <svg
634 class="w-4 h-4"
635 aria-hidden="true"
636 fill="currentColor"
637 viewBox="0 0 20 20"
638 >
639 <path
640 fill-rule="evenodd"
641 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"
642 clip-rule="evenodd"
643 ></path>
644 </svg>
645 </button>
646 <template x-if="open2">
647 <ul
648 x-transition:enter="transition-all ease-in-out duration-300"
649 x-transition:enter-start="opacity-25 max-h-0"
650 x-transition:enter-end="opacity-100 max-h-xl"
651 x-transition:leave="transition-all ease-in-out duration-300"
652 x-transition:leave-start="opacity-100 max-h-xl"
653 x-transition:leave-end="opacity-0 max-h-0"
654 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"
655 aria-label="submenu"
656 >
657 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
658 <a class="w-full" href="{{ route('admin.job-titles') }}">Должности</a>
659 </li>
660 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
661 <a class="w-full" href="{{ route('admin.categories.index') }}">Категории</a>
662 </li>
663 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
664 <a class="w-full" href="{{ route('admin.infobloks') }}">Блоки-Дипломы</a>
665 </li>
666
667 </ul>
668 </template>
669 </li>
670
671
672 <!-- Редактор -->
547 <li class="relative px-6 py-3"> 673 <li class="relative px-6 py-3">
548 <button 674 <button
549 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" 675 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"
550 @click="togglePagesMenu" 676 @click="togglePagesMenu"
551 aria-haspopup="true" 677 aria-haspopup="true"
552 > 678 >
553 <span class="inline-flex items-center"> 679 <span class="inline-flex items-center">
554 <svg 680 <svg
555 class="w-5 h-5" 681 class="w-5 h-5"
556 aria-hidden="true" 682 aria-hidden="true"
557 fill="none" 683 fill="none"
558 stroke-linecap="round" 684 stroke-linecap="round"
559 stroke-linejoin="round" 685 stroke-linejoin="round"
560 stroke-width="2" 686 stroke-width="2"
561 viewBox="0 0 24 24" 687 viewBox="0 0 24 24"
562 stroke="currentColor" 688 stroke="currentColor"
563 > 689 >
564 <path 690 <path
565 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" 691 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"
566 ></path> 692 ></path>
567 </svg> 693 </svg>
568 <span class="ml-4">Редактор</span> 694 <span class="ml-4">Редактор</span>
569 </span> 695 </span>
570 <svg 696 <svg
571 class="w-4 h-4" 697 class="w-4 h-4"
572 aria-hidden="true" 698 aria-hidden="true"
573 fill="currentColor" 699 fill="currentColor"
574 viewBox="0 0 20 20" 700 viewBox="0 0 20 20"
575 > 701 >
576 <path 702 <path
577 fill-rule="evenodd" 703 fill-rule="evenodd"
578 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" 704 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"
579 clip-rule="evenodd" 705 clip-rule="evenodd"
580 ></path> 706 ></path>
581 </svg> 707 </svg>
582 </button> 708 </button>
583 <template x-if="isPagesMenuOpen"> 709 <template x-if="isPagesMenuOpen">
584 <ul 710 <ul
585 x-transition:enter="transition-all ease-in-out duration-300" 711 x-transition:enter="transition-all ease-in-out duration-300"
586 x-transition:enter-start="opacity-25 max-h-0" 712 x-transition:enter-start="opacity-25 max-h-0"
587 x-transition:enter-end="opacity-100 max-h-xl" 713 x-transition:enter-end="opacity-100 max-h-xl"
588 x-transition:leave="transition-all ease-in-out duration-300" 714 x-transition:leave="transition-all ease-in-out duration-300"
589 x-transition:leave-start="opacity-100 max-h-xl" 715 x-transition:leave-start="opacity-100 max-h-xl"
590 x-transition:leave-end="opacity-0 max-h-0" 716 x-transition:leave-end="opacity-0 max-h-0"
591 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" 717 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"
592 aria-label="submenu" 718 aria-label="submenu"
593 > 719 >
594 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 720 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
595 <a class="w-full" href="{{ route('admin.editor-site') }}">Редактор сайта</a> 721 <a class="w-full" href="{{ route('admin.editor-site') }}">Редактор сайта</a>
596 </li> 722 </li>
597 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 723 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
598 <a class="w-full" href="{{ route('admin.edit-blocks') }}">Шапка-футер сайта</a> 724 <a class="w-full" href="{{ route('admin.edit-blocks') }}">Шапка-футер сайта</a>
599 </li> 725 </li>
600 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 726 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
601 <a class="w-full" href="{{ route('admin.reclames') }}">Реклама</a> 727 <a class="w-full" href="{{ route('admin.reclames') }}">Реклама</a>
602 </li> 728 </li>
603 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 729 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
604 <a class="w-full" href="{{ route('admin.editor-seo') }}">SEO сайта</a> 730 <a class="w-full" href="{{ route('admin.editor-seo') }}">SEO сайта</a>
605 </li> 731 </li>
606 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 732 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
607 <a class="w-full" href="{{ route('admin.editor-pages') }}">Редактор страниц</a> 733 <a class="w-full" href="{{ route('admin.editor-pages') }}">Редактор страниц</a>
608 </li> 734 </li>
609 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 735 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
610 <a class="w-full" href="{{ route('admin.job-titles-main') }}">Должности на главной</a> 736 <a class="w-full" href="{{ route('admin.job-titles-main') }}">Должности на главной</a>
611 </li> 737 </li>
612 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 738 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
613 <a class="w-full" href="{{ route('admin.employers-main') }}">Работодатели на главной</a> 739 <a class="w-full" href="{{ route('admin.employers-main') }}">Работодатели на главной</a>
614 </li> 740 </li>
615 741
616 </ul> 742 </ul>
617 </template> 743 </template>
618 </li> 744 </li>
619 </ul> 745 </ul>
620 <!--<div class="px-6 my-6"> 746 <!--<div class="px-6 my-6">
621 <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"> 747 <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">
622 Create account 748 Create account
623 <span class="ml-2" aria-hidden="true">+</span> 749 <span class="ml-2" aria-hidden="true">+</span>
624 </button> 750 </button>
625 </div>--> 751 </div>-->
626 </div> 752 </div>
627 </aside> 753 </aside>
628 <div class="flex flex-col flex-1 w-full"> 754 <div class="flex flex-col flex-1 w-full">
629 <header class="z-10 py-4 bg-white shadow-md dark:bg-gray-800"> 755 <header class="z-10 py-4 bg-white shadow-md dark:bg-gray-800">
630 <div 756 <div
631 class="container flex items-center justify-between h-full px-6 mx-auto text-purple-600 dark:text-purple-300" 757 class="container flex items-center justify-between h-full px-6 mx-auto text-purple-600 dark:text-purple-300"
632 > 758 >
633 <!-- Mobile hamburger --> 759 <!-- Mobile hamburger -->
634 <button 760 <button
635 class="p-1 mr-5 -ml-1 rounded-md md:hidden focus:outline-none focus:shadow-outline-purple" 761 class="p-1 mr-5 -ml-1 rounded-md md:hidden focus:outline-none focus:shadow-outline-purple"
636 @click="toggleSideMenu" 762 @click="toggleSideMenu"
637 aria-label="Menu" 763 aria-label="Menu"
638 > 764 >
639 <svg 765 <svg
640 class="w-6 h-6" 766 class="w-6 h-6"
641 aria-hidden="true" 767 aria-hidden="true"
642 fill="currentColor" 768 fill="currentColor"
643 viewBox="0 0 20 20" 769 viewBox="0 0 20 20"
644 > 770 >
645 <path 771 <path
646 fill-rule="evenodd" 772 fill-rule="evenodd"
647 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" 773 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"
648 clip-rule="evenodd" 774 clip-rule="evenodd"
649 ></path> 775 ></path>
650 </svg> 776 </svg>
651 </button> 777 </button>
652 <!-- Search input --> 778 <!-- Search input -->
653 <div class="flex justify-center flex-1 lg:mr-32"> 779 <div class="flex justify-center flex-1 lg:mr-32">
654 <div 780 <div
655 class="relative w-full max-w-xl mr-6 focus-within:text-purple-500" 781 class="relative w-full max-w-xl mr-6 focus-within:text-purple-500"
656 > 782 >
657 <div class="absolute inset-y-0 flex items-center pl-2"> 783
658 <svg 784 @yield('search')
659 class="w-4 h-4"
660 aria-hidden="true"
661 fill="currentColor"
662 viewBox="0 0 20 20"
663 >
664 <path
665 fill-rule="evenodd"
666 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"
667 clip-rule="evenodd"
668 ></path>
669 </svg>
670 </div>
671 <input
672 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"
673 type="text"
674 placeholder="Искать..."
675 aria-label="Search"
676 />
677 </div> 785 </div>
678 </div> 786 </div>
679 <ul class="flex items-center flex-shrink-0 space-x-6"> 787 <ul class="flex items-center flex-shrink-0 space-x-6">
680 <!-- Theme toggler --> 788 <!-- Theme toggler -->
681 <li class="flex"> 789 <li class="flex">
682 <button 790 <button
683 class="rounded-md focus:outline-none focus:shadow-outline-purple" 791 class="rounded-md focus:outline-none focus:shadow-outline-purple"
684 @click="toggleTheme" 792 @click="toggleTheme"
685 aria-label="Toggle color mode" 793 aria-label="Toggle color mode"
686 > 794 >
687 <template x-if="!dark"> 795 <template x-if="!dark">
688 <svg 796 <svg
689 class="w-5 h-5" 797 class="w-5 h-5"
690 aria-hidden="true" 798 aria-hidden="true"
691 fill="currentColor" 799 fill="currentColor"
692 viewBox="0 0 20 20" 800 viewBox="0 0 20 20"
693 > 801 >
694 <path 802 <path
695 d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z" 803 d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"
696 ></path> 804 ></path>
697 </svg> 805 </svg>
698 </template> 806 </template>
699 <template x-if="dark"> 807 <template x-if="dark">
700 <svg 808 <svg
701 class="w-5 h-5" 809 class="w-5 h-5"
702 aria-hidden="true" 810 aria-hidden="true"
703 fill="currentColor" 811 fill="currentColor"
704 viewBox="0 0 20 20" 812 viewBox="0 0 20 20"
705 > 813 >
706 <path 814 <path
707 fill-rule="evenodd" 815 fill-rule="evenodd"
708 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" 816 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"
709 clip-rule="evenodd" 817 clip-rule="evenodd"
710 ></path> 818 ></path>
711 </svg> 819 </svg>
712 </template> 820 </template>
713 </button> 821 </button>
714 </li> 822 </li>
715 <!-- Notifications menu --> 823 <!-- Notifications menu -->
716 <li class="relative"> 824 <li class="relative">
717 <button 825 <button
718 class="relative align-middle rounded-md focus:outline-none focus:shadow-outline-purple" 826 class="relative align-middle rounded-md focus:outline-none focus:shadow-outline-purple"
719 @click="toggleNotificationsMenu" 827 @click="toggleNotificationsMenu"
720 @keydown.escape="closeNotificationsMenu" 828 @keydown.escape="closeNotificationsMenu"
721 aria-label="Notifications" 829 aria-label="Notifications"
722 aria-haspopup="true" 830 aria-haspopup="true"
723 > 831 >
724 <svg 832 <svg
725 class="w-5 h-5" 833 class="w-5 h-5"
726 aria-hidden="true" 834 aria-hidden="true"
727 fill="currentColor" 835 fill="currentColor"
728 viewBox="0 0 20 20" 836 viewBox="0 0 20 20"
729 > 837 >
730 <path 838 <path
731 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" 839 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"
732 ></path> 840 ></path>
733 </svg> 841 </svg>
734 <!-- Notification badge --> 842 <!-- Notification badge -->
735 <span 843 <span
736 aria-hidden="true" 844 aria-hidden="true"
737 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" 845 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"
738 ></span> 846 ></span>
739 </button> 847 </button>
740 <template x-if="isNotificationsMenuOpen"> 848 <template x-if="isNotificationsMenuOpen">
741 <ul 849 <ul
742 x-transition:leave="transition ease-in duration-150" 850 x-transition:leave="transition ease-in duration-150"
743 x-transition:leave-start="opacity-100" 851 x-transition:leave-start="opacity-100"
744 x-transition:leave-end="opacity-0" 852 x-transition:leave-end="opacity-0"
745 @click.away="closeNotificationsMenu" 853 @click.away="closeNotificationsMenu"
746 @keydown.escape="closeNotificationsMenu" 854 @keydown.escape="closeNotificationsMenu"
747 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" 855 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"
748 > 856 >
749 <li class="flex"> 857 <li class="flex">
750 <a 858 <a
751 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" 859 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"
752 href="#" 860 href="#"
753 > 861 >
754 <span>Сообщения</span> 862 <span>Сообщения</span>
755 <span 863 <span
756 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" 864 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"
757 > 865 >
758 13 866 13
759 </span> 867 </span>
760 </a> 868 </a>
761 </li> 869 </li>
762 <li class="flex"> 870 <li class="flex">
763 <a 871 <a
764 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" 872 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"
765 href="#" 873 href="#"
766 > 874 >
767 <span>Логи</span> 875 <span>Логи</span>
768 </a> 876 </a>
769 </li> 877 </li>
770 </ul> 878 </ul>
771 </template> 879 </template>
772 </li> 880 </li>
773 <!-- Profile menu --> 881 <!-- Profile menu -->
774 <li class="relative"> 882 <li class="relative">
775 <button 883 <button
776 class="align-middle rounded-full focus:shadow-outline-purple focus:outline-none" 884 class="align-middle rounded-full focus:shadow-outline-purple focus:outline-none"
777 @click="toggleProfileMenu" 885 @click="toggleProfileMenu"
778 @keydown.escape="closeProfileMenu" 886 @keydown.escape="closeProfileMenu"
779 aria-label="Account" 887 aria-label="Account"
780 aria-haspopup="true" 888 aria-haspopup="true"
781 > 889 >
782 <img 890 <img
783 class="object-cover w-8 h-8 rounded-full" 891 class="object-cover w-8 h-8 rounded-full"
784 src="{{ asset('assets/img/profile.jpg') }}" 892 src="{{ asset('assets/img/profile.jpg') }}"
785 alt="" 893 alt=""
786 aria-hidden="true" 894 aria-hidden="true"
787 /> 895 />
788 </button> 896 </button>
789 <template x-if="isProfileMenuOpen"> 897 <template x-if="isProfileMenuOpen">
790 <ul 898 <ul
791 x-transition:leave="transition ease-in duration-150" 899 x-transition:leave="transition ease-in duration-150"
792 x-transition:leave-start="opacity-100" 900 x-transition:leave-start="opacity-100"
793 x-transition:leave-end="opacity-0" 901 x-transition:leave-end="opacity-0"
794 @click.away="closeProfileMenu" 902 @click.away="closeProfileMenu"
795 @keydown.escape="closeProfileMenu" 903 @keydown.escape="closeProfileMenu"
796 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" 904 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"
797 aria-label="submenu" 905 aria-label="submenu"
798 > 906 >
799 <li class="flex"> 907 <li class="flex">
800 <a 908 <a
801 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" 909 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"
802 href="{{ route('admin.profile') }}" 910 href="{{ route('admin.profile') }}"
803 > 911 >
804 <svg 912 <svg
805 class="w-4 h-4 mr-3" 913 class="w-4 h-4 mr-3"
806 aria-hidden="true" 914 aria-hidden="true"
807 fill="none" 915 fill="none"
808 stroke-linecap="round" 916 stroke-linecap="round"
809 stroke-linejoin="round" 917 stroke-linejoin="round"
810 stroke-width="2" 918 stroke-width="2"
811 viewBox="0 0 24 24" 919 viewBox="0 0 24 24"
812 stroke="currentColor" 920 stroke="currentColor"
813 > 921 >
814 <path 922 <path
815 d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" 923 d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"
816 ></path> 924 ></path>
817 </svg> 925 </svg>
818 <span>Профиль</span> 926 <span>Профиль</span>
819 </a> 927 </a>
820 </li> 928 </li>
821 <li class="flex"> 929 <li class="flex">
822 <a 930 <a
823 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" 931 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"
824 href="{{ route('admin.config') }}" 932 href="{{ route('admin.config') }}"
825 > 933 >
826 <svg 934 <svg
827 class="w-4 h-4 mr-3" 935 class="w-4 h-4 mr-3"
828 aria-hidden="true" 936 aria-hidden="true"
829 fill="none" 937 fill="none"
830 stroke-linecap="round" 938 stroke-linecap="round"
831 stroke-linejoin="round" 939 stroke-linejoin="round"
832 stroke-width="2" 940 stroke-width="2"
833 viewBox="0 0 24 24" 941 viewBox="0 0 24 24"
834 stroke="currentColor" 942 stroke="currentColor"
835 > 943 >
836 <path 944 <path
837 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" 945 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"
838 ></path> 946 ></path>
839 <path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path> 947 <path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
840 </svg> 948 </svg>
841 <span>Настройки</span> 949 <span>Настройки</span>
842 </a> 950 </a>
843 </li> 951 </li>
844 <li class="flex"> 952 <li class="flex">
845 <a 953 <a
846 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" 954 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"
847 href="{{ route('admin.logout') }}" 955 href="{{ route('admin.logout') }}"
848 > 956 >
849 <svg 957 <svg
850 class="w-4 h-4 mr-3" 958 class="w-4 h-4 mr-3"
851 aria-hidden="true" 959 aria-hidden="true"
852 fill="none" 960 fill="none"
853 stroke-linecap="round" 961 stroke-linecap="round"
854 stroke-linejoin="round" 962 stroke-linejoin="round"
855 stroke-width="2" 963 stroke-width="2"
856 viewBox="0 0 24 24" 964 viewBox="0 0 24 24"
857 stroke="currentColor" 965 stroke="currentColor"
858 > 966 >
859 <path 967 <path
860 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" 968 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"
861 ></path> 969 ></path>
862 </svg> 970 </svg>
863 <span>Выход</span> 971 <span>Выход</span>
864 </a> 972 </a>
865 </li> 973 </li>
866 </ul> 974 </ul>
867 </template> 975 </template>
868 </li> 976 </li>
869 </ul> 977 </ul>
870 </div> 978 </div>
871 </header> 979 </header>
872 <main class="h-full overflow-y-auto"> 980 <main class="h-full overflow-y-auto">
873 <div class="container px-6 mx-auto grid"> 981 <div class="container px-6 mx-auto grid">
874 <h2 982 <h2
875 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200" 983 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200"
876 > 984 >
877 {{$title}} 985 {{$title}}
878 </h2> 986 </h2>
879 <!-- CTA --> 987 <!-- CTA -->
880 <a 988 <a
881 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" 989 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"
882 href="{{ route('admin.admin-users') }}" 990 href="{{ route('admin.admin-users') }}"
883 > 991 >
884 <div class="flex items-center"> 992 <div class="flex items-center">
885 <svg 993 <svg
886 class="w-5 h-5 mr-2" 994 class="w-5 h-5 mr-2"
887 fill="currentColor" 995 fill="currentColor"
888 viewBox="0 0 20 20" 996 viewBox="0 0 20 20"
889 > 997 >
890 <path 998 <path
891 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" 999 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"
892 ></path> 1000 ></path>
893 </svg> 1001 </svg>
894 <span>Вход в админку только для пользователей-админов</span> 1002 <span>Вход в админку только для пользователей-админов</span>
895 </div> 1003 </div>
896 <span>Список админов &RightArrow;</span> 1004 <span>Список админов &RightArrow;</span>
897 </a> 1005 </a>
898 1006
899 @if ($message = Session::get('success')) 1007 @if ($message = Session::get('success'))
900 <section> 1008 <section>
901 <div class="alert alert-success alert-dismissible mt-0" role="alert"> 1009 <div class="alert alert-success alert-dismissible mt-0" role="alert">
902 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть"> 1010 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть">
903 <span aria-hidden="true">&times;</span> 1011 <span aria-hidden="true">&times;</span>
904 </button> 1012 </button>
905 {{ $message }} 1013 {{ $message }}
906 </div> 1014 </div>
907 </section> 1015 </section>
908 @endif 1016 @endif
909 1017
910 @if ($errors->any()) 1018 @if ($errors->any())
911 <section> 1019 <section>
912 <div class="alert alert-danger alert-dismissible mt-4" role="alert"> 1020 <div class="alert alert-danger alert-dismissible mt-4" role="alert">
913 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть"> 1021 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть">
914 <span aria-hidden="true">&times;</span> 1022 <span aria-hidden="true">&times;</span>
915 </button> 1023 </button>
916 <ul class="mb-0"> 1024 <ul class="mb-0">
917 @foreach ($errors->all() as $error) 1025 @foreach ($errors->all() as $error)
918 <li>{{ $error }}</li> 1026 <li>{{ $error }}</li>
919 @endforeach 1027 @endforeach
920 </ul> 1028 </ul>
921 </div> 1029 </div>
922 </section> 1030 </section>
923 @endif 1031 @endif
924 1032
925 @yield('content') 1033 @yield('content')
926 1034
927 <!-- Cards 1035 <!-- Cards
928 <div class="grid gap-6 mb-8 md:grid-cols-2 xl:grid-cols-4"> 1036 <div class="grid gap-6 mb-8 md:grid-cols-2 xl:grid-cols-4">
929 1037
930 <div 1038 <div
931 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1039 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
932 > 1040 >
933 <div 1041 <div
934 class="p-3 mr-4 text-orange-500 bg-orange-100 rounded-full dark:text-orange-100 dark:bg-orange-500" 1042 class="p-3 mr-4 text-orange-500 bg-orange-100 rounded-full dark:text-orange-100 dark:bg-orange-500"
935 > 1043 >
936 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1044 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
937 <path 1045 <path
938 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" 1046 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"
939 ></path> 1047 ></path>
940 </svg> 1048 </svg>
941 </div> 1049 </div>
942 <div> 1050 <div>
943 <p 1051 <p
944 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1052 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
945 > 1053 >
946 Total clients 1054 Total clients
947 </p> 1055 </p>
948 <p 1056 <p
949 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1057 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
950 > 1058 >
951 6389 1059 6389
952 </p> 1060 </p>
953 </div> 1061 </div>
954 </div> 1062 </div>
955 1063
956 <div 1064 <div
957 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1065 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
958 > 1066 >
959 <div 1067 <div
960 class="p-3 mr-4 text-green-500 bg-green-100 rounded-full dark:text-green-100 dark:bg-green-500" 1068 class="p-3 mr-4 text-green-500 bg-green-100 rounded-full dark:text-green-100 dark:bg-green-500"
961 > 1069 >
962 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1070 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
963 <path 1071 <path
964 fill-rule="evenodd" 1072 fill-rule="evenodd"
965 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" 1073 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"
966 clip-rule="evenodd" 1074 clip-rule="evenodd"
967 ></path> 1075 ></path>
968 </svg> 1076 </svg>
969 </div> 1077 </div>
970 <div> 1078 <div>
971 <p 1079 <p
972 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1080 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
973 > 1081 >
974 Account balance 1082 Account balance
975 </p> 1083 </p>
976 <p 1084 <p
977 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1085 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
978 > 1086 >
979 $ 46,760.89 1087 $ 46,760.89
980 </p> 1088 </p>
981 </div> 1089 </div>
982 </div> 1090 </div>
983 1091
984 <div 1092 <div
985 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1093 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
986 > 1094 >
987 <div 1095 <div
988 class="p-3 mr-4 text-blue-500 bg-blue-100 rounded-full dark:text-blue-100 dark:bg-blue-500" 1096 class="p-3 mr-4 text-blue-500 bg-blue-100 rounded-full dark:text-blue-100 dark:bg-blue-500"
989 > 1097 >
990 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1098 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
991 <path 1099 <path
992 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" 1100 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"
993 ></path> 1101 ></path>
994 </svg> 1102 </svg>
995 </div> 1103 </div>
996 <div> 1104 <div>
997 <p 1105 <p
998 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1106 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
999 > 1107 >
1000 New sales 1108 New sales
1001 </p> 1109 </p>
1002 <p 1110 <p
1003 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1111 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
1004 > 1112 >
1005 376 1113 376
1006 </p> 1114 </p>
1007 </div> 1115 </div>
1008 </div> 1116 </div>
1009 1117
1010 <div 1118 <div
1011 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1119 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1012 > 1120 >
1013 <div 1121 <div
1014 class="p-3 mr-4 text-teal-500 bg-teal-100 rounded-full dark:text-teal-100 dark:bg-teal-500" 1122 class="p-3 mr-4 text-teal-500 bg-teal-100 rounded-full dark:text-teal-100 dark:bg-teal-500"
1015 > 1123 >
1016 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1124 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
1017 <path 1125 <path
1018 fill-rule="evenodd" 1126 fill-rule="evenodd"
1019 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" 1127 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"
1020 clip-rule="evenodd" 1128 clip-rule="evenodd"
1021 ></path> 1129 ></path>
1022 </svg> 1130 </svg>
1023 </div> 1131 </div>
1024 <div> 1132 <div>
1025 <p 1133 <p
1026 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1134 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
1027 > 1135 >
1028 Pending contacts 1136 Pending contacts
1029 </p> 1137 </p>
1030 <p 1138 <p
1031 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1139 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
1032 > 1140 >
1033 35 1141 35
1034 </p> 1142 </p>
1035 </div> 1143 </div>
1036 </div> 1144 </div>
1037 </div> 1145 </div>
1038 --> 1146 -->
1039 <!-- New Table 1147 <!-- New Table
1040 <div class="w-full overflow-hidden rounded-lg shadow-xs"> 1148 <div class="w-full overflow-hidden rounded-lg shadow-xs">
1041 <div class="w-full overflow-x-auto"> 1149 <div class="w-full overflow-x-auto">
1042 <table class="w-full whitespace-no-wrap"> 1150 <table class="w-full whitespace-no-wrap">
1043 <thead> 1151 <thead>
1044 <tr 1152 <tr
1045 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" 1153 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"
1046 > 1154 >
1047 <th class="px-4 py-3">Client</th> 1155 <th class="px-4 py-3">Client</th>
1048 <th class="px-4 py-3">Amount</th> 1156 <th class="px-4 py-3">Amount</th>
1049 <th class="px-4 py-3">Status</th> 1157 <th class="px-4 py-3">Status</th>
1050 <th class="px-4 py-3">Date</th> 1158 <th class="px-4 py-3">Date</th>
1051 </tr> 1159 </tr>
1052 </thead> 1160 </thead>
1053 <tbody 1161 <tbody
1054 class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800" 1162 class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"
1055 > 1163 >
1056 <tr class="text-gray-700 dark:text-gray-400"> 1164 <tr class="text-gray-700 dark:text-gray-400">
1057 <td class="px-4 py-3"> 1165 <td class="px-4 py-3">
1058 <div class="flex items-center text-sm"> 1166 <div class="flex items-center text-sm">
1059 1167
1060 <div 1168 <div
1061 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1169 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1062 > 1170 >
1063 <img 1171 <img
1064 class="object-cover w-full h-full rounded-full" 1172 class="object-cover w-full h-full rounded-full"
1065 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" 1173 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"
1066 alt="" 1174 alt=""
1067 loading="lazy" 1175 loading="lazy"
1068 /> 1176 />
1069 <div 1177 <div
1070 class="absolute inset-0 rounded-full shadow-inner" 1178 class="absolute inset-0 rounded-full shadow-inner"
1071 aria-hidden="true" 1179 aria-hidden="true"
1072 ></div> 1180 ></div>
1073 </div> 1181 </div>
1074 <div> 1182 <div>
1075 <p class="font-semibold">Hans Burger</p> 1183 <p class="font-semibold">Hans Burger</p>
1076 <p class="text-xs text-gray-600 dark:text-gray-400"> 1184 <p class="text-xs text-gray-600 dark:text-gray-400">
1077 10x Developer 1185 10x Developer
1078 </p> 1186 </p>
1079 </div> 1187 </div>
1080 </div> 1188 </div>
1081 </td> 1189 </td>
1082 <td class="px-4 py-3 text-sm"> 1190 <td class="px-4 py-3 text-sm">
1083 $ 863.45 1191 $ 863.45
1084 </td> 1192 </td>
1085 <td class="px-4 py-3 text-xs"> 1193 <td class="px-4 py-3 text-xs">
1086 <span 1194 <span
1087 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" 1195 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"
1088 > 1196 >
1089 Approved 1197 Approved
1090 </span> 1198 </span>
1091 </td> 1199 </td>
1092 <td class="px-4 py-3 text-sm"> 1200 <td class="px-4 py-3 text-sm">
1093 6/10/2020 1201 6/10/2020
1094 </td> 1202 </td>
1095 </tr> 1203 </tr>
1096 1204
1097 <tr class="text-gray-700 dark:text-gray-400"> 1205 <tr class="text-gray-700 dark:text-gray-400">
1098 <td class="px-4 py-3"> 1206 <td class="px-4 py-3">
1099 <div class="flex items-center text-sm"> 1207 <div class="flex items-center text-sm">
1100 1208
1101 <div 1209 <div
1102 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1210 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1103 > 1211 >
1104 <img 1212 <img
1105 class="object-cover w-full h-full rounded-full" 1213 class="object-cover w-full h-full rounded-full"
1106 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" 1214 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"
1107 alt="" 1215 alt=""
1108 loading="lazy" 1216 loading="lazy"
1109 /> 1217 />
1110 <div 1218 <div
1111 class="absolute inset-0 rounded-full shadow-inner" 1219 class="absolute inset-0 rounded-full shadow-inner"
1112 aria-hidden="true" 1220 aria-hidden="true"
1113 ></div> 1221 ></div>
1114 </div> 1222 </div>
1115 <div> 1223 <div>
1116 <p class="font-semibold">Jolina Angelie</p> 1224 <p class="font-semibold">Jolina Angelie</p>
1117 <p class="text-xs text-gray-600 dark:text-gray-400"> 1225 <p class="text-xs text-gray-600 dark:text-gray-400">
1118 Unemployed 1226 Unemployed
1119 </p> 1227 </p>
1120 </div> 1228 </div>
1121 </div> 1229 </div>
1122 </td> 1230 </td>
1123 <td class="px-4 py-3 text-sm"> 1231 <td class="px-4 py-3 text-sm">
1124 $ 369.95 1232 $ 369.95
1125 </td> 1233 </td>
1126 <td class="px-4 py-3 text-xs"> 1234 <td class="px-4 py-3 text-xs">
1127 <span 1235 <span
1128 class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600" 1236 class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"
1129 > 1237 >
1130 Pending 1238 Pending
1131 </span> 1239 </span>
1132 </td> 1240 </td>
1133 <td class="px-4 py-3 text-sm"> 1241 <td class="px-4 py-3 text-sm">
1134 6/10/2020 1242 6/10/2020
1135 </td> 1243 </td>
1136 </tr> 1244 </tr>
1137 1245
1138 <tr class="text-gray-700 dark:text-gray-400"> 1246 <tr class="text-gray-700 dark:text-gray-400">
1139 <td class="px-4 py-3"> 1247 <td class="px-4 py-3">
1140 <div class="flex items-center text-sm"> 1248 <div class="flex items-center text-sm">
1141 1249
1142 <div 1250 <div
1143 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1251 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1144 > 1252 >
1145 <img 1253 <img
1146 class="object-cover w-full h-full rounded-full" 1254 class="object-cover w-full h-full rounded-full"
1147 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" 1255 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"
1148 alt="" 1256 alt=""
1149 loading="lazy" 1257 loading="lazy"
1150 /> 1258 />
1151 <div 1259 <div
1152 class="absolute inset-0 rounded-full shadow-inner" 1260 class="absolute inset-0 rounded-full shadow-inner"
1153 aria-hidden="true" 1261 aria-hidden="true"
1154 ></div> 1262 ></div>
1155 </div> 1263 </div>
1156 <div> 1264 <div>
1157 <p class="font-semibold">Sarah Curry</p> 1265 <p class="font-semibold">Sarah Curry</p>
1158 <p class="text-xs text-gray-600 dark:text-gray-400"> 1266 <p class="text-xs text-gray-600 dark:text-gray-400">
1159 Designer 1267 Designer
1160 </p> 1268 </p>
1161 </div> 1269 </div>
1162 </div> 1270 </div>
1163 </td> 1271 </td>
1164 <td class="px-4 py-3 text-sm"> 1272 <td class="px-4 py-3 text-sm">
1165 $ 86.00 1273 $ 86.00
1166 </td> 1274 </td>
1167 <td class="px-4 py-3 text-xs"> 1275 <td class="px-4 py-3 text-xs">
1168 <span 1276 <span
1169 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" 1277 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"
1170 > 1278 >
1171 Denied 1279 Denied
1172 </span> 1280 </span>
1173 </td> 1281 </td>
1174 <td class="px-4 py-3 text-sm"> 1282 <td class="px-4 py-3 text-sm">
1175 6/10/2020 1283 6/10/2020
1176 </td> 1284 </td>
1177 </tr> 1285 </tr>
1178 1286
1179 <tr class="text-gray-700 dark:text-gray-400"> 1287 <tr class="text-gray-700 dark:text-gray-400">
1180 <td class="px-4 py-3"> 1288 <td class="px-4 py-3">
1181 <div class="flex items-center text-sm"> 1289 <div class="flex items-center text-sm">
1182 1290
1183 <div 1291 <div
1184 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1292 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1185 > 1293 >
1186 <img 1294 <img
1187 class="object-cover w-full h-full rounded-full" 1295 class="object-cover w-full h-full rounded-full"
1188 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" 1296 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"
1189 alt="" 1297 alt=""
1190 loading="lazy" 1298 loading="lazy"
1191 /> 1299 />
1192 <div 1300 <div
1193 class="absolute inset-0 rounded-full shadow-inner" 1301 class="absolute inset-0 rounded-full shadow-inner"
1194 aria-hidden="true" 1302 aria-hidden="true"
1195 ></div> 1303 ></div>
1196 </div> 1304 </div>
1197 <div> 1305 <div>
1198 <p class="font-semibold">Rulia Joberts</p> 1306 <p class="font-semibold">Rulia Joberts</p>
1199 <p class="text-xs text-gray-600 dark:text-gray-400"> 1307 <p class="text-xs text-gray-600 dark:text-gray-400">
1200 Actress 1308 Actress
1201 </p> 1309 </p>
1202 </div> 1310 </div>
1203 </div> 1311 </div>
1204 </td> 1312 </td>
1205 <td class="px-4 py-3 text-sm"> 1313 <td class="px-4 py-3 text-sm">
1206 $ 1276.45 1314 $ 1276.45
1207 </td> 1315 </td>
1208 <td class="px-4 py-3 text-xs"> 1316 <td class="px-4 py-3 text-xs">
1209 <span 1317 <span
1210 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" 1318 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"
1211 > 1319 >
1212 Approved 1320 Approved
1213 </span> 1321 </span>
1214 </td> 1322 </td>
1215 <td class="px-4 py-3 text-sm"> 1323 <td class="px-4 py-3 text-sm">
1216 6/10/2020 1324 6/10/2020
1217 </td> 1325 </td>
1218 </tr> 1326 </tr>
1219 1327
1220 <tr class="text-gray-700 dark:text-gray-400"> 1328 <tr class="text-gray-700 dark:text-gray-400">
1221 <td class="px-4 py-3"> 1329 <td class="px-4 py-3">
1222 <div class="flex items-center text-sm"> 1330 <div class="flex items-center text-sm">
1223 1331
1224 <div 1332 <div
1225 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1333 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1226 > 1334 >
1227 <img 1335 <img
1228 class="object-cover w-full h-full rounded-full" 1336 class="object-cover w-full h-full rounded-full"
1229 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" 1337 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"
1230 alt="" 1338 alt=""
1231 loading="lazy" 1339 loading="lazy"
1232 /> 1340 />
1233 <div 1341 <div
1234 class="absolute inset-0 rounded-full shadow-inner" 1342 class="absolute inset-0 rounded-full shadow-inner"
1235 aria-hidden="true" 1343 aria-hidden="true"
1236 ></div> 1344 ></div>
1237 </div> 1345 </div>
1238 <div> 1346 <div>
1239 <p class="font-semibold">Wenzel Dashington</p> 1347 <p class="font-semibold">Wenzel Dashington</p>
1240 <p class="text-xs text-gray-600 dark:text-gray-400"> 1348 <p class="text-xs text-gray-600 dark:text-gray-400">
1241 Actor 1349 Actor
1242 </p> 1350 </p>
1243 </div> 1351 </div>
1244 </div> 1352 </div>
1245 </td> 1353 </td>
1246 <td class="px-4 py-3 text-sm"> 1354 <td class="px-4 py-3 text-sm">
1247 $ 863.45 1355 $ 863.45
1248 </td> 1356 </td>
1249 <td class="px-4 py-3 text-xs"> 1357 <td class="px-4 py-3 text-xs">
1250 <span 1358 <span
1251 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" 1359 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"
1252 > 1360 >
1253 Expired 1361 Expired
1254 </span> 1362 </span>
1255 </td> 1363 </td>
1256 <td class="px-4 py-3 text-sm"> 1364 <td class="px-4 py-3 text-sm">
1257 6/10/2020 1365 6/10/2020
1258 </td> 1366 </td>
1259 </tr> 1367 </tr>
1260 1368
1261 <tr class="text-gray-700 dark:text-gray-400"> 1369 <tr class="text-gray-700 dark:text-gray-400">
1262 <td class="px-4 py-3"> 1370 <td class="px-4 py-3">
1263 <div class="flex items-center text-sm"> 1371 <div class="flex items-center text-sm">
1264 1372
1265 <div 1373 <div
1266 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1374 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1267 > 1375 >
1268 <img 1376 <img
1269 class="object-cover w-full h-full rounded-full" 1377 class="object-cover w-full h-full rounded-full"
1270 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" 1378 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"
1271 alt="" 1379 alt=""
1272 loading="lazy" 1380 loading="lazy"
1273 /> 1381 />
1274 <div 1382 <div
1275 class="absolute inset-0 rounded-full shadow-inner" 1383 class="absolute inset-0 rounded-full shadow-inner"
1276 aria-hidden="true" 1384 aria-hidden="true"
1277 ></div> 1385 ></div>
1278 </div> 1386 </div>
1279 <div> 1387 <div>
1280 <p class="font-semibold">Dave Li</p> 1388 <p class="font-semibold">Dave Li</p>
1281 <p class="text-xs text-gray-600 dark:text-gray-400"> 1389 <p class="text-xs text-gray-600 dark:text-gray-400">
1282 Influencer 1390 Influencer
1283 </p> 1391 </p>
1284 </div> 1392 </div>
1285 </div> 1393 </div>
1286 </td> 1394 </td>
1287 <td class="px-4 py-3 text-sm"> 1395 <td class="px-4 py-3 text-sm">
1288 $ 863.45 1396 $ 863.45
1289 </td> 1397 </td>
1290 <td class="px-4 py-3 text-xs"> 1398 <td class="px-4 py-3 text-xs">
1291 <span 1399 <span
1292 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" 1400 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"
1293 > 1401 >
1294 Approved 1402 Approved
1295 </span> 1403 </span>
1296 </td> 1404 </td>
1297 <td class="px-4 py-3 text-sm"> 1405 <td class="px-4 py-3 text-sm">
1298 6/10/2020 1406 6/10/2020
1299 </td> 1407 </td>
1300 </tr> 1408 </tr>
1301 1409
1302 <tr class="text-gray-700 dark:text-gray-400"> 1410 <tr class="text-gray-700 dark:text-gray-400">
1303 <td class="px-4 py-3"> 1411 <td class="px-4 py-3">
1304 <div class="flex items-center text-sm"> 1412 <div class="flex items-center text-sm">
1305 1413
1306 <div 1414 <div
1307 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1415 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1308 > 1416 >
1309 <img 1417 <img
1310 class="object-cover w-full h-full rounded-full" 1418 class="object-cover w-full h-full rounded-full"
1311 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" 1419 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"
1312 alt="" 1420 alt=""
1313 loading="lazy" 1421 loading="lazy"
1314 /> 1422 />
1315 <div 1423 <div
1316 class="absolute inset-0 rounded-full shadow-inner" 1424 class="absolute inset-0 rounded-full shadow-inner"
1317 aria-hidden="true" 1425 aria-hidden="true"
1318 ></div> 1426 ></div>
1319 </div> 1427 </div>
1320 <div> 1428 <div>
1321 <p class="font-semibold">Maria Ramovic</p> 1429 <p class="font-semibold">Maria Ramovic</p>
1322 <p class="text-xs text-gray-600 dark:text-gray-400"> 1430 <p class="text-xs text-gray-600 dark:text-gray-400">
1323 Runner 1431 Runner
1324 </p> 1432 </p>
1325 </div> 1433 </div>
1326 </div> 1434 </div>
1327 </td> 1435 </td>
1328 <td class="px-4 py-3 text-sm"> 1436 <td class="px-4 py-3 text-sm">
1329 $ 863.45 1437 $ 863.45
1330 </td> 1438 </td>
1331 <td class="px-4 py-3 text-xs"> 1439 <td class="px-4 py-3 text-xs">
1332 <span 1440 <span
1333 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" 1441 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"
1334 > 1442 >
1335 Approved 1443 Approved
1336 </span> 1444 </span>
1337 </td> 1445 </td>
1338 <td class="px-4 py-3 text-sm"> 1446 <td class="px-4 py-3 text-sm">
1339 6/10/2020 1447 6/10/2020
1340 </td> 1448 </td>
1341 </tr> 1449 </tr>
1342 1450
1343 <tr class="text-gray-700 dark:text-gray-400"> 1451 <tr class="text-gray-700 dark:text-gray-400">
1344 <td class="px-4 py-3"> 1452 <td class="px-4 py-3">
1345 <div class="flex items-center text-sm"> 1453 <div class="flex items-center text-sm">
1346 1454
1347 <div 1455 <div
1348 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1456 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1349 > 1457 >
1350 <img 1458 <img
1351 class="object-cover w-full h-full rounded-full" 1459 class="object-cover w-full h-full rounded-full"
1352 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" 1460 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"
1353 alt="" 1461 alt=""
1354 loading="lazy" 1462 loading="lazy"
1355 /> 1463 />
1356 <div 1464 <div
1357 class="absolute inset-0 rounded-full shadow-inner" 1465 class="absolute inset-0 rounded-full shadow-inner"
1358 aria-hidden="true" 1466 aria-hidden="true"
1359 ></div> 1467 ></div>
1360 </div> 1468 </div>
1361 <div> 1469 <div>
1362 <p class="font-semibold">Hitney Wouston</p> 1470 <p class="font-semibold">Hitney Wouston</p>
1363 <p class="text-xs text-gray-600 dark:text-gray-400"> 1471 <p class="text-xs text-gray-600 dark:text-gray-400">
1364 Singer 1472 Singer
1365 </p> 1473 </p>
1366 </div> 1474 </div>
1367 </div> 1475 </div>
1368 </td> 1476 </td>
1369 <td class="px-4 py-3 text-sm"> 1477 <td class="px-4 py-3 text-sm">
1370 $ 863.45 1478 $ 863.45
1371 </td> 1479 </td>
1372 <td class="px-4 py-3 text-xs"> 1480 <td class="px-4 py-3 text-xs">
1373 <span 1481 <span
1374 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" 1482 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"
1375 > 1483 >
1376 Approved 1484 Approved
1377 </span> 1485 </span>
1378 </td> 1486 </td>
1379 <td class="px-4 py-3 text-sm"> 1487 <td class="px-4 py-3 text-sm">
1380 6/10/2020 1488 6/10/2020
1381 </td> 1489 </td>
1382 </tr> 1490 </tr>
1383 1491
1384 <tr class="text-gray-700 dark:text-gray-400"> 1492 <tr class="text-gray-700 dark:text-gray-400">
1385 <td class="px-4 py-3"> 1493 <td class="px-4 py-3">
1386 <div class="flex items-center text-sm"> 1494 <div class="flex items-center text-sm">
1387 1495
1388 <div 1496 <div
1389 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1497 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1390 > 1498 >
1391 <img 1499 <img
1392 class="object-cover w-full h-full rounded-full" 1500 class="object-cover w-full h-full rounded-full"
1393 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" 1501 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"
1394 alt="" 1502 alt=""
1395 loading="lazy" 1503 loading="lazy"
1396 /> 1504 />
1397 <div 1505 <div
1398 class="absolute inset-0 rounded-full shadow-inner" 1506 class="absolute inset-0 rounded-full shadow-inner"
1399 aria-hidden="true" 1507 aria-hidden="true"
1400 ></div> 1508 ></div>
1401 </div> 1509 </div>
1402 <div> 1510 <div>
1403 <p class="font-semibold">Hans Burger</p> 1511 <p class="font-semibold">Hans Burger</p>
1404 <p class="text-xs text-gray-600 dark:text-gray-400"> 1512 <p class="text-xs text-gray-600 dark:text-gray-400">
1405 10x Developer 1513 10x Developer
1406 </p> 1514 </p>
1407 </div> 1515 </div>
1408 </div> 1516 </div>
1409 </td> 1517 </td>
1410 <td class="px-4 py-3 text-sm"> 1518 <td class="px-4 py-3 text-sm">
1411 $ 863.45 1519 $ 863.45
1412 </td> 1520 </td>
1413 <td class="px-4 py-3 text-xs"> 1521 <td class="px-4 py-3 text-xs">
1414 <span 1522 <span
1415 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" 1523 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"
1416 > 1524 >
1417 Approved 1525 Approved
1418 </span> 1526 </span>
1419 </td> 1527 </td>
1420 <td class="px-4 py-3 text-sm"> 1528 <td class="px-4 py-3 text-sm">
1421 6/10/2020 1529 6/10/2020
1422 </td> 1530 </td>
1423 </tr> 1531 </tr>
1424 </tbody> 1532 </tbody>
1425 </table> 1533 </table>
1426 </div> 1534 </div>
1427 <div 1535 <div
1428 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" 1536 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"
1429 > 1537 >
1430 <span class="flex items-center col-span-3"> 1538 <span class="flex items-center col-span-3">
1431 Showing 21-30 of 100 1539 Showing 21-30 of 100
1432 </span> 1540 </span>
1433 <span class="col-span-2"></span> 1541 <span class="col-span-2"></span>
1434 1542
1435 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end"> 1543 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end">
1436 <nav aria-label="Table navigation"> 1544 <nav aria-label="Table navigation">
1437 <ul class="inline-flex items-center"> 1545 <ul class="inline-flex items-center">
1438 <li> 1546 <li>
1439 <button 1547 <button
1440 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple" 1548 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple"
1441 aria-label="Previous" 1549 aria-label="Previous"
1442 > 1550 >
1443 <svg 1551 <svg
1444 aria-hidden="true" 1552 aria-hidden="true"
1445 class="w-4 h-4 fill-current" 1553 class="w-4 h-4 fill-current"
1446 viewBox="0 0 20 20" 1554 viewBox="0 0 20 20"
1447 > 1555 >
1448 <path 1556 <path
1449 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" 1557 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"
1450 clip-rule="evenodd" 1558 clip-rule="evenodd"
1451 fill-rule="evenodd" 1559 fill-rule="evenodd"
1452 ></path> 1560 ></path>
1453 </svg> 1561 </svg>
1454 </button> 1562 </button>
1455 </li> 1563 </li>
1456 <li> 1564 <li>
1457 <button 1565 <button
1458 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1566 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1459 > 1567 >
1460 1 1568 1
1461 </button> 1569 </button>
1462 </li> 1570 </li>
1463 <li> 1571 <li>
1464 <button 1572 <button
1465 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1573 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1466 > 1574 >
1467 2 1575 2
1468 </button> 1576 </button>
1469 </li> 1577 </li>
1470 <li> 1578 <li>
1471 <button 1579 <button
1472 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" 1580 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"
1473 > 1581 >
1474 3 1582 3
1475 </button> 1583 </button>
1476 </li> 1584 </li>
1477 <li> 1585 <li>
1478 <button 1586 <button
1479 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1587 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1480 > 1588 >
1481 4 1589 4
1482 </button> 1590 </button>
1483 </li> 1591 </li>
1484 <li> 1592 <li>
1485 <span class="px-3 py-1">...</span> 1593 <span class="px-3 py-1">...</span>
1486 </li> 1594 </li>
1487 <li> 1595 <li>
1488 <button 1596 <button
1489 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1597 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1490 > 1598 >
1491 8 1599 8
1492 </button> 1600 </button>
1493 </li> 1601 </li>
1494 <li> 1602 <li>
1495 <button 1603 <button
1496 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1604 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1497 > 1605 >
1498 9 1606 9
1499 </button> 1607 </button>
1500 </li> 1608 </li>
1501 <li> 1609 <li>
1502 <button 1610 <button
1503 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple" 1611 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple"
1504 aria-label="Next" 1612 aria-label="Next"
1505 > 1613 >
1506 <svg 1614 <svg
1507 class="w-4 h-4 fill-current" 1615 class="w-4 h-4 fill-current"
1508 aria-hidden="true" 1616 aria-hidden="true"
1509 viewBox="0 0 20 20" 1617 viewBox="0 0 20 20"
1510 > 1618 >
1511 <path 1619 <path
1512 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" 1620 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"
1513 clip-rule="evenodd" 1621 clip-rule="evenodd"
1514 fill-rule="evenodd" 1622 fill-rule="evenodd"
1515 ></path> 1623 ></path>
1516 </svg> 1624 </svg>
1517 </button> 1625 </button>
1518 </li> 1626 </li>
1519 </ul> 1627 </ul>
1520 </nav> 1628 </nav>
1521 </span> 1629 </span>
1522 </div> 1630 </div>
1523 </div> 1631 </div>
1524 --> 1632 -->
1525 <!-- Charts --> 1633 <!-- Charts -->
1526 <!-- 1634 <!--
1527 <h2 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200"> 1635 <h2 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200">
1528 Графики 1636 Графики
1529 </h2> 1637 </h2>
1530 <div class="grid gap-6 mb-8 md:grid-cols-2"> 1638 <div class="grid gap-6 mb-8 md:grid-cols-2">
1531 <div 1639 <div
1532 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1640 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1533 > 1641 >
1534 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300"> 1642 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300">
1535 Revenue 1643 Revenue
1536 </h4> 1644 </h4>
1537 <canvas id="pie"></canvas> 1645 <canvas id="pie"></canvas>
1538 <div 1646 <div
1539 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400" 1647 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400"
1540 > 1648 >
1541 1649
1542 <div class="flex items-center"> 1650 <div class="flex items-center">
1543 <span 1651 <span
1544 class="inline-block w-3 h-3 mr-1 bg-blue-500 rounded-full" 1652 class="inline-block w-3 h-3 mr-1 bg-blue-500 rounded-full"
1545 ></span> 1653 ></span>
1546 <span>Shirts</span> 1654 <span>Shirts</span>
1547 </div> 1655 </div>
1548 <div class="flex items-center"> 1656 <div class="flex items-center">
1549 <span 1657 <span
1550 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full" 1658 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full"
1551 ></span> 1659 ></span>
1552 <span>Shoes</span> 1660 <span>Shoes</span>
1553 </div> 1661 </div>
1554 <div class="flex items-center"> 1662 <div class="flex items-center">
1555 <span 1663 <span
1556 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full" 1664 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full"
1557 ></span> 1665 ></span>
1558 <span>Bags</span> 1666 <span>Bags</span>
1559 </div> 1667 </div>
1560 </div> 1668 </div>
1561 </div> 1669 </div>
1562 <div 1670 <div
1563 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1671 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1564 > 1672 >
1565 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300"> 1673 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300">
1566 Traffic 1674 Traffic
1 <?php 1 <?php
2 2
3 use App\Http\Controllers\Admin\AdminController; 3 use App\Http\Controllers\Admin\AdminController;
4 use App\Http\Controllers\Admin\CategoryController; 4 use App\Http\Controllers\Admin\CategoryController;
5 use App\Http\Controllers\Admin\EmployersController; 5 use App\Http\Controllers\Admin\EmployersController;
6 use App\Http\Controllers\Admin\UsersController; 6 use App\Http\Controllers\Admin\UsersController;
7 use App\Http\Controllers\Admin\WorkersController; 7 use App\Http\Controllers\Admin\WorkersController;
8 use App\Http\Controllers\Auth\LoginController; 8 use App\Http\Controllers\Auth\LoginController;
9 use App\Http\Controllers\Auth\RegisterController; 9 use App\Http\Controllers\Auth\RegisterController;
10 use App\Models\User; 10 use App\Models\User;
11 use App\Http\Controllers\MainController; 11 use App\Http\Controllers\MainController;
12 use App\Http\Controllers\HomeController; 12 use App\Http\Controllers\HomeController;
13 use Illuminate\Support\Facades\Route; 13 use Illuminate\Support\Facades\Route;
14 use App\Http\Controllers\Admin\CompanyController;
15 use App\Http\Controllers\Admin\Ad_EmployersController;
16
14 17
15 /* 18 /*
16 |-------------------------------------------------------------------------- 19 |--------------------------------------------------------------------------
17 | Web Routes 20 | Web Routes
18 |-------------------------------------------------------------------------- 21 |--------------------------------------------------------------------------
19 | 22 |
20 | Here is where you can register web routes for your application. These 23 | Here is where you can register web routes for your application. These
21 | routes are loaded by the RouteServiceProvider within a group which 24 | routes are loaded by the RouteServiceProvider within a group which
22 | contains the "web" middleware group. Now create something great! 25 | contains the "web" middleware group. Now create something great!
23 | 26 |
24 */ 27 */
25 /* 28 /*
26 Route::get('/', function () { 29 Route::get('/', function () {
27 return view('welcome'); 30 return view('welcome');
28 })->name('index'); 31 })->name('index');
29 */ 32 */
30 Route::get('/', [MainController::class, 'index'])->name('index'); 33 Route::get('/', [MainController::class, 'index'])->name('index');
31 34
32 //Роуты авторизации, регистрации, восстановления, аутентификации 35 //Роуты авторизации, регистрации, восстановления, аутентификации
33 Auth::routes(['verify' => true]); 36 Auth::routes(['verify' => true]);
34 //Личный кабинет пользователя 37 //Личный кабинет пользователя
35 Route::get('/home', [HomeController::class, 'index'])->name('home'); 38 Route::get('/home', [HomeController::class, 'index'])->name('home');
36 39
37 /* 40 /*
38 Route::post('resend/verification-email', function (\Illuminate\Http\Request $request) { 41 Route::post('resend/verification-email', function (\Illuminate\Http\Request $request) {
39 $user = User::where('email',$request->input('email'))->first(); 42 $user = User::where('email',$request->input('email'))->first();
40 43
41 $user->sendEmailVerificationNotification(); 44 $user->sendEmailVerificationNotification();
42 45
43 return 'your response'; 46 return 'your response';
44 })->middleware('throttle:6,1')->name('verification.resend'); 47 })->middleware('throttle:6,1')->name('verification.resend');
45 */ 48 */
46 49
47 // Авторизация, регистрация в админку 50 // Авторизация, регистрация в админку
48 Route::group([ 51 Route::group([
49 'as' => 'admin.', // имя маршрута, например auth.index 52 'as' => 'admin.', // имя маршрута, например auth.index
50 'prefix' => 'admin', // префикс маршрута, например auth/index 53 'prefix' => 'admin', // префикс маршрута, например auth/index
51 'middleware' => ['guest'], 54 'middleware' => ['guest'],
52 ], function () { 55 ], function () {
53 // Форма регистрации 56 // Форма регистрации
54 Route::get('register', [AdminController::class, 'register'])->name('register'); 57 Route::get('register', [AdminController::class, 'register'])->name('register');
55 58
56 // Создание пользователя 59 // Создание пользователя
57 Route::post('register', [AdminController::class, 'create'])->name('create'); 60 Route::post('register', [AdminController::class, 'create'])->name('create');
58 //Форма входа 61 //Форма входа
59 Route::get('login', [AdminController::class, 'login'])->name('login'); 62 Route::get('login', [AdminController::class, 'login'])->name('login');
60 63
61 // аутентификация 64 // аутентификация
62 Route::post('login', [AdminController::class, 'autenticate'])->name('auth'); 65 Route::post('login', [AdminController::class, 'autenticate'])->name('auth');
63 66
64 }); 67 });
65 68
66 // Личный кабинет админки 69 // Личный кабинет админки
67 Route::group([ 70 Route::group([
68 'as' => 'admin.', // имя маршрута, например auth.index 71 'as' => 'admin.', // имя маршрута, например auth.index
69 'prefix' => 'admin', // префикс маршрута, например auth/index 72 'prefix' => 'admin', // префикс маршрута, например auth/index
70 'middleware' => ['auth'], ['admin'], 73 'middleware' => ['auth'], ['admin'],
71 ], function() { 74 ], function() {
72 75
73 // выход 76 // выход
74 Route::get('logout', [AdminController::class, 'logout'])->name('logout'); 77 Route::get('logout', [AdminController::class, 'logout'])->name('logout');
75 78
76 // кабинет главная страница 79 // кабинет главная страница
77 Route::get('cabinet', [AdminController::class, 'index'])->name('index'); 80 Route::get('cabinet', [AdminController::class, 'index'])->name('index');
78 81
79 // кабинет профиль админа - форма 82 // кабинет профиль админа - форма
80 Route::get('profile', [AdminController::class, 'profile'])->name('profile'); 83 Route::get('profile', [AdminController::class, 'profile'])->name('profile');
81 // кабинет профиль админа - сохранение формы 84 // кабинет профиль админа - сохранение формы
82 Route::post('profile', [AdminController::class, 'store_profile'])->name('store_profile'); 85 Route::post('profile', [AdminController::class, 'store_profile'])->name('store_profile');
83 86
84 // кабинет профиль - форма пароли 87 // кабинет профиль - форма пароли
85 Route::get('password', [AdminController::class, 'profile_password'])->name('password'); 88 Route::get('password', [AdminController::class, 'profile_password'])->name('password');
86 // кабинет профиль - сохранение формы пароля 89 // кабинет профиль - сохранение формы пароля
87 Route::post('password', [AdminController::class, 'profile_password_new'])->name('password'); 90 Route::post('password', [AdminController::class, 'profile_password_new'])->name('password');
88 91
89 92
90 // кабинет профиль пользователя - форма 93 // кабинет профиль пользователя - форма
91 Route::get('user-profile/{user}', [AdminController::class, 'profile_user'])->name('user-profile'); 94 Route::get('user-profile/{user}', [AdminController::class, 'profile_user'])->name('user-profile');
92 // кабинет профиль пользователя - сохранение формы 95 // кабинет профиль пользователя - сохранение формы
93 Route::post('user-profile/{user}', [AdminController::class, 'store_profile_user'])->name('user-store_profile'); 96 Route::post('user-profile/{user}', [AdminController::class, 'store_profile_user'])->name('user-store_profile');
94 97
95 // кабинет профиль работодатель - форма 98 // кабинет профиль работодатель - форма
96 Route::get('employer-profile/{employer}', [EmployersController::class, 'form_update_employer'])->name('employer-profile'); 99 Route::get('employer-profile/{employer}', [EmployersController::class, 'form_update_employer'])->name('employer-profile');
97 // кабинет профиль работодатель - сохранение формы 100 // кабинет профиль работодатель - сохранение формы
98 Route::post('employer-profile/{employer}', [EmployersController::class, 'update_employer'])->name('update-employer-profile'); 101 Route::post('employer-profile/{employer}', [EmployersController::class, 'update_employer'])->name('update-employer-profile');
99 102
100 // кабинет профиль работник - форма 103 // кабинет профиль работник - форма
101 Route::post('worker-profile/{worker}', [WorkersController::class, 'form_update_worker'])->name('worker-profile'); 104 Route::post('worker-profile/{worker}', [WorkersController::class, 'form_update_worker'])->name('worker-profile');
102 105
103 // кабинет настройки сайта - форма 106 // кабинет настройки сайта - форма
104 Route::get('config', [AdminController::class, 'config_form'])->name('config'); 107 Route::get('config', [AdminController::class, 'config_form'])->name('config');
105 // кабинет настройки сайта сохранение формы 108 // кабинет настройки сайта сохранение формы
106 Route::post('config', [AdminController::class, 'store_config'])->name('store_config'); 109 Route::post('config', [AdminController::class, 'store_config'])->name('store_config');
107 110
108 // кабинет - пользователи 111 // кабинет - пользователи
109 Route::get('users', [UsersController::class, 'index'])->name('users'); 112 Route::get('users', [UsersController::class, 'index'])->name('users');
110 113
111 // кабинет - пользователи 114 // кабинет - пользователи
112 Route::get('admin-users', [AdminController::class, 'index_admin'])->name('admin-users'); 115 Route::get('admin-users', [AdminController::class, 'index_admin'])->name('admin-users');
113 116
114 // кабинет - работодатели 117 // кабинет - работодатели
115 Route::get('employers', [EmployersController::class, 'index'])->name('employers'); 118 Route::get('employers', [EmployersController::class, 'index'])->name('employers');
116 119
117 // кабинет - соискатели 120 // кабинет - соискатели
118 Route::get('workers', [WorkersController::class, 'index'])->name('workers'); 121 Route::get('workers', [WorkersController::class, 'index'])->name('workers');
119 122
120 // кабинет - вакансии 123 // кабинет - вакансии
121 Route::get('ad-employers', [AdminController::class, 'index'])->name('ad-employers'); 124 Route::get('ad-employers', [Ad_EmployersController::class, 'index'])->name('ad-employers');
122 125
123 // кабинет - категории 126 // кабинет - категории
124 //Route::get('categories', [AdminController::class, 'index'])->name('categories'); 127 //Route::get('categories', [AdminController::class, 'index'])->name('categories');
125 /* 128 /*
126 * CRUD-операции над настройками Компании 129 * CRUD-операции над настройками Компании
127 */ 130 */
128 Route::resource('categories', CategoryController::class, ['except' => ['show']]); 131 Route::resource('categories', CategoryController::class, ['except' => ['show']]);
129 132
130 133
131 // кабинет - должности 134 // кабинет - должности
132 Route::get('job-titles', [AdminController::class, 'index'])->name('job-titles'); 135 Route::get('job-titles', [AdminController::class, 'index'])->name('job-titles');
133 136
134 // кабинет - сообщения 137 // кабинет - сообщения
135 Route::get('messages', [AdminController::class, 'index'])->name('messages'); 138 Route::get('messages', [AdminController::class, 'index'])->name('messages');
136 139
137 // кабинет - группы пользователей 140 // кабинет - группы пользователей
138 Route::get('groups', [AdminController::class, 'index'])->name('groups'); 141 Route::get('groups', [AdminController::class, 'index'])->name('groups');
139 142
140 // кабинет - список админов 143 // кабинет - список админов
141 Route::get('group-admin', [AdminController::class, 'index'])->name('group-admin'); 144 Route::get('group-admin', [AdminController::class, 'index'])->name('group-admin');
142 145
143 /////редактор////// кабинет - редактор сайта 146 /////редактор////// кабинет - редактор сайта////////////////////////
144 Route::get('editor-site', [AdminController::class, 'editor'])->name('editor-site'); 147 Route::get('editor-site', [CompanyController::class, 'editor'])->name('editor-site');
145 148
146 // кабинет - редактор шапки-футера сайта 149 // кабинет - редактор шапки-футера сайта
147 Route::get('edit-blocks', [AdminController::class, 'editblocks'])->name('edit-blocks'); 150 Route::get('edit-blocks', [CompanyController::class, 'editblocks'])->name('edit-blocks');
148 151
149 // кабинет - редактор должности на главной 152 // кабинет - редактор должности на главной
150 Route::get('job-titles-main', [AdminController::class, 'job_titles_main'])->name('job-titles-main'); 153 Route::get('job-titles-main', [CompanyController::class, 'job_titles_main'])->name('job-titles-main');
151 154
152 // кабинет - редактор работодатели на главной 155 // кабинет - редактор работодатели на главной
153 Route::get('employers-main', [AdminController::class, 'employers_main'])->name('employers-main'); 156 Route::get('employers-main', [CompanyController::class, 'employers_main'])->name('employers-main');
154 157
155 // кабинет - редактор seo-сайта 158 // кабинет - редактор seo-сайта
156 Route::get('editor-seo', [AdminController::class, 'editor_seo'])->name('editor-seo'); 159 Route::get('editor-seo', [CompanyController::class, 'editor_seo'])->name('editor-seo');
157 160
158 // кабинет - редактор страниц 161 // кабинет - редактор страниц
159 Route::get('editor-pages', [AdminController::class, 'editor_pages'])->name('editor-pages'); 162 Route::get('editor-pages', [CompanyController::class, 'editor_pages'])->name('editor-pages');
160 163
161 // кабинет - реклама сайта 164 // кабинет - реклама сайта
162 Route::get('reclames', [AdminController::class, 'reclames'])->name('reclames'); 165 Route::get('reclames', [CompanyController::class, 'reclames'])->name('reclames');
166 ////////////////////////////////////////////////////////////////////////
167
168 // кабинет - отзывы о работодателе для модерации
169 Route::get('answers', [EmployersController::class, 'answers'])->name('answers');
163 170
171 // Общая страница статистики
172 Route::get('statics', function () {
173 return view('admin.static.index');
174 })->name('statics');
164 175
176 // кабинет - статистика работников
177 Route::get('static-workers', [WorkersController::class, 'static_workers'])->name('static-workers');
165 178
179 // кабинет - статистика вакансий работодателя
180 Route::get('static-ads', [EmployersController::class, 'static_ads'])->name('static-ads');
166 181
182 // кабинет - справочник - блоки информации (дипломы и документы) для резюме работника
183 Route::get('infobloks', [WorkersController::class, 'infobloks'])->name('infobloks');
167 184
185 // кабинет - роли пользователя
186 Route::get('roles', [UsersController::class, 'roles'])->name('roles');
168 187
169 }); 188 });
170 189