diff --git a/app/FileManagerFile.php b/app/FileManagerFile.php index 022c3047..31ff26ad 100644 --- a/app/FileManagerFile.php +++ b/app/FileManagerFile.php @@ -9,11 +9,10 @@ use Illuminate\Support\Str; use Laravel\Scout\Searchable; use TeamTNT\TNTSearch\Indexer\TNTIndexer; use \Illuminate\Database\Eloquent\SoftDeletes; -use \Askedio\SoftCascade\Traits\SoftCascadeTrait; class FileManagerFile extends Model { - use Searchable, SoftDeletes, SoftCascadeTrait; + use Searchable, SoftDeletes; protected $guarded = [ diff --git a/app/FileManagerFolder.php b/app/FileManagerFolder.php index 0a7fa78c..7a445acf 100644 --- a/app/FileManagerFolder.php +++ b/app/FileManagerFolder.php @@ -11,20 +11,15 @@ use RecursiveArrayIterator; use RecursiveIteratorIterator; use TeamTNT\TNTSearch\Indexer\TNTIndexer; use \Illuminate\Database\Eloquent\SoftDeletes; -use \Askedio\SoftCascade\Traits\SoftCascadeTrait; class FileManagerFolder extends Model { - use Searchable, SoftDeletes, SoftCascadeTrait; + use Searchable, SoftDeletes; protected $guarded = [ 'id' ]; - protected $softCascade = [ - 'children', 'files' - ]; - protected $appends = [ 'items', 'trashed_items' ]; @@ -116,7 +111,6 @@ class FileManagerFolder extends Model */ public function files() { - return $this->hasMany('App\FileManagerFile', 'folder_id', 'unique_id'); } @@ -178,9 +172,22 @@ class FileManagerFolder extends Model static::deleting(function ($item) { - $item->children()->each(function($folder) { - $folder->delete(); - }); + if ( $item->isForceDeleting() ) { + + $item->trashed_children()->each(function($folder) { + $folder->forceDelete(); + }); + + } else { + + $item->children()->each(function($folder) { + $folder->delete(); + }); + + $item->files()->each(function($file) { + $file->delete(); + }); + } }); static::restoring(function ($item) { @@ -196,4 +203,4 @@ class FileManagerFolder extends Model }); }); } -} +} \ No newline at end of file diff --git a/app/Http/Controllers/FileManagerController.php b/app/Http/Controllers/FileManagerController.php index 149e1be0..2a136c44 100644 --- a/app/Http/Controllers/FileManagerController.php +++ b/app/Http/Controllers/FileManagerController.php @@ -116,8 +116,12 @@ class FileManagerController extends Controller $user_id = Auth::id(); // Search files id db - $searched_files = FileManagerFile::search($request->input('query'))->where('user_id', $user_id)->get(); - $searched_folders = FileManagerFolder::search($request->input('query'))->where('user_id', $user_id)->get(); + $searched_files = FileManagerFile::search($request->input('query')) + ->where('user_id', $user_id) + ->get(); + $searched_folders = FileManagerFolder::search($request->input('query')) + ->where('user_id', $user_id) + ->get(); // Collect folders and files to single array return collect([$searched_folders, $searched_files])->collapse(); @@ -225,18 +229,27 @@ class FileManagerController extends Controller // Delete folder if ($request->type === 'folder') { - $item = FileManagerFolder::withTrashed() - ->with('folders') + // Get folder + $folder = FileManagerFolder::withTrashed() + ->with(['folders']) ->where('user_id', $user->id) ->where('unique_id', $request->unique_id) ->first(); - // Remove folder from user favourites - $user->favourites()->detach($request->unique_id); + // Force delete children files + if ($request->force_delete) { - foreach ($item->files as $file) { + // Get children folder ids + $child_folders = filter_folders_ids($folder->trashed_folders, 'unique_id'); - if ($request->force_delete) { + // Get children files + $files = FileManagerFile::onlyTrashed() + ->where('user_id', $user->id) + ->whereIn('folder_id', Arr::flatten([$request->unique_id, $child_folders])) + ->get(); + + // Remove all children files + foreach ($files as $file) { // Delete file Storage::disk('local')->delete('/file-manager/' . $file->basename); @@ -246,26 +259,22 @@ class FileManagerController extends Controller // Delete file permanently $file->forceDelete(); - } else { - - // Delete file from visibility - $file->delete(); } - } - // Delete record - if ($request->force_delete) { + // Delete folder record + $folder->forceDelete(); - $item->forceDelete(); } else { - $item->delete(); + // Remove folder from user favourites + $user->favourites()->detach($request->unique_id); + + // Soft delete folder record + $folder->delete(); } - } + } else { - if ($request->type === 'file' || $request->type === 'image') { - - $item = FileManagerFile::withTrashed() + $file = FileManagerFile::withTrashed() ->where('user_id', $user->id) ->where('unique_id', $request->unique_id) ->first(); @@ -273,17 +282,17 @@ class FileManagerController extends Controller if ($request->force_delete) { // Delete file - Storage::disk('local')->delete('/file-manager/' . $item->basename); + Storage::disk('local')->delete('/file-manager/' . $file->basename); // Delete thumbnail if exist - if (!is_null($item->thumbnail)) Storage::disk('local')->delete('/file-manager/' . $item->thumbnail); + if ($file->thumbnail) Storage::disk('local')->delete('/file-manager/' . $file->getOriginal('thumbnail')); // Delete file permanently - $item->forceDelete(); + $file->forceDelete(); } else { - // Delete file from visibility - $item->delete(); + // Soft delete file + $file->delete(); } } } @@ -302,9 +311,21 @@ class FileManagerController extends Controller $folders = FileManagerFolder::onlyTrashed()->where('user_id', $user_id)->get(); $files = FileManagerFile::onlyTrashed()->where('user_id', $user_id)->get(); - // Force delete every item + // Force delete folder $folders->each->forceDelete(); - $files->each->forceDelete(); + + // Force delete files + foreach ($files as $file) { + + // Delete file + Storage::disk('local')->delete('/file-manager/' . $file->basename); + + // Delete thumbnail if exist + if ($file->thumbnail) Storage::disk('local')->delete('/file-manager/' . $file->getOriginal('thumbnail')); + + // Delete file permanently + $file->forceDelete(); + } // Return response return response('Done!', 200); @@ -341,10 +362,7 @@ class FileManagerController extends Controller $item->parent_id = 0; $item->save(); } - } - - // Get file - if ($request->type === 'file' || $request->type === 'image') { + } else { // Get item $item = FileManagerFile::onlyTrashed()->where('user_id', $user_id)->where('unique_id', $request->unique_id)->first(); @@ -360,45 +378,6 @@ class FileManagerController extends Controller $item->restore(); } - /** - * Delete Item - * - * @param Request $request - */ - public function delete_items(Request $request) - { - // Validate request - $validator = Validator::make($request->all(), [ - 'items' => 'required|json', - ]); - - // Return error - if ($validator->fails()) abort(400, 'Bad input'); - - foreach ($request->input('items') as $file) { - - if ($file['type'] === 'file' || $file['type'] === 'image') { - - $item = FileManagerFile::where('unique_id', $file['unique_id'])->first(); - - } else { - - $item = FileManagerFolder::where('unique_id', $file['unique_id'])->first(); - } - - // Delete file - Storage::disk('local')->delete('/file-manager/' . $item->basename); - - // Delete thumbnail if exist - if (!is_null($item->thumbnail)) { - Storage::disk('local')->delete('/file-manager/' . $item->thumbnail); - } - - // Permanently delete file - $item->forceDelete(); - } - } - /** * Upload items * @@ -442,7 +421,7 @@ class FileManagerController extends Controller Storage::disk('local')->putFileAs($directory, $file, $filename, 'public'); // Create image thumbnail - if ( $filetype == 'image' ) { + if ($filetype == 'image') { $thumbnail = 'thumbnail-' . $filename; @@ -620,4 +599,4 @@ class FileManagerController extends Controller return $unique_id; } -} +} \ No newline at end of file diff --git a/app/Http/Controllers/FileSharingController.php b/app/Http/Controllers/FileSharingController.php new file mode 100644 index 00000000..cc10e7fd --- /dev/null +++ b/app/Http/Controllers/FileSharingController.php @@ -0,0 +1,30 @@ +all(); + } +} diff --git a/composer.json b/composer.json index b32114aa..0499c2f8 100644 --- a/composer.json +++ b/composer.json @@ -9,7 +9,6 @@ "license": "MIT", "require": { "php": "^7.2", - "askedio/laravel-soft-cascade": "^6.0", "doctrine/dbal": "^2.10", "fideloper/proxy": "^4.0", "fruitcake/laravel-cors": "^1.0", diff --git a/public/mix-manifest.json b/public/mix-manifest.json index c3146409..3a4fc1bf 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,217 +1,160 @@ { "/js/main.js": "/js/main.js", "/css/app.css": "/css/app.css", - "/js/main.b11d3c337dcbe36de92d.hot-update.js": "/js/main.b11d3c337dcbe36de92d.hot-update.js", - "/js/main.30de75440af7c882f1a6.hot-update.js": "/js/main.30de75440af7c882f1a6.hot-update.js", - "/js/main.dd76ca2f4f2e44b89e28.hot-update.js": "/js/main.dd76ca2f4f2e44b89e28.hot-update.js", - "/js/main.efe95c75e3dc04fda73e.hot-update.js": "/js/main.efe95c75e3dc04fda73e.hot-update.js", - "/js/main.b2921e5ff3050aa390ce.hot-update.js": "/js/main.b2921e5ff3050aa390ce.hot-update.js", - "/js/main.a4123c79b197780e3ade.hot-update.js": "/js/main.a4123c79b197780e3ade.hot-update.js", - "/js/main.03410e4c21da6f93734b.hot-update.js": "/js/main.03410e4c21da6f93734b.hot-update.js", - "/js/main.1593b10ba86b3c716d71.hot-update.js": "/js/main.1593b10ba86b3c716d71.hot-update.js", - "/js/main.22d8df3e92baf3fce90e.hot-update.js": "/js/main.22d8df3e92baf3fce90e.hot-update.js", - "/js/main.ac0bf715cad6262cd972.hot-update.js": "/js/main.ac0bf715cad6262cd972.hot-update.js", - "/js/main.c80c1dc635621381471d.hot-update.js": "/js/main.c80c1dc635621381471d.hot-update.js", - "/js/main.da6ee16f2dc02b63b0a4.hot-update.js": "/js/main.da6ee16f2dc02b63b0a4.hot-update.js", - "/js/main.cf7b74318c538b7712f4.hot-update.js": "/js/main.cf7b74318c538b7712f4.hot-update.js", - "/js/main.fd2d817f27f919390b48.hot-update.js": "/js/main.fd2d817f27f919390b48.hot-update.js", - "/js/main.1c8848af67829d4713b3.hot-update.js": "/js/main.1c8848af67829d4713b3.hot-update.js", - "/js/main.0fa0f809d8ddc549f097.hot-update.js": "/js/main.0fa0f809d8ddc549f097.hot-update.js", - "/js/main.e2f2102015c35aef9578.hot-update.js": "/js/main.e2f2102015c35aef9578.hot-update.js", - "/js/main.a8d912e21dda9b5e0a0a.hot-update.js": "/js/main.a8d912e21dda9b5e0a0a.hot-update.js", - "/js/main.12b8cef7186b82cd87ae.hot-update.js": "/js/main.12b8cef7186b82cd87ae.hot-update.js", - "/js/main.1a811cd94065c796f08c.hot-update.js": "/js/main.1a811cd94065c796f08c.hot-update.js", - "/js/main.aaea667ba4e9ff4889c5.hot-update.js": "/js/main.aaea667ba4e9ff4889c5.hot-update.js", - "/js/main.e1c1ec69ee1f0d2b7611.hot-update.js": "/js/main.e1c1ec69ee1f0d2b7611.hot-update.js", - "/js/main.0b0dd15fedb075bc0d00.hot-update.js": "/js/main.0b0dd15fedb075bc0d00.hot-update.js", - "/js/main.549d8172379f7c6ab028.hot-update.js": "/js/main.549d8172379f7c6ab028.hot-update.js", - "/js/main.7792632bf76683ef4588.hot-update.js": "/js/main.7792632bf76683ef4588.hot-update.js", - "/js/main.86940367851defcb1bac.hot-update.js": "/js/main.86940367851defcb1bac.hot-update.js", - "/js/main.87f74b80f2503a0d728c.hot-update.js": "/js/main.87f74b80f2503a0d728c.hot-update.js", - "/js/main.3ebaa3668f23c6e26548.hot-update.js": "/js/main.3ebaa3668f23c6e26548.hot-update.js", - "/js/main.15057417af28b6c6d6ff.hot-update.js": "/js/main.15057417af28b6c6d6ff.hot-update.js", - "/js/main.2e7c576dbf2e7503b8ef.hot-update.js": "/js/main.2e7c576dbf2e7503b8ef.hot-update.js", - "/js/main.47f584845c3310757ea5.hot-update.js": "/js/main.47f584845c3310757ea5.hot-update.js", - "/js/main.6f7b50d4c52af64a51c2.hot-update.js": "/js/main.6f7b50d4c52af64a51c2.hot-update.js", - "/js/main.265e3ed2100aeb1cfff9.hot-update.js": "/js/main.265e3ed2100aeb1cfff9.hot-update.js", - "/js/main.a1cdd1c29ccf399b7141.hot-update.js": "/js/main.a1cdd1c29ccf399b7141.hot-update.js", - "/js/main.49bbabe613088b451c19.hot-update.js": "/js/main.49bbabe613088b451c19.hot-update.js", - "/js/main.3629824777dab206f9ee.hot-update.js": "/js/main.3629824777dab206f9ee.hot-update.js", - "/js/main.f61e6adbbe20e94ca550.hot-update.js": "/js/main.f61e6adbbe20e94ca550.hot-update.js", - "/js/main.2ee91f5e4302b51c0279.hot-update.js": "/js/main.2ee91f5e4302b51c0279.hot-update.js", - "/js/main.3f8e72c90f8f9bc89569.hot-update.js": "/js/main.3f8e72c90f8f9bc89569.hot-update.js", - "/js/main.d0a86f9a8cb2e673cf37.hot-update.js": "/js/main.d0a86f9a8cb2e673cf37.hot-update.js", - "/js/main.d0bc3040ff8aa0112594.hot-update.js": "/js/main.d0bc3040ff8aa0112594.hot-update.js", - "/js/main.26dc29e6caa621492b9d.hot-update.js": "/js/main.26dc29e6caa621492b9d.hot-update.js", - "/js/main.94a0a85c82278f47e6d0.hot-update.js": "/js/main.94a0a85c82278f47e6d0.hot-update.js", - "/js/main.c1f1327a107c7e877d26.hot-update.js": "/js/main.c1f1327a107c7e877d26.hot-update.js", - "/js/main.559481d20fb86a3590a6.hot-update.js": "/js/main.559481d20fb86a3590a6.hot-update.js", - "/js/main.5c9789988c31fd602b79.hot-update.js": "/js/main.5c9789988c31fd602b79.hot-update.js", - "/js/main.bc6cf3eca8ac4df9adc9.hot-update.js": "/js/main.bc6cf3eca8ac4df9adc9.hot-update.js", - "/js/main.b8c00841ae4b474b6a60.hot-update.js": "/js/main.b8c00841ae4b474b6a60.hot-update.js", - "/js/main.bd599b3896c244b6bef8.hot-update.js": "/js/main.bd599b3896c244b6bef8.hot-update.js", - "/js/main.2e36d672614a2914e23c.hot-update.js": "/js/main.2e36d672614a2914e23c.hot-update.js", - "/js/main.efdcc9d7e9c18a7d1cca.hot-update.js": "/js/main.efdcc9d7e9c18a7d1cca.hot-update.js", - "/js/main.c3f805fddf6ec0cbbb89.hot-update.js": "/js/main.c3f805fddf6ec0cbbb89.hot-update.js", - "/js/main.f0010dfcc8c31d3983c4.hot-update.js": "/js/main.f0010dfcc8c31d3983c4.hot-update.js", - "/js/main.4d8045b6b3778a4ffeb1.hot-update.js": "/js/main.4d8045b6b3778a4ffeb1.hot-update.js", - "/js/main.63238fe535516168d1e7.hot-update.js": "/js/main.63238fe535516168d1e7.hot-update.js", - "/js/main.b7a962e7b5a90c9e579d.hot-update.js": "/js/main.b7a962e7b5a90c9e579d.hot-update.js", - "/js/main.76e8ea5fa9f6362843f4.hot-update.js": "/js/main.76e8ea5fa9f6362843f4.hot-update.js", - "/js/main.c8046fb0c18ae8914591.hot-update.js": "/js/main.c8046fb0c18ae8914591.hot-update.js", - "/js/main.56a0bedf8508feb6dcd1.hot-update.js": "/js/main.56a0bedf8508feb6dcd1.hot-update.js", - "/js/main.45f799303e37fe182724.hot-update.js": "/js/main.45f799303e37fe182724.hot-update.js", - "/js/main.d87252dc4e16fcb8bc96.hot-update.js": "/js/main.d87252dc4e16fcb8bc96.hot-update.js", - "/js/main.ff82fb4dbf064fdd1911.hot-update.js": "/js/main.ff82fb4dbf064fdd1911.hot-update.js", - "/js/main.c6edce5f0759812ca8c7.hot-update.js": "/js/main.c6edce5f0759812ca8c7.hot-update.js", - "/js/main.80d40749e6b1bc770e96.hot-update.js": "/js/main.80d40749e6b1bc770e96.hot-update.js", - "/js/main.4cafd635a783e9702759.hot-update.js": "/js/main.4cafd635a783e9702759.hot-update.js", - "/js/main.159c429673622ebaa505.hot-update.js": "/js/main.159c429673622ebaa505.hot-update.js", - "/js/main.4d4ae0fe9c2255751bb3.hot-update.js": "/js/main.4d4ae0fe9c2255751bb3.hot-update.js", - "/js/main.3e60eec6d7f085ff9225.hot-update.js": "/js/main.3e60eec6d7f085ff9225.hot-update.js", - "/js/main.729555b6d04375fd4a8a.hot-update.js": "/js/main.729555b6d04375fd4a8a.hot-update.js", - "/js/main.dcbfd3cb4fec88c42272.hot-update.js": "/js/main.dcbfd3cb4fec88c42272.hot-update.js", - "/js/main.e1584ef8bce01d005b28.hot-update.js": "/js/main.e1584ef8bce01d005b28.hot-update.js", - "/js/main.76e6657c065ab87d5326.hot-update.js": "/js/main.76e6657c065ab87d5326.hot-update.js", - "/js/main.2a6301937a1f4a05986a.hot-update.js": "/js/main.2a6301937a1f4a05986a.hot-update.js", - "/js/main.5dc207685cdfd4232d6c.hot-update.js": "/js/main.5dc207685cdfd4232d6c.hot-update.js", - "/js/main.d87c42a5eae1eed09b9f.hot-update.js": "/js/main.d87c42a5eae1eed09b9f.hot-update.js", - "/js/main.5065c095791a58f08388.hot-update.js": "/js/main.5065c095791a58f08388.hot-update.js", - "/js/main.ae9c1527836164e6221f.hot-update.js": "/js/main.ae9c1527836164e6221f.hot-update.js", - "/js/main.64a5249c19f287d3d9f5.hot-update.js": "/js/main.64a5249c19f287d3d9f5.hot-update.js", - "/js/main.649b1010030c522abafd.hot-update.js": "/js/main.649b1010030c522abafd.hot-update.js", - "/js/main.c0a2c9b1daac8ce0f3d0.hot-update.js": "/js/main.c0a2c9b1daac8ce0f3d0.hot-update.js", - "/js/main.972d9ef69861ee475711.hot-update.js": "/js/main.972d9ef69861ee475711.hot-update.js", - "/js/main.c32dea75a0e744ee5f94.hot-update.js": "/js/main.c32dea75a0e744ee5f94.hot-update.js", - "/js/main.27ed4923387fde8852c0.hot-update.js": "/js/main.27ed4923387fde8852c0.hot-update.js", - "/js/main.b781ce03cd18bb1d9d5e.hot-update.js": "/js/main.b781ce03cd18bb1d9d5e.hot-update.js", - "/js/main.28a9f4094f796095da8b.hot-update.js": "/js/main.28a9f4094f796095da8b.hot-update.js", - "/js/main.c68844e921f5789877d2.hot-update.js": "/js/main.c68844e921f5789877d2.hot-update.js", - "/js/main.f44d6bffeb4bae9b7fcb.hot-update.js": "/js/main.f44d6bffeb4bae9b7fcb.hot-update.js", - "/js/main.06a4ffee2720e4f15696.hot-update.js": "/js/main.06a4ffee2720e4f15696.hot-update.js", - "/js/main.d9eb5e7ec061ebbfe5c4.hot-update.js": "/js/main.d9eb5e7ec061ebbfe5c4.hot-update.js", - "/js/main.9138c4a10256e728b68b.hot-update.js": "/js/main.9138c4a10256e728b68b.hot-update.js", - "/js/main.7b061ee41f753b148fbd.hot-update.js": "/js/main.7b061ee41f753b148fbd.hot-update.js", - "/js/main.38d6a637176f773c8985.hot-update.js": "/js/main.38d6a637176f773c8985.hot-update.js", - "/js/main.70944d4f89514e3effee.hot-update.js": "/js/main.70944d4f89514e3effee.hot-update.js", - "/js/main.40c67fc38208df539d4c.hot-update.js": "/js/main.40c67fc38208df539d4c.hot-update.js", - "/js/main.6f7ed9c50316e7523474.hot-update.js": "/js/main.6f7ed9c50316e7523474.hot-update.js", - "/js/main.545a2398e13034f72d5d.hot-update.js": "/js/main.545a2398e13034f72d5d.hot-update.js", - "/js/main.efdaad340c2eaf7fefa8.hot-update.js": "/js/main.efdaad340c2eaf7fefa8.hot-update.js", - "/js/main.4405e058ab82bd702872.hot-update.js": "/js/main.4405e058ab82bd702872.hot-update.js", - "/js/main.f95ffc2b0acc559669a1.hot-update.js": "/js/main.f95ffc2b0acc559669a1.hot-update.js", - "/js/main.b9e8c22f30099babdfcf.hot-update.js": "/js/main.b9e8c22f30099babdfcf.hot-update.js", - "/js/main.28c69286fc5bbd88176b.hot-update.js": "/js/main.28c69286fc5bbd88176b.hot-update.js", - "/js/main.5558aa165c02e9c36faa.hot-update.js": "/js/main.5558aa165c02e9c36faa.hot-update.js", - "/js/main.4681acdd50e76b32b9df.hot-update.js": "/js/main.4681acdd50e76b32b9df.hot-update.js", - "/js/main.562dc5f8d4b3a6326e2d.hot-update.js": "/js/main.562dc5f8d4b3a6326e2d.hot-update.js", - "/js/main.066e6206fb05b11e1f53.hot-update.js": "/js/main.066e6206fb05b11e1f53.hot-update.js", - "/js/main.74bc2e901432b3328d55.hot-update.js": "/js/main.74bc2e901432b3328d55.hot-update.js", - "/js/main.6e57009fbf2f7ace0a7d.hot-update.js": "/js/main.6e57009fbf2f7ace0a7d.hot-update.js", - "/js/main.f373c159b86b501322a6.hot-update.js": "/js/main.f373c159b86b501322a6.hot-update.js", - "/js/main.ecc10091727a02da6a9c.hot-update.js": "/js/main.ecc10091727a02da6a9c.hot-update.js", - "/js/main.adc54d65eed9e5c61556.hot-update.js": "/js/main.adc54d65eed9e5c61556.hot-update.js", - "/js/main.c01bb771108f9c646020.hot-update.js": "/js/main.c01bb771108f9c646020.hot-update.js", - "/js/main.6593cd8c148a84646c33.hot-update.js": "/js/main.6593cd8c148a84646c33.hot-update.js", - "/js/main.33234ee70a9719fb2579.hot-update.js": "/js/main.33234ee70a9719fb2579.hot-update.js", - "/js/main.ed594c8318b95e885daf.hot-update.js": "/js/main.ed594c8318b95e885daf.hot-update.js", - "/js/main.dcac8a3e2cf929ff4a94.hot-update.js": "/js/main.dcac8a3e2cf929ff4a94.hot-update.js", - "/js/main.e0dd196c2d6dbc12b1cc.hot-update.js": "/js/main.e0dd196c2d6dbc12b1cc.hot-update.js", - "/js/main.b4889018e0728536d393.hot-update.js": "/js/main.b4889018e0728536d393.hot-update.js", - "/js/main.d06f2e10dcca2d1fd48b.hot-update.js": "/js/main.d06f2e10dcca2d1fd48b.hot-update.js", - "/js/main.8acb4fb977f37099e6a9.hot-update.js": "/js/main.8acb4fb977f37099e6a9.hot-update.js", - "/js/main.733284992c576b1d4857.hot-update.js": "/js/main.733284992c576b1d4857.hot-update.js", - "/js/main.0953370e9bc3130d11ba.hot-update.js": "/js/main.0953370e9bc3130d11ba.hot-update.js", - "/js/main.4ec217ab92f02f6b3808.hot-update.js": "/js/main.4ec217ab92f02f6b3808.hot-update.js", - "/js/main.2ba1fae1f9083614ad8c.hot-update.js": "/js/main.2ba1fae1f9083614ad8c.hot-update.js", - "/js/main.2ffb560768c76cbceb47.hot-update.js": "/js/main.2ffb560768c76cbceb47.hot-update.js", - "/js/main.ae152ee74174b7c61919.hot-update.js": "/js/main.ae152ee74174b7c61919.hot-update.js", - "/js/main.e807166c583485b287f4.hot-update.js": "/js/main.e807166c583485b287f4.hot-update.js", - "/js/main.f5d0806be3ea5a7fb07b.hot-update.js": "/js/main.f5d0806be3ea5a7fb07b.hot-update.js", - "/js/main.27671330e1991c634a33.hot-update.js": "/js/main.27671330e1991c634a33.hot-update.js", - "/js/main.641b4556506c6b97286d.hot-update.js": "/js/main.641b4556506c6b97286d.hot-update.js", - "/js/main.0962b36d9c473537d2d4.hot-update.js": "/js/main.0962b36d9c473537d2d4.hot-update.js", - "/js/main.16bcaf0e1165ef3fc23d.hot-update.js": "/js/main.16bcaf0e1165ef3fc23d.hot-update.js", - "/js/main.f48ba321f0d840249a4a.hot-update.js": "/js/main.f48ba321f0d840249a4a.hot-update.js", - "/js/main.7b57598614a7f8aa8d97.hot-update.js": "/js/main.7b57598614a7f8aa8d97.hot-update.js", - "/js/main.9e93e203f69daceb8e4d.hot-update.js": "/js/main.9e93e203f69daceb8e4d.hot-update.js", - "/js/main.8b5a75a61d01d67371d0.hot-update.js": "/js/main.8b5a75a61d01d67371d0.hot-update.js", - "/js/main.61561f638b169a63c4c3.hot-update.js": "/js/main.61561f638b169a63c4c3.hot-update.js", - "/js/main.f2ed949ef8596b9b9eae.hot-update.js": "/js/main.f2ed949ef8596b9b9eae.hot-update.js", - "/js/main.2aaaeac0077d05ee844c.hot-update.js": "/js/main.2aaaeac0077d05ee844c.hot-update.js", - "/js/main.6ecca9cb2b4220a353d0.hot-update.js": "/js/main.6ecca9cb2b4220a353d0.hot-update.js", - "/js/main.ccc950ff1c199f694651.hot-update.js": "/js/main.ccc950ff1c199f694651.hot-update.js", - "/js/main.1cfc1f5ab8663c7bb239.hot-update.js": "/js/main.1cfc1f5ab8663c7bb239.hot-update.js", - "/js/main.16c9de12186cd01066fe.hot-update.js": "/js/main.16c9de12186cd01066fe.hot-update.js", - "/js/main.d823beda1b1570be851d.hot-update.js": "/js/main.d823beda1b1570be851d.hot-update.js", - "/js/main.eeb0ffd23c5df9eb221e.hot-update.js": "/js/main.eeb0ffd23c5df9eb221e.hot-update.js", - "/js/main.5e7e600792bb71b7db68.hot-update.js": "/js/main.5e7e600792bb71b7db68.hot-update.js", - "/js/main.e1d4c929ab4f8b777d47.hot-update.js": "/js/main.e1d4c929ab4f8b777d47.hot-update.js", - "/js/main.45f7944bb3af35922c64.hot-update.js": "/js/main.45f7944bb3af35922c64.hot-update.js", - "/js/main.89989cef2a8d1eb393f1.hot-update.js": "/js/main.89989cef2a8d1eb393f1.hot-update.js", - "/js/main.4971dfeda8fda570d2fa.hot-update.js": "/js/main.4971dfeda8fda570d2fa.hot-update.js", - "/js/main.7e430f3a435737227103.hot-update.js": "/js/main.7e430f3a435737227103.hot-update.js", - "/js/main.8d06bacc4373bd3cca5f.hot-update.js": "/js/main.8d06bacc4373bd3cca5f.hot-update.js", - "/js/main.193bbf6cb7a0cbaf3705.hot-update.js": "/js/main.193bbf6cb7a0cbaf3705.hot-update.js", - "/js/main.fbab26416a02c186c906.hot-update.js": "/js/main.fbab26416a02c186c906.hot-update.js", - "/js/main.000b68c1b5279e3d418b.hot-update.js": "/js/main.000b68c1b5279e3d418b.hot-update.js", - "/js/main.cc3e70b1fa1b8bfc7f21.hot-update.js": "/js/main.cc3e70b1fa1b8bfc7f21.hot-update.js", - "/js/main.5e36ed4ac236566fc1ef.hot-update.js": "/js/main.5e36ed4ac236566fc1ef.hot-update.js", - "/js/main.874c9b2920b24f744f37.hot-update.js": "/js/main.874c9b2920b24f744f37.hot-update.js", - "/js/main.5532d50ebe0577822aa0.hot-update.js": "/js/main.5532d50ebe0577822aa0.hot-update.js", - "/js/main.890ae7e6f9143a263bcd.hot-update.js": "/js/main.890ae7e6f9143a263bcd.hot-update.js", - "/js/main.52a6f58edde8fcc06a56.hot-update.js": "/js/main.52a6f58edde8fcc06a56.hot-update.js", - "/js/main.a9710a976ccdf0ef75ec.hot-update.js": "/js/main.a9710a976ccdf0ef75ec.hot-update.js", - "/js/main.7c116a2375fb6011c0df.hot-update.js": "/js/main.7c116a2375fb6011c0df.hot-update.js", - "/js/main.8bf61630c11938aa868a.hot-update.js": "/js/main.8bf61630c11938aa868a.hot-update.js", - "/js/main.6a65ae1a508c784cef20.hot-update.js": "/js/main.6a65ae1a508c784cef20.hot-update.js", - "/js/main.780e4703e1c4eef0224a.hot-update.js": "/js/main.780e4703e1c4eef0224a.hot-update.js", - "/js/main.915aac92a42985ed75d9.hot-update.js": "/js/main.915aac92a42985ed75d9.hot-update.js", - "/js/main.0ed70fed65b100346771.hot-update.js": "/js/main.0ed70fed65b100346771.hot-update.js", - "/js/main.b5823ed93ed9ab9584a2.hot-update.js": "/js/main.b5823ed93ed9ab9584a2.hot-update.js", - "/js/main.059e7929ca5a3aaf71aa.hot-update.js": "/js/main.059e7929ca5a3aaf71aa.hot-update.js", - "/js/main.64f79855bd9b00f7bcfd.hot-update.js": "/js/main.64f79855bd9b00f7bcfd.hot-update.js", - "/js/main.fb1320b8883c557e5e92.hot-update.js": "/js/main.fb1320b8883c557e5e92.hot-update.js", - "/js/main.e55d30d37707a3fa23f2.hot-update.js": "/js/main.e55d30d37707a3fa23f2.hot-update.js", - "/js/main.f9ffa503d13670e554c2.hot-update.js": "/js/main.f9ffa503d13670e554c2.hot-update.js", - "/js/main.2b98e2a5ed1bfa7b6e5e.hot-update.js": "/js/main.2b98e2a5ed1bfa7b6e5e.hot-update.js", - "/js/main.3e07bec6d4786727259e.hot-update.js": "/js/main.3e07bec6d4786727259e.hot-update.js", - "/js/main.a06a96f7eb0659afae56.hot-update.js": "/js/main.a06a96f7eb0659afae56.hot-update.js", - "/js/main.8d6337331ed349f2c8ef.hot-update.js": "/js/main.8d6337331ed349f2c8ef.hot-update.js", - "/js/main.e8d22bd65491d1fbc68a.hot-update.js": "/js/main.e8d22bd65491d1fbc68a.hot-update.js", - "/js/main.86a0433aa86e090d18ea.hot-update.js": "/js/main.86a0433aa86e090d18ea.hot-update.js", - "/js/main.5c8a7a29efa889c4e53b.hot-update.js": "/js/main.5c8a7a29efa889c4e53b.hot-update.js", - "/js/main.54efaf1fc562b7272951.hot-update.js": "/js/main.54efaf1fc562b7272951.hot-update.js", - "/js/main.4ff7195cb661704a1b81.hot-update.js": "/js/main.4ff7195cb661704a1b81.hot-update.js", - "/js/main.f71c27e89fb68d825c05.hot-update.js": "/js/main.f71c27e89fb68d825c05.hot-update.js", - "/js/main.194897f06249fb3f9962.hot-update.js": "/js/main.194897f06249fb3f9962.hot-update.js", - "/js/main.2c809a243eb4077162c7.hot-update.js": "/js/main.2c809a243eb4077162c7.hot-update.js", - "/js/main.1713b0f495c5d9d53546.hot-update.js": "/js/main.1713b0f495c5d9d53546.hot-update.js", - "/js/main.86ad2ff758d49f076ab1.hot-update.js": "/js/main.86ad2ff758d49f076ab1.hot-update.js", - "/js/main.419fc5ba2f8ecd16d39b.hot-update.js": "/js/main.419fc5ba2f8ecd16d39b.hot-update.js", - "/js/main.b538a683b679ff610516.hot-update.js": "/js/main.b538a683b679ff610516.hot-update.js", - "/js/main.0180cddd1715177635a7.hot-update.js": "/js/main.0180cddd1715177635a7.hot-update.js", - "/js/main.e926ded105d4c8b8efa0.hot-update.js": "/js/main.e926ded105d4c8b8efa0.hot-update.js", - "/js/main.3a536043ccdac53259d7.hot-update.js": "/js/main.3a536043ccdac53259d7.hot-update.js", - "/js/main.1e594e2adeeb7d5aa159.hot-update.js": "/js/main.1e594e2adeeb7d5aa159.hot-update.js", - "/js/main.f169e12ff8c4c10c509e.hot-update.js": "/js/main.f169e12ff8c4c10c509e.hot-update.js", - "/js/main.14147eeb76496b2cf4b4.hot-update.js": "/js/main.14147eeb76496b2cf4b4.hot-update.js", - "/js/main.3012dd5ecb02053093a5.hot-update.js": "/js/main.3012dd5ecb02053093a5.hot-update.js", - "/js/main.c14ef7924e4d0633c57b.hot-update.js": "/js/main.c14ef7924e4d0633c57b.hot-update.js", - "/js/main.c4927541644c755c14a4.hot-update.js": "/js/main.c4927541644c755c14a4.hot-update.js", - "/js/main.f00bcadde0f4c0441e5f.hot-update.js": "/js/main.f00bcadde0f4c0441e5f.hot-update.js", - "/js/main.a18e5a41067654213bcc.hot-update.js": "/js/main.a18e5a41067654213bcc.hot-update.js", - "/js/main.4b71496f1726c4006220.hot-update.js": "/js/main.4b71496f1726c4006220.hot-update.js", - "/js/main.79cfe2ae4a91cb940443.hot-update.js": "/js/main.79cfe2ae4a91cb940443.hot-update.js", - "/js/main.b38ec9ea3080c0b28f7b.hot-update.js": "/js/main.b38ec9ea3080c0b28f7b.hot-update.js", - "/js/main.522b7bd36270d98ca048.hot-update.js": "/js/main.522b7bd36270d98ca048.hot-update.js", - "/js/main.228cb36baa0c7b8e63f2.hot-update.js": "/js/main.228cb36baa0c7b8e63f2.hot-update.js", - "/js/main.1f8e416264c7b9d2ec41.hot-update.js": "/js/main.1f8e416264c7b9d2ec41.hot-update.js", - "/js/main.2226db028adde092f1d8.hot-update.js": "/js/main.2226db028adde092f1d8.hot-update.js", - "/js/main.27dfc30ba2c13d0b0b5c.hot-update.js": "/js/main.27dfc30ba2c13d0b0b5c.hot-update.js", - "/js/main.7e85d952d00d3346022a.hot-update.js": "/js/main.7e85d952d00d3346022a.hot-update.js", - "/js/main.e4a8de968ec92614dd63.hot-update.js": "/js/main.e4a8de968ec92614dd63.hot-update.js", - "/js/main.cb34728e0343ee07f04a.hot-update.js": "/js/main.cb34728e0343ee07f04a.hot-update.js", - "/js/main.1ac34f41e25905226a04.hot-update.js": "/js/main.1ac34f41e25905226a04.hot-update.js", - "/js/main.0cd80fb1e2a926ba3037.hot-update.js": "/js/main.0cd80fb1e2a926ba3037.hot-update.js" + "/js/main.45b2667847dcbcbacd6c.hot-update.js": "/js/main.45b2667847dcbcbacd6c.hot-update.js", + "/js/main.62c5cc2efcbf0d1f3d41.hot-update.js": "/js/main.62c5cc2efcbf0d1f3d41.hot-update.js", + "/js/main.f5178d917441e5670da1.hot-update.js": "/js/main.f5178d917441e5670da1.hot-update.js", + "/js/main.e19949b4ab90da976bbe.hot-update.js": "/js/main.e19949b4ab90da976bbe.hot-update.js", + "/js/main.960ccae31fd3ed497280.hot-update.js": "/js/main.960ccae31fd3ed497280.hot-update.js", + "/js/main.406ceecb66439f3f666b.hot-update.js": "/js/main.406ceecb66439f3f666b.hot-update.js", + "/js/main.a2fcc113dfe5c7f6e92e.hot-update.js": "/js/main.a2fcc113dfe5c7f6e92e.hot-update.js", + "/js/main.9ca13a12526522d88362.hot-update.js": "/js/main.9ca13a12526522d88362.hot-update.js", + "/js/main.c229b6a816917bebb5b5.hot-update.js": "/js/main.c229b6a816917bebb5b5.hot-update.js", + "/js/main.21c162035729fed110ca.hot-update.js": "/js/main.21c162035729fed110ca.hot-update.js", + "/js/main.40a17d8faff3f17c1c92.hot-update.js": "/js/main.40a17d8faff3f17c1c92.hot-update.js", + "/js/main.ed521bbc6a64cb55c015.hot-update.js": "/js/main.ed521bbc6a64cb55c015.hot-update.js", + "/js/main.532b35d72123575de690.hot-update.js": "/js/main.532b35d72123575de690.hot-update.js", + "/js/main.0dbc01ade0f34310012e.hot-update.js": "/js/main.0dbc01ade0f34310012e.hot-update.js", + "/js/main.d99afa857d33da6397cf.hot-update.js": "/js/main.d99afa857d33da6397cf.hot-update.js", + "/js/main.6099c72b40714248291c.hot-update.js": "/js/main.6099c72b40714248291c.hot-update.js", + "/js/main.56e79dc3fd40e683684d.hot-update.js": "/js/main.56e79dc3fd40e683684d.hot-update.js", + "/js/main.b5562439014533bf3ff2.hot-update.js": "/js/main.b5562439014533bf3ff2.hot-update.js", + "/js/main.78d46ab68efecb60d70c.hot-update.js": "/js/main.78d46ab68efecb60d70c.hot-update.js", + "/js/main.039aafe71e0927391a9c.hot-update.js": "/js/main.039aafe71e0927391a9c.hot-update.js", + "/js/main.ef8fe842f7680c572fab.hot-update.js": "/js/main.ef8fe842f7680c572fab.hot-update.js", + "/js/main.1fdf649d3ccbdce05837.hot-update.js": "/js/main.1fdf649d3ccbdce05837.hot-update.js", + "/js/main.e7c7d96caa245e1bb123.hot-update.js": "/js/main.e7c7d96caa245e1bb123.hot-update.js", + "/js/main.6bc39b87ec372cfa3dc8.hot-update.js": "/js/main.6bc39b87ec372cfa3dc8.hot-update.js", + "/js/main.ebe195c44f56007eef1d.hot-update.js": "/js/main.ebe195c44f56007eef1d.hot-update.js", + "/js/main.f37be265024e0905fdb1.hot-update.js": "/js/main.f37be265024e0905fdb1.hot-update.js", + "/js/main.2ff5bc2e3fc33bb10ae8.hot-update.js": "/js/main.2ff5bc2e3fc33bb10ae8.hot-update.js", + "/js/main.c1fea30dd4b2ae2f5ee4.hot-update.js": "/js/main.c1fea30dd4b2ae2f5ee4.hot-update.js", + "/js/main.524c8af30cc872a60dbc.hot-update.js": "/js/main.524c8af30cc872a60dbc.hot-update.js", + "/js/main.38f17119314e4cf7ee30.hot-update.js": "/js/main.38f17119314e4cf7ee30.hot-update.js", + "/js/main.000365b3771096c22493.hot-update.js": "/js/main.000365b3771096c22493.hot-update.js", + "/js/main.5058b71aee8180779088.hot-update.js": "/js/main.5058b71aee8180779088.hot-update.js", + "/js/main.28a6e654db8570610bcc.hot-update.js": "/js/main.28a6e654db8570610bcc.hot-update.js", + "/js/main.01d58ffd9ede26b4c7e8.hot-update.js": "/js/main.01d58ffd9ede26b4c7e8.hot-update.js", + "/js/main.a47698cf5dcdb2d76743.hot-update.js": "/js/main.a47698cf5dcdb2d76743.hot-update.js", + "/js/main.0deb25a3a78ab4daa09d.hot-update.js": "/js/main.0deb25a3a78ab4daa09d.hot-update.js", + "/js/main.6d287221e3051a0e8b19.hot-update.js": "/js/main.6d287221e3051a0e8b19.hot-update.js", + "/js/main.03545060f23e17d4713e.hot-update.js": "/js/main.03545060f23e17d4713e.hot-update.js", + "/js/main.4ab8325d22ec6abd7b0f.hot-update.js": "/js/main.4ab8325d22ec6abd7b0f.hot-update.js", + "/js/main.00fed1dd652c91f7f1ed.hot-update.js": "/js/main.00fed1dd652c91f7f1ed.hot-update.js", + "/js/main.5df7c1faa518dd9e7374.hot-update.js": "/js/main.5df7c1faa518dd9e7374.hot-update.js", + "/js/main.3240217125bf1aaab215.hot-update.js": "/js/main.3240217125bf1aaab215.hot-update.js", + "/js/main.b829d78aae8e8943c38a.hot-update.js": "/js/main.b829d78aae8e8943c38a.hot-update.js", + "/js/main.ec038eace3860c991d40.hot-update.js": "/js/main.ec038eace3860c991d40.hot-update.js", + "/js/main.9dd62ce81e1450f065c8.hot-update.js": "/js/main.9dd62ce81e1450f065c8.hot-update.js", + "/js/main.628d9147c15e44160305.hot-update.js": "/js/main.628d9147c15e44160305.hot-update.js", + "/js/main.b39e39c8ec53f2a9ecca.hot-update.js": "/js/main.b39e39c8ec53f2a9ecca.hot-update.js", + "/js/main.a09f85c1baf4d028887a.hot-update.js": "/js/main.a09f85c1baf4d028887a.hot-update.js", + "/js/main.61dddfacfee5c8a77667.hot-update.js": "/js/main.61dddfacfee5c8a77667.hot-update.js", + "/js/main.ee62efcb284edede4f58.hot-update.js": "/js/main.ee62efcb284edede4f58.hot-update.js", + "/js/main.19b541f808631fef7b7f.hot-update.js": "/js/main.19b541f808631fef7b7f.hot-update.js", + "/js/main.75c1b183cc04db369604.hot-update.js": "/js/main.75c1b183cc04db369604.hot-update.js", + "/js/main.f91ca827a024ad1b9e98.hot-update.js": "/js/main.f91ca827a024ad1b9e98.hot-update.js", + "/js/main.b543fd24ddf34dc69882.hot-update.js": "/js/main.b543fd24ddf34dc69882.hot-update.js", + "/js/main.b4772a0733f53e1c6a39.hot-update.js": "/js/main.b4772a0733f53e1c6a39.hot-update.js", + "/js/main.af68b834210e123e14c7.hot-update.js": "/js/main.af68b834210e123e14c7.hot-update.js", + "/js/main.53a01851e7713425ec46.hot-update.js": "/js/main.53a01851e7713425ec46.hot-update.js", + "/js/main.06d1129f0be150e1154f.hot-update.js": "/js/main.06d1129f0be150e1154f.hot-update.js", + "/js/main.fc265c9c466f48229905.hot-update.js": "/js/main.fc265c9c466f48229905.hot-update.js", + "/js/main.93d73da79cd8b4b7a6a4.hot-update.js": "/js/main.93d73da79cd8b4b7a6a4.hot-update.js", + "/js/main.e0293848e03669e8c954.hot-update.js": "/js/main.e0293848e03669e8c954.hot-update.js", + "/js/main.6e70caff0ff123768e56.hot-update.js": "/js/main.6e70caff0ff123768e56.hot-update.js", + "/js/main.88b731ba24fba095863f.hot-update.js": "/js/main.88b731ba24fba095863f.hot-update.js", + "/js/main.245cc75ac6bc6c5fdda3.hot-update.js": "/js/main.245cc75ac6bc6c5fdda3.hot-update.js", + "/js/main.a51faf0bcad8e93f6a60.hot-update.js": "/js/main.a51faf0bcad8e93f6a60.hot-update.js", + "/js/main.f75d45ce3a4071deb3eb.hot-update.js": "/js/main.f75d45ce3a4071deb3eb.hot-update.js", + "/js/main.0da2bc38a9c17f7da812.hot-update.js": "/js/main.0da2bc38a9c17f7da812.hot-update.js", + "/js/main.3f2257dc78861e76cbd9.hot-update.js": "/js/main.3f2257dc78861e76cbd9.hot-update.js", + "/js/main.3dcef8f17c75125345b0.hot-update.js": "/js/main.3dcef8f17c75125345b0.hot-update.js", + "/js/main.b117a2c638971ac84268.hot-update.js": "/js/main.b117a2c638971ac84268.hot-update.js", + "/js/main.4bf80b5a98d048b19695.hot-update.js": "/js/main.4bf80b5a98d048b19695.hot-update.js", + "/js/main.c0587c1799dd105b8f06.hot-update.js": "/js/main.c0587c1799dd105b8f06.hot-update.js", + "/js/main.d6ce19d1db5909a2bd5b.hot-update.js": "/js/main.d6ce19d1db5909a2bd5b.hot-update.js", + "/js/main.3cc9faf0401241b3e048.hot-update.js": "/js/main.3cc9faf0401241b3e048.hot-update.js", + "/js/main.c03bc3a1e01506572f77.hot-update.js": "/js/main.c03bc3a1e01506572f77.hot-update.js", + "/js/main.2cb9f7a624da6378e8f1.hot-update.js": "/js/main.2cb9f7a624da6378e8f1.hot-update.js", + "/js/main.5203503b49254ae57b54.hot-update.js": "/js/main.5203503b49254ae57b54.hot-update.js", + "/js/main.6be457bcad68d70a1adf.hot-update.js": "/js/main.6be457bcad68d70a1adf.hot-update.js", + "/js/main.f366a0af0158f83a41d3.hot-update.js": "/js/main.f366a0af0158f83a41d3.hot-update.js", + "/js/main.0064e8a3066adf5ac021.hot-update.js": "/js/main.0064e8a3066adf5ac021.hot-update.js", + "/js/main.4e54ef87ab2545505191.hot-update.js": "/js/main.4e54ef87ab2545505191.hot-update.js", + "/js/main.2fa133eeaaaa33ba84ab.hot-update.js": "/js/main.2fa133eeaaaa33ba84ab.hot-update.js", + "/js/main.b7287bff96140dcf41c2.hot-update.js": "/js/main.b7287bff96140dcf41c2.hot-update.js", + "/js/main.59d4f07c707c45f90460.hot-update.js": "/js/main.59d4f07c707c45f90460.hot-update.js", + "/js/main.33e725bc42c4cf38e7e4.hot-update.js": "/js/main.33e725bc42c4cf38e7e4.hot-update.js", + "/js/main.4e722435b423aa82857d.hot-update.js": "/js/main.4e722435b423aa82857d.hot-update.js", + "/js/main.1136db92d52691c471d3.hot-update.js": "/js/main.1136db92d52691c471d3.hot-update.js", + "/js/main.dd31325ca820b342d735.hot-update.js": "/js/main.dd31325ca820b342d735.hot-update.js", + "/js/main.bdf334ccc5eca22b3f5b.hot-update.js": "/js/main.bdf334ccc5eca22b3f5b.hot-update.js", + "/js/main.7e8276e3feeb929dcce1.hot-update.js": "/js/main.7e8276e3feeb929dcce1.hot-update.js", + "/js/main.0308b12b1f1eb3efe683.hot-update.js": "/js/main.0308b12b1f1eb3efe683.hot-update.js", + "/js/main.8cb3460b3923a30a8ae5.hot-update.js": "/js/main.8cb3460b3923a30a8ae5.hot-update.js", + "/js/main.b9e3f9e983c99811e94d.hot-update.js": "/js/main.b9e3f9e983c99811e94d.hot-update.js", + "/js/main.9dbdfaa763040e52d396.hot-update.js": "/js/main.9dbdfaa763040e52d396.hot-update.js", + "/js/main.fde767d3f7b0771781e1.hot-update.js": "/js/main.fde767d3f7b0771781e1.hot-update.js", + "/js/main.7a961f271dce3dbff59b.hot-update.js": "/js/main.7a961f271dce3dbff59b.hot-update.js", + "/js/main.f77291d2e605a33650f2.hot-update.js": "/js/main.f77291d2e605a33650f2.hot-update.js", + "/js/main.5b4ddbd60a78a4c2dc8b.hot-update.js": "/js/main.5b4ddbd60a78a4c2dc8b.hot-update.js", + "/js/main.d86b987275b9c5756dcc.hot-update.js": "/js/main.d86b987275b9c5756dcc.hot-update.js", + "/js/main.868816b50cf2e8e4f191.hot-update.js": "/js/main.868816b50cf2e8e4f191.hot-update.js", + "/js/main.18355b098cdaa38c0930.hot-update.js": "/js/main.18355b098cdaa38c0930.hot-update.js", + "/js/main.b32cfff8a52466b61225.hot-update.js": "/js/main.b32cfff8a52466b61225.hot-update.js", + "/js/main.1993377815652ba309fd.hot-update.js": "/js/main.1993377815652ba309fd.hot-update.js", + "/js/main.fe4028eff94af9a2bf88.hot-update.js": "/js/main.fe4028eff94af9a2bf88.hot-update.js", + "/js/main.08dc41013d4cc7939976.hot-update.js": "/js/main.08dc41013d4cc7939976.hot-update.js", + "/js/main.80a7d45a34fa8668a4cf.hot-update.js": "/js/main.80a7d45a34fa8668a4cf.hot-update.js", + "/js/main.2d6d0f1aae82e0df42f8.hot-update.js": "/js/main.2d6d0f1aae82e0df42f8.hot-update.js", + "/js/main.85f1c5f01b37914d6d6f.hot-update.js": "/js/main.85f1c5f01b37914d6d6f.hot-update.js", + "/js/main.c7d70a2e5bada81377d5.hot-update.js": "/js/main.c7d70a2e5bada81377d5.hot-update.js", + "/js/main.9d41fbc28b830e37de0d.hot-update.js": "/js/main.9d41fbc28b830e37de0d.hot-update.js", + "/js/main.d014a0642bc91b6c99a0.hot-update.js": "/js/main.d014a0642bc91b6c99a0.hot-update.js", + "/js/main.e0998058ab9ee490f113.hot-update.js": "/js/main.e0998058ab9ee490f113.hot-update.js", + "/js/main.0cd5a95891b3d2a30d01.hot-update.js": "/js/main.0cd5a95891b3d2a30d01.hot-update.js", + "/js/main.cdc6ab5486c3de2989ca.hot-update.js": "/js/main.cdc6ab5486c3de2989ca.hot-update.js", + "/js/main.0366f168bde7215a81f5.hot-update.js": "/js/main.0366f168bde7215a81f5.hot-update.js", + "/js/main.63176e7e6fc742804a08.hot-update.js": "/js/main.63176e7e6fc742804a08.hot-update.js", + "/js/main.39d6b27892fc6363587c.hot-update.js": "/js/main.39d6b27892fc6363587c.hot-update.js", + "/js/main.a790ca39feedf2af0b92.hot-update.js": "/js/main.a790ca39feedf2af0b92.hot-update.js", + "/js/main.7db25e07f15cfb581128.hot-update.js": "/js/main.7db25e07f15cfb581128.hot-update.js", + "/js/main.87b661d365bd9adbfb09.hot-update.js": "/js/main.87b661d365bd9adbfb09.hot-update.js", + "/js/main.5884a13a2b4f3076e708.hot-update.js": "/js/main.5884a13a2b4f3076e708.hot-update.js", + "/js/main.d08aa3e62dd4f0b7125a.hot-update.js": "/js/main.d08aa3e62dd4f0b7125a.hot-update.js", + "/js/main.08930a79faad10ca5ae5.hot-update.js": "/js/main.08930a79faad10ca5ae5.hot-update.js", + "/js/main.3852385059eaf25596ce.hot-update.js": "/js/main.3852385059eaf25596ce.hot-update.js", + "/js/main.d401d0dba62fd43758f8.hot-update.js": "/js/main.d401d0dba62fd43758f8.hot-update.js", + "/js/main.9ac63b64bbe3d715f73a.hot-update.js": "/js/main.9ac63b64bbe3d715f73a.hot-update.js", + "/js/main.29b25d87761afe9deda1.hot-update.js": "/js/main.29b25d87761afe9deda1.hot-update.js", + "/js/main.e97f2cc4e121eccaced8.hot-update.js": "/js/main.e97f2cc4e121eccaced8.hot-update.js", + "/js/main.6688b2fa8b07b72c00a5.hot-update.js": "/js/main.6688b2fa8b07b72c00a5.hot-update.js", + "/js/main.f98aa05a83ee48c7095d.hot-update.js": "/js/main.f98aa05a83ee48c7095d.hot-update.js", + "/js/main.69a434849703a9c4835a.hot-update.js": "/js/main.69a434849703a9c4835a.hot-update.js", + "/js/main.3b667b3ed35e0d663643.hot-update.js": "/js/main.3b667b3ed35e0d663643.hot-update.js", + "/js/main.0d696ab53807ff69c8e6.hot-update.js": "/js/main.0d696ab53807ff69c8e6.hot-update.js", + "/js/main.0540d9a5f02fae3e2d11.hot-update.js": "/js/main.0540d9a5f02fae3e2d11.hot-update.js", + "/js/main.3976628bbd6e48b63263.hot-update.js": "/js/main.3976628bbd6e48b63263.hot-update.js", + "/js/main.12ac2eba6a990651f796.hot-update.js": "/js/main.12ac2eba6a990651f796.hot-update.js", + "/js/main.9526e857eddc882a0586.hot-update.js": "/js/main.9526e857eddc882a0586.hot-update.js", + "/js/main.da0dcd2c8116fa937c70.hot-update.js": "/js/main.da0dcd2c8116fa937c70.hot-update.js", + "/js/main.b4780116904dd809e0b2.hot-update.js": "/js/main.b4780116904dd809e0b2.hot-update.js", + "/js/main.99c984516e593db7344f.hot-update.js": "/js/main.99c984516e593db7344f.hot-update.js", + "/js/main.0f0812654b82b48f46ce.hot-update.js": "/js/main.0f0812654b82b48f46ce.hot-update.js", + "/js/main.961e3e3fa905b0856176.hot-update.js": "/js/main.961e3e3fa905b0856176.hot-update.js", + "/js/main.29e365ef73f45c925a53.hot-update.js": "/js/main.29e365ef73f45c925a53.hot-update.js", + "/js/main.60f3cc9526aa07f76b92.hot-update.js": "/js/main.60f3cc9526aa07f76b92.hot-update.js", + "/js/main.efd59b161078632b87e7.hot-update.js": "/js/main.efd59b161078632b87e7.hot-update.js", + "/js/main.d314b501f03773483b7b.hot-update.js": "/js/main.d314b501f03773483b7b.hot-update.js", + "/js/main.7142fa80d2d0bc8d87b2.hot-update.js": "/js/main.7142fa80d2d0bc8d87b2.hot-update.js", + "/js/main.81965d3c889e7772119c.hot-update.js": "/js/main.81965d3c889e7772119c.hot-update.js", + "/js/main.398343de9241f273f4c7.hot-update.js": "/js/main.398343de9241f273f4c7.hot-update.js", + "/js/main.6e395602900d2a3cc85c.hot-update.js": "/js/main.6e395602900d2a3cc85c.hot-update.js", + "/js/main.50508c2caf36b35e114c.hot-update.js": "/js/main.50508c2caf36b35e114c.hot-update.js", + "/js/main.f3addf09487bb7a2bf69.hot-update.js": "/js/main.f3addf09487bb7a2bf69.hot-update.js", + "/js/main.e83c390ebbba1ab74aaf.hot-update.js": "/js/main.e83c390ebbba1ab74aaf.hot-update.js", + "/js/main.0454c8e796e648bbe937.hot-update.js": "/js/main.0454c8e796e648bbe937.hot-update.js", + "/js/main.34be65f36719f7eaeea6.hot-update.js": "/js/main.34be65f36719f7eaeea6.hot-update.js", + "/js/main.b97be0d2cb9221a5b358.hot-update.js": "/js/main.b97be0d2cb9221a5b358.hot-update.js" } diff --git a/resources/js/App.vue b/resources/js/App.vue index 93839cff..68932ae3 100644 --- a/resources/js/App.vue +++ b/resources/js/App.vue @@ -1,47 +1,55 @@ @@ -38,12 +41,30 @@ background: rgba($danger, .1); } + &.danger-solid { + color: white; + background: $danger; + } + &.secondary { color: $text; background: $light_background; } } + .sync-alt { + animation: spin 1s linear infinite; + } + + @keyframes spin { + 0% { + transform: rotate(0); + } + 100% { + transform: rotate(360deg); + } + } + @media (prefers-color-scheme: dark) { .button-base { diff --git a/resources/js/components/VueFileManagerComponents/FilesView/ContextMenu.vue b/resources/js/components/VueFileManagerComponents/FilesView/ContextMenu.vue index 73c0ca55..b7217ba6 100644 --- a/resources/js/components/VueFileManagerComponents/FilesView/ContextMenu.vue +++ b/resources/js/components/VueFileManagerComponents/FilesView/ContextMenu.vue @@ -1,34 +1,60 @@ @@ -107,6 +111,10 @@ diff --git a/resources/js/components/VueFileManagerComponents/FilesView/FileItemList.vue b/resources/js/components/VueFileManagerComponents/FilesView/FileItemList.vue index 1391eb99..994d1a13 100644 --- a/resources/js/components/VueFileManagerComponents/FilesView/FileItemList.vue +++ b/resources/js/components/VueFileManagerComponents/FilesView/FileItemList.vue @@ -20,9 +20,9 @@
- {{ - data.mimetype | limitCharacters - }} + + {{ data.mimetype | limitCharacters }} + @@ -37,19 +37,31 @@
- {{ itemName }} + > + {{ itemName }} + - - {{ data.filesize }}, {{ timeStamp }} +
- - {{ folderItems == 0 ? $t('folder.empty') : $tc('folder.item_counts', folderItems) }}, {{ timeStamp }} - + +
+ + Shared, +
+ + + {{ data.filesize }}, {{ timeStamp }} + + + + {{ folderItems == 0 ? $t('folder.empty') : $tc('folder.item_counts', folderItems) }}, {{ timeStamp }} + +
@@ -233,12 +245,34 @@ text-overflow: ellipsis; white-space: nowrap; + .item-info { + display: block; + line-height: 1; + } + + .item-shared { + display: inline-block; + + .label { + @include font-size(12); + font-weight: 400; + color: $theme; + } + + .shared-icon { + @include font-size(10); + + path { + fill: $theme; + } + } + } + .item-size, .item-length { @include font-size(12); font-weight: 400; color: $text-muted; - display: block; } .name { diff --git a/resources/js/components/VueFileManagerComponents/FilesView/MobileOptionList.vue b/resources/js/components/VueFileManagerComponents/FilesView/MobileMenu.vue similarity index 76% rename from resources/js/components/VueFileManagerComponents/FilesView/MobileOptionList.vue rename to resources/js/components/VueFileManagerComponents/FilesView/MobileMenu.vue index 73ed4154..d947c7a8 100644 --- a/resources/js/components/VueFileManagerComponents/FilesView/MobileOptionList.vue +++ b/resources/js/components/VueFileManagerComponents/FilesView/MobileMenu.vue @@ -8,46 +8,38 @@ @click="closeAndResetContextMenu" >
-