Commit 01e6816d2631836a9ac4393558aefaa1d707a00f

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

Добавление модели образование, справочник образование, соискатели, работодатели

Showing 21 changed files with 366 additions and 43 deletions Inline Diff

app/Http/Controllers/Admin/EducationController.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\EducationRequest; 6 use App\Http\Requests\EducationRequest;
7 use App\Models\Education; 7 use App\Models\Education;
8 use Illuminate\Http\Request; 8 use Illuminate\Http\Request;
9 use Illuminate\Support\Facades\Storage;
9 10
10 class EducationController extends Controller 11 class EducationController extends Controller
11 { 12 {
12 /** 13 /**
13 * Display a listing of the resource. 14 * Display a listing of the resource.
14 * 15 *
15 * @return \Illuminate\Http\Response 16 * @return \Illuminate\Http\Response
16 */ 17 */
17 public function index() 18 public function index()
18 { 19 {
19 $education = Education::query()->active()->paginate(15); 20 $education = Education::query()->active()->paginate(15);
20 return view('admin.education.index', compact('education')); 21 return view('admin.education.index', compact('education'));
21 } 22 }
22 23
23 /** 24 /**
24 * Show the form for creating a new resource. 25 * Show the form for creating a new resource.
25 * 26 *
26 * @return \Illuminate\Http\Response 27 * @return \Illuminate\Http\Response
27 */ 28 */
28 public function create() 29 public function create()
29 { 30 {
30 return view('admin.education.add'); 31 return view('admin.education.add');
31 } 32 }
32 33
33 /** 34 /**
34 * Store a newly created resource in storage. 35 * Store a newly created resource in storage.
35 * 36 *
36 * @param \Illuminate\Http\Request $request 37 * @param \Illuminate\Http\Request $request
37 * @return \Illuminate\Http\Response 38 * @return \Illuminate\Http\Response
38 */ 39 */
39 public function store(EducationRequest $request) 40 public function store(EducationRequest $request)
40 { 41 {
41 Education::create($request->all()); 42 $params = $request->all();
43 if ($request->has('image')) {
44 $params['image'] = $request->file('image')->store("education", 'public');
45 }
46 Education::create($params);
47
48
42 return redirect()->route('admin.education.index'); 49 return redirect()->route('admin.education.index');
43 } 50 }
44 51
45 /** 52 /**
46 * Display the specified resource. 53 * Display the specified resource.
47 * 54 *
48 * @param \App\Models\Education $education 55 * @param \App\Models\Education $education
49 * @return \Illuminate\Http\Response 56 * @return \Illuminate\Http\Response
50 */ 57 */
51 public function show(Education $education) 58 public function show(Education $education)
52 { 59 {
53 // 60 //
54 } 61 }
55 62
56 /** 63 /**
57 * Show the form for editing the specified resource. 64 * Show the form for editing the specified resource.
58 * 65 *
59 * @param \App\Models\Education $education 66 * @param \App\Models\Education $education
60 * @return \Illuminate\Http\Response 67 * @return \Illuminate\Http\Response
61 */ 68 */
62 public function edit(Education $education) 69 public function edit(Education $education)
63 { 70 {
71
64 return view('admin.education.edit', compact('education')); 72 return view('admin.education.edit', compact('education'));
65 } 73 }
66 74
67 /** 75 /**
68 * Update the specified resource in storage. 76 * Update the specified resource in storage.
69 * 77 *
70 * @param \Illuminate\Http\Request $request 78 * @param \Illuminate\Http\Request $request
71 * @param \App\Models\Education $education 79 * @param \App\Models\Education $education
72 * @return \Illuminate\Http\Response 80 * @return \Illuminate\Http\Response
73 */ 81 */
74 public function update(EducationRequest $request, Education $education) 82 public function update(EducationRequest $request, Education $education)
75 { 83 {
76 $education->update($request->all()); 84 $params = $request->all();
85 if ($request->has('image')) {
86 if (!empty($education->image)) {
87 Storage::delete($education->image);
88 }
89 $params['image'] = $request->file('image')->store("education", 'public');
90 }
91
92 $education->update($params);
77 return redirect()->route('admin.education.index'); 93 return redirect()->route('admin.education.index');
78 } 94 }
79 95
80 /** 96 /**
81 * Remove the specified resource from storage. 97 * Remove the specified resource from storage.
82 * 98 *
83 * @param \App\Models\Education $education 99 * @param \App\Models\Education $education
84 * @return \Illuminate\Http\Response 100 * @return \Illuminate\Http\Response
85 */ 101 */
86 public function destroy(Education $education) 102 public function destroy(Education $education)
87 { 103 {
88 $education->update(['is_remove' => 1]); 104 $education->update(['is_remove' => 1]);
89 return redirect()->route('admin.education.index'); 105 return redirect()->route('admin.education.index');
90 } 106 }
91 } 107 }
92 108
app/Http/Requests/EducationRequest.php
1 <?php 1 <?php
2 2
3 namespace App\Http\Requests; 3 namespace App\Http\Requests;
4 4
5 use Illuminate\Foundation\Http\FormRequest; 5 use Illuminate\Foundation\Http\FormRequest;
6 6
7 class EducationRequest extends FormRequest 7 class EducationRequest extends FormRequest
8 { 8 {
9 /** 9 /**
10 * Determine if the user is authorized to make this request. 10 * Determine if the user is authorized to make this request.
11 * 11 *
12 * @return bool 12 * @return bool
13 */ 13 */
14 public function authorize() 14 public function authorize()
15 { 15 {
16 return true; 16 return true;
17 } 17 }
18 18
19 /** 19 /**
20 * Get the validation rules that apply to the request. 20 * Get the validation rules that apply to the request.
21 * 21 *
22 * @return array<string, mixed> 22 * @return array<string, mixed>
23 */ 23 */
24 public function rules() 24 public function rules()
25 { 25 {
26 return [ 26 return [
27 'name' => 'required|min:3|max:255', 27 'name' => 'required|min:3|max:255',
28 'email' => 'required|email|min:5',
29 'image' => [
30 'mimes:jpeg,jpg,png',
31 'max:10000'
32 ],
28 ]; 33 ];
29 } 34 }
30 35
31 public function messages() { 36 public function messages() {
32 return [ 37 return [
33 'required' => 'Поле :attribute обязательно для ввода', 38 'required' => 'Поле :attribute обязательно для ввода',
34 'min' => [ 39 'min' => [
35 'string' => 'Поле «:attribute» должно быть не меньше :min символов', 40 'string' => 'Поле «:attribute» должно быть не меньше :min символов',
36 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт' 41 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт'
37 ], 42 ],
38 'max' => [ 43 'max' => [
39 'string' => 'Поле «:attribute» должно быть не больше :max символов', 44 'string' => 'Поле «:attribute» должно быть не больше :max символов',
40 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт' 45 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт'
41 ], 46 ],
47 'email' => 'Введите корректный емайл'
42 48
43 ]; 49 ];
44 } 50 }
45 } 51 }
46 52
app/Models/Education.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 Education extends Model 8 class Education extends Model
9 { 9 {
10 use HasFactory; 10 use HasFactory;
11 11
12 protected $fillable = [ 12 protected $fillable = [
13 'name', 13 'name',
14 'is_remove' 14 'is_remove',
15 'address',
16 'telephone',
17 'email',
18 'text',
19 'image'
15 ]; 20 ];
16 21
17 public function scopeActive($query) { 22 public function scopeActive($query) {
18 return $query->where('is_remove', '=', '0'); 23 return $query->where('is_remove', '=', '0');
19 } 24 }
20 } 25 }
21 26
database/migrations/2023_10_10_094144_alter_table_education.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('education', function (Blueprint $table) {
17 $table->string('address', 255)->nullable();
18 $table->string('telephone', 255)->nullable();
19 $table->string('email', 255)->nullable();
20 $table->text('text')->nullable();
21 $table->string('image', 255)->nullable();
22 });
23 }
24
25 /**
26 * Reverse the migrations.
27 *
28 * @return void
29 */
30 public function down()
31 {
32 Schema::table('education', function (Blueprint $table) {
33 $table->dropColumn('address');
34 $table->dropColumn('telephone');
35 $table->dropColumn('email');
36 $table->dropColumn('text');
37 $table->dropColumn('image');
38 });
39 }
40 };
41
html/public/modals.html
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html :class="{ 'theme-dark': dark }" x-data="data()" lang="en"> 2 <html :class="{ 'theme-dark': dark }" x-data="data()" lang="en">
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>Modals - Windmill Dashboard</title> 6 <title>Modals - Windmill Dashboard</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="./assets/css/tailwind.output.css" /> 11 <link rel="stylesheet" href="./assets/css/tailwind.output.css" />
12 <script 12 <script
13 src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.min.js" 13 src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.min.js"
14 defer 14 defer
15 ></script> 15 ></script>
16 <script src="./assets/js/init-alpine.js"></script> 16 <script src="./assets/js/init-alpine.js"></script>
17 <!-- You need focus-trap.js to make the modal accessible --> 17 <!-- You need focus-trap.js to make the modal accessible -->
18 <script src="./assets/js/focus-trap.js" defer></script> 18 <script src="./assets/js/focus-trap.js" defer></script>
19 </head> 19 </head>
20 <body> 20 <body>
21 <div 21 <div
22 class="flex h-screen bg-gray-50 dark:bg-gray-900" 22 class="flex h-screen bg-gray-50 dark:bg-gray-900"
23 :class="{ 'overflow-hidden': isSideMenuOpen}" 23 :class="{ 'overflow-hidden': isSideMenuOpen}"
24 > 24 >
25 <!-- Desktop sidebar --> 25 <!-- Desktop sidebar -->
26 <aside 26 <aside
27 class="z-20 flex-shrink-0 hidden w-64 overflow-y-auto bg-white dark:bg-gray-800 md:block" 27 class="z-20 flex-shrink-0 hidden w-64 overflow-y-auto bg-white dark:bg-gray-800 md:block"
28 > 28 >
29 <div class="py-4 text-gray-500 dark:text-gray-400"> 29 <div class="py-4 text-gray-500 dark:text-gray-400">
30 <a 30 <a
31 class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200" 31 class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200"
32 href="#" 32 href="#"
33 > 33 >
34 Windmill 34 Windmill
35 </a> 35 </a>
36 <ul class="mt-6"> 36 <ul class="mt-6">
37 <li class="relative px-6 py-3"> 37 <li class="relative px-6 py-3">
38 <a 38 <a
39 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 39 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
40 href="index.html" 40 href="index.html"
41 > 41 >
42 <svg 42 <svg
43 class="w-5 h-5" 43 class="w-5 h-5"
44 aria-hidden="true" 44 aria-hidden="true"
45 fill="none" 45 fill="none"
46 stroke-linecap="round" 46 stroke-linecap="round"
47 stroke-linejoin="round" 47 stroke-linejoin="round"
48 stroke-width="2" 48 stroke-width="2"
49 viewBox="0 0 24 24" 49 viewBox="0 0 24 24"
50 stroke="currentColor" 50 stroke="currentColor"
51 > 51 >
52 <path 52 <path
53 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" 53 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"
54 ></path> 54 ></path>
55 </svg> 55 </svg>
56 <span class="ml-4">Dashboard</span> 56 <span class="ml-4">Dashboard</span>
57 </a> 57 </a>
58 </li> 58 </li>
59 </ul> 59 </ul>
60 <ul> 60 <ul>
61 <li class="relative px-6 py-3"> 61 <li class="relative px-6 py-3">
62 <a 62 <a
63 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 63 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
64 href="forms.html" 64 href="forms.html"
65 > 65 >
66 <svg 66 <svg
67 class="w-5 h-5" 67 class="w-5 h-5"
68 aria-hidden="true" 68 aria-hidden="true"
69 fill="none" 69 fill="none"
70 stroke-linecap="round" 70 stroke-linecap="round"
71 stroke-linejoin="round" 71 stroke-linejoin="round"
72 stroke-width="2" 72 stroke-width="2"
73 viewBox="0 0 24 24" 73 viewBox="0 0 24 24"
74 stroke="currentColor" 74 stroke="currentColor"
75 > 75 >
76 <path 76 <path
77 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" 77 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"
78 ></path> 78 ></path>
79 </svg> 79 </svg>
80 <span class="ml-4">Forms</span> 80 <span class="ml-4">Forms</span>
81 </a> 81 </a>
82 </li> 82 </li>
83 <li class="relative px-6 py-3"> 83 <li class="relative px-6 py-3">
84 <a 84 <a
85 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 85 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
86 href="cards.html" 86 href="cards.html"
87 > 87 >
88 <svg 88 <svg
89 class="w-5 h-5" 89 class="w-5 h-5"
90 aria-hidden="true" 90 aria-hidden="true"
91 fill="none" 91 fill="none"
92 stroke-linecap="round" 92 stroke-linecap="round"
93 stroke-linejoin="round" 93 stroke-linejoin="round"
94 stroke-width="2" 94 stroke-width="2"
95 viewBox="0 0 24 24" 95 viewBox="0 0 24 24"
96 stroke="currentColor" 96 stroke="currentColor"
97 > 97 >
98 <path 98 <path
99 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" 99 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"
100 ></path> 100 ></path>
101 </svg> 101 </svg>
102 <span class="ml-4">Cards</span> 102 <span class="ml-4">Cards</span>
103 </a> 103 </a>
104 </li> 104 </li>
105 <li class="relative px-6 py-3"> 105 <li class="relative px-6 py-3">
106 <a 106 <a
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" 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"
108 href="charts.html" 108 href="charts.html"
109 > 109 >
110 <svg 110 <svg
111 class="w-5 h-5" 111 class="w-5 h-5"
112 aria-hidden="true" 112 aria-hidden="true"
113 fill="none" 113 fill="none"
114 stroke-linecap="round" 114 stroke-linecap="round"
115 stroke-linejoin="round" 115 stroke-linejoin="round"
116 stroke-width="2" 116 stroke-width="2"
117 viewBox="0 0 24 24" 117 viewBox="0 0 24 24"
118 stroke="currentColor" 118 stroke="currentColor"
119 > 119 >
120 <path 120 <path
121 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 121 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
122 ></path> 122 ></path>
123 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 123 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
124 </svg> 124 </svg>
125 <span class="ml-4">Charts</span> 125 <span class="ml-4">Charts</span>
126 </a> 126 </a>
127 </li> 127 </li>
128 <li class="relative px-6 py-3"> 128 <li class="relative px-6 py-3">
129 <a 129 <a
130 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 130 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
131 href="buttons.html" 131 href="buttons.html"
132 > 132 >
133 <svg 133 <svg
134 class="w-5 h-5" 134 class="w-5 h-5"
135 aria-hidden="true" 135 aria-hidden="true"
136 fill="none" 136 fill="none"
137 stroke-linecap="round" 137 stroke-linecap="round"
138 stroke-linejoin="round" 138 stroke-linejoin="round"
139 stroke-width="2" 139 stroke-width="2"
140 viewBox="0 0 24 24" 140 viewBox="0 0 24 24"
141 stroke="currentColor" 141 stroke="currentColor"
142 > 142 >
143 <path 143 <path
144 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" 144 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"
145 ></path> 145 ></path>
146 </svg> 146 </svg>
147 <span class="ml-4">Buttons</span> 147 <span class="ml-4">Buttons</span>
148 </a> 148 </a>
149 </li> 149 </li>
150 <li class="relative px-6 py-3"> 150 <li class="relative px-6 py-3">
151 <span 151 <span
152 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg" 152 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg"
153 aria-hidden="true" 153 aria-hidden="true"
154 ></span> 154 ></span>
155 <a 155 <a
156 class="inline-flex items-center w-full text-sm font-semibold text-gray-800 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 dark:text-gray-100" 156 class="inline-flex items-center w-full text-sm font-semibold text-gray-800 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 dark:text-gray-100"
157 href="modals.html" 157 href="modals.html"
158 > 158 >
159 <svg 159 <svg
160 class="w-5 h-5" 160 class="w-5 h-5"
161 aria-hidden="true" 161 aria-hidden="true"
162 fill="none" 162 fill="none"
163 stroke-linecap="round" 163 stroke-linecap="round"
164 stroke-linejoin="round" 164 stroke-linejoin="round"
165 stroke-width="2" 165 stroke-width="2"
166 viewBox="0 0 24 24" 166 viewBox="0 0 24 24"
167 stroke="currentColor" 167 stroke="currentColor"
168 > 168 >
169 <path 169 <path
170 d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" 170 d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"
171 ></path> 171 ></path>
172 </svg> 172 </svg>
173 <span class="ml-4">Modals</span> 173 <span class="ml-4">Modals</span>
174 </a> 174 </a>
175 </li> 175 </li>
176 <li class="relative px-6 py-3"> 176 <li class="relative px-6 py-3">
177 <a 177 <a
178 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 178 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
179 href="tables.html" 179 href="tables.html"
180 > 180 >
181 <svg 181 <svg
182 class="w-5 h-5" 182 class="w-5 h-5"
183 aria-hidden="true" 183 aria-hidden="true"
184 fill="none" 184 fill="none"
185 stroke-linecap="round" 185 stroke-linecap="round"
186 stroke-linejoin="round" 186 stroke-linejoin="round"
187 stroke-width="2" 187 stroke-width="2"
188 viewBox="0 0 24 24" 188 viewBox="0 0 24 24"
189 stroke="currentColor" 189 stroke="currentColor"
190 > 190 >
191 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 191 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
192 </svg> 192 </svg>
193 <span class="ml-4">Tables</span> 193 <span class="ml-4">Tables</span>
194 </a> 194 </a>
195 </li> 195 </li>
196 <li class="relative px-6 py-3"> 196 <li class="relative px-6 py-3">
197 <button 197 <button
198 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" 198 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"
199 @click="togglePagesMenu" 199 @click="togglePagesMenu"
200 aria-haspopup="true" 200 aria-haspopup="true"
201 > 201 >
202 <span class="inline-flex items-center"> 202 <span class="inline-flex items-center">
203 <svg 203 <svg
204 class="w-5 h-5" 204 class="w-5 h-5"
205 aria-hidden="true" 205 aria-hidden="true"
206 fill="none" 206 fill="none"
207 stroke-linecap="round" 207 stroke-linecap="round"
208 stroke-linejoin="round" 208 stroke-linejoin="round"
209 stroke-width="2" 209 stroke-width="2"
210 viewBox="0 0 24 24" 210 viewBox="0 0 24 24"
211 stroke="currentColor" 211 stroke="currentColor"
212 > 212 >
213 <path 213 <path
214 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" 214 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"
215 ></path> 215 ></path>
216 </svg> 216 </svg>
217 <span class="ml-4">Pages</span> 217 <span class="ml-4">Pages</span>
218 </span> 218 </span>
219 <svg 219 <svg
220 class="w-4 h-4" 220 class="w-4 h-4"
221 aria-hidden="true" 221 aria-hidden="true"
222 fill="currentColor" 222 fill="currentColor"
223 viewBox="0 0 20 20" 223 viewBox="0 0 20 20"
224 > 224 >
225 <path 225 <path
226 fill-rule="evenodd" 226 fill-rule="evenodd"
227 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" 227 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"
228 clip-rule="evenodd" 228 clip-rule="evenodd"
229 ></path> 229 ></path>
230 </svg> 230 </svg>
231 </button> 231 </button>
232 <template x-if="isPagesMenuOpen"> 232 <template x-if="isPagesMenuOpen">
233 <ul 233 <ul
234 x-transition:enter="transition-all ease-in-out duration-300" 234 x-transition:enter="transition-all ease-in-out duration-300"
235 x-transition:enter-start="opacity-25 max-h-0" 235 x-transition:enter-start="opacity-25 max-h-0"
236 x-transition:enter-end="opacity-100 max-h-xl" 236 x-transition:enter-end="opacity-100 max-h-xl"
237 x-transition:leave="transition-all ease-in-out duration-300" 237 x-transition:leave="transition-all ease-in-out duration-300"
238 x-transition:leave-start="opacity-100 max-h-xl" 238 x-transition:leave-start="opacity-100 max-h-xl"
239 x-transition:leave-end="opacity-0 max-h-0" 239 x-transition:leave-end="opacity-0 max-h-0"
240 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" 240 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"
241 aria-label="submenu" 241 aria-label="submenu"
242 > 242 >
243 <li 243 <li
244 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 244 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
245 > 245 >
246 <a class="w-full" href="pages/login.html">Login</a> 246 <a class="w-full" href="pages/login.html">Login</a>
247 </li> 247 </li>
248 <li 248 <li
249 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 249 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
250 > 250 >
251 <a class="w-full" href="pages/create-account.html"> 251 <a class="w-full" href="pages/create-account.html">
252 Create account 252 Create account
253 </a> 253 </a>
254 </li> 254 </li>
255 <li 255 <li
256 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 256 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
257 > 257 >
258 <a class="w-full" href="pages/forgot-password.html"> 258 <a class="w-full" href="pages/forgot-password.html">
259 Forgot password 259 Forgot password
260 </a> 260 </a>
261 </li> 261 </li>
262 <li 262 <li
263 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 263 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
264 > 264 >
265 <a class="w-full" href="pages/404.html">404</a> 265 <a class="w-full" href="pages/404.html">404</a>
266 </li> 266 </li>
267 <li 267 <li
268 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 268 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
269 > 269 >
270 <a class="w-full" href="pages/blank.html">Blank</a> 270 <a class="w-full" href="pages/blank.html">Blank</a>
271 </li> 271 </li>
272 </ul> 272 </ul>
273 </template> 273 </template>
274 </li> 274 </li>
275 </ul> 275 </ul>
276 <div class="px-6 my-6"> 276 <div class="px-6 my-6">
277 <button 277 <button
278 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" 278 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"
279 > 279 >
280 Create account 280 Create account
281 <span class="ml-2" aria-hidden="true">+</span> 281 <span class="ml-2" aria-hidden="true">+</span>
282 </button> 282 </button>
283 </div> 283 </div>
284 </div> 284 </div>
285 </aside> 285 </aside>
286 <!-- Mobile sidebar --> 286 <!-- Mobile sidebar -->
287 <!-- Backdrop --> 287 <!-- Backdrop -->
288 <div 288 <div
289 x-show="isSideMenuOpen" 289 x-show="isSideMenuOpen"
290 x-transition:enter="transition ease-in-out duration-150" 290 x-transition:enter="transition ease-in-out duration-150"
291 x-transition:enter-start="opacity-0" 291 x-transition:enter-start="opacity-0"
292 x-transition:enter-end="opacity-100" 292 x-transition:enter-end="opacity-100"
293 x-transition:leave="transition ease-in-out duration-150" 293 x-transition:leave="transition ease-in-out duration-150"
294 x-transition:leave-start="opacity-100" 294 x-transition:leave-start="opacity-100"
295 x-transition:leave-end="opacity-0" 295 x-transition:leave-end="opacity-0"
296 class="fixed inset-0 z-10 flex items-end bg-black bg-opacity-50 sm:items-center sm:justify-center" 296 class="fixed inset-0 z-10 flex items-end bg-black bg-opacity-50 sm:items-center sm:justify-center"
297 ></div> 297 ></div>
298 <aside 298 <aside
299 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" 299 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"
300 x-show="isSideMenuOpen" 300 x-show="isSideMenuOpen"
301 x-transition:enter="transition ease-in-out duration-150" 301 x-transition:enter="transition ease-in-out duration-150"
302 x-transition:enter-start="opacity-0 transform -translate-x-20" 302 x-transition:enter-start="opacity-0 transform -translate-x-20"
303 x-transition:enter-end="opacity-100" 303 x-transition:enter-end="opacity-100"
304 x-transition:leave="transition ease-in-out duration-150" 304 x-transition:leave="transition ease-in-out duration-150"
305 x-transition:leave-start="opacity-100" 305 x-transition:leave-start="opacity-100"
306 x-transition:leave-end="opacity-0 transform -translate-x-20" 306 x-transition:leave-end="opacity-0 transform -translate-x-20"
307 @click.away="closeSideMenu" 307 @click.away="closeSideMenu"
308 @keydown.escape="closeSideMenu" 308 @keydown.escape="closeSideMenu"
309 > 309 >
310 <div class="py-4 text-gray-500 dark:text-gray-400"> 310 <div class="py-4 text-gray-500 dark:text-gray-400">
311 <a 311 <a
312 class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200" 312 class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200"
313 href="#" 313 href="#"
314 > 314 >
315 Windmill 315 Windmill
316 </a> 316 </a>
317 <ul class="mt-6"> 317 <ul class="mt-6">
318 <li class="relative px-6 py-3"> 318 <li class="relative px-6 py-3">
319 <a 319 <a
320 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 320 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
321 href="index.html" 321 href="index.html"
322 > 322 >
323 <svg 323 <svg
324 class="w-5 h-5" 324 class="w-5 h-5"
325 aria-hidden="true" 325 aria-hidden="true"
326 fill="none" 326 fill="none"
327 stroke-linecap="round" 327 stroke-linecap="round"
328 stroke-linejoin="round" 328 stroke-linejoin="round"
329 stroke-width="2" 329 stroke-width="2"
330 viewBox="0 0 24 24" 330 viewBox="0 0 24 24"
331 stroke="currentColor" 331 stroke="currentColor"
332 > 332 >
333 <path 333 <path
334 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" 334 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"
335 ></path> 335 ></path>
336 </svg> 336 </svg>
337 <span class="ml-4">Dashboard</span> 337 <span class="ml-4">Dashboard</span>
338 </a> 338 </a>
339 </li> 339 </li>
340 </ul> 340 </ul>
341 <ul> 341 <ul>
342 <li class="relative px-6 py-3"> 342 <li class="relative px-6 py-3">
343 <a 343 <a
344 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 344 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
345 href="forms.html" 345 href="forms.html"
346 > 346 >
347 <svg 347 <svg
348 class="w-5 h-5" 348 class="w-5 h-5"
349 aria-hidden="true" 349 aria-hidden="true"
350 fill="none" 350 fill="none"
351 stroke-linecap="round" 351 stroke-linecap="round"
352 stroke-linejoin="round" 352 stroke-linejoin="round"
353 stroke-width="2" 353 stroke-width="2"
354 viewBox="0 0 24 24" 354 viewBox="0 0 24 24"
355 stroke="currentColor" 355 stroke="currentColor"
356 > 356 >
357 <path 357 <path
358 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" 358 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"
359 ></path> 359 ></path>
360 </svg> 360 </svg>
361 <span class="ml-4">Forms</span> 361 <span class="ml-4">Forms</span>
362 </a> 362 </a>
363 </li> 363 </li>
364 <li class="relative px-6 py-3"> 364 <li class="relative px-6 py-3">
365 <a 365 <a
366 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 366 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
367 href="cards.html" 367 href="cards.html"
368 > 368 >
369 <svg 369 <svg
370 class="w-5 h-5" 370 class="w-5 h-5"
371 aria-hidden="true" 371 aria-hidden="true"
372 fill="none" 372 fill="none"
373 stroke-linecap="round" 373 stroke-linecap="round"
374 stroke-linejoin="round" 374 stroke-linejoin="round"
375 stroke-width="2" 375 stroke-width="2"
376 viewBox="0 0 24 24" 376 viewBox="0 0 24 24"
377 stroke="currentColor" 377 stroke="currentColor"
378 > 378 >
379 <path 379 <path
380 d="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" 380 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"
381 ></path> 381 ></path>
382 </svg> 382 </svg>
383 <span class="ml-4">Cards</span> 383 <span class="ml-4">Cards</span>
384 </a> 384 </a>
385 </li> 385 </li>
386 <li class="relative px-6 py-3"> 386 <li class="relative px-6 py-3">
387 <a 387 <a
388 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 388 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
389 href="charts.html" 389 href="charts.html"
390 > 390 >
391 <svg 391 <svg
392 class="w-5 h-5" 392 class="w-5 h-5"
393 aria-hidden="true" 393 aria-hidden="true"
394 fill="none" 394 fill="none"
395 stroke-linecap="round" 395 stroke-linecap="round"
396 stroke-linejoin="round" 396 stroke-linejoin="round"
397 stroke-width="2" 397 stroke-width="2"
398 viewBox="0 0 24 24" 398 viewBox="0 0 24 24"
399 stroke="currentColor" 399 stroke="currentColor"
400 > 400 >
401 <path 401 <path
402 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 402 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
403 ></path> 403 ></path>
404 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 404 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
405 </svg> 405 </svg>
406 <span class="ml-4">Charts</span> 406 <span class="ml-4">Charts</span>
407 </a> 407 </a>
408 </li> 408 </li>
409 <li class="relative px-6 py-3"> 409 <li class="relative px-6 py-3">
410 <a 410 <a
411 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 411 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
412 href="buttons.html" 412 href="buttons.html"
413 > 413 >
414 <svg 414 <svg
415 class="w-5 h-5" 415 class="w-5 h-5"
416 aria-hidden="true" 416 aria-hidden="true"
417 fill="none" 417 fill="none"
418 stroke-linecap="round" 418 stroke-linecap="round"
419 stroke-linejoin="round" 419 stroke-linejoin="round"
420 stroke-width="2" 420 stroke-width="2"
421 viewBox="0 0 24 24" 421 viewBox="0 0 24 24"
422 stroke="currentColor" 422 stroke="currentColor"
423 > 423 >
424 <path 424 <path
425 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" 425 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"
426 ></path> 426 ></path>
427 </svg> 427 </svg>
428 <span class="ml-4">Buttons</span> 428 <span class="ml-4">Buttons</span>
429 </a> 429 </a>
430 </li> 430 </li>
431 <li class="relative px-6 py-3"> 431 <li class="relative px-6 py-3">
432 <span 432 <span
433 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg" 433 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg"
434 aria-hidden="true" 434 aria-hidden="true"
435 ></span> 435 ></span>
436 <a 436 <a
437 class="inline-flex items-center w-full text-sm font-semibold text-gray-800 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 dark:text-gray-100" 437 class="inline-flex items-center w-full text-sm font-semibold text-gray-800 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 dark:text-gray-100"
438 href="modals.html" 438 href="modals.html"
439 > 439 >
440 <svg 440 <svg
441 class="w-5 h-5" 441 class="w-5 h-5"
442 aria-hidden="true" 442 aria-hidden="true"
443 fill="none" 443 fill="none"
444 stroke-linecap="round" 444 stroke-linecap="round"
445 stroke-linejoin="round" 445 stroke-linejoin="round"
446 stroke-width="2" 446 stroke-width="2"
447 viewBox="0 0 24 24" 447 viewBox="0 0 24 24"
448 stroke="currentColor" 448 stroke="currentColor"
449 > 449 >
450 <path 450 <path
451 d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" 451 d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"
452 ></path> 452 ></path>
453 </svg> 453 </svg>
454 <span class="ml-4">Modals</span> 454 <span class="ml-4">Modals</span>
455 </a> 455 </a>
456 </li> 456 </li>
457 <li class="relative px-6 py-3"> 457 <li class="relative px-6 py-3">
458 <a 458 <a
459 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 459 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
460 href="tables.html" 460 href="tables.html"
461 > 461 >
462 <svg 462 <svg
463 class="w-5 h-5" 463 class="w-5 h-5"
464 aria-hidden="true" 464 aria-hidden="true"
465 fill="none" 465 fill="none"
466 stroke-linecap="round" 466 stroke-linecap="round"
467 stroke-linejoin="round" 467 stroke-linejoin="round"
468 stroke-width="2" 468 stroke-width="2"
469 viewBox="0 0 24 24" 469 viewBox="0 0 24 24"
470 stroke="currentColor" 470 stroke="currentColor"
471 > 471 >
472 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 472 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
473 </svg> 473 </svg>
474 <span class="ml-4">Tables</span> 474 <span class="ml-4">Tables</span>
475 </a> 475 </a>
476 </li> 476 </li>
477 <li class="relative px-6 py-3"> 477 <li class="relative px-6 py-3">
478 <button 478 <button
479 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" 479 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"
480 @click="togglePagesMenu" 480 @click="togglePagesMenu"
481 aria-haspopup="true" 481 aria-haspopup="true"
482 > 482 >
483 <span class="inline-flex items-center"> 483 <span class="inline-flex items-center">
484 <svg 484 <svg
485 class="w-5 h-5" 485 class="w-5 h-5"
486 aria-hidden="true" 486 aria-hidden="true"
487 fill="none" 487 fill="none"
488 stroke-linecap="round" 488 stroke-linecap="round"
489 stroke-linejoin="round" 489 stroke-linejoin="round"
490 stroke-width="2" 490 stroke-width="2"
491 viewBox="0 0 24 24" 491 viewBox="0 0 24 24"
492 stroke="currentColor" 492 stroke="currentColor"
493 > 493 >
494 <path 494 <path
495 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" 495 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"
496 ></path> 496 ></path>
497 </svg> 497 </svg>
498 <span class="ml-4">Pages</span> 498 <span class="ml-4">Pages</span>
499 </span> 499 </span>
500 <svg 500 <svg
501 class="w-4 h-4" 501 class="w-4 h-4"
502 aria-hidden="true" 502 aria-hidden="true"
503 fill="currentColor" 503 fill="currentColor"
504 viewBox="0 0 20 20" 504 viewBox="0 0 20 20"
505 > 505 >
506 <path 506 <path
507 fill-rule="evenodd" 507 fill-rule="evenodd"
508 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" 508 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"
509 clip-rule="evenodd" 509 clip-rule="evenodd"
510 ></path> 510 ></path>
511 </svg> 511 </svg>
512 </button> 512 </button>
513 <template x-if="isPagesMenuOpen"> 513 <template x-if="isPagesMenuOpen">
514 <ul 514 <ul
515 x-transition:enter="transition-all ease-in-out duration-300" 515 x-transition:enter="transition-all ease-in-out duration-300"
516 x-transition:enter-start="opacity-25 max-h-0" 516 x-transition:enter-start="opacity-25 max-h-0"
517 x-transition:enter-end="opacity-100 max-h-xl" 517 x-transition:enter-end="opacity-100 max-h-xl"
518 x-transition:leave="transition-all ease-in-out duration-300" 518 x-transition:leave="transition-all ease-in-out duration-300"
519 x-transition:leave-start="opacity-100 max-h-xl" 519 x-transition:leave-start="opacity-100 max-h-xl"
520 x-transition:leave-end="opacity-0 max-h-0" 520 x-transition:leave-end="opacity-0 max-h-0"
521 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" 521 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"
522 aria-label="submenu" 522 aria-label="submenu"
523 > 523 >
524 <li 524 <li
525 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 525 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
526 > 526 >
527 <a class="w-full" href="pages/login.html">Login</a> 527 <a class="w-full" href="pages/login.html">Login</a>
528 </li> 528 </li>
529 <li 529 <li
530 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 530 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
531 > 531 >
532 <a class="w-full" href="pages/create-account.html"> 532 <a class="w-full" href="pages/create-account.html">
533 Create account 533 Create account
534 </a> 534 </a>
535 </li> 535 </li>
536 <li 536 <li
537 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 537 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
538 > 538 >
539 <a class="w-full" href="pages/forgot-password.html"> 539 <a class="w-full" href="pages/forgot-password.html">
540 Forgot password 540 Forgot password
541 </a> 541 </a>
542 </li> 542 </li>
543 <li 543 <li
544 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 544 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
545 > 545 >
546 <a class="w-full" href="pages/404.html">404</a> 546 <a class="w-full" href="pages/404.html">404</a>
547 </li> 547 </li>
548 <li 548 <li
549 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200" 549 class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200"
550 > 550 >
551 <a class="w-full" href="pages/blank.html">Blank</a> 551 <a class="w-full" href="pages/blank.html">Blank</a>
552 </li> 552 </li>
553 </ul> 553 </ul>
554 </template> 554 </template>
555 </li> 555 </li>
556 </ul> 556 </ul>
557 <div class="px-6 my-6"> 557 <div class="px-6 my-6">
558 <button 558 <button
559 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" 559 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"
560 > 560 >
561 Create account 561 Create account
562 <span class="ml-2" aria-hidden="true">+</span> 562 <span class="ml-2" aria-hidden="true">+</span>
563 </button> 563 </button>
564 </div> 564 </div>
565 </div> 565 </div>
566 </aside> 566 </aside>
567 <div class="flex flex-col flex-1"> 567 <div class="flex flex-col flex-1">
568 <header class="z-10 py-4 bg-white shadow-md dark:bg-gray-800"> 568 <header class="z-10 py-4 bg-white shadow-md dark:bg-gray-800">
569 <div 569 <div
570 class="container flex items-center justify-between h-full px-6 mx-auto text-purple-600 dark:text-purple-300" 570 class="container flex items-center justify-between h-full px-6 mx-auto text-purple-600 dark:text-purple-300"
571 > 571 >
572 <!-- Mobile hamburger --> 572 <!-- Mobile hamburger -->
573 <button 573 <button
574 class="p-1 mr-5 -ml-1 rounded-md md:hidden focus:outline-none focus:shadow-outline-purple" 574 class="p-1 mr-5 -ml-1 rounded-md md:hidden focus:outline-none focus:shadow-outline-purple"
575 @click="toggleSideMenu" 575 @click="toggleSideMenu"
576 aria-label="Menu" 576 aria-label="Menu"
577 > 577 >
578 <svg 578 <svg
579 class="w-6 h-6" 579 class="w-6 h-6"
580 aria-hidden="true" 580 aria-hidden="true"
581 fill="currentColor" 581 fill="currentColor"
582 viewBox="0 0 20 20" 582 viewBox="0 0 20 20"
583 > 583 >
584 <path 584 <path
585 fill-rule="evenodd" 585 fill-rule="evenodd"
586 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" 586 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"
587 clip-rule="evenodd" 587 clip-rule="evenodd"
588 ></path> 588 ></path>
589 </svg> 589 </svg>
590 </button> 590 </button>
591 <!-- Search input --> 591 <!-- Search input -->
592 <div class="flex justify-center flex-1 lg:mr-32"> 592 <div class="flex justify-center flex-1 lg:mr-32">
593 <div 593 <div
594 class="relative w-full max-w-xl mr-6 focus-within:text-purple-500" 594 class="relative w-full max-w-xl mr-6 focus-within:text-purple-500"
595 > 595 >
596 <div class="absolute inset-y-0 flex items-center pl-2"> 596 <div class="absolute inset-y-0 flex items-center pl-2">
597 <svg 597 <svg
598 class="w-4 h-4" 598 class="w-4 h-4"
599 aria-hidden="true" 599 aria-hidden="true"
600 fill="currentColor" 600 fill="currentColor"
601 viewBox="0 0 20 20" 601 viewBox="0 0 20 20"
602 > 602 >
603 <path 603 <path
604 fill-rule="evenodd" 604 fill-rule="evenodd"
605 d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z" 605 d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z"
606 clip-rule="evenodd" 606 clip-rule="evenodd"
607 ></path> 607 ></path>
608 </svg> 608 </svg>
609 </div> 609 </div>
610 <input 610 <input
611 class="w-full pl-8 pr-2 text-sm text-gray-700 placeholder-gray-600 bg-gray-100 border-0 rounded-md dark:placeholder-gray-500 dark:focus:shadow-outline-gray dark:focus:placeholder-gray-600 dark:bg-gray-700 dark:text-gray-200 focus:placeholder-gray-500 focus:bg-white focus:border-purple-300 focus:outline-none focus:shadow-outline-purple form-input" 611 class="w-full pl-8 pr-2 text-sm text-gray-700 placeholder-gray-600 bg-gray-100 border-0 rounded-md dark:placeholder-gray-500 dark:focus:shadow-outline-gray dark:focus:placeholder-gray-600 dark:bg-gray-700 dark:text-gray-200 focus:placeholder-gray-500 focus:bg-white focus:border-purple-300 focus:outline-none focus:shadow-outline-purple form-input"
612 type="text" 612 type="text"
613 placeholder="Search for projects" 613 placeholder="Search for projects"
614 aria-label="Search" 614 aria-label="Search"
615 /> 615 />
616 </div> 616 </div>
617 </div> 617 </div>
618 <ul class="flex items-center flex-shrink-0 space-x-6"> 618 <ul class="flex items-center flex-shrink-0 space-x-6">
619 <!-- Theme toggler --> 619 <!-- Theme toggler -->
620 <li class="flex"> 620 <li class="flex">
621 <button 621 <button
622 class="rounded-md focus:outline-none focus:shadow-outline-purple" 622 class="rounded-md focus:outline-none focus:shadow-outline-purple"
623 @click="toggleTheme" 623 @click="toggleTheme"
624 aria-label="Toggle color mode" 624 aria-label="Toggle color mode"
625 > 625 >
626 <template x-if="!dark"> 626 <template x-if="!dark">
627 <svg 627 <svg
628 class="w-5 h-5" 628 class="w-5 h-5"
629 aria-hidden="true" 629 aria-hidden="true"
630 fill="currentColor" 630 fill="currentColor"
631 viewBox="0 0 20 20" 631 viewBox="0 0 20 20"
632 > 632 >
633 <path 633 <path
634 d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z" 634 d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"
635 ></path> 635 ></path>
636 </svg> 636 </svg>
637 </template> 637 </template>
638 <template x-if="dark"> 638 <template x-if="dark">
639 <svg 639 <svg
640 class="w-5 h-5" 640 class="w-5 h-5"
641 aria-hidden="true" 641 aria-hidden="true"
642 fill="currentColor" 642 fill="currentColor"
643 viewBox="0 0 20 20" 643 viewBox="0 0 20 20"
644 > 644 >
645 <path 645 <path
646 fill-rule="evenodd" 646 fill-rule="evenodd"
647 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" 647 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"
648 clip-rule="evenodd" 648 clip-rule="evenodd"
649 ></path> 649 ></path>
650 </svg> 650 </svg>
651 </template> 651 </template>
652 </button> 652 </button>
653 </li> 653 </li>
654 <!-- Notifications menu --> 654 <!-- Notifications menu -->
655 <li class="relative"> 655 <li class="relative">
656 <button 656 <button
657 class="relative align-middle rounded-md focus:outline-none focus:shadow-outline-purple" 657 class="relative align-middle rounded-md focus:outline-none focus:shadow-outline-purple"
658 @click="toggleNotificationsMenu" 658 @click="toggleNotificationsMenu"
659 @keydown.escape="closeNotificationsMenu" 659 @keydown.escape="closeNotificationsMenu"
660 aria-label="Notifications" 660 aria-label="Notifications"
661 aria-haspopup="true" 661 aria-haspopup="true"
662 > 662 >
663 <svg 663 <svg
664 class="w-5 h-5" 664 class="w-5 h-5"
665 aria-hidden="true" 665 aria-hidden="true"
666 fill="currentColor" 666 fill="currentColor"
667 viewBox="0 0 20 20" 667 viewBox="0 0 20 20"
668 > 668 >
669 <path 669 <path
670 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" 670 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"
671 ></path> 671 ></path>
672 </svg> 672 </svg>
673 <!-- Notification badge --> 673 <!-- Notification badge -->
674 <span 674 <span
675 aria-hidden="true" 675 aria-hidden="true"
676 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" 676 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"
677 ></span> 677 ></span>
678 </button> 678 </button>
679 <template x-if="isNotificationsMenuOpen"> 679 <template x-if="isNotificationsMenuOpen">
680 <ul 680 <ul
681 x-transition:leave="transition ease-in duration-150" 681 x-transition:leave="transition ease-in duration-150"
682 x-transition:leave-start="opacity-100" 682 x-transition:leave-start="opacity-100"
683 x-transition:leave-end="opacity-0" 683 x-transition:leave-end="opacity-0"
684 @click.away="closeNotificationsMenu" 684 @click.away="closeNotificationsMenu"
685 @keydown.escape="closeNotificationsMenu" 685 @keydown.escape="closeNotificationsMenu"
686 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" 686 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"
687 aria-label="submenu" 687 aria-label="submenu"
688 > 688 >
689 <li class="flex"> 689 <li class="flex">
690 <a 690 <a
691 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" 691 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"
692 href="#" 692 href="#"
693 > 693 >
694 <span>Messages</span> 694 <span>Messages</span>
695 <span 695 <span
696 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" 696 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"
697 > 697 >
698 13 698 13
699 </span> 699 </span>
700 </a> 700 </a>
701 </li> 701 </li>
702 <li class="flex"> 702 <li class="flex">
703 <a 703 <a
704 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" 704 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"
705 href="#" 705 href="#"
706 > 706 >
707 <span>Sales</span> 707 <span>Sales</span>
708 <span 708 <span
709 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" 709 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"
710 > 710 >
711 2 711 2
712 </span> 712 </span>
713 </a> 713 </a>
714 </li> 714 </li>
715 <li class="flex"> 715 <li class="flex">
716 <a 716 <a
717 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" 717 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"
718 href="#" 718 href="#"
719 > 719 >
720 <span>Alerts</span> 720 <span>Alerts</span>
721 </a> 721 </a>
722 </li> 722 </li>
723 </ul> 723 </ul>
724 </template> 724 </template>
725 </li> 725 </li>
726 <!-- Profile menu --> 726 <!-- Profile menu -->
727 <li class="relative"> 727 <li class="relative">
728 <button 728 <button
729 class="align-middle rounded-full focus:shadow-outline-purple focus:outline-none" 729 class="align-middle rounded-full focus:shadow-outline-purple focus:outline-none"
730 @click="toggleProfileMenu" 730 @click="toggleProfileMenu"
731 @keydown.escape="closeProfileMenu" 731 @keydown.escape="closeProfileMenu"
732 aria-label="Account" 732 aria-label="Account"
733 aria-haspopup="true" 733 aria-haspopup="true"
734 > 734 >
735 <img 735 <img
736 class="object-cover w-8 h-8 rounded-full" 736 class="object-cover w-8 h-8 rounded-full"
737 src="https://images.unsplash.com/photo-1502378735452-bc7d86632805?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&s=aa3a807e1bbdfd4364d1f449eaa96d82" 737 src="https://images.unsplash.com/photo-1502378735452-bc7d86632805?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=200&fit=max&s=aa3a807e1bbdfd4364d1f449eaa96d82"
738 alt="" 738 alt=""
739 aria-hidden="true" 739 aria-hidden="true"
740 /> 740 />
741 </button> 741 </button>
742 <template x-if="isProfileMenuOpen"> 742 <template x-if="isProfileMenuOpen">
743 <ul 743 <ul
744 x-transition:leave="transition ease-in duration-150" 744 x-transition:leave="transition ease-in duration-150"
745 x-transition:leave-start="opacity-100" 745 x-transition:leave-start="opacity-100"
746 x-transition:leave-end="opacity-0" 746 x-transition:leave-end="opacity-0"
747 @click.away="closeProfileMenu" 747 @click.away="closeProfileMenu"
748 @keydown.escape="closeProfileMenu" 748 @keydown.escape="closeProfileMenu"
749 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" 749 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"
750 aria-label="submenu" 750 aria-label="submenu"
751 > 751 >
752 <li class="flex"> 752 <li class="flex">
753 <a 753 <a
754 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" 754 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"
755 href="#" 755 href="#"
756 > 756 >
757 <svg 757 <svg
758 class="w-4 h-4 mr-3" 758 class="w-4 h-4 mr-3"
759 aria-hidden="true" 759 aria-hidden="true"
760 fill="none" 760 fill="none"
761 stroke-linecap="round" 761 stroke-linecap="round"
762 stroke-linejoin="round" 762 stroke-linejoin="round"
763 stroke-width="2" 763 stroke-width="2"
764 viewBox="0 0 24 24" 764 viewBox="0 0 24 24"
765 stroke="currentColor" 765 stroke="currentColor"
766 > 766 >
767 <path 767 <path
768 d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" 768 d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"
769 ></path> 769 ></path>
770 </svg> 770 </svg>
771 <span>Profile</span> 771 <span>Profile</span>
772 </a> 772 </a>
773 </li> 773 </li>
774 <li class="flex"> 774 <li class="flex">
775 <a 775 <a
776 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" 776 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"
777 href="#" 777 href="#"
778 > 778 >
779 <svg 779 <svg
780 class="w-4 h-4 mr-3" 780 class="w-4 h-4 mr-3"
781 aria-hidden="true" 781 aria-hidden="true"
782 fill="none" 782 fill="none"
783 stroke-linecap="round" 783 stroke-linecap="round"
784 stroke-linejoin="round" 784 stroke-linejoin="round"
785 stroke-width="2" 785 stroke-width="2"
786 viewBox="0 0 24 24" 786 viewBox="0 0 24 24"
787 stroke="currentColor" 787 stroke="currentColor"
788 > 788 >
789 <path 789 <path
790 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" 790 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"
791 ></path> 791 ></path>
792 <path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path> 792 <path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
793 </svg> 793 </svg>
794 <span>Settings</span> 794 <span>Settings</span>
795 </a> 795 </a>
796 </li> 796 </li>
797 <li class="flex"> 797 <li class="flex">
798 <a 798 <a
799 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" 799 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"
800 href="#" 800 href="#"
801 > 801 >
802 <svg 802 <svg
803 class="w-4 h-4 mr-3" 803 class="w-4 h-4 mr-3"
804 aria-hidden="true" 804 aria-hidden="true"
805 fill="none" 805 fill="none"
806 stroke-linecap="round" 806 stroke-linecap="round"
807 stroke-linejoin="round" 807 stroke-linejoin="round"
808 stroke-width="2" 808 stroke-width="2"
809 viewBox="0 0 24 24" 809 viewBox="0 0 24 24"
810 stroke="currentColor" 810 stroke="currentColor"
811 > 811 >
812 <path 812 <path
813 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" 813 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"
814 ></path> 814 ></path>
815 </svg> 815 </svg>
816 <span>Log out</span> 816 <span>Log out</span>
817 </a> 817 </a>
818 </li> 818 </li>
819 </ul> 819 </ul>
820 </template> 820 </template>
821 </li> 821 </li>
822 </ul> 822 </ul>
823 </div> 823 </div>
824 </header> 824 </header>
825 <main class="h-full pb-16 overflow-y-auto"> 825 <main class="h-full pb-16 overflow-y-auto">
826 <div class="container grid px-6 mx-auto"> 826 <div class="container grid px-6 mx-auto">
827 <h2 827 <h2
828 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200" 828 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200"
829 > 829 >
830 Modals 830 Modals
831 </h2> 831 </h2>
832 <!-- CTA --> 832 <!-- CTA -->
833 <a 833 <a
834 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" 834 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"
835 href="https://github.com/estevanmaito/windmill-dashboard" 835 href="https://github.com/estevanmaito/windmill-dashboard"
836 > 836 >
837 <div class="flex items-center"> 837 <div class="flex items-center">
838 <svg 838 <svg
839 class="w-5 h-5 mr-2" 839 class="w-5 h-5 mr-2"
840 fill="currentColor" 840 fill="currentColor"
841 viewBox="0 0 20 20" 841 viewBox="0 0 20 20"
842 > 842 >
843 <path 843 <path
844 d="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" 844 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"
845 ></path> 845 ></path>
846 </svg> 846 </svg>
847 <span>Star this project on GitHub</span> 847 <span>Star this project on GitHub</span>
848 </div> 848 </div>
849 <span>View more &RightArrow;</span> 849 <span>View more &RightArrow;</span>
850 </a> 850 </a>
851 851
852 <div 852 <div
853 class="max-w-2xl px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" 853 class="max-w-2xl px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"
854 > 854 >
855 <p class="mb-4 text-gray-600 dark:text-gray-400"> 855 <p class="mb-4 text-gray-600 dark:text-gray-400">
856 This is possibly 856 This is possibly
857 <strong>the most accessible a modal can get</strong> 857 <strong>the most accessible a modal can get</strong>
858 , using JavaScript. When opened, it uses 858 , using JavaScript. When opened, it uses
859 <code>assets/js/focus-trap.js</code> 859 <code>assets/js/focus-trap.js</code>
860 to create a 860 to create a
861 <em>focus trap</em> 861 <em>focus trap</em>
862 , which means that if you use your keyboard to navigate around, 862 , which means that if you use your keyboard to navigate around,
863 focus won't leak to the elements behind, staying inside the 863 focus won't leak to the elements behind, staying inside the
864 modal in a loop, until you take any action. 864 modal in a loop, until you take any action.
865 </p> 865 </p>
866 866
867 <p class="text-gray-600 dark:text-gray-400"> 867 <p class="text-gray-600 dark:text-gray-400">
868 Also, on small screens it is placed at the bottom of the screen, 868 Also, on small screens it is placed at the bottom of the screen,
869 to account for larger devices and make it easier to click the 869 to account for larger devices and make it easier to click the
870 larger buttons. 870 larger buttons.
871 </p> 871 </p>
872 </div> 872 </div>
873 873
874 <div> 874 <div>
875 <button 875 <button id="i1"
876 @click="openModal" 876 @click="openModal" data-employer="1" data-user="20"
877 class="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" 877 class="btn 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"
878 >
879 Open Modal1
880 </button>
881 <button id="i2"
882 @click="openModal" data-employer="2" data-user="25"
883 class="btn 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"
884 >
885 Open Modal2
886 </button>
887 <button id="i3"
888 @click="openModal" data-employer="3" data-user="30"
889 class="btn 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"
878 > 890 >
879 Open Modal 891 Open Modal3
880 </button> 892 </button>
881 </div> 893 </div>
882 </div> 894 </div>
883 </main> 895 </main>
884 </div> 896 </div>
885 </div> 897 </div>
898 <script>
899 const btns = document.querySelectorAll('.btn');
900 btns.forEach(btn => {
901 btn.addEventListener('click', (e) => {
902 const id = e.target.id;
903 let form = document.getElementById("form1");
904 form.action = "https://link.ru/"+e.target.getAttribute('data-employer')+'/'+e.target.getAttribute('data-user');
905 //document.getElementById("title_modal").innerHTML = id;
906 console.log(e.target.getAttribute('data-employer'));
907 console.log(e.target.getAttribute('data-user'));
908 console.log(id);
909 });
910 });
911 </script>
886 <!-- Modal backdrop. This what you want to place close to the closing body tag --> 912 <!-- Modal backdrop. This what you want to place close to the closing body tag -->
887 <div 913 <div
888 x-show="isModalOpen" 914 x-show="isModalOpen"
889 x-transition:enter="transition ease-out duration-150" 915 x-transition:enter="transition ease-out duration-150"
890 x-transition:enter-start="opacity-0" 916 x-transition:enter-start="opacity-0"
891 x-transition:enter-end="opacity-100" 917 x-transition:enter-end="opacity-100"
892 x-transition:leave="transition ease-in duration-150" 918 x-transition:leave="transition ease-in duration-150"
893 x-transition:leave-start="opacity-100" 919 x-transition:leave-start="opacity-100"
894 x-transition:leave-end="opacity-0" 920 x-transition:leave-end="opacity-0"
895 class="fixed inset-0 z-30 flex items-end bg-black bg-opacity-50 sm:items-center sm:justify-center" 921 class="fixed inset-0 z-30 flex items-end bg-black bg-opacity-50 sm:items-center sm:justify-center"
896 > 922 >
897 <!-- Modal --> 923 <!-- Modal -->
898 <div 924 <div
899 x-show="isModalOpen" 925 x-show="isModalOpen"
900 x-transition:enter="transition ease-out duration-150" 926 x-transition:enter="transition ease-out duration-150"
901 x-transition:enter-start="opacity-0 transform translate-y-1/2" 927 x-transition:enter-start="opacity-0 transform translate-y-1/2"
902 x-transition:enter-end="opacity-100" 928 x-transition:enter-end="opacity-100"
903 x-transition:leave="transition ease-in duration-150" 929 x-transition:leave="transition ease-in duration-150"
904 x-transition:leave-start="opacity-100" 930 x-transition:leave-start="opacity-100"
905 x-transition:leave-end="opacity-0 transform translate-y-1/2" 931 x-transition:leave-end="opacity-0 transform translate-y-1/2"
906 @click.away="closeModal" 932 @click.away="closeModal"
907 @keydown.escape="closeModal" 933 @keydown.escape="closeModal"
908 class="w-full px-6 py-4 overflow-hidden bg-white rounded-t-lg dark:bg-gray-800 sm:rounded-lg sm:m-4 sm:max-w-xl" 934 class="w-full px-6 py-4 overflow-hidden bg-white rounded-t-lg dark:bg-gray-800 sm:rounded-lg sm:m-4 sm:max-w-xl"
909 role="dialog" 935 role="dialog"
910 id="modal" 936 id="modal"
911 > 937 >
912 <!-- Remove header if you don't want a close icon. Use modal body to place modal tile. --> 938 <!-- Remove header if you don't want a close icon. Use modal body to place modal tile. -->
913 <header class="flex justify-end"> 939 <header class="flex justify-end">
914 <button 940 <button
915 class="inline-flex items-center justify-center w-6 h-6 text-gray-400 transition-colors duration-150 rounded dark:hover:text-gray-200 hover: hover:text-gray-700" 941 class="inline-flex items-center justify-center w-6 h-6 text-gray-400 transition-colors duration-150 rounded dark:hover:text-gray-200 hover: hover:text-gray-700"
916 aria-label="close" 942 aria-label="close"
917 @click="closeModal" 943 @click="closeModal"
918 > 944 >
919 <svg 945 <svg
920 class="w-4 h-4" 946 class="w-4 h-4"
921 fill="currentColor" 947 fill="currentColor"
922 viewBox="0 0 20 20" 948 viewBox="0 0 20 20"
923 role="img" 949 role="img"
924 aria-hidden="true" 950 aria-hidden="true"
925 > 951 >
926 <path 952 <path
927 d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" 953 d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z"
928 clip-rule="evenodd" 954 clip-rule="evenodd"
929 fill-rule="evenodd" 955 fill-rule="evenodd"
930 ></path> 956 ></path>
931 </svg> 957 </svg>
932 </button> 958 </button>
933 </header> 959 </header>
934 <!-- Modal body --> 960 <!-- Modal body -->
935 <div class="mt-4 mb-6"> 961 <div class="mt-4 mb-6">
936 <!-- Modal title --> 962 <!-- Modal title -->
937 <p 963 <p name="title_modal" id="title_modal"
938 class="mb-2 text-lg font-semibold text-gray-700 dark:text-gray-300" 964 class="mb-2 text-lg font-semibold text-gray-700 dark:text-gray-300"
939 > 965 >
940 Modal header 966 Modal header
941 </p> 967 </p>
942 <!-- Modal description --> 968 <!-- Modal description -->
943 <p class="text-sm text-gray-700 dark:text-gray-400"> 969 <p class="text-sm text-gray-700 dark:text-gray-400">
944 Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nostrum et 970 Lorem, ipsum dolor sit amet consectetur adipisicing elit. Nostrum et
945 eligendi repudiandae voluptatem tempore! 971 eligendi repudiandae voluptatem tempore!
946 </p> 972 </p>
947 </div> 973 </div>
948 <footer 974 <footer
949 class="flex flex-col items-center justify-end px-6 py-3 -mx-6 -mb-4 space-y-4 sm:space-y-0 sm:space-x-6 sm:flex-row bg-gray-50 dark:bg-gray-800" 975 class="flex flex-col items-center justify-end px-6 py-3 -mx-6 -mb-4 space-y-4 sm:space-y-0 sm:space-x-6 sm:flex-row bg-gray-50 dark:bg-gray-800"
950 > 976 >
951 <button 977 <button
952 @click="closeModal" 978 @click="closeModal"
953 class="w-full px-5 py-3 text-sm font-medium leading-5 text-white text-gray-700 transition-colors duration-150 border border-gray-300 rounded-lg dark:text-gray-400 sm:px-4 sm:py-2 sm:w-auto active:bg-transparent hover:border-gray-500 focus:border-gray-500 active:text-gray-500 focus:outline-none focus:shadow-outline-gray" 979 class="w-full px-5 py-3 text-sm font-medium leading-5 text-white text-gray-700 transition-colors duration-150 border border-gray-300 rounded-lg dark:text-gray-400 sm:px-4 sm:py-2 sm:w-auto active:bg-transparent hover:border-gray-500 focus:border-gray-500 active:text-gray-500 focus:outline-none focus:shadow-outline-gray"
954 > 980 >
955 Cancel 981 Cancel
956 </button> 982 </button>
983 <form id="form1" name="form1" action="" method="POST">
957 <button 984 <button
958 class="w-full px-5 py-3 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-lg sm:w-auto sm:px-4 sm:py-2 active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" 985 class="w-full px-5 py-3 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-lg sm:w-auto sm:px-4 sm:py-2 active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
959 > 986 >
960 Accept 987 Accept
961 </button> 988 </button>
989 </form>
962 </footer> 990 </footer>
963 </div> 991 </div>
964 </div> 992 </div>
965 <!-- End of modal backdrop --> 993 <!-- End of modal backdrop -->
966 </body> 994 </body>
967 </html> 995 </html>
968 996
resources/views/admin/ad_employers/index.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Вакансии']) 1 @extends('layout.admin', ['title' => 'Админка - Вакансии'])
2 2
3 @section('script') 3 @section('script')
4 @endsection 4 @endsection
5 5
6 @section('search') 6 @section('search')
7 7
8 @endsection 8 @endsection
9 9
10 @section('content') 10 @section('content')
11 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block"> 11 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block">
12 <div class="w-full overflow-x-auto"> 12 <div class="w-full overflow-x-auto">
13 <table class="w-full whitespace-no-wrap"> 13 <table class="w-full whitespace-no-wrap">
14 <thead> 14 <thead>
15 <tr 15 <tr
16 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" 16 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"
17 > 17 >
18 <th class="px-4 py-3">№</th> 18 <th class="px-4 py-3">№</th>
19 <th class="px-4 py-3">Название объявления</th> 19 <th class="px-4 py-3">Название объявления</th>
20 <th class="px-4 py-3">Название компании</th> 20 <th class="px-4 py-3">Название компании</th>
21 <th class="px-4 py-3">Должности</th> 21 <th class="px-4 py-3">Должности</th>
22 <th class="px-4 py-3">Избранные</th> 22 <th class="px-4 py-3">Избранные</th>
23 <th class="px-4 py-3">Срочные</th> 23 <th class="px-4 py-3">Срочные</th>
24 <th class="px-4 py-3">Статус</th> 24 <th class="px-4 py-3">Статус</th>
25 <th class="px-4 py-3">Дата создан.</th> 25 <th class="px-4 py-3">Дата создан.</th>
26 <th class="px-4 py-3">Дата изменен.</th> 26 <th class="px-4 py-3">Дата изменен.</th>
27 <th class="px-4 py-3">Изменить</th> 27 <th class="px-4 py-3">Изменить</th>
28 </tr> 28 </tr>
29 </thead> 29 </thead>
30 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 30 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
31 @foreach($ad_employers as $ad) 31 @foreach($ad_employers as $ad)
32 <tr class="text-gray-700 dark:text-gray-400"> 32 <tr class="text-gray-700 dark:text-gray-400">
33 <td class="px-4 py-3"> 33 <td class="px-4 py-3">
34 {{$ad->id}} 34 {{$ad->id}}
35 </td> 35 </td>
36 <td class="px-4 py-3"> 36 <td class="px-4 py-3">
37 {{$ad->name}} 37 {{$ad->name}}
38 </td> 38 </td>
39 <td class="px-4 py-3"> 39 <td class="px-4 py-3">
40 {{$ad->employer->name_company}} 40 {{$ad->employer->name_company}}
41 </td> 41 </td>
42 <td class="px-4 py-3"> 42 <td class="px-4 py-3">
43 <div class="flex items-center text-sm"> 43 <div class="flex items-center text-sm">
44 @if ($ad->jobs->count()) 44 @if ($ad->jobs->count())
45 <div> 45 <div>
46 <?php $i = 0;?> 46 <?php $i = 0;?>
47 @foreach ($ad->jobs as $title) 47 @foreach ($ad->jobs as $title)
48 <?php if ($i==0) {?> 48 <?php if ($i==0) {?>
49 <p class="font-semibold">{{$title->name}}</p> 49 <p class="font-semibold">{{$title->name}}</p>
50 <?php } else {?> 50 <?php } else {?>
51 <p class="font-semibold">/ {{$title->name}}</p> 51 <p class="font-semibold">/ {{$title->name}}</p>
52 <?php } 52 <?php }
53 $i++; 53 $i++;
54 ?> 54 ?>
55 @endforeach 55 @endforeach
56 </div> 56 </div>
57 @endif 57 @endif
58 </div> 58 </div>
59 59
60 </td> 60 </td>
61 61
62 <td class="px-4 py-3 text-sm"> 62 <td class="px-4 py-3 text-sm">
63 @if ($ad->favorite_vacancy==1) 63 @if ($ad->favorite_vacancy==1)
64 <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"> 64 <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">
65 Да 65 Да
66 </span> 66 </span>
67 @else 67 @else
68 <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"> 68 <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">
69 Нет 69 Нет
70 </span> 70 </span>
71 @endif 71 @endif
72 </td> 72 </td>
73 73
74 <td class="px-4 py-3 text-sm"> 74 <td class="px-4 py-3 text-sm">
75 @if ($ad->sroch_vacancy==1) 75 @if ($ad->sroch_vacancy==1)
76 <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"> 76 <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">
77 Да 77 Да
78 </span> 78 </span>
79 @else 79 @else
80 <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"> 80 <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">
81 Нет 81 Нет
82 </span> 82 </span>
83 @endif 83 @endif
84 </td> 84 </td>
85 85
86 <td class="px-4 py-3 text-sm"> 86 <td class="px-4 py-3 text-sm">
87 {{ $ad->status }} 87 {{ $ad->status }}
88 </td> 88 </td>
89 <td class="px-4 py-3 text-sm"> 89 <td class="px-4 py-3 text-sm">
90 {{ $ad->created_at }} 90 {{ date('d.m.Y', strtotime($ad->created_at)) }}
91 </td> 91 </td>
92 <td class="px-4 py-3 text-sm"> 92 <td class="px-4 py-3 text-sm">
93 {{ $ad->updated_at }} 93 {{ date('d.m.Y', strtotime($ad->updated_at)) }}
94 </td> 94 </td>
95 <td class="px-4 py-3 text-sm"> 95 <td class="px-4 py-3 text-sm">
96 <a href="{{ route('admin.edit-ad-employers', ['ad_employer' => $ad->id]) }}"> 96 <a href="{{ route('admin.edit-ad-employers', ['ad_employer' => $ad->id]) }}">
97 Изменить 97 Изменить
98 </a> 98 </a>
99 </td> 99 </td>
100 </tr> 100 </tr>
101 @endforeach 101 @endforeach
102 </tbody> 102 </tbody>
103 </table> 103 </table>
104 </div> 104 </div>
105 105
106 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800"> 106 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800">
107 <?=$ad_employers->appends($_GET)->links('admin.pagginate'); ?> 107 <?=$ad_employers->appends($_GET)->links('admin.pagginate'); ?>
108 </div> 108 </div>
109 </div> 109 </div>
110 @endsection 110 @endsection
111 111
resources/views/admin/education/add.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Добавление образования']) 1 @extends('layout.admin', ['title' => 'Админка - Добавление образования'])
2 2
3 @section('content') 3 @section('content')
4 <form method="POST" action="{{ route('admin.education.store') }}"> 4 <form method="POST" action="{{ route('admin.education.store') }}" enctype="multipart/form-data">
5 @include('admin.education.form') 5 @include('admin.education.form')
6 </form> 6 </form>
7 @endsection 7 @endsection
8 8
resources/views/admin/education/edit.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Редактирование образования']) 1 @extends('layout.admin', ['title' => 'Админка - Редактирование образования'])
2 2
3 @section('content') 3 @section('content')
4 <form method="POST" action="{{ route('admin.education.update', ['education' => $education->id]) }}"> 4 <form method="POST" action="{{ route('admin.education.update', ['education' => $education->id]) }}" enctype="multipart/form-data">
5 @include('admin.education.form') 5 @include('admin.education.form')
6 </form> 6 </form>
7 @endsection 7 @endsection
8 8
resources/views/admin/education/form.blade.php
1 @csrf 1 @csrf
2 2
3 @isset($education) 3 @isset($education)
4 @method('PUT') 4 @method('PUT')
5 @endisset 5 @endisset
6 6
7 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> 7 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
8 <label class="block text-sm"> 8 <label class="block text-sm">
9 <span class="text-gray-700 dark:text-gray-400">Имя категории</span> 9 <span class="text-gray-700 dark:text-gray-400">Название учебного заведения</span>
10 <input name="name" id="name" 10 <input name="name" id="name"
11 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 11 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
12 placeholder="Имя категории" value="{{ old('name') ?? $education->name ?? '' }}" 12 placeholder="Название учебного заведения" value="{{ old('name') ?? $education->name ?? '' }}"
13 /> 13 />
14 @error('name') 14 @error('name')
15 <span class="text-xs text-red-600 dark:text-red-400"> 15 <span class="text-xs text-red-600 dark:text-red-400">
16 {{ $message }} 16 {{ $message }}
17 </span> 17 </span>
18 @enderror 18 @enderror
19 </label><br> 19 </label><br>
20 20
21 <label class="block text-sm">
22 <span class="text-gray-700 dark:text-gray-400">Адрес</span>
23 <input name="address" id="address"
24 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"
25 placeholder="Адрес" value="{{ old('address') ?? $education->address ?? '' }}"
26 />
27 @error('address')
28 <span class="text-xs text-red-600 dark:text-red-400">
29 {{ $message }}
30 </span>
31 @enderror
32 </label><br>
33
34 <label class="block text-sm">
35 <span class="text-gray-700 dark:text-gray-400">Email</span>
36 <input name="email" id="email"
37 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"
38 placeholder="Email" value="{{ old('email') ?? $education->email ?? '' }}"
39 />
40 @error('email')
41 <span class="text-xs text-red-600 dark:text-red-400">
42 {{ $message }}
43 </span>
44 @enderror
45 </label><br>
46
47 <label class="block text-sm">
48 <span class="text-gray-700 dark:text-gray-400">Телефон</span>
49 <input name="telephone" id="telephone"
50 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"
51 placeholder="Телефон" value="{{ old('telephone') ?? $education->telephone ?? '' }}"
52 />
53 @error('telephone')
54 <span class="text-xs text-red-600 dark:text-red-400">
55 {{ $message }}
56 </span>
57 @enderror
58 </label><br>
59
60 <label class="block text-sm">
61 <span class="text-gray-700 dark:text-gray-400">Текст</span>
62 <textarea class="form-control ckeditor" name="text" placeholder="Текст (html)" required
63 rows="10">{{ old('text') ?? $education->text ?? '' }}</textarea>
64 @error('text')
65 <span class="text-xs text-red-600 dark:text-red-400">
66 {{ $message }}
67 </span>
68 @enderror
69 </label><br>
70
71 <label class="block text-sm">
72 <span class="text-gray-700 dark:text-gray-400">Картинка</span>
73 <input type="file" class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700
74 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple
75 dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
76 id="image" name="image" accept="image/png, image/jpeg">
77 @error('image')
78 <span class="text-xs text-red-600 dark:text-red-400">
79 {{ $message }}
80 </span>
81 @enderror
82 @isset($education->image)
83 <img src="{{asset(Storage::url($education->image))}}" width="100px"/>
84 @endisset
85 </label><br>
86
21 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> 87 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
22 <div> 88 <div>
23 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> 89 <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple">
24 Сохранить 90 Сохранить
25 </button> 91 </button>
26 <a href="{{ route('admin.education.index') }}" 92 <a href="{{ route('admin.education.index') }}"
27 class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" 93 class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
28 style="display: -webkit-inline-box; height: 30px!important;" 94 style="display: -webkit-inline-box; height: 30px!important;"
29 >Назад</a> 95 >Назад</a>
30 </div> 96 </div>
31 </div> 97 </div>
32 </div> 98 </div>
99 <script src="//cdn.ckeditor.com/4.14.0/standard/ckeditor.js"></script>
100 <script>
101 CKEDITOR.replace( 'text', {
102 filebrowserUploadUrl: "{{route('ckeditor.image-upload', ['_token' => csrf_token() ])}}",
103 filebrowserImageUploadUrl: "{{ route('ckeditor.image-upload', ['_token' => csrf_token() ])}}",
104 filebrowserUploadMethod: 'form'
105 });
106 </script>
33 107
resources/views/admin/education/index.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Справочник образование']) 1 @extends('layout.admin', ['title' => 'Админка - Справочник образование'])
2 2
3 @section('script') 3 @section('script')
4 4
5 @endsection 5 @endsection
6 6
7 @section('search') 7 @section('search')
8 8
9 @endsection 9 @endsection
10 10
11 @section('content') 11 @section('content')
12 12
13 <a href="{{ route('admin.education.create') }}" style="width: 195px" 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"> 13 <a href="{{ route('admin.education.create') }}" style="width: 195px" 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">
14 Добавить образование 14 Добавить образование
15 </a> 15 </a>
16 <br> 16 <br>
17 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block"> 17 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block">
18 18
19 <div class="w-full overflow-x-auto"> 19 <div class="w-full overflow-x-auto">
20 <table class="w-full whitespace-no-wrap"> 20 <table class="w-full whitespace-no-wrap">
21 <thead> 21 <thead>
22 <tr 22 <tr
23 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" 23 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"
24 > 24 >
25 <th class="px-4 py-3">№</th> 25 <th class="px-4 py-3">№</th>
26 <th class="px-4 py-3">Название образования</th> 26 <th class="px-4 py-3">Название образования</th>
27 <th class="px-4 py-3">Дата создания</th>
28 <th class="px-4 py-3">Редактировать</th> 27 <th class="px-4 py-3">Редактировать</th>
28 <th class="px-4 py-3">Дата создания</th>
29 </tr> 29 </tr>
30 </thead> 30 </thead>
31 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 31 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
32 @foreach($education as $cat) 32 @foreach($education as $cat)
33 <tr class="text-gray-700 dark:text-gray-400"> 33 <tr class="text-gray-700 dark:text-gray-400">
34 <td class="px-4 py-3"> 34 <td class="px-4 py-3">
35 {{$cat->id}} 35 {{$cat->id}}
36 </td> 36 </td>
37 <td class="px-4 py-3"> 37 <td class="px-4 py-3">
38 {{$cat->name}} 38 {{$cat->name}}
39 </td> 39 </td>
40 <td class="px-4 py-3"> 40
41 {{$cat->created_at}}
42 </td>
43 <td class="px-4 py-3 text-sm_"> 41 <td class="px-4 py-3 text-sm_">
44 <form action="{{ route('admin.education.destroy', ['education' => $cat->id]) }}" method="POST"> 42 <form action="{{ route('admin.education.destroy', ['education' => $cat->id]) }}" method="POST">
45 <a href="{{ route('admin.education.edit', ['education' => $cat->id]) }}">Изменить</a> | 43 <a href="{{ route('admin.education.edit', ['education' => $cat->id]) }}">Изменить</a> |
46 @csrf 44 @csrf
47 @method('DELETE') 45 @method('DELETE')
48 <input class="btn btn-danger" type="submit" value="Удалить"/> 46 <input class="btn btn-danger" type="submit" value="Удалить"/>
49 </form> 47 </form>
50 </td> 48 </td>
49 <td class="px-4 py-3">
50 {{ date('d.m.Y', strtotime($cat->created_at))}}
51 </td>
51 </tr> 52 </tr>
52 @endforeach 53 @endforeach
53 </tbody> 54 </tbody>
54 </table> 55 </table>
55 </div> 56 </div>
56 57
57 <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"> 58 <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">
58 <?=$education->appends($_GET)->links('admin.pagginate'); ?> 59 <?=$education->appends($_GET)->links('admin.pagginate'); ?>
59 </div> 60 </div>
resources/views/admin/employer/index.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Работодатели']) 1 @extends('layout.admin', ['title' => 'Админка - Работодатели'])
2 2
3 @section('script') 3 @section('script')
4 <script> 4 <script>
5 $(document).ready(function() { 5 $(document).ready(function() {
6 $(document).on('click', '.checkban', function () { 6 $(document).on('click', '.checkban', function () {
7 var this_ = $(this); 7 var this_ = $(this);
8 var value = this_.val(); 8 var value = this_.val();
9 var ajax_block = $('#ajax_block'); 9 var ajax_block = $('#ajax_block');
10 var bool = 0; 10 var bool = 0;
11 11
12 if(this.checked){ 12 if(this.checked){
13 bool = 1; 13 bool = 1;
14 } else { 14 } else {
15 bool = 0; 15 bool = 0;
16 } 16 }
17 17
18 $.ajax({ 18 $.ajax({
19 type: "GET", 19 type: "GET",
20 url: "{{ url()->full()}}", 20 url: "{{ url()->full()}}",
21 data: "id=" + value + "&is_ban=" + bool, 21 data: "id=" + value + "&is_ban=" + bool,
22 success: function (data) { 22 success: function (data) {
23 console.log('Обновление таблицы пользователей '); 23 console.log('Обновление таблицы пользователей ');
24 //data = JSON.parse(data); 24 //data = JSON.parse(data);
25 //console.log(data); 25 //console.log(data);
26 ajax_block.html(data); 26 ajax_block.html(data);
27 }, 27 },
28 headers: { 28 headers: {
29 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 29 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
30 }, 30 },
31 error: function (data) { 31 error: function (data) {
32 console.log('Error: ' + data); 32 console.log('Error: ' + data);
33 } 33 }
34 }); 34 });
35 }); 35 });
36 36
37 }); 37 });
38 </script> 38 </script>
39 <script>
40 const btns = document.querySelectorAll('.btn_del');
41 btns.forEach(btn => {
42 btn.addEventListener('click', (e) => {
43 console.log('click button');
44 const id = e.target.id;
45 let form = document.getElementById("form_modal_del");
46 form.action = "<?=$_SERVER['HTTP_REFERER']?>/delete/"+e.target.getAttribute('data-employer')+'/'+e.target.getAttribute('data-user');
47 //document.getElementById("title_modal").innerHTML = id;
48 console.log(e.target.getAttribute('data-employer'));
49 console.log(e.target.getAttribute('data-user'));
50
51 });
52 });
53 </script>
39 @endsection 54 @endsection
40 55
41 @section('search') 56 @section('search')
42 @include('admin.find_employer', ['select_category' => $select_category]) 57 @include('admin.find_employer', ['select_category' => $select_category])
43 @endsection 58 @endsection
44 59
60 @section('modal')
61 @include('admin.employer.modal')
62 @endsection
63
45 @section('content') 64 @section('content')
46 <div class="grid gap-6 mb-8 md:grid-cols-2 xl:grid-cols-4"> 65 <div class="grid gap-6 mb-8 md:grid-cols-2 xl:grid-cols-4">
47 66
48 <div class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"> 67 <div class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800">
49 <div class="p-3 mr-4 text-orange-500 bg-orange-100 rounded-full dark:text-orange-100 dark:bg-orange-500"> 68 <div class="p-3 mr-4 text-orange-500 bg-orange-100 rounded-full dark:text-orange-100 dark:bg-orange-500">
50 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 69 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
51 <path 70 <path
52 d="M13 6a3 3 0 11-6 0 3 3 0 016 0zM18 8a2 2 0 11-4 0 2 2 0 014 0zM14 15a4 4 0 00-8 0v3h8v-3zM6 8a2 2 0 11-4 0 2 2 0 014 0zM16 18v-3a5.972 5.972 0 00-.75-2.906A3.005 3.005 0 0119 15v3h-3zM4.75 12.094A5.973 5.973 0 004 15v3H1v-3a3 3 0 013.75-2.906z"></path> 71 d="M13 6a3 3 0 11-6 0 3 3 0 016 0zM18 8a2 2 0 11-4 0 2 2 0 014 0zM14 15a4 4 0 00-8 0v3h8v-3zM6 8a2 2 0 11-4 0 2 2 0 014 0zM16 18v-3a5.972 5.972 0 00-.75-2.906A3.005 3.005 0 0119 15v3h-3zM4.75 12.094A5.973 5.973 0 004 15v3H1v-3a3 3 0 013.75-2.906z"></path>
53 </svg> 72 </svg>
54 </div> 73 </div>
55 <div> 74 <div>
56 <p class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"> 75 <p class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400">
57 Всего работодателей 76 Всего работодателей
58 </p> 77 </p>
59 <p class="text-lg font-semibold text-gray-700 dark:text-gray-200"> 78 <p class="text-lg font-semibold text-gray-700 dark:text-gray-200">
60 {{ $all_employer }} 79 {{ $all_employer }}
61 </p> 80 </p>
62 </div> 81 </div>
63 </div> 82 </div>
64 </div> 83 </div>
65 84 <pre>
85 <?//print_r($_SERVER);?>
86 </pre>
66 87
67 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block"> 88 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block">
68 <div class="w-full overflow-x-auto"> 89 <div class="w-full overflow-x-auto">
69 <table class="w-full whitespace-no-wrap"> 90 <table class="w-full whitespace-no-wrap">
70 <thead> 91 <thead>
71 <tr 92 <tr
72 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" 93 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"
73 > 94 >
74 <th class="px-4 py-3">№</th> 95 <th class="px-4 py-3">№</th>
75 <th class="px-4 py-3">Название компании</th> 96 <th class="px-4 py-3">Название компании</th>
76 <th class="px-4 py-3">Email/Телефон</th> 97 <th class="px-4 py-3">Email/Телефон</th>
77 <th class="px-4 py-3">Категория</th> 98 <th class="px-4 py-3">Категория</th>
78 <th class="px-4 py-3">Комментарий</th> 99 <th class="px-4 py-3">Комментарий</th>
79 <th class="px-4 py-3">Дата регистрации</th> 100 <th class="px-4 py-3">Дата регистрации</th>
80 <th class="px-4 py-3">Редакт.</th> 101 <th class="px-4 py-3">Редакт.</th>
81 </tr> 102 </tr>
82 </thead> 103 </thead>
83 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 104 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
84 @foreach($users as $user) 105 @foreach($users as $user)
85 <tr class="text-gray-700 dark:text-gray-400"> 106 <tr class="text-gray-700 dark:text-gray-400">
86 <td class="px-4 py-3"> 107 <td class="px-4 py-3">
87 {{$user->id}} 108 {{$user->id}}
88 </td> 109 </td>
89 <td class="px-4 py-3"> 110 <td class="px-4 py-3">
90 {{$user->name}} 111 {{$user->name}}
91 </td> 112 </td>
92 <td class="px-4 py-3"> 113 <td class="px-4 py-3">
93 <div class="flex items-center text-sm"> 114 <div class="flex items-center text-sm">
94 <!--<div class="relative hidden w-8 h-8 mr-3 rounded-full md:block"> 115 <!--<div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
95 <div 116 <div
96 class="absolute inset-0 rounded-full shadow-inner" 117 class="absolute inset-0 rounded-full shadow-inner"
97 aria-hidden="true" 118 aria-hidden="true"
98 ></div> 119 ></div>
99 </div>--> 120 </div>-->
100 <div> 121 <div>
101 <p class="font-semibold">{{ empty($user->employers->email) ? $user->email : $user->employers->email }}</p> 122 <p class="font-semibold">{{ empty($user->employers->email) ? $user->email : $user->employers->email }}</p>
102 <p class="text-xs text-gray-600 dark:text-gray-400"> 123 <p class="text-xs text-gray-600 dark:text-gray-400">
103 {{ empty($user->employers->telephone) ? $user->telephone : $user->employers->telephone }} 124 {{ empty($user->employers->telephone) ? $user->telephone : $user->employers->telephone }}
104 </p> 125 </p>
105 </div> 126 </div>
106 </div> 127 </div>
107 128
108 </td> 129 </td>
109 <td class="px-4 py-3 text-sm"> 130 <td class="px-4 py-3 text-sm">
110 {{ $user->category }} 131 {{ $user->category }}
111 </td> 132 </td>
112 <td class="px-4 py-3 text-sm"> 133 <td class="px-4 py-3 text-sm">
113 {{ $user->comment_admin }} 134 @if (!empty($user->comment_admin))
135 Есть
136 @else
137 Нет
138 @endif
114 </td> 139 </td>
115 <td class="px-4 py-3 text-sm"> 140 <td class="px-4 py-3 text-sm">
116 {{ $user->created_at }} 141 {{ date('d.m.Y', strtotime($user->created_at)) }}
117 </td> 142 </td>
118 <td class="px-4 py-3 text-sm"> 143 <td class="px-4 py-3 text-sm">
119 @if (!empty($user->emp_id)) 144 @if (!empty($user->emp_id))
120 <form action="{{ route('admin.delete-employer', ['employer' => $user->emp_id, 'user' => $user->user_id]) }}" method="POST">
121 <a href="{{ route('admin.employer-profile', ['employer' => $user->emp_id]) }}">Изменить</a> | 145 <a href="{{ route('admin.employer-profile', ['employer' => $user->emp_id]) }}">Изменить</a> |
122 @csrf 146 <a @click="openModal" style="cursor: pointer;" data-employer="{{$user->emp_id}}" data-user="{{$user->user_id}}" class="btn_del btn btn-danger">Удалить</a>
123 @method('DELETE')
124 <input class="btn btn-danger" type="submit" value="Удалить"/>
125 </form>
126 @endif 147 @endif
127 </td> 148 </td>
128 <!--<td class="px-4 py-3 text-sm"> 149 <!--<td class="px-4 py-3 text-sm">
129 @if ($user->usr_id > 1) 150 @if ($user->usr_id > 1)
130 <input type="checkbox" class="checkban" value="{{$user->usr_id}}" name="ban_{{$user->usr_id}}" {{ ($user->is_ban) ? "checked" : "" }}/> 151 <input type="checkbox" class="checkban" value="{{$user->usr_id}}" name="ban_{{$user->usr_id}}" {{ ($user->is_ban) ? "checked" : "" }}/>
131 @endif 152 @endif
132 </td>--> 153 </td>-->
133 </tr> 154 </tr>
134 @endforeach 155 @endforeach
135 </tbody> 156 </tbody>
136 </table> 157 </table>
137 </div> 158 </div>
138 159
139 <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"> 160 <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">
140 <?=$users->appends($_GET)->links('admin.pagginate'); ?> 161 <?=$users->appends($_GET)->links('admin.pagginate'); ?>
resources/views/admin/employer/index_ajax.blade.php
1 <div class="w-full overflow-x-auto"> 1 <div class="w-full overflow-x-auto">
2 <table class="w-full whitespace-no-wrap"> 2 <table class="w-full whitespace-no-wrap">
3 <thead> 3 <thead>
4 <tr 4 <tr
5 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800" 5 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800"
6 > 6 >
7 <th class="px-4 py-3">№</th> 7 <th class="px-4 py-3">№</th>
8 <th class="px-4 py-3">Название компании</th> 8 <th class="px-4 py-3">Название компании</th>
9 <th class="px-4 py-3">Email/Телефон</th> 9 <th class="px-4 py-3">Email/Телефон</th>
10 <th class="px-4 py-3">Имя</th> 10 <th class="px-4 py-3">Категория</th>
11 <th class="px-4 py-3">Комментарий</th>
11 <th class="px-4 py-3">Дата регистрации</th> 12 <th class="px-4 py-3">Дата регистрации</th>
12 <th class="px-4 py-3">Изменить</th> 13 <th class="px-4 py-3">Редакт.</th>
13 <th class="px-4 py-3">Бан</th>
14 </tr> 14 </tr>
15 </thead> 15 </thead>
16 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 16 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
17 @foreach($users as $user) 17 @foreach($users as $user)
18 <tr class="text-gray-700 dark:text-gray-400"> 18 <tr class="text-gray-700 dark:text-gray-400">
19 <td class="px-4 py-3"> 19 <td class="px-4 py-3">
20 {{$user->id}} 20 {{$user->id}}
21 </td> 21 </td>
22 <td class="px-4 py-3"> 22 <td class="px-4 py-3">
23 {{$user->name}} 23 {{$user->name}}
24 </td> 24 </td>
25 <td class="px-4 py-3"> 25 <td class="px-4 py-3">
26 <div class="flex items-center text-sm"> 26 <div class="flex items-center text-sm">
27 <!--<div class="relative hidden w-8 h-8 mr-3 rounded-full md:block"> 27 <!--<div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
28 <div 28 <div
29 class="absolute inset-0 rounded-full shadow-inner" 29 class="absolute inset-0 rounded-full shadow-inner"
30 aria-hidden="true" 30 aria-hidden="true"
31 ></div> 31 ></div>
32 </div>--> 32 </div>-->
33 <div> 33 <div>
34 <p class="font-semibold">{{ empty($user->employers->email) ? $user->email : $user->employers->email }}</p> 34 <p class="font-semibold">{{ empty($user->employers->email) ? $user->email : $user->employers->email }}</p>
35 <p class="text-xs text-gray-600 dark:text-gray-400"> 35 <p class="text-xs text-gray-600 dark:text-gray-400">
36 {{ empty($user->employers->telephone) ? $user->telephone : $user->employers->telephone }} 36 {{ empty($user->employers->telephone) ? $user->telephone : $user->employers->telephone }}
37 </p> 37 </p>
38 </div> 38 </div>
39 </div> 39 </div>
40 40
41 </td> 41 </td>
42 <td class="px-4 py-3 text-sm"> 42 <td class="px-4 py-3 text-sm">
43 {{ $user->name_man }} ({{ $user->usr_id }}) 43 {{ $user->name_man }} ({{ $user->usr_id }})
44 </td> 44 </td>
45 <td class="px-4 py-3 text-sm"> 45 <td class="px-4 py-3 text-sm">
46 {{ $user->created_at }} 46 {{ date('d.m.Y', strtotime($user->created_at)) }}
47 </td> 47 </td>
48 <td class="px-4 py-3 text-sm"> 48 <td class="px-4 py-3 text-sm">
49 @if (!empty($user->emp_id)) 49 @if (!empty($user->emp_id))
50 <a href="{{ route('admin.employer-profile', ['employer' => $user->emp_id]) }}">Изменить</a> 50 <a href="{{ route('admin.employer-profile', ['employer' => $user->emp_id]) }}">Изменить</a> |
51 <a @click="openModal" style="cursor: pointer;" data-employer="{{$user->emp_id}}" data-user="{{$user->user_id}}" class="btn_del btn btn-danger">Удалить</a>
51 @endif 52 @endif
52 </td> 53 </td>
53 <td class="px-4 py-3 text-sm"> 54 <!--<td class="px-4 py-3 text-sm">
54 @if ($user->usr_id > 1) 55 @if ($user->usr_id > 1)
55 <input type="checkbox" class="checkban" value="{{$user->usr_id}}" name="ban_{{$user->usr_id}}" {{ ($user->is_ban) ? "checked" : "" }}/> 56 <input type="checkbox" class="checkban" value="{{$user->usr_id}}" name="ban_{{$user->usr_id}}" {{ ($user->is_ban) ? "checked" : "" }}/>
56 @endif 57 @endif
57 </td> 58 </td>-->
58 </tr> 59 </tr>
59 @endforeach 60 @endforeach
60 </tbody> 61 </tbody>
61 </table> 62 </table>
62 </div> 63 </div>
63 64
64 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800"> 65 <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">
65 <?//=$users->appends($_GET)->links('admin.pagginate'); ?> 66 <?//=$users->appends($_GET)->links('admin.pagginate'); ?>
66 <?=$users->links('admin.pagginate'); ?> 67 <?=$users->links('admin.pagginate'); ?>
67 </div> 68 </div>
68 69
resources/views/admin/employer/modal.blade.php
File was created 1 <!-- Modal backdrop. This what you want to place close to the closing body tag -->
2 <div
3 x-show="isModalOpen"
4 x-transition:enter="transition ease-out duration-150"
5 x-transition:enter-start="opacity-0"
6 x-transition:enter-end="opacity-100"
7 x-transition:leave="transition ease-in duration-150"
8 x-transition:leave-start="opacity-100"
9 x-transition:leave-end="opacity-0"
10 class="fixed inset-0 z-30 flex items-end bg-black bg-opacity-50 sm:items-center sm:justify-center"
11 >
12 <!-- Modal -->
13 <div
14 x-show="isModalOpen"
15 x-transition:enter="transition ease-out duration-150"
16 x-transition:enter-start="opacity-0 transform translate-y-1/2"
17 x-transition:enter-end="opacity-100"
18 x-transition:leave="transition ease-in duration-150"
19 x-transition:leave-start="opacity-100"
20 x-transition:leave-end="opacity-0 transform translate-y-1/2"
21 @click.away="closeModal"
22 @keydown.escape="closeModal"
23 class="w-full px-6 py-4 overflow-hidden bg-white rounded-t-lg dark:bg-gray-800 sm:rounded-lg sm:m-4 sm:max-w-xl"
24 role="dialog"
25 id="modal"
26 >
27 <!-- Remove header if you don't want a close icon. Use modal body to place modal tile. -->
28 <header class="flex justify-end">
29 <button
30 class="inline-flex items-center justify-center w-6 h-6 text-gray-400 transition-colors duration-150 rounded dark:hover:text-gray-200 hover: hover:text-gray-700"
31 aria-label="close"
32 @click="closeModal"
33 >
34 <svg
35 class="w-4 h-4"
36 fill="currentColor"
37 viewBox="0 0 20 20"
38 role="img"
39 aria-hidden="true"
40 >
41 <path
42 d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z"
43 clip-rule="evenodd"
44 fill-rule="evenodd"
45 ></path>
46 </svg>
47 </button>
48 </header>
49 <!-- Modal body -->
50 <div class="mt-4 mb-6">
51 <!-- Modal title -->
52 <p
53 class="mb-2 text-lg font-semibold text-gray-700 dark:text-gray-300"
54 >
55 Вы действительно хотите удалить данного работодателя?
56 </p>
57 <!-- Modal description -->
58 <p class="text-sm text-gray-700 dark:text-gray-400">
59 Это приведет к удалению всей информации о работодателе<br>
60 и его вакансиях на данном проекте.
61 </p>
62 </div>
63 <footer
64 class="flex flex-col items-center justify-end px-6 py-3 -mx-6 -mb-4 space-y-4 sm:space-y-0 sm:space-x-6 sm:flex-row bg-gray-50 dark:bg-gray-800"
65 >
66 <button
67 @click="closeModal"
68 class="w-full px-5 py-3 text-sm font-medium leading-5 text-white text-gray-700 transition-colors duration-150 border border-gray-300 rounded-lg dark:text-gray-400 sm:px-4 sm:py-2 sm:w-auto active:bg-transparent hover:border-gray-500 focus:border-gray-500 active:text-gray-500 focus:outline-none focus:shadow-outline-gray"
69 >
70 Отмена
71 </button>
72 <form id="form_modal_del" name="form_modal_del" action="/employer-profile/delete/{employer}/{user}" method="POST">
73 @csrf
74 @method('DELETE')
75
76 <button
77 type="submit"
78 class="w-full px-5 py-3 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-lg sm:w-auto sm:px-4 sm:py-2 active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"
79 >
80 Удалить
81 </button>
82 </form>
83
84 </footer>
85 </div>
86 </div>
87 <!-- End of modal backdrop -->
88
resources/views/admin/message/index.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Сообщения адмистратора']) 1 @extends('layout.admin', ['title' => 'Админка - Сообщения адмистратора'])
2 2
3 @section('script') 3 @section('script')
4 <script> 4 <script>
5 $(document).ready(function() { 5 $(document).ready(function() {
6 $(document).on('change', '.checkread', function () { 6 $(document).on('change', '.checkread', function () {
7 var this_ = $(this); 7 var this_ = $(this);
8 var value = this_.val(); 8 var value = this_.val();
9 var ajax_block = $('#ajax_block'); 9 var ajax_block = $('#ajax_block');
10 var bool = 0; 10 var bool = 0;
11 11
12 if(this.checked){ 12 if(this.checked){
13 bool = 1; 13 bool = 1;
14 } else { 14 } else {
15 bool = 0; 15 bool = 0;
16 } 16 }
17 17
18 $.ajax({ 18 $.ajax({
19 type: "GET", 19 type: "GET",
20 url: "{{ url()->full()}}", 20 url: "{{ url()->full()}}",
21 data: "id=" + value + "&flag_new=" + bool, 21 data: "id=" + value + "&flag_new=" + bool,
22 success: function (data) { 22 success: function (data) {
23 console.log('Обновление таблицы сообщений администратора '); 23 console.log('Обновление таблицы сообщений администратора ');
24 //data = JSON.parse(data); 24 //data = JSON.parse(data);
25 //console.log(data); 25 //console.log(data);
26 ajax_block.html(data); 26 ajax_block.html(data);
27 }, 27 },
28 headers: { 28 headers: {
29 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 29 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
30 }, 30 },
31 error: function (data) { 31 error: function (data) {
32 console.log('Error: ' + data); 32 console.log('Error: ' + data);
33 } 33 }
34 }); 34 });
35 }); 35 });
36 36
37 }); 37 });
38 </script> 38 </script>
39 @endsection 39 @endsection
40 40
41 @section('search') 41 @section('search')
42 @include('admin.find_message') 42 @include('admin.find_message')
43 @endsection 43 @endsection
44 44
45 @section('content') 45 @section('content')
46 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block"> 46 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block">
47 <div class="w-full overflow-x-auto"> 47 <div class="w-full overflow-x-auto">
48 <table class="w-full whitespace-no-wrap"> 48 <table class="w-full whitespace-no-wrap">
49 <thead> 49 <thead>
50 <tr 50 <tr
51 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800" 51 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800"
52 > 52 >
53 <th class="px-4 py-3">№</th> 53 <th class="px-4 py-3">№</th>
54 <th class="px-4 py-3">От юзера</th> 54 <th class="px-4 py-3">От юзера</th>
55 <th class="px-4 py-3">К юзеру</th> 55 <th class="px-4 py-3">К юзеру</th>
56 <th class="px-4 py-3">Текст</th> 56 <th class="px-4 py-3">Текст</th>
57 <th class="px-4 py-3">Дата</th> 57 <th class="px-4 py-3">Дата</th>
58 <th class="px-4 py-3">Прочтено</th> 58 <th class="px-4 py-3">Прочтено</th>
59 </tr> 59 </tr>
60 </thead> 60 </thead>
61 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 61 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
62 @foreach($Msgs as $msg) 62 @foreach($Msgs as $msg)
63 <tr class="text-gray-700 dark:text-gray-400" 63 <tr class="text-gray-700 dark:text-gray-400"
64 @if (isset($msg->user_to->id)) 64 @if (isset($msg->user_to->id))
65 @if (($msg->user_to->id == $id_admin) && ($msg->flag_new == 1)) 65 @if (($msg->user_to->id == $id_admin) && ($msg->flag_new == 1))
66 style="background-color: #403998;" 66 style="background-color: #403998;"
67 @endif 67 @endif
68 @endif> 68 @endif>
69 <td class="px-4 py-3"> 69 <td class="px-4 py-3">
70 {{$msg->id}} 70 {{$msg->id}}
71 </td> 71 </td>
72 <td class="px-4 py-3"> 72 <td class="px-4 py-3">
73 @if (isset($msg->user_from->name)) 73 @if (isset($msg->user_from->name))
74 {{$msg->user_from->name}} ({{$msg->user_from->id}}) 74 {{$msg->user_from->name}} ({{$msg->user_from->id}})
75 @else 75 @else
76 Пользователь удален 76 Пользователь удален
77 @endif 77 @endif
78 </td> 78 </td>
79 <td class="px-4 py-3"> 79 <td class="px-4 py-3">
80 @if (isset($msg->user_to->name)) 80 @if (isset($msg->user_to->name))
81 {{$msg->user_to->name}} ({{$msg->user_to->id}}) 81 {{$msg->user_to->name}} ({{$msg->user_to->id}})
82 @else 82 @else
83 Пользователь удален 83 Пользователь удален
84 @endif 84 @endif
85 </td> 85 </td>
86 <td class="px-4 py-3"> 86 <td class="px-4 py-3">
87 {{$msg->title}} 87 {{$msg->title}}
88 <div class="flex items-center text-sm"> 88 <div class="flex items-center text-sm">
89 <textarea cols="7" style="width:250px;">{{ $msg->text }}</textarea> 89 <textarea cols="7" style="width:250px;">{{ $msg->text }}</textarea>
90 </div> 90 </div>
91 </td> 91 </td>
92 <td class="px-4 py-3 text-sm"> 92 <td class="px-4 py-3 text-sm">
93 {{ $msg->created_at }} 93 {{ date('d.m.Y h:i:s', strtotime($msg->created_at)) }}
94 </td> 94 </td>
95 <td class="px-4 py-3 text-sm"> 95 <td class="px-4 py-3 text-sm">
96 @if (isset($msg->user_to->id)) 96 @if (isset($msg->user_to->id))
97 @if (($msg->user_to->id == $id_admin) && ($msg->flag_new == 1)) 97 @if (($msg->user_to->id == $id_admin) && ($msg->flag_new == 1))
98 <input type="checkbox" class="checkread" value="{{$msg->id}}" name="read_{{$msg->id}}"/> 98 <input type="checkbox" class="checkread" value="{{$msg->id}}" name="read_{{$msg->id}}"/>
99 @endif 99 @endif
100 @endif 100 @endif
101 </td> 101 </td>
102 </tr> 102 </tr>
103 @endforeach 103 @endforeach
104 </tbody> 104 </tbody>
105 </table> 105 </table>
106 </div> 106 </div>
107 107
108 <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"> 108 <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">
109 <?=$Msgs->appends($_GET)->links('admin.pagginate'); ?> 109 <?=$Msgs->appends($_GET)->links('admin.pagginate'); ?>
110 </div> 110 </div>
111 </div><br> 111 </div><br>
112 112
113 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block2"> 113 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block2">
114 114
115 <form method="POST" action="{{ route('admin.admin-messages-post') }}" enctype="multipart/form-data"> 115 <form method="POST" action="{{ route('admin.admin-messages-post') }}" enctype="multipart/form-data">
116 @csrf 116 @csrf
117 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> 117 <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800">
118 <h3 class="text-gray-700 dark:text-gray-400">Отправка сообщения</h3> 118 <h3 class="text-gray-700 dark:text-gray-400">Отправка сообщения</h3>
119 <hr> 119 <hr>
120 <label for="ad_employer_id" class="block text-sm"> 120 <label for="ad_employer_id" class="block text-sm">
121 <input type="hidden" name="user_id" id="user_id" value="{{ $id_admin }}"/> 121 <input type="hidden" name="user_id" id="user_id" value="{{ $id_admin }}"/>
122 122
123 <span class="text-gray-700 dark:text-gray-400">Кому:</span> 123 <span class="text-gray-700 dark:text-gray-400">Кому:</span>
124 124
125 <select name="to_user_id" id="to_user_id" class="block change_js 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"> 125 <select name="to_user_id" id="to_user_id" class="block change_js 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">
126 @foreach($users as $user) 126 @foreach($users as $user)
127 <option value="{{ $user->id }}">{{ $user->name }} ({{ $user->id }})</option> 127 <option value="{{ $user->id }}">{{ $user->name }} ({{ $user->id }})</option>
128 @endforeach 128 @endforeach
129 </select> 129 </select>
130 </label><br> 130 </label><br>
131 131
132 <label class="block text-sm"> 132 <label class="block text-sm">
133 <span class="text-gray-700 dark:text-gray-400">Заголовок</span> 133 <span class="text-gray-700 dark:text-gray-400">Заголовок</span>
134 <input name="title" id="title" 134 <input name="title" id="title"
135 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" 135 class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
136 placeholder="Заголовок" value="{{ old('title') ?? '' }}" 136 placeholder="Заголовок" value="{{ old('title') ?? '' }}"
137 /> 137 />
138 @error('title') 138 @error('title')
139 <span class="text-xs text-red-600 dark:text-red-400"> 139 <span class="text-xs text-red-600 dark:text-red-400">
140 {{ $message }} 140 {{ $message }}
141 </span> 141 </span>
142 @enderror 142 @enderror
143 </label><br> 143 </label><br>
144 144
145 <label class="block text-sm"> 145 <label class="block text-sm">
146 <span class="text-gray-700 dark:text-gray-400">Текст</span> 146 <span class="text-gray-700 dark:text-gray-400">Текст</span>
147 <textarea class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" name="text" placeholder="Текст" required 147 <textarea class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" name="text" placeholder="Текст" required
148 rows="4">{{ old('text') ?? '' }}</textarea> 148 rows="4">{{ old('text') ?? '' }}</textarea>
149 @error('text') 149 @error('text')
150 <span class="text-xs text-red-600 dark:text-red-400"> 150 <span class="text-xs text-red-600 dark:text-red-400">
151 {{ $message }} 151 {{ $message }}
152 </span> 152 </span>
153 @enderror 153 @enderror
154 </label><br> 154 </label><br>
155 155
156 156
157 <label class="block text-sm"> 157 <label class="block text-sm">
158 <span class="text-gray-700 dark:text-gray-400">Файл</span> 158 <span class="text-gray-700 dark:text-gray-400">Файл</span>
159 <input type="file" class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 159 <input type="file" class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700
160 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple 160 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple
161 dark:text-gray-300 dark:focus:shadow-outline-gray form-input" 161 dark:text-gray-300 dark:focus:shadow-outline-gray form-input"
162 id="file" name="file"> 162 id="file" name="file">
163 @error('file') 163 @error('file')
164 <span class="text-xs text-red-600 dark:text-red-400"> 164 <span class="text-xs text-red-600 dark:text-red-400">
165 {{ $message }} 165 {{ $message }}
166 </span> 166 </span>
167 @enderror 167 @enderror
168 </label><br> 168 </label><br>
169 169
170 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> 170 <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4">
171 <div> 171 <div>
172 <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"> 172 <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">
173 Отправить 173 Отправить
174 </button> 174 </button>
175 </div> 175 </div>
176 </div> 176 </div>
177 </div> 177 </div>
178 </form> 178 </form>
179 </div> 179 </div>
180 @endsection 180 @endsection
181 181
resources/views/admin/message/index_ajax.blade.php
1 <div class="w-full overflow-x-auto"> 1 <div class="w-full overflow-x-auto">
2 <table class="w-full whitespace-no-wrap"> 2 <table class="w-full whitespace-no-wrap">
3 <thead> 3 <thead>
4 <tr 4 <tr
5 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800" 5 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800"
6 > 6 >
7 <th class="px-4 py-3">№</th> 7 <th class="px-4 py-3">№</th>
8 <th class="px-4 py-3">От юзера</th> 8 <th class="px-4 py-3">От юзера</th>
9 <th class="px-4 py-3">К юзеру</th> 9 <th class="px-4 py-3">К юзеру</th>
10 <th class="px-4 py-3">Текст</th> 10 <th class="px-4 py-3">Текст</th>
11 <th class="px-4 py-3">Дата</th> 11 <th class="px-4 py-3">Дата</th>
12 <th class="px-4 py-3">Прочтено</th> 12 <th class="px-4 py-3">Прочтено</th>
13 </tr> 13 </tr>
14 </thead> 14 </thead>
15 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 15 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
16 @foreach($Msgs as $msg) 16 @foreach($Msgs as $msg)
17 <tr class="text-gray-700 dark:text-gray-400" 17 <tr class="text-gray-700 dark:text-gray-400"
18 @if (isset($msg->user_to->id)) 18 @if (isset($msg->user_to->id))
19 @if (($msg->user_to->id == $id_admin) && ($msg->flag_new == 1)) style="background-color: #403998;" 19 @if (($msg->user_to->id == $id_admin) && ($msg->flag_new == 1)) style="background-color: #403998;"
20 @endif 20 @endif
21 @endif> 21 @endif>
22 <td class="px-4 py-3"> 22 <td class="px-4 py-3">
23 {{$msg->id}} 23 {{$msg->id}}
24 </td> 24 </td>
25 <td class="px-4 py-3"> 25 <td class="px-4 py-3">
26 @if ((isset($msg->user_from->name)) && (!empty($msg->user_from->name))) 26 @if ((isset($msg->user_from->name)) && (!empty($msg->user_from->name)))
27 {{$msg->user_from->name}} ({{$msg->user_from->id}}) 27 {{$msg->user_from->name}} ({{$msg->user_from->id}})
28 @else 28 @else
29 Пользователь удален 29 Пользователь удален
30 @endif 30 @endif
31 </td> 31 </td>
32 <td class="px-4 py-3"> 32 <td class="px-4 py-3">
33 @if ((isset($msg->user_to->name)) && (!empty($msg->user_to->name))) 33 @if ((isset($msg->user_to->name)) && (!empty($msg->user_to->name)))
34 {{$msg->user_to->name}} ({{$msg->user_to->id}}) 34 {{$msg->user_to->name}} ({{$msg->user_to->id}})
35 @else 35 @else
36 Пользователь удален 36 Пользователь удален
37 @endif 37 @endif
38 </td> 38 </td>
39 <td class="px-4 py-3"> 39 <td class="px-4 py-3">
40 {{$msg->title}} 40 {{$msg->title}}
41 <div class="flex items-center text-sm"> 41 <div class="flex items-center text-sm">
42 <textarea cols="7" style="width:250px;">{{ $msg->text }}</textarea> 42 <textarea cols="7" style="width:250px;">{{ $msg->text }}</textarea>
43 </div> 43 </div>
44 </td> 44 </td>
45 <td class="px-4 py-3 text-sm"> 45 <td class="px-4 py-3 text-sm">
46 {{ $msg->created_at }} 46 {{ date('d.m.Y h:i:s', strtotime($msg->created_at)) }}
47 </td> 47 </td>
48 <td class="px-4 py-3 text-sm"> 48 <td class="px-4 py-3 text-sm">
49 @if (isset($msg->user_to->id)) 49 @if (isset($msg->user_to->id))
50 @if (($msg->user_to->id == $id_admin) && ($msg->flag_new == 1)) 50 @if (($msg->user_to->id == $id_admin) && ($msg->flag_new == 1))
51 <input type="checkbox" class="checkread" value="{{$msg->id}}" name="read_{{$msg->id}}"/> 51 <input type="checkbox" class="checkread" value="{{$msg->id}}" name="read_{{$msg->id}}"/>
52 @endif 52 @endif
53 @endif 53 @endif
54 </td> 54 </td>
55 </tr> 55 </tr>
56 @endforeach 56 @endforeach
57 </tbody> 57 </tbody>
58 </table> 58 </table>
59 </div> 59 </div>
60 60
61 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800"> 61 <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">
62 <?=$Msgs->appends($_GET)->links('admin.pagginate'); ?> 62 <?=$Msgs->appends($_GET)->links('admin.pagginate'); ?>
63 </div> 63 </div>
64 64
resources/views/admin/users/index.blade.php
1 @extends('layout.admin', ['title' => $title]) 1 @extends('layout.admin', ['title' => $title])
2 2
3 @section('script') 3 @section('script')
4 <script> 4 <script>
5 $(document).ready(function() { 5 $(document).ready(function() {
6 $(document).on('click', '.check_click', function () { 6 $(document).on('click', '.check_click', function () {
7 var this_ = $(this); 7 var this_ = $(this);
8 var value = this_.val(); 8 var value = this_.val();
9 var field = this_.attr('data-field'); 9 var field = this_.attr('data-field');
10 var ajax_block = $('#ajax_block'); 10 var ajax_block = $('#ajax_block');
11 var bool = 0; 11 var bool = 0;
12 var str_get = ''; 12 var str_get = '';
13 13
14 if(this.checked){ 14 if(this.checked){
15 bool = 1; 15 bool = 1;
16 } else { 16 } else {
17 bool = 0; 17 bool = 0;
18 } 18 }
19 console.log(field); 19 console.log(field);
20 str_get = "id=" + value + "&" + field + "=" + bool; 20 str_get = "id=" + value + "&" + field + "=" + bool;
21 console.log(str_get); 21 console.log(str_get);
22 22
23 $.ajax({ 23 $.ajax({
24 type: "GET", 24 type: "GET",
25 url: "{{ url()->full()}}", 25 url: "{{ url()->full()}}",
26 data: str_get, 26 data: str_get,
27 success: function (data) { 27 success: function (data) {
28 console.log('Обновление таблицы пользователей '); 28 console.log('Обновление таблицы пользователей ');
29 //data = JSON.parse(data); 29 //data = JSON.parse(data);
30 //console.log(data); 30 //console.log(data);
31 ajax_block.html(data); 31 ajax_block.html(data);
32 }, 32 },
33 headers: { 33 headers: {
34 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 34 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
35 }, 35 },
36 error: function (data) { 36 error: function (data) {
37 console.log('Error: ' + data); 37 console.log('Error: ' + data);
38 } 38 }
39 }); 39 });
40 }); 40 });
41 }); 41 });
42 </script> 42 </script>
43 @endsection 43 @endsection
44 44
45 @section('search') 45 @section('search')
46 @include('admin.find') 46 @include('admin.find')
47 @endsection 47 @endsection
48 48
49 @section('content') 49 @section('content')
50 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block"> 50 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block">
51 <div class="w-full overflow-x-auto"> 51 <div class="w-full overflow-x-auto">
52 <table class="w-full whitespace-no-wrap"> 52 <table class="w-full whitespace-no-wrap">
53 <thead> 53 <thead>
54 <tr 54 <tr
55 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800" 55 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800"
56 > 56 >
57 <th class="px-4 py-3">№</th> 57 <th class="px-4 py-3">№</th>
58 <th class="px-4 py-3">Имя</th> 58 <th class="px-4 py-3">Имя</th>
59 <th class="px-4 py-3">Email/логин</th> 59 <th class="px-4 py-3">Email/логин</th>
60 <th class="px-4 py-3">Работодатель/работник/администратор</th> 60 <th class="px-4 py-3">Работодатель/работник/администратор</th>
61 <th class="px-4 py-3">Бан</th> 61 <th class="px-4 py-3">Бан</th>
62 <th class="px-4 py-3">Новый</th> 62 <th class="px-4 py-3">Новый</th>
63 @if ($id_admin == 1) 63 @if ($id_admin == 1)
64 <th class="px-4 py-3">Админ</th> 64 <th class="px-4 py-3">Админ</th>
65 @endif 65 @endif
66 <th class="px-4 py-3">Дата регистрации</th> 66 <th class="px-4 py-3">Дата регистрации</th>
67 </tr> 67 </tr>
68 </thead> 68 </thead>
69 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 69 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
70 @foreach($users as $user) 70 @foreach($users as $user)
71 <tr class="text-gray-700 dark:text-gray-400"> 71 <tr class="text-gray-700 dark:text-gray-400">
72 <td class="px-4 py-3"> 72 <td class="px-4 py-3">
73 {{$user->id}} 73 {{$user->id}}
74 </td> 74 </td>
75 <td class="px-4 py-3"> 75 <td class="px-4 py-3">
76 <!--<div class="flex items-center text-sm"> 76 <!--<div class="flex items-center text-sm">
77 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block"> 77 <div class="relative hidden w-8 h-8 mr-3 rounded-full md:block">
78 <div 78 <div
79 class="absolute inset-0 rounded-full shadow-inner" 79 class="absolute inset-0 rounded-full shadow-inner"
80 aria-hidden="true" 80 aria-hidden="true"
81 ></div> 81 ></div>
82 </div> 82 </div>
83 <div> 83 <div>
84 <p class="font-semibold"><a href="{{ route('admin.users') }}">Пользователи</a></p> 84 <p class="font-semibold"><a href="{{ route('admin.users') }}">Пользователи</a></p>
85 <p class="text-xs text-gray-600 dark:text-gray-400"> 85 <p class="text-xs text-gray-600 dark:text-gray-400">
86 Все пользователи сайта 86 Все пользователи сайта
87 </p> 87 </p>
88 </div> 88 </div>
89 </div> 89 </div>
90 --> 90 -->
91 <a style="text-decoration: underline;" href="{{ route('admin.user-profile', ['user' => $user->id]) }}">{{ $user->name }}</a> 91 <a style="text-decoration: underline;" href="{{ route('admin.user-profile', ['user' => $user->id]) }}">{{ $user->name }}</a>
92 </td> 92 </td>
93 <td class="px-4 py-3 text-sm"> 93 <td class="px-4 py-3 text-sm">
94 {{ $user->email }} 94 {{ $user->email }}
95 </td> 95 </td>
96 <td class="px-4 py-3 text-xs"> 96 <td class="px-4 py-3 text-xs">
97 <span class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100"> 97 <span class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100">
98 @if ($user->is_worker) 98 @if ($user->is_worker)
99 Работник 99 Работник
100 @else 100 @else
101 Работодатель 101 Работодатель
102 @endif 102 @endif
103 </span> 103 </span>
104 @if ($user->admin) 104 @if ($user->admin)
105 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"> 105 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600">
106 Администратор 106 Администратор
107 </span> 107 </span>
108 @endif 108 @endif
109 </td> 109 </td>
110 <td class="px-4 py-3 text-sm"> 110 <td class="px-4 py-3 text-sm">
111 @if ($user->id > 1) 111 @if ($user->id > 1)
112 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="is_ban" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/> 112 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="is_ban" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/>
113 @endif 113 @endif
114 </td> 114 </td>
115 115
116 <td class="px-4 py-3 text-sm"> 116 <td class="px-4 py-3 text-sm">
117 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="is_new" name="new_{{$user->id}}" {{ ($user->is_new) ? "checked" : "" }}/> 117 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="is_new" name="new_{{$user->id}}" {{ ($user->is_new) ? "checked" : "" }}/>
118 </td> 118 </td>
119 119
120 @if ($id_admin == 1) 120 @if ($id_admin == 1)
121 <td class="px-4 py-3 text-sm"> 121 <td class="px-4 py-3 text-sm">
122 @if ($user->id > 1) 122 @if ($user->id > 1)
123 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="admin" name="admin_{{$user->id}}" {{ ($user->admin) ? "checked" : "" }}/> 123 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="admin" name="admin_{{$user->id}}" {{ ($user->admin) ? "checked" : "" }}/>
124 @endif 124 @endif
125 </td> 125 </td>
126 @endif 126 @endif
127 127
128 <td class="px-4 py-3 text-sm"> 128 <td class="px-4 py-3 text-sm">
129 {{ $user->created_at }} 129 {{ date('d.m.Y', strtotime($user->created_at)) }}
130 </td> 130 </td>
131 </tr> 131 </tr>
132 @endforeach 132 @endforeach
133 </tbody> 133 </tbody>
134 </table> 134 </table>
135 </div> 135 </div>
136 136
137 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800"> 137 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800">
138 <?//=$users->appends($_GET)->links('admin.pagginate'); ?> 138 <?//=$users->appends($_GET)->links('admin.pagginate'); ?>
139 <?=$users->links('admin.pagginate'); ?> 139 <?=$users->links('admin.pagginate'); ?>
140 </div> 140 </div>
141 141
142 142
143 <!--<div 143 <!--<div
144 class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800" 144 class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800"
145 > 145 >
146 <span class="flex items-center col-span-3"> 146 <span class="flex items-center col-span-3">
147 Showing 21-30 of 100 147 Showing 21-30 of 100
148 </span> 148 </span>
149 <span class="col-span-2"></span> 149 <span class="col-span-2"></span>
150 150
151 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end"> 151 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end">
152 <nav aria-label="Table navigation"> 152 <nav aria-label="Table navigation">
153 <ul class="inline-flex items-center"> 153 <ul class="inline-flex items-center">
154 <li> 154 <li>
155 <button 155 <button
156 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple" 156 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple"
157 aria-label="Previous" 157 aria-label="Previous"
158 > 158 >
159 <svg 159 <svg
160 aria-hidden="true" 160 aria-hidden="true"
161 class="w-4 h-4 fill-current" 161 class="w-4 h-4 fill-current"
162 viewBox="0 0 20 20" 162 viewBox="0 0 20 20"
163 > 163 >
164 <path 164 <path
165 d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z" 165 d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z"
166 clip-rule="evenodd" 166 clip-rule="evenodd"
167 fill-rule="evenodd" 167 fill-rule="evenodd"
168 ></path> 168 ></path>
169 </svg> 169 </svg>
170 </button> 170 </button>
171 </li> 171 </li>
172 <li> 172 <li>
173 <button 173 <button
174 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 174 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
175 > 175 >
176 1 176 1
177 </button> 177 </button>
178 </li> 178 </li>
179 <li> 179 <li>
180 <button 180 <button
181 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 181 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
182 > 182 >
183 2 183 2
184 </button> 184 </button>
185 </li> 185 </li>
186 <li> 186 <li>
187 <button 187 <button
188 class="px-3 py-1 text-white transition-colors duration-150 bg-purple-600 border border-r-0 border-purple-600 rounded-md focus:outline-none focus:shadow-outline-purple" 188 class="px-3 py-1 text-white transition-colors duration-150 bg-purple-600 border border-r-0 border-purple-600 rounded-md focus:outline-none focus:shadow-outline-purple"
189 > 189 >
190 3 190 3
191 </button> 191 </button>
192 </li> 192 </li>
193 <li> 193 <li>
194 <button 194 <button
195 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 195 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
196 > 196 >
197 4 197 4
198 </button> 198 </button>
199 </li> 199 </li>
200 <li> 200 <li>
201 <span class="px-3 py-1">...</span> 201 <span class="px-3 py-1">...</span>
202 </li> 202 </li>
203 <li> 203 <li>
204 <button 204 <button
205 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 205 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
206 > 206 >
207 8 207 8
208 </button> 208 </button>
209 </li> 209 </li>
210 <li> 210 <li>
211 <button 211 <button
212 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 212 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
213 > 213 >
214 9 214 9
215 </button> 215 </button>
216 </li> 216 </li>
217 <li> 217 <li>
218 <button 218 <button
219 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple" 219 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple"
220 aria-label="Next" 220 aria-label="Next"
221 > 221 >
222 <svg 222 <svg
223 class="w-4 h-4 fill-current" 223 class="w-4 h-4 fill-current"
224 aria-hidden="true" 224 aria-hidden="true"
225 viewBox="0 0 20 20" 225 viewBox="0 0 20 20"
226 > 226 >
227 <path 227 <path
228 d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" 228 d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
229 clip-rule="evenodd" 229 clip-rule="evenodd"
230 fill-rule="evenodd" 230 fill-rule="evenodd"
231 ></path> 231 ></path>
232 </svg> 232 </svg>
233 </button> 233 </button>
234 </li> 234 </li>
235 </ul> 235 </ul>
236 </nav> 236 </nav>
237 </span> 237 </span>
238 </div>--> 238 </div>-->
239 </div> 239 </div>
240 240
241 <?//=$users->appends($_GET)->links('catalogs.paginate'); ?> 241 <?//=$users->appends($_GET)->links('catalogs.paginate'); ?>
242 242
243 243
244 @endsection 244 @endsection
245 245
resources/views/admin/users/index_ajax.blade.php
1 <div class="w-full overflow-x-auto"> 1 <div class="w-full overflow-x-auto">
2 <table class="w-full whitespace-no-wrap"> 2 <table class="w-full whitespace-no-wrap">
3 <thead> 3 <thead>
4 <tr 4 <tr
5 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800" 5 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800"
6 > 6 >
7 <th class="px-4 py-3">№</th> 7 <th class="px-4 py-3">№</th>
8 <th class="px-4 py-3">Имя</th> 8 <th class="px-4 py-3">Имя</th>
9 <th class="px-4 py-3">Email/логин</th> 9 <th class="px-4 py-3">Email/логин</th>
10 <th class="px-4 py-3">Работодатель/работник/администратор</th> 10 <th class="px-4 py-3">Работодатель/работник/администратор</th>
11 <th class="px-4 py-3">Бан</th> 11 <th class="px-4 py-3">Бан</th>
12 <th class="px-4 py-3">Новый</th> 12 <th class="px-4 py-3">Новый</th>
13 @if ($id_admin == 1) 13 @if ($id_admin == 1)
14 <th class="px-4 py-3">Админ</th> 14 <th class="px-4 py-3">Админ</th>
15 @endif 15 @endif
16 <th class="px-4 py-3">Дата регистрации</th> 16 <th class="px-4 py-3">Дата регистрации</th>
17 </tr> 17 </tr>
18 </thead> 18 </thead>
19 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 19 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
20 @foreach($users as $user) 20 @foreach($users as $user)
21 <tr class="text-gray-700 dark:text-gray-400"> 21 <tr class="text-gray-700 dark:text-gray-400">
22 <td class="px-4 py-3"> 22 <td class="px-4 py-3">
23 {{$user->id}} 23 {{$user->id}}
24 </td> 24 </td>
25 <td class="px-4 py-3"> 25 <td class="px-4 py-3">
26 {{ $user->name }} 26 {{ $user->name }}
27 </td> 27 </td>
28 <td class="px-4 py-3 text-sm"> 28 <td class="px-4 py-3 text-sm">
29 {{ $user->email }} 29 {{ $user->email }}
30 </td> 30 </td>
31 <td class="px-4 py-3 text-xs"> 31 <td class="px-4 py-3 text-xs">
32 <span class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100"> 32 <span class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100">
33 @if ($user->is_worker) 33 @if ($user->is_worker)
34 Работник 34 Работник
35 @else 35 @else
36 Работодатель 36 Работодатель
37 @endif 37 @endif
38 </span> 38 </span>
39 @if ($user->admin) 39 @if ($user->admin)
40 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"> 40 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600">
41 Администратор 41 Администратор
42 </span> 42 </span>
43 @endif 43 @endif
44 </td> 44 </td>
45 <td class="px-4 py-3 text-sm"> 45 <td class="px-4 py-3 text-sm">
46 @if ($user->id > 1) 46 @if ($user->id > 1)
47 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="is_ban" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/> 47 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="is_ban" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/>
48 @endif 48 @endif
49 </td> 49 </td>
50 <td class="px-4 py-3 text-sm"> 50 <td class="px-4 py-3 text-sm">
51 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="is_new" name="new_{{$user->id}}" {{ ($user->is_new) ? "checked" : "" }}/> 51 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="is_new" name="new_{{$user->id}}" {{ ($user->is_new) ? "checked" : "" }}/>
52 </td> 52 </td>
53 53
54 @if ($id_admin == 1) 54 @if ($id_admin == 1)
55 <td class="px-4 py-3 text-sm"> 55 <td class="px-4 py-3 text-sm">
56 @if ($user->id > 1) 56 @if ($user->id > 1)
57 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="admin" name="admin_{{$user->id}}" {{ ($user->admin) ? "checked" : "" }}/> 57 <input type="checkbox" class="check_click" value="{{$user->id}}" data-field="admin" name="admin_{{$user->id}}" {{ ($user->admin) ? "checked" : "" }}/>
58 @endif 58 @endif
59 </td> 59 </td>
60 @endif 60 @endif
61 61
62 <td class="px-4 py-3 text-sm"> 62 <td class="px-4 py-3 text-sm">
63 {{ $user->created_at }} 63 {{ date('d.m.Y', strtotime($user->created_at)) }}
64 </td> 64 </td>
65 </tr> 65 </tr>
66 @endforeach 66 @endforeach
67 </tbody> 67 </tbody>
68 </table> 68 </table>
69 </div> 69 </div>
70 70
71 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800"> 71 <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800">
72 <?//=$users->appends($_GET)->links('admin.pagginate'); ?> 72 <?//=$users->appends($_GET)->links('admin.pagginate'); ?>
73 <?=$users->links('admin.pagginate'); ?> 73 <?=$users->links('admin.pagginate'); ?>
74 </div> 74 </div>
75 75
resources/views/admin/worker/index.blade.php
1 @extends('layout.admin', ['title' => 'Админка - Работники']) 1 @extends('layout.admin', ['title' => 'Админка - Работники'])
2 2
3 @section('script') 3 @section('script')
4 <script> 4 <script>
5 $(document).ready(function() { 5 $(document).ready(function() {
6 $(document).on('click', '.checkban', function () { 6 $(document).on('click', '.checkban', function () {
7 var this_ = $(this); 7 var this_ = $(this);
8 var value = this_.val(); 8 var value = this_.val();
9 var ajax_block = $('#ajax_block'); 9 var ajax_block = $('#ajax_block');
10 var bool = 0; 10 var bool = 0;
11 11
12 if(this.checked){ 12 if(this.checked){
13 bool = 1; 13 bool = 1;
14 } else { 14 } else {
15 bool = 0; 15 bool = 0;
16 } 16 }
17 17
18 $.ajax({ 18 $.ajax({
19 type: "GET", 19 type: "GET",
20 url: "{{ url()->full()}}", 20 url: "{{ url()->full()}}",
21 data: "id=" + value + "&is_ban=" + bool, 21 data: "id=" + value + "&is_ban=" + bool,
22 success: function (data) { 22 success: function (data) {
23 console.log('Обновление таблицы работников '); 23 console.log('Обновление таблицы работников ');
24 //data = JSON.parse(data); 24 //data = JSON.parse(data);
25 console.log(data); 25 console.log(data);
26 ajax_block.html(data); 26 ajax_block.html(data);
27 }, 27 },
28 headers: { 28 headers: {
29 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 29 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
30 }, 30 },
31 error: function (data) { 31 error: function (data) {
32 console.log('Error: ' + data); 32 console.log('Error: ' + data);
33 } 33 }
34 }); 34 });
35 }); 35 });
36 36
37 }); 37 });
38 </script> 38 </script>
39 @endsection 39 @endsection
40 40
41 @section('search') 41 @section('search')
42 @include('admin.find_worker', ['find_status_work' => $find_status_work]) 42 @include('admin.find_worker', ['find_status_work' => $find_status_work])
43 @endsection 43 @endsection
44 44
45 @section('content') 45 @section('content')
46 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block"> 46 <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block">
47 <div class="w-full overflow-x-auto"> 47 <div class="w-full overflow-x-auto">
48 <table class="w-full whitespace-no-wrap"> 48 <table class="w-full whitespace-no-wrap">
49 <thead> 49 <thead>
50 <tr 50 <tr
51 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800" 51 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800"
52 > 52 >
53 <th class="px-4 py-3">№</th> 53 <th class="px-4 py-3">№</th>
54 <th class="px-4 py-3">ФИО</th> 54 <th class="px-4 py-3">ФИО</th>
55 <th class="px-4 py-3">Email/Телефон</th> 55 <th class="px-4 py-3">Email/Телефон</th>
56 <th class="px-4 py-3">% заполнения анкеты</th> 56 <th class="px-4 py-3">% заполнения анкеты</th>
57 <th class="px-4 py-3">Должность</th> 57 <th class="px-4 py-3">Должность</th>
58 <th class="px-4 py-3">Дата регистрации</th> 58 <th class="px-4 py-3">Дата регистрации</th>
59 <th class="px-4 py-3">Изменить</th> 59 <th class="px-4 py-3">Изменить</th>
60 <!--<th class="px-4 py-3">Бан</th>--> 60 <!--<th class="px-4 py-3">Бан</th>-->
61 </tr> 61 </tr>
62 </thead> 62 </thead>
63 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 63 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
64 @foreach($users as $user) 64 @foreach($users as $user)
65 <tr class="text-gray-700 dark:text-gray-400"> 65 <tr class="text-gray-700 dark:text-gray-400">
66 <td class="px-4 py-3"> 66 <td class="px-4 py-3">
67 {{$user->id}} 67 {{$user->id}}
68 </td> 68 </td>
69 <td class="px-4 py-3"> 69 <td class="px-4 py-3">
70 @if (isset($user->id)) 70 @if (isset($user->id))
71 <a style="text-decoration: underline;" href="{{ route('admin.user-profile', ['user' => $user->id]) }}}">{{ $user->surname }} {{ !empty($user->name_man) ? $user->name_man : $user->name }} {{ $user->surname2 }}</a> 71 <a style="text-decoration: underline;" href="{{ route('admin.user-profile', ['user' => $user->id]) }}}">{{ $user->surname }} {{ !empty($user->name_man) ? $user->name_man : $user->name }} {{ $user->surname2 }}</a>
72 @else 72 @else
73 {{ $user->surname }} {{ !empty($user->name_man) ? $user->name_man : $user->name }} {{ $user->surname2 }} 73 {{ $user->surname }} {{ !empty($user->name_man) ? $user->name_man : $user->name }} {{ $user->surname2 }}
74 @endif 74 @endif
75 </td> 75 </td>
76 <td class="px-4 py-3 text-sm"> 76 <td class="px-4 py-3 text-sm">
77 <div class="flex items-center text-sm"> 77 <div class="flex items-center text-sm">
78 <div> 78 <div>
79 <p class="font-semibold">{{ empty($user->workers->email) ? $user->email : $user->workers->email }}</p> 79 <p class="font-semibold">{{ empty($user->workers->email) ? $user->email : $user->workers->email }}</p>
80 <p class="text-xs text-gray-600 dark:text-gray-400"> 80 <p class="text-xs text-gray-600 dark:text-gray-400">
81 {{ empty($user->workers->telephone) ? $user->telephone : $user->workers->telephone }} 81 {{ empty($user->workers->telephone) ? $user->telephone : $user->workers->telephone }}
82 </p> 82 </p>
83 </div> 83 </div>
84 </div> 84 </div>
85 </td> 85 </td>
86 <td class="px-4 py-3 text-xs"> 86 <td class="px-4 py-3 text-xs">
87 @if (isset($user->workers[0]->persent_anketa)) 87 @if (isset($user->workers[0]->persent_anketa))
88 @if ($user->workers[0]->persent_anketa > 40) 88 @if ($user->workers[0]->persent_anketa > 40)
89 <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"> 89 <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">
90 {{$user->workers[0]->persent_anketa}}% 90 {{$user->workers[0]->persent_anketa}}%
91 </span> 91 </span>
92 @else 92 @else
93 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"> 93 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600">
94 {{$user->workers[0]->persent_anketa}}% 94 {{$user->workers[0]->persent_anketa}}%
95 </span> 95 </span>
96 @endif 96 @endif
97 @else 97 @else
98 <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"> 98 <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">
99 0% 99 0%
100 </span> 100 </span>
101 @endif 101 @endif
102 </td> 102 </td>
103 <td class="px-4 py-3 text-sm"> 103 <td class="px-4 py-3 text-sm">
104 @if (isset($user->jobtitles[0]->name)) 104 @if (isset($user->jobtitles[0]->name))
105 {{ $user->jobtitles[0]->name }} 105 {{ $user->jobtitles[0]->name }}
106 @else 106 @else
107 Не задана 107 Не задана
108 @endif 108 @endif
109 </td> 109 </td>
110 <td class="px-4 py-3 text-sm"> 110 <td class="px-4 py-3 text-sm">
111 {{ $user->created_at }} 111 {{ date('d.m.Y h:i:s', strtotime($user->created_at)) }}
112 </td> 112 </td>
113 <td class="px-4 py-3 text-sm"> 113 <td class="px-4 py-3 text-sm">
114 <!--if ($user->id > 1)--> 114 <!--if ($user->id > 1)-->
115 @if (isset($user->workers[0]->id)) 115 @if (isset($user->workers[0]->id))
116 <a href="{{ route('admin.worker-profile-edit', ['worker' => $user->workers[0]->id]) }}">Изменить</a> 116 <a href="{{ route('admin.worker-profile-edit', ['worker' => $user->workers[0]->id]) }}">Изменить</a>
117 117
118 @endif 118 @endif
119 <!--endif--> 119 <!--endif-->
120 </td> 120 </td>
121 <!--<td class="px-4 py-3 text-sm"> 121 <!--<td class="px-4 py-3 text-sm">
122 @if ($user->id > 1) 122 @if ($user->id > 1)
123 <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/> 123 <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/>
124 @endif 124 @endif
125 </td>--> 125 </td>-->
126 </tr> 126 </tr>
127 @endforeach 127 @endforeach
128 </tbody> 128 </tbody>
129 </table> 129 </table>
130 </div> 130 </div>
131 131
132 <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"> 132 <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">
133 <?=$users->appends($_GET)->links('admin.pagginate'); ?> 133 <?=$users->appends($_GET)->links('admin.pagginate'); ?>
134 </div> 134 </div>
135 135
136 136
137 <!--<div 137 <!--<div
138 class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800" 138 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"
139 > 139 >
140 <span class="flex items-center col-span-3"> 140 <span class="flex items-center col-span-3">
141 Showing 21-30 of 100 141 Showing 21-30 of 100
142 </span> 142 </span>
143 <span class="col-span-2"></span> 143 <span class="col-span-2"></span>
144 144
145 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end"> 145 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end">
146 <nav aria-label="Table navigation"> 146 <nav aria-label="Table navigation">
147 <ul class="inline-flex items-center"> 147 <ul class="inline-flex items-center">
148 <li> 148 <li>
149 <button 149 <button
150 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple" 150 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple"
151 aria-label="Previous" 151 aria-label="Previous"
152 > 152 >
153 <svg 153 <svg
154 aria-hidden="true" 154 aria-hidden="true"
155 class="w-4 h-4 fill-current" 155 class="w-4 h-4 fill-current"
156 viewBox="0 0 20 20" 156 viewBox="0 0 20 20"
157 > 157 >
158 <path 158 <path
159 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" 159 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"
160 clip-rule="evenodd" 160 clip-rule="evenodd"
161 fill-rule="evenodd" 161 fill-rule="evenodd"
162 ></path> 162 ></path>
163 </svg> 163 </svg>
164 </button> 164 </button>
165 </li> 165 </li>
166 <li> 166 <li>
167 <button 167 <button
168 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 168 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
169 > 169 >
170 1 170 1
171 </button> 171 </button>
172 </li> 172 </li>
173 <li> 173 <li>
174 <button 174 <button
175 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 175 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
176 > 176 >
177 2 177 2
178 </button> 178 </button>
179 </li> 179 </li>
180 <li> 180 <li>
181 <button 181 <button
182 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" 182 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"
183 > 183 >
184 3 184 3
185 </button> 185 </button>
186 </li> 186 </li>
187 <li> 187 <li>
188 <button 188 <button
189 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 189 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
190 > 190 >
191 4 191 4
192 </button> 192 </button>
193 </li> 193 </li>
194 <li> 194 <li>
195 <span class="px-3 py-1">...</span> 195 <span class="px-3 py-1">...</span>
196 </li> 196 </li>
197 <li> 197 <li>
198 <button 198 <button
199 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 199 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
200 > 200 >
201 8 201 8
202 </button> 202 </button>
203 </li> 203 </li>
204 <li> 204 <li>
205 <button 205 <button
206 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 206 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
207 > 207 >
208 9 208 9
209 </button> 209 </button>
210 </li> 210 </li>
211 <li> 211 <li>
212 <button 212 <button
213 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple" 213 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple"
214 aria-label="Next" 214 aria-label="Next"
215 > 215 >
216 <svg 216 <svg
217 class="w-4 h-4 fill-current" 217 class="w-4 h-4 fill-current"
218 aria-hidden="true" 218 aria-hidden="true"
219 viewBox="0 0 20 20" 219 viewBox="0 0 20 20"
220 > 220 >
221 <path 221 <path
222 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" 222 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"
223 clip-rule="evenodd" 223 clip-rule="evenodd"
224 fill-rule="evenodd" 224 fill-rule="evenodd"
225 ></path> 225 ></path>
226 </svg> 226 </svg>
227 </button> 227 </button>
228 </li> 228 </li>
229 </ul> 229 </ul>
230 </nav> 230 </nav>
231 </span> 231 </span>
232 </div>--> 232 </div>-->
233 </div> 233 </div>
234 234
235 <?//=$users->appends($_GET)->links('catalogs.paginate'); ?> 235 <?//=$users->appends($_GET)->links('catalogs.paginate'); ?>
236 236
237 237
238 @endsection 238 @endsection
239 239
resources/views/admin/worker/index_ajax.blade.php
1 <div class="w-full overflow-x-auto"> 1 <div class="w-full overflow-x-auto">
2 <table class="w-full whitespace-no-wrap"> 2 <table class="w-full whitespace-no-wrap">
3 <thead> 3 <thead>
4 <tr 4 <tr
5 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800" 5 class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800"
6 > 6 >
7 <th class="px-4 py-3">№</th> 7 <th class="px-4 py-3">№</th>
8 <th class="px-4 py-3">Имя</th> 8 <th class="px-4 py-3">Имя</th>
9 <th class="px-4 py-3">Email/Телефон</th> 9 <th class="px-4 py-3">Email/Телефон</th>
10 <th class="px-4 py-3">% заполнения анкеты</th> 10 <th class="px-4 py-3">% заполнения анкеты</th>
11 <th class="px-4 py-3">Должность</th> 11 <th class="px-4 py-3">Должность</th>
12 <th class="px-4 py-3">Дата регистрации</th> 12 <th class="px-4 py-3">Дата регистрации</th>
13 <th class="px-4 py-3">Изменить</th> 13 <th class="px-4 py-3">Изменить</th>
14 <th class="px-4 py-3">Бан</th> 14 <th class="px-4 py-3">Бан</th>
15 </tr> 15 </tr>
16 </thead> 16 </thead>
17 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> 17 <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800">
18 @foreach($users as $user) 18 @foreach($users as $user)
19 <tr class="text-gray-700 dark:text-gray-400"> 19 <tr class="text-gray-700 dark:text-gray-400">
20 <td class="px-4 py-3"> 20 <td class="px-4 py-3">
21 {{$user->id}} 21 {{$user->id}}
22 </td> 22 </td>
23 <td class="px-4 py-3"> 23 <td class="px-4 py-3">
24 {{ !empty($user->name_man) ? $user->name_man : $user->name }} 24 {{ !empty($user->name_man) ? $user->name_man : $user->name }}
25 </td> 25 </td>
26 <td class="px-4 py-3 text-sm"> 26 <td class="px-4 py-3 text-sm">
27 <div class="flex items-center text-sm"> 27 <div class="flex items-center text-sm">
28 <div> 28 <div>
29 <p class="font-semibold">{{ empty($user->workers->email) ? $user->email : $user->workers->email }}</p> 29 <p class="font-semibold">{{ empty($user->workers->email) ? $user->email : $user->workers->email }}</p>
30 <p class="text-xs text-gray-600 dark:text-gray-400"> 30 <p class="text-xs text-gray-600 dark:text-gray-400">
31 {{ empty($user->workers->telephone) ? $user->telephone : $user->workers->telephone }} 31 {{ empty($user->workers->telephone) ? $user->telephone : $user->workers->telephone }}
32 </p> 32 </p>
33 </div> 33 </div>
34 </div> 34 </div>
35 </td> 35 </td>
36 <td class="px-4 py-3 text-xs"> 36 <td class="px-4 py-3 text-xs">
37 @if (isset($user->workers[0]->persent_anketa)) 37 @if (isset($user->workers[0]->persent_anketa))
38 @if ($user->workers[0]->persent_anketa > 40) 38 @if ($user->workers[0]->persent_anketa > 40)
39 <span class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100"> 39 <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">
40 {{$user->workers[0]->persent_anketa}}% 40 {{$user->workers[0]->persent_anketa}}%
41 </span> 41 </span>
42 @else 42 @else
43 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"> 43 <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">
44 {{$user->workers[0]->persent_anketa}}% 44 {{$user->workers[0]->persent_anketa}}%
45 </span> 45 </span>
46 @endif 46 @endif
47 @else 47 @else
48 <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"> 48 <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">
49 0% 49 0%
50 </span> 50 </span>
51 @endif 51 @endif
52 </td> 52 </td>
53 <td class="px-4 py-3 text-sm"> 53 <td class="px-4 py-3 text-sm">
54 @if (isset($user->jobtitles[0]->name)) 54 @if (isset($user->jobtitles[0]->name))
55 {{ $user->jobtitles[0]->name }} 55 {{ $user->jobtitles[0]->name }}
56 @else 56 @else
57 Не задана 57 Не задана
58 @endif 58 @endif
59 </td> 59 </td>
60 <td class="px-4 py-3 text-sm"> 60 <td class="px-4 py-3 text-sm">
61 {{ $user->created_at }} 61 {{ date('d.m.Y h:i:s', strtotime($user->created_at)) }}
62 </td> 62 </td>
63 <td class="px-4 py-3 text-sm"> 63 <td class="px-4 py-3 text-sm">
64 @if ($user->id > 1) 64 @if ($user->id > 1)
65 @if (isset($user->workers[0]->id)) 65 @if (isset($user->workers[0]->id))
66 <a href="{{ route('admin.worker-profile-edit', ['worker' => $user->workers[0]->id]) }}">Изменить</a> 66 <a href="{{ route('admin.worker-profile-edit', ['worker' => $user->workers[0]->id]) }}">Изменить</a>
67 67
68 @endif 68 @endif
69 @endif 69 @endif
70 </td> 70 </td>
71 <td class="px-4 py-3 text-sm"> 71 <!--<td class="px-4 py-3 text-sm">
72 @if ($user->id > 1) 72 @if ($user->id > 1)
73 <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/> 73 <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/>
74 @endif 74 @endif
75 </td> 75 </td>-->
76 </tr> 76 </tr>
77 @endforeach 77 @endforeach
78 </tbody> 78 </tbody>
79 </table> 79 </table>
80 </div> 80 </div>
81 81
82 <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"> 82 <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">
83 <?=$users->appends($_GET)->links('admin.pagginate'); ?> 83 <?=$users->appends($_GET)->links('admin.pagginate'); ?>
84 </div> 84 </div>
85 85
resources/views/layout/admin.blade.php
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html :class="{ 'theme-dark': dark }" x-data="data()" lang="{{ str_replace('_', '-', app()->getLocale()) }}"> 2 <html :class="{ 'theme-dark': dark }" x-data="data()" lang="{{ str_replace('_', '-', app()->getLocale()) }}">
3 <head> 3 <head>
4 <meta charset="UTF-8" /> 4 <meta charset="UTF-8" />
5 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6 <title>{{$title}}</title> 6 <title>{{$title}}</title>
7 <link 7 <link
8 href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" 8 href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap"
9 rel="stylesheet" 9 rel="stylesheet"
10 /> 10 />
11 <link rel="stylesheet" href="{{ asset('./assets/css/tailwind.output.css')}}" /> 11 <link rel="stylesheet" href="{{ asset('./assets/css/tailwind.output.css')}}" />
12 <link rel="stylesheet" href="{{ asset('./assets/css/tabs.css')}}" /> 12 <link rel="stylesheet" href="{{ asset('./assets/css/tabs.css')}}" />
13 <script 13 <script
14 src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.min.js" 14 src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.min.js"
15 defer 15 defer
16 ></script> 16 ></script>
17 <script src="{{ asset('./assets/js/init-alpine.js') }}"></script> 17 <script src="{{ asset('./assets/js/init-alpine.js') }}"></script>
18 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.css"/> 18 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.css"/>
19 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js" defer></script> 19 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js" defer></script>
20 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 20 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
21 <script src="{{ asset('./assets/js/charts-lines.js') }}" defer></script> 21 <script src="{{ asset('./assets/js/charts-lines.js') }}" defer></script>
22 <script src="{{ asset('./assets/js/charts-pie.js') }}" defer></script> 22 <script src="{{ asset('./assets/js/charts-pie.js') }}" defer></script>
23 </head> 23 </head>
24 <body> 24 <body>
25 <div class="flex h-screen bg-gray-50 dark:bg-gray-900" :class="{ 'overflow-hidden': isSideMenuOpen }"> 25 <div class="flex h-screen bg-gray-50 dark:bg-gray-900" :class="{ 'overflow-hidden': isSideMenuOpen }">
26 <!-- Desktop sidebar --> 26 <!-- Desktop sidebar -->
27 <aside 27 <aside
28 class="z-20 hidden w-64 overflow-y-auto bg-white dark:bg-gray-800 md:block flex-shrink-0" 28 class="z-20 hidden w-64 overflow-y-auto bg-white dark:bg-gray-800 md:block flex-shrink-0"
29 > 29 >
30 <div class="py-4 text-gray-500 dark:text-gray-400"> 30 <div class="py-4 text-gray-500 dark:text-gray-400">
31 <a class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200" 31 <a class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200"
32 href="{{ route('admin.index') }}"> 32 href="{{ route('admin.index') }}">
33 Админка 33 Админка
34 </a> 34 </a>
35 <ul class="mt-6"> 35 <ul class="mt-6">
36 <li class="relative px-6 py-3"> 36 <li class="relative px-6 py-3">
37 <span 37 <span
38 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg" 38 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg"
39 aria-hidden="true" 39 aria-hidden="true"
40 ></span> 40 ></span>
41 <!--class="inline-flex items-center w-full text-sm font-semibold text-gray-800 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 dark:text-gray-100" 41 <!--class="inline-flex items-center w-full text-sm font-semibold text-gray-800 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 dark:text-gray-100"
42 --> 42 -->
43 <a 43 <a
44 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 }}" 44 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 }}"
45 href="{{ route('admin.index') }}" 45 href="{{ route('admin.index') }}"
46 > 46 >
47 <svg 47 <svg
48 class="w-5 h-5" 48 class="w-5 h-5"
49 aria-hidden="true" 49 aria-hidden="true"
50 fill="none" 50 fill="none"
51 stroke-linecap="round" 51 stroke-linecap="round"
52 stroke-linejoin="round" 52 stroke-linejoin="round"
53 stroke-width="2" 53 stroke-width="2"
54 viewBox="0 0 24 24" 54 viewBox="0 0 24 24"
55 stroke="currentColor" 55 stroke="currentColor"
56 > 56 >
57 <path 57 <path
58 d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6" 58 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"
59 ></path> 59 ></path>
60 </svg> 60 </svg>
61 <span class="ml-4">Главная страница</span> 61 <span class="ml-4">Главная страница</span>
62 </a> 62 </a>
63 </li> 63 </li>
64 </ul> 64 </ul>
65 <ul> 65 <ul>
66 @if ($UserId == 1) 66 @if ($UserId == 1)
67 <li class="relative px-6 py-3"> 67 <li class="relative px-6 py-3">
68 <a 68 <a
69 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 }}" 69 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 }}"
70 href="{{ route('admin.users') }}" 70 href="{{ route('admin.users') }}"
71 > 71 >
72 <svg 72 <svg
73 class="w-5 h-5" 73 class="w-5 h-5"
74 aria-hidden="true" 74 aria-hidden="true"
75 fill="none" 75 fill="none"
76 stroke-linecap="round" 76 stroke-linecap="round"
77 stroke-linejoin="round" 77 stroke-linejoin="round"
78 stroke-width="2" 78 stroke-width="2"
79 viewBox="0 0 24 24" 79 viewBox="0 0 24 24"
80 stroke="currentColor" 80 stroke="currentColor"
81 > 81 >
82 <path 82 <path
83 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" 83 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"
84 ></path> 84 ></path>
85 </svg> 85 </svg>
86 <span class="ml-4">Пользователи</span> 86 <span class="ml-4">Пользователи</span>
87 </a> 87 </a>
88 </li> 88 </li>
89 @endif 89 @endif
90 <li class="relative px-6 py-3"> 90 <li class="relative px-6 py-3">
91 <a
92 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') }}"
93 >
94 <svg
95 class="w-5 h-5"
96 aria-hidden="true"
97 fill="none"
98 stroke-linecap="round"
99 stroke-linejoin="round"
100 stroke-width="2"
101 viewBox="0 0 24 24"
102 stroke="currentColor"
103 >
104 <path
105 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"
106 ></path>
107 </svg>
108 <span class="ml-4">Администраторы</span>
109 </a>
110 </li>
111 <li class="relative px-6 py-3">
91 <a 112 <a
92 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') }}" 113 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') }}"
93 > 114 >
94 <svg 115 <svg
95 class="w-5 h-5" 116 class="w-5 h-5"
96 aria-hidden="true" 117 aria-hidden="true"
97 fill="none" 118 fill="none"
98 stroke-linecap="round" 119 stroke-linecap="round"
99 stroke-linejoin="round" 120 stroke-linejoin="round"
100 stroke-width="2" 121 stroke-width="2"
101 viewBox="0 0 24 24" 122 viewBox="0 0 24 24"
102 stroke="currentColor" 123 stroke="currentColor"
103 > 124 >
104 <path 125 <path
105 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" 126 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"
106 ></path> 127 ></path>
107 </svg> 128 </svg>
108 <span class="ml-4">Работодатели</span> 129 <span class="ml-4">Работодатели</span>
109 </a> 130 </a>
110 </li> 131 </li>
111 <li class="relative px-6 py-3"> 132 <li class="relative px-6 py-3">
112 <a 133 <a
113 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') }}" 134 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.workers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.workers') }}"
114 > 135 >
115 <svg 136 <svg
116 class="w-5 h-5" 137 class="w-5 h-5"
117 aria-hidden="true" 138 aria-hidden="true"
118 fill="none" 139 fill="none"
119 stroke-linecap="round" 140 stroke-linecap="round"
120 stroke-linejoin="round" 141 stroke-linejoin="round"
121 stroke-width="2" 142 stroke-width="2"
122 viewBox="0 0 24 24" 143 viewBox="0 0 24 24"
123 stroke="currentColor" 144 stroke="currentColor"
124 > 145 >
125 <path 146 <path
126 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 147 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
127 ></path> 148 ></path>
128 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 149 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
129 </svg> 150 </svg>
130 <span class="ml-4">Соискатели</span> 151 <span class="ml-4">Соискатели</span>
131 </a> 152 </a>
132 </li> 153 </li>
133 <li class="relative px-6 py-3"> 154 <li class="relative px-6 py-3">
134 <a 155 <a
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.ad-employers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.ad-employers') }}" 156 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.ad-employers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.ad-employers') }}"
136 > 157 >
137 <svg 158 <svg
138 class="w-5 h-5" 159 class="w-5 h-5"
139 aria-hidden="true" 160 aria-hidden="true"
140 fill="none" 161 fill="none"
141 stroke-linecap="round" 162 stroke-linecap="round"
142 stroke-linejoin="round" 163 stroke-linejoin="round"
143 stroke-width="2" 164 stroke-width="2"
144 viewBox="0 0 24 24" 165 viewBox="0 0 24 24"
145 stroke="currentColor" 166 stroke="currentColor"
146 > 167 >
147 <path 168 <path
148 d="M15 15l-2 5L9 9l11 4-5 2zm0 0l5 5M7.188 2.239l.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656l-2.12 2.122" 169 d="M15 15l-2 5L9 9l11 4-5 2zm0 0l5 5M7.188 2.239l.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656l-2.12 2.122"
149 ></path> 170 ></path>
150 </svg> 171 </svg>
151 <span class="ml-4">Вакансии</span> 172 <span class="ml-4">Вакансии</span>
152 </a> 173 </a>
153 </li> 174 </li>
154 175
155 <li class="relative px-6 py-3"> 176 <li class="relative px-6 py-3">
156 <a 177 <a
157 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') }}" 178 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.messages') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.messages') }}"
158 > 179 >
159 <svg 180 <svg
160 class="w-5 h-5" 181 class="w-5 h-5"
161 aria-hidden="true" 182 aria-hidden="true"
162 fill="none" 183 fill="none"
163 stroke-linecap="round" 184 stroke-linecap="round"
164 stroke-linejoin="round" 185 stroke-linejoin="round"
165 stroke-width="2" 186 stroke-width="2"
166 viewBox="0 0 24 24" 187 viewBox="0 0 24 24"
167 stroke="currentColor" 188 stroke="currentColor"
168 > 189 >
169 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 190 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
170 </svg> 191 </svg>
171 <span class="ml-4">Сообщения все</span> 192 <span class="ml-4">Сообщения все</span>
172 </a> 193 </a>
173 </li> 194 </li>
174 <li class="relative px-6 py-3"> 195 <li class="relative px-6 py-3">
175 <a 196 <a
176 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.groups') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.groups') }}" 197 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') }}"
177 > 198 >
178 <svg 199 <svg
179 class="w-5 h-5" 200 class="w-5 h-5"
180 aria-hidden="true" 201 aria-hidden="true"
181 fill="none" 202 fill="none"
182 stroke-linecap="round" 203 stroke-linecap="round"
183 stroke-linejoin="round" 204 stroke-linejoin="round"
184 stroke-width="2" 205 stroke-width="2"
185 viewBox="0 0 24 24" 206 viewBox="0 0 24 24"
186 stroke="currentColor" 207 stroke="currentColor"
187 > 208 >
188 <path 209 <path
189 d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01" 210 d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"
190 ></path> 211 ></path>
191 </svg> 212 </svg>
192 <span class="ml-4">Группы пользователей</span> 213 <span class="ml-4">Группы пользователей</span>
193 </a> 214 </a>
194 </li> 215 </li>
195 @if ($UserId == 1) 216 @if ($UserId == 1)
196 <li class="relative px-6 py-3"> 217 <li class="relative px-6 py-3">
197 <a class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.roles') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.roles') }}"> 218 <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') }}">
198 <svg 219 <svg
199 class="w-5 h-5" 220 class="w-5 h-5"
200 aria-hidden="true" 221 aria-hidden="true"
201 fill="none" 222 fill="none"
202 stroke-linecap="round" 223 stroke-linecap="round"
203 stroke-linejoin="round" 224 stroke-linejoin="round"
204 stroke-width="2" 225 stroke-width="2"
205 viewBox="0 0 24 24" 226 viewBox="0 0 24 24"
206 stroke="currentColor" 227 stroke="currentColor"
207 > 228 >
208 <path 229 <path
209 d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01" 230 d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"
210 ></path> 231 ></path>
211 </svg> 232 </svg>
212 <span class="ml-4">Роли пользователей</span> 233 <span class="ml-4">Роли пользователей</span>
213 </a> 234 </a>
214 </li> 235 </li>
215 @endif 236 @endif
216 <li class="relative px-6 py-3"> 237 <li class="relative px-6 py-3">
217 <a 238 <a
218 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.statics') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.statics') }}" 239 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') }}"
219 > 240 >
220 <svg 241 <svg
221 class="w-5 h-5" 242 class="w-5 h-5"
222 aria-hidden="true" 243 aria-hidden="true"
223 fill="none" 244 fill="none"
224 stroke-linecap="round" 245 stroke-linecap="round"
225 stroke-linejoin="round" 246 stroke-linejoin="round"
226 stroke-width="2" 247 stroke-width="2"
227 viewBox="0 0 24 24" 248 viewBox="0 0 24 24"
228 stroke="currentColor" 249 stroke="currentColor"
229 > 250 >
230 <path 251 <path
231 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 252 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
232 ></path> 253 ></path>
233 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 254 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
234 </svg> 255 </svg>
235 <span class="ml-4">Статистика</span> 256 <span class="ml-4">Статистика</span>
236 </a> 257 </a>
237 </li> 258 </li>
238 <li class="relative px-6 py-3"> 259 <li class="relative px-6 py-3">
239 <a 260 <a
240 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') }}" 261 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') }}"
241 > 262 >
242 <svg 263 <svg
243 class="w-5 h-5" 264 class="w-5 h-5"
244 aria-hidden="true" 265 aria-hidden="true"
245 fill="none" 266 fill="none"
246 stroke-linecap="round" 267 stroke-linecap="round"
247 stroke-linejoin="round" 268 stroke-linejoin="round"
248 stroke-width="2" 269 stroke-width="2"
249 viewBox="0 0 24 24" 270 viewBox="0 0 24 24"
250 stroke="currentColor" 271 stroke="currentColor"
251 > 272 >
252 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 273 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
253 </svg> 274 </svg>
254 <span class="ml-4">Модерация</span> 275 <span class="ml-4">Модерация</span>
255 </a> 276 </a>
256 </li> 277 </li>
257 <!-- Справочники --> 278 <!-- Справочники -->
258 <li class="relative px-6 py-3" x-data="{ open1: false }"> 279 <li class="relative px-6 py-3" x-data="{ open1: false }">
259 <button 280 <button
260 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" 281 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"
261 @click="open1=!open1" 282 @click="open1=!open1"
262 aria-haspopup="true"> 283 aria-haspopup="true">
263 <span class="inline-flex items-center"> 284 <span class="inline-flex items-center">
264 <svg 285 <svg
265 class="w-5 h-5" 286 class="w-5 h-5"
266 aria-hidden="true" 287 aria-hidden="true"
267 fill="none" 288 fill="none"
268 stroke-linecap="round" 289 stroke-linecap="round"
269 stroke-linejoin="round" 290 stroke-linejoin="round"
270 stroke-width="2" 291 stroke-width="2"
271 viewBox="0 0 24 24" 292 viewBox="0 0 24 24"
272 stroke="currentColor"> 293 stroke="currentColor">
273 <path 294 <path
274 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" 295 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"
275 ></path> 296 ></path>
276 </svg> 297 </svg>
277 <span class="ml-4">Справочники</span> 298 <span class="ml-4">Справочники</span>
278 </span> 299 </span>
279 <svg 300 <svg
280 class="w-4 h-4" 301 class="w-4 h-4"
281 aria-hidden="true" 302 aria-hidden="true"
282 fill="currentColor" 303 fill="currentColor"
283 viewBox="0 0 20 20" 304 viewBox="0 0 20 20"
284 > 305 >
285 <path 306 <path
286 fill-rule="evenodd" 307 fill-rule="evenodd"
287 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" 308 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"
288 clip-rule="evenodd" 309 clip-rule="evenodd"
289 ></path> 310 ></path>
290 </svg> 311 </svg>
291 </button> 312 </button>
292 <template x-if="open1"> 313 <template x-if="open1">
293 <ul 314 <ul
294 x-transition:enter="transition-all ease-in-out duration-300" 315 x-transition:enter="transition-all ease-in-out duration-300"
295 x-transition:enter-start="opacity-25 max-h-0" 316 x-transition:enter-start="opacity-25 max-h-0"
296 x-transition:enter-end="opacity-100 max-h-xl" 317 x-transition:enter-end="opacity-100 max-h-xl"
297 x-transition:leave="transition-all ease-in-out duration-300" 318 x-transition:leave="transition-all ease-in-out duration-300"
298 x-transition:leave-start="opacity-100 max-h-xl" 319 x-transition:leave-start="opacity-100 max-h-xl"
299 x-transition:leave-end="opacity-0 max-h-0" 320 x-transition:leave-end="opacity-0 max-h-0"
300 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" 321 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"
301 aria-label="submenu" 322 aria-label="submenu"
302 > 323 >
303 <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 }}"> 324 <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 }}">
304 <a class="w-full" href="{{ route('admin.job-titles.index') }}">Должности</a> 325 <a class="w-full" href="{{ route('admin.job-titles.index') }}">Должности</a>
305 </li> 326 </li>
306 <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 }}"> 327 <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 }}">
307 <a class="w-full" href="{{ route('admin.categories.index') }}">Категории вакансий</a> 328 <a class="w-full" href="{{ route('admin.categories.index') }}">Категории вакансий</a>
308 </li> 329 </li>
309 <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 }}"> 330 <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 }}">
310 <a class="w-full" href="{{ route('admin.category-emp.index') }}">Категории работодателей</a> 331 <a class="w-full" href="{{ route('admin.category-emp.index') }}">Категории работодателей</a>
311 </li> 332 </li>
312 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.education.index') ? 'dark:text-gray-100' : null }}"> 333 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.education.index') ? 'dark:text-gray-100' : null }}">
313 <a class="w-full" href="{{ route('admin.education.index') }}">Образование</a> 334 <a class="w-full" href="{{ route('admin.education.index') }}">Образование</a>
314 </li> 335 </li>
315 <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 }}"> 336 <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 }}">
316 <a class="w-full" href="{{ route('admin.infobloks.index') }}">Блоки-Дипломы</a> 337 <a class="w-full" href="{{ route('admin.infobloks.index') }}">Блоки-Дипломы</a>
317 </li> 338 </li>
318 339
319 </ul> 340 </ul>
320 </template> 341 </template>
321 </li> 342 </li>
322 343
323 344
324 <!-- Редактор --> 345 <!-- Редактор -->
325 <li class="relative px-6 py-3"> 346 <li class="relative px-6 py-3">
326 <button 347 <button
327 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" 348 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"
328 @click="togglePagesMenu" 349 @click="togglePagesMenu"
329 aria-haspopup="true"> 350 aria-haspopup="true">
330 <span class="inline-flex items-center"> 351 <span class="inline-flex items-center">
331 <svg 352 <svg
332 class="w-5 h-5" 353 class="w-5 h-5"
333 aria-hidden="true" 354 aria-hidden="true"
334 fill="none" 355 fill="none"
335 stroke-linecap="round" 356 stroke-linecap="round"
336 stroke-linejoin="round" 357 stroke-linejoin="round"
337 stroke-width="2" 358 stroke-width="2"
338 viewBox="0 0 24 24" 359 viewBox="0 0 24 24"
339 stroke="currentColor"> 360 stroke="currentColor">
340 <path 361 <path
341 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" 362 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"
342 ></path> 363 ></path>
343 </svg> 364 </svg>
344 <span class="ml-4">Редактор</span> 365 <span class="ml-4">Редактор</span>
345 </span> 366 </span>
346 <svg 367 <svg
347 class="w-4 h-4" 368 class="w-4 h-4"
348 aria-hidden="true" 369 aria-hidden="true"
349 fill="currentColor" 370 fill="currentColor"
350 viewBox="0 0 20 20" 371 viewBox="0 0 20 20"
351 > 372 >
352 <path 373 <path
353 fill-rule="evenodd" 374 fill-rule="evenodd"
354 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" 375 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"
355 clip-rule="evenodd" 376 clip-rule="evenodd"
356 ></path> 377 ></path>
357 </svg> 378 </svg>
358 </button> 379 </button>
359 <template x-if="isPagesMenuOpen"> 380 <template x-if="isPagesMenuOpen">
360 <ul 381 <ul
361 x-transition:enter="transition-all ease-in-out duration-300" 382 x-transition:enter="transition-all ease-in-out duration-300"
362 x-transition:enter-start="opacity-25 max-h-0" 383 x-transition:enter-start="opacity-25 max-h-0"
363 x-transition:enter-end="opacity-100 max-h-xl" 384 x-transition:enter-end="opacity-100 max-h-xl"
364 x-transition:leave="transition-all ease-in-out duration-300" 385 x-transition:leave="transition-all ease-in-out duration-300"
365 x-transition:leave-start="opacity-100 max-h-xl" 386 x-transition:leave-start="opacity-100 max-h-xl"
366 x-transition:leave-end="opacity-0 max-h-0" 387 x-transition:leave-end="opacity-0 max-h-0"
367 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" 388 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"
368 aria-label="submenu" 389 aria-label="submenu"
369 > 390 >
370 <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 }}"> 391 <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 }}">
371 <a class="w-full" href="{{ route('admin.editor-site') }}">Редактор сайта</a> 392 <a class="w-full" href="{{ route('admin.editor-site') }}">Редактор сайта</a>
372 </li> 393 </li>
373 <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 }}"> 394 <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 }}">
374 <a class="w-full" href="{{ route('admin.edit-blocks') }}">Шапка-футер сайта</a> 395 <a class="w-full" href="{{ route('admin.edit-blocks') }}">Шапка-футер сайта</a>
375 </li> 396 </li>
376 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.reclames') ? 'dark:text-gray-100' : null }}"> 397 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.reclames') ? 'dark:text-gray-100' : null }}">
377 <a class="w-full" href="{{ route('admin.reclames') }}">Реклама</a> 398 <a class="w-full" href="{{ route('admin.reclames') }}">Реклама</a>
378 </li> 399 </li>
379 <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 }}"> 400 <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 }}">
380 <a class="w-full" href="{{ route('admin.editor-seo') }}">SEO сайта</a> 401 <a class="w-full" href="{{ route('admin.editor-seo') }}">SEO сайта</a>
381 </li> 402 </li>
382 <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 }}"> 403 <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 }}">
383 <a class="w-full" href="{{ route('admin.editor-pages') }}">Редактор страниц</a> 404 <a class="w-full" href="{{ route('admin.editor-pages') }}">Редактор страниц</a>
384 </li> 405 </li>
385 <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 }}"> 406 <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 }}">
386 <a class="w-full" href="{{ route('admin.job-titles-main') }}">Должности на главной</a> 407 <a class="w-full" href="{{ route('admin.job-titles-main') }}">Должности на главной</a>
387 </li> 408 </li>
388 <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 }}"> 409 <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 }}">
389 <a class="w-full" href="{{ route('admin.employers-main') }}">Работодатели на главной</a> 410 <a class="w-full" href="{{ route('admin.employers-main') }}">Работодатели на главной</a>
390 </li> 411 </li>
391 </ul> 412 </ul>
392 </template> 413 </template>
393 </li> 414 </li>
394 415
395 </ul> 416 </ul>
396 <!--<div class="px-6 my-6"> 417 <!--<div class="px-6 my-6">
397 <button 418 <button
398 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" 419 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"
399 > 420 >
400 Create account 421 Create account
401 <span class="ml-2" aria-hidden="true">+</span> 422 <span class="ml-2" aria-hidden="true">+</span>
402 </button> 423 </button>
403 </div>--> 424 </div>-->
404 </div> 425 </div>
405 </aside> 426 </aside>
406 <!-- Mobile sidebar --> 427 <!-- Mobile sidebar -->
407 <!-- Backdrop --> 428 <!-- Backdrop -->
408 <div 429 <div
409 x-show="isSideMenuOpen" 430 x-show="isSideMenuOpen"
410 x-transition:enter="transition ease-in-out duration-150" 431 x-transition:enter="transition ease-in-out duration-150"
411 x-transition:enter-start="opacity-0" 432 x-transition:enter-start="opacity-0"
412 x-transition:enter-end="opacity-100" 433 x-transition:enter-end="opacity-100"
413 x-transition:leave="transition ease-in-out duration-150" 434 x-transition:leave="transition ease-in-out duration-150"
414 x-transition:leave-start="opacity-100" 435 x-transition:leave-start="opacity-100"
415 x-transition:leave-end="opacity-0" 436 x-transition:leave-end="opacity-0"
416 class="fixed inset-0 z-10 flex items-end bg-black bg-opacity-50 sm:items-center sm:justify-center" 437 class="fixed inset-0 z-10 flex items-end bg-black bg-opacity-50 sm:items-center sm:justify-center"
417 ></div> 438 ></div>
418 <aside 439 <aside
419 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" 440 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"
420 x-show="isSideMenuOpen" 441 x-show="isSideMenuOpen"
421 x-transition:enter="transition ease-in-out duration-150" 442 x-transition:enter="transition ease-in-out duration-150"
422 x-transition:enter-start="opacity-0 transform -translate-x-20" 443 x-transition:enter-start="opacity-0 transform -translate-x-20"
423 x-transition:enter-end="opacity-100" 444 x-transition:enter-end="opacity-100"
424 x-transition:leave="transition ease-in-out duration-150" 445 x-transition:leave="transition ease-in-out duration-150"
425 x-transition:leave-start="opacity-100" 446 x-transition:leave-start="opacity-100"
426 x-transition:leave-end="opacity-0 transform -translate-x-20" 447 x-transition:leave-end="opacity-0 transform -translate-x-20"
427 @click.away="closeSideMenu" 448 @click.away="closeSideMenu"
428 @keydown.escape="closeSideMenu" 449 @keydown.escape="closeSideMenu"
429 > 450 >
430 <div class="py-4 text-gray-500 dark:text-gray-400"> 451 <div class="py-4 text-gray-500 dark:text-gray-400">
431 <a 452 <a
432 class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200" 453 class="ml-6 text-lg font-bold text-gray-800 dark:text-gray-200"
433 href="{{ route('admin.index') }}" 454 href="{{ route('admin.index') }}"
434 > 455 >
435 Админка 456 Админка
436 </a> 457 </a>
437 <ul class="mt-6"> 458 <ul class="mt-6">
438 <li class="relative px-6 py-3"> 459 <li class="relative px-6 py-3">
439 <span 460 <span
440 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg" 461 class="absolute inset-y-0 left-0 w-1 bg-purple-600 rounded-tr-lg rounded-br-lg"
441 aria-hidden="true" 462 aria-hidden="true"
442 ></span> 463 ></span>
443 <a 464 <a
444 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') }}" 465 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') }}"
445 > 466 >
446 <svg 467 <svg
447 class="w-5 h-5" 468 class="w-5 h-5"
448 aria-hidden="true" 469 aria-hidden="true"
449 fill="none" 470 fill="none"
450 stroke-linecap="round" 471 stroke-linecap="round"
451 stroke-linejoin="round" 472 stroke-linejoin="round"
452 stroke-width="2" 473 stroke-width="2"
453 viewBox="0 0 24 24" 474 viewBox="0 0 24 24"
454 stroke="currentColor" 475 stroke="currentColor"
455 > 476 >
456 <path 477 <path
457 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" 478 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"
458 ></path> 479 ></path>
459 </svg> 480 </svg>
460 <span class="ml-4">Главная страница</span> 481 <span class="ml-4">Главная страница</span>
461 </a> 482 </a>
462 </li> 483 </li>
463 </ul> 484 </ul>
464 <ul> 485 <ul>
465 @if ($UserId == 1) 486 @if ($UserId == 1)
466 <li class="relative px-6 py-3"> 487 <li class="relative px-6 py-3">
467 <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') }}"> 488 <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') }}">
468 <svg 489 <svg
469 class="w-5 h-5" 490 class="w-5 h-5"
470 aria-hidden="true" 491 aria-hidden="true"
471 fill="none" 492 fill="none"
472 stroke-linecap="round" 493 stroke-linecap="round"
473 stroke-linejoin="round" 494 stroke-linejoin="round"
474 stroke-width="2" 495 stroke-width="2"
475 viewBox="0 0 24 24" 496 viewBox="0 0 24 24"
476 stroke="currentColor" 497 stroke="currentColor"
477 > 498 >
478 <path 499 <path
479 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" 500 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"
480 ></path> 501 ></path>
481 </svg> 502 </svg>
482 <span class="ml-4">Пользователи</span> 503 <span class="ml-4">Пользователи</span>
483 </a> 504 </a>
484 </li> 505 </li>
485 @endif 506 @endif
486 <li class="relative px-6 py-3"> 507 <li class="relative px-6 py-3">
508 <a
509 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.admin-users') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.admin-users') }}"
510 >
511 <svg
512 class="w-5 h-5"
513 aria-hidden="true"
514 fill="none"
515 stroke-linecap="round"
516 stroke-linejoin="round"
517 stroke-width="2"
518 viewBox="0 0 24 24"
519 stroke="currentColor"
520 >
521 <path
522 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"
523 ></path>
524 </svg>
525 <span class="ml-4">Администраторы</span>
526 </a>
527 </li>
528
529 <li class="relative px-6 py-3">
487 <a 530 <a
488 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') }}" 531 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') }}"
489 > 532 >
490 <svg 533 <svg
491 class="w-5 h-5" 534 class="w-5 h-5"
492 aria-hidden="true" 535 aria-hidden="true"
493 fill="none" 536 fill="none"
494 stroke-linecap="round" 537 stroke-linecap="round"
495 stroke-linejoin="round" 538 stroke-linejoin="round"
496 stroke-width="2" 539 stroke-width="2"
497 viewBox="0 0 24 24" 540 viewBox="0 0 24 24"
498 stroke="currentColor" 541 stroke="currentColor"
499 > 542 >
500 <path 543 <path
501 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" 544 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"
502 ></path> 545 ></path>
503 </svg> 546 </svg>
504 <span class="ml-4">Работодатели</span> 547 <span class="ml-4">Работодатели</span>
505 </a> 548 </a>
506 </li> 549 </li>
507 <li class="relative px-6 py-3"> 550 <li class="relative px-6 py-3">
508 <a 551 <a
509 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.workers') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.workers') }}" 552 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') }}"
510 > 553 >
511 <svg 554 <svg
512 class="w-5 h-5" 555 class="w-5 h-5"
513 aria-hidden="true" 556 aria-hidden="true"
514 fill="none" 557 fill="none"
515 stroke-linecap="round" 558 stroke-linecap="round"
516 stroke-linejoin="round" 559 stroke-linejoin="round"
517 stroke-width="2" 560 stroke-width="2"
518 viewBox="0 0 24 24" 561 viewBox="0 0 24 24"
519 stroke="currentColor" 562 stroke="currentColor"
520 > 563 >
521 <path 564 <path
522 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 565 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
523 ></path> 566 ></path>
524 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 567 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
525 </svg> 568 </svg>
526 <span class="ml-4">Соискатели</span> 569 <span class="ml-4">Соискатели</span>
527 </a> 570 </a>
528 </li> 571 </li>
529 <li class="relative px-6 py-3"> 572 <li class="relative px-6 py-3">
530 <a 573 <a
531 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') }}" 574 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') }}"
532 > 575 >
533 <svg 576 <svg
534 class="w-5 h-5" 577 class="w-5 h-5"
535 aria-hidden="true" 578 aria-hidden="true"
536 fill="none" 579 fill="none"
537 stroke-linecap="round" 580 stroke-linecap="round"
538 stroke-linejoin="round" 581 stroke-linejoin="round"
539 stroke-width="2" 582 stroke-width="2"
540 viewBox="0 0 24 24" 583 viewBox="0 0 24 24"
541 stroke="currentColor" 584 stroke="currentColor"
542 > 585 >
543 <path 586 <path
544 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" 587 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"
545 ></path> 588 ></path>
546 </svg> 589 </svg>
547 <span class="ml-4">Вакансии</span> 590 <span class="ml-4">Вакансии</span>
548 </a> 591 </a>
549 </li> 592 </li>
550 <li class="relative px-6 py-3"> 593 <li class="relative px-6 py-3">
551 <a 594 <a
552 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') }}" 595 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') }}"
553 > 596 >
554 <svg 597 <svg
555 class="w-5 h-5" 598 class="w-5 h-5"
556 aria-hidden="true" 599 aria-hidden="true"
557 fill="none" 600 fill="none"
558 stroke-linecap="round" 601 stroke-linecap="round"
559 stroke-linejoin="round" 602 stroke-linejoin="round"
560 stroke-width="2" 603 stroke-width="2"
561 viewBox="0 0 24 24" 604 viewBox="0 0 24 24"
562 stroke="currentColor" 605 stroke="currentColor"
563 > 606 >
564 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 607 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
565 </svg> 608 </svg>
566 <span class="ml-4">Сообщения все</span> 609 <span class="ml-4">Сообщения все</span>
567 </a> 610 </a>
568 </li> 611 </li>
569 <li class="relative px-6 py-3"> 612 <li class="relative px-6 py-3">
570 <a class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.groups') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.groups') }}"> 613 <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') }}">
571 <svg 614 <svg
572 class="w-5 h-5" 615 class="w-5 h-5"
573 aria-hidden="true" 616 aria-hidden="true"
574 fill="none" 617 fill="none"
575 stroke-linecap="round" 618 stroke-linecap="round"
576 stroke-linejoin="round" 619 stroke-linejoin="round"
577 stroke-width="2" 620 stroke-width="2"
578 viewBox="0 0 24 24" 621 viewBox="0 0 24 24"
579 stroke="currentColor" 622 stroke="currentColor"
580 > 623 >
581 <path 624 <path
582 d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01" 625 d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"
583 ></path> 626 ></path>
584 </svg> 627 </svg>
585 <span class="ml-4">Группы пользователей</span> 628 <span class="ml-4">Группы пользователей</span>
586 </a> 629 </a>
587 </li> 630 </li>
588 @if ($UserId == 1) 631 @if ($UserId == 1)
589 <li class="relative px-6 py-3"> 632 <li class="relative px-6 py-3">
590 <a class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.roles') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.roles') }}"> 633 <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') }}">
591 <svg 634 <svg
592 class="w-5 h-5" 635 class="w-5 h-5"
593 aria-hidden="true" 636 aria-hidden="true"
594 fill="none" 637 fill="none"
595 stroke-linecap="round" 638 stroke-linecap="round"
596 stroke-linejoin="round" 639 stroke-linejoin="round"
597 stroke-width="2" 640 stroke-width="2"
598 viewBox="0 0 24 24" 641 viewBox="0 0 24 24"
599 stroke="currentColor" 642 stroke="currentColor"
600 > 643 >
601 <path 644 <path
602 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" 645 d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"
603 ></path> 646 ></path>
604 </svg> 647 </svg>
605 <span class="ml-4">Роли пользователей</span> 648 <span class="ml-4">Роли пользователей</span>
606 </a> 649 </a>
607 </li> 650 </li>
608 @endif 651 @endif
609 <li class="relative px-6 py-3"> 652 <li class="relative px-6 py-3">
610 <a 653 <a
611 class="inline-flex items-center w-full text-sm font-semibold transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.statics') ? 'dark:text-gray-100' : null }}" href="{{ route('admin.statics') }}" 654 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') }}"
612 > 655 >
613 <svg 656 <svg
614 class="w-5 h-5" 657 class="w-5 h-5"
615 aria-hidden="true" 658 aria-hidden="true"
616 fill="none" 659 fill="none"
617 stroke-linecap="round" 660 stroke-linecap="round"
618 stroke-linejoin="round" 661 stroke-linejoin="round"
619 stroke-width="2" 662 stroke-width="2"
620 viewBox="0 0 24 24" 663 viewBox="0 0 24 24"
621 stroke="currentColor" 664 stroke="currentColor"
622 > 665 >
623 <path 666 <path
624 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z" 667 d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"
625 ></path> 668 ></path>
626 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path> 669 <path d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"></path>
627 </svg> 670 </svg>
628 <span class="ml-4">Статистика</span> 671 <span class="ml-4">Статистика</span>
629 </a> 672 </a>
630 </li> 673 </li>
631 <li class="relative px-6 py-3"> 674 <li class="relative px-6 py-3">
632 <a 675 <a
633 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') }}" 676 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') }}"
634 > 677 >
635 <svg 678 <svg
636 class="w-5 h-5" 679 class="w-5 h-5"
637 aria-hidden="true" 680 aria-hidden="true"
638 fill="none" 681 fill="none"
639 stroke-linecap="round" 682 stroke-linecap="round"
640 stroke-linejoin="round" 683 stroke-linejoin="round"
641 stroke-width="2" 684 stroke-width="2"
642 viewBox="0 0 24 24" 685 viewBox="0 0 24 24"
643 stroke="currentColor" 686 stroke="currentColor"
644 > 687 >
645 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path> 688 <path d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
646 </svg> 689 </svg>
647 <span class="ml-4">Сообщения</span> 690 <span class="ml-4">Сообщения</span>
648 </a> 691 </a>
649 </li> 692 </li>
650 <!-- Справочники --> 693 <!-- Справочники -->
651 <li class="relative px-6 py-3" x-data="{ open2: false }"> 694 <li class="relative px-6 py-3" x-data="{ open2: false }">
652 <button 695 <button
653 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" 696 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"
654 @click="open2=!open2" 697 @click="open2=!open2"
655 aria-haspopup="true"> 698 aria-haspopup="true">
656 <span class="inline-flex items-center"> 699 <span class="inline-flex items-center">
657 <svg 700 <svg
658 class="w-5 h-5" 701 class="w-5 h-5"
659 aria-hidden="true" 702 aria-hidden="true"
660 fill="none" 703 fill="none"
661 stroke-linecap="round" 704 stroke-linecap="round"
662 stroke-linejoin="round" 705 stroke-linejoin="round"
663 stroke-width="2" 706 stroke-width="2"
664 viewBox="0 0 24 24" 707 viewBox="0 0 24 24"
665 stroke="currentColor"> 708 stroke="currentColor">
666 <path 709 <path
667 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" 710 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"
668 ></path> 711 ></path>
669 </svg> 712 </svg>
670 <span class="ml-4">Справочники</span> 713 <span class="ml-4">Справочники</span>
671 </span> 714 </span>
672 <svg 715 <svg
673 class="w-4 h-4" 716 class="w-4 h-4"
674 aria-hidden="true" 717 aria-hidden="true"
675 fill="currentColor" 718 fill="currentColor"
676 viewBox="0 0 20 20" 719 viewBox="0 0 20 20"
677 > 720 >
678 <path 721 <path
679 fill-rule="evenodd" 722 fill-rule="evenodd"
680 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" 723 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"
681 clip-rule="evenodd" 724 clip-rule="evenodd"
682 ></path> 725 ></path>
683 </svg> 726 </svg>
684 </button> 727 </button>
685 <template x-if="open2"> 728 <template x-if="open2">
686 <ul 729 <ul
687 x-transition:enter="transition-all ease-in-out duration-300" 730 x-transition:enter="transition-all ease-in-out duration-300"
688 x-transition:enter-start="opacity-25 max-h-0" 731 x-transition:enter-start="opacity-25 max-h-0"
689 x-transition:enter-end="opacity-100 max-h-xl" 732 x-transition:enter-end="opacity-100 max-h-xl"
690 x-transition:leave="transition-all ease-in-out duration-300" 733 x-transition:leave="transition-all ease-in-out duration-300"
691 x-transition:leave-start="opacity-100 max-h-xl" 734 x-transition:leave-start="opacity-100 max-h-xl"
692 x-transition:leave-end="opacity-0 max-h-0" 735 x-transition:leave-end="opacity-0 max-h-0"
693 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" 736 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"
694 aria-label="submenu" 737 aria-label="submenu"
695 > 738 >
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.index') ? 'dark:text-gray-100' : null }}"> 739 <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 }}">
697 <a class="w-full" href="{{ route('admin.job-titles.index') }}">Должности</a> 740 <a class="w-full" href="{{ route('admin.job-titles.index') }}">Должности</a>
698 </li> 741 </li>
699 <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 }}"> 742 <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 }}">
700 <a class="w-full" href="{{ route('admin.categories.index') }}">Категории вакансий</a> 743 <a class="w-full" href="{{ route('admin.categories.index') }}">Категории вакансий</a>
701 </li> 744 </li>
702 <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 }}"> 745 <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 }}">
703 <a class="w-full" href="{{ route('admin.category-emp.index') }}">Категории работодателей</a> 746 <a class="w-full" href="{{ route('admin.category-emp.index') }}">Категории работодателей</a>
704 </li> 747 </li>
705 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.education.index') ? 'dark:text-gray-100' : null }}"> 748 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.education.index') ? 'dark:text-gray-100' : null }}">
706 <a class="w-full" href="{{ route('admin.education.index') }}">Образование</a> 749 <a class="w-full" href="{{ route('admin.education.index') }}">Образование</a>
707 </li> 750 </li>
708 <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 }}"> 751 <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 }}">
709 <a class="w-full" href="{{ route('admin.infobloks.index') }}">Блоки-Дипломы</a> 752 <a class="w-full" href="{{ route('admin.infobloks.index') }}">Блоки-Дипломы</a>
710 </li> 753 </li>
711 754
712 </ul> 755 </ul>
713 </template> 756 </template>
714 </li> 757 </li>
715 758
716 759
717 <!-- Редактор --> 760 <!-- Редактор -->
718 <li class="relative px-6 py-3"> 761 <li class="relative px-6 py-3">
719 <button 762 <button
720 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" 763 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"
721 @click="togglePagesMenu" 764 @click="togglePagesMenu"
722 aria-haspopup="true" 765 aria-haspopup="true"
723 > 766 >
724 <span class="inline-flex items-center"> 767 <span class="inline-flex items-center">
725 <svg 768 <svg
726 class="w-5 h-5" 769 class="w-5 h-5"
727 aria-hidden="true" 770 aria-hidden="true"
728 fill="none" 771 fill="none"
729 stroke-linecap="round" 772 stroke-linecap="round"
730 stroke-linejoin="round" 773 stroke-linejoin="round"
731 stroke-width="2" 774 stroke-width="2"
732 viewBox="0 0 24 24" 775 viewBox="0 0 24 24"
733 stroke="currentColor" 776 stroke="currentColor"
734 > 777 >
735 <path 778 <path
736 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" 779 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"
737 ></path> 780 ></path>
738 </svg> 781 </svg>
739 <span class="ml-4">Редактор</span> 782 <span class="ml-4">Редактор</span>
740 </span> 783 </span>
741 <svg 784 <svg
742 class="w-4 h-4" 785 class="w-4 h-4"
743 aria-hidden="true" 786 aria-hidden="true"
744 fill="currentColor" 787 fill="currentColor"
745 viewBox="0 0 20 20" 788 viewBox="0 0 20 20"
746 > 789 >
747 <path 790 <path
748 fill-rule="evenodd" 791 fill-rule="evenodd"
749 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" 792 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"
750 clip-rule="evenodd" 793 clip-rule="evenodd"
751 ></path> 794 ></path>
752 </svg> 795 </svg>
753 </button> 796 </button>
754 <template x-if="isPagesMenuOpen"> 797 <template x-if="isPagesMenuOpen">
755 <ul 798 <ul
756 x-transition:enter="transition-all ease-in-out duration-300" 799 x-transition:enter="transition-all ease-in-out duration-300"
757 x-transition:enter-start="opacity-25 max-h-0" 800 x-transition:enter-start="opacity-25 max-h-0"
758 x-transition:enter-end="opacity-100 max-h-xl" 801 x-transition:enter-end="opacity-100 max-h-xl"
759 x-transition:leave="transition-all ease-in-out duration-300" 802 x-transition:leave="transition-all ease-in-out duration-300"
760 x-transition:leave-start="opacity-100 max-h-xl" 803 x-transition:leave-start="opacity-100 max-h-xl"
761 x-transition:leave-end="opacity-0 max-h-0" 804 x-transition:leave-end="opacity-0 max-h-0"
762 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" 805 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"
763 aria-label="submenu" 806 aria-label="submenu"
764 > 807 >
765 <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 }}"> 808 <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 }}">
766 <a class="w-full" href="{{ route('admin.editor-site') }}">Редактор сайта</a> 809 <a class="w-full" href="{{ route('admin.editor-site') }}">Редактор сайта</a>
767 </li> 810 </li>
768 <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 }}"> 811 <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 }}">
769 <a class="w-full" href="{{ route('admin.edit-blocks') }}">Шапка-футер сайта</a> 812 <a class="w-full" href="{{ route('admin.edit-blocks') }}">Шапка-футер сайта</a>
770 </li> 813 </li>
771 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.reclames') ? 'dark:text-gray-100' : null }}"> 814 <li class="px-2 py-1 transition-colors duration-150 hover:text-gray-800 dark:hover:text-gray-200 {{ Request::routeIs('admin.reclames') ? 'dark:text-gray-100' : null }}">
772 <a class="w-full" href="{{ route('admin.reclames') }}">Реклама</a> 815 <a class="w-full" href="{{ route('admin.reclames') }}">Реклама</a>
773 </li> 816 </li>
774 <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 }}"> 817 <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 }}">
775 <a class="w-full" href="{{ route('admin.editor-seo') }}">SEO сайта</a> 818 <a class="w-full" href="{{ route('admin.editor-seo') }}">SEO сайта</a>
776 </li> 819 </li>
777 <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 }}"> 820 <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 }}">
778 <a class="w-full" href="{{ route('admin.editor-pages') }}">Редактор страниц</a> 821 <a class="w-full" href="{{ route('admin.editor-pages') }}">Редактор страниц</a>
779 </li> 822 </li>
780 <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 }}"> 823 <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 }}">
781 <a class="w-full" href="{{ route('admin.job-titles-main') }}">Должности на главной</a> 824 <a class="w-full" href="{{ route('admin.job-titles-main') }}">Должности на главной</a>
782 </li> 825 </li>
783 <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 }}"> 826 <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 }}">
784 <a class="w-full" href="{{ route('admin.employers-main') }}">Работодатели на главной</a> 827 <a class="w-full" href="{{ route('admin.employers-main') }}">Работодатели на главной</a>
785 </li> 828 </li>
786 829
787 </ul> 830 </ul>
788 </template> 831 </template>
789 </li> 832 </li>
790 </ul> 833 </ul>
791 <!--<div class="px-6 my-6"> 834 <!--<div class="px-6 my-6">
792 <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"> 835 <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">
793 Create account 836 Create account
794 <span class="ml-2" aria-hidden="true">+</span> 837 <span class="ml-2" aria-hidden="true">+</span>
795 </button> 838 </button>
796 </div>--> 839 </div>-->
797 </div> 840 </div>
798 </aside> 841 </aside>
799 <div class="flex flex-col flex-1 w-full"> 842 <div class="flex flex-col flex-1 w-full">
800 <header class="z-10 py-4 bg-white shadow-md dark:bg-gray-800"> 843 <header class="z-10 py-4 bg-white shadow-md dark:bg-gray-800">
801 <div 844 <div
802 class="container flex items-center justify-between h-full px-6 mx-auto text-purple-600 dark:text-purple-300" 845 class="container flex items-center justify-between h-full px-6 mx-auto text-purple-600 dark:text-purple-300"
803 > 846 >
804 <!-- Mobile hamburger --> 847 <!-- Mobile hamburger -->
805 <button 848 <button
806 class="p-1 mr-5 -ml-1 rounded-md md:hidden focus:outline-none focus:shadow-outline-purple" 849 class="p-1 mr-5 -ml-1 rounded-md md:hidden focus:outline-none focus:shadow-outline-purple"
807 @click="toggleSideMenu" 850 @click="toggleSideMenu"
808 aria-label="Menu" 851 aria-label="Menu"
809 > 852 >
810 <svg 853 <svg
811 class="w-6 h-6" 854 class="w-6 h-6"
812 aria-hidden="true" 855 aria-hidden="true"
813 fill="currentColor" 856 fill="currentColor"
814 viewBox="0 0 20 20" 857 viewBox="0 0 20 20"
815 > 858 >
816 <path 859 <path
817 fill-rule="evenodd" 860 fill-rule="evenodd"
818 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" 861 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"
819 clip-rule="evenodd" 862 clip-rule="evenodd"
820 ></path> 863 ></path>
821 </svg> 864 </svg>
822 </button> 865 </button>
823 <!-- Search input --> 866 <!-- Search input -->
824 <div class="flex justify-center flex-1 lg:mr-32"> 867 <div class="flex justify-center flex-1 lg:mr-32">
825 <div 868 <div
826 class="relative w-full max-w-xl mr-6 focus-within:text-purple-500" 869 class="relative w-full max-w-xl mr-6 focus-within:text-purple-500"
827 > 870 >
828 871
829 @yield('search') 872 @yield('search')
830 </div> 873 </div>
831 </div> 874 </div>
832 <ul class="flex items-center flex-shrink-0 space-x-6"> 875 <ul class="flex items-center flex-shrink-0 space-x-6">
833 <!-- Theme toggler --> 876 <!-- Theme toggler -->
834 <li class="flex"> 877 <li class="flex">
835 <button 878 <button
836 class="rounded-md focus:outline-none focus:shadow-outline-purple" 879 class="rounded-md focus:outline-none focus:shadow-outline-purple"
837 @click="toggleTheme" 880 @click="toggleTheme"
838 aria-label="Toggle color mode" 881 aria-label="Toggle color mode"
839 > 882 >
840 <template x-if="!dark"> 883 <template x-if="!dark">
841 <svg 884 <svg
842 class="w-5 h-5" 885 class="w-5 h-5"
843 aria-hidden="true" 886 aria-hidden="true"
844 fill="currentColor" 887 fill="currentColor"
845 viewBox="0 0 20 20" 888 viewBox="0 0 20 20"
846 > 889 >
847 <path 890 <path
848 d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z" 891 d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"
849 ></path> 892 ></path>
850 </svg> 893 </svg>
851 </template> 894 </template>
852 <template x-if="dark"> 895 <template x-if="dark">
853 <svg 896 <svg
854 class="w-5 h-5" 897 class="w-5 h-5"
855 aria-hidden="true" 898 aria-hidden="true"
856 fill="currentColor" 899 fill="currentColor"
857 viewBox="0 0 20 20" 900 viewBox="0 0 20 20"
858 > 901 >
859 <path 902 <path
860 fill-rule="evenodd" 903 fill-rule="evenodd"
861 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" 904 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"
862 clip-rule="evenodd" 905 clip-rule="evenodd"
863 ></path> 906 ></path>
864 </svg> 907 </svg>
865 </template> 908 </template>
866 </button> 909 </button>
867 </li> 910 </li>
868 <!-- Notifications menu --> 911 <!-- Notifications menu -->
869 <li class="relative"> 912 <li class="relative">
870 <button 913 <button
871 class="relative align-middle rounded-md focus:outline-none focus:shadow-outline-purple" 914 class="relative align-middle rounded-md focus:outline-none focus:shadow-outline-purple"
872 @click="toggleNotificationsMenu" 915 @click="toggleNotificationsMenu"
873 @keydown.escape="closeNotificationsMenu" 916 @keydown.escape="closeNotificationsMenu"
874 aria-label="Notifications" 917 aria-label="Notifications"
875 aria-haspopup="true" 918 aria-haspopup="true"
876 > 919 >
877 <svg 920 <svg
878 class="w-5 h-5" 921 class="w-5 h-5"
879 aria-hidden="true" 922 aria-hidden="true"
880 fill="currentColor" 923 fill="currentColor"
881 viewBox="0 0 20 20" 924 viewBox="0 0 20 20"
882 > 925 >
883 <path 926 <path
884 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" 927 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"
885 ></path> 928 ></path>
886 </svg> 929 </svg>
887 <!-- Notification badge --> 930 <!-- Notification badge -->
888 <span 931 <span
889 aria-hidden="true" 932 aria-hidden="true"
890 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" 933 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"
891 ></span> 934 ></span>
892 </button> 935 </button>
893 <template x-if="isNotificationsMenuOpen"> 936 <template x-if="isNotificationsMenuOpen">
894 <ul 937 <ul
895 x-transition:leave="transition ease-in duration-150" 938 x-transition:leave="transition ease-in duration-150"
896 x-transition:leave-start="opacity-100" 939 x-transition:leave-start="opacity-100"
897 x-transition:leave-end="opacity-0" 940 x-transition:leave-end="opacity-0"
898 @click.away="closeNotificationsMenu" 941 @click.away="closeNotificationsMenu"
899 @keydown.escape="closeNotificationsMenu" 942 @keydown.escape="closeNotificationsMenu"
900 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" 943 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"
901 > 944 >
902 <li class="flex"> 945 <li class="flex">
903 <a 946 <a
904 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" 947 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"
905 href="{{ route('admin.admin-messages') }}" 948 href="{{ route('admin.admin-messages') }}"
906 > 949 >
907 <span>Сообщения</span> 950 <span>Сообщения</span>
908 @if($MsgCount > 0) 951 @if($MsgCount > 0)
909 <span 952 <span
910 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" 953 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"
911 > 954 >
912 955
913 {{ $MsgCount }} 956 {{ $MsgCount }}
914 </span> 957 </span>
915 @endif 958 @endif
916 </a> 959 </a>
917 </li> 960 </li>
918 <!--<li class="flex"> 961 <!--<li class="flex">
919 <a 962 <a
920 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" 963 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"
921 href="#" 964 href="#"
922 > 965 >
923 <span>Логи</span> 966 <span>Логи</span>
924 </a> 967 </a>
925 </li>--> 968 </li>-->
926 </ul> 969 </ul>
927 </template> 970 </template>
928 </li> 971 </li>
929 <!-- Profile menu --> 972 <!-- Profile menu -->
930 <li class="relative"> 973 <li class="relative">
931 <button 974 <button
932 class="align-middle rounded-full focus:shadow-outline-purple focus:outline-none" 975 class="align-middle rounded-full focus:shadow-outline-purple focus:outline-none"
933 @click="toggleProfileMenu" 976 @click="toggleProfileMenu"
934 @keydown.escape="closeProfileMenu" 977 @keydown.escape="closeProfileMenu"
935 aria-label="Account" 978 aria-label="Account"
936 aria-haspopup="true" 979 aria-haspopup="true"
937 > 980 >
938 <img 981 <img
939 class="object-cover w-8 h-8 rounded-full" 982 class="object-cover w-8 h-8 rounded-full"
940 src="{{ asset('assets/img/profile.jpg') }}" 983 src="{{ asset('assets/img/profile.jpg') }}"
941 alt="" 984 alt=""
942 aria-hidden="true" 985 aria-hidden="true"
943 /> 986 />
944 </button> 987 </button>
945 <template x-if="isProfileMenuOpen"> 988 <template x-if="isProfileMenuOpen">
946 <ul 989 <ul
947 x-transition:leave="transition ease-in duration-150" 990 x-transition:leave="transition ease-in duration-150"
948 x-transition:leave-start="opacity-100" 991 x-transition:leave-start="opacity-100"
949 x-transition:leave-end="opacity-0" 992 x-transition:leave-end="opacity-0"
950 @click.away="closeProfileMenu" 993 @click.away="closeProfileMenu"
951 @keydown.escape="closeProfileMenu" 994 @keydown.escape="closeProfileMenu"
952 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" 995 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"
953 aria-label="submenu" 996 aria-label="submenu"
954 > 997 >
955 <li class="flex"> 998 <li class="flex">
956 <a 999 <a
957 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" 1000 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"
958 href="{{ route('admin.profile') }}" 1001 href="{{ route('admin.profile') }}"
959 > 1002 >
960 <svg 1003 <svg
961 class="w-4 h-4 mr-3" 1004 class="w-4 h-4 mr-3"
962 aria-hidden="true" 1005 aria-hidden="true"
963 fill="none" 1006 fill="none"
964 stroke-linecap="round" 1007 stroke-linecap="round"
965 stroke-linejoin="round" 1008 stroke-linejoin="round"
966 stroke-width="2" 1009 stroke-width="2"
967 viewBox="0 0 24 24" 1010 viewBox="0 0 24 24"
968 stroke="currentColor" 1011 stroke="currentColor"
969 > 1012 >
970 <path 1013 <path
971 d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" 1014 d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"
972 ></path> 1015 ></path>
973 </svg> 1016 </svg>
974 <span>Профиль</span> 1017 <span>Профиль</span>
975 </a> 1018 </a>
976 </li> 1019 </li>
977 <li class="flex"> 1020 <li class="flex">
978 <a 1021 <a
979 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" 1022 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"
980 href="{{ route('admin.config') }}" 1023 href="{{ route('admin.config') }}"
981 > 1024 >
982 <svg 1025 <svg
983 class="w-4 h-4 mr-3" 1026 class="w-4 h-4 mr-3"
984 aria-hidden="true" 1027 aria-hidden="true"
985 fill="none" 1028 fill="none"
986 stroke-linecap="round" 1029 stroke-linecap="round"
987 stroke-linejoin="round" 1030 stroke-linejoin="round"
988 stroke-width="2" 1031 stroke-width="2"
989 viewBox="0 0 24 24" 1032 viewBox="0 0 24 24"
990 stroke="currentColor" 1033 stroke="currentColor"
991 > 1034 >
992 <path 1035 <path
993 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" 1036 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"
994 ></path> 1037 ></path>
995 <path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path> 1038 <path d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
996 </svg> 1039 </svg>
997 <span>Настройки</span> 1040 <span>Настройки</span>
998 </a> 1041 </a>
999 </li> 1042 </li>
1000 <li class="flex"> 1043 <li class="flex">
1001 <a 1044 <a
1002 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" 1045 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"
1003 href="{{ route('admin.logout') }}" 1046 href="{{ route('admin.logout') }}"
1004 > 1047 >
1005 <svg 1048 <svg
1006 class="w-4 h-4 mr-3" 1049 class="w-4 h-4 mr-3"
1007 aria-hidden="true" 1050 aria-hidden="true"
1008 fill="none" 1051 fill="none"
1009 stroke-linecap="round" 1052 stroke-linecap="round"
1010 stroke-linejoin="round" 1053 stroke-linejoin="round"
1011 stroke-width="2" 1054 stroke-width="2"
1012 viewBox="0 0 24 24" 1055 viewBox="0 0 24 24"
1013 stroke="currentColor" 1056 stroke="currentColor"
1014 > 1057 >
1015 <path 1058 <path
1016 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" 1059 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"
1017 ></path> 1060 ></path>
1018 </svg> 1061 </svg>
1019 <span>Выход</span> 1062 <span>Выход</span>
1020 </a> 1063 </a>
1021 </li> 1064 </li>
1022 </ul> 1065 </ul>
1023 </template> 1066 </template>
1024 </li> 1067 </li>
1025 </ul> 1068 </ul>
1026 </div> 1069 </div>
1027 </header> 1070 </header>
1028 <main class="h-full overflow-y-auto"> 1071 <main class="h-full overflow-y-auto">
1029 <div class="container px-6 mx-auto grid"> 1072 <div class="container px-6 mx-auto grid">
1030 <h2 1073 <h2
1031 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200" 1074 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200"
1032 > 1075 >
1033 {{$title}} 1076 {{$title}}
1034 </h2> 1077 </h2>
1035 <!-- CTA --> 1078 <!-- CTA -->
1036 <a 1079 <a
1037 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" 1080 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"
1038 href="{{ route('admin.admin-users') }}" 1081 href="{{ route('admin.admin-users') }}"
1039 > 1082 >
1040 <div class="flex items-center"> 1083 <div class="flex items-center">
1041 <svg 1084 <svg
1042 class="w-5 h-5 mr-2" 1085 class="w-5 h-5 mr-2"
1043 fill="currentColor" 1086 fill="currentColor"
1044 viewBox="0 0 20 20" 1087 viewBox="0 0 20 20"
1045 > 1088 >
1046 <path 1089 <path
1047 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" 1090 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"
1048 ></path> 1091 ></path>
1049 </svg> 1092 </svg>
1050 <span>Контент для админов</span> 1093 <span>Контент для админов</span>
1051 </div> 1094 </div>
1052 <span>Список админов &RightArrow;</span> 1095 <span>Список админов &RightArrow;</span>
1053 </a> 1096 </a>
1054 1097
1055 @if ($message = Session::get('success')) 1098 @if ($message = Session::get('success'))
1056 <section> 1099 <section>
1057 <div class="alert alert-success alert-dismissible mt-0" role="alert"> 1100 <div class="alert alert-success alert-dismissible mt-0" role="alert">
1058 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть"> 1101 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть">
1059 <span aria-hidden="true">&times;</span> 1102 <span aria-hidden="true">&times;</span>
1060 </button> 1103 </button>
1061 {{ $message }} 1104 {{ $message }}
1062 </div> 1105 </div>
1063 </section> 1106 </section>
1064 @endif 1107 @endif
1065 1108
1066 @if ($errors->any()) 1109 @if ($errors->any())
1067 <section> 1110 <section>
1068 <div class="alert alert-danger alert-dismissible mt-4" role="alert"> 1111 <div class="alert alert-danger alert-dismissible mt-4" role="alert">
1069 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть"> 1112 <button type="button" class="close" data-dismiss="alert" aria-label="Закрыть">
1070 <span aria-hidden="true">&times;</span> 1113 <span aria-hidden="true">&times;</span>
1071 </button> 1114 </button>
1072 <ul class="mb-0"> 1115 <ul class="mb-0">
1073 @foreach ($errors->all() as $error) 1116 @foreach ($errors->all() as $error)
1074 <li>{{ $error }}</li> 1117 <li>{{ $error }}</li>
1075 @endforeach 1118 @endforeach
1076 </ul> 1119 </ul>
1077 </div> 1120 </div>
1078 </section> 1121 </section>
1079 @endif 1122 @endif
1080 1123
1081 @yield('content') 1124 @yield('content')
1082 1125
1083 <!-- Cards 1126 <!-- Cards
1084 <div class="grid gap-6 mb-8 md:grid-cols-2 xl:grid-cols-4"> 1127 <div class="grid gap-6 mb-8 md:grid-cols-2 xl:grid-cols-4">
1085 1128
1086 <div 1129 <div
1087 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1130 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1088 > 1131 >
1089 <div 1132 <div
1090 class="p-3 mr-4 text-orange-500 bg-orange-100 rounded-full dark:text-orange-100 dark:bg-orange-500" 1133 class="p-3 mr-4 text-orange-500 bg-orange-100 rounded-full dark:text-orange-100 dark:bg-orange-500"
1091 > 1134 >
1092 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1135 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
1093 <path 1136 <path
1094 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" 1137 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"
1095 ></path> 1138 ></path>
1096 </svg> 1139 </svg>
1097 </div> 1140 </div>
1098 <div> 1141 <div>
1099 <p 1142 <p
1100 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1143 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
1101 > 1144 >
1102 Total clients 1145 Total clients
1103 </p> 1146 </p>
1104 <p 1147 <p
1105 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1148 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
1106 > 1149 >
1107 6389 1150 6389
1108 </p> 1151 </p>
1109 </div> 1152 </div>
1110 </div> 1153 </div>
1111 1154
1112 <div 1155 <div
1113 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1156 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1114 > 1157 >
1115 <div 1158 <div
1116 class="p-3 mr-4 text-green-500 bg-green-100 rounded-full dark:text-green-100 dark:bg-green-500" 1159 class="p-3 mr-4 text-green-500 bg-green-100 rounded-full dark:text-green-100 dark:bg-green-500"
1117 > 1160 >
1118 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1161 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
1119 <path 1162 <path
1120 fill-rule="evenodd" 1163 fill-rule="evenodd"
1121 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" 1164 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"
1122 clip-rule="evenodd" 1165 clip-rule="evenodd"
1123 ></path> 1166 ></path>
1124 </svg> 1167 </svg>
1125 </div> 1168 </div>
1126 <div> 1169 <div>
1127 <p 1170 <p
1128 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1171 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
1129 > 1172 >
1130 Account balance 1173 Account balance
1131 </p> 1174 </p>
1132 <p 1175 <p
1133 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1176 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
1134 > 1177 >
1135 $ 46,760.89 1178 $ 46,760.89
1136 </p> 1179 </p>
1137 </div> 1180 </div>
1138 </div> 1181 </div>
1139 1182
1140 <div 1183 <div
1141 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1184 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1142 > 1185 >
1143 <div 1186 <div
1144 class="p-3 mr-4 text-blue-500 bg-blue-100 rounded-full dark:text-blue-100 dark:bg-blue-500" 1187 class="p-3 mr-4 text-blue-500 bg-blue-100 rounded-full dark:text-blue-100 dark:bg-blue-500"
1145 > 1188 >
1146 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1189 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
1147 <path 1190 <path
1148 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" 1191 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"
1149 ></path> 1192 ></path>
1150 </svg> 1193 </svg>
1151 </div> 1194 </div>
1152 <div> 1195 <div>
1153 <p 1196 <p
1154 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1197 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
1155 > 1198 >
1156 New sales 1199 New sales
1157 </p> 1200 </p>
1158 <p 1201 <p
1159 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1202 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
1160 > 1203 >
1161 376 1204 376
1162 </p> 1205 </p>
1163 </div> 1206 </div>
1164 </div> 1207 </div>
1165 1208
1166 <div 1209 <div
1167 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1210 class="flex items-center p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1168 > 1211 >
1169 <div 1212 <div
1170 class="p-3 mr-4 text-teal-500 bg-teal-100 rounded-full dark:text-teal-100 dark:bg-teal-500" 1213 class="p-3 mr-4 text-teal-500 bg-teal-100 rounded-full dark:text-teal-100 dark:bg-teal-500"
1171 > 1214 >
1172 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 1215 <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
1173 <path 1216 <path
1174 fill-rule="evenodd" 1217 fill-rule="evenodd"
1175 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" 1218 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"
1176 clip-rule="evenodd" 1219 clip-rule="evenodd"
1177 ></path> 1220 ></path>
1178 </svg> 1221 </svg>
1179 </div> 1222 </div>
1180 <div> 1223 <div>
1181 <p 1224 <p
1182 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400" 1225 class="mb-2 text-sm font-medium text-gray-600 dark:text-gray-400"
1183 > 1226 >
1184 Pending contacts 1227 Pending contacts
1185 </p> 1228 </p>
1186 <p 1229 <p
1187 class="text-lg font-semibold text-gray-700 dark:text-gray-200" 1230 class="text-lg font-semibold text-gray-700 dark:text-gray-200"
1188 > 1231 >
1189 35 1232 35
1190 </p> 1233 </p>
1191 </div> 1234 </div>
1192 </div> 1235 </div>
1193 </div> 1236 </div>
1194 --> 1237 -->
1195 <!-- New Table 1238 <!-- New Table
1196 <div class="w-full overflow-hidden rounded-lg shadow-xs"> 1239 <div class="w-full overflow-hidden rounded-lg shadow-xs">
1197 <div class="w-full overflow-x-auto"> 1240 <div class="w-full overflow-x-auto">
1198 <table class="w-full whitespace-no-wrap"> 1241 <table class="w-full whitespace-no-wrap">
1199 <thead> 1242 <thead>
1200 <tr 1243 <tr
1201 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" 1244 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"
1202 > 1245 >
1203 <th class="px-4 py-3">Client</th> 1246 <th class="px-4 py-3">Client</th>
1204 <th class="px-4 py-3">Amount</th> 1247 <th class="px-4 py-3">Amount</th>
1205 <th class="px-4 py-3">Status</th> 1248 <th class="px-4 py-3">Status</th>
1206 <th class="px-4 py-3">Date</th> 1249 <th class="px-4 py-3">Date</th>
1207 </tr> 1250 </tr>
1208 </thead> 1251 </thead>
1209 <tbody 1252 <tbody
1210 class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800" 1253 class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"
1211 > 1254 >
1212 <tr class="text-gray-700 dark:text-gray-400"> 1255 <tr class="text-gray-700 dark:text-gray-400">
1213 <td class="px-4 py-3"> 1256 <td class="px-4 py-3">
1214 <div class="flex items-center text-sm"> 1257 <div class="flex items-center text-sm">
1215 1258
1216 <div 1259 <div
1217 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1260 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1218 > 1261 >
1219 <img 1262 <img
1220 class="object-cover w-full h-full rounded-full" 1263 class="object-cover w-full h-full rounded-full"
1221 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" 1264 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"
1222 alt="" 1265 alt=""
1223 loading="lazy" 1266 loading="lazy"
1224 /> 1267 />
1225 <div 1268 <div
1226 class="absolute inset-0 rounded-full shadow-inner" 1269 class="absolute inset-0 rounded-full shadow-inner"
1227 aria-hidden="true" 1270 aria-hidden="true"
1228 ></div> 1271 ></div>
1229 </div> 1272 </div>
1230 <div> 1273 <div>
1231 <p class="font-semibold">Hans Burger</p> 1274 <p class="font-semibold">Hans Burger</p>
1232 <p class="text-xs text-gray-600 dark:text-gray-400"> 1275 <p class="text-xs text-gray-600 dark:text-gray-400">
1233 10x Developer 1276 10x Developer
1234 </p> 1277 </p>
1235 </div> 1278 </div>
1236 </div> 1279 </div>
1237 </td> 1280 </td>
1238 <td class="px-4 py-3 text-sm"> 1281 <td class="px-4 py-3 text-sm">
1239 $ 863.45 1282 $ 863.45
1240 </td> 1283 </td>
1241 <td class="px-4 py-3 text-xs"> 1284 <td class="px-4 py-3 text-xs">
1242 <span 1285 <span
1243 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" 1286 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"
1244 > 1287 >
1245 Approved 1288 Approved
1246 </span> 1289 </span>
1247 </td> 1290 </td>
1248 <td class="px-4 py-3 text-sm"> 1291 <td class="px-4 py-3 text-sm">
1249 6/10/2020 1292 6/10/2020
1250 </td> 1293 </td>
1251 </tr> 1294 </tr>
1252 1295
1253 <tr class="text-gray-700 dark:text-gray-400"> 1296 <tr class="text-gray-700 dark:text-gray-400">
1254 <td class="px-4 py-3"> 1297 <td class="px-4 py-3">
1255 <div class="flex items-center text-sm"> 1298 <div class="flex items-center text-sm">
1256 1299
1257 <div 1300 <div
1258 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1301 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1259 > 1302 >
1260 <img 1303 <img
1261 class="object-cover w-full h-full rounded-full" 1304 class="object-cover w-full h-full rounded-full"
1262 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" 1305 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"
1263 alt="" 1306 alt=""
1264 loading="lazy" 1307 loading="lazy"
1265 /> 1308 />
1266 <div 1309 <div
1267 class="absolute inset-0 rounded-full shadow-inner" 1310 class="absolute inset-0 rounded-full shadow-inner"
1268 aria-hidden="true" 1311 aria-hidden="true"
1269 ></div> 1312 ></div>
1270 </div> 1313 </div>
1271 <div> 1314 <div>
1272 <p class="font-semibold">Jolina Angelie</p> 1315 <p class="font-semibold">Jolina Angelie</p>
1273 <p class="text-xs text-gray-600 dark:text-gray-400"> 1316 <p class="text-xs text-gray-600 dark:text-gray-400">
1274 Unemployed 1317 Unemployed
1275 </p> 1318 </p>
1276 </div> 1319 </div>
1277 </div> 1320 </div>
1278 </td> 1321 </td>
1279 <td class="px-4 py-3 text-sm"> 1322 <td class="px-4 py-3 text-sm">
1280 $ 369.95 1323 $ 369.95
1281 </td> 1324 </td>
1282 <td class="px-4 py-3 text-xs"> 1325 <td class="px-4 py-3 text-xs">
1283 <span 1326 <span
1284 class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600" 1327 class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"
1285 > 1328 >
1286 Pending 1329 Pending
1287 </span> 1330 </span>
1288 </td> 1331 </td>
1289 <td class="px-4 py-3 text-sm"> 1332 <td class="px-4 py-3 text-sm">
1290 6/10/2020 1333 6/10/2020
1291 </td> 1334 </td>
1292 </tr> 1335 </tr>
1293 1336
1294 <tr class="text-gray-700 dark:text-gray-400"> 1337 <tr class="text-gray-700 dark:text-gray-400">
1295 <td class="px-4 py-3"> 1338 <td class="px-4 py-3">
1296 <div class="flex items-center text-sm"> 1339 <div class="flex items-center text-sm">
1297 1340
1298 <div 1341 <div
1299 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1342 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1300 > 1343 >
1301 <img 1344 <img
1302 class="object-cover w-full h-full rounded-full" 1345 class="object-cover w-full h-full rounded-full"
1303 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" 1346 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"
1304 alt="" 1347 alt=""
1305 loading="lazy" 1348 loading="lazy"
1306 /> 1349 />
1307 <div 1350 <div
1308 class="absolute inset-0 rounded-full shadow-inner" 1351 class="absolute inset-0 rounded-full shadow-inner"
1309 aria-hidden="true" 1352 aria-hidden="true"
1310 ></div> 1353 ></div>
1311 </div> 1354 </div>
1312 <div> 1355 <div>
1313 <p class="font-semibold">Sarah Curry</p> 1356 <p class="font-semibold">Sarah Curry</p>
1314 <p class="text-xs text-gray-600 dark:text-gray-400"> 1357 <p class="text-xs text-gray-600 dark:text-gray-400">
1315 Designer 1358 Designer
1316 </p> 1359 </p>
1317 </div> 1360 </div>
1318 </div> 1361 </div>
1319 </td> 1362 </td>
1320 <td class="px-4 py-3 text-sm"> 1363 <td class="px-4 py-3 text-sm">
1321 $ 86.00 1364 $ 86.00
1322 </td> 1365 </td>
1323 <td class="px-4 py-3 text-xs"> 1366 <td class="px-4 py-3 text-xs">
1324 <span 1367 <span
1325 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" 1368 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"
1326 > 1369 >
1327 Denied 1370 Denied
1328 </span> 1371 </span>
1329 </td> 1372 </td>
1330 <td class="px-4 py-3 text-sm"> 1373 <td class="px-4 py-3 text-sm">
1331 6/10/2020 1374 6/10/2020
1332 </td> 1375 </td>
1333 </tr> 1376 </tr>
1334 1377
1335 <tr class="text-gray-700 dark:text-gray-400"> 1378 <tr class="text-gray-700 dark:text-gray-400">
1336 <td class="px-4 py-3"> 1379 <td class="px-4 py-3">
1337 <div class="flex items-center text-sm"> 1380 <div class="flex items-center text-sm">
1338 1381
1339 <div 1382 <div
1340 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1383 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1341 > 1384 >
1342 <img 1385 <img
1343 class="object-cover w-full h-full rounded-full" 1386 class="object-cover w-full h-full rounded-full"
1344 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" 1387 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"
1345 alt="" 1388 alt=""
1346 loading="lazy" 1389 loading="lazy"
1347 /> 1390 />
1348 <div 1391 <div
1349 class="absolute inset-0 rounded-full shadow-inner" 1392 class="absolute inset-0 rounded-full shadow-inner"
1350 aria-hidden="true" 1393 aria-hidden="true"
1351 ></div> 1394 ></div>
1352 </div> 1395 </div>
1353 <div> 1396 <div>
1354 <p class="font-semibold">Rulia Joberts</p> 1397 <p class="font-semibold">Rulia Joberts</p>
1355 <p class="text-xs text-gray-600 dark:text-gray-400"> 1398 <p class="text-xs text-gray-600 dark:text-gray-400">
1356 Actress 1399 Actress
1357 </p> 1400 </p>
1358 </div> 1401 </div>
1359 </div> 1402 </div>
1360 </td> 1403 </td>
1361 <td class="px-4 py-3 text-sm"> 1404 <td class="px-4 py-3 text-sm">
1362 $ 1276.45 1405 $ 1276.45
1363 </td> 1406 </td>
1364 <td class="px-4 py-3 text-xs"> 1407 <td class="px-4 py-3 text-xs">
1365 <span 1408 <span
1366 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" 1409 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"
1367 > 1410 >
1368 Approved 1411 Approved
1369 </span> 1412 </span>
1370 </td> 1413 </td>
1371 <td class="px-4 py-3 text-sm"> 1414 <td class="px-4 py-3 text-sm">
1372 6/10/2020 1415 6/10/2020
1373 </td> 1416 </td>
1374 </tr> 1417 </tr>
1375 1418
1376 <tr class="text-gray-700 dark:text-gray-400"> 1419 <tr class="text-gray-700 dark:text-gray-400">
1377 <td class="px-4 py-3"> 1420 <td class="px-4 py-3">
1378 <div class="flex items-center text-sm"> 1421 <div class="flex items-center text-sm">
1379 1422
1380 <div 1423 <div
1381 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1424 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1382 > 1425 >
1383 <img 1426 <img
1384 class="object-cover w-full h-full rounded-full" 1427 class="object-cover w-full h-full rounded-full"
1385 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" 1428 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"
1386 alt="" 1429 alt=""
1387 loading="lazy" 1430 loading="lazy"
1388 /> 1431 />
1389 <div 1432 <div
1390 class="absolute inset-0 rounded-full shadow-inner" 1433 class="absolute inset-0 rounded-full shadow-inner"
1391 aria-hidden="true" 1434 aria-hidden="true"
1392 ></div> 1435 ></div>
1393 </div> 1436 </div>
1394 <div> 1437 <div>
1395 <p class="font-semibold">Wenzel Dashington</p> 1438 <p class="font-semibold">Wenzel Dashington</p>
1396 <p class="text-xs text-gray-600 dark:text-gray-400"> 1439 <p class="text-xs text-gray-600 dark:text-gray-400">
1397 Actor 1440 Actor
1398 </p> 1441 </p>
1399 </div> 1442 </div>
1400 </div> 1443 </div>
1401 </td> 1444 </td>
1402 <td class="px-4 py-3 text-sm"> 1445 <td class="px-4 py-3 text-sm">
1403 $ 863.45 1446 $ 863.45
1404 </td> 1447 </td>
1405 <td class="px-4 py-3 text-xs"> 1448 <td class="px-4 py-3 text-xs">
1406 <span 1449 <span
1407 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" 1450 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"
1408 > 1451 >
1409 Expired 1452 Expired
1410 </span> 1453 </span>
1411 </td> 1454 </td>
1412 <td class="px-4 py-3 text-sm"> 1455 <td class="px-4 py-3 text-sm">
1413 6/10/2020 1456 6/10/2020
1414 </td> 1457 </td>
1415 </tr> 1458 </tr>
1416 1459
1417 <tr class="text-gray-700 dark:text-gray-400"> 1460 <tr class="text-gray-700 dark:text-gray-400">
1418 <td class="px-4 py-3"> 1461 <td class="px-4 py-3">
1419 <div class="flex items-center text-sm"> 1462 <div class="flex items-center text-sm">
1420 1463
1421 <div 1464 <div
1422 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1465 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1423 > 1466 >
1424 <img 1467 <img
1425 class="object-cover w-full h-full rounded-full" 1468 class="object-cover w-full h-full rounded-full"
1426 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" 1469 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"
1427 alt="" 1470 alt=""
1428 loading="lazy" 1471 loading="lazy"
1429 /> 1472 />
1430 <div 1473 <div
1431 class="absolute inset-0 rounded-full shadow-inner" 1474 class="absolute inset-0 rounded-full shadow-inner"
1432 aria-hidden="true" 1475 aria-hidden="true"
1433 ></div> 1476 ></div>
1434 </div> 1477 </div>
1435 <div> 1478 <div>
1436 <p class="font-semibold">Dave Li</p> 1479 <p class="font-semibold">Dave Li</p>
1437 <p class="text-xs text-gray-600 dark:text-gray-400"> 1480 <p class="text-xs text-gray-600 dark:text-gray-400">
1438 Influencer 1481 Influencer
1439 </p> 1482 </p>
1440 </div> 1483 </div>
1441 </div> 1484 </div>
1442 </td> 1485 </td>
1443 <td class="px-4 py-3 text-sm"> 1486 <td class="px-4 py-3 text-sm">
1444 $ 863.45 1487 $ 863.45
1445 </td> 1488 </td>
1446 <td class="px-4 py-3 text-xs"> 1489 <td class="px-4 py-3 text-xs">
1447 <span 1490 <span
1448 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" 1491 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"
1449 > 1492 >
1450 Approved 1493 Approved
1451 </span> 1494 </span>
1452 </td> 1495 </td>
1453 <td class="px-4 py-3 text-sm"> 1496 <td class="px-4 py-3 text-sm">
1454 6/10/2020 1497 6/10/2020
1455 </td> 1498 </td>
1456 </tr> 1499 </tr>
1457 1500
1458 <tr class="text-gray-700 dark:text-gray-400"> 1501 <tr class="text-gray-700 dark:text-gray-400">
1459 <td class="px-4 py-3"> 1502 <td class="px-4 py-3">
1460 <div class="flex items-center text-sm"> 1503 <div class="flex items-center text-sm">
1461 1504
1462 <div 1505 <div
1463 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1506 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1464 > 1507 >
1465 <img 1508 <img
1466 class="object-cover w-full h-full rounded-full" 1509 class="object-cover w-full h-full rounded-full"
1467 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" 1510 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"
1468 alt="" 1511 alt=""
1469 loading="lazy" 1512 loading="lazy"
1470 /> 1513 />
1471 <div 1514 <div
1472 class="absolute inset-0 rounded-full shadow-inner" 1515 class="absolute inset-0 rounded-full shadow-inner"
1473 aria-hidden="true" 1516 aria-hidden="true"
1474 ></div> 1517 ></div>
1475 </div> 1518 </div>
1476 <div> 1519 <div>
1477 <p class="font-semibold">Maria Ramovic</p> 1520 <p class="font-semibold">Maria Ramovic</p>
1478 <p class="text-xs text-gray-600 dark:text-gray-400"> 1521 <p class="text-xs text-gray-600 dark:text-gray-400">
1479 Runner 1522 Runner
1480 </p> 1523 </p>
1481 </div> 1524 </div>
1482 </div> 1525 </div>
1483 </td> 1526 </td>
1484 <td class="px-4 py-3 text-sm"> 1527 <td class="px-4 py-3 text-sm">
1485 $ 863.45 1528 $ 863.45
1486 </td> 1529 </td>
1487 <td class="px-4 py-3 text-xs"> 1530 <td class="px-4 py-3 text-xs">
1488 <span 1531 <span
1489 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" 1532 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"
1490 > 1533 >
1491 Approved 1534 Approved
1492 </span> 1535 </span>
1493 </td> 1536 </td>
1494 <td class="px-4 py-3 text-sm"> 1537 <td class="px-4 py-3 text-sm">
1495 6/10/2020 1538 6/10/2020
1496 </td> 1539 </td>
1497 </tr> 1540 </tr>
1498 1541
1499 <tr class="text-gray-700 dark:text-gray-400"> 1542 <tr class="text-gray-700 dark:text-gray-400">
1500 <td class="px-4 py-3"> 1543 <td class="px-4 py-3">
1501 <div class="flex items-center text-sm"> 1544 <div class="flex items-center text-sm">
1502 1545
1503 <div 1546 <div
1504 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1547 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1505 > 1548 >
1506 <img 1549 <img
1507 class="object-cover w-full h-full rounded-full" 1550 class="object-cover w-full h-full rounded-full"
1508 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" 1551 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"
1509 alt="" 1552 alt=""
1510 loading="lazy" 1553 loading="lazy"
1511 /> 1554 />
1512 <div 1555 <div
1513 class="absolute inset-0 rounded-full shadow-inner" 1556 class="absolute inset-0 rounded-full shadow-inner"
1514 aria-hidden="true" 1557 aria-hidden="true"
1515 ></div> 1558 ></div>
1516 </div> 1559 </div>
1517 <div> 1560 <div>
1518 <p class="font-semibold">Hitney Wouston</p> 1561 <p class="font-semibold">Hitney Wouston</p>
1519 <p class="text-xs text-gray-600 dark:text-gray-400"> 1562 <p class="text-xs text-gray-600 dark:text-gray-400">
1520 Singer 1563 Singer
1521 </p> 1564 </p>
1522 </div> 1565 </div>
1523 </div> 1566 </div>
1524 </td> 1567 </td>
1525 <td class="px-4 py-3 text-sm"> 1568 <td class="px-4 py-3 text-sm">
1526 $ 863.45 1569 $ 863.45
1527 </td> 1570 </td>
1528 <td class="px-4 py-3 text-xs"> 1571 <td class="px-4 py-3 text-xs">
1529 <span 1572 <span
1530 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" 1573 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"
1531 > 1574 >
1532 Approved 1575 Approved
1533 </span> 1576 </span>
1534 </td> 1577 </td>
1535 <td class="px-4 py-3 text-sm"> 1578 <td class="px-4 py-3 text-sm">
1536 6/10/2020 1579 6/10/2020
1537 </td> 1580 </td>
1538 </tr> 1581 </tr>
1539 1582
1540 <tr class="text-gray-700 dark:text-gray-400"> 1583 <tr class="text-gray-700 dark:text-gray-400">
1541 <td class="px-4 py-3"> 1584 <td class="px-4 py-3">
1542 <div class="flex items-center text-sm"> 1585 <div class="flex items-center text-sm">
1543 1586
1544 <div 1587 <div
1545 class="relative hidden w-8 h-8 mr-3 rounded-full md:block" 1588 class="relative hidden w-8 h-8 mr-3 rounded-full md:block"
1546 > 1589 >
1547 <img 1590 <img
1548 class="object-cover w-full h-full rounded-full" 1591 class="object-cover w-full h-full rounded-full"
1549 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" 1592 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"
1550 alt="" 1593 alt=""
1551 loading="lazy" 1594 loading="lazy"
1552 /> 1595 />
1553 <div 1596 <div
1554 class="absolute inset-0 rounded-full shadow-inner" 1597 class="absolute inset-0 rounded-full shadow-inner"
1555 aria-hidden="true" 1598 aria-hidden="true"
1556 ></div> 1599 ></div>
1557 </div> 1600 </div>
1558 <div> 1601 <div>
1559 <p class="font-semibold">Hans Burger</p> 1602 <p class="font-semibold">Hans Burger</p>
1560 <p class="text-xs text-gray-600 dark:text-gray-400"> 1603 <p class="text-xs text-gray-600 dark:text-gray-400">
1561 10x Developer 1604 10x Developer
1562 </p> 1605 </p>
1563 </div> 1606 </div>
1564 </div> 1607 </div>
1565 </td> 1608 </td>
1566 <td class="px-4 py-3 text-sm"> 1609 <td class="px-4 py-3 text-sm">
1567 $ 863.45 1610 $ 863.45
1568 </td> 1611 </td>
1569 <td class="px-4 py-3 text-xs"> 1612 <td class="px-4 py-3 text-xs">
1570 <span 1613 <span
1571 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" 1614 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"
1572 > 1615 >
1573 Approved 1616 Approved
1574 </span> 1617 </span>
1575 </td> 1618 </td>
1576 <td class="px-4 py-3 text-sm"> 1619 <td class="px-4 py-3 text-sm">
1577 6/10/2020 1620 6/10/2020
1578 </td> 1621 </td>
1579 </tr> 1622 </tr>
1580 </tbody> 1623 </tbody>
1581 </table> 1624 </table>
1582 </div> 1625 </div>
1583 <div 1626 <div
1584 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" 1627 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"
1585 > 1628 >
1586 <span class="flex items-center col-span-3"> 1629 <span class="flex items-center col-span-3">
1587 Showing 21-30 of 100 1630 Showing 21-30 of 100
1588 </span> 1631 </span>
1589 <span class="col-span-2"></span> 1632 <span class="col-span-2"></span>
1590 1633
1591 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end"> 1634 <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end">
1592 <nav aria-label="Table navigation"> 1635 <nav aria-label="Table navigation">
1593 <ul class="inline-flex items-center"> 1636 <ul class="inline-flex items-center">
1594 <li> 1637 <li>
1595 <button 1638 <button
1596 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple" 1639 class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple"
1597 aria-label="Previous" 1640 aria-label="Previous"
1598 > 1641 >
1599 <svg 1642 <svg
1600 aria-hidden="true" 1643 aria-hidden="true"
1601 class="w-4 h-4 fill-current" 1644 class="w-4 h-4 fill-current"
1602 viewBox="0 0 20 20" 1645 viewBox="0 0 20 20"
1603 > 1646 >
1604 <path 1647 <path
1605 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" 1648 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"
1606 clip-rule="evenodd" 1649 clip-rule="evenodd"
1607 fill-rule="evenodd" 1650 fill-rule="evenodd"
1608 ></path> 1651 ></path>
1609 </svg> 1652 </svg>
1610 </button> 1653 </button>
1611 </li> 1654 </li>
1612 <li> 1655 <li>
1613 <button 1656 <button
1614 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1657 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1615 > 1658 >
1616 1 1659 1
1617 </button> 1660 </button>
1618 </li> 1661 </li>
1619 <li> 1662 <li>
1620 <button 1663 <button
1621 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1664 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1622 > 1665 >
1623 2 1666 2
1624 </button> 1667 </button>
1625 </li> 1668 </li>
1626 <li> 1669 <li>
1627 <button 1670 <button
1628 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" 1671 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"
1629 > 1672 >
1630 3 1673 3
1631 </button> 1674 </button>
1632 </li> 1675 </li>
1633 <li> 1676 <li>
1634 <button 1677 <button
1635 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1678 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1636 > 1679 >
1637 4 1680 4
1638 </button> 1681 </button>
1639 </li> 1682 </li>
1640 <li> 1683 <li>
1641 <span class="px-3 py-1">...</span> 1684 <span class="px-3 py-1">...</span>
1642 </li> 1685 </li>
1643 <li> 1686 <li>
1644 <button 1687 <button
1645 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1688 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1646 > 1689 >
1647 8 1690 8
1648 </button> 1691 </button>
1649 </li> 1692 </li>
1650 <li> 1693 <li>
1651 <button 1694 <button
1652 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" 1695 class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple"
1653 > 1696 >
1654 9 1697 9
1655 </button> 1698 </button>
1656 </li> 1699 </li>
1657 <li> 1700 <li>
1658 <button 1701 <button
1659 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple" 1702 class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple"
1660 aria-label="Next" 1703 aria-label="Next"
1661 > 1704 >
1662 <svg 1705 <svg
1663 class="w-4 h-4 fill-current" 1706 class="w-4 h-4 fill-current"
1664 aria-hidden="true" 1707 aria-hidden="true"
1665 viewBox="0 0 20 20" 1708 viewBox="0 0 20 20"
1666 > 1709 >
1667 <path 1710 <path
1668 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" 1711 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"
1669 clip-rule="evenodd" 1712 clip-rule="evenodd"
1670 fill-rule="evenodd" 1713 fill-rule="evenodd"
1671 ></path> 1714 ></path>
1672 </svg> 1715 </svg>
1673 </button> 1716 </button>
1674 </li> 1717 </li>
1675 </ul> 1718 </ul>
1676 </nav> 1719 </nav>
1677 </span> 1720 </span>
1678 </div> 1721 </div>
1679 </div> 1722 </div>
1680 --> 1723 -->
1681 <!-- Charts --> 1724 <!-- Charts -->
1682 <!-- 1725 <!--
1683 <h2 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200"> 1726 <h2 class="my-6 text-2xl font-semibold text-gray-700 dark:text-gray-200">
1684 Графики 1727 Графики
1685 </h2> 1728 </h2>
1686 <div class="grid gap-6 mb-8 md:grid-cols-2"> 1729 <div class="grid gap-6 mb-8 md:grid-cols-2">
1687 <div 1730 <div
1688 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1731 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1689 > 1732 >
1690 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300"> 1733 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300">
1691 Revenue 1734 Revenue
1692 </h4> 1735 </h4>
1693 <canvas id="pie"></canvas> 1736 <canvas id="pie"></canvas>
1694 <div 1737 <div
1695 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400" 1738 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400"
1696 > 1739 >
1697 1740
1698 <div class="flex items-center"> 1741 <div class="flex items-center">
1699 <span 1742 <span
1700 class="inline-block w-3 h-3 mr-1 bg-blue-500 rounded-full" 1743 class="inline-block w-3 h-3 mr-1 bg-blue-500 rounded-full"
1701 ></span> 1744 ></span>
1702 <span>Shirts</span> 1745 <span>Shirts</span>
1703 </div> 1746 </div>
1704 <div class="flex items-center"> 1747 <div class="flex items-center">
1705 <span 1748 <span
1706 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full" 1749 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full"
1707 ></span> 1750 ></span>
1708 <span>Shoes</span> 1751 <span>Shoes</span>
1709 </div> 1752 </div>
1710 <div class="flex items-center"> 1753 <div class="flex items-center">
1711 <span 1754 <span
1712 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full" 1755 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full"
1713 ></span> 1756 ></span>
1714 <span>Bags</span> 1757 <span>Bags</span>
1715 </div> 1758 </div>
1716 </div> 1759 </div>
1717 </div> 1760 </div>
1718 <div 1761 <div
1719 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800" 1762 class="min-w-0 p-4 bg-white rounded-lg shadow-xs dark:bg-gray-800"
1720 > 1763 >
1721 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300"> 1764 <h4 class="mb-4 font-semibold text-gray-800 dark:text-gray-300">
1722 Traffic 1765 Traffic
1723 </h4> 1766 </h4>
1724 <canvas id="line"></canvas> 1767 <canvas id="line"></canvas>
1725 <div 1768 <div
1726 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400" 1769 class="flex justify-center mt-4 space-x-3 text-sm text-gray-600 dark:text-gray-400"
1727 > 1770 >
1728 1771
1729 <div class="flex items-center"> 1772 <div class="flex items-center">
1730 <span 1773 <span
1731 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full" 1774 class="inline-block w-3 h-3 mr-1 bg-teal-600 rounded-full"
1732 ></span> 1775 ></span>
1733 <span>Organic</span> 1776 <span>Organic</span>
1734 </div> 1777 </div>
1735 <div class="flex items-center"> 1778 <div class="flex items-center">
1736 <span 1779 <span
1737 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full" 1780 class="inline-block w-3 h-3 mr-1 bg-purple-600 rounded-full"
1738 ></span> 1781 ></span>
1739 <span>Paid</span> 1782 <span>Paid</span>
1740 </div> 1783 </div>
1741 </div> 1784 </div>
1742 </div> 1785 </div>
1743 </div> 1786 </div>
1744 --> 1787 -->
1745 </div> 1788 </div>
1746 </main> 1789 </main>
1747 </div> 1790 </div>
1748 </div> 1791 </div>
1792 @yield('modal')
1749 </body> 1793 </body>
1750 @yield('script') 1794 @yield('script')
1751 </html> 1795 </html>
1752 1796
1 <?php 1 <?php
2 2
3 use App\Http\Controllers\Admin\AdminController; 3 use App\Http\Controllers\Admin\AdminController;
4 use App\Http\Controllers\Admin\CategoryController; 4 use App\Http\Controllers\Admin\CategoryController;
5 use App\Http\Controllers\Admin\CategoryEmpController; 5 use App\Http\Controllers\Admin\CategoryEmpController;
6 use App\Http\Controllers\Admin\EducationController; 6 use App\Http\Controllers\Admin\EducationController;
7 use App\Http\Controllers\Admin\EmployersController; 7 use App\Http\Controllers\Admin\EmployersController;
8 use App\Http\Controllers\Admin\InfoBloksController; 8 use App\Http\Controllers\Admin\InfoBloksController;
9 use App\Http\Controllers\Admin\JobTitlesController; 9 use App\Http\Controllers\Admin\JobTitlesController;
10 use App\Http\Controllers\Admin\UsersController; 10 use App\Http\Controllers\Admin\UsersController;
11 use App\Http\Controllers\Admin\WorkersController; 11 use App\Http\Controllers\Admin\WorkersController;
12 use App\Http\Controllers\Auth\ForgotPasswordController; 12 use App\Http\Controllers\Auth\ForgotPasswordController;
13 use App\Http\Controllers\Auth\LoginController; 13 use App\Http\Controllers\Auth\LoginController;
14 use App\Http\Controllers\Auth\RegisterController; 14 use App\Http\Controllers\Auth\RegisterController;
15 use App\Http\Controllers\CKEditorController; 15 use App\Http\Controllers\CKEditorController;
16 use App\Models\User; 16 use App\Models\User;
17 use App\Http\Controllers\MainController; 17 use App\Http\Controllers\MainController;
18 use App\Http\Controllers\HomeController; 18 use App\Http\Controllers\HomeController;
19 use Illuminate\Support\Facades\Route; 19 use Illuminate\Support\Facades\Route;
20 use App\Http\Controllers\Admin\CompanyController; 20 use App\Http\Controllers\Admin\CompanyController;
21 use App\Http\Controllers\Admin\Ad_EmployersController; 21 use App\Http\Controllers\Admin\Ad_EmployersController;
22 use App\Http\Controllers\Admin\MsgAnswersController; 22 use App\Http\Controllers\Admin\MsgAnswersController;
23 use App\Http\Controllers\Admin\GroupsController; 23 use App\Http\Controllers\Admin\GroupsController;
24 use App\Http\Controllers\PagesController; 24 use App\Http\Controllers\PagesController;
25 use Illuminate\Support\Facades\Storage; 25 use Illuminate\Support\Facades\Storage;
26 26
27 27
28 /* 28 /*
29 |-------------------------------------------------------------------------- 29 |--------------------------------------------------------------------------
30 | Web Routes 30 | Web Routes
31 |-------------------------------------------------------------------------- 31 |--------------------------------------------------------------------------
32 | 32 |
33 | Here is where you can register web routes for your application. These 33 | Here is where you can register web routes for your application. These
34 | routes are loaded by the RouteServiceProvider within a group which 34 | routes are loaded by the RouteServiceProvider within a group which
35 | contains the "web" middleware group. Now create something great! 35 | contains the "web" middleware group. Now create something great!
36 | 36 |
37 */ 37 */
38 /* 38 /*
39 Route::get('/', function () { 39 Route::get('/', function () {
40 return view('welcome'); 40 return view('welcome');
41 })->name('index'); 41 })->name('index');
42 */ 42 */
43 Route::get('/', [MainController::class, 'index'])->name('index'); 43 Route::get('/', [MainController::class, 'index'])->name('index');
44 44
45 //Роуты авторизации, регистрации, восстановления, аутентификации 45 //Роуты авторизации, регистрации, восстановления, аутентификации
46 Auth::routes(['verify' => true]); 46 Auth::routes(['verify' => true]);
47 47
48 // роуты регистрации, авторизации, восстановления пароля, верификации почты 48 // роуты регистрации, авторизации, восстановления пароля, верификации почты
49 /*Route::group([ 49 /*Route::group([
50 'as' => 'auth.', //имя маршрута, например auth.index 50 'as' => 'auth.', //имя маршрута, например auth.index
51 'prefix' => 'auth', // префикс маршрута, например, auth/index 51 'prefix' => 'auth', // префикс маршрута, например, auth/index
52 ], function () { 52 ], function () {
53 //форма регистрации 53 //форма регистрации
54 Route::get('register', [RegisterController::class, 'register'])->name('register'); 54 Route::get('register', [RegisterController::class, 'register'])->name('register');
55 55
56 //создание пользователя 56 //создание пользователя
57 Route::post('register', [RegisterController::class, 'create'])->name('create'); 57 Route::post('register', [RegisterController::class, 'create'])->name('create');
58 58
59 //форма входа авторизации 59 //форма входа авторизации
60 Route::get('login', [LoginController::class, 'login'])->name('login'); 60 Route::get('login', [LoginController::class, 'login'])->name('login');
61 61
62 //аутентификация 62 //аутентификация
63 Route::post('login', [LoginController::class, 'authenticate'])->name('auth'); 63 Route::post('login', [LoginController::class, 'authenticate'])->name('auth');
64 64
65 //выход 65 //выход
66 Route::get('logout', [LoginController::class, 'logout'])->name('logout'); 66 Route::get('logout', [LoginController::class, 'logout'])->name('logout');
67 67
68 //форма ввода адреса почты 68 //форма ввода адреса почты
69 Route::get('forgot-password', [ForgotPasswordController::class, 'form'])->name('forgot-form'); 69 Route::get('forgot-password', [ForgotPasswordController::class, 'form'])->name('forgot-form');
70 70
71 //письмо на почту 71 //письмо на почту
72 Route::post('forgot-password', [ForgotPasswordController::class, 'mail'])->name('forgot-mail'); 72 Route::post('forgot-password', [ForgotPasswordController::class, 'mail'])->name('forgot-mail');
73 73
74 //форма восстановления пароля 74 //форма восстановления пароля
75 Route::get('reset-password/token/{token}/email/{email}', 75 Route::get('reset-password/token/{token}/email/{email}',
76 [ResetPasswordController::class, 'form'] 76 [ResetPasswordController::class, 'form']
77 )->name('reset-form'); 77 )->name('reset-form');
78 78
79 //восстановление пароля 79 //восстановление пароля
80 Route::post('reset-password', 80 Route::post('reset-password',
81 [ResetPasswordController::class, 'reset'] 81 [ResetPasswordController::class, 'reset']
82 )->name('reset-password'); 82 )->name('reset-password');
83 83
84 //сообщение о необходимости проверки адреса почты 84 //сообщение о необходимости проверки адреса почты
85 Route::get('verify-message', [VerifyEmailController::class, 'message'])->name('verify-message'); 85 Route::get('verify-message', [VerifyEmailController::class, 'message'])->name('verify-message');
86 86
87 //подтверждение адреса почты нового пользователя 87 //подтверждение адреса почты нового пользователя
88 Route::get('verify-email/token/{token}/id/{id}', [VerifyEmailController::class, 'verify']) 88 Route::get('verify-email/token/{token}/id/{id}', [VerifyEmailController::class, 'verify'])
89 ->where('token', '[a-f0-9]{32}') 89 ->where('token', '[a-f0-9]{32}')
90 ->where('id', '[0-9]+') 90 ->where('id', '[0-9]+')
91 ->name('verify-email'); 91 ->name('verify-email');
92 });*/ 92 });*/
93 93
94 //Личный кабинет пользователя 94 //Личный кабинет пользователя
95 Route::get('/home', [HomeController::class, 'index'])->name('home'); 95 Route::get('/home', [HomeController::class, 'index'])->name('home');
96 96
97 /* 97 /*
98 Route::post('resend/verification-email', function (\Illuminate\Http\Request $request) { 98 Route::post('resend/verification-email', function (\Illuminate\Http\Request $request) {
99 $user = User::where('email',$request->input('email'))->first(); 99 $user = User::where('email',$request->input('email'))->first();
100 100
101 $user->sendEmailVerificationNotification(); 101 $user->sendEmailVerificationNotification();
102 102
103 return 'your response'; 103 return 'your response';
104 })->middleware('throttle:6,1')->name('verification.resend'); 104 })->middleware('throttle:6,1')->name('verification.resend');
105 */ 105 */
106 106
107 // Авторизация, регистрация в админку 107 // Авторизация, регистрация в админку
108 Route::group([ 108 Route::group([
109 'as' => 'admin.', // имя маршрута, например auth.index 109 'as' => 'admin.', // имя маршрута, например auth.index
110 'prefix' => 'admin', // префикс маршрута, например auth/index 110 'prefix' => 'admin', // префикс маршрута, например auth/index
111 'middleware' => ['guest'], 111 'middleware' => ['guest'],
112 ], function () { 112 ], function () {
113 // Форма регистрации 113 // Форма регистрации
114 Route::get('register', [AdminController::class, 'register'])->name('register'); 114 Route::get('register', [AdminController::class, 'register'])->name('register');
115 115
116 // Создание пользователя 116 // Создание пользователя
117 Route::post('register', [AdminController::class, 'create'])->name('create'); 117 Route::post('register', [AdminController::class, 'create'])->name('create');
118 //Форма входа 118 //Форма входа
119 Route::get('login', [AdminController::class, 'login'])->name('login'); 119 Route::get('login', [AdminController::class, 'login'])->name('login');
120 120
121 // аутентификация 121 // аутентификация
122 Route::post('login', [AdminController::class, 'autenticate'])->name('auth'); 122 Route::post('login', [AdminController::class, 'autenticate'])->name('auth');
123 123
124 }); 124 });
125 125
126 // Личный кабинет админки 126 // Личный кабинет админки
127 Route::group([ 127 Route::group([
128 'as' => 'admin.', // имя маршрута, например auth.index 128 'as' => 'admin.', // имя маршрута, например auth.index
129 'prefix' => 'admin', // префикс маршрута, например auth/index 129 'prefix' => 'admin', // префикс маршрута, например auth/index
130 'middleware' => ['auth'], ['admin'], 130 'middleware' => ['auth'], ['admin'],
131 ], function() { 131 ], function() {
132 132
133 // выход 133 // выход
134 Route::get('logout', [AdminController::class, 'logout'])->name('logout'); 134 Route::get('logout', [AdminController::class, 'logout'])->name('logout');
135 135
136 // кабинет главная страница 136 // кабинет главная страница
137 Route::get('cabinet', [AdminController::class, 'index'])->name('index'); 137 Route::get('cabinet', [AdminController::class, 'index'])->name('index');
138 138
139 // кабинет профиль админа - форма 139 // кабинет профиль админа - форма
140 Route::get('profile', [AdminController::class, 'profile'])->name('profile'); 140 Route::get('profile', [AdminController::class, 'profile'])->name('profile');
141 // кабинет профиль админа - сохранение формы 141 // кабинет профиль админа - сохранение формы
142 Route::post('profile', [AdminController::class, 'store_profile'])->name('store_profile'); 142 Route::post('profile', [AdminController::class, 'store_profile'])->name('store_profile');
143 143
144 //кабинет сообщения админа 144 //кабинет сообщения админа
145 //Route::get('messages', [AdminController::class, 'profile'])->name('profile'); 145 //Route::get('messages', [AdminController::class, 'profile'])->name('profile');
146 146
147 147
148 // кабинет профиль - форма пароли 148 // кабинет профиль - форма пароли
149 Route::get('password', [AdminController::class, 'profile_password'])->name('password'); 149 Route::get('password', [AdminController::class, 'profile_password'])->name('password');
150 // кабинет профиль - сохранение формы пароля 150 // кабинет профиль - сохранение формы пароля
151 Route::post('password', [AdminController::class, 'profile_password_new'])->name('password'); 151 Route::post('password', [AdminController::class, 'profile_password_new'])->name('password');
152 152
153 153
154 // кабинет профиль пользователя - форма 154 // кабинет профиль пользователя - форма
155 Route::get('user-profile/{user}', [AdminController::class, 'profile_user'])->name('user-profile'); 155 Route::get('user-profile/{user}', [AdminController::class, 'profile_user'])->name('user-profile');
156 // кабинет профиль пользователя - сохранение формы 156 // кабинет профиль пользователя - сохранение формы
157 Route::post('user-profile/{user}', [AdminController::class, 'store_profile_user'])->name('user-store_profile'); 157 Route::post('user-profile/{user}', [AdminController::class, 'store_profile_user'])->name('user-store_profile');
158 158
159 // кабинет профиль работодатель - форма 159 // кабинет профиль работодатель - форма
160 Route::get('employer-profile/{employer}', [EmployersController::class, 'form_update_employer'])->name('employer-profile'); 160 Route::get('employer-profile/{employer}', [EmployersController::class, 'form_update_employer'])->name('employer-profile');
161 // кабинет профиль работодатель - сохранение формы 161 // кабинет профиль работодатель - сохранение формы
162 Route::post('employer-profile/{employer}', [EmployersController::class, 'update_employer'])->name('update-employer-profile'); 162 Route::post('employer-profile/{employer}', [EmployersController::class, 'update_employer'])->name('update-employer-profile');
163 // кабинет удаление профиль работодателя и юзера 163 // кабинет удаление профиль работодателя и юзера
164 Route::delete('employer-profile/delete/{employer}/{user}', [EmployersController::class, 'delete_employer'])->name('delete-employer'); 164 Route::delete('employers/delete/{employer}/{user}', [EmployersController::class, 'delete_employer'])->name('delete-employer');
165 165
166 // кабинет профиль работник - форма 166 // кабинет профиль работник - форма
167 Route::get('worker-profile/{worker}', [WorkersController::class, 'form_edit_worker'])->name('worker-profile-edit'); 167 Route::get('worker-profile/{worker}', [WorkersController::class, 'form_edit_worker'])->name('worker-profile-edit');
168 // кабинет профиль работник - сохранение формы 168 // кабинет профиль работник - сохранение формы
169 Route::post('worker-profile/{worker}', [WorkersController::class, 'form_update_worker'])->name('worker-profile-update'); 169 Route::post('worker-profile/{worker}', [WorkersController::class, 'form_update_worker'])->name('worker-profile-update');
170 170
171 171
172 // кабинет настройки сайта - форма 172 // кабинет настройки сайта - форма
173 Route::get('config', [AdminController::class, 'config_form'])->name('config'); 173 Route::get('config', [AdminController::class, 'config_form'])->name('config');
174 // кабинет настройки сайта сохранение формы 174 // кабинет настройки сайта сохранение формы
175 Route::post('config', [AdminController::class, 'store_config'])->name('store_config'); 175 Route::post('config', [AdminController::class, 'store_config'])->name('store_config');
176 176
177 // кабинет - пользователи 177 // кабинет - пользователи
178 Route::get('users', [UsersController::class, 'index'])->name('users'); 178 Route::get('users', [UsersController::class, 'index'])->name('users');
179 179
180 // кабинет - пользователи 180 // кабинет - пользователи
181 Route::get('admin-users', [AdminController::class, 'index_admin'])->name('admin-users'); 181 Route::get('admin-users', [AdminController::class, 'index_admin'])->name('admin-users');
182 182
183 // кабинет - работодатели 183 // кабинет - работодатели
184 Route::get('employers', [EmployersController::class, 'index'])->name('employers'); 184 Route::get('employers', [EmployersController::class, 'index'])->name('employers');
185 185
186 // кабинет - соискатели 186 // кабинет - соискатели
187 Route::get('workers', [WorkersController::class, 'index'])->name('workers'); 187 Route::get('workers', [WorkersController::class, 'index'])->name('workers');
188 188
189 // кабинет - вакансии 189 // кабинет - вакансии
190 Route::get('ad-employers', [Ad_EmployersController::class, 'index'])->name('ad-employers'); 190 Route::get('ad-employers', [Ad_EmployersController::class, 'index'])->name('ad-employers');
191 Route::get('ad-employers/edit/{ad_employer}', [Ad_EmployersController::class, 'edit'])->name('edit-ad-employers'); 191 Route::get('ad-employers/edit/{ad_employer}', [Ad_EmployersController::class, 'edit'])->name('edit-ad-employers');
192 Route::post('ad-employers/edit/{ad_employer}', [Ad_EmployersController::class, 'update'])->name('update-ad-employers'); 192 Route::post('ad-employers/edit/{ad_employer}', [Ad_EmployersController::class, 'update'])->name('update-ad-employers');
193 193
194 // кабинет - категории 194 // кабинет - категории
195 //Route::get('categories', [AdminController::class, 'index'])->name('categories'); 195 //Route::get('categories', [AdminController::class, 'index'])->name('categories');
196 /* 196 /*
197 * CRUD-операции над Справочником Категории 197 * CRUD-операции над Справочником Категории
198 */ 198 */
199 Route::resource('categories', CategoryController::class, ['except' => ['show']]); 199 Route::resource('categories', CategoryController::class, ['except' => ['show']]);
200 200
201 // CRUD-операции над справочником Категории для работодателей 201 // CRUD-операции над справочником Категории для работодателей
202 Route::resource('category-emp', CategoryEmpController::class, ['except' => ['show']]); 202 Route::resource('category-emp', CategoryEmpController::class, ['except' => ['show']]);
203 203
204 // CRUD-операции над справочником Образование 204 // CRUD-операции над справочником Образование
205 Route::resource('education', EducationController::class, ['except' => ['show']]); 205 Route::resource('education', EducationController::class, ['except' => ['show']]);
206 206
207 //Route::get('job-titles', [AdminController::class, 'index'])->name('job-titles'); 207 //Route::get('job-titles', [AdminController::class, 'index'])->name('job-titles');
208 /* 208 /*
209 * кабинет - CRUD-операции по справочнику должности 209 * кабинет - CRUD-операции по справочнику должности
210 * 210 *
211 */ 211 */
212 Route::resource('job-titles', JobTitlesController::class, ['except' => ['show']]); 212 Route::resource('job-titles', JobTitlesController::class, ['except' => ['show']]);
213 213
214 // кабинет - сообщения (чтение чужих) 214 // кабинет - сообщения (чтение чужих)
215 Route::get('messages', [MsgAnswersController::class, 'messages'])->name('messages'); 215 Route::get('messages', [MsgAnswersController::class, 'messages'])->name('messages');
216 // кабинет - просмотр сообщения чужого (чтение) 216 // кабинет - просмотр сообщения чужого (чтение)
217 Route::get('messages/{message}', [MsgAnswersController::class, 'read_message'])->name('read-message'); 217 Route::get('messages/{message}', [MsgAnswersController::class, 'read_message'])->name('read-message');
218 218
219 // кабинет - сообщения (админские) 219 // кабинет - сообщения (админские)
220 Route::get('admin-messages', [MsgAnswersController::class, 'admin_messages'])->name('admin-messages'); 220 Route::get('admin-messages', [MsgAnswersController::class, 'admin_messages'])->name('admin-messages');
221 // кабинет - сообщения (админские) 221 // кабинет - сообщения (админские)
222 Route::post('admin-messages', [MsgAnswersController::class, 'admin_messages_post'])->name('admin-messages-post'); 222 Route::post('admin-messages', [MsgAnswersController::class, 'admin_messages_post'])->name('admin-messages-post');
223 // кабинет - sql - конструкция запросов 223 // кабинет - sql - конструкция запросов
224 Route::get('messages-sql', [MsgAnswersController::class, 'messages_sql'])->name('messages-sql'); 224 Route::get('messages-sql', [MsgAnswersController::class, 'messages_sql'])->name('messages-sql');
225 225
226 /* 226 /*
227 * Расписанный подход в описании каждой директорий групп пользователей. 227 * Расписанный подход в описании каждой директорий групп пользователей.
228 */ 228 */
229 // кабинет - группы пользователей 229 // кабинет - группы пользователей
230 Route::get('groups', [GroupsController::class, 'index'])->name('groups'); 230 Route::get('groups', [GroupsController::class, 'index'])->name('groups');
231 // кабинет - добавление форма группы пользователей 231 // кабинет - добавление форма группы пользователей
232 Route::get('groups/add', [GroupsController::class, 'add'])->name('add-group'); 232 Route::get('groups/add', [GroupsController::class, 'add'])->name('add-group');
233 // кабинет - сохранение формы группы пользователей 233 // кабинет - сохранение формы группы пользователей
234 Route::post('groups/add', [GroupsController::class, 'store'])->name('add-group-store'); 234 Route::post('groups/add', [GroupsController::class, 'store'])->name('add-group-store');
235 // кабинет - редактирование форма группы пользователей 235 // кабинет - редактирование форма группы пользователей
236 Route::get('groups/edit/{group}', [GroupsController::class, 'edit'])->name('edit-group'); 236 Route::get('groups/edit/{group}', [GroupsController::class, 'edit'])->name('edit-group');
237 // кабинет - сохранение редактированной формы группы пользователей 237 // кабинет - сохранение редактированной формы группы пользователей
238 Route::post('groups/edit/{group}', [GroupsController::class, 'update'])->name('update-group'); 238 Route::post('groups/edit/{group}', [GroupsController::class, 'update'])->name('update-group');
239 // кабинет - удаление группы пользователей 239 // кабинет - удаление группы пользователей
240 Route::delete('groups/delete/{group}', [GroupsController::class, 'destroy'])->name('delete-group'); 240 Route::delete('groups/delete/{group}', [GroupsController::class, 'destroy'])->name('delete-group');
241 241
242 242
243 // кабинет - список админов 243 // кабинет - список админов
244 Route::get('group-admin', [AdminController::class, 'index'])->name('group-admin'); 244 Route::get('group-admin', [AdminController::class, 'index'])->name('group-admin');
245 245
246 246
247 /////редактор////// кабинет - редактор сайта//////////////////////// 247 /////редактор////// кабинет - редактор сайта////////////////////////
248 Route::get('editor-site', function() { 248 Route::get('editor-site', function() {
249 return view('admin.editor.index'); 249 return view('admin.editor.index');
250 })->name('editor-site'); 250 })->name('editor-site');
251 251
252 252
253 // кабинет - редактор шапки-футера сайта 253 // кабинет - редактор шапки-футера сайта
254 Route::get('edit-blocks', [CompanyController::class, 'editblocks'])->name('edit-blocks'); 254 Route::get('edit-blocks', [CompanyController::class, 'editblocks'])->name('edit-blocks');
255 Route::get('edit-bloks/add', [CompanyController::class, 'editblock_add'])->name('add-block'); 255 Route::get('edit-bloks/add', [CompanyController::class, 'editblock_add'])->name('add-block');
256 Route::post('edit-bloks/add', [CompanyController::class, 'editblock_store'])->name('add-block-store'); 256 Route::post('edit-bloks/add', [CompanyController::class, 'editblock_store'])->name('add-block-store');
257 Route::get('edit-bloks/ajax', [CompanyController::class, 'editblock_ajax'])->name('ajax.block'); 257 Route::get('edit-bloks/ajax', [CompanyController::class, 'editblock_ajax'])->name('ajax.block');
258 Route::get('edit-bloks/edit/{block}', [CompanyController::class, 'editblock_edit'])->name('edit-block'); 258 Route::get('edit-bloks/edit/{block}', [CompanyController::class, 'editblock_edit'])->name('edit-block');
259 Route::put('edit-bloks/edit/{block}', [CompanyController::class, 'editblock_update'])->name('update-block'); 259 Route::put('edit-bloks/edit/{block}', [CompanyController::class, 'editblock_update'])->name('update-block');
260 Route::delete('edit-bloks/delete/{block}', [CompanyController::class, 'editblock_destroy'])->name('delete-block'); 260 Route::delete('edit-bloks/delete/{block}', [CompanyController::class, 'editblock_destroy'])->name('delete-block');
261 261
262 262
263 // кабинет - редактор должности на главной 263 // кабинет - редактор должности на главной
264 Route::get('job-titles-main', [CompanyController::class, 'job_titles_main'])->name('job-titles-main'); 264 Route::get('job-titles-main', [CompanyController::class, 'job_titles_main'])->name('job-titles-main');
265 265
266 // кабинет - редактор работодатели на главной 266 // кабинет - редактор работодатели на главной
267 Route::get('employers-main', [CompanyController::class, 'employers_main'])->name('employers-main'); 267 Route::get('employers-main', [CompanyController::class, 'employers_main'])->name('employers-main');
268 268
269 269
270 // кабинет - редактор seo-сайта 270 // кабинет - редактор seo-сайта
271 Route::get('editor-seo', [CompanyController::class, 'editor_seo'])->name('editor-seo'); 271 Route::get('editor-seo', [CompanyController::class, 'editor_seo'])->name('editor-seo');
272 Route::get('editor-seo/add', [CompanyController::class, 'editor_seo_add'])->name('add-seo'); 272 Route::get('editor-seo/add', [CompanyController::class, 'editor_seo_add'])->name('add-seo');
273 Route::post('editor-seo/add', [CompanyController::class, 'editor_seo_store'])->name('add-seo-store'); 273 Route::post('editor-seo/add', [CompanyController::class, 'editor_seo_store'])->name('add-seo-store');
274 Route::get('editor-seo/ajax', [CompanyController::class, 'editor_seo_ajax'])->name('ajax.seo'); 274 Route::get('editor-seo/ajax', [CompanyController::class, 'editor_seo_ajax'])->name('ajax.seo');
275 Route::get('editor-seo/edit/{page}', [CompanyController::class, 'editor_seo_edit'])->name('edit-seo'); 275 Route::get('editor-seo/edit/{page}', [CompanyController::class, 'editor_seo_edit'])->name('edit-seo');
276 Route::put('editor-seo/edit/{page}', [CompanyController::class, 'editor_seo_update'])->name('update-seo'); 276 Route::put('editor-seo/edit/{page}', [CompanyController::class, 'editor_seo_update'])->name('update-seo');
277 Route::delete('editor-seo/delete/{page}', [CompanyController::class, 'editor_seo_destroy'])->name('delete-seo'); 277 Route::delete('editor-seo/delete/{page}', [CompanyController::class, 'editor_seo_destroy'])->name('delete-seo');
278 278
279 279
280 // кабинет - редактор страниц 280 // кабинет - редактор страниц
281 Route::get('editor-pages', [CompanyController::class, 'editor_pages'])->name('editor-pages'); 281 Route::get('editor-pages', [CompanyController::class, 'editor_pages'])->name('editor-pages');
282 // кабинет - добавление страницы 282 // кабинет - добавление страницы
283 Route::get('editor-pages/add', [CompanyController::class, 'editor_pages_add'])->name('add-page'); 283 Route::get('editor-pages/add', [CompanyController::class, 'editor_pages_add'])->name('add-page');
284 // кабинет - сохранение формы страницы 284 // кабинет - сохранение формы страницы
285 Route::post('editor-page/add', [CompanyController::class, 'editor_pages_store'])->name('add-page-store'); 285 Route::post('editor-page/add', [CompanyController::class, 'editor_pages_store'])->name('add-page-store');
286 // кабинет - редактирование форма страницы 286 // кабинет - редактирование форма страницы
287 Route::get('editor-pages/edit/{page}', [CompanyController::class, 'editor_pages_edit'])->name('edit-page'); 287 Route::get('editor-pages/edit/{page}', [CompanyController::class, 'editor_pages_edit'])->name('edit-page');
288 // кабинет - сохранение редактированной формы страницы 288 // кабинет - сохранение редактированной формы страницы
289 Route::put('editor-pages/edit/{page}', [CompanyController::class, 'editor_pages_update'])->name('update-page'); 289 Route::put('editor-pages/edit/{page}', [CompanyController::class, 'editor_pages_update'])->name('update-page');
290 // кабинет - удаление страницы 290 // кабинет - удаление страницы
291 Route::delete('editor-pages/delete/{page}', [CompanyController::class, 'editor_pages_destroy'])->name('delete-page'); 291 Route::delete('editor-pages/delete/{page}', [CompanyController::class, 'editor_pages_destroy'])->name('delete-page');
292 292
293 293
294 // кабинет - реклама сайта 294 // кабинет - реклама сайта
295 Route::get('reclames', [CompanyController::class, 'reclames'])->name('reclames'); 295 Route::get('reclames', [CompanyController::class, 'reclames'])->name('reclames');
296 Route::get('reclames/add', [CompanyController::class, 'reclames_add'])->name('add-reclames'); 296 Route::get('reclames/add', [CompanyController::class, 'reclames_add'])->name('add-reclames');
297 Route::post('reclames/add', [CompanyController::class, 'reclames_store'])->name('add-reclames-store'); 297 Route::post('reclames/add', [CompanyController::class, 'reclames_store'])->name('add-reclames-store');
298 Route::get('reclames/edit/{reclame}', [CompanyController::class, 'reclames_edit'])->name('edit-reclames'); 298 Route::get('reclames/edit/{reclame}', [CompanyController::class, 'reclames_edit'])->name('edit-reclames');
299 Route::put('reclames/edit/{reclame}', [CompanyController::class, 'reclames_update'])->name('update-reclames'); 299 Route::put('reclames/edit/{reclame}', [CompanyController::class, 'reclames_update'])->name('update-reclames');
300 Route::delete('reclames/delete/{reclame}', [CompanyController::class, 'reclames_destroy'])->name('delete-reclames'); 300 Route::delete('reclames/delete/{reclame}', [CompanyController::class, 'reclames_destroy'])->name('delete-reclames');
301 //////////////////////////////////////////////////////////////////////// 301 ////////////////////////////////////////////////////////////////////////
302 302
303 303
304 // кабинет - отзывы о работодателе для модерации 304 // кабинет - отзывы о работодателе для модерации
305 Route::get('answers', [EmployersController::class, 'answers'])->name('answers'); 305 Route::get('answers', [EmployersController::class, 'answers'])->name('answers');
306 306
307 // Общая страница статистики 307 // Общая страница статистики
308 Route::get('statics', function () { 308 Route::get('statics', function () {
309 return view('admin.static.index'); 309 return view('admin.static.index');
310 })->name('statics'); 310 })->name('statics');
311 311
312 // кабинет - статистика работников 312 // кабинет - статистика работников
313 Route::get('static-workers', [WorkersController::class, 'static_workers'])->name('static-workers'); 313 Route::get('static-workers', [WorkersController::class, 'static_workers'])->name('static-workers');
314 314
315 // кабинет - статистика вакансий работодателя 315 // кабинет - статистика вакансий работодателя
316 Route::get('static-ads', [EmployersController::class, 'static_ads'])->name('static-ads'); 316 Route::get('static-ads', [EmployersController::class, 'static_ads'])->name('static-ads');
317 317
318 // кабинет - справочник - блоки информации (дипломы и документы) для резюме работника 318 // кабинет - справочник - блоки информации (дипломы и документы) для резюме работника
319 /* 319 /*
320 * CRUD-операции над справочником дипломы и документы 320 * CRUD-операции над справочником дипломы и документы
321 */ 321 */
322 //Route::get('infobloks', [WorkersController::class, 'infobloks'])->name('infobloks'); 322 //Route::get('infobloks', [WorkersController::class, 'infobloks'])->name('infobloks');
323 Route::resource('infobloks', InfoBloksController::class, ['except' => ['show']]); 323 Route::resource('infobloks', InfoBloksController::class, ['except' => ['show']]);
324 324
325 // кабинет - роли пользователя 325 // кабинет - роли пользователя
326 Route::get('roles', [UsersController::class, 'roles'])->name('roles'); 326 Route::get('roles', [UsersController::class, 'roles'])->name('roles');
327 327
328 Route::get('logs', function() { 328 Route::get('logs', function() {
329 $files = Storage::files('logs/laravel.log'); 329 $files = Storage::files('logs/laravel.log');
330 print_r($files); 330 print_r($files);
331 })->name('logs'); 331 })->name('logs');
332 332
333 }); 333 });
334 334
335 Route::post('ckeditor/upload', [CKEditorController::class, 'upload'])->name('ckeditor.image-upload'); 335 Route::post('ckeditor/upload', [CKEditorController::class, 'upload'])->name('ckeditor.image-upload');
336 336
337 Route::get('pages/{pages:slug}', [PagesController::class, 'pages'])->name('page'); 337 Route::get('pages/{pages:slug}', [PagesController::class, 'pages'])->name('page');
338 338
339 Route::get('redis/', [PagesController::class, 'redis'])->name('redis'); 339 Route::get('redis/', [PagesController::class, 'redis'])->name('redis');
340 340