Commit ccfcc0cbb395fab7e67d51a60244eddb405e79dd

Authored by Андрей Ларионов
Exists in master

Merge branch 'master' of http://gitlab.nologostudio.ru/alarionov/rekamore-su

Showing 25 changed files Inline Diff

app/Http/Controllers/Admin/AdminController.php
1 <?php 1 <?php
2 2
3 namespace App\Http\Controllers\Admin; 3 namespace App\Http\Controllers\Admin;
4 4
5 use App\Http\Controllers\Controller; 5 use App\Http\Controllers\Controller;
6 use App\Http\Requests\CompanyRequest; 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 $id_admin = Auth::user()->id;
152 152
153 if ($request->ajax()) { 153 if ($request->ajax()) {
154 $user = User::find($request->id); 154 $user = User::find($request->id);
155 $request->offsetUnset('id'); 155 $request->offsetUnset('id');
156 $user->update($request->all()); 156 $user->update($request->all());
157 } 157 }
158 $find_key = ''; 158 $find_key = '';
159 $users = User::where('admin', '1'); 159 $users = User::where('admin', '1');
160 if (isset($request->find)) { 160 if (isset($request->find)) {
161 $find_key = $request->find; 161 $find_key = $request->find;
162 $users = $users->where(function($query) use($find_key) { 162 $users = $users->where(function($query) use($find_key) {
163 $query->Where('name', 'LIKE', "%$find_key%") 163 $query->Where('name', 'LIKE', "%$find_key%")
164 ->orWhere('email', 'LIKE', "%$find_key%"); 164 ->orWhere('email', 'LIKE', "%$find_key%");
165 }); 165 });
166 } 166 }
167 $users = $users->paginate(15); 167 $users = $users->paginate(15);
168 168
169 if ($request->ajax()) { 169 if ($request->ajax()) {
170 return view('admin.users.index_ajax', compact('users', 'id_admin')); 170 return view('admin.users.index_ajax', compact('users', 'id_admin'));
171 } else { 171 } else {
172 return view('admin.users.index', compact('users', 'title', 'id_admin', 'find_key')); 172 return view('admin.users.index', compact('users', 'title', 'id_admin', 'find_key'));
173 } 173 }
174 } 174 }
175 175
176 //Страница профиль пользователя - форма 176 //Страница профиль пользователя - форма
177 public function profile_user(User $user) { 177 public function profile_user(User $user) {
178 $visible = false; 178 $visible = false;
179 if($user->is_worker) { 179 if($user->is_worker) {
180 $caption = "Карточка работника"; 180 $caption = "Карточка работника";
181 if (isset($user->workers[0]->id)) { 181 if (isset($user->workers[0]->id)) {
182 $link = route('admin.worker-profile', ['worker' => $user->workers[0]->id]); 182 $link = route('admin.worker-profile-edit', ['worker' => $user->workers[0]->id]);
183 //$visible = true; 183 $visible = true;
184 } else { 184 } else {
185 $link = ""; 185 $link = "";
186 } 186 }
187 187
188 } else { 188 } else {
189 $caption = "Карточка работодателя"; 189 $caption = "Карточка работодателя";
190 if (isset($user->employers[0]->id)) { 190 if (isset($user->employers[0]->id)) {
191 191
192 $link = route('admin.employer-profile', ['employer' => $user->employers[0]->id]); 192 $link = route('admin.employer-profile', ['employer' => $user->employers[0]->id]);
193 //$visible = true; 193 $visible = true;
194 } else { 194 } else {
195 $link = ""; 195 $link = "";
196 } 196 }
197 } 197 }
198 198
199 return view('admin.users.profile', compact('user', 'visible', 'link', 'caption')); 199 return view('admin.users.profile', compact('user', 'visible', 'link', 'caption'));
200 } 200 }
201 201
202 //Страница профиль пользователя - сохранение формы 202 //Страница профиль пользователя - сохранение формы
203 public function store_profile_user(User $user, Request $request) { 203 public function store_profile_user(User $user, Request $request) {
204 $rules = [ 204 $rules = [
205 'name' => 'required|min:3', 205 'name' => 'required|min:3',
206 ]; 206 ];
207 $messages = [ 207 $messages = [
208 'required' => 'Укажите обязательное поле', 208 'required' => 'Укажите обязательное поле',
209 'email' => 'Это поле должно быть определено, как Email' 209 'email' => 'Это поле должно быть определено, как Email'
210 ]; 210 ];
211 $validator = Validator::make($request->all(), $rules, $messages); 211 $validator = Validator::make($request->all(), $rules, $messages);
212 212
213 if ($validator->fails()) { 213 if ($validator->fails()) {
214 return redirect()->route('admin.user-profile', ['user' => $user->id]) 214 return redirect()->route('admin.user-profile', ['user' => $user->id])
215 ->withErrors($validator); 215 ->withErrors($validator);
216 } else { 216 } else {
217 $user->update($request->all()); 217 $user->update($request->all());
218 return redirect()->route('admin.user-profile', ['user' => $user->id]) 218 return redirect()->route('admin.user-profile', ['user' => $user->id])
219 ->with('success', 'Данные были успешно сохранены'); 219 ->with('success', 'Данные были успешно сохранены');
220 } 220 }
221 return redirect()->route('admin.user-profile', ['user' => $user->id]); 221 return redirect()->route('admin.user-profile', ['user' => $user->id]);
222 } 222 }
223 223
224 // Страница профиль админа - форма 224 // Страница профиль админа - форма
225 public function profile() { 225 public function profile() {
226 $id = Auth::user()->id; 226 $id = Auth::user()->id;
227 $user = User::find($id); 227 $user = User::find($id);
228 228
229 return view('admin.profile', compact('user')); 229 return view('admin.profile', compact('user'));
230 } 230 }
231 231
232 // Страница профиль админа - сохранение формы 232 // Страница профиль админа - сохранение формы
233 public function store_profile(Request $request) { 233 public function store_profile(Request $request) {
234 $id = Auth::user()->id; 234 $id = Auth::user()->id;
235 $user = User::find($id); 235 $user = User::find($id);
236 236
237 $rules = [ 237 $rules = [
238 'name' => 'required|min:3', 238 'name' => 'required|min:3',
239 'email' => 'required|email|min:3', 239 'email' => 'required|email|min:3',
240 ]; 240 ];
241 $messages = [ 241 $messages = [
242 'required' => 'Укажите обязательное поле', 242 'required' => 'Укажите обязательное поле',
243 'email' => 'Это поле должно быть определено, как Email' 243 'email' => 'Это поле должно быть определено, как Email'
244 ]; 244 ];
245 $validator = Validator::make($request->all(), $rules, $messages); 245 $validator = Validator::make($request->all(), $rules, $messages);
246 246
247 if ($validator->fails()) { 247 if ($validator->fails()) {
248 return redirect()->route('admin.profile') 248 return redirect()->route('admin.profile')
249 ->withErrors($validator); 249 ->withErrors($validator);
250 } else { 250 } else {
251 $user->update($request->all()); 251 $user->update($request->all());
252 return redirect()->route('admin.profile') 252 return redirect()->route('admin.profile')
253 ->with('success', 'Данные были успешно сохранены'); 253 ->with('success', 'Данные были успешно сохранены');
254 } 254 }
255 return redirect()->route('admin.profile'); 255 return redirect()->route('admin.profile');
256 } 256 }
257 257
258 // Форма смены пароля администоратора 258 // Форма смены пароля администоратора
259 public function profile_password() { 259 public function profile_password() {
260 $id = Auth::user()->id; 260 $id = Auth::user()->id;
261 $user = User::find($id); 261 $user = User::find($id);
262 $username = $user->name; 262 $username = $user->name;
263 263
264 return view('admin.password', compact('username')); 264 return view('admin.password', compact('username'));
265 } 265 }
266 266
267 // Сохранение формы смены пароля администоратора 267 // Сохранение формы смены пароля администоратора
268 public function profile_password_new(Request $request) { 268 public function profile_password_new(Request $request) {
269 269
270 $rules = [ 270 $rules = [
271 'old_password' => 'required|min:6', //|current_password:api', 271 'old_password' => 'required|min:6', //|current_password:api',
272 'password' => 'required|min:6|confirmed', 272 'password' => 'required|min:6|confirmed',
273 ]; 273 ];
274 $messages = [ 274 $messages = [
275 'required' => 'Укажите обязательное поле', 275 'required' => 'Укажите обязательное поле',
276 'confirmed' => 'Пароли не совпадают' 276 'confirmed' => 'Пароли не совпадают'
277 ]; 277 ];
278 278
279 $validator = Validator::make($request->all(), $rules, $messages); 279 $validator = Validator::make($request->all(), $rules, $messages);
280 280
281 if (! Hash::check($request->old_password, $request->user()->password)) { 281 if (! Hash::check($request->old_password, $request->user()->password)) {
282 return back()->withErrors([ 282 return back()->withErrors([
283 'old_password' => ['Неверный предыдущий пароль'] 283 'old_password' => ['Неверный предыдущий пароль']
284 ]); 284 ]);
285 } 285 }
286 286
287 if ($validator->fails()) { 287 if ($validator->fails()) {
288 return redirect()->route('admin.password') 288 return redirect()->route('admin.password')
289 ->withErrors($validator); 289 ->withErrors($validator);
290 } else { 290 } else {
291 $params = $request->all(); 291 $params = $request->all();
292 // устанавливаем новый пароль для пользователя 292 // устанавливаем новый пароль для пользователя
293 User::where('id', Auth::id()) 293 User::where('id', Auth::id())
294 ->update(['password' => Hash::make($request->password)]); 294 ->update(['password' => Hash::make($request->password)]);
295 session()->flash('success', 'Успешно изменен пароль!'); 295 session()->flash('success', 'Успешно изменен пароль!');
296 296
297 return redirect()->route('admin.password'); 297 return redirect()->route('admin.password');
298 } 298 }
299 } 299 }
300 300
301 // Страница конфигурация сайта - форма 301 // Страница конфигурация сайта - форма
302 public function config_form() { 302 public function config_form() {
303 $config = Company::find(1); 303 $config = Company::find(1);
304 return view('admin.config', compact('config')); 304 return view('admin.config', compact('config'));
305 } 305 }
306 306
307 // Страница конфигурация сайта - сохранение формы 307 // Страница конфигурация сайта - сохранение формы
308 public function store_config(CompanyRequest $request) { 308 public function store_config(CompanyRequest $request) {
309 $config = Company::find(1); 309 $config = Company::find(1);
310 310
311 $params = $request->all(); 311 $params = $request->all();
312 unset($params['logo']); 312 unset($params['logo']);
313 unset($params['image']); 313 unset($params['image']);
314 314
315 if ($request->has('logo')) { 315 if ($request->has('logo')) {
316 Storage::delete($config->logo); 316 Storage::delete($config->logo);
317 $params['logo'] = $request->file('logo')->store('config', 'public'); 317 $params['logo'] = $request->file('logo')->store('config', 'public');
318 } 318 }
319 319
320 if ($request->has('image')) { 320 if ($request->has('image')) {
321 Storage::delete($config->image); 321 Storage::delete($config->image);
322 $params['image'] = $request->file('image')->store('config', 'public'); 322 $params['image'] = $request->file('image')->store('config', 'public');
323 } 323 }
324 324
325 if (is_null($config)) { 325 if (is_null($config)) {
326 Company::create($params); 326 Company::create($params);
327 } else { 327 } else {
328 $config->update($params); 328 $config->update($params);
329 } 329 }
330 330
331 return redirect()->route('admin.config'); 331 return redirect()->route('admin.config');
332 } 332 }
333 333
334 334
335 } 335 }
336 336
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\Company;
7 use App\Models\Job_title;
6 use App\Models\Static_worker; 8 use App\Models\Static_worker;
7 use App\Models\User; 9 use App\Models\User;
8 use App\Models\Worker; 10 use App\Models\Worker;
9 use Illuminate\Http\Request; 11 use Illuminate\Http\Request;
12 use Illuminate\Support\Facades\Storage;
13 use Illuminate\Support\Facades\Validator;
10 14
11 class WorkersController extends Controller 15 class WorkersController extends Controller
12 { 16 {
13 public function index(Request $request) { 17 public function index(Request $request) {
14 if ($request->ajax()) { 18 if ($request->ajax()) {
15 $user = User::find($request->id); 19 $user = User::find($request->id);
16 $request->offsetUnset('id'); 20 $request->offsetUnset('id');
17 $user->update($request->all()); 21 $user->update($request->all());
18 } 22 }
19 23
20 $users = User::where('is_worker', '1'); 24 $users = User::where('is_worker', '1');
21 $find_key = ""; 25 $find_key = "";
22 if (isset($request->find)) { 26 if (isset($request->find)) {
23 $find_key = $request->find; 27 $find_key = $request->find;
24 $users = $users->where(function($query) use($find_key) { 28 $users = $users->where(function($query) use($find_key) {
25 $query->Where('name_man', 'LIKE', "%$find_key%") 29 $query->Where('name_man', 'LIKE', "%$find_key%")
26 ->orWhere('email', 'LIKE', "%$find_key%") 30 ->orWhere('email', 'LIKE', "%$find_key%")
27 ->orWhere('telephone', 'LIKE', "%$find_key%"); 31 ->orWhere('telephone', 'LIKE', "%$find_key%");
28 }); 32 });
29 } 33 }
30 34
31 $users = $users->paginate(15); 35 $users = $users->paginate(15);
32 36
33 if ($request->ajax()) { 37 if ($request->ajax()) {
34 return view('admin.worker.index_ajax', compact('users')); 38 return view('admin.worker.index_ajax', compact('users'));
35 } else { 39 } else {
36 return view('admin.worker.index', compact('users', 'find_key')); 40 return view('admin.worker.index', compact('users', 'find_key'));
37 } 41 }
38 } 42 }
39 43
40 public function form_update_worker(Worker $worker) { 44 public function form_edit_worker(Worker $worker) {
41 return view('admin.worker.edit'); 45 $job_titles = Job_title::query()->active()->orderBy('name')->get();
46
47 $time_end_anketa = 'Бессрочно';
48 if (!empty($worker->updated_at)) {
49 $long_days = Company::find(1)->time_resume;
50 $time_end_anketa = date("d.m.Y H:i:s", strtotime($worker->updated_at . "+$long_days days"));
51 }
52 return view('admin.worker.edit', compact('worker', 'job_titles', 'time_end_anketa'));
53 }
54
55 public function form_update_worker(Request $request, Worker $worker)
56 {
57 $params = $request->all();
58
59 $rules = [
60 'email' => 'email|string|max:255',
61 //'photo' => 'mimes:jpeg,jpg,png|max:15000',
62 ];
63
64 $messages = [
65 'required' => 'Укажите обязательное поле «:attribute»',
66 'confirmed' => 'Пароли не совпадают',
67 'email' => 'Введите корректный email',
68 'min' => [
69 'string' => 'Поле «:attribute» должно быть не меньше :min символов',
70 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт'
71 ],
72 'max' => [
73 'string' => 'Поле «:attribute» должно быть не больше :max символов',
74 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт'
75 ],
76 ];
77
78 $validator = Validator::make($params, $rules, $messages);
79
80 if ($validator->fails()) {
81 return back()->withErrors($validator)->withInput();
82 } else {
83 $user_id = $worker->user_id;
84 if ($request->has('photo')) {
85 if (!empty($worker->photo)) {
86 Storage::delete($worker->photo);
87 }
88 if (!empty($request->photo))
89 $params['photo'] = $request->file('photo')->store("workers/$user_id", 'public');
90 }
91 $worker->update($params);
92
93 return redirect()->route('admin.workers');
94 }
42 } 95 }
43 96
44 // кабинет - статистика работников 97 // кабинет - статистика работников
45 public function static_workers(Request $request) { 98 public function static_workers(Request $request) {
46 $stat = Static_worker::with('users'); 99 $stat = Static_worker::with('users');
47 //->join('users', 'users.id', '=', 'static_workers.user_id'); 100 //->join('users', 'users.id', '=', 'static_workers.user_id');
48 $users = User::query()->active()->OrderBy('id')->get(); 101 $users = User::query()->active()->OrderBy('id')->get();
49 $periods = Static_worker::query()->distinct('year_month')->select('year_month')->get(); 102 $periods = Static_worker::query()->distinct('year_month')->select('year_month')->get();
50 if ($request->ajax()) { 103 if ($request->ajax()) {
51 if (isset($request->user_id)) 104 if (isset($request->user_id))
52 if (!$request->user_id == "0") 105 if (!$request->user_id == "0")
53 $stat = $stat->Where('user_id', '=', $request->user_id); 106 $stat = $stat->Where('user_id', '=', $request->user_id);
54 if (isset($request->year_month)) { 107 if (isset($request->year_month)) {
55 if (!$request->year_month == "0") 108 if (!$request->year_month == "0")
56 $stat = $stat->Where('year_month', '=', $request->year_month); 109 $stat = $stat->Where('year_month', '=', $request->year_month);
57 } 110 }
58 } 111 }
59 112
60 $stat = $stat->OrderByDesc('year_month'); 113 $stat = $stat->OrderByDesc('year_month');
61 //->OrderBy('users.name'); 114 //->OrderBy('users.name');
62 //OrderBy('users.name')-> 115 //OrderBy('users.name')->
63 /*$stat->implode() loadMissing(['users' => function (Builder $query) { 116 /*$stat->implode() loadMissing(['users' => function (Builder $query) {
64 $query->orderBy('name', 'asc'); 117 $query->orderBy('name', 'asc');
65 }]);*/ 118 }]);*/
66 119
67 $stat = $stat->paginate(15); 120 $stat = $stat->paginate(15);
68 121
69 if ($request->ajax()) 122 if ($request->ajax())
70 return view('admin.static.index_workers_ajax', compact('stat')); 123 return view('admin.static.index_workers_ajax', compact('stat'));
71 else 124 else
72 return view('admin.static.index_workers', compact('stat', 'users', 'periods')); 125 return view('admin.static.index_workers', compact('stat', 'users', 'periods'));
73 126
74 } 127 }
75 128
76 } 129 }
77 130
app/Http/Requests/CompanyRequest.php
1 <?php 1 <?php
2 2
3 namespace App\Http\Requests; 3 namespace App\Http\Requests;
4 4
5 use Illuminate\Foundation\Http\FormRequest; 5 use Illuminate\Foundation\Http\FormRequest;
6 6
7 class CompanyRequest extends FormRequest 7 class CompanyRequest extends FormRequest
8 { 8 {
9 /** 9 /**
10 * Determine if the user is authorized to make this request. 10 * Determine if the user is authorized to make this request.
11 * 11 *
12 * @return bool 12 * @return bool
13 */ 13 */
14 public function authorize() 14 public function authorize()
15 { 15 {
16 return true; 16 return true;
17 } 17 }
18 18
19 /** 19 /**
20 * Get the validation rules that apply to the request. 20 * Get the validation rules that apply to the request.
21 * 21 *
22 * @return array<string, mixed> 22 * @return array<string, mixed>
23 */ 23 */
24 public function rules() 24 public function rules()
25 { 25 {
26 return [ 26 return [
27 'name' => 'required|min:1|max:255', 27 'name' => 'required|min:1|max:255',
28 'email' => 'required|email|min:5', 28 'email' => 'required|email|min:5',
29 'logo' => [ 29 'logo' => [
30 'mimes:jpeg,jpg,png,ico', 30 'mimes:jpeg,jpg,png,ico',
31 'max:10000' 31 'max:10000'
32 ], 32 ],
33 'image' => [ 33 'image' => [
34 'mimes:jpeg,jpg,png', 34 'mimes:jpeg,jpg,png',
35 'max:10000' 35 'max:10000'
36 ], 36 ],
37 'time_mess' => 'required|numeric|min:0|max:365',
38 'time_resume' => 'required|numeric|min:0|max:365',
37 ]; 39 ];
38 } 40 }
39 41
40 public function messages() { 42 public function messages() {
41 return [ 43 return [
42 'required' => 'Поле :attribute обязательно для ввода', 44 'required' => 'Поле :attribute обязательно для ввода',
45 'numeric' => 'Поле :attribute должно быть целым числом',
43 'min' => [ 46 'min' => [
44 'string' => 'Поле «:attribute» должно быть не меньше :min символов', 47 'string' => 'Поле «:attribute» должно быть не меньше :min символов',
45 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт' 48 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт',
49 'numeric' => 'Поле «:attribute» должно быть не меньше :min',
46 ], 50 ],
47 'max' => [ 51 'max' => [
48 'string' => 'Поле «:attribute» должно быть не больше :max символов', 52 'string' => 'Поле «:attribute» должно быть не больше :max символов',
49 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт' 53 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт',
54 'numeric' => 'Поле «:attribute» должно быть не больше :max',
50 ], 55 ],
51 'email' => 'Это поле должно быть формата email', 56 'email' => 'Это поле должно быть формата email',
52 ]; 57 ];
53 } 58 }
54 } 59 }
55 60
app/Models/Company.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 Company extends Model 8 class Company extends Model
9 { 9 {
10 use HasFactory; 10 use HasFactory;
11 11
12 protected $fillable = [ 12 protected $fillable = [
13 'name', 13 'name',
14 'address', 14 'address',
15 'fio_director', 15 'fio_director',
16 'email', 16 'email',
17 'telephone', 17 'telephone',
18 'site', 18 'site',
19 'telegram', 19 'telegram',
20 'vkontact', 20 'vkontact',
21 'logo', 21 'logo',
22 'image', 22 'image',
23 'map', 23 'map',
24 'text', 24 'text',
25 'time_mess',
26 'time_resume'
25 ]; 27 ];
26 } 28 }
27 29
app/Models/Worker.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 Worker extends Model 8 class Worker extends Model
9 { 9 {
10 use HasFactory; 10 use HasFactory;
11 11
12 protected $fillable = [ 12 protected $fillable = [
13 'user_id', 13 'user_id',
14 'status_work', 14 'status_work',
15 'position_work', 15 'position_work',
16 'telephone', 16 'telephone',
17 'telephone2', 17 'telephone2',
18 'persent_anketa', 18 'persent_anketa',
19 'photo', 19 'photo',
20 'email_data', 20 'email_data',
21 'status_profile', 21 'status_profile',
22 'old_year', 22 'old_year',
23 'experience', 23 'experience',
24 'en_is', 24 'en_is',
25 'education', 25 'education',
26 'email', 26 'email',
27 'interpassport', 27 'interpassport',
28 'mk', 28 'mk',
29 'vvp', 29 'vvp',
30 'vlm', 30 'vlm',
31 'reka_diplom', 31 'reka_diplom',
32 'more_diplom', 32 'more_diplom',
33 'mpss', 33 'mpss',
34 'tanker', 34 'tanker',
35 'gmssb', 35 'gmssb',
36 'resume', 36 'resume',
37 'sort', 37 'sort',
38 'updated_at', 38 'updated_at',
39 'text', 39 'text',
40 'address', 40 'address',
41 'city', 41 'city',
42 'coord', 42 'coord',
43 'file', 43 'file',
44 'is_remove', 44 'is_remove',
45 'favorite_user',
46 'sroch_user'
45 ]; 47 ];
46 48
47 /* 49 /*
48 * Связь таблицы users с таблицей workers 50 * Связь таблицы users с таблицей workers
49 */ 51 */
50 public function users() { 52 public function users() {
51 return $this->belongsTo(User::class, 'user_id'); 53 return $this->belongsTo(User::class, 'user_id');
52 } 54 }
53 55
54 public function scopeActive($query) { 56 public function scopeActive($query) {
55 return $query->where('is_remove', '=', '0'); 57 return $query->where('is_remove', '=', '0');
56 } 58 }
57 } 59 }
58 60
database/migrations/2023_09_21_112115_alter_workers_table.php
File was created 1 <?php
2
3 use Illuminate\Database\Migrations\Migration;
4 use Illuminate\Database\Schema\Blueprint;
5 use Illuminate\Support\Facades\Schema;
6
7 return new class extends Migration
8 {
9 /**
10 * Run the migrations.
11 *
12 * @return void
13 */
14 public function up()
15 {
16 Schema::table('workers', function (Blueprint $table) {
17 $table->boolean('favorite_user')->default(false);
18 $table->boolean('sroch_user')->default(false);
19
20 });
21 }
22
23 /**
24 * Reverse the migrations.
25 *
26 * @return void
27 */
28 public function down()
29 {
30 Schema::table('workers', function (Blueprint $table) {
31 $table->dropColumn('favorite_user');
32 $table->dropColumn('sroch_user');
33 });
34 }
35 };
36
resources/views/admin/category/form.blade.php
1 @csrf 1 @csrf
2 2
3 @isset($category) 3 @isset($category)
4 @method('PUT') 4 @method('PUT')
5 @endisset 5 @endisset
6 6
7 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> 7 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
8 <label class="block text-sm"> 8 <label class="block text-sm">
9 <span class="text-gray-700 dark:text-gray-400">Имя категории</span> 9 <span class="text-gray-700 dark:text-gray-400">Имя категории</span>
10 <input name="name" id="name" 10 <input name="name" id="name"
11 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 11 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
12 placeholder="Имя категории" value="{{ old('name') ?? $category->name ?? '' }}" 12 placeholder="Имя категории" value="{{ old('name') ?? $category->name ?? '' }}"
13 /> 13 />
14 @error('name') 14 @error('name')
15 <span class="text-xs text-red-600 dark:text-red-400"> 15 <span class="text-xs text-red-600 dark:text-red-400">
16 {{ $message }} 16 {{ $message }}
17 </span> 17 </span>
18 @enderror 18 @enderror
19 </label><br> 19 </label><br>
20 20
21 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> 21 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
22 <div> 22 <div>
23 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 23 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
24 Сохранить 24 Сохранить
25 </button> 25 </button>
26 <a href="{{ route('admin.categories.index') }}"
27 class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
28 style="display: -webkit-inline-box; height: 30px!important;"
29 >Назад</a>
26 </div> 30 </div>
27 </div> 31 </div>
28 </div> 32 </div>
29 33
resources/views/admin/config.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Настройки']) 1 @extends('layout.admin', ['title' => 'Админка - Настройки'])
2 2
3 @section('content') 3 @section('content')
4 <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"> 4 <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300">
5 Реквизиты сайта (конфигурация) 5 Реквизиты сайта (конфигурация)
6 </h4> 6 </h4>
7 <form action="" method="POST" enctype="multipart/form-data"> 7 <form action="" method="POST" enctype="multipart/form-data">
8 @csrf 8 @csrf
9 9
10 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> 10 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
11 <label class="block text-sm"> 11 <label class="block text-sm">
12 <span class="text-gray-700 dark:text-gray-400">Имя компании</span> 12 <span class="text-gray-700 dark:text-gray-400">Имя компании</span>
13 <input name="name" id="name" 13 <input name="name" id="name"
14 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 14 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
15 placeholder="Имя компании" value="{{ old('name') ?? $config->name ?? '' }}" 15 placeholder="Имя компании" value="{{ old('name') ?? $config->name ?? '' }}"
16 /> 16 />
17 @error('name') 17 @error('name')
18 <span class="text-xs text-red-600 dark:text-red-400"> 18 <span class="text-xs text-red-600 dark:text-red-400">
19 {{ $message }} 19 {{ $message }}
20 </span> 20 </span>
21 @enderror 21 @enderror
22 </label><br> 22 </label><br>
23 23
24 <label class="block text-sm"> 24 <label class="block text-sm">
25 <span class="text-gray-700 dark:text-gray-400">Адрес</span> 25 <span class="text-gray-700 dark:text-gray-400">Адрес</span>
26 <input name="address" id="address" 26 <input name="address" id="address"
27 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 27 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
28 placeholder="Адрес" value="{{ old('address') ?? $config->address ?? '' }}" 28 placeholder="Адрес" value="{{ old('address') ?? $config->address ?? '' }}"
29 /> 29 />
30 @error('address') 30 @error('address')
31 <span class="text-xs text-red-600 dark:text-red-400"> 31 <span class="text-xs text-red-600 dark:text-red-400">
32 {{ $message }} 32 {{ $message }}
33 </span> 33 </span>
34 @enderror 34 @enderror
35 </label><br> 35 </label><br>
36 36
37 <label class="block text-sm"> 37 <label class="block text-sm">
38 <span class="text-gray-700 dark:text-gray-400">ФИО директора компании</span> 38 <span class="text-gray-700 dark:text-gray-400">ФИО директора компании</span>
39 <input name="fio_director" id="fio_director" 39 <input name="fio_director" id="fio_director"
40 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 40 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
41 placeholder="ФИО директора" value="{{ old('fio_director') ?? $config->fio_director ?? '' }}" 41 placeholder="ФИО директора" value="{{ old('fio_director') ?? $config->fio_director ?? '' }}"
42 /> 42 />
43 @error('fio_director') 43 @error('fio_director')
44 <span class="text-xs text-red-600 dark:text-red-400"> 44 <span class="text-xs text-red-600 dark:text-red-400">
45 {{ $message }} 45 {{ $message }}
46 </span> 46 </span>
47 @enderror 47 @enderror
48 </label><br> 48 </label><br>
49 49
50 <label class="block text-sm"> 50 <label class="block text-sm">
51 <span class="text-gray-700 dark:text-gray-400">Email</span> 51 <span class="text-gray-700 dark:text-gray-400">Email</span>
52 <input name="email" id="email" 52 <input name="email" id="email"
53 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 53 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
54 placeholder="Почта" value="{{ old('email') ?? $config->email ?? '' }}" 54 placeholder="Почта" value="{{ old('email') ?? $config->email ?? '' }}"
55 /> 55 />
56 @error('email') 56 @error('email')
57 <span class="text-xs text-red-600 dark:text-red-400"> 57 <span class="text-xs text-red-600 dark:text-red-400">
58 {{ $message }} 58 {{ $message }}
59 </span> 59 </span>
60 @enderror 60 @enderror
61 </label><br> 61 </label><br>
62 62
63 <label class="block text-sm"> 63 <label class="block text-sm">
64 <span class="text-gray-700 dark:text-gray-400">Телефон</span> 64 <span class="text-gray-700 dark:text-gray-400">Телефон</span>
65 <input name="telephone" id="telephone" 65 <input name="telephone" id="telephone"
66 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 66 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
67 placeholder="Телефон" value="{{ old('telephone') ?? $config->telephone ?? '' }}" 67 placeholder="Телефон" value="{{ old('telephone') ?? $config->telephone ?? '' }}"
68 /> 68 />
69 @error('telephone') 69 @error('telephone')
70 <span class="text-xs text-red-600 dark:text-red-400"> 70 <span class="text-xs text-red-600 dark:text-red-400">
71 {{ $message }} 71 {{ $message }}
72 </span> 72 </span>
73 @enderror 73 @enderror
74 </label><br> 74 </label><br>
75 75
76 <label class="block text-sm"> 76 <label class="block text-sm">
77 <span class="text-gray-700 dark:text-gray-400">Сайт</span> 77 <span class="text-gray-700 dark:text-gray-400">Сайт</span>
78 <input name="site" id="site" 78 <input name="site" id="site"
79 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 79 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
80 placeholder="Сайт" value="{{ old('site') ?? $config->site ?? '' }}" 80 placeholder="Сайт" value="{{ old('site') ?? $config->site ?? '' }}"
81 /> 81 />
82 @error('site') 82 @error('site')
83 <span class="text-xs text-red-600 dark:text-red-400"> 83 <span class="text-xs text-red-600 dark:text-red-400">
84 {{ $message }} 84 {{ $message }}
85 </span> 85 </span>
86 @enderror 86 @enderror
87 </label><br> 87 </label><br>
88 88
89 <label class="block text-sm"> 89 <label class="block text-sm">
90 <span class="text-gray-700 dark:text-gray-400">Телеграм</span> 90 <span class="text-gray-700 dark:text-gray-400">Телеграм</span>
91 <input name="telegram" id="telegram" 91 <input name="telegram" id="telegram"
92 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 92 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
93 placeholder="Телеграм линк" value="{{ old('telegram') ?? $config->telegram ?? '' }}" 93 placeholder="Телеграм линк" value="{{ old('telegram') ?? $config->telegram ?? '' }}"
94 /> 94 />
95 @error('telegram') 95 @error('telegram')
96 <span class="text-xs text-red-600 dark:text-red-400"> 96 <span class="text-xs text-red-600 dark:text-red-400">
97 {{ $message }} 97 {{ $message }}
98 </span> 98 </span>
99 @enderror 99 @enderror
100 </label><br> 100 </label><br>
101 101
102 <label class="block text-sm"> 102 <label class="block text-sm">
103 <span class="text-gray-700 dark:text-gray-400">Вконтакте</span> 103 <span class="text-gray-700 dark:text-gray-400">Вконтакте</span>
104 <input name="vkontact" id="vkontact" 104 <input name="vkontact" id="vkontact"
105 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 105 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
106 placeholder="Вконтакте линк" value="{{ old('vkontact') ?? $config->vkontact ?? '' }}" 106 placeholder="Вконтакте линк" value="{{ old('vkontact') ?? $config->vkontact ?? '' }}"
107 /> 107 />
108 @error('vkontact') 108 @error('vkontact')
109 <span class="text-xs text-red-600 dark:text-red-400"> 109 <span class="text-xs text-red-600 dark:text-red-400">
110 {{ $message }} 110 {{ $message }}
111 </span> 111 </span>
112 @enderror 112 @enderror
113 </label><br> 113 </label><br>
114 114
115 <label class="block text-sm"> 115 <label class="block text-sm">
116 <span class="text-gray-700 dark:text-gray-400">Лого</span> 116 <span class="text-gray-700 dark:text-gray-400">Лого</span>
117 <input name="logo" id="logo" type="file" 117 <input name="logo" id="logo" type="file"
118 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 118 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
119 placeholder="Лого" value="{{ old('logo') ?? $config->logo ?? '' }}" 119 placeholder="Лого" value="{{ old('logo') ?? $config->logo ?? '' }}"
120 /> 120 />
121 121
122 @if (isset($config->logo)) 122 @if (isset($config->logo))
123 <img src="<?=asset(Storage::url($config->logo))?>" width="150"/> 123 <img src="<?=asset(Storage::url($config->logo))?>" width="150"/>
124 @endif 124 @endif
125 125
126 @error('logo') 126 @error('logo')
127 <span class="text-xs text-red-600 dark:text-red-400"> 127 <span class="text-xs text-red-600 dark:text-red-400">
128 {{ $message }} 128 {{ $message }}
129 </span> 129 </span>
130 @enderror 130 @enderror
131 </label><br> 131 </label><br>
132 132
133 <label class="block text-sm"> 133 <label class="block text-sm">
134 <span class="text-gray-700 dark:text-gray-400">Картинка</span> 134 <span class="text-gray-700 dark:text-gray-400">Картинка</span>
135 <input name="image" id="image" type="file" 135 <input name="image" id="image" type="file"
136 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 136 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
137 placeholder="Картинка" 137 placeholder="Картинка"
138 /> 138 />
139 139
140 @if (isset($config->image)) 140 @if (isset($config->image))
141 <img src="<?=asset(Storage::url($config->image))?>" width="150"/> 141 <img src="<?=asset(Storage::url($config->image))?>" width="150"/>
142 @endif 142 @endif
143 143
144 144
145 @error('image') 145 @error('image')
146 <span class="text-xs text-red-600 dark:text-red-400"> 146 <span class="text-xs text-red-600 dark:text-red-400">
147 {{ $message }} 147 {{ $message }}
148 </span> 148 </span>
149 @enderror 149 @enderror
150 </label><br> 150 </label><br>
151 151
152 <label class="block text-sm"> 152 <label class="block text-sm">
153 <span class="text-gray-700 dark:text-gray-400">Карта</span> 153 <span class="text-gray-700 dark:text-gray-400">Карта</span>
154 <input name="map" id="map" 154 <input name="map" id="map"
155 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 155 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
156 placeholder="Карта" value="{{ old('map') ?? $config->map ?? '' }}" 156 placeholder="Карта" value="{{ old('map') ?? $config->map ?? '' }}"
157 /> 157 />
158 @error('map') 158 @error('map')
159 <span class="text-xs text-red-600 dark:text-red-400"> 159 <span class="text-xs text-red-600 dark:text-red-400">
160 {{ $message }} 160 {{ $message }}
161 </span> 161 </span>
162 @enderror 162 @enderror
163 </label><br> 163 </label><br>
164 164
165 <label class="block text-sm"> 165 <label class="block text-sm">
166 <span class="text-gray-700 dark:text-gray-400">Описание</span> 166 <span class="text-gray-700 dark:text-gray-400">Описание</span>
167 <textarea id="text" name="text" 167 <textarea id="text" name="text"
168 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 168 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
169 rows="3" 169 rows="3"
170 placeholder="Описание" 170 placeholder="Описание"
171 >{{ old('text') ?? $config->text ?? '' }}</textarea> 171 >{{ old('text') ?? $config->text ?? '' }}</textarea>
172 172
173 @error('text') 173 @error('text')
174 <span class="text-xs text-red-600 dark:text-red-400"> 174 <span class="text-xs text-red-600 dark:text-red-400">
175 {{ $message }} 175 {{ $message }}
176 </span> 176 </span>
177 @enderror 177 @enderror
178 </label><br> 178 </label><br>
179 179
180 <label class="block text-sm">
181 <span class="text-gray-700 dark:text-gray-400">Время повторного отклика для соискателя (в днях)</span>
182 <input name="time_mess" id="time_mess"
183 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
184 placeholder="Время отклика" value="{{ old('time_mess') ?? $config->time_mess ?? '' }}"
185 />
186 @error('time_mess')
187 <span class="text-xs text-red-600 dark:text-red-400">
188 {{ $message }}
189 </span>
190 @enderror
191 </label><br>
192
193 <label class="block text-sm">
194 <span class="text-gray-700 dark:text-gray-400">Время действия резюме (в днях)</span>
195 <input name="time_resume" id="time_resume"
196 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
197 placeholder="Время резюме" value="{{ old('time_resume') ?? $config->time_resume ?? '' }}"
198 />
199 @error('time_resume')
200 <span class="text-xs text-red-600 dark:text-red-400">
201 {{ $message }}
202 </span>
203 @enderror
204 </label><br>
205
180 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> 206 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
181 <div> 207 <div>
182 <button class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 208 <button class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
183 Сохранить 209 Сохранить
184 </button> 210 </button>
185 </div> 211 </div>
186 </div> 212 </div>
187 </div> 213 </div>
188 </form> 214 </form>
189 @endsection 215 @endsection
190 216
resources/views/admin/editbloks/form.blade.php
1 @csrf 1 @csrf
2 @isset($block) 2 @isset($block)
3 @method('PUT') 3 @method('PUT')
4 @endisset 4 @endisset
5 5
6 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> 6 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
7 <label class="block text-sm"> 7 <label class="block text-sm">
8 <span class="text-gray-700 dark:text-gray-400">Имя</span> 8 <span class="text-gray-700 dark:text-gray-400">Имя</span>
9 <input name="name" id="name" 9 <input name="name" id="name"
10 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 10 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
11 placeholder="Название пункта" value="{{ old('name') ?? $block->name ?? '' }}" 11 placeholder="Название пункта" value="{{ old('name') ?? $block->name ?? '' }}"
12 /> 12 />
13 @error('name') 13 @error('name')
14 <span class="text-xs text-red-600 dark:text-red-400"> 14 <span class="text-xs text-red-600 dark:text-red-400">
15 {{ $message }} 15 {{ $message }}
16 </span> 16 </span>
17 @enderror 17 @enderror
18 </label><br> 18 </label><br>
19 19
20 <label class="block text-sm"> 20 <label class="block text-sm">
21 <span class="text-gray-700 dark:text-gray-400">Родитель</span> 21 <span class="text-gray-700 dark:text-gray-400">Родитель</span>
22 @php 22 @php
23 $parent_id = old('code_id') ?? $block->code_id ?? 0; 23 $parent_id = old('code_id') ?? $block->code_id ?? 0;
24 @endphp 24 @endphp
25 <select name="code_id" class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 25 <select name="code_id" class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
26 title="Родитель"> 26 title="Родитель">
27 <option value="0">Без родителя</option> 27 <option value="0">Без родителя</option>
28 @include('admin.editbloks.parent_id', ['level' => -1, 'parent' => 0]) 28 @include('admin.editbloks.parent_id', ['level' => -1, 'parent' => 0])
29 </select> 29 </select>
30 </label><br> 30 </label><br>
31 31
32 <label class="block text-sm"> 32 <label class="block text-sm">
33 <span class="text-gray-700 dark:text-gray-400">Расположение</span> 33 <span class="text-gray-700 dark:text-gray-400">Расположение</span>
34 <select name="header" class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 34 <select name="header" class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
35 title="Расположение"> 35 title="Расположение">
36 <option value="1" @isset($block) @if($block->header == 1) selected @endif @endisset>Шапка</option> 36 <option value="1" @isset($block) @if($block->header == 1) selected @endif @endisset>Шапка</option>
37 <option value="0" @isset($block) @if($block->header == 0) selected @endif @endisset>Футер</option> 37 <option value="0" @isset($block) @if($block->header == 0) selected @endif @endisset>Футер</option>
38 </select> 38 </select>
39 </label><br> 39 </label><br>
40 40
41 <label class="block text-sm"> 41 <label class="block text-sm">
42 <span class="text-gray-700 dark:text-gray-400">Ссылка</span> 42 <span class="text-gray-700 dark:text-gray-400">Ссылка</span>
43 <input name="link" id="link" 43 <input name="link" id="link"
44 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 44 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
45 placeholder="Ссылка" value="{{ old('link') ?? $block->link ?? '' }}" 45 placeholder="Ссылка" value="{{ old('link') ?? $block->link ?? '' }}"
46 /> 46 />
47 @error('link') 47 @error('link')
48 <span class="text-xs text-red-600 dark:text-red-400"> 48 <span class="text-xs text-red-600 dark:text-red-400">
49 {{ $message }} 49 {{ $message }}
50 </span> 50 </span>
51 @enderror 51 @enderror
52 </label><br> 52 </label><br>
53 53
54 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> 54 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
55 <div> 55 <div>
56 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 56 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
57 Сохранить 57 Сохранить
58 </button> 58 </button>
59 <a href="{{ route('admin.edit-blocks') }}"
60 class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
61 style="display: -webkit-inline-box; height: 30px!important;"
62 >Назад</a>
59 </div> 63 </div>
60 </div> 64 </div>
61 </div> 65 </div>
62 66
resources/views/admin/employer/edit.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Редактирование работодателя']) 1 @extends('layout.admin', ['title' => 'Админка - Редактирование работодателя'])
2 2
3 @section('content') 3 @section('content')
4 <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"> 4 <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300">
5 Работодатель-пользователь: "{{$employer->users->name_man}} ({{$employer->user_id}})" 5 Работодатель-пользователь: "{{$employer->users->name_man}} ({{$employer->user_id}})"
6 </h4> 6 </h4>
7 <form method="POST" action="" enctype="multipart/form-data"> 7 <form method="POST" action="" enctype="multipart/form-data">
8 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> 8 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
9 @csrf 9 @csrf
10 <div class="tabs"> 10 <div class="tabs">
11 <input type="radio" name="tab-btn" id="tab-btn-1" value="" checked> 11 <input type="radio" name="tab-btn" id="tab-btn-1" value="" checked>
12 <label for="tab-btn-1">Персональная информация</label> 12 <label for="tab-btn-1">Персональная информация</label>
13 <input type="radio" name="tab-btn" id="tab-btn-2" value=""> 13 <input type="radio" name="tab-btn" id="tab-btn-2" value="">
14 <label for="tab-btn-2">Настройки</label> 14 <label for="tab-btn-2">Настройки</label>
15 <!--<input type="radio" name="tab-btn" id="tab-btn-3" value=""> 15 <!--<input type="radio" name="tab-btn" id="tab-btn-3" value="">
16 <label for="tab-btn-3">Вкладка 3</label>--> 16 <label for="tab-btn-3">Вкладка 3</label>-->
17 <div id="content-1"> 17 <div id="content-1">
18 18
19 <label class="block text-sm"> 19 <label class="block text-sm">
20 <span class="text-gray-700 dark:text-gray-400">Имя компании</span> 20 <span class="text-gray-700 dark:text-gray-400">Имя компании</span>
21 <input name="name" id="name" 21 <input name="name" id="name"
22 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 22 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
23 placeholder="Имя компании" value="{{ old('name') ?? $employer->users->name ?? '' }}" 23 placeholder="Имя компании" value="{{ old('name') ?? $employer->users->name ?? '' }}"
24 /> 24 />
25 @error('name') 25 @error('name')
26 <span class="text-xs text-red-600 dark:text-red-400"> 26 <span class="text-xs text-red-600 dark:text-red-400">
27 {{ $message }} 27 {{ $message }}
28 </span> 28 </span>
29 @enderror 29 @enderror
30 </label><br> 30 </label><br>
31 31
32 <label class="block text-sm"> 32 <label class="block text-sm">
33 <span class="text-gray-700 dark:text-gray-400">Email</span> 33 <span class="text-gray-700 dark:text-gray-400">Email</span>
34 <input name="email" id="email" 34 <input name="email" id="email"
35 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 35 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
36 placeholder="Почта" value="{{ old('email') ?? $employer->email ?? '' }}" 36 placeholder="Почта" value="{{ old('email') ?? $employer->email ?? '' }}"
37 /> 37 />
38 @error('email') 38 @error('email')
39 <span class="text-xs text-red-600 dark:text-red-400"> 39 <span class="text-xs text-red-600 dark:text-red-400">
40 {{ $message }} 40 {{ $message }}
41 </span> 41 </span>
42 @enderror 42 @enderror
43 </label><br> 43 </label><br>
44 44
45 <label class="block text-sm"> 45 <label class="block text-sm">
46 <span class="text-gray-700 dark:text-gray-400">Телефон</span> 46 <span class="text-gray-700 dark:text-gray-400">Телефон</span>
47 <input name="telephone" id="telephone" 47 <input name="telephone" id="telephone"
48 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 48 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
49 placeholder="Телефон" value="{{ old('telephone') ?? $employer->telephone ?? '' }}" 49 placeholder="Телефон" value="{{ old('telephone') ?? $employer->telephone ?? '' }}"
50 /> 50 />
51 @error('telephone') 51 @error('telephone')
52 <span class="text-xs text-red-600 dark:text-red-400"> 52 <span class="text-xs text-red-600 dark:text-red-400">
53 {{ $message }} 53 {{ $message }}
54 </span> 54 </span>
55 @enderror 55 @enderror
56 </label><br> 56 </label><br>
57 57
58 <label class="block text-sm"> 58 <label class="block text-sm">
59 <span class="text-gray-700 dark:text-gray-400">Адрес</span> 59 <span class="text-gray-700 dark:text-gray-400">Адрес</span>
60 <input name="address" id="address" 60 <input name="address" id="address"
61 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 61 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
62 placeholder="Адрес" value="{{ old('address') ?? $employer->address ?? '' }}" 62 placeholder="Адрес" value="{{ old('address') ?? $employer->address ?? '' }}"
63 /> 63 />
64 @error('address') 64 @error('address')
65 <span class="text-xs text-red-600 dark:text-red-400"> 65 <span class="text-xs text-red-600 dark:text-red-400">
66 {{ $message }} 66 {{ $message }}
67 </span> 67 </span>
68 @enderror 68 @enderror
69 </label><br> 69 </label><br>
70 70
71 <label class="block text-sm"> 71 <label class="block text-sm">
72 <span class="text-gray-700 dark:text-gray-400">Сайт</span> 72 <span class="text-gray-700 dark:text-gray-400">Сайт</span>
73 <input name="site" id="site" 73 <input name="site" id="site"
74 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 74 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
75 placeholder="Сайт" value="{{ old('site') ?? $employer->site ?? '' }}" 75 placeholder="Сайт" value="{{ old('site') ?? $employer->site ?? '' }}"
76 /> 76 />
77 @error('site') 77 @error('site')
78 <span class="text-xs text-red-600 dark:text-red-400"> 78 <span class="text-xs text-red-600 dark:text-red-400">
79 {{ $message }} 79 {{ $message }}
80 </span> 80 </span>
81 @enderror 81 @enderror
82 </label><br> 82 </label><br>
83 83
84 <label class="block text-sm"> 84 <label class="block text-sm">
85 <span class="text-gray-700 dark:text-gray-400">Лого</span> 85 <span class="text-gray-700 dark:text-gray-400">Лого</span>
86 86
87 <input name="logo" id="logo" type="file" 87 <input name="logo" id="logo" type="file"
88 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 88 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
89 placeholder="Лого" value="" 89 placeholder="Лого" value=""
90 /> 90 />
91 @isset($employer->logo) 91 @isset($employer->logo)
92 <img src="<?=asset(Storage::url($employer->logo))?>" width="150"/> 92 <img src="<?=asset(Storage::url($employer->logo))?>" width="150"/>
93 @endisset 93 @endisset
94 @error('logo') 94 @error('logo')
95 <span class="text-xs text-red-600 dark:text-red-400"> 95 <span class="text-xs text-red-600 dark:text-red-400">
96 {{ $message }} 96 {{ $message }}
97 </span> 97 </span>
98 @enderror 98 @enderror
99 </label><br> 99 </label><br>
100 100
101 <label class="block mt-4 text-sm"> 101 <label class="block mt-4 text-sm">
102 <span class="text-gray-700 dark:text-gray-400">Описание</span> 102 <span class="text-gray-700 dark:text-gray-400">Описание</span>
103 <textarea name="text" id="text" 103 <textarea name="text" id="text"
104 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 104 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
105 rows="3" 105 rows="3"
106 placeholder="Описание компании" 106 placeholder="Описание компании"
107 >{{ old('text') ?? $employer->text ?? '' }}</textarea> 107 >{{ old('text') ?? $employer->text ?? '' }}</textarea>
108 </label> 108 </label>
109 109
110 </div> 110 </div>
111 <div id="content-2"> 111 <div id="content-2">
112 <label class="block text-sm"> 112 <label class="block text-sm">
113 <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"> 113 <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300">
114 Права работодателя: 114 Права работодателя:
115 </h4> 115 </h4>
116 <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Просмотр базы резюме </p> 116 <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Просмотр базы резюме </p>
117 <input type="hidden" name="is_lookin" value="0" /> 117 <input type="hidden" name="is_lookin" value="0" />
118 <input name="is_lookin" <? if ($employer->users->is_lookin) echo "checked";?> 118 <input name="is_lookin" <? if ($employer->users->is_lookin) echo "checked";?>
119 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray " 119 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray "
120 placeholder="" type="checkbox" value="1" 120 placeholder="" type="checkbox" value="1"
121 /><br> 121 /><br>
122 122
123 <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Отправка сообщений</p> 123 <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Отправка сообщений</p>
124 <input type="hidden" name="is_message" value="0" /> 124 <input type="hidden" name="is_message" value="0" />
125 <input name="is_message" id="is_message" <? if ($employer->users->is_message) echo "checked";?> 125 <input name="is_message" id="is_message" <? if ($employer->users->is_message) echo "checked";?>
126 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray " 126 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray "
127 placeholder="" type="checkbox" value="1" 127 placeholder="" type="checkbox" value="1"
128 /><br> 128 /><br>
129 129
130 <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Публикация вакансий</p> 130 <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Публикация вакансий</p>
131 <input type="hidden" name="is_public" value="0" /> 131 <input type="hidden" name="is_public" value="0" />
132 <input name="is_public" id="is_public" <? if ($employer->users->is_public) echo "checked";?> 132 <input name="is_public" id="is_public" <? if ($employer->users->is_public) echo "checked";?>
133 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray " 133 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray "
134 placeholder="" type="checkbox" value="1" 134 placeholder="" type="checkbox" value="1"
135 /><br> 135 /><br>
136 136
137 </label> 137 </label>
138 138
139 <label class="block text-sm"> 139 <label class="block text-sm">
140 <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Работодатель скрыт </p> 140 <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Работодатель скрыт </p>
141 <input type="hidden" name="status_hidden" value="0" /> 141 <input type="hidden" name="status_hidden" value="0" />
142 <input name="status_hidden" <? if ($employer->status_hidden) echo "checked";?> 142 <input name="status_hidden" <? if ($employer->status_hidden) echo "checked";?>
143 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray " 143 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray "
144 placeholder="" type="checkbox" value="1" 144 placeholder="" type="checkbox" value="1"
145 /> 145 />
146 </label><br> 146 </label><br>
147 147
148 <label class="block text-sm"> 148 <label class="block text-sm">
149 <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Компания подтверждена </p> 149 <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Компания подтверждена </p>
150 <input type="hidden" name="oficial_status" value="0" /> 150 <input type="hidden" name="oficial_status" value="0" />
151 <input name="oficial_status" <? if ($employer->oficial_status) echo "checked";?> 151 <input name="oficial_status" <? if ($employer->oficial_status) echo "checked";?>
152 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray " 152 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray "
153 placeholder="" type="checkbox" value="1" 153 placeholder="" type="checkbox" value="1"
154 /> 154 />
155 </label><br> 155 </label><br>
156 156
157 <label class="block text-sm"> 157 <label class="block text-sm">
158 <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Разрешение публикации в соц.сетях </p> 158 <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Разрешение публикации в соц.сетях </p>
159 <input type="hidden" name="social_is" value="0" /> 159 <input type="hidden" name="social_is" value="0" />
160 <input name="social_is" <? if ($employer->social_is) echo "checked";?> 160 <input name="social_is" <? if ($employer->social_is) echo "checked";?>
161 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray " 161 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray "
162 placeholder="" type="checkbox" value="1" 162 placeholder="" type="checkbox" value="1"
163 /> 163 />
164 </label><br> 164 </label><br>
165 165
166 <label class="block text-sm"> 166 <label class="block text-sm">
167 <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Рассылка </p> 167 <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Рассылка </p>
168 <input type="hidden" name="sending_is" value="0" /> 168 <input type="hidden" name="sending_is" value="0" />
169 <input name="sending_is" <? if ($employer->sending_is) echo "checked";?> 169 <input name="sending_is" <? if ($employer->sending_is) echo "checked";?>
170 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray " 170 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray "
171 placeholder="" type="checkbox" value="1" 171 placeholder="" type="checkbox" value="1"
172 /> 172 />
173 </label><br> 173 </label><br>
174 174
175 </div> 175 </div>
176 <div id="content-3"> 176 <div id="content-3">
177 Содержимое 3... 177 Содержимое 3...
178 </div> 178 </div>
179 </div> 179 </div>
180 <br> 180 <br>
181 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> 181 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
182 <div> 182 <div>
183 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 183 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
184 Сохранить 184 Сохранить
185 </button> 185 </button>
186 <a href="{{ route('admin.employers') }}"
187 class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
188 style="display: -webkit-inline-box; height: 30px!important;"
189 >Назад</a>
190
186 </div> 191 </div>
187 <!--<div> 192 <!--<div>
188 <a href="">Флот</a> 193 <a href="">Флот</a>
189 </div> 194 </div>
190 <div> 195 <div>
191 <a href="">Вакансии</a> 196 <a href="">Вакансии</a>
192 </div> 197 </div>
193 <div> 198 <div>
194 <a href="">Контакты</a> 199 <a href="">Контакты</a>
195 </div>--> 200 </div>-->
196 </div> 201 </div>
197 </div> 202 </div>
198 </form> 203 </form>
199 <!-- 204 <!--
200 <label class="block mt-4 text-sm"> 205 <label class="block mt-4 text-sm">
201 <span class="text-gray-700 dark:text-gray-400"> 206 <span class="text-gray-700 dark:text-gray-400">
202 Requested Limit 207 Requested Limit
203 </span> 208 </span>
204 <select 209 <select
205 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 210 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
206 > 211 >
207 <option>$1,000</option> 212 <option>$1,000</option>
208 <option>$5,000</option> 213 <option>$5,000</option>
209 <option>$10,000</option> 214 <option>$10,000</option>
210 <option>$25,000</option> 215 <option>$25,000</option>
211 </select> 216 </select>
212 </label> 217 </label>
213 218
214 <label class="block mt-4 text-sm"> 219 <label class="block mt-4 text-sm">
215 <span class="text-gray-700 dark:text-gray-400"> 220 <span class="text-gray-700 dark:text-gray-400">
216 Multiselect 221 Multiselect
217 </span> 222 </span>
218 <select 223 <select
219 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-multiselect focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 224 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-multiselect focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
220 multiple 225 multiple
221 > 226 >
222 <option>Option 1</option> 227 <option>Option 1</option>
223 <option>Option 2</option> 228 <option>Option 2</option>
224 <option>Option 3</option> 229 <option>Option 3</option>
225 <option>Option 4</option> 230 <option>Option 4</option>
226 <option>Option 5</option> 231 <option>Option 5</option>
227 </select> 232 </select>
228 </label> 233 </label>
229 234
230 <label class="block mt-4 text-sm"> 235 <label class="block mt-4 text-sm">
231 <span class="text-gray-700 dark:text-gray-400">Message</span> 236 <span class="text-gray-700 dark:text-gray-400">Message</span>
232 <textarea 237 <textarea
233 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 238 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
234 rows="3" 239 rows="3"
235 placeholder="Enter some long form content." 240 placeholder="Enter some long form content."
236 ></textarea> 241 ></textarea>
237 </label> 242 </label>
238 243
239 <div class="flex mt-6 text-sm"> 244 <div class="flex mt-6 text-sm">
240 <label class="flex items-center dark:text-gray-400"> 245 <label class="flex items-center dark:text-gray-400">
241 <input 246 <input
242 type="checkbox" 247 type="checkbox"
243 class="text-purple-600 form-checkbox focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 248 class="text-purple-600 form-checkbox focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
244 /> 249 />
245 <span class="ml-2"> 250 <span class="ml-2">
246 I agree to the 251 I agree to the
247 <span class="underline">privacy policy</span> 252 <span class="underline">privacy policy</span>
248 </span> 253 </span>
249 </label> 254 </label>
250 </div> 255 </div>
251 </div> 256 </div>
252 257
253 <!-- Validation inputs --> 258 <!-- Validation inputs -->
254 <!--<h4 259 <!--<h4
255 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" 260 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
256 > 261 >
257 Validation 262 Validation
258 </h4> 263 </h4>
259 <div 264 <div
260 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" 265 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
261 > 266 >
262 <!-- Invalid input --> 267 <!-- Invalid input -->
263 <!--<label class="block text-sm"> 268 <!--<label class="block text-sm">
264 <span class="text-gray-700 dark:text-gray-400"> 269 <span class="text-gray-700 dark:text-gray-400">
265 Invalid input 270 Invalid input
266 </span> 271 </span>
267 <input 272 <input
268 class="block w-full mt-1 text-sm border-red-600 dark:text-gray-300 dark:bg-gray-700 focus:border-red-400 focus:outline-none focus:shadow-outline-red form-input" 273 class="block w-full mt-1 text-sm border-red-600 dark:text-gray-300 dark:bg-gray-700 focus:border-red-400 focus:outline-none focus:shadow-outline-red form-input"
269 placeholder="Jane Doe" 274 placeholder="Jane Doe"
270 /> 275 />
271 <span class="text-xs text-red-600 dark:text-red-400"> 276 <span class="text-xs text-red-600 dark:text-red-400">
272 Your password is too short. 277 Your password is too short.
273 </span> 278 </span>
274 </label> 279 </label>
275 280
276 <!-- Valid input --> 281 <!-- Valid input -->
277 <!--<label class="block mt-4 text-sm"> 282 <!--<label class="block mt-4 text-sm">
278 <span class="text-gray-700 dark:text-gray-400"> 283 <span class="text-gray-700 dark:text-gray-400">
279 Valid input 284 Valid input
280 </span> 285 </span>
281 <input 286 <input
282 class="block w-full mt-1 text-sm border-green-600 dark:text-gray-300 dark:bg-gray-700 focus:border-green-400 focus:outline-none focus:shadow-outline-green form-input" 287 class="block w-full mt-1 text-sm border-green-600 dark:text-gray-300 dark:bg-gray-700 focus:border-green-400 focus:outline-none focus:shadow-outline-green form-input"
283 placeholder="Jane Doe" 288 placeholder="Jane Doe"
284 /> 289 />
285 <span class="text-xs text-green-600 dark:text-green-400"> 290 <span class="text-xs text-green-600 dark:text-green-400">
286 Your password is strong. 291 Your password is strong.
287 </span> 292 </span>
288 </label> 293 </label>
289 294
290 <!-- Helper text --> 295 <!-- Helper text -->
291 <!--<label class="block mt-4 text-sm"> 296 <!--<label class="block mt-4 text-sm">
292 <span class="text-gray-700 dark:text-gray-400"> 297 <span class="text-gray-700 dark:text-gray-400">
293 Helper text 298 Helper text
294 </span> 299 </span>
295 <input 300 <input
296 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 301 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
297 placeholder="Jane Doe" 302 placeholder="Jane Doe"
298 /> 303 />
299 <span class="text-xs text-gray-600 dark:text-gray-400"> 304 <span class="text-xs text-gray-600 dark:text-gray-400">
300 Your password must be at least 6 characters long. 305 Your password must be at least 6 characters long.
301 </span> 306 </span>
302 </label> 307 </label>
303 </div> 308 </div>
304 309
305 <!-- Inputs with icons --> 310 <!-- Inputs with icons -->
306 <!--<h4 311 <!--<h4
307 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" 312 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
308 > 313 >
309 Icons 314 Icons
310 </h4> 315 </h4>
311 <div 316 <div
312 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" 317 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
313 > 318 >
314 <label class="block text-sm"> 319 <label class="block text-sm">
315 <span class="text-gray-700 dark:text-gray-400">Icon left</span> 320 <span class="text-gray-700 dark:text-gray-400">Icon left</span>
316 <!-- focus-within sets the color for the icon when input is focused --> 321 <!-- focus-within sets the color for the icon when input is focused -->
317 <!--<div 322 <!--<div
318 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400" 323 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400"
319 > 324 >
320 <input 325 <input
321 class="block w-full pl-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 326 class="block w-full pl-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
322 placeholder="Jane Doe" 327 placeholder="Jane Doe"
323 /> 328 />
324 <div 329 <div
325 class="absolute inset-y-0 flex items-center ml-3 pointer-events-none" 330 class="absolute inset-y-0 flex items-center ml-3 pointer-events-none"
326 > 331 >
327 <svg 332 <svg
328 class="w-5 h-5" 333 class="w-5 h-5"
329 aria-hidden="true" 334 aria-hidden="true"
330 fill="none" 335 fill="none"
331 stroke-linecap="round" 336 stroke-linecap="round"
332 stroke-linejoin="round" 337 stroke-linejoin="round"
333 stroke-width="2" 338 stroke-width="2"
334 viewBox="0 0 24 24" 339 viewBox="0 0 24 24"
335 stroke="currentColor" 340 stroke="currentColor"
336 > 341 >
337 <path 342 <path
338 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" 343 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"
339 ></path> 344 ></path>
340 </svg> 345 </svg>
341 </div> 346 </div>
342 </div> 347 </div>
343 </label> 348 </label>
344 349
345 <label class="block mt-4 text-sm"> 350 <label class="block mt-4 text-sm">
346 <span class="text-gray-700 dark:text-gray-400">Icon right</span> 351 <span class="text-gray-700 dark:text-gray-400">Icon right</span>
347 <!-- focus-within sets the color for the icon when input is focused --> 352 <!-- focus-within sets the color for the icon when input is focused -->
348 <!--<div 353 <!--<div
349 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400" 354 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400"
350 > 355 >
351 <input 356 <input
352 class="block w-full pr-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 357 class="block w-full pr-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
353 placeholder="Jane Doe" 358 placeholder="Jane Doe"
354 /> 359 />
355 <div 360 <div
356 class="absolute inset-y-0 right-0 flex items-center mr-3 pointer-events-none" 361 class="absolute inset-y-0 right-0 flex items-center mr-3 pointer-events-none"
357 > 362 >
358 <svg 363 <svg
359 class="w-5 h-5" 364 class="w-5 h-5"
360 aria-hidden="true" 365 aria-hidden="true"
361 fill="none" 366 fill="none"
362 stroke-linecap="round" 367 stroke-linecap="round"
363 stroke-linejoin="round" 368 stroke-linejoin="round"
364 stroke-width="2" 369 stroke-width="2"
365 viewBox="0 0 24 24" 370 viewBox="0 0 24 24"
366 stroke="currentColor" 371 stroke="currentColor"
367 > 372 >
368 <path 373 <path
369 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" 374 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"
370 ></path> 375 ></path>
371 </svg> 376 </svg>
372 </div> 377 </div>
373 </div> 378 </div>
374 </label> 379 </label>
375 </div> 380 </div>
376 381
377 <!-- Inputs with buttons --> 382 <!-- Inputs with buttons -->
378 <!--<h4 383 <!--<h4
379 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" 384 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
380 > 385 >
381 Buttons 386 Buttons
382 </h4> 387 </h4>
383 <div 388 <div
384 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" 389 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
385 > 390 >
386 <label class="block text-sm"> 391 <label class="block text-sm">
387 <span class="text-gray-700 dark:text-gray-400"> 392 <span class="text-gray-700 dark:text-gray-400">
388 Button left 393 Button left
389 </span> 394 </span>
390 <div class="relative"> 395 <div class="relative">
391 <input 396 <input
392 class="block w-full pl-20 mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 397 class="block w-full pl-20 mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
393 placeholder="Jane Doe" 398 placeholder="Jane Doe"
394 /> 399 />
395 <button 400 <button
396 class="absolute inset-y-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-l-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 401 class="absolute inset-y-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-l-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
397 > 402 >
398 Click 403 Click
399 </button> 404 </button>
400 </div> 405 </div>
401 </label> 406 </label>
402 407
403 <label class="block mt-4 text-sm"> 408 <label class="block mt-4 text-sm">
404 <span class="text-gray-700 dark:text-gray-400"> 409 <span class="text-gray-700 dark:text-gray-400">
405 Button right 410 Button right
406 </span> 411 </span>
407 <div 412 <div
408 class="relative text-gray-500 focus-within:text-purple-600" 413 class="relative text-gray-500 focus-within:text-purple-600"
409 > 414 >
410 <input 415 <input
411 class="block w-full pr-20 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 416 class="block w-full pr-20 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
412 placeholder="Jane Doe" 417 placeholder="Jane Doe"
413 /> 418 />
414 <button 419 <button
415 class="absolute inset-y-0 right-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-r-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" 420 class="absolute inset-y-0 right-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-r-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
416 > 421 >
417 Click 422 Click
418 </button> 423 </button>
419 </div> 424 </div>
420 </label> 425 </label>
421 </div>--> 426 </div>-->
422 @endsection 427 @endsection
423 428
resources/views/admin/infobloks/form.blade.php
1 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> 1 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
2 <label class="block text-sm"> 2 <label class="block text-sm">
3 <span class="text-gray-700 dark:text-gray-400">Название документа-диплома</span> 3 <span class="text-gray-700 dark:text-gray-400">Название документа-диплома</span>
4 <input name="name" id="name" 4 <input name="name" id="name"
5 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 5 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
6 placeholder="Название документа-диплома" value="{{ old('name') ?? $infoblok->name ?? '' }}" 6 placeholder="Название документа-диплома" value="{{ old('name') ?? $infoblok->name ?? '' }}"
7 /> 7 />
8 @error('name') 8 @error('name')
9 <span class="text-xs text-red-600 dark:text-red-400"> 9 <span class="text-xs text-red-600 dark:text-red-400">
10 {{ $message }} 10 {{ $message }}
11 </span> 11 </span>
12 @enderror 12 @enderror
13 </label><br> 13 </label><br>
14 14
15 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> 15 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
16 <div> 16 <div>
17 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 17 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
18 Сохранить 18 Сохранить
19 </button> 19 </button>
20 <a href="{{ route('admin.infobloks.index') }}"
21 class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
22 style="display: -webkit-inline-box; height: 30px!important;"
23 >Назад</a>
20 </div> 24 </div>
21 </div> 25 </div>
22 </div> 26 </div>
23 27
resources/views/admin/job_titles/form.blade.php
1 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> 1 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
2 <label class="block text-sm"> 2 <label class="block text-sm">
3 <span class="text-gray-700 dark:text-gray-400">Название должности</span> 3 <span class="text-gray-700 dark:text-gray-400">Название должности</span>
4 <input name="name" id="name" 4 <input name="name" id="name"
5 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 5 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
6 placeholder="Название должности" value="{{ old('name') ?? $job_title->name ?? '' }}" 6 placeholder="Название должности" value="{{ old('name') ?? $job_title->name ?? '' }}"
7 /> 7 />
8 @error('name') 8 @error('name')
9 <span class="text-xs text-red-600 dark:text-red-400"> 9 <span class="text-xs text-red-600 dark:text-red-400">
10 {{ $message }} 10 {{ $message }}
11 </span> 11 </span>
12 @enderror 12 @enderror
13 </label><br> 13 </label><br>
14 14
15 <label class="block text-sm"> 15 <label class="block text-sm">
16 <span class="text-gray-700 dark:text-gray-400">Родитель</span> 16 <span class="text-gray-700 dark:text-gray-400">Родитель</span>
17 17
18 @php 18 @php
19 $parent_id = old('parent_id') ?? $job_title->parent_id ?? 0; 19 $parent_id = old('parent_id') ?? $job_title->parent_id ?? 0;
20 @endphp 20 @endphp
21 <select name="parent_id" class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 21 <select name="parent_id" class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
22 title="Родитель"> 22 title="Родитель">
23 <option value="0">Без родителя</option> 23 <option value="0">Без родителя</option>
24 @include('admin.job_titles.parent_id', ['level' => -1, 'parent' => 0]) 24 @include('admin.job_titles.parent_id', ['level' => -1, 'parent' => 0])
25 </select> 25 </select>
26 </label><br> 26 </label><br>
27 27
28 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> 28 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
29 <div> 29 <div>
30 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 30 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
31 Сохранить 31 Сохранить
32 </button> 32 </button>
33
34 <a href="{{ route('admin.job-titles.index') }}"
35 class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
36 style="display: -webkit-inline-box; height: 30px!important;"
37 >Назад</a>
33 </div> 38 </div>
34 </div> 39 </div>
35 </div> 40 </div>
36 41
resources/views/admin/pages/form.blade.php
1 @csrf 1 @csrf
2 2
3 @isset($page) 3 @isset($page)
4 @method('PUT') 4 @method('PUT')
5 @endisset 5 @endisset
6 6
7 <script> 7 <script>
8 function translit(word){ 8 function translit(word){
9 var answer = ''; 9 var answer = '';
10 var converter = { 10 var converter = {
11 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 11 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd',
12 'е': 'e', 'ё': 'e', 'ж': 'zh', 'з': 'z', 'и': 'i', 12 'е': 'e', 'ё': 'e', 'ж': 'zh', 'з': 'z', 'и': 'i',
13 'й': 'y', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n', 13 'й': 'y', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n',
14 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 14 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't',
15 'у': 'u', 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch', 15 'у': 'u', 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch',
16 'ш': 'sh', 'щ': 'sch', 'ь': '', 'ы': 'y', 'ъ': '', 16 'ш': 'sh', 'щ': 'sch', 'ь': '', 'ы': 'y', 'ъ': '',
17 'э': 'e', 'ю': 'yu', 'я': 'ya', 17 'э': 'e', 'ю': 'yu', 'я': 'ya',
18 18
19 'А': 'A', 'Б': 'B', 'В': 'V', 'Г': 'G', 'Д': 'D', 19 'А': 'A', 'Б': 'B', 'В': 'V', 'Г': 'G', 'Д': 'D',
20 'Е': 'E', 'Ё': 'E', 'Ж': 'Zh', 'З': 'Z', 'И': 'I', 20 'Е': 'E', 'Ё': 'E', 'Ж': 'Zh', 'З': 'Z', 'И': 'I',
21 'Й': 'Y', 'К': 'K', 'Л': 'L', 'М': 'M', 'Н': 'N', 21 'Й': 'Y', 'К': 'K', 'Л': 'L', 'М': 'M', 'Н': 'N',
22 'О': 'O', 'П': 'P', 'Р': 'R', 'С': 'S', 'Т': 'T', 22 'О': 'O', 'П': 'P', 'Р': 'R', 'С': 'S', 'Т': 'T',
23 'У': 'U', 'Ф': 'F', 'Х': 'H', 'Ц': 'C', 'Ч': 'Ch', 23 'У': 'U', 'Ф': 'F', 'Х': 'H', 'Ц': 'C', 'Ч': 'Ch',
24 'Ш': 'Sh', 'Щ': 'Sch', 'Ь': '', 'Ы': 'Y', 'Ъ': '', 24 'Ш': 'Sh', 'Щ': 'Sch', 'Ь': '', 'Ы': 'Y', 'Ъ': '',
25 'Э': 'E', 'Ю': 'Yu', 'Я': 'Ya', ' ': '-' 25 'Э': 'E', 'Ю': 'Yu', 'Я': 'Ya', ' ': '-'
26 }; 26 };
27 27
28 for (var i = 0; i < word.length; ++i ) { 28 for (var i = 0; i < word.length; ++i ) {
29 if (converter[word[i]] == undefined){ 29 if (converter[word[i]] == undefined){
30 answer += word[i]; 30 answer += word[i];
31 } else { 31 } else {
32 answer += converter[word[i]]; 32 answer += converter[word[i]];
33 } 33 }
34 } 34 }
35 35
36 return answer; 36 return answer;
37 } 37 }
38 38
39 window.addEventListener("DOMContentLoaded", (event) => { 39 window.addEventListener("DOMContentLoaded", (event) => {
40 let title = document.querySelector('#name'); 40 let title = document.querySelector('#name');
41 let text = document.querySelector('#slug'); 41 let text = document.querySelector('#slug');
42 42
43 title.addEventListener('input', function() { 43 title.addEventListener('input', function() {
44 text.value = translit(this.value); 44 text.value = translit(this.value);
45 }); 45 });
46 }); 46 });
47 47
48 </script> 48 </script>
49 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> 49 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
50 <label class="block text-sm"> 50 <label class="block text-sm">
51 <span class="text-gray-700 dark:text-gray-400">Название страницы</span> 51 <span class="text-gray-700 dark:text-gray-400">Название страницы</span>
52 <input name="name" id="name" 52 <input name="name" id="name"
53 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 53 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
54 placeholder="Имя категории" value="{{ old('name') ?? $page->name ?? '' }}" 54 placeholder="Имя категории" value="{{ old('name') ?? $page->name ?? '' }}"
55 /> 55 />
56 @error('name') 56 @error('name')
57 <span class="text-xs text-red-600 dark:text-red-400"> 57 <span class="text-xs text-red-600 dark:text-red-400">
58 {{ $message }} 58 {{ $message }}
59 </span> 59 </span>
60 @enderror 60 @enderror
61 </label><br> 61 </label><br>
62 62
63 <label class="block text-sm"> 63 <label class="block text-sm">
64 <span class="text-gray-700 dark:text-gray-400">Английский псевдоним страницы</span> 64 <span class="text-gray-700 dark:text-gray-400">Английский псевдоним страницы</span>
65 <input name="slug" id="slug" 65 <input name="slug" id="slug"
66 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 66 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
67 placeholder="Имя категории" value="{{ old('slug') ?? $page->slug ?? '' }}" 67 placeholder="Имя категории" value="{{ old('slug') ?? $page->slug ?? '' }}"
68 /> 68 />
69 @error('slug') 69 @error('slug')
70 <span class="text-xs text-red-600 dark:text-red-400"> 70 <span class="text-xs text-red-600 dark:text-red-400">
71 {{ $message }} 71 {{ $message }}
72 </span> 72 </span>
73 @enderror 73 @enderror
74 </label><br> 74 </label><br>
75 75
76 <label class="block text-sm"> 76 <label class="block text-sm">
77 <span class="text-gray-700 dark:text-gray-400">Анонс</span> 77 <span class="text-gray-700 dark:text-gray-400">Анонс</span>
78 <textarea class="form-control ckeditor" name="anons" placeholder="Анонс (html)" required 78 <textarea class="form-control ckeditor" name="anons" placeholder="Анонс (html)" required
79 rows="10">{{ old('anons') ?? $page->anons ?? '' }}</textarea> 79 rows="10">{{ old('anons') ?? $page->anons ?? '' }}</textarea>
80 @error('anons') 80 @error('anons')
81 <span class="text-xs text-red-600 dark:text-red-400"> 81 <span class="text-xs text-red-600 dark:text-red-400">
82 {{ $message }} 82 {{ $message }}
83 </span> 83 </span>
84 @enderror 84 @enderror
85 </label><br> 85 </label><br>
86 86
87 <label class="block text-sm"> 87 <label class="block text-sm">
88 <span class="text-gray-700 dark:text-gray-400">Текст</span> 88 <span class="text-gray-700 dark:text-gray-400">Текст</span>
89 <textarea class="form-control ckeditor" name="text" placeholder="Текст (html)" required 89 <textarea class="form-control ckeditor" name="text" placeholder="Текст (html)" required
90 rows="10">{{ old('text') ?? $page->text ?? '' }}</textarea> 90 rows="10">{{ old('text') ?? $page->text ?? '' }}</textarea>
91 @error('text') 91 @error('text')
92 <span class="text-xs text-red-600 dark:text-red-400"> 92 <span class="text-xs text-red-600 dark:text-red-400">
93 {{ $message }} 93 {{ $message }}
94 </span> 94 </span>
95 @enderror 95 @enderror
96 </label><br> 96 </label><br>
97 97
98 <label class="block text-sm"> 98 <label class="block text-sm">
99 <span class="text-gray-700 dark:text-gray-400">Автор</span> 99 <span class="text-gray-700 dark:text-gray-400">Автор</span>
100 <input name="author" id="author" 100 <input name="author" id="author"
101 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 101 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
102 placeholder="Имя категории" value="{{ old('author') ?? $page->author ?? '' }}" 102 placeholder="Имя категории" value="{{ old('author') ?? $page->author ?? '' }}"
103 /> 103 />
104 @error('author') 104 @error('author')
105 <span class="text-xs text-red-600 dark:text-red-400"> 105 <span class="text-xs text-red-600 dark:text-red-400">
106 {{ $message }} 106 {{ $message }}
107 </span> 107 </span>
108 @enderror 108 @enderror
109 </label><br> 109 </label><br>
110 110
111 <label class="block text-sm"> 111 <label class="block text-sm">
112 <span class="text-gray-700 dark:text-gray-400">Картинка</span> 112 <span class="text-gray-700 dark:text-gray-400">Картинка</span>
113 <input type="file" class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 113 <input type="file" class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700
114 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple 114 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple
115 dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 115 dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
116 id="image" name="image" accept="image/png, image/jpeg"> 116 id="image" name="image" accept="image/png, image/jpeg">
117 @error('image') 117 @error('image')
118 <span class="text-xs text-red-600 dark:text-red-400"> 118 <span class="text-xs text-red-600 dark:text-red-400">
119 {{ $message }} 119 {{ $message }}
120 </span> 120 </span>
121 @enderror 121 @enderror
122 @isset($page->image) 122 @isset($page->image)
123 <img src="{{asset(Storage::url($page->image))}}" width="100px"/> 123 <img src="{{asset(Storage::url($page->image))}}" width="100px"/>
124 @endisset 124 @endisset
125 </label><br> 125 </label><br>
126 126
127 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> 127 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
128 <div> 128 <div>
129 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 129 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
130 Сохранить 130 Сохранить
131 </button> 131 </button>
132 <a href="{{ route('admin.editor-pages') }}"
133 class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
134 style="display: -webkit-inline-box; height: 30px!important;"
135 >Назад</a>
132 </div> 136 </div>
133 </div> 137 </div>
134 </div> 138 </div>
135 <script src="//cdn.ckeditor.com/4.14.0/standard/ckeditor.js"></script> 139 <script src="//cdn.ckeditor.com/4.14.0/standard/ckeditor.js"></script>
136 <script> 140 <script>
137 CKEDITOR.replace( 'anons'); 141 CKEDITOR.replace( 'anons');
138 CKEDITOR.replace( 'text', { 142 CKEDITOR.replace( 'text', {
139 filebrowserUploadUrl: "{{route('ckeditor.image-upload', ['_token' => csrf_token() ])}}", 143 filebrowserUploadUrl: "{{route('ckeditor.image-upload', ['_token' => csrf_token() ])}}",
140 filebrowserImageUploadUrl: "{{ route('ckeditor.image-upload', ['_token' => csrf_token() ])}}", 144 filebrowserImageUploadUrl: "{{ route('ckeditor.image-upload', ['_token' => csrf_token() ])}}",
141 filebrowserUploadMethod: 'form' 145 filebrowserUploadMethod: 'form'
142 }); 146 });
143 </script> 147 </script>
144 148
resources/views/admin/profile.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Профиль']) 1 @extends('layout.admin', ['title' => 'Админка - Профиль'])
2 2
3 @section('content') 3 @section('content')
4 <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"> 4 <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300">
5 Личные данные 5 Личные данные
6 </h4> 6 </h4>
7 <form method="POST" action=""> 7 <form method="POST" action="">
8 @csrf 8 @csrf
9 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> 9 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
10 <label class="block text-sm"> 10 <label class="block text-sm">
11 <span class="text-gray-700 dark:text-gray-400">Имя/Псевдоним/Имя компании</span> 11 <span class="text-gray-700 dark:text-gray-400">Имя/Псевдоним/Имя компании</span>
12 <input name="name" id="name" 12 <input name="name" id="name"
13 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 13 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
14 placeholder="Псевдоним для админки" value="{{ old('name') ?? $user->name ?? '' }}" 14 placeholder="Псевдоним для админки" value="{{ old('name') ?? $user->name ?? '' }}"
15 /> 15 />
16 @error('name') 16 @error('name')
17 <span class="text-xs text-red-600 dark:text-red-400"> 17 <span class="text-xs text-red-600 dark:text-red-400">
18 {{ $message }} 18 {{ $message }}
19 </span> 19 </span>
20 @enderror 20 @enderror
21 </label><br> 21 </label><br>
22 22
23 <label class="block text-sm"> 23 <label class="block text-sm">
24 <span class="text-gray-700 dark:text-gray-400">Email</span> 24 <span class="text-gray-700 dark:text-gray-400">Email</span>
25 <input name="email" id="email" 25 <input name="email" id="email"
26 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 26 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
27 placeholder="Почта" value="{{ old('email') ?? $user->email ?? '' }}" 27 placeholder="Почта" value="{{ old('email') ?? $user->email ?? '' }}"
28 /> 28 />
29 @error('email') 29 @error('email')
30 <span class="text-xs text-red-600 dark:text-red-400"> 30 <span class="text-xs text-red-600 dark:text-red-400">
31 {{ $message }} 31 {{ $message }}
32 </span> 32 </span>
33 @enderror 33 @enderror
34 </label><br> 34 </label><br>
35 35
36 <label class="block text-sm"> 36 <label class="block text-sm">
37 <span class="text-gray-700 dark:text-gray-400">Телефон</span> 37 <span class="text-gray-700 dark:text-gray-400">Телефон</span>
38 <input name="telephone" id="telephone" 38 <input name="telephone" id="telephone"
39 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 39 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
40 placeholder="Телефон" value="{{ old('telephone') ?? $user->telephone ?? '' }}" 40 placeholder="Телефон" value="{{ old('telephone') ?? $user->telephone ?? '' }}"
41 /> 41 />
42 @error('telephone') 42 @error('telephone')
43 <span class="text-xs text-red-600 dark:text-red-400"> 43 <span class="text-xs text-red-600 dark:text-red-400">
44 {{ $message }} 44 {{ $message }}
45 </span> 45 </span>
46 @enderror 46 @enderror
47 </label><br> 47 </label><br>
48 48
49 <label class="block text-sm"> 49 <label class="block text-sm">
50 <span class="text-gray-700 dark:text-gray-400">Фамилия</span> 50 <span class="text-gray-700 dark:text-gray-400">Фамилия</span>
51 <input name="surname" id="surname" 51 <input name="surname" id="surname"
52 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 52 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
53 placeholder="Фамилия" value="{{ old('surname') ?? $user->surname ?? '' }}" 53 placeholder="Фамилия" value="{{ old('surname') ?? $user->surname ?? '' }}"
54 /> 54 />
55 @error('surname') 55 @error('surname')
56 <span class="text-xs text-red-600 dark:text-red-400"> 56 <span class="text-xs text-red-600 dark:text-red-400">
57 {{ $message }} 57 {{ $message }}
58 </span> 58 </span>
59 @enderror 59 @enderror
60 </label><br> 60 </label><br>
61 61
62 <label class="block text-sm"> 62 <label class="block text-sm">
63 <span class="text-gray-700 dark:text-gray-400">Имя человека</span> 63 <span class="text-gray-700 dark:text-gray-400">Имя человека</span>
64 <input name="name_man" id="name_man" 64 <input name="name_man" id="name_man"
65 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 65 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
66 placeholder="Имя человека" value="{{ old('name_man') ?? $user->name_man ?? '' }}" 66 placeholder="Имя человека" value="{{ old('name_man') ?? $user->name_man ?? '' }}"
67 /> 67 />
68 @error('name_man') 68 @error('name_man')
69 <span class="text-xs text-red-600 dark:text-red-400"> 69 <span class="text-xs text-red-600 dark:text-red-400">
70 {{ $message }} 70 {{ $message }}
71 </span> 71 </span>
72 @enderror 72 @enderror
73 </label><br> 73 </label><br>
74 74
75 <label class="block text-sm"> 75 <label class="block text-sm">
76 <span class="text-gray-700 dark:text-gray-400">Отчество</span> 76 <span class="text-gray-700 dark:text-gray-400">Отчество</span>
77 <input name="surname2" id="surname2" 77 <input name="surname2" id="surname2"
78 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 78 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
79 placeholder="Отчество" value="{{ old('surname2') ?? $user->surname2 ?? '' }}" 79 placeholder="Отчество" value="{{ old('surname2') ?? $user->surname2 ?? '' }}"
80 /> 80 />
81 @error('surname2') 81 @error('surname2')
82 <span class="text-xs text-red-600 dark:text-red-400"> 82 <span class="text-xs text-red-600 dark:text-red-400">
83 {{ $message }} 83 {{ $message }}
84 </span> 84 </span>
85 @enderror 85 @enderror
86 </label><br> 86 </label><br>
87 87
88 <div class="mt-4 text-sm"> 88 <div class="mt-4 text-sm">
89 <span class="text-gray-700 dark:text-gray-400"> 89 <span class="text-gray-700 dark:text-gray-400">
90 Тип пользователя 90 Тип пользователя
91 </span> 91 </span>
92 <div class="mt-2"> 92 <div class="mt-2">
93 <label class="inline-flex items-center text-gray-600 dark:text-gray-400"> 93 <label class="inline-flex items-center text-gray-600 dark:text-gray-400">
94 <input 94 <input
95 type="radio" 95 type="radio"
96 class="text-purple-600 form-radio focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 96 class="text-purple-600 form-radio focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
97 name="is_worker" 97 name="is_worker"
98 value="1" 98 value="1"
99 <? if ($user->is_worker == 1) echo "checked"; ?> 99 <? if ($user->is_worker == 1) echo "checked"; ?>
100 /> 100 />
101 <span class="ml-2">Работник</span> 101 <span class="ml-2">Работник</span>
102 </label> 102 </label>
103 <label class="inline-flex items-center ml-6 text-gray-600 dark:text-gray-400"> 103 <label class="inline-flex items-center ml-6 text-gray-600 dark:text-gray-400">
104 <input 104 <input
105 type="radio" 105 type="radio"
106 class="text-purple-600 form-radio focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 106 class="text-purple-600 form-radio focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
107 name="is_worker" 107 name="is_worker"
108 value="0" 108 value="0"
109 <? if ($user->is_worker == 0) echo "checked"; ?> 109 <? if ($user->is_worker == 0) echo "checked"; ?>
110 /> 110 />
111 <span class="ml-2">Работодатель</span> 111 <span class="ml-2">Работодатель</span>
112 </label> 112 </label>
113 </div> 113 </div>
114 </div><br> 114 </div><br>
115 115
116 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> 116 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
117 <div> 117 <div>
118 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 118 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
119 Сохранить 119 Сохранить
120 </button> 120 </button>
121 <a href="{{ route('admin.password') }}" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 121 <a href="{{ route('admin.password') }}" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
122 Сменить пароль 122 style="display: -webkit-inline-box; height: 30px!important;">
123 Сменить пароль
123 </a> 124 </a>
124 </div> 125 </div>
125 </div> 126 </div>
126 </div> 127 </div>
127 </form> 128 </form>
128 <!-- 129 <!--
129 <label class="block mt-4 text-sm"> 130 <label class="block mt-4 text-sm">
130 <span class="text-gray-700 dark:text-gray-400"> 131 <span class="text-gray-700 dark:text-gray-400">
131 Requested Limit 132 Requested Limit
132 </span> 133 </span>
133 <select 134 <select
134 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 135 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
135 > 136 >
136 <option>$1,000</option> 137 <option>$1,000</option>
137 <option>$5,000</option> 138 <option>$5,000</option>
138 <option>$10,000</option> 139 <option>$10,000</option>
139 <option>$25,000</option> 140 <option>$25,000</option>
140 </select> 141 </select>
141 </label> 142 </label>
142 143
143 <label class="block mt-4 text-sm"> 144 <label class="block mt-4 text-sm">
144 <span class="text-gray-700 dark:text-gray-400"> 145 <span class="text-gray-700 dark:text-gray-400">
145 Multiselect 146 Multiselect
146 </span> 147 </span>
147 <select 148 <select
148 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-multiselect focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 149 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-multiselect focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
149 multiple 150 multiple
150 > 151 >
151 <option>Option 1</option> 152 <option>Option 1</option>
152 <option>Option 2</option> 153 <option>Option 2</option>
153 <option>Option 3</option> 154 <option>Option 3</option>
154 <option>Option 4</option> 155 <option>Option 4</option>
155 <option>Option 5</option> 156 <option>Option 5</option>
156 </select> 157 </select>
157 </label> 158 </label>
158 159
159 <label class="block mt-4 text-sm"> 160 <label class="block mt-4 text-sm">
160 <span class="text-gray-700 dark:text-gray-400">Message</span> 161 <span class="text-gray-700 dark:text-gray-400">Message</span>
161 <textarea 162 <textarea
162 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 163 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
163 rows="3" 164 rows="3"
164 placeholder="Enter some long form content." 165 placeholder="Enter some long form content."
165 ></textarea> 166 ></textarea>
166 </label> 167 </label>
167 168
168 <div class="flex mt-6 text-sm"> 169 <div class="flex mt-6 text-sm">
169 <label class="flex items-center dark:text-gray-400"> 170 <label class="flex items-center dark:text-gray-400">
170 <input 171 <input
171 type="checkbox" 172 type="checkbox"
172 class="text-purple-600 form-checkbox focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 173 class="text-purple-600 form-checkbox focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
173 /> 174 />
174 <span class="ml-2"> 175 <span class="ml-2">
175 I agree to the 176 I agree to the
176 <span class="underline">privacy policy</span> 177 <span class="underline">privacy policy</span>
177 </span> 178 </span>
178 </label> 179 </label>
179 </div> 180 </div>
180 </div> 181 </div>
181 182
182 <!-- Validation inputs --> 183 <!-- Validation inputs -->
183 <!--<h4 184 <!--<h4
184 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" 185 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
185 > 186 >
186 Validation 187 Validation
187 </h4> 188 </h4>
188 <div 189 <div
189 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" 190 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
190 > 191 >
191 <!-- Invalid input --> 192 <!-- Invalid input -->
192 <!--<label class="block text-sm"> 193 <!--<label class="block text-sm">
193 <span class="text-gray-700 dark:text-gray-400"> 194 <span class="text-gray-700 dark:text-gray-400">
194 Invalid input 195 Invalid input
195 </span> 196 </span>
196 <input 197 <input
197 class="block w-full mt-1 text-sm border-red-600 dark:text-gray-300 dark:bg-gray-700 focus:border-red-400 focus:outline-none focus:shadow-outline-red form-input" 198 class="block w-full mt-1 text-sm border-red-600 dark:text-gray-300 dark:bg-gray-700 focus:border-red-400 focus:outline-none focus:shadow-outline-red form-input"
198 placeholder="Jane Doe" 199 placeholder="Jane Doe"
199 /> 200 />
200 <span class="text-xs text-red-600 dark:text-red-400"> 201 <span class="text-xs text-red-600 dark:text-red-400">
201 Your password is too short. 202 Your password is too short.
202 </span> 203 </span>
203 </label> 204 </label>
204 205
205 <!-- Valid input --> 206 <!-- Valid input -->
206 <!--<label class="block mt-4 text-sm"> 207 <!--<label class="block mt-4 text-sm">
207 <span class="text-gray-700 dark:text-gray-400"> 208 <span class="text-gray-700 dark:text-gray-400">
208 Valid input 209 Valid input
209 </span> 210 </span>
210 <input 211 <input
211 class="block w-full mt-1 text-sm border-green-600 dark:text-gray-300 dark:bg-gray-700 focus:border-green-400 focus:outline-none focus:shadow-outline-green form-input" 212 class="block w-full mt-1 text-sm border-green-600 dark:text-gray-300 dark:bg-gray-700 focus:border-green-400 focus:outline-none focus:shadow-outline-green form-input"
212 placeholder="Jane Doe" 213 placeholder="Jane Doe"
213 /> 214 />
214 <span class="text-xs text-green-600 dark:text-green-400"> 215 <span class="text-xs text-green-600 dark:text-green-400">
215 Your password is strong. 216 Your password is strong.
216 </span> 217 </span>
217 </label> 218 </label>
218 219
219 <!-- Helper text --> 220 <!-- Helper text -->
220 <!--<label class="block mt-4 text-sm"> 221 <!--<label class="block mt-4 text-sm">
221 <span class="text-gray-700 dark:text-gray-400"> 222 <span class="text-gray-700 dark:text-gray-400">
222 Helper text 223 Helper text
223 </span> 224 </span>
224 <input 225 <input
225 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 226 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
226 placeholder="Jane Doe" 227 placeholder="Jane Doe"
227 /> 228 />
228 <span class="text-xs text-gray-600 dark:text-gray-400"> 229 <span class="text-xs text-gray-600 dark:text-gray-400">
229 Your password must be at least 6 characters long. 230 Your password must be at least 6 characters long.
230 </span> 231 </span>
231 </label> 232 </label>
232 </div> 233 </div>
233 234
234 <!-- Inputs with icons --> 235 <!-- Inputs with icons -->
235 <!--<h4 236 <!--<h4
236 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" 237 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
237 > 238 >
238 Icons 239 Icons
239 </h4> 240 </h4>
240 <div 241 <div
241 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" 242 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
242 > 243 >
243 <label class="block text-sm"> 244 <label class="block text-sm">
244 <span class="text-gray-700 dark:text-gray-400">Icon left</span> 245 <span class="text-gray-700 dark:text-gray-400">Icon left</span>
245 <!-- focus-within sets the color for the icon when input is focused --> 246 <!-- focus-within sets the color for the icon when input is focused -->
246 <!--<div 247 <!--<div
247 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400" 248 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400"
248 > 249 >
249 <input 250 <input
250 class="block w-full pl-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 251 class="block w-full pl-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
251 placeholder="Jane Doe" 252 placeholder="Jane Doe"
252 /> 253 />
253 <div 254 <div
254 class="absolute inset-y-0 flex items-center ml-3 pointer-events-none" 255 class="absolute inset-y-0 flex items-center ml-3 pointer-events-none"
255 > 256 >
256 <svg 257 <svg
257 class="w-5 h-5" 258 class="w-5 h-5"
258 aria-hidden="true" 259 aria-hidden="true"
259 fill="none" 260 fill="none"
260 stroke-linecap="round" 261 stroke-linecap="round"
261 stroke-linejoin="round" 262 stroke-linejoin="round"
262 stroke-width="2" 263 stroke-width="2"
263 viewBox="0 0 24 24" 264 viewBox="0 0 24 24"
264 stroke="currentColor" 265 stroke="currentColor"
265 > 266 >
266 <path 267 <path
267 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" 268 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"
268 ></path> 269 ></path>
269 </svg> 270 </svg>
270 </div> 271 </div>
271 </div> 272 </div>
272 </label> 273 </label>
273 274
274 <label class="block mt-4 text-sm"> 275 <label class="block mt-4 text-sm">
275 <span class="text-gray-700 dark:text-gray-400">Icon right</span> 276 <span class="text-gray-700 dark:text-gray-400">Icon right</span>
276 <!-- focus-within sets the color for the icon when input is focused --> 277 <!-- focus-within sets the color for the icon when input is focused -->
277 <!--<div 278 <!--<div
278 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400" 279 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400"
279 > 280 >
280 <input 281 <input
281 class="block w-full pr-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 282 class="block w-full pr-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
282 placeholder="Jane Doe" 283 placeholder="Jane Doe"
283 /> 284 />
284 <div 285 <div
285 class="absolute inset-y-0 right-0 flex items-center mr-3 pointer-events-none" 286 class="absolute inset-y-0 right-0 flex items-center mr-3 pointer-events-none"
286 > 287 >
287 <svg 288 <svg
288 class="w-5 h-5" 289 class="w-5 h-5"
289 aria-hidden="true" 290 aria-hidden="true"
290 fill="none" 291 fill="none"
291 stroke-linecap="round" 292 stroke-linecap="round"
292 stroke-linejoin="round" 293 stroke-linejoin="round"
293 stroke-width="2" 294 stroke-width="2"
294 viewBox="0 0 24 24" 295 viewBox="0 0 24 24"
295 stroke="currentColor" 296 stroke="currentColor"
296 > 297 >
297 <path 298 <path
298 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" 299 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"
299 ></path> 300 ></path>
300 </svg> 301 </svg>
301 </div> 302 </div>
302 </div> 303 </div>
303 </label> 304 </label>
304 </div> 305 </div>
305 306
306 <!-- Inputs with buttons --> 307 <!-- Inputs with buttons -->
307 <!--<h4 308 <!--<h4
308 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" 309 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
309 > 310 >
310 Buttons 311 Buttons
311 </h4> 312 </h4>
312 <div 313 <div
313 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" 314 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
314 > 315 >
315 <label class="block text-sm"> 316 <label class="block text-sm">
316 <span class="text-gray-700 dark:text-gray-400"> 317 <span class="text-gray-700 dark:text-gray-400">
317 Button left 318 Button left
318 </span> 319 </span>
319 <div class="relative"> 320 <div class="relative">
320 <input 321 <input
321 class="block w-full pl-20 mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 322 class="block w-full pl-20 mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
322 placeholder="Jane Doe" 323 placeholder="Jane Doe"
323 /> 324 />
324 <button 325 <button
325 class="absolute inset-y-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-l-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 326 class="absolute inset-y-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-l-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
326 > 327 >
327 Click 328 Click
328 </button> 329 </button>
329 </div> 330 </div>
330 </label> 331 </label>
331 332
332 <label class="block mt-4 text-sm"> 333 <label class="block mt-4 text-sm">
333 <span class="text-gray-700 dark:text-gray-400"> 334 <span class="text-gray-700 dark:text-gray-400">
334 Button right 335 Button right
335 </span> 336 </span>
336 <div 337 <div
337 class="relative text-gray-500 focus-within:text-purple-600" 338 class="relative text-gray-500 focus-within:text-purple-600"
338 > 339 >
339 <input 340 <input
340 class="block w-full pr-20 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 341 class="block w-full pr-20 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
341 placeholder="Jane Doe" 342 placeholder="Jane Doe"
342 /> 343 />
343 <button 344 <button
344 class="absolute inset-y-0 right-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-r-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" 345 class="absolute inset-y-0 right-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-r-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
345 > 346 >
346 Click 347 Click
347 </button> 348 </button>
348 </div> 349 </div>
349 </label> 350 </label>
350 </div>--> 351 </div>-->
351 @endsection 352 @endsection
352 353
resources/views/admin/reclames/add.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Добавление рекламы']) 1 @extends('layout.admin', ['title' => 'Админка - Добавление рекламы'])
2 2
3 @section('content') 3 @section('content')
4 <form method="POST" action="{{ route('admin.add-reclames-store') }}" enctype="multipart/form-data"> 4 <form method="POST" action="{{ route('admin.add-reclames-store') }}" enctype="multipart/form-data">
5 @csrf
5 @include('admin.reclames.form') 6 @include('admin.reclames.form')
6 </form> 7 </form>
7 @endsection 8 @endsection
8 9
resources/views/admin/reclames/edit.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Редактирование рекламы']) 1 @extends('layout.admin', ['title' => 'Админка - Редактирование рекламы'])
2 2
3 @section('content') 3 @section('content')
4 <form method="POST" action="{{ route('admin.update-reclames', ['reclame' => $reclame->id]) }}" enctype="multipart/form-data"> 4 <form method="POST" action="{{ route('admin.update-reclames', ['reclame' => $reclame->id]) }}" enctype="multipart/form-data">
5 @csrf
6 @isset($reclame)
7 @method('PUT')
8 @endisset
5 @include('admin.reclames.form') 9 @include('admin.reclames.form')
6 </form> 10 </form>
7 @endsection 11 @endsection
8 12
resources/views/admin/reclames/form.blade.php
1 @csrf
2
3 @isset($reclame)
4 @method('PUT')
5 @endisset
6
7 <script src="//cdn.ckeditor.com/4.14.0/standard/ckeditor.js"></script> 1 <script src="//cdn.ckeditor.com/4.14.0/standard/ckeditor.js"></script>
8 <script> 2 <script>
9 CKEDITOR.replace( 'text', { 3 CKEDITOR.replace( 'text', {
10 filebrowserUploadUrl: "{{route('ckeditor.image-upload', ['_token' => csrf_token() ])}}", 4 filebrowserUploadUrl: "{{route('ckeditor.image-upload', ['_token' => csrf_token() ])}}",
11 filebrowserUploadMethod: 'form' 5 filebrowserUploadMethod: 'form'
12 }); 6 });
13 </script> 7 </script>
14 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> 8 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
15 <label class="block text-sm"> 9 <label class="block text-sm">
16 <span class="text-gray-700 dark:text-gray-400">Заголовок рекламы</span> 10 <span class="text-gray-700 dark:text-gray-400">Заголовок рекламы</span>
17 <input name="title" id="title" 11 <input name="title" id="title"
18 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 12 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
19 placeholder="Заголовок рекламы" value="{{ old('title') ?? $reclame->title ?? '' }}" 13 placeholder="Заголовок рекламы" value="{{ old('title') ?? (isset($reclame->title)) ? $reclame->title : '' }}"
20 /> 14 />
21 @error('title') 15 @error('title')
22 <span class="text-xs text-red-600 dark:text-red-400"> 16 <span class="text-xs text-red-600 dark:text-red-400">
23 {{ $message }} 17 {{ $message }}
24 </span> 18 </span>
25 @enderror 19 @enderror
26 </label><br> 20 </label><br>
27 21
28 <label class="block text-sm"> 22 <label class="block text-sm">
29 <span class="text-gray-700 dark:text-gray-400"> 23 <span class="text-gray-700 dark:text-gray-400">
30 <input type="hidden" name="is_hidden" value="0" /> 24 <input type="hidden" name="is_hidden" value="0" />
31 <input type="checkbox" value="1" name="is_hidden" id="is_hidden" {{ ($reclame->is_hidden) ? "checked" : "" }} /> 25 <input type="checkbox" value="1" name="is_hidden" id="is_hidden" {{ isset($reclame->is_hidden) ? ($reclame->is_hidden) ? "checked" : "" : "" }} />
32 Скрыть рекламу</span> 26 Скрыть рекламу</span>
33 </label><br> 27 </label><br>
34 28
35 <label class="block text-sm"> 29 <label class="block text-sm">
36 <span class="text-gray-700 dark:text-gray-400">Ссылка</span> 30 <span class="text-gray-700 dark:text-gray-400">Ссылка</span>
37 <input name="link" id="link" 31 <input name="link" id="link"
38 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 32 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
39 placeholder="Ссылка" value="{{ old('link') ?? $reclame->link ?? '' }}" 33 placeholder="Ссылка" value="{{ old('link') ?? $reclame->link ?? '' }}"
40 /> 34 />
41 @error('link') 35 @error('link')
42 <span class="text-xs text-red-600 dark:text-red-400"> 36 <span class="text-xs text-red-600 dark:text-red-400">
43 {{ $message }} 37 {{ $message }}
44 </span> 38 </span>
45 @enderror 39 @enderror
46 </label><br> 40 </label><br>
47 41
48 <label class="block text-sm"> 42 <label class="block text-sm">
49 <span class="text-gray-700 dark:text-gray-400">Текст</span> 43 <span class="text-gray-700 dark:text-gray-400">Текст</span>
50 <textarea class="form-control ckeditor" name="text" id="text" placeholder="Текст (html)" required 44 <textarea class="form-control ckeditor" name="text" id="text" placeholder="Текст (html)" required
51 rows="10">{{ old('text') ?? $reclame->text ?? '' }}</textarea> 45 rows="10">{{ old('text') ?? $reclame->text ?? '' }}</textarea>
52 @error('text') 46 @error('text')
53 <span class="text-xs text-red-600 dark:text-red-400"> 47 <span class="text-xs text-red-600 dark:text-red-400">
54 {{ $message }} 48 {{ $message }}
55 </span> 49 </span>
56 @enderror 50 @enderror
57 </label><br> 51 </label><br>
58 52
59 <label class="block text-sm"> 53 <label class="block text-sm">
60 <span class="text-gray-700 dark:text-gray-400">Позиция (число)</span> 54 <span class="text-gray-700 dark:text-gray-400">Позиция (число)</span>
61 <input name="position" id="position" 55 <input name="position" id="position"
62 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 56 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
63 placeholder="Позиция" value="{{ old('position') ?? $reclame->position ?? '' }}" 57 placeholder="Позиция" value="{{ old('position') ?? $reclame->position ?? '' }}"
64 /> 58 />
65 @error('position') 59 @error('position')
66 <span class="text-xs text-red-600 dark:text-red-400"> 60 <span class="text-xs text-red-600 dark:text-red-400">
67 {{ $message }} 61 {{ $message }}
68 </span> 62 </span>
69 @enderror 63 @enderror
70 </label><br> 64 </label><br>
71 65
72 <label class="block text-sm"> 66 <label class="block text-sm">
73 <span class="text-gray-700 dark:text-gray-400">Картинка</span> 67 <span class="text-gray-700 dark:text-gray-400">Картинка</span>
74 <input type="file" class="block w-full mt-1 text-sm dark:border-gray-600 68 <input type="file" class="block w-full mt-1 text-sm dark:border-gray-600
75 dark:bg-gray-700 focus:border-purple-400 69 dark:bg-gray-700 focus:border-purple-400
76 focus:outline-none focus:shadow-outline-purple 70 focus:outline-none focus:shadow-outline-purple
77 dark:text-gray-300 dark:focus:shadow-outline-gray 71 dark:text-gray-300 dark:focus:shadow-outline-gray
78 form-input" 72 form-input"
79 id="image" name="image" accept="image/png, image/jpeg"> 73 id="image" name="image" accept="image/png, image/jpeg">
80 @error('image') 74 @error('image')
81 <span class="text-xs text-red-600 dark:text-red-400"> 75 <span class="text-xs text-red-600 dark:text-red-400">
82 {{ $message }} 76 {{ $message }}
83 </span> 77 </span>
84 @enderror 78 @enderror
85 @isset($reclame->image) 79 @isset($reclame->image)
86 <img src="{{asset(Storage::url($reclame->image))}}" width="100px"/> 80 <img src="{{asset(Storage::url($reclame->image))}}" width="100px"/>
87 @endisset 81 @endisset
88 82
89 </label><br> 83 </label><br>
90 84
91 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> 85 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
92 <div> 86 <div>
93 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 87 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
94 Сохранить 88 Сохранить
95 </button> 89 </button>
90 <a href="{{ route('admin.reclames') }}"
91 class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
92 style="display: -webkit-inline-box; height: 30px!important;"
93 >Назад</a>
resources/views/admin/seo/form.blade.php
1 @csrf 1 @csrf
2 2
3 @isset($page) 3 @isset($page)
4 @method('PUT') 4 @method('PUT')
5 @endisset 5 @endisset
6 <script> 6 <script>
7 window.onload = function() { 7 window.onload = function() {
8 const MetaURLBtn = document.querySelector('#GetMetaData'); 8 const MetaURLBtn = document.querySelector('#GetMetaData');
9 9
10 MetaURLBtn.addEventListener('click', (e) => { 10 MetaURLBtn.addEventListener('click', (e) => {
11 e.preventDefault(); 11 e.preventDefault();
12 console.log('Click button for get info metadata'); 12 console.log('Click button for get info metadata');
13 13
14 let url = document.querySelector('#url').value; 14 let url = document.querySelector('#url').value;
15 15
16 $.ajax({ 16 $.ajax({
17 type: "GET", 17 type: "GET",
18 url: "{{ route('admin.ajax.seo') }}", 18 url: "{{ route('admin.ajax.seo') }}",
19 data: "url=" + url, 19 data: "url=" + url,
20 success: function (data) { 20 success: function (data) {
21 console.log('URL был передан '); 21 console.log('URL был передан ');
22 data = JSON.parse(data); 22 data = JSON.parse(data);
23 console.log(data); 23 console.log(data);
24 24
25 document.querySelector('#title').value = data['title']; 25 document.querySelector('#title').value = data['title'];
26 document.querySelector('#keywords').value = data['keywords']; 26 document.querySelector('#keywords').value = data['keywords'];
27 document.querySelector('#description').value = data['description']; 27 document.querySelector('#description').value = data['description'];
28 }, 28 },
29 headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}, 29 headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
30 error: function (data) { 30 error: function (data) {
31 console.log('Error: ' + data); 31 console.log('Error: ' + data);
32 } 32 }
33 }); 33 });
34 34
35 }); 35 });
36 } 36 }
37 37
38 </script> 38 </script>
39 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> 39 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
40 40
41 <label class="block text-sm"> 41 <label class="block text-sm">
42 <span class="text-gray-700 dark:text-gray-400">URL страницы</span> 42 <span class="text-gray-700 dark:text-gray-400">URL страницы</span>
43 <input name="url" id="url" 43 <input name="url" id="url"
44 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 44 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
45 placeholder="URL страницы" value="{{ old('url') ?? $page->url ?? '' }}" 45 placeholder="URL страницы" value="{{ old('url') ?? $page->url ?? '' }}"
46 /> 46 />
47 @error('url') 47 @error('url')
48 <span class="text-xs text-red-600 dark:text-red-400"> 48 <span class="text-xs text-red-600 dark:text-red-400">
49 {{ $message }} 49 {{ $message }}
50 </span> 50 </span>
51 @enderror 51 @enderror
52 </label> 52 </label>
53 <div style="margin-top: 10px;"> 53 <div style="margin-top: 10px;">
54 <a id="GetMetaData" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" style="margin-top:10px;">Получить мета-данные</a><br><br> 54 <a id="GetMetaData" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" style="margin-top:10px;">Получить мета-данные</a><br><br>
55 </div> 55 </div>
56 <label class="block text-sm"> 56 <label class="block text-sm">
57 <span class="text-gray-700 dark:text-gray-400">Заголовок страницы (meta title)</span> 57 <span class="text-gray-700 dark:text-gray-400">Заголовок страницы (meta title)</span>
58 <input name="title" id="title" 58 <input name="title" id="title"
59 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 59 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
60 placeholder="Заголовок страницы" value="{{ old('title') ?? $page->title ?? '' }}" 60 placeholder="Заголовок страницы" value="{{ old('title') ?? $page->title ?? '' }}"
61 /> 61 />
62 @error('title') 62 @error('title')
63 <span class="text-xs text-red-600 dark:text-red-400"> 63 <span class="text-xs text-red-600 dark:text-red-400">
64 {{ $message }} 64 {{ $message }}
65 </span> 65 </span>
66 @enderror 66 @enderror
67 </label><br> 67 </label><br>
68 68
69 <label class="block text-sm"> 69 <label class="block text-sm">
70 <span class="text-gray-700 dark:text-gray-400">Описание (meta description)</span> 70 <span class="text-gray-700 dark:text-gray-400">Описание (meta description)</span>
71 <textarea class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 71 <textarea class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
72 name="description" id="description" placeholder="Описание" required 72 name="description" id="description" placeholder="Описание" required
73 rows="3">{{ old('description') ?? $page->description ?? '' }}</textarea> 73 rows="3">{{ old('description') ?? $page->description ?? '' }}</textarea>
74 @error('description') 74 @error('description')
75 <span class="text-xs text-red-600 dark:text-red-400"> 75 <span class="text-xs text-red-600 dark:text-red-400">
76 {{ $message }} 76 {{ $message }}
77 </span> 77 </span>
78 @enderror 78 @enderror
79 </label><br> 79 </label><br>
80 80
81 <label class="block text-sm"> 81 <label class="block text-sm">
82 <span class="text-gray-700 dark:text-gray-400">Ключевые слова (meta keywords)</span> 82 <span class="text-gray-700 dark:text-gray-400">Ключевые слова (meta keywords)</span>
83 <textarea class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 83 <textarea class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
84 name="keywords" id="keywords" placeholder="Описание" required 84 name="keywords" id="keywords" placeholder="Описание" required
85 rows="3">{{ old('keywords') ?? $page->keywords ?? '' }}</textarea> 85 rows="3">{{ old('keywords') ?? $page->keywords ?? '' }}</textarea>
86 @error('keywords') 86 @error('keywords')
87 <span class="text-xs text-red-600 dark:text-red-400"> 87 <span class="text-xs text-red-600 dark:text-red-400">
88 {{ $message }} 88 {{ $message }}
89 </span> 89 </span>
90 @enderror 90 @enderror
91 </label><br> 91 </label><br>
92 92
93 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> 93 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
94 <div> 94 <div>
95 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 95 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
96 Сохранить 96 Сохранить
97 </button> 97 </button>
98 <a href="{{ route('admin.editor-seo') }}"
99 class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
100 style="display: -webkit-inline-box; height: 30px!important;"
101 >Назад</a>
98 </div> 102 </div>
99 </div> 103 </div>
100 </div> 104 </div>
101 105
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', '.check_click', 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 field = this_.attr('data-field');
10 var ajax_block = $('#ajax_block'); 10 var ajax_block = $('#ajax_block');
11 var bool = 0; 11 var bool = 0;
12 var str_get = ''; 12 var str_get = '';
13 13
14 if(this.checked){ 14 if(this.checked){
15 bool = 1; 15 bool = 1;
16 } else { 16 } else {
17 bool = 0; 17 bool = 0;
18 } 18 }
19 console.log(field); 19 console.log(field);
20 str_get = "id=" + value + "&" + field + "=" + bool; 20 str_get = "id=" + value + "&" + field + "=" + bool;
21 console.log(str_get); 21 console.log(str_get);
22 22
23 $.ajax({ 23 $.ajax({
24 type: "GET", 24 type: "GET",
25 url: "{{ url()->full()}}", 25 url: "{{ url()->full()}}",
26 data: str_get, 26 data: str_get,
27 success: function (data) { 27 success: function (data) {
28 console.log('Обновление таблицы пользователей '); 28 console.log('Обновление таблицы пользователей ');
29 //data = JSON.parse(data); 29 //data = JSON.parse(data);
30 //console.log(data); 30 //console.log(data);
31 ajax_block.html(data); 31 ajax_block.html(data);
32 }, 32 },
33 headers: { 33 headers: {
34 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 34 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
35 }, 35 },
36 error: function (data) { 36 error: function (data) {
37 console.log('Error: ' + data); 37 console.log('Error: ' + data);
38 } 38 }
39 }); 39 });
40 }); 40 });
41 }); 41 });
42 </script> 42 </script>
43 @endsection 43 @endsection
44 44
45 @section('search') 45 @section('search')
46 @include('admin.find') 46 @include('admin.find')
47 @endsection 47 @endsection
48 48
49 @section('content') 49 @section('content')
50 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block"> 50 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block">
51 <div class="w-full overflow-x-auto"> 51 <div class="w-full overflow-x-auto">
52 <table class="w-full whitespace-no-wrap"> 52 <table class="w-full whitespace-no-wrap">
53 <thead> 53 <thead>
54 <tr 54 <tr
55 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" 55 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"
56 > 56 >
57 <th class="px-4 py-3">№</th> 57 <th class="px-4 py-3">№</th>
58 <th class="px-4 py-3">Имя</th> 58 <th class="px-4 py-3">Имя</th>
59 <th class="px-4 py-3">Email/логин</th> 59 <th class="px-4 py-3">Email/логин</th>
60 <th class="px-4 py-3">Работодатель/работник/администратор</th> 60 <th class="px-4 py-3">Работодатель/работник/администратор</th>
61 <th class="px-4 py-3">Бан</th> 61 <th class="px-4 py-3">Бан</th>
62 <th class="px-4 py-3">Новый</th> 62 <th class="px-4 py-3">Новый</th>
63 @if ($id_admin == 1) 63 @if ($id_admin == 1)
64 <th class="px-4 py-3">Админ</th> 64 <th class="px-4 py-3">Админ</th>
65 @endif 65 @endif
66 <th class="px-4 py-3">Дата регистрации</th> 66 <th class="px-4 py-3">Дата регистрации</th>
67 </tr> 67 </tr>
68 </thead> 68 </thead>
69 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 69 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
70 @foreach($users as $user) 70 @foreach($users as $user)
71 <tr class="text-gray-700 dark:text-gray-400"> 71 <tr class="text-gray-700 dark:text-gray-400">
72 <td class="px-4 py-3"> 72 <td class="px-4 py-3">
73 {{$user->id}} 73 {{$user->id}}
74 </td> 74 </td>
75 <td class="px-4 py-3"> 75 <td class="px-4 py-3">
76 <!--<div class="flex items-center text-sm"> 76 <!--<div class="flex items-center text-sm">
77 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block"> 77 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
78 <div 78 <div
79 class="absolute inset-0 rounded-full shadow-inner" 79 class="absolute inset-0 rounded-full shadow-inner"
80 aria-hidden="true" 80 aria-hidden="true"
81 ></div> 81 ></div>
82 </div> 82 </div>
83 <div> 83 <div>
84 <p class="font-semibold"><a href="{{ route('admin.users') }}">Пользователи</a></p> 84 <p class="font-semibold"><a href="{{ route('admin.users') }}">Пользователи</a></p>
85 <p class="text-xs text-gray-600 dark:text-gray-400"> 85 <p class="text-xs text-gray-600 dark:text-gray-400">
86 Все пользователи сайта 86 Все пользователи сайта
87 </p> 87 </p>
88 </div> 88 </div>
89 </div> 89 </div>
90 --> 90 -->
91 {{ $user->name }} 91 <a style="text-decoration: underline;" href="{{ route('admin.user-profile', ['user' => $user->id]) }}">{{ $user->name }}</a>
92 </td> 92 </td>
93 <td class="px-4 py-3 text-sm"> 93 <td class="px-4 py-3 text-sm">
94 {{ $user->email }} 94 {{ $user->email }}
95 </td> 95 </td>
96 <td class="px-4 py-3 text-xs"> 96 <td class="px-4 py-3 text-xs">
97 <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"> 97 <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">
98 @if ($user->is_worker) 98 @if ($user->is_worker)
99 Работник 99 Работник
100 @else 100 @else
101 Работодатель 101 Работодатель
102 @endif 102 @endif
103 </span> 103 </span>
104 @if ($user->admin) 104 @if ($user->admin)
105 <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"> 105 <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">
106 Администратор 106 Администратор
107 </span> 107 </span>
108 @endif 108 @endif
109 </td> 109 </td>
110 <td class="px-4 py-3 text-sm"> 110 <td class="px-4 py-3 text-sm">
111 @if ($user->id > 1) 111 @if ($user->id > 1)
112 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="is_ban" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/> 112 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="is_ban" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/>
113 @endif 113 @endif
114 </td> 114 </td>
115 115
116 <td class="px-4 py-3 text-sm"> 116 <td class="px-4 py-3 text-sm">
117 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="is_new" name="new_{{$user->id}}" {{ ($user->is_new) ? "checked" : "" }}/> 117 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="is_new" name="new_{{$user->id}}" {{ ($user->is_new) ? "checked" : "" }}/>
118 </td> 118 </td>
119 119
120 @if ($id_admin == 1) 120 @if ($id_admin == 1)
121 <td class="px-4 py-3 text-sm"> 121 <td class="px-4 py-3 text-sm">
122 @if ($user->id > 1) 122 @if ($user->id > 1)
123 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="admin" name="admin_{{$user->id}}" {{ ($user->admin) ? "checked" : "" }}/> 123 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="admin" name="admin_{{$user->id}}" {{ ($user->admin) ? "checked" : "" }}/>
124 @endif 124 @endif
125 </td> 125 </td>
126 @endif 126 @endif
127 127
128 <td class="px-4 py-3 text-sm"> 128 <td class="px-4 py-3 text-sm">
129 {{ $user->created_at }} 129 {{ $user->created_at }}
130 </td> 130 </td>
131 </tr> 131 </tr>
132 @endforeach 132 @endforeach
133 </tbody> 133 </tbody>
134 </table> 134 </table>
135 </div> 135 </div>
136 136
137 <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"> 137 <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">
138 <?//=$users->appends($_GET)->links('admin.pagginate'); ?> 138 <?//=$users->appends($_GET)->links('admin.pagginate'); ?>
139 <?=$users->links('admin.pagginate'); ?> 139 <?=$users->links('admin.pagginate'); ?>
140 </div> 140 </div>
141 141
142 142
143 <!--<div 143 <!--<div
144 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" 144 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"
145 > 145 >
146 <span class="flex items-center col-span-3"> 146 <span class="flex items-center col-span-3">
147 Showing 21-30 of 100 147 Showing 21-30 of 100
148 </span> 148 </span>
149 <span class="col-span-2"></span> 149 <span class="col-span-2"></span>
150 150
151 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end"> 151 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end">
152 <nav aria-label="Table navigation"> 152 <nav aria-label="Table navigation">
153 <ul class="inline-flex items-center"> 153 <ul class="inline-flex items-center">
154 <li> 154 <li>
155 <button 155 <button
156 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple" 156 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple"
157 aria-label="Previous" 157 aria-label="Previous"
158 > 158 >
159 <svg 159 <svg
160 aria-hidden="true" 160 aria-hidden="true"
161 class="w-4 h-4 fill-current" 161 class="w-4 h-4 fill-current"
162 viewBox="0 0 20 20" 162 viewBox="0 0 20 20"
163 > 163 >
164 <path 164 <path
165 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" 165 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"
166 clip-rule="evenodd" 166 clip-rule="evenodd"
167 fill-rule="evenodd" 167 fill-rule="evenodd"
168 ></path> 168 ></path>
169 </svg> 169 </svg>
170 </button> 170 </button>
171 </li> 171 </li>
172 <li> 172 <li>
173 <button 173 <button
174 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 174 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
175 > 175 >
176 1 176 1
177 </button> 177 </button>
178 </li> 178 </li>
179 <li> 179 <li>
180 <button 180 <button
181 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 181 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
182 > 182 >
183 2 183 2
184 </button> 184 </button>
185 </li> 185 </li>
186 <li> 186 <li>
187 <button 187 <button
188 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" 188 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"
189 > 189 >
190 3 190 3
191 </button> 191 </button>
192 </li> 192 </li>
193 <li> 193 <li>
194 <button 194 <button
195 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 195 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
196 > 196 >
197 4 197 4
198 </button> 198 </button>
199 </li> 199 </li>
200 <li> 200 <li>
201 <span class="px-3 py-1">...</span> 201 <span class="px-3 py-1">...</span>
202 </li> 202 </li>
203 <li> 203 <li>
204 <button 204 <button
205 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 205 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
206 > 206 >
207 8 207 8
208 </button> 208 </button>
209 </li> 209 </li>
210 <li> 210 <li>
211 <button 211 <button
212 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 212 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
213 > 213 >
214 9 214 9
215 </button> 215 </button>
216 </li> 216 </li>
217 <li> 217 <li>
218 <button 218 <button
219 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple" 219 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple"
220 aria-label="Next" 220 aria-label="Next"
221 > 221 >
222 <svg 222 <svg
223 class="w-4 h-4 fill-current" 223 class="w-4 h-4 fill-current"
224 aria-hidden="true" 224 aria-hidden="true"
225 viewBox="0 0 20 20" 225 viewBox="0 0 20 20"
226 > 226 >
227 <path 227 <path
228 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" 228 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"
229 clip-rule="evenodd" 229 clip-rule="evenodd"
230 fill-rule="evenodd" 230 fill-rule="evenodd"
231 ></path> 231 ></path>
232 </svg> 232 </svg>
233 </button> 233 </button>
234 </li> 234 </li>
235 </ul> 235 </ul>
236 </nav> 236 </nav>
237 </span> 237 </span>
238 </div>--> 238 </div>-->
239 </div> 239 </div>
240 240
241 <?//=$users->appends($_GET)->links('catalogs.paginate'); ?> 241 <?//=$users->appends($_GET)->links('catalogs.paginate'); ?>
242 242
243 243
244 @endsection 244 @endsection
245 245
resources/views/admin/users/profile.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Профиль '.$user->name]) 1 @extends('layout.admin', ['title' => 'Админка - Профиль '.$user->name])
2 2
3 @section('content') 3 @section('content')
4 <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"> 4 <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300">
5 Личные данные пользователя "{{$user->name}} ({{$user->id}})" 5 Личные данные пользователя "{{$user->name}} ({{$user->id}})"
6 </h4> 6 </h4>
7 <form method="POST" action=""> 7 <form method="POST" action="">
8 @csrf 8 @csrf
9 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> 9 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
10 <label class="block text-sm"> 10 <label class="block text-sm">
11 <span class="text-gray-700 dark:text-gray-400">Имя/Псевдоним/Имя компании</span> 11 <span class="text-gray-700 dark:text-gray-400">Имя/Псевдоним/Имя компании</span>
12 <input name="name" id="name" 12 <input name="name" id="name"
13 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 13 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
14 placeholder="Псевдоним для админки" value="{{ old('name') ?? $user->name ?? '' }}" 14 placeholder="Псевдоним для админки" value="{{ old('name') ?? $user->name ?? '' }}"
15 /> 15 />
16 @error('name') 16 @error('name')
17 <span class="text-xs text-red-600 dark:text-red-400"> 17 <span class="text-xs text-red-600 dark:text-red-400">
18 {{ $message }} 18 {{ $message }}
19 </span> 19 </span>
20 @enderror 20 @enderror
21 </label><br> 21 </label><br>
22 22
23 <!--<label class="block text-sm"> 23 <!--<label class="block text-sm">
24 <span class="text-gray-700 dark:text-gray-400">Email</span> 24 <span class="text-gray-700 dark:text-gray-400">Email</span>
25 <input name="email" id="email" 25 <input name="email" id="email"
26 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 26 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
27 placeholder="Почта" value="{{ old('email') ?? $user->email ?? '' }}" 27 placeholder="Почта" value="{{ old('email') ?? $user->email ?? '' }}"
28 /> 28 />
29 @error('email') 29 @error('email')
30 <span class="text-xs text-red-600 dark:text-red-400"> 30 <span class="text-xs text-red-600 dark:text-red-400">
31 {{ $message }} 31 {{ $message }}
32 </span> 32 </span>
33 @enderror 33 @enderror
34 </label><br>--> 34 </label><br>-->
35 35
36 <label class="block text-sm"> 36 <label class="block text-sm">
37 <span class="text-gray-700 dark:text-gray-400">Телефон</span> 37 <span class="text-gray-700 dark:text-gray-400">Телефон</span>
38 <input name="telephone" id="telephone" 38 <input name="telephone" id="telephone"
39 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 39 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
40 placeholder="Телефон" value="{{ old('telephone') ?? $user->telephone ?? '' }}" 40 placeholder="Телефон" value="{{ old('telephone') ?? $user->telephone ?? '' }}"
41 /> 41 />
42 @error('telephone') 42 @error('telephone')
43 <span class="text-xs text-red-600 dark:text-red-400"> 43 <span class="text-xs text-red-600 dark:text-red-400">
44 {{ $message }} 44 {{ $message }}
45 </span> 45 </span>
46 @enderror 46 @enderror
47 </label><br> 47 </label><br>
48 48
49 <label class="block text-sm"> 49 <label class="block text-sm">
50 <span class="text-gray-700 dark:text-gray-400">Фамилия</span> 50 <span class="text-gray-700 dark:text-gray-400">Фамилия</span>
51 <input name="surname" id="surname" 51 <input name="surname" id="surname"
52 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 52 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
53 placeholder="Фамилия" value="{{ old('surname') ?? $user->surname ?? '' }}" 53 placeholder="Фамилия" value="{{ old('surname') ?? $user->surname ?? '' }}"
54 /> 54 />
55 @error('surname') 55 @error('surname')
56 <span class="text-xs text-red-600 dark:text-red-400"> 56 <span class="text-xs text-red-600 dark:text-red-400">
57 {{ $message }} 57 {{ $message }}
58 </span> 58 </span>
59 @enderror 59 @enderror
60 </label><br> 60 </label><br>
61 61
62 <label class="block text-sm"> 62 <label class="block text-sm">
63 <span class="text-gray-700 dark:text-gray-400">Имя человека</span> 63 <span class="text-gray-700 dark:text-gray-400">Имя человека</span>
64 <input name="name_man" id="name_man" 64 <input name="name_man" id="name_man"
65 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 65 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
66 placeholder="Имя человека" value="{{ old('name_man') ?? $user->name_man ?? '' }}" 66 placeholder="Имя человека" value="{{ old('name_man') ?? $user->name_man ?? '' }}"
67 /> 67 />
68 @error('name_man') 68 @error('name_man')
69 <span class="text-xs text-red-600 dark:text-red-400"> 69 <span class="text-xs text-red-600 dark:text-red-400">
70 {{ $message }} 70 {{ $message }}
71 </span> 71 </span>
72 @enderror 72 @enderror
73 </label><br> 73 </label><br>
74 74
75 <label class="block text-sm"> 75 <label class="block text-sm">
76 <span class="text-gray-700 dark:text-gray-400">Отчество</span> 76 <span class="text-gray-700 dark:text-gray-400">Отчество</span>
77 <input name="surname2" id="surname2" 77 <input name="surname2" id="surname2"
78 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 78 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
79 placeholder="Отчество" value="{{ old('surname2') ?? $user->surname2 ?? '' }}" 79 placeholder="Отчество" value="{{ old('surname2') ?? $user->surname2 ?? '' }}"
80 /> 80 />
81 @error('surname2') 81 @error('surname2')
82 <span class="text-xs text-red-600 dark:text-red-400"> 82 <span class="text-xs text-red-600 dark:text-red-400">
83 {{ $message }} 83 {{ $message }}
84 </span> 84 </span>
85 @enderror 85 @enderror
86 </label><br> 86 </label><br>
87 87
88 88
89 89
90 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> 90 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
91 <div> 91 <div>
92 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 92 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
93 Сохранить 93 Сохранить
94 </button> 94 </button>
95 </div> 95 <a href="{{ route('admin.users') }}"
96 <div> 96 class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
97 style="display: -webkit-inline-box; height: 30px!important;"
98 >Назад</a>
97 @if ($visible==true) 99 @if ($visible==true)
98 <a href="{{$link}}" style="padding-bottom: 15px"> 100 <a href="{{$link}}"
99 {{ $caption }} 101 class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
100 </a> 102 style="display: -webkit-inline-box; height: 30px!important;">
103 {{ $caption }}
104 </a>
101 @endif 105 @endif
102 </div> 106 </div>
103 </div> 107 </div>
104 </div> 108 </div>
105 </form> 109 </form>
106 @endsection 110 @endsection
107 111
resources/views/admin/worker/edit.blade.php
1 <?php
2 use Illuminate\Support\Facades\Storage;
3 ?>
1 @extends('layout.admin', ['title' => 'Админка - Редактирование соискателя']) 4 @extends('layout.admin', ['title' => 'Админка - Редактирование соискателя'])
2 5
3 @section('content') 6 @section('content')
4 <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"> 7 <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300">
5 Соискатель-пользователь: "{{$worker->users->name_man}} ({{$worker->user_id}})" 8 Соискатель-пользователь: "{{$worker->users->surname}} {{$worker->users->name_man}} {{$worker->users->surname2}} ({{$worker->user_id}})"
6 </h4> 9 </h4>
7 <form method="POST" action=""> 10 <form method="POST" action="">
8 @csrf 11 @csrf
9 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> 12 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
10 <label class="block text-sm"> 13 <div class="tabs">
11 <span class="text-gray-700 dark:text-gray-400">Имя компании</span> 14 <input type="radio" name="tab-btn" id="tab-btn-1" value="" checked>
12 <input name="name_company" id="name_company" 15 <label for="tab-btn-1">Общие настройки</label>
13 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 16 <input type="radio" name="tab-btn" id="tab-btn-2" value="">
14 placeholder="Имя компании" value="{{ old('name_company') ?? $employer->name_company ?? '' }}" 17 <label for="tab-btn-2">Анкета</label>
15 /> 18 <!--<input type="radio" name="tab-btn" id="tab-btn-3" value="">
16 @error('name_company') 19 <label for="tab-btn-3">Вкладка 3</label>-->
17 <span class="text-xs text-red-600 dark:text-red-400"> 20 <div id="content-1">
18 {{ $message }} 21 <label class="block text-sm">
19 </span> 22 <span class="text-gray-700 dark:text-gray-400">Должность соискателя</span>
20 @enderror 23 <select name="position_work" id="position_work" class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray">
21 </label><br> 24 @foreach($job_titles as $job)
25 <option value="{{ $job->id }}"
26 @if($worker->position_work == $job->id)
27 selected
28 @endif
29 >{{ $job->name }} ({{ $job->id }})</option>
30 @endforeach
31 </select>
32 @error('position_work')
33 <span class="text-xs text-red-600 dark:text-red-400">
34 {{ $message }}
35 </span>
36 @enderror
37 </label><br>
22 38
23 <label class="block text-sm"> 39 <label class="block text-sm">
24 <span class="text-gray-700 dark:text-gray-400">Email</span> 40 <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Избранный кандидат </p>
25 <input name="email" id="email" 41 <input type="hidden" name="favorite_user" value="0" />
26 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 42 <input name="favorite_user" <? if ($worker->favorite_user) echo "checked";?>
27 placeholder="Почта" value="{{ old('email') ?? $worker->email ?? '' }}" 43 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray "
28 /> 44 placeholder="" type="checkbox" value="1"
29 @error('email') 45 /><br>
30 <span class="text-xs text-red-600 dark:text-red-400">
31 {{ $message }}
32 </span>
33 @enderror
34 </label><br>
35 46
36 <label class="block text-sm"> 47 <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Срочный кандидат</p>
37 <span class="text-gray-700 dark:text-gray-400">Телефон</span> 48 <input type="hidden" name="sroch_user" value="0" />
38 <input name="telephone" id="telephone" 49 <input name="sroch_user" id="sroch_user" <? if ($worker->sroch_user) echo "checked";?>
39 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 50 class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray "
40 placeholder="Телефон" value="{{ old('telephone') ?? $worker->telephone ?? '' }}" 51 placeholder="" type="checkbox" value="1"
41 /> 52 /><br>
42 @error('telephone')
43 <span class="text-xs text-red-600 dark:text-red-400">
44 {{ $message }}
45 </span>
46 @enderror
47 </label><br>
48 53
49 <label class="block text-sm"> 54 </label>
50 <span class="text-gray-700 dark:text-gray-400">Адрес</span>
51 <input name="address" id="address"
52 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
53 placeholder="Адрес" value="{{ old('address') ?? $worker->address ?? '' }}"
54 />
55 @error('address')
56 <span class="text-xs text-red-600 dark:text-red-400">
57 {{ $message }}
58 </span>
59 @enderror
60 </label><br>
61 55
62 <label class="block text-sm"> 56 <label class="block text-sm">
63 <span class="text-gray-700 dark:text-gray-400">Город</span> 57 <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Анкета действительна до <span style="color:#333">{{ $time_end_anketa }}</span></p>
64 <input name="city" id="city"
65 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
66 placeholder="Город" value="{{ old('city') ?? $worker->site ?? '' }}"
67 />
68 @error('city')
69 <span class="text-xs text-red-600 dark:text-red-400">
70 {{ $message }}
71 </span>
72 @enderror
73 </label><br>
74 58
75 <label class="block text-sm"> 59 </label><br>
76 <span class="text-gray-700 dark:text-gray-400">Фото</span> 60 </div>
61 <div id="content-2">
62 <label class="block text-sm">
63 <span class="text-gray-700 dark:text-gray-400">Email</span>
64 <input name="email" id="email"
65 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
66 placeholder="Почта" value="{{ old('email') ?? $worker->email ?? '' }}"
67 />
68 @error('email')
69 <span class="text-xs text-red-600 dark:text-red-400">
70 {{ $message }}
71 </span>
72 @enderror
73 </label><br>
77 74
78 <input name="photo" id="photo" type="file" 75 <label class="block text-sm">
79 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 76 <span class="text-gray-700 dark:text-gray-400">Телефон</span>
80 placeholder="Фото" value="" 77 <input name="telephone" id="telephone"
81 /> 78 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
82 @isset('photo') 79 placeholder="Телефон" value="{{ old('telephone') ?? $worker->telephone ?? '' }}"
83 <img src="<?=asset(Storage::url($worker->photo))?>" width="150"/> 80 />
84 @endisset 81 @error('telephone')
85 @error('logo') 82 <span class="text-xs text-red-600 dark:text-red-400">
86 <span class="text-xs text-red-600 dark:text-red-400"> 83 {{ $message }}
87 {{ $message }} 84 </span>
88 </span> 85 @enderror
89 @enderror 86 </label><br>
90 </label><br>
91 87
92 <label class="block text-sm"> 88 <label class="block text-sm">
93 <span class="text-gray-700 dark:text-gray-400">Согласие на обработку данных</span> 89 <span class="text-gray-700 dark:text-gray-400">Адрес</span>
94 <input name="email_data" id="email_data" <? if ($worker->email_data) echo "checked"; ?> 90 <input name="address" id="address"
95 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 91 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
96 placeholder="" 92 placeholder="Адрес" value="{{ old('address') ?? $worker->address ?? '' }}"
97 /> 93 />
98 @error('email_data') 94 @error('address')
99 <span class="text-xs text-red-600 dark:text-red-400"> 95 <span class="text-xs text-red-600 dark:text-red-400">
100 {{ $message }} 96 {{ $message }}
101 </span> 97 </span>
102 @enderror 98 @enderror
103 </label><br> 99 </label><br>
100
101 <label class="block text-sm">
102 <span class="text-gray-700 dark:text-gray-400">Город</span>
103 <input name="city" id="city"
104 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
105 placeholder="Город" value="{{ old('city') ?? $worker->city ?? '' }}"
106 />
107 @error('city')
108 <span class="text-xs text-red-600 dark:text-red-400">
109 {{ $message }}
110 </span>
111 @enderror
112 </label><br>
104 113
105 <label class="block mt-4 text-sm"> 114 <label class="block text-sm">
106 <span class="text-gray-700 dark:text-gray-400">Описание</span> 115 <span class="text-gray-700 dark:text-gray-400">Фото</span>
107 <textarea name="text" id="text"
108 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
109 rows="3"
110 placeholder="Описание компании"
111 >{{ old('text') ?? $worker->text ?? '' }}</textarea>
112 </label>
113 116
117 <input name="photo" id="photo" type="file"
118 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
119 placeholder="Фото" value=""
120 />
121 @isset($worker->photo)
122 <img src="<?=asset(Storage::url($worker->photo))?>" width="150"/>
123 @endisset
124 @error('logo')
125 <span class="text-xs text-red-600 dark:text-red-400">
126 {{ $message }}
127 </span>
128 @enderror
129 </label><br>
130
131 <label class="block text-sm">
132 <span class="text-gray-700 dark:text-gray-400">Согласие на рассылку</span>
133 <input type="hidden" name="email_data" value="0" />
134 <input name="email_data" id="email_data" @php if ($worker->email_data) echo "checked"; @endphp
135 placeholder=""
136 type="checkbox"
137 value="1"
138 />
139 </label>
140
141 <label class="block mt-4 text-sm">
142 <span class="text-gray-700 dark:text-gray-400">Об соискателе</span>
143 <textarea name="text" id="text"
144 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
145 rows="3"
146 placeholder="О соискателе"
147 >{{ old('text') ?? $worker->text ?? '' }}</textarea>
148 </label>
149 </div>
150 <div id="content-3">
151
152 </div>
153 </div><br>
114 154
115 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> 155 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
116 <div> 156 <div>
117 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 157 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
118 Сохранить 158 Сохранить
119 </button> 159 </button>
160 <a href="{{ route('admin.workers') }}"
161 class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
162 style="display: -webkit-inline-box; height: 30px!important;"
163 >Назад</a>
120 </div> 164 </div>
121 </div> 165 </div>
122 </div> 166 </div>
123 </form> 167 </form>
124 <!-- 168 <!--
125 <label class="block mt-4 text-sm"> 169 <label class="block mt-4 text-sm">
126 <span class="text-gray-700 dark:text-gray-400"> 170 <span class="text-gray-700 dark:text-gray-400">
127 Requested Limit 171 Requested Limit
128 </span> 172 </span>
129 <select 173 <select
130 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 174 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
131 > 175 >
132 <option>$1,000</option> 176 <option>$1,000</option>
133 <option>$5,000</option> 177 <option>$5,000</option>
134 <option>$10,000</option> 178 <option>$10,000</option>
135 <option>$25,000</option> 179 <option>$25,000</option>
136 </select> 180 </select>
137 </label> 181 </label>
138 182
139 <label class="block mt-4 text-sm"> 183 <label class="block mt-4 text-sm">
140 <span class="text-gray-700 dark:text-gray-400"> 184 <span class="text-gray-700 dark:text-gray-400">
141 Multiselect 185 Multiselect
142 </span> 186 </span>
143 <select 187 <select
144 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-multiselect focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 188 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-multiselect focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
145 multiple 189 multiple
146 > 190 >
147 <option>Option 1</option> 191 <option>Option 1</option>
148 <option>Option 2</option> 192 <option>Option 2</option>
149 <option>Option 3</option> 193 <option>Option 3</option>
150 <option>Option 4</option> 194 <option>Option 4</option>
151 <option>Option 5</option> 195 <option>Option 5</option>
152 </select> 196 </select>
153 </label> 197 </label>
154 198
155 <label class="block mt-4 text-sm"> 199 <label class="block mt-4 text-sm">
156 <span class="text-gray-700 dark:text-gray-400">Message</span> 200 <span class="text-gray-700 dark:text-gray-400">Message</span>
157 <textarea 201 <textarea
158 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 202 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
159 rows="3" 203 rows="3"
160 placeholder="Enter some long form content." 204 placeholder="Enter some long form content."
161 ></textarea> 205 ></textarea>
162 </label> 206 </label>
163 207
164 <div class="flex mt-6 text-sm"> 208 <div class="flex mt-6 text-sm">
165 <label class="flex items-center dark:text-gray-400"> 209 <label class="flex items-center dark:text-gray-400">
166 <input 210 <input
167 type="checkbox" 211 type="checkbox"
168 class="text-purple-600 form-checkbox focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" 212 class="text-purple-600 form-checkbox focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"
169 /> 213 />
170 <span class="ml-2"> 214 <span class="ml-2">
171 I agree to the 215 I agree to the
172 <span class="underline">privacy policy</span> 216 <span class="underline">privacy policy</span>
173 </span> 217 </span>
174 </label> 218 </label>
175 </div> 219 </div>
176 </div> 220 </div>
177 221
178 <!-- Validation inputs --> 222 <!-- Validation inputs -->
179 <!--<h4 223 <!--<h4
180 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" 224 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
181 > 225 >
182 Validation 226 Validation
183 </h4> 227 </h4>
184 <div 228 <div
185 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" 229 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
186 > 230 >
187 <!-- Invalid input --> 231 <!-- Invalid input -->
188 <!--<label class="block text-sm"> 232 <!--<label class="block text-sm">
189 <span class="text-gray-700 dark:text-gray-400"> 233 <span class="text-gray-700 dark:text-gray-400">
190 Invalid input 234 Invalid input
191 </span> 235 </span>
192 <input 236 <input
193 class="block w-full mt-1 text-sm border-red-600 dark:text-gray-300 dark:bg-gray-700 focus:border-red-400 focus:outline-none focus:shadow-outline-red form-input" 237 class="block w-full mt-1 text-sm border-red-600 dark:text-gray-300 dark:bg-gray-700 focus:border-red-400 focus:outline-none focus:shadow-outline-red form-input"
194 placeholder="Jane Doe" 238 placeholder="Jane Doe"
195 /> 239 />
196 <span class="text-xs text-red-600 dark:text-red-400"> 240 <span class="text-xs text-red-600 dark:text-red-400">
197 Your password is too short. 241 Your password is too short.
198 </span> 242 </span>
199 </label> 243 </label>
200 244
201 <!-- Valid input --> 245 <!-- Valid input -->
202 <!--<label class="block mt-4 text-sm"> 246 <!--<label class="block mt-4 text-sm">
203 <span class="text-gray-700 dark:text-gray-400"> 247 <span class="text-gray-700 dark:text-gray-400">
204 Valid input 248 Valid input
205 </span> 249 </span>
206 <input 250 <input
207 class="block w-full mt-1 text-sm border-green-600 dark:text-gray-300 dark:bg-gray-700 focus:border-green-400 focus:outline-none focus:shadow-outline-green form-input" 251 class="block w-full mt-1 text-sm border-green-600 dark:text-gray-300 dark:bg-gray-700 focus:border-green-400 focus:outline-none focus:shadow-outline-green form-input"
208 placeholder="Jane Doe" 252 placeholder="Jane Doe"
209 /> 253 />
210 <span class="text-xs text-green-600 dark:text-green-400"> 254 <span class="text-xs text-green-600 dark:text-green-400">
211 Your password is strong. 255 Your password is strong.
212 </span> 256 </span>
213 </label> 257 </label>
214 258
215 <!-- Helper text --> 259 <!-- Helper text -->
216 <!--<label class="block mt-4 text-sm"> 260 <!--<label class="block mt-4 text-sm">
217 <span class="text-gray-700 dark:text-gray-400"> 261 <span class="text-gray-700 dark:text-gray-400">
218 Helper text 262 Helper text
219 </span> 263 </span>
220 <input 264 <input
221 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 265 class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
222 placeholder="Jane Doe" 266 placeholder="Jane Doe"
223 /> 267 />
224 <span class="text-xs text-gray-600 dark:text-gray-400"> 268 <span class="text-xs text-gray-600 dark:text-gray-400">
225 Your password must be at least 6 characters long. 269 Your password must be at least 6 characters long.
226 </span> 270 </span>
227 </label> 271 </label>
228 </div> 272 </div>
229 273
230 <!-- Inputs with icons --> 274 <!-- Inputs with icons -->
231 <!--<h4 275 <!--<h4
232 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" 276 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
233 > 277 >
234 Icons 278 Icons
235 </h4> 279 </h4>
236 <div 280 <div
237 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" 281 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
238 > 282 >
239 <label class="block text-sm"> 283 <label class="block text-sm">
240 <span class="text-gray-700 dark:text-gray-400">Icon left</span> 284 <span class="text-gray-700 dark:text-gray-400">Icon left</span>
241 <!-- focus-within sets the color for the icon when input is focused --> 285 <!-- focus-within sets the color for the icon when input is focused -->
242 <!--<div 286 <!--<div
243 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400" 287 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400"
244 > 288 >
245 <input 289 <input
246 class="block w-full pl-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 290 class="block w-full pl-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
247 placeholder="Jane Doe" 291 placeholder="Jane Doe"
248 /> 292 />
249 <div 293 <div
250 class="absolute inset-y-0 flex items-center ml-3 pointer-events-none" 294 class="absolute inset-y-0 flex items-center ml-3 pointer-events-none"
251 > 295 >
252 <svg 296 <svg
253 class="w-5 h-5" 297 class="w-5 h-5"
254 aria-hidden="true" 298 aria-hidden="true"
255 fill="none" 299 fill="none"
256 stroke-linecap="round" 300 stroke-linecap="round"
257 stroke-linejoin="round" 301 stroke-linejoin="round"
258 stroke-width="2" 302 stroke-width="2"
259 viewBox="0 0 24 24" 303 viewBox="0 0 24 24"
260 stroke="currentColor" 304 stroke="currentColor"
261 > 305 >
262 <path 306 <path
263 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" 307 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"
264 ></path> 308 ></path>
265 </svg> 309 </svg>
266 </div> 310 </div>
267 </div> 311 </div>
268 </label> 312 </label>
269 313
270 <label class="block mt-4 text-sm"> 314 <label class="block mt-4 text-sm">
271 <span class="text-gray-700 dark:text-gray-400">Icon right</span> 315 <span class="text-gray-700 dark:text-gray-400">Icon right</span>
272 <!-- focus-within sets the color for the icon when input is focused --> 316 <!-- focus-within sets the color for the icon when input is focused -->
273 <!--<div 317 <!--<div
274 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400" 318 class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400"
275 > 319 >
276 <input 320 <input
277 class="block w-full pr-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" 321 class="block w-full pr-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input"
278 placeholder="Jane Doe" 322 placeholder="Jane Doe"
279 /> 323 />
280 <div 324 <div
281 class="absolute inset-y-0 right-0 flex items-center mr-3 pointer-events-none" 325 class="absolute inset-y-0 right-0 flex items-center mr-3 pointer-events-none"
282 > 326 >
283 <svg 327 <svg
284 class="w-5 h-5" 328 class="w-5 h-5"
285 aria-hidden="true" 329 aria-hidden="true"
286 fill="none" 330 fill="none"
287 stroke-linecap="round" 331 stroke-linecap="round"
288 stroke-linejoin="round" 332 stroke-linejoin="round"
289 stroke-width="2" 333 stroke-width="2"
290 viewBox="0 0 24 24" 334 viewBox="0 0 24 24"
291 stroke="currentColor" 335 stroke="currentColor"
292 > 336 >
293 <path 337 <path
294 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" 338 d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"
295 ></path> 339 ></path>
296 </svg> 340 </svg>
297 </div> 341 </div>
298 </div> 342 </div>
299 </label> 343 </label>
300 </div> 344 </div>
301 345
302 <!-- Inputs with buttons --> 346 <!-- Inputs with buttons -->
303 <!--<h4 347 <!--<h4
304 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" 348 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"
305 > 349 >
306 Buttons 350 Buttons
307 </h4> 351 </h4>
308 <div 352 <div
309 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" 353 class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
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') 41 @section('search')
42 @include('admin.find') 42 @include('admin.find')
43 @endsection 43 @endsection
44 44
45 @section('content') 45 @section('content')
46 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block"> 46 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block">
47 <div class="w-full overflow-x-auto"> 47 <div class="w-full overflow-x-auto">
48 <table class="w-full whitespace-no-wrap"> 48 <table class="w-full whitespace-no-wrap">
49 <thead> 49 <thead>
50 <tr 50 <tr
51 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" 51 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"
52 > 52 >
53 <th class="px-4 py-3">№</th> 53 <th class="px-4 py-3">№</th>
54 <th class="px-4 py-3">Имя</th> 54 <th class="px-4 py-3">Имя</th>
55 <th class="px-4 py-3">Email/Телефон</th> 55 <th class="px-4 py-3">Email/Телефон</th>
56 <th class="px-4 py-3">% заполнения анкеты</th> 56 <th class="px-4 py-3">% заполнения анкеты</th>
57 <th class="px-4 py-3">Дата регистрации</th> 57 <th class="px-4 py-3">Дата регистрации</th>
58 <th class="px-4 py-3">Изменить</th> 58 <th class="px-4 py-3">Изменить</th>
59 <th class="px-4 py-3">Бан</th> 59 <th class="px-4 py-3">Бан</th>
60 </tr> 60 </tr>
61 </thead> 61 </thead>
62 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 62 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
63 @foreach($users as $user) 63 @foreach($users as $user)
64 <tr class="text-gray-700 dark:text-gray-400"> 64 <tr class="text-gray-700 dark:text-gray-400">
65 <td class="px-4 py-3"> 65 <td class="px-4 py-3">
66 {{$user->id}} 66 {{$user->id}}
67 </td> 67 </td>
68 <td class="px-4 py-3"> 68 <td class="px-4 py-3">
69 {{ !empty($user->name_man) ? $user->name_man : $user->name }} 69 {{ !empty($user->name_man) ? $user->name_man : $user->name }}
70 </td> 70 </td>
71 <td class="px-4 py-3 text-sm"> 71 <td class="px-4 py-3 text-sm">
72 <div class="flex items-center text-sm"> 72 <div class="flex items-center text-sm">
73 <div> 73 <div>
74 <p class="font-semibold">{{ empty($user->workers->email) ? $user->email : $user->workers->email }}</p> 74 <p class="font-semibold">{{ empty($user->workers->email) ? $user->email : $user->workers->email }}</p>
75 <p class="text-xs text-gray-600 dark:text-gray-400"> 75 <p class="text-xs text-gray-600 dark:text-gray-400">
76 {{ empty($user->workers->telephone) ? $user->telephone : $user->workers->telephone }} 76 {{ empty($user->workers->telephone) ? $user->telephone : $user->workers->telephone }}
77 </p> 77 </p>
78 </div> 78 </div>
79 </div> 79 </div>
80 </td> 80 </td>
81 <td class="px-4 py-3 text-xs"> 81 <td class="px-4 py-3 text-xs">
82 @if (!empty($user->workers->persent_anketa)) 82 @if (!empty($user->workers->persent_anketa))
83 @if ($user->workers->persent_anketa > 40) 83 @if ($user->workers->persent_anketa > 40)
84 <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"> 84 <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">
85 {{$user->workers->persent_anketa}}% 85 {{$user->workers->persent_anketa}}%
86 </span> 86 </span>
87 @else 87 @else
88 <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"> 88 <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">
89 {{$user->workers->persent_anketa}}% 89 {{$user->workers->persent_anketa}}%
90 </span> 90 </span>
91 @endif 91 @endif
92 @else 92 @else
93 <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"> 93 <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">
94 10% 94 10%
95 </span> 95 </span>
96 @endif 96 @endif
97 </td> 97 </td>
98 <td class="px-4 py-3 text-sm"> 98 <td class="px-4 py-3 text-sm">
99 {{ $user->created_at }} 99 {{ $user->created_at }}
100 </td> 100 </td>
101 <td class="px-4 py-3 text-sm"> 101 <td class="px-4 py-3 text-sm">
102 @if ($user->id > 1) 102 @if ($user->id > 1)
103 <a href="{{ route('admin.user-profile', ['user' => $user->id]) }}">Изменить</a> 103 <a href="{{ route('admin.worker-profile-edit', ['worker' => $user->workers[0]->id]) }}">Изменить</a>
104 @endif 104 @endif
105 </td> 105 </td>
106 <td class="px-4 py-3 text-sm"> 106 <td class="px-4 py-3 text-sm">
107 @if ($user->id > 1) 107 @if ($user->id > 1)
108 <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/> 108 <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/>
109 @endif 109 @endif
110 </td> 110 </td>
111 </tr> 111 </tr>
112 @endforeach 112 @endforeach
113 </tbody> 113 </tbody>
114 </table> 114 </table>
115 </div> 115 </div>
116 116
117 <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"> 117 <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">
118 <?=$users->appends($_GET)->links('admin.pagginate'); ?> 118 <?=$users->appends($_GET)->links('admin.pagginate'); ?>
119 </div> 119 </div>
120 120
121 121
122 <!--<div 122 <!--<div
123 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" 123 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"
124 > 124 >
125 <span class="flex items-center col-span-3"> 125 <span class="flex items-center col-span-3">
126 Showing 21-30 of 100 126 Showing 21-30 of 100
127 </span> 127 </span>
128 <span class="col-span-2"></span> 128 <span class="col-span-2"></span>
129 129
130 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end"> 130 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end">
131 <nav aria-label="Table navigation"> 131 <nav aria-label="Table navigation">
132 <ul class="inline-flex items-center"> 132 <ul class="inline-flex items-center">
133 <li> 133 <li>
134 <button 134 <button
135 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple" 135 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple"
136 aria-label="Previous" 136 aria-label="Previous"
137 > 137 >
138 <svg 138 <svg
139 aria-hidden="true" 139 aria-hidden="true"
140 class="w-4 h-4 fill-current" 140 class="w-4 h-4 fill-current"
141 viewBox="0 0 20 20" 141 viewBox="0 0 20 20"
142 > 142 >
143 <path 143 <path
144 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" 144 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"
145 clip-rule="evenodd" 145 clip-rule="evenodd"
146 fill-rule="evenodd" 146 fill-rule="evenodd"
147 ></path> 147 ></path>
148 </svg> 148 </svg>
149 </button> 149 </button>
150 </li> 150 </li>
151 <li> 151 <li>
152 <button 152 <button
153 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 153 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
154 > 154 >
155 1 155 1
156 </button> 156 </button>
157 </li> 157 </li>
158 <li> 158 <li>
159 <button 159 <button
160 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 160 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
161 > 161 >
162 2 162 2
163 </button> 163 </button>
164 </li> 164 </li>
165 <li> 165 <li>
166 <button 166 <button
167 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" 167 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"
168 > 168 >
169 3 169 3
170 </button> 170 </button>
171 </li> 171 </li>
172 <li> 172 <li>
173 <button 173 <button
174 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 174 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
175 > 175 >
176 4 176 4
177 </button> 177 </button>
178 </li> 178 </li>
179 <li> 179 <li>
180 <span class="px-3 py-1">...</span> 180 <span class="px-3 py-1">...</span>
181 </li> 181 </li>
182 <li> 182 <li>
183 <button 183 <button
184 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 184 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
185 > 185 >
186 8 186 8
187 </button> 187 </button>
188 </li> 188 </li>
189 <li> 189 <li>
190 <button 190 <button
191 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 191 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
192 > 192 >
193 9 193 9
194 </button> 194 </button>
195 </li> 195 </li>
196 <li> 196 <li>
197 <button 197 <button
198 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple" 198 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple"
199 aria-label="Next" 199 aria-label="Next"
200 > 200 >
201 <svg 201 <svg
202 class="w-4 h-4 fill-current" 202 class="w-4 h-4 fill-current"
203 aria-hidden="true" 203 aria-hidden="true"
204 viewBox="0 0 20 20" 204 viewBox="0 0 20 20"
205 > 205 >
206 <path 206 <path
207 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" 207 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"
208 clip-rule="evenodd" 208 clip-rule="evenodd"
209 fill-rule="evenodd" 209 fill-rule="evenodd"
210 ></path> 210 ></path>
211 </svg> 211 </svg>
212 </button> 212 </button>
213 </li> 213 </li>
214 </ul> 214 </ul>
215 </nav> 215 </nav>
216 </span> 216 </span>
217 </div>--> 217 </div>-->
218 </div> 218 </div>
219 219
220 <?//=$users->appends($_GET)->links('catalogs.paginate'); ?> 220 <?//=$users->appends($_GET)->links('catalogs.paginate'); ?>
221 221
222 222
223 @endsection 223 @endsection
224 224
resources/views/admin/worker/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 {{ !empty($user->name_man) ? $user->name_man : $user->name }} 23 {{ !empty($user->name_man) ? $user->name_man : $user->name }}
24 </td> 24 </td>
25 <td class="px-4 py-3 text-sm"> 25 <td class="px-4 py-3 text-sm">
26 <div class="flex items-center text-sm"> 26 <div class="flex items-center text-sm">
27 <div> 27 <div>
28 <p class="font-semibold">{{ empty($user->workers->email) ? $user->email : $user->workers->email }}</p> 28 <p class="font-semibold">{{ empty($user->workers->email) ? $user->email : $user->workers->email }}</p>
29 <p class="text-xs text-gray-600 dark:text-gray-400"> 29 <p class="text-xs text-gray-600 dark:text-gray-400">
30 {{ empty($user->workers->telephone) ? $user->telephone : $user->workers->telephone }} 30 {{ empty($user->workers->telephone) ? $user->telephone : $user->workers->telephone }}
31 </p> 31 </p>
32 </div> 32 </div>
33 </div> 33 </div>
34 </td> 34 </td>
35 <td class="px-4 py-3 text-xs"> 35 <td class="px-4 py-3 text-xs">
36 @if (!empty($user->workers->persent_anketa)) 36 @if (!empty($user->workers->persent_anketa))
37 @if ($user->workers->persent_anketa > 40) 37 @if ($user->workers->persent_anketa > 40)
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"> 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">
39 {{$user->workers->persent_anketa}}% 39 {{$user->workers->persent_anketa}}%
40 </span> 40 </span>
41 @else 41 @else
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"> 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">
43 {{$user->workers->persent_anketa}}% 43 {{$user->workers->persent_anketa}}%
44 </span> 44 </span>
45 @endif 45 @endif
46 @else 46 @else
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"> 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">
48 10% 48 10%
49 </span> 49 </span>
50 @endif 50 @endif
51 </td> 51 </td>
52 <td class="px-4 py-3 text-sm"> 52 <td class="px-4 py-3 text-sm">
53 {{ $user->created_at }} 53 {{ $user->created_at }}
54 </td> 54 </td>
55 <td class="px-4 py-3 text-sm"> 55 <td class="px-4 py-3 text-sm">
56 @if ($user->id > 1) 56 @if ($user->id > 1)
57 <a href="{{ route('admin.user-profile', ['user' => $user->id]) }}">Изменить</a> 57 <a href="{{ route('admin.worker-profile-edit', ['worker' => $user->workers[0]->id]) }}">Изменить</a>
58 @endif 58 @endif
59 </td> 59 </td>
60 <td class="px-4 py-3 text-sm"> 60 <td class="px-4 py-3 text-sm">
61 @if ($user->id > 1) 61 @if ($user->id > 1)
62 <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/> 62 <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/>
63 @endif 63 @endif
64 </td> 64 </td>
65 </tr> 65 </tr>
66 @endforeach 66 @endforeach
67 </tbody> 67 </tbody>
68 </table> 68 </table>
69 </div> 69 </div>
70 70
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"> 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'); ?> 72 <?=$users->appends($_GET)->links('admin.pagginate'); ?>
73 </div> 73 </div>
74 74
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 <link rel="stylesheet" href="{{ asset('./assets/css/tabs.css')}}" /> 12 <link rel="stylesheet" href="{{ asset('./assets/css/tabs.css')}}" />
13 <script 13 <script
14 src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.min.js" 14 src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.min.js"
15 defer 15 defer
16 ></script> 16 ></script>
17 <script src="{{ asset('./assets/js/init-alpine.js') }}"></script> 17 <script src="{{ asset('./assets/js/init-alpine.js') }}"></script>
18 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.css"/> 18 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.css"/>
19 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js" defer></script> 19 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js" defer></script>
20 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 20 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
21 <script src="{{ asset('./assets/js/charts-lines.js') }}" defer></script> 21 <script src="{{ asset('./assets/js/charts-lines.js') }}" defer></script>
22 <script src="{{ asset('./assets/js/charts-pie.js') }}" defer></script> 22 <script src="{{ asset('./assets/js/charts-pie.js') }}" defer></script>
23 </head> 23 </head>
24 <body> 24 <body>
25 <div class="flex h-screen bg-gray-50 dark:bg-gray-900" :class="{ 'overflow-hidden': isSideMenuOpen }"> 25 <div class="flex h-screen bg-gray-50 dark:bg-gray-900" :class="{ 'overflow-hidden': isSideMenuOpen }">
26 <!-- Desktop sidebar --> 26 <!-- Desktop sidebar -->
27 <aside 27 <aside
28 class="z-20 hidden w-64 overflow-y-auto bg-white dark:bg-gray-800 md:block flex-shrink-0" 28 class="z-20 hidden w-64 overflow-y-auto bg-white dark:bg-gray-800 md:block flex-shrink-0"
29 > 29 >
30 <div class="py-4 text-gray-500 dark:text-gray-400"> 30 <div class="py-4 text-gray-500 dark:text-gray-400">
31 <a class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200" 31 <a class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200"
32 href="{{ route('admin.index') }}"> 32 href="{{ route('admin.index') }}">
33 Админка 33 Админка
34 </a> 34 </a>
35 <ul class="mt-6"> 35 <ul class="mt-6">
36 <li class="relative px-6 py-3"> 36 <li class="relative px-6 py-3">
37 <span 37 <span
38 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg" 38 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg"
39 aria-hidden="true" 39 aria-hidden="true"
40 ></span> 40 ></span>
41 <a 41 <a
42 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 class="inline-flex items-center w-full text-sm font-semibold text-gray-800 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 dark:text-gray-100"
43 href="{{ route('admin.index') }}" 43 href="{{ route('admin.index') }}"
44 > 44 >
45 <svg 45 <svg
46 class="w-5 h-5" 46 class="w-5 h-5"
47 aria-hidden="true" 47 aria-hidden="true"
48 fill="none" 48 fill="none"
49 stroke-linecap="round" 49 stroke-linecap="round"
50 stroke-linejoin="round" 50 stroke-linejoin="round"
51 stroke-width="2" 51 stroke-width="2"
52 viewBox="0 0 24 24" 52 viewBox="0 0 24 24"
53 stroke="currentColor" 53 stroke="currentColor"
54 > 54 >
55 <path 55 <path
56 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 d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"
57 ></path> 57 ></path>
58 </svg> 58 </svg>
59 <span class="ml-4">Главная страница</span> 59 <span class="ml-4">Главная страница</span>
60 </a> 60 </a>
61 </li> 61 </li>
62 </ul> 62 </ul>
63 <ul> 63 <ul>
64 <li class="relative px-6 py-3"> 64 <li class="relative px-6 py-3">
65 <a 65 <a
66 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 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
67 href="{{ route('admin.users') }}" 67 href="{{ route('admin.users') }}"
68 > 68 >
69 <svg 69 <svg
70 class="w-5 h-5" 70 class="w-5 h-5"
71 aria-hidden="true" 71 aria-hidden="true"
72 fill="none" 72 fill="none"
73 stroke-linecap="round" 73 stroke-linecap="round"
74 stroke-linejoin="round" 74 stroke-linejoin="round"
75 stroke-width="2" 75 stroke-width="2"
76 viewBox="0 0 24 24" 76 viewBox="0 0 24 24"
77 stroke="currentColor" 77 stroke="currentColor"
78 > 78 >
79 <path 79 <path
80 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 d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"
81 ></path> 81 ></path>
82 </svg> 82 </svg>
83 <span class="ml-4">Пользователи</span> 83 <span class="ml-4">Пользователи</span>
84 </a> 84 </a>
85 </li> 85 </li>
86 <li class="relative px-6 py-3"> 86 <li class="relative px-6 py-3">
87 <a 87 <a
88 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 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
89 href="{{ route('admin.employers') }}" 89 href="{{ route('admin.employers') }}"
90 > 90 >
91 <svg 91 <svg
92 class="w-5 h-5" 92 class="w-5 h-5"
93 aria-hidden="true" 93 aria-hidden="true"
94 fill="none" 94 fill="none"
95 stroke-linecap="round" 95 stroke-linecap="round"
96 stroke-linejoin="round" 96 stroke-linejoin="round"
97 stroke-width="2" 97 stroke-width="2"
98 viewBox="0 0 24 24" 98 viewBox="0 0 24 24"
99 stroke="currentColor" 99 stroke="currentColor"
100 > 100 >
101 <path 101 <path
102 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 d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"
103 ></path> 103 ></path>
104 </svg> 104 </svg>
105 <span class="ml-4">Работодатели</span> 105 <span class="ml-4">Работодатели</span>
106 </a> 106 </a>
107 </li> 107 </li>
108 <li class="relative px-6 py-3"> 108 <li class="relative px-6 py-3">
109 <a 109 <a
110 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 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
111 href="{{ route('admin.workers') }}" 111 href="{{ route('admin.workers') }}"
112 > 112 >
113 <svg 113 <svg
114 class="w-5 h-5" 114 class="w-5 h-5"
115 aria-hidden="true" 115 aria-hidden="true"
116 fill="none" 116 fill="none"
117 stroke-linecap="round" 117 stroke-linecap="round"
118 stroke-linejoin="round" 118 stroke-linejoin="round"
119 stroke-width="2" 119 stroke-width="2"
120 viewBox="0 0 24 24" 120 viewBox="0 0 24 24"
121 stroke="currentColor" 121 stroke="currentColor"
122 > 122 >
123 <path 123 <path
124 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 124 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
125 ></path> 125 ></path>
126 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 126 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
127 </svg> 127 </svg>
128 <span class="ml-4">Соискатели</span> 128 <span class="ml-4">Соискатели</span>
129 </a> 129 </a>
130 </li> 130 </li>
131 <li class="relative px-6 py-3"> 131 <li class="relative px-6 py-3">
132 <a 132 <a
133 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 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
134 href="{{ route('admin.ad-employers') }}" 134 href="{{ route('admin.ad-employers') }}"
135 > 135 >
136 <svg 136 <svg
137 class="w-5 h-5" 137 class="w-5 h-5"
138 aria-hidden="true" 138 aria-hidden="true"
139 fill="none" 139 fill="none"
140 stroke-linecap="round" 140 stroke-linecap="round"
141 stroke-linejoin="round" 141 stroke-linejoin="round"
142 stroke-width="2" 142 stroke-width="2"
143 viewBox="0 0 24 24" 143 viewBox="0 0 24 24"
144 stroke="currentColor" 144 stroke="currentColor"
145 > 145 >
146 <path 146 <path
147 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 d="M15 15l-2 5L9 9l11 4-5 2zm0 0l5 5M7.188 2.239l.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656l-2.12 2.122"
148 ></path> 148 ></path>
149 </svg> 149 </svg>
150 <span class="ml-4">Вакансии</span> 150 <span class="ml-4">Вакансии</span>
151 </a> 151 </a>
152 </li> 152 </li>
153 153
154 <li class="relative px-6 py-3"> 154 <li class="relative px-6 py-3">
155 <a 155 <a
156 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 156 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
157 href="{{ route('admin.messages') }}" 157 href="{{ route('admin.messages') }}"
158 > 158 >
159 <svg 159 <svg
160 class="w-5 h-5" 160 class="w-5 h-5"
161 aria-hidden="true" 161 aria-hidden="true"
162 fill="none" 162 fill="none"
163 stroke-linecap="round" 163 stroke-linecap="round"
164 stroke-linejoin="round" 164 stroke-linejoin="round"
165 stroke-width="2" 165 stroke-width="2"
166 viewBox="0 0 24 24" 166 viewBox="0 0 24 24"
167 stroke="currentColor" 167 stroke="currentColor"
168 > 168 >
169 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 169 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
170 </svg> 170 </svg>
171 <span class="ml-4">Сообщения</span> 171 <span class="ml-4">Сообщения</span>
172 </a> 172 </a>
173 </li> 173 </li>
174 <li class="relative px-6 py-3"> 174 <li class="relative px-6 py-3">
175 <a 175 <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" 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"
177 href="{{ route('admin.groups') }}" 177 href="{{ route('admin.groups') }}"
178 > 178 >
179 <svg 179 <svg
180 class="w-5 h-5" 180 class="w-5 h-5"
181 aria-hidden="true" 181 aria-hidden="true"
182 fill="none" 182 fill="none"
183 stroke-linecap="round" 183 stroke-linecap="round"
184 stroke-linejoin="round" 184 stroke-linejoin="round"
185 stroke-width="2" 185 stroke-width="2"
186 viewBox="0 0 24 24" 186 viewBox="0 0 24 24"
187 stroke="currentColor" 187 stroke="currentColor"
188 > 188 >
189 <path 189 <path
190 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 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"
191 ></path> 191 ></path>
192 </svg> 192 </svg>
193 <span class="ml-4">Группы пользователей</span> 193 <span class="ml-4">Группы пользователей</span>
194 </a> 194 </a>
195 </li> 195 </li>
196 <li class="relative px-6 py-3"> 196 <li class="relative px-6 py-3">
197 <a 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 <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"
198 href="{{ route('admin.roles') }}"> 198 href="{{ route('admin.roles') }}">
199 <svg 199 <svg
200 class="w-5 h-5" 200 class="w-5 h-5"
201 aria-hidden="true" 201 aria-hidden="true"
202 fill="none" 202 fill="none"
203 stroke-linecap="round" 203 stroke-linecap="round"
204 stroke-linejoin="round" 204 stroke-linejoin="round"
205 stroke-width="2" 205 stroke-width="2"
206 viewBox="0 0 24 24" 206 viewBox="0 0 24 24"
207 stroke="currentColor" 207 stroke="currentColor"
208 > 208 >
209 <path 209 <path
210 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 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"
211 ></path> 211 ></path>
212 </svg> 212 </svg>
213 <span class="ml-4">Роли пользователей</span> 213 <span class="ml-4">Роли пользователей</span>
214 </a> 214 </a>
215 </li> 215 </li>
216 <li class="relative px-6 py-3"> 216 <li class="relative px-6 py-3">
217 <a 217 <a
218 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 218 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
219 href="{{ route('admin.statics') }}" 219 href="{{ route('admin.statics') }}"
220 > 220 >
221 <svg 221 <svg
222 class="w-5 h-5" 222 class="w-5 h-5"
223 aria-hidden="true" 223 aria-hidden="true"
224 fill="none" 224 fill="none"
225 stroke-linecap="round" 225 stroke-linecap="round"
226 stroke-linejoin="round" 226 stroke-linejoin="round"
227 stroke-width="2" 227 stroke-width="2"
228 viewBox="0 0 24 24" 228 viewBox="0 0 24 24"
229 stroke="currentColor" 229 stroke="currentColor"
230 > 230 >
231 <path 231 <path
232 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 232 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
233 ></path> 233 ></path>
234 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 234 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
235 </svg> 235 </svg>
236 <span class="ml-4">Статистика</span> 236 <span class="ml-4">Статистика</span>
237 </a> 237 </a>
238 </li> 238 </li>
239 <li class="relative px-6 py-3"> 239 <li class="relative px-6 py-3">
240 <a 240 <a
241 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 241 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
242 href="{{ route('admin.answers') }}" 242 href="{{ route('admin.answers') }}"
243 > 243 >
244 <svg 244 <svg
245 class="w-5 h-5" 245 class="w-5 h-5"
246 aria-hidden="true" 246 aria-hidden="true"
247 fill="none" 247 fill="none"
248 stroke-linecap="round" 248 stroke-linecap="round"
249 stroke-linejoin="round" 249 stroke-linejoin="round"
250 stroke-width="2" 250 stroke-width="2"
251 viewBox="0 0 24 24" 251 viewBox="0 0 24 24"
252 stroke="currentColor" 252 stroke="currentColor"
253 > 253 >
254 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 254 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
255 </svg> 255 </svg>
256 <span class="ml-4">Модерация</span> 256 <span class="ml-4">Модерация</span>
257 </a> 257 </a>
258 </li> 258 </li>
259 <!-- Справочники --> 259 <!-- Справочники -->
260 <li class="relative px-6 py-3" x-data="{ open1: false }"> 260 <li class="relative px-6 py-3" x-data="{ open1: false }">
261 <button 261 <button
262 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" 262 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"
263 @click="open1=!open1" 263 @click="open1=!open1"
264 aria-haspopup="true"> 264 aria-haspopup="true">
265 <span class="inline-flex items-center"> 265 <span class="inline-flex items-center">
266 <svg 266 <svg
267 class="w-5 h-5" 267 class="w-5 h-5"
268 aria-hidden="true" 268 aria-hidden="true"
269 fill="none" 269 fill="none"
270 stroke-linecap="round" 270 stroke-linecap="round"
271 stroke-linejoin="round" 271 stroke-linejoin="round"
272 stroke-width="2" 272 stroke-width="2"
273 viewBox="0 0 24 24" 273 viewBox="0 0 24 24"
274 stroke="currentColor"> 274 stroke="currentColor">
275 <path 275 <path
276 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" 276 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"
277 ></path> 277 ></path>
278 </svg> 278 </svg>
279 <span class="ml-4">Справочники</span> 279 <span class="ml-4">Справочники</span>
280 </span> 280 </span>
281 <svg 281 <svg
282 class="w-4 h-4" 282 class="w-4 h-4"
283 aria-hidden="true" 283 aria-hidden="true"
284 fill="currentColor" 284 fill="currentColor"
285 viewBox="0 0 20 20" 285 viewBox="0 0 20 20"
286 > 286 >
287 <path 287 <path
288 fill-rule="evenodd" 288 fill-rule="evenodd"
289 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" 289 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"
290 clip-rule="evenodd" 290 clip-rule="evenodd"
291 ></path> 291 ></path>
292 </svg> 292 </svg>
293 </button> 293 </button>
294 <template x-if="open1"> 294 <template x-if="open1">
295 <ul 295 <ul
296 x-transition:enter="transition-all ease-in-out duration-300" 296 x-transition:enter="transition-all ease-in-out duration-300"
297 x-transition:enter-start="opacity-25 max-h-0" 297 x-transition:enter-start="opacity-25 max-h-0"
298 x-transition:enter-end="opacity-100 max-h-xl" 298 x-transition:enter-end="opacity-100 max-h-xl"
299 x-transition:leave="transition-all ease-in-out duration-300" 299 x-transition:leave="transition-all ease-in-out duration-300"
300 x-transition:leave-start="opacity-100 max-h-xl" 300 x-transition:leave-start="opacity-100 max-h-xl"
301 x-transition:leave-end="opacity-0 max-h-0" 301 x-transition:leave-end="opacity-0 max-h-0"
302 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" 302 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"
303 aria-label="submenu" 303 aria-label="submenu"
304 > 304 >
305 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 305 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
306 <a class="w-full" href="{{ route('admin.job-titles.index') }}">Должности</a> 306 <a class="w-full" href="{{ route('admin.job-titles.index') }}">Должности</a>
307 </li> 307 </li>
308 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 308 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
309 <a class="w-full" href="{{ route('admin.categories.index') }}">Категории</a> 309 <a class="w-full" href="{{ route('admin.categories.index') }}">Категории</a>
310 </li> 310 </li>
311 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 311 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
312 <a class="w-full" href="{{ route('admin.infobloks.index') }}">Блоки-Дипломы</a> 312 <a class="w-full" href="{{ route('admin.infobloks.index') }}">Блоки-Дипломы</a>
313 </li> 313 </li>
314 314
315 </ul> 315 </ul>
316 </template> 316 </template>
317 </li> 317 </li>
318 318
319 319
320 <!-- Редактор --> 320 <!-- Редактор -->
321 <li class="relative px-6 py-3"> 321 <li class="relative px-6 py-3">
322 <button 322 <button
323 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" 323 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"
324 @click="togglePagesMenu" 324 @click="togglePagesMenu"
325 aria-haspopup="true"> 325 aria-haspopup="true">
326 <span class="inline-flex items-center"> 326 <span class="inline-flex items-center">
327 <svg 327 <svg
328 class="w-5 h-5" 328 class="w-5 h-5"
329 aria-hidden="true" 329 aria-hidden="true"
330 fill="none" 330 fill="none"
331 stroke-linecap="round" 331 stroke-linecap="round"
332 stroke-linejoin="round" 332 stroke-linejoin="round"
333 stroke-width="2" 333 stroke-width="2"
334 viewBox="0 0 24 24" 334 viewBox="0 0 24 24"
335 stroke="currentColor"> 335 stroke="currentColor">
336 <path 336 <path
337 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" 337 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"
338 ></path> 338 ></path>
339 </svg> 339 </svg>
340 <span class="ml-4">Редактор</span> 340 <span class="ml-4">Редактор</span>
341 </span> 341 </span>
342 <svg 342 <svg
343 class="w-4 h-4" 343 class="w-4 h-4"
344 aria-hidden="true" 344 aria-hidden="true"
345 fill="currentColor" 345 fill="currentColor"
346 viewBox="0 0 20 20" 346 viewBox="0 0 20 20"
347 > 347 >
348 <path 348 <path
349 fill-rule="evenodd" 349 fill-rule="evenodd"
350 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" 350 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"
351 clip-rule="evenodd" 351 clip-rule="evenodd"
352 ></path> 352 ></path>
353 </svg> 353 </svg>
354 </button> 354 </button>
355 <template x-if="isPagesMenuOpen"> 355 <template x-if="isPagesMenuOpen">
356 <ul 356 <ul
357 x-transition:enter="transition-all ease-in-out duration-300" 357 x-transition:enter="transition-all ease-in-out duration-300"
358 x-transition:enter-start="opacity-25 max-h-0" 358 x-transition:enter-start="opacity-25 max-h-0"
359 x-transition:enter-end="opacity-100 max-h-xl" 359 x-transition:enter-end="opacity-100 max-h-xl"
360 x-transition:leave="transition-all ease-in-out duration-300" 360 x-transition:leave="transition-all ease-in-out duration-300"
361 x-transition:leave-start="opacity-100 max-h-xl" 361 x-transition:leave-start="opacity-100 max-h-xl"
362 x-transition:leave-end="opacity-0 max-h-0" 362 x-transition:leave-end="opacity-0 max-h-0"
363 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" 363 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"
364 aria-label="submenu" 364 aria-label="submenu"
365 > 365 >
366 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 366 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
367 <a class="w-full" href="{{ route('admin.editor-site') }}">Редактор сайта</a> 367 <a class="w-full" href="{{ route('admin.editor-site') }}">Редактор сайта</a>
368 </li> 368 </li>
369 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 369 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
370 <a class="w-full" href="{{ route('admin.edit-blocks') }}">Шапка-футер сайта</a> 370 <a class="w-full" href="{{ route('admin.edit-blocks') }}">Шапка-футер сайта</a>
371 </li> 371 </li>
372 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 372 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
373 <a class="w-full" href="{{ route('admin.reclames') }}">Реклама</a> 373 <a class="w-full" href="{{ route('admin.reclames') }}">Реклама</a>
374 </li> 374 </li>
375 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 375 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
376 <a class="w-full" href="{{ route('admin.editor-seo') }}">SEO сайта</a> 376 <a class="w-full" href="{{ route('admin.editor-seo') }}">SEO сайта</a>
377 </li> 377 </li>
378 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 378 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
379 <a class="w-full" href="{{ route('admin.editor-pages') }}">Редактор страниц</a> 379 <a class="w-full" href="{{ route('admin.editor-pages') }}">Редактор страниц</a>
380 </li> 380 </li>
381 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 381 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
382 <a class="w-full" href="{{ route('admin.job-titles-main') }}">Должности на главной</a> 382 <a class="w-full" href="{{ route('admin.job-titles-main') }}">Должности на главной</a>
383 </li> 383 </li>
384 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 384 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
385 <a class="w-full" href="{{ route('admin.employers-main') }}">Работодатели на главной</a> 385 <a class="w-full" href="{{ route('admin.employers-main') }}">Работодатели на главной</a>
386 </li> 386 </li>
387 </ul> 387 </ul>
388 </template> 388 </template>
389 </li> 389 </li>
390 390
391 </ul> 391 </ul>
392 <!--<div class="px-6 my-6"> 392 <!--<div class="px-6 my-6">
393 <button 393 <button
394 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" 394 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"
395 > 395 >
396 Create account 396 Create account
397 <span class="ml-2" aria-hidden="true">+</span> 397 <span class="ml-2" aria-hidden="true">+</span>
398 </button> 398 </button>
399 </div>--> 399 </div>-->
400 </div> 400 </div>
401 </aside> 401 </aside>
402 <!-- Mobile sidebar --> 402 <!-- Mobile sidebar -->
403 <!-- Backdrop --> 403 <!-- Backdrop -->
404 <div 404 <div
405 x-show="isSideMenuOpen" 405 x-show="isSideMenuOpen"
406 x-transition:enter="transition ease-in-out duration-150" 406 x-transition:enter="transition ease-in-out duration-150"
407 x-transition:enter-start="opacity-0" 407 x-transition:enter-start="opacity-0"
408 x-transition:enter-end="opacity-100" 408 x-transition:enter-end="opacity-100"
409 x-transition:leave="transition ease-in-out duration-150" 409 x-transition:leave="transition ease-in-out duration-150"
410 x-transition:leave-start="opacity-100" 410 x-transition:leave-start="opacity-100"
411 x-transition:leave-end="opacity-0" 411 x-transition:leave-end="opacity-0"
412 class="fixed inset-0 z-10 flex items-end bg-black bg-opacity-50 sm:items-center sm:justify-center" 412 class="fixed inset-0 z-10 flex items-end bg-black bg-opacity-50 sm:items-center sm:justify-center"
413 ></div> 413 ></div>
414 <aside 414 <aside
415 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" 415 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"
416 x-show="isSideMenuOpen" 416 x-show="isSideMenuOpen"
417 x-transition:enter="transition ease-in-out duration-150" 417 x-transition:enter="transition ease-in-out duration-150"
418 x-transition:enter-start="opacity-0 transform -translate-x-20" 418 x-transition:enter-start="opacity-0 transform -translate-x-20"
419 x-transition:enter-end="opacity-100" 419 x-transition:enter-end="opacity-100"
420 x-transition:leave="transition ease-in-out duration-150" 420 x-transition:leave="transition ease-in-out duration-150"
421 x-transition:leave-start="opacity-100" 421 x-transition:leave-start="opacity-100"
422 x-transition:leave-end="opacity-0 transform -translate-x-20" 422 x-transition:leave-end="opacity-0 transform -translate-x-20"
423 @click.away="closeSideMenu" 423 @click.away="closeSideMenu"
424 @keydown.escape="closeSideMenu" 424 @keydown.escape="closeSideMenu"
425 > 425 >
426 <div class="py-4 text-gray-500 dark:text-gray-400"> 426 <div class="py-4 text-gray-500 dark:text-gray-400">
427 <a 427 <a
428 class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200" 428 class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200"
429 href="{{ route('admin.index') }}" 429 href="{{ route('admin.index') }}"
430 > 430 >
431 Админка 431 Админка
432 </a> 432 </a>
433 <ul class="mt-6"> 433 <ul class="mt-6">
434 <li class="relative px-6 py-3"> 434 <li class="relative px-6 py-3">
435 <span 435 <span
436 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg" 436 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg"
437 aria-hidden="true" 437 aria-hidden="true"
438 ></span> 438 ></span>
439 <a 439 <a
440 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" 440 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"
441 href="{{ route('admin.index') }}" 441 href="{{ route('admin.index') }}"
442 > 442 >
443 <svg 443 <svg
444 class="w-5 h-5" 444 class="w-5 h-5"
445 aria-hidden="true" 445 aria-hidden="true"
446 fill="none" 446 fill="none"
447 stroke-linecap="round" 447 stroke-linecap="round"
448 stroke-linejoin="round" 448 stroke-linejoin="round"
449 stroke-width="2" 449 stroke-width="2"
450 viewBox="0 0 24 24" 450 viewBox="0 0 24 24"
451 stroke="currentColor" 451 stroke="currentColor"
452 > 452 >
453 <path 453 <path
454 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" 454 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"
455 ></path> 455 ></path>
456 </svg> 456 </svg>
457 <span class="ml-4">Главная страница</span> 457 <span class="ml-4">Главная страница</span>
458 </a> 458 </a>
459 </li> 459 </li>
460 </ul> 460 </ul>
461 <ul> 461 <ul>
462 <li class="relative px-6 py-3"> 462 <li class="relative px-6 py-3">
463 <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" 463 <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"
464 href="{{ route('admin.users') }}"> 464 href="{{ route('admin.users') }}">
465 <svg 465 <svg
466 class="w-5 h-5" 466 class="w-5 h-5"
467 aria-hidden="true" 467 aria-hidden="true"
468 fill="none" 468 fill="none"
469 stroke-linecap="round" 469 stroke-linecap="round"
470 stroke-linejoin="round" 470 stroke-linejoin="round"
471 stroke-width="2" 471 stroke-width="2"
472 viewBox="0 0 24 24" 472 viewBox="0 0 24 24"
473 stroke="currentColor" 473 stroke="currentColor"
474 > 474 >
475 <path 475 <path
476 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" 476 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"
477 ></path> 477 ></path>
478 </svg> 478 </svg>
479 <span class="ml-4">Пользователи</span> 479 <span class="ml-4">Пользователи</span>
480 </a> 480 </a>
481 </li> 481 </li>
482 <li class="relative px-6 py-3"> 482 <li class="relative px-6 py-3">
483 <a 483 <a
484 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 484 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 href="{{ route('admin.employers') }}" 485 href="{{ route('admin.employers') }}"
486 > 486 >
487 <svg 487 <svg
488 class="w-5 h-5" 488 class="w-5 h-5"
489 aria-hidden="true" 489 aria-hidden="true"
490 fill="none" 490 fill="none"
491 stroke-linecap="round" 491 stroke-linecap="round"
492 stroke-linejoin="round" 492 stroke-linejoin="round"
493 stroke-width="2" 493 stroke-width="2"
494 viewBox="0 0 24 24" 494 viewBox="0 0 24 24"
495 stroke="currentColor" 495 stroke="currentColor"
496 > 496 >
497 <path 497 <path
498 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" 498 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"
499 ></path> 499 ></path>
500 </svg> 500 </svg>
501 <span class="ml-4">Работодатели</span> 501 <span class="ml-4">Работодатели</span>
502 </a> 502 </a>
503 </li> 503 </li>
504 <li class="relative px-6 py-3"> 504 <li class="relative px-6 py-3">
505 <a 505 <a
506 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 506 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
507 href="{{ route('admin.workers') }}" 507 href="{{ route('admin.workers') }}"
508 > 508 >
509 <svg 509 <svg
510 class="w-5 h-5" 510 class="w-5 h-5"
511 aria-hidden="true" 511 aria-hidden="true"
512 fill="none" 512 fill="none"
513 stroke-linecap="round" 513 stroke-linecap="round"
514 stroke-linejoin="round" 514 stroke-linejoin="round"
515 stroke-width="2" 515 stroke-width="2"
516 viewBox="0 0 24 24" 516 viewBox="0 0 24 24"
517 stroke="currentColor" 517 stroke="currentColor"
518 > 518 >
519 <path 519 <path
520 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 520 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
521 ></path> 521 ></path>
522 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 522 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
523 </svg> 523 </svg>
524 <span class="ml-4">Соискатели</span> 524 <span class="ml-4">Соискатели</span>
525 </a> 525 </a>
526 </li> 526 </li>
527 <li class="relative px-6 py-3"> 527 <li class="relative px-6 py-3">
528 <a 528 <a
529 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 529 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 href="{{ route('admin.ad-employers') }}" 530 href="{{ route('admin.ad-employers') }}"
531 > 531 >
532 <svg 532 <svg
533 class="w-5 h-5" 533 class="w-5 h-5"
534 aria-hidden="true" 534 aria-hidden="true"
535 fill="none" 535 fill="none"
536 stroke-linecap="round" 536 stroke-linecap="round"
537 stroke-linejoin="round" 537 stroke-linejoin="round"
538 stroke-width="2" 538 stroke-width="2"
539 viewBox="0 0 24 24" 539 viewBox="0 0 24 24"
540 stroke="currentColor" 540 stroke="currentColor"
541 > 541 >
542 <path 542 <path
543 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" 543 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"
544 ></path> 544 ></path>
545 </svg> 545 </svg>
546 <span class="ml-4">Вакансии</span> 546 <span class="ml-4">Вакансии</span>
547 </a> 547 </a>
548 </li> 548 </li>
549 <li class="relative px-6 py-3"> 549 <li class="relative px-6 py-3">
550 <a 550 <a
551 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 551 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
552 href="{{ route('admin.messages') }}" 552 href="{{ route('admin.messages') }}"
553 > 553 >
554 <svg 554 <svg
555 class="w-5 h-5" 555 class="w-5 h-5"
556 aria-hidden="true" 556 aria-hidden="true"
557 fill="none" 557 fill="none"
558 stroke-linecap="round" 558 stroke-linecap="round"
559 stroke-linejoin="round" 559 stroke-linejoin="round"
560 stroke-width="2" 560 stroke-width="2"
561 viewBox="0 0 24 24" 561 viewBox="0 0 24 24"
562 stroke="currentColor" 562 stroke="currentColor"
563 > 563 >
564 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 564 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
565 </svg> 565 </svg>
566 <span class="ml-4">Сообщения</span> 566 <span class="ml-4">Сообщения</span>
567 </a> 567 </a>
568 </li> 568 </li>
569 <li class="relative px-6 py-3"> 569 <li class="relative px-6 py-3">
570 <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" 570 <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"
571 href="{{ route('admin.groups') }}"> 571 href="{{ route('admin.groups') }}">
572 <svg 572 <svg
573 class="w-5 h-5" 573 class="w-5 h-5"
574 aria-hidden="true" 574 aria-hidden="true"
575 fill="none" 575 fill="none"
576 stroke-linecap="round" 576 stroke-linecap="round"
577 stroke-linejoin="round" 577 stroke-linejoin="round"
578 stroke-width="2" 578 stroke-width="2"
579 viewBox="0 0 24 24" 579 viewBox="0 0 24 24"
580 stroke="currentColor" 580 stroke="currentColor"
581 > 581 >
582 <path 582 <path
583 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 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"
584 ></path> 584 ></path>
585 </svg> 585 </svg>
586 <span class="ml-4">Группы пользователей</span> 586 <span class="ml-4">Группы пользователей</span>
587 </a> 587 </a>
588 </li> 588 </li>
589 <li class="relative px-6 py-3"> 589 <li class="relative px-6 py-3">
590 <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" 590 <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"
591 href="{{ route('admin.roles') }}"> 591 href="{{ route('admin.roles') }}">
592 <svg 592 <svg
593 class="w-5 h-5" 593 class="w-5 h-5"
594 aria-hidden="true" 594 aria-hidden="true"
595 fill="none" 595 fill="none"
596 stroke-linecap="round" 596 stroke-linecap="round"
597 stroke-linejoin="round" 597 stroke-linejoin="round"
598 stroke-width="2" 598 stroke-width="2"
599 viewBox="0 0 24 24" 599 viewBox="0 0 24 24"
600 stroke="currentColor" 600 stroke="currentColor"
601 > 601 >
602 <path 602 <path
603 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" 603 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 ></path> 604 ></path>
605 </svg> 605 </svg>
606 <span class="ml-4">Роли пользователей</span> 606 <span class="ml-4">Роли пользователей</span>
607 </a> 607 </a>
608 </li> 608 </li>
609 <li class="relative px-6 py-3"> 609 <li class="relative px-6 py-3">
610 <a 610 <a
611 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 611 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
612 href="{{ route('admin.statics') }}" 612 href="{{ route('admin.statics') }}"
613 > 613 >
614 <svg 614 <svg
615 class="w-5 h-5" 615 class="w-5 h-5"
616 aria-hidden="true" 616 aria-hidden="true"
617 fill="none" 617 fill="none"
618 stroke-linecap="round" 618 stroke-linecap="round"
619 stroke-linejoin="round" 619 stroke-linejoin="round"
620 stroke-width="2" 620 stroke-width="2"
621 viewBox="0 0 24 24" 621 viewBox="0 0 24 24"
622 stroke="currentColor" 622 stroke="currentColor"
623 > 623 >
624 <path 624 <path
625 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 625 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
626 ></path> 626 ></path>
627 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 627 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
628 </svg> 628 </svg>
629 <span class="ml-4">Статистика</span> 629 <span class="ml-4">Статистика</span>
630 </a> 630 </a>
631 </li> 631 </li>
632 <li class="relative px-6 py-3"> 632 <li class="relative px-6 py-3">
633 <a 633 <a
634 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 634 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
635 href="{{ route('admin.messages') }}" 635 href="{{ route('admin.messages') }}"
636 > 636 >
637 <svg 637 <svg
638 class="w-5 h-5" 638 class="w-5 h-5"
639 aria-hidden="true" 639 aria-hidden="true"
640 fill="none" 640 fill="none"
641 stroke-linecap="round" 641 stroke-linecap="round"
642 stroke-linejoin="round" 642 stroke-linejoin="round"
643 stroke-width="2" 643 stroke-width="2"
644 viewBox="0 0 24 24" 644 viewBox="0 0 24 24"
645 stroke="currentColor" 645 stroke="currentColor"
646 > 646 >
647 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 647 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
648 </svg> 648 </svg>
649 <span class="ml-4">Сообщения</span> 649 <span class="ml-4">Сообщения</span>
650 </a> 650 </a>
651 </li> 651 </li>
652 <!-- Справочники --> 652 <!-- Справочники -->
653 <li class="relative px-6 py-3" x-data="{ open2: false }"> 653 <li class="relative px-6 py-3" x-data="{ open2: false }">
654 <button 654 <button
655 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" 655 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"
656 @click="open2=!open2" 656 @click="open2=!open2"
657 aria-haspopup="true"> 657 aria-haspopup="true">
658 <span class="inline-flex items-center"> 658 <span class="inline-flex items-center">
659 <svg 659 <svg
660 class="w-5 h-5" 660 class="w-5 h-5"
661 aria-hidden="true" 661 aria-hidden="true"
662 fill="none" 662 fill="none"
663 stroke-linecap="round" 663 stroke-linecap="round"
664 stroke-linejoin="round" 664 stroke-linejoin="round"
665 stroke-width="2" 665 stroke-width="2"
666 viewBox="0 0 24 24" 666 viewBox="0 0 24 24"
667 stroke="currentColor"> 667 stroke="currentColor">
668 <path 668 <path
669 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" 669 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"
670 ></path> 670 ></path>
671 </svg> 671 </svg>
672 <span class="ml-4">Справочники</span> 672 <span class="ml-4">Справочники</span>
673 </span> 673 </span>
674 <svg 674 <svg
675 class="w-4 h-4" 675 class="w-4 h-4"
676 aria-hidden="true" 676 aria-hidden="true"
677 fill="currentColor" 677 fill="currentColor"
678 viewBox="0 0 20 20" 678 viewBox="0 0 20 20"
679 > 679 >
680 <path 680 <path
681 fill-rule="evenodd" 681 fill-rule="evenodd"
682 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" 682 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"
683 clip-rule="evenodd" 683 clip-rule="evenodd"
684 ></path> 684 ></path>
685 </svg> 685 </svg>
686 </button> 686 </button>
687 <template x-if="open2"> 687 <template x-if="open2">
688 <ul 688 <ul
689 x-transition:enter="transition-all ease-in-out duration-300" 689 x-transition:enter="transition-all ease-in-out duration-300"
690 x-transition:enter-start="opacity-25 max-h-0" 690 x-transition:enter-start="opacity-25 max-h-0"
691 x-transition:enter-end="opacity-100 max-h-xl" 691 x-transition:enter-end="opacity-100 max-h-xl"
692 x-transition:leave="transition-all ease-in-out duration-300" 692 x-transition:leave="transition-all ease-in-out duration-300"
693 x-transition:leave-start="opacity-100 max-h-xl" 693 x-transition:leave-start="opacity-100 max-h-xl"
694 x-transition:leave-end="opacity-0 max-h-0" 694 x-transition:leave-end="opacity-0 max-h-0"
695 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" 695 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"
696 aria-label="submenu" 696 aria-label="submenu"
697 > 697 >
698 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 698 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
699 <a class="w-full" href="{{ route('admin.job-titles.index') }}">Должности</a> 699 <a class="w-full" href="{{ route('admin.job-titles.index') }}">Должности</a>
700 </li> 700 </li>
701 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 701 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
702 <a class="w-full" href="{{ route('admin.categories.index') }}">Категории</a> 702 <a class="w-full" href="{{ route('admin.categories.index') }}">Категории</a>
703 </li> 703 </li>
704 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 704 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
705 <a class="w-full" href="{{ route('admin.infobloks.index') }}">Блоки-Дипломы</a> 705 <a class="w-full" href="{{ route('admin.infobloks.index') }}">Блоки-Дипломы</a>
706 </li> 706 </li>
707 707
708 </ul> 708 </ul>
709 </template> 709 </template>
710 </li> 710 </li>
711 711
712 712
713 <!-- Редактор --> 713 <!-- Редактор -->
714 <li class="relative px-6 py-3"> 714 <li class="relative px-6 py-3">
715 <button 715 <button
716 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" 716 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"
717 @click="togglePagesMenu" 717 @click="togglePagesMenu"
718 aria-haspopup="true" 718 aria-haspopup="true"
719 > 719 >
720 <span class="inline-flex items-center"> 720 <span class="inline-flex items-center">
721 <svg 721 <svg
722 class="w-5 h-5" 722 class="w-5 h-5"
723 aria-hidden="true" 723 aria-hidden="true"
724 fill="none" 724 fill="none"
725 stroke-linecap="round" 725 stroke-linecap="round"
726 stroke-linejoin="round" 726 stroke-linejoin="round"
727 stroke-width="2" 727 stroke-width="2"
728 viewBox="0 0 24 24" 728 viewBox="0 0 24 24"
729 stroke="currentColor" 729 stroke="currentColor"
730 > 730 >
731 <path 731 <path
732 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" 732 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"
733 ></path> 733 ></path>
734 </svg> 734 </svg>
735 <span class="ml-4">Редактор</span> 735 <span class="ml-4">Редактор</span>
736 </span> 736 </span>
737 <svg 737 <svg
738 class="w-4 h-4" 738 class="w-4 h-4"
739 aria-hidden="true" 739 aria-hidden="true"
740 fill="currentColor" 740 fill="currentColor"
741 viewBox="0 0 20 20" 741 viewBox="0 0 20 20"
742 > 742 >
743 <path 743 <path
744 fill-rule="evenodd" 744 fill-rule="evenodd"
745 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" 745 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"
746 clip-rule="evenodd" 746 clip-rule="evenodd"
747 ></path> 747 ></path>
748 </svg> 748 </svg>
749 </button> 749 </button>
750 <template x-if="isPagesMenuOpen"> 750 <template x-if="isPagesMenuOpen">
751 <ul 751 <ul
752 x-transition:enter="transition-all ease-in-out duration-300" 752 x-transition:enter="transition-all ease-in-out duration-300"
753 x-transition:enter-start="opacity-25 max-h-0" 753 x-transition:enter-start="opacity-25 max-h-0"
754 x-transition:enter-end="opacity-100 max-h-xl" 754 x-transition:enter-end="opacity-100 max-h-xl"
755 x-transition:leave="transition-all ease-in-out duration-300" 755 x-transition:leave="transition-all ease-in-out duration-300"
756 x-transition:leave-start="opacity-100 max-h-xl" 756 x-transition:leave-start="opacity-100 max-h-xl"
757 x-transition:leave-end="opacity-0 max-h-0" 757 x-transition:leave-end="opacity-0 max-h-0"
758 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" 758 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"
759 aria-label="submenu" 759 aria-label="submenu"
760 > 760 >
761 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 761 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
762 <a class="w-full" href="{{ route('admin.editor-site') }}">Редактор сайта</a> 762 <a class="w-full" href="{{ route('admin.editor-site') }}">Редактор сайта</a>
763 </li> 763 </li>
764 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 764 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
765 <a class="w-full" href="{{ route('admin.edit-blocks') }}">Шапка-футер сайта</a> 765 <a class="w-full" href="{{ route('admin.edit-blocks') }}">Шапка-футер сайта</a>
766 </li> 766 </li>
767 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 767 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
768 <a class="w-full" href="{{ route('admin.reclames') }}">Реклама</a> 768 <a class="w-full" href="{{ route('admin.reclames') }}">Реклама</a>
769 </li> 769 </li>
770 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 770 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
771 <a class="w-full" href="{{ route('admin.editor-seo') }}">SEO сайта</a> 771 <a class="w-full" href="{{ route('admin.editor-seo') }}">SEO сайта</a>
772 </li> 772 </li>
773 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 773 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
774 <a class="w-full" href="{{ route('admin.editor-pages') }}">Редактор страниц</a> 774 <a class="w-full" href="{{ route('admin.editor-pages') }}">Редактор страниц</a>
775 </li> 775 </li>
776 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 776 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
777 <a class="w-full" href="{{ route('admin.job-titles-main') }}">Должности на главной</a> 777 <a class="w-full" href="{{ route('admin.job-titles-main') }}">Должности на главной</a>
778 </li> 778 </li>
779 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"> 779 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200">
780 <a class="w-full" href="{{ route('admin.employers-main') }}">Работодатели на главной</a> 780 <a class="w-full" href="{{ route('admin.employers-main') }}">Работодатели на главной</a>
781 </li> 781 </li>
782 782
783 </ul> 783 </ul>
784 </template> 784 </template>
785 </li> 785 </li>
786 </ul> 786 </ul>
787 <!--<div class="px-6 my-6"> 787 <!--<div class="px-6 my-6">
788 <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"> 788 <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">
789 Create account 789 Create account
790 <span class="ml-2" aria-hidden="true">+</span> 790 <span class="ml-2" aria-hidden="true">+</span>
791 </button> 791 </button>
792 </div>--> 792 </div>-->
793 </div> 793 </div>
794 </aside> 794 </aside>
795 <div class="flex flex-col flex-1 w-full"> 795 <div class="flex flex-col flex-1 w-full">
796 <header class="z-10 py-4 bg-white shadow-md dark:bg-gray-800"> 796 <header class="z-10 py-4 bg-white shadow-md dark:bg-gray-800">
797 <div 797 <div
798 class="container flex items-center justify-between h-full px-6 mx-auto text-purple-600 dark:text-purple-300" 798 class="container flex items-center justify-between h-full px-6 mx-auto text-purple-600 dark:text-purple-300"
799 > 799 >
800 <!-- Mobile hamburger --> 800 <!-- Mobile hamburger -->
801 <button 801 <button
802 class="p-1 mr-5 -ml-1 rounded-md md:hidden focus:outline-none focus:shadow-outline-purple" 802 class="p-1 mr-5 -ml-1 rounded-md md:hidden focus:outline-none focus:shadow-outline-purple"
803 @click="toggleSideMenu" 803 @click="toggleSideMenu"
804 aria-label="Menu" 804 aria-label="Menu"
805 > 805 >
806 <svg 806 <svg
807 class="w-6 h-6" 807 class="w-6 h-6"
808 aria-hidden="true" 808 aria-hidden="true"
809 fill="currentColor" 809 fill="currentColor"
810 viewBox="0 0 20 20" 810 viewBox="0 0 20 20"
811 > 811 >
812 <path 812 <path
813 fill-rule="evenodd" 813 fill-rule="evenodd"
814 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" 814 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"
815 clip-rule="evenodd" 815 clip-rule="evenodd"
816 ></path> 816 ></path>
817 </svg> 817 </svg>
818 </button> 818 </button>
819 <!-- Search input --> 819 <!-- Search input -->
820 <div class="flex justify-center flex-1 lg:mr-32"> 820 <div class="flex justify-center flex-1 lg:mr-32">
821 <div 821 <div
822 class="relative w-full max-w-xl mr-6 focus-within:text-purple-500" 822 class="relative w-full max-w-xl mr-6 focus-within:text-purple-500"
823 > 823 >
824 824
825 @yield('search') 825 @yield('search')
826 </div> 826 </div>
827 </div> 827 </div>
828 <ul class="flex items-center flex-shrink-0 space-x-6"> 828 <ul class="flex items-center flex-shrink-0 space-x-6">
829 <!-- Theme toggler --> 829 <!-- Theme toggler -->
830 <li class="flex"> 830 <li class="flex">
831 <button 831 <button
832 class="rounded-md focus:outline-none focus:shadow-outline-purple" 832 class="rounded-md focus:outline-none focus:shadow-outline-purple"
833 @click="toggleTheme" 833 @click="toggleTheme"
834 aria-label="Toggle color mode" 834 aria-label="Toggle color mode"
835 > 835 >
836 <template x-if="!dark"> 836 <template x-if="!dark">
837 <svg 837 <svg
838 class="w-5 h-5" 838 class="w-5 h-5"
839 aria-hidden="true" 839 aria-hidden="true"
840 fill="currentColor" 840 fill="currentColor"
841 viewBox="0 0 20 20" 841 viewBox="0 0 20 20"
842 > 842 >
843 <path 843 <path
844 d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z" 844 d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"
845 ></path> 845 ></path>
846 </svg> 846 </svg>
847 </template> 847 </template>
848 <template x-if="dark"> 848 <template x-if="dark">
849 <svg 849 <svg
850 class="w-5 h-5" 850 class="w-5 h-5"
851 aria-hidden="true" 851 aria-hidden="true"
852 fill="currentColor" 852 fill="currentColor"
853 viewBox="0 0 20 20" 853 viewBox="0 0 20 20"
854 > 854 >
855 <path 855 <path
856 fill-rule="evenodd" 856 fill-rule="evenodd"
857 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" 857 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"
858 clip-rule="evenodd" 858 clip-rule="evenodd"
859 ></path> 859 ></path>
860 </svg> 860 </svg>
861 </template> 861 </template>
862 </button> 862 </button>
863 </li> 863 </li>
864 <!-- Notifications menu --> 864 <!-- Notifications menu -->
865 <li class="relative"> 865 <li class="relative">
866 <button 866 <button
867 class="relative align-middle rounded-md focus:outline-none focus:shadow-outline-purple" 867 class="relative align-middle rounded-md focus:outline-none focus:shadow-outline-purple"
868 @click="toggleNotificationsMenu" 868 @click="toggleNotificationsMenu"
869 @keydown.escape="closeNotificationsMenu" 869 @keydown.escape="closeNotificationsMenu"
870 aria-label="Notifications" 870 aria-label="Notifications"
871 aria-haspopup="true" 871 aria-haspopup="true"
872 > 872 >
873 <svg 873 <svg
874 class="w-5 h-5" 874 class="w-5 h-5"
875 aria-hidden="true" 875 aria-hidden="true"
876 fill="currentColor" 876 fill="currentColor"
877 viewBox="0 0 20 20" 877 viewBox="0 0 20 20"
878 > 878 >
879 <path 879 <path
880 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" 880 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"
881 ></path> 881 ></path>
882 </svg> 882 </svg>
883 <!-- Notification badge --> 883 <!-- Notification badge -->
884 <span 884 <span
885 aria-hidden="true" 885 aria-hidden="true"
886 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" 886 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"
887 ></span> 887 ></span>
888 </button> 888 </button>
889 <template x-if="isNotificationsMenuOpen"> 889 <template x-if="isNotificationsMenuOpen">
890 <ul 890 <ul
891 x-transition:leave="transition ease-in duration-150" 891 x-transition:leave="transition ease-in duration-150"
892 x-transition:leave-start="opacity-100" 892 x-transition:leave-start="opacity-100"
893 x-transition:leave-end="opacity-0" 893 x-transition:leave-end="opacity-0"
894 @click.away="closeNotificationsMenu" 894 @click.away="closeNotificationsMenu"
895 @keydown.escape="closeNotificationsMenu" 895 @keydown.escape="closeNotificationsMenu"
896 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" 896 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"
897 > 897 >
898 <li class="flex"> 898 <li class="flex">
899 <a 899 <a
900 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" 900 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"
901 href="{{ route('admin.admin-messages') }}" 901 href="{{ route('admin.admin-messages') }}"
902 > 902 >
903 <span>Сообщения</span> 903 <span>Сообщения</span>
904 @if($MsgCount > 0) 904 @if($MsgCount > 0)
905 <span 905 <span
906 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" 906 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"
907 > 907 >
908 908
909 {{ $MsgCount }} 909 {{ $MsgCount }}
910 </span> 910 </span>
911 @endif 911 @endif
912 </a> 912 </a>
913 </li> 913 </li>
914 <!--<li class="flex"> 914 <!--<li class="flex">
915 <a 915 <a
916 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" 916 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"
917 href="#" 917 href="#"
918 > 918 >
919 <span>Логи</span> 919 <span>Логи</span>
920 </a> 920 </a>
921 </li>--> 921 </li>-->
922 </ul> 922 </ul>
923 </template> 923 </template>
924 </li> 924 </li>
925 <!-- Profile menu --> 925 <!-- Profile menu -->
926 <li class="relative"> 926 <li class="relative">
927 <button 927 <button
928 class="align-middle rounded-full focus:shadow-outline-purple focus:outline-none" 928 class="align-middle rounded-full focus:shadow-outline-purple focus:outline-none"
929 @click="toggleProfileMenu" 929 @click="toggleProfileMenu"
930 @keydown.escape="closeProfileMenu" 930 @keydown.escape="closeProfileMenu"
931 aria-label="Account" 931 aria-label="Account"
932 aria-haspopup="true" 932 aria-haspopup="true"
933 > 933 >
934 <img 934 <img
935 class="object-cover w-8 h-8 rounded-full" 935 class="object-cover w-8 h-8 rounded-full"
936 src="{{ asset('assets/img/profile.jpg') }}" 936 src="{{ asset('assets/img/profile.jpg') }}"
937 alt="" 937 alt=""
938 aria-hidden="true" 938 aria-hidden="true"
939 /> 939 />
940 </button> 940 </button>
941 <template x-if="isProfileMenuOpen"> 941 <template x-if="isProfileMenuOpen">
942 <ul 942 <ul
943 x-transition:leave="transition ease-in duration-150" 943 x-transition:leave="transition ease-in duration-150"
944 x-transition:leave-start="opacity-100" 944 x-transition:leave-start="opacity-100"
945 x-transition:leave-end="opacity-0" 945 x-transition:leave-end="opacity-0"
946 @click.away="closeProfileMenu" 946 @click.away="closeProfileMenu"
947 @keydown.escape="closeProfileMenu" 947 @keydown.escape="closeProfileMenu"
948 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" 948 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"
949 aria-label="submenu" 949 aria-label="submenu"
950 > 950 >
951 <li class="flex"> 951 <li class="flex">
952 <a 952 <a
953 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" 953 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 href="{{ route('admin.profile') }}" 954 href="{{ route('admin.profile') }}"
955 > 955 >
956 <svg 956 <svg
957 class="w-4 h-4 mr-3" 957 class="w-4 h-4 mr-3"
958 aria-hidden="true" 958 aria-hidden="true"
959 fill="none" 959 fill="none"
960 stroke-linecap="round" 960 stroke-linecap="round"
961 stroke-linejoin="round" 961 stroke-linejoin="round"
962 stroke-width="2" 962 stroke-width="2"
963 viewBox="0 0 24 24" 963 viewBox="0 0 24 24"
964 stroke="currentColor" 964 stroke="currentColor"
965 > 965 >
966 <path 966 <path
967 d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" 967 d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"
968 ></path> 968 ></path>
969 </svg> 969 </svg>
970 <span>Профиль</span> 970 <span>Профиль</span>
971 </a> 971 </a>
972 </li> 972 </li>
973 <li class="flex"> 973 <li class="flex">
974 <a 974 <a
975 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" 975 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"
976 href="{{ route('admin.config') }}" 976 href="{{ route('admin.config') }}"
977 > 977 >
978 <svg 978 <svg
979 class="w-4 h-4 mr-3" 979 class="w-4 h-4 mr-3"
980 aria-hidden="true" 980 aria-hidden="true"
981 fill="none" 981 fill="none"
982 stroke-linecap="round" 982 stroke-linecap="round"
983 stroke-linejoin="round" 983 stroke-linejoin="round"
984 stroke-width="2" 984 stroke-width="2"
985 viewBox="0 0 24 24" 985 viewBox="0 0 24 24"
986 stroke="currentColor" 986 stroke="currentColor"
987 > 987 >
988 <path 988 <path
989 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" 989 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"
990 ></path> 990 ></path>
991 <path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path> 991 <path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
992 </svg> 992 </svg>
993 <span>Настройки</span> 993 <span>Настройки</span>
994 </a> 994 </a>
995 </li> 995 </li>
996 <li class="flex"> 996 <li class="flex">
997 <a 997 <a
998 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" 998 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"
999 href="{{ route('admin.logout') }}" 999 href="{{ route('admin.logout') }}"
1000 > 1000 >
1001 <svg 1001 <svg
1002 class="w-4 h-4 mr-3" 1002 class="w-4 h-4 mr-3"
1003 aria-hidden="true" 1003 aria-hidden="true"
1004 fill="none" 1004 fill="none"
1005 stroke-linecap="round" 1005 stroke-linecap="round"
1006 stroke-linejoin="round" 1006 stroke-linejoin="round"
1007 stroke-width="2" 1007 stroke-width="2"
1008 viewBox="0 0 24 24" 1008 viewBox="0 0 24 24"
1009 stroke="currentColor" 1009 stroke="currentColor"
1010 > 1010 >
1011 <path 1011 <path
1012 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" 1012 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"
1013 ></path> 1013 ></path>
1014 </svg> 1014 </svg>
1015 <span>Выход</span> 1015 <span>Выход</span>
1016 </a> 1016 </a>
1017 </li> 1017 </li>
1018 </ul> 1018 </ul>
1019 </template> 1019 </template>
1020 </li> 1020 </li>
1021 </ul> 1021 </ul>
1022 </div> 1022 </div>
1023 </header> 1023 </header>
1024 <main class="h-full overflow-y-auto"> 1024 <main class="h-full overflow-y-auto">
1025 <div class="container px-6 mx-auto grid"> 1025 <div class="container px-6 mx-auto grid">
1026 <h2 1026 <h2
1027 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200" 1027 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200"
1028 > 1028 >
1029 {{$title}} 1029 {{$title}}
1030 </h2> 1030 </h2>
1031 <!-- CTA --> 1031 <!-- CTA -->
1032 <a 1032 <a
1033 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" 1033 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"
1034 href="{{ route('admin.admin-users') }}" 1034 href="{{ route('admin.admin-users') }}"
1035 > 1035 >
1036 <div class="flex items-center"> 1036 <div class="flex items-center">
1037 <svg 1037 <svg
1038 class="w-5 h-5 mr-2" 1038 class="w-5 h-5 mr-2"
1039 fill="currentColor" 1039 fill="currentColor"
1040 viewBox="0 0 20 20" 1040 viewBox="0 0 20 20"
1041 > 1041 >
1042 <path 1042 <path
1043 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" 1043 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"
1044 ></path> 1044 ></path>
1045 </svg> 1045 </svg>
1046 <span>Вход в админку только для пользователей-админов</span> 1046 <span>Контент для админов</span>
1047 </div> 1047 </div>
1048 <span>Список админов &RightArrow;</span> 1048 <span>Список админов &RightArrow;</span>
1049 </a> 1049 </a>
1050 1050
1051 @if ($message = Session::get('success')) 1051 @if ($message = Session::get('success'))
1052 <section> 1052 <section>
1053 <div class="alert alert-success alert-dismissible mt-0" role="alert"> 1053 <div class="alert alert-success alert-dismissible mt-0" role="alert">
1054 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть"> 1054 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть">
1055 <span aria-hidden="true">&times;</span> 1055 <span aria-hidden="true">&times;</span>
1056 </button> 1056 </button>
1057 {{ $message }} 1057 {{ $message }}
1058 </div> 1058 </div>
1059 </section> 1059 </section>
1060 @endif 1060 @endif
1061 1061
1062 @if ($errors->any()) 1062 @if ($errors->any())
1063 <section> 1063 <section>
1064 <div class="alert alert-danger alert-dismissible mt-4" role="alert"> 1064 <div class="alert alert-danger alert-dismissible mt-4" role="alert">
1065 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть"> 1065 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть">
1066 <span aria-hidden="true">&times;</span> 1066 <span aria-hidden="true">&times;</span>
1067 </button> 1067 </button>
1068 <ul class="mb-0"> 1068 <ul class="mb-0">
1069 @foreach ($errors->all() as $error) 1069 @foreach ($errors->all() as $error)
1070 <li>{{ $error }}</li> 1070 <li>{{ $error }}</li>
1071 @endforeach 1071 @endforeach
1072 </ul> 1072 </ul>
1073 </div> 1073 </div>
1074 </section> 1074 </section>
1075 @endif 1075 @endif
1076 1076
1077 @yield('content') 1077 @yield('content')
1078 1078
1079 <!-- Cards 1079 <!-- Cards
1080 <div class="grid gap-6 mb-8 md:grid-cols-2 xl:grid-cols-4"> 1080 <div class="grid gap-6 mb-8 md:grid-cols-2 xl:grid-cols-4">
1081 1081
1082 <div 1082 <div
1083 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1083 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1084 > 1084 >
1085 <div 1085 <div
1086 class="p-3 mr-4 text-orange-500 bg-orange-100 rounded-full dark:text-orange-100 dark:bg-orange-500" 1086 class="p-3 mr-4 text-orange-500 bg-orange-100 rounded-full dark:text-orange-100 dark:bg-orange-500"
1087 > 1087 >
1088 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1088 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
1089 <path 1089 <path
1090 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" 1090 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"
1091 ></path> 1091 ></path>
1092 </svg> 1092 </svg>
1093 </div> 1093 </div>
1094 <div> 1094 <div>
1095 <p 1095 <p
1096 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1096 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
1097 > 1097 >
1098 Total clients 1098 Total clients
1099 </p> 1099 </p>
1100 <p 1100 <p
1101 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1101 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
1102 > 1102 >
1103 6389 1103 6389
1104 </p> 1104 </p>
1105 </div> 1105 </div>
1106 </div> 1106 </div>
1107 1107
1108 <div 1108 <div
1109 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1109 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1110 > 1110 >
1111 <div 1111 <div
1112 class="p-3 mr-4 text-green-500 bg-green-100 rounded-full dark:text-green-100 dark:bg-green-500" 1112 class="p-3 mr-4 text-green-500 bg-green-100 rounded-full dark:text-green-100 dark:bg-green-500"
1113 > 1113 >
1114 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1114 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
1115 <path 1115 <path
1116 fill-rule="evenodd" 1116 fill-rule="evenodd"
1117 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" 1117 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"
1118 clip-rule="evenodd" 1118 clip-rule="evenodd"
1119 ></path> 1119 ></path>
1120 </svg> 1120 </svg>
1121 </div> 1121 </div>
1122 <div> 1122 <div>
1123 <p 1123 <p
1124 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1124 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
1125 > 1125 >
1126 Account balance 1126 Account balance
1127 </p> 1127 </p>
1128 <p 1128 <p
1129 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1129 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
1130 > 1130 >
1131 $ 46,760.89 1131 $ 46,760.89
1132 </p> 1132 </p>
1133 </div> 1133 </div>
1134 </div> 1134 </div>
1135 1135
1136 <div 1136 <div
1137 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1137 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1138 > 1138 >
1139 <div 1139 <div
1140 class="p-3 mr-4 text-blue-500 bg-blue-100 rounded-full dark:text-blue-100 dark:bg-blue-500" 1140 class="p-3 mr-4 text-blue-500 bg-blue-100 rounded-full dark:text-blue-100 dark:bg-blue-500"
1141 > 1141 >
1142 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1142 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
1143 <path 1143 <path
1144 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" 1144 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"
1145 ></path> 1145 ></path>
1146 </svg> 1146 </svg>
1147 </div> 1147 </div>
1148 <div> 1148 <div>
1149 <p 1149 <p
1150 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1150 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
1151 > 1151 >
1152 New sales 1152 New sales
1153 </p> 1153 </p>
1154 <p 1154 <p
1155 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1155 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
1156 > 1156 >
1157 376 1157 376
1158 </p> 1158 </p>
1159 </div> 1159 </div>
1160 </div> 1160 </div>
1161 1161
1162 <div 1162 <div
1163 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1163 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1164 > 1164 >
1165 <div 1165 <div
1166 class="p-3 mr-4 text-teal-500 bg-teal-100 rounded-full dark:text-teal-100 dark:bg-teal-500" 1166 class="p-3 mr-4 text-teal-500 bg-teal-100 rounded-full dark:text-teal-100 dark:bg-teal-500"
1167 > 1167 >
1168 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1168 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
1169 <path 1169 <path
1170 fill-rule="evenodd" 1170 fill-rule="evenodd"
1171 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" 1171 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"
1172 clip-rule="evenodd" 1172 clip-rule="evenodd"
1173 ></path> 1173 ></path>
1174 </svg> 1174 </svg>
1175 </div> 1175 </div>
1176 <div> 1176 <div>
1177 <p 1177 <p
1178 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1178 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
1179 > 1179 >
1180 Pending contacts 1180 Pending contacts
1181 </p> 1181 </p>
1182 <p 1182 <p
1183 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1183 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
1184 > 1184 >
1185 35 1185 35
1186 </p> 1186 </p>
1187 </div> 1187 </div>
1188 </div> 1188 </div>
1189 </div> 1189 </div>
1190 --> 1190 -->
1191 <!-- New Table 1191 <!-- New Table
1192 <div class="w-full overflow-hidden rounded-lg shadow-xs"> 1192 <div class="w-full overflow-hidden rounded-lg shadow-xs">
1193 <div class="w-full overflow-x-auto"> 1193 <div class="w-full overflow-x-auto">
1194 <table class="w-full whitespace-no-wrap"> 1194 <table class="w-full whitespace-no-wrap">
1195 <thead> 1195 <thead>
1196 <tr 1196 <tr
1197 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" 1197 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"
1198 > 1198 >
1199 <th class="px-4 py-3">Client</th> 1199 <th class="px-4 py-3">Client</th>
1200 <th class="px-4 py-3">Amount</th> 1200 <th class="px-4 py-3">Amount</th>
1201 <th class="px-4 py-3">Status</th> 1201 <th class="px-4 py-3">Status</th>
1202 <th class="px-4 py-3">Date</th> 1202 <th class="px-4 py-3">Date</th>
1203 </tr> 1203 </tr>
1204 </thead> 1204 </thead>
1205 <tbody 1205 <tbody
1206 class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800" 1206 class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"
1207 > 1207 >
1208 <tr class="text-gray-700 dark:text-gray-400"> 1208 <tr class="text-gray-700 dark:text-gray-400">
1209 <td class="px-4 py-3"> 1209 <td class="px-4 py-3">
1210 <div class="flex items-center text-sm"> 1210 <div class="flex items-center text-sm">
1211 1211
1212 <div 1212 <div
1213 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1213 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1214 > 1214 >
1215 <img 1215 <img
1216 class="object-cover w-full h-full rounded-full" 1216 class="object-cover w-full h-full rounded-full"
1217 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" 1217 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"
1218 alt="" 1218 alt=""
1219 loading="lazy" 1219 loading="lazy"
1220 /> 1220 />
1221 <div 1221 <div
1222 class="absolute inset-0 rounded-full shadow-inner" 1222 class="absolute inset-0 rounded-full shadow-inner"
1223 aria-hidden="true" 1223 aria-hidden="true"
1224 ></div> 1224 ></div>
1225 </div> 1225 </div>
1226 <div> 1226 <div>
1227 <p class="font-semibold">Hans Burger</p> 1227 <p class="font-semibold">Hans Burger</p>
1228 <p class="text-xs text-gray-600 dark:text-gray-400"> 1228 <p class="text-xs text-gray-600 dark:text-gray-400">
1229 10x Developer 1229 10x Developer
1230 </p> 1230 </p>
1231 </div> 1231 </div>
1232 </div> 1232 </div>
1233 </td> 1233 </td>
1234 <td class="px-4 py-3 text-sm"> 1234 <td class="px-4 py-3 text-sm">
1235 $ 863.45 1235 $ 863.45
1236 </td> 1236 </td>
1237 <td class="px-4 py-3 text-xs"> 1237 <td class="px-4 py-3 text-xs">
1238 <span 1238 <span
1239 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" 1239 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"
1240 > 1240 >
1241 Approved 1241 Approved
1242 </span> 1242 </span>
1243 </td> 1243 </td>
1244 <td class="px-4 py-3 text-sm"> 1244 <td class="px-4 py-3 text-sm">
1245 6/10/2020 1245 6/10/2020
1246 </td> 1246 </td>
1247 </tr> 1247 </tr>
1248 1248
1249 <tr class="text-gray-700 dark:text-gray-400"> 1249 <tr class="text-gray-700 dark:text-gray-400">
1250 <td class="px-4 py-3"> 1250 <td class="px-4 py-3">
1251 <div class="flex items-center text-sm"> 1251 <div class="flex items-center text-sm">
1252 1252
1253 <div 1253 <div
1254 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1254 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1255 > 1255 >
1256 <img 1256 <img
1257 class="object-cover w-full h-full rounded-full" 1257 class="object-cover w-full h-full rounded-full"
1258 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" 1258 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"
1259 alt="" 1259 alt=""
1260 loading="lazy" 1260 loading="lazy"
1261 /> 1261 />
1262 <div 1262 <div
1263 class="absolute inset-0 rounded-full shadow-inner" 1263 class="absolute inset-0 rounded-full shadow-inner"
1264 aria-hidden="true" 1264 aria-hidden="true"
1265 ></div> 1265 ></div>
1266 </div> 1266 </div>
1267 <div> 1267 <div>
1268 <p class="font-semibold">Jolina Angelie</p> 1268 <p class="font-semibold">Jolina Angelie</p>
1269 <p class="text-xs text-gray-600 dark:text-gray-400"> 1269 <p class="text-xs text-gray-600 dark:text-gray-400">
1270 Unemployed 1270 Unemployed
1271 </p> 1271 </p>
1272 </div> 1272 </div>
1273 </div> 1273 </div>
1274 </td> 1274 </td>
1275 <td class="px-4 py-3 text-sm"> 1275 <td class="px-4 py-3 text-sm">
1276 $ 369.95 1276 $ 369.95
1277 </td> 1277 </td>
1278 <td class="px-4 py-3 text-xs"> 1278 <td class="px-4 py-3 text-xs">
1279 <span 1279 <span
1280 class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600" 1280 class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"
1281 > 1281 >
1282 Pending 1282 Pending
1283 </span> 1283 </span>
1284 </td> 1284 </td>
1285 <td class="px-4 py-3 text-sm"> 1285 <td class="px-4 py-3 text-sm">
1286 6/10/2020 1286 6/10/2020
1287 </td> 1287 </td>
1288 </tr> 1288 </tr>
1289 1289
1290 <tr class="text-gray-700 dark:text-gray-400"> 1290 <tr class="text-gray-700 dark:text-gray-400">
1291 <td class="px-4 py-3"> 1291 <td class="px-4 py-3">
1292 <div class="flex items-center text-sm"> 1292 <div class="flex items-center text-sm">
1293 1293
1294 <div 1294 <div
1295 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1295 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1296 > 1296 >
1297 <img 1297 <img
1298 class="object-cover w-full h-full rounded-full" 1298 class="object-cover w-full h-full rounded-full"
1299 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" 1299 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"
1300 alt="" 1300 alt=""
1301 loading="lazy" 1301 loading="lazy"
1302 /> 1302 />
1303 <div 1303 <div
1304 class="absolute inset-0 rounded-full shadow-inner" 1304 class="absolute inset-0 rounded-full shadow-inner"
1305 aria-hidden="true" 1305 aria-hidden="true"
1306 ></div> 1306 ></div>
1307 </div> 1307 </div>
1308 <div> 1308 <div>
1309 <p class="font-semibold">Sarah Curry</p> 1309 <p class="font-semibold">Sarah Curry</p>
1310 <p class="text-xs text-gray-600 dark:text-gray-400"> 1310 <p class="text-xs text-gray-600 dark:text-gray-400">
1311 Designer 1311 Designer
1312 </p> 1312 </p>
1313 </div> 1313 </div>
1314 </div> 1314 </div>
1315 </td> 1315 </td>
1316 <td class="px-4 py-3 text-sm"> 1316 <td class="px-4 py-3 text-sm">
1317 $ 86.00 1317 $ 86.00
1318 </td> 1318 </td>
1319 <td class="px-4 py-3 text-xs"> 1319 <td class="px-4 py-3 text-xs">
1320 <span 1320 <span
1321 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" 1321 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"
1322 > 1322 >
1323 Denied 1323 Denied
1324 </span> 1324 </span>
1325 </td> 1325 </td>
1326 <td class="px-4 py-3 text-sm"> 1326 <td class="px-4 py-3 text-sm">
1327 6/10/2020 1327 6/10/2020
1328 </td> 1328 </td>
1329 </tr> 1329 </tr>
1330 1330
1331 <tr class="text-gray-700 dark:text-gray-400"> 1331 <tr class="text-gray-700 dark:text-gray-400">
1332 <td class="px-4 py-3"> 1332 <td class="px-4 py-3">
1333 <div class="flex items-center text-sm"> 1333 <div class="flex items-center text-sm">
1334 1334
1335 <div 1335 <div
1336 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1336 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1337 > 1337 >
1338 <img 1338 <img
1339 class="object-cover w-full h-full rounded-full" 1339 class="object-cover w-full h-full rounded-full"
1340 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" 1340 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"
1341 alt="" 1341 alt=""
1342 loading="lazy" 1342 loading="lazy"
1343 /> 1343 />
1344 <div 1344 <div
1345 class="absolute inset-0 rounded-full shadow-inner" 1345 class="absolute inset-0 rounded-full shadow-inner"
1346 aria-hidden="true" 1346 aria-hidden="true"
1347 ></div> 1347 ></div>
1348 </div> 1348 </div>
1349 <div> 1349 <div>
1350 <p class="font-semibold">Rulia Joberts</p> 1350 <p class="font-semibold">Rulia Joberts</p>
1351 <p class="text-xs text-gray-600 dark:text-gray-400"> 1351 <p class="text-xs text-gray-600 dark:text-gray-400">
1352 Actress 1352 Actress
1353 </p> 1353 </p>
1354 </div> 1354 </div>
1355 </div> 1355 </div>
1356 </td> 1356 </td>
1357 <td class="px-4 py-3 text-sm"> 1357 <td class="px-4 py-3 text-sm">
1358 $ 1276.45 1358 $ 1276.45
1359 </td> 1359 </td>
1360 <td class="px-4 py-3 text-xs"> 1360 <td class="px-4 py-3 text-xs">
1361 <span 1361 <span
1362 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" 1362 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"
1363 > 1363 >
1364 Approved 1364 Approved
1365 </span> 1365 </span>
1366 </td> 1366 </td>
1367 <td class="px-4 py-3 text-sm"> 1367 <td class="px-4 py-3 text-sm">
1368 6/10/2020 1368 6/10/2020
1369 </td> 1369 </td>
1370 </tr> 1370 </tr>
1371 1371
1372 <tr class="text-gray-700 dark:text-gray-400"> 1372 <tr class="text-gray-700 dark:text-gray-400">
1373 <td class="px-4 py-3"> 1373 <td class="px-4 py-3">
1374 <div class="flex items-center text-sm"> 1374 <div class="flex items-center text-sm">
1375 1375
1376 <div 1376 <div
1377 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1377 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1378 > 1378 >
1379 <img 1379 <img
1380 class="object-cover w-full h-full rounded-full" 1380 class="object-cover w-full h-full rounded-full"
1381 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" 1381 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"
1382 alt="" 1382 alt=""
1383 loading="lazy" 1383 loading="lazy"
1384 /> 1384 />
1385 <div 1385 <div
1386 class="absolute inset-0 rounded-full shadow-inner" 1386 class="absolute inset-0 rounded-full shadow-inner"
1387 aria-hidden="true" 1387 aria-hidden="true"
1388 ></div> 1388 ></div>
1389 </div> 1389 </div>
1390 <div> 1390 <div>
1391 <p class="font-semibold">Wenzel Dashington</p> 1391 <p class="font-semibold">Wenzel Dashington</p>
1392 <p class="text-xs text-gray-600 dark:text-gray-400"> 1392 <p class="text-xs text-gray-600 dark:text-gray-400">
1393 Actor 1393 Actor
1394 </p> 1394 </p>
1395 </div> 1395 </div>
1396 </div> 1396 </div>
1397 </td> 1397 </td>
1398 <td class="px-4 py-3 text-sm"> 1398 <td class="px-4 py-3 text-sm">
1399 $ 863.45 1399 $ 863.45
1400 </td> 1400 </td>
1401 <td class="px-4 py-3 text-xs"> 1401 <td class="px-4 py-3 text-xs">
1402 <span 1402 <span
1403 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" 1403 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"
1404 > 1404 >
1405 Expired 1405 Expired
1406 </span> 1406 </span>
1407 </td> 1407 </td>
1408 <td class="px-4 py-3 text-sm"> 1408 <td class="px-4 py-3 text-sm">
1409 6/10/2020 1409 6/10/2020
1410 </td> 1410 </td>
1411 </tr> 1411 </tr>
1412 1412
1413 <tr class="text-gray-700 dark:text-gray-400"> 1413 <tr class="text-gray-700 dark:text-gray-400">
1414 <td class="px-4 py-3"> 1414 <td class="px-4 py-3">
1415 <div class="flex items-center text-sm"> 1415 <div class="flex items-center text-sm">
1416 1416
1417 <div 1417 <div
1418 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1418 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1419 > 1419 >
1420 <img 1420 <img
1421 class="object-cover w-full h-full rounded-full" 1421 class="object-cover w-full h-full rounded-full"
1422 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" 1422 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"
1423 alt="" 1423 alt=""
1424 loading="lazy" 1424 loading="lazy"
1425 /> 1425 />
1426 <div 1426 <div
1427 class="absolute inset-0 rounded-full shadow-inner" 1427 class="absolute inset-0 rounded-full shadow-inner"
1428 aria-hidden="true" 1428 aria-hidden="true"
1429 ></div> 1429 ></div>
1430 </div> 1430 </div>
1431 <div> 1431 <div>
1432 <p class="font-semibold">Dave Li</p> 1432 <p class="font-semibold">Dave Li</p>
1433 <p class="text-xs text-gray-600 dark:text-gray-400"> 1433 <p class="text-xs text-gray-600 dark:text-gray-400">
1434 Influencer 1434 Influencer
1435 </p> 1435 </p>
1436 </div> 1436 </div>
1437 </div> 1437 </div>
1438 </td> 1438 </td>
1439 <td class="px-4 py-3 text-sm"> 1439 <td class="px-4 py-3 text-sm">
1440 $ 863.45 1440 $ 863.45
1441 </td> 1441 </td>
1442 <td class="px-4 py-3 text-xs"> 1442 <td class="px-4 py-3 text-xs">
1443 <span 1443 <span
1444 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" 1444 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"
1445 > 1445 >
1446 Approved 1446 Approved
1447 </span> 1447 </span>
1448 </td> 1448 </td>
1449 <td class="px-4 py-3 text-sm"> 1449 <td class="px-4 py-3 text-sm">
1450 6/10/2020 1450 6/10/2020
1451 </td> 1451 </td>
1452 </tr> 1452 </tr>
1453 1453
1454 <tr class="text-gray-700 dark:text-gray-400"> 1454 <tr class="text-gray-700 dark:text-gray-400">
1455 <td class="px-4 py-3"> 1455 <td class="px-4 py-3">
1456 <div class="flex items-center text-sm"> 1456 <div class="flex items-center text-sm">
1457 1457
1458 <div 1458 <div
1459 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1459 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1460 > 1460 >
1461 <img 1461 <img
1462 class="object-cover w-full h-full rounded-full" 1462 class="object-cover w-full h-full rounded-full"
1463 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" 1463 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"
1464 alt="" 1464 alt=""
1465 loading="lazy" 1465 loading="lazy"
1466 /> 1466 />
1467 <div 1467 <div
1468 class="absolute inset-0 rounded-full shadow-inner" 1468 class="absolute inset-0 rounded-full shadow-inner"
1469 aria-hidden="true" 1469 aria-hidden="true"
1470 ></div> 1470 ></div>
1471 </div> 1471 </div>
1472 <div> 1472 <div>
1473 <p class="font-semibold">Maria Ramovic</p> 1473 <p class="font-semibold">Maria Ramovic</p>
1474 <p class="text-xs text-gray-600 dark:text-gray-400"> 1474 <p class="text-xs text-gray-600 dark:text-gray-400">
1475 Runner 1475 Runner
1476 </p> 1476 </p>
1477 </div> 1477 </div>
1478 </div> 1478 </div>
1479 </td> 1479 </td>
1480 <td class="px-4 py-3 text-sm"> 1480 <td class="px-4 py-3 text-sm">
1481 $ 863.45 1481 $ 863.45
1482 </td> 1482 </td>
1483 <td class="px-4 py-3 text-xs"> 1483 <td class="px-4 py-3 text-xs">
1484 <span 1484 <span
1485 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" 1485 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"
1486 > 1486 >
1487 Approved 1487 Approved
1488 </span> 1488 </span>
1489 </td> 1489 </td>
1490 <td class="px-4 py-3 text-sm"> 1490 <td class="px-4 py-3 text-sm">
1491 6/10/2020 1491 6/10/2020
1492 </td> 1492 </td>
1493 </tr> 1493 </tr>
1494 1494
1495 <tr class="text-gray-700 dark:text-gray-400"> 1495 <tr class="text-gray-700 dark:text-gray-400">
1496 <td class="px-4 py-3"> 1496 <td class="px-4 py-3">
1497 <div class="flex items-center text-sm"> 1497 <div class="flex items-center text-sm">
1498 1498
1499 <div 1499 <div
1500 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1500 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1501 > 1501 >
1502 <img 1502 <img
1503 class="object-cover w-full h-full rounded-full" 1503 class="object-cover w-full h-full rounded-full"
1504 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" 1504 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"
1505 alt="" 1505 alt=""
1506 loading="lazy" 1506 loading="lazy"
1507 /> 1507 />
1508 <div 1508 <div
1509 class="absolute inset-0 rounded-full shadow-inner" 1509 class="absolute inset-0 rounded-full shadow-inner"
1510 aria-hidden="true" 1510 aria-hidden="true"
1511 ></div> 1511 ></div>
1512 </div> 1512 </div>
1513 <div> 1513 <div>
1514 <p class="font-semibold">Hitney Wouston</p> 1514 <p class="font-semibold">Hitney Wouston</p>
1515 <p class="text-xs text-gray-600 dark:text-gray-400"> 1515 <p class="text-xs text-gray-600 dark:text-gray-400">
1516 Singer 1516 Singer
1517 </p> 1517 </p>
1518 </div> 1518 </div>
1519 </div> 1519 </div>
1520 </td> 1520 </td>
1521 <td class="px-4 py-3 text-sm"> 1521 <td class="px-4 py-3 text-sm">
1522 $ 863.45 1522 $ 863.45
1523 </td> 1523 </td>
1524 <td class="px-4 py-3 text-xs"> 1524 <td class="px-4 py-3 text-xs">
1525 <span 1525 <span
1526 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" 1526 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"
1527 > 1527 >
1528 Approved 1528 Approved
1529 </span> 1529 </span>
1530 </td> 1530 </td>
1531 <td class="px-4 py-3 text-sm"> 1531 <td class="px-4 py-3 text-sm">
1532 6/10/2020 1532 6/10/2020
1533 </td> 1533 </td>
1534 </tr> 1534 </tr>
1535 1535
1536 <tr class="text-gray-700 dark:text-gray-400"> 1536 <tr class="text-gray-700 dark:text-gray-400">
1537 <td class="px-4 py-3"> 1537 <td class="px-4 py-3">
1538 <div class="flex items-center text-sm"> 1538 <div class="flex items-center text-sm">
1539 1539
1540 <div 1540 <div
1541 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1541 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1542 > 1542 >
1543 <img 1543 <img
1544 class="object-cover w-full h-full rounded-full" 1544 class="object-cover w-full h-full rounded-full"
1545 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" 1545 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"
1546 alt="" 1546 alt=""
1547 loading="lazy" 1547 loading="lazy"
1548 /> 1548 />
1549 <div 1549 <div
1550 class="absolute inset-0 rounded-full shadow-inner" 1550 class="absolute inset-0 rounded-full shadow-inner"
1551 aria-hidden="true" 1551 aria-hidden="true"
1552 ></div> 1552 ></div>
1553 </div> 1553 </div>
1554 <div> 1554 <div>
1555 <p class="font-semibold">Hans Burger</p> 1555 <p class="font-semibold">Hans Burger</p>
1556 <p class="text-xs text-gray-600 dark:text-gray-400"> 1556 <p class="text-xs text-gray-600 dark:text-gray-400">
1557 10x Developer 1557 10x Developer
1558 </p> 1558 </p>
1559 </div> 1559 </div>
1560 </div> 1560 </div>
1561 </td> 1561 </td>
1562 <td class="px-4 py-3 text-sm"> 1562 <td class="px-4 py-3 text-sm">
1563 $ 863.45 1563 $ 863.45
1564 </td> 1564 </td>
1565 <td class="px-4 py-3 text-xs"> 1565 <td class="px-4 py-3 text-xs">
1566 <span 1566 <span
1567 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" 1567 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"
1568 > 1568 >
1569 Approved 1569 Approved
1570 </span> 1570 </span>
1571 </td> 1571 </td>
1572 <td class="px-4 py-3 text-sm"> 1572 <td class="px-4 py-3 text-sm">
1573 6/10/2020 1573 6/10/2020
1574 </td> 1574 </td>
1575 </tr> 1575 </tr>
1576 </tbody> 1576 </tbody>
1577 </table> 1577 </table>
1578 </div> 1578 </div>
1579 <div 1579 <div
1580 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" 1580 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"
1581 > 1581 >
1582 <span class="flex items-center col-span-3"> 1582 <span class="flex items-center col-span-3">
1583 Showing 21-30 of 100 1583 Showing 21-30 of 100
1584 </span> 1584 </span>
1585 <span class="col-span-2"></span> 1585 <span class="col-span-2"></span>
1586 1586
1587 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end"> 1587 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end">
1588 <nav aria-label="Table navigation"> 1588 <nav aria-label="Table navigation">
1589 <ul class="inline-flex items-center"> 1589 <ul class="inline-flex items-center">
1590 <li> 1590 <li>
1591 <button 1591 <button
1592 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple" 1592 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple"
1593 aria-label="Previous" 1593 aria-label="Previous"
1594 > 1594 >
1595 <svg 1595 <svg
1596 aria-hidden="true" 1596 aria-hidden="true"
1597 class="w-4 h-4 fill-current" 1597 class="w-4 h-4 fill-current"
1598 viewBox="0 0 20 20" 1598 viewBox="0 0 20 20"
1599 > 1599 >
1600 <path 1600 <path
1601 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" 1601 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"
1602 clip-rule="evenodd" 1602 clip-rule="evenodd"
1603 fill-rule="evenodd" 1603 fill-rule="evenodd"
1604 ></path> 1604 ></path>
1605 </svg> 1605 </svg>
1606 </button> 1606 </button>
1607 </li> 1607 </li>
1608 <li> 1608 <li>
1609 <button 1609 <button
1610 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1610 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1611 > 1611 >
1612 1 1612 1
1613 </button> 1613 </button>
1614 </li> 1614 </li>
1615 <li> 1615 <li>
1616 <button 1616 <button
1617 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1617 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1618 > 1618 >
1619 2 1619 2
1620 </button> 1620 </button>
1621 </li> 1621 </li>
1622 <li> 1622 <li>
1623 <button 1623 <button
1624 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" 1624 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"
1625 > 1625 >
1626 3 1626 3
1627 </button> 1627 </button>
1628 </li> 1628 </li>
1629 <li> 1629 <li>
1630 <button 1630 <button
1631 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1631 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1632 > 1632 >
1633 4 1633 4
1634 </button> 1634 </button>
1635 </li> 1635 </li>
1636 <li> 1636 <li>
1637 <span class="px-3 py-1">...</span> 1637 <span class="px-3 py-1">...</span>
1638 </li> 1638 </li>
1639 <li> 1639 <li>
1640 <button 1640 <button
1641 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1641 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1642 > 1642 >
1643 8 1643 8
1644 </button> 1644 </button>
1645 </li> 1645 </li>
1646 <li> 1646 <li>
1647 <button 1647 <button
1648 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1648 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1649 > 1649 >
1650 9 1650 9
1651 </button> 1651 </button>
1652 </li> 1652 </li>
1653 <li> 1653 <li>
1654 <button 1654 <button
1655 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple" 1655 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple"
1656 aria-label="Next" 1656 aria-label="Next"
1657 > 1657 >
1658 <svg 1658 <svg
1659 class="w-4 h-4 fill-current" 1659 class="w-4 h-4 fill-current"
1660 aria-hidden="true" 1660 aria-hidden="true"
1661 viewBox="0 0 20 20" 1661 viewBox="0 0 20 20"
1662 > 1662 >
1663 <path 1663 <path
1664 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" 1664 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"
1665 clip-rule="evenodd" 1665 clip-rule="evenodd"
1666 fill-rule="evenodd" 1666 fill-rule="evenodd"
1667 ></path> 1667 ></path>
1668 </svg> 1668 </svg>
1669 </button> 1669 </button>
1670 </li> 1670 </li>
1671 </ul> 1671 </ul>
1672 </nav> 1672 </nav>
1673 </span> 1673 </span>
1674 </div> 1674 </div>
1675 </div> 1675 </div>
1676 --> 1676 -->
1677 <!-- Charts --> 1677 <!-- Charts -->
1678 <!-- 1678 <!--
1679 <h2 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200"> 1679 <h2 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200">
1680 Графики 1680 Графики
1681 </h2> 1681 </h2>
1682 <div class="grid gap-6 mb-8 md:grid-cols-2"> 1682 <div class="grid gap-6 mb-8 md:grid-cols-2">
1683 <div 1683 <div
1684 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1684 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1685 > 1685 >
1686 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300"> 1686 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300">
1687 Revenue 1687 Revenue
1688 </h4> 1688 </h4>
1689 <canvas id="pie"></canvas> 1689 <canvas id="pie"></canvas>
1690 <div 1690 <div
1691 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400" 1691 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400"
1692 > 1692 >
1693 1693
1694 <div class="flex items-center"> 1694 <div class="flex items-center">
1695 <span 1695 <span
1696 class="inline-block w-3 h-3 mr-1 bg-blue-500 rounded-full" 1696 class="inline-block w-3 h-3 mr-1 bg-blue-500 rounded-full"
1697 ></span> 1697 ></span>
1698 <span>Shirts</span> 1698 <span>Shirts</span>
1699 </div> 1699 </div>
1700 <div class="flex items-center"> 1700 <div class="flex items-center">
1701 <span 1701 <span
1702 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full" 1702 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full"
1703 ></span> 1703 ></span>
1704 <span>Shoes</span> 1704 <span>Shoes</span>
1705 </div> 1705 </div>
1706 <div class="flex items-center"> 1706 <div class="flex items-center">
1707 <span 1707 <span
1708 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full" 1708 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full"
1709 ></span> 1709 ></span>
1710 <span>Bags</span> 1710 <span>Bags</span>
1711 </div> 1711 </div>
1712 </div> 1712 </div>
1713 </div> 1713 </div>
1714 <div 1714 <div
1715 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1715 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1716 > 1716 >
1717 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300"> 1717 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300">
1718 Traffic 1718 Traffic
1719 </h4> 1719 </h4>
1720 <canvas id="line"></canvas> 1720 <canvas id="line"></canvas>
1721 <div 1721 <div
1722 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400" 1722 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400"
1723 > 1723 >
1724 1724
1725 <div class="flex items-center"> 1725 <div class="flex items-center">
1726 <span 1726 <span
1727 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full" 1727 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full"
1728 ></span> 1728 ></span>
1729 <span>Organic</span> 1729 <span>Organic</span>
1730 </div> 1730 </div>
1731 <div class="flex items-center"> 1731 <div class="flex items-center">
1732 <span 1732 <span
1733 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full" 1733 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full"
1734 ></span> 1734 ></span>
1735 <span>Paid</span> 1735 <span>Paid</span>
1736 </div> 1736 </div>
1737 </div> 1737 </div>
1738 </div> 1738 </div>
1739 </div> 1739 </div>
1740 --> 1740 -->
1741 </div> 1741 </div>
1742 </main> 1742 </main>
1743 </div> 1743 </div>
1744 </div> 1744 </div>
1745 </body> 1745 </body>
1746 @yield('script') 1746 @yield('script')
1747 </html> 1747 </html>
1748 1748
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\InfoBloksController; 6 use App\Http\Controllers\Admin\InfoBloksController;
7 use App\Http\Controllers\Admin\JobTitlesController; 7 use App\Http\Controllers\Admin\JobTitlesController;
8 use App\Http\Controllers\Admin\UsersController; 8 use App\Http\Controllers\Admin\UsersController;
9 use App\Http\Controllers\Admin\WorkersController; 9 use App\Http\Controllers\Admin\WorkersController;
10 use App\Http\Controllers\Auth\LoginController; 10 use App\Http\Controllers\Auth\LoginController;
11 use App\Http\Controllers\Auth\RegisterController; 11 use App\Http\Controllers\Auth\RegisterController;
12 use App\Http\Controllers\CKEditorController; 12 use App\Http\Controllers\CKEditorController;
13 use App\Models\User; 13 use App\Models\User;
14 use App\Http\Controllers\MainController; 14 use App\Http\Controllers\MainController;
15 use App\Http\Controllers\HomeController; 15 use App\Http\Controllers\HomeController;
16 use Illuminate\Support\Facades\Route; 16 use Illuminate\Support\Facades\Route;
17 use App\Http\Controllers\Admin\CompanyController; 17 use App\Http\Controllers\Admin\CompanyController;
18 use App\Http\Controllers\Admin\Ad_EmployersController; 18 use App\Http\Controllers\Admin\Ad_EmployersController;
19 use App\Http\Controllers\Admin\MsgAnswersController; 19 use App\Http\Controllers\Admin\MsgAnswersController;
20 use App\Http\Controllers\Admin\GroupsController; 20 use App\Http\Controllers\Admin\GroupsController;
21 use App\Http\Controllers\PagesController; 21 use App\Http\Controllers\PagesController;
22 use Illuminate\Support\Facades\Storage; 22 use Illuminate\Support\Facades\Storage;
23 23
24 24
25 /* 25 /*
26 |-------------------------------------------------------------------------- 26 |--------------------------------------------------------------------------
27 | Web Routes 27 | Web Routes
28 |-------------------------------------------------------------------------- 28 |--------------------------------------------------------------------------
29 | 29 |
30 | Here is where you can register web routes for your application. These 30 | Here is where you can register web routes for your application. These
31 | routes are loaded by the RouteServiceProvider within a group which 31 | routes are loaded by the RouteServiceProvider within a group which
32 | contains the "web" middleware group. Now create something great! 32 | contains the "web" middleware group. Now create something great!
33 | 33 |
34 */ 34 */
35 /* 35 /*
36 Route::get('/', function () { 36 Route::get('/', function () {
37 return view('welcome'); 37 return view('welcome');
38 })->name('index'); 38 })->name('index');
39 */ 39 */
40 Route::get('/', [MainController::class, 'index'])->name('index'); 40 Route::get('/', [MainController::class, 'index'])->name('index');
41 41
42 //Роуты авторизации, регистрации, восстановления, аутентификации 42 //Роуты авторизации, регистрации, восстановления, аутентификации
43 Auth::routes(['verify' => true]); 43 Auth::routes(['verify' => true]);
44 //Личный кабинет пользователя 44 //Личный кабинет пользователя
45 Route::get('/home', [HomeController::class, 'index'])->name('home'); 45 Route::get('/home', [HomeController::class, 'index'])->name('home');
46 46
47 /* 47 /*
48 Route::post('resend/verification-email', function (\Illuminate\Http\Request $request) { 48 Route::post('resend/verification-email', function (\Illuminate\Http\Request $request) {
49 $user = User::where('email',$request->input('email'))->first(); 49 $user = User::where('email',$request->input('email'))->first();
50 50
51 $user->sendEmailVerificationNotification(); 51 $user->sendEmailVerificationNotification();
52 52
53 return 'your response'; 53 return 'your response';
54 })->middleware('throttle:6,1')->name('verification.resend'); 54 })->middleware('throttle:6,1')->name('verification.resend');
55 */ 55 */
56 56
57 // Авторизация, регистрация в админку 57 // Авторизация, регистрация в админку
58 Route::group([ 58 Route::group([
59 'as' => 'admin.', // имя маршрута, например auth.index 59 'as' => 'admin.', // имя маршрута, например auth.index
60 'prefix' => 'admin', // префикс маршрута, например auth/index 60 'prefix' => 'admin', // префикс маршрута, например auth/index
61 'middleware' => ['guest'], 61 'middleware' => ['guest'],
62 ], function () { 62 ], function () {
63 // Форма регистрации 63 // Форма регистрации
64 Route::get('register', [AdminController::class, 'register'])->name('register'); 64 Route::get('register', [AdminController::class, 'register'])->name('register');
65 65
66 // Создание пользователя 66 // Создание пользователя
67 Route::post('register', [AdminController::class, 'create'])->name('create'); 67 Route::post('register', [AdminController::class, 'create'])->name('create');
68 //Форма входа 68 //Форма входа
69 Route::get('login', [AdminController::class, 'login'])->name('login'); 69 Route::get('login', [AdminController::class, 'login'])->name('login');
70 70
71 // аутентификация 71 // аутентификация
72 Route::post('login', [AdminController::class, 'autenticate'])->name('auth'); 72 Route::post('login', [AdminController::class, 'autenticate'])->name('auth');
73 73
74 }); 74 });
75 75
76 // Личный кабинет админки 76 // Личный кабинет админки
77 Route::group([ 77 Route::group([
78 'as' => 'admin.', // имя маршрута, например auth.index 78 'as' => 'admin.', // имя маршрута, например auth.index
79 'prefix' => 'admin', // префикс маршрута, например auth/index 79 'prefix' => 'admin', // префикс маршрута, например auth/index
80 'middleware' => ['auth'], ['admin'], 80 'middleware' => ['auth'], ['admin'],
81 ], function() { 81 ], function() {
82 82
83 // выход 83 // выход
84 Route::get('logout', [AdminController::class, 'logout'])->name('logout'); 84 Route::get('logout', [AdminController::class, 'logout'])->name('logout');
85 85
86 // кабинет главная страница 86 // кабинет главная страница
87 Route::get('cabinet', [AdminController::class, 'index'])->name('index'); 87 Route::get('cabinet', [AdminController::class, 'index'])->name('index');
88 88
89 // кабинет профиль админа - форма 89 // кабинет профиль админа - форма
90 Route::get('profile', [AdminController::class, 'profile'])->name('profile'); 90 Route::get('profile', [AdminController::class, 'profile'])->name('profile');
91 // кабинет профиль админа - сохранение формы 91 // кабинет профиль админа - сохранение формы
92 Route::post('profile', [AdminController::class, 'store_profile'])->name('store_profile'); 92 Route::post('profile', [AdminController::class, 'store_profile'])->name('store_profile');
93 93
94 //кабинет сообщения админа 94 //кабинет сообщения админа
95 //Route::get('messages', [AdminController::class, 'profile'])->name('profile'); 95 //Route::get('messages', [AdminController::class, 'profile'])->name('profile');
96 96
97 97
98 // кабинет профиль - форма пароли 98 // кабинет профиль - форма пароли
99 Route::get('password', [AdminController::class, 'profile_password'])->name('password'); 99 Route::get('password', [AdminController::class, 'profile_password'])->name('password');
100 // кабинет профиль - сохранение формы пароля 100 // кабинет профиль - сохранение формы пароля
101 Route::post('password', [AdminController::class, 'profile_password_new'])->name('password'); 101 Route::post('password', [AdminController::class, 'profile_password_new'])->name('password');
102 102
103 103
104 // кабинет профиль пользователя - форма 104 // кабинет профиль пользователя - форма
105 Route::get('user-profile/{user}', [AdminController::class, 'profile_user'])->name('user-profile'); 105 Route::get('user-profile/{user}', [AdminController::class, 'profile_user'])->name('user-profile');
106 // кабинет профиль пользователя - сохранение формы 106 // кабинет профиль пользователя - сохранение формы
107 Route::post('user-profile/{user}', [AdminController::class, 'store_profile_user'])->name('user-store_profile'); 107 Route::post('user-profile/{user}', [AdminController::class, 'store_profile_user'])->name('user-store_profile');
108 108
109 // кабинет профиль работодатель - форма 109 // кабинет профиль работодатель - форма
110 Route::get('employer-profile/{employer}', [EmployersController::class, 'form_update_employer'])->name('employer-profile'); 110 Route::get('employer-profile/{employer}', [EmployersController::class, 'form_update_employer'])->name('employer-profile');
111 // кабинет профиль работодатель - сохранение формы 111 // кабинет профиль работодатель - сохранение формы
112 Route::post('employer-profile/{employer}', [EmployersController::class, 'update_employer'])->name('update-employer-profile'); 112 Route::post('employer-profile/{employer}', [EmployersController::class, 'update_employer'])->name('update-employer-profile');
113 113
114 // кабинет профиль работник - форма 114 // кабинет профиль работник - форма
115 Route::post('worker-profile/{worker}', [WorkersController::class, 'form_update_worker'])->name('worker-profile'); 115 Route::get('worker-profile/{worker}', [WorkersController::class, 'form_edit_worker'])->name('worker-profile-edit');
116 // кабинет профиль работник - сохранение формы
117 Route::post('worker-profile/{worker}', [WorkersController::class, 'form_update_worker'])->name('worker-profile-update');
118
116 119
117 // кабинет настройки сайта - форма 120 // кабинет настройки сайта - форма
118 Route::get('config', [AdminController::class, 'config_form'])->name('config'); 121 Route::get('config', [AdminController::class, 'config_form'])->name('config');
119 // кабинет настройки сайта сохранение формы 122 // кабинет настройки сайта сохранение формы
120 Route::post('config', [AdminController::class, 'store_config'])->name('store_config'); 123 Route::post('config', [AdminController::class, 'store_config'])->name('store_config');
121 124
122 // кабинет - пользователи 125 // кабинет - пользователи
123 Route::get('users', [UsersController::class, 'index'])->name('users'); 126 Route::get('users', [UsersController::class, 'index'])->name('users');
124 127
125 // кабинет - пользователи 128 // кабинет - пользователи
126 Route::get('admin-users', [AdminController::class, 'index_admin'])->name('admin-users'); 129 Route::get('admin-users', [AdminController::class, 'index_admin'])->name('admin-users');
127 130
128 // кабинет - работодатели 131 // кабинет - работодатели
129 Route::get('employers', [EmployersController::class, 'index'])->name('employers'); 132 Route::get('employers', [EmployersController::class, 'index'])->name('employers');
130 133
131 // кабинет - соискатели 134 // кабинет - соискатели
132 Route::get('workers', [WorkersController::class, 'index'])->name('workers'); 135 Route::get('workers', [WorkersController::class, 'index'])->name('workers');
133 136
134 // кабинет - вакансии 137 // кабинет - вакансии
135 Route::get('ad-employers', [Ad_EmployersController::class, 'index'])->name('ad-employers'); 138 Route::get('ad-employers', [Ad_EmployersController::class, 'index'])->name('ad-employers');
136 139
137 // кабинет - категории 140 // кабинет - категории
138 //Route::get('categories', [AdminController::class, 'index'])->name('categories'); 141 //Route::get('categories', [AdminController::class, 'index'])->name('categories');
139 /* 142 /*
140 * CRUD-операции над Справочником Категории 143 * CRUD-операции над Справочником Категории
141 */ 144 */
142 Route::resource('categories', CategoryController::class, ['except' => ['show']]); 145 Route::resource('categories', CategoryController::class, ['except' => ['show']]);
143 146
144 147
145 //Route::get('job-titles', [AdminController::class, 'index'])->name('job-titles'); 148 //Route::get('job-titles', [AdminController::class, 'index'])->name('job-titles');
146 /* 149 /*
147 * кабинет - CRUD-операции по справочнику должности 150 * кабинет - CRUD-операции по справочнику должности
148 * 151 *
149 */ 152 */
150 Route::resource('job-titles', JobTitlesController::class, ['except' => ['show']]); 153 Route::resource('job-titles', JobTitlesController::class, ['except' => ['show']]);
151 154
152 // кабинет - сообщения (чтение чужих) 155 // кабинет - сообщения (чтение чужих)
153 Route::get('messages', [MsgAnswersController::class, 'messages'])->name('messages'); 156 Route::get('messages', [MsgAnswersController::class, 'messages'])->name('messages');
154 // кабинет - сообщения (админские) 157 // кабинет - сообщения (админские)
155 Route::get('admin-messages', [MsgAnswersController::class, 'admin_messages'])->name('admin-messages'); 158 Route::get('admin-messages', [MsgAnswersController::class, 'admin_messages'])->name('admin-messages');
156 // кабинет - сообщения (админские) 159 // кабинет - сообщения (админские)
157 Route::post('admin-messages', [MsgAnswersController::class, 'admin_messages_post'])->name('admin-messages-post'); 160 Route::post('admin-messages', [MsgAnswersController::class, 'admin_messages_post'])->name('admin-messages-post');
158 // кабинет - sql - конструкция запросов 161 // кабинет - sql - конструкция запросов
159 Route::get('messages-sql', [MsgAnswersController::class, 'messages_sql'])->name('messages-sql'); 162 Route::get('messages-sql', [MsgAnswersController::class, 'messages_sql'])->name('messages-sql');
160 163
161 /* 164 /*
162 * Расписанный подход в описании каждой директорий групп пользователей. 165 * Расписанный подход в описании каждой директорий групп пользователей.
163 */ 166 */
164 // кабинет - группы пользователей 167 // кабинет - группы пользователей
165 Route::get('groups', [GroupsController::class, 'index'])->name('groups'); 168 Route::get('groups', [GroupsController::class, 'index'])->name('groups');
166 // кабинет - добавление форма группы пользователей 169 // кабинет - добавление форма группы пользователей
167 Route::get('groups/add', [GroupsController::class, 'add'])->name('add-group'); 170 Route::get('groups/add', [GroupsController::class, 'add'])->name('add-group');
168 // кабинет - сохранение формы группы пользователей 171 // кабинет - сохранение формы группы пользователей
169 Route::post('groups/add', [GroupsController::class, 'store'])->name('add-group-store'); 172 Route::post('groups/add', [GroupsController::class, 'store'])->name('add-group-store');
170 // кабинет - редактирование форма группы пользователей 173 // кабинет - редактирование форма группы пользователей
171 Route::get('groups/edit/{group}', [GroupsController::class, 'edit'])->name('edit-group'); 174 Route::get('groups/edit/{group}', [GroupsController::class, 'edit'])->name('edit-group');
172 // кабинет - сохранение редактированной формы группы пользователей 175 // кабинет - сохранение редактированной формы группы пользователей
173 Route::post('groups/edit/{group}', [GroupsController::class, 'update'])->name('update-group'); 176 Route::post('groups/edit/{group}', [GroupsController::class, 'update'])->name('update-group');
174 // кабинет - удаление группы пользователей 177 // кабинет - удаление группы пользователей
175 Route::delete('groups/delete/{group}', [GroupsController::class, 'destroy'])->name('delete-group'); 178 Route::delete('groups/delete/{group}', [GroupsController::class, 'destroy'])->name('delete-group');
176 179
177 180
178 // кабинет - список админов 181 // кабинет - список админов
179 Route::get('group-admin', [AdminController::class, 'index'])->name('group-admin'); 182 Route::get('group-admin', [AdminController::class, 'index'])->name('group-admin');
180 183
181 184
182 /////редактор////// кабинет - редактор сайта//////////////////////// 185 /////редактор////// кабинет - редактор сайта////////////////////////
183 Route::get('editor-site', function() { 186 Route::get('editor-site', function() {
184 return view('admin.editor.index'); 187 return view('admin.editor.index');
185 })->name('editor-site'); 188 })->name('editor-site');
186 189
187 190
188 // кабинет - редактор шапки-футера сайта 191 // кабинет - редактор шапки-футера сайта
189 Route::get('edit-blocks', [CompanyController::class, 'editblocks'])->name('edit-blocks'); 192 Route::get('edit-blocks', [CompanyController::class, 'editblocks'])->name('edit-blocks');
190 Route::get('edit-bloks/add', [CompanyController::class, 'editblock_add'])->name('add-block'); 193 Route::get('edit-bloks/add', [CompanyController::class, 'editblock_add'])->name('add-block');
191 Route::post('edit-bloks/add', [CompanyController::class, 'editblock_store'])->name('add-block-store'); 194 Route::post('edit-bloks/add', [CompanyController::class, 'editblock_store'])->name('add-block-store');
192 Route::get('edit-bloks/ajax', [CompanyController::class, 'editblock_ajax'])->name('ajax.block'); 195 Route::get('edit-bloks/ajax', [CompanyController::class, 'editblock_ajax'])->name('ajax.block');
193 Route::get('edit-bloks/edit/{block}', [CompanyController::class, 'editblock_edit'])->name('edit-block'); 196 Route::get('edit-bloks/edit/{block}', [CompanyController::class, 'editblock_edit'])->name('edit-block');
194 Route::put('edit-bloks/edit/{block}', [CompanyController::class, 'editblock_update'])->name('update-block'); 197 Route::put('edit-bloks/edit/{block}', [CompanyController::class, 'editblock_update'])->name('update-block');
195 Route::delete('edit-bloks/delete/{block}', [CompanyController::class, 'editblock_destroy'])->name('delete-block'); 198 Route::delete('edit-bloks/delete/{block}', [CompanyController::class, 'editblock_destroy'])->name('delete-block');
196 199
197 200
198 // кабинет - редактор должности на главной 201 // кабинет - редактор должности на главной
199 Route::get('job-titles-main', [CompanyController::class, 'job_titles_main'])->name('job-titles-main'); 202 Route::get('job-titles-main', [CompanyController::class, 'job_titles_main'])->name('job-titles-main');
200 203
201 // кабинет - редактор работодатели на главной 204 // кабинет - редактор работодатели на главной
202 Route::get('employers-main', [CompanyController::class, 'employers_main'])->name('employers-main'); 205 Route::get('employers-main', [CompanyController::class, 'employers_main'])->name('employers-main');
203 206
204 207
205 // кабинет - редактор seo-сайта 208 // кабинет - редактор seo-сайта
206 Route::get('editor-seo', [CompanyController::class, 'editor_seo'])->name('editor-seo'); 209 Route::get('editor-seo', [CompanyController::class, 'editor_seo'])->name('editor-seo');
207 Route::get('editor-seo/add', [CompanyController::class, 'editor_seo_add'])->name('add-seo'); 210 Route::get('editor-seo/add', [CompanyController::class, 'editor_seo_add'])->name('add-seo');
208 Route::post('editor-seo/add', [CompanyController::class, 'editor_seo_store'])->name('add-seo-store'); 211 Route::post('editor-seo/add', [CompanyController::class, 'editor_seo_store'])->name('add-seo-store');
209 Route::get('editor-seo/ajax', [CompanyController::class, 'editor_seo_ajax'])->name('ajax.seo'); 212 Route::get('editor-seo/ajax', [CompanyController::class, 'editor_seo_ajax'])->name('ajax.seo');
210 Route::get('editor-seo/edit/{page}', [CompanyController::class, 'editor_seo_edit'])->name('edit-seo'); 213 Route::get('editor-seo/edit/{page}', [CompanyController::class, 'editor_seo_edit'])->name('edit-seo');
211 Route::put('editor-seo/edit/{page}', [CompanyController::class, 'editor_seo_update'])->name('update-seo'); 214 Route::put('editor-seo/edit/{page}', [CompanyController::class, 'editor_seo_update'])->name('update-seo');
212 Route::delete('editor-seo/delete/{page}', [CompanyController::class, 'editor_seo_destroy'])->name('delete-seo'); 215 Route::delete('editor-seo/delete/{page}', [CompanyController::class, 'editor_seo_destroy'])->name('delete-seo');
213 216
214 217
215 // кабинет - редактор страниц 218 // кабинет - редактор страниц
216 Route::get('editor-pages', [CompanyController::class, 'editor_pages'])->name('editor-pages'); 219 Route::get('editor-pages', [CompanyController::class, 'editor_pages'])->name('editor-pages');
217 // кабинет - добавление страницы 220 // кабинет - добавление страницы
218 Route::get('editor-pages/add', [CompanyController::class, 'editor_pages_add'])->name('add-page'); 221 Route::get('editor-pages/add', [CompanyController::class, 'editor_pages_add'])->name('add-page');
219 // кабинет - сохранение формы страницы 222 // кабинет - сохранение формы страницы
220 Route::post('editor-page/add', [CompanyController::class, 'editor_pages_store'])->name('add-page-store'); 223 Route::post('editor-page/add', [CompanyController::class, 'editor_pages_store'])->name('add-page-store');
221 // кабинет - редактирование форма страницы 224 // кабинет - редактирование форма страницы
222 Route::get('editor-pages/edit/{page}', [CompanyController::class, 'editor_pages_edit'])->name('edit-page'); 225 Route::get('editor-pages/edit/{page}', [CompanyController::class, 'editor_pages_edit'])->name('edit-page');
223 // кабинет - сохранение редактированной формы страницы 226 // кабинет - сохранение редактированной формы страницы
224 Route::put('editor-pages/edit/{page}', [CompanyController::class, 'editor_pages_update'])->name('update-page'); 227 Route::put('editor-pages/edit/{page}', [CompanyController::class, 'editor_pages_update'])->name('update-page');
225 // кабинет - удаление страницы 228 // кабинет - удаление страницы
226 Route::delete('editor-pages/delete/{page}', [CompanyController::class, 'editor_pages_destroy'])->name('delete-page'); 229 Route::delete('editor-pages/delete/{page}', [CompanyController::class, 'editor_pages_destroy'])->name('delete-page');
227 230
228 231
229 // кабинет - реклама сайта 232 // кабинет - реклама сайта
230 Route::get('reclames', [CompanyController::class, 'reclames'])->name('reclames'); 233 Route::get('reclames', [CompanyController::class, 'reclames'])->name('reclames');
231 Route::get('reclames/add', [CompanyController::class, 'reclames_add'])->name('add-reclames'); 234 Route::get('reclames/add', [CompanyController::class, 'reclames_add'])->name('add-reclames');
232 Route::post('reclames/add', [CompanyController::class, 'reclames_store'])->name('add-reclames-store'); 235 Route::post('reclames/add', [CompanyController::class, 'reclames_store'])->name('add-reclames-store');
233 Route::get('reclames/edit/{reclame}', [CompanyController::class, 'reclames_edit'])->name('edit-reclames'); 236 Route::get('reclames/edit/{reclame}', [CompanyController::class, 'reclames_edit'])->name('edit-reclames');
234 Route::put('reclames/edit/{reclame}', [CompanyController::class, 'reclames_update'])->name('update-reclames'); 237 Route::put('reclames/edit/{reclame}', [CompanyController::class, 'reclames_update'])->name('update-reclames');
235 Route::delete('reclames/delete/{reclame}', [CompanyController::class, 'reclames_destroy'])->name('delete-reclames'); 238 Route::delete('reclames/delete/{reclame}', [CompanyController::class, 'reclames_destroy'])->name('delete-reclames');
236 //////////////////////////////////////////////////////////////////////// 239 ////////////////////////////////////////////////////////////////////////
237 240
238 241
239 // кабинет - отзывы о работодателе для модерации 242 // кабинет - отзывы о работодателе для модерации
240 Route::get('answers', [EmployersController::class, 'answers'])->name('answers'); 243 Route::get('answers', [EmployersController::class, 'answers'])->name('answers');
241 244
242 // Общая страница статистики 245 // Общая страница статистики
243 Route::get('statics', function () { 246 Route::get('statics', function () {
244 return view('admin.static.index'); 247 return view('admin.static.index');
245 })->name('statics'); 248 })->name('statics');
246 249
247 // кабинет - статистика работников 250 // кабинет - статистика работников
248 Route::get('static-workers', [WorkersController::class, 'static_workers'])->name('static-workers'); 251 Route::get('static-workers', [WorkersController::class, 'static_workers'])->name('static-workers');
249 252
250 // кабинет - статистика вакансий работодателя 253 // кабинет - статистика вакансий работодателя
251 Route::get('static-ads', [EmployersController::class, 'static_ads'])->name('static-ads'); 254 Route::get('static-ads', [EmployersController::class, 'static_ads'])->name('static-ads');
252 255
253 // кабинет - справочник - блоки информации (дипломы и документы) для резюме работника 256 // кабинет - справочник - блоки информации (дипломы и документы) для резюме работника
254 /* 257 /*
255 * CRUD-операции над справочником дипломы и документы 258 * CRUD-операции над справочником дипломы и документы
256 */ 259 */
257 //Route::get('infobloks', [WorkersController::class, 'infobloks'])->name('infobloks'); 260 //Route::get('infobloks', [WorkersController::class, 'infobloks'])->name('infobloks');
258 Route::resource('infobloks', InfoBloksController::class, ['except' => ['show']]); 261 Route::resource('infobloks', InfoBloksController::class, ['except' => ['show']]);
259 262
260 // кабинет - роли пользователя 263 // кабинет - роли пользователя
261 Route::get('roles', [UsersController::class, 'roles'])->name('roles'); 264 Route::get('roles', [UsersController::class, 'roles'])->name('roles');
262 265
263 Route::get('logs', function() { 266 Route::get('logs', function() {
264 $files = Storage::files('logs/laravel.log'); 267 $files = Storage::files('logs/laravel.log');
265 print_r($files); 268 print_r($files);
266 })->name('logs'); 269 })->name('logs');
267 270
268 }); 271 });
269 272
270 Route::post('ckeditor/upload', [CKEditorController::class, 'upload'])->name('ckeditor.image-upload'); 273 Route::post('ckeditor/upload', [CKEditorController::class, 'upload'])->name('ckeditor.image-upload');
271 274
272 Route::get('pages/{pages:slug}', [PagesController::class, 'pages'])->name('page'); 275 Route::get('pages/{pages:slug}', [PagesController::class, 'pages'])->name('page');
273 276