Commit 2b8dd10cb31d530c6871efb1d3bd5a212141f005

Authored by Сергей П
1 parent 47f75ed343
Exists in master

Правки по задачам

Showing 10 changed files with 114 additions and 80 deletions Inline Diff

app/Http/Controllers/Admin/UsersController.php
1 <?php 1 <?php
2 2
3 namespace App\Http\Controllers\Admin; 3 namespace App\Http\Controllers\Admin;
4 4
5 use App\Http\Controllers\Controller; 5 use App\Http\Controllers\Controller;
6 use App\Http\Requests\BaseUserRequest; 6 use App\Http\Requests\BaseUserRequest;
7 use App\Models\ContentRoles; 7 use App\Models\ContentRoles;
8 use App\Models\Job_title; 8 use App\Models\Job_title;
9 use App\Models\User; 9 use App\Models\User;
10 use App\Models\Worker; 10 use App\Models\Worker;
11 use Illuminate\Http\Request; 11 use Illuminate\Http\Request;
12 use Illuminate\Support\Facades\Auth; 12 use Illuminate\Support\Facades\Auth;
13 use Illuminate\Support\Facades\Storage; 13 use Illuminate\Support\Facades\Storage;
14 use PhpOffice\PhpSpreadsheet\Spreadsheet; 14 use PhpOffice\PhpSpreadsheet\Spreadsheet;
15 use PhpOffice\PhpSpreadsheet\Style\Alignment; 15 use PhpOffice\PhpSpreadsheet\Style\Alignment;
16 use PhpOffice\PhpSpreadsheet\Style\Border; 16 use PhpOffice\PhpSpreadsheet\Style\Border;
17 use PhpOffice\PhpSpreadsheet\Style\Font; 17 use PhpOffice\PhpSpreadsheet\Style\Font;
18 use PhpOffice\PhpSpreadsheet\Writer\Xlsx; 18 use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
19 19
20 class UsersController extends Controller 20 class UsersController extends Controller
21 { 21 {
22 public function index(Request $request) { 22 public function index(Request $request) {
23 $title = 'Админка - Пользователи системы'; 23 $title = 'Админка - Пользователи системы';
24 $id_admin = Auth::user()->id; 24 $id_admin = Auth::user()->id;
25 if ($request->ajax()) { 25 if ($request->ajax()) {
26 $user = User::find($request->id); 26 $user = User::find($request->id);
27 $request->offsetUnset('id'); 27 $request->offsetUnset('id');
28 $user->update($request->all()); 28 $user->update($request->all());
29 } 29 }
30 30
31 $find_key = ""; 31 $find_key = "";
32 $users = User::query(); 32 $users = User::query();
33 if (isset($request->find)) { 33 if (isset($request->find)) {
34 $find_key = $request->find; 34 $find_key = $request->find;
35 $users = $users->where('name', 'LIKE', "%$find_key%") 35 $users = $users->where('name', 'LIKE', "%$find_key%")
36 ->orWhere('email', 'LIKE', "%$find_key%"); 36 ->orWhere('email', 'LIKE', "%$find_key%");
37 } 37 }
38 38
39 $users = $users->paginate(15); 39 $users = $users->paginate(15);
40 40
41 if ($request->ajax()) { 41 if ($request->ajax()) {
42 return view('admin.users.index_ajax', compact('users', 'id_admin')); 42 return view('admin.users.index_ajax', compact('users', 'id_admin'));
43 } else { 43 } else {
44 return view('admin.users.index', compact('users', 'title', 'id_admin', 'find_key')); 44 return view('admin.users.index', compact('users', 'title', 'id_admin', 'find_key'));
45 } 45 }
46 } 46 }
47 47
48 public function user_delete(User $user) { 48 public function user_delete(User $user) {
49 $id = $user->delete(); 49 $id = $user->delete();
50 50
51 return redirect()->route('admin.users')->with('Пользователь был удален из системы'); 51 return redirect()->route('admin.users')->with('Пользователь был удален из системы');
52 } 52 }
53 53
54 public function index_bd(Request $request) { 54 public function index_bd(Request $request) {
55 $title = 'Админка - Пользователи базы данных'; 55 $title = 'Админка - Пользователи базы данных';
56 56
57 $find_key = ""; 57 $find_key = "";
58 $users = User::query(); 58 $users = User::query();
59 if (isset($request->find)) { 59 if (isset($request->find)) {
60 $find_key = $request->find; 60 $find_key = $request->find;
61 $users = $users->where('name', 'LIKE', "%$find_key%") 61 $users = $users->where('name', 'LIKE', "%$find_key%")
62 ->orWhere('email', 'LIKE', "%$find_key%") 62 ->orWhere('email', 'LIKE', "%$find_key%")
63 ->orWhere('telephone', 'LIKE', "%$find_key%"); 63 ->orWhere('telephone', 'LIKE', "%$find_key%");
64 } 64 }
65 65
66 $users = $users->Baseuser() 66 $users = $users->Baseuser()
67 ->orderByDesc(Worker::select('created_at')->whereColumn('workers.user_id', 'users.id')) 67 ->orderByDesc(Worker::select('created_at')->whereColumn('workers.user_id', 'users.id'))
68 ->paginate(15); 68 ->paginate(15);
69 69
70 if ($request->ajax()) { 70 if ($request->ajax()) {
71 return view('admin.users.index_bd_ajax', compact('users')); 71 return view('admin.users.index_bd_ajax', compact('users'));
72 } else { 72 } else {
73 return view('admin.users.index_bd', compact('users', 'title', 'find_key')); 73 return view('admin.users.index_bd', compact('users', 'title', 'find_key'));
74 } 74 }
75 } 75 }
76 76
77 public function add_bd() { 77 public function add_bd() {
78 $list_job_titles = Job_title::query()->active()->where('is_bd', '=' , '2')->orderBy('name', 'asc')->get(); 78 $list_job_titles = Job_title::query()->active()->where('is_bd', '=' , '2')->orderBy('name', 'asc')->get();
79 return view('admin.users.add', compact('list_job_titles')); 79 return view('admin.users.add', compact('list_job_titles'));
80 } 80 }
81 81
82 public function add_store_bd(BaseUserRequest $request) { 82 public function add_store_bd(BaseUserRequest $request) {
83 $params = $request->all(); 83 $params = $request->all();
84 $position_work = $request->position_work; 84 $positions_work = json_encode($request->input('positions_work', []));
85 85
86 if ($request->has('file')) { 86 if ($request->has('file')) {
87 $params['file'] = $request->file('file')->store('basedata', 'public'); 87 $params['file'] = $request->file('file')->store('basedata', 'public');
88 } 88 }
89 89
90 if (isset($request->name)) { 90 if (isset($request->name)) {
91 $params['name'] = $request->surname." ".$request->name_man." ".$request->surname2; 91 $params['name'] = $request->surname." ".$request->name_man." ".$request->surname2;
92 } 92 }
93 93
94 $user = User::create($params); 94 $user = User::create($params);
95 $user_id = $user->id; 95 $user_id = $user->id;
96 $worker = new Worker(); 96 $worker = new Worker();
97 $worker->position_work = $position_work; 97 $worker->positions_work = $positions_work;
98 $worker->user_id = $user_id; 98 $worker->user_id = $user_id;
99 $worker->save(); 99 $worker->save();
100 100
101 return redirect()->route('admin.basedata'); 101 return redirect()->route('admin.basedata');
102 } 102 }
103 103
104 public function edit_bd(User $user) { 104 public function edit_bd(User $user) {
105 $list_job_titles = Job_title::query()->active()->where('is_bd', '=' , '2')-> 105 $list_job_titles = Job_title::query()->active()->where('is_bd', '=' , '2')->
106 orderByDesc('sort')->orderBy('name', 'asc')->get(); 106 orderByDesc('sort')->orderBy('name', 'asc')->get();
107 return view('admin.users.edit', compact('user', 'list_job_titles')); 107 return view('admin.users.edit', compact('user', 'list_job_titles'));
108 } 108 }
109 109
110 public function update_bd(BaseUserRequest $request, User $user) { 110 public function update_bd(BaseUserRequest $request, User $user) {
111 $params = $request->all(); 111 $params = $request->all();
112 $position_work = $request->position_work; 112 $positions_work = $request->input('positions_work', []);
113 113
114 if ($request->has('file')) { 114 if ($request->has('file')) {
115 if (!empty($user->file)) Storage::delete($user->file); 115 if (!empty($user->file)) Storage::delete($user->file);
116 $params['file'] = $request->file('file')->store('basedata', 'public'); 116 $params['file'] = $request->file('file')->store('basedata', 'public');
117 } else { 117 } else {
118 if (!empty($user->image)) $params['file'] = $user->file; 118 if (!empty($user->image)) $params['file'] = $user->file;
119 } 119 }
120 120
121 if (isset($request->name)) { 121 if (isset($request->name)) {
122 $params['name'] = $request->surname." ".$request->name_man." ".$request->surname2; 122 $params['name'] = $request->surname." ".$request->name_man." ".$request->surname2;
123 } 123 }
124 124
125 $user->update($params); 125 $user->update($params);
126 if (isset($user->workers[0]->id)) { 126 if (isset($user->workers[0]->id)) {
127 $worker = Worker::find($user->workers[0]->id); 127 $worker = Worker::find($user->workers[0]->id);
128 $worker->position_work = $position_work; 128 $worker->positions_work = $positions_work;
129 $worker->save(); 129 $worker->save();
130 } else { 130 } else {
131 $worker = new Worker(); 131 $worker = new Worker();
132 $worker->user_id = $user->id; 132 $worker->user_id = $user->id;
133 $worker->position_work = $position_work; 133 $worker->positions_work = $positions_work;
134 $worker->save(); 134 $worker->save();
135 } 135 }
136 136
137 return redirect()->route('admin.basedata'); 137 return redirect()->route('admin.basedata');
138 } 138 }
139 139
140 public function destroy_bd(User $user) { 140 public function destroy_bd(User $user) {
141 $user->delete(); 141 $user->delete();
142 return redirect()->route('admin.basedata'); 142 return redirect()->route('admin.basedata');
143 } 143 }
144 144
145 public function roles(Request $request) { 145 public function roles(Request $request) {
146 if ($request->ajax()) { 146 if ($request->ajax()) {
147 $user = User::find($request->id); 147 $user = User::find($request->id);
148 $request->offsetUnset('id'); 148 $request->offsetUnset('id');
149 $user->update($request->all()); 149 $user->update($request->all());
150 } 150 }
151 151
152 $users = User::query()->Realuser()->paginate(15); 152 $users = User::query()->Realuser()->paginate(15);
153 153
154 if ($request->ajax()) { 154 if ($request->ajax()) {
155 return view('admin.users.roles.index_ajax', compact('users')); 155 return view('admin.users.roles.index_ajax', compact('users'));
156 } else { 156 } else {
157 return view('admin.users.roles.index', compact('users')); 157 return view('admin.users.roles.index', compact('users'));
158 } 158 }
159 } 159 }
160 160
161 public function admin_roles(Request $request) { 161 public function admin_roles(Request $request) {
162 162
163 if ($request->ajax()) { 163 if ($request->ajax()) {
164 $id = $request->id; 164 $id = $request->id;
165 $request->offsetUnset('id'); 165 $request->offsetUnset('id');
166 ContentRoles::where('id', '=', $id)->update($request->all()); 166 ContentRoles::where('id', '=', $id)->update($request->all());
167 } 167 }
168 $roles = ContentRoles::query()->OrderBy('id')->paginate(25); 168 $roles = ContentRoles::query()->OrderBy('id')->paginate(25);
169 169
170 170
171 if ($request->ajax()) { 171 if ($request->ajax()) {
172 return view('admin.content.roles_index_ajax', compact('roles')); 172 return view('admin.content.roles_index_ajax', compact('roles'));
173 } else { 173 } else {
174 return view('admin.content.roles_index', compact('roles')); 174 return view('admin.content.roles_index', compact('roles'));
175 } 175 }
176 } 176 }
177 177
178 public function doc_bd(User $user) { 178 public function doc_bd(User $user) {
179 $id = $user->id; 179 $id = $user->id;
180 $spreadsheet = new Spreadsheet(); 180 $spreadsheet = new Spreadsheet();
181 $activeWorksheet = $spreadsheet->getActiveSheet(); 181 $activeWorksheet = $spreadsheet->getActiveSheet();
182 $activeWorksheet->setCellValue('A1', 'Отчет по соискателю'); 182 $activeWorksheet->setCellValue('A1', 'Отчет по соискателю');
183 $activeWorksheet->getStyle('A1')->applyFromArray([ 183 $activeWorksheet->getStyle('A1')->applyFromArray([
184 'font' => [ 184 'font' => [
185 'name' => 'Arial', 185 'name' => 'Arial',
186 'bold' => true, 186 'bold' => true,
187 'italic' => false, 187 'italic' => false,
188 'underline' => Font::UNDERLINE_DOUBLE, 188 'underline' => Font::UNDERLINE_DOUBLE,
189 'strikethrough' => false, 189 'strikethrough' => false,
190 'color' => [ 190 'color' => [
191 'rgb' => '808080' 191 'rgb' => '808080'
192 ] 192 ]
193 ], 193 ],
194 'borders' => [ 194 'borders' => [
195 'allBorders' => [ 195 'allBorders' => [
196 'borderStyle' => Border::BORDER_THIN, 196 'borderStyle' => Border::BORDER_THIN,
197 'color' => [ 197 'color' => [
198 'rgb' => '808080' 198 'rgb' => '808080'
199 ] 199 ]
200 ], 200 ],
201 'outline' => array( 201 'outline' => array(
202 'style' => Border::BORDER_THIN, 202 'style' => Border::BORDER_THIN,
203 'color' => array('rgb' => '000000') 203 'color' => array('rgb' => '000000')
204 ), 204 ),
205 ], 205 ],
206 206
207 'alignment' => [ 207 'alignment' => [
208 'horizontal' => Alignment::HORIZONTAL_CENTER, 208 'horizontal' => Alignment::HORIZONTAL_CENTER,
209 'vertical' => Alignment::VERTICAL_CENTER, 209 'vertical' => Alignment::VERTICAL_CENTER,
210 'wrapText' => true, 210 'wrapText' => true,
211 ] 211 ]
212 ]); 212 ]);
213 213
214 $activeWorksheet->setCellValue('A2', "Псевдоним/имя: ".$user->name); 214 $activeWorksheet->setCellValue('A2', "Псевдоним/имя: ".$user->name);
215 $activeWorksheet->setCellValue('A3', "Фамилия: ".$user->surname); 215 $activeWorksheet->setCellValue('A3', "Фамилия: ".$user->surname);
216 $activeWorksheet->setCellValue('A4', "Имя: ".$user->name_man); 216 $activeWorksheet->setCellValue('A4', "Имя: ".$user->name_man);
217 $activeWorksheet->setCellValue('A5', "Отчество: ".$user->surname2); 217 $activeWorksheet->setCellValue('A5', "Отчество: ".$user->surname2);
218 $activeWorksheet->setCellValue('A6', "Телефон: ".$user->telephone); 218 $activeWorksheet->setCellValue('A6', "Телефон: ".$user->telephone);
219 $activeWorksheet->setCellValue('A7', "Емайл: ".$user->email); 219 $activeWorksheet->setCellValue('A7', "Емайл: ".$user->email);
220 220
221 if (isset($user->workers[0]->id)) { 221 if (isset($user->workers[0]->id)) {
222 $activeWorksheet->setCellValue('A9', "Анкета: "); 222 $activeWorksheet->setCellValue('A9', "Анкета: ");
223 $activeWorksheet->setCellValue('A10', "Телефон: " . $user->workers[0]->telephone); 223 $activeWorksheet->setCellValue('A10', "Телефон: " . $user->workers[0]->telephone);
224 $activeWorksheet->setCellValue('A11', "Емайл: " . $user->workers[0]->email); 224 $activeWorksheet->setCellValue('A11', "Емайл: " . $user->workers[0]->email);
225 } 225 }
226 226
227 if (isset($user->jobtitles[0]->id)) { 227 if (isset($user->jobtitles[0]->id)) {
228 $activeWorksheet->setCellValue('A12', "Должность: " . $user->jobtitles[0]->name); 228 $activeWorksheet->setCellValue('A12', "Должность: " . $user->jobtitles[0]->name);
229 } 229 }
230 $activeWorksheet->getColumnDimension("A")->setWidth(100); 230 $activeWorksheet->getColumnDimension("A")->setWidth(100);
231 $writer = new Xlsx($spreadsheet); 231 $writer = new Xlsx($spreadsheet);
232 232
233 header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); 233 header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
234 header('Content-Disposition: attachment; filename="user'.$id.'.xlsx"'); 234 header('Content-Disposition: attachment; filename="user'.$id.'.xlsx"');
235 header('Cache-Control: no-cache'); 235 header('Cache-Control: no-cache');
236 236
237 $writer->save('php://output'); 237 $writer->save('php://output');
238 $writer->save(storage_path("app/public/export/user$id.xlsx")); 238 $writer->save(storage_path("app/public/export/user$id.xlsx"));
239 239
240 //$spreadsheet->disconnectWorksheets(); 240 //$spreadsheet->disconnectWorksheets();
241 return redirect()->route('admin.basedata'); 241 return redirect()->route('admin.basedata');
242 242
243 } 243 }
244 } 244 }
245 245
app/Http/Controllers/EmployerController.php
1 <?php 1 <?php
2 2
3 namespace App\Http\Controllers; 3 namespace App\Http\Controllers;
4 4
5 use App\Classes\RusDate; 5 use App\Classes\RusDate;
6 use App\Classes\Tools; 6 use App\Classes\Tools;
7 use App\Http\Requests\BaseUser_min_Request; 7 use App\Http\Requests\BaseUser_min_Request;
8 use App\Http\Requests\FlotRequest; 8 use App\Http\Requests\FlotRequest;
9 use App\Http\Requests\MessagesRequiest; 9 use App\Http\Requests\MessagesRequiest;
10 use App\Http\Requests\VacancyRequestEdit; 10 use App\Http\Requests\VacancyRequestEdit;
11 use App\Mail\MailCreateEmployer; 11 use App\Mail\MailCreateEmployer;
12 use App\Mail\MailSotrudnichestvo; 12 use App\Mail\MailSotrudnichestvo;
13 use App\Mail\MassSendingMessages; 13 use App\Mail\MassSendingMessages;
14 use App\Mail\SendAllMessages; 14 use App\Mail\SendAllMessages;
15 use App\Models\Ad_employer; 15 use App\Models\Ad_employer;
16 use App\Models\ad_response; 16 use App\Models\ad_response;
17 use App\Models\Category; 17 use App\Models\Category;
18 use App\Models\Chat; 18 use App\Models\Chat;
19 use App\Models\Employer; 19 use App\Models\Employer;
20 use App\Models\Flot; 20 use App\Models\Flot;
21 use App\Models\Job_title; 21 use App\Models\Job_title;
22 use App\Models\Like_worker; 22 use App\Models\Like_worker;
23 use App\Models\Message; 23 use App\Models\Message;
24 use App\Models\Worker; 24 use App\Models\Worker;
25 use App\Models\MessagesRequests; 25 use App\Models\MessagesRequests;
26 use Carbon\Carbon; 26 use Carbon\Carbon;
27 use Illuminate\Auth\Events\Registered; 27 use Illuminate\Auth\Events\Registered;
28 use Illuminate\Database\Eloquent\Builder; 28 use Illuminate\Database\Eloquent\Builder;
29 use Illuminate\Http\Request; 29 use Illuminate\Http\Request;
30 use Illuminate\Support\Facades\Auth; 30 use Illuminate\Support\Facades\Auth;
31 use Illuminate\Support\Facades\Hash; 31 use Illuminate\Support\Facades\Hash;
32 use Illuminate\Support\Facades\Mail; 32 use Illuminate\Support\Facades\Mail;
33 use Illuminate\Support\Facades\Storage; 33 use Illuminate\Support\Facades\Storage;
34 use App\Models\User as User_Model; 34 use App\Models\User as User_Model;
35 use Illuminate\Support\Facades\Validator; 35 use Illuminate\Support\Facades\Validator;
36 use App\Enums\DbExportColumns; 36 use App\Enums\DbExportColumns;
37 37
38 class EmployerController extends Controller 38 class EmployerController extends Controller
39 { 39 {
40 public function vacancie($vacancy, Request $request) { 40 public function vacancie($vacancy, Request $request) {
41 $title = 'Заголовок вакансии'; 41 $title = 'Заголовок вакансии';
42 $Query = Ad_employer::with('jobs')-> 42 $Query = Ad_employer::with('jobs')->
43 with('cat')-> 43 with('cat')->
44 with('employer')-> 44 with('employer')->
45 with('jobs_code')-> 45 with('jobs_code')->
46 select('ad_employers.*')-> 46 select('ad_employers.*')->
47 where('id', '=', $vacancy)->get(); 47 where('id', '=', $vacancy)->get();
48 48
49 if (isset(Auth()->user()->id)) 49 if (isset(Auth()->user()->id))
50 $uid = Auth()->user()->id; 50 $uid = Auth()->user()->id;
51 else 51 else
52 $uid = 0; 52 $uid = 0;
53 $title = $Query[0]->name; 53 $title = $Query[0]->name;
54 if ($request->ajax()) { 54 if ($request->ajax()) {
55 return view('ajax.vacance-item', compact('Query','uid')); 55 return view('ajax.vacance-item', compact('Query','uid'));
56 } else { 56 } else {
57 return view('vacance-item', compact('title', 'Query', 'uid')); 57 return view('vacance-item', compact('title', 'Query', 'uid'));
58 } 58 }
59 } 59 }
60 60
61 public function logout() { 61 public function logout() {
62 Auth::logout(); 62 Auth::logout();
63 return redirect()->route('index') 63 return redirect()->route('index')
64 ->with('success', 'Вы вышли из личного кабинета'); 64 ->with('success', 'Вы вышли из личного кабинета');
65 } 65 }
66 66
67 public function employer_info() { 67 public function employer_info() {
68 // код юзера 68 // код юзера
69 $user_info = Auth()->user(); 69 $user_info = Auth()->user();
70 // вьюшка для вывода данных 70 // вьюшка для вывода данных
71 return view('employers.info', compact('user_info')); 71 return view('employers.info', compact('user_info'));
72 } 72 }
73 73
74 public function employer_info_save(User_Model $user, BaseUser_min_Request $request) { 74 public function employer_info_save(User_Model $user, BaseUser_min_Request $request) {
75 // Все данные через реквест 75 // Все данные через реквест
76 $all = $request->all(); 76 $all = $request->all();
77 unset($all['_token']); 77 unset($all['_token']);
78 // обновление 78 // обновление
79 $user->update($all); 79 $user->update($all);
80 return redirect()->route('employer.employer_info'); 80 return redirect()->route('employer.employer_info');
81 } 81 }
82 82
83 public function cabinet() { 83 public function cabinet() {
84 $id = Auth()->user()->id; 84 $id = Auth()->user()->id;
85 $Employer = Employer::query()->with('users')->with('ads')->with('flots')-> 85 $Employer = Employer::query()->with('users')->with('ads')->with('flots')->
86 WhereHas('users', 86 WhereHas('users',
87 function (Builder $query) use ($id) {$query->Where('id', $id); 87 function (Builder $query) use ($id) {$query->Where('id', $id);
88 })->get(); 88 })->get();
89 return view('employers.cabinet45', compact('Employer')); 89 return view('employers.cabinet45', compact('Employer'));
90 } 90 }
91 91
92 public function slider_flot() { 92 public function slider_flot() {
93 $id = Auth()->user()->id; 93 $id = Auth()->user()->id;
94 $Employer = Employer::query()->with('users')->with('ads')->with('flots')-> 94 $Employer = Employer::query()->with('users')->with('ads')->with('flots')->
95 WhereHas('users', 95 WhereHas('users',
96 function (Builder $query) use ($id) {$query->Where('id', $id); 96 function (Builder $query) use ($id) {$query->Where('id', $id);
97 })->get(); 97 })->get();
98 return view('employers.fly-flot', compact('Employer')); 98 return view('employers.fly-flot', compact('Employer'));
99 } 99 }
100 100
101 public function cabinet_save(Employer $Employer, Request $request) { 101 public function cabinet_save(Employer $Employer, Request $request) {
102 $params = $request->all(); 102 $params = $request->all();
103 $params['user_id'] = Auth()->user()->id; 103 $params['user_id'] = Auth()->user()->id;
104 $id = $Employer->id; 104 $id = $Employer->id;
105 105
106 if ($request->has('logo')) { 106 if ($request->has('logo')) {
107 if (!empty($Employer->logo)) { 107 if (!empty($Employer->logo)) {
108 Storage::delete($Employer->logo); 108 Storage::delete($Employer->logo);
109 } 109 }
110 $params['logo'] = $request->file('logo')->store("employer/$id", 'public'); 110 $params['logo'] = $request->file('logo')->store("employer/$id", 'public');
111 } 111 }
112 112
113 $Employer->update($params); 113 $Employer->update($params);
114 114
115 return redirect()->route('employer.cabinet')->with('success', 'Данные были успешно сохранены'); 115 return redirect()->route('employer.cabinet')->with('success', 'Данные были успешно сохранены');
116 } 116 }
117 117
118 public function save_add_flot(FlotRequest $request) { 118 public function save_add_flot(FlotRequest $request) {
119 // отмена 119 // отмена
120 $params = $request->all(); 120 $params = $request->all();
121 121
122 if ($request->has('image')) { 122 if ($request->has('image')) {
123 $params['image'] = $request->file('image')->store("flot", 'public'); 123 $params['image'] = $request->file('image')->store("flot", 'public');
124 } 124 }
125 Flot::create($params); 125 Flot::create($params);
126 $data_flots = Flot::query()->where('employer_id', $request->get('employer_if'))->get(); 126 $data_flots = Flot::query()->where('employer_id', $request->get('employer_if'))->get();
127 return redirect()->route('employer.slider_flot')->with('success', 'Новый корабль был добавлен'); 127 return redirect()->route('employer.slider_flot')->with('success', 'Новый корабль был добавлен');
128 } 128 }
129 129
130 public function edit_flot(Flot $Flot, Employer $Employer) { 130 public function edit_flot(Flot $Flot, Employer $Employer) {
131 return view('employers.edit-flot', compact('Flot', 'Employer')); 131 return view('employers.edit-flot', compact('Flot', 'Employer'));
132 } 132 }
133 133
134 public function update_flot(FlotRequest $request, Flot $Flot) { 134 public function update_flot(FlotRequest $request, Flot $Flot) {
135 $params = $request->all(); 135 $params = $request->all();
136 136
137 if ($request->has('image')) { 137 if ($request->has('image')) {
138 if (!empty($flot->image)) { 138 if (!empty($flot->image)) {
139 Storage::delete($flot->image); 139 Storage::delete($flot->image);
140 } 140 }
141 $params['image'] = $request->file('image')->store("flot", 'public'); 141 $params['image'] = $request->file('image')->store("flot", 'public');
142 } else { 142 } else {
143 if (!empty($flot->image)) $params['image'] = $flot->image; 143 if (!empty($flot->image)) $params['image'] = $flot->image;
144 } 144 }
145 145
146 $Flot->update($params); 146 $Flot->update($params);
147 return redirect()->route('employer.slider_flot')->with('success', 'Новый корабль был добавлен'); 147 return redirect()->route('employer.slider_flot')->with('success', 'Новый корабль был добавлен');
148 } 148 }
149 149
150 public function delete_flot(Flot $Flot) { 150 public function delete_flot(Flot $Flot) {
151 $data_flots = Flot::query()->where('employer_id', $Flot->employer_id)->get(); 151 $data_flots = Flot::query()->where('employer_id', $Flot->employer_id)->get();
152 152
153 if (isset($Flot->id)) $Flot->delete(); 153 if (isset($Flot->id)) $Flot->delete();
154 return redirect()->route('employer.slider_flot')->with('success', 'Корабль был удален'); 154 return redirect()->route('employer.slider_flot')->with('success', 'Корабль был удален');
155 } 155 }
156 156
157 // Форма добавления вакансий 157 // Форма добавления вакансий
158 public function cabinet_vacancie() { 158 public function cabinet_vacancie() {
159 $id = Auth()->user()->id; 159 $id = Auth()->user()->id;
160 160
161 if (Auth()->user()->is_public) { 161 if (Auth()->user()->is_public) {
162 $categories = Category::query()->active()->get(); 162 $categories = Category::query()->active()->get();
163 $jobs = Job_title::query()->orderByDesc('sort')->OrderBy('name')-> 163 $jobs = Job_title::query()->orderByDesc('sort')->OrderBy('name')->
164 where('is_remove', '=', '0')-> 164 where('is_remove', '=', '0')->
165 where('is_bd', '=', '0')-> 165 where('is_bd', '=', '0')->
166 get(); 166 get();
167 $Employer = Employer::query()->with('users')->with('ads')->with('flots')-> 167 $Employer = Employer::query()->with('users')->with('ads')->with('flots')->
168 WhereHas('users', 168 WhereHas('users',
169 function (Builder $query) use ($id) { 169 function (Builder $query) use ($id) {
170 $query->Where('id', $id); 170 $query->Where('id', $id);
171 })->get(); 171 })->get();
172 return view('employers.add_vacancy', compact('Employer', 'jobs', 'categories')); 172 return view('employers.add_vacancy', compact('Employer', 'jobs', 'categories'));
173 } else { 173 } else {
174 return redirect()->route('employer.cabinet_vacancie_danger'); 174 return redirect()->route('employer.cabinet_vacancie_danger');
175 } 175 }
176 } 176 }
177 177
178 // Форма предупреждения об оплате 178 // Форма предупреждения об оплате
179 public function cabinet_vacancie_danger() { 179 public function cabinet_vacancie_danger() {
180 return view('employers.add_vacancy_danger'); 180 return view('employers.add_vacancy_danger');
181 } 181 }
182 182
183 // Сохранение вакансии 183 // Сохранение вакансии
184 public function cabinet_vacancy_save1(VacancyRequestEdit $request) { 184 public function cabinet_vacancy_save1(VacancyRequestEdit $request) {
185 $params_emp = $request->all(); 185 $params_emp = $request->all();
186 186
187 $params_job["job_title_id"] = $params_emp['job_title_id']; 187 $params_job["job_title_id"] = $params_emp['job_title_id'];
188 //$params_job["min_salary"] = $params_emp['min_salary']; 188 //$params_job["min_salary"] = $params_emp['min_salary'];
189 //$params_job["max_salary"] = $params_emp['max_salary']; 189 //$params_job["max_salary"] = $params_emp['max_salary'];
190 //$params_job["region"] = $params_emp['region']; 190 //$params_job["region"] = $params_emp['region'];
191 //$params_job["power"] = $params_emp['power']; 191 //$params_job["power"] = $params_emp['power'];
192 //$params_job["sytki"] = $params_emp['sytki']; 192 //$params_job["sytki"] = $params_emp['sytki'];
193 //$params_job["start"] = $params_emp['start']; 193 //$params_job["start"] = $params_emp['start'];
194 //$params_job["flot"] = $params_emp['flot']; 194 //$params_job["flot"] = $params_emp['flot'];
195 //$params_job["description"] = $params_emp['description']; 195 //$params_job["description"] = $params_emp['description'];
196 196
197 $ad_jobs = Ad_employer::create($params_emp); 197 $ad_jobs = Ad_employer::create($params_emp);
198 //$params_job['ad_employer_id'] = $ad_jobs->id; 198 //$params_job['ad_employer_id'] = $ad_jobs->id;
199 //Ad_jobs::create($params_job); 199 //Ad_jobs::create($params_job);
200 $ad_jobs->jobs()->sync($request->get('job_title_id')); 200 $ad_jobs->jobs()->sync($request->get('job_title_id'));
201 201
202 return redirect()->route('employer.vacancy_list'); 202 return redirect()->route('employer.vacancy_list');
203 } 203 }
204 204
205 // Список вакансий 205 // Список вакансий
206 public function vacancy_list(Request $request) { 206 public function vacancy_list(Request $request) {
207 $id = Auth()->user()->id; 207 $id = Auth()->user()->id;
208 208
209 //dd($request->all()); 209 //dd($request->all());
210 $Employer = Employer::query()->where('user_id', $id)->first(); 210 $Employer = Employer::query()->where('user_id', $id)->first();
211 $vacancy_list = Ad_employer::query()->with('jobs')-> 211 $vacancy_list = Ad_employer::query()
212 with('jobs_code')-> 212 ->with('jobs')
213 where('employer_id', $Employer->id); 213 ->with('jobs_code')
214 ->where('employer_id', $Employer->id)
215 ->where('is_remove', 0)
216 ;
214 217
215 if (($request->has('search')) && (!empty($request->get('search')))) { 218 if (($request->has('search')) && (!empty($request->get('search')))) {
216 $search = $request->get('search'); 219 $search = $request->get('search');
217 $vacancy_list = $vacancy_list->where('name', 'LIKE', "%$search%"); 220 $vacancy_list = $vacancy_list->where('name', 'LIKE', "%$search%");
218 } 221 }
219 222
220 if ($request->get('sort')) { 223 if ($request->get('sort')) {
221 $sort = $request->get('sort'); 224 $sort = $request->get('sort');
222 switch ($sort) { 225 switch ($sort) {
223 case 'name_up': $vacancy_list = $vacancy_list->orderBy('name')->orderBy('id'); break; 226 case 'name_up': $vacancy_list = $vacancy_list->orderBy('name')->orderBy('id'); break;
224 case 'name_down': $vacancy_list = $vacancy_list->orderByDesc('name')->orderby('id'); break; 227 case 'name_down': $vacancy_list = $vacancy_list->orderByDesc('name')->orderby('id'); break;
225 case 'nopublic': $vacancy_list->where('active_is', '=', 0)->orderBy('id');break; 228 case 'nopublic': $vacancy_list->where('active_is', '=', 0)->orderBy('id');break;
226 case 'public':$vacancy_list->where('active_is', '=', 1)->orderBy('id');break; 229 case 'public':$vacancy_list->where('active_is', '=', 1)->orderBy('id');break;
227 case 'created_at_up': $vacancy_list = $vacancy_list->OrderBy('created_at')->orderBy('id'); break; 230 case 'created_at_up': $vacancy_list = $vacancy_list->OrderBy('created_at')->orderBy('id'); break;
228 case 'created_at_down': $vacancy_list = $vacancy_list->orderByDesc('created_at')->orderBy('id'); break; 231 case 'created_at_down': $vacancy_list = $vacancy_list->orderByDesc('created_at')->orderBy('id'); break;
229 case 'default': $vacancy_list = $vacancy_list->orderbyDesc('updated_at')->orderBy('name'); break; 232 case 'default': $vacancy_list = $vacancy_list->orderbyDesc('updated_at')->orderBy('name'); break;
230 default: $vacancy_list = $vacancy_list->orderByDesc('id')->orderbyDesc('updated_at'); break; 233 default: $vacancy_list = $vacancy_list->orderByDesc('id')->orderbyDesc('updated_at'); break;
231 } 234 }
232 } else { 235 } else {
233 $vacancy_list = $vacancy_list->orderByDesc('updated_at')->orderBy('id'); 236 $vacancy_list = $vacancy_list->orderByDesc('updated_at')->orderBy('id');
234 } 237 }
235 238
236 $vacancy_list = $vacancy_list->paginate(10); 239 $vacancy_list = $vacancy_list->paginate(10);
237 240
238 //ajax 241 //ajax
239 if ($request->ajax()) { 242 if ($request->ajax()) {
240 return view('employers.ajax.list_vacancy', compact('vacancy_list', 'Employer')); 243 return view('employers.ajax.list_vacancy', compact('vacancy_list', 'Employer'));
241 } else { 244 } else {
242 return view('employers.list_vacancy', compact('vacancy_list', 'Employer')); 245 return view('employers.list_vacancy', compact('vacancy_list', 'Employer'));
243 } 246 }
244 } 247 }
245 248
246 // Карточка вакансии 249 // Карточка вакансии
247 public function vacancy_edit(Ad_employer $ad_employer) { 250 public function vacancy_edit(Ad_employer $ad_employer) {
248 $id = Auth()->user()->id; 251 $id = Auth()->user()->id;
249 $Positions = Category::query()->where('is_remove', '=', '0')->get(); 252 $Positions = Category::query()->where('is_remove', '=', '0')->get();
250 $jobs = Job_title::query()->orderByDesc('sort')->OrderBy('name')-> 253 $jobs = Job_title::query()->orderByDesc('sort')->OrderBy('name')->
251 where('is_remove', '=', '0')-> 254 where('is_remove', '=', '0')->
252 where('is_bd', '=', '0')->get(); 255 where('is_bd', '=', '0')->get();
253 256
254 $Employer = Employer::query()->with('users')->with('ads')-> 257 $Employer = Employer::query()->with('users')->with('ads')->
255 with('flots')->where('user_id', $id)->first(); 258 with('flots')->where('user_id', $id)->first();
256 return view('employers.edit_vacancy', compact('ad_employer', 'Positions','Employer', 'jobs')); 259 return view('employers.edit_vacancy', compact('ad_employer', 'Positions','Employer', 'jobs'));
257 } 260 }
258 261
259 // Сохранение-редактирование записи 262 // Сохранение-редактирование записи
260 public function vacancy_save_me(VacancyRequestEdit $request, Ad_employer $ad_employer) { 263 public function vacancy_save_me(VacancyRequestEdit $request, Ad_employer $ad_employer) {
261 $params = $request->all(); 264 $params = $request->all();
262 $params_job["job_title_id"] = $params['job_title_id']; 265 $params_job["job_title_id"] = $params['job_title_id'];
263 266
264 $ad_employer->update($params); 267 $ad_employer->update($params);
265 $ad_employer->jobs()->sync($request->get('job_title_id')); 268 $ad_employer->jobs()->sync($request->get('job_title_id'));
266 269
267 $id = Auth()->user()->id; 270 $id = Auth()->user()->id;
268 $Positions = Category::query()->where('is_remove', '=', '0')->get(); 271 $Positions = Category::query()->where('is_remove', '=', '0')->get();
269 $jobs = Job_title::query()->orderByDesc('sort')->OrderBy('name') 272 $jobs = Job_title::query()->orderByDesc('sort')->OrderBy('name')
270 ->where('is_remove', '=', '0') 273 ->where('is_remove', '=', '0')
271 ->where('is_bd', '=', '0') 274 ->where('is_bd', '=', '0')
272 ->get(); 275 ->get();
273 276
274 $Employer = Employer::query() 277 $Employer = Employer::query()
275 ->with('users')->with('ads')->with('flots')->where('user_id', $id)->first(); 278 ->with('users')->with('ads')->with('flots')->where('user_id', $id)->first();
276 return view('employers.edit_vacancy', compact('ad_employer', 'Positions','Employer', 'jobs')); 279 return view('employers.edit_vacancy', compact('ad_employer', 'Positions','Employer', 'jobs'));
277 } 280 }
278 281
279 // Сохранение карточки вакансии 282 // Сохранение карточки вакансии
280 public function vacancy_save(Request $request, Ad_employer $ad_employer) { 283 public function vacancy_save(Request $request, Ad_employer $ad_employer) {
281 $all = $request->all(); 284 $all = $request->all();
282 $ad_employer->update($all); 285 $ad_employer->update($all);
283 return redirect()->route('employer.cabinet_vacancie'); 286 return redirect()->route('employer.cabinet_vacancie');
284 } 287 }
285 288
286 // Удаление карточки вакансии 289 // Удаление карточки вакансии
287 public function vacancy_delete(Ad_employer $ad_employer) { 290 public function vacancy_delete(Ad_employer $ad_employer) {
288 $ad_employer->delete(); 291 $ad_employer->delete();
289 292
290 return redirect()->route('employer.vacancy_list') 293 return redirect()->route('employer.vacancy_list')
291 ->with('success', 'Данные были успешно сохранены'); 294 ->with('success', 'Данные были успешно сохранены');
292 } 295 }
293 296
294 // Обновление даты 297 // Обновление даты
295 public function vacancy_up(Ad_employer $ad_employer) { 298 public function vacancy_up(Ad_employer $ad_employer) {
296 $up = date('m/d/Y h:i:s', time());; 299 $up = date('m/d/Y h:i:s', time());;
297 $vac_emp = Ad_employer::findOrFail($ad_employer->id); 300 $vac_emp = Ad_employer::findOrFail($ad_employer->id);
298 $vac_emp->updated_at = $up; 301 $vac_emp->updated_at = $up;
299 $vac_emp->save(); 302 $vac_emp->save();
300 303
301 return redirect()->back(); //route('employer.vacancy_list'); 304 return redirect()->back(); //route('employer.vacancy_list');
302 // начало конца 305 // начало конца
303 } 306 }
304 307
305 //Видимость вакансии 308 //Видимость вакансии
306 public function vacancy_eye(Ad_employer $ad_employer, $status) { 309 public function vacancy_eye(Ad_employer $ad_employer, $status) {
307 $vac_emp = Ad_employer::findOrFail($ad_employer->id); 310 $vac_emp = Ad_employer::findOrFail($ad_employer->id);
308 $vac_emp->active_is = $status; 311 $vac_emp->active_is = $status;
309 $vac_emp->save(); 312 $vac_emp->save();
310 313
311 return redirect()->route('employer.vacancy_list'); 314 return redirect()->route('employer.vacancy_list');
312 } 315 }
313 316
314 //Вакансия редактирования (шаблон) 317 //Вакансия редактирования (шаблон)
315 public function vacancy_update(Ad_employer $id) { 318 public function vacancy_update(Ad_employer $id) {
316 319
317 } 320 }
318 321
319 //Отклики на вакансию - лист 322 //Отклики на вакансию - лист
320 public function answers(Employer $employer, Request $request) { 323 public function answers(Employer $employer, Request $request) {
321 $user_id = Auth()->user()->id; 324 $user_id = Auth()->user()->id;
322 $answer = Ad_employer::query()->where('employer_id', $employer->id); 325 $answer = Ad_employer::query()->where('employer_id', $employer->id);
323 if ($request->has('search')) { 326 if ($request->has('search')) {
324 $search = trim($request->get('search')); 327 $search = trim($request->get('search'));
325 if (!empty($search)) $answer = $answer->where('name', 'LIKE', "%$search%"); 328 if (!empty($search)) $answer = $answer->where('name', 'LIKE', "%$search%");
326 } 329 }
327 330
328 $answer = $answer->with('response')->OrderByDESC('id')->get(); 331 $answer = $answer->with('response')->OrderByDESC('id')->get();
329 332
330 return view('employers.list_answer', compact('answer', 'user_id', 'employer')); 333 return view('employers.list_answer', compact('answer', 'user_id', 'employer'));
331 } 334 }
332 335
333 //Обновление статуса 336 //Обновление статуса
334 public function supple_status(employer $employer, ad_response $ad_response, $flag) { 337 public function supple_status(employer $employer, ad_response $ad_response, $flag) {
335 $ad_response->update(Array('flag' => $flag)); 338 $ad_response->update(Array('flag' => $flag));
336 return redirect()->route('employer.answers', ['employer' => $employer->id]); 339 return redirect()->route('employer.answers', ['employer' => $employer->id]);
337 } 340 }
338 341
339 //Страницы сообщений список 342 //Страницы сообщений список
340 public function messages($type_message) { 343 public function messages($type_message) {
341 $user_id = Auth()->user()->id; 344 $user_id = Auth()->user()->id;
342 345
343 $chats = Chat::get_user_chats($user_id); 346 $chats = Chat::get_user_chats($user_id);
344 $user_type = 'employer'; 347 $user_type = 'employer';
345 $admin_chat = false; 348 $admin_chat = false;
346 349
347 return view('employers.messages', compact('chats', 'admin_chat', 'user_id', 'user_type')); 350 return view('employers.messages', compact('chats', 'admin_chat', 'user_id', 'user_type'));
348 } 351 }
349 352
350 // Диалог между пользователями 353 // Диалог между пользователями
351 public function dialog(Chat $chat, Request $request) { 354 public function dialog(Chat $chat, Request $request) {
352 // Получение параметров. 355 // Получение параметров.
353 if ($request->has('ad_employer')){ 356 if ($request->has('ad_employer')){
354 $ad_employer = $request->get('ad_employer'); 357 $ad_employer = $request->get('ad_employer');
355 } else { 358 } else {
356 $ad_employer = 0; 359 $ad_employer = 0;
357 } 360 }
358 361
359 $sender = User_Model::query()->with('workers')->with('employers')->where('id', $chat->user_id)->first(); 362 $sender = User_Model::query()->with('workers')->with('employers')->where('id', $chat->user_id)->first();
360 $companion = User_Model::query()->with('workers')->with('employers')->where('id', $chat->to_user_id)->first(); 363 $companion = User_Model::query()->with('workers')->with('employers')->where('id', $chat->to_user_id)->first();
361 364
362 $Messages = Chat::get_chat_messages($chat); 365 $Messages = Chat::get_chat_messages($chat);
363 366
364 Message::where('user_id', '=', $chat->to_user_id)->where('to_user_id', '=', $chat->user_id)->update(['flag_new' => 0]); 367 Message::where('user_id', '=', $chat->to_user_id)->where('to_user_id', '=', $chat->user_id)->update(['flag_new' => 0]);
365 368
366 return view('employers.dialog', compact('companion', 'sender', 'ad_employer', 'Messages')); 369 return view('employers.dialog', compact('companion', 'sender', 'ad_employer', 'Messages'));
367 } 370 }
368 371
369 public function pin_chat(Request $request){ 372 public function pin_chat(Request $request){
370 $chat_id = $request->get('id'); 373 $chat_id = $request->get('id');
371 $is_fixed = $request->get('is_fixed'); 374 $is_fixed = $request->get('is_fixed');
372 375
373 Chat::pin_chat($chat_id, $is_fixed); 376 Chat::pin_chat($chat_id, $is_fixed);
374 } 377 }
375 378
376 public function remove_chat(Request $request){ 379 public function remove_chat(Request $request){
377 $chat_id = $request->get('id'); 380 $chat_id = $request->get('id');
378 Chat::remove_chat($chat_id); 381 Chat::remove_chat($chat_id);
379 } 382 }
380 383
381 // Регистрация работодателя 384 // Регистрация работодателя
382 public function register_employer(Request $request) { 385 public function register_employer(Request $request) {
383 $params = $request->all(); 386 $params = $request->all();
384 387
385 $rules = [ 388 $rules = [
386 //'surname' => ['required', 'string', 'max:255'], 389 //'surname' => ['required', 'string', 'max:255'],
387 //'name_man' => ['required', 'string', 'max:255'], 390 //'name_man' => ['required', 'string', 'max:255'],
388 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 391 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
389 'name_company' => ['required', 'string', 'max:255'], 392 'name_company' => ['required', 'string', 'max:255'],
390 'password' => ['required', 'string', 'min:6'], 393 'password' => ['required', 'string', 'min:6'],
391 ]; 394 ];
392 395
393 396
394 $messages = [ 397 $messages = [
395 'required' => 'Укажите обязательное поле', 398 'required' => 'Укажите обязательное поле',
396 'min' => [ 399 'min' => [
397 'string' => 'Поле «:attribute» должно быть не меньше :min символов', 400 'string' => 'Поле «:attribute» должно быть не меньше :min символов',
398 'integer' => 'Поле «:attribute» должно быть :min или больше', 401 'integer' => 'Поле «:attribute» должно быть :min или больше',
399 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт' 402 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт'
400 ], 403 ],
401 'max' => [ 404 'max' => [
402 'string' => 'Поле «:attribute» должно быть не больше :max символов', 405 'string' => 'Поле «:attribute» должно быть не больше :max символов',
403 'integer' => 'Поле «:attribute» должно быть :max или меньше', 406 'integer' => 'Поле «:attribute» должно быть :max или меньше',
404 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт' 407 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт'
405 ] 408 ]
406 ]; 409 ];
407 410
408 $email = $request->get('email'); 411 $email = $request->get('email');
409 if (!preg_match("/^[a-zA-Z0-9_\-.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-.]+$/", $email)) { 412 if (!preg_match("/^[a-zA-Z0-9_\-.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-.]+$/", $email)) {
410 return json_encode(Array("ERROR" => "Error: Отсутствует емайл или некорректный емайл")); 413 return json_encode(Array("ERROR" => "Error: Отсутствует емайл или некорректный емайл"));
411 } 414 }
412 415
413 if ($request->get('password') !== $request->get('confirmed')){ 416 if ($request->get('password') !== $request->get('confirmed')){
414 return json_encode(Array("ERROR" => "Error: Не совпадают пароль и подтверждение пароля")); 417 return json_encode(Array("ERROR" => "Error: Не совпадают пароль и подтверждение пароля"));
415 } 418 }
416 419
417 if (strlen($request->get('password')) < 6) { 420 if (strlen($request->get('password')) < 6) {
418 return json_encode(Array("ERROR" => "Error: Недостаточная длина пароля! Увеличьте себе длину пароля!")); 421 return json_encode(Array("ERROR" => "Error: Недостаточная длина пароля! Увеличьте себе длину пароля!"));
419 } 422 }
420 423
421 if (empty($request->get('surname'))) { 424 if (empty($request->get('surname'))) {
422 $params['surname'] = 'Неизвестно'; 425 $params['surname'] = 'Неизвестно';
423 } 426 }
424 if (empty($request->get('name_man'))) { 427 if (empty($request->get('name_man'))) {
425 $params['name_man'] = 'Неизвестно'; 428 $params['name_man'] = 'Неизвестно';
426 } 429 }
427 $validator = Validator::make($params, $rules, $messages); 430 $validator = Validator::make($params, $rules, $messages);
428 431
429 if ($validator->fails()) { 432 if ($validator->fails()) {
430 return json_encode(Array("ERROR" => "Error1: Регистрация оборвалась ошибкой! Не все обязательные поля заполнены. Либо вы уже были зарегистрированы в системе.")); 433 return json_encode(Array("ERROR" => "Error1: Регистрация оборвалась ошибкой! Не все обязательные поля заполнены. Либо вы уже были зарегистрированы в системе."));
431 } else { 434 } else {
432 $user = $this->create($params); 435 $user = $this->create($params);
433 event(new Registered($user)); 436 event(new Registered($user));
434 437
435 Mail::to(env('EMAIL_ADMIN'))->send(new MailCreateEmployer($params)); 438 Mail::to(env('EMAIL_ADMIN'))->send(new MailCreateEmployer($params));
436 439
437 Auth::guard()->login($user); 440 Auth::guard()->login($user);
438 } 441 }
439 442
440 if ($user) { 443 if ($user) {
441 return json_encode(Array("REDIRECT" => redirect()->route('employer.cabinet')->getTargetUrl()));; 444 return json_encode(Array("REDIRECT" => redirect()->route('employer.cabinet')->getTargetUrl()));;
442 } else { 445 } else {
443 return json_encode(Array("ERROR" => "Error2: Данные были утеряны!")); 446 return json_encode(Array("ERROR" => "Error2: Данные были утеряны!"));
444 } 447 }
445 } 448 }
446 449
447 // Создание пользователя 450 // Создание пользователя
448 protected function create(array $data) 451 protected function create(array $data)
449 { 452 {
450 $Use = new User_Model(); 453 $Use = new User_Model();
451 $Code_user = $Use->create([ 454 $Code_user = $Use->create([
452 'name' => $data['surname']." ".$data['name_man'], 455 'name' => $data['surname']." ".$data['name_man'],
453 'name_man' => $data['name_man'], 456 'name_man' => $data['name_man'],
454 'surname' => $data['surname'], 457 'surname' => $data['surname'],
455 'surname2' => $data['surname2'], 458 'surname2' => $data['surname2'],
456 'subscribe_email' => $data['email'], 459 'subscribe_email' => $data['email'],
457 'email' => $data['email'], 460 'email' => $data['email'],
458 'telephone' => $data['telephone'], 461 'telephone' => $data['telephone'],
459 'is_worker' => 0, 462 'is_worker' => 0,
460 'password' => Hash::make($data['password']), 463 'password' => Hash::make($data['password']),
461 'pubpassword' => base64_encode($data['password']), 464 'pubpassword' => base64_encode($data['password']),
462 'email_verified_at' => Carbon::now() 465 'email_verified_at' => Carbon::now()
463 ]); 466 ]);
464 467
465 if ($Code_user->id > 0) { 468 if ($Code_user->id > 0) {
466 $Employer = new Employer(); 469 $Employer = new Employer();
467 $Employer->user_id = $Code_user->id; 470 $Employer->user_id = $Code_user->id;
468 $Employer->name_company = $data['name_company']; 471 $Employer->name_company = $data['name_company'];
469 $Employer->email = $data['email']; 472 $Employer->email = $data['email'];
470 $Employer->telephone = $data['telephone']; 473 $Employer->telephone = $data['telephone'];
471 $Employer->code = Tools::generator_id(10); 474 $Employer->code = Tools::generator_id(10);
472 $Employer->save(); 475 $Employer->save();
473 476
474 return $Code_user; 477 return $Code_user;
475 } 478 }
476 } 479 }
477 480
478 // Отправка сообщения от работодателя 481 // Отправка сообщения от работодателя
479 public function send_message(MessagesRequiest $request) { 482 public function send_message(MessagesRequiest $request) {
480 $params = $request->all(); 483 $params = $request->all();
481 dd($params); 484 dd($params);
482 $user1 = $params['user_id']; 485 $user1 = $params['user_id'];
483 $user2 = $params['to_user_id']; 486 $user2 = $params['to_user_id'];
484 487
485 if ($request->has('file')) { 488 if ($request->has('file')) {
486 $params['file'] = $request->file('file')->store("messages", 'public'); 489 $params['file'] = $request->file('file')->store("messages", 'public');
487 } 490 }
488 Message::create($params); 491 Message::create($params);
489 return redirect()->route('employer.dialog', ['user1' => $user1, 'user2' => $user2]); 492 return redirect()->route('employer.dialog', ['user1' => $user1, 'user2' => $user2]);
490 } 493 }
491 494
492 public function test123(Request $request) { 495 public function test123(Request $request) {
493 $params = $request->all(); 496 $params = $request->all();
494 $user1 = $params['user_id']; 497 $user1 = $params['user_id'];
495 $user2 = $params['to_user_id']; 498 $user2 = $params['to_user_id'];
496 $id_vacancy = $params['ad_employer_id']; 499 $id_vacancy = $params['ad_employer_id'];
497 $ad_name = $params['ad_name']; 500 $ad_name = $params['ad_name'];
498 501
499 $rules = [ 502 $rules = [
500 'text' => 'required|min:1|max:150000', 503 'text' => 'required|min:1|max:150000',
501 'file' => 'file|mimes:doc,docx,xlsx,csv,txt,xlx,xls,pdf|max:150000' 504 'file' => 'file|mimes:doc,docx,xlsx,csv,txt,xlx,xls,pdf|max:150000'
502 ]; 505 ];
503 $messages = [ 506 $messages = [
504 'required' => 'Укажите обязательное поле', 507 'required' => 'Укажите обязательное поле',
505 'min' => [ 508 'min' => [
506 'string' => 'Поле «:attribute» должно быть не меньше :min символов', 509 'string' => 'Поле «:attribute» должно быть не меньше :min символов',
507 'integer' => 'Поле «:attribute» должно быть :min или больше', 510 'integer' => 'Поле «:attribute» должно быть :min или больше',
508 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт' 511 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт'
509 ], 512 ],
510 'max' => [ 513 'max' => [
511 'string' => 'Поле «:attribute» должно быть не больше :max символов', 514 'string' => 'Поле «:attribute» должно быть не больше :max символов',
512 'integer' => 'Поле «:attribute» должно быть :max или меньше', 515 'integer' => 'Поле «:attribute» должно быть :max или меньше',
513 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт' 516 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт'
514 ] 517 ]
515 ]; 518 ];
516 519
517 $validator = Validator::make($request->all(), $rules, $messages); 520 $validator = Validator::make($request->all(), $rules, $messages);
518 521
519 /*if ($validator->fails()) { 522 /*if ($validator->fails()) {
520 return redirect()->route('employer.dialog', ['user1' => $user1, 'user2' => $user2]) 523 return redirect()->route('employer.dialog', ['user1' => $user1, 'user2' => $user2])
521 ->withErrors($validator); 524 ->withErrors($validator);
522 } else { 525 } else {
523 if ($request->has('file')) { 526 if ($request->has('file')) {
524 $params['file'] = $request->file('file')->store("messages", 'public'); 527 $params['file'] = $request->file('file')->store("messages", 'public');
525 } 528 }
526 Message::create($params); 529 Message::create($params);
527 //return redirect()->route('employer.dialog', ['user1' => $user1, 'user2' => $user2]); 530 //return redirect()->route('employer.dialog', ['user1' => $user1, 'user2' => $user2]);
528 return redirect()->route('employer.dialog', 531 return redirect()->route('employer.dialog',
529 ['user1' => $user1, 'user2' => $user2, 'ad_employer' => $id_vacancy, 'ad_name' => $ad_name]); 532 ['user1' => $user1, 'user2' => $user2, 'ad_employer' => $id_vacancy, 'ad_name' => $ad_name]);
530 533
531 }*/ 534 }*/
532 535
533 if ($validator->fails()) { 536 if ($validator->fails()) {
534 return redirect()->route('employer.dialog', ['user1' => $user1, 'user2' => $user2]) 537 return redirect()->route('employer.dialog', ['user1' => $user1, 'user2' => $user2])
535 ->withErrors($validator); 538 ->withErrors($validator);
536 } else { 539 } else {
537 $new_message = Message::add_message($request, $user1, $user2, $request->all(), file_store_path: 'messages'); 540 $new_message = Message::add_message($request, $user1, $user2, $request->all(), file_store_path: 'messages');
538 541
539 //return redirect()->route('employer.dialog', ['user1' => $user1, 'user2' => $user2]); 542 //return redirect()->route('employer.dialog', ['user1' => $user1, 'user2' => $user2]);
540 return redirect()->route('employer.dialog', ['chat' => $new_message->chat_id_from]); 543 return redirect()->route('employer.dialog', ['chat' => $new_message->chat_id_from]);
541 544
542 } 545 }
543 } 546 }
544 547
545 //Избранные люди 548 //Избранные люди
546 public function favorites(Request $request) { 549 public function favorites(Request $request) {
547 $IP_address = RusDate::ip_addr_client(); 550 $IP_address = RusDate::ip_addr_client();
548 $Arr = Like_worker::Query()->select('code_record')->where('ip_address', '=', $IP_address)->get(); 551 $Arr = Like_worker::Query()->select('code_record')->where('ip_address', '=', $IP_address)->get();
549 552
550 if ($Arr->count()) { 553 if ($Arr->count()) {
551 $A = Array(); 554 $A = Array();
552 foreach ($Arr as $it) { 555 foreach ($Arr as $it) {
553 $A[] = $it->code_record; 556 $A[] = $it->code_record;
554 } 557 }
555 558
556 $Workers = Worker::query()->whereIn('id', $A); 559 $Workers = Worker::query()->whereIn('id', $A);
557 } else { 560 } else {
558 $Workers = Worker::query()->where('id', '=', '0'); 561 $Workers = Worker::query()->where('id', '=', '0');
559 } 562 }
560 563
561 if (($request->has('search')) && (!empty($request->get('search')))) { 564 if (($request->has('search')) && (!empty($request->get('search')))) {
562 $search = $request->get('search'); 565 $search = $request->get('search');
563 566
564 $Workers = $Workers->WhereHas('users', 567 $Workers = $Workers->WhereHas('users',
565 function (Builder $query) use ($search) { 568 function (Builder $query) use ($search) {
566 $query->Where('surname', 'LIKE', "%$search%") 569 $query->Where('surname', 'LIKE', "%$search%")
567 ->orWhere('name_man', 'LIKE', "%$search%") 570 ->orWhere('name_man', 'LIKE', "%$search%")
568 ->orWhere('surname2', 'LIKE', "%$search%"); 571 ->orWhere('surname2', 'LIKE', "%$search%");
569 }); 572 });
570 } else { 573 } else {
571 $Workers = $Workers->with('users'); 574 $Workers = $Workers->with('users');
572 } 575 }
573 576
574 $Workers = $Workers->get(); 577 $Workers = $Workers->get();
575 578
576 579
577 return view('employers.favorite', compact('Workers')); 580 return view('employers.favorite', compact('Workers'));
578 } 581 }
579 582
580 // База данных 583 // База данных
581 public function bd(Request $request) { 584 public function bd(Request $request) {
582 $users = User_Model::query()->with('workers')->with('jobtitles'); 585 $users = User_Model::query()->with('workers')->with('jobtitles');
583 586
584 if ($request->has('search')) { 587 if ($request->has('search')) {
585 $find_key = $request->get('search'); 588 $find_key = $request->get('search');
586 $users = $users->where('name', 'LIKE', "%$find_key%") 589 $users = $users->where('name', 'LIKE', "%$find_key%")
587 ->orWhere('surname', 'LIKE', "%$find_key%") 590 ->orWhere('surname', 'LIKE', "%$find_key%")
588 ->orWhere('name_man', 'LIKE', "%$find_key%") 591 ->orWhere('name_man', 'LIKE', "%$find_key%")
589 ->orWhere('email', 'LIKE', "%$find_key%") 592 ->orWhere('email', 'LIKE', "%$find_key%")
590 ->orWhere('telephone', 'LIKE', "%$find_key%"); 593 ->orWhere('telephone', 'LIKE', "%$find_key%");
591 } 594 }
592 595
593 // Данные 596 // Данные
594 $users = $users->Baseuser()-> 597 $users = $users->Baseuser()->
595 orderByDesc(Worker::select('created_at')->whereColumn('workers.user_id', 'users.id')); 598 orderByDesc(Worker::select('created_at')->whereColumn('workers.user_id', 'users.id'));
596 $count_users = $users; 599 $count_users = $users;
597 $users = $users->paginate(5); 600 $users = $users->paginate(5);
598 601
599 $export_options = DbExportColumns::toArray(); 602 $export_options = DbExportColumns::toArray();
600 603
601 $jobs_titles = Job_title::select('id', 'name') 604 $jobs_titles = Job_title::select('id', 'name')
602 ->where('is_remove', '=', 0) 605 ->where('is_remove', '=', 0)
603 ->where('is_bd', '=', 2) 606 ->where('is_bd', '=', 2)
604 ->orderByDesc('sort') 607 ->orderByDesc('sort')
605 ->orderBy('name', 'asc') 608 ->orderBy('name', 'asc')
606 ->get() 609 ->get()
607 ->toArray() 610 ->toArray()
608 ; 611 ;
609 612
610 return view('employers.bd', compact('users', 'count_users', 'export_options', 'jobs_titles')); 613 return view('employers.bd', compact('users', 'count_users', 'export_options', 'jobs_titles'));
611 } 614 }
612 615
613 //Настройка уведомлений 616 //Настройка уведомлений
614 public function subscribe() { 617 public function subscribe() {
615 return view('employers.subcribe'); 618 return view('employers.subcribe');
616 } 619 }
617 620
618 //Установка уведомлений сохранение 621 //Установка уведомлений сохранение
619 public function save_subscribe(Request $request) { 622 public function save_subscribe(Request $request) {
620 dd($request->all()); 623 dd($request->all());
621 $msg = $request->validate([ 624 $msg = $request->validate([
622 'subscribe_email' => 'required|email|min:5|max:255', 625 'subscribe_email' => 'required|email|min:5|max:255',
623 ]); 626 ]);
624 return redirect()->route('employer.subscribe')->with('Вы успешно подписались на рассылку'); 627 return redirect()->route('employer.subscribe')->with('Вы успешно подписались на рассылку');
625 } 628 }
626 629
627 //Сбросить форму с паролем 630 //Сбросить форму с паролем
628 public function password_reset() { 631 public function password_reset() {
629 $email = Auth()->user()->email; 632 $email = Auth()->user()->email;
630 return view('employers.password-reset', compact('email')); 633 return view('employers.password-reset', compact('email'));
631 } 634 }
632 635
633 //Обновление пароля 636 //Обновление пароля
634 public function new_password(Request $request) { 637 public function new_password(Request $request) {
635 $use = Auth()->user(); 638 $use = Auth()->user();
636 $request->validate([ 639 $request->validate([
637 'password' => 'required|string', 640 'password' => 'required|string',
638 'new_password' => 'required|string', 641 'new_password' => 'required|string',
639 'new_password2' => 'required|string' 642 'new_password2' => 'required|string'
640 ]); 643 ]);
641 644
642 if ($request->get('new_password') == $request->get('new_password2')) 645 if ($request->get('new_password') == $request->get('new_password2'))
643 if ($request->get('password') !== $request->get('new_password')) { 646 if ($request->get('password') !== $request->get('new_password')) {
644 $credentials = $request->only('email', 'password'); 647 $credentials = $request->only('email', 'password');
645 if (Auth::attempt($credentials)) { 648 if (Auth::attempt($credentials)) {
646 649
647 if (!is_null($use->email_verified_at)){ 650 if (!is_null($use->email_verified_at)){
648 651
649 $user_data = User_Model::find($use->id); 652 $user_data = User_Model::find($use->id);
650 $user_data->update([ 653 $user_data->update([
651 'password' => Hash::make($request->get('new_password')), 654 'password' => Hash::make($request->get('new_password')),
652 'pubpassword' => base64_encode($request->get('new_password')), 655 'pubpassword' => base64_encode($request->get('new_password')),
653 ]); 656 ]);
654 return redirect() 657 return redirect()
655 ->route('employer.password_reset') 658 ->route('employer.password_reset')
656 ->with('success', 'Поздравляю! Вы обновили свой пароль!'); 659 ->with('success', 'Поздравляю! Вы обновили свой пароль!');
657 } 660 }
658 661
659 return redirect() 662 return redirect()
660 ->route('employer.password_reset') 663 ->route('employer.password_reset')
661 ->withError('Данная учетная запись не было верифицированна!'); 664 ->withError('Данная учетная запись не было верифицированна!');
662 } 665 }
663 } 666 }
664 667
665 return redirect() 668 return redirect()
666 ->route('employer.password_reset') 669 ->route('employer.password_reset')
667 ->withErrors('Не совпадение данных, обновите пароли!'); 670 ->withErrors('Не совпадение данных, обновите пароли!');
668 } 671 }
669 672
670 673
671 674
672 // Форма Удаление пипла 675 // Форма Удаление пипла
673 public function delete_people() { 676 public function delete_people() {
674 $login = Auth()->user()->email; 677 $login = Auth()->user()->email;
675 return view('employers.delete_people', compact('login')); 678 return view('employers.delete_people', compact('login'));
676 } 679 }
677 680
678 // Удаление аккаунта 681 // Удаление аккаунта
679 public function action_delete_user(Request $request) { 682 public function action_delete_user(Request $request) {
680 $Answer = $request->all(); 683 $Answer = $request->all();
681 $user_id = Auth()->user()->id; 684 $user_id = Auth()->user()->id;
682 $request->validate([ 685 $request->validate([
683 'password' => 'required|string', 686 'password' => 'required|string',
684 ]); 687 ]);
685 688
686 $credentials = $request->only('email', 'password'); 689 $credentials = $request->only('email', 'password');
687 if (Auth::attempt($credentials)) { 690 if (Auth::attempt($credentials)) {
688 Auth::logout(); 691 Auth::logout();
689 $it = User_Model::find($user_id); 692 $it = User_Model::find($user_id);
690 $it->delete(); 693 $it->delete();
691 return redirect()->route('index')->with('success', 'Вы успешно удалили свой аккаунт'); 694 return redirect()->route('index')->with('success', 'Вы успешно удалили свой аккаунт');
692 } else { 695 } else {
693 return redirect()->route('employer.delete_people') 696 return redirect()->route('employer.delete_people')
694 ->withErrors( 'Неверный пароль! Нужен корректный пароль'); 697 ->withErrors( 'Неверный пароль! Нужен корректный пароль');
695 } 698 }
696 } 699 }
697 700
698 public function ajax_delete_user(Request $request) { 701 public function ajax_delete_user(Request $request) {
699 $Answer = $request->all(); 702 $Answer = $request->all();
700 $user_id = Auth()->user()->id; 703 $user_id = Auth()->user()->id;
701 $request->validate([ 704 $request->validate([
702 'password' => 'required|string', 705 'password' => 'required|string',
703 ]); 706 ]);
704 $credentials = $request->only('email', 'password'); 707 $credentials = $request->only('email', 'password');
705 if (Auth::attempt($credentials)) { 708 if (Auth::attempt($credentials)) {
706 709
707 return json_encode(Array('SUCCESS' => 'Вы успешно удалили свой аккаунт', 710 return json_encode(Array('SUCCESS' => 'Вы успешно удалили свой аккаунт',
708 'email' => $request->get('email'), 711 'email' => $request->get('email'),
709 'password' => $request->get('password'))); 712 'password' => $request->get('password')));
710 } else { 713 } else {
711 return json_encode(Array('ERROR' => 'Неверный пароль! Нужен корректный пароль')); 714 return json_encode(Array('ERROR' => 'Неверный пароль! Нужен корректный пароль'));
712 } 715 }
713 } 716 }
714 717
715 // FAQ - Вопросы/ответы для работодателей и соискателей 718 // FAQ - Вопросы/ответы для работодателей и соискателей
716 public function faq() { 719 public function faq() {
717 return view('employers.faq'); 720 return view('employers.faq');
718 } 721 }
719 722
720 // Рассылка сообщений 723 // Рассылка сообщений
721 public function send_all_messages() { 724 public function send_all_messages() {
722 $id = Auth()->user()->id; 725 $id = Auth()->user()->id;
723 $sending = Employer::query()->where('user_id', '=', "$id")->first(); 726 $sending = Employer::query()->where('user_id', '=', "$id")->first();
724 727
725 $job_titles = Job_title::query() 728 $job_titles = Job_title::query()
726 ->where('is_remove', '=', 0) 729 ->where('is_remove', '=', 0)
727 ->where('is_bd', '=', 1) 730 ->where('is_bd', '=', 1)
728 ->orderByDesc('sort') 731 ->orderByDesc('sort')
729 ->get() 732 ->get()
730 ; 733 ;
731 734
732 if ($sending->sending_is) 735 if ($sending->sending_is)
733 return view('employers.send_all', compact('job_titles')); 736 return view('employers.send_all', compact('job_titles'));
734 else 737 else
735 return view('employers.send_all_danger'); 738 return view('employers.send_all_danger');
736 } 739 }
737 740
738 // Отправка сообщений для информации 741 // Отправка сообщений для информации
739 public function send_all_post(Request $request) { 742 public function send_all_post(Request $request) {
740 $data = $request->all(); 743 $data = $request->all();
741 $data['user'] = Auth()->user(); 744 $data['user'] = Auth()->user();
742 745
743 $id = MessagesRequests::create([ 746 $id = MessagesRequests::create([
744 'user_id' => Auth()->user()->id, 747 'user_id' => Auth()->user()->id,
745 'job_titles' => json_encode($data['job_title_ids']), 748 'job_titles' => json_encode($data['job_title_ids']),
746 'text' => $data['message_text'], 749 'text' => $data['message_text'],
747 ]); 750 ]);
748 751
749 if (!empty($id)){ 752 if (!empty($id)){
750 Mail::to(env('EMAIL_ADMIN'))->send(new MassSendingMessages($data)); 753 Mail::to(env('EMAIL_ADMIN'))->send(new MassSendingMessages($data));
751 } 754 }
752 755
753 /*$emails = User_Model::query()->where('is_worker', '1')->get(); 756 /*$emails = User_Model::query()->where('is_worker', '1')->get();
754 757
755 foreach ($emails as $e) { 758 foreach ($emails as $e) {
756 Mail::to($e->email)->send(new SendAllMessages($data)); 759 Mail::to($e->email)->send(new SendAllMessages($data));
757 }*/ 760 }*/
758 761
759 return redirect()->route('employer.send_all_messages')->with('success', 'Запрос на рассылку был успешно отправлен.'); 762 return redirect()->route('employer.send_all_messages')->with('success', 'Запрос на рассылку был успешно отправлен.');
760 } 763 }
761 764
762 // База резюме 765 // База резюме
763 public function bd_tupe(Request $request) { 766 public function bd_tupe(Request $request) {
764 $Resume = User_Model::query()->with('workers')->where('is_bd', '=', '1')->get(); 767 $Resume = User_Model::query()->with('workers')->where('is_bd', '=', '1')->get();
765 768
766 return view('employers.bd_tupe', compact('Resume')); 769 return view('employers.bd_tupe', compact('Resume'));
767 } 770 }
768 771
769 ////////////////////////////////////////////////////////////////// 772 //////////////////////////////////////////////////////////////////
770 // Отправил сообщение 773 // Отправил сообщение
771 ////////////////////////////////////////////////////////////////// 774 //////////////////////////////////////////////////////////////////
772 public function new_message(Request $request) { 775 public function new_message(Request $request) {
773 $params = $request->all(); 776 $params = $request->all();
774 777
775 $id = $params['_user_id']; 778 $id = $params['_user_id'];
776 $message_params = [ 779 $message_params = [
777 'title' => $params['title'], 780 'title' => $params['title'],
778 'text' => $params['text'], 781 'text' => $params['text'],
779 'ad_employer_id' => $params['_vacancy'], 782 'ad_employer_id' => $params['_vacancy'],
780 'flag_new' => 1 783 'flag_new' => 1
781 ]; 784 ];
782 785
783 Message::add_message( 786 Message::add_message(
784 $request, 787 $request,
785 $params['_user_id'], 788 $params['_user_id'],
786 $params['_to_user_id'], 789 $params['_to_user_id'],
787 $message_params, 790 $message_params,
788 file_store_path: "worker/$id" 791 file_store_path: "worker/$id"
789 ); 792 );
790 793
791 return redirect()->route('employer.messages', ['type_message' => 'output']); 794 return redirect()->route('employer.messages', ['type_message' => 'output']);
792 } 795 }
793 796
794 // Восстановление пароля 797 // Восстановление пароля
795 public function repair_password(Request $request) { 798 public function repair_password(Request $request) {
796 $params = $request->get('email'); 799 $params = $request->get('email');
797 } 800 }
798 801
799 // Избранные люди на корабль 802 // Избранные люди на корабль
800 public function selected_people(Request $request) { 803 public function selected_people(Request $request) {
801 $id = $request->get('id'); 804 $id = $request->get('id');
802 $favorite_people = Job_title::query()->orderByDesc('sort')->OrderBy('name')-> 805 $favorite_people = Job_title::query()->orderByDesc('sort')->OrderBy('name')->
803 where('is_remove', '=', '0')-> 806 where('is_remove', '=', '0')->
804 where('is_bd', '=', '0')-> 807 where('is_bd', '=', '0')->
805 where('position_id', $id)-> 808 where('position_id', $id)->
806 get(); 809 get();
807 return view('favorite_people', compact('favorite_people')); 810 return view('favorite_people', compact('favorite_people'));
808 } 811 }
809 } 812 }
810 813
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 $table = 'workers'; 12 protected $table = 'workers';
13 13
14 protected $fillable = [ 14 protected $fillable = [
15 'user_id', 15 'user_id',
16 'status_work', 16 'status_work',
17 'position_work', 17 'position_work',
18 'positions_work',
18 'telephone', 19 'telephone',
19 'telephone2', 20 'telephone2',
20 'persent_anketa', 21 'persent_anketa',
21 'photo', 22 'photo',
22 'email_data', 23 'email_data',
23 'status_profile', 24 'status_profile',
24 'old_year', 25 'old_year',
25 'experience', 26 'experience',
26 'en_is', 27 'en_is',
27 'education', 28 'education',
28 'email', 29 'email',
29 'interpassport', 30 'interpassport',
30 'mk', 31 'mk',
31 'vvp', 32 'vvp',
32 'vlm', 33 'vlm',
33 'reka_diplom', 34 'reka_diplom',
34 'more_diplom', 35 'more_diplom',
35 'mpss', 36 'mpss',
36 'tanker', 37 'tanker',
37 'gmssb', 38 'gmssb',
38 'resume', 39 'resume',
39 'sort', 40 'sort',
40 'updated_at', 41 'updated_at',
41 'text', 42 'text',
42 'address', 43 'address',
43 'city', 44 'city',
44 'coord', 45 'coord',
45 'file', 46 'file',
46 'is_remove', 47 'is_remove',
47 'favorite_user', 48 'favorite_user',
48 'sroch_user', 49 'sroch_user',
49 'salary_expectations', 50 'salary_expectations',
50 'english_level', 51 'english_level',
51 'ready_boart_date', 52 'ready_boart_date',
52 'boart_type_preference', 53 'boart_type_preference',
53 'visa_available', 54 'visa_available',
54 'tanker_documents_available', 55 'tanker_documents_available',
55 'confirmation_work_for_vvp', 56 'confirmation_work_for_vvp',
56 'military_id_available' 57 'military_id_available'
57 ]; 58 ];
58 59
60 /**
61 * Получить значение поля positions_work как массив.
62 *
63 * @param string $value
64 * @return array
65 */
66 public function getPositionsWorkAttribute($value)
67 {
68 return json_decode($value, true);
69 }
70
71 /**
72 * Установить значение поля positions_work как JSON.
73 *
74 * @param array|string $value
75 * @return void
76 */
77 public function setPositionsWorkAttribute($value)
78 {
79 $this->attributes['positions_work'] = is_array($value) ? json_encode($value) : $value;
80 }
81
59 /* 82 /*
60 * Связь таблицы users с таблицей workers 83 * Связь таблицы users с таблицей workers
61 */ 84 */
62 public function users() { 85 public function users() {
63 return $this->belongsTo(User::class, 'user_id'); 86 return $this->belongsTo(User::class, 'user_id');
64 } 87 }
65 88
66 // Связь Работника с сертификами (0-0 - 1) 89 // Связь Работника с сертификами (0-0 - 1)
67 public function sertificate() { 90 public function sertificate() {
68 return $this->hasMany(sertification::class); 91 return $this->hasMany(sertification::class);
69 } 92 }
70 93
71 // Связь Работника с должностями (0-0 - 1) 94 // Связь Работника с должностями (0-0 - 1)
72 public function job_titles() { 95 public function job_titles() {
73 return $this->belongsToMany(Job_title::class, 'title_workers'); 96 return $this->belongsToMany(Job_title::class, 'title_workers');
74 } 97 }
75 98
76 //Связь Работника с опытом работы (1 - 0-0) 99 //Связь Работника с опытом работы (1 - 0-0)
77 public function place_worker() { 100 public function place_worker() {
78 return $this->hasMany(place_works::class); 101 return $this->hasMany(place_works::class);
79 } 102 }
80 103
81 public function scopeActive($query) { 104 public function scopeActive($query) {
82 return $query->where('is_remove', '=', '0'); 105 return $query->where('is_remove', '=', '0');
83 } 106 }
84 107
85 //Связь Работника с предыдущими компаниями 108 //Связь Работника с предыдущими компаниями
86 public function prev_company() { 109 public function prev_company() {
87 return $this->hasMany(PrevCompany::class); 110 return $this->hasMany(PrevCompany::class);
88 } 111 }
89 112
90 //Связь Работника с инфоблоками (0-0 - 0-0) 113 //Связь Работника с инфоблоками (0-0 - 0-0)
91 public function infobloks() { 114 public function infobloks() {
92 return $this->belongsToMany(infobloks::class,'dop_info', 'worker_id', 'infoblok_id'); 115 return $this->belongsToMany(infobloks::class,'dop_info', 'worker_id', 'infoblok_id');
93 } 116 }
94 117
95 //Связи Работника с дополнительными 118 //Связи Работника с дополнительными
96 public function dop_info() { 119 public function dop_info() {
97 return $this->hasMany(Dop_info::class, 'worker_id'); 120 return $this->hasMany(Dop_info::class, 'worker_id');
98 } 121 }
99 122
100 public function response() { 123 public function response() {
101 return $this->hasMany(ResponseWork::class); 124 return $this->hasMany(ResponseWork::class);
102 } 125 }
103 126
127 public function getJobsAttribute()
128 {
129 $job_titles_ids = json_decode($this->attributes['positions_work'], true);
130 return Job_title::whereIn('id', $job_titles_ids)->get();
131 }
132
104 } 133 }
105 134
database/migrations/2024_08_10_123217_alter_table_workers.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->string('positions_work', 255)->nullable(true)->after('position_work');
18 $table->integer('position_work')->nullable(true)->change();
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('positions_work');
32 });
33 }
34 };
35
public/js/chosen/chosen-sprite.png

538 Bytes

public/js/chosen/chosen-sprite@2x.png

738 Bytes

resources/views/admin/users/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 @error('name')
3 <span class="text-gray-700 dark:text-gray-400">Имя/Псевдоним</span> 3 {{ $message }}
4 <input name="name" id="name" 4 @enderror
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') ?? $user->name ?? '' }}"
7 />
8 @error('name')
9 <span class="text-xs text-red-600 dark:text-red-400">
10 {{ $message }}
11 </span>
12 @enderror
13 </label><br>-->
14 5
15 <input name="name" id="name" type="hidden" 6 <input name="name" id="name" type="hidden"
16 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" 7 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"
17 placeholder="Имя/Псевдоним" value="{{ old('name') ?? $user->name ?? 'Пользователь базы данных' }}" 8 placeholder="Имя/Псевдоним" value="{{ old('name') ?? $user->name ?? 'Пользователь базы данных' }}"
18 /> 9 />
19 10
20 <label class="block text-sm"> 11 <label class="block text-sm">
21 <span class="text-gray-700 dark:text-gray-400">Должность</span> 12 <span class="text-gray-700 dark:text-gray-400">Должность</span>
22 <select name="position_work" id="position_work" class="form-control 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" 13 <select name="positions_work[]" id="positions_work[]" data-placeholder="Выберите должность..." multiple="multiple">
23 ">
24 @isset($list_job_titles) 14 @isset($list_job_titles)
25 @foreach($list_job_titles as $job_title) 15 @foreach($list_job_titles as $job_title)
26 <option value="{{ $job_title->id }}" 16 <option value="{{ $job_title->id }}"
27 @if (isset($user->workers[0]->position_work)) 17 @if (in_array($job_title->id , $user->workers[0]->positions_work))
28 @if($job_title->id == $user->workers[0]->position_work) 18 selected
29 selected 19 @endif
30 @endif 20 >
31 @endif 21 {{ $job_title->name }} ({{ $job_title->id }})
32 >{{ $job_title->name }} ({{ $job_title->id }})</option> 22 </option>
33 @endforeach 23 @endforeach
34 @endisset 24 @endisset
35 </select> 25 </select>
36 @error('name') 26 @error('name')
37 <span class="text-xs text-red-600 dark:text-red-400"> 27 <span class="text-xs text-red-600 dark:text-red-400">
38 {{ $message }} 28 {{ $message }}
39 </span> 29 </span>
40 @enderror 30 @enderror
41 </label><br> 31 </label><br>
42 32
43 <label class="block text-sm"> 33 <label class="block text-sm">
44 <span class="text-gray-700 dark:text-gray-400">Фамилия</span> 34 <span class="text-gray-700 dark:text-gray-400">Фамилия</span>
45 <input name="surname" id="surname" 35 <input name="surname" id="surname"
46 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 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"
47 placeholder="Фамилия" value="{{ old('surname') ?? $user->surname ?? '' }}" 37 placeholder="Фамилия" value="{{ old('surname') ?? $user->surname ?? '' }}"
48 /> 38 />
49 @error('surname') 39 @error('surname')
50 <span class="text-xs text-red-600 dark:text-red-400"> 40 <span class="text-xs text-red-600 dark:text-red-400">
51 {{ $message }} 41 {{ $message }}
52 </span> 42 </span>
53 @enderror 43 @enderror
54 </label><br> 44 </label><br>
55 45
56 <label class="block text-sm"> 46 <label class="block text-sm">
57 <span class="text-gray-700 dark:text-gray-400">Имя</span> 47 <span class="text-gray-700 dark:text-gray-400">Имя</span>
58 <input name="name_man" id="name_man" 48 <input name="name_man" id="name_man"
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" 49 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('name_man') ?? $user->name_man ?? '' }}" 50 placeholder="Имя" value="{{ old('name_man') ?? $user->name_man ?? '' }}"
61 /> 51 />
62 @error('name_man') 52 @error('name_man')
63 <span class="text-xs text-red-600 dark:text-red-400"> 53 <span class="text-xs text-red-600 dark:text-red-400">
64 {{ $message }} 54 {{ $message }}
65 </span> 55 </span>
66 @enderror 56 @enderror
67 </label><br> 57 </label><br>
68 58
69 <input type="hidden" name="is_worker" id="is_worker" value="1"/> 59 <input type="hidden" name="is_worker" id="is_worker" value="1"/>
70 <input type="hidden" name="is_bd" id="is_bd" value="1"/> 60 <input type="hidden" name="is_bd" id="is_bd" value="1"/>
71 <input type="hidden" name="admin" id="admin" value="0"/> 61 <input type="hidden" name="admin" id="admin" value="0"/>
72 <input type="hidden" name="password" id="password" value="1234567890"/> 62 <input type="hidden" name="password" id="password" value="1234567890"/>
73 63
74 <label class="block text-sm"> 64 <label class="block text-sm">
75 <span class="text-gray-700 dark:text-gray-400">Отчество</span> 65 <span class="text-gray-700 dark:text-gray-400">Отчество</span>
76 <input name="surname2" id="surname2" 66 <input name="surname2" id="surname2"
77 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 67 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
78 placeholder="Отчество" value="{{ old('surname2') ?? $user->surname2 ?? '' }}" 68 placeholder="Отчество" value="{{ old('surname2') ?? $user->surname2 ?? '' }}"
79 /> 69 />
80 @error('surname2') 70 @error('surname2')
81 <span class="text-xs text-red-600 dark:text-red-400"> 71 <span class="text-xs text-red-600 dark:text-red-400">
82 {{ $message }} 72 {{ $message }}
83 </span> 73 </span>
84 @enderror 74 @enderror
85 </label><br> 75 </label><br>
86 76
87 <label class="block text-sm"> 77 <label class="block text-sm">
88 <span class="text-gray-700 dark:text-gray-400">Email</span> 78 <span class="text-gray-700 dark:text-gray-400">Email</span>
89 <input name="email" id="email" 79 <input name="email" id="email"
90 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 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 placeholder="Email" value="{{ old('email') ?? $user->email ?? '' }}" 81 placeholder="Email" value="{{ old('email') ?? $user->email ?? '' }}"
92 /> 82 />
93 @error('email') 83 @error('email')
94 <span class="text-xs text-red-600 dark:text-red-400"> 84 <span class="text-xs text-red-600 dark:text-red-400">
95 {{ $message }} 85 {{ $message }}
96 </span> 86 </span>
97 @enderror 87 @enderror
98 </label><br> 88 </label><br>
99 89
100 <label class="block text-sm"> 90 <label class="block text-sm">
101 <span class="text-gray-700 dark:text-gray-400">Телефон</span> 91 <span class="text-gray-700 dark:text-gray-400">Телефон</span>
102 <input name="telephone" id="telephone" 92 <input name="telephone" id="telephone"
103 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 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"
104 placeholder="Телефон" value="{{ old('telephone') ?? $user->telephone ?? '' }}" 94 placeholder="Телефон" value="{{ old('telephone') ?? $user->telephone ?? '' }}"
105 /> 95 />
106 @error('telephone') 96 @error('telephone')
107 <span class="text-xs text-red-600 dark:text-red-400"> 97 <span class="text-xs text-red-600 dark:text-red-400">
108 {{ $message }} 98 {{ $message }}
109 </span> 99 </span>
110 @enderror 100 @enderror
111 </label><br> 101 </label><br>
112 102
113 <label class="block text-sm"> 103 <label class="block text-sm">
114 <span class="text-gray-700 dark:text-gray-400">Файл-анкета</span> 104 <span class="text-gray-700 dark:text-gray-400">Файл-анкета</span>
115 <input type="file" class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 105 <input type="file" class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700
116 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple 106 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple
117 dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 107 dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
118 id="file" name="file"> 108 id="file" name="file">
119 @error('file') 109 @error('file')
120 <span class="text-xs text-red-600 dark:text-red-400"> 110 <span class="text-xs text-red-600 dark:text-red-400">
121 {{ $message }} 111 {{ $message }}
122 </span> 112 </span>
123 @enderror 113 @enderror
124 @isset($user->file) 114 @isset($user->file)
125 <a class="text-gray-700 dark:text-gray-400" target="blank" href="{{ asset(Storage::url($user->file)) }}">{{ $user->file }}</a> 115 <a class="text-gray-700 dark:text-gray-400" target="blank" href="{{ asset(Storage::url($user->file)) }}">{{ $user->file }}</a>
126 @endisset 116 @endisset
127 </label><br> 117 </label><br>
128 118
129 <!--<label class="block text-sm"> 119 <!--<label class="block text-sm">
130 120
131 <input type="hidden" name="page_worker" value="0" /> 121 <input type="hidden" name="page_worker" value="0" />
132 <input name="page_worker" @php if (isset($user->workers->id)) echo "checked"; @endphp 122 <input name="page_worker" @php if (isset($user->workers->id)) echo "checked"; @endphp
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 " 123 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="" style="float:left; margin-right: 5px" type="checkbox" value="1" 124 placeholder="" style="float:left; margin-right: 5px" type="checkbox" value="1"
135 /><p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Анкета </p><br> 125 /><p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Анкета </p><br>
136 126
137 </label><br>--> 127 </label><br>-->
138 128
139 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> 129 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
140 <div> 130 <div>
141 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 131 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
142 Сохранить 132 Сохранить
143 </button> 133 </button>
144 <a href="{{ route('admin.basedata') }}" 134 <a href="{{ route('admin.basedata') }}"
145 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" 135 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"
146 style="display: -webkit-inline-box; height: 30px!important;" 136 style="display: -webkit-inline-box; height: 30px!important;"
147 >Назад</a> 137 >Назад</a>
148 </div> 138 </div>
149 </div> 139 </div>
150 </div> 140 </div>
141
resources/views/admin/users/index_bd.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 43
44 <script> 44 <script>
45 const btns = document.querySelectorAll('.btn_del'); 45 const btns = document.querySelectorAll('.btn_del');
46 btns.forEach(btn => { 46 btns.forEach(btn => {
47 btn.addEventListener('click', (e) => { 47 btn.addEventListener('click', (e) => {
48 console.log('click button'); 48 console.log('click button');
49 let id = e.target.id; 49 let id = e.target.id;
50 let form = document.getElementById("form_modal_del"); 50 let form = document.getElementById("form_modal_del");
51 form.action = "<?=$_SERVER['APP_URL']?>admin/basedata/delete/"+e.target.getAttribute('data-user'); 51 form.action = "<?=$_SERVER['APP_URL']?>admin/basedata/delete/"+e.target.getAttribute('data-user');
52 //document.getElementById("title_modal").innerHTML = id; 52 //document.getElementById("title_modal").innerHTML = id;
53 console.log(e.target.getAttribute('data-employer')); 53 console.log(e.target.getAttribute('data-employer'));
54 console.log(e.target.getAttribute('data-user')); 54 console.log(e.target.getAttribute('data-user'));
55 55
56 }); 56 });
57 }); 57 });
58 </script> 58 </script>
59 @endsection 59 @endsection
60 60
61 @section('modal') 61 @section('modal')
62 @include('admin.users.modal') 62 @include('admin.users.modal')
63 @endsection 63 @endsection
64 64
65 @section('search') 65 @section('search')
66 @include('admin.find') 66 @include('admin.find')
67 @endsection 67 @endsection
68 68
69 @section('content') 69 @section('content')
70 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block"> 70 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block">
71 <div class="w-full overflow-x-auto"> 71 <div class="w-full overflow-x-auto">
72 <a class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" href="{{ route('admin.add-basedata') }}">Добавить пользователя</a><br><br> 72 <a class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" href="{{ route('admin.add-basedata') }}">Добавить пользователя</a><br><br>
73 <table class="w-full whitespace-no-wrap"> 73 <table class="w-full whitespace-no-wrap">
74 <thead> 74 <thead>
75 <tr 75 <tr
76 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800" 76 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800"
77 > 77 >
78 <th class="px-4 py-3">№</th> 78 <th class="px-4 py-3">№</th>
79 <th class="px-4 py-3">Имя</th> 79 <th class="px-4 py-3">Имя</th>
80 <th class="px-4 py-3">Email/телефон</th> 80 <th class="px-4 py-3">Email/телефон</th>
81 <th class="px-4 py-3">Должность</th> 81 <th class="px-4 py-3">Должность</th>
82 <th class="px-4 py-3">Анкета</th> 82 <th class="px-4 py-3">Анкета</th>
83 <th class="px-4 py-3">Дата регистрации</th> 83 <th class="px-4 py-3">Дата регистрации</th>
84 <th class="px-4 py-3">Изменить</th> 84 <th class="px-4 py-3">Изменить</th>
85 </tr> 85 </tr>
86 </thead> 86 </thead>
87 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 87 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
88 @foreach($users as $user) 88 @foreach($users as $user)
89 <tr class="text-gray-700 dark:text-gray-400"> 89 <tr class="text-gray-700 dark:text-gray-400">
90 <td class="px-4 py-3 text-xs"> 90 <td class="px-4 py-3 text-xs">
91 {{$user->id}} 91 {{$user->id}}
92 </td> 92 </td>
93 <td class="px-4 py-3 text-xs"> 93 <td class="px-4 py-3 text-xs">
94 <!--<div class="flex items-center text-sm">
95 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
96 <div
97 class="absolute inset-0 rounded-full shadow-inner"
98 aria-hidden="true"
99 ></div>
100 </div>
101 <div>
102 <p class="font-semibold"><a href="{{ route('admin.users') }}">Пользователи</a></p>
103 <p class="text-xs text-gray-600 dark:text-gray-400">
104 Все пользователи сайта
105 </p>
106 </div>
107 </div>
108 -->
109 <!--<a style="text-decoration: underline;" href="{{ route('admin.user-profile', ['user' => $user->id]) }}"></a>-->
110
111 {{ $user->name }} 94 {{ $user->name }}
112 </td> 95 </td>
113 96
114 <td class="px-4 py-3 text-xs"> 97 <td class="px-4 py-3 text-xs">
115 <div class="flex items-center text-sm"> 98 <div class="flex items-center text-sm">
116 <!--<div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
117 <div
118 class="absolute inset-0 rounded-full shadow-inner"
119 aria-hidden="true"
120 ></div>
121 </div>-->
122 <div> 99 <div>
123 <p class="font-semibold">{{ empty($user->employers->email) ? $user->email : $user->employers->email }}</p> 100 <p class="font-semibold">{{ empty($user->employers->email) ? $user->email : $user->employers->email }}</p>
124 <p class="text-xs text-gray-600 dark:text-gray-400"> 101 <p class="text-xs text-gray-600 dark:text-gray-400">
125 {{ empty($user->employers->telephone) ? $user->telephone : $user->employers->telephone }} 102 {{ empty($user->employers->telephone) ? $user->telephone : $user->employers->telephone }}
126 </p> 103 </p>
127 </div> 104 </div>
128 </div> 105 </div>
129 </td> 106 </td>
130 107
131 <!--<td class="px-4 py-3 text-xs">
132 <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">
133 @if ($user->is_worker)
134 Работник
135 @else
136 Работодатель
137 @endif
138 </span>
139 @if ($user->admin)
140 <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">
141 Администратор
142 </span>
143 @endif
144 @if ($user->is_bd)
145 <span 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">
146 База данных
147 </span>
148 @endif
149 </td>-->
150
151 <td class="px-4 py-3 text-xs"> 108 <td class="px-4 py-3 text-xs">
152 @if (isset($user->jobtitles[0]->name)) 109 @if (isset($user->workers[0]->positions_work))
153 {{ $user->jobtitles[0]->name }} 110 @foreach($user->workers[0]->jobs as $job)
111 {{ $job->name }}
112 @if(!$loop->last)
113 <br>
114 @endif
115 @endforeach
154 @else 116 @else
155 - 117 -
156 @endif 118 @endif
157 </td> 119 </td>
158 120
159 <td class="px-4 py-3 text-xs"> 121 <td class="px-4 py-3 text-xs">
160 @if (isset($user->workers[0]->id)) 122 @if (isset($user->workers[0]->id))
161 <!--<a href="{{ route('admin.worker-profile-edit', ['worker' => $user->workers[0]->id]) }}">Править</a> |--> 123 <!--<a href="{{ route('admin.worker-profile-edit', ['worker' => $user->workers[0]->id]) }}">Править</a> |-->
162 <!--<a href="{{ route('admin.doc-basedata', ['user' => $user->id]) }}">Скачать</a>--> 124 <!--<a href="{{ route('admin.doc-basedata', ['user' => $user->id]) }}">Скачать</a>-->
163 @endif 125 @endif
164 @isset($user->file) 126 @isset($user->file)
165 <a class="text-gray-700 dark:text-gray-400" target="blank" href="{{ asset(Storage::url($user->file)) }}">Скачать</a> 127 <a class="text-gray-700 dark:text-gray-400" target="blank" href="{{ asset(Storage::url($user->file)) }}">Скачать</a>
166 @else 128 @else
167 <p class="text-gray-700 dark:text-gray-400">-</p> 129 <p class="text-gray-700 dark:text-gray-400">-</p>
168 @endisset 130 @endisset
169 </td> 131 </td>
170 132
171 <td class="px-4 py-3 text-xs"> 133 <td class="px-4 py-3 text-xs">
172 {{ date('d.m.Y', strtotime($user->created_at)) }} 134 {{ date('d.m.Y', strtotime($user->created_at)) }}
173 </td> 135 </td>
174 136
175 <td class="px-4 py-3 text-xs text-sm_"> 137 <td class="px-4 py-3 text-xs text-sm_">
176 @if (!empty($user->id)) 138 @if (!empty($user->id))
177 <a href="{{ route('admin.edit-basedata', ['user' => $user->id]) }}">Изменить</a> 139 <a href="{{ route('admin.edit-basedata', ['user' => $user->id]) }}">Изменить</a>
178 | <a @click="openModal" style="cursor: pointer;" data-user="{{$user->id}}" class="btn_del btn btn-danger">Удалить</a> 140 | <a @click="openModal" style="cursor: pointer;" data-user="{{$user->id}}" class="btn_del btn btn-danger">Удалить</a>
179 @endif 141 @endif
180 </td> 142 </td>
181 </tr> 143 </tr>
182 @endforeach 144 @endforeach
183 </tbody> 145 </tbody>
184 </table> 146 </table>
185 </div> 147 </div>
186 148
187 <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"> 149 <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">
188 <?//=$users->appends($_GET)->links('admin.pagginate'); ?> 150
189 <?=$users->links('admin.pagginate'); ?> 151 <?=$users->links('admin.pagginate'); ?>
190 </div> 152 </div>
191 153
192 154
193 <!--<div 155 <!--<div
194 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" 156 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"
195 > 157 >
196 <span class="flex items-center col-span-3"> 158 <span class="flex items-center col-span-3">
197 Showing 21-30 of 100 159 Showing 21-30 of 100
198 </span> 160 </span>
199 <span class="col-span-2"></span> 161 <span class="col-span-2"></span>
200 162
201 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end"> 163 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end">
202 <nav aria-label="Table navigation"> 164 <nav aria-label="Table navigation">
203 <ul class="inline-flex items-center"> 165 <ul class="inline-flex items-center">
204 <li> 166 <li>
205 <button 167 <button
206 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple" 168 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple"
207 aria-label="Previous" 169 aria-label="Previous"
208 > 170 >
209 <svg 171 <svg
210 aria-hidden="true" 172 aria-hidden="true"
211 class="w-4 h-4 fill-current" 173 class="w-4 h-4 fill-current"
212 viewBox="0 0 20 20" 174 viewBox="0 0 20 20"
213 > 175 >
214 <path 176 <path
215 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" 177 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"
216 clip-rule="evenodd" 178 clip-rule="evenodd"
217 fill-rule="evenodd" 179 fill-rule="evenodd"
218 ></path> 180 ></path>
219 </svg> 181 </svg>
220 </button> 182 </button>
221 </li> 183 </li>
222 <li> 184 <li>
223 <button 185 <button
224 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 186 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
225 > 187 >
226 1 188 1
227 </button> 189 </button>
228 </li> 190 </li>
229 <li> 191 <li>
230 <button 192 <button
231 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 193 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
232 > 194 >
233 2 195 2
234 </button> 196 </button>
235 </li> 197 </li>
236 <li> 198 <li>
237 <button 199 <button
238 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" 200 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"
239 > 201 >
240 3 202 3
241 </button> 203 </button>
242 </li> 204 </li>
243 <li> 205 <li>
244 <button 206 <button
245 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 207 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
246 > 208 >
247 4 209 4
248 </button> 210 </button>
249 </li> 211 </li>
250 <li> 212 <li>
251 <span class="px-3 py-1">...</span> 213 <span class="px-3 py-1">...</span>
252 </li> 214 </li>
253 <li> 215 <li>
254 <button 216 <button
255 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 217 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
256 > 218 >
257 8 219 8
258 </button> 220 </button>
259 </li> 221 </li>
260 <li> 222 <li>
261 <button 223 <button
262 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 224 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
263 > 225 >
264 9 226 9
265 </button> 227 </button>
266 </li> 228 </li>
267 <li> 229 <li>
268 <button 230 <button
269 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple" 231 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple"
270 aria-label="Next" 232 aria-label="Next"
271 > 233 >
272 <svg 234 <svg
273 class="w-4 h-4 fill-current" 235 class="w-4 h-4 fill-current"
274 aria-hidden="true" 236 aria-hidden="true"
275 viewBox="0 0 20 20" 237 viewBox="0 0 20 20"
276 > 238 >
277 <path 239 <path
278 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" 240 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"
279 clip-rule="evenodd" 241 clip-rule="evenodd"
280 fill-rule="evenodd" 242 fill-rule="evenodd"
281 ></path> 243 ></path>
282 </svg> 244 </svg>
283 </button> 245 </button>
284 </li> 246 </li>
285 </ul> 247 </ul>
286 </nav> 248 </nav>
287 </span> 249 </span>
288 </div>--> 250 </div>-->
289 </div> 251 </div>
290 252
resources/views/employers/bd.blade.php
1 @extends('layout.frontend', ['title' => 'База данных - РекаМоре']) 1 @extends('layout.frontend', ['title' => 'База данных - РекаМоре'])
2 2
3 @section('scripts') 3 @section('scripts')
4 <script> 4 <script>
5 $(document).ready(function(){ 5 $(document).ready(function(){
6 $('[name="job_title_list[]"]').chosen({ 6 $('[name="job_title_list[]"]').chosen({
7 width: '100%' 7 width: '100%'
8 }) 8 })
9 $('[name="job_titles__name"]').change(function(){ 9 $('[name="job_titles__name"]').change(function(){
10 if ($(this).is(':checked')){ 10 if ($(this).is(':checked')){
11 $(".job-title-list-wrap").css("display", "block"); 11 $(".job-title-list-wrap").css("display", "block");
12 } else { 12 } else {
13 $(".job-title-list-wrap").css("display", "none"); 13 $(".job-title-list-wrap").css("display", "none");
14 } 14 }
15 }); 15 });
16 $('.cabinet__export-button-wrap button').click(function(){ 16 $('.cabinet__export-button-wrap button').click(function(){
17 $('.cabinet__export-error').parent().remove(); 17 $('.cabinet__export-error').parent().remove();
18 }); 18 });
19 19
20 $('.search-reset-button').click(function(){ 20 $('.search-reset-button').click(function(){
21 var wrap = $(this).closest('.cabinet__filters'); 21 var wrap = $(this).closest('.cabinet__filters');
22 wrap.find('[name="search"]').val(''); 22 wrap.find('[name="search"]').val('');
23 }); 23 });
24 }); 24 });
25 25
26 26
27 $(document).on('click', '.die_black', function() { 27 $(document).on('click', '.die_black', function() {
28 var this_ = $(this); 28 var this_ = $(this);
29 var ajax_ = $('#ajax_flot_div'); 29 var ajax_ = $('#ajax_flot_div');
30 var id_ = this_.attr('data-test'); 30 var id_ = this_.attr('data-test');
31 var url_ = this_.attr('data-link'); 31 var url_ = this_.attr('data-link');
32 32
33 console.log(url_); 33 console.log(url_);
34 $.ajax({ 34 $.ajax({
35 type: "GET", 35 type: "GET",
36 url: url_, 36 url: url_,
37 success: function (data) { 37 success: function (data) {
38 console.log('Ответка'); 38 console.log('Ответка');
39 ajax_.html(data); 39 ajax_.html(data);
40 }, 40 },
41 headers: { 41 headers: {
42 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 42 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
43 }, 43 },
44 error: function (data) { 44 error: function (data) {
45 console.log('Error: ' + data); 45 console.log('Error: ' + data);
46 } 46 }
47 }); 47 });
48 48
49 }); 49 });
50 </script> 50 </script>
51 @endsection 51 @endsection
52 52
53 @section('content') 53 @section('content')
54 <section class="cabinet"> 54 <section class="cabinet">
55 <div class="container"> 55 <div class="container">
56 <ul class="breadcrumbs cabinet__breadcrumbs"> 56 <ul class="breadcrumbs cabinet__breadcrumbs">
57 <li><a href="{{ route('index') }}">Главная</a></li> 57 <li><a href="{{ route('index') }}">Главная</a></li>
58 <li><b>Личный кабинет</b></li> 58 <li><b>Личный кабинет</b></li>
59 </ul> 59 </ul>
60 <div class="cabinet__wrapper"> 60 <div class="cabinet__wrapper">
61 <div class="cabinet__side"> 61 <div class="cabinet__side">
62 <div class="cabinet__side-toper"> 62 <div class="cabinet__side-toper">
63 @include('employers.emblema') 63 @include('employers.emblema')
64 </div> 64 </div>
65 @include('employers.menu', ['item' => 7]) 65 @include('employers.menu', ['item' => 7])
66 </div> 66 </div>
67 67
68 <div class="cabinet__body"> 68 <div class="cabinet__body">
69 <div class="cabinet__body-item"> 69 <div class="cabinet__body-item">
70 <h2 class="title cabinet__title">База данных</h2> 70 <h2 class="title cabinet__title">База данных</h2>
71 </div> 71 </div>
72 <div class="cabinet__body-item"> 72 <div class="cabinet__body-item">
73 <div class="cabinet__filters" style="display: flex;flex-direction: unset;justify-content: left;align-items: center;"> 73 <div class="cabinet__filters" style="display: flex;flex-direction: unset;justify-content: left;align-items: center;">
74 <div class="cabinet__filters-item"> 74 <div class="cabinet__filters-item">
75 <form class="search" action="{{ route('employer.bd') }}"> 75 <form class="search" action="{{ route('employer.bd') }}">
76 <input type="search" name="search" id="search" class="input" placeholder="Поиск&hellip;" value="@if (isset($_GET['search'])) {{ $_GET['search'] }} @endif"> 76 <input type="search" name="search" id="search" class="input" placeholder="Поиск&hellip;" value="@if (isset($_GET['search'])) {{ $_GET['search'] }} @endif">
77 <button type="submit" class="button">Найти</button> 77 <button type="submit" class="button">Найти</button>
78 <span> 78 <span>
79 <svg> 79 <svg>
80 <use xlink:href="{{ asset('images/sprite.svg#search') }}"></use> 80 <use xlink:href="{{ asset('images/sprite.svg#search') }}"></use>
81 </svg> 81 </svg>
82 </span> 82 </span>
83 </form> 83 </form>
84 </div> 84 </div>
85 <a href="javascript:void(0)" class="search-reset-button bold font18" style="color: #377d87;">Сбросить поиск</a> 85 <a href="javascript:void(0)" class="search-reset-button bold font18" style="color: #377d87;">Сбросить поиск</a>
86 </div> 86 </div>
87 <div class="cabinet__filters"> 87 <div class="cabinet__filters">
88 <div class="cabinet__export-wrap"> 88 <div class="cabinet__export-wrap">
89 <form action="{{ route('resume_download_all') }}" method="GET" target="_blank"> 89 <form action="{{ route('resume_download_all') }}" method="GET" target="_blank">
90 <div class="cabinet__export-button-wrap"> 90 <div class="cabinet__export-button-wrap">
91 <button type="submit" class="button"> 91 <button type="submit" class="button">
92 <svg> 92 <svg>
93 <use xlink:href="{{ asset('images/sprite.svg#share') }}"></use> 93 <use xlink:href="{{ asset('images/sprite.svg#share') }}"></use>
94 </svg> 94 </svg>
95 Экспорт 95 Экспорт
96 </button> 96 </button>
97 </div> 97 </div>
98 <div class="cabinet__export-options-wrap"> 98 <div class="cabinet__export-options-wrap">
99 @foreach ($export_options as $key => $value) 99 @foreach ($export_options as $key => $value)
100 <label class="checkbox"> 100 <label class="checkbox">
101 <input type="checkbox" value="1" name="{{$key}}" class="checkbox__input" checked=""> 101 <input type="checkbox" value="1" name="{{$key}}" class="checkbox__input" checked="">
102 <span class="checkbox__icon"> 102 <span class="checkbox__icon">
103 <svg> 103 <svg>
104 <use xlink:href="{{ asset('images/sprite.svg#v') }}"></use> 104 <use xlink:href="{{ asset('images/sprite.svg#v') }}"></use>
105 </svg> 105 </svg>
106 </span> 106 </span>
107 <span class="checkbox__text"> 107 <span class="checkbox__text">
108 <span>{{$value}}</span> 108 <span>{{$value}}</span>
109 </span> 109 </span>
110 </label> 110 </label>
111 @endforeach 111 @endforeach
112 </div> 112 </div>
113 <div class="job-title-list-wrap"> 113 <div class="job-title-list-wrap">
114 <select name="job_title_list[]" data-placeholder="Выберите должности" multiple > 114 <select name="job_title_list[]" data-placeholder="Выберите должности" multiple >
115 @foreach($jobs_titles as $job_title) 115 @foreach($jobs_titles as $job_title)
116 <option value="{{$job_title['id']}}">{{$job_title['name']}}</option> 116 <option value="{{$job_title['id']}}">{{$job_title['name']}}</option>
117 @endforeach 117 @endforeach
118 </select> 118 </select>
119 </div> 119 </div>
120 </form> 120 </form>
121 </div> 121 </div>
122 </div> 122 </div>
123 @if(session('error')) 123 @if(session('error'))
124 <div class="cabinet__filters"> 124 <div class="cabinet__filters">
125 <p class="cabinet__export-error">{{ session('error') }}</p> 125 <p class="cabinet__export-error">{{ session('error') }}</p>
126 </div> 126 </div>
127 @endif 127 @endif
128 128
129 </div> 129 </div>
130 130
131 <div class="cabinet__body-item"> 131 <div class="cabinet__body-item">
132 <div class="cabinet__table-header"> 132 <div class="cabinet__table-header">
133 <div> 133 <div>
134 Позиции работников 134 Позиции работников
135 </div> 135 </div>
136 <span> 136 <span>
137 Пользователей найдено: 137 Пользователей найдено:
138 <b>{{ $count_users->count() }}</b> 138 <b>{{ $count_users->count() }}</b>
139 </span> 139 </span>
140 </div> 140 </div>
141 <div class="table table_spoiler"> 141 <div class="table table_spoiler">
142 <!--<button type="button" class="table__button js-toggle js-parent-toggle button button_light button_more">
143 <span>Показать ещё</span>
144 <span>Свернуть</span>
145 </button>-->
146 142
147 <div class="table__scroll"> 143 <div class="table__scroll">
148 <div class="table__body table__body_min-width"> 144 <div class="table__body table__body_min-width">
149 <table> 145 <table>
150 <thead> 146 <thead>
151 <tr> 147 <tr>
152 <th>ФИО соискателя</th> 148 <th>ФИО соискателя</th>
153 <th>Должность</th> 149 <th>Должность</th>
154 <th>Наличие<br>анкеты</th> 150 <th>Наличие<br>анкеты</th>
155 </tr> 151 </tr>
156 </thead> 152 </thead>
157 <tbody> 153 <tbody>
158 @php 154 @php
159 $categories = 0; 155 $categories = 0;
160 156
161 @endphp 157 @endphp
162 158
163 @if ($users->count()) 159 @if ($users->count())
164 @foreach ($users as $key => $it) 160 @foreach ($users as $key => $it)
165 <tr> 161 <tr>
166 <td>{{ $it->surname." ".$it->name_man }}<br>{{ $it->surname2 }}</td> 162 <td>{{ $it->surname." ".$it->name_man }}<br>{{ $it->surname2 }}</td>
167 163
168 <td>{{ $it->jobtitles[0]->name ?? '-' }}</td> 164 <td>
165 @if($it->workers[0]->positions_work)
166 @foreach($it->workers[0]->jobs as $job)
167 {{ $job->name }}
168 @if(!$loop->last)
169 <br>
170 @endif
171 @endforeach
172 @endif
173 </td>
169 174
170 <td> 175 <td>
171 @if (isset($it->workers[0]->id)) 176 @if (isset($it->workers[0]->id))
172 <a href="{{ route('resume_download', ['worker' => $it->workers[0]->id]) }}" class="table__link"> 177 <a href="{{ route('resume_download', ['worker' => $it->workers[0]->id]) }}" class="table__link">
173 <svg> 178 <svg>
174 <use xlink:href="{{ asset('images/sprite.svg#share') }}"></use> 179 <use xlink:href="{{ asset('images/sprite.svg#share') }}"></use>
175 </svg> 180 </svg>
176 Скачать 181 Скачать
177 </a> 182 </a>
178 @endif 183 @endif
179 </td> 184 </td>
180 </tr> 185 </tr>
181 @endforeach 186 @endforeach
182 @endif 187 @endif
183 </tbody> 188 </tbody>
184 </table> 189 </table>
185 </div> 190 </div>
186 191
187 </div> 192 </div>
188 </div> 193 </div>
189 {{ $users->onEachSide(0)->appends($_GET)->links('paginate') }} 194 {{ $users->onEachSide(0)->appends($_GET)->links('paginate') }}
190 </div> 195 </div>
191 </div> 196 </div>
192 </div> 197 </div>
193 </div> 198 </div>
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('./css/admin/admin.css')}}" /> 11 <link rel="stylesheet" href="{{ asset('./css/admin/admin.css')}}" />
12 <link rel="stylesheet" href="{{ asset('./assets/css/tailwind.output_new.css')}}" /> 12 <link rel="stylesheet" href="{{ asset('./assets/css/tailwind.output_new.css')}}" />
13 <link rel="stylesheet" href="{{ asset('./assets/css/tabs.css')}}" /> 13 <link rel="stylesheet" href="{{ asset('./assets/css/tabs.css')}}" />
14 <script 14 <script
15 src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.min.js" 15 src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.min.js"
16 defer 16 defer
17 ></script> 17 ></script>
18 <script src="{{ asset('./assets/js/init-alpine.js') }}"></script> 18 <script src="{{ asset('./assets/js/init-alpine.js') }}"></script>
19 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.css"/> 19 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.css"/>
20 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js" defer></script> 20 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js" defer></script>
21 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 21 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
22 <script src="{{ asset('./assets/js/charts-lines.js') }}" defer></script> 22 <script src="{{ asset('./assets/js/charts-lines.js') }}" defer></script>
23 <script src="{{ asset('./assets/js/charts-pie.js') }}" defer></script> 23 <script src="{{ asset('./assets/js/charts-pie.js') }}" defer></script>
24 <script src="{{ asset('js/jquery.fancybox.js') }}"></script> 24 <script src="{{ asset('js/jquery.fancybox.js') }}"></script>
25 <script src="{{ asset('./js/func.js') }}"></script> 25 <script src="{{ asset('./js/func.js') }}"></script>
26 <link rel="stylesheet" href="{{ asset('css/helpers.css') }}"> 26 <link rel="stylesheet" href="{{ asset('css/helpers.css') }}">
27 <link rel="stylesheet" href="{{ asset('css/jquery.fancybox.css') }}"> 27 <link rel="stylesheet" href="{{ asset('css/jquery.fancybox.css') }}">
28 <link rel="stylesheet" href="{{ asset('css/general.css') }}"> 28 <link rel="stylesheet" href="{{ asset('css/general.css') }}">
29 <link rel="stylesheet" href="{{ asset('js/chosen/chosen.min.css') }}">
30 <script src="{{ asset('js/chosen/chosen.jquery.min.js') }}"></script>
29 </head> 31 </head>
30 <body> 32 <body>
31 <div class="flex h-screen bg-gray-50 dark:bg-gray-900" :class="{ 'overflow-hidden': isSideMenuOpen }"> 33 <div class="flex h-screen bg-gray-50 dark:bg-gray-900" :class="{ 'overflow-hidden': isSideMenuOpen }">
32 <!-- Desktop sidebar --> 34 <!-- Desktop sidebar -->
33 <aside 35 <aside
34 class="z-20 hidden w-64 overflow-y-auto bg-white dark:bg-gray-800 md:block flex-shrink-0" 36 class="z-20 hidden w-64 overflow-y-auto bg-white dark:bg-gray-800 md:block flex-shrink-0"
35 > 37 >
36 <div class="py-4 text-gray-500 dark:text-gray-400"> 38 <div class="py-4 text-gray-500 dark:text-gray-400">
37 <a class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200" 39 <a class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200"
38 href="{{ route('admin.index') }}"> 40 href="{{ route('admin.index') }}">
39 Админка 41 Админка
40 </a> 42 </a>
41 <ul class="mt-6"> 43 <ul class="mt-6">
42 <li class="relative px-6 py-3"> 44 <li class="relative px-6 py-3">
43 <span 45 <span
44 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg" 46 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg"
45 aria-hidden="true" 47 aria-hidden="true"
46 ></span> 48 ></span>
47 <a 49 <a
48 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.index') ? 'dark:text-gray-100' : null }}" 50 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.index') ? 'dark:text-gray-100' : null }}"
49 href="{{ route('admin.index') }}" 51 href="{{ route('admin.index') }}"
50 > 52 >
51 <svg 53 <svg
52 class="w-5 h-5" 54 class="w-5 h-5"
53 aria-hidden="true" 55 aria-hidden="true"
54 fill="none" 56 fill="none"
55 stroke-linecap="round" 57 stroke-linecap="round"
56 stroke-linejoin="round" 58 stroke-linejoin="round"
57 stroke-width="2" 59 stroke-width="2"
58 viewBox="0 0 24 24" 60 viewBox="0 0 24 24"
59 stroke="currentColor" 61 stroke="currentColor"
60 > 62 >
61 <path 63 <path
62 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" 64 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"
63 ></path> 65 ></path>
64 </svg> 66 </svg>
65 <span class="ml-4">Главная страница</span> 67 <span class="ml-4">Главная страница</span>
66 </a> 68 </a>
67 </li> 69 </li>
68 </ul> 70 </ul>
69 71
70 <ul> 72 <ul>
71 @foreach ($contents as $cont) 73 @foreach ($contents as $cont)
72 @if ($cont->url_page == "admin/users") 74 @if ($cont->url_page == "admin/users")
73 @if ((($cont->is_admin == 1) && ($admin == 1)) || 75 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
74 (($cont->is_manager == 1) && ($is_manager == 1))) 76 (($cont->is_manager == 1) && ($is_manager == 1)))
75 <li class="relative px-6 py-3"> 77 <li class="relative px-6 py-3">
76 <a 78 <a
77 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.users') ? 'dark:text-gray-100' : null }}" 79 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.users') ? 'dark:text-gray-100' : null }}"
78 href="{{ route('admin.users') }}" 80 href="{{ route('admin.users') }}"
79 > 81 >
80 <svg 82 <svg
81 class="w-5 h-5" 83 class="w-5 h-5"
82 aria-hidden="true" 84 aria-hidden="true"
83 fill="none" 85 fill="none"
84 stroke-linecap="round" 86 stroke-linecap="round"
85 stroke-linejoin="round" 87 stroke-linejoin="round"
86 stroke-width="2" 88 stroke-width="2"
87 viewBox="0 0 24 24" 89 viewBox="0 0 24 24"
88 stroke="currentColor" 90 stroke="currentColor"
89 > 91 >
90 <path 92 <path
91 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" 93 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"
92 ></path> 94 ></path>
93 </svg> 95 </svg>
94 <span class="ml-4">Пользователи</span> 96 <span class="ml-4">Пользователи</span>
95 </a> 97 </a>
96 </li> 98 </li>
97 @endif 99 @endif
98 @endif 100 @endif
99 101
100 @if ($cont->url_page == "admin/admin_roles") 102 @if ($cont->url_page == "admin/admin_roles")
101 @if ((($cont->is_admin == 1) && ($admin == 1)) || 103 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
102 (($cont->is_manager == 1) && ($is_manager == 1))) 104 (($cont->is_manager == 1) && ($is_manager == 1)))
103 <li class="relative px-6 py-3"> 105 <li class="relative px-6 py-3">
104 <a 106 <a
105 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.users') ? 'dark:text-gray-100' : null }}" 107 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.users') ? 'dark:text-gray-100' : null }}"
106 href="{{ route('admin.admin_roles') }}" 108 href="{{ route('admin.admin_roles') }}"
107 > 109 >
108 <svg 110 <svg
109 class="w-5 h-5" 111 class="w-5 h-5"
110 aria-hidden="true" 112 aria-hidden="true"
111 fill="none" 113 fill="none"
112 stroke-linecap="round" 114 stroke-linecap="round"
113 stroke-linejoin="round" 115 stroke-linejoin="round"
114 stroke-width="2" 116 stroke-width="2"
115 viewBox="0 0 24 24" 117 viewBox="0 0 24 24"
116 stroke="currentColor" 118 stroke="currentColor"
117 > 119 >
118 <path 120 <path
119 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" 121 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"
120 ></path> 122 ></path>
121 </svg> 123 </svg>
122 <span class="ml-4">Роли администраторов</span> 124 <span class="ml-4">Роли администраторов</span>
123 </a> 125 </a>
124 </li> 126 </li>
125 @endif 127 @endif
126 @endif 128 @endif
127 129
128 @if ($cont->url_page == "admin/admin-users") 130 @if ($cont->url_page == "admin/admin-users")
129 @if ((($cont->is_admin == 1) && ($admin == 1)) || 131 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
130 (($cont->is_manager == 1) && ($is_manager == 1))) 132 (($cont->is_manager == 1) && ($is_manager == 1)))
131 <li class="relative px-6 py-3"> 133 <li class="relative px-6 py-3">
132 <a 134 <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 {{ Request::routeIs('admin.admin-users') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.admin-users') }}" 135 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.admin-users') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.admin-users') }}"
134 > 136 >
135 <svg 137 <svg
136 class="w-5 h-5" 138 class="w-5 h-5"
137 aria-hidden="true" 139 aria-hidden="true"
138 fill="none" 140 fill="none"
139 stroke-linecap="round" 141 stroke-linecap="round"
140 stroke-linejoin="round" 142 stroke-linejoin="round"
141 stroke-width="2" 143 stroke-width="2"
142 viewBox="0 0 24 24" 144 viewBox="0 0 24 24"
143 stroke="currentColor" 145 stroke="currentColor"
144 > 146 >
145 <path 147 <path
146 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" 148 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"
147 ></path> 149 ></path>
148 </svg> 150 </svg>
149 <span class="ml-4">Администраторы</span> 151 <span class="ml-4">Администраторы</span>
150 </a> 152 </a>
151 </li> 153 </li>
152 @endif 154 @endif
153 @endif 155 @endif
154 156
155 @if ($cont->url_page == "admin/employers") 157 @if ($cont->url_page == "admin/employers")
156 @if ((($cont->is_admin == 1) && ($admin == 1)) || 158 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
157 (($cont->is_manager == 1) && ($is_manager == 1))) 159 (($cont->is_manager == 1) && ($is_manager == 1)))
158 <li class="relative px-6 py-3"> 160 <li class="relative px-6 py-3">
159 <a 161 <a
160 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.employers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.employers') }}" 162 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.employers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.employers') }}"
161 > 163 >
162 <svg 164 <svg
163 class="w-5 h-5" 165 class="w-5 h-5"
164 aria-hidden="true" 166 aria-hidden="true"
165 fill="none" 167 fill="none"
166 stroke-linecap="round" 168 stroke-linecap="round"
167 stroke-linejoin="round" 169 stroke-linejoin="round"
168 stroke-width="2" 170 stroke-width="2"
169 viewBox="0 0 24 24" 171 viewBox="0 0 24 24"
170 stroke="currentColor" 172 stroke="currentColor"
171 > 173 >
172 <path 174 <path
173 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" 175 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"
174 ></path> 176 ></path>
175 </svg> 177 </svg>
176 <span class="ml-4">Работодатели</span> 178 <span class="ml-4">Работодатели</span>
177 </a> 179 </a>
178 </li> 180 </li>
179 @endif 181 @endif
180 @endif 182 @endif
181 183
182 @if ($cont->url_page == "admin/workers") 184 @if ($cont->url_page == "admin/workers")
183 @if ((($cont->is_admin == 1) && ($admin == 1)) || 185 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
184 (($cont->is_manager == 1) && ($is_manager == 1))) 186 (($cont->is_manager == 1) && ($is_manager == 1)))
185 <li class="relative px-6 py-3"> 187 <li class="relative px-6 py-3">
186 <a 188 <a
187 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.workers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.workers') }}" 189 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.workers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.workers') }}"
188 > 190 >
189 <svg 191 <svg
190 class="w-5 h-5" 192 class="w-5 h-5"
191 aria-hidden="true" 193 aria-hidden="true"
192 fill="none" 194 fill="none"
193 stroke-linecap="round" 195 stroke-linecap="round"
194 stroke-linejoin="round" 196 stroke-linejoin="round"
195 stroke-width="2" 197 stroke-width="2"
196 viewBox="0 0 24 24" 198 viewBox="0 0 24 24"
197 stroke="currentColor" 199 stroke="currentColor"
198 > 200 >
199 <path 201 <path
200 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 202 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
201 ></path> 203 ></path>
202 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 204 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
203 </svg> 205 </svg>
204 <span class="ml-4">Соискатели</span> 206 <span class="ml-4">Соискатели</span>
205 </a> 207 </a>
206 </li> 208 </li>
207 @endif 209 @endif
208 @endif 210 @endif
209 211
210 @if ($cont->url_page == "admin/ad-employers") 212 @if ($cont->url_page == "admin/ad-employers")
211 @if ((($cont->is_admin == 1) && ($admin == 1)) || 213 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
212 (($cont->is_manager == 1) && ($is_manager == 1))) 214 (($cont->is_manager == 1) && ($is_manager == 1)))
213 <li class="relative px-6 py-3"> 215 <li class="relative px-6 py-3">
214 <a 216 <a
215 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.ad-employers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.ad-employers') }}" 217 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.ad-employers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.ad-employers') }}"
216 > 218 >
217 <svg 219 <svg
218 class="w-5 h-5" 220 class="w-5 h-5"
219 aria-hidden="true" 221 aria-hidden="true"
220 fill="none" 222 fill="none"
221 stroke-linecap="round" 223 stroke-linecap="round"
222 stroke-linejoin="round" 224 stroke-linejoin="round"
223 stroke-width="2" 225 stroke-width="2"
224 viewBox="0 0 24 24" 226 viewBox="0 0 24 24"
225 stroke="currentColor" 227 stroke="currentColor"
226 > 228 >
227 <path 229 <path
228 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" 230 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"
229 ></path> 231 ></path>
230 </svg> 232 </svg>
231 <span class="ml-4">Вакансии</span> 233 <span class="ml-4">Вакансии</span>
232 </a> 234 </a>
233 </li> 235 </li>
234 @endif 236 @endif
235 @endif 237 @endif
236 238
237 @if ($cont->url_page == "admin/messages") 239 @if ($cont->url_page == "admin/messages")
238 @if ((($cont->is_admin == 1) && ($admin == 1)) || 240 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
239 (($cont->is_manager == 1) && ($is_manager == 1))) 241 (($cont->is_manager == 1) && ($is_manager == 1)))
240 <li class="relative px-6 py-3"> 242 <li class="relative px-6 py-3">
241 <a 243 <a
242 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.messages') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.messages') }}" 244 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.messages') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.messages') }}"
243 > 245 >
244 <svg 246 <svg
245 class="w-5 h-5" 247 class="w-5 h-5"
246 aria-hidden="true" 248 aria-hidden="true"
247 fill="none" 249 fill="none"
248 stroke-linecap="round" 250 stroke-linecap="round"
249 stroke-linejoin="round" 251 stroke-linejoin="round"
250 stroke-width="2" 252 stroke-width="2"
251 viewBox="0 0 24 24" 253 viewBox="0 0 24 24"
252 stroke="currentColor" 254 stroke="currentColor"
253 > 255 >
254 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 256 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
255 </svg> 257 </svg>
256 <span class="ml-4">Сообщения все</span> 258 <span class="ml-4">Сообщения все</span>
257 </a> 259 </a>
258 </li> 260 </li>
259 @endif 261 @endif
260 @endif 262 @endif
261 263
262 @if ($cont->url_page == "admin/admin-messages") 264 @if ($cont->url_page == "admin/admin-messages")
263 @if ((($cont->is_admin == 1) && ($admin == 1)) || 265 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
264 (($cont->is_manager == 1) && ($is_manager == 1))) 266 (($cont->is_manager == 1) && ($is_manager == 1)))
265 <li class="relative px-6 py-3"> 267 <li class="relative px-6 py-3">
266 <a 268 <a
267 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.admin-messages') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.admin-messages') }}" 269 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.admin-messages') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.admin-messages') }}"
268 > 270 >
269 <svg 271 <svg
270 class="w-5 h-5" 272 class="w-5 h-5"
271 aria-hidden="true" 273 aria-hidden="true"
272 fill="none" 274 fill="none"
273 stroke-linecap="round" 275 stroke-linecap="round"
274 stroke-linejoin="round" 276 stroke-linejoin="round"
275 stroke-width="2" 277 stroke-width="2"
276 viewBox="0 0 24 24" 278 viewBox="0 0 24 24"
277 stroke="currentColor" 279 stroke="currentColor"
278 > 280 >
279 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 281 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
280 </svg> 282 </svg>
281 <span class="ml-4">Заявки на рассылку</span> 283 <span class="ml-4">Заявки на рассылку</span>
282 </a> 284 </a>
283 </li> 285 </li>
284 @endif 286 @endif
285 @endif 287 @endif
286 288
287 @if ($cont->url_page == "admin/groups") 289 @if ($cont->url_page == "admin/groups")
288 @if ((($cont->is_admin == 1) && ($admin == 1)) || 290 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
289 (($cont->is_manager == 1) && ($is_manager == 1))) 291 (($cont->is_manager == 1) && ($is_manager == 1)))
290 <li class="relative px-6 py-3"> 292 <li class="relative px-6 py-3">
291 <a 293 <a
292 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.groups') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.groups') }}" 294 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.groups') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.groups') }}"
293 > 295 >
294 <svg 296 <svg
295 class="w-5 h-5" 297 class="w-5 h-5"
296 aria-hidden="true" 298 aria-hidden="true"
297 fill="none" 299 fill="none"
298 stroke-linecap="round" 300 stroke-linecap="round"
299 stroke-linejoin="round" 301 stroke-linejoin="round"
300 stroke-width="2" 302 stroke-width="2"
301 viewBox="0 0 24 24" 303 viewBox="0 0 24 24"
302 stroke="currentColor" 304 stroke="currentColor"
303 > 305 >
304 <path 306 <path
305 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" 307 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"
306 ></path> 308 ></path>
307 </svg> 309 </svg>
308 <span class="ml-4">Группы пользователей</span> 310 <span class="ml-4">Группы пользователей</span>
309 </a> 311 </a>
310 </li> 312 </li>
311 @endif 313 @endif
312 @endif 314 @endif
313 315
314 @if ($cont->url_page == "admin/media") 316 @if ($cont->url_page == "admin/media")
315 @if ((($cont->is_admin == 1) && ($admin == 1)) || 317 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
316 (($cont->is_manager == 1) && ($is_manager == 1))) 318 (($cont->is_manager == 1) && ($is_manager == 1)))
317 <li class="relative px-6 py-3"> 319 <li class="relative px-6 py-3">
318 <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 {{ Request::routeIs('admin.media') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.media') }}"> 320 <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 {{ Request::routeIs('admin.media') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.media') }}">
319 <svg 321 <svg
320 class="w-5 h-5" 322 class="w-5 h-5"
321 aria-hidden="true" 323 aria-hidden="true"
322 fill="none" 324 fill="none"
323 stroke-linecap="round" 325 stroke-linecap="round"
324 stroke-linejoin="round" 326 stroke-linejoin="round"
325 stroke-width="2" 327 stroke-width="2"
326 viewBox="0 0 24 24" 328 viewBox="0 0 24 24"
327 stroke="currentColor" 329 stroke="currentColor"
328 > 330 >
329 <path 331 <path
330 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" 332 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"
331 ></path> 333 ></path>
332 </svg> 334 </svg>
333 <span class="ml-4">Медиа</span> 335 <span class="ml-4">Медиа</span>
334 </a> 336 </a>
335 </li> 337 </li>
336 @endif 338 @endif
337 @endif 339 @endif
338 340
339 @if ($cont->url_page == "admin/roles") 341 @if ($cont->url_page == "admin/roles")
340 @if ((($cont->is_admin == 1) && ($admin == 1)) || 342 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
341 (($cont->is_manager == 1) && ($is_manager == 1))) 343 (($cont->is_manager == 1) && ($is_manager == 1)))
342 <li class="relative px-6 py-3"> 344 <li class="relative px-6 py-3">
343 <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 {{ Request::routeIs('admin.roles') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.roles') }}"> 345 <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 {{ Request::routeIs('admin.roles') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.roles') }}">
344 <svg 346 <svg
345 class="w-5 h-5" 347 class="w-5 h-5"
346 aria-hidden="true" 348 aria-hidden="true"
347 fill="none" 349 fill="none"
348 stroke-linecap="round" 350 stroke-linecap="round"
349 stroke-linejoin="round" 351 stroke-linejoin="round"
350 stroke-width="2" 352 stroke-width="2"
351 viewBox="0 0 24 24" 353 viewBox="0 0 24 24"
352 stroke="currentColor" 354 stroke="currentColor"
353 > 355 >
354 <path 356 <path
355 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" 357 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"
356 ></path> 358 ></path>
357 </svg> 359 </svg>
358 <span class="ml-4">Роли пользователей</span> 360 <span class="ml-4">Роли пользователей</span>
359 </a> 361 </a>
360 </li> 362 </li>
361 @endif 363 @endif
362 @endif 364 @endif
363 365
364 @if ($cont->url_page == "admin/basedata") 366 @if ($cont->url_page == "admin/basedata")
365 @if ((($cont->is_admin == 1) && ($admin == 1)) || 367 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
366 (($cont->is_manager == 1) && ($is_manager == 1))) 368 (($cont->is_manager == 1) && ($is_manager == 1)))
367 <li class="relative px-6 py-3"> 369 <li class="relative px-6 py-3">
368 <a 370 <a
369 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.basedata') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.basedata') }}" 371 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.basedata') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.basedata') }}"
370 > 372 >
371 <svg 373 <svg
372 class="w-5 h-5" 374 class="w-5 h-5"
373 aria-hidden="true" 375 aria-hidden="true"
374 fill="none" 376 fill="none"
375 stroke-linecap="round" 377 stroke-linecap="round"
376 stroke-linejoin="round" 378 stroke-linejoin="round"
377 stroke-width="2" 379 stroke-width="2"
378 viewBox="0 0 24 24" 380 viewBox="0 0 24 24"
379 stroke="currentColor" 381 stroke="currentColor"
380 > 382 >
381 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 383 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
382 </svg> 384 </svg>
383 <span class="ml-4">Базы данных</span> 385 <span class="ml-4">Базы данных</span>
384 </a> 386 </a>
385 </li> 387 </li>
386 @endif 388 @endif
387 @endif 389 @endif
388 390
389 @if ($cont->url_page == "admin/education") 391 @if ($cont->url_page == "admin/education")
390 @if ((($cont->is_admin == 1) && ($admin == 1)) || 392 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
391 (($cont->is_manager == 1) && ($is_manager == 1))) 393 (($cont->is_manager == 1) && ($is_manager == 1)))
392 <li class="relative px-6 py-3"> 394 <li class="relative px-6 py-3">
393 <a 395 <a
394 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.education.index') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.education.index') }}" 396 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.education.index') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.education.index') }}"
395 > 397 >
396 <svg 398 <svg
397 class="w-5 h-5" 399 class="w-5 h-5"
398 aria-hidden="true" 400 aria-hidden="true"
399 fill="none" 401 fill="none"
400 stroke-linecap="round" 402 stroke-linecap="round"
401 stroke-linejoin="round" 403 stroke-linejoin="round"
402 stroke-width="2" 404 stroke-width="2"
403 viewBox="0 0 24 24" 405 viewBox="0 0 24 24"
404 stroke="currentColor" 406 stroke="currentColor"
405 > 407 >
406 <path 408 <path
407 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" 409 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"
408 ></path> 410 ></path>
409 </svg> 411 </svg>
410 <span class="ml-4">Учебн.заведения</span> 412 <span class="ml-4">Учебн.заведения</span>
411 </a> 413 </a>
412 </li> 414 </li>
413 @endif 415 @endif
414 @endif 416 @endif
415 417
416 @if ($cont->url_page == "admin/statics") 418 @if ($cont->url_page == "admin/statics")
417 @if ((($cont->is_admin == 1) && ($admin == 1)) || 419 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
418 (($cont->is_manager == 1) && ($is_manager == 1))) 420 (($cont->is_manager == 1) && ($is_manager == 1)))
419 <li class="relative px-6 py-3"> 421 <li class="relative px-6 py-3">
420 <a 422 <a
421 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.statics') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.statics') }}" 423 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.statics') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.statics') }}"
422 > 424 >
423 <svg 425 <svg
424 class="w-5 h-5" 426 class="w-5 h-5"
425 aria-hidden="true" 427 aria-hidden="true"
426 fill="none" 428 fill="none"
427 stroke-linecap="round" 429 stroke-linecap="round"
428 stroke-linejoin="round" 430 stroke-linejoin="round"
429 stroke-width="2" 431 stroke-width="2"
430 viewBox="0 0 24 24" 432 viewBox="0 0 24 24"
431 stroke="currentColor" 433 stroke="currentColor"
432 > 434 >
433 <path 435 <path
434 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 436 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
435 ></path> 437 ></path>
436 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 438 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
437 </svg> 439 </svg>
438 <span class="ml-4">Статистика</span> 440 <span class="ml-4">Статистика</span>
439 </a> 441 </a>
440 </li> 442 </li>
441 @endif 443 @endif
442 @endif 444 @endif
443 445
444 @if ($cont->url_page == "admin/answers") 446 @if ($cont->url_page == "admin/answers")
445 @if ((($cont->is_admin == 1) && ($admin == 1)) || 447 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
446 (($cont->is_manager == 1) && ($is_manager == 1))) 448 (($cont->is_manager == 1) && ($is_manager == 1)))
447 <li class="relative px-6 py-3"> 449 <li class="relative px-6 py-3">
448 <a 450 <a
449 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.answers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.answers') }}" 451 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.answers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.answers') }}"
450 > 452 >
451 <svg 453 <svg
452 class="w-5 h-5" 454 class="w-5 h-5"
453 aria-hidden="true" 455 aria-hidden="true"
454 fill="none" 456 fill="none"
455 stroke-linecap="round" 457 stroke-linecap="round"
456 stroke-linejoin="round" 458 stroke-linejoin="round"
457 stroke-width="2" 459 stroke-width="2"
458 viewBox="0 0 24 24" 460 viewBox="0 0 24 24"
459 stroke="currentColor" 461 stroke="currentColor"
460 > 462 >
461 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 463 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
462 </svg> 464 </svg>
463 <span class="ml-4">Модерация</span> 465 <span class="ml-4">Модерация</span>
464 </a> 466 </a>
465 </li> 467 </li>
466 @endif 468 @endif
467 @endif 469 @endif
468 470
469 @if ($cont->url_page == "admin/reclames") 471 @if ($cont->url_page == "admin/reclames")
470 @if ((($cont->is_admin == 1) && ($admin == 1)) || 472 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
471 (($cont->is_manager == 1) && ($is_manager == 1))) 473 (($cont->is_manager == 1) && ($is_manager == 1)))
472 <li class="relative px-6 py-3"> 474 <li class="relative px-6 py-3">
473 <a 475 <a
474 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.reclames') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.reclames') }}" 476 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.reclames') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.reclames') }}"
475 > 477 >
476 <svg 478 <svg
477 class="w-5 h-5" 479 class="w-5 h-5"
478 aria-hidden="true" 480 aria-hidden="true"
479 fill="none" 481 fill="none"
480 stroke-linecap="round" 482 stroke-linecap="round"
481 stroke-linejoin="round" 483 stroke-linejoin="round"
482 stroke-width="2" 484 stroke-width="2"
483 viewBox="0 0 24 24" 485 viewBox="0 0 24 24"
484 stroke="currentColor" 486 stroke="currentColor"
485 > 487 >
486 <path 488 <path
487 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" 489 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"
488 ></path> 490 ></path>
489 </svg> 491 </svg>
490 <span class="ml-4">Реклама</span> 492 <span class="ml-4">Реклама</span>
491 </a> 493 </a>
492 </li> 494 </li>
493 @endif 495 @endif
494 @endif 496 @endif
495 @endforeach 497 @endforeach
496 498
497 499
498 <li class="relative px-6 py-3"> 500 <li class="relative px-6 py-3">
499 <a 501 <a
500 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.news_admin') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.news_admin') }}" 502 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.news_admin') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.news_admin') }}"
501 > 503 >
502 <svg 504 <svg
503 class="w-5 h-5" 505 class="w-5 h-5"
504 aria-hidden="true" 506 aria-hidden="true"
505 fill="none" 507 fill="none"
506 stroke-linecap="round" 508 stroke-linecap="round"
507 stroke-linejoin="round" 509 stroke-linejoin="round"
508 stroke-width="2" 510 stroke-width="2"
509 viewBox="0 0 24 24" 511 viewBox="0 0 24 24"
510 stroke="currentColor" 512 stroke="currentColor"
511 > 513 >
512 <path 514 <path
513 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" 515 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"
514 ></path> 516 ></path>
515 </svg> 517 </svg>
516 <span class="ml-4">Новости</span> 518 <span class="ml-4">Новости</span>
517 </a> 519 </a>
518 </li> 520 </li>
519 <!-- Справочники --> 521 <!-- Справочники -->
520 522
521 <li class="relative px-6 py-3" x-data="{ open1: false }"> 523 <li class="relative px-6 py-3" x-data="{ open1: false }">
522 <button 524 <button
523 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" 525 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"
524 @click="open1=!open1" 526 @click="open1=!open1"
525 aria-haspopup="true"> 527 aria-haspopup="true">
526 <span class="inline-flex items-center"> 528 <span class="inline-flex items-center">
527 <svg 529 <svg
528 class="w-5 h-5" 530 class="w-5 h-5"
529 aria-hidden="true" 531 aria-hidden="true"
530 fill="none" 532 fill="none"
531 stroke-linecap="round" 533 stroke-linecap="round"
532 stroke-linejoin="round" 534 stroke-linejoin="round"
533 stroke-width="2" 535 stroke-width="2"
534 viewBox="0 0 24 24" 536 viewBox="0 0 24 24"
535 stroke="currentColor"> 537 stroke="currentColor">
536 <path 538 <path
537 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" 539 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"
538 ></path> 540 ></path>
539 </svg> 541 </svg>
540 <span class="ml-4">Справочники</span> 542 <span class="ml-4">Справочники</span>
541 </span> 543 </span>
542 <svg 544 <svg
543 class="w-4 h-4" 545 class="w-4 h-4"
544 aria-hidden="true" 546 aria-hidden="true"
545 fill="currentColor" 547 fill="currentColor"
546 viewBox="0 0 20 20" 548 viewBox="0 0 20 20"
547 > 549 >
548 <path 550 <path
549 fill-rule="evenodd" 551 fill-rule="evenodd"
550 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" 552 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"
551 clip-rule="evenodd" 553 clip-rule="evenodd"
552 ></path> 554 ></path>
553 </svg> 555 </svg>
554 </button> 556 </button>
555 <template x-if="open1"> 557 <template x-if="open1">
556 <ul 558 <ul
557 x-transition:enter="transition-all ease-in-out duration-300" 559 x-transition:enter="transition-all ease-in-out duration-300"
558 x-transition:enter-start="opacity-25 max-h-0" 560 x-transition:enter-start="opacity-25 max-h-0"
559 x-transition:enter-end="opacity-100 max-h-xl" 561 x-transition:enter-end="opacity-100 max-h-xl"
560 x-transition:leave="transition-all ease-in-out duration-300" 562 x-transition:leave="transition-all ease-in-out duration-300"
561 x-transition:leave-start="opacity-100 max-h-xl" 563 x-transition:leave-start="opacity-100 max-h-xl"
562 x-transition:leave-end="opacity-0 max-h-0" 564 x-transition:leave-end="opacity-0 max-h-0"
563 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" 565 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"
564 aria-label="submenu" 566 aria-label="submenu"
565 > 567 >
566 @foreach ($contents as $cont) 568 @foreach ($contents as $cont)
567 @if ($cont->url_page == "admin/job-titles") 569 @if ($cont->url_page == "admin/job-titles")
568 @if ((($cont->is_admin == 1) && ($admin == 1)) || 570 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
569 (($cont->is_manager == 1) && ($is_manager == 1))) 571 (($cont->is_manager == 1) && ($is_manager == 1)))
570 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.job-titles.index') ? 'dark:text-gray-100' : null }}"> 572 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.job-titles.index') ? 'dark:text-gray-100' : null }}">
571 <a class="w-full" href="{{ route('admin.job-titles.index') }}">Должности</a> 573 <a class="w-full" href="{{ route('admin.job-titles.index') }}">Должности</a>
572 </li> 574 </li>
573 @endif 575 @endif
574 @endif 576 @endif
575 577
576 @if ($cont->url_page == "admin/categories") 578 @if ($cont->url_page == "admin/categories")
577 @if ((($cont->is_admin == 1) && ($admin == 1)) || 579 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
578 (($cont->is_manager == 1) && ($is_manager == 1))) 580 (($cont->is_manager == 1) && ($is_manager == 1)))
579 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.categories.index') ? 'dark:text-gray-100' : null }}"> 581 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.categories.index') ? 'dark:text-gray-100' : null }}">
580 <a class="w-full" href="{{ route('admin.categories.index') }}">Категории вакансий</a> 582 <a class="w-full" href="{{ route('admin.categories.index') }}">Категории вакансий</a>
581 </li> 583 </li>
582 @endif 584 @endif
583 @endif 585 @endif
584 586
585 @if ($cont->url_page == "admin/category-emp") 587 @if ($cont->url_page == "admin/category-emp")
586 @if ((($cont->is_admin == 1) && ($admin == 1)) || 588 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
587 (($cont->is_manager == 1) && ($is_manager == 1))) 589 (($cont->is_manager == 1) && ($is_manager == 1)))
588 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.category-emp.index') ? 'dark:text-gray-100' : null }}"> 590 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.category-emp.index') ? 'dark:text-gray-100' : null }}">
589 <a class="w-full" href="{{ route('admin.category-emp.index') }}">Категории работодателей</a> 591 <a class="w-full" href="{{ route('admin.category-emp.index') }}">Категории работодателей</a>
590 </li> 592 </li>
591 @endif 593 @endif
592 @endif 594 @endif
593 595
594 @if ($cont->url_page == "admin/infobloks") 596 @if ($cont->url_page == "admin/infobloks")
595 @if ((($cont->is_admin == 1) && ($admin == 1)) || 597 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
596 (($cont->is_manager == 1) && ($is_manager == 1))) 598 (($cont->is_manager == 1) && ($is_manager == 1)))
597 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.infobloks.index') ? 'dark:text-gray-100' : null }}"> 599 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.infobloks.index') ? 'dark:text-gray-100' : null }}">
598 <a class="w-full" href="{{ route('admin.infobloks.index') }}">Блоки-Дипломы</a> 600 <a class="w-full" href="{{ route('admin.infobloks.index') }}">Блоки-Дипломы</a>
599 </li> 601 </li>
600 @endif 602 @endif
601 @endif 603 @endif
602 @endforeach 604 @endforeach
603 <!--<li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.position') ? 'dark:text-gray-100' : null }}"> 605 <!--<li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.position') ? 'dark:text-gray-100' : null }}">
604 <a class="w-full" href=" route('admin.position') }}">Позиция</a> 606 <a class="w-full" href=" route('admin.position') }}">Позиция</a>
605 </li>--> 607 </li>-->
606 </ul> 608 </ul>
607 </template> 609 </template>
608 </li> 610 </li>
609 611
610 <!-- Редактор --> 612 <!-- Редактор -->
611 <li class="relative px-6 py-3"> 613 <li class="relative px-6 py-3">
612 <button 614 <button
613 class="inline-flex items-center justify-between w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 615 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"
614 @click="togglePagesMenu" 616 @click="togglePagesMenu"
615 aria-haspopup="true"> 617 aria-haspopup="true">
616 <span class="inline-flex items-center"> 618 <span class="inline-flex items-center">
617 <svg 619 <svg
618 class="w-5 h-5" 620 class="w-5 h-5"
619 aria-hidden="true" 621 aria-hidden="true"
620 fill="none" 622 fill="none"
621 stroke-linecap="round" 623 stroke-linecap="round"
622 stroke-linejoin="round" 624 stroke-linejoin="round"
623 stroke-width="2" 625 stroke-width="2"
624 viewBox="0 0 24 24" 626 viewBox="0 0 24 24"
625 stroke="currentColor"> 627 stroke="currentColor">
626 <path 628 <path
627 d="M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z" 629 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"
628 ></path> 630 ></path>
629 </svg> 631 </svg>
630 <span class="ml-4">Редактор</span> 632 <span class="ml-4">Редактор</span>
631 </span> 633 </span>
632 <svg 634 <svg
633 class="w-4 h-4" 635 class="w-4 h-4"
634 aria-hidden="true" 636 aria-hidden="true"
635 fill="currentColor" 637 fill="currentColor"
636 viewBox="0 0 20 20" 638 viewBox="0 0 20 20"
637 > 639 >
638 <path 640 <path
639 fill-rule="evenodd" 641 fill-rule="evenodd"
640 d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" 642 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"
641 clip-rule="evenodd" 643 clip-rule="evenodd"
642 ></path> 644 ></path>
643 </svg> 645 </svg>
644 </button> 646 </button>
645 <template x-if="isPagesMenuOpen"> 647 <template x-if="isPagesMenuOpen">
646 <ul 648 <ul
647 x-transition:enter="transition-all ease-in-out duration-300" 649 x-transition:enter="transition-all ease-in-out duration-300"
648 x-transition:enter-start="opacity-25 max-h-0" 650 x-transition:enter-start="opacity-25 max-h-0"
649 x-transition:enter-end="opacity-100 max-h-xl" 651 x-transition:enter-end="opacity-100 max-h-xl"
650 x-transition:leave="transition-all ease-in-out duration-300" 652 x-transition:leave="transition-all ease-in-out duration-300"
651 x-transition:leave-start="opacity-100 max-h-xl" 653 x-transition:leave-start="opacity-100 max-h-xl"
652 x-transition:leave-end="opacity-0 max-h-0" 654 x-transition:leave-end="opacity-0 max-h-0"
653 class="p-2 mt-2 space-y-2 overflow-hidden text-sm font-medium text-gray-500 rounded-md shadow-inner bg-gray-50 dark:text-gray-400 dark:bg-gray-900" 655 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"
654 aria-label="submenu" 656 aria-label="submenu"
655 > 657 >
656 @foreach ($contents as $cont) 658 @foreach ($contents as $cont)
657 @if ($cont->url_page == "admin/editor-site") 659 @if ($cont->url_page == "admin/editor-site")
658 @if ((($cont->is_admin == 1) && ($admin == 1)) || 660 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
659 (($cont->is_manager == 1) && ($is_manager == 1))) 661 (($cont->is_manager == 1) && ($is_manager == 1)))
660 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.editor-site') ? 'dark:text-gray-100' : null }}"> 662 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.editor-site') ? 'dark:text-gray-100' : null }}">
661 <a class="w-full" href="{{ route('admin.editor-site') }}">Редактор сайта</a> 663 <a class="w-full" href="{{ route('admin.editor-site') }}">Редактор сайта</a>
662 </li> 664 </li>
663 @endif 665 @endif
664 @endif 666 @endif
665 667
666 @if ($cont->url_page == "admin/edit-blocks") 668 @if ($cont->url_page == "admin/edit-blocks")
667 @if ((($cont->is_admin == 1) && ($admin == 1)) || 669 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
668 (($cont->is_manager == 1) && ($is_manager == 1))) 670 (($cont->is_manager == 1) && ($is_manager == 1)))
669 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.edit-blocks') ? 'dark:text-gray-100' : null }}"> 671 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.edit-blocks') ? 'dark:text-gray-100' : null }}">
670 <a class="w-full" href="{{ route('admin.edit-blocks') }}">Шапка-футер сайта</a> 672 <a class="w-full" href="{{ route('admin.edit-blocks') }}">Шапка-футер сайта</a>
671 </li> 673 </li>
672 @endif 674 @endif
673 @endif 675 @endif
674 676
675 @if ($cont->url_page == "admin/editor-seo") 677 @if ($cont->url_page == "admin/editor-seo")
676 @if ((($cont->is_admin == 1) && ($admin == 1)) || 678 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
677 (($cont->is_manager == 1) && ($is_manager == 1))) 679 (($cont->is_manager == 1) && ($is_manager == 1)))
678 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.editor-seo') ? 'dark:text-gray-100' : null }}"> 680 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.editor-seo') ? 'dark:text-gray-100' : null }}">
679 <a class="w-full" href="{{ route('admin.editor-seo') }}">SEO сайта</a> 681 <a class="w-full" href="{{ route('admin.editor-seo') }}">SEO сайта</a>
680 </li> 682 </li>
681 @endif 683 @endif
682 @endif 684 @endif
683 685
684 @if ($cont->url_page == "admin/editor-pages") 686 @if ($cont->url_page == "admin/editor-pages")
685 @if ((($cont->is_admin == 1) && ($admin == 1)) || 687 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
686 (($cont->is_manager == 1) && ($is_manager == 1))) 688 (($cont->is_manager == 1) && ($is_manager == 1)))
687 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.editor-pages') ? 'dark:text-gray-100' : null }}"> 689 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.editor-pages') ? 'dark:text-gray-100' : null }}">
688 <a class="w-full" href="{{ route('admin.editor-pages') }}">Редактор страниц</a> 690 <a class="w-full" href="{{ route('admin.editor-pages') }}">Редактор страниц</a>
689 </li> 691 </li>
690 @endif 692 @endif
691 @endif 693 @endif
692 694
693 @if ($cont->url_page == "admin/job-titles-main") 695 @if ($cont->url_page == "admin/job-titles-main")
694 @if ((($cont->is_admin == 1) && ($admin == 1)) || 696 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
695 (($cont->is_manager == 1) && ($is_manager == 1))) 697 (($cont->is_manager == 1) && ($is_manager == 1)))
696 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.job-titles-main') ? 'dark:text-gray-100' : null }}"> 698 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.job-titles-main') ? 'dark:text-gray-100' : null }}">
697 <a class="w-full" href="{{ route('admin.job-titles-main') }}">Должности на главной</a> 699 <a class="w-full" href="{{ route('admin.job-titles-main') }}">Должности на главной</a>
698 </li> 700 </li>
699 @endif 701 @endif
700 @endif 702 @endif
701 703
702 @if ($cont->url_page == "admin/job-titles-main") 704 @if ($cont->url_page == "admin/job-titles-main")
703 @if ((($cont->is_admin == 1) && ($admin == 1)) || 705 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
704 (($cont->is_manager == 1) && ($is_manager == 1))) 706 (($cont->is_manager == 1) && ($is_manager == 1)))
705 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.counters-main') ? 'dark:text-gray-100' : null }}"> 707 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.counters-main') ? 'dark:text-gray-100' : null }}">
706 <a class="w-full" href="{{ route('admin.counters-main') }}">Счетчики на главной</a> 708 <a class="w-full" href="{{ route('admin.counters-main') }}">Счетчики на главной</a>
707 </li> 709 </li>
708 @endif 710 @endif
709 @endif 711 @endif
710 712
711 @if ($cont->url_page == "admin/employers-main") 713 @if ($cont->url_page == "admin/employers-main")
712 @if ((($cont->is_admin == 1) && ($admin == 1)) || 714 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
713 (($cont->is_manager == 1) && ($is_manager == 1))) 715 (($cont->is_manager == 1) && ($is_manager == 1)))
714 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.employers-main') ? 'dark:text-gray-100' : null }}"> 716 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.employers-main') ? 'dark:text-gray-100' : null }}">
715 <a class="w-full" href="{{ route('admin.employers-main') }}">Работодатели на главной</a> 717 <a class="w-full" href="{{ route('admin.employers-main') }}">Работодатели на главной</a>
716 </li> 718 </li>
717 @endif 719 @endif
718 @endif 720 @endif
719 721
720 @endforeach 722 @endforeach
721 </ul> 723 </ul>
722 </template> 724 </template>
723 </li> 725 </li>
724 </ul> 726 </ul>
725 727
726 <!--<div class="px-6 my-6"> 728 <!--<div class="px-6 my-6">
727 <button 729 <button
728 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" 730 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"
729 > 731 >
730 Create account 732 Create account
731 <span class="ml-2" aria-hidden="true">+</span> 733 <span class="ml-2" aria-hidden="true">+</span>
732 </button> 734 </button>
733 </div>--> 735 </div>-->
734 </div> 736 </div>
735 </aside> 737 </aside>
736 <!-- Mobile sidebar --> 738 <!-- Mobile sidebar -->
737 <!-- Backdrop --> 739 <!-- Backdrop -->
738 <div 740 <div
739 x-show="isSideMenuOpen" 741 x-show="isSideMenuOpen"
740 x-transition:enter="transition ease-in-out duration-150" 742 x-transition:enter="transition ease-in-out duration-150"
741 x-transition:enter-start="opacity-0" 743 x-transition:enter-start="opacity-0"
742 x-transition:enter-end="opacity-100" 744 x-transition:enter-end="opacity-100"
743 x-transition:leave="transition ease-in-out duration-150" 745 x-transition:leave="transition ease-in-out duration-150"
744 x-transition:leave-start="opacity-100" 746 x-transition:leave-start="opacity-100"
745 x-transition:leave-end="opacity-0" 747 x-transition:leave-end="opacity-0"
746 class="fixed inset-0 z-10 flex items-end bg-black bg-opacity-50 sm:items-center sm:justify-center" 748 class="fixed inset-0 z-10 flex items-end bg-black bg-opacity-50 sm:items-center sm:justify-center"
747 ></div> 749 ></div>
748 <aside 750 <aside
749 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" 751 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"
750 x-show="isSideMenuOpen" 752 x-show="isSideMenuOpen"
751 x-transition:enter="transition ease-in-out duration-150" 753 x-transition:enter="transition ease-in-out duration-150"
752 x-transition:enter-start="opacity-0 transform -translate-x-20" 754 x-transition:enter-start="opacity-0 transform -translate-x-20"
753 x-transition:enter-end="opacity-100" 755 x-transition:enter-end="opacity-100"
754 x-transition:leave="transition ease-in-out duration-150" 756 x-transition:leave="transition ease-in-out duration-150"
755 x-transition:leave-start="opacity-100" 757 x-transition:leave-start="opacity-100"
756 x-transition:leave-end="opacity-0 transform -translate-x-20" 758 x-transition:leave-end="opacity-0 transform -translate-x-20"
757 @click.away="closeSideMenu" 759 @click.away="closeSideMenu"
758 @keydown.escape="closeSideMenu" 760 @keydown.escape="closeSideMenu"
759 > 761 >
760 <div class="py-4 text-gray-500 dark:text-gray-400"> 762 <div class="py-4 text-gray-500 dark:text-gray-400">
761 <a 763 <a
762 class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200" 764 class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200"
763 href="{{ route('admin.index') }}" 765 href="{{ route('admin.index') }}"
764 > 766 >
765 Админка 767 Админка
766 </a> 768 </a>
767 <ul class="mt-6"> 769 <ul class="mt-6">
768 <li class="relative px-6 py-3"> 770 <li class="relative px-6 py-3">
769 <span 771 <span
770 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg" 772 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg"
771 aria-hidden="true" 773 aria-hidden="true"
772 ></span> 774 ></span>
773 <a 775 <a
774 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.index') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.index') }}" 776 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.index') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.index') }}"
775 > 777 >
776 <svg 778 <svg
777 class="w-5 h-5" 779 class="w-5 h-5"
778 aria-hidden="true" 780 aria-hidden="true"
779 fill="none" 781 fill="none"
780 stroke-linecap="round" 782 stroke-linecap="round"
781 stroke-linejoin="round" 783 stroke-linejoin="round"
782 stroke-width="2" 784 stroke-width="2"
783 viewBox="0 0 24 24" 785 viewBox="0 0 24 24"
784 stroke="currentColor" 786 stroke="currentColor"
785 > 787 >
786 <path 788 <path
787 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" 789 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"
788 ></path> 790 ></path>
789 </svg> 791 </svg>
790 <span class="ml-4">Главная страница</span> 792 <span class="ml-4">Главная страница</span>
791 </a> 793 </a>
792 </li> 794 </li>
793 </ul> 795 </ul>
794 <ul> 796 <ul>
795 @foreach ($contents as $cont) 797 @foreach ($contents as $cont)
796 @if ($cont->url_page == "admin/users") 798 @if ($cont->url_page == "admin/users")
797 @if ((($cont->is_admin == 1) && ($admin == 1)) || 799 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
798 (($cont->is_manager == 1) && ($is_manager == 1))) 800 (($cont->is_manager == 1) && ($is_manager == 1)))
799 <li class="relative px-6 py-3"> 801 <li class="relative px-6 py-3">
800 <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 {{ Request::routeIs('admin.users') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.users') }}"> 802 <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 {{ Request::routeIs('admin.users') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.users') }}">
801 <svg 803 <svg
802 class="w-5 h-5" 804 class="w-5 h-5"
803 aria-hidden="true" 805 aria-hidden="true"
804 fill="none" 806 fill="none"
805 stroke-linecap="round" 807 stroke-linecap="round"
806 stroke-linejoin="round" 808 stroke-linejoin="round"
807 stroke-width="2" 809 stroke-width="2"
808 viewBox="0 0 24 24" 810 viewBox="0 0 24 24"
809 stroke="currentColor" 811 stroke="currentColor"
810 > 812 >
811 <path 813 <path
812 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" 814 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"
813 ></path> 815 ></path>
814 </svg> 816 </svg>
815 <span class="ml-4">Пользователи</span> 817 <span class="ml-4">Пользователи</span>
816 </a> 818 </a>
817 </li> 819 </li>
818 @endif 820 @endif
819 @endif 821 @endif
820 822
821 @if ($cont->url_page == "admin/admin-users") 823 @if ($cont->url_page == "admin/admin-users")
822 @if ((($cont->is_admin == 1) && ($admin == 1)) || 824 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
823 (($cont->is_manager == 1) && ($is_manager == 1))) 825 (($cont->is_manager == 1) && ($is_manager == 1)))
824 <li class="relative px-6 py-3"> 826 <li class="relative px-6 py-3">
825 <a 827 <a
826 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.admin-users') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.admin-users') }}" 828 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.admin-users') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.admin-users') }}"
827 > 829 >
828 <svg 830 <svg
829 class="w-5 h-5" 831 class="w-5 h-5"
830 aria-hidden="true" 832 aria-hidden="true"
831 fill="none" 833 fill="none"
832 stroke-linecap="round" 834 stroke-linecap="round"
833 stroke-linejoin="round" 835 stroke-linejoin="round"
834 stroke-width="2" 836 stroke-width="2"
835 viewBox="0 0 24 24" 837 viewBox="0 0 24 24"
836 stroke="currentColor" 838 stroke="currentColor"
837 > 839 >
838 <path 840 <path
839 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" 841 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"
840 ></path> 842 ></path>
841 </svg> 843 </svg>
842 <span class="ml-4">Администраторы</span> 844 <span class="ml-4">Администраторы</span>
843 </a> 845 </a>
844 </li> 846 </li>
845 @endif 847 @endif
846 @endif 848 @endif
847 849
848 @if ($cont->url_page == "admin/employers") 850 @if ($cont->url_page == "admin/employers")
849 @if ((($cont->is_admin == 1) && ($admin == 1)) || 851 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
850 (($cont->is_manager == 1) && ($is_manager == 1))) 852 (($cont->is_manager == 1) && ($is_manager == 1)))
851 <li class="relative px-6 py-3"> 853 <li class="relative px-6 py-3">
852 <a 854 <a
853 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.employers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.employers') }}" 855 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.employers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.employers') }}"
854 > 856 >
855 <svg 857 <svg
856 class="w-5 h-5" 858 class="w-5 h-5"
857 aria-hidden="true" 859 aria-hidden="true"
858 fill="none" 860 fill="none"
859 stroke-linecap="round" 861 stroke-linecap="round"
860 stroke-linejoin="round" 862 stroke-linejoin="round"
861 stroke-width="2" 863 stroke-width="2"
862 viewBox="0 0 24 24" 864 viewBox="0 0 24 24"
863 stroke="currentColor" 865 stroke="currentColor"
864 > 866 >
865 <path 867 <path
866 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" 868 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"
867 ></path> 869 ></path>
868 </svg> 870 </svg>
869 <span class="ml-4">Работодатели</span> 871 <span class="ml-4">Работодатели</span>
870 </a> 872 </a>
871 </li> 873 </li>
872 @endif 874 @endif
873 @endif 875 @endif
874 876
875 @if ($cont->url_page == "admin/workers") 877 @if ($cont->url_page == "admin/workers")
876 @if ((($cont->is_admin == 1) && ($admin == 1)) || 878 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
877 (($cont->is_manager == 1) && ($is_manager == 1))) 879 (($cont->is_manager == 1) && ($is_manager == 1)))
878 <li class="relative px-6 py-3"> 880 <li class="relative px-6 py-3">
879 <a 881 <a
880 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.workers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.workers') }}" 882 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.workers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.workers') }}"
881 > 883 >
882 <svg 884 <svg
883 class="w-5 h-5" 885 class="w-5 h-5"
884 aria-hidden="true" 886 aria-hidden="true"
885 fill="none" 887 fill="none"
886 stroke-linecap="round" 888 stroke-linecap="round"
887 stroke-linejoin="round" 889 stroke-linejoin="round"
888 stroke-width="2" 890 stroke-width="2"
889 viewBox="0 0 24 24" 891 viewBox="0 0 24 24"
890 stroke="currentColor" 892 stroke="currentColor"
891 > 893 >
892 <path 894 <path
893 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 895 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
894 ></path> 896 ></path>
895 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 897 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
896 </svg> 898 </svg>
897 <span class="ml-4">Соискатели</span> 899 <span class="ml-4">Соискатели</span>
898 </a> 900 </a>
899 </li> 901 </li>
900 @endif 902 @endif
901 @endif 903 @endif
902 904
903 @if ($cont->url_page == "admin/ad-employers") 905 @if ($cont->url_page == "admin/ad-employers")
904 @if ((($cont->is_admin == 1) && ($admin == 1)) || 906 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
905 (($cont->is_manager == 1) && ($is_manager == 1))) 907 (($cont->is_manager == 1) && ($is_manager == 1)))
906 <li class="relative px-6 py-3"> 908 <li class="relative px-6 py-3">
907 <a 909 <a
908 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.ad-employers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.ad-employers') }}" 910 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.ad-employers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.ad-employers') }}"
909 > 911 >
910 <svg 912 <svg
911 class="w-5 h-5" 913 class="w-5 h-5"
912 aria-hidden="true" 914 aria-hidden="true"
913 fill="none" 915 fill="none"
914 stroke-linecap="round" 916 stroke-linecap="round"
915 stroke-linejoin="round" 917 stroke-linejoin="round"
916 stroke-width="2" 918 stroke-width="2"
917 viewBox="0 0 24 24" 919 viewBox="0 0 24 24"
918 stroke="currentColor" 920 stroke="currentColor"
919 > 921 >
920 <path 922 <path
921 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" 923 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"
922 ></path> 924 ></path>
923 </svg> 925 </svg>
924 <span class="ml-4">Вакансии</span> 926 <span class="ml-4">Вакансии</span>
925 </a> 927 </a>
926 </li> 928 </li>
927 @endif 929 @endif
928 @endif 930 @endif
929 931
930 @if ($cont->url_page == "admin/messages") 932 @if ($cont->url_page == "admin/messages")
931 @if ((($cont->is_admin == 1) && ($admin == 1)) || 933 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
932 (($cont->is_manager == 1) && ($is_manager == 1))) 934 (($cont->is_manager == 1) && ($is_manager == 1)))
933 <li class="relative px-6 py-3"> 935 <li class="relative px-6 py-3">
934 <a 936 <a
935 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.messages') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.messages') }}" 937 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.messages') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.messages') }}"
936 > 938 >
937 <svg 939 <svg
938 class="w-5 h-5" 940 class="w-5 h-5"
939 aria-hidden="true" 941 aria-hidden="true"
940 fill="none" 942 fill="none"
941 stroke-linecap="round" 943 stroke-linecap="round"
942 stroke-linejoin="round" 944 stroke-linejoin="round"
943 stroke-width="2" 945 stroke-width="2"
944 viewBox="0 0 24 24" 946 viewBox="0 0 24 24"
945 stroke="currentColor" 947 stroke="currentColor"
946 > 948 >
947 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 949 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
948 </svg> 950 </svg>
949 <span class="ml-4">Сообщения все</span> 951 <span class="ml-4">Сообщения все</span>
950 </a> 952 </a>
951 </li> 953 </li>
952 @endif 954 @endif
953 @endif 955 @endif
954 956
955 @if ($cont->url_page == "admin/admin-messages") 957 @if ($cont->url_page == "admin/admin-messages")
956 @if ((($cont->is_admin == 1) && ($admin == 1)) || 958 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
957 (($cont->is_manager == 1) && ($is_manager == 1))) 959 (($cont->is_manager == 1) && ($is_manager == 1)))
958 <li class="relative px-6 py-3"> 960 <li class="relative px-6 py-3">
959 <a 961 <a
960 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.admin-messages') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.admin-messages') }}" 962 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.admin-messages') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.admin-messages') }}"
961 > 963 >
962 <svg 964 <svg
963 class="w-5 h-5" 965 class="w-5 h-5"
964 aria-hidden="true" 966 aria-hidden="true"
965 fill="none" 967 fill="none"
966 stroke-linecap="round" 968 stroke-linecap="round"
967 stroke-linejoin="round" 969 stroke-linejoin="round"
968 stroke-width="2" 970 stroke-width="2"
969 viewBox="0 0 24 24" 971 viewBox="0 0 24 24"
970 stroke="currentColor" 972 stroke="currentColor"
971 > 973 >
972 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 974 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
973 </svg> 975 </svg>
974 <span class="ml-4">Заявки на рассылку</span> 976 <span class="ml-4">Заявки на рассылку</span>
975 </a> 977 </a>
976 </li> 978 </li>
977 @endif 979 @endif
978 @endif 980 @endif
979 981
980 @if ($cont->url_page == "admin/groups") 982 @if ($cont->url_page == "admin/groups")
981 @if ((($cont->is_admin == 1) && ($admin == 1)) || 983 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
982 (($cont->is_manager == 1) && ($is_manager == 1))) 984 (($cont->is_manager == 1) && ($is_manager == 1)))
983 <li class="relative px-6 py-3"> 985 <li class="relative px-6 py-3">
984 <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 {{ Request::routeIs('admin.groups') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.groups') }}"> 986 <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 {{ Request::routeIs('admin.groups') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.groups') }}">
985 <svg 987 <svg
986 class="w-5 h-5" 988 class="w-5 h-5"
987 aria-hidden="true" 989 aria-hidden="true"
988 fill="none" 990 fill="none"
989 stroke-linecap="round" 991 stroke-linecap="round"
990 stroke-linejoin="round" 992 stroke-linejoin="round"
991 stroke-width="2" 993 stroke-width="2"
992 viewBox="0 0 24 24" 994 viewBox="0 0 24 24"
993 stroke="currentColor" 995 stroke="currentColor"
994 > 996 >
995 <path 997 <path
996 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" 998 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"
997 ></path> 999 ></path>
998 </svg> 1000 </svg>
999 <span class="ml-4">Группы пользователей</span> 1001 <span class="ml-4">Группы пользователей</span>
1000 </a> 1002 </a>
1001 </li> 1003 </li>
1002 @endif 1004 @endif
1003 @endif 1005 @endif
1004 1006
1005 @if ($cont->url_page == "admin/media") 1007 @if ($cont->url_page == "admin/media")
1006 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1008 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1007 (($cont->is_manager == 1) && ($is_manager == 1))) 1009 (($cont->is_manager == 1) && ($is_manager == 1)))
1008 <li class="relative px-6 py-3"> 1010 <li class="relative px-6 py-3">
1009 <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 {{ Request::routeIs('admin.media') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.media') }}"> 1011 <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 {{ Request::routeIs('admin.media') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.media') }}">
1010 <svg 1012 <svg
1011 class="w-5 h-5" 1013 class="w-5 h-5"
1012 aria-hidden="true" 1014 aria-hidden="true"
1013 fill="none" 1015 fill="none"
1014 stroke-linecap="round" 1016 stroke-linecap="round"
1015 stroke-linejoin="round" 1017 stroke-linejoin="round"
1016 stroke-width="2" 1018 stroke-width="2"
1017 viewBox="0 0 24 24" 1019 viewBox="0 0 24 24"
1018 stroke="currentColor" 1020 stroke="currentColor"
1019 > 1021 >
1020 <path 1022 <path
1021 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" 1023 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"
1022 ></path> 1024 ></path>
1023 </svg> 1025 </svg>
1024 <span class="ml-4">Медиа</span> 1026 <span class="ml-4">Медиа</span>
1025 </a> 1027 </a>
1026 </li> 1028 </li>
1027 @endif 1029 @endif
1028 @endif 1030 @endif
1029 1031
1030 @if ($cont->url_page == "admin/roles") 1032 @if ($cont->url_page == "admin/roles")
1031 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1033 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1032 (($cont->is_manager == 1) && ($is_manager == 1))) 1034 (($cont->is_manager == 1) && ($is_manager == 1)))
1033 1035
1034 <li class="relative px-6 py-3"> 1036 <li class="relative px-6 py-3">
1035 <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 {{ Request::routeIs('admin.roles') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.roles') }}"> 1037 <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 {{ Request::routeIs('admin.roles') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.roles') }}">
1036 <svg 1038 <svg
1037 class="w-5 h-5" 1039 class="w-5 h-5"
1038 aria-hidden="true" 1040 aria-hidden="true"
1039 fill="none" 1041 fill="none"
1040 stroke-linecap="round" 1042 stroke-linecap="round"
1041 stroke-linejoin="round" 1043 stroke-linejoin="round"
1042 stroke-width="2" 1044 stroke-width="2"
1043 viewBox="0 0 24 24" 1045 viewBox="0 0 24 24"
1044 stroke="currentColor" 1046 stroke="currentColor"
1045 > 1047 >
1046 <path 1048 <path
1047 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" 1049 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"
1048 ></path> 1050 ></path>
1049 </svg> 1051 </svg>
1050 <span class="ml-4">Роли пользователей</span> 1052 <span class="ml-4">Роли пользователей</span>
1051 </a> 1053 </a>
1052 </li> 1054 </li>
1053 @endif 1055 @endif
1054 @endif 1056 @endif
1055 1057
1056 @if ($cont->url_page == "admin/basedata") 1058 @if ($cont->url_page == "admin/basedata")
1057 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1059 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1058 (($cont->is_manager == 1) && ($is_manager == 1))) 1060 (($cont->is_manager == 1) && ($is_manager == 1)))
1059 <li class="relative px-6 py-3"> 1061 <li class="relative px-6 py-3">
1060 <a 1062 <a
1061 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.basedata') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.basedata') }}" 1063 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.basedata') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.basedata') }}"
1062 > 1064 >
1063 <svg 1065 <svg
1064 class="w-5 h-5" 1066 class="w-5 h-5"
1065 aria-hidden="true" 1067 aria-hidden="true"
1066 fill="none" 1068 fill="none"
1067 stroke-linecap="round" 1069 stroke-linecap="round"
1068 stroke-linejoin="round" 1070 stroke-linejoin="round"
1069 stroke-width="2" 1071 stroke-width="2"
1070 viewBox="0 0 24 24" 1072 viewBox="0 0 24 24"
1071 stroke="currentColor" 1073 stroke="currentColor"
1072 > 1074 >
1073 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 1075 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
1074 </svg> 1076 </svg>
1075 <span class="ml-4">Базы данных</span> 1077 <span class="ml-4">Базы данных</span>
1076 </a> 1078 </a>
1077 </li> 1079 </li>
1078 @endif 1080 @endif
1079 @endif 1081 @endif
1080 1082
1081 @if ($cont->url_page == "admin/education") 1083 @if ($cont->url_page == "admin/education")
1082 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1084 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1083 (($cont->is_manager == 1) && ($is_manager == 1))) 1085 (($cont->is_manager == 1) && ($is_manager == 1)))
1084 <li class="relative px-6 py-3"> 1086 <li class="relative px-6 py-3">
1085 <a 1087 <a
1086 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.education.index') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.education.index') }}" 1088 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.education.index') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.education.index') }}"
1087 > 1089 >
1088 <svg 1090 <svg
1089 class="w-5 h-5" 1091 class="w-5 h-5"
1090 aria-hidden="true" 1092 aria-hidden="true"
1091 fill="none" 1093 fill="none"
1092 stroke-linecap="round" 1094 stroke-linecap="round"
1093 stroke-linejoin="round" 1095 stroke-linejoin="round"
1094 stroke-width="2" 1096 stroke-width="2"
1095 viewBox="0 0 24 24" 1097 viewBox="0 0 24 24"
1096 stroke="currentColor" 1098 stroke="currentColor"
1097 > 1099 >
1098 <path 1100 <path
1099 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" 1101 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"
1100 ></path> 1102 ></path>
1101 </svg> 1103 </svg>
1102 <span class="ml-4">Учебн.заведения</span> 1104 <span class="ml-4">Учебн.заведения</span>
1103 </a> 1105 </a>
1104 </li> 1106 </li>
1105 @endif 1107 @endif
1106 @endif 1108 @endif
1107 1109
1108 @if ($cont->url_page == "admin/statics") 1110 @if ($cont->url_page == "admin/statics")
1109 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1111 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1110 (($cont->is_manager == 1) && ($is_manager == 1))) 1112 (($cont->is_manager == 1) && ($is_manager == 1)))
1111 <li class="relative px-6 py-3"> 1113 <li class="relative px-6 py-3">
1112 <a 1114 <a
1113 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.statics') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.statics') }}" 1115 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.statics') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.statics') }}"
1114 > 1116 >
1115 <svg 1117 <svg
1116 class="w-5 h-5" 1118 class="w-5 h-5"
1117 aria-hidden="true" 1119 aria-hidden="true"
1118 fill="none" 1120 fill="none"
1119 stroke-linecap="round" 1121 stroke-linecap="round"
1120 stroke-linejoin="round" 1122 stroke-linejoin="round"
1121 stroke-width="2" 1123 stroke-width="2"
1122 viewBox="0 0 24 24" 1124 viewBox="0 0 24 24"
1123 stroke="currentColor" 1125 stroke="currentColor"
1124 > 1126 >
1125 <path 1127 <path
1126 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 1128 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
1127 ></path> 1129 ></path>
1128 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 1130 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
1129 </svg> 1131 </svg>
1130 <span class="ml-4">Статистика</span> 1132 <span class="ml-4">Статистика</span>
1131 </a> 1133 </a>
1132 </li> 1134 </li>
1133 @endif 1135 @endif
1134 @endif 1136 @endif
1135 1137
1136 @if ($cont->url_page == "admin/messages") 1138 @if ($cont->url_page == "admin/messages")
1137 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1139 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1138 (($cont->is_manager == 1) && ($is_manager == 1))) 1140 (($cont->is_manager == 1) && ($is_manager == 1)))
1139 <li class="relative px-6 py-3"> 1141 <li class="relative px-6 py-3">
1140 <a 1142 <a
1141 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.messages') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.messages') }}" 1143 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.messages') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.messages') }}"
1142 > 1144 >
1143 <svg 1145 <svg
1144 class="w-5 h-5" 1146 class="w-5 h-5"
1145 aria-hidden="true" 1147 aria-hidden="true"
1146 fill="none" 1148 fill="none"
1147 stroke-linecap="round" 1149 stroke-linecap="round"
1148 stroke-linejoin="round" 1150 stroke-linejoin="round"
1149 stroke-width="2" 1151 stroke-width="2"
1150 viewBox="0 0 24 24" 1152 viewBox="0 0 24 24"
1151 stroke="currentColor" 1153 stroke="currentColor"
1152 > 1154 >
1153 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 1155 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
1154 </svg> 1156 </svg>
1155 <span class="ml-4">Сообщения все</span> 1157 <span class="ml-4">Сообщения все</span>
1156 </a> 1158 </a>
1157 </li> 1159 </li>
1158 @endif 1160 @endif
1159 @endif 1161 @endif
1160 1162
1161 @if ($cont->url_page == "admin/reclames") 1163 @if ($cont->url_page == "admin/reclames")
1162 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1164 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1163 (($cont->is_manager == 1) && ($is_manager == 1))) 1165 (($cont->is_manager == 1) && ($is_manager == 1)))
1164 <li class="relative px-6 py-3"> 1166 <li class="relative px-6 py-3">
1165 <a 1167 <a
1166 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.reclames') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.reclames') }}" 1168 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.reclames') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.reclames') }}"
1167 > 1169 >
1168 <svg 1170 <svg
1169 class="w-5 h-5" 1171 class="w-5 h-5"
1170 aria-hidden="true" 1172 aria-hidden="true"
1171 fill="none" 1173 fill="none"
1172 stroke-linecap="round" 1174 stroke-linecap="round"
1173 stroke-linejoin="round" 1175 stroke-linejoin="round"
1174 stroke-width="2" 1176 stroke-width="2"
1175 viewBox="0 0 24 24" 1177 viewBox="0 0 24 24"
1176 stroke="currentColor" 1178 stroke="currentColor"
1177 > 1179 >
1178 <path 1180 <path
1179 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" 1181 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"
1180 ></path> 1182 ></path>
1181 </svg> 1183 </svg>
1182 <span class="ml-4">Реклама</span> 1184 <span class="ml-4">Реклама</span>
1183 </a> 1185 </a>
1184 </li> 1186 </li>
1185 @endif 1187 @endif
1186 @endif 1188 @endif
1187 @endforeach 1189 @endforeach
1188 1190
1189 <!-- Справочники --> 1191 <!-- Справочники -->
1190 <li class="relative px-6 py-3" x-data="{ open2: false }"> 1192 <li class="relative px-6 py-3" x-data="{ open2: false }">
1191 <button 1193 <button
1192 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" 1194 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"
1193 @click="open2=!open2" 1195 @click="open2=!open2"
1194 aria-haspopup="true"> 1196 aria-haspopup="true">
1195 <span class="inline-flex items-center"> 1197 <span class="inline-flex items-center">
1196 <svg 1198 <svg
1197 class="w-5 h-5" 1199 class="w-5 h-5"
1198 aria-hidden="true" 1200 aria-hidden="true"
1199 fill="none" 1201 fill="none"
1200 stroke-linecap="round" 1202 stroke-linecap="round"
1201 stroke-linejoin="round" 1203 stroke-linejoin="round"
1202 stroke-width="2" 1204 stroke-width="2"
1203 viewBox="0 0 24 24" 1205 viewBox="0 0 24 24"
1204 stroke="currentColor"> 1206 stroke="currentColor">
1205 <path 1207 <path
1206 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" 1208 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"
1207 ></path> 1209 ></path>
1208 </svg> 1210 </svg>
1209 <span class="ml-4">Справочники</span> 1211 <span class="ml-4">Справочники</span>
1210 </span> 1212 </span>
1211 <svg 1213 <svg
1212 class="w-4 h-4" 1214 class="w-4 h-4"
1213 aria-hidden="true" 1215 aria-hidden="true"
1214 fill="currentColor" 1216 fill="currentColor"
1215 viewBox="0 0 20 20" 1217 viewBox="0 0 20 20"
1216 > 1218 >
1217 <path 1219 <path
1218 fill-rule="evenodd" 1220 fill-rule="evenodd"
1219 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" 1221 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"
1220 clip-rule="evenodd" 1222 clip-rule="evenodd"
1221 ></path> 1223 ></path>
1222 </svg> 1224 </svg>
1223 </button> 1225 </button>
1224 <template x-if="open2"> 1226 <template x-if="open2">
1225 <ul 1227 <ul
1226 x-transition:enter="transition-all ease-in-out duration-300" 1228 x-transition:enter="transition-all ease-in-out duration-300"
1227 x-transition:enter-start="opacity-25 max-h-0" 1229 x-transition:enter-start="opacity-25 max-h-0"
1228 x-transition:enter-end="opacity-100 max-h-xl" 1230 x-transition:enter-end="opacity-100 max-h-xl"
1229 x-transition:leave="transition-all ease-in-out duration-300" 1231 x-transition:leave="transition-all ease-in-out duration-300"
1230 x-transition:leave-start="opacity-100 max-h-xl" 1232 x-transition:leave-start="opacity-100 max-h-xl"
1231 x-transition:leave-end="opacity-0 max-h-0" 1233 x-transition:leave-end="opacity-0 max-h-0"
1232 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" 1234 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"
1233 aria-label="submenu" 1235 aria-label="submenu"
1234 > 1236 >
1235 @foreach ($contents as $cont) 1237 @foreach ($contents as $cont)
1236 @if ($cont->url_page == "admin/job-titles") 1238 @if ($cont->url_page == "admin/job-titles")
1237 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1239 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1238 (($cont->is_manager == 1) && ($is_manager == 1))) 1240 (($cont->is_manager == 1) && ($is_manager == 1)))
1239 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.job-titles.index') ? 'dark:text-gray-100' : null }}"> 1241 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.job-titles.index') ? 'dark:text-gray-100' : null }}">
1240 <a class="w-full" href="{{ route('admin.job-titles.index') }}">Должности</a> 1242 <a class="w-full" href="{{ route('admin.job-titles.index') }}">Должности</a>
1241 </li> 1243 </li>
1242 @endif 1244 @endif
1243 @endif 1245 @endif
1244 1246
1245 @if ($cont->url_page == "admin/categories") 1247 @if ($cont->url_page == "admin/categories")
1246 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1248 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1247 (($cont->is_manager == 1) && ($is_manager == 1))) 1249 (($cont->is_manager == 1) && ($is_manager == 1)))
1248 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.categories.index') ? 'dark:text-gray-100' : null }}"> 1250 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.categories.index') ? 'dark:text-gray-100' : null }}">
1249 <a class="w-full" href="{{ route('admin.categories.index') }}">Категории вакансий</a> 1251 <a class="w-full" href="{{ route('admin.categories.index') }}">Категории вакансий</a>
1250 </li> 1252 </li>
1251 @endif 1253 @endif
1252 @endif 1254 @endif
1253 1255
1254 @if ($cont->url_page == "admin/category-emp") 1256 @if ($cont->url_page == "admin/category-emp")
1255 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1257 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1256 (($cont->is_manager == 1) && ($is_manager == 1))) 1258 (($cont->is_manager == 1) && ($is_manager == 1)))
1257 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.category-emp.index') ? 'dark:text-gray-100' : null }}"> 1259 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.category-emp.index') ? 'dark:text-gray-100' : null }}">
1258 <a class="w-full" href="{{ route('admin.category-emp.index') }}">Категории работодателей</a> 1260 <a class="w-full" href="{{ route('admin.category-emp.index') }}">Категории работодателей</a>
1259 </li> 1261 </li>
1260 @endif 1262 @endif
1261 @endif 1263 @endif
1262 1264
1263 @if ($cont->url_page == "admin/infobloks") 1265 @if ($cont->url_page == "admin/infobloks")
1264 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1266 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1265 (($cont->is_manager == 1) && ($is_manager == 1))) 1267 (($cont->is_manager == 1) && ($is_manager == 1)))
1266 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.infobloks.index') ? 'dark:text-gray-100' : null }}"> 1268 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.infobloks.index') ? 'dark:text-gray-100' : null }}">
1267 <a class="w-full" href="{{ route('admin.infobloks.index') }}">Блоки-Дипломы</a> 1269 <a class="w-full" href="{{ route('admin.infobloks.index') }}">Блоки-Дипломы</a>
1268 </li> 1270 </li>
1269 @endif 1271 @endif
1270 @endif 1272 @endif
1271 1273
1272 @if ($cont->url_page == "admin/position") 1274 @if ($cont->url_page == "admin/position")
1273 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1275 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1274 (($cont->is_manager == 1) && ($is_manager == 1))) 1276 (($cont->is_manager == 1) && ($is_manager == 1)))
1275 <!--<li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.position') ? 'dark:text-gray-100' : null }}"> 1277 <!--<li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.position') ? 'dark:text-gray-100' : null }}">
1276 <a class="w-full" href=" route('admin.position') }}">Позиция</a> 1278 <a class="w-full" href=" route('admin.position') }}">Позиция</a>
1277 </li>--> 1279 </li>-->
1278 @endif 1280 @endif
1279 @endif 1281 @endif
1280 1282
1281 @endforeach 1283 @endforeach
1282 </ul> 1284 </ul>
1283 </template> 1285 </template>
1284 </li> 1286 </li>
1285 1287
1286 <!-- Редактор --> 1288 <!-- Редактор -->
1287 <li class="relative px-6 py-3"> 1289 <li class="relative px-6 py-3">
1288 <button 1290 <button
1289 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" 1291 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"
1290 @click="togglePagesMenu" 1292 @click="togglePagesMenu"
1291 aria-haspopup="true" 1293 aria-haspopup="true"
1292 > 1294 >
1293 <span class="inline-flex items-center"> 1295 <span class="inline-flex items-center">
1294 <svg 1296 <svg
1295 class="w-5 h-5" 1297 class="w-5 h-5"
1296 aria-hidden="true" 1298 aria-hidden="true"
1297 fill="none" 1299 fill="none"
1298 stroke-linecap="round" 1300 stroke-linecap="round"
1299 stroke-linejoin="round" 1301 stroke-linejoin="round"
1300 stroke-width="2" 1302 stroke-width="2"
1301 viewBox="0 0 24 24" 1303 viewBox="0 0 24 24"
1302 stroke="currentColor" 1304 stroke="currentColor"
1303 > 1305 >
1304 <path 1306 <path
1305 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" 1307 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"
1306 ></path> 1308 ></path>
1307 </svg> 1309 </svg>
1308 <span class="ml-4">Редактор</span> 1310 <span class="ml-4">Редактор</span>
1309 </span> 1311 </span>
1310 <svg 1312 <svg
1311 class="w-4 h-4" 1313 class="w-4 h-4"
1312 aria-hidden="true" 1314 aria-hidden="true"
1313 fill="currentColor" 1315 fill="currentColor"
1314 viewBox="0 0 20 20" 1316 viewBox="0 0 20 20"
1315 > 1317 >
1316 <path 1318 <path
1317 fill-rule="evenodd" 1319 fill-rule="evenodd"
1318 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" 1320 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"
1319 clip-rule="evenodd" 1321 clip-rule="evenodd"
1320 ></path> 1322 ></path>
1321 </svg> 1323 </svg>
1322 </button> 1324 </button>
1323 <template x-if="isPagesMenuOpen"> 1325 <template x-if="isPagesMenuOpen">
1324 <ul 1326 <ul
1325 x-transition:enter="transition-all ease-in-out duration-300" 1327 x-transition:enter="transition-all ease-in-out duration-300"
1326 x-transition:enter-start="opacity-25 max-h-0" 1328 x-transition:enter-start="opacity-25 max-h-0"
1327 x-transition:enter-end="opacity-100 max-h-xl" 1329 x-transition:enter-end="opacity-100 max-h-xl"
1328 x-transition:leave="transition-all ease-in-out duration-300" 1330 x-transition:leave="transition-all ease-in-out duration-300"
1329 x-transition:leave-start="opacity-100 max-h-xl" 1331 x-transition:leave-start="opacity-100 max-h-xl"
1330 x-transition:leave-end="opacity-0 max-h-0" 1332 x-transition:leave-end="opacity-0 max-h-0"
1331 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" 1333 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"
1332 aria-label="submenu" 1334 aria-label="submenu"
1333 > 1335 >
1334 @foreach ($contents as $cont) 1336 @foreach ($contents as $cont)
1335 @if ($cont->url_page == "admin/editor-site") 1337 @if ($cont->url_page == "admin/editor-site")
1336 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1338 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1337 (($cont->is_manager == 1) && ($is_manager == 1))) 1339 (($cont->is_manager == 1) && ($is_manager == 1)))
1338 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.editor-site') ? 'dark:text-gray-100' : null }}"> 1340 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.editor-site') ? 'dark:text-gray-100' : null }}">
1339 <a class="w-full" href="{{ route('admin.editor-site') }}">Редактор сайта</a> 1341 <a class="w-full" href="{{ route('admin.editor-site') }}">Редактор сайта</a>
1340 </li> 1342 </li>
1341 @endif 1343 @endif
1342 @endif 1344 @endif
1343 1345
1344 @if ($cont->url_page == "admin/edit-blocks") 1346 @if ($cont->url_page == "admin/edit-blocks")
1345 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1347 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1346 (($cont->is_manager == 1) && ($is_manager == 1))) 1348 (($cont->is_manager == 1) && ($is_manager == 1)))
1347 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.edit-blocks') ? 'dark:text-gray-100' : null }}"> 1349 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.edit-blocks') ? 'dark:text-gray-100' : null }}">
1348 <a class="w-full" href="{{ route('admin.edit-blocks') }}">Шапка-футер сайта</a> 1350 <a class="w-full" href="{{ route('admin.edit-blocks') }}">Шапка-футер сайта</a>
1349 </li> 1351 </li>
1350 @endif 1352 @endif
1351 @endif 1353 @endif
1352 1354
1353 @if ($cont->url_page == "admin/editor-seo") 1355 @if ($cont->url_page == "admin/editor-seo")
1354 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1356 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1355 (($cont->is_manager == 1) && ($is_manager == 1))) 1357 (($cont->is_manager == 1) && ($is_manager == 1)))
1356 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.editor-seo') ? 'dark:text-gray-100' : null }}"> 1358 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.editor-seo') ? 'dark:text-gray-100' : null }}">
1357 <a class="w-full" href="{{ route('admin.editor-seo') }}">SEO сайта</a> 1359 <a class="w-full" href="{{ route('admin.editor-seo') }}">SEO сайта</a>
1358 </li> 1360 </li>
1359 @endif 1361 @endif
1360 @endif 1362 @endif
1361 1363
1362 @if ($cont->url_page == "admin/editor-pages") 1364 @if ($cont->url_page == "admin/editor-pages")
1363 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1365 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1364 (($cont->is_manager == 1) && ($is_manager == 1))) 1366 (($cont->is_manager == 1) && ($is_manager == 1)))
1365 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.editor-pages') ? 'dark:text-gray-100' : null }}"> 1367 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.editor-pages') ? 'dark:text-gray-100' : null }}">
1366 <a class="w-full" href="{{ route('admin.editor-pages') }}">Редактор страниц</a> 1368 <a class="w-full" href="{{ route('admin.editor-pages') }}">Редактор страниц</a>
1367 </li> 1369 </li>
1368 @endif 1370 @endif
1369 @endif 1371 @endif
1370 1372
1371 @if ($cont->url_page == "admin/job-titles-main") 1373 @if ($cont->url_page == "admin/job-titles-main")
1372 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1374 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1373 (($cont->is_manager == 1) && ($is_manager == 1))) 1375 (($cont->is_manager == 1) && ($is_manager == 1)))
1374 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.job-titles-main') ? 'dark:text-gray-100' : null }}"> 1376 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.job-titles-main') ? 'dark:text-gray-100' : null }}">
1375 <a class="w-full" href="{{ route('admin.job-titles-main') }}">Должности на главной</a> 1377 <a class="w-full" href="{{ route('admin.job-titles-main') }}">Должности на главной</a>
1376 </li> 1378 </li>
1377 @endif 1379 @endif
1378 @endif 1380 @endif
1379 1381
1380 @if ($cont->url_page == "admin/employers-main") 1382 @if ($cont->url_page == "admin/employers-main")
1381 @if ((($cont->is_admin == 1) && ($admin == 1)) || 1383 @if ((($cont->is_admin == 1) && ($admin == 1)) ||
1382 (($cont->is_manager == 1) && ($is_manager == 1))) 1384 (($cont->is_manager == 1) && ($is_manager == 1)))
1383 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.employers-main') ? 'dark:text-gray-100' : null }}"> 1385 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.employers-main') ? 'dark:text-gray-100' : null }}">
1384 <a class="w-full" href="{{ route('admin.employers-main') }}">Работодатели на главной</a> 1386 <a class="w-full" href="{{ route('admin.employers-main') }}">Работодатели на главной</a>
1385 </li> 1387 </li>
1386 @endif 1388 @endif
1387 @endif 1389 @endif
1388 1390
1389 @endforeach 1391 @endforeach
1390 </ul> 1392 </ul>
1391 </template> 1393 </template>
1392 </li> 1394 </li>
1393 </ul> 1395 </ul>
1394 <!--<div class="px-6 my-6"> 1396 <!--<div class="px-6 my-6">
1395 <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"> 1397 <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">
1396 Create account 1398 Create account
1397 <span class="ml-2" aria-hidden="true">+</span> 1399 <span class="ml-2" aria-hidden="true">+</span>
1398 </button> 1400 </button>
1399 </div>--> 1401 </div>-->
1400 </div> 1402 </div>
1401 </aside> 1403 </aside>
1402 <div class="flex flex-col flex-1 w-full"> 1404 <div class="flex flex-col flex-1 w-full">
1403 <header class="z-10 py-4 bg-white shadow-md dark:bg-gray-800"> 1405 <header class="z-10 py-4 bg-white shadow-md dark:bg-gray-800">
1404 <div 1406 <div
1405 class="container flex items-center justify-between h-full px-6 mx-auto text-purple-600 dark:text-purple-300" 1407 class="container flex items-center justify-between h-full px-6 mx-auto text-purple-600 dark:text-purple-300"
1406 > 1408 >
1407 <!-- Mobile hamburger --> 1409 <!-- Mobile hamburger -->
1408 <button 1410 <button
1409 class="p-1 mr-5 -ml-1 rounded-md md:hidden focus:outline-none focus:shadow-outline-purple" 1411 class="p-1 mr-5 -ml-1 rounded-md md:hidden focus:outline-none focus:shadow-outline-purple"
1410 @click="toggleSideMenu" 1412 @click="toggleSideMenu"
1411 aria-label="Menu" 1413 aria-label="Menu"
1412 > 1414 >
1413 <svg 1415 <svg
1414 class="w-6 h-6" 1416 class="w-6 h-6"
1415 aria-hidden="true" 1417 aria-hidden="true"
1416 fill="currentColor" 1418 fill="currentColor"
1417 viewBox="0 0 20 20" 1419 viewBox="0 0 20 20"
1418 > 1420 >
1419 <path 1421 <path
1420 fill-rule="evenodd" 1422 fill-rule="evenodd"
1421 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" 1423 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"
1422 clip-rule="evenodd" 1424 clip-rule="evenodd"
1423 ></path> 1425 ></path>
1424 </svg> 1426 </svg>
1425 </button> 1427 </button>
1426 <!-- Search input --> 1428 <!-- Search input -->
1427 <div class="flex justify-center flex-1 lg:mr-32"> 1429 <div class="flex justify-center flex-1 lg:mr-32">
1428 <div 1430 <div
1429 class="relative w-full max-w-xl mr-6 focus-within:text-purple-500" 1431 class="relative w-full max-w-xl mr-6 focus-within:text-purple-500"
1430 > 1432 >
1431 1433
1432 @yield('search') 1434 @yield('search')
1433 </div> 1435 </div>
1434 </div> 1436 </div>
1435 <ul class="flex items-center flex-shrink-0 space-x-6"> 1437 <ul class="flex items-center flex-shrink-0 space-x-6">
1436 <!-- Theme toggler --> 1438 <!-- Theme toggler -->
1437 <li class="flex"> 1439 <li class="flex">
1438 <button 1440 <button
1439 class="rounded-md focus:outline-none focus:shadow-outline-purple" 1441 class="rounded-md focus:outline-none focus:shadow-outline-purple"
1440 @click="toggleTheme" 1442 @click="toggleTheme"
1441 aria-label="Toggle color mode" 1443 aria-label="Toggle color mode"
1442 > 1444 >
1443 <template x-if="!dark"> 1445 <template x-if="!dark">
1444 <svg 1446 <svg
1445 class="w-5 h-5" 1447 class="w-5 h-5"
1446 aria-hidden="true" 1448 aria-hidden="true"
1447 fill="currentColor" 1449 fill="currentColor"
1448 viewBox="0 0 20 20" 1450 viewBox="0 0 20 20"
1449 > 1451 >
1450 <path 1452 <path
1451 d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z" 1453 d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"
1452 ></path> 1454 ></path>
1453 </svg> 1455 </svg>
1454 </template> 1456 </template>
1455 <template x-if="dark"> 1457 <template x-if="dark">
1456 <svg 1458 <svg
1457 class="w-5 h-5" 1459 class="w-5 h-5"
1458 aria-hidden="true" 1460 aria-hidden="true"
1459 fill="currentColor" 1461 fill="currentColor"
1460 viewBox="0 0 20 20" 1462 viewBox="0 0 20 20"
1461 > 1463 >
1462 <path 1464 <path
1463 fill-rule="evenodd" 1465 fill-rule="evenodd"
1464 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" 1466 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"
1465 clip-rule="evenodd" 1467 clip-rule="evenodd"
1466 ></path> 1468 ></path>
1467 </svg> 1469 </svg>
1468 </template> 1470 </template>
1469 </button> 1471 </button>
1470 </li> 1472 </li>
1471 <!-- Notifications menu --> 1473 <!-- Notifications menu -->
1472 <li class="relative"> 1474 <li class="relative">
1473 <button 1475 <button
1474 class="relative align-middle rounded-md focus:outline-none focus:shadow-outline-purple" 1476 class="relative align-middle rounded-md focus:outline-none focus:shadow-outline-purple"
1475 @click="toggleNotificationsMenu" 1477 @click="toggleNotificationsMenu"
1476 @keydown.escape="closeNotificationsMenu" 1478 @keydown.escape="closeNotificationsMenu"
1477 aria-label="Notifications" 1479 aria-label="Notifications"
1478 aria-haspopup="true" 1480 aria-haspopup="true"
1479 > 1481 >
1480 <svg 1482 <svg
1481 class="w-5 h-5" 1483 class="w-5 h-5"
1482 aria-hidden="true" 1484 aria-hidden="true"
1483 fill="currentColor" 1485 fill="currentColor"
1484 viewBox="0 0 20 20" 1486 viewBox="0 0 20 20"
1485 > 1487 >
1486 <path 1488 <path
1487 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" 1489 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"
1488 ></path> 1490 ></path>
1489 </svg> 1491 </svg>
1490 <!-- Notification badge --> 1492 <!-- Notification badge -->
1491 <span 1493 <span
1492 aria-hidden="true" 1494 aria-hidden="true"
1493 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" 1495 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"
1494 ></span> 1496 ></span>
1495 </button> 1497 </button>
1496 <template x-if="isNotificationsMenuOpen"> 1498 <template x-if="isNotificationsMenuOpen">
1497 <ul 1499 <ul
1498 x-transition:leave="transition ease-in duration-150" 1500 x-transition:leave="transition ease-in duration-150"
1499 x-transition:leave-start="opacity-100" 1501 x-transition:leave-start="opacity-100"
1500 x-transition:leave-end="opacity-0" 1502 x-transition:leave-end="opacity-0"
1501 @click.away="closeNotificationsMenu" 1503 @click.away="closeNotificationsMenu"
1502 @keydown.escape="closeNotificationsMenu" 1504 @keydown.escape="closeNotificationsMenu"
1503 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" 1505 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"
1504 > 1506 >
1505 <li class="flex"> 1507 <li class="flex">
1506 <a 1508 <a
1507 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" 1509 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"
1508 href="{{ route('admin.admin-messages') }}" 1510 href="{{ route('admin.admin-messages') }}"
1509 > 1511 >
1510 <span>Сообщения</span> 1512 <span>Сообщения</span>
1511 @if($MsgCount > 0) 1513 @if($MsgCount > 0)
1512 <span 1514 <span
1513 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" 1515 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"
1514 > 1516 >
1515 1517
1516 {{ $MsgCount }} 1518 {{ $MsgCount }}
1517 </span> 1519 </span>
1518 @endif 1520 @endif
1519 </a> 1521 </a>
1520 </li> 1522 </li>
1521 <!--<li class="flex"> 1523 <!--<li class="flex">
1522 <a 1524 <a
1523 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" 1525 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"
1524 href="#" 1526 href="#"
1525 > 1527 >
1526 <span>Логи</span> 1528 <span>Логи</span>
1527 </a> 1529 </a>
1528 </li>--> 1530 </li>-->
1529 </ul> 1531 </ul>
1530 </template> 1532 </template>
1531 </li> 1533 </li>
1532 <!-- Profile menu --> 1534 <!-- Profile menu -->
1533 <li class="relative"> 1535 <li class="relative">
1534 <button 1536 <button
1535 class="align-middle rounded-full focus:shadow-outline-purple focus:outline-none" 1537 class="align-middle rounded-full focus:shadow-outline-purple focus:outline-none"
1536 @click="toggleProfileMenu" 1538 @click="toggleProfileMenu"
1537 @keydown.escape="closeProfileMenu" 1539 @keydown.escape="closeProfileMenu"
1538 aria-label="Account" 1540 aria-label="Account"
1539 aria-haspopup="true" 1541 aria-haspopup="true"
1540 > 1542 >
1541 <img 1543 <img
1542 class="object-cover w-8 h-8 rounded-full" 1544 class="object-cover w-8 h-8 rounded-full"
1543 src="{{ asset('assets/img/profile.jpg') }}" 1545 src="{{ asset('assets/img/profile.jpg') }}"
1544 alt="" 1546 alt=""
1545 aria-hidden="true" 1547 aria-hidden="true"
1546 /> 1548 />
1547 </button> 1549 </button>
1548 <template x-if="isProfileMenuOpen"> 1550 <template x-if="isProfileMenuOpen">
1549 <ul 1551 <ul
1550 x-transition:leave="transition ease-in duration-150" 1552 x-transition:leave="transition ease-in duration-150"
1551 x-transition:leave-start="opacity-100" 1553 x-transition:leave-start="opacity-100"
1552 x-transition:leave-end="opacity-0" 1554 x-transition:leave-end="opacity-0"
1553 @click.away="closeProfileMenu" 1555 @click.away="closeProfileMenu"
1554 @keydown.escape="closeProfileMenu" 1556 @keydown.escape="closeProfileMenu"
1555 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" 1557 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"
1556 aria-label="submenu" 1558 aria-label="submenu"
1557 > 1559 >
1558 <li class="flex"> 1560 <li class="flex">
1559 <a 1561 <a
1560 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" 1562 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"
1561 href="{{ route('admin.profile') }}" 1563 href="{{ route('admin.profile') }}"
1562 > 1564 >
1563 <svg 1565 <svg
1564 class="w-4 h-4 mr-3" 1566 class="w-4 h-4 mr-3"
1565 aria-hidden="true" 1567 aria-hidden="true"
1566 fill="none" 1568 fill="none"
1567 stroke-linecap="round" 1569 stroke-linecap="round"
1568 stroke-linejoin="round" 1570 stroke-linejoin="round"
1569 stroke-width="2" 1571 stroke-width="2"
1570 viewBox="0 0 24 24" 1572 viewBox="0 0 24 24"
1571 stroke="currentColor" 1573 stroke="currentColor"
1572 > 1574 >
1573 <path 1575 <path
1574 d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" 1576 d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"
1575 ></path> 1577 ></path>
1576 </svg> 1578 </svg>
1577 <span>Профиль</span> 1579 <span>Профиль</span>
1578 </a> 1580 </a>
1579 </li> 1581 </li>
1580 <li class="flex"> 1582 <li class="flex">
1581 <a 1583 <a
1582 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" 1584 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"
1583 href="{{ route('admin.config') }}" 1585 href="{{ route('admin.config') }}"
1584 > 1586 >
1585 <svg 1587 <svg
1586 class="w-4 h-4 mr-3" 1588 class="w-4 h-4 mr-3"
1587 aria-hidden="true" 1589 aria-hidden="true"
1588 fill="none" 1590 fill="none"
1589 stroke-linecap="round" 1591 stroke-linecap="round"
1590 stroke-linejoin="round" 1592 stroke-linejoin="round"
1591 stroke-width="2" 1593 stroke-width="2"
1592 viewBox="0 0 24 24" 1594 viewBox="0 0 24 24"
1593 stroke="currentColor" 1595 stroke="currentColor"
1594 > 1596 >
1595 <path 1597 <path
1596 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" 1598 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"
1597 ></path> 1599 ></path>
1598 <path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path> 1600 <path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
1599 </svg> 1601 </svg>
1600 <span>Настройки</span> 1602 <span>Настройки</span>
1601 </a> 1603 </a>
1602 </li> 1604 </li>
1603 <li class="flex"> 1605 <li class="flex">
1604 <a 1606 <a
1605 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" 1607 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"
1606 href="{{ route('admin.logout') }}" 1608 href="{{ route('admin.logout') }}"
1607 > 1609 >
1608 <svg 1610 <svg
1609 class="w-4 h-4 mr-3" 1611 class="w-4 h-4 mr-3"
1610 aria-hidden="true" 1612 aria-hidden="true"
1611 fill="none" 1613 fill="none"
1612 stroke-linecap="round" 1614 stroke-linecap="round"
1613 stroke-linejoin="round" 1615 stroke-linejoin="round"
1614 stroke-width="2" 1616 stroke-width="2"
1615 viewBox="0 0 24 24" 1617 viewBox="0 0 24 24"
1616 stroke="currentColor" 1618 stroke="currentColor"
1617 > 1619 >
1618 <path 1620 <path
1619 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" 1621 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"
1620 ></path> 1622 ></path>
1621 </svg> 1623 </svg>
1622 <span>Выход</span> 1624 <span>Выход</span>
1623 </a> 1625 </a>
1624 </li> 1626 </li>
1625 </ul> 1627 </ul>
1626 </template> 1628 </template>
1627 </li> 1629 </li>
1628 </ul> 1630 </ul>
1629 </div> 1631 </div>
1630 </header> 1632 </header>
1631 <main class="h-full overflow-y-auto"> 1633 <main class="h-full overflow-y-auto">
1632 <div class="container px-6 mx-auto grid"> 1634 <div class="container px-6 mx-auto grid">
1633 <h2 1635 <h2
1634 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200" 1636 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200"
1635 > 1637 >
1636 {{$title}} 1638 {{$title}}
1637 </h2> 1639 </h2>
1638 <!-- CTA --> 1640 <!-- CTA -->
1639 <a 1641 <a
1640 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" 1642 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"
1641 href="{{ route('admin.admin-users') }}" 1643 href="{{ route('admin.admin-users') }}"
1642 > 1644 >
1643 <div class="flex items-center"> 1645 <div class="flex items-center">
1644 <svg 1646 <svg
1645 class="w-5 h-5 mr-2" 1647 class="w-5 h-5 mr-2"
1646 fill="currentColor" 1648 fill="currentColor"
1647 viewBox="0 0 20 20" 1649 viewBox="0 0 20 20"
1648 > 1650 >
1649 <path 1651 <path
1650 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" 1652 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"
1651 ></path> 1653 ></path>
1652 </svg> 1654 </svg>
1653 <span>Контент для админов</span> 1655 <span>Контент для админов</span>
1654 </div> 1656 </div>
1655 <span>Список админов &RightArrow;</span> 1657 <span>Список админов &RightArrow;</span>
1656 </a> 1658 </a>
1657 1659
1658 @if ($message = Session::get('success')) 1660 @if ($message = Session::get('success'))
1659 <section> 1661 <section>
1660 <div class="alert alert-success alert-dismissible mt-0" role="alert"> 1662 <div class="alert alert-success alert-dismissible mt-0" role="alert">
1661 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть"> 1663 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть">
1662 <span aria-hidden="true">&times;</span> 1664 <span aria-hidden="true">&times;</span>
1663 </button> 1665 </button>
1664 {{ $message }} 1666 {{ $message }}
1665 </div> 1667 </div>
1666 </section> 1668 </section>
1667 @endif 1669 @endif
1668 1670
1669 @if ($errors->any()) 1671 @if ($errors->any())
1670 <section> 1672 <section>
1671 <div class="alert alert-danger alert-dismissible mt-4" role="alert"> 1673 <div class="alert alert-danger alert-dismissible mt-4" role="alert">
1672 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть"> 1674 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть">
1673 <span aria-hidden="true">&times;</span> 1675 <span aria-hidden="true">&times;</span>
1674 </button> 1676 </button>
1675 <ul class="mb-0"> 1677 <ul class="mb-0">
1676 @foreach ($errors->all() as $error) 1678 @foreach ($errors->all() as $error)
1677 <li>{{ $error }}</li> 1679 <li>{{ $error }}</li>
1678 @endforeach 1680 @endforeach
1679 </ul> 1681 </ul>
1680 </div> 1682 </div>
1681 </section> 1683 </section>
1682 @endif 1684 @endif
1683 1685
1684 @yield('content') 1686 @yield('content')
1685 1687
1686 <!-- Cards 1688 <!-- Cards
1687 <div class="grid gap-6 mb-8 md:grid-cols-2 xl:grid-cols-4"> 1689 <div class="grid gap-6 mb-8 md:grid-cols-2 xl:grid-cols-4">
1688 1690
1689 <div 1691 <div
1690 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1692 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1691 > 1693 >
1692 <div 1694 <div
1693 class="p-3 mr-4 text-orange-500 bg-orange-100 rounded-full dark:text-orange-100 dark:bg-orange-500" 1695 class="p-3 mr-4 text-orange-500 bg-orange-100 rounded-full dark:text-orange-100 dark:bg-orange-500"
1694 > 1696 >
1695 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1697 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
1696 <path 1698 <path
1697 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" 1699 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"
1698 ></path> 1700 ></path>
1699 </svg> 1701 </svg>
1700 </div> 1702 </div>
1701 <div> 1703 <div>
1702 <p 1704 <p
1703 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1705 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
1704 > 1706 >
1705 Total clients 1707 Total clients
1706 </p> 1708 </p>
1707 <p 1709 <p
1708 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1710 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
1709 > 1711 >
1710 6389 1712 6389
1711 </p> 1713 </p>
1712 </div> 1714 </div>
1713 </div> 1715 </div>
1714 1716
1715 <div 1717 <div
1716 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1718 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1717 > 1719 >
1718 <div 1720 <div
1719 class="p-3 mr-4 text-green-500 bg-green-100 rounded-full dark:text-green-100 dark:bg-green-500" 1721 class="p-3 mr-4 text-green-500 bg-green-100 rounded-full dark:text-green-100 dark:bg-green-500"
1720 > 1722 >
1721 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1723 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
1722 <path 1724 <path
1723 fill-rule="evenodd" 1725 fill-rule="evenodd"
1724 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" 1726 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"
1725 clip-rule="evenodd" 1727 clip-rule="evenodd"
1726 ></path> 1728 ></path>
1727 </svg> 1729 </svg>
1728 </div> 1730 </div>
1729 <div> 1731 <div>
1730 <p 1732 <p
1731 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1733 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
1732 > 1734 >
1733 Account balance 1735 Account balance
1734 </p> 1736 </p>
1735 <p 1737 <p
1736 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1738 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
1737 > 1739 >
1738 $ 46,760.89 1740 $ 46,760.89
1739 </p> 1741 </p>
1740 </div> 1742 </div>
1741 </div> 1743 </div>
1742 1744
1743 <div 1745 <div
1744 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1746 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1745 > 1747 >
1746 <div 1748 <div
1747 class="p-3 mr-4 text-blue-500 bg-blue-100 rounded-full dark:text-blue-100 dark:bg-blue-500" 1749 class="p-3 mr-4 text-blue-500 bg-blue-100 rounded-full dark:text-blue-100 dark:bg-blue-500"
1748 > 1750 >
1749 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1751 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
1750 <path 1752 <path
1751 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" 1753 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"
1752 ></path> 1754 ></path>
1753 </svg> 1755 </svg>
1754 </div> 1756 </div>
1755 <div> 1757 <div>
1756 <p 1758 <p
1757 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1759 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
1758 > 1760 >
1759 New sales 1761 New sales
1760 </p> 1762 </p>
1761 <p 1763 <p
1762 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1764 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
1763 > 1765 >
1764 376 1766 376
1765 </p> 1767 </p>
1766 </div> 1768 </div>
1767 </div> 1769 </div>
1768 1770
1769 <div 1771 <div
1770 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1772 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1771 > 1773 >
1772 <div 1774 <div
1773 class="p-3 mr-4 text-teal-500 bg-teal-100 rounded-full dark:text-teal-100 dark:bg-teal-500" 1775 class="p-3 mr-4 text-teal-500 bg-teal-100 rounded-full dark:text-teal-100 dark:bg-teal-500"
1774 > 1776 >
1775 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1777 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
1776 <path 1778 <path
1777 fill-rule="evenodd" 1779 fill-rule="evenodd"
1778 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" 1780 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"
1779 clip-rule="evenodd" 1781 clip-rule="evenodd"
1780 ></path> 1782 ></path>
1781 </svg> 1783 </svg>
1782 </div> 1784 </div>
1783 <div> 1785 <div>
1784 <p 1786 <p
1785 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1787 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
1786 > 1788 >
1787 Pending contacts 1789 Pending contacts
1788 </p> 1790 </p>
1789 <p 1791 <p
1790 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1792 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
1791 > 1793 >
1792 35 1794 35
1793 </p> 1795 </p>
1794 </div> 1796 </div>
1795 </div> 1797 </div>
1796 </div> 1798 </div>
1797 --> 1799 -->
1798 <!-- New Table 1800 <!-- New Table
1799 <div class="w-full overflow-hidden rounded-lg shadow-xs"> 1801 <div class="w-full overflow-hidden rounded-lg shadow-xs">
1800 <div class="w-full overflow-x-auto"> 1802 <div class="w-full overflow-x-auto">
1801 <table class="w-full whitespace-no-wrap"> 1803 <table class="w-full whitespace-no-wrap">
1802 <thead> 1804 <thead>
1803 <tr 1805 <tr
1804 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" 1806 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"
1805 > 1807 >
1806 <th class="px-4 py-3">Client</th> 1808 <th class="px-4 py-3">Client</th>
1807 <th class="px-4 py-3">Amount</th> 1809 <th class="px-4 py-3">Amount</th>
1808 <th class="px-4 py-3">Status</th> 1810 <th class="px-4 py-3">Status</th>
1809 <th class="px-4 py-3">Date</th> 1811 <th class="px-4 py-3">Date</th>
1810 </tr> 1812 </tr>
1811 </thead> 1813 </thead>
1812 <tbody 1814 <tbody
1813 class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800" 1815 class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"
1814 > 1816 >
1815 <tr class="text-gray-700 dark:text-gray-400"> 1817 <tr class="text-gray-700 dark:text-gray-400">
1816 <td class="px-4 py-3"> 1818 <td class="px-4 py-3">
1817 <div class="flex items-center text-sm"> 1819 <div class="flex items-center text-sm">
1818 1820
1819 <div 1821 <div
1820 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1822 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1821 > 1823 >
1822 <img 1824 <img
1823 class="object-cover w-full h-full rounded-full" 1825 class="object-cover w-full h-full rounded-full"
1824 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" 1826 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"
1825 alt="" 1827 alt=""
1826 loading="lazy" 1828 loading="lazy"
1827 /> 1829 />
1828 <div 1830 <div
1829 class="absolute inset-0 rounded-full shadow-inner" 1831 class="absolute inset-0 rounded-full shadow-inner"
1830 aria-hidden="true" 1832 aria-hidden="true"
1831 ></div> 1833 ></div>
1832 </div> 1834 </div>
1833 <div> 1835 <div>
1834 <p class="font-semibold">Hans Burger</p> 1836 <p class="font-semibold">Hans Burger</p>
1835 <p class="text-xs text-gray-600 dark:text-gray-400"> 1837 <p class="text-xs text-gray-600 dark:text-gray-400">
1836 10x Developer 1838 10x Developer
1837 </p> 1839 </p>
1838 </div> 1840 </div>
1839 </div> 1841 </div>
1840 </td> 1842 </td>
1841 <td class="px-4 py-3 text-sm"> 1843 <td class="px-4 py-3 text-sm">
1842 $ 863.45 1844 $ 863.45
1843 </td> 1845 </td>
1844 <td class="px-4 py-3 text-xs"> 1846 <td class="px-4 py-3 text-xs">
1845 <span 1847 <span
1846 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" 1848 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"
1847 > 1849 >
1848 Approved 1850 Approved
1849 </span> 1851 </span>
1850 </td> 1852 </td>
1851 <td class="px-4 py-3 text-sm"> 1853 <td class="px-4 py-3 text-sm">
1852 6/10/2020 1854 6/10/2020
1853 </td> 1855 </td>
1854 </tr> 1856 </tr>
1855 1857
1856 <tr class="text-gray-700 dark:text-gray-400"> 1858 <tr class="text-gray-700 dark:text-gray-400">
1857 <td class="px-4 py-3"> 1859 <td class="px-4 py-3">
1858 <div class="flex items-center text-sm"> 1860 <div class="flex items-center text-sm">
1859 1861
1860 <div 1862 <div
1861 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1863 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1862 > 1864 >
1863 <img 1865 <img
1864 class="object-cover w-full h-full rounded-full" 1866 class="object-cover w-full h-full rounded-full"
1865 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" 1867 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"
1866 alt="" 1868 alt=""
1867 loading="lazy" 1869 loading="lazy"
1868 /> 1870 />
1869 <div 1871 <div
1870 class="absolute inset-0 rounded-full shadow-inner" 1872 class="absolute inset-0 rounded-full shadow-inner"
1871 aria-hidden="true" 1873 aria-hidden="true"
1872 ></div> 1874 ></div>
1873 </div> 1875 </div>
1874 <div> 1876 <div>
1875 <p class="font-semibold">Jolina Angelie</p> 1877 <p class="font-semibold">Jolina Angelie</p>
1876 <p class="text-xs text-gray-600 dark:text-gray-400"> 1878 <p class="text-xs text-gray-600 dark:text-gray-400">
1877 Unemployed 1879 Unemployed
1878 </p> 1880 </p>
1879 </div> 1881 </div>
1880 </div> 1882 </div>
1881 </td> 1883 </td>
1882 <td class="px-4 py-3 text-sm"> 1884 <td class="px-4 py-3 text-sm">
1883 $ 369.95 1885 $ 369.95
1884 </td> 1886 </td>
1885 <td class="px-4 py-3 text-xs"> 1887 <td class="px-4 py-3 text-xs">
1886 <span 1888 <span
1887 class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600" 1889 class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"
1888 > 1890 >
1889 Pending 1891 Pending
1890 </span> 1892 </span>
1891 </td> 1893 </td>
1892 <td class="px-4 py-3 text-sm"> 1894 <td class="px-4 py-3 text-sm">
1893 6/10/2020 1895 6/10/2020
1894 </td> 1896 </td>
1895 </tr> 1897 </tr>
1896 1898
1897 <tr class="text-gray-700 dark:text-gray-400"> 1899 <tr class="text-gray-700 dark:text-gray-400">
1898 <td class="px-4 py-3"> 1900 <td class="px-4 py-3">
1899 <div class="flex items-center text-sm"> 1901 <div class="flex items-center text-sm">
1900 1902
1901 <div 1903 <div
1902 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1904 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1903 > 1905 >
1904 <img 1906 <img
1905 class="object-cover w-full h-full rounded-full" 1907 class="object-cover w-full h-full rounded-full"
1906 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" 1908 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"
1907 alt="" 1909 alt=""
1908 loading="lazy" 1910 loading="lazy"
1909 /> 1911 />
1910 <div 1912 <div
1911 class="absolute inset-0 rounded-full shadow-inner" 1913 class="absolute inset-0 rounded-full shadow-inner"
1912 aria-hidden="true" 1914 aria-hidden="true"
1913 ></div> 1915 ></div>
1914 </div> 1916 </div>
1915 <div> 1917 <div>
1916 <p class="font-semibold">Sarah Curry</p> 1918 <p class="font-semibold">Sarah Curry</p>
1917 <p class="text-xs text-gray-600 dark:text-gray-400"> 1919 <p class="text-xs text-gray-600 dark:text-gray-400">
1918 Designer 1920 Designer
1919 </p> 1921 </p>
1920 </div> 1922 </div>
1921 </div> 1923 </div>
1922 </td> 1924 </td>
1923 <td class="px-4 py-3 text-sm"> 1925 <td class="px-4 py-3 text-sm">
1924 $ 86.00 1926 $ 86.00
1925 </td> 1927 </td>
1926 <td class="px-4 py-3 text-xs"> 1928 <td class="px-4 py-3 text-xs">
1927 <span 1929 <span
1928 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" 1930 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"
1929 > 1931 >
1930 Denied 1932 Denied
1931 </span> 1933 </span>
1932 </td> 1934 </td>
1933 <td class="px-4 py-3 text-sm"> 1935 <td class="px-4 py-3 text-sm">
1934 6/10/2020 1936 6/10/2020
1935 </td> 1937 </td>
1936 </tr> 1938 </tr>
1937 1939
1938 <tr class="text-gray-700 dark:text-gray-400"> 1940 <tr class="text-gray-700 dark:text-gray-400">
1939 <td class="px-4 py-3"> 1941 <td class="px-4 py-3">
1940 <div class="flex items-center text-sm"> 1942 <div class="flex items-center text-sm">
1941 1943
1942 <div 1944 <div
1943 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1945 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1944 > 1946 >
1945 <img 1947 <img
1946 class="object-cover w-full h-full rounded-full" 1948 class="object-cover w-full h-full rounded-full"
1947 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" 1949 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"
1948 alt="" 1950 alt=""
1949 loading="lazy" 1951 loading="lazy"
1950 /> 1952 />
1951 <div 1953 <div
1952 class="absolute inset-0 rounded-full shadow-inner" 1954 class="absolute inset-0 rounded-full shadow-inner"
1953 aria-hidden="true" 1955 aria-hidden="true"
1954 ></div> 1956 ></div>
1955 </div> 1957 </div>
1956 <div> 1958 <div>
1957 <p class="font-semibold">Rulia Joberts</p> 1959 <p class="font-semibold">Rulia Joberts</p>
1958 <p class="text-xs text-gray-600 dark:text-gray-400"> 1960 <p class="text-xs text-gray-600 dark:text-gray-400">
1959 Actress 1961 Actress
1960 </p> 1962 </p>
1961 </div> 1963 </div>
1962 </div> 1964 </div>
1963 </td> 1965 </td>
1964 <td class="px-4 py-3 text-sm"> 1966 <td class="px-4 py-3 text-sm">
1965 $ 1276.45 1967 $ 1276.45
1966 </td> 1968 </td>
1967 <td class="px-4 py-3 text-xs"> 1969 <td class="px-4 py-3 text-xs">
1968 <span 1970 <span
1969 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" 1971 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"
1970 > 1972 >
1971 Approved 1973 Approved
1972 </span> 1974 </span>
1973 </td> 1975 </td>
1974 <td class="px-4 py-3 text-sm"> 1976 <td class="px-4 py-3 text-sm">
1975 6/10/2020 1977 6/10/2020
1976 </td> 1978 </td>
1977 </tr> 1979 </tr>
1978 1980
1979 <tr class="text-gray-700 dark:text-gray-400"> 1981 <tr class="text-gray-700 dark:text-gray-400">
1980 <td class="px-4 py-3"> 1982 <td class="px-4 py-3">
1981 <div class="flex items-center text-sm"> 1983 <div class="flex items-center text-sm">
1982 1984
1983 <div 1985 <div
1984 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1986 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1985 > 1987 >
1986 <img 1988 <img
1987 class="object-cover w-full h-full rounded-full" 1989 class="object-cover w-full h-full rounded-full"
1988 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" 1990 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"
1989 alt="" 1991 alt=""
1990 loading="lazy" 1992 loading="lazy"
1991 /> 1993 />
1992 <div 1994 <div
1993 class="absolute inset-0 rounded-full shadow-inner" 1995 class="absolute inset-0 rounded-full shadow-inner"
1994 aria-hidden="true" 1996 aria-hidden="true"
1995 ></div> 1997 ></div>
1996 </div> 1998 </div>
1997 <div> 1999 <div>
1998 <p class="font-semibold">Wenzel Dashington</p> 2000 <p class="font-semibold">Wenzel Dashington</p>
1999 <p class="text-xs text-gray-600 dark:text-gray-400"> 2001 <p class="text-xs text-gray-600 dark:text-gray-400">
2000 Actor 2002 Actor
2001 </p> 2003 </p>
2002 </div> 2004 </div>
2003 </div> 2005 </div>
2004 </td> 2006 </td>
2005 <td class="px-4 py-3 text-sm"> 2007 <td class="px-4 py-3 text-sm">
2006 $ 863.45 2008 $ 863.45
2007 </td> 2009 </td>
2008 <td class="px-4 py-3 text-xs"> 2010 <td class="px-4 py-3 text-xs">
2009 <span 2011 <span
2010 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" 2012 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"
2011 > 2013 >
2012 Expired 2014 Expired
2013 </span> 2015 </span>
2014 </td> 2016 </td>
2015 <td class="px-4 py-3 text-sm"> 2017 <td class="px-4 py-3 text-sm">
2016 6/10/2020 2018 6/10/2020
2017 </td> 2019 </td>
2018 </tr> 2020 </tr>
2019 2021
2020 <tr class="text-gray-700 dark:text-gray-400"> 2022 <tr class="text-gray-700 dark:text-gray-400">
2021 <td class="px-4 py-3"> 2023 <td class="px-4 py-3">
2022 <div class="flex items-center text-sm"> 2024 <div class="flex items-center text-sm">
2023 2025
2024 <div 2026 <div
2025 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 2027 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
2026 > 2028 >
2027 <img 2029 <img
2028 class="object-cover w-full h-full rounded-full" 2030 class="object-cover w-full h-full rounded-full"
2029 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" 2031 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"
2030 alt="" 2032 alt=""
2031 loading="lazy" 2033 loading="lazy"
2032 /> 2034 />
2033 <div 2035 <div
2034 class="absolute inset-0 rounded-full shadow-inner" 2036 class="absolute inset-0 rounded-full shadow-inner"
2035 aria-hidden="true" 2037 aria-hidden="true"
2036 ></div> 2038 ></div>
2037 </div> 2039 </div>
2038 <div> 2040 <div>
2039 <p class="font-semibold">Dave Li</p> 2041 <p class="font-semibold">Dave Li</p>
2040 <p class="text-xs text-gray-600 dark:text-gray-400"> 2042 <p class="text-xs text-gray-600 dark:text-gray-400">
2041 Influencer 2043 Influencer
2042 </p> 2044 </p>
2043 </div> 2045 </div>
2044 </div> 2046 </div>
2045 </td> 2047 </td>
2046 <td class="px-4 py-3 text-sm"> 2048 <td class="px-4 py-3 text-sm">
2047 $ 863.45 2049 $ 863.45
2048 </td> 2050 </td>
2049 <td class="px-4 py-3 text-xs"> 2051 <td class="px-4 py-3 text-xs">
2050 <span 2052 <span
2051 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" 2053 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"
2052 > 2054 >
2053 Approved 2055 Approved
2054 </span> 2056 </span>
2055 </td> 2057 </td>
2056 <td class="px-4 py-3 text-sm"> 2058 <td class="px-4 py-3 text-sm">
2057 6/10/2020 2059 6/10/2020
2058 </td> 2060 </td>
2059 </tr> 2061 </tr>
2060 2062
2061 <tr class="text-gray-700 dark:text-gray-400"> 2063 <tr class="text-gray-700 dark:text-gray-400">
2062 <td class="px-4 py-3"> 2064 <td class="px-4 py-3">
2063 <div class="flex items-center text-sm"> 2065 <div class="flex items-center text-sm">
2064 2066
2065 <div 2067 <div
2066 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 2068 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
2067 > 2069 >
2068 <img 2070 <img
2069 class="object-cover w-full h-full rounded-full" 2071 class="object-cover w-full h-full rounded-full"
2070 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" 2072 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"
2071 alt="" 2073 alt=""
2072 loading="lazy" 2074 loading="lazy"
2073 /> 2075 />
2074 <div 2076 <div
2075 class="absolute inset-0 rounded-full shadow-inner" 2077 class="absolute inset-0 rounded-full shadow-inner"
2076 aria-hidden="true" 2078 aria-hidden="true"
2077 ></div> 2079 ></div>
2078 </div> 2080 </div>
2079 <div> 2081 <div>
2080 <p class="font-semibold">Maria Ramovic</p> 2082 <p class="font-semibold">Maria Ramovic</p>
2081 <p class="text-xs text-gray-600 dark:text-gray-400"> 2083 <p class="text-xs text-gray-600 dark:text-gray-400">
2082 Runner 2084 Runner
2083 </p> 2085 </p>
2084 </div> 2086 </div>
2085 </div> 2087 </div>
2086 </td> 2088 </td>
2087 <td class="px-4 py-3 text-sm"> 2089 <td class="px-4 py-3 text-sm">
2088 $ 863.45 2090 $ 863.45
2089 </td> 2091 </td>
2090 <td class="px-4 py-3 text-xs"> 2092 <td class="px-4 py-3 text-xs">
2091 <span 2093 <span
2092 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" 2094 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"
2093 > 2095 >
2094 Approved 2096 Approved
2095 </span> 2097 </span>
2096 </td> 2098 </td>
2097 <td class="px-4 py-3 text-sm"> 2099 <td class="px-4 py-3 text-sm">
2098 6/10/2020 2100 6/10/2020
2099 </td> 2101 </td>
2100 </tr> 2102 </tr>
2101 2103
2102 <tr class="text-gray-700 dark:text-gray-400"> 2104 <tr class="text-gray-700 dark:text-gray-400">
2103 <td class="px-4 py-3"> 2105 <td class="px-4 py-3">
2104 <div class="flex items-center text-sm"> 2106 <div class="flex items-center text-sm">
2105 2107
2106 <div 2108 <div
2107 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 2109 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
2108 > 2110 >
2109 <img 2111 <img
2110 class="object-cover w-full h-full rounded-full" 2112 class="object-cover w-full h-full rounded-full"
2111 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" 2113 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"
2112 alt="" 2114 alt=""
2113 loading="lazy" 2115 loading="lazy"
2114 /> 2116 />
2115 <div 2117 <div
2116 class="absolute inset-0 rounded-full shadow-inner" 2118 class="absolute inset-0 rounded-full shadow-inner"
2117 aria-hidden="true" 2119 aria-hidden="true"
2118 ></div> 2120 ></div>
2119 </div> 2121 </div>
2120 <div> 2122 <div>
2121 <p class="font-semibold">Hitney Wouston</p> 2123 <p class="font-semibold">Hitney Wouston</p>
2122 <p class="text-xs text-gray-600 dark:text-gray-400"> 2124 <p class="text-xs text-gray-600 dark:text-gray-400">
2123 Singer 2125 Singer
2124 </p> 2126 </p>
2125 </div> 2127 </div>
2126 </div> 2128 </div>
2127 </td> 2129 </td>
2128 <td class="px-4 py-3 text-sm"> 2130 <td class="px-4 py-3 text-sm">
2129 $ 863.45 2131 $ 863.45
2130 </td> 2132 </td>
2131 <td class="px-4 py-3 text-xs"> 2133 <td class="px-4 py-3 text-xs">
2132 <span 2134 <span
2133 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" 2135 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"
2134 > 2136 >
2135 Approved 2137 Approved
2136 </span> 2138 </span>
2137 </td> 2139 </td>
2138 <td class="px-4 py-3 text-sm"> 2140 <td class="px-4 py-3 text-sm">
2139 6/10/2020 2141 6/10/2020
2140 </td> 2142 </td>
2141 </tr> 2143 </tr>
2142 2144
2143 <tr class="text-gray-700 dark:text-gray-400"> 2145 <tr class="text-gray-700 dark:text-gray-400">
2144 <td class="px-4 py-3"> 2146 <td class="px-4 py-3">
2145 <div class="flex items-center text-sm"> 2147 <div class="flex items-center text-sm">
2146 2148
2147 <div 2149 <div
2148 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 2150 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
2149 > 2151 >
2150 <img 2152 <img
2151 class="object-cover w-full h-full rounded-full" 2153 class="object-cover w-full h-full rounded-full"
2152 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" 2154 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"
2153 alt="" 2155 alt=""
2154 loading="lazy" 2156 loading="lazy"
2155 /> 2157 />
2156 <div 2158 <div
2157 class="absolute inset-0 rounded-full shadow-inner" 2159 class="absolute inset-0 rounded-full shadow-inner"
2158 aria-hidden="true" 2160 aria-hidden="true"
2159 ></div> 2161 ></div>
2160 </div> 2162 </div>
2161 <div> 2163 <div>
2162 <p class="font-semibold">Hans Burger</p> 2164 <p class="font-semibold">Hans Burger</p>
2163 <p class="text-xs text-gray-600 dark:text-gray-400"> 2165 <p class="text-xs text-gray-600 dark:text-gray-400">
2164 10x Developer 2166 10x Developer
2165 </p> 2167 </p>
2166 </div> 2168 </div>
2167 </div> 2169 </div>
2168 </td> 2170 </td>
2169 <td class="px-4 py-3 text-sm"> 2171 <td class="px-4 py-3 text-sm">
2170 $ 863.45 2172 $ 863.45
2171 </td> 2173 </td>
2172 <td class="px-4 py-3 text-xs"> 2174 <td class="px-4 py-3 text-xs">
2173 <span 2175 <span
2174 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" 2176 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"
2175 > 2177 >
2176 Approved 2178 Approved
2177 </span> 2179 </span>
2178 </td> 2180 </td>
2179 <td class="px-4 py-3 text-sm"> 2181 <td class="px-4 py-3 text-sm">
2180 6/10/2020 2182 6/10/2020
2181 </td> 2183 </td>
2182 </tr> 2184 </tr>
2183 </tbody> 2185 </tbody>
2184 </table> 2186 </table>
2185 </div> 2187 </div>
2186 <div 2188 <div
2187 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" 2189 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"
2188 > 2190 >
2189 <span class="flex items-center col-span-3"> 2191 <span class="flex items-center col-span-3">
2190 Showing 21-30 of 100 2192 Showing 21-30 of 100
2191 </span> 2193 </span>
2192 <span class="col-span-2"></span> 2194 <span class="col-span-2"></span>
2193 2195
2194 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end"> 2196 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end">
2195 <nav aria-label="Table navigation"> 2197 <nav aria-label="Table navigation">
2196 <ul class="inline-flex items-center"> 2198 <ul class="inline-flex items-center">
2197 <li> 2199 <li>
2198 <button 2200 <button
2199 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple" 2201 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple"
2200 aria-label="Previous" 2202 aria-label="Previous"
2201 > 2203 >
2202 <svg 2204 <svg
2203 aria-hidden="true" 2205 aria-hidden="true"
2204 class="w-4 h-4 fill-current" 2206 class="w-4 h-4 fill-current"
2205 viewBox="0 0 20 20" 2207 viewBox="0 0 20 20"
2206 > 2208 >
2207 <path 2209 <path
2208 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" 2210 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"
2209 clip-rule="evenodd" 2211 clip-rule="evenodd"
2210 fill-rule="evenodd" 2212 fill-rule="evenodd"
2211 ></path> 2213 ></path>
2212 </svg> 2214 </svg>
2213 </button> 2215 </button>
2214 </li> 2216 </li>
2215 <li> 2217 <li>
2216 <button 2218 <button
2217 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 2219 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
2218 > 2220 >
2219 1 2221 1
2220 </button> 2222 </button>
2221 </li> 2223 </li>
2222 <li> 2224 <li>
2223 <button 2225 <button
2224 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 2226 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
2225 > 2227 >
2226 2 2228 2
2227 </button> 2229 </button>
2228 </li> 2230 </li>
2229 <li> 2231 <li>
2230 <button 2232 <button
2231 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" 2233 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"
2232 > 2234 >
2233 3 2235 3
2234 </button> 2236 </button>
2235 </li> 2237 </li>
2236 <li> 2238 <li>
2237 <button 2239 <button
2238 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 2240 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
2239 > 2241 >
2240 4 2242 4
2241 </button> 2243 </button>
2242 </li> 2244 </li>
2243 <li> 2245 <li>
2244 <span class="px-3 py-1">...</span> 2246 <span class="px-3 py-1">...</span>
2245 </li> 2247 </li>
2246 <li> 2248 <li>
2247 <button 2249 <button
2248 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 2250 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
2249 > 2251 >
2250 8 2252 8
2251 </button> 2253 </button>
2252 </li> 2254 </li>
2253 <li> 2255 <li>
2254 <button 2256 <button
2255 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 2257 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
2256 > 2258 >
2257 9 2259 9
2258 </button> 2260 </button>
2259 </li> 2261 </li>
2260 <li> 2262 <li>
2261 <button 2263 <button
2262 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple" 2264 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple"
2263 aria-label="Next" 2265 aria-label="Next"
2264 > 2266 >
2265 <svg 2267 <svg
2266 class="w-4 h-4 fill-current" 2268 class="w-4 h-4 fill-current"
2267 aria-hidden="true" 2269 aria-hidden="true"
2268 viewBox="0 0 20 20" 2270 viewBox="0 0 20 20"
2269 > 2271 >
2270 <path 2272 <path
2271 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" 2273 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"
2272 clip-rule="evenodd" 2274 clip-rule="evenodd"
2273 fill-rule="evenodd" 2275 fill-rule="evenodd"
2274 ></path> 2276 ></path>
2275 </svg> 2277 </svg>
2276 </button> 2278 </button>
2277 </li> 2279 </li>
2278 </ul> 2280 </ul>
2279 </nav> 2281 </nav>
2280 </span> 2282 </span>
2281 </div> 2283 </div>
2282 </div> 2284 </div>
2283 --> 2285 -->
2284 <!-- Charts --> 2286 <!-- Charts -->
2285 <!-- 2287 <!--
2286 <h2 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200"> 2288 <h2 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200">
2287 Графики 2289 Графики
2288 </h2> 2290 </h2>
2289 <div class="grid gap-6 mb-8 md:grid-cols-2"> 2291 <div class="grid gap-6 mb-8 md:grid-cols-2">
2290 <div 2292 <div
2291 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 2293 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
2292 > 2294 >
2293 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300"> 2295 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300">
2294 Revenue 2296 Revenue
2295 </h4> 2297 </h4>
2296 <canvas id="pie"></canvas> 2298 <canvas id="pie"></canvas>
2297 <div 2299 <div
2298 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400" 2300 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400"
2299 > 2301 >
2300 2302
2301 <div class="flex items-center"> 2303 <div class="flex items-center">
2302 <span 2304 <span
2303 class="inline-block w-3 h-3 mr-1 bg-blue-500 rounded-full" 2305 class="inline-block w-3 h-3 mr-1 bg-blue-500 rounded-full"
2304 ></span> 2306 ></span>
2305 <span>Shirts</span> 2307 <span>Shirts</span>
2306 </div> 2308 </div>
2307 <div class="flex items-center"> 2309 <div class="flex items-center">
2308 <span 2310 <span
2309 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full" 2311 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full"
2310 ></span> 2312 ></span>
2311 <span>Shoes</span> 2313 <span>Shoes</span>
2312 </div> 2314 </div>
2313 <div class="flex items-center"> 2315 <div class="flex items-center">
2314 <span 2316 <span
2315 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full" 2317 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full"
2316 ></span> 2318 ></span>
2317 <span>Bags</span> 2319 <span>Bags</span>
2318 </div> 2320 </div>
2319 </div> 2321 </div>
2320 </div> 2322 </div>
2321 <div 2323 <div
2322 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 2324 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
2323 > 2325 >
2324 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300"> 2326 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300">
2325 Traffic 2327 Traffic
2326 </h4> 2328 </h4>
2327 <canvas id="line"></canvas> 2329 <canvas id="line"></canvas>
2328 <div 2330 <div
2329 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400" 2331 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400"
2330 > 2332 >
2331 2333
2332 <div class="flex items-center"> 2334 <div class="flex items-center">
2333 <span 2335 <span
2334 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full" 2336 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full"
2335 ></span> 2337 ></span>
2336 <span>Organic</span> 2338 <span>Organic</span>
2337 </div> 2339 </div>
2338 <div class="flex items-center"> 2340 <div class="flex items-center">
2339 <span 2341 <span
2340 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full" 2342 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full"
2341 ></span> 2343 ></span>
2342 <span>Paid</span> 2344 <span>Paid</span>
2343 </div> 2345 </div>
2344 </div> 2346 </div>
2345 </div> 2347 </div>
2346 </div> 2348 </div>
2347 --> 2349 -->
2348 </div> 2350 </div>
2349 </main> 2351 </main>
2350 </div> 2352 </div>
2351 </div> 2353 </div>
2352 @yield('modal') 2354 @yield('modal')
2353 </body> 2355 </body>
2354 @yield('script') 2356 @yield('script')
2355 </html> 2357 </html>
2356 2358