diff --git a/.gitattributes b/.gitattributes index 967315dd3..25c1b1b65 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,3 +3,10 @@ *.scss linguist-vendored *.js linguist-vendored CHANGELOG.md export-ignore + +# Collapse diffs for generated files: +public/**/*.js text -diff +public/**/*.json text -diff +public/**/*.css text -diff +public/img/* binary -diff +public/fonts/* binary -diff diff --git a/CHANGELOG.md b/CHANGELOG.md index cbbea5c31..79d7b9fd3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,19 @@ # Release Notes ## [Unreleased](https://github.com/pixelfed/pixelfed/compare/v0.11.12...dev) + +### Features + +- Curated Onboarding ([8dac2caf](https://github.com/pixelfed/pixelfed/commit/8dac2caf)) + +### Updates + +- Update Inbox, cast live filters to lowercase ([d835e0ad](https://github.com/pixelfed/pixelfed/commit/d835e0ad)) +- Update federation config, increase default timeline days falloff to 90 days from 2 days. Fixes #4905 ([011834f4](https://github.com/pixelfed/pixelfed/commit/011834f4)) +- Update cache config, use predis as default redis driver client ([ea6b1623](https://github.com/pixelfed/pixelfed/commit/ea6b1623)) +- Update .gitattributes to collapse diffs on generated files ([ThisIsMissEm](https://github.com/pixelfed/pixelfed/commit/9978b2b9)) +- Update api v1/v2 instance endpoints, bump mastoapi version from 2.7.2 to 3.5.3 ([545f7d5e](https://github.com/pixelfed/pixelfed/commit/545f7d5e)) +- Update ApiV1Controller, implement better limit logic to gracefully handle requests with limits that exceed the max ([1f74a95d](https://github.com/pixelfed/pixelfed/commit/1f74a95d)) - ([](https://github.com/pixelfed/pixelfed/commit/)) ## [v0.11.12 (2024-02-16)](https://github.com/pixelfed/pixelfed/compare/v0.11.11...v0.11.12) @@ -9,7 +22,7 @@ - Autospam Live Filters - block remote activities based on comma separated keywords ([40b45b2a](https://github.com/pixelfed/pixelfed/commit/40b45b2a)) - Added Software Update banner to admin home feeds ([b0fb1988](https://github.com/pixelfed/pixelfed/commit/b0fb1988)) -### Updated +### Updates - Update ApiV1Controller, fix network timeline ([0faf59e3](https://github.com/pixelfed/pixelfed/commit/0faf59e3)) - Update public/network timelines, fix non-redis response and fix reblogs in home feed ([8b4ac5cc](https://github.com/pixelfed/pixelfed/commit/8b4ac5cc)) diff --git a/app/Http/Controllers/Admin/AdminSettingsController.php b/app/Http/Controllers/Admin/AdminSettingsController.php index 9d9c3dfb6..8b5a26796 100644 --- a/app/Http/Controllers/Admin/AdminSettingsController.php +++ b/app/Http/Controllers/Admin/AdminSettingsController.php @@ -17,269 +17,288 @@ use Illuminate\Support\Str; trait AdminSettingsController { - public function settings(Request $request) - { - $cloud_storage = ConfigCacheService::get('pixelfed.cloud_storage'); - $cloud_disk = config('filesystems.cloud'); - $cloud_ready = !empty(config('filesystems.disks.' . $cloud_disk . '.key')) && !empty(config('filesystems.disks.' . $cloud_disk . '.secret')); - $types = explode(',', ConfigCacheService::get('pixelfed.media_types')); - $rules = ConfigCacheService::get('app.rules') ? json_decode(ConfigCacheService::get('app.rules'), true) : null; - $jpeg = in_array('image/jpg', $types) || in_array('image/jpeg', $types); - $png = in_array('image/png', $types); - $gif = in_array('image/gif', $types); - $mp4 = in_array('video/mp4', $types); - $webp = in_array('image/webp', $types); + public function settings(Request $request) + { + $cloud_storage = ConfigCacheService::get('pixelfed.cloud_storage'); + $cloud_disk = config('filesystems.cloud'); + $cloud_ready = !empty(config('filesystems.disks.' . $cloud_disk . '.key')) && !empty(config('filesystems.disks.' . $cloud_disk . '.secret')); + $types = explode(',', ConfigCacheService::get('pixelfed.media_types')); + $rules = ConfigCacheService::get('app.rules') ? json_decode(ConfigCacheService::get('app.rules'), true) : null; + $jpeg = in_array('image/jpg', $types) || in_array('image/jpeg', $types); + $png = in_array('image/png', $types); + $gif = in_array('image/gif', $types); + $mp4 = in_array('video/mp4', $types); + $webp = in_array('image/webp', $types); - $availableAdmins = User::whereIsAdmin(true)->get(); - $currentAdmin = config_cache('instance.admin.pid') ? AccountService::get(config_cache('instance.admin.pid'), true) : null; + $availableAdmins = User::whereIsAdmin(true)->get(); + $currentAdmin = config_cache('instance.admin.pid') ? AccountService::get(config_cache('instance.admin.pid'), true) : null; + $openReg = (bool) config_cache('pixelfed.open_registration'); + $curOnboarding = (bool) config_cache('instance.curated_registration.enabled'); + $regState = $openReg ? 'open' : ($curOnboarding ? 'filtered' : 'closed'); - // $system = [ - // 'permissions' => is_writable(base_path('storage')) && is_writable(base_path('bootstrap')), - // 'max_upload_size' => ini_get('post_max_size'), - // 'image_driver' => config('image.driver'), - // 'image_driver_loaded' => extension_loaded(config('image.driver')) - // ]; + return view('admin.settings.home', compact( + 'jpeg', + 'png', + 'gif', + 'mp4', + 'webp', + 'rules', + 'cloud_storage', + 'cloud_disk', + 'cloud_ready', + 'availableAdmins', + 'currentAdmin', + 'regState' + )); + } - return view('admin.settings.home', compact( - 'jpeg', - 'png', - 'gif', - 'mp4', - 'webp', - 'rules', - 'cloud_storage', - 'cloud_disk', - 'cloud_ready', - 'availableAdmins', - 'currentAdmin' - // 'system' - )); - } + public function settingsHomeStore(Request $request) + { + $this->validate($request, [ + 'name' => 'nullable|string', + 'short_description' => 'nullable', + 'long_description' => 'nullable', + 'max_photo_size' => 'nullable|integer|min:1', + 'max_album_length' => 'nullable|integer|min:1|max:100', + 'image_quality' => 'nullable|integer|min:1|max:100', + 'type_jpeg' => 'nullable', + 'type_png' => 'nullable', + 'type_gif' => 'nullable', + 'type_mp4' => 'nullable', + 'type_webp' => 'nullable', + 'admin_account_id' => 'nullable', + 'regs' => 'required|in:open,filtered,closed' + ]); - public function settingsHomeStore(Request $request) - { - $this->validate($request, [ - 'name' => 'nullable|string', - 'short_description' => 'nullable', - 'long_description' => 'nullable', - 'max_photo_size' => 'nullable|integer|min:1', - 'max_album_length' => 'nullable|integer|min:1|max:100', - 'image_quality' => 'nullable|integer|min:1|max:100', - 'type_jpeg' => 'nullable', - 'type_png' => 'nullable', - 'type_gif' => 'nullable', - 'type_mp4' => 'nullable', - 'type_webp' => 'nullable', - 'admin_account_id' => 'nullable', - ]); + $orb = false; + $cob = false; + switch($request->input('regs')) { + case 'open': + $orb = true; + $cob = false; + break; - if($request->filled('admin_account_id')) { - ConfigCacheService::put('instance.admin.pid', $request->admin_account_id); - Cache::forget('api:v1:instance-data:contact'); - Cache::forget('api:v1:instance-data-response-v1'); - } - if($request->filled('rule_delete')) { - $index = (int) $request->input('rule_delete'); - $rules = ConfigCacheService::get('app.rules'); - $json = json_decode($rules, true); - if(!$rules || empty($json)) { - return; - } - unset($json[$index]); - $json = json_encode(array_values($json)); - ConfigCacheService::put('app.rules', $json); - Cache::forget('api:v1:instance-data:rules'); - Cache::forget('api:v1:instance-data-response-v1'); - return 200; - } + case 'filtered': + $orb = false; + $cob = true; + break; - $media_types = explode(',', config_cache('pixelfed.media_types')); - $media_types_original = $media_types; + case 'closed': + $orb = false; + $cob = false; + break; + } - $mimes = [ - 'type_jpeg' => 'image/jpeg', - 'type_png' => 'image/png', - 'type_gif' => 'image/gif', - 'type_mp4' => 'video/mp4', - 'type_webp' => 'image/webp', - ]; + ConfigCacheService::put('pixelfed.open_registration', (bool) $orb); + ConfigCacheService::put('instance.curated_registration.enabled', (bool) $cob); - foreach ($mimes as $key => $value) { - if($request->input($key) == 'on') { - if(!in_array($value, $media_types)) { - array_push($media_types, $value); - } - } else { - $media_types = array_diff($media_types, [$value]); - } - } + if($request->filled('admin_account_id')) { + ConfigCacheService::put('instance.admin.pid', $request->admin_account_id); + Cache::forget('api:v1:instance-data:contact'); + Cache::forget('api:v1:instance-data-response-v1'); + } + if($request->filled('rule_delete')) { + $index = (int) $request->input('rule_delete'); + $rules = ConfigCacheService::get('app.rules'); + $json = json_decode($rules, true); + if(!$rules || empty($json)) { + return; + } + unset($json[$index]); + $json = json_encode(array_values($json)); + ConfigCacheService::put('app.rules', $json); + Cache::forget('api:v1:instance-data:rules'); + Cache::forget('api:v1:instance-data-response-v1'); + return 200; + } - if($media_types !== $media_types_original) { - ConfigCacheService::put('pixelfed.media_types', implode(',', array_unique($media_types))); - } + $media_types = explode(',', config_cache('pixelfed.media_types')); + $media_types_original = $media_types; - $keys = [ - 'name' => 'app.name', - 'short_description' => 'app.short_description', - 'long_description' => 'app.description', - 'max_photo_size' => 'pixelfed.max_photo_size', - 'max_album_length' => 'pixelfed.max_album_length', - 'image_quality' => 'pixelfed.image_quality', - 'account_limit' => 'pixelfed.max_account_size', - 'custom_css' => 'uikit.custom.css', - 'custom_js' => 'uikit.custom.js', - 'about_title' => 'about.title' - ]; + $mimes = [ + 'type_jpeg' => 'image/jpeg', + 'type_png' => 'image/png', + 'type_gif' => 'image/gif', + 'type_mp4' => 'video/mp4', + 'type_webp' => 'image/webp', + ]; - foreach ($keys as $key => $value) { - $cc = ConfigCache::whereK($value)->first(); - $val = $request->input($key); - if($cc && $cc->v != $val) { - ConfigCacheService::put($value, $val); - } else if(!empty($val)) { - ConfigCacheService::put($value, $val); - } - } + foreach ($mimes as $key => $value) { + if($request->input($key) == 'on') { + if(!in_array($value, $media_types)) { + array_push($media_types, $value); + } + } else { + $media_types = array_diff($media_types, [$value]); + } + } - $bools = [ - 'activitypub' => 'federation.activitypub.enabled', - 'open_registration' => 'pixelfed.open_registration', - 'mobile_apis' => 'pixelfed.oauth_enabled', - 'stories' => 'instance.stories.enabled', - 'ig_import' => 'pixelfed.import.instagram.enabled', - 'spam_detection' => 'pixelfed.bouncer.enabled', - 'require_email_verification' => 'pixelfed.enforce_email_verification', - 'enforce_account_limit' => 'pixelfed.enforce_account_limit', - 'show_custom_css' => 'uikit.show_custom.css', - 'show_custom_js' => 'uikit.show_custom.js', - 'cloud_storage' => 'pixelfed.cloud_storage', - 'account_autofollow' => 'account.autofollow', - 'show_directory' => 'instance.landing.show_directory', - 'show_explore_feed' => 'instance.landing.show_explore', - ]; + if($media_types !== $media_types_original) { + ConfigCacheService::put('pixelfed.media_types', implode(',', array_unique($media_types))); + } - foreach ($bools as $key => $value) { - $active = $request->input($key) == 'on'; + $keys = [ + 'name' => 'app.name', + 'short_description' => 'app.short_description', + 'long_description' => 'app.description', + 'max_photo_size' => 'pixelfed.max_photo_size', + 'max_album_length' => 'pixelfed.max_album_length', + 'image_quality' => 'pixelfed.image_quality', + 'account_limit' => 'pixelfed.max_account_size', + 'custom_css' => 'uikit.custom.css', + 'custom_js' => 'uikit.custom.js', + 'about_title' => 'about.title' + ]; - if($key == 'activitypub' && $active && !InstanceActor::exists()) { - Artisan::call('instance:actor'); - } + foreach ($keys as $key => $value) { + $cc = ConfigCache::whereK($value)->first(); + $val = $request->input($key); + if($cc && $cc->v != $val) { + ConfigCacheService::put($value, $val); + } else if(!empty($val)) { + ConfigCacheService::put($value, $val); + } + } - if( $key == 'mobile_apis' && - $active && - !file_exists(storage_path('oauth-public.key')) && - !file_exists(storage_path('oauth-private.key')) - ) { - Artisan::call('passport:keys'); - Artisan::call('route:cache'); - } + $bools = [ + 'activitypub' => 'federation.activitypub.enabled', + // 'open_registration' => 'pixelfed.open_registration', + 'mobile_apis' => 'pixelfed.oauth_enabled', + 'stories' => 'instance.stories.enabled', + 'ig_import' => 'pixelfed.import.instagram.enabled', + 'spam_detection' => 'pixelfed.bouncer.enabled', + 'require_email_verification' => 'pixelfed.enforce_email_verification', + 'enforce_account_limit' => 'pixelfed.enforce_account_limit', + 'show_custom_css' => 'uikit.show_custom.css', + 'show_custom_js' => 'uikit.show_custom.js', + 'cloud_storage' => 'pixelfed.cloud_storage', + 'account_autofollow' => 'account.autofollow', + 'show_directory' => 'instance.landing.show_directory', + 'show_explore_feed' => 'instance.landing.show_explore', + ]; - if(config_cache($value) !== $active) { - ConfigCacheService::put($value, (bool) $active); - } - } + foreach ($bools as $key => $value) { + $active = $request->input($key) == 'on'; - if($request->filled('new_rule')) { - $rules = ConfigCacheService::get('app.rules'); - $val = $request->input('new_rule'); - if(!$rules) { - ConfigCacheService::put('app.rules', json_encode([$val])); - } else { - $json = json_decode($rules, true); - $json[] = $val; - ConfigCacheService::put('app.rules', json_encode(array_values($json))); - } - Cache::forget('api:v1:instance-data:rules'); - Cache::forget('api:v1:instance-data-response-v1'); - } + if($key == 'activitypub' && $active && !InstanceActor::exists()) { + Artisan::call('instance:actor'); + } - if($request->filled('account_autofollow_usernames')) { - $usernames = explode(',', $request->input('account_autofollow_usernames')); - $names = []; + if( $key == 'mobile_apis' && + $active && + !file_exists(storage_path('oauth-public.key')) && + !file_exists(storage_path('oauth-private.key')) + ) { + Artisan::call('passport:keys'); + Artisan::call('route:cache'); + } - foreach($usernames as $n) { - $p = Profile::whereUsername($n)->first(); - if(!$p) { - continue; - } - array_push($names, $p->username); - } + if(config_cache($value) !== $active) { + ConfigCacheService::put($value, (bool) $active); + } + } - ConfigCacheService::put('account.autofollow_usernames', implode(',', $names)); - } + if($request->filled('new_rule')) { + $rules = ConfigCacheService::get('app.rules'); + $val = $request->input('new_rule'); + if(!$rules) { + ConfigCacheService::put('app.rules', json_encode([$val])); + } else { + $json = json_decode($rules, true); + $json[] = $val; + ConfigCacheService::put('app.rules', json_encode(array_values($json))); + } + Cache::forget('api:v1:instance-data:rules'); + Cache::forget('api:v1:instance-data-response-v1'); + } - Cache::forget(Config::CACHE_KEY); + if($request->filled('account_autofollow_usernames')) { + $usernames = explode(',', $request->input('account_autofollow_usernames')); + $names = []; - return redirect('/i/admin/settings')->with('status', 'Successfully updated settings!'); - } + foreach($usernames as $n) { + $p = Profile::whereUsername($n)->first(); + if(!$p) { + continue; + } + array_push($names, $p->username); + } - public function settingsBackups(Request $request) - { - $path = storage_path('app/'.config('app.name')); - $files = is_dir($path) ? new \DirectoryIterator($path) : []; - return view('admin.settings.backups', compact('files')); - } + ConfigCacheService::put('account.autofollow_usernames', implode(',', $names)); + } - public function settingsMaintenance(Request $request) - { - return view('admin.settings.maintenance'); - } + Cache::forget(Config::CACHE_KEY); - public function settingsStorage(Request $request) - { - $storage = []; - return view('admin.settings.storage', compact('storage')); - } + return redirect('/i/admin/settings')->with('status', 'Successfully updated settings!'); + } - public function settingsFeatures(Request $request) - { - return view('admin.settings.features'); - } + public function settingsBackups(Request $request) + { + $path = storage_path('app/'.config('app.name')); + $files = is_dir($path) ? new \DirectoryIterator($path) : []; + return view('admin.settings.backups', compact('files')); + } - public function settingsPages(Request $request) - { - $pages = Page::orderByDesc('updated_at')->paginate(10); - return view('admin.pages.home', compact('pages')); - } + public function settingsMaintenance(Request $request) + { + return view('admin.settings.maintenance'); + } - public function settingsPageEdit(Request $request) - { - return view('admin.pages.edit'); - } + public function settingsStorage(Request $request) + { + $storage = []; + return view('admin.settings.storage', compact('storage')); + } - public function settingsSystem(Request $request) - { - $sys = [ - 'pixelfed' => config('pixelfed.version'), - 'php' => phpversion(), - 'laravel' => app()->version(), - ]; - switch (config('database.default')) { - case 'pgsql': - $exp = DB::raw('select version();'); - $expQuery = $exp->getValue(DB::connection()->getQueryGrammar()); - $sys['database'] = [ - 'name' => 'Postgres', - 'version' => explode(' ', DB::select($expQuery)[0]->version)[1] - ]; - break; + public function settingsFeatures(Request $request) + { + return view('admin.settings.features'); + } - case 'mysql': - $exp = DB::raw('select version()'); - $expQuery = $exp->getValue(DB::connection()->getQueryGrammar()); - $sys['database'] = [ - 'name' => 'MySQL', - 'version' => DB::select($expQuery)[0]->{'version()'} - ]; - break; + public function settingsPages(Request $request) + { + $pages = Page::orderByDesc('updated_at')->paginate(10); + return view('admin.pages.home', compact('pages')); + } - default: - $sys['database'] = [ - 'name' => 'Unknown', - 'version' => '?' - ]; - break; - } - return view('admin.settings.system', compact('sys')); - } + public function settingsPageEdit(Request $request) + { + return view('admin.pages.edit'); + } + + public function settingsSystem(Request $request) + { + $sys = [ + 'pixelfed' => config('pixelfed.version'), + 'php' => phpversion(), + 'laravel' => app()->version(), + ]; + switch (config('database.default')) { + case 'pgsql': + $exp = DB::raw('select version();'); + $expQuery = $exp->getValue(DB::connection()->getQueryGrammar()); + $sys['database'] = [ + 'name' => 'Postgres', + 'version' => explode(' ', DB::select($expQuery)[0]->version)[1] + ]; + break; + + case 'mysql': + $exp = DB::raw('select version()'); + $expQuery = $exp->getValue(DB::connection()->getQueryGrammar()); + $sys['database'] = [ + 'name' => 'MySQL', + 'version' => DB::select($expQuery)[0]->{'version()'} + ]; + break; + + default: + $sys['database'] = [ + 'name' => 'Unknown', + 'version' => '?' + ]; + break; + } + return view('admin.settings.system', compact('sys')); + } } diff --git a/app/Http/Controllers/AdminCuratedRegisterController.php b/app/Http/Controllers/AdminCuratedRegisterController.php new file mode 100644 index 000000000..bea6e58cf --- /dev/null +++ b/app/Http/Controllers/AdminCuratedRegisterController.php @@ -0,0 +1,226 @@ +middleware(['auth','admin']); + } + + public function index(Request $request) + { + $this->validate($request, [ + 'filter' => 'sometimes|in:open,all,awaiting,approved,rejected' + ]); + $filter = $request->input('filter', 'open'); + $records = CuratedRegister::when($filter, function($q, $filter) { + if($filter === 'open') { + return $q->where('is_rejected', false) + ->whereNotNull('email_verified_at') + ->whereIsClosed(false); + } else if($filter === 'all') { + return $q; + } elseif ($filter === 'awaiting') { + return $q->whereIsClosed(false) + ->whereNull('is_rejected') + ->whereNull('is_approved'); + } elseif ($filter === 'approved') { + return $q->whereIsClosed(true)->whereIsApproved(true); + } elseif ($filter === 'rejected') { + return $q->whereIsClosed(true)->whereIsRejected(true); + } + }) + ->latest() + ->paginate(10); + return view('admin.curated-register.index', compact('records', 'filter')); + } + + public function show(Request $request, $id) + { + $record = CuratedRegister::findOrFail($id); + return view('admin.curated-register.show', compact('record')); + } + + public function apiActivityLog(Request $request, $id) + { + $record = CuratedRegister::findOrFail($id); + + $res = collect([ + [ + 'id' => 1, + 'action' => 'created', + 'title' => 'Onboarding application created', + 'message' => null, + 'link' => null, + 'timestamp' => $record->created_at, + ] + ]); + + if($record->email_verified_at) { + $res->push([ + 'id' => 3, + 'action' => 'email_verified_at', + 'title' => 'Applicant successfully verified email address', + 'message' => null, + 'link' => null, + 'timestamp' => $record->email_verified_at, + ]); + } + + $activities = CuratedRegisterActivity::whereRegisterId($record->id)->get(); + + $idx = 4; + $userResponses = collect([]); + + foreach($activities as $activity) { + $idx++; + if($activity->from_user) { + $userResponses->push($activity); + continue; + } + $res->push([ + 'id' => $idx, + 'aid' => $activity->id, + 'action' => $activity->type, + 'title' => $activity->from_admin ? 'Admin requested info' : 'User responded', + 'message' => $activity->message, + 'link' => $activity->adminReviewUrl(), + 'timestamp' => $activity->created_at, + ]); + } + + foreach($userResponses as $ur) { + $res = $res->map(function($r) use($ur) { + if(!isset($r['aid'])) { + return $r; + } + if($ur->reply_to_id === $r['aid']) { + $r['user_response'] = $ur; + return $r; + } + return $r; + }); + } + + if($record->is_approved) { + $idx++; + $res->push([ + 'id' => $idx, + 'action' => 'approved', + 'title' => 'Application Approved', + 'message' => null, + 'link' => null, + 'timestamp' => $record->action_taken_at, + ]); + } else if ($record->is_rejected) { + $idx++; + $res->push([ + 'id' => $idx, + 'action' => 'rejected', + 'title' => 'Application Rejected', + 'message' => null, + 'link' => null, + 'timestamp' => $record->action_taken_at, + ]); + } + + return $res->reverse()->values(); + } + + public function apiMessagePreviewStore(Request $request, $id) + { + $record = CuratedRegister::findOrFail($id); + return $request->all(); + } + + public function apiMessageSendStore(Request $request, $id) + { + $this->validate($request, [ + 'message' => 'required|string|min:5|max:1000' + ]); + $record = CuratedRegister::findOrFail($id); + abort_if($record->email_verified_at === null, 400, 'Cannot message an unverified email'); + $activity = new CuratedRegisterActivity; + $activity->register_id = $record->id; + $activity->admin_id = $request->user()->id; + $activity->secret_code = Str::random(32); + $activity->type = 'request_details'; + $activity->from_admin = true; + $activity->message = $request->input('message'); + $activity->save(); + $record->is_awaiting_more_info = true; + $record->save(); + Mail::to($record->email)->send(new CuratedRegisterRequestDetailsFromUser($record, $activity)); + return $request->all(); + } + + public function previewDetailsMessageShow(Request $request, $id) + { + $record = CuratedRegister::findOrFail($id); + abort_if($record->email_verified_at === null, 400, 'Cannot message an unverified email'); + $activity = new CuratedRegisterActivity; + $activity->message = $request->input('message'); + return new \App\Mail\CuratedRegisterRequestDetailsFromUser($record, $activity); + } + + + public function previewMessageShow(Request $request, $id) + { + $record = CuratedRegister::findOrFail($id); + abort_if($record->email_verified_at === null, 400, 'Cannot message an unverified email'); + $record->message = $request->input('message'); + return new \App\Mail\CuratedRegisterSendMessage($record); + } + + public function apiHandleReject(Request $request, $id) + { + $this->validate($request, [ + 'action' => 'required|in:reject-email,reject-silent' + ]); + $action = $request->input('action'); + $record = CuratedRegister::findOrFail($id); + abort_if($record->email_verified_at === null, 400, 'Cannot reject an unverified email'); + $record->is_rejected = true; + $record->is_closed = true; + $record->action_taken_at = now(); + $record->save(); + if($action === 'reject-email') { + Mail::to($record->email)->send(new CuratedRegisterRejectUser($record)); + } + return [200]; + } + + public function apiHandleApprove(Request $request, $id) + { + $record = CuratedRegister::findOrFail($id); + abort_if($record->email_verified_at === null, 400, 'Cannot reject an unverified email'); + $record->is_approved = true; + $record->is_closed = true; + $record->action_taken_at = now(); + $record->save(); + $user = User::create([ + 'name' => $record->username, + 'username' => $record->username, + 'email' => $record->email, + 'password' => $record->password, + 'app_register_ip' => $record->ip_address, + 'email_verified_at' => now(), + 'register_source' => 'cur_onboarding' + ]); + + Mail::to($record->email)->send(new CuratedRegisterAcceptUser($record)); + return [200]; + } +} diff --git a/app/Http/Controllers/Api/ApiV1Controller.php b/app/Http/Controllers/Api/ApiV1Controller.php index 6114c6566..0205648e8 100644 --- a/app/Http/Controllers/Api/ApiV1Controller.php +++ b/app/Http/Controllers/Api/ApiV1Controller.php @@ -496,9 +496,12 @@ class ApiV1Controller extends Controller abort_if(!$account, 404); $pid = $request->user()->profile_id; $this->validate($request, [ - 'limit' => 'sometimes|integer|min:1|max:80' + 'limit' => 'sometimes|integer|min:1' ]); $limit = $request->input('limit', 10); + if($limit > 80) { + $limit = 80; + } $napi = $request->has(self::PF_API_ENTITY_KEY); if($account && strpos($account['acct'], '@') != -1) { @@ -594,9 +597,12 @@ class ApiV1Controller extends Controller abort_if(!$account, 404); $pid = $request->user()->profile_id; $this->validate($request, [ - 'limit' => 'sometimes|integer|min:1|max:80' + 'limit' => 'sometimes|integer|min:1' ]); $limit = $request->input('limit', 10); + if($limit > 80) { + $limit = 80; + } $napi = $request->has(self::PF_API_ENTITY_KEY); if($account && strpos($account['acct'], '@') != -1) { @@ -698,7 +704,7 @@ class ApiV1Controller extends Controller 'max_id' => 'nullable|integer|min:0|max:' . PHP_INT_MAX, 'since_id' => 'nullable|integer|min:0|max:' . PHP_INT_MAX, 'min_id' => 'nullable|integer|min:0|max:' . PHP_INT_MAX, - 'limit' => 'nullable|integer|min:1|max:100' + 'limit' => 'nullable|integer|min:1' ]); $napi = $request->has(self::PF_API_ENTITY_KEY); @@ -713,7 +719,10 @@ class ApiV1Controller extends Controller abort_if(in_array($domain, InstanceService::getBannedDomains()), 404); } - $limit = $request->limit ?? 20; + $limit = $request->input('limit') ?? 20; + if($limit > 40) { + $limit = 40; + } $max_id = $request->max_id; $min_id = $request->min_id; @@ -959,12 +968,16 @@ class ApiV1Controller extends Controller abort_if(!$request->user(), 403); $this->validate($request, [ - 'id' => 'required|array|min:1|max:20', + 'id' => 'required|array|min:1', 'id.*' => 'required|integer|min:1|max:' . PHP_INT_MAX ]); + $ids = $request->input('id'); + if(count($ids) > 20) { + $ids = collect($ids)->take(20)->toArray(); + } $napi = $request->has(self::PF_API_ENTITY_KEY); $pid = $request->user()->profile_id ?? $request->user()->profile->id; - $res = collect($request->input('id')) + $res = collect($ids) ->filter(function($id) use($pid) { return intval($id) !== intval($pid); }) @@ -989,8 +1002,8 @@ class ApiV1Controller extends Controller abort_unless($request->user()->tokenCan('read'), 403); $this->validate($request, [ - 'q' => 'required|string|min:1|max:255', - 'limit' => 'nullable|integer|min:1|max:40', + 'q' => 'required|string|min:1|max:30', + 'limit' => 'nullable|integer|min:1', 'resolve' => 'nullable' ]); @@ -1000,22 +1013,23 @@ class ApiV1Controller extends Controller AccountService::setLastActive($user->id); $query = $request->input('q'); $limit = $request->input('limit') ?? 20; - $resolve = (bool) $request->input('resolve', false); - $q = '%' . $query . '%'; + if($limit > 20) { + $limit = 20; + } + $resolve = $request->boolean('resolve', false); + $q = $query . '%'; - $profiles = Cache::remember('api:v1:accounts:search:' . sha1($query) . ':limit:' . $limit, 86400, function() use($q, $limit) { - return Profile::whereNull('status') - ->where('username', 'like', $q) - ->orWhere('name', 'like', $q) - ->limit($limit) - ->pluck('id') - ->map(function($id) { - return AccountService::getMastodon($id); - }) - ->filter(function($account) { - return $account && isset($account['id']); - }); - }); + $profiles = Profile::where('username', 'like', $q) + ->orderByDesc('followers_count') + ->limit($limit) + ->pluck('id') + ->map(function($id) { + return AccountService::getMastodon($id); + }) + ->filter(function($account) { + return $account && isset($account['id']); + }) + ->values(); return $this->json($profiles); } @@ -1033,20 +1047,25 @@ class ApiV1Controller extends Controller abort_unless($request->user()->tokenCan('read'), 403); $this->validate($request, [ - 'limit' => 'nullable|integer|min:1|max:40', - 'page' => 'nullable|integer|min:1|max:10' + 'limit' => 'sometimes|integer|min:1', + 'page' => 'sometimes|integer|min:1' ]); $user = $request->user(); $limit = $request->input('limit') ?? 40; + if($limit > 80) { + $limit = 80; + } - $blocked = UserFilter::select('filterable_id','filterable_type','filter_type','user_id') + $blocks = UserFilter::select('filterable_id','filterable_type','filter_type','user_id') ->whereUserId($user->profile_id) ->whereFilterableType('App\Profile') ->whereFilterType('block') ->orderByDesc('id') ->simplePaginate($limit) - ->pluck('filterable_id') + ->withQueryString(); + + $res = $blocks->pluck('filterable_id') ->map(function($id) { return AccountService::get($id, true); }) @@ -1055,7 +1074,23 @@ class ApiV1Controller extends Controller }) ->values(); - return $this->json($blocked); + $baseUrl = config('app.url') . '/api/v1/blocks?limit=' . $limit . '&'; + $next = $blocks->nextPageUrl(); + $prev = $blocks->previousPageUrl(); + + if($next && !$prev) { + $link = '<'.$next.'>; rel="next"'; + } + + if(!$next && $prev) { + $link = '<'.$prev.'>; rel="prev"'; + } + + if($next && $prev) { + $link = '<'.$next.'>; rel="next",<'.$prev.'>; rel="prev"'; + } + $headers = isset($link) ? ['Link' => $link] : []; + return $this->json($res, 200, $headers); } /** @@ -1247,13 +1282,16 @@ class ApiV1Controller extends Controller abort_unless($request->user()->tokenCan('read'), 403); $this->validate($request, [ - 'limit' => 'sometimes|integer|min:1|max:40' + 'limit' => 'sometimes|integer|min:1' ]); $user = $request->user(); $maxId = $request->input('max_id'); $minId = $request->input('min_id'); $limit = $request->input('limit') ?? 10; + if($limit > 40) { + $limit = 40; + } $res = Like::whereProfileId($user->profile_id) ->when($maxId, function($q, $maxId) { @@ -1612,15 +1650,15 @@ class ApiV1Controller extends Controller 'short_description' => config_cache('app.short_description'), 'description' => config_cache('app.description'), 'email' => config('instance.email'), - 'version' => '2.7.2 (compatible; Pixelfed ' . config('pixelfed.version') .')', + 'version' => '3.5.3 (compatible; Pixelfed ' . config('pixelfed.version') .')', 'urls' => [ - 'streaming_api' => 'wss://' . config('pixelfed.domain.app') + 'streaming_api' => null, ], 'stats' => $stats, 'thumbnail' => config_cache('app.banner_image') ?? url(Storage::url('public/headers/default.jpg')), 'languages' => [config('app.locale')], 'registrations' => (bool) config_cache('pixelfed.open_registration'), - 'approval_required' => false, + 'approval_required' => (bool) config_cache('instance.curated_registration.enabled'), 'contact_account' => $contact, 'rules' => $rules, 'configuration' => [ @@ -2049,18 +2087,23 @@ class ApiV1Controller extends Controller abort_unless($request->user()->tokenCan('read'), 403); $this->validate($request, [ - 'limit' => 'nullable|integer|min:1|max:40' + 'limit' => 'sometimes|integer|min:1' ]); $user = $request->user(); $limit = $request->input('limit', 40); + if($limit > 80) { + $limit = 80; + } $mutes = UserFilter::whereUserId($user->profile_id) ->whereFilterableType('App\Profile') ->whereFilterType('mute') ->orderByDesc('id') ->simplePaginate($limit) - ->pluck('filterable_id') + ->withQueryString(); + + $res = $mutes->pluck('filterable_id') ->map(function($id) { return AccountService::get($id, true); }) @@ -2069,7 +2112,23 @@ class ApiV1Controller extends Controller }) ->values(); - return $this->json($mutes); + $baseUrl = config('app.url') . '/api/v1/mutes?limit=' . $limit . '&'; + $next = $mutes->nextPageUrl(); + $prev = $mutes->previousPageUrl(); + + if($next && !$prev) { + $link = '<'.$next.'>; rel="next"'; + } + + if(!$next && $prev) { + $link = '<'.$prev.'>; rel="prev"'; + } + + if($next && $prev) { + $link = '<'.$next.'>; rel="next",<'.$prev.'>; rel="prev"'; + } + $headers = isset($link) ? ['Link' => $link] : []; + return $this->json($res, 200, $headers); } /** @@ -2181,7 +2240,7 @@ class ApiV1Controller extends Controller abort_unless($request->user()->tokenCan('read'), 403); $this->validate($request, [ - 'limit' => 'nullable|integer|min:1|max:100', + 'limit' => 'sometimes|integer|min:1', 'min_id' => 'nullable|integer|min:1|max:'.PHP_INT_MAX, 'max_id' => 'nullable|integer|min:1|max:'.PHP_INT_MAX, 'since_id' => 'nullable|integer|min:1|max:'.PHP_INT_MAX, @@ -2191,6 +2250,9 @@ class ApiV1Controller extends Controller $pid = $request->user()->profile_id; $limit = $request->input('limit', 20); + if($limit > 40) { + $limit = 40; + } $since = $request->input('since_id'); $min = $request->input('min_id'); @@ -2200,6 +2262,10 @@ class ApiV1Controller extends Controller $min = 1; } + if($since) { + $min = $since + 1; + } + $types = $request->input('types'); $maxId = null; @@ -2261,7 +2327,7 @@ class ApiV1Controller extends Controller 'page' => 'sometimes|integer|max:40', 'min_id' => 'sometimes|integer|min:0|max:' . PHP_INT_MAX, 'max_id' => 'sometimes|integer|min:0|max:' . PHP_INT_MAX, - 'limit' => 'sometimes|integer|min:1|max:40', + 'limit' => 'sometimes|integer|min:1', 'include_reblogs' => 'sometimes', ]); @@ -2270,6 +2336,9 @@ class ApiV1Controller extends Controller $min = $request->input('min_id'); $max = $request->input('max_id'); $limit = $request->input('limit') ?? 20; + if($limit > 40) { + $limit = 40; + } $pid = $request->user()->profile_id; $includeReblogs = $request->filled('include_reblogs') ? $request->boolean('include_reblogs') : false; $nullFields = $includeReblogs ? @@ -2515,7 +2584,7 @@ class ApiV1Controller extends Controller $this->validate($request,[ 'min_id' => 'nullable|integer|min:0|max:' . PHP_INT_MAX, 'max_id' => 'nullable|integer|min:0|max:' . PHP_INT_MAX, - 'limit' => 'nullable|integer|max:100', + 'limit' => 'sometimes|integer|min:1', 'remote' => 'sometimes', 'local' => 'sometimes' ]); @@ -2525,6 +2594,9 @@ class ApiV1Controller extends Controller $max = $request->input('max_id'); $minOrMax = $request->anyFilled(['max_id', 'min_id']); $limit = $request->input('limit') ?? 20; + if($limit > 40) { + $limit = 40; + } $user = $request->user(); $remote = $request->has('remote'); @@ -3043,10 +3115,13 @@ class ApiV1Controller extends Controller abort_unless($request->user()->tokenCan('read'), 403); $this->validate($request, [ - 'limit' => 'nullable|integer|min:1|max:80' + 'limit' => 'sometimes|integer|min:1' ]); - $limit = $request->input('limit', 10); + $limit = $request->input('limit', 40); + if($limit > 80) { + $limit = 80; + } $user = $request->user(); $pid = $user->profile_id; $status = Status::findOrFail($id); @@ -3485,7 +3560,7 @@ class ApiV1Controller extends Controller 'page' => 'nullable|integer|max:40', 'min_id' => 'nullable|integer|min:0|max:' . PHP_INT_MAX, 'max_id' => 'nullable|integer|min:0|max:' . PHP_INT_MAX, - 'limit' => 'nullable|integer|max:100', + 'limit' => 'sometimes|integer|min:1', 'only_media' => 'sometimes|boolean', '_pe' => 'sometimes' ]); @@ -3518,6 +3593,9 @@ class ApiV1Controller extends Controller $min = $request->input('min_id'); $max = $request->input('max_id'); $limit = $request->input('limit', 20); + if($limit > 40) { + $limit = 40; + } $onlyMedia = $request->input('only_media', true); $pe = $request->has(self::PF_API_ENTITY_KEY); $pid = $request->user()->profile_id; @@ -3547,7 +3625,7 @@ class ApiV1Controller extends Controller ->whereStatusVisibility('public') ->where('status_id', $dir, $id) ->orderBy('status_id', 'desc') - ->limit($limit) + ->limit(100) ->pluck('status_id') ->map(function ($i) use($pe) { return $pe ? StatusService::get($i) : StatusService::getMastodon($i); @@ -3565,6 +3643,7 @@ class ApiV1Controller extends Controller $domain = strtolower(parse_url($i['url'], PHP_URL_HOST)); return !in_array($i['account']['id'], $filters) && !in_array($domain, $domainBlocks); }) + ->take($limit) ->values() ->toArray(); @@ -3584,7 +3663,7 @@ class ApiV1Controller extends Controller abort_unless($request->user()->tokenCan('read'), 403); $this->validate($request, [ - 'limit' => 'nullable|integer|min:1|max:40', + 'limit' => 'sometimes|integer|min:1', 'max_id' => 'nullable|integer|min:0', 'since_id' => 'nullable|integer|min:0', 'min_id' => 'nullable|integer|min:0' @@ -3593,6 +3672,9 @@ class ApiV1Controller extends Controller $pe = $request->has('_pe'); $pid = $request->user()->profile_id; $limit = $request->input('limit') ?? 20; + if($limit > 40) { + $limit = 40; + } $max_id = $request->input('max_id'); $since_id = $request->input('since_id'); $min_id = $request->input('min_id'); @@ -3758,11 +3840,14 @@ class ApiV1Controller extends Controller abort_if(!$request->user(), 403); $this->validate($request, [ - 'limit' => 'int|min:1|max:10', + 'limit' => 'sometimes|integer|min:1', 'sort' => 'in:all,newest,popular' ]); $limit = $request->input('limit', 3); + if($limit > 10) { + $limit = 10; + } $pid = $request->user()->profile_id; $status = StatusService::getMastodon($id, false); diff --git a/app/Http/Controllers/Api/ApiV2Controller.php b/app/Http/Controllers/Api/ApiV2Controller.php index 2380588cf..c585b3b04 100644 --- a/app/Http/Controllers/Api/ApiV2Controller.php +++ b/app/Http/Controllers/Api/ApiV2Controller.php @@ -71,72 +71,77 @@ class ApiV2Controller extends Controller ->toArray() : []; }); - $res = [ - 'domain' => config('pixelfed.domain.app'), - 'title' => config_cache('app.name'), - 'version' => config('pixelfed.version'), - 'source_url' => 'https://github.com/pixelfed/pixelfed', - 'description' => config_cache('app.short_description'), - 'usage' => [ - 'users' => [ - 'active_month' => (int) Nodeinfo::activeUsersMonthly() - ] - ], - 'thumbnail' => [ - 'url' => config_cache('app.banner_image') ?? url(Storage::url('public/headers/default.jpg')), - 'blurhash' => InstanceService::headerBlurhash(), - 'versions' => [ - '@1x' => config_cache('app.banner_image') ?? url(Storage::url('public/headers/default.jpg')), - '@2x' => config_cache('app.banner_image') ?? url(Storage::url('public/headers/default.jpg')) - ] - ], - 'languages' => [config('app.locale')], - 'configuration' => [ - 'urls' => [ - 'streaming' => 'wss://' . config('pixelfed.domain.app'), - 'status' => null + $res = Cache::remember('api:v2:instance-data-response-v2', 1800, function () use($contact, $rules) { + return [ + 'domain' => config('pixelfed.domain.app'), + 'title' => config_cache('app.name'), + 'version' => '3.5.3 (compatible; Pixelfed ' . config('pixelfed.version') .')', + 'source_url' => 'https://github.com/pixelfed/pixelfed', + 'description' => config_cache('app.short_description'), + 'usage' => [ + 'users' => [ + 'active_month' => (int) Nodeinfo::activeUsersMonthly() + ] ], - 'vapid' => [ - 'public_key' => config('webpush.vapid.public_key'), + 'thumbnail' => [ + 'url' => config_cache('app.banner_image') ?? url(Storage::url('public/headers/default.jpg')), + 'blurhash' => InstanceService::headerBlurhash(), + 'versions' => [ + '@1x' => config_cache('app.banner_image') ?? url(Storage::url('public/headers/default.jpg')), + '@2x' => config_cache('app.banner_image') ?? url(Storage::url('public/headers/default.jpg')) + ] ], - 'accounts' => [ - 'max_featured_tags' => 0, + 'languages' => [config('app.locale')], + 'configuration' => [ + 'urls' => [ + 'streaming' => null, + 'status' => null + ], + 'vapid' => [ + 'public_key' => config('webpush.vapid.public_key'), + ], + 'accounts' => [ + 'max_featured_tags' => 0, + ], + 'statuses' => [ + 'max_characters' => (int) config('pixelfed.max_caption_length'), + 'max_media_attachments' => (int) config_cache('pixelfed.max_album_length'), + 'characters_reserved_per_url' => 23 + ], + 'media_attachments' => [ + 'supported_mime_types' => explode(',', config_cache('pixelfed.media_types')), + 'image_size_limit' => config_cache('pixelfed.max_photo_size') * 1024, + 'image_matrix_limit' => 3686400, + 'video_size_limit' => config_cache('pixelfed.max_photo_size') * 1024, + 'video_frame_rate_limit' => 240, + 'video_matrix_limit' => 3686400 + ], + 'polls' => [ + 'max_options' => 0, + 'max_characters_per_option' => 0, + 'min_expiration' => 0, + 'max_expiration' => 0, + ], + 'translation' => [ + 'enabled' => false, + ], ], - 'statuses' => [ - 'max_characters' => (int) config('pixelfed.max_caption_length'), - 'max_media_attachments' => (int) config_cache('pixelfed.max_album_length'), - 'characters_reserved_per_url' => 23 + 'registrations' => [ + 'enabled' => null, + 'approval_required' => false, + 'message' => null, + 'url' => null, ], - 'media_attachments' => [ - 'supported_mime_types' => explode(',', config_cache('pixelfed.media_types')), - 'image_size_limit' => config_cache('pixelfed.max_photo_size') * 1024, - 'image_matrix_limit' => 3686400, - 'video_size_limit' => config_cache('pixelfed.max_photo_size') * 1024, - 'video_frame_rate_limit' => 240, - 'video_matrix_limit' => 3686400 + 'contact' => [ + 'email' => config('instance.email'), + 'account' => $contact ], - 'polls' => [ - 'max_options' => 4, - 'max_characters_per_option' => 50, - 'min_expiration' => 300, - 'max_expiration' => 2629746, - ], - 'translation' => [ - 'enabled' => false, - ], - ], - 'registrations' => [ - 'enabled' => (bool) config_cache('pixelfed.open_registration'), - 'approval_required' => false, - 'message' => null - ], - 'contact' => [ - 'email' => config('instance.email'), - 'account' => $contact - ], - 'rules' => $rules - ]; + 'rules' => $rules + ]; + }); + $res['registrations']['enabled'] = (bool) config_cache('pixelfed.open_registration'); + $res['registrations']['approval_required'] = (bool) config_cache('instance.curated_registration.enabled'); return response()->json($res, 200, [], JSON_UNESCAPED_SLASHES); } diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 8c10e5d0c..8bdd57bf8 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -174,7 +174,7 @@ class RegisterController extends Controller */ public function showRegistrationForm() { - if(config_cache('pixelfed.open_registration')) { + if((bool) config_cache('pixelfed.open_registration')) { if(config('pixelfed.bouncer.cloud_ips.ban_signups')) { abort_if(BouncerService::checkIp(request()->ip()), 404); } @@ -191,7 +191,11 @@ class RegisterController extends Controller return view('auth.register'); } } else { - abort(404); + if((bool) config_cache('instance.curated_registration.enabled') && config('instance.curated_registration.state.fallback_on_closed_reg')) { + return redirect('/auth/sign_up'); + } else { + abort(404); + } } } diff --git a/app/Http/Controllers/CuratedRegisterController.php b/app/Http/Controllers/CuratedRegisterController.php new file mode 100644 index 000000000..73bd17bff --- /dev/null +++ b/app/Http/Controllers/CuratedRegisterController.php @@ -0,0 +1,398 @@ +user(), 404); + return view('auth.curated-register.index', ['step' => 1]); + } + + public function concierge(Request $request) + { + abort_if($request->user(), 404); + $emailConfirmed = $request->session()->has('cur-reg-con.email-confirmed') && + $request->has('next') && + $request->session()->has('cur-reg-con.cr-id'); + return view('auth.curated-register.concierge', compact('emailConfirmed')); + } + + public function conciergeResponseSent(Request $request) + { + return view('auth.curated-register.user_response_sent'); + } + + public function conciergeFormShow(Request $request) + { + abort_if($request->user(), 404); + abort_unless( + $request->session()->has('cur-reg-con.email-confirmed') && + $request->session()->has('cur-reg-con.cr-id') && + $request->session()->has('cur-reg-con.ac-id'), 404); + $crid = $request->session()->get('cur-reg-con.cr-id'); + $arid = $request->session()->get('cur-reg-con.ac-id'); + $showCaptcha = config('instance.curated_registration.captcha_enabled'); + if($attempts = $request->session()->get('cur-reg-con-attempt')) { + $showCaptcha = $attempts && $attempts >= 2; + } else { + $showCaptcha = false; + } + $activity = CuratedRegisterActivity::whereRegisterId($crid)->whereFromAdmin(true)->findOrFail($arid); + return view('auth.curated-register.concierge_form', compact('activity', 'showCaptcha')); + } + + public function conciergeFormStore(Request $request) + { + abort_if($request->user(), 404); + $request->session()->increment('cur-reg-con-attempt'); + abort_unless( + $request->session()->has('cur-reg-con.email-confirmed') && + $request->session()->has('cur-reg-con.cr-id') && + $request->session()->has('cur-reg-con.ac-id'), 404); + $attempts = $request->session()->get('cur-reg-con-attempt'); + $messages = []; + $rules = [ + 'response' => 'required|string|min:5|max:1000', + 'crid' => 'required|integer|min:1', + 'acid' => 'required|integer|min:1' + ]; + if(config('instance.curated_registration.captcha_enabled') && $attempts >= 3) { + $rules['h-captcha-response'] = 'required|captcha'; + $messages['h-captcha-response.required'] = 'The captcha must be filled'; + } + $this->validate($request, $rules, $messages); + $crid = $request->session()->get('cur-reg-con.cr-id'); + $acid = $request->session()->get('cur-reg-con.ac-id'); + abort_if((string) $crid !== $request->input('crid'), 404); + abort_if((string) $acid !== $request->input('acid'), 404); + + if(CuratedRegisterActivity::whereRegisterId($crid)->whereReplyToId($acid)->exists()) { + return redirect()->back()->withErrors(['code' => 'You already replied to this request.']); + } + + $act = CuratedRegisterActivity::create([ + 'register_id' => $crid, + 'reply_to_id' => $acid, + 'type' => 'user_response', + 'message' => $request->input('response'), + 'from_user' => true, + 'action_required' => true, + ]); + + $request->session()->pull('cur-reg-con'); + $request->session()->pull('cur-reg-con-attempt'); + + return view('auth.curated-register.user_response_sent'); + } + + public function conciergeStore(Request $request) + { + abort_if($request->user(), 404); + $rules = [ + 'sid' => 'required_if:action,email|integer|min:1|max:20000000', + 'id' => 'required_if:action,email|integer|min:1|max:20000000', + 'code' => 'required_if:action,email', + 'action' => 'required|string|in:email,message', + 'email' => 'required_if:action,email|email', + 'response' => 'required_if:action,message|string|min:20|max:1000', + ]; + $messages = []; + if(config('instance.curated_registration.captcha_enabled')) { + $rules['h-captcha-response'] = 'required|captcha'; + $messages['h-captcha-response.required'] = 'The captcha must be filled'; + } + $this->validate($request, $rules, $messages); + + $action = $request->input('action'); + $sid = $request->input('sid'); + $id = $request->input('id'); + $code = $request->input('code'); + $email = $request->input('email'); + + $cr = CuratedRegister::whereIsClosed(false)->findOrFail($sid); + $ac = CuratedRegisterActivity::whereRegisterId($cr->id)->whereFromAdmin(true)->findOrFail($id); + + if(!hash_equals($ac->secret_code, $code)) { + return redirect()->back()->withErrors(['code' => 'Invalid code']); + } + + if(!hash_equals($cr->email, $email)) { + return redirect()->back()->withErrors(['email' => 'Invalid email']); + } + + $request->session()->put('cur-reg-con.email-confirmed', true); + $request->session()->put('cur-reg-con.cr-id', $cr->id); + $request->session()->put('cur-reg-con.ac-id', $ac->id); + $emailConfirmed = true; + return redirect('/auth/sign_up/concierge/form'); + } + + public function confirmEmail(Request $request) + { + if($request->user()) { + return redirect(route('help.email-confirmation-issues')); + } + return view('auth.curated-register.confirm_email'); + } + + public function emailConfirmed(Request $request) + { + if($request->user()) { + return redirect(route('help.email-confirmation-issues')); + } + return view('auth.curated-register.email_confirmed'); + } + + public function resendConfirmation(Request $request) + { + return view('auth.curated-register.resend-confirmation'); + } + + public function resendConfirmationProcess(Request $request) + { + $rules = [ + 'email' => [ + 'required', + 'string', + app()->environment() === 'production' ? 'email:rfc,dns,spoof' : 'email', + 'exists:curated_registers', + ] + ]; + + $messages = []; + + if(config('instance.curated_registration.captcha_enabled')) { + $rules['h-captcha-response'] = 'required|captcha'; + $messages['h-captcha-response.required'] = 'The captcha must be filled'; + } + + $this->validate($request, $rules, $messages); + + $cur = CuratedRegister::whereEmail($request->input('email'))->whereIsClosed(false)->first(); + if(!$cur) { + return redirect()->back()->withErrors(['email' => 'The selected email is invalid.']); + } + + $totalCount = CuratedRegisterActivity::whereRegisterId($cur->id) + ->whereType('user_resend_email_confirmation') + ->count(); + + if($totalCount && $totalCount >= config('instance.curated_registration.resend_confirmation_limit')) { + return redirect()->back()->withErrors(['email' => 'You have re-attempted too many times. To proceed with your application, please contact the admin team.']); + } + + $count = CuratedRegisterActivity::whereRegisterId($cur->id) + ->whereType('user_resend_email_confirmation') + ->where('created_at', '>', now()->subHours(12)) + ->count(); + + if($count) { + return redirect()->back()->withErrors(['email' => 'You can only re-send the confirmation email once per 12 hours. Try again later.']); + } + + CuratedRegisterActivity::create([ + 'register_id' => $cur->id, + 'type' => 'user_resend_email_confirmation', + 'admin_only_view' => true, + 'from_admin' => false, + 'from_user' => false, + 'action_required' => false, + ]); + + Mail::to($cur->email)->send(new CuratedRegisterConfirmEmail($cur)); + return view('auth.curated-register.resent-confirmation'); + return $request->all(); + } + + public function confirmEmailHandle(Request $request) + { + $rules = [ + 'sid' => 'required', + 'code' => 'required' + ]; + $messages = []; + if(config('instance.curated_registration.captcha_enabled')) { + $rules['h-captcha-response'] = 'required|captcha'; + $messages['h-captcha-response.required'] = 'The captcha must be filled'; + } + $this->validate($request, $rules, $messages); + + $cr = CuratedRegister::whereNull('email_verified_at') + ->where('created_at', '>', now()->subHours(24)) + ->find($request->input('sid')); + if(!$cr) { + return redirect(route('help.email-confirmation-issues')); + } + if(!hash_equals($cr->verify_code, $request->input('code'))) { + return redirect(route('help.email-confirmation-issues')); + } + $cr->email_verified_at = now(); + $cr->save(); + + if(config('instance.curated_registration.notify.admin.on_verify_email.enabled')) { + CuratedOnboardingNotifyAdminNewApplicationPipeline::dispatch($cr); + } + return view('auth.curated-register.email_confirmed'); + } + + public function proceed(Request $request) + { + $this->validate($request, [ + 'step' => 'required|integer|in:1,2,3,4' + ]); + $step = $request->input('step'); + + switch($step) { + case 1: + $step = 2; + $request->session()->put('cur-step', 1); + return view('auth.curated-register.index', compact('step')); + break; + + case 2: + $this->stepTwo($request); + $step = 3; + $request->session()->put('cur-step', 2); + return view('auth.curated-register.index', compact('step')); + break; + + case 3: + $this->stepThree($request); + $step = 3; + $request->session()->put('cur-step', 3); + $verifiedEmail = true; + $request->session()->pull('cur-reg'); + return view('auth.curated-register.index', compact('step', 'verifiedEmail')); + break; + } + } + + protected function stepTwo($request) + { + if($request->filled('reason')) { + $request->session()->put('cur-reg.form-reason', $request->input('reason')); + } + if($request->filled('username')) { + $request->session()->put('cur-reg.form-username', $request->input('username')); + } + if($request->filled('email')) { + $request->session()->put('cur-reg.form-email', $request->input('email')); + } + $this->validate($request, [ + 'username' => [ + 'required', + 'min:2', + 'max:15', + 'unique:curated_registers', + 'unique:users', + function ($attribute, $value, $fail) { + $dash = substr_count($value, '-'); + $underscore = substr_count($value, '_'); + $period = substr_count($value, '.'); + + if(ends_with($value, ['.php', '.js', '.css'])) { + return $fail('Username is invalid.'); + } + + if(($dash + $underscore + $period) > 1) { + return $fail('Username is invalid. Can only contain one dash (-), period (.) or underscore (_).'); + } + + if (!ctype_alnum($value[0])) { + return $fail('Username is invalid. Must start with a letter or number.'); + } + + if (!ctype_alnum($value[strlen($value) - 1])) { + return $fail('Username is invalid. Must end with a letter or number.'); + } + + $val = str_replace(['_', '.', '-'], '', $value); + if(!ctype_alnum($val)) { + return $fail('Username is invalid. Username must be alpha-numeric and may contain dashes (-), periods (.) and underscores (_).'); + } + + $restricted = RestrictedNames::get(); + if (in_array(strtolower($value), array_map('strtolower', $restricted))) { + return $fail('Username cannot be used.'); + } + }, + ], + 'email' => [ + 'required', + 'string', + app()->environment() === 'production' ? 'email:rfc,dns,spoof' : 'email', + 'max:255', + 'unique:users', + 'unique:curated_registers', + function ($attribute, $value, $fail) { + $banned = EmailService::isBanned($value); + if($banned) { + return $fail('Email is invalid.'); + } + }, + ], + 'password' => 'required|min:8', + 'password_confirmation' => 'required|same:password', + 'reason' => 'required|min:20|max:1000', + 'agree' => 'required|accepted' + ]); + $request->session()->put('cur-reg.form-email', $request->input('email')); + $request->session()->put('cur-reg.form-password', $request->input('password')); + } + + protected function stepThree($request) + { + $this->validate($request, [ + 'email' => [ + 'required', + 'string', + app()->environment() === 'production' ? 'email:rfc,dns,spoof' : 'email', + 'max:255', + 'unique:users', + 'unique:curated_registers', + function ($attribute, $value, $fail) { + $banned = EmailService::isBanned($value); + if($banned) { + return $fail('Email is invalid.'); + } + }, + ] + ]); + $cr = new CuratedRegister; + $cr->email = $request->email; + $cr->username = $request->session()->get('cur-reg.form-username'); + $cr->password = bcrypt($request->session()->get('cur-reg.form-password')); + $cr->ip_address = $request->ip(); + $cr->reason_to_join = $request->session()->get('cur-reg.form-reason'); + $cr->verify_code = Str::random(40); + $cr->save(); + + Mail::to($cr->email)->send(new CuratedRegisterConfirmEmail($cr)); + } +} diff --git a/app/Jobs/CuratedOnboarding/CuratedOnboardingNotifyAdminNewApplicationPipeline.php b/app/Jobs/CuratedOnboarding/CuratedOnboardingNotifyAdminNewApplicationPipeline.php new file mode 100644 index 000000000..a1b5f279a --- /dev/null +++ b/app/Jobs/CuratedOnboarding/CuratedOnboardingNotifyAdminNewApplicationPipeline.php @@ -0,0 +1,65 @@ +cr = $cr; + } + + /** + * Execute the job. + */ + public function handle(): void + { + if(!config('instance.curated_registration.notify.admin.on_verify_email.enabled')) { + return; + } + + config('instance.curated_registration.notify.admin.on_verify_email.bundle') ? + $this->handleBundled() : + $this->handleUnbundled(); + } + + protected function handleBundled() + { + $cr = $this->cr; + Storage::append('conanap.json', json_encode([ + 'id' => $cr->id, + 'email' => $cr->email, + 'created_at' => $cr->created_at, + 'updated_at' => $cr->updated_at, + ])); + } + + protected function handleUnbundled() + { + $cr = $this->cr; + if($aid = config_cache('instance.admin.pid')) { + $admin = User::whereProfileId($aid)->first(); + if($admin && $admin->email) { + Mail::to($admin->email)->send(new CuratedRegisterNotifyAdmin($cr)); + } + } + } +} diff --git a/app/Mail/CuratedRegisterAcceptUser.php b/app/Mail/CuratedRegisterAcceptUser.php new file mode 100644 index 000000000..a87278ace --- /dev/null +++ b/app/Mail/CuratedRegisterAcceptUser.php @@ -0,0 +1,55 @@ +verify = $verify; + } + + /** + * Get the message envelope. + */ + public function envelope(): Envelope + { + return new Envelope( + subject: 'Your ' . config('pixelfed.domain.app') . ' Registration Update', + ); + } + + /** + * Get the message content definition. + */ + public function content(): Content + { + return new Content( + markdown: 'emails.curated-register.request-accepted', + ); + } + + /** + * Get the attachments for the message. + * + * @return array + */ + public function attachments(): array + { + return []; + } +} diff --git a/app/Mail/CuratedRegisterConfirmEmail.php b/app/Mail/CuratedRegisterConfirmEmail.php new file mode 100644 index 000000000..bf06c4311 --- /dev/null +++ b/app/Mail/CuratedRegisterConfirmEmail.php @@ -0,0 +1,55 @@ +verify = $verify; + } + + /** + * Get the message envelope. + */ + public function envelope(): Envelope + { + return new Envelope( + subject: 'Welcome to Pixelfed! Please Confirm Your Email', + ); + } + + /** + * Get the message content definition. + */ + public function content(): Content + { + return new Content( + markdown: 'emails.curated-register.confirm_email', + ); + } + + /** + * Get the attachments for the message. + * + * @return array + */ + public function attachments(): array + { + return []; + } +} diff --git a/app/Mail/CuratedRegisterNotifyAdmin.php b/app/Mail/CuratedRegisterNotifyAdmin.php new file mode 100644 index 000000000..28bdad971 --- /dev/null +++ b/app/Mail/CuratedRegisterNotifyAdmin.php @@ -0,0 +1,55 @@ +verify = $verify; + } + + /** + * Get the message envelope. + */ + public function envelope(): Envelope + { + return new Envelope( + subject: '[Requires Action]: New Curated Onboarding Application', + ); + } + + /** + * Get the message content definition. + */ + public function content(): Content + { + return new Content( + markdown: 'emails.curated-register.admin_notify', + ); + } + + /** + * Get the attachments for the message. + * + * @return array + */ + public function attachments(): array + { + return []; + } +} diff --git a/app/Mail/CuratedRegisterNotifyAdminUserResponse.php b/app/Mail/CuratedRegisterNotifyAdminUserResponse.php new file mode 100644 index 000000000..bc54d5c3e --- /dev/null +++ b/app/Mail/CuratedRegisterNotifyAdminUserResponse.php @@ -0,0 +1,55 @@ +activity = $activity; + } + + /** + * Get the message envelope. + */ + public function envelope(): Envelope + { + return new Envelope( + subject: 'Curated Register Notify Admin User Response', + ); + } + + /** + * Get the message content definition. + */ + public function content(): Content + { + return new Content( + markdown: 'emails.curated-register.admin_notify_user_response', + ); + } + + /** + * Get the attachments for the message. + * + * @return array + */ + public function attachments(): array + { + return []; + } +} diff --git a/app/Mail/CuratedRegisterRejectUser.php b/app/Mail/CuratedRegisterRejectUser.php new file mode 100644 index 000000000..448ea8462 --- /dev/null +++ b/app/Mail/CuratedRegisterRejectUser.php @@ -0,0 +1,55 @@ +verify = $verify; + } + + /** + * Get the message envelope. + */ + public function envelope(): Envelope + { + return new Envelope( + subject: 'Your ' . config('pixelfed.domain.app') . ' Registration Update', + ); + } + + /** + * Get the message content definition. + */ + public function content(): Content + { + return new Content( + markdown: 'emails.curated-register.request-rejected', + ); + } + + /** + * Get the attachments for the message. + * + * @return array + */ + public function attachments(): array + { + return []; + } +} diff --git a/app/Mail/CuratedRegisterRequestDetailsFromUser.php b/app/Mail/CuratedRegisterRequestDetailsFromUser.php new file mode 100644 index 000000000..b0ff1bb4d --- /dev/null +++ b/app/Mail/CuratedRegisterRequestDetailsFromUser.php @@ -0,0 +1,58 @@ +verify = $verify; + $this->activity = $activity; + } + + /** + * Get the message envelope. + */ + public function envelope(): Envelope + { + return new Envelope( + subject: '[Action Needed]: Additional information requested', + ); + } + + /** + * Get the message content definition. + */ + public function content(): Content + { + return new Content( + markdown: 'emails.curated-register.request-details-from-user', + ); + } + + /** + * Get the attachments for the message. + * + * @return array + */ + public function attachments(): array + { + return []; + } +} diff --git a/app/Mail/CuratedRegisterSendMessage.php b/app/Mail/CuratedRegisterSendMessage.php new file mode 100644 index 000000000..20ffc2749 --- /dev/null +++ b/app/Mail/CuratedRegisterSendMessage.php @@ -0,0 +1,55 @@ +verify = $verify; + } + + /** + * Get the message envelope. + */ + public function envelope(): Envelope + { + return new Envelope( + subject: 'Your ' . config('pixelfed.domain.app') . ' Registration Update', + ); + } + + /** + * Get the message content definition. + */ + public function content(): Content + { + return new Content( + markdown: 'emails.curated-register.message-from-admin', + ); + } + + /** + * Get the attachments for the message. + * + * @return array + */ + public function attachments(): array + { + return []; + } +} diff --git a/app/Models/CuratedRegister.php b/app/Models/CuratedRegister.php new file mode 100644 index 000000000..edb4e1b22 --- /dev/null +++ b/app/Models/CuratedRegister.php @@ -0,0 +1,49 @@ + 'array', + 'admin_notes' => 'array', + 'email_verified_at' => 'datetime', + 'admin_notified_at' => 'datetime', + 'action_taken_at' => 'datetime', + ]; + + public function adminStatusLabel() + { + if(!$this->email_verified_at) { + return 'Unverified email'; + } + if($this->is_accepted) { return 'Approved'; } + if($this->is_rejected) { return 'Rejected'; } + if($this->is_awaiting_more_info ) { + return 'Awaiting Details'; + } + if($this->is_closed ) { return 'Closed'; } + + return 'Open'; + } + + public function emailConfirmUrl() + { + return url('/auth/sign_up/confirm?sid=' . $this->id . '&code=' . $this->verify_code); + } + + public function emailReplyUrl() + { + return url('/auth/sign_up/concierge?sid=' . $this->id . '&code=' . $this->verify_code . '&sc=' . str_random(8)); + } + + public function adminReviewUrl() + { + return url('/i/admin/curated-onboarding/show/' . $this->id); + } +} diff --git a/app/Models/CuratedRegisterActivity.php b/app/Models/CuratedRegisterActivity.php new file mode 100644 index 000000000..5b5071e01 --- /dev/null +++ b/app/Models/CuratedRegisterActivity.php @@ -0,0 +1,38 @@ + 'array', + 'admin_notified_at' => 'datetime', + 'action_taken_at' => 'datetime', + ]; + + public function application() + { + return $this->belongsTo(CuratedRegister::class, 'register_id'); + } + + public function emailReplyUrl() + { + return url('/auth/sign_up/concierge?sid='.$this->register_id . '&id=' . $this->id . '&code=' . $this->secret_code); + } + + public function adminReviewUrl() + { + $url = '/i/admin/curated-onboarding/show/' . $this->register_id . '/?ah=' . $this->id; + if($this->reply_to_id) { + $url .= '&rtid=' . $this->reply_to_id; + } + return url($url); + } +} diff --git a/app/Services/ConfigCacheService.php b/app/Services/ConfigCacheService.php index 9da5c8adc..65d9a8337 100644 --- a/app/Services/ConfigCacheService.php +++ b/app/Services/ConfigCacheService.php @@ -72,6 +72,8 @@ class ConfigCacheService 'instance.banner.blurhash', 'autospam.nlp.enabled', + + 'instance.curated_registration.enabled', // 'system.user_mode' ]; diff --git a/app/Services/LandingService.php b/app/Services/LandingService.php index ba16af5b6..199768b86 100644 --- a/app/Services/LandingService.php +++ b/app/Services/LandingService.php @@ -48,13 +48,16 @@ class LandingService ->toArray() : []; }); + $openReg = (bool) config_cache('pixelfed.open_registration'); + $res = [ 'name' => config_cache('app.name'), 'url' => config_cache('app.url'), 'domain' => config('pixelfed.domain.app'), 'show_directory' => config_cache('instance.landing.show_directory'), 'show_explore_feed' => config_cache('instance.landing.show_explore'), - 'open_registration' => config_cache('pixelfed.open_registration') == 1, + 'open_registration' => (bool) $openReg, + 'curated_onboarding' => (bool) config_cache('instance.curated_registration.enabled'), 'version' => config('pixelfed.version'), 'about' => [ 'banner_image' => config_cache('app.banner_image') ?? url('/storage/headers/default.jpg'), diff --git a/composer.json b/composer.json index 285d38ccd..08c0af239 100644 --- a/composer.json +++ b/composer.json @@ -5,7 +5,7 @@ "license": "AGPL-3.0-only", "type": "project", "require": { - "php": "^8.1|^8.2", + "php": "^8.1|^8.2|^8.3", "ext-bcmath": "*", "ext-ctype": "*", "ext-curl": "*", diff --git a/composer.lock b/composer.lock index 12c097343..bfd4b920b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "74351c8a36870209c9bbfb76d158a10c", + "content-hash": "00f283796faf6517a8d98f9080440b7f", "packages": [ { "name": "aws/aws-crt-php", @@ -62,16 +62,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.293.2", + "version": "3.299.1", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "1d3e952ea2f45bb0d42d7f873d1b4957bb6362c4" + "reference": "a0f87b8e8bfb9afd0ffd702fcda556b465eee457" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/1d3e952ea2f45bb0d42d7f873d1b4957bb6362c4", - "reference": "1d3e952ea2f45bb0d42d7f873d1b4957bb6362c4", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/a0f87b8e8bfb9afd0ffd702fcda556b465eee457", + "reference": "a0f87b8e8bfb9afd0ffd702fcda556b465eee457", "shasum": "" }, "require": { @@ -151,9 +151,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.293.2" + "source": "https://github.com/aws/aws-sdk-php/tree/3.299.1" }, - "time": "2023-12-01T19:06:15+00:00" + "time": "2024-02-16T19:08:34+00:00" }, { "name": "bacon/bacon-qr-code", @@ -426,16 +426,16 @@ }, { "name": "carbonphp/carbon-doctrine-types", - "version": "2.0.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git", - "reference": "67a77972b9f398ae7068dabacc39c08aeee170d5" + "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/67a77972b9f398ae7068dabacc39c08aeee170d5", - "reference": "67a77972b9f398ae7068dabacc39c08aeee170d5", + "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", + "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", "shasum": "" }, "require": { @@ -475,7 +475,7 @@ ], "support": { "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", - "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.0.0" + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0" }, "funding": [ { @@ -491,7 +491,7 @@ "type": "tidelift" } ], - "time": "2023-10-01T14:29:01+00:00" + "time": "2023-12-11T17:09:12+00:00" }, { "name": "cboden/ratchet", @@ -843,16 +843,16 @@ }, { "name": "doctrine/dbal", - "version": "3.7.2", + "version": "3.8.2", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "0ac3c270590e54910715e9a1a044cc368df282b2" + "reference": "a19a1d05ca211f41089dffcc387733a6875196cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/0ac3c270590e54910715e9a1a044cc368df282b2", - "reference": "0ac3c270590e54910715e9a1a044cc368df282b2", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/a19a1d05ca211f41089dffcc387733a6875196cb", + "reference": "a19a1d05ca211f41089dffcc387733a6875196cb", "shasum": "" }, "require": { @@ -868,14 +868,14 @@ "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "1.10.42", + "phpstan/phpstan": "1.10.57", "phpstan/phpstan-strict-rules": "^1.5", - "phpunit/phpunit": "9.6.13", + "phpunit/phpunit": "9.6.16", "psalm/plugin-phpunit": "0.18.4", "slevomat/coding-standard": "8.13.1", - "squizlabs/php_codesniffer": "3.7.2", - "symfony/cache": "^5.4|^6.0", - "symfony/console": "^4.4|^5.4|^6.0", + "squizlabs/php_codesniffer": "3.8.1", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/console": "^4.4|^5.4|^6.0|^7.0", "vimeo/psalm": "4.30.0" }, "suggest": { @@ -936,7 +936,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.7.2" + "source": "https://github.com/doctrine/dbal/tree/3.8.2" }, "funding": [ { @@ -952,20 +952,20 @@ "type": "tidelift" } ], - "time": "2023-11-19T08:06:58+00:00" + "time": "2024-02-12T18:36:36+00:00" }, { "name": "doctrine/deprecations", - "version": "1.1.2", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", - "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", "shasum": "" }, "require": { @@ -997,9 +997,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.2" + "source": "https://github.com/doctrine/deprecations/tree/1.1.3" }, - "time": "2023-09-27T20:04:15+00:00" + "time": "2024-01-30T19:34:25+00:00" }, { "name": "doctrine/event-manager", @@ -1094,16 +1094,16 @@ }, { "name": "doctrine/inflector", - "version": "2.0.8", + "version": "2.0.10", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff" + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/f9301a5b2fb1216b2b08f02ba04dc45423db6bff", - "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc", "shasum": "" }, "require": { @@ -1165,7 +1165,7 @@ ], "support": { "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.8" + "source": "https://github.com/doctrine/inflector/tree/2.0.10" }, "funding": [ { @@ -1181,31 +1181,31 @@ "type": "tidelift" } ], - "time": "2023-06-16T13:40:37+00:00" + "time": "2024-02-18T20:23:39+00:00" }, { "name": "doctrine/lexer", - "version": "3.0.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "84a527db05647743d50373e0ec53a152f2cde568" + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/84a527db05647743d50373e0ec53a152f2cde568", - "reference": "84a527db05647743d50373e0ec53a152f2cde568", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", "shasum": "" }, "require": { "php": "^8.1" }, "require-dev": { - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.9", - "phpunit/phpunit": "^9.5", + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5", "psalm/plugin-phpunit": "^0.18.3", - "vimeo/psalm": "^5.0" + "vimeo/psalm": "^5.21" }, "type": "library", "autoload": { @@ -1242,7 +1242,7 @@ ], "support": { "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/3.0.0" + "source": "https://github.com/doctrine/lexer/tree/3.0.1" }, "funding": [ { @@ -1258,7 +1258,7 @@ "type": "tidelift" } ], - "time": "2022-12-15T16:57:16+00:00" + "time": "2024-02-05T11:56:58+00:00" }, { "name": "dragonmantank/cron-expression", @@ -2567,20 +2567,20 @@ }, { "name": "laravel/framework", - "version": "v10.34.2", + "version": "v10.44.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "c581caa233e380610b34cc491490bfa147a3b62b" + "reference": "1199dbe361787bbe9648131a79f53921b4148cf6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/c581caa233e380610b34cc491490bfa147a3b62b", - "reference": "c581caa233e380610b34cc491490bfa147a3b62b", + "url": "https://api.github.com/repos/laravel/framework/zipball/1199dbe361787bbe9648131a79f53921b4148cf6", + "reference": "1199dbe361787bbe9648131a79f53921b4148cf6", "shasum": "" }, "require": { - "brick/math": "^0.9.3|^0.10.2|^0.11", + "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12", "composer-runtime-api": "^2.2", "doctrine/inflector": "^2.0.5", "dragonmantank/cron-expression": "^3.3.2", @@ -2609,7 +2609,7 @@ "symfony/console": "^6.2", "symfony/error-handler": "^6.2", "symfony/finder": "^6.2", - "symfony/http-foundation": "^6.3", + "symfony/http-foundation": "^6.4", "symfony/http-kernel": "^6.2", "symfony/mailer": "^6.2", "symfony/mime": "^6.2", @@ -2622,6 +2622,9 @@ "voku/portable-ascii": "^2.0" }, "conflict": { + "carbonphp/carbon-doctrine-types": ">=3.0", + "doctrine/dbal": ">=4.0", + "phpunit/phpunit": ">=11.0.0", "tightenco/collect": "<5.5.33" }, "provide": { @@ -2677,7 +2680,7 @@ "league/flysystem-sftp-v3": "^3.0", "mockery/mockery": "^1.5.1", "nyholm/psr7": "^1.2", - "orchestra/testbench-core": "^8.15.1", + "orchestra/testbench-core": "^8.18", "pda/pheanstalk": "^4.0", "phpstan/phpstan": "^1.4.7", "phpunit/phpunit": "^10.0.7", @@ -2733,6 +2736,7 @@ "files": [ "src/Illuminate/Collections/helpers.php", "src/Illuminate/Events/functions.php", + "src/Illuminate/Filesystem/functions.php", "src/Illuminate/Foundation/helpers.php", "src/Illuminate/Support/helpers.php" ], @@ -2765,28 +2769,29 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-11-28T19:06:27+00:00" + "time": "2024-02-13T16:01:16+00:00" }, { "name": "laravel/helpers", - "version": "v1.6.0", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/laravel/helpers.git", - "reference": "4dd0f9436d3911611622a6ced8329a1710576f60" + "reference": "6caaa242a23bc39b4e3cf57304b5409260a7a346" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/helpers/zipball/4dd0f9436d3911611622a6ced8329a1710576f60", - "reference": "4dd0f9436d3911611622a6ced8329a1710576f60", + "url": "https://api.github.com/repos/laravel/helpers/zipball/6caaa242a23bc39b4e3cf57304b5409260a7a346", + "reference": "6caaa242a23bc39b4e3cf57304b5409260a7a346", "shasum": "" }, "require": { - "illuminate/support": "~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0", - "php": "^7.1.3|^8.0" + "illuminate/support": "~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "php": "^7.2.0|^8.0" }, "require-dev": { - "phpunit/phpunit": "^7.0|^8.0|^9.0" + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^7.0|^8.0|^9.0|^10.0" }, "type": "library", "extra": { @@ -2819,42 +2824,42 @@ "laravel" ], "support": { - "source": "https://github.com/laravel/helpers/tree/v1.6.0" + "source": "https://github.com/laravel/helpers/tree/v1.7.0" }, - "time": "2023-01-09T14:48:11+00:00" + "time": "2023-11-30T14:09:05+00:00" }, { "name": "laravel/horizon", - "version": "v5.21.4", + "version": "v5.23.0", "source": { "type": "git", "url": "https://github.com/laravel/horizon.git", - "reference": "bdf58c84b592b83f62262cc6ca98b0debbbc308b" + "reference": "0b1bf46b21c397fdbe80b1ab54451fd227934508" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/horizon/zipball/bdf58c84b592b83f62262cc6ca98b0debbbc308b", - "reference": "bdf58c84b592b83f62262cc6ca98b0debbbc308b", + "url": "https://api.github.com/repos/laravel/horizon/zipball/0b1bf46b21c397fdbe80b1ab54451fd227934508", + "reference": "0b1bf46b21c397fdbe80b1ab54451fd227934508", "shasum": "" }, "require": { "ext-json": "*", "ext-pcntl": "*", "ext-posix": "*", - "illuminate/contracts": "^8.17|^9.0|^10.0", - "illuminate/queue": "^8.17|^9.0|^10.0", - "illuminate/support": "^8.17|^9.0|^10.0", - "nesbot/carbon": "^2.17", - "php": "^7.3|^8.0", + "illuminate/contracts": "^9.21|^10.0|^11.0", + "illuminate/queue": "^9.21|^10.0|^11.0", + "illuminate/support": "^9.21|^10.0|^11.0", + "nesbot/carbon": "^2.17|^3.0", + "php": "^8.0", "ramsey/uuid": "^4.0", - "symfony/error-handler": "^5.0|^6.0", - "symfony/process": "^5.0|^6.0" + "symfony/error-handler": "^6.0|^7.0", + "symfony/process": "^6.0|^7.0" }, "require-dev": { "mockery/mockery": "^1.0", - "orchestra/testbench": "^6.0|^7.0|^8.0", + "orchestra/testbench": "^7.0|^8.0|^9.0", "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^9.0", + "phpunit/phpunit": "^9.0|^10.4", "predis/predis": "^1.1|^2.0" }, "suggest": { @@ -2897,22 +2902,22 @@ ], "support": { "issues": "https://github.com/laravel/horizon/issues", - "source": "https://github.com/laravel/horizon/tree/v5.21.4" + "source": "https://github.com/laravel/horizon/tree/v5.23.0" }, - "time": "2023-11-23T15:47:58+00:00" + "time": "2024-02-12T18:36:34+00:00" }, { "name": "laravel/passport", - "version": "v11.10.0", + "version": "v11.10.5", "source": { "type": "git", "url": "https://github.com/laravel/passport.git", - "reference": "966bc8e477d08c86a11dc4c5a86f85fa0abdb89b" + "reference": "4d81207941d6efc198857847d9e4c17520f28d75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/passport/zipball/966bc8e477d08c86a11dc4c5a86f85fa0abdb89b", - "reference": "966bc8e477d08c86a11dc4c5a86f85fa0abdb89b", + "url": "https://api.github.com/repos/laravel/passport/zipball/4d81207941d6efc198857847d9e4c17520f28d75", + "reference": "4d81207941d6efc198857847d9e4c17520f28d75", "shasum": "" }, "require": { @@ -2977,20 +2982,20 @@ "issues": "https://github.com/laravel/passport/issues", "source": "https://github.com/laravel/passport" }, - "time": "2023-11-02T17:16:12+00:00" + "time": "2024-02-09T16:27:49+00:00" }, { "name": "laravel/prompts", - "version": "v0.1.13", + "version": "v0.1.15", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "e1379d8ead15edd6cc4369c22274345982edc95a" + "reference": "d814a27514d99b03c85aa42b22cfd946568636c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/e1379d8ead15edd6cc4369c22274345982edc95a", - "reference": "e1379d8ead15edd6cc4369c22274345982edc95a", + "url": "https://api.github.com/repos/laravel/prompts/zipball/d814a27514d99b03c85aa42b22cfd946568636c1", + "reference": "d814a27514d99b03c85aa42b22cfd946568636c1", "shasum": "" }, "require": { @@ -3006,7 +3011,7 @@ "require-dev": { "mockery/mockery": "^1.5", "pestphp/pest": "^2.3", - "phpstan/phpstan": "^1.10", + "phpstan/phpstan": "^1.11", "phpstan/phpstan-mockery": "^1.1" }, "suggest": { @@ -3032,9 +3037,9 @@ ], "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.1.13" + "source": "https://github.com/laravel/prompts/tree/v0.1.15" }, - "time": "2023-10-27T13:53:59+00:00" + "time": "2023-12-29T22:37:42+00:00" }, { "name": "laravel/serializable-closure", @@ -3098,25 +3103,25 @@ }, { "name": "laravel/tinker", - "version": "v2.8.2", + "version": "v2.9.0", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "b936d415b252b499e8c3b1f795cd4fc20f57e1f3" + "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/b936d415b252b499e8c3b1f795cd4fc20f57e1f3", - "reference": "b936d415b252b499e8c3b1f795cd4fc20f57e1f3", + "url": "https://api.github.com/repos/laravel/tinker/zipball/502e0fe3f0415d06d5db1f83a472f0f3b754bafe", + "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe", "shasum": "" }, "require": { - "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0", - "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0", - "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0", + "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", "php": "^7.2.5|^8.0", - "psy/psysh": "^0.10.4|^0.11.1", - "symfony/var-dumper": "^4.3.4|^5.0|^6.0" + "psy/psysh": "^0.11.1|^0.12.0", + "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0" }, "require-dev": { "mockery/mockery": "~1.3.3|^1.4.2", @@ -3124,13 +3129,10 @@ "phpunit/phpunit": "^8.5.8|^9.3.3" }, "suggest": { - "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0)." + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0)." }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - }, "laravel": { "providers": [ "Laravel\\Tinker\\TinkerServiceProvider" @@ -3161,34 +3163,34 @@ ], "support": { "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.8.2" + "source": "https://github.com/laravel/tinker/tree/v2.9.0" }, - "time": "2023-08-15T14:27:00+00:00" + "time": "2024-01-04T16:10:04+00:00" }, { "name": "laravel/ui", - "version": "v4.2.3", + "version": "v4.4.0", "source": { "type": "git", "url": "https://github.com/laravel/ui.git", - "reference": "eb532ea096ca1c0298c87c19233daf011fda743a" + "reference": "7335d7049b2cde345c029e9d2de839b80af62bc0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/eb532ea096ca1c0298c87c19233daf011fda743a", - "reference": "eb532ea096ca1c0298c87c19233daf011fda743a", + "url": "https://api.github.com/repos/laravel/ui/zipball/7335d7049b2cde345c029e9d2de839b80af62bc0", + "reference": "7335d7049b2cde345c029e9d2de839b80af62bc0", "shasum": "" }, "require": { - "illuminate/console": "^9.21|^10.0", - "illuminate/filesystem": "^9.21|^10.0", - "illuminate/support": "^9.21|^10.0", - "illuminate/validation": "^9.21|^10.0", + "illuminate/console": "^9.21|^10.0|^11.0", + "illuminate/filesystem": "^9.21|^10.0|^11.0", + "illuminate/support": "^9.21|^10.0|^11.0", + "illuminate/validation": "^9.21|^10.0|^11.0", "php": "^8.0" }, "require-dev": { - "orchestra/testbench": "^7.0|^8.0", - "phpunit/phpunit": "^9.3" + "orchestra/testbench": "^7.0|^8.0|^9.0", + "phpunit/phpunit": "^9.3|^10.4" }, "type": "library", "extra": { @@ -3223,9 +3225,9 @@ "ui" ], "support": { - "source": "https://github.com/laravel/ui/tree/v4.2.3" + "source": "https://github.com/laravel/ui/tree/v4.4.0" }, - "time": "2023-11-23T14:44:22+00:00" + "time": "2024-01-12T15:56:45+00:00" }, { "name": "lcobucci/clock", @@ -3366,16 +3368,16 @@ }, { "name": "league/commonmark", - "version": "2.4.1", + "version": "2.4.2", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "3669d6d5f7a47a93c08ddff335e6d945481a1dd5" + "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/3669d6d5f7a47a93c08ddff335e6d945481a1dd5", - "reference": "3669d6d5f7a47a93c08ddff335e6d945481a1dd5", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/91c24291965bd6d7c46c46a12ba7492f83b1cadf", + "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf", "shasum": "" }, "require": { @@ -3388,7 +3390,7 @@ }, "require-dev": { "cebe/markdown": "^1.0", - "commonmark/cmark": "0.30.0", + "commonmark/cmark": "0.30.3", "commonmark/commonmark.js": "0.30.0", "composer/package-versions-deprecated": "^1.8", "embed/embed": "^4.4", @@ -3398,10 +3400,10 @@ "michelf/php-markdown": "^1.4 || ^2.0", "nyholm/psr7": "^1.5", "phpstan/phpstan": "^1.8.2", - "phpunit/phpunit": "^9.5.21", + "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", "scrutinizer/ocular": "^1.8.1", - "symfony/finder": "^5.3 | ^6.0", - "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0", + "symfony/finder": "^5.3 | ^6.0 || ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 || ^7.0", "unleashedtech/php-coding-standard": "^3.1.1", "vimeo/psalm": "^4.24.0 || ^5.0.0" }, @@ -3468,7 +3470,7 @@ "type": "tidelift" } ], - "time": "2023-08-30T16:55:00+00:00" + "time": "2024-02-02T11:59:32+00:00" }, { "name": "league/config", @@ -3608,16 +3610,16 @@ }, { "name": "league/flysystem", - "version": "3.22.0", + "version": "3.24.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "d18526ee587f265f091f47bb83f1d9a001ef6f36" + "reference": "b25a361508c407563b34fac6f64a8a17a8819675" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/d18526ee587f265f091f47bb83f1d9a001ef6f36", - "reference": "d18526ee587f265f091f47bb83f1d9a001ef6f36", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/b25a361508c407563b34fac6f64a8a17a8819675", + "reference": "b25a361508c407563b34fac6f64a8a17a8819675", "shasum": "" }, "require": { @@ -3637,7 +3639,7 @@ "require-dev": { "async-aws/s3": "^1.5 || ^2.0", "async-aws/simple-s3": "^1.1 || ^2.0", - "aws/aws-sdk-php": "^3.220.0", + "aws/aws-sdk-php": "^3.295.10", "composer/semver": "^3.0", "ext-fileinfo": "*", "ext-ftp": "*", @@ -3648,7 +3650,7 @@ "phpseclib/phpseclib": "^3.0.34", "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^9.5.11|^10.0", - "sabre/dav": "^4.3.1" + "sabre/dav": "^4.6.0" }, "type": "library", "autoload": { @@ -3682,7 +3684,7 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.22.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.24.0" }, "funding": [ { @@ -3694,24 +3696,24 @@ "type": "github" } ], - "time": "2023-12-03T18:35:53+00:00" + "time": "2024-02-04T12:10:17+00:00" }, { "name": "league/flysystem-aws-s3-v3", - "version": "3.22.0", + "version": "3.24.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git", - "reference": "9808919ee5d819730d9582d4e1673e8d195c38d8" + "reference": "809474e37b7fb1d1f8bcc0f8a98bc1cae99aa513" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/9808919ee5d819730d9582d4e1673e8d195c38d8", - "reference": "9808919ee5d819730d9582d4e1673e8d195c38d8", + "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/809474e37b7fb1d1f8bcc0f8a98bc1cae99aa513", + "reference": "809474e37b7fb1d1f8bcc0f8a98bc1cae99aa513", "shasum": "" }, "require": { - "aws/aws-sdk-php": "^3.220.0", + "aws/aws-sdk-php": "^3.295.10", "league/flysystem": "^3.10.0", "league/mime-type-detection": "^1.0.0", "php": "^8.0.2" @@ -3747,8 +3749,7 @@ "storage" ], "support": { - "issues": "https://github.com/thephpleague/flysystem-aws-s3-v3/issues", - "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.22.0" + "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.24.0" }, "funding": [ { @@ -3760,20 +3761,20 @@ "type": "github" } ], - "time": "2023-11-18T14:03:37+00:00" + "time": "2024-01-26T18:43:21+00:00" }, { "name": "league/flysystem-local", - "version": "3.22.0", + "version": "3.23.1", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "42dfb4eaafc4accd248180f0dd66f17073b40c4c" + "reference": "b884d2bf9b53bb4804a56d2df4902bb51e253f00" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/42dfb4eaafc4accd248180f0dd66f17073b40c4c", - "reference": "42dfb4eaafc4accd248180f0dd66f17073b40c4c", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/b884d2bf9b53bb4804a56d2df4902bb51e253f00", + "reference": "b884d2bf9b53bb4804a56d2df4902bb51e253f00", "shasum": "" }, "require": { @@ -3808,7 +3809,7 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem-local/issues", - "source": "https://github.com/thephpleague/flysystem-local/tree/3.22.0" + "source": "https://github.com/thephpleague/flysystem-local/tree/3.23.1" }, "funding": [ { @@ -3820,7 +3821,7 @@ "type": "github" } ], - "time": "2023-11-18T20:52:53+00:00" + "time": "2024-01-26T18:25:23+00:00" }, { "name": "league/iso3166", @@ -3882,16 +3883,16 @@ }, { "name": "league/mime-type-detection", - "version": "1.14.0", + "version": "1.15.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "b6a5854368533df0295c5761a0253656a2e52d9e" + "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/b6a5854368533df0295c5761a0253656a2e52d9e", - "reference": "b6a5854368533df0295c5761a0253656a2e52d9e", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", + "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", "shasum": "" }, "require": { @@ -3922,7 +3923,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.14.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.15.0" }, "funding": [ { @@ -3934,7 +3935,7 @@ "type": "tidelift" } ], - "time": "2023-10-17T14:13:20+00:00" + "time": "2024-01-28T23:22:08+00:00" }, { "name": "league/oauth2-server", @@ -4496,16 +4497,16 @@ }, { "name": "nesbot/carbon", - "version": "2.72.0", + "version": "2.72.3", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "a6885fcbad2ec4360b0e200ee0da7d9b7c90786b" + "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/a6885fcbad2ec4360b0e200ee0da7d9b7c90786b", - "reference": "a6885fcbad2ec4360b0e200ee0da7d9b7c90786b", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/0c6fd108360c562f6e4fd1dedb8233b423e91c83", + "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83", "shasum": "" }, "require": { @@ -4599,35 +4600,35 @@ "type": "tidelift" } ], - "time": "2023-11-28T10:13:25+00:00" + "time": "2024-01-25T10:35:09+00:00" }, { "name": "nette/schema", - "version": "v1.2.5", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a" + "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/0462f0166e823aad657c9224d0f849ecac1ba10a", - "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a", + "url": "https://api.github.com/repos/nette/schema/zipball/a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", + "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", "shasum": "" }, "require": { - "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", - "php": "7.1 - 8.3" + "nette/utils": "^4.0", + "php": "8.1 - 8.3" }, "require-dev": { - "nette/tester": "^2.3 || ^2.4", + "nette/tester": "^2.4", "phpstan/phpstan-nette": "^1.0", - "tracy/tracy": "^2.7" + "tracy/tracy": "^2.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "1.3-dev" } }, "autoload": { @@ -4659,22 +4660,22 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.2.5" + "source": "https://github.com/nette/schema/tree/v1.3.0" }, - "time": "2023-10-05T20:37:59+00:00" + "time": "2023-12-11T11:54:22+00:00" }, { "name": "nette/utils", - "version": "v4.0.3", + "version": "v4.0.4", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015" + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/a9d127dd6a203ce6d255b2e2db49759f7506e015", - "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015", + "url": "https://api.github.com/repos/nette/utils/zipball/d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218", "shasum": "" }, "require": { @@ -4745,31 +4746,33 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.3" + "source": "https://github.com/nette/utils/tree/v4.0.4" }, - "time": "2023-10-29T21:02:13+00:00" + "time": "2024-01-17T16:50:36+00:00" }, { "name": "nikic/php-parser", - "version": "v4.17.1", + "version": "v5.0.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d" + "reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", - "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4a21235f7e56e713259a6f76bf4b5ea08502b9dc", + "reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc", "shasum": "" }, "require": { + "ext-ctype": "*", + "ext-json": "*", "ext-tokenizer": "*", - "php": ">=7.0" + "php": ">=7.4" }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "bin": [ "bin/php-parse" @@ -4777,7 +4780,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.9-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -4801,9 +4804,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.0" }, - "time": "2023-08-13T19:53:39+00:00" + "time": "2024-01-07T17:17:35+00:00" }, { "name": "nunomaduro/termwind", @@ -5174,32 +5177,32 @@ }, { "name": "pbmedia/laravel-ffmpeg", - "version": "8.3.0", + "version": "8.4.0", "source": { "type": "git", "url": "https://github.com/protonemedia/laravel-ffmpeg.git", - "reference": "820e7f1290918233a59d85f25bc78796dc3f57bb" + "reference": "b16fd89fab3a37727711d3abc3e89229e3c4f14d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/protonemedia/laravel-ffmpeg/zipball/820e7f1290918233a59d85f25bc78796dc3f57bb", - "reference": "820e7f1290918233a59d85f25bc78796dc3f57bb", + "url": "https://api.github.com/repos/protonemedia/laravel-ffmpeg/zipball/b16fd89fab3a37727711d3abc3e89229e3c4f14d", + "reference": "b16fd89fab3a37727711d3abc3e89229e3c4f14d", "shasum": "" }, "require": { - "illuminate/contracts": "^9.0|^10.0", - "php": "^8.1|^8.2", - "php-ffmpeg/php-ffmpeg": "^1.1", - "ramsey/collection": "^1.0|^2.0" + "illuminate/contracts": "^10.0", + "php": "^8.1|^8.2|^8.3", + "php-ffmpeg/php-ffmpeg": "^1.2", + "ramsey/collection": "^2.0" }, "require-dev": { "league/flysystem-memory": "^3.10", "mockery/mockery": "^1.4.4", "nesbot/carbon": "^2.66", - "orchestra/testbench": "^7.0|^8.0", - "phpunit/phpunit": "^9.5.10", + "orchestra/testbench": "^8.0", + "phpunit/phpunit": "^10.4", "spatie/image": "^2.2", - "spatie/phpunit-snapshot-assertions": "^4.2" + "spatie/phpunit-snapshot-assertions": "^5.0" }, "type": "library", "extra": { @@ -5240,7 +5243,7 @@ ], "support": { "issues": "https://github.com/protonemedia/laravel-ffmpeg/issues", - "source": "https://github.com/protonemedia/laravel-ffmpeg/tree/8.3.0" + "source": "https://github.com/protonemedia/laravel-ffmpeg/tree/8.4.0" }, "funding": [ { @@ -5248,29 +5251,29 @@ "type": "github" } ], - "time": "2023-02-15T10:10:46+00:00" + "time": "2024-01-02T23:13:28+00:00" }, { "name": "php-ffmpeg/php-ffmpeg", - "version": "v1.1.0", + "version": "v1.2.0", "source": { "type": "git", "url": "https://github.com/PHP-FFMpeg/PHP-FFMpeg.git", - "reference": "eace6f174ff6d206ba648483ebe59760f7f6a0e1" + "reference": "785a5ba05dd88b3b8146f85f18476b259b23917c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-FFMpeg/PHP-FFMpeg/zipball/eace6f174ff6d206ba648483ebe59760f7f6a0e1", - "reference": "eace6f174ff6d206ba648483ebe59760f7f6a0e1", + "url": "https://api.github.com/repos/PHP-FFMpeg/PHP-FFMpeg/zipball/785a5ba05dd88b3b8146f85f18476b259b23917c", + "reference": "785a5ba05dd88b3b8146f85f18476b259b23917c", "shasum": "" }, "require": { "evenement/evenement": "^3.0", - "php": "^8.0 || ^8.1 || ^8.2", + "php": "^8.0 || ^8.1 || ^8.2 || ^8.3", "psr/log": "^1.0 || ^2.0 || ^3.0", "spatie/temporary-directory": "^2.0", - "symfony/cache": "^5.4 || ^6.0", - "symfony/process": "^5.4 || ^6.0" + "symfony/cache": "^5.4 || ^6.0 || ^7.0", + "symfony/process": "^5.4 || ^6.0 || ^7.0" }, "require-dev": { "mockery/mockery": "^1.5", @@ -5335,9 +5338,9 @@ ], "support": { "issues": "https://github.com/PHP-FFMpeg/PHP-FFMpeg/issues", - "source": "https://github.com/PHP-FFMpeg/PHP-FFMpeg/tree/v1.1.0" + "source": "https://github.com/PHP-FFMpeg/PHP-FFMpeg/tree/v1.2.0" }, - "time": "2022-12-09T13:57:05+00:00" + "time": "2024-01-02T10:37:01+00:00" }, { "name": "phpoption/phpoption", @@ -5416,16 +5419,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "2.0.45", + "version": "2.0.46", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "28d8f438a0064c9de80857e3270d071495544640" + "reference": "498e67a0c82bd5791fda9b0dd0f4ec8e8aebb02d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/28d8f438a0064c9de80857e3270d071495544640", - "reference": "28d8f438a0064c9de80857e3270d071495544640", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/498e67a0c82bd5791fda9b0dd0f4ec8e8aebb02d", + "reference": "498e67a0c82bd5791fda9b0dd0f4ec8e8aebb02d", "shasum": "" }, "require": { @@ -5506,7 +5509,7 @@ ], "support": { "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/2.0.45" + "source": "https://github.com/phpseclib/phpseclib/tree/2.0.46" }, "funding": [ { @@ -5522,7 +5525,7 @@ "type": "tidelift" } ], - "time": "2023-09-15T20:55:47+00:00" + "time": "2023-12-29T01:52:43+00:00" }, { "name": "pixelfed/fractal", @@ -6275,25 +6278,25 @@ }, { "name": "psy/psysh", - "version": "v0.11.22", + "version": "v0.12.0", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "128fa1b608be651999ed9789c95e6e2a31b5802b" + "reference": "750bf031a48fd07c673dbe3f11f72362ea306d0d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/128fa1b608be651999ed9789c95e6e2a31b5802b", - "reference": "128fa1b608be651999ed9789c95e6e2a31b5802b", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/750bf031a48fd07c673dbe3f11f72362ea306d0d", + "reference": "750bf031a48fd07c673dbe3f11f72362ea306d0d", "shasum": "" }, "require": { "ext-json": "*", "ext-tokenizer": "*", - "nikic/php-parser": "^4.0 || ^3.1", - "php": "^8.0 || ^7.0.8", - "symfony/console": "^6.0 || ^5.0 || ^4.0 || ^3.4", - "symfony/var-dumper": "^6.0 || ^5.0 || ^4.0 || ^3.4" + "nikic/php-parser": "^5.0 || ^4.0", + "php": "^8.0 || ^7.4", + "symfony/console": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4" }, "conflict": { "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" @@ -6304,8 +6307,7 @@ "suggest": { "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", "ext-pdo-sqlite": "The doc command requires SQLite to work.", - "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", - "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history." + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." }, "bin": [ "bin/psysh" @@ -6313,7 +6315,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-0.11": "0.11.x-dev" + "dev-main": "0.12.x-dev" }, "bamarni-bin": { "bin-links": false, @@ -6349,22 +6351,22 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.11.22" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.0" }, - "time": "2023-10-14T21:56:36+00:00" + "time": "2023-12-20T15:28:09+00:00" }, { "name": "pusher/pusher-php-server", - "version": "7.2.3", + "version": "7.2.4", "source": { "type": "git", "url": "https://github.com/pusher/pusher-http-php.git", - "reference": "416e68dd5f640175ad5982131c42a7a666d1d8e9" + "reference": "de2f72296808f9cafa6a4462b15a768ff130cddb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pusher/pusher-http-php/zipball/416e68dd5f640175ad5982131c42a7a666d1d8e9", - "reference": "416e68dd5f640175ad5982131c42a7a666d1d8e9", + "url": "https://api.github.com/repos/pusher/pusher-http-php/zipball/de2f72296808f9cafa6a4462b15a768ff130cddb", + "reference": "de2f72296808f9cafa6a4462b15a768ff130cddb", "shasum": "" }, "require": { @@ -6410,9 +6412,9 @@ ], "support": { "issues": "https://github.com/pusher/pusher-http-php/issues", - "source": "https://github.com/pusher/pusher-http-php/tree/7.2.3" + "source": "https://github.com/pusher/pusher-http-php/tree/7.2.4" }, - "time": "2023-05-17T16:00:06+00:00" + "time": "2023-12-15T10:58:53+00:00" }, { "name": "ralouphie/getallheaders", @@ -7083,16 +7085,16 @@ }, { "name": "react/socket", - "version": "v1.14.0", + "version": "v1.15.0", "source": { "type": "git", "url": "https://github.com/reactphp/socket.git", - "reference": "21591111d3ea62e31f2254280ca0656bc2b1bda6" + "reference": "216d3aec0b87f04a40ca04f481e6af01bdd1d038" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/socket/zipball/21591111d3ea62e31f2254280ca0656bc2b1bda6", - "reference": "21591111d3ea62e31f2254280ca0656bc2b1bda6", + "url": "https://api.github.com/repos/reactphp/socket/zipball/216d3aec0b87f04a40ca04f481e6af01bdd1d038", + "reference": "216d3aec0b87f04a40ca04f481e6af01bdd1d038", "shasum": "" }, "require": { @@ -7104,7 +7106,7 @@ "react/stream": "^1.2" }, "require-dev": { - "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35", + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", "react/async": "^4 || ^3 || ^2", "react/promise-stream": "^1.4", "react/promise-timer": "^1.10" @@ -7112,7 +7114,7 @@ "type": "library", "autoload": { "psr-4": { - "React\\Socket\\": "src" + "React\\Socket\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -7151,7 +7153,7 @@ ], "support": { "issues": "https://github.com/reactphp/socket/issues", - "source": "https://github.com/reactphp/socket/tree/v1.14.0" + "source": "https://github.com/reactphp/socket/tree/v1.15.0" }, "funding": [ { @@ -7159,7 +7161,7 @@ "type": "open_collective" } ], - "time": "2023-08-25T13:48:09+00:00" + "time": "2023-12-15T11:02:10+00:00" }, { "name": "react/stream", @@ -7302,21 +7304,21 @@ }, { "name": "spatie/db-dumper", - "version": "3.4.0", + "version": "3.4.2", "source": { "type": "git", "url": "https://github.com/spatie/db-dumper.git", - "reference": "bbd5ae0f331d47e6534eb307e256c11a65c8e24a" + "reference": "59beef7ad612ca7463dfddb64de6e038eb59e0d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/db-dumper/zipball/bbd5ae0f331d47e6534eb307e256c11a65c8e24a", - "reference": "bbd5ae0f331d47e6534eb307e256c11a65c8e24a", + "url": "https://api.github.com/repos/spatie/db-dumper/zipball/59beef7ad612ca7463dfddb64de6e038eb59e0d7", + "reference": "59beef7ad612ca7463dfddb64de6e038eb59e0d7", "shasum": "" }, "require": { "php": "^8.0", - "symfony/process": "^5.0|^6.0" + "symfony/process": "^5.0|^6.0|^7.0" }, "require-dev": { "pestphp/pest": "^1.22" @@ -7349,7 +7351,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/db-dumper/tree/3.4.0" + "source": "https://github.com/spatie/db-dumper/tree/3.4.2" }, "funding": [ { @@ -7361,7 +7363,7 @@ "type": "github" } ], - "time": "2023-06-27T08:34:52+00:00" + "time": "2023-12-25T11:42:15+00:00" }, { "name": "spatie/image-optimizer", @@ -7420,44 +7422,44 @@ }, { "name": "spatie/laravel-backup", - "version": "8.4.1", + "version": "8.6.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-backup.git", - "reference": "b79f790cc856e67cce012abf34bf1c9035085dc1" + "reference": "c6a7607c0eea80efc2cf6628ffcd172f73a2088f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/b79f790cc856e67cce012abf34bf1c9035085dc1", - "reference": "b79f790cc856e67cce012abf34bf1c9035085dc1", + "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/c6a7607c0eea80efc2cf6628ffcd172f73a2088f", + "reference": "c6a7607c0eea80efc2cf6628ffcd172f73a2088f", "shasum": "" }, "require": { "ext-zip": "^1.14.0", - "illuminate/console": "^10.10.0", - "illuminate/contracts": "^10.10.0", - "illuminate/events": "^10.10.0", - "illuminate/filesystem": "^10.10.0", - "illuminate/notifications": "^10.10.0", - "illuminate/support": "^10.10.0", + "illuminate/console": "^10.10.0|^11.0", + "illuminate/contracts": "^10.10.0|^11.0", + "illuminate/events": "^10.10.0|^11.0", + "illuminate/filesystem": "^10.10.0|^11.0", + "illuminate/notifications": "^10.10.0|^11.0", + "illuminate/support": "^10.10.0|^11.0", "league/flysystem": "^3.0", "php": "^8.1", "spatie/db-dumper": "^3.0", "spatie/laravel-package-tools": "^1.6.2", - "spatie/laravel-signal-aware-command": "^1.2", + "spatie/laravel-signal-aware-command": "^1.2|^2.0", "spatie/temporary-directory": "^2.0", - "symfony/console": "^6.0", - "symfony/finder": "^6.0" + "symfony/console": "^6.0|^7.0", + "symfony/finder": "^6.0|^7.0" }, "require-dev": { "composer-runtime-api": "^2.0", "ext-pcntl": "*", - "laravel/slack-notification-channel": "^2.5", + "larastan/larastan": "^2.7.0", + "laravel/slack-notification-channel": "^2.5|^3.0", "league/flysystem-aws-s3-v3": "^2.0|^3.0", "mockery/mockery": "^1.4", - "nunomaduro/larastan": "^2.1", - "orchestra/testbench": "^8.0", - "pestphp/pest": "^1.20", + "orchestra/testbench": "^8.0|^9.0", + "pestphp/pest": "^1.20|^2.0", "phpstan/extension-installer": "^1.1", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-phpunit": "^1.1" @@ -7503,7 +7505,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-backup/issues", - "source": "https://github.com/spatie/laravel-backup/tree/8.4.1" + "source": "https://github.com/spatie/laravel-backup/tree/8.6.0" }, "funding": [ { @@ -7515,7 +7517,7 @@ "type": "other" } ], - "time": "2023-11-20T08:21:45+00:00" + "time": "2024-02-06T20:39:11+00:00" }, { "name": "spatie/laravel-image-optimizer", @@ -7587,20 +7589,20 @@ }, { "name": "spatie/laravel-package-tools", - "version": "1.16.1", + "version": "1.16.2", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "cc7c991555a37f9fa6b814aa03af73f88026a83d" + "reference": "e62eeb1fe8a8a0b2e83227a6c279c8c59f7d3a15" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/cc7c991555a37f9fa6b814aa03af73f88026a83d", - "reference": "cc7c991555a37f9fa6b814aa03af73f88026a83d", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/e62eeb1fe8a8a0b2e83227a6c279c8c59f7d3a15", + "reference": "e62eeb1fe8a8a0b2e83227a6c279c8c59f7d3a15", "shasum": "" }, "require": { - "illuminate/contracts": "^9.28|^10.0", + "illuminate/contracts": "^9.28|^10.0|^11.0", "php": "^8.0" }, "require-dev": { @@ -7635,7 +7637,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.1" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.2" }, "funding": [ { @@ -7643,7 +7645,7 @@ "type": "github" } ], - "time": "2023-08-23T09:04:39+00:00" + "time": "2024-01-11T08:43:00+00:00" }, { "name": "spatie/laravel-signal-aware-command", @@ -7721,16 +7723,16 @@ }, { "name": "spatie/temporary-directory", - "version": "2.2.0", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/spatie/temporary-directory.git", - "reference": "efc258c9f4da28f0c7661765b8393e4ccee3d19c" + "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/efc258c9f4da28f0c7661765b8393e4ccee3d19c", - "reference": "efc258c9f4da28f0c7661765b8393e4ccee3d19c", + "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a", + "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a", "shasum": "" }, "require": { @@ -7766,7 +7768,7 @@ ], "support": { "issues": "https://github.com/spatie/temporary-directory/issues", - "source": "https://github.com/spatie/temporary-directory/tree/2.2.0" + "source": "https://github.com/spatie/temporary-directory/tree/2.2.1" }, "funding": [ { @@ -7778,7 +7780,7 @@ "type": "github" } ], - "time": "2023-09-25T07:13:36+00:00" + "time": "2023-12-25T11:46:58+00:00" }, { "name": "spomky-labs/base64url", @@ -7913,16 +7915,16 @@ }, { "name": "symfony/cache", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "ac2d25f97b17eec6e19760b6b9962a4f7c44356a" + "reference": "49f8cdee544a621a621cd21b6cda32a38926d310" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/ac2d25f97b17eec6e19760b6b9962a4f7c44356a", - "reference": "ac2d25f97b17eec6e19760b6b9962a4f7c44356a", + "url": "https://api.github.com/repos/symfony/cache/zipball/49f8cdee544a621a621cd21b6cda32a38926d310", + "reference": "49f8cdee544a621a621cd21b6cda32a38926d310", "shasum": "" }, "require": { @@ -7989,7 +7991,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v6.4.0" + "source": "https://github.com/symfony/cache/tree/v6.4.3" }, "funding": [ { @@ -8005,7 +8007,7 @@ "type": "tidelift" } ], - "time": "2023-11-24T19:28:07+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/cache-contracts", @@ -8085,16 +8087,16 @@ }, { "name": "symfony/console", - "version": "v6.4.1", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "a550a7c99daeedef3f9d23fb82e3531525ff11fd" + "reference": "2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a550a7c99daeedef3f9d23fb82e3531525ff11fd", - "reference": "a550a7c99daeedef3f9d23fb82e3531525ff11fd", + "url": "https://api.github.com/repos/symfony/console/zipball/2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e", + "reference": "2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e", "shasum": "" }, "require": { @@ -8159,7 +8161,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.1" + "source": "https://github.com/symfony/console/tree/v6.4.3" }, "funding": [ { @@ -8175,20 +8177,20 @@ "type": "tidelift" } ], - "time": "2023-11-30T10:54:28+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/css-selector", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "d036c6c0d0b09e24a14a35f8292146a658f986e4" + "reference": "ee0f7ed5cf298cc019431bb3b3977ebc52b86229" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/d036c6c0d0b09e24a14a35f8292146a658f986e4", - "reference": "d036c6c0d0b09e24a14a35f8292146a658f986e4", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/ee0f7ed5cf298cc019431bb3b3977ebc52b86229", + "reference": "ee0f7ed5cf298cc019431bb3b3977ebc52b86229", "shasum": "" }, "require": { @@ -8224,7 +8226,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v6.4.0" + "source": "https://github.com/symfony/css-selector/tree/v6.4.3" }, "funding": [ { @@ -8240,7 +8242,7 @@ "type": "tidelift" } ], - "time": "2023-10-31T08:40:20+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/deprecation-contracts", @@ -8311,16 +8313,16 @@ }, { "name": "symfony/error-handler", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "c873490a1c97b3a0a4838afc36ff36c112d02788" + "reference": "6dc3c76a278b77f01d864a6005d640822c6f26a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/c873490a1c97b3a0a4838afc36ff36c112d02788", - "reference": "c873490a1c97b3a0a4838afc36ff36c112d02788", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/6dc3c76a278b77f01d864a6005d640822c6f26a6", + "reference": "6dc3c76a278b77f01d864a6005d640822c6f26a6", "shasum": "" }, "require": { @@ -8366,7 +8368,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.0" + "source": "https://github.com/symfony/error-handler/tree/v6.4.3" }, "funding": [ { @@ -8382,20 +8384,20 @@ "type": "tidelift" } ], - "time": "2023-10-18T09:43:34+00:00" + "time": "2024-01-29T15:40:36+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "d76d2632cfc2206eecb5ad2b26cd5934082941b6" + "reference": "ae9d3a6f3003a6caf56acd7466d8d52378d44fef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d76d2632cfc2206eecb5ad2b26cd5934082941b6", - "reference": "d76d2632cfc2206eecb5ad2b26cd5934082941b6", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ae9d3a6f3003a6caf56acd7466d8d52378d44fef", + "reference": "ae9d3a6f3003a6caf56acd7466d8d52378d44fef", "shasum": "" }, "require": { @@ -8446,7 +8448,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.3" }, "funding": [ { @@ -8462,7 +8464,7 @@ "type": "tidelift" } ], - "time": "2023-07-27T06:52:43+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -8606,16 +8608,16 @@ }, { "name": "symfony/http-client", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "5c584530b77aa10ae216989ffc48b4bedc9c0b29" + "reference": "a9034bc119fab8238f76cf49c770f3135f3ead86" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/5c584530b77aa10ae216989ffc48b4bedc9c0b29", - "reference": "5c584530b77aa10ae216989ffc48b4bedc9c0b29", + "url": "https://api.github.com/repos/symfony/http-client/zipball/a9034bc119fab8238f76cf49c770f3135f3ead86", + "reference": "a9034bc119fab8238f76cf49c770f3135f3ead86", "shasum": "" }, "require": { @@ -8679,7 +8681,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v6.4.0" + "source": "https://github.com/symfony/http-client/tree/v6.4.3" }, "funding": [ { @@ -8695,7 +8697,7 @@ "type": "tidelift" } ], - "time": "2023-11-28T20:55:58+00:00" + "time": "2024-01-29T15:01:07+00:00" }, { "name": "symfony/http-client-contracts", @@ -8777,16 +8779,16 @@ }, { "name": "symfony/http-foundation", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "44a6d39a9cc11e154547d882d5aac1e014440771" + "reference": "5677bdf7cade4619cb17fc9e1e7b31ec392244a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/44a6d39a9cc11e154547d882d5aac1e014440771", - "reference": "44a6d39a9cc11e154547d882d5aac1e014440771", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/5677bdf7cade4619cb17fc9e1e7b31ec392244a9", + "reference": "5677bdf7cade4619cb17fc9e1e7b31ec392244a9", "shasum": "" }, "require": { @@ -8834,7 +8836,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.0" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.3" }, "funding": [ { @@ -8850,20 +8852,20 @@ "type": "tidelift" } ], - "time": "2023-11-20T16:41:16+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.1", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "2953274c16a229b3933ef73a6898e18388e12e1b" + "reference": "9c6ec4e543044f7568a53a76ab1484ecd30637a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/2953274c16a229b3933ef73a6898e18388e12e1b", - "reference": "2953274c16a229b3933ef73a6898e18388e12e1b", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/9c6ec4e543044f7568a53a76ab1484ecd30637a2", + "reference": "9c6ec4e543044f7568a53a76ab1484ecd30637a2", "shasum": "" }, "require": { @@ -8947,7 +8949,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.1" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.3" }, "funding": [ { @@ -8963,20 +8965,20 @@ "type": "tidelift" } ], - "time": "2023-12-01T17:02:02+00:00" + "time": "2024-01-31T07:21:29+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "ca8dcf8892cdc5b4358ecf2528429bb5e706f7ba" + "reference": "74412c62f88a85a41b61f0b71ab0afcaad6f03ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/ca8dcf8892cdc5b4358ecf2528429bb5e706f7ba", - "reference": "ca8dcf8892cdc5b4358ecf2528429bb5e706f7ba", + "url": "https://api.github.com/repos/symfony/mailer/zipball/74412c62f88a85a41b61f0b71ab0afcaad6f03ee", + "reference": "74412c62f88a85a41b61f0b71ab0afcaad6f03ee", "shasum": "" }, "require": { @@ -9027,7 +9029,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.0" + "source": "https://github.com/symfony/mailer/tree/v6.4.3" }, "funding": [ { @@ -9043,20 +9045,20 @@ "type": "tidelift" } ], - "time": "2023-11-12T18:02:22+00:00" + "time": "2024-01-29T15:01:07+00:00" }, { "name": "symfony/mailgun-mailer", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/mailgun-mailer.git", - "reference": "72d2f72f2016e559d0152188bef5a5dc9ebf5ec7" + "reference": "96d23bb0e773ecfc3fb8d21cdabfbb3f4d6abf04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/72d2f72f2016e559d0152188bef5a5dc9ebf5ec7", - "reference": "72d2f72f2016e559d0152188bef5a5dc9ebf5ec7", + "url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/96d23bb0e773ecfc3fb8d21cdabfbb3f4d6abf04", + "reference": "96d23bb0e773ecfc3fb8d21cdabfbb3f4d6abf04", "shasum": "" }, "require": { @@ -9096,7 +9098,7 @@ "description": "Symfony Mailgun Mailer Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailgun-mailer/tree/v6.4.0" + "source": "https://github.com/symfony/mailgun-mailer/tree/v6.4.3" }, "funding": [ { @@ -9112,20 +9114,20 @@ "type": "tidelift" } ], - "time": "2023-11-06T17:20:05+00:00" + "time": "2024-01-29T15:01:07+00:00" }, { "name": "symfony/mime", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "ca4f58b2ef4baa8f6cecbeca2573f88cd577d205" + "reference": "5017e0a9398c77090b7694be46f20eb796262a34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/ca4f58b2ef4baa8f6cecbeca2573f88cd577d205", - "reference": "ca4f58b2ef4baa8f6cecbeca2573f88cd577d205", + "url": "https://api.github.com/repos/symfony/mime/zipball/5017e0a9398c77090b7694be46f20eb796262a34", + "reference": "5017e0a9398c77090b7694be46f20eb796262a34", "shasum": "" }, "require": { @@ -9180,7 +9182,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.0" + "source": "https://github.com/symfony/mime/tree/v6.4.3" }, "funding": [ { @@ -9196,20 +9198,20 @@ "type": "tidelift" } ], - "time": "2023-10-17T11:49:05+00:00" + "time": "2024-01-30T08:32:12+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", "shasum": "" }, "require": { @@ -9223,9 +9225,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9262,7 +9261,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" }, "funding": [ { @@ -9278,20 +9277,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "875e90aeea2777b6f135677f618529449334a612" + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", - "reference": "875e90aeea2777b6f135677f618529449334a612", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", "shasum": "" }, "require": { @@ -9302,9 +9301,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9343,7 +9339,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" }, "funding": [ { @@ -9359,20 +9355,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "ecaafce9f77234a6a449d29e49267ba10499116d" + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d", - "reference": "ecaafce9f77234a6a449d29e49267ba10499116d", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919", + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919", "shasum": "" }, "require": { @@ -9385,9 +9381,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9430,7 +9423,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.29.0" }, "funding": [ { @@ -9446,20 +9439,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:30:37+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", "shasum": "" }, "require": { @@ -9470,9 +9463,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9514,7 +9504,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" }, "funding": [ { @@ -9530,20 +9520,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", - "reference": "42292d99c55abe617799667f454222c54c60e229", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", "shasum": "" }, "require": { @@ -9557,9 +9547,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9597,7 +9584,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" }, "funding": [ { @@ -9613,20 +9600,20 @@ "type": "tidelift" } ], - "time": "2023-07-28T09:04:16+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179" + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179", - "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25", + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25", "shasum": "" }, "require": { @@ -9634,9 +9621,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9673,7 +9657,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" }, "funding": [ { @@ -9689,20 +9673,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", "shasum": "" }, "require": { @@ -9710,9 +9694,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9756,7 +9737,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" }, "funding": [ { @@ -9772,20 +9753,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-php83", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11" + "reference": "86fcae159633351e5fd145d1c47de6c528f8caff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", - "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff", + "reference": "86fcae159633351e5fd145d1c47de6c528f8caff", "shasum": "" }, "require": { @@ -9794,9 +9775,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9836,7 +9814,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0" }, "funding": [ { @@ -9852,20 +9830,20 @@ "type": "tidelift" } ], - "time": "2023-08-16T06:22:46+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-uuid", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-uuid.git", - "reference": "9c44518a5aff8da565c8a55dbe85d2769e6f630e" + "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/9c44518a5aff8da565c8a55dbe85d2769e6f630e", - "reference": "9c44518a5aff8da565c8a55dbe85d2769e6f630e", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/3abdd21b0ceaa3000ee950097bc3cf9efc137853", + "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853", "shasum": "" }, "require": { @@ -9879,9 +9857,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9918,7 +9893,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.29.0" }, "funding": [ { @@ -9934,20 +9909,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/process", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "191703b1566d97a5425dc969e4350d32b8ef17aa" + "reference": "31642b0818bfcff85930344ef93193f8c607e0a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/191703b1566d97a5425dc969e4350d32b8ef17aa", - "reference": "191703b1566d97a5425dc969e4350d32b8ef17aa", + "url": "https://api.github.com/repos/symfony/process/zipball/31642b0818bfcff85930344ef93193f8c607e0a3", + "reference": "31642b0818bfcff85930344ef93193f8c607e0a3", "shasum": "" }, "require": { @@ -9979,7 +9954,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.0" + "source": "https://github.com/symfony/process/tree/v6.4.3" }, "funding": [ { @@ -9995,7 +9970,7 @@ "type": "tidelift" } ], - "time": "2023-11-17T21:06:49+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -10088,16 +10063,16 @@ }, { "name": "symfony/routing", - "version": "v6.4.1", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "0c95c164fdba18b12523b75e64199ca3503e6d40" + "reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/0c95c164fdba18b12523b75e64199ca3503e6d40", - "reference": "0c95c164fdba18b12523b75e64199ca3503e6d40", + "url": "https://api.github.com/repos/symfony/routing/zipball/3b2957ad54902f0f544df83e3d58b38d7e8e5842", + "reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842", "shasum": "" }, "require": { @@ -10151,7 +10126,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.1" + "source": "https://github.com/symfony/routing/tree/v6.4.3" }, "funding": [ { @@ -10167,25 +10142,25 @@ "type": "tidelift" } ], - "time": "2023-12-01T14:54:37+00:00" + "time": "2024-01-30T13:55:02+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.4.0", + "version": "v3.4.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838" + "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/b3313c2dbffaf71c8de2934e2ea56ed2291a3838", - "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0", + "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0", "shasum": "" }, "require": { "php": ">=8.1", - "psr/container": "^2.0" + "psr/container": "^1.1|^2.0" }, "conflict": { "ext-psr": "<1.1|>=2" @@ -10233,7 +10208,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.4.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.4.1" }, "funding": [ { @@ -10249,20 +10224,20 @@ "type": "tidelift" } ], - "time": "2023-07-30T20:28:31+00:00" + "time": "2023-12-26T14:02:43+00:00" }, { "name": "symfony/string", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "b45fcf399ea9c3af543a92edf7172ba21174d809" + "reference": "7a14736fb179876575464e4658fce0c304e8c15b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/b45fcf399ea9c3af543a92edf7172ba21174d809", - "reference": "b45fcf399ea9c3af543a92edf7172ba21174d809", + "url": "https://api.github.com/repos/symfony/string/zipball/7a14736fb179876575464e4658fce0c304e8c15b", + "reference": "7a14736fb179876575464e4658fce0c304e8c15b", "shasum": "" }, "require": { @@ -10319,7 +10294,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.0" + "source": "https://github.com/symfony/string/tree/v6.4.3" }, "funding": [ { @@ -10335,20 +10310,20 @@ "type": "tidelift" } ], - "time": "2023-11-28T20:41:49+00:00" + "time": "2024-01-25T09:26:29+00:00" }, { "name": "symfony/translation", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "b1035dbc2a344b21f8fa8ac451c7ecec4ea45f37" + "reference": "637c51191b6b184184bbf98937702bcf554f7d04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/b1035dbc2a344b21f8fa8ac451c7ecec4ea45f37", - "reference": "b1035dbc2a344b21f8fa8ac451c7ecec4ea45f37", + "url": "https://api.github.com/repos/symfony/translation/zipball/637c51191b6b184184bbf98937702bcf554f7d04", + "reference": "637c51191b6b184184bbf98937702bcf554f7d04", "shasum": "" }, "require": { @@ -10371,7 +10346,7 @@ "symfony/translation-implementation": "2.3|3.0" }, "require-dev": { - "nikic/php-parser": "^4.13", + "nikic/php-parser": "^4.18|^5.0", "psr/log": "^1|^2|^3", "symfony/config": "^5.4|^6.0|^7.0", "symfony/console": "^5.4|^6.0|^7.0", @@ -10414,7 +10389,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.0" + "source": "https://github.com/symfony/translation/tree/v6.4.3" }, "funding": [ { @@ -10430,20 +10405,20 @@ "type": "tidelift" } ], - "time": "2023-11-29T08:14:36+00:00" + "time": "2024-01-29T13:11:52+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.4.0", + "version": "v3.4.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "dee0c6e5b4c07ce851b462530088e64b255ac9c5" + "reference": "06450585bf65e978026bda220cdebca3f867fde7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/dee0c6e5b4c07ce851b462530088e64b255ac9c5", - "reference": "dee0c6e5b4c07ce851b462530088e64b255ac9c5", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/06450585bf65e978026bda220cdebca3f867fde7", + "reference": "06450585bf65e978026bda220cdebca3f867fde7", "shasum": "" }, "require": { @@ -10492,7 +10467,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.4.0" + "source": "https://github.com/symfony/translation-contracts/tree/v3.4.1" }, "funding": [ { @@ -10508,20 +10483,20 @@ "type": "tidelift" } ], - "time": "2023-07-25T15:08:44+00:00" + "time": "2023-12-26T14:02:43+00:00" }, { "name": "symfony/uid", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "8092dd1b1a41372110d06374f99ee62f7f0b9a92" + "reference": "1d31267211cc3a2fff32bcfc7c1818dac41b6fc0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/8092dd1b1a41372110d06374f99ee62f7f0b9a92", - "reference": "8092dd1b1a41372110d06374f99ee62f7f0b9a92", + "url": "https://api.github.com/repos/symfony/uid/zipball/1d31267211cc3a2fff32bcfc7c1818dac41b6fc0", + "reference": "1d31267211cc3a2fff32bcfc7c1818dac41b6fc0", "shasum": "" }, "require": { @@ -10566,7 +10541,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.4.0" + "source": "https://github.com/symfony/uid/tree/v6.4.3" }, "funding": [ { @@ -10582,20 +10557,20 @@ "type": "tidelift" } ], - "time": "2023-10-31T08:18:17+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "c40f7d17e91d8b407582ed51a2bbf83c52c367f6" + "reference": "0435a08f69125535336177c29d56af3abc1f69da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c40f7d17e91d8b407582ed51a2bbf83c52c367f6", - "reference": "c40f7d17e91d8b407582ed51a2bbf83c52c367f6", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0435a08f69125535336177c29d56af3abc1f69da", + "reference": "0435a08f69125535336177c29d56af3abc1f69da", "shasum": "" }, "require": { @@ -10651,7 +10626,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.0" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.3" }, "funding": [ { @@ -10667,20 +10642,20 @@ "type": "tidelift" } ], - "time": "2023-11-09T08:28:32+00:00" + "time": "2024-01-23T14:53:30+00:00" }, { "name": "symfony/var-exporter", - "version": "v6.4.1", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "2d08ca6b9cc704dce525615d1e6d1788734f36d9" + "reference": "a8c12b5448a5ac685347f5eeb2abf6a571ec16b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/2d08ca6b9cc704dce525615d1e6d1788734f36d9", - "reference": "2d08ca6b9cc704dce525615d1e6d1788734f36d9", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/a8c12b5448a5ac685347f5eeb2abf6a571ec16b8", + "reference": "a8c12b5448a5ac685347f5eeb2abf6a571ec16b8", "shasum": "" }, "require": { @@ -10726,7 +10701,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.4.1" + "source": "https://github.com/symfony/var-exporter/tree/v6.4.3" }, "funding": [ { @@ -10742,7 +10717,7 @@ "type": "tidelift" } ], - "time": "2023-11-30T10:32:10+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "tightenco/collect", @@ -10800,23 +10775,23 @@ }, { "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.6", + "version": "v2.2.7", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "c42125b83a4fa63b187fdf29f9c93cb7733da30c" + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/c42125b83a4fa63b187fdf29f9c93cb7733da30c", - "reference": "c42125b83a4fa63b187fdf29f9c93cb7733da30c", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb", + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0" + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" }, "require-dev": { "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" @@ -10847,9 +10822,9 @@ "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", "support": { "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.6" + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7" }, - "time": "2023-01-03T09:29:04+00:00" + "time": "2023-12-08T13:03:43+00:00" }, { "name": "vlucas/phpdotenv", @@ -11312,20 +11287,20 @@ }, { "name": "web-token/jwt-util-ecc", - "version": "3.2.8", + "version": "3.2.10", "source": { "type": "git", "url": "https://github.com/web-token/jwt-util-ecc.git", - "reference": "b2337052dbee724d710c1fdb0d3609835a5f8609" + "reference": "9edf9b76bccf2e1db58fcc49db1d916d929335c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-util-ecc/zipball/b2337052dbee724d710c1fdb0d3609835a5f8609", - "reference": "b2337052dbee724d710c1fdb0d3609835a5f8609", + "url": "https://api.github.com/repos/web-token/jwt-util-ecc/zipball/9edf9b76bccf2e1db58fcc49db1d916d929335c0", + "reference": "9edf9b76bccf2e1db58fcc49db1d916d929335c0", "shasum": "" }, "require": { - "brick/math": "^0.9|^0.10|^0.11", + "brick/math": "^0.9|^0.10|^0.11|^0.12", "php": ">=8.1" }, "suggest": { @@ -11373,7 +11348,7 @@ "symfony" ], "support": { - "source": "https://github.com/web-token/jwt-util-ecc/tree/3.2.8" + "source": "https://github.com/web-token/jwt-util-ecc/tree/3.2.10" }, "funding": [ { @@ -11381,7 +11356,7 @@ "type": "patreon" } ], - "time": "2023-02-02T13:35:41+00:00" + "time": "2024-01-02T17:55:33+00:00" }, { "name": "webmozart/assert", @@ -11607,16 +11582,16 @@ }, { "name": "fakerphp/faker", - "version": "v1.23.0", + "version": "v1.23.1", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01" + "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e3daa170d00fde61ea7719ef47bb09bb8f1d9b01", - "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b", + "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b", "shasum": "" }, "require": { @@ -11642,11 +11617,6 @@ "ext-mbstring": "Required for multibyte Unicode string functionality." }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "v1.21-dev" - } - }, "autoload": { "psr-4": { "Faker\\": "src/Faker/" @@ -11669,22 +11639,22 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.23.0" + "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1" }, - "time": "2023-06-12T08:44:38+00:00" + "time": "2024-01-02T13:46:09+00:00" }, { "name": "fidry/cpu-core-counter", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/theofidry/cpu-core-counter.git", - "reference": "85193c0b0cb5c47894b5eaec906e946f054e7077" + "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/85193c0b0cb5c47894b5eaec906e946f054e7077", - "reference": "85193c0b0cb5c47894b5eaec906e946f054e7077", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/f92996c4d5c1a696a6a970e20f7c4216200fcc42", + "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42", "shasum": "" }, "require": { @@ -11724,7 +11694,7 @@ ], "support": { "issues": "https://github.com/theofidry/cpu-core-counter/issues", - "source": "https://github.com/theofidry/cpu-core-counter/tree/1.0.0" + "source": "https://github.com/theofidry/cpu-core-counter/tree/1.1.0" }, "funding": [ { @@ -11732,7 +11702,7 @@ "type": "github" } ], - "time": "2023-09-17T21:38:23+00:00" + "time": "2024-02-07T09:43:46+00:00" }, { "name": "filp/whoops", @@ -11917,16 +11887,16 @@ }, { "name": "laravel/telescope", - "version": "v4.17.2", + "version": "v4.17.6", "source": { "type": "git", "url": "https://github.com/laravel/telescope.git", - "reference": "64da53ee46b99ef328458eaed32202b51e325a11" + "reference": "2d453dc629b27e8cf39fb1217aba062f8c54e690" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/telescope/zipball/64da53ee46b99ef328458eaed32202b51e325a11", - "reference": "64da53ee46b99ef328458eaed32202b51e325a11", + "url": "https://api.github.com/repos/laravel/telescope/zipball/2d453dc629b27e8cf39fb1217aba062f8c54e690", + "reference": "2d453dc629b27e8cf39fb1217aba062f8c54e690", "shasum": "" }, "require": { @@ -11982,22 +11952,22 @@ ], "support": { "issues": "https://github.com/laravel/telescope/issues", - "source": "https://github.com/laravel/telescope/tree/v4.17.2" + "source": "https://github.com/laravel/telescope/tree/v4.17.6" }, - "time": "2023-11-01T14:01:06+00:00" + "time": "2024-02-08T15:04:38+00:00" }, { "name": "mockery/mockery", - "version": "1.6.6", + "version": "1.6.7", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "b8e0bb7d8c604046539c1115994632c74dcb361e" + "reference": "0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/b8e0bb7d8c604046539c1115994632c74dcb361e", - "reference": "b8e0bb7d8c604046539c1115994632c74dcb361e", + "url": "https://api.github.com/repos/mockery/mockery/zipball/0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06", + "reference": "0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06", "shasum": "" }, "require": { @@ -12010,9 +11980,7 @@ }, "require-dev": { "phpunit/phpunit": "^8.5 || ^9.6.10", - "psalm/plugin-phpunit": "^0.18.4", - "symplify/easy-coding-standard": "^11.5.0", - "vimeo/psalm": "^4.30" + "symplify/easy-coding-standard": "^12.0.8" }, "type": "library", "autoload": { @@ -12069,7 +12037,7 @@ "security": "https://github.com/mockery/mockery/security/advisories", "source": "https://github.com/mockery/mockery" }, - "time": "2023-08-09T00:03:52+00:00" + "time": "2023-12-10T02:24:34+00:00" }, { "name": "myclabs/deep-copy", @@ -12331,23 +12299,23 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.29", + "version": "9.2.30", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76" + "reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76", - "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ca2bd87d2f9215904682a9cb9bb37dda98e76089", + "reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.15", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=7.3", "phpunit/php-file-iterator": "^3.0.3", "phpunit/php-text-template": "^2.0.2", @@ -12397,7 +12365,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.30" }, "funding": [ { @@ -12405,7 +12373,7 @@ "type": "github" } ], - "time": "2023-09-19T04:57:46+00:00" + "time": "2023-12-22T06:47:57+00:00" }, { "name": "phpunit/php-file-iterator", @@ -12650,16 +12618,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.15", + "version": "9.6.16", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "05017b80304e0eb3f31d90194a563fd53a6021f1" + "reference": "3767b2c56ce02d01e3491046f33466a1ae60a37f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/05017b80304e0eb3f31d90194a563fd53a6021f1", - "reference": "05017b80304e0eb3f31d90194a563fd53a6021f1", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3767b2c56ce02d01e3491046f33466a1ae60a37f", + "reference": "3767b2c56ce02d01e3491046f33466a1ae60a37f", "shasum": "" }, "require": { @@ -12733,7 +12701,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.15" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.16" }, "funding": [ { @@ -12749,7 +12717,7 @@ "type": "tidelift" } ], - "time": "2023-12-01T16:55:19+00:00" + "time": "2024-01-19T07:03:14+00:00" }, { "name": "sebastian/cli-parser", @@ -12994,20 +12962,20 @@ }, { "name": "sebastian/complexity", - "version": "2.0.2", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a", + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a", "shasum": "" }, "require": { - "nikic/php-parser": "^4.7", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=7.3" }, "require-dev": { @@ -13039,7 +13007,7 @@ "homepage": "https://github.com/sebastianbergmann/complexity", "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3" }, "funding": [ { @@ -13047,7 +13015,7 @@ "type": "github" } ], - "time": "2020-10-26T15:52:27+00:00" + "time": "2023-12-22T06:19:30+00:00" }, { "name": "sebastian/diff", @@ -13321,20 +13289,20 @@ }, { "name": "sebastian/lines-of-code", - "version": "1.0.3", + "version": "1.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5", + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5", "shasum": "" }, "require": { - "nikic/php-parser": "^4.6", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=7.3" }, "require-dev": { @@ -13366,7 +13334,7 @@ "homepage": "https://github.com/sebastianbergmann/lines-of-code", "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4" }, "funding": [ { @@ -13374,7 +13342,7 @@ "type": "github" } ], - "time": "2020-11-28T06:42:11+00:00" + "time": "2023-12-22T06:20:34+00:00" }, { "name": "sebastian/object-enumerator", @@ -13772,7 +13740,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^8.1|^8.2", + "php": "^8.1|^8.2|^8.3", "ext-bcmath": "*", "ext-ctype": "*", "ext-curl": "*", diff --git a/config/cache.php b/config/cache.php index 452e3dd4d..88129848e 100644 --- a/config/cache.php +++ b/config/cache.php @@ -74,7 +74,7 @@ return [ 'redis' => [ 'driver' => 'redis', 'lock_connection' => 'default', - 'client' => env('REDIS_CLIENT', 'phpredis'), + 'client' => env('REDIS_CLIENT', 'predis'), 'default' => [ 'scheme' => env('REDIS_SCHEME', 'tcp'), diff --git a/config/federation.php b/config/federation.php index 773d3d16b..21415dad3 100644 --- a/config/federation.php +++ b/config/federation.php @@ -49,7 +49,7 @@ return [ ], 'network_timeline' => env('PF_NETWORK_TIMELINE', true), - 'network_timeline_days_falloff' => env('PF_NETWORK_TIMELINE_DAYS_FALLOFF', 2), + 'network_timeline_days_falloff' => env('PF_NETWORK_TIMELINE_DAYS_FALLOFF', 90), 'custom_emoji' => [ 'enabled' => env('CUSTOM_EMOJI', false), diff --git a/config/instance.php b/config/instance.php index d1566da4a..cfc0468ab 100644 --- a/config/instance.php +++ b/config/instance.php @@ -145,4 +145,35 @@ return [ 'software-update' => [ 'disable_failed_warning' => env('INSTANCE_SOFTWARE_UPDATE_DISABLE_FAILED_WARNING', false) ], + + 'notifications' => [ + 'gc' => [ + 'enabled' => env('INSTANCE_NOTIFY_AUTO_GC', false), + 'delete_after_days' => env('INSTANCE_NOTIFY_AUTO_GC_DEL_AFTER_DAYS', 365) + ] + ], + + 'curated_registration' => [ + 'enabled' => env('INSTANCE_CUR_REG', false), + + 'resend_confirmation_limit' => env('INSTANCE_CUR_REG_RESEND_LIMIT', 5), + + 'captcha_enabled' => env('INSTANCE_CUR_REG_CAPTCHA', env('CAPTCHA_ENABLED', false)), + + 'state' => [ + 'fallback_on_closed_reg' => true, + 'only_enabled_on_closed_reg' => env('INSTANCE_CUR_REG_STATE_ONLY_ON_CLOSED', true), + ], + + 'notify' => [ + 'admin' => [ + 'on_verify_email' => [ + 'enabled' => env('INSTANCE_CUR_REG_NOTIFY_ADMIN_ON_VERIFY', false), + 'bundle' => env('INSTANCE_CUR_REG_NOTIFY_ADMIN_ON_VERIFY_BUNDLE', false), + 'max_per_day' => env('INSTANCE_CUR_REG_NOTIFY_ADMIN_ON_VERIFY_MPD', 10), + ], + 'on_user_response' => env('INSTANCE_CUR_REG_NOTIFY_ADMIN_ON_USER_RESPONSE', false), + ] + ], + ], ]; diff --git a/database/migrations/2024_01_16_073327_create_curated_registers_table.php b/database/migrations/2024_01_16_073327_create_curated_registers_table.php new file mode 100644 index 000000000..8f665cdc3 --- /dev/null +++ b/database/migrations/2024_01_16_073327_create_curated_registers_table.php @@ -0,0 +1,44 @@ +id(); + $table->string('email')->unique()->nullable()->index(); + $table->string('username')->unique()->nullable()->index(); + $table->string('password')->nullable(); + $table->string('ip_address')->nullable(); + $table->string('verify_code')->nullable(); + $table->text('reason_to_join')->nullable(); + $table->unsignedBigInteger('invited_by')->nullable()->index(); + $table->boolean('is_approved')->default(0)->index(); + $table->boolean('is_rejected')->default(0)->index(); + $table->boolean('is_awaiting_more_info')->default(0)->index(); + $table->boolean('is_closed')->default(0)->index(); + $table->json('autofollow_account_ids')->nullable(); + $table->json('admin_notes')->nullable(); + $table->unsignedInteger('approved_by_admin_id')->nullable(); + $table->timestamp('email_verified_at')->nullable(); + $table->timestamp('admin_notified_at')->nullable(); + $table->timestamp('action_taken_at')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('curated_registers'); + } +}; diff --git a/database/migrations/2024_01_20_091352_create_curated_register_activities_table.php b/database/migrations/2024_01_20_091352_create_curated_register_activities_table.php new file mode 100644 index 000000000..410804750 --- /dev/null +++ b/database/migrations/2024_01_20_091352_create_curated_register_activities_table.php @@ -0,0 +1,42 @@ +id(); + $table->unsignedInteger('register_id')->nullable()->index(); + $table->unsignedInteger('admin_id')->nullable(); + $table->unsignedInteger('reply_to_id')->nullable()->index(); + $table->string('secret_code')->nullable(); + $table->string('type')->nullable()->index(); + $table->string('title')->nullable(); + $table->string('link')->nullable(); + $table->text('message')->nullable(); + $table->json('metadata')->nullable(); + $table->boolean('from_admin')->default(false)->index(); + $table->boolean('from_user')->default(false)->index(); + $table->boolean('admin_only_view')->default(true); + $table->boolean('action_required')->default(false); + $table->timestamp('admin_notified_at')->nullable(); + $table->timestamp('action_taken_at')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('curated_register_activities'); + } +}; diff --git a/package-lock.json b/package-lock.json index 15443b198..0b34d7765 100644 --- a/package-lock.json +++ b/package-lock.json @@ -47,7 +47,7 @@ }, "devDependencies": { "acorn": "^8.7.1", - "axios": "^0.21.1", + "axios": ">=1.6.0", "bootstrap": "^4.5.2", "cross-env": "^5.2.1", "jquery": "^3.6.0", @@ -83,11 +83,11 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dependencies": { - "@babel/highlight": "^7.22.13", + "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" }, "engines": { @@ -151,28 +151,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", - "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", - "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz", + "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helpers": "^7.23.2", - "@babel/parser": "^7.23.0", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.9", + "@babel/parser": "^7.23.9", + "@babel/template": "^7.23.9", + "@babel/traverse": "^7.23.9", + "@babel/types": "^7.23.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -196,11 +196,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dependencies": { - "@babel/types": "^7.23.0", + "@babel/types": "^7.23.6", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -232,13 +232,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", - "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -255,16 +255,16 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", - "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "version": "7.23.10", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz", + "integrity": "sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-replace-supers": "^7.22.20", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", "semver": "^6.3.1" @@ -309,9 +309,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", - "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -377,9 +377,9 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", - "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-module-imports": "^7.22.15", @@ -479,9 +479,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "engines": { "node": ">=6.9.0" } @@ -495,9 +495,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", - "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", "engines": { "node": ">=6.9.0" } @@ -516,22 +516,22 @@ } }, "node_modules/@babel/helpers": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", - "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz", + "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0" + "@babel/template": "^7.23.9", + "@babel/traverse": "^7.23.9", + "@babel/types": "^7.23.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", @@ -598,9 +598,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", + "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", "bin": { "parser": "bin/babel-parser.js" }, @@ -609,9 +609,9 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", - "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -623,13 +623,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", - "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.15" + "@babel/plugin-transform-optional-chaining": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -638,6 +638,21 @@ "@babel/core": "^7.13.0" } }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", + "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-proposal-object-rest-spread": { "version": "7.20.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", @@ -727,9 +742,9 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -741,9 +756,9 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -886,9 +901,9 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -900,9 +915,9 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz", - "integrity": "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", + "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-plugin-utils": "^7.22.5", @@ -917,13 +932,13 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", "dependencies": { - "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" + "@babel/helper-remap-async-to-generator": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -933,9 +948,9 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -947,9 +962,9 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", - "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -961,11 +976,11 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -976,11 +991,11 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", - "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, @@ -992,17 +1007,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", - "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", + "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-replace-supers": "^7.22.20", "@babel/helper-split-export-declaration": "^7.22.6", "globals": "^11.1.0" }, @@ -1014,12 +1028,12 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" + "@babel/template": "^7.22.15" }, "engines": { "node": ">=6.9.0" @@ -1029,9 +1043,9 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", - "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1043,11 +1057,11 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1058,9 +1072,9 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1072,9 +1086,9 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", - "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" @@ -1087,11 +1101,11 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1102,9 +1116,9 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", - "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" @@ -1117,11 +1131,12 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", - "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1131,12 +1146,12 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", "dependencies": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1147,9 +1162,9 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", - "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-json-strings": "^7.8.3" @@ -1162,9 +1177,9 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1176,9 +1191,9 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", - "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" @@ -1191,9 +1206,9 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1205,11 +1220,11 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", - "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", "dependencies": { - "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1220,11 +1235,11 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", - "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", "dependencies": { - "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-simple-access": "^7.22.5" }, @@ -1236,12 +1251,12 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", - "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", + "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", "dependencies": { "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-validator-identifier": "^7.22.20" }, @@ -1253,11 +1268,11 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1283,9 +1298,9 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1297,9 +1312,9 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", - "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -1312,9 +1327,9 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", - "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -1327,15 +1342,15 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", - "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", + "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", "dependencies": { - "@babel/compat-data": "^7.22.9", + "@babel/compat-data": "^7.23.3", "@babel/helper-compilation-targets": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.15" + "@babel/plugin-transform-parameters": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -1345,12 +1360,12 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" + "@babel/helper-replace-supers": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -1360,9 +1375,9 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", - "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" @@ -1375,9 +1390,9 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", - "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -1391,9 +1406,9 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", - "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1405,11 +1420,11 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1420,12 +1435,12 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", - "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, @@ -1437,9 +1452,9 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1451,9 +1466,9 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", - "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "regenerator-transform": "^0.15.2" @@ -1466,9 +1481,9 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1480,15 +1495,15 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz", - "integrity": "sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz", + "integrity": "sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ==", "dependencies": { "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.6", - "babel-plugin-polyfill-corejs3": "^0.8.5", - "babel-plugin-polyfill-regenerator": "^0.5.3", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", "semver": "^6.3.1" }, "engines": { @@ -1507,9 +1522,9 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1521,9 +1536,9 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" @@ -1536,9 +1551,9 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1550,9 +1565,9 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1564,9 +1579,9 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1578,9 +1593,9 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", - "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1592,11 +1607,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1607,11 +1622,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1622,11 +1637,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -1637,24 +1652,25 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz", - "integrity": "sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.9.tgz", + "integrity": "sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==", "dependencies": { - "@babel/compat-data": "^7.23.2", - "@babel/helper-compilation-targets": "^7.22.15", + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -1666,59 +1682,58 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.23.2", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.23.0", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.11", - "@babel/plugin-transform-classes": "^7.22.15", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.23.0", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.11", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.11", - "@babel/plugin-transform-for-of": "^7.22.15", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.11", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.23.0", - "@babel/plugin-transform-modules-commonjs": "^7.23.0", - "@babel/plugin-transform-modules-systemjs": "^7.23.0", - "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.9", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.8", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.9", + "@babel/plugin-transform-modules-umd": "^7.23.3", "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", - "@babel/plugin-transform-numeric-separator": "^7.22.11", - "@babel/plugin-transform-object-rest-spread": "^7.22.15", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.11", - "@babel/plugin-transform-optional-chaining": "^7.23.0", - "@babel/plugin-transform-parameters": "^7.22.15", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.11", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.10", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.10", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.23.4", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", "@babel/preset-modules": "0.1.6-no-external-plugins", - "@babel/types": "^7.23.0", - "babel-plugin-polyfill-corejs2": "^0.4.6", - "babel-plugin-polyfill-corejs3": "^0.8.5", - "babel-plugin-polyfill-regenerator": "^0.5.3", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", "core-js-compat": "^3.31.0", "semver": "^6.3.1" }, @@ -1756,9 +1771,9 @@ "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" }, "node_modules/@babel/runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", - "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz", + "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -1767,32 +1782,32 @@ } }, "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz", + "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.23.9", + "@babel/types": "^7.23.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz", + "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", + "@babel/parser": "^7.23.9", + "@babel/types": "^7.23.9", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -1800,11 +1815,11 @@ } }, "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", + "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, @@ -1859,9 +1874,9 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "engines": { "node": ">=6.0.0" } @@ -1889,9 +1904,9 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", + "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -1952,9 +1967,9 @@ } }, "node_modules/@peertube/p2p-media-loader-core": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/@peertube/p2p-media-loader-core/-/p2p-media-loader-core-1.0.14.tgz", - "integrity": "sha512-tjQv1CNziNY+zYzcL1h4q6AA2WuBUZnBIeVyjWR/EsO1EEC1VMdvPsL02cqYLz9yvIxgycjeTsWCm6XDqNgXRw==", + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@peertube/p2p-media-loader-core/-/p2p-media-loader-core-1.0.15.tgz", + "integrity": "sha512-RgUi3v4jT1+/8TEHj9NWCXVJW+p/m8fFJtcvh6FQxXZpz4u24pYbMFuM60gfboItuEA7xqo5C3XN8Y4kmOyXmw==", "dependencies": { "bittorrent-tracker": "^9.19.0", "debug": "^4.3.4", @@ -1964,11 +1979,11 @@ } }, "node_modules/@peertube/p2p-media-loader-hlsjs": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/@peertube/p2p-media-loader-hlsjs/-/p2p-media-loader-hlsjs-1.0.14.tgz", - "integrity": "sha512-ySUVgUvAFXCE5E94xxjfywQ8xzk3jy9UGVkgi5Oqq+QeY7uG+o7CZ+LsQ/RjXgWBD70tEnyyfADHtL+9FCnwyQ==", + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@peertube/p2p-media-loader-hlsjs/-/p2p-media-loader-hlsjs-1.0.15.tgz", + "integrity": "sha512-A2GkuSHqXTjVMglx5rXwsEYgopE/yCyc7lrESdOhtpSx41tWYF7Oad37jyITfb2rTYqh2Mr2/b5iFOo4EgyAbg==", "dependencies": { - "@peertube/p2p-media-loader-core": "^1.0.14", + "@peertube/p2p-media-loader-core": "^1.0.15", "debug": "^4.3.4", "events": "^3.3.0", "m3u8-parser": "^4.7.1" @@ -1988,9 +2003,9 @@ } }, "node_modules/@types/babel__core": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.3.tgz", - "integrity": "sha512-54fjTSeSHwfan8AyHWrKbfBWiEUrNTZsUwPTDSNaaP1QDQIZbeNUg3a59E9D+375MzUw/x1vx2/0F5LBz+AeYA==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -2000,100 +2015,100 @@ } }, "node_modules/@types/babel__generator": { - "version": "7.6.6", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.6.tgz", - "integrity": "sha512-66BXMKb/sUWbMdBNdMvajU7i/44RkrA3z/Yt1c7R5xejt8qh84iU54yUWCtm0QwGJlDcf/gg4zd/x4mpLAlb/w==", + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.3.tgz", - "integrity": "sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__traverse": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.3.tgz", - "integrity": "sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", "dependencies": { "@babel/types": "^7.20.7" } }, "node_modules/@types/body-parser": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", - "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "node_modules/@types/bonjour": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz", - "integrity": "sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/clean-css": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.9.tgz", - "integrity": "sha512-pjzJ4n5eAXAz/L5Zur4ZymuJUvyo0Uh0iRnRI/1kADFLs76skDky0K0dX1rlv4iXXrJXNk3sxRWVJR7CMDroWA==", + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.11.tgz", + "integrity": "sha512-Y8n81lQVTAfP2TOdtJJEsCoYl1AnOkqDqMvXb9/7pfgZZ7r8YrEyurrAvAoAjHOGXKRybay+5CsExqIH6liccw==", "dependencies": { "@types/node": "*", "source-map": "^0.6.0" } }, "node_modules/@types/connect": { - "version": "3.4.37", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", - "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz", - "integrity": "sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" } }, "node_modules/@types/eslint": { - "version": "8.44.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", - "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", + "version": "8.56.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", + "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, "node_modules/@types/eslint-scope": { - "version": "3.7.6", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", - "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", "dependencies": { "@types/eslint": "*", "@types/estree": "*" } }, "node_modules/@types/estree": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", - "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, "node_modules/@types/express": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", - "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -2112,9 +2127,9 @@ } }, "node_modules/@types/express/node_modules/@types/express-serve-static-core": { - "version": "4.17.39", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", - "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", + "version": "4.17.43", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", + "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -2132,46 +2147,46 @@ } }, "node_modules/@types/http-errors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", - "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" }, "node_modules/@types/http-proxy": { - "version": "1.17.13", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.13.tgz", - "integrity": "sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==", + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/imagemin": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-8.0.3.tgz", - "integrity": "sha512-se/hpaYxu5DyvPqmUEwbupmbQSx6JNislk0dkoIgWSmArkj+Ow9pGG9pGz8MRmbQDfGNYNzqwPQKHCUy+K+jpQ==", + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-8.0.5.tgz", + "integrity": "sha512-tah3dm+5sG+fEDAz6CrQ5evuEaPX9K6DF3E5a01MPOKhA2oGBoC+oA5EJzSugB905sN4DE19EDzldT2Cld2g6Q==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/imagemin-gifsicle": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@types/imagemin-gifsicle/-/imagemin-gifsicle-7.0.3.tgz", - "integrity": "sha512-GQBKOk9doOd0Xp7OvO4QDl7U0Vkwk2Ps7J0rxafdAa7wG9lu7idvZTm8TtSZiRtHENdkW88Kz8OjmjMlgeeC5w==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@types/imagemin-gifsicle/-/imagemin-gifsicle-7.0.4.tgz", + "integrity": "sha512-ZghMBd/Jgqg5utTJNPmvf6DkuHzMhscJ8vgf/7MUGCpO+G+cLrhYltL+5d+h3A1B4W73S2SrmJZ1jS5LACpX+A==", "dependencies": { "@types/imagemin": "*" } }, "node_modules/@types/imagemin-mozjpeg": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/@types/imagemin-mozjpeg/-/imagemin-mozjpeg-8.0.3.tgz", - "integrity": "sha512-+U/ibETP2/oRqeuaaXa67dEpKHfzmfK0OBVC09AR4c1CIFAKjQ5xY+dxH+fjoMQRlwdcRQLkn/ALtnxSl3Xsqw==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@types/imagemin-mozjpeg/-/imagemin-mozjpeg-8.0.4.tgz", + "integrity": "sha512-ZCAxV8SYJB8ehwHpnbRpHjg5Wc4HcyuAMiDhXbkgC7gujDoOTyHO3dhDkUtZ1oK1DLBRZapqG9etdLVhUml7yQ==", "dependencies": { "@types/imagemin": "*" } }, "node_modules/@types/imagemin-optipng": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@types/imagemin-optipng/-/imagemin-optipng-5.2.3.tgz", - "integrity": "sha512-Q80ANbJYn+WgKkWVfx9f7/q4LR6qun4NIiuV1eRWCg8KCAmNrU7ZH16a2hGs9kfkFqyJlhBv6oV9SDXe1vL3aQ==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@types/imagemin-optipng/-/imagemin-optipng-5.2.4.tgz", + "integrity": "sha512-mvKnDMC8eCYZetAQudjs1DbgpR84WhsTx1wgvdiXnpuUEti3oJ+MaMYBRWPY0JlQ4+y4TXKOfa7+LOuT8daegQ==", "dependencies": { "@types/imagemin": "*" } @@ -2186,14 +2201,14 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", - "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==" + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/mime": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.3.tgz", - "integrity": "sha512-i8MBln35l856k5iOhKk2XJ4SeAWg75mLIpZB4v6imOagKL6twsukBZGDMNhdOVk7yRFTMPpfILocMos59Q1otQ==" + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.4.tgz", + "integrity": "sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==" }, "node_modules/@types/minimatch": { "version": "5.1.2", @@ -2201,27 +2216,35 @@ "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==" }, "node_modules/@types/node": { - "version": "20.8.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz", - "integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==", + "version": "20.11.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.19.tgz", + "integrity": "sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==", "dependencies": { - "undici-types": "~5.25.1" + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dependencies": { + "@types/node": "*" } }, "node_modules/@types/parse-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.1.tgz", - "integrity": "sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng==" + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" }, "node_modules/@types/qs": { - "version": "6.9.9", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", - "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==" + "version": "6.9.11", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", + "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==" }, "node_modules/@types/range-parser": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", - "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" }, "node_modules/@types/retry": { "version": "0.12.0", @@ -2229,31 +2252,31 @@ "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" }, "node_modules/@types/send": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", - "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "node_modules/@types/send/node_modules/@types/mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", - "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==" + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" }, "node_modules/@types/serve-index": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.3.tgz", - "integrity": "sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==", + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", "dependencies": { "@types/express": "*" } }, "node_modules/@types/serve-static": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", - "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", "dependencies": { "@types/http-errors": "*", "@types/mime": "*", @@ -2261,9 +2284,9 @@ } }, "node_modules/@types/sockjs": { - "version": "0.3.35", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.35.tgz", - "integrity": "sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==", + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", "dependencies": { "@types/node": "*" } @@ -2274,9 +2297,9 @@ "integrity": "sha512-AZU7vQcy/4WFEuwnwsNsJnFwupIpbllH1++LXScN6uxT1Z4zPzdrWG97w4/I7eFKFTvfy/bHFStWjdBAg2Vjug==" }, "node_modules/@types/ws": { - "version": "8.5.8", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz", - "integrity": "sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==", + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", "dependencies": { "@types/node": "*" } @@ -2296,13 +2319,16 @@ } }, "node_modules/@vue/compiler-sfc": { - "version": "2.7.14", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz", - "integrity": "sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==", + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz", + "integrity": "sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==", "dependencies": { - "@babel/parser": "^7.18.4", + "@babel/parser": "^7.23.5", "postcss": "^8.4.14", "source-map": "^0.6.1" + }, + "optionalDependencies": { + "prettier": "^1.18.2 || ^2.0.0" } }, "node_modules/@vue/component-compiler-utils": { @@ -2543,9 +2569,9 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "node_modules/@zip.js/zip.js": { - "version": "2.7.30", - "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.30.tgz", - "integrity": "sha512-nhMvQCj+TF1ATBqYzFds7v+yxPBhdDYHh8J341KtC1D2UrVBUIYcYK4Jy1/GiTsxOXEiKOXSUxvPG/XR+7jMqw==", + "version": "2.7.34", + "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.34.tgz", + "integrity": "sha512-SWAK+hLYKRHswhakNUirPYrdsflSFOxykUckfbWDcPvP8tjLuV5EWyd3GHV0hVaJLDps40jJnv8yQVDbWnQDfg==", "engines": { "bun": ">=0.7.0", "deno": ">=1.0.0", @@ -2565,9 +2591,9 @@ } }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "bin": { "acorn": "bin/acorn" }, @@ -2724,9 +2750,9 @@ } }, "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, "node_modules/array-union": { "version": "2.1.0", @@ -2774,10 +2800,16 @@ "inherits": "2.0.3" } }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, "node_modules/autoprefixer": { - "version": "10.4.16", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", - "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "version": "10.4.17", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", + "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", "funding": [ { "type": "opencollective", @@ -2793,9 +2825,9 @@ } ], "dependencies": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001538", - "fraction.js": "^4.3.6", + "browserslist": "^4.22.2", + "caniuse-lite": "^1.0.30001578", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" @@ -2811,12 +2843,14 @@ } }, "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", + "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", "dev": true, "dependencies": { - "follow-redirects": "^1.14.0" + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, "node_modules/babel-helper-vue-jsx-merge-props": { @@ -2843,12 +2877,12 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", - "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", + "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.3", + "@babel/helper-define-polyfill-provider": "^0.5.0", "semver": "^6.3.1" }, "peerDependencies": { @@ -2864,23 +2898,23 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.5.tgz", - "integrity": "sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", + "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3", - "core-js-compat": "^3.32.2" + "@babel/helper-define-polyfill-provider": "^0.5.0", + "core-js-compat": "^3.34.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", - "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", + "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3" + "@babel/helper-define-polyfill-provider": "^0.5.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -3089,12 +3123,10 @@ } }, "node_modules/bonjour-service": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", - "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" } @@ -3205,19 +3237,22 @@ } }, "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz", + "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==", "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", + "elliptic": "^6.5.4", "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" + "parse-asn1": "^5.1.6", + "readable-stream": "^3.6.2", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 4" } }, "node_modules/browserify-sign/node_modules/readable-stream": { @@ -3242,9 +3277,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "funding": [ { "type": "opencollective", @@ -3260,9 +3295,9 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" }, "bin": { @@ -3319,13 +3354,18 @@ } }, "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3360,9 +3400,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001553", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001553.tgz", - "integrity": "sha512-N0ttd6TrFfuqKNi+pMgWJTb9qrdJu4JSpgPFLe/lrD19ugC6fZgF0pUewRowDwzdDnb9V41mFcdlYgl/PyKf4A==", + "version": "1.0.30001588", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001588.tgz", + "integrity": "sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==", "funding": [ { "type": "opencollective", @@ -3441,15 +3481,9 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -3462,6 +3496,9 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } @@ -3507,9 +3544,9 @@ } }, "node_modules/clean-css": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", - "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", "dependencies": { "source-map": "~0.6.0" }, @@ -3605,6 +3642,18 @@ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/commander": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", @@ -3770,9 +3819,9 @@ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, "node_modules/core-js": { - "version": "3.33.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.1.tgz", - "integrity": "sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -3780,11 +3829,11 @@ } }, "node_modules/core-js-compat": { - "version": "3.33.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.1.tgz", - "integrity": "sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz", + "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", "dependencies": { - "browserslist": "^4.22.1" + "browserslist": "^4.22.3" }, "funding": { "type": "opencollective", @@ -3928,20 +3977,20 @@ } }, "node_modules/css-loader": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", - "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz", + "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==", "dev": true, "peer": true, "dependencies": { "icss-utils": "^5.1.0", - "postcss": "^8.4.21", + "postcss": "^8.4.33", "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.3", - "postcss-modules-scope": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.4", + "postcss-modules-scope": "^3.1.1", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" + "semver": "^7.5.4" }, "engines": { "node": ">= 12.13.0" @@ -3951,7 +4000,16 @@ "url": "https://opencollective.com/webpack" }, "peerDependencies": { + "@rspack/core": "0.x || 1.x", "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, "node_modules/css-loader/node_modules/lru-cache": { @@ -3968,9 +4026,9 @@ } }, "node_modules/css-loader/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "peer": true, "dependencies": { @@ -4138,9 +4196,9 @@ } }, "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "node_modules/custom-event-polyfill": { "version": "1.0.7", @@ -4200,16 +4258,19 @@ } }, "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-lazy-prop": { @@ -4255,6 +4316,15 @@ "node": ">=8" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -4317,11 +4387,6 @@ "node": ">=8" } }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, "node_modules/dns-packet": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", @@ -4454,9 +4519,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.563", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.563.tgz", - "integrity": "sha512-dg5gj5qOgfZNkPNeyKBZQAQitIQ/xwfIDmEQJHCbXaD9ebTZxwJXUsDYcBlAvZGZLi+/354l35J1wkmP6CqYaw==" + "version": "1.4.673", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.673.tgz", + "integrity": "sha512-zjqzx4N7xGdl5468G+vcgzDhaHkaYgVcf9MqgexcTqsl2UHSCmOj/Bi3HAprg4BZCpC7HyD8a6nZl6QAZf72gw==" }, "node_modules/elliptic": { "version": "6.5.4", @@ -4519,9 +4584,9 @@ } }, "node_modules/envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", + "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==", "bin": { "envinfo": "dist/cli.js" }, @@ -4542,10 +4607,29 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-module-lexer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", - "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" }, "node_modules/es6-object-assign": { "version": "1.1.0", @@ -4553,9 +4637,9 @@ "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==" }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "engines": { "node": ">=6" } @@ -4772,11 +4856,6 @@ "node": ">= 0.10.0" } }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -4810,9 +4889,9 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -4838,9 +4917,9 @@ } }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dependencies": { "reusify": "^1.0.4" } @@ -4994,9 +5073,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", "funding": [ { "type": "individual", @@ -5012,6 +5091,20 @@ } } }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -5106,15 +5199,19 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -5235,11 +5332,11 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { - "get-intrinsic": "^1.2.2" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5308,9 +5405,9 @@ } }, "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", "dependencies": { "function-bind": "^1.1.2" }, @@ -5327,9 +5424,9 @@ } }, "node_modules/hls.js": { - "version": "1.4.12", - "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.4.12.tgz", - "integrity": "sha512-1RBpx2VihibzE3WE9kGoVCtrhhDWTzydzElk/kyRbEOLnb1WIE+3ZabM/L8BqKFTCL3pUy4QzhXgD1Q6Igr1JA==" + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.5.6.tgz", + "integrity": "sha512-rmlaIEfLuSwqRtYLeTk30ebYli5qNK2urdkEcqYoBezRpV+MFHhZnMX77lHWW+EMjNlwr2sx2apfqq54E3yXnA==" }, "node_modules/hmac-drbg": { "version": "1.0.1", @@ -5597,9 +5694,9 @@ ] }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "engines": { "node": ">= 4" } @@ -5660,9 +5757,9 @@ } }, "node_modules/immutable": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", - "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", "dev": true }, "node_modules/import-fresh": { @@ -5739,9 +5836,21 @@ } }, "node_modules/ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.9.tgz", + "integrity": "sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==" + }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } }, "node_modules/ipaddr.js": { "version": "2.1.0", @@ -5964,6 +6073,11 @@ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -6180,9 +6294,9 @@ } }, "node_modules/laravel-mix/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -6568,9 +6682,9 @@ } }, "node_modules/moment": { - "version": "2.29.4", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", - "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", "engines": { "node": "*" } @@ -6593,9 +6707,9 @@ } }, "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "funding": [ { "type": "github", @@ -6665,9 +6779,9 @@ } }, "node_modules/node-gyp-build": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", - "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz", + "integrity": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==", "optional": true, "bin": { "node-gyp-build": "bin.js", @@ -6730,9 +6844,9 @@ } }, "node_modules/node-notifier/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -6763,9 +6877,9 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "node_modules/normalize-path": { "version": "3.0.0", @@ -6841,12 +6955,12 @@ } }, "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, @@ -7184,9 +7298,9 @@ } }, "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", "funding": [ { "type": "opencollective", @@ -7202,7 +7316,7 @@ } ], "dependencies": { - "nanoid": "^3.3.6", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -7359,9 +7473,9 @@ } }, "node_modules/postcss-loader/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -7481,9 +7595,9 @@ } }, "node_modules/postcss-modules-local-by-default": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", - "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", + "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", "dependencies": { "icss-utils": "^5.0.0", "postcss-selector-parser": "^6.0.2", @@ -7497,9 +7611,9 @@ } }, "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", + "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", "dependencies": { "postcss-selector-parser": "^6.0.4" }, @@ -7694,9 +7808,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -7743,7 +7857,6 @@ "version": "2.8.8", "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "dev": true, "optional": true, "bin": { "prettier": "bin-prettier.js" @@ -7801,6 +7914,12 @@ "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -8019,9 +8138,9 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/regenerator-transform": { "version": "0.15.2", @@ -8032,9 +8151,9 @@ } }, "node_modules/regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", + "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==", "dev": true }, "node_modules/regexpu-core": { @@ -8280,9 +8399,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { - "version": "1.69.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.4.tgz", - "integrity": "sha512-+qEreVhqAy8o++aQfCJwp0sklr2xyEzkm9Pp/Igu9wNPoe7EZEQ8X/MBvvXggI2ql607cxKg/RKOwDj6pp2XDA==", + "version": "1.71.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.71.0.tgz", + "integrity": "sha512-HKKIKf49Vkxlrav3F/w6qRuPcmImGVbIXJ2I3Kg0VMA+3Bav+8yE9G5XmP5lMj6nl4OlqbPftGAscNaNu28b8w==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -8357,10 +8476,11 @@ "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" }, "node_modules/selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", "dependencies": { + "@types/node-forge": "^1.3.0", "node-forge": "^1" }, "engines": { @@ -8418,9 +8538,9 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dependencies": { "randombytes": "^2.1.0" } @@ -8510,14 +8630,16 @@ } }, "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -8591,13 +8713,17 @@ "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", + "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -8782,23 +8908,18 @@ } }, "node_modules/socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.3.tgz", + "integrity": "sha512-vfuYK48HXCTFD03G/1/zkIls3Ebr2YNa4qU9gHDZdblHLiqhJrJGkY3+0Nx0JpN9qBhJbVObc1CNciT1bIZJxw==", "dependencies": { - "ip": "^2.0.0", + "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" }, "engines": { - "node": ">= 10.13.0", + "node": ">= 10.0.0", "npm": ">= 3.0.0" } }, - "node_modules/socks/node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" - }, "node_modules/source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", @@ -8870,6 +8991,11 @@ "node": ">= 6" } }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" + }, "node_modules/stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", @@ -8885,9 +9011,9 @@ } }, "node_modules/std-env": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz", - "integrity": "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==" + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" }, "node_modules/stream-browserify": { "version": "2.0.2", @@ -9075,9 +9201,9 @@ } }, "node_modules/terser": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", - "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", + "version": "5.27.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.1.tgz", + "integrity": "sha512-29wAr6UU/oQpnTw5HoadwjUZnFQXGdOfj0LjZ4sVxzqwHh/QVkvr7m8y9WoR4iN3FRitVduTc6KdjcW38Npsug==", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -9092,15 +9218,15 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" @@ -9241,9 +9367,9 @@ } }, "node_modules/undici-types": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", - "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==" + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", @@ -9282,9 +9408,9 @@ } }, "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "engines": { "node": ">= 10.0.0" } @@ -9340,9 +9466,9 @@ } }, "node_modules/uri-js/node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "engines": { "node": ">=6" } @@ -9427,11 +9553,12 @@ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" }, "node_modules/vue": { - "version": "2.7.14", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.14.tgz", - "integrity": "sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==", + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.16.tgz", + "integrity": "sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==", + "deprecated": "Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details.", "dependencies": { - "@vue/compiler-sfc": "2.7.14", + "@vue/compiler-sfc": "2.7.16", "csstype": "^3.1.0" } }, @@ -9617,9 +9744,9 @@ } }, "node_modules/vue-template-compiler": { - "version": "2.7.14", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", - "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", + "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==", "dev": true, "dependencies": { "de-indent": "^1.0.2", @@ -9693,18 +9820,18 @@ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/webpack": { - "version": "5.89.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", - "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "version": "5.90.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.2.tgz", + "integrity": "sha512-ziXu8ABGr0InCMEYFnHrYweinHK2PWrMqnwdHk2oK3rRhv/1B+2FnfwYv5oD+RrknK/Pp/Hmyvu+eAsaMYhzCw==", "dependencies": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", + "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.11.5", "@webassemblyjs/wasm-edit": "^1.11.5", "@webassemblyjs/wasm-parser": "^1.11.5", "acorn": "^8.7.1", "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.15.0", "es-module-lexer": "^1.2.1", @@ -9718,7 +9845,7 @@ "neo-async": "^2.6.2", "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", + "terser-webpack-plugin": "^5.3.10", "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, @@ -10017,9 +10144,9 @@ } }, "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", - "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", "engines": { "node": ">=10.0.0" }, diff --git a/package.json b/package.json index 6598175d9..8ecb08ae7 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "acorn": "^8.7.1", - "axios": "^0.21.1", + "axios": ">=1.6.0", "bootstrap": "^4.5.2", "cross-env": "^5.2.1", "jquery": "^3.6.0", diff --git a/public/js/account-import.js b/public/js/account-import.js index f1510f57e..1acfa8245 100644 --- a/public/js/account-import.js +++ b/public/js/account-import.js @@ -1,2 +1,2 @@ /*! For license information please see account-import.js.LICENSE.txt */ -(self.webpackChunkpixelfed=self.webpackChunkpixelfed||[]).push([[4825],{55185:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>u});var i=n(22093);function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function a(t){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n=0;--a){var o=this.tryEntries[a],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var l=i.call(o,"catchLoc"),c=i.call(o,"finallyLoc");if(l&&c){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),E(n),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var r=i.arg;E(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,i){return this.delegate={iterator:O(e),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),b}},e}function l(t,e,n,i,r,a,o){try{var s=t[a](o),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}function c(t){return function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function o(t){l(a,i,r,o,s,"next",t)}function s(t){l(a,i,r,o,s,"throw",t)}o(void 0)}))}}const u={data:function(){return{page:1,step:1,toggleLimit:100,config:{},showDisabledWarning:!1,showNotAllowedWarning:!1,invalidArchive:!1,loaded:!1,existing:[],zipName:void 0,zipFiles:[],postMeta:[],imageCache:[],includeArchives:!1,selectedMedia:[],selectedPostsCounter:0,detailsModalShow:!1,modalData:{},importedPosts:[],finishedCount:void 0,processingCount:void 0,showUploadLoader:!1,importButtonLoading:!1}},mounted:function(){this.fetchConfig()},methods:{fetchConfig:function(){var t=this;axios.get("/api/local/import/ig/config").then((function(e){t.config=e.data,0==e.data.enabled?(t.showDisabledWarning=!0,t.loaded=!0):0==e.data.allowed?(t.showNotAllowedWarning=!0,t.loaded=!0):t.fetchExisting()}))},fetchExisting:function(){var t=this;axios.post("/api/local/import/ig/existing").then((function(e){t.existing=e.data})).finally((function(){t.fetchProcessing()}))},fetchProcessing:function(){var t=this;axios.post("/api/local/import/ig/processing").then((function(e){t.processingCount=e.data.processing_count,t.finishedCount=e.data.finished_count})).finally((function(){t.loaded=!0}))},selectArchive:function(){var t=this;event.currentTarget.blur(),swal({title:"Upload Archive",icon:"success",text:"The .zip archive is probably named something like username_20230606.zip, and was downloaded from the Instagram.com website.",buttons:{cancel:"Cancel",danger:{text:"Upload zip archive",value:"upload"}}}).then((function(e){t.$refs.zipInput.click()}))},zipInputChanged:function(t){var e=this;this.step=2,this.zipName=t.target.files[0].name,this.showUploadLoader=!0,setTimeout((function(){e.reviewImports()}),1e3),setTimeout((function(){e.showUploadLoader=!1}),3e3)},reviewImports:function(){this.invalidArchive=!1,this.checkZip()},model:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new i.ZipReader(new i.BlobReader(t)).getEntries(e)},formatDate:function(t){return(!(arguments.length>1&&void 0!==arguments[1])||arguments[1]?new Date(1e3*t):new Date(t)).toLocaleDateString()},getFileNameUrl:function(t){return this.imageCache.filter((function(e){return e.filename===t})).map((function(t){return t.blob}))},showDetailsModal:function(t){this.modalData=t,this.detailsModalShow=!0,setTimeout((function(){pixelfed.readmore()}),500)},fixFacebookEncoding:function(t){return c(s().mark((function e(){var n,i;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.replace(/\\u00([a-f0-9]{2})/g,(function(t){return String.fromCharCode(parseInt(t.slice(2),16))})),i=Array.from(n,(function(t){return t.charCodeAt(0)})),e.abrupt("return",(new TextDecoder).decode(new Uint8Array(i)));case 3:case"end":return e.stop()}}),e)})))()},filterPostMeta:function(t){var e=this;return c(s().mark((function n(){var i,r,a;return s().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.fixFacebookEncoding(t);case 2:return i=n.sent,r=JSON.parse(i),a=r.filter((function(t){return t.media.map((function(t){return t.uri})).filter((function(t){return 1==e.config.allow_video_posts?t.endsWith(".png")||t.endsWith(".jpg")||t.endsWith(".mp4"):t.endsWith(".png")||t.endsWith(".jpg")})).length})).filter((function(t){var n=t.media.map((function(t){return t.uri}));return!e.existing.includes(n[0])})),e.postMeta=a,n.abrupt("return",a);case 7:case"end":return n.stop()}}),n)})))()},checkZip:function(){var t=this;return c(s().mark((function e(){var n,i,r;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.$refs.zipInput.files[0],e.next=3,t.model(n);case 3:if(!(i=e.sent)||!i.length){e.next=15;break}return e.next=7,i.filter((function(t){return"content/posts_1.json"===t.filename||"your_instagram_activity/content/posts_1.json"===t.filename}));case 7:if((r=e.sent)&&r.length){e.next=14;break}return t.contactModal("Invalid import archive","The .zip archive you uploaded is corrupted, or is invalid. We cannot process your import at this time.\n\nIf this issue persists, please contact an administrator.","error"),t.invalidArchive=!0,e.abrupt("return");case 14:t.readZip();case 15:case"end":return e.stop()}}),e)})))()},readZip:function(){var t=this;return c(s().mark((function e(){var n,r,a,o;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.$refs.zipInput.files[0],e.next=3,t.model(n);case 3:if(!(r=e.sent)||!r.length){e.next=14;break}return t.zipFiles=r,e.next=8,r.filter((function(t){return"content/posts_1.json"===t.filename||"your_instagram_activity/content/posts_1.json"===t.filename}))[0].getData(new i.TextWriter);case 8:return a=e.sent,t.filterPostMeta(a),e.next=12,Promise.all(r.filter((function(t){return(t.filename.startsWith("media/posts/")||t.filename.startsWith("media/other/"))&&(t.filename.endsWith(".png")||t.filename.endsWith(".jpg")||t.filename.endsWith(".mp4"))})).map(function(){var t=c(s().mark((function t(e){var n,r,a;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.filename.startsWith("media/posts/")&&!e.filename.startsWith("media/other/")||!(e.filename.endsWith(".png")||e.filename.endsWith(".jpg")||e.filename.endsWith(".mp4"))){t.next=10;break}return n={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",mp4:"video/mp4"}[e.filename.split("/").pop().split(".").pop()],t.next=5,e.getData(new i.BlobWriter(n));case 5:return r=t.sent,a=URL.createObjectURL(r),t.abrupt("return",{filename:e.filename,blob:a,file:r});case 10:return t.abrupt("return");case 11:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()));case 12:o=e.sent,t.imageCache=o.flat(2);case 14:setTimeout((function(){t.page=2}),500);case 15:case"end":return e.stop()}}),e)})))()},toggleLimitReached:function(){this.contactModal("Limit reached","You can only import "+this.toggleLimit+" posts at a time.\nYou can import more posts after you finish importing these posts.","error")},toggleSelectedPost:function(t){var e,n=this;if(1===t.media.length)if(e=t.media[0].uri,-1==this.selectedMedia.indexOf(e)){if(this.selectedPostsCounter>=this.toggleLimit)return void this.toggleLimitReached();this.selectedMedia.push(e),this.selectedPostsCounter++}else{var i=this.selectedMedia.indexOf(e);this.selectedMedia.splice(i,1),this.selectedPostsCounter--}else{if(e=t.media[0].uri,-1==this.selectedMedia.indexOf(e)){if(this.selectedPostsCounter>=this.toggleLimit)return void this.toggleLimitReached();this.selectedPostsCounter++}else this.selectedPostsCounter--;t.media.forEach((function(t){if(e=t.uri,-1==n.selectedMedia.indexOf(e))n.selectedMedia.push(e);else{var i=n.selectedMedia.indexOf(e);n.selectedMedia.splice(i,1)}}))}},sliceIntoChunks:function(t,e){for(var n=[],i=0;i0&&void 0!==arguments[0]?arguments[0]:"Error",text:arguments.length>1?arguments[1]:void 0,icon:arguments.length>2?arguments[2]:void 0,dangerMode:!0,buttons:{ok:arguments.length>3&&void 0!==arguments[3]?arguments[3]:"Close",danger:{text:"Contact Support",value:"contact"}}}).then((function(t){"contact"===t&&(window.location.href="/site/contact")}))},handleSelectAll:function(){for(var t=this.postMeta.slice(0,100),e=t.length-1;e>=0;e--){var n=t[e];this.toggleSelectedPost(n)}},handleClearAll:function(){this.selectedMedia=[],this.selectedPostsCounter=0}}}},97332:(t,e,n)=>{"use strict";n.r(e),n.d(e,{render:()=>i,staticRenderFns:()=>r});var i=function(){var t=this,e=t._self._c;return e("div",{staticClass:"h-100 pf-import"},[t.loaded?[e("input",{ref:"zipInput",staticClass:"d-none",attrs:{type:"file",name:"file"},on:{change:t.zipInputChanged}}),t._v(" "),1===t.page?[t._m(0),t._v(" "),e("hr"),t._v(" "),t._m(1),t._v(" "),e("section",{staticClass:"mt-4"},[e("ul",{staticClass:"list-group"},[e("li",{staticClass:"list-group-item d-flex justify-content-between flex-column",staticStyle:{gap:"1rem"}},[e("div",{staticClass:"d-flex justify-content-between align-items-center",staticStyle:{gap:"1rem"}},[e("div",[e("p",{staticClass:"font-weight-bold mb-1"},[t._v("Import from Instagram")]),t._v(" "),t.showDisabledWarning?e("p",{staticClass:"small mb-0"},[t._v("This feature has been disabled by the administrators.")]):t.showNotAllowedWarning?e("p",{staticClass:"small mb-0"},[t._v("You have not been permitted to use this feature, or have reached the maximum limits. For more info, view the "),e("a",{staticClass:"font-weight-bold",attrs:{href:"/site/kb/import"}},[t._v("Import Help Center")]),t._v(" page.")]):e("p",{staticClass:"small mb-0"},[t._v("Upload the JSON export from Instagram in .zip format."),e("br"),t._v("For more information click "),e("a",{attrs:{href:"/site/kb/import"}},[t._v("here")]),t._v(".")])]),t._v(" "),t.showDisabledWarning||t.showNotAllowedWarning?t._e():e("div",[1===t.step||t.invalidArchive?e("button",{staticClass:"font-weight-bold btn btn-primary rounded-pill px-4 btn-lg",attrs:{type:"button",disabled:t.showDisabledWarning},on:{click:function(e){return t.selectArchive()}}},[t._v("\n Import\n ")]):2===t.step?[e("div",{staticClass:"d-flex justify-content-center align-items-center flex-column"},[t.showUploadLoader?e("b-spinner",{attrs:{small:""}}):e("button",{staticClass:"font-weight-bold btn btn-outline-primary btn-sm btn-block",attrs:{type:"button"},on:{click:function(e){return t.reviewImports()}}},[t._v("Review Imports")]),t._v(" "),t.zipName?e("p",{staticClass:"small font-weight-bold mt-2 mb-0"},[t._v(t._s(t.zipName))]):t._e()],1)]:t._e()],2)])])]),t._v(" "),e("ul",{staticClass:"list-group mt-3"},[t.processingCount?e("li",{staticClass:"list-group-item d-flex justify-content-between flex-column",staticStyle:{gap:"1rem"}},[e("div",{staticClass:"d-flex justify-content-between align-items-center"},[t._m(2),t._v(" "),e("div",[e("span",{staticClass:"btn btn-danger rounded-pill py-0 font-weight-bold",attrs:{disabled:""}},[t._v(t._s(t.processingCount))])])])]):t._e(),t._v(" "),t.finishedCount?e("li",{staticClass:"list-group-item d-flex justify-content-between flex-column",staticStyle:{gap:"1rem"}},[e("div",{staticClass:"d-flex justify-content-between align-items-center"},[t._m(3),t._v(" "),e("div",[e("button",{staticClass:"font-weight-bold btn btn-primary btn-sm rounded-pill px-4 btn-block",attrs:{type:"button",disabled:!t.finishedCount},on:{click:function(e){return t.handleReviewPosts()}}},[t._v("\n Review "+t._s(t.finishedCount)+" Posts\n ")])])])]):t._e()])])]:2===t.page?[e("div",{staticClass:"d-flex justify-content-between align-items-center"},[t._m(4),t._v(" "),e("button",{staticClass:"btn btn-primary font-weight-bold rounded-pill px-4",class:{disabled:!t.selectedMedia||!t.selectedMedia.length},attrs:{disabled:!t.selectedMedia||!t.selectedMedia.length||t.importButtonLoading},on:{click:function(e){return t.handleImport()}}},[t.importButtonLoading?e("b-spinner",{attrs:{small:""}}):e("span",[t._v("Import")])],1)]),t._v(" "),e("hr"),t._v(" "),e("section",[e("div",{staticClass:"d-flex justify-content-between align-items-center mb-3"},[t.selectedMedia&&t.selectedMedia.length?e("p",{staticClass:"lead mb-0"},[e("span",{staticClass:"font-weight-bold"},[t._v(t._s(t.selectedPostsCounter))]),t._v(" posts selected for import")]):e("div",[e("p",{staticClass:"lead mb-0"},[t._v("Review posts you'd like to import.")]),t._v(" "),e("p",{staticClass:"small text-muted mb-0"},[t._v("Tap on posts to include them in your import.")])]),t._v(" "),t.selectedMedia.length?e("button",{staticClass:"btn btn-outline-danger font-weight-bold rounded-pill btn-sm my-1",on:{click:function(e){return t.handleClearAll()}}},[t._v("Clear all selected")]):e("button",{staticClass:"btn btn-outline-primary font-weight-bold rounded-pill",on:{click:function(e){return t.handleSelectAll()}}},[t._v("Select first 100 posts")])])]),t._v(" "),e("section",{staticClass:"row mb-n5 media-selector",staticStyle:{"max-height":"600px","overflow-y":"auto"}},t._l(t.postMeta,(function(n){return e("div",{staticClass:"col-12 col-md-4"},[e("div",{staticClass:"square cursor-pointer",on:{click:function(e){return t.toggleSelectedPost(n)}}},[n.media[0].uri.endsWith(".mp4")?e("div",{staticClass:"info-overlay-text-label rounded",class:{selected:-1!=t.selectedMedia.indexOf(n.media[0].uri)}},[t._m(5,!0)]):e("div",{staticClass:"square-content",class:{selected:-1!=t.selectedMedia.indexOf(n.media[0].uri)},style:{borderRadius:"5px",backgroundImage:"url("+t.getFileNameUrl(n.media[0].uri)+")"}})]),t._v(" "),e("div",{staticClass:"d-flex mt-1 justify-content-between align-items-center"},[e("p",{staticClass:"small"},[e("i",{staticClass:"far fa-clock"}),t._v(" "+t._s(t.formatDate(n.media[0].creation_timestamp)))]),t._v(" "),e("p",{staticClass:"small font-weight-bold"},[e("a",{attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.showDetailsModal(n)}}},[e("i",{staticClass:"far fa-info-circle"}),t._v(" Details")])])])])})),0)]:"reviewImports"===t.page?[t._m(6),t._v(" "),e("hr"),t._v(" "),e("section",{staticClass:"row mb-n5 media-selector",staticStyle:{"max-height":"600px","overflow-y":"auto"}},[t._l(t.importedPosts.data,(function(n){return e("div",{staticClass:"col-12 col-md-4"},[e("div",{staticClass:"square cursor-pointer"},[n.media_attachments[0].url.endsWith(".mp4")?e("div",{staticClass:"info-overlay-text-label rounded"},[t._m(7,!0)]):e("div",{staticClass:"square-content",style:{borderRadius:"5px",backgroundImage:"url("+n.media_attachments[0].url+")"}})]),t._v(" "),e("div",{staticClass:"d-flex mt-1 justify-content-between align-items-center"},[e("p",{staticClass:"small"},[e("i",{staticClass:"far fa-clock"}),t._v(" "+t._s(t.formatDate(n.created_at,!1)))]),t._v(" "),e("p",{staticClass:"small font-weight-bold"},[e("a",{attrs:{href:n.url}},[e("i",{staticClass:"far fa-info-circle"}),t._v(" View")])])])])})),t._v(" "),e("div",{staticClass:"col-12 my-3"},[t.importedPosts.meta&&t.importedPosts.meta.next_cursor?e("button",{staticClass:"btn btn-primary btn-block font-weight-bold",on:{click:function(e){return t.loadMorePosts()}}},[t._v("\n Load more\n ")]):t._e()])],2)]:t._e()]:e("div",{staticClass:"d-flex justify-content-center align-items-center h-100"},[e("b-spinner")],1),t._v(" "),e("b-modal",{attrs:{id:"detailsModal",title:"Post Details","ok-only":!0,"ok-title":"Close",centered:""},model:{value:t.detailsModalShow,callback:function(e){t.detailsModalShow=e},expression:"detailsModalShow"}},[e("div",{},t._l(t.modalData.media,(function(n,i){return e("div",{staticClass:"mb-3"},[e("div",{staticClass:"list-group"},[e("div",{staticClass:"list-group-item d-flex justify-content-between align-items-center"},[e("p",{staticClass:"text-center font-weight-bold mb-0"},[t._v("Media #"+t._s(i+1))]),t._v(" "),n.uri.endsWith(".jpg")||n.uri.endsWith(".png")?[e("img",{staticStyle:{"object-fit":"cover","border-radius":"5px"},attrs:{src:t.getFileNameUrl(n.uri),width:"30",height:"30"}})]:t._e()],2),t._v(" "),n.uri.endsWith(".mp4")?[e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"embed-responsive embed-responsive-4by3"},[e("video",{attrs:{src:t.getFileNameUrl(n.uri),controls:""}})])])]:t._e(),t._v(" "),e("div",{staticClass:"list-group-item"},[e("p",{staticClass:"small text-muted"},[t._v("Caption")]),t._v(" "),e("p",{staticClass:"mb-0 small read-more",staticStyle:{"font-size":"12px","overflow-y":"hidden"}},[t._v(t._s(n.title?n.title:t.modalData.title))])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"d-flex justify-content-between align-items-center"},[e("p",{staticClass:"small mb-0 text-muted"},[t._v("Timestamp")]),t._v(" "),e("p",{staticClass:"font-weight-bold mb-0"},[t._v(t._s(t.formatDate(n.creation_timestamp)))])])])],2)])})),0)])],2)},r=[function(){var t=this._self._c;return t("div",{staticClass:"title"},[t("h3",{staticClass:"font-weight-bold"},[this._v("Import")])])},function(){var t=this._self._c;return t("section",[t("p",{staticClass:"lead"},[this._v("Account Import allows you to import your data from a supported service.")])])},function(){var t=this,e=t._self._c;return e("div",[e("p",{staticClass:"font-weight-bold mb-1"},[t._v("Processing Imported Posts")]),t._v(" "),e("p",{staticClass:"small mb-0"},[t._v("These are posts that are in the process of being imported.")])])},function(){var t=this,e=t._self._c;return e("div",[e("p",{staticClass:"font-weight-bold mb-1"},[t._v("Imported Posts")]),t._v(" "),e("p",{staticClass:"small mb-0"},[t._v("These are posts that have been successfully imported.")])])},function(){var t=this._self._c;return t("div",{staticClass:"title"},[t("h3",{staticClass:"font-weight-bold"},[this._v("Import from Instagram")])])},function(){var t=this._self._c;return t("h5",{staticClass:"text-white m-auto font-weight-bold"},[t("span",[t("span",{staticClass:"far fa-video fa-2x p-2 d-flex-inline"})])])},function(){var t=this._self._c;return t("div",{staticClass:"d-flex justify-content-between align-items-center"},[t("div",{staticClass:"title"},[t("h3",{staticClass:"font-weight-bold"},[this._v("Posts Imported from Instagram")])])])},function(){var t=this._self._c;return t("h5",{staticClass:"text-white m-auto font-weight-bold"},[t("span",[t("span",{staticClass:"far fa-video fa-2x p-2 d-flex-inline"})])])}]},75876:(t,e,n)=>{Vue.component("account-import",n(92508).default)},4676:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>a});var i=n(1519),r=n.n(i)()((function(t){return t[1]}));r.push([t.id,".pf-import .media-selector .selected[data-v-36154edc]{border:5px solid red}",""]);const a=r},64086:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>s});var i=n(93379),r=n.n(i),a=n(4676),o={insert:"head",singleton:!1};r()(a.default,o);const s=a.default.locals||{}},92508:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});var i=n(88340),r=n(99562),a={};for(const t in r)"default"!==t&&(a[t]=()=>r[t]);n.d(e,a);n(32406);const o=(0,n(51900).default)(r.default,i.render,i.staticRenderFns,!1,null,"36154edc",null).exports},99562:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>a});var i=n(55185),r={};for(const t in i)"default"!==t&&(r[t]=()=>i[t]);n.d(e,r);const a=i.default},88340:(t,e,n)=>{"use strict";n.r(e);var i=n(97332),r={};for(const t in i)"default"!==t&&(r[t]=()=>i[t]);n.d(e,r)},32406:(t,e,n)=>{"use strict";n.r(e);var i=n(64086),r={};for(const t in i)"default"!==t&&(r[t]=()=>i[t]);n.d(e,r)}},t=>{t.O(0,[8898],(()=>{return e=75876,t(t.s=e);var e}));t.O()}]); \ No newline at end of file +(self.webpackChunkpixelfed=self.webpackChunkpixelfed||[]).push([[9139],{11887:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>u});var i=n(58285);function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function a(t){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n=0;--a){var o=this.tryEntries[a],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var l=i.call(o,"catchLoc"),c=i.call(o,"finallyLoc");if(l&&c){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),E(n),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var r=i.arg;E(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,i){return this.delegate={iterator:O(e),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),b}},e}function l(t,e,n,i,r,a,o){try{var s=t[a](o),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,r)}function c(t){return function(){var e=this,n=arguments;return new Promise((function(i,r){var a=t.apply(e,n);function o(t){l(a,i,r,o,s,"next",t)}function s(t){l(a,i,r,o,s,"throw",t)}o(void 0)}))}}const u={data:function(){return{page:1,step:1,toggleLimit:100,config:{},showDisabledWarning:!1,showNotAllowedWarning:!1,invalidArchive:!1,loaded:!1,existing:[],zipName:void 0,zipFiles:[],postMeta:[],imageCache:[],includeArchives:!1,selectedMedia:[],selectedPostsCounter:0,detailsModalShow:!1,modalData:{},importedPosts:[],finishedCount:void 0,processingCount:void 0,showUploadLoader:!1,importButtonLoading:!1}},mounted:function(){this.fetchConfig()},methods:{fetchConfig:function(){var t=this;axios.get("/api/local/import/ig/config").then((function(e){t.config=e.data,0==e.data.enabled?(t.showDisabledWarning=!0,t.loaded=!0):0==e.data.allowed?(t.showNotAllowedWarning=!0,t.loaded=!0):t.fetchExisting()}))},fetchExisting:function(){var t=this;axios.post("/api/local/import/ig/existing").then((function(e){t.existing=e.data})).finally((function(){t.fetchProcessing()}))},fetchProcessing:function(){var t=this;axios.post("/api/local/import/ig/processing").then((function(e){t.processingCount=e.data.processing_count,t.finishedCount=e.data.finished_count})).finally((function(){t.loaded=!0}))},selectArchive:function(){var t=this;event.currentTarget.blur(),swal({title:"Upload Archive",icon:"success",text:"The .zip archive is probably named something like username_20230606.zip, and was downloaded from the Instagram.com website.",buttons:{cancel:"Cancel",danger:{text:"Upload zip archive",value:"upload"}}}).then((function(e){t.$refs.zipInput.click()}))},zipInputChanged:function(t){var e=this;this.step=2,this.zipName=t.target.files[0].name,this.showUploadLoader=!0,setTimeout((function(){e.reviewImports()}),1e3),setTimeout((function(){e.showUploadLoader=!1}),3e3)},reviewImports:function(){this.invalidArchive=!1,this.checkZip()},model:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new i.ZipReader(new i.BlobReader(t)).getEntries(e)},formatDate:function(t){return(!(arguments.length>1&&void 0!==arguments[1])||arguments[1]?new Date(1e3*t):new Date(t)).toLocaleDateString()},getFileNameUrl:function(t){return this.imageCache.filter((function(e){return e.filename===t})).map((function(t){return t.blob}))},showDetailsModal:function(t){this.modalData=t,this.detailsModalShow=!0,setTimeout((function(){pixelfed.readmore()}),500)},fixFacebookEncoding:function(t){return c(s().mark((function e(){var n,i;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.replace(/\\u00([a-f0-9]{2})/g,(function(t){return String.fromCharCode(parseInt(t.slice(2),16))})),i=Array.from(n,(function(t){return t.charCodeAt(0)})),e.abrupt("return",(new TextDecoder).decode(new Uint8Array(i)));case 3:case"end":return e.stop()}}),e)})))()},filterPostMeta:function(t){var e=this;return c(s().mark((function n(){var i,r,a;return s().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.fixFacebookEncoding(t);case 2:return i=n.sent,r=JSON.parse(i),a=r.filter((function(t){return t.media.map((function(t){return t.uri})).filter((function(t){return 1==e.config.allow_video_posts?t.endsWith(".png")||t.endsWith(".jpg")||t.endsWith(".mp4"):t.endsWith(".png")||t.endsWith(".jpg")})).length})).filter((function(t){var n=t.media.map((function(t){return t.uri}));return!e.existing.includes(n[0])})),e.postMeta=a,n.abrupt("return",a);case 7:case"end":return n.stop()}}),n)})))()},checkZip:function(){var t=this;return c(s().mark((function e(){var n,i,r;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.$refs.zipInput.files[0],e.next=3,t.model(n);case 3:if(!(i=e.sent)||!i.length){e.next=15;break}return e.next=7,i.filter((function(t){return"content/posts_1.json"===t.filename||"your_instagram_activity/content/posts_1.json"===t.filename}));case 7:if((r=e.sent)&&r.length){e.next=14;break}return t.contactModal("Invalid import archive","The .zip archive you uploaded is corrupted, or is invalid. We cannot process your import at this time.\n\nIf this issue persists, please contact an administrator.","error"),t.invalidArchive=!0,e.abrupt("return");case 14:t.readZip();case 15:case"end":return e.stop()}}),e)})))()},readZip:function(){var t=this;return c(s().mark((function e(){var n,r,a,o;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.$refs.zipInput.files[0],e.next=3,t.model(n);case 3:if(!(r=e.sent)||!r.length){e.next=14;break}return t.zipFiles=r,e.next=8,r.filter((function(t){return"content/posts_1.json"===t.filename||"your_instagram_activity/content/posts_1.json"===t.filename}))[0].getData(new i.TextWriter);case 8:return a=e.sent,t.filterPostMeta(a),e.next=12,Promise.all(r.filter((function(t){return(t.filename.startsWith("media/posts/")||t.filename.startsWith("media/other/"))&&(t.filename.endsWith(".png")||t.filename.endsWith(".jpg")||t.filename.endsWith(".mp4"))})).map(function(){var t=c(s().mark((function t(e){var n,r,a;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.filename.startsWith("media/posts/")&&!e.filename.startsWith("media/other/")||!(e.filename.endsWith(".png")||e.filename.endsWith(".jpg")||e.filename.endsWith(".mp4"))){t.next=10;break}return n={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",mp4:"video/mp4"}[e.filename.split("/").pop().split(".").pop()],t.next=5,e.getData(new i.BlobWriter(n));case 5:return r=t.sent,a=URL.createObjectURL(r),t.abrupt("return",{filename:e.filename,blob:a,file:r});case 10:return t.abrupt("return");case 11:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()));case 12:o=e.sent,t.imageCache=o.flat(2);case 14:setTimeout((function(){t.page=2}),500);case 15:case"end":return e.stop()}}),e)})))()},toggleLimitReached:function(){this.contactModal("Limit reached","You can only import "+this.toggleLimit+" posts at a time.\nYou can import more posts after you finish importing these posts.","error")},toggleSelectedPost:function(t){var e,n=this;if(1===t.media.length)if(e=t.media[0].uri,-1==this.selectedMedia.indexOf(e)){if(this.selectedPostsCounter>=this.toggleLimit)return void this.toggleLimitReached();this.selectedMedia.push(e),this.selectedPostsCounter++}else{var i=this.selectedMedia.indexOf(e);this.selectedMedia.splice(i,1),this.selectedPostsCounter--}else{if(e=t.media[0].uri,-1==this.selectedMedia.indexOf(e)){if(this.selectedPostsCounter>=this.toggleLimit)return void this.toggleLimitReached();this.selectedPostsCounter++}else this.selectedPostsCounter--;t.media.forEach((function(t){if(e=t.uri,-1==n.selectedMedia.indexOf(e))n.selectedMedia.push(e);else{var i=n.selectedMedia.indexOf(e);n.selectedMedia.splice(i,1)}}))}},sliceIntoChunks:function(t,e){for(var n=[],i=0;i0&&void 0!==arguments[0]?arguments[0]:"Error",text:arguments.length>1?arguments[1]:void 0,icon:arguments.length>2?arguments[2]:void 0,dangerMode:!0,buttons:{ok:arguments.length>3&&void 0!==arguments[3]?arguments[3]:"Close",danger:{text:"Contact Support",value:"contact"}}}).then((function(t){"contact"===t&&(window.location.href="/site/contact")}))},handleSelectAll:function(){for(var t=this.postMeta.slice(0,100),e=t.length-1;e>=0;e--){var n=t[e];this.toggleSelectedPost(n)}},handleClearAll:function(){this.selectedMedia=[],this.selectedPostsCounter=0}}}},98863:(t,e,n)=>{"use strict";n.r(e),n.d(e,{render:()=>i,staticRenderFns:()=>r});var i=function(){var t=this,e=t._self._c;return e("div",{staticClass:"h-100 pf-import"},[t.loaded?[e("input",{ref:"zipInput",staticClass:"d-none",attrs:{type:"file",name:"file"},on:{change:t.zipInputChanged}}),t._v(" "),1===t.page?[t._m(0),t._v(" "),e("hr"),t._v(" "),t._m(1),t._v(" "),e("section",{staticClass:"mt-4"},[e("ul",{staticClass:"list-group"},[e("li",{staticClass:"list-group-item d-flex justify-content-between flex-column",staticStyle:{gap:"1rem"}},[e("div",{staticClass:"d-flex justify-content-between align-items-center",staticStyle:{gap:"1rem"}},[e("div",[e("p",{staticClass:"font-weight-bold mb-1"},[t._v("Import from Instagram")]),t._v(" "),t.showDisabledWarning?e("p",{staticClass:"small mb-0"},[t._v("This feature has been disabled by the administrators.")]):t.showNotAllowedWarning?e("p",{staticClass:"small mb-0"},[t._v("You have not been permitted to use this feature, or have reached the maximum limits. For more info, view the "),e("a",{staticClass:"font-weight-bold",attrs:{href:"/site/kb/import"}},[t._v("Import Help Center")]),t._v(" page.")]):e("p",{staticClass:"small mb-0"},[t._v("Upload the JSON export from Instagram in .zip format."),e("br"),t._v("For more information click "),e("a",{attrs:{href:"/site/kb/import"}},[t._v("here")]),t._v(".")])]),t._v(" "),t.showDisabledWarning||t.showNotAllowedWarning?t._e():e("div",[1===t.step||t.invalidArchive?e("button",{staticClass:"font-weight-bold btn btn-primary rounded-pill px-4 btn-lg",attrs:{type:"button",disabled:t.showDisabledWarning},on:{click:function(e){return t.selectArchive()}}},[t._v("\n Import\n ")]):2===t.step?[e("div",{staticClass:"d-flex justify-content-center align-items-center flex-column"},[t.showUploadLoader?e("b-spinner",{attrs:{small:""}}):e("button",{staticClass:"font-weight-bold btn btn-outline-primary btn-sm btn-block",attrs:{type:"button"},on:{click:function(e){return t.reviewImports()}}},[t._v("Review Imports")]),t._v(" "),t.zipName?e("p",{staticClass:"small font-weight-bold mt-2 mb-0"},[t._v(t._s(t.zipName))]):t._e()],1)]:t._e()],2)])])]),t._v(" "),e("ul",{staticClass:"list-group mt-3"},[t.processingCount?e("li",{staticClass:"list-group-item d-flex justify-content-between flex-column",staticStyle:{gap:"1rem"}},[e("div",{staticClass:"d-flex justify-content-between align-items-center"},[t._m(2),t._v(" "),e("div",[e("span",{staticClass:"btn btn-danger rounded-pill py-0 font-weight-bold",attrs:{disabled:""}},[t._v(t._s(t.processingCount))])])])]):t._e(),t._v(" "),t.finishedCount?e("li",{staticClass:"list-group-item d-flex justify-content-between flex-column",staticStyle:{gap:"1rem"}},[e("div",{staticClass:"d-flex justify-content-between align-items-center"},[t._m(3),t._v(" "),e("div",[e("button",{staticClass:"font-weight-bold btn btn-primary btn-sm rounded-pill px-4 btn-block",attrs:{type:"button",disabled:!t.finishedCount},on:{click:function(e){return t.handleReviewPosts()}}},[t._v("\n Review "+t._s(t.finishedCount)+" Posts\n ")])])])]):t._e()])])]:2===t.page?[e("div",{staticClass:"d-flex justify-content-between align-items-center"},[t._m(4),t._v(" "),e("button",{staticClass:"btn btn-primary font-weight-bold rounded-pill px-4",class:{disabled:!t.selectedMedia||!t.selectedMedia.length},attrs:{disabled:!t.selectedMedia||!t.selectedMedia.length||t.importButtonLoading},on:{click:function(e){return t.handleImport()}}},[t.importButtonLoading?e("b-spinner",{attrs:{small:""}}):e("span",[t._v("Import")])],1)]),t._v(" "),e("hr"),t._v(" "),e("section",[e("div",{staticClass:"d-flex justify-content-between align-items-center mb-3"},[t.selectedMedia&&t.selectedMedia.length?e("p",{staticClass:"lead mb-0"},[e("span",{staticClass:"font-weight-bold"},[t._v(t._s(t.selectedPostsCounter))]),t._v(" posts selected for import")]):e("div",[e("p",{staticClass:"lead mb-0"},[t._v("Review posts you'd like to import.")]),t._v(" "),e("p",{staticClass:"small text-muted mb-0"},[t._v("Tap on posts to include them in your import.")])]),t._v(" "),t.selectedMedia.length?e("button",{staticClass:"btn btn-outline-danger font-weight-bold rounded-pill btn-sm my-1",on:{click:function(e){return t.handleClearAll()}}},[t._v("Clear all selected")]):e("button",{staticClass:"btn btn-outline-primary font-weight-bold rounded-pill",on:{click:function(e){return t.handleSelectAll()}}},[t._v("Select first 100 posts")])])]),t._v(" "),e("section",{staticClass:"row mb-n5 media-selector",staticStyle:{"max-height":"600px","overflow-y":"auto"}},t._l(t.postMeta,(function(n){return e("div",{staticClass:"col-12 col-md-4"},[e("div",{staticClass:"square cursor-pointer",on:{click:function(e){return t.toggleSelectedPost(n)}}},[n.media[0].uri.endsWith(".mp4")?e("div",{staticClass:"info-overlay-text-label rounded",class:{selected:-1!=t.selectedMedia.indexOf(n.media[0].uri)}},[t._m(5,!0)]):e("div",{staticClass:"square-content",class:{selected:-1!=t.selectedMedia.indexOf(n.media[0].uri)},style:{borderRadius:"5px",backgroundImage:"url("+t.getFileNameUrl(n.media[0].uri)+")"}})]),t._v(" "),e("div",{staticClass:"d-flex mt-1 justify-content-between align-items-center"},[e("p",{staticClass:"small"},[e("i",{staticClass:"far fa-clock"}),t._v(" "+t._s(t.formatDate(n.media[0].creation_timestamp)))]),t._v(" "),e("p",{staticClass:"small font-weight-bold"},[e("a",{attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.showDetailsModal(n)}}},[e("i",{staticClass:"far fa-info-circle"}),t._v(" Details")])])])])})),0)]:"reviewImports"===t.page?[t._m(6),t._v(" "),e("hr"),t._v(" "),e("section",{staticClass:"row mb-n5 media-selector",staticStyle:{"max-height":"600px","overflow-y":"auto"}},[t._l(t.importedPosts.data,(function(n){return e("div",{staticClass:"col-12 col-md-4"},[e("div",{staticClass:"square cursor-pointer"},[n.media_attachments[0].url.endsWith(".mp4")?e("div",{staticClass:"info-overlay-text-label rounded"},[t._m(7,!0)]):e("div",{staticClass:"square-content",style:{borderRadius:"5px",backgroundImage:"url("+n.media_attachments[0].url+")"}})]),t._v(" "),e("div",{staticClass:"d-flex mt-1 justify-content-between align-items-center"},[e("p",{staticClass:"small"},[e("i",{staticClass:"far fa-clock"}),t._v(" "+t._s(t.formatDate(n.created_at,!1)))]),t._v(" "),e("p",{staticClass:"small font-weight-bold"},[e("a",{attrs:{href:n.url}},[e("i",{staticClass:"far fa-info-circle"}),t._v(" View")])])])])})),t._v(" "),e("div",{staticClass:"col-12 my-3"},[t.importedPosts.meta&&t.importedPosts.meta.next_cursor?e("button",{staticClass:"btn btn-primary btn-block font-weight-bold",on:{click:function(e){return t.loadMorePosts()}}},[t._v("\n Load more\n ")]):t._e()])],2)]:t._e()]:e("div",{staticClass:"d-flex justify-content-center align-items-center h-100"},[e("b-spinner")],1),t._v(" "),e("b-modal",{attrs:{id:"detailsModal",title:"Post Details","ok-only":!0,"ok-title":"Close",centered:""},model:{value:t.detailsModalShow,callback:function(e){t.detailsModalShow=e},expression:"detailsModalShow"}},[e("div",{},t._l(t.modalData.media,(function(n,i){return e("div",{staticClass:"mb-3"},[e("div",{staticClass:"list-group"},[e("div",{staticClass:"list-group-item d-flex justify-content-between align-items-center"},[e("p",{staticClass:"text-center font-weight-bold mb-0"},[t._v("Media #"+t._s(i+1))]),t._v(" "),n.uri.endsWith(".jpg")||n.uri.endsWith(".png")?[e("img",{staticStyle:{"object-fit":"cover","border-radius":"5px"},attrs:{src:t.getFileNameUrl(n.uri),width:"30",height:"30"}})]:t._e()],2),t._v(" "),n.uri.endsWith(".mp4")?[e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"embed-responsive embed-responsive-4by3"},[e("video",{attrs:{src:t.getFileNameUrl(n.uri),controls:""}})])])]:t._e(),t._v(" "),e("div",{staticClass:"list-group-item"},[e("p",{staticClass:"small text-muted"},[t._v("Caption")]),t._v(" "),e("p",{staticClass:"mb-0 small read-more",staticStyle:{"font-size":"12px","overflow-y":"hidden"}},[t._v(t._s(n.title?n.title:t.modalData.title))])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"d-flex justify-content-between align-items-center"},[e("p",{staticClass:"small mb-0 text-muted"},[t._v("Timestamp")]),t._v(" "),e("p",{staticClass:"font-weight-bold mb-0"},[t._v(t._s(t.formatDate(n.creation_timestamp)))])])])],2)])})),0)])],2)},r=[function(){var t=this._self._c;return t("div",{staticClass:"title"},[t("h3",{staticClass:"font-weight-bold"},[this._v("Import")])])},function(){var t=this._self._c;return t("section",[t("p",{staticClass:"lead"},[this._v("Account Import allows you to import your data from a supported service.")])])},function(){var t=this,e=t._self._c;return e("div",[e("p",{staticClass:"font-weight-bold mb-1"},[t._v("Processing Imported Posts")]),t._v(" "),e("p",{staticClass:"small mb-0"},[t._v("These are posts that are in the process of being imported.")])])},function(){var t=this,e=t._self._c;return e("div",[e("p",{staticClass:"font-weight-bold mb-1"},[t._v("Imported Posts")]),t._v(" "),e("p",{staticClass:"small mb-0"},[t._v("These are posts that have been successfully imported.")])])},function(){var t=this._self._c;return t("div",{staticClass:"title"},[t("h3",{staticClass:"font-weight-bold"},[this._v("Import from Instagram")])])},function(){var t=this._self._c;return t("h5",{staticClass:"text-white m-auto font-weight-bold"},[t("span",[t("span",{staticClass:"far fa-video fa-2x p-2 d-flex-inline"})])])},function(){var t=this._self._c;return t("div",{staticClass:"d-flex justify-content-between align-items-center"},[t("div",{staticClass:"title"},[t("h3",{staticClass:"font-weight-bold"},[this._v("Posts Imported from Instagram")])])])},function(){var t=this._self._c;return t("h5",{staticClass:"text-white m-auto font-weight-bold"},[t("span",[t("span",{staticClass:"far fa-video fa-2x p-2 d-flex-inline"})])])}]},97697:(t,e,n)=>{Vue.component("account-import",n(70627).default)},2444:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>a});var i=n(76798),r=n.n(i)()((function(t){return t[1]}));r.push([t.id,".pf-import .media-selector .selected[data-v-36154edc]{border:5px solid red}",""]);const a=r},63705:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>s});var i=n(85072),r=n.n(i),a=n(2444),o={insert:"head",singleton:!1};r()(a.default,o);const s=a.default.locals||{}},70627:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});var i=n(13170),r=n(5316),a={};for(const t in r)"default"!==t&&(a[t]=()=>r[t]);n.d(e,a);n(73082);const o=(0,n(14486).default)(r.default,i.render,i.staticRenderFns,!1,null,"36154edc",null).exports},5316:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>a});var i=n(11887),r={};for(const t in i)"default"!==t&&(r[t]=()=>i[t]);n.d(e,r);const a=i.default},13170:(t,e,n)=>{"use strict";n.r(e);var i=n(98863),r={};for(const t in i)"default"!==t&&(r[t]=()=>i[t]);n.d(e,r)},73082:(t,e,n)=>{"use strict";n.r(e);var i=n(63705),r={};for(const t in i)"default"!==t&&(r[t]=()=>i[t]);n.d(e,r)}},t=>{t.O(0,[3660],(()=>{return e=97697,t(t.s=e);var e}));t.O()}]); \ No newline at end of file diff --git a/public/js/activity.js b/public/js/activity.js index 6d643b050..c2ebeecbb 100644 --- a/public/js/activity.js +++ b/public/js/activity.js @@ -1 +1 @@ -(self.webpackChunkpixelfed=self.webpackChunkpixelfed||[]).push([[1768],{65667:(t,a,e)=>{"use strict";e.r(a),e.d(a,{default:()=>r});var o=e(19755);function s(t){return function(t){if(Array.isArray(t))return n(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,a){if(!t)return;if("string"==typeof t)return n(t,a);var e=Object.prototype.toString.call(t).slice(8,-1);"Object"===e&&t.constructor&&(e=t.constructor.name);if("Map"===e||"Set"===e)return Array.from(t);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return n(t,a)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(t,a){(null==a||a>t.length)&&(a=t.length);for(var e=0,o=new Array(a);e10?t.complete():axios.get("/api/pixelfed/v1/notifications",{params:{max_id:this.notificationMaxId}}).then((function(e){if(e.data.length){var o,n=e.data.filter((function(t){return!("share"==t.type&&!t.status)&&(!("comment"==t.type&&!t.status)&&(!("mention"==t.type&&!t.status)&&(!("favourite"==t.type&&!t.status)&&(!("follow"==t.type&&!t.account)&&!_.find(a.notifications,{id:t.id})))))})),r=n.map((function(t){return t.id}));a.notificationMaxId=Math.max.apply(Math,s(r)),(o=a.notifications).push.apply(o,s(n)),a.notificationCursor++,t.loaded()}else t.complete()}))},truncate:function(t){return t.length<=15?t:t.slice(0,15)+"..."},timeAgo:function(t){var a=Date.parse(t),e=Math.floor((new Date-a)/1e3),o=Math.floor(e/31536e3);return o>=1?o+"y":(o=Math.floor(e/604800))>=1?o+"w":(o=Math.floor(e/86400))>=1?o+"d":(o=Math.floor(e/3600))>=1?o+"h":(o=Math.floor(e/60))>=1?o+"m":Math.floor(e)+"s"},mentionUrl:function(t){return"/p/"+t.account.username+"/"+t.id},viewContext:function(t){switch(t.type){case"follow":return t.account.url;case"mention":case"like":case"favourite":case"comment":return t.status.url;case"tagged":return t.tagged.post_url;case"direct":return"/account/direct/t/"+t.account.id}return"/"},getProfileUrl:function(t){return 1==t.local?t.url:"/i/web/profile/_/"+t.id},getPostUrl:function(t){return 1==t.local?t.url:"/i/web/post/_/"+t.account.id+"/"+t.id}}}},29796:(t,a,e)=>{"use strict";e.r(a),e.d(a,{render:()=>o,staticRenderFns:()=>s});var o=function(){var t=this,a=t._self._c;return a("div",[a("div",{staticClass:"container"},[a("div",{staticClass:"row my-5"},[a("div",{staticClass:"col-12 col-md-8 offset-md-2"},[t._l(t.notifications,(function(e,o){return t.notifications.length>0?a("div",{staticClass:"media mb-3 align-items-center px-3 border-bottom pb-3"},[a("img",{staticClass:"mr-2 rounded-circle",staticStyle:{border:"1px solid #ccc"},attrs:{src:e.account.avatar,alt:"",width:"32px",height:"32px"}}),t._v(" "),a("div",{staticClass:"media-body font-weight-light"},["favourite"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),"data-placement":"bottom","data-toggle":"tooltip",title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" liked your "),a("a",{staticClass:"font-weight-bold",attrs:{href:t.getPostUrl(e.status)}},[t._v("post")]),t._v(".\n\t\t\t\t\t\t\t")])]):"comment"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),"data-placement":"bottom","data-toggle":"tooltip",title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" commented on your "),a("a",{staticClass:"font-weight-bold",attrs:{href:t.getPostUrl(e.status)}},[t._v("post")]),t._v(".\n\t\t\t\t\t\t\t")])]):"group:comment"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" commented on your "),a("a",{staticClass:"font-weight-bold",attrs:{href:e.group_post_url}},[t._v("group post")]),t._v(".\n\t\t\t\t\t\t\t")])]):"story:react"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" reacted to your "),a("a",{staticClass:"font-weight-bold",attrs:{href:"/account/direct/t/"+e.account.id}},[t._v("story")]),t._v(".\n\t\t\t\t\t\t\t")])]):"story:comment"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" commented on your "),a("a",{staticClass:"font-weight-bold",attrs:{href:"/account/direct/t/"+e.account.id}},[t._v("story")]),t._v(".\n\t\t\t\t\t\t\t")])]):"mention"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),"data-placement":"bottom","data-toggle":"tooltip",title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" "),a("a",{staticClass:"font-weight-bold",attrs:{href:t.mentionUrl(e.status)}},[t._v("mentioned")]),t._v(" you.\n\t\t\t\t\t\t\t")])]):"follow"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),"data-placement":"bottom","data-toggle":"tooltip",title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" followed you.\n\t\t\t\t\t\t\t")])]):"share"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),"data-placement":"bottom","data-toggle":"tooltip",title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" shared your "),a("a",{staticClass:"font-weight-bold",attrs:{href:t.getPostUrl(e.status)}},[t._v("post")]),t._v(".\n\t\t\t\t\t\t\t")])]):"modlog"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),title:e.account.username}},[t._v(t._s(t.truncate(e.account.username)))]),t._v(" updated a "),a("a",{staticClass:"font-weight-bold",attrs:{href:e.modlog.url}},[t._v("modlog")]),t._v(".\n\t\t\t\t\t\t\t")])]):"tagged"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" tagged you in a "),a("a",{staticClass:"font-weight-bold",attrs:{href:e.tagged.post_url}},[t._v("post")]),t._v(".\n\t\t\t\t\t\t\t")])]):"direct"==e.type||"direct"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" sent a "),a("a",{staticClass:"font-weight-bold",attrs:{href:"/account/direct/t/"+e.account.id}},[t._v("dm")]),t._v(".\n\t\t\t\t\t\t\t")])]):"group.join.approved"==e.type?a("div",[a("p",{staticClass:"my-0"},[t._v("\n\t\t\t\t\t\t\t\tYour application to join "),a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:e.group.url,title:e.group.name}},[t._v(t._s(t.truncate(e.group.name)))]),t._v(" was approved!\n\t\t\t\t\t\t\t")])]):"group.join.rejected"==e.type?a("div",[a("p",{staticClass:"my-0"},[t._v("\n\t\t\t\t\t\t\t\tYour application to join "),a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:e.group.url,title:e.group.name}},[t._v(t._s(t.truncate(e.group.name)))]),t._v(" was rejected. You can re-apply to join in 6 months.\n\t\t\t\t\t\t\t")])]):t._e(),t._v(" "),a("div",{staticClass:"align-items-center"},[a("span",{staticClass:"small text-muted",attrs:{"data-toggle":"tooltip","data-placement":"bottom",title:e.created_at}},[t._v(t._s(t.timeAgo(e.created_at)))])])]),t._v(" "),a("div",[e.status&&e.status&&e.status.media_attachments&&e.status.media_attachments.length?a("div",[a("a",{attrs:{href:t.getPostUrl(e.status)}},[a("img",{attrs:{src:e.status.media_attachments[0].preview_url,width:"32px",height:"32px"}})])]):e.status&&e.status.parent&&e.status.parent.media_attachments&&e.status.parent.media_attachments.length?a("div",[a("a",{attrs:{href:e.status.parent.url}},[a("img",{attrs:{src:e.status.parent.media_attachments[0].preview_url,width:"32px",height:"32px"}})])]):a("div",["/"!=t.viewContext(e)?a("a",{staticClass:"btn btn-outline-primary py-0 font-weight-bold",attrs:{href:t.viewContext(e)}},[t._v("View")]):t._e()])])]):t._e()})),t._v(" "),t.notifications.length?a("div",[a("infinite-loading",{on:{infinite:t.infiniteNotifications}},[a("div",{staticClass:"font-weight-bold",attrs:{slot:"no-results"},slot:"no-results"}),t._v(" "),a("div",{staticClass:"font-weight-bold",attrs:{slot:"no-more"},slot:"no-more"})])],1):t._e(),t._v(" "),0==t.notifications.length?a("div",{staticClass:"text-lighter text-center py-3"},[t._m(0),t._v(" "),a("p",{staticClass:"mb-0 small font-weight-bold"},[t._v("0 Notifications!")])]):t._e()],2)])])])},s=[function(){var t=this._self._c;return t("p",{staticClass:"mb-0"},[t("i",{staticClass:"fas fa-inbox fa-3x"})])}]},78324:(t,a,e)=>{Vue.component("activity-component",e(567).default)},567:(t,a,e)=>{"use strict";e.r(a),e.d(a,{default:()=>r});var o=e(57217),s=e(27846),n={};for(const t in s)"default"!==t&&(n[t]=()=>s[t]);e.d(a,n);const r=(0,e(51900).default)(s.default,o.render,o.staticRenderFns,!1,null,null,null).exports},27846:(t,a,e)=>{"use strict";e.r(a),e.d(a,{default:()=>n});var o=e(65667),s={};for(const t in o)"default"!==t&&(s[t]=()=>o[t]);e.d(a,s);const n=o.default},57217:(t,a,e)=>{"use strict";e.r(a);var o=e(29796),s={};for(const t in o)"default"!==t&&(s[t]=()=>o[t]);e.d(a,s)}},t=>{t.O(0,[8898],(()=>{return a=78324,t(t.s=a);var a}));t.O()}]); \ No newline at end of file +(self.webpackChunkpixelfed=self.webpackChunkpixelfed||[]).push([[7809],{87640:(t,a,e)=>{"use strict";e.r(a),e.d(a,{default:()=>r});var o=e(74692);function s(t){return function(t){if(Array.isArray(t))return n(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,a){if(!t)return;if("string"==typeof t)return n(t,a);var e=Object.prototype.toString.call(t).slice(8,-1);"Object"===e&&t.constructor&&(e=t.constructor.name);if("Map"===e||"Set"===e)return Array.from(t);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return n(t,a)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(t,a){(null==a||a>t.length)&&(a=t.length);for(var e=0,o=new Array(a);e10?t.complete():axios.get("/api/pixelfed/v1/notifications",{params:{max_id:this.notificationMaxId}}).then((function(e){if(e.data.length){var o,n=e.data.filter((function(t){return!("share"==t.type&&!t.status)&&(!("comment"==t.type&&!t.status)&&(!("mention"==t.type&&!t.status)&&(!("favourite"==t.type&&!t.status)&&(!("follow"==t.type&&!t.account)&&!_.find(a.notifications,{id:t.id})))))})),r=n.map((function(t){return t.id}));a.notificationMaxId=Math.max.apply(Math,s(r)),(o=a.notifications).push.apply(o,s(n)),a.notificationCursor++,t.loaded()}else t.complete()}))},truncate:function(t){return t.length<=15?t:t.slice(0,15)+"..."},timeAgo:function(t){var a=Date.parse(t),e=Math.floor((new Date-a)/1e3),o=Math.floor(e/31536e3);return o>=1?o+"y":(o=Math.floor(e/604800))>=1?o+"w":(o=Math.floor(e/86400))>=1?o+"d":(o=Math.floor(e/3600))>=1?o+"h":(o=Math.floor(e/60))>=1?o+"m":Math.floor(e)+"s"},mentionUrl:function(t){return"/p/"+t.account.username+"/"+t.id},viewContext:function(t){switch(t.type){case"follow":return t.account.url;case"mention":case"like":case"favourite":case"comment":return t.status.url;case"tagged":return t.tagged.post_url;case"direct":return"/account/direct/t/"+t.account.id}return"/"},getProfileUrl:function(t){return 1==t.local?t.url:"/i/web/profile/_/"+t.id},getPostUrl:function(t){return 1==t.local?t.url:"/i/web/post/_/"+t.account.id+"/"+t.id}}}},67370:(t,a,e)=>{"use strict";e.r(a),e.d(a,{render:()=>o,staticRenderFns:()=>s});var o=function(){var t=this,a=t._self._c;return a("div",[a("div",{staticClass:"container"},[a("div",{staticClass:"row my-5"},[a("div",{staticClass:"col-12 col-md-8 offset-md-2"},[t._l(t.notifications,(function(e,o){return t.notifications.length>0?a("div",{staticClass:"media mb-3 align-items-center px-3 border-bottom pb-3"},[a("img",{staticClass:"mr-2 rounded-circle",staticStyle:{border:"1px solid #ccc"},attrs:{src:e.account.avatar,alt:"",width:"32px",height:"32px"}}),t._v(" "),a("div",{staticClass:"media-body font-weight-light"},["favourite"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),"data-placement":"bottom","data-toggle":"tooltip",title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" liked your "),a("a",{staticClass:"font-weight-bold",attrs:{href:t.getPostUrl(e.status)}},[t._v("post")]),t._v(".\n\t\t\t\t\t\t\t")])]):"comment"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),"data-placement":"bottom","data-toggle":"tooltip",title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" commented on your "),a("a",{staticClass:"font-weight-bold",attrs:{href:t.getPostUrl(e.status)}},[t._v("post")]),t._v(".\n\t\t\t\t\t\t\t")])]):"group:comment"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" commented on your "),a("a",{staticClass:"font-weight-bold",attrs:{href:e.group_post_url}},[t._v("group post")]),t._v(".\n\t\t\t\t\t\t\t")])]):"story:react"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" reacted to your "),a("a",{staticClass:"font-weight-bold",attrs:{href:"/account/direct/t/"+e.account.id}},[t._v("story")]),t._v(".\n\t\t\t\t\t\t\t")])]):"story:comment"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" commented on your "),a("a",{staticClass:"font-weight-bold",attrs:{href:"/account/direct/t/"+e.account.id}},[t._v("story")]),t._v(".\n\t\t\t\t\t\t\t")])]):"mention"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),"data-placement":"bottom","data-toggle":"tooltip",title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" "),a("a",{staticClass:"font-weight-bold",attrs:{href:t.mentionUrl(e.status)}},[t._v("mentioned")]),t._v(" you.\n\t\t\t\t\t\t\t")])]):"follow"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),"data-placement":"bottom","data-toggle":"tooltip",title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" followed you.\n\t\t\t\t\t\t\t")])]):"share"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),"data-placement":"bottom","data-toggle":"tooltip",title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" shared your "),a("a",{staticClass:"font-weight-bold",attrs:{href:t.getPostUrl(e.status)}},[t._v("post")]),t._v(".\n\t\t\t\t\t\t\t")])]):"modlog"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),title:e.account.username}},[t._v(t._s(t.truncate(e.account.username)))]),t._v(" updated a "),a("a",{staticClass:"font-weight-bold",attrs:{href:e.modlog.url}},[t._v("modlog")]),t._v(".\n\t\t\t\t\t\t\t")])]):"tagged"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" tagged you in a "),a("a",{staticClass:"font-weight-bold",attrs:{href:e.tagged.post_url}},[t._v("post")]),t._v(".\n\t\t\t\t\t\t\t")])]):"direct"==e.type||"direct"==e.type?a("div",[a("p",{staticClass:"my-0"},[a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:t.getProfileUrl(e.account),title:e.account.username}},[t._v(t._s(0==e.account.local?"@":"")+t._s(t.truncate(e.account.username)))]),t._v(" sent a "),a("a",{staticClass:"font-weight-bold",attrs:{href:"/account/direct/t/"+e.account.id}},[t._v("dm")]),t._v(".\n\t\t\t\t\t\t\t")])]):"group.join.approved"==e.type?a("div",[a("p",{staticClass:"my-0"},[t._v("\n\t\t\t\t\t\t\t\tYour application to join "),a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:e.group.url,title:e.group.name}},[t._v(t._s(t.truncate(e.group.name)))]),t._v(" was approved!\n\t\t\t\t\t\t\t")])]):"group.join.rejected"==e.type?a("div",[a("p",{staticClass:"my-0"},[t._v("\n\t\t\t\t\t\t\t\tYour application to join "),a("a",{staticClass:"font-weight-bold text-dark word-break",attrs:{href:e.group.url,title:e.group.name}},[t._v(t._s(t.truncate(e.group.name)))]),t._v(" was rejected. You can re-apply to join in 6 months.\n\t\t\t\t\t\t\t")])]):t._e(),t._v(" "),a("div",{staticClass:"align-items-center"},[a("span",{staticClass:"small text-muted",attrs:{"data-toggle":"tooltip","data-placement":"bottom",title:e.created_at}},[t._v(t._s(t.timeAgo(e.created_at)))])])]),t._v(" "),a("div",[e.status&&e.status&&e.status.media_attachments&&e.status.media_attachments.length?a("div",[a("a",{attrs:{href:t.getPostUrl(e.status)}},[a("img",{attrs:{src:e.status.media_attachments[0].preview_url,width:"32px",height:"32px"}})])]):e.status&&e.status.parent&&e.status.parent.media_attachments&&e.status.parent.media_attachments.length?a("div",[a("a",{attrs:{href:e.status.parent.url}},[a("img",{attrs:{src:e.status.parent.media_attachments[0].preview_url,width:"32px",height:"32px"}})])]):a("div",["/"!=t.viewContext(e)?a("a",{staticClass:"btn btn-outline-primary py-0 font-weight-bold",attrs:{href:t.viewContext(e)}},[t._v("View")]):t._e()])])]):t._e()})),t._v(" "),t.notifications.length?a("div",[a("infinite-loading",{on:{infinite:t.infiniteNotifications}},[a("div",{staticClass:"font-weight-bold",attrs:{slot:"no-results"},slot:"no-results"}),t._v(" "),a("div",{staticClass:"font-weight-bold",attrs:{slot:"no-more"},slot:"no-more"})])],1):t._e(),t._v(" "),0==t.notifications.length?a("div",{staticClass:"text-lighter text-center py-3"},[t._m(0),t._v(" "),a("p",{staticClass:"mb-0 small font-weight-bold"},[t._v("0 Notifications!")])]):t._e()],2)])])])},s=[function(){var t=this._self._c;return t("p",{staticClass:"mb-0"},[t("i",{staticClass:"fas fa-inbox fa-3x"})])}]},96711:(t,a,e)=>{Vue.component("activity-component",e(31040).default)},31040:(t,a,e)=>{"use strict";e.r(a),e.d(a,{default:()=>r});var o=e(77411),s=e(96363),n={};for(const t in s)"default"!==t&&(n[t]=()=>s[t]);e.d(a,n);const r=(0,e(14486).default)(s.default,o.render,o.staticRenderFns,!1,null,null,null).exports},96363:(t,a,e)=>{"use strict";e.r(a),e.d(a,{default:()=>n});var o=e(87640),s={};for(const t in o)"default"!==t&&(s[t]=()=>o[t]);e.d(a,s);const n=o.default},77411:(t,a,e)=>{"use strict";e.r(a);var o=e(67370),s={};for(const t in o)"default"!==t&&(s[t]=()=>o[t]);e.d(a,s)}},t=>{t.O(0,[3660],(()=>{return a=96711,t(t.s=a);var a}));t.O()}]); \ No newline at end of file diff --git a/public/js/admin.js b/public/js/admin.js index a216de097..e21b77485 100644 --- a/public/js/admin.js +++ b/public/js/admin.js @@ -1,2 +1,2 @@ /*! For license information please see admin.js.LICENSE.txt */ -(self.webpackChunkpixelfed=self.webpackChunkpixelfed||[]).push([[467],{88118:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>r});var s=a(29655);a(67964);function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function n(){n=function(){return e};var t,e={},a=Object.prototype,s=a.hasOwnProperty,o=Object.defineProperty||function(t,e,a){t[e]=a.value},r="function"==typeof Symbol?Symbol:{},l=r.iterator||"@@iterator",c=r.asyncIterator||"@@asyncIterator",d=r.toStringTag||"@@toStringTag";function u(t,e,a){return Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,a){return t[e]=a}}function p(t,e,a,s){var i=e&&e.prototype instanceof _?e:_,n=Object.create(i.prototype),r=new L(s||[]);return o(n,"_invoke",{value:A(t,a,r)}),n}function m(t,e,a){try{return{type:"normal",arg:t.call(e,a)}}catch(t){return{type:"throw",arg:t}}}e.wrap=p;var v="suspendedStart",f="suspendedYield",h="executing",g="completed",b={};function _(){}function y(){}function C(){}var w={};u(w,l,(function(){return this}));var x=Object.getPrototypeOf,k=x&&x(x(D([])));k&&k!==a&&s.call(k,l)&&(w=k);var S=C.prototype=_.prototype=Object.create(w);function T(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function R(t,e){function a(n,o,r,l){var c=m(t[n],t,o);if("throw"!==c.type){var d=c.arg,u=d.value;return u&&"object"==i(u)&&s.call(u,"__await")?e.resolve(u.__await).then((function(t){a("next",t,r,l)}),(function(t){a("throw",t,r,l)})):e.resolve(u).then((function(t){d.value=t,r(d)}),(function(t){return a("throw",t,r,l)}))}l(c.arg)}var n;o(this,"_invoke",{value:function(t,s){function i(){return new e((function(e,i){a(t,s,e,i)}))}return n=n?n.then(i,i):i()}})}function A(e,a,s){var i=v;return function(n,o){if(i===h)throw new Error("Generator is already running");if(i===g){if("throw"===n)throw o;return{value:t,done:!0}}for(s.method=n,s.arg=o;;){var r=s.delegate;if(r){var l=I(r,s);if(l){if(l===b)continue;return l}}if("next"===s.method)s.sent=s._sent=s.arg;else if("throw"===s.method){if(i===v)throw i=g,s.arg;s.dispatchException(s.arg)}else"return"===s.method&&s.abrupt("return",s.arg);i=h;var c=m(e,a,s);if("normal"===c.type){if(i=s.done?g:f,c.arg===b)continue;return{value:c.arg,done:s.done}}"throw"===c.type&&(i=g,s.method="throw",s.arg=c.arg)}}}function I(e,a){var s=a.method,i=e.iterator[s];if(i===t)return a.delegate=null,"throw"===s&&e.iterator.return&&(a.method="return",a.arg=t,I(e,a),"throw"===a.method)||"return"!==s&&(a.method="throw",a.arg=new TypeError("The iterator does not provide a '"+s+"' method")),b;var n=m(i,e.iterator,a.arg);if("throw"===n.type)return a.method="throw",a.arg=n.arg,a.delegate=null,b;var o=n.arg;return o?o.done?(a[e.resultName]=o.value,a.next=e.nextLoc,"return"!==a.method&&(a.method="next",a.arg=t),a.delegate=null,b):o:(a.method="throw",a.arg=new TypeError("iterator result is not an object"),a.delegate=null,b)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function D(e){if(e||""===e){var a=e[l];if(a)return a.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function a(){for(;++n=0;--n){var o=this.tryEntries[n],r=o.completion;if("root"===o.tryLoc)return i("end");if(o.tryLoc<=this.prev){var l=s.call(o,"catchLoc"),c=s.call(o,"finallyLoc");if(l&&c){if(this.prev=0;--a){var i=this.tryEntries[a];if(i.tryLoc<=this.prev&&s.call(i,"finallyLoc")&&this.prev=0;--e){var a=this.tryEntries[e];if(a.finallyLoc===t)return this.complete(a.completion,a.afterLoc),P(a),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var a=this.tryEntries[e];if(a.tryLoc===t){var s=a.completion;if("throw"===s.type){var i=s.arg;P(a)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,a,s){return this.delegate={iterator:D(e),resultName:a,nextLoc:s},"next"===this.method&&(this.arg=t),b}},e}function o(t,e,a,s,i,n,o){try{var r=t[n](o),l=r.value}catch(t){return void a(t)}r.done?e(l):Promise.resolve(l).then(s,i)}const r={components:{Autocomplete:s.default},data:function(){return{loaded:!1,tabIndex:0,config:{autospam_enabled:null,open:0,closed:0},closedReports:[],closedReportsFetched:!1,closedReportsCursor:null,closedReportsCanLoadMore:!1,showSpamReportModal:!1,showSpamReportModalLoading:!0,viewingSpamReport:void 0,viewingSpamReportLoading:!1,showNonSpamModal:!1,nonSpamAccounts:[],searchLoading:!1,customTokens:[],customTokensFetched:!1,customTokensCanLoadMore:!1,showCreateTokenModal:!1,customTokenForm:{token:void 0,weight:1,category:"spam",note:void 0,active:!0},showEditTokenModal:!1,editCustomToken:{},editCustomTokenForm:{token:void 0,weight:1,category:"spam",note:void 0,active:!0}}},mounted:function(){var t=this;setTimeout((function(){t.loaded=!0,t.fetchConfig()}),1e3)},methods:{toggleTab:function(t){var e=this;this.tabIndex=t,0==t&&setTimeout((function(){e.initChart()}),500),"closed_reports"!==t||this.closedReportsFetched||this.fetchClosedReports(),"manage_tokens"!==t||this.customTokensFetched||this.fetchCustomTokens()},formatCount:function(t){return App.util.format.count(t)},timeAgo:function(t){return t?App.util.format.timeAgo(t):t},fetchConfig:function(){var t=this;axios.post("/i/admin/api/autospam/config").then((function(e){t.config=e.data,t.loaded=!0})).finally((function(){setTimeout((function(){t.initChart()}),100)}))},initChart:function(){new Chart(document.querySelector("#c1-dark"),{type:"line",options:{scales:{yAxes:[{gridLines:{lineWidth:1,color:"#212529",zeroLineColor:"#212529"}}]}},data:{datasets:[{data:this.config.graph}],labels:this.config.graphLabels}})},fetchClosedReports:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/i/admin/api/autospam/reports/closed";axios.post(e).then((function(e){t.closedReports=e.data})).finally((function(){t.closedReportsFetched=!0}))},viewSpamReport:function(t){this.viewingSpamReportLoading=!1,this.viewingSpamReport=t,this.showSpamReportModal=!0,setTimeout((function(){pixelfed.readmore()}),500)},autospamPaginate:function(t){event.currentTarget.blur();var e="next"==t?this.closedReports.links.next:this.closedReports.links.prev;this.fetchClosedReports(e)},autospamTrainSpam:function(){event.currentTarget.blur(),axios.post("/i/admin/api/autospam/train").then((function(t){swal("Training Autospam!","A background job has been dispatched to train Autospam!","success"),setTimeout((function(){window.location.reload()}),1e4)})).catch((function(t){422===t.response.status?swal("Error",t.response.data.error,"error"):swal("Error","Oops, an error occured, please try again later","error")}))},autospamTrainNonSpam:function(){this.showNonSpamModal=!0},composeSearch:function(t){var e=this;return t.length<1?[]:axios.post("/i/admin/api/autospam/search/non-spam",{q:t}).then((function(t){return t.data.filter((function(t){return!e.nonSpamAccounts||!e.nonSpamAccounts.length||e.nonSpamAccounts&&-1==e.nonSpamAccounts.map((function(t){return t.id})).indexOf(t.id)}))}))},getTagResultValue:function(t){return t.username},onSearchResultClick:function(t){-1==this.nonSpamAccounts.map((function(t){return t.id})).indexOf(t.id)&&this.nonSpamAccounts.push(t)},autospamTrainNonSpamRemove:function(t){this.nonSpamAccounts.splice(t,1)},autospamTrainNonSpamSubmit:function(){this.showNonSpamModal=!1,axios.post("/i/admin/api/autospam/train/non-spam",{accounts:this.nonSpamAccounts}).then((function(t){swal("Training Autospam!","A background job has been dispatched to train Autospam!","success"),setTimeout((function(){window.location.reload()}),1e4)})).catch((function(t){422===t.response.status?swal("Error",t.response.data.error,"error"):swal("Error","Oops, an error occured, please try again later","error")}))},fetchCustomTokens:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/i/admin/api/autospam/tokens/custom";axios.post(e).then((function(e){t.customTokens=e.data})).finally((function(){t.customTokensFetched=!0}))},handleSaveToken:function(){var t=this;axios.post("/i/admin/api/autospam/tokens/store",this.customTokenForm).then((function(t){console.log(t.data)})).catch((function(t){swal("Oops! An Error Occured",t.response.data.message,"error")})).finally((function(){t.customTokenForm={token:void 0,weight:1,category:"spam",note:void 0,active:!0},t.fetchCustomTokens()}))},openEditTokenModal:function(t){event.currentTarget.blur(),this.editCustomToken=t,this.editCustomTokenForm=t,this.showEditTokenModal=!0},handleUpdateToken:function(){axios.post("/i/admin/api/autospam/tokens/update",this.editCustomTokenForm).then((function(t){console.log(t.data)}))},autospamTokenPaginate:function(t){event.currentTarget.blur();var e="next"==t?this.customTokens.next_page_url:this.customTokens.prev_page_url;this.fetchCustomTokens(e)},downloadExport:function(){event.currentTarget.blur(),axios.post("/i/admin/api/autospam/tokens/export",{},{responseType:"blob"}).then((function(t){var e=document.createElement("a");e.setAttribute("download","pixelfed-autospam-export.json");var a=URL.createObjectURL(t.data);e.href=a,e.setAttribute("target","_blank"),e.click(),URL.revokeObjectURL(a)})).catch(function(){var t,e=(t=n().mark((function t(e){var a;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=e.response.data,!("blob"===e.request.responseType&&e.response.data instanceof Blob&&e.response.data.type&&-1!=e.response.data.type.toLowerCase().indexOf("json"))){t.next=8;break}return t.t0=JSON,t.next=5,e.response.data.text();case 5:t.t1=t.sent,a=t.t0.parse.call(t.t0,t.t1),swal("Export Error",a.error,"error");case 8:case 9:case"end":return t.stop()}}),t)})),function(){var e=this,a=arguments;return new Promise((function(s,i){var n=t.apply(e,a);function r(t){o(n,s,i,r,l,"next",t)}function l(t){o(n,s,i,r,l,"throw",t)}r(void 0)}))});return function(t){return e.apply(this,arguments)}}())},enableAdvanced:function(){event.currentTarget.blur(),!this.config.files.spam.exists||!this.config.files.ham.exists||!this.config.files.combined.exists||this.config.files.spam.size<1e3||this.config.files.ham.size<1e3||this.config.files.combined.size<1e3?swal("Training Required",'Before you can enable Advanced Detection, you need to train the models.\n\n Click on the "Train Autospam" tab and train both categories before proceeding',"error"):swal({title:"Confirm",text:"Are you sure you want to enable Advanced Detection?",icon:"warning",dangerMode:!0,buttons:{cancel:"Cancel",confirm:{text:"Enable",value:"enable"}}}).then((function(t){"enable"===t&&axios.post("/i/admin/api/autospam/config/enable").then((function(t){swal("Success! Advanced Detection is now enabled!\n\n This page will reload in a few seconds!",{icon:"success"}),setTimeout((function(){window.location.reload()}),5e3)})).catch((function(t){swal("Oops!","An error occured, please try again later","error")}))}))},disableAdvanced:function(){event.currentTarget.blur(),swal({title:"Confirm",text:"Are you sure you want to disable Advanced Detection?",icon:"warning",dangerMode:!0,buttons:{cancel:"Cancel",confirm:{text:"Disable",value:"disable"}}}).then((function(t){"disable"===t&&axios.post("/i/admin/api/autospam/config/disable").then((function(t){swal("Success! Advanced Detection is now disabled!\n\n This page will reload in a few seconds!",{icon:"success"}),setTimeout((function(){window.location.reload()}),5e3)})).catch((function(t){swal("Oops!","An error occured, please try again later","error")}))}))},handleImport:function(){event.currentTarget.blur(),swal("Error","You do not have enough data to support importing.","error")}}}},21047:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>i});var s=a(19755);const i={data:function(){return{loaded:!1,initialData:{},tabIndex:1,tabs:[{id:1,title:"Overview",icon:"far fa-home"},{id:3,title:"Server Details",icon:"far fa-info-circle"},{id:4,title:"Admin Contact",icon:"far fa-user-crown"},{id:5,title:"Favourite Posts",icon:"far fa-heart"},{id:6,title:"Privacy Pledge",icon:"far fa-eye-slash"},{id:7,title:"Community Guidelines",icon:"far fa-smile-beam"},{id:8,title:"Feature Requirements",icon:"far fa-bolt"},{id:9,title:"User Testimonials",icon:"far fa-comment-smile"}],form:{summary:"",location:0,contact_account:0,contact_email:"",privacy_pledge:void 0,banner_image:void 0,locale:0},requirements:{activitypub_enabled:void 0,open_registration:void 0,oauth_enabled:void 0},feature_config:[],requirements_validator:[],popularPostsLoaded:!1,popularPosts:[],selectedPopularPosts:[],selectedPosts:[],favouritePostByIdInput:"",favouritePostByIdFetching:!1,communityGuidelines:[],isUploadingBanner:!1,state:{is_eligible:!1,submission_exists:!1,awaiting_approval:!1,is_active:!1,submission_timestamp:void 0},isSubmitting:!1,testimonial:{username:void 0,body:void 0},testimonials:[],isEditingTestimonial:!1,editingTestimonial:void 0}},mounted:function(){this.fetchInitialData()},methods:{toggleTab:function(t){this.tabIndex=t},fetchInitialData:function(){var t=this;axios.get("/i/admin/api/directory/initial-data").then((function(e){t.initialData=e.data,e.data.activitypub_enabled&&(t.requirements.activitypub_enabled=e.data.activitypub_enabled),e.data.open_registration&&(t.requirements.open_registration=e.data.open_registration),e.data.oauth_enabled&&(t.requirements.oauth_enabled=e.data.oauth_enabled),e.data.summary&&(t.form.summary=e.data.summary),e.data.location&&(t.form.location=e.data.location),e.data.favourite_posts&&(t.selectedPosts=e.data.favourite_posts),e.data.admin&&(t.form.contact_account=e.data.admin),e.data.contact_email&&(t.form.contact_email=e.data.contact_email),e.data.community_guidelines&&(t.communityGuidelines=e.data.community_guidelines),e.data.privacy_pledge&&(t.form.privacy_pledge=e.data.privacy_pledge),e.data.feature_config&&(t.feature_config=e.data.feature_config),e.data.requirements_validator&&(t.requirements_validator=e.data.requirements_validator),e.data.banner_image&&(t.form.banner_image=e.data.banner_image),e.data.primary_locale&&(t.form.primary_locale=e.data.primary_locale),e.data.is_eligible&&(t.state.is_eligible=e.data.is_eligible),e.data.testimonials&&(t.testimonials=e.data.testimonials),e.data.submission_state&&(t.state.is_active=e.data.submission_state.active_submission,t.state.submission_exists=e.data.submission_state.pending_submission,t.state.awaiting_approval=e.data.submission_state.pending_submission)})).then((function(){t.loaded=!0}))},initPopularPosts:function(){var t=this;this.popularPostsLoaded||axios.get("/i/admin/api/directory/popular-posts").then((function(e){t.popularPosts=e.data.filter((function(e){return!t.selectedPosts.map((function(t){return t.id})).includes(e.id)}))})).then((function(){t.popularPostsLoaded=!0}))},formatCount:function(t){return window.App.util.format.count(t)},formatDateTime:function(t){var e=new Date(t);return new Intl.DateTimeFormat("en-US",{dateStyle:"medium",timeStyle:"short"}).format(e)},formatDate:function(t){var e=new Date(t);return new Intl.DateTimeFormat("en-US",{month:"short",year:"numeric"}).format(e)},formatTimestamp:function(t){return window.App.util.format.timeAgo(t)},togglePopularPost:function(t,e){if(this.selectedPosts.length)if(this.selectedPosts.map((function(t){return t.id})).includes(t))this.selectedPosts=this.selectedPosts.filter((function(e){return e.id!=t}));else{if(this.selectedPosts.length>=12)return swal("Oops!","You can only select 12 popular posts","error"),void(event.currentTarget.checked=!1);this.selectedPosts.push(e)}else this.selectedPosts.push(e)},toggleSelectedPost:function(t){this.selectedPosts=this.selectedPosts.filter((function(e){return e.id!==t.id}))},handlePostByIdSearch:function(){var t=this;event.currentTarget.blur(),this.selectedPosts.length>=12?swal("Oops","You can only select 12 posts","error"):(this.favouritePostByIdFetching=!0,axios.post("/i/admin/api/directory/add-by-id",{q:this.favouritePostByIdInput}).then((function(e){t.selectedPosts.map((function(t){return t.id})).includes(e.data.id)?swal("Oops!","You already selected this post!","error"):(t.selectedPosts.push(e.data),t.favouritePostByIdInput="",t.popularPosts=t.popularPosts.filter((function(t){return t.id!=e.data.id})))})).then((function(){t.favouritePostByIdFetching=!1,s("#favposts-1-tab").tab("show")})).catch((function(e){swal("Invalid Post","The post id you added is not valid","error"),t.favouritePostByIdFetching=!1})))},save:function(){axios.post("/i/admin/api/directory/save",{location:this.form.location,summary:this.form.summary,admin_uid:this.form.contact_account,contact_email:this.form.contact_email,favourite_posts:this.selectedPosts.map((function(t){return t.id})),privacy_pledge:this.form.privacy_pledge}).then((function(t){swal("Success!","Successfully saved directory settings","success")})).catch((function(t){swal("Oops!",t.response.data.message,"error")}))},uploadBannerImage:function(){var t=this;if(this.isUploadingBanner=!0,window.confirm("Are you sure you want to update your server banner image?")){var e=new FormData;e.append("banner_image",this.$refs.bannerImageRef.files[0]),axios.post("/i/admin/api/directory/save",e,{headers:{"Content-Type":"multipart/form-data"}}).then((function(e){t.form.banner_image=e.data.banner_image,t.isUploadingBanner=!1})).catch((function(e){swal("Error",e.response.data.message,"error"),t.isUploadingBanner=!1}))}else this.isUploadingBanner=!1},deleteBannerImage:function(){var t=this;window.confirm("Are you sure you want to delete your server banner image?")&&axios.delete("/i/admin/api/directory/banner-image").then((function(e){t.form.banner_image=e.data})).catch((function(t){console.log(t)}))},handleSubmit:function(){var t=this;window.confirm("Are you sure you want to submit your server?")&&(this.isSubmitting=!0,axios.post("/i/admin/api/directory/submit").then((function(e){setTimeout((function(){t.isSubmitting=!1,t.state.is_active=!0,console.log(e.data)}),3e3)})).catch((function(t){swal("Error",t.response.data.message,"error")})))},deleteTestimonial:function(t){var e=this;window.confirm("Are you sure you want to delete the testimonial by "+t.profile.username+"?")&&axios.post("/i/admin/api/directory/testimonial/delete",{profile_id:t.profile.id}).then((function(a){e.testimonials=e.testimonials.filter((function(e){return e.profile.id!=t.profile.id}))}))},editTestimonial:function(t){this.isEditingTestimonial=!0,this.editingTestimonial=t},saveTestimonial:function(){var t,e=this;null===(t=event.currentTarget)||void 0===t||t.blur(),axios.post("/i/admin/api/directory/testimonial/save",{username:this.testimonial.username,body:this.testimonial.body}).then((function(t){e.testimonials.push(t.data),e.testimonial={username:void 0,body:void 0}})).catch((function(t){var e=t.response.data.hasOwnProperty("error")?t.response.data.error:t.response.data.message;swal("Oops!",e,"error")}))},cancelEditTestimonial:function(){var t;null===(t=event.currentTarget)||void 0===t||t.blur(),this.isEditingTestimonial=!1,this.editingTestimonial={}},saveEditTestimonial:function(){var t,e=this;null===(t=event.currentTarget)||void 0===t||t.blur(),axios.post("/i/admin/api/directory/testimonial/update",{profile_id:this.editingTestimonial.profile.id,body:this.editingTestimonial.body}).then((function(t){e.isEditingTestimonial=!1,e.editingTestimonial={}}))}},watch:{selectedPosts:function(t){var e=t.map((function(t){return t.id}));this.popularPosts=this.popularPosts.filter((function(t){return!e.includes(t.id)}))}}}},57143:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>i});var s=a(29655);a(67964);const i={components:{Autocomplete:s.default},data:function(){return{loaded:!1,tabIndex:0,stats:{total_unique:0,total_posts:0,added_14_days:0,total_banned:0,total_nsfw:0},hashtags:[],pagination:[],sortCol:void 0,sortDir:void 0,trendingTags:[],bannedTags:[],showEditModal:!1,editingHashtag:void 0,editSaved:!1,editSavedTimeout:void 0,searchLoading:!1}},mounted:function(){var t=this;this.fetchStats(),this.fetchHashtags(),this.$root.$on("bv::modal::hidden",(function(e,a){t.editSaved=!1,clearTimeout(t.editSavedTimeout),t.editingHashtag=void 0}))},watch:{editingHashtag:{deep:!0,immediate:!0,handler:function(t,e){null!=t&&null!=e&&this.storeHashtagEdit(t)}}},methods:{fetchStats:function(){var t=this;axios.get("/i/admin/api/hashtags/stats").then((function(e){t.stats=e.data}))},fetchHashtags:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/i/admin/api/hashtags/query";axios.get(e).then((function(e){t.hashtags=e.data.data,t.pagination={next:e.data.links.next,prev:e.data.links.prev},t.loaded=!0}))},prettyCount:function(t){return t?t.toLocaleString("en-CA",{compactDisplay:"short",notation:"compact"}):t},timeAgo:function(t){return t?App.util.format.timeAgo(t):t},boolIcon:function(t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"text-muted";return t?''):'')},paginate:function(t){event.currentTarget.blur();var e="next"==t?this.pagination.next:this.pagination.prev;this.fetchHashtags(e)},toggleCol:function(t){this.sortCol=t,this.sortDir?this.sortDir="asc"==this.sortDir?"desc":"asc":this.sortDir="desc";var e="/i/admin/api/hashtags/query?sort="+t+"&dir="+this.sortDir;this.fetchHashtags(e)},buildColumn:function(t,e){var a='';return e==this.sortCol&&(a="desc"==this.sortDir?'':''),"".concat(t," ").concat(a)},toggleTab:function(t){var e=this;if(this.loaded=!1,this.tabIndex=t,0===t)this.fetchHashtags();else if(1===t)axios.get("/api/v1.1/discover/posts/hashtags").then((function(t){e.trendingTags=t.data,e.loaded=!0}));else if(2===t){this.fetchHashtags("/i/admin/api/hashtags/query?action=banned")}else if(3===t){this.fetchHashtags("/i/admin/api/hashtags/query?action=nsfw")}},openEditHashtagModal:function(t){var e=this;this.editSaved=!1,clearTimeout(this.editSavedTimeout),this.$nextTick((function(){axios.get("/i/admin/api/hashtags/get",{params:{id:t.id}}).then((function(t){e.editingHashtag=t.data.data,e.showEditModal=!0}))}))},storeHashtagEdit:function(t,e){var a=this;this.editSaved=!1,t.is_banned&&(t.can_trend||t.can_search)&&swal("Banned Hashtag Limits","Banned hashtags cannot trend or be searchable, to allow those you need to unban the hashtag","error"),axios.post("/i/admin/api/hashtags/update",t).then((function(e){a.editSaved=!0,1!==a.tabIndex&&(a.hashtags=a.hashtags.map((function(a){return a.id==t.id&&(a=e.data.data),a}))),a.editSavedTimeout=setTimeout((function(){a.editSaved=!1}),5e3)})).catch((function(t){swal("Oops!","An error occured, please try again.","error"),console.log(t)}))},composeSearch:function(t){return t.length<1?[]:axios.get("/i/admin/api/hashtags/query",{params:{q:t,sort:"cached_count",dir:"desc"}}).then((function(t){return t.data.data}))},getTagResultValue:function(t){return t.name},onSearchResultClick:function(t){this.openEditHashtagModal(t)},clearTrendingCache:function(){event.currentTarget.blur(),window.confirm("Are you sure you want to clear the trending hashtags cache?")&&axios.post("/i/admin/api/hashtags/clear-trending-cache").then((function(t){swal("Cache Cleared!","Successfully cleared the trending hashtag cache!","success")}))}}}},84147:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>u});var s=a(29655);a(67964);function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function n(){n=function(){return e};var t,e={},a=Object.prototype,s=a.hasOwnProperty,o=Object.defineProperty||function(t,e,a){t[e]=a.value},r="function"==typeof Symbol?Symbol:{},l=r.iterator||"@@iterator",c=r.asyncIterator||"@@asyncIterator",d=r.toStringTag||"@@toStringTag";function u(t,e,a){return Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,a){return t[e]=a}}function p(t,e,a,s){var i=e&&e.prototype instanceof _?e:_,n=Object.create(i.prototype),r=new L(s||[]);return o(n,"_invoke",{value:A(t,a,r)}),n}function m(t,e,a){try{return{type:"normal",arg:t.call(e,a)}}catch(t){return{type:"throw",arg:t}}}e.wrap=p;var v="suspendedStart",f="suspendedYield",h="executing",g="completed",b={};function _(){}function y(){}function C(){}var w={};u(w,l,(function(){return this}));var x=Object.getPrototypeOf,k=x&&x(x(D([])));k&&k!==a&&s.call(k,l)&&(w=k);var S=C.prototype=_.prototype=Object.create(w);function T(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function R(t,e){function a(n,o,r,l){var c=m(t[n],t,o);if("throw"!==c.type){var d=c.arg,u=d.value;return u&&"object"==i(u)&&s.call(u,"__await")?e.resolve(u.__await).then((function(t){a("next",t,r,l)}),(function(t){a("throw",t,r,l)})):e.resolve(u).then((function(t){d.value=t,r(d)}),(function(t){return a("throw",t,r,l)}))}l(c.arg)}var n;o(this,"_invoke",{value:function(t,s){function i(){return new e((function(e,i){a(t,s,e,i)}))}return n=n?n.then(i,i):i()}})}function A(e,a,s){var i=v;return function(n,o){if(i===h)throw new Error("Generator is already running");if(i===g){if("throw"===n)throw o;return{value:t,done:!0}}for(s.method=n,s.arg=o;;){var r=s.delegate;if(r){var l=I(r,s);if(l){if(l===b)continue;return l}}if("next"===s.method)s.sent=s._sent=s.arg;else if("throw"===s.method){if(i===v)throw i=g,s.arg;s.dispatchException(s.arg)}else"return"===s.method&&s.abrupt("return",s.arg);i=h;var c=m(e,a,s);if("normal"===c.type){if(i=s.done?g:f,c.arg===b)continue;return{value:c.arg,done:s.done}}"throw"===c.type&&(i=g,s.method="throw",s.arg=c.arg)}}}function I(e,a){var s=a.method,i=e.iterator[s];if(i===t)return a.delegate=null,"throw"===s&&e.iterator.return&&(a.method="return",a.arg=t,I(e,a),"throw"===a.method)||"return"!==s&&(a.method="throw",a.arg=new TypeError("The iterator does not provide a '"+s+"' method")),b;var n=m(i,e.iterator,a.arg);if("throw"===n.type)return a.method="throw",a.arg=n.arg,a.delegate=null,b;var o=n.arg;return o?o.done?(a[e.resultName]=o.value,a.next=e.nextLoc,"return"!==a.method&&(a.method="next",a.arg=t),a.delegate=null,b):o:(a.method="throw",a.arg=new TypeError("iterator result is not an object"),a.delegate=null,b)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function D(e){if(e||""===e){var a=e[l];if(a)return a.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function a(){for(;++n=0;--n){var o=this.tryEntries[n],r=o.completion;if("root"===o.tryLoc)return i("end");if(o.tryLoc<=this.prev){var l=s.call(o,"catchLoc"),c=s.call(o,"finallyLoc");if(l&&c){if(this.prev=0;--a){var i=this.tryEntries[a];if(i.tryLoc<=this.prev&&s.call(i,"finallyLoc")&&this.prev=0;--e){var a=this.tryEntries[e];if(a.finallyLoc===t)return this.complete(a.completion,a.afterLoc),P(a),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var a=this.tryEntries[e];if(a.tryLoc===t){var s=a.completion;if("throw"===s.type){var i=s.arg;P(a)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,a,s){return this.delegate={iterator:D(e),resultName:a,nextLoc:s},"next"===this.method&&(this.arg=t),b}},e}function o(t,e,a,s,i,n,o){try{var r=t[n](o),l=r.value}catch(t){return void a(t)}r.done?e(l):Promise.resolve(l).then(s,i)}function r(t){return function(){var e=this,a=arguments;return new Promise((function(s,i){var n=t.apply(e,a);function r(t){o(n,s,i,r,l,"next",t)}function l(t){o(n,s,i,r,l,"throw",t)}r(void 0)}))}}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,s)}return a}function c(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:"/i/admin/api/instances/get";axios.get(e).then((function(e){t.instances=e.data.data,t.pagination=c(c({},e.data.links),e.data.meta)})).then((function(){t.$nextTick((function(){t.loaded=!0}))}))},toggleTab:function(t){this.loaded=!1,this.tabIndex=t,this.searchQuery=void 0;var e="/i/admin/api/instances/get?filter="+this.filterMap[t];history.pushState(null,"","/i/admin/instances?filter="+this.filterMap[t]),this.fetchInstances(e)},prettyCount:function(t){return t?t.toLocaleString("en-CA",{compactDisplay:"short",notation:"compact"}):0},formatCount:function(t){return t?t.toLocaleString("en-CA"):0},timeAgo:function(t){return t?App.util.format.timeAgo(t):t},boolIcon:function(t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"text-muted";return t?''):'')},toggleCol:function(t){if(this.filterMap[this.tabIndex]!=t&&!this.searchQuery){this.sortCol=t,this.sortDir?this.sortDir="asc"==this.sortDir?"desc":"asc":this.sortDir="desc";var e=new URL(window.location.origin+"/i/admin/instances");e.searchParams.set("sort",t),e.searchParams.set("dir",this.sortDir),0!=this.tabIndex&&e.searchParams.set("filter",this.filterMap[this.tabIndex]),history.pushState(null,"",e);var a=new URL(window.location.origin+"/i/admin/api/instances/get");a.searchParams.set("sort",t),a.searchParams.set("dir",this.sortDir),0!=this.tabIndex&&a.searchParams.set("filter",this.filterMap[this.tabIndex]),this.fetchInstances(a.toString())}},buildColumn:function(t,e){if(-1!=[1,5,6].indexOf(this.tabIndex)||this.searchQuery&&this.searchQuery.length)return t;if(2===this.tabIndex&&"banned"===e)return t;if(3===this.tabIndex&&"auto_cw"===e)return t;if(4===this.tabIndex&&"unlisted"===e)return t;var a='';return e==this.sortCol&&(a="desc"==this.sortDir?'':''),"".concat(t," ").concat(a)},paginate:function(t){event.currentTarget.blur();var e="next"==t?this.pagination.next:this.pagination.prev,a="next"==t?this.pagination.next_cursor:this.pagination.prev_cursor,s=new URL(window.location.origin+"/i/admin/instances");a&&s.searchParams.set("cursor",a),this.searchQuery&&s.searchParams.set("q",this.searchQuery),this.sortCol&&s.searchParams.set("sort",this.sortCol),this.sortDir&&s.searchParams.set("dir",this.sortDir),history.pushState(null,"",s.toString()),this.fetchInstances(e)},composeSearch:function(t){var e=this;return t.length<1?[]:(this.searchQuery=t,history.pushState(null,"","/i/admin/instances?q="+t),axios.get("/i/admin/api/instances/query",{params:{q:t}}).then((function(t){return t&&t.data?(e.tabIndex=-1,e.instances=t.data.data,e.pagination=c(c({},t.data.links),t.data.meta)):e.fetchInstances(),t.data.data})))},getTagResultValue:function(t){return t.name},onSearchResultClick:function(t){this.openInstanceModal(t.id)},openInstanceModal:function(t){var e=this,a=this.instances.filter((function(e){return e.id===t}))[0];this.refreshedModalStats=!1,this.editingInstanceChanges=!1,this.instanceModalNotes=!1,this.canEditInstance=!1,this.instanceModal=a,this.$nextTick((function(){e.editingInstance=a,e.showInstanceModal=!0,e.canEditInstance=!0}))},showModalNotes:function(){this.instanceModalNotes=!0},saveInstanceModalChanges:function(){var t=this;axios.post("/i/admin/api/instances/update",this.editingInstance).then((function(e){t.showInstanceModal=!1,t.$bvToast.toast("Successfully updated ".concat(e.data.data.domain),{title:"Instance Updated",autoHideDelay:5e3,appendToast:!0,variant:"success"})}))},saveNewInstance:function(){var t=this;axios.post("/i/admin/api/instances/create",this.addNewInstance).then((function(e){t.showInstanceModal=!1,t.instances.unshift(e.data.data)})).catch((function(e){swal("Oops!","An error occured, please try again later.","error"),t.addNewInstance={domain:"",banned:!1,auto_cw:!1,unlisted:!1,notes:void 0}}))},refreshModalStats:function(){var t=this;axios.post("/i/admin/api/instances/refresh-stats",{id:this.instanceModal.id}).then((function(e){t.refreshedModalStats=!0,t.instanceModal=e.data.data,t.editingInstance=e.data.data,t.instances=t.instances.map((function(t){return t.id===e.data.data.id?e.data.data:t}))}))},deleteInstanceModal:function(){var t=this;window.confirm("Are you sure you want to delete this instance? This will not delete posts or profiles from this instance.")&&axios.post("/i/admin/api/instances/delete",{id:this.instanceModal.id}).then((function(e){t.showInstanceModal=!1,t.instances=t.instances.filter((function(e){return e.id!=t.instanceModal.id}))})).then((function(){setTimeout((function(){return t.fetchStats()}),1e3)}))},openImportForm:function(){var t=document.createElement("p");t.classList.add("text-left"),t.classList.add("mb-0"),t.innerHTML='

Import your instance moderation backup.


Import Instructions:

  1. Press OK
  2. Press "Choose File" on Import form input
  3. Select your pixelfed-instances-mod.json file
  4. Review instance moderation actions. Tap on an instance to remove it
  5. Press "Import" button to finish importing
';var e=document.createElement("div");e.appendChild(t),swal({title:"Import Backup",content:e,icon:"info"}),this.showImportForm=!0},downloadBackup:function(t){axios.get("/i/admin/api/instances/download-backup",{responseType:"blob"}).then((function(t){var e=document.createElement("a");e.setAttribute("download","pixelfed-instances-mod.json");var a=URL.createObjectURL(t.data);e.href=a,e.setAttribute("target","_blank"),e.click(),swal("Instance Backup Downloading","Your instance moderation backup is downloading. Use this to import auto_cw, banned and unlisted instances to supported Pixelfed instances.","success")}))},onImportUpload:function(t){var e=this;return r(n().mark((function a(){var s;return n().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,e.getParsedImport(t.target.files[0]);case 2:if((s=a.sent).hasOwnProperty("version")&&1===s.version){a.next=8;break}return swal("Invalid Backup","We cannot validate this backup. Please try again later.","error"),e.showImportForm=!1,e.$refs.importInput.reset(),a.abrupt("return");case 8:e.importData=s,e.showImportModal=!0;case 10:case"end":return a.stop()}}),a)})))()},getParsedImport:function(t){var e=this;return r(n().mark((function a(){var s,i;return n().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,e.parseJsonFile(t);case 3:return a.abrupt("return",a.sent);case 6:return a.prev=6,a.t0=a.catch(0),(s=document.createElement("p")).classList.add("text-left"),s.classList.add("mb-0"),s.innerHTML='

An error occured when attempting to parse the import file. Please try again later.


Error message:

'+a.t0.message+"
",(i=document.createElement("div")).appendChild(s),swal({title:"Import Error",content:i,icon:"error"}),a.abrupt("return");case 16:case"end":return a.stop()}}),a,null,[[0,6]])})))()},promisedParseJSON:function(t){return r(n().mark((function e(){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,a){try{e(JSON.parse(t))}catch(t){a(t)}})));case 1:case"end":return e.stop()}}),e)})))()},parseJsonFile:function(t){var e=this;return r(n().mark((function a(){return n().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",new Promise((function(a,s){var i=new FileReader;i.onload=function(t){return a(e.promisedParseJSON(t.target.result))},i.onerror=function(t){return s(t)},i.readAsText(t)})));case 1:case"end":return a.stop()}}),a)})))()},filterImportData:function(t,e){switch(t){case"auto_cw":this.importData.auto_cw.splice(e,1);break;case"unlisted":this.importData.unlisted.splice(e,1);break;case"banned":this.importData.banned.splice(e,1)}},completeImport:function(){var t=this;this.showImportForm=!1,axios.post("/i/admin/api/instances/import-data",{banned:this.importData.banned,auto_cw:this.importData.auto_cw,unlisted:this.importData.unlisted}).then((function(t){swal("Import Uploaded","Import successfully uploaded, please allow a few minutes to process.","success")})).then((function(){setTimeout((function(){return t.fetchStats()}),1e3)}))},cancelImport:function(t){if(this.importData.banned.length||this.importData.auto_cw.length||this.importData.unlisted.length){if(!window.confirm("Are you sure you want to cancel importing?"))return void t.preventDefault();this.showImportForm=!1,this.$refs.importInput.value="",this.importData={banned:[],auto_cw:[],unlisted:[]}}},onViewMoreInstance:function(){this.showInstanceModal=!1,window.location.href="/i/admin/instances/show/"+this.instanceModal.id}}}},60143:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>i});var s=a(19755);const i={data:function(){return{loaded:!1,stats:{total:0,open:0,closed:0,autospam:0,autospam_open:0},tabIndex:0,reports:[],pagination:{},showReportModal:!1,viewingReport:void 0,viewingReportLoading:!1,autospam:[],autospamPagination:{},autospamLoaded:!1,showSpamReportModal:!1,viewingSpamReport:void 0,viewingSpamReportLoading:!1}},mounted:function(){var t=new URLSearchParams(window.location.search);t.has("tab")&&t.has("id")&&"autospam"===t.get("tab")?(this.fetchStats(null,"/i/admin/api/reports/spam/all"),this.fetchSpamReport(t.get("id"))):t.has("tab")&&t.has("id")&&"report"===t.get("tab")?(this.fetchStats(),this.fetchReport(t.get("id"))):(window.history.pushState(null,null,"/i/admin/reports"),this.fetchStats()),this.$root.$on("bv::modal::hide",(function(t,e){window.history.pushState(null,null,"/i/admin/reports")}))},methods:{toggleTab:function(t){switch(t){case 0:this.fetchStats("/i/admin/api/reports/all");break;case 1:this.fetchStats("/i/admin/api/reports/all?filter=closed");break;case 2:this.fetchStats(null,"/i/admin/api/reports/spam/all")}window.history.pushState(null,null,"/i/admin/reports"),this.tabIndex=t},prettyCount:function(t){return t?t.toLocaleString("en-CA",{compactDisplay:"short",notation:"compact"}):t},timeAgo:function(t){return t?App.util.format.timeAgo(t):t},formatDate:function(t){var e=new Date(t);return new Intl.DateTimeFormat("default",{month:"long",day:"numeric",year:"numeric",hour:"numeric",minute:"numeric"}).format(e)},reportLabel:function(t){switch(t.object_type){case"App\\Profile":return"".concat(t.type," Profile");case"App\\Status":return"".concat(t.type," Post");case"App\\Story":return"".concat(t.type," Story")}},fetchStats:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/i/admin/api/reports/all",a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;axios.get("/i/admin/api/reports/stats").then((function(e){t.stats=e.data})).finally((function(){e?t.fetchReports(e):a&&t.fetchAutospam(a),s('[data-toggle="tooltip"]').tooltip()}))},fetchReports:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/i/admin/api/reports/all";axios.get(e).then((function(e){t.reports=e.data.data,t.pagination={next:e.data.links.next,prev:e.data.links.prev}})).finally((function(){t.loaded=!0}))},paginate:function(t){event.currentTarget.blur();var e="next"==t?this.pagination.next:this.pagination.prev;this.fetchReports(e)},viewReport:function(t){this.viewingReportLoading=!1,this.viewingReport=t,this.showReportModal=!0,window.history.pushState(null,null,"/i/admin/reports?tab=report&id="+t.id),setTimeout((function(){pixelfed.readmore()}),1e3)},handleAction:function(t,e){var a=this;event.currentTarget.blur(),this.viewingReportLoading=!0,"ignore"===e||window.confirm(this.getActionLabel(t,e))?(this.loaded=!1,axios.post("/i/admin/api/reports/handle",{id:this.viewingReport.id,object_id:this.viewingReport.object_id,object_type:this.viewingReport.object_type,action:e,action_type:t}).catch((function(t){swal("Error",t.response.data.error,"error")})).finally((function(){a.viewingReportLoading=!0,a.viewingReport=!1,a.showReportModal=!1,setTimeout((function(){a.fetchStats()}),1e3)}))):this.viewingReportLoading=!1},getActionLabel:function(t,e){if("profile"===t)switch(e){case"ignore":return"Are you sure you want to ignore this profile report?";case"nsfw":return"Are you sure you want to mark this profile as NSFW?";case"unlist":return"Are you sure you want to mark all posts by this profile as unlisted?";case"private":return"Are you sure you want to mark all posts by this profile as private?";case"delete":return"Are you sure you want to delete this profile?"}else if("post"===t)switch(e){case"ignore":return"Are you sure you want to ignore this post report?";case"nsfw":return"Are you sure you want to mark this post as NSFW?";case"unlist":return"Are you sure you want to mark this post as unlisted?";case"private":return"Are you sure you want to mark this post as private?";case"delete":return"Are you sure you want to delete this post?"}else if("story"===t)switch(e){case"ignore":return"Are you sure you want to ignore this story report?";case"delete":return"Are you sure you want to delete this story?";case"delete-all":return"Are you sure you want to delete all stories by this account?"}},fetchAutospam:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/i/admin/api/reports/spam/all";axios.get(e).then((function(e){t.autospam=e.data.data,t.autospamPagination={next:e.data.links.next,prev:e.data.links.prev}})).finally((function(){t.autospamLoaded=!0,t.loaded=!0}))},autospamPaginate:function(t){event.currentTarget.blur();var e="next"==t?this.autospamPagination.next:this.autospamPagination.prev;this.fetchAutospam(e)},viewSpamReport:function(t){this.viewingSpamReportLoading=!1,this.viewingSpamReport=t,this.showSpamReportModal=!0,window.history.pushState(null,null,"/i/admin/reports?tab=autospam&id="+t.id),setTimeout((function(){pixelfed.readmore()}),1e3)},getSpamActionLabel:function(t){switch(t){case"mark-all-read":return"Are you sure you want to mark all spam reports by this account as read?";case"mark-all-not-spam":return"Are you sure you want to mark all spam reports by this account as not spam?";case"delete-profile":return"Are you sure you want to delete this profile?"}},handleSpamAction:function(t){var e=this;event.currentTarget.blur(),this.viewingSpamReportLoading=!0,"mark-not-spam"===t||"mark-read"===t||window.confirm(this.getSpamActionLabel(t))?(this.loaded=!1,axios.post("/i/admin/api/reports/spam/handle",{id:this.viewingSpamReport.id,action:t}).catch((function(t){swal("Error",t.response.data.error,"error")})).finally((function(){e.viewingSpamReportLoading=!0,e.viewingSpamReport=!1,e.showSpamReportModal=!1,setTimeout((function(){e.fetchStats(null,"/i/admin/api/reports/spam/all")}),500)}))):this.viewingSpamReportLoading=!1},fetchReport:function(t){var e=this;axios.get("/i/admin/api/reports/get/"+t).then((function(t){e.tabIndex=0,e.viewReport(t.data.data)})).catch((function(t){e.fetchStats(),window.history.pushState(null,null,"/i/admin/reports")}))},fetchSpamReport:function(t){var e=this;axios.get("/i/admin/api/reports/spam/get/"+t).then((function(t){e.tabIndex=2,e.viewSpamReport(t.data.data)})).catch((function(t){e.fetchStats(),window.history.pushState(null,null,"/i/admin/reports")}))}}}},82264:(t,e,a)=>{"use strict";a.r(e),a.d(e,{render:()=>s,staticRenderFns:()=>i});var s=function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"header bg-primary pb-3 mt-n4"},[e("div",{staticClass:"container-fluid"},[e("div",{staticClass:"header-body"},[e("div",{staticClass:"row align-items-center py-4"},[t._m(0),t._v(" "),e("div",{staticClass:"col-xl-4 col-lg-3 col-md-4"},[e("div",{staticClass:"card card-stats mb-lg-0"},[e("div",{staticClass:"card-body"},[e("div",{staticClass:"row"},[e("div",{staticClass:"col"},[e("h5",{staticClass:"card-title text-uppercase text-muted mb-0"},[t._v("Active Autospam")]),t._v(" "),e("span",{staticClass:"h2 font-weight-bold mb-0"},[t._v(t._s(t.formatCount(t.config.open)))])]),t._v(" "),t._m(1)])])])]),t._v(" "),e("div",{staticClass:"col-xl-4 col-lg-3 col-md-4"},[e("div",{staticClass:"card card-stats bg-dark mb-lg-0"},[e("div",{staticClass:"card-body"},[e("div",{staticClass:"row"},[e("div",{staticClass:"col"},[e("h5",{staticClass:"card-title text-uppercase text-muted mb-0"},[t._v("Closed Autospam")]),t._v(" "),e("span",{staticClass:"h2 font-weight-bold text-muted mb-0"},[t._v(t._s(t.formatCount(t.config.closed)))])]),t._v(" "),t._m(2)])])])])])])])]),t._v(" "),t.loaded?e("div",{staticClass:"m-n2 m-lg-4"},[e("div",{staticClass:"container-fluid mt-4"},[e("div",{staticClass:"row mb-3 justify-content-between"},[e("div",{staticClass:"col-12"},[e("ul",{staticClass:"nav nav-pills"},[e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:0==t.tabIndex}],on:{click:function(e){return e.preventDefault(),t.toggleTab(0)}}},[t._v("Dashboard")])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:"about"==t.tabIndex}],on:{click:function(e){return e.preventDefault(),t.toggleTab("about")}}},[t._v("About / How to Use Autospam")])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:"train"==t.tabIndex}],on:{click:function(e){return e.preventDefault(),t.toggleTab("train")}}},[t._v("Train Autospam")])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:"closed_reports"==t.tabIndex}],on:{click:function(e){return e.preventDefault(),t.toggleTab("closed_reports")}}},[t._v("Closed Reports")])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:"manage_tokens"==t.tabIndex}],on:{click:function(e){return e.preventDefault(),t.toggleTab("manage_tokens")}}},[t._v("Manage Tokens")])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:"import_export"==t.tabIndex}],on:{click:function(e){return e.preventDefault(),t.toggleTab("import_export")}}},[t._v("Import/Export")])])])])]),t._v(" "),0===this.tabIndex?e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-4"},[null===t.config.autospam_enabled?e("div"):t.config.autospam_enabled?e("div",{staticClass:"card bg-dark",staticStyle:{"min-height":"209px"}},[t._m(3)]):e("div",{staticClass:"card bg-dark",staticStyle:{"min-height":"209px"}},[t._m(4)]),t._v(" "),null===t.config.nlp_enabled?e("div"):t.config.nlp_enabled?e("div",{staticClass:"card bg-dark",staticStyle:{"min-height":"209px"}},[e("div",{staticClass:"card-body text-center"},[t._m(5),t._v(" "),e("p",{staticClass:"lead text-light"},[t._v("Advanced (NLP) Detection Active")]),t._v(" "),e("a",{staticClass:"btn btn-outline-danger btn-block font-weight-bold",class:{disabled:1!=t.config.autospam_enabled},attrs:{href:"#",disabled:1!=t.config.autospam_enabled},on:{click:function(e){return e.preventDefault(),t.disableAdvanced.apply(null,arguments)}}},[t._v("Disable Advanced Detection")])])]):e("div",{staticClass:"card bg-dark",staticStyle:{"min-height":"209px"}},[e("div",{staticClass:"card-body text-center"},[t._m(6),t._v(" "),e("p",{staticClass:"lead text-danger font-weight-bold"},[t._v("Advanced (NLP) Detection Inactive")]),t._v(" "),e("a",{staticClass:"btn btn-primary btn-block font-weight-bold",class:{disabled:1!=t.config.autospam_enabled},attrs:{href:"#",disabled:1!=t.config.autospam_enabled},on:{click:function(e){return e.preventDefault(),t.enableAdvanced.apply(null,arguments)}}},[t._v("Enable Advanced Detection")])])])]),t._v(" "),t._m(7)]):"about"===this.tabIndex?e("div",[t._m(8)]):"train"===this.tabIndex?e("div",[t._m(9),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card bg-dark"},[e("div",{staticClass:"card-header bg-gradient-primary text-white font-weight-bold"},[t._v("Train Spam Posts")]),t._v(" "),e("div",{staticClass:"card-body"},[e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center py-4",staticStyle:{gap:"1rem"}},[t._m(10),t._v(" "),e("p",{staticClass:"lead text-lighter"},[t._v("Use existing posts marked as spam to train Autospam")]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-lg font-weight-bold btn-block",class:{disabled:t.config.files.spam.exists},attrs:{disabled:t.config.files.spam.exists},on:{click:function(e){return e.preventDefault(),t.autospamTrainSpam.apply(null,arguments)}}},[t._v("\n\t \t\t\t\t\t\t"+t._s(t.config.files.spam.exists?"Already trained":"Train Spam")+"\n\t \t\t\t\t\t")])])])])]),t._v(" "),e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card bg-dark"},[e("div",{staticClass:"card-header bg-gradient-primary text-white font-weight-bold"},[t._v("Train Non-Spam Posts")]),t._v(" "),e("div",{staticClass:"card-body"},[e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center py-4",staticStyle:{gap:"1rem"}},[t._m(11),t._v(" "),e("p",{staticClass:"lead text-lighter"},[t._v("Use posts from trusted users to train non-spam posts")]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-lg font-weight-bold btn-block",class:{disabled:t.config.files.ham.exists},attrs:{disabled:t.config.files.ham.exists},on:{click:function(e){return e.preventDefault(),t.autospamTrainNonSpam.apply(null,arguments)}}},[t._v("\n\t \t\t\t\t\t\t"+t._s(t.config.files.ham.exists?"Already trained":"Train Non-Spam")+"\n\t \t\t\t\t\t")])])])])])])]):"closed_reports"===this.tabIndex?e("div",[t.closedReportsFetched?[e("div",{staticClass:"table-responsive rounded"},[e("table",{staticClass:"table table-dark"},[t._m(12),t._v(" "),e("tbody",t._l(t.closedReports.data,(function(a,s){return e("tr",{key:"closed_reports"+a.id+s},[e("td",{staticClass:"font-weight-bold text-monospace text-muted align-middle"},[t._v("\n\t\t \t"+t._s(a.id)+"\n\t\t ")]),t._v(" "),t._m(13,!0),t._v(" "),e("td",{staticClass:"align-middle"},[a.status&&a.status.account?e("a",{staticClass:"text-white",attrs:{href:"/i/web/profile/".concat(a.status.account.id),target:"_blank"}},[e("div",{staticClass:"d-flex align-items-center",staticStyle:{gap:"0.61rem"}},[e("img",{staticStyle:{"object-fit":"cover","border-radius":"30px"},attrs:{src:a.status.account.avatar,width:"30",height:"30",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"d-flex flex-column"},[e("p",{staticClass:"font-weight-bold mb-0",staticStyle:{"font-size":"14px"}},[t._v("@"+t._s(a.status.account.username))]),t._v(" "),e("div",{staticClass:"d-flex small text-muted mb-0",staticStyle:{gap:"0.5rem"}},[e("span",[t._v(t._s(a.status.account.followers_count)+" Followers")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v("Joined "+t._s(t.timeAgo(a.status.account.created_at)))])])])])]):t._e()]),t._v(" "),e("td",{staticClass:"font-weight-bold align-middle"},[t._v(t._s(t.timeAgo(a.created_at)))]),t._v(" "),e("td",{staticClass:"align-middle"},[e("a",{staticClass:"btn btn-primary btn-sm",attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.viewSpamReport(a)}}},[t._v("View")])])])})),0)])]),t._v(" "),t.closedReportsFetched&&t.closedReports&&t.closedReports.data.length?e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.closedReports.links.prev},on:{click:function(e){return t.autospamPaginate("prev")}}},[t._v("\n\t\t Prev\n\t\t ")]),t._v(" "),e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.closedReports.links.next},on:{click:function(e){return t.autospamPaginate("next")}}},[t._v("\n\t\t Next\n\t\t ")])]):t._e()]:[e("div",{staticClass:"d-flex justify-content-center align-items-center py-5"},[e("b-spinner")],1)]],2):"manage_tokens"===this.tabIndex?e("div",[e("div",{staticClass:"row align-items-center mb-3"},[t._m(14),t._v(" "),e("div",{staticClass:"col-12 col-md-3"},[e("a",{staticClass:"btn btn-primary btn-lg btn-block",attrs:{href:"#"},on:{click:function(e){e.preventDefault(),t.showCreateTokenModal=!0}}},[e("i",{staticClass:"far fa-plus fa-lg mr-1"}),t._v("\n \t\t\t\tCreate New Token\n \t\t\t")])])]),t._v(" "),t.customTokensFetched?[t.customTokens&&t.customTokens.data&&t.customTokens.data.length?[e("div",{staticClass:"table-responsive rounded"},[e("table",{staticClass:"table table-dark"},[t._m(15),t._v(" "),e("tbody",t._l(t.customTokens.data,(function(a,s){return e("tr",{key:"ct"+a.id+s},[e("td",{staticClass:"font-weight-bold text-monospace text-muted align-middle"},[t._v("\n\t\t\t \t"+t._s(a.id)+"\n\t\t\t ")]),t._v(" "),e("td",{staticClass:"align-middle"},[e("p",{staticClass:"font-weight-bold mb-0"},[t._v(t._s(a.token))])]),t._v(" "),e("td",{staticClass:"align-middle"},[e("p",{staticClass:"text-capitalize mb-0"},[t._v(t._s(a.category))])]),t._v(" "),e("td",{staticClass:"align-middle"},[e("p",{staticClass:"text-capitalize mb-0"},[t._v(t._s(a.weight))])]),t._v(" "),e("td",{staticClass:"font-weight-bold align-middle"},[t._v(t._s(t.timeAgo(a.created_at)))]),t._v(" "),e("td",{staticClass:"font-weight-bold align-middle"},[e("a",{staticClass:"btn btn-primary btn-sm font-weight-bold",attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.openEditTokenModal(a)}}},[t._v("Edit")])])])})),0)])]),t._v(" "),t.customTokensFetched&&t.customTokens&&t.customTokens.data.length?e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.customTokens.prev_page_url},on:{click:function(e){return t.autospamTokenPaginate("prev")}}},[t._v("\n\t\t\t Prev\n\t\t\t ")]),t._v(" "),e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.customTokens.next_page_url},on:{click:function(e){return t.autospamTokenPaginate("next")}}},[t._v("\n\t\t\t Next\n\t\t\t ")])]):t._e()]:e("div",[t._m(16)])]:[e("div",{staticClass:"d-flex justify-content-center align-items-center py-5"},[e("b-spinner")],1)]],2):"import_export"===this.tabIndex?e("div",[t._m(17),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card bg-dark"},[e("div",{staticClass:"card-header font-weight-bold"},[t._v("Import Training Data")]),t._v(" "),e("div",{staticClass:"card-body"},[e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center py-4",staticStyle:{gap:"1rem"}},[t._m(18),t._v(" "),e("p",{staticClass:"lead text-lighter"},[t._v("Make sure the file you are importing is a valid training data export!")]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-lg font-weight-bold btn-block",on:{click:function(e){return e.preventDefault(),t.handleImport.apply(null,arguments)}}},[t._v("Upload Import")])])])])]),t._v(" "),e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card bg-dark"},[e("div",{staticClass:"card-header font-weight-bold"},[t._v("Export Training Data")]),t._v(" "),e("div",{staticClass:"card-body"},[e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center py-4",staticStyle:{gap:"1rem"}},[t._m(19),t._v(" "),e("p",{staticClass:"lead text-lighter"},[t._v("Only share training data with people you trust. It can be used by spammers to bypass detection!")]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-lg font-weight-bold btn-block",on:{click:function(e){return e.preventDefault(),t.downloadExport.apply(null,arguments)}}},[t._v("Download Export")])])])])])])]):t._e()])]):e("div",{staticClass:"my-5 text-center"},[e("b-spinner")],1),t._v(" "),e("b-modal",{attrs:{title:"Autospam Post","ok-only":!0,"ok-title":"Close","ok-variant":"outline-primary"},model:{value:t.showSpamReportModal,callback:function(e){t.showSpamReportModal=e},expression:"showSpamReportModal"}},[t.viewingSpamReportLoading?e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("b-spinner")],1):[e("div",{staticClass:"list-group list-group-horizontal mt-3"},[t.viewingSpamReport&&t.viewingSpamReport.status&&t.viewingSpamReport.status.account?e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"text-muted small font-weight-bold mt-n1"},[t._v("Reported Account")]),t._v(" "),t.viewingSpamReport.status.account&&t.viewingSpamReport.status.account.id?e("a",{staticClass:"text-primary",attrs:{href:"/i/web/profile/".concat(t.viewingSpamReport.status.account.id),target:"_blank"}},[e("div",{staticClass:"d-flex align-items-center",staticStyle:{gap:"0.61rem"}},[e("img",{staticStyle:{"object-fit":"cover","border-radius":"30px"},attrs:{src:t.viewingSpamReport.status.account.avatar,width:"30",height:"30",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"d-flex flex-column"},[e("p",{staticClass:"font-weight-bold mb-0 text-break",class:[t.viewingSpamReport.status.account.is_admin?"text-danger":""],staticStyle:{"font-size":"12px","max-width":"140px","line-height":"16px"}},[t._v("@"+t._s(t.viewingSpamReport.status.account.acct))]),t._v(" "),e("div",{staticClass:"d-flex text-muted mb-0",staticStyle:{"font-size":"10px",gap:"0.5rem"}},[e("span",[t._v(t._s(t.viewingSpamReport.status.account.followers_count)+" Followers")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v("Joined "+t._s(t.timeAgo(t.viewingSpamReport.status.account.created_at)))])])])])]):t._e()]):t._e()]),t._v(" "),t.viewingSpamReport&&t.viewingSpamReport.status?e("div",{staticClass:"list-group mt-3"},[t.viewingSpamReport&&t.viewingSpamReport.status&&t.viewingSpamReport.status.media_attachments.length?e("div",{staticClass:"list-group-item d-flex flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"d-flex justify-content-between mt-n1 text-muted small font-weight-bold"},[e("div",[t._v("Reported Post")]),t._v(" "),e("a",{staticClass:"font-weight-bold",attrs:{href:t.viewingSpamReport.status.url,target:"_blank"}},[t._v("View")])]),t._v(" "),"image"===t.viewingSpamReport.status.media_attachments[0].type?e("img",{staticClass:"rounded",staticStyle:{"object-fit":"cover"},attrs:{src:t.viewingSpamReport.status.media_attachments[0].url,height:"140",onerror:"this.src='/storage/no-preview.png';this.error=null;"}}):"video"===t.viewingSpamReport.status.media_attachments[0].type?e("video",{attrs:{height:"140",controls:"",src:t.viewingSpamReport.status.media_attachments[0].url,onerror:"this.src='/storage/no-preview.png';this.onerror=null;"}}):t._e()]):t._e(),t._v(" "),t.viewingSpamReport&&t.viewingSpamReport.status&&t.viewingSpamReport.status.content_text&&t.viewingSpamReport.status.content_text.length?e("div",{staticClass:"list-group-item d-flex flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"d-flex justify-content-between mt-n1 text-muted small font-weight-bold"},[e("div",[t._v("Reported Post Caption")]),t._v(" "),e("a",{staticClass:"font-weight-bold",attrs:{href:t.viewingSpamReport.status.url,target:"_blank"}},[t._v("View")])]),t._v(" "),e("p",{staticClass:"mb-0 read-more",staticStyle:{"font-size":"12px","overflow-y":"hidden"}},[t._v(t._s(t.viewingSpamReport.status.content_text))])]):t._e()]):t._e()]],2),t._v(" "),e("b-modal",{attrs:{title:"Train Non-Spam","ok-only":!0,"ok-title":"Close","ok-variant":"outline-primary"},model:{value:t.showNonSpamModal,callback:function(e){t.showNonSpamModal=e},expression:"showNonSpamModal"}},[e("p",{staticClass:"small font-weight-bold"},[t._v("Select trusted accounts to train non-spam posts against!")]),t._v(" "),!t.nonSpamAccounts||t.nonSpamAccounts.length<10?e("autocomplete",{ref:"autocomplete",attrs:{search:t.composeSearch,disabled:t.searchLoading,placeholder:"Search by username","aria-label":"Search by username","get-result-value":t.getTagResultValue},on:{submit:t.onSearchResultClick},scopedSlots:t._u([{key:"result",fn:function(a){var s=a.result,i=a.props;return[e("li",t._b({staticClass:"autocomplete-result d-flex align-items-center",staticStyle:{gap:"0.5rem"}},"li",i,!1),[e("img",{staticClass:"rounded-circle",attrs:{src:s.avatar,width:"32",height:"32",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"font-weight-bold"},[t._v("\n "+t._s(s.username)+"\n ")])])]}}],null,!1,565605044)}):t._e(),t._v(" "),e("div",{staticClass:"list-group mt-3"},t._l(t.nonSpamAccounts,(function(a,s){return e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"d-flex align-items-center justify-content-between"},[e("div",{staticClass:"d-flex flex-row align-items-center",staticStyle:{gap:"0.5rem"}},[e("img",{staticClass:"rounded-circle",attrs:{src:a.avatar,width:"32",height:"32",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"font-weight-bold"},[t._v("\n\t "+t._s(a.username)+"\n\t ")])]),t._v(" "),e("a",{staticClass:"text-danger",attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.autospamTrainNonSpamRemove(s)}}},[e("i",{staticClass:"fas fa-trash"})])])])})),0),t._v(" "),t.nonSpamAccounts&&t.nonSpamAccounts.length?e("div",{staticClass:"mt-3"},[e("a",{staticClass:"btn btn-primary btn-lg font-weight-bold btn-block",attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.autospamTrainNonSpamSubmit.apply(null,arguments)}}},[t._v("Train non-spam posts on trusted accounts")])]):t._e()],1),t._v(" "),e("b-modal",{attrs:{title:"Create New Token","cancel-title":"Close","cancel-variant":"outline-primary","ok-title":"Save","ok-variant":"primary"},on:{ok:t.handleSaveToken},model:{value:t.showCreateTokenModal,callback:function(e){t.showCreateTokenModal=e},expression:"showCreateTokenModal"}},[e("div",{staticClass:"list-group mt-3"},[e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Token")])]),t._v(" "),e("div",{staticClass:"col-8"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.customTokenForm.token,expression:"customTokenForm.token"}],staticClass:"form-control",domProps:{value:t.customTokenForm.token},on:{input:function(e){e.target.composing||t.$set(t.customTokenForm,"token",e.target.value)}}})])])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Weight")])]),t._v(" "),e("div",{staticClass:"col-8"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.customTokenForm.weight,expression:"customTokenForm.weight"}],staticClass:"form-control",attrs:{type:"number",min:"-128",max:"128",step:"1"},domProps:{value:t.customTokenForm.weight},on:{input:function(e){e.target.composing||t.$set(t.customTokenForm,"weight",e.target.value)}}})])])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Category")])]),t._v(" "),e("div",{staticClass:"col-8"},[e("select",{directives:[{name:"model",rawName:"v-model",value:t.customTokenForm.category,expression:"customTokenForm.category"}],staticClass:"form-control",on:{change:function(e){var a=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.customTokenForm,"category",e.target.multiple?a:a[0])}}},[e("option",{attrs:{value:"spam"}},[t._v("Is Spam")]),t._v(" "),e("option",{attrs:{value:"ham"}},[t._v("Is NOT Spam")])])])])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Note")])]),t._v(" "),e("div",{staticClass:"col-8"},[e("textarea",{directives:[{name:"model",rawName:"v-model",value:t.customTokenForm.note,expression:"customTokenForm.note"}],staticClass:"form-control",domProps:{value:t.customTokenForm.note},on:{input:function(e){e.target.composing||t.$set(t.customTokenForm,"note",e.target.value)}}})])])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Active")])]),t._v(" "),e("div",{staticClass:"col-8 text-right"},[e("div",{staticClass:"custom-control custom-checkbox"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.customTokenForm.active,expression:"customTokenForm.active"}],staticClass:"custom-control-input",attrs:{type:"checkbox",id:"customCheck1"},domProps:{checked:Array.isArray(t.customTokenForm.active)?t._i(t.customTokenForm.active,null)>-1:t.customTokenForm.active},on:{change:function(e){var a=t.customTokenForm.active,s=e.target,i=!!s.checked;if(Array.isArray(a)){var n=t._i(a,null);s.checked?n<0&&t.$set(t.customTokenForm,"active",a.concat([null])):n>-1&&t.$set(t.customTokenForm,"active",a.slice(0,n).concat(a.slice(n+1)))}else t.$set(t.customTokenForm,"active",i)}}}),t._v(" "),e("label",{staticClass:"custom-control-label",attrs:{for:"customCheck1"}})])])])])])]),t._v(" "),e("b-modal",{attrs:{title:"Edit Token","cancel-title":"Close","cancel-variant":"outline-primary","ok-title":"Update","ok-variant":"primary"},on:{ok:t.handleUpdateToken},model:{value:t.showEditTokenModal,callback:function(e){t.showEditTokenModal=e},expression:"showEditTokenModal"}},[e("div",{staticClass:"list-group mt-3"},[e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Token")])]),t._v(" "),e("div",{staticClass:"col-8"},[e("input",{staticClass:"form-control",attrs:{disabled:""},domProps:{value:t.editCustomTokenForm.token}})])])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Weight")])]),t._v(" "),e("div",{staticClass:"col-8"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.editCustomTokenForm.weight,expression:"editCustomTokenForm.weight"}],staticClass:"form-control",attrs:{type:"number",min:"-128",max:"128",step:"1"},domProps:{value:t.editCustomTokenForm.weight},on:{input:function(e){e.target.composing||t.$set(t.editCustomTokenForm,"weight",e.target.value)}}})])])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Category")])]),t._v(" "),e("div",{staticClass:"col-8"},[e("select",{directives:[{name:"model",rawName:"v-model",value:t.editCustomTokenForm.category,expression:"editCustomTokenForm.category"}],staticClass:"form-control",on:{change:function(e){var a=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.editCustomTokenForm,"category",e.target.multiple?a:a[0])}}},[e("option",{attrs:{value:"spam"}},[t._v("Is Spam")]),t._v(" "),e("option",{attrs:{value:"ham"}},[t._v("Is NOT Spam")])])])])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Note")])]),t._v(" "),e("div",{staticClass:"col-8"},[e("textarea",{directives:[{name:"model",rawName:"v-model",value:t.editCustomTokenForm.note,expression:"editCustomTokenForm.note"}],staticClass:"form-control",domProps:{value:t.editCustomTokenForm.note},on:{input:function(e){e.target.composing||t.$set(t.editCustomTokenForm,"note",e.target.value)}}})])])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Active")])]),t._v(" "),e("div",{staticClass:"col-8 text-right"},[e("div",{staticClass:"custom-control custom-checkbox"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.editCustomTokenForm.active,expression:"editCustomTokenForm.active"}],staticClass:"custom-control-input",attrs:{type:"checkbox",id:"customCheck1"},domProps:{checked:Array.isArray(t.editCustomTokenForm.active)?t._i(t.editCustomTokenForm.active,null)>-1:t.editCustomTokenForm.active},on:{change:function(e){var a=t.editCustomTokenForm.active,s=e.target,i=!!s.checked;if(Array.isArray(a)){var n=t._i(a,null);s.checked?n<0&&t.$set(t.editCustomTokenForm,"active",a.concat([null])):n>-1&&t.$set(t.editCustomTokenForm,"active",a.slice(0,n).concat(a.slice(n+1)))}else t.$set(t.editCustomTokenForm,"active",i)}}}),t._v(" "),e("label",{staticClass:"custom-control-label",attrs:{for:"customCheck1"}})])])])])])])],1)},i=[function(){var t=this,e=t._self._c;return e("div",{staticClass:"col-xl-4 col-lg-6 col-md-4"},[e("p",{staticClass:"display-1 text-white d-inline-block mb-0"},[t._v("Autospam")]),t._v(" "),e("p",{staticClass:"text-lighter"},[t._v("The automated spam detection system")])])},function(){var t=this._self._c;return t("div",{staticClass:"col-auto"},[t("div",{staticClass:"icon icon-shape bg-gradient-primary text-white rounded-circle shadow"},[t("i",{staticClass:"far fa-sensor-alert"})])])},function(){var t=this._self._c;return t("div",{staticClass:"col-auto"},[t("div",{staticClass:"icon icon-shape bg-gradient-primary text-white rounded-circle shadow"},[t("i",{staticClass:"far fa-shield-alt"})])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card-body text-center"},[e("p",[e("i",{staticClass:"far fa-check-circle fa-5x text-success"})]),t._v(" "),e("p",{staticClass:"lead text-light mb-0"},[t._v("Autospam Service Operational")])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card-body text-center"},[e("p",[e("i",{staticClass:"far fa-exclamation-circle fa-5x text-danger"})]),t._v(" "),e("p",{staticClass:"lead text-danger font-weight-bold mb-0"},[t._v("Autospam Service Inactive")]),t._v(" "),e("p",{staticClass:"small text-light mb-0"},[t._v("To activate, "),e("a",{attrs:{href:"/i/admin/settings"}},[t._v("click here")]),t._v(" and enable "),e("span",{staticClass:"font-weight-bold"},[t._v("Spam detection")])])])},function(){var t=this._self._c;return t("p",[t("i",{staticClass:"far fa-check-circle fa-5x text-success"})])},function(){var t=this._self._c;return t("p",[t("i",{staticClass:"far fa-exclamation-circle fa-5x text-danger"})])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"col-12 col-md-8"},[e("div",{staticClass:"card bg-default"},[e("div",{staticClass:"card-header bg-transparent"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col"},[e("h6",{staticClass:"text-light text-uppercase ls-1 mb-1"},[t._v("Stats")]),t._v(" "),e("h5",{staticClass:"h3 text-white mb-0"},[t._v("Autospam Detections")])])])]),t._v(" "),e("div",{staticClass:"card-body"},[e("div",{staticClass:"chart"},[e("canvas",{staticClass:"chart-canvas",attrs:{id:"c1-dark"}})])])])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"row"},[e("div",{staticClass:"col-12"},[e("div",{staticClass:"card card-body"},[e("h1",[t._v("About Autospam")]),t._v(" "),e("p",{staticClass:"mb-0"},[t._v("To detect and mitigate spam, we built Autospam, an internal tool that uses NLP and other behavioural metrics to classify potential spam posts.")]),t._v(" "),e("hr"),t._v(" "),e("h2",[t._v("Standard Detection")]),t._v(" "),e("p",[t._v('Standard or "Classic" detection works by evaluating several "signals" from the post and it\'s associated account.')]),t._v(" "),e("p",[t._v('Some of the following "signals" may trigger a positive detection from public posts:')]),t._v(" "),e("ul",[e("li",[t._v("Account is less than 6 months old")]),t._v(" "),e("li",[t._v("Account has less than 100 followers")]),t._v(" "),e("li",[t._v("Post contains one or more of: "),e("span",{staticClass:"badge badge-primary"},[t._v("https://")]),t._v(" "),e("span",{staticClass:"badge badge-primary"},[t._v("http://")]),t._v(" "),e("span",{staticClass:"badge badge-primary"},[t._v("hxxps://")]),t._v(" "),e("span",{staticClass:"badge badge-primary"},[t._v("hxxp://")]),t._v(" "),e("span",{staticClass:"badge badge-primary"},[t._v("www.")]),t._v(" "),e("span",{staticClass:"badge badge-primary"},[t._v(".com")]),t._v(" "),e("span",{staticClass:"badge badge-primary"},[t._v(".net")]),t._v(" "),e("span",{staticClass:"badge badge-primary"},[t._v(".org")])])]),t._v(" "),e("p",[t._v("If you've marked atleast one positive detection from an account as "),e("span",{staticClass:"font-weight-bold"},[t._v("Not spam")]),t._v(", any future posts they create will skip detection.")]),t._v(" "),e("hr"),t._v(" "),e("h2",[t._v("Advanced Detection")]),t._v(" "),e("p",[t._v("Advanced Detection works by using a statistical method that combines prior knowledge and observed data to estimate an average value. It assigns weights to both the prior knowledge and the observed data, allowing for a more informed and reliable estimation that adapts to new information.")]),t._v(" "),e("p",[t._v("When you train Spam or Not Spam data, the caption is broken up into words (tokens) and are counted (weights) and then stored in the appropriate category (Spam or Not Spam).")]),t._v(" "),e("p",[t._v("The training data is then used to classify spam on future posts (captions) by calculating each token and associated weights and comparing it to known categories (Spam or Not Spam).")])])])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"row"},[e("div",{staticClass:"col-12"},[e("div",{staticClass:"card card-body"},[e("p",{staticClass:"mb-0"},[t._v("\n\t \t\t\t\tIn order for Autospam to be effective, you need to train it by classifying data as spam or not-spam.\n\t \t\t\t")]),t._v(" "),e("p",{staticClass:"mb-0 small"},[t._v("\n\t \t\t\t\tWe recommend atleast 200 classifications for both spam and not-spam, it is important to train Autospam on both so you get more accurate results.\n\t \t\t\t")])])])])},function(){var t=this._self._c;return t("p",{staticClass:"mb-0"},[t("i",{staticClass:"far fa-sensor-alert fa-5x text-danger"})])},function(){var t=this._self._c;return t("p",{staticClass:"mb-0"},[t("i",{staticClass:"far fa-check-circle fa-5x text-success"})])},function(){var t=this,e=t._self._c;return e("thead",{staticClass:"thead-dark"},[e("tr",[e("th",{attrs:{scope:"col"}},[t._v("ID")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Type")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Reported Account")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Created")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("View Report")])])])},function(){var t=this._self._c;return t("td",{staticClass:"align-middle"},[t("p",{staticClass:"text-capitalize font-weight-bold mb-0"},[this._v("Autospam Post")])])},function(){var t=this._self._c;return t("div",{staticClass:"col-12 col-md-9"},[t("div",{staticClass:"card card-body mb-0"},[t("p",{staticClass:"mb-0"},[this._v("\n\t \t\t\t\tTokens are used to split paragraphs and sentences into smaller units that can be more easily assigned meaning.\n\t \t\t\t")])])])},function(){var t=this,e=t._self._c;return e("thead",{staticClass:"thead-dark"},[e("tr",[e("th",{attrs:{scope:"col"}},[t._v("ID")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Token")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Category")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Weight")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Created")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Edit")])])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card"},[e("div",{staticClass:"card-body text-center py-5"},[e("p",{staticClass:"pt-5"},[e("i",{staticClass:"far fa-inbox fa-4x text-light"})]),t._v(" "),e("p",{staticClass:"lead mb-5"},[t._v("No custom tokens found!")])])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"row"},[e("div",{staticClass:"col-12"},[e("div",{staticClass:"card card-body"},[e("p",{staticClass:"mb-0"},[t._v("\n\t \t\t\t\tYou can import and export Spam training data\n\t \t\t\t")]),t._v(" "),e("p",{staticClass:"mb-0 small"},[t._v("\n\t \t\t\t\tWe recommend exercising caution when importing training data from untrusted parties!\n\t \t\t\t")])])])])},function(){var t=this._self._c;return t("p",{staticClass:"mb-0"},[t("i",{staticClass:"far fa-plus-circle fa-5x text-light"})])},function(){var t=this._self._c;return t("p",{staticClass:"mb-0"},[t("i",{staticClass:"far fa-download fa-5x text-light"})])}]},48650:(t,e,a)=>{"use strict";a.r(e),a.d(e,{render:()=>s,staticRenderFns:()=>i});var s=function(){var t=this,e=t._self._c;return t.loaded?e("div",[e("div",{staticClass:"header bg-primary pb-2 mt-n4"},[e("div",{staticClass:"container-fluid"},[e("div",{staticClass:"header-body"},[e("div",{staticClass:"row align-items-center py-4"},[t._m(0),t._v(" "),e("div",{staticClass:"col-lg-6 col-5"},[e("p",{staticClass:"text-right"},[e("button",{staticClass:"btn btn-outline-white btn-lg px-5 py-2",on:{click:t.save}},[t._v("Save changes")])])])])])])]),t._v(" "),e("div",{staticClass:"container"},[e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-3"},[e("div",{staticClass:"nav-wrapper"},[e("div",{staticClass:"nav flex-column nav-pills",attrs:{id:"tabs-icons-text",role:"tablist","aria-orientation":"vertical"}},t._l(t.tabs,(function(a){return e("div",{staticClass:"nav-item"},[e("a",{staticClass:"nav-link mb-sm-3",class:{active:t.tabIndex===a.id},attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.toggleTab(a.id)}}},[e("i",{class:a.icon}),t._v(" "),e("span",{staticClass:"ml-2"},[t._v(t._s(a.title))])])])})),0)])]),t._v(" "),e("div",{staticClass:"col-12 col-md-9"},[e("div",{staticClass:"card shadow mt-3"},[e("div",{staticClass:"card-body"},[e("div",{staticClass:"tab-content"},[1===t.tabIndex?e("div",{staticClass:"tab-pane fade show active"},[t.isSubmitting||t.state.awaiting_approval||t.state.is_active?t.isSubmitting||!t.state.awaiting_approval||t.state.is_active?!t.isSubmitting&&t.state.awaiting_approval&&t.state.is_active?e("div",[t._m(3)]):t.isSubmitting||t.state.awaiting_approval||!t.state.is_active?t.isSubmitting?e("div",[e("div",{staticClass:"card card-body shadow-none border d-flex align-items-center justify-content-center py-5"},[e("b-spinner",{attrs:{variant:"primary"}}),t._v(" "),e("p",{staticClass:"lead my-0 text-primary"},[t._v("Sending submission...")])],1)]):e("div",[t._m(6)]):e("div",[e("div",{staticClass:"card card-body shadow-none border d-flex align-items-center justify-content-center py-5"},[e("h2",{staticClass:"font-weight-bold"},[t._v("Active Listing")]),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),e("button",{staticClass:"btn btn-primary btn-sm mt-3 font-weight-bold px-5 text-uppercase",on:{click:t.handleSubmit}},[t._v("\n Update my listing on pixelfed.org\n ")])])]):e("div",[t._m(2)]):e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("div",{staticClass:"text-center mb-4"},[t._m(1),t._v(" "),e("p",{staticClass:"display-3 mb-1"},[t._v("Awaiting Submission")]),t._v(" "),t.state.is_eligible||t.state.submission_exists?t.state.is_eligible&&!t.state.submission_exists?e("div",{staticClass:"mb-4"},[e("p",{staticClass:"lead mt-0 text-muted"},[t._v("Your directory listing is ready for submission!")]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-lg font-weight-bold px-5 text-uppercase",on:{click:t.handleSubmit}},[t._v("\n Submit my Server to pixelfed.org\n ")])]):t._e():e("p",{staticClass:"lead mt-0 text-muted"},[t._v("Your directory listing isn't completed yet")])])]),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card text-left"},[e("div",{staticClass:"list-group list-group-flush"},[e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.requirements.open_registration?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.requirements.open_registration?"Open":"Closed")+" account registration\n ")])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.requirements.oauth_enabled?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.requirements.oauth_enabled?"Enabled":"Disabled")+" mobile apis/oauth\n ")])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.requirements.activitypub_enabled?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.requirements.activitypub_enabled?"Enabled":"Disabled")+" activitypub federation\n ")])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.form.summary&&t.form.summary.length&&t.form.location&&t.form.location.length?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.form.summary&&t.form.summary.length&&t.form.location&&t.form.location.length?"Configured":"Missing")+" server details\n ")])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.requirements_validator&&0==t.requirements_validator.length?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.requirements_validator&&0==t.requirements_validator.length?"Valid":"Invalid")+" feature requirements\n ")])])])])]),t._v(" "),e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card text-left"},[e("div",{staticClass:"list-group list-group-flush"},[e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.form.contact_account?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.form.contact_account?"Configured":"Missing")+" admin account\n ")])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.form.contact_email?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.form.contact_email?"Configured":"Missing")+" contact email\n ")])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.selectedPosts&&t.selectedPosts.length?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.selectedPosts&&t.selectedPosts.length?"Configured":"Missing")+" favourite posts\n ")])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.form.privacy_pledge?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.form.privacy_pledge?"Configured":"Missing")+" privacy pledge\n ")])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.communityGuidelines&&t.communityGuidelines.length?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.communityGuidelines&&t.communityGuidelines.length?"Configured":"Missing")+" community guidelines\n ")])])])])])])]):2===t.tabIndex?e("div",{staticClass:"tab-pane fade show active"},[e("p",{staticClass:"description"},[t._v("Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.")])]):3===t.tabIndex?e("div",{staticClass:"tab-pane fade show active",attrs:{role:"tabpanel"}},[e("h2",{staticClass:"display-4 mb-0"},[t._v("Server Details")]),t._v(" "),e("p",{staticClass:"small text-muted"},[t._v("Edit your server details to better describe it")]),t._v(" "),e("hr",{staticClass:"mt-0"}),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card shadow-none border card-body"},[e("div",{staticClass:"form-group mb-0"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Summary")]),t._v(" "),e("textarea",{directives:[{name:"model",rawName:"v-model",value:t.form.summary,expression:"form.summary"}],staticClass:"form-control form-control-muted",attrs:{id:"form-summary",rows:"3",placeholder:"A descriptive summary of your instance up to 140 characters long. HTML is not allowed."},domProps:{value:t.form.summary},on:{input:function(e){e.target.composing||t.$set(t.form,"summary",e.target.value)}}}),t._v(" "),e("p",{staticClass:"help-text small text-muted text-right"},[t._v("\n "+t._s(t.form.summary&&t.form.summary.length?t.form.summary.length:0)+"/140\n ")])])])]),t._v(" "),e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card shadow-none border card-body"},[e("div",{staticClass:"form-group mb-0"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Location")]),t._v(" "),e("select",{directives:[{name:"model",rawName:"v-model",value:t.form.location,expression:"form.location"}],staticClass:"form-control form-control-muted",on:{change:function(e){var a=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.form,"location",e.target.multiple?a:a[0])}}},[e("option",{attrs:{selected:"",disabled:"",value:"0"}},[t._v("Select the country your server is in")]),t._v(" "),t._l(t.initialData.countries,(function(a){return e("option",{domProps:{value:a}},[t._v(t._s(a))])}))],2),t._v(" "),e("p",{staticClass:"form-text small text-muted"},[t._v("Select the country your server is hosted in, even if you are in a different country")])])])])]),t._v(" "),e("div",{staticClass:"list-group mb-4"},[e("div",{staticClass:"list-group-item"},[e("label",{staticClass:"font-weight-bold mb-0"},[t._v("Server Banner")]),t._v(" "),e("p",{staticClass:"small"},[t._v("Add an optional banner image to your directory listing")]),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card mb-0 shadow-none border"},[t.form.banner_image?e("div",[e("a",{attrs:{href:t.form.banner_image,target:"_blank"}},[e("img",{staticClass:"card-img-top",attrs:{src:t.form.banner_image}})])]):e("div",{staticClass:"card-body bg-primary text-white"},[t._m(7),t._v(" "),e("p",{staticClass:"text-center mb-0"},[t._v("No banner image")])])])]),t._v(" "),e("div",{staticClass:"col-12 col-md-6"},[t.isUploadingBanner?e("div",{staticClass:"text-center"},[e("b-spinner",{attrs:{variant:"primary"}})],1):e("div",{staticClass:"custom-file"},[e("input",{ref:"bannerImageRef",staticClass:"custom-file-input",attrs:{type:"file",id:"banner_image"},on:{change:t.uploadBannerImage}}),t._v(" "),e("label",{staticClass:"custom-file-label",attrs:{for:"banner_image"}},[t._v("Choose file")]),t._v(" "),e("p",{staticClass:"form-text text-muted small mb-0"},[t._v("Must be 1920 by 1080 pixels")]),t._v(" "),t._m(8),t._v(" "),t.form.banner_image&&!t.form.banner_image.endsWith("default.jpg")?e("div",[e("button",{staticClass:"btn btn-danger font-weight-bold btn-block mt-5",on:{click:t.deleteBannerImage}},[t._v("Delete banner image")])]):t._e()])])])])]),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card shadow-none border card-body"},[e("div",{staticClass:"form-group mb-0"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Primary Language")]),t._v(" "),e("select",{directives:[{name:"model",rawName:"v-model",value:t.form.primary_locale,expression:"form.primary_locale"}],staticClass:"form-control form-control-muted",attrs:{disabled:""},on:{change:function(e){var a=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.form,"primary_locale",e.target.multiple?a:a[0])}}},t._l(t.initialData.available_languages,(function(a){return e("option",{domProps:{value:a.code}},[t._v(t._s(a.name))])})),0),t._v(" "),t._m(9)])])])])]):4===t.tabIndex?e("div",{staticClass:"tab-pane fade show active",attrs:{role:"tabpanel"}},[e("h2",{staticClass:"display-4 mb-0"},[t._v("Admin Contact")]),t._v(" "),e("p",{staticClass:"small text-muted"},[t._v("Set a designated admin account and public email address")]),t._v(" "),e("hr",{staticClass:"mt-0"}),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[t.initialData.admins.length?e("div",{staticClass:"form-group"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Designated Admin")]),t._v(" "),e("select",{directives:[{name:"model",rawName:"v-model",value:t.form.contact_account,expression:"form.contact_account"}],staticClass:"form-control form-control-muted",on:{change:function(e){var a=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.form,"contact_account",e.target.multiple?a:a[0])}}},[e("option",{attrs:{disabled:"",value:"0"}},[t._v("Select a designated admin")]),t._v(" "),t._l(t.initialData.admins,(function(a,s){return e("option",{key:"pfc-"+a+s,domProps:{value:a.pid}},[t._v(t._s(a.username))])}))],2)]):e("div",{staticClass:"px-3 pb-2 pt-0 border border-danger rounded"},[e("p",{staticClass:"lead font-weight-bold text-danger"},[t._v("No admin(s) found")]),t._v(" "),t._m(10)])]),t._v(" "),e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"form-group"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Public Email")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.form.contact_email,expression:"form.contact_email"}],staticClass:"form-control form-control-muted",attrs:{placeholder:"info@example.org"},domProps:{value:t.form.contact_email},on:{input:function(e){e.target.composing||t.$set(t.form,"contact_email",e.target.value)}}}),t._v(" "),e("p",{staticClass:"help-text small text-muted"},[t._v("\n Must be a valid email address\n ")])])])])]):5===t.tabIndex?e("div",{staticClass:"tab-pane fade show active",attrs:{role:"tabpanel"}},[e("h2",{staticClass:"display-4 mb-0"},[t._v("Favourite Posts")]),t._v(" "),e("p",{staticClass:"small text-muted"},[t._v("Show off a few favourite posts from your server")]),t._v(" "),e("hr",{staticClass:"mt-0 mb-1"}),t._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:t.selectedPosts&&12!==t.selectedPosts.length,expression:"selectedPosts && selectedPosts.length !== 12"}],staticClass:"nav-wrapper"},[e("ul",{staticClass:"nav nav-pills nav-fill flex-column flex-md-row",attrs:{role:"tablist"}},[e("li",{staticClass:"nav-item"},[e("a",{staticClass:"nav-link mb-sm-3 mb-md-0 active",attrs:{id:"favposts-1-tab","data-toggle":"tab",href:"#favposts-1",role:"tab","aria-controls":"favposts-1","aria-selected":"true"}},[t._v(t._s(this.selectedPosts.length?this.selectedPosts.length:"")+" Selected Posts")])]),t._v(" "),t.selectedPosts&&t.selectedPosts.length<12?e("li",{staticClass:"nav-item"},[e("a",{staticClass:"nav-link mb-sm-3 mb-md-0",attrs:{id:"favposts-2-tab","data-toggle":"tab",href:"#favposts-2",role:"tab","aria-controls":"favposts-2","aria-selected":"false"}},[t._v("Add by post id")])]):t._e(),t._v(" "),t.selectedPosts&&t.selectedPosts.length<12?e("li",{staticClass:"nav-item"},[e("a",{staticClass:"nav-link mb-sm-3 mb-md-0",attrs:{id:"favposts-3-tab","data-toggle":"tab",href:"#favposts-3",role:"tab","aria-controls":"favposts-3","aria-selected":"false"},on:{click:t.initPopularPosts}},[t._v("Add by popularity")])]):t._e()])]),t._v(" "),e("div",{staticClass:"tab-content mt-3"},[e("div",{staticClass:"tab-pane fade list-fade-bottom show active",attrs:{id:"favposts-1",role:"tabpanel","aria-labelledby":"favposts-1-tab"}},[t.selectedPosts&&t.selectedPosts.length?e("div",{staticStyle:{"max-height":"520px","overflow-y":"auto"}},[t._l(t.selectedPosts,(function(a){return e("div",{key:"sp-"+a.id,staticClass:"list-group-item border-primary form-control-muted"},[e("div",{staticClass:"media align-items-center"},[e("div",{staticClass:"custom-control custom-checkbox mr-2"},[e("input",{staticClass:"custom-control-input",attrs:{type:"checkbox",checked:"",id:"checkbox-sp-".concat(a.id)},on:{change:function(e){return t.toggleSelectedPost(a)}}}),t._v(" "),e("label",{staticClass:"custom-control-label",attrs:{for:"checkbox-sp-".concat(a.id)}})]),t._v(" "),e("img",{staticClass:"border rounded-sm mr-3",staticStyle:{"object-fit":"cover"},attrs:{src:a.media_attachments[0].url,width:"100",height:"100",loading:"lazy"}}),t._v(" "),e("div",{staticClass:"media-body"},[e("p",{staticClass:"lead mt-0 mb-0 font-weight-bold"},[t._v("@"+t._s(a.account.username))]),t._v(" "),e("p",{staticClass:"text-muted mb-0",staticStyle:{"font-size":"14px"}},[e("span",[e("span",{staticClass:"font-weight-bold"},[t._v(t._s(t.formatCount(a.favourites_count)))]),t._v(" Likes")]),t._v(" "),e("span",{staticClass:"mx-2"},[t._v("·")]),t._v(" "),e("span",[e("span",{staticClass:"font-weight-bold"},[t._v(t._s(t.formatCount(a.account.followers_count)))]),t._v(" Followers")]),t._v(" "),e("span",{staticClass:"mx-2"},[t._v("·")]),t._v(" "),e("span",[t._v("Created "),e("span",{staticClass:"font-weight-bold"},[t._v(t._s(t.formatDateTime(a.created_at)))])])])]),t._v(" "),e("a",{staticClass:"btn btn-outline-primary btn-sm rounded-pill",attrs:{href:a.url,target:"_blank"}},[t._v("View")])])])})),t._v(" "),e("div",{staticClass:"mt-5 mb-5 pt-3"})],2):e("div",[t._m(11)])]),t._v(" "),e("div",{staticClass:"tab-pane fade",attrs:{id:"favposts-2",role:"tabpanel","aria-labelledby":"favposts-2-tab"}},[e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"form-group"},[e("label",{staticClass:"font-weight-bold"},[t._v("Find and add by post id")]),t._v(" "),e("div",{staticClass:"input-group mb-3"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.favouritePostByIdInput,expression:"favouritePostByIdInput"}],staticClass:"form-control form-control-muted border",attrs:{type:"number",placeholder:"Post id",min:"1",max:"99999999999999999999",disabled:t.favouritePostByIdFetching},domProps:{value:t.favouritePostByIdInput},on:{input:function(e){e.target.composing||(t.favouritePostByIdInput=e.target.value)}}}),t._v(" "),e("div",{staticClass:"input-group-append"},[t.favouritePostByIdFetching?e("button",{staticClass:"btn btn-outline-primary",attrs:{disabled:""}},[t._m(12)]):e("button",{staticClass:"btn btn-outline-primary",attrs:{type:"button"},on:{click:t.handlePostByIdSearch}},[t._v("\n Search\n ")])])])])]),t._v(" "),t._m(13)])]),t._v(" "),e("div",{staticClass:"tab-pane fade list-fade-bottom mb-0",attrs:{id:"favposts-3",role:"tabpanel","aria-labelledby":"favposts-3-tab"}},[t.popularPostsLoaded?e("div",{staticClass:"list-group",staticStyle:{"max-height":"520px","overflow-y":"auto"}},[t._l(t.popularPosts,(function(a){return e("div",{key:"pp-"+a.id,staticClass:"list-group-item",class:[t.selectedPosts.includes(a)?"border-primary form-control-muted":""]},[e("div",{staticClass:"media align-items-center"},[e("div",{staticClass:"custom-control custom-checkbox mr-2"},[e("input",{staticClass:"custom-control-input",attrs:{type:"checkbox",id:"checkbox-pp-".concat(a.id)},domProps:{checked:t.selectedPosts.includes(a)},on:{change:function(e){return t.togglePopularPost(a.id,a)}}}),t._v(" "),e("label",{staticClass:"custom-control-label",attrs:{for:"checkbox-pp-".concat(a.id)}})]),t._v(" "),e("img",{staticClass:"border rounded-sm mr-3",staticStyle:{"object-fit":"cover"},attrs:{src:a.media_attachments[0].url,width:"100",height:"100",loading:"lazy"}}),t._v(" "),e("div",{staticClass:"media-body"},[e("p",{staticClass:"lead mt-0 mb-0 font-weight-bold"},[t._v("@"+t._s(a.account.username))]),t._v(" "),e("p",{staticClass:"text-muted mb-0",staticStyle:{"font-size":"14px"}},[e("span",[e("span",{staticClass:"font-weight-bold"},[t._v(t._s(t.formatCount(a.favourites_count)))]),t._v(" Likes")]),t._v(" "),e("span",{staticClass:"mx-2"},[t._v("·")]),t._v(" "),e("span",[e("span",{staticClass:"font-weight-bold"},[t._v(t._s(t.formatCount(a.account.followers_count)))]),t._v(" Followers")]),t._v(" "),e("span",{staticClass:"mx-2"},[t._v("·")]),t._v(" "),e("span",[t._v("Created "),e("span",{staticClass:"font-weight-bold"},[t._v(t._s(t.formatDateTime(a.created_at)))])])])]),t._v(" "),e("a",{staticClass:"btn btn-outline-primary btn-sm rounded-pill",attrs:{href:a.url,target:"_blank"}},[t._v("View")])])])})),t._v(" "),e("div",{staticClass:"mt-5 mb-3"})],2):e("div",{staticClass:"text-center py-5"},[t._m(14)])])])]):6===t.tabIndex?e("div",{staticClass:"tab-pane fade show active",attrs:{role:"tabpanel"}},[e("h2",{staticClass:"display-4 mb-0"},[t._v("Privacy Pledge")]),t._v(" "),e("p",{staticClass:"small text-muted"},[t._v("Pledge to keep you and your data private and securely stored")]),t._v(" "),e("hr",{staticClass:"mt-0"}),t._v(" "),e("p",[t._v("To qualify for the Privacy Pledge, you must abide by the following rules:")]),t._v(" "),t._m(15),t._v(" "),e("p",{staticClass:"small text-muted mb-0"},[t._v("You may use 3rd party services like captchas on specific pages, so long as they are clearly defined in your privacy policy")]),t._v(" "),e("hr"),t._v(" "),e("p"),e("div",{staticClass:"custom-control custom-checkbox mr-2"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.form.privacy_pledge,expression:"form.privacy_pledge"}],staticClass:"custom-control-input",attrs:{type:"checkbox",id:"privacy-pledge"},domProps:{checked:Array.isArray(t.form.privacy_pledge)?t._i(t.form.privacy_pledge,null)>-1:t.form.privacy_pledge},on:{change:function(e){var a=t.form.privacy_pledge,s=e.target,i=!!s.checked;if(Array.isArray(a)){var n=t._i(a,null);s.checked?n<0&&t.$set(t.form,"privacy_pledge",a.concat([null])):n>-1&&t.$set(t.form,"privacy_pledge",a.slice(0,n).concat(a.slice(n+1)))}else t.$set(t.form,"privacy_pledge",i)}}}),t._v(" "),e("label",{staticClass:"custom-control-label font-weight-bold",attrs:{for:"privacy-pledge"}},[t._v("I agree to the uphold the Privacy Pledge")])]),t._v(" "),e("p")]):7===t.tabIndex?e("div",{staticClass:"tab-pane fade show active",attrs:{role:"tabpanel"}},[e("h2",{staticClass:"display-4 mb-0"},[t._v("Community Guidelines")]),t._v(" "),e("p",{staticClass:"small text-muted"},[t._v("A few ground rules to keep your community healthy and safe.")]),t._v(" "),e("hr",{staticClass:"mt-0"}),t._v(" "),t.communityGuidelines&&t.communityGuidelines.length?e("ol",{staticClass:"font-weight-bold"},t._l(t.communityGuidelines,(function(a){return e("li",{staticClass:"text-primary"},[e("span",{staticClass:"lead ml-1 text-dark"},[t._v(t._s(a))])])})),0):e("div",{staticClass:"card bg-primary text-white"},[t._m(16)]),t._v(" "),e("hr"),t._v(" "),t._m(17)]):8===t.tabIndex?e("div",{staticClass:"tab-pane fade show active",attrs:{role:"tabpanel"}},[e("h2",{staticClass:"display-4 mb-0"},[t._v("Feature Requirements")]),t._v(" "),e("p",{staticClass:"small text-muted"},[t._v("The minimum requirements for Directory inclusion.")]),t._v(" "),e("hr",{staticClass:"mt-0"}),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"list-group"},[e("div",{staticClass:"list-group-item d-flex align-items-center"},[e("div",[e("i",{staticClass:"far fa-2x mr-4",class:[t.requirements_validator.hasOwnProperty("media_types")?"fa-exclamation-circle text-danger":"fa-check-circle text-success"]})]),t._v(" "),e("div",[e("p",{staticClass:"font-weight-bold text-dark my-0"},[t._v("Media Types")]),t._v(" "),e("p",{staticClass:"mb-0 small text-muted"},[t._v("Allowed MIME types. image/jpeg and image/png by default")]),t._v(" "),t.requirements_validator.hasOwnProperty("media_types")?e("p",{staticClass:"mb-0 text-danger font-weight-bold"},[t._v(t._s(t.requirements_validator.media_types[0]))]):t._e()])]),t._v(" "),t.feature_config.optimize_image?e("div",{staticClass:"list-group-item d-flex align-items-center"},[e("div",[e("i",{staticClass:"far fa-2x mr-4",class:[t.requirements_validator.hasOwnProperty("image_quality")?"fa-exclamation-circle text-danger":"fa-check-circle text-success"]})]),t._v(" "),e("div",[e("p",{staticClass:"font-weight-bold text-dark my-0"},[t._v("Image Quality")]),t._v(" "),e("p",{staticClass:"mb-0 small text-muted"},[t._v("Image optimization is enabled, the image quality must be a value between 1-100.")]),t._v(" "),t.requirements_validator.hasOwnProperty("image_quality")?e("p",{staticClass:"mb-0 text-danger font-weight-bold"},[t._v(t._s(t.requirements_validator.image_quality[0]))]):t._e()])]):t._e(),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center"},[e("div",[e("i",{staticClass:"far fa-2x mr-4",class:[t.requirements_validator.hasOwnProperty("max_photo_size")?"fa-exclamation-circle text-danger":"fa-check-circle text-success"]})]),t._v(" "),e("div",[e("p",{staticClass:"font-weight-bold text-dark my-0"},[t._v("Max Photo Size")]),t._v(" "),e("p",{staticClass:"mb-0 small text-muted"},[t._v("Max photo upload size in kb. Must be between 15-100 MB.")]),t._v(" "),t.requirements_validator.hasOwnProperty("max_photo_size")?e("p",{staticClass:"mb-0 text-danger font-weight-bold"},[t._v(t._s(t.requirements_validator.max_photo_size[0]))]):t._e()])]),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center"},[e("div",[e("i",{staticClass:"far fa-2x mr-4",class:[t.requirements_validator.hasOwnProperty("max_caption_length")?"fa-exclamation-circle text-danger":"fa-check-circle text-success"]})]),t._v(" "),e("div",[e("p",{staticClass:"font-weight-bold text-dark my-0"},[t._v("Max Caption Length")]),t._v(" "),e("p",{staticClass:"mb-0 small text-muted"},[t._v("The max caption length limit. Must be between 500-10000.")]),t._v(" "),t.requirements_validator.hasOwnProperty("max_caption_length")?e("p",{staticClass:"mb-0 text-danger font-weight-bold"},[t._v(t._s(t.requirements_validator.max_caption_length[0]))]):t._e()])])])]),t._v(" "),e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"list-group"},[e("div",{staticClass:"list-group-item d-flex align-items-center"},[e("div",[e("i",{staticClass:"far fa-2x mr-4",class:[t.requirements_validator.hasOwnProperty("max_altext_length")?"fa-exclamation-circle text-danger":"fa-check-circle text-success"]})]),t._v(" "),e("div",[e("p",{staticClass:"font-weight-bold text-dark my-0"},[t._v("Max Alt-text length")]),t._v(" "),e("p",{staticClass:"mb-0 small text-muted"},[t._v("The alt-text length limit. Must be between 1000-5000.")]),t._v(" "),t.requirements_validator.hasOwnProperty("max_altext_length")?e("p",{staticClass:"mb-0 text-danger font-weight-bold"},[t._v(t._s(t.requirements_validator.max_altext_length[0]))]):t._e()])]),t._v(" "),t.feature_config.enforce_account_limit?e("div",{staticClass:"list-group-item d-flex align-items-center"},[e("div",[e("i",{staticClass:"far fa-2x mr-4",class:[t.requirements_validator.hasOwnProperty("max_account_size")?"fa-exclamation-circle text-danger":"fa-check-circle text-success"]})]),t._v(" "),e("div",[e("p",{staticClass:"font-weight-bold text-dark my-0"},[t._v("Max Account Size")]),t._v(" "),e("p",{staticClass:"mb-0 small text-muted"},[t._v("The account storage limit. Must be 1GB at minimum.")]),t._v(" "),t.requirements_validator.hasOwnProperty("max_account_size")?e("p",{staticClass:"mb-0 text-danger font-weight-bold"},[t._v(t._s(t.requirements_validator.max_account_size[0]))]):t._e()])]):t._e(),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center"},[e("div",[e("i",{staticClass:"far fa-2x mr-4",class:[t.requirements_validator.hasOwnProperty("max_album_length")?"fa-exclamation-circle text-danger":"fa-check-circle text-success"]})]),t._v(" "),e("div",[e("p",{staticClass:"font-weight-bold text-dark my-0"},[t._v("Max Album Length")]),t._v(" "),e("p",{staticClass:"mb-0 small text-muted"},[t._v("Max photos per album post. Must be between 4-20.")]),t._v(" "),t.requirements_validator.hasOwnProperty("max_album_length")?e("p",{staticClass:"mb-0 text-danger font-weight-bold"},[t._v(t._s(t.requirements_validator.max_album_length[0]))]):t._e()])]),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center"},[e("div",[e("i",{staticClass:"far fa-2x mr-4",class:[t.requirements_validator.hasOwnProperty("account_deletion")?"fa-exclamation-circle text-danger":"fa-check-circle text-success"]})]),t._v(" "),e("div",[e("p",{staticClass:"font-weight-bold text-dark my-0"},[t._v("Account Deletion")]),t._v(" "),e("p",{staticClass:"mb-0 small text-muted"},[t._v("Allow users to delete their own account.")]),t._v(" "),t.requirements_validator.hasOwnProperty("account_deletion")?e("p",{staticClass:"mb-0 text-danger font-weight-bold"},[t._v(t._s(t.requirements_validator.account_deletion[0]))]):t._e()])])])])])]):9===t.tabIndex?e("div",{staticClass:"tab-pane fade show active",attrs:{role:"tabpanel"}},[e("h2",{staticClass:"display-4 mb-0"},[t._v("User Testimonials")]),t._v(" "),e("p",{staticClass:"small text-muted"},[t._v("Add testimonials from your users.")]),t._v(" "),e("hr",{staticClass:"mt-0"}),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6 list-fade-bottom"},[e("div",{staticClass:"list-group pb-5",staticStyle:{"max-height":"520px","overflow-y":"auto"}},t._l(t.testimonials,(function(a,s){return e("div",{staticClass:"list-group-item",class:[s==t.testimonials.length-1?"mb-5":""]},[e("div",{staticClass:"d-flex justify-content-between align-items-center"},[e("div",{staticClass:"media"},[e("img",{staticClass:"mr-3 rounded-circle",attrs:{src:a.profile.avatar,width:"40",h:"40"}}),t._v(" "),e("div",{staticClass:"media-body"},[e("p",{staticClass:"font-weight-bold mb-0"},[t._v("\n "+t._s(a.profile.username)+"\n ")]),t._v(" "),e("p",{staticClass:"small text-muted mt-n1 mb-0"},[t._v("\n Member Since "+t._s(t.formatDate(a.profile.created_at))+"\n ")])])]),t._v(" "),e("div",[e("p",{staticClass:"mb-0 small"},[e("a",{attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.editTestimonial(a)}}},[t._v("\n Edit\n ")])]),t._v(" "),e("p",{staticClass:"mb-0 small"},[e("a",{staticClass:"text-danger",attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.deleteTestimonial(a)}}},[t._v("\n Delete\n ")])])])]),t._v(" "),e("hr",{staticClass:"my-1"}),t._v(" "),e("p",{staticClass:"small font-weight-bold text-muted mb-0 text-center"},[t._v("Testimonial")]),t._v(" "),e("div",{staticClass:"border rounded px-3"},[e("p",{staticClass:"my-2 small",staticStyle:{"white-space":"pre-wrap"},domProps:{innerHTML:t._s(a.body)}})])])})),0)]),t._v(" "),e("div",{staticClass:"col-12 col-md-6"},[t.isEditingTestimonial?e("div",{staticClass:"card"},[e("div",{staticClass:"card-header font-weight-bold"},[t._v("\n Edit Testimonial\n ")]),t._v(" "),e("div",{staticClass:"card-body"},[e("div",{staticClass:"form-group"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Username")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.editingTestimonial.profile.username,expression:"editingTestimonial.profile.username"}],staticClass:"form-control form-control-muted",attrs:{placeholder:"test",disabled:""},domProps:{value:t.editingTestimonial.profile.username},on:{input:function(e){e.target.composing||t.$set(t.editingTestimonial.profile,"username",e.target.value)}}})]),t._v(" "),e("div",{staticClass:"form-group"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Testimonial")]),t._v(" "),e("textarea",{directives:[{name:"model",rawName:"v-model",value:t.editingTestimonial.body,expression:"editingTestimonial.body"}],staticClass:"form-control form-control-muted",attrs:{rows:"5"},domProps:{value:t.editingTestimonial.body},on:{input:function(e){e.target.composing||t.$set(t.editingTestimonial,"body",e.target.value)}}}),t._v(" "),e("div",{staticClass:"d-flex justify-content-between"},[e("p",{staticClass:"help-text small text-muted mb-0"},[t._v("\n Text only, up to 500 characters\n ")]),t._v(" "),e("p",{staticClass:"help-text small text-muted mb-0"},[t._v("\n "+t._s(t.editingTestimonial.body?t.editingTestimonial.body.length:0)+"/500\n ")])])])]),t._v(" "),e("div",{staticClass:"card-footer"},[e("button",{staticClass:"btn btn-primary btn-block",attrs:{type:"button"},on:{click:t.saveEditTestimonial}},[t._v("\n Save\n ")]),t._v(" "),e("button",{staticClass:"btn btn-secondary btn-block",attrs:{type:"button"},on:{click:t.cancelEditTestimonial}},[t._v("\n Cancel\n ")])])]):e("div",{staticClass:"card"},[t.testimonials.length<10?[e("div",{staticClass:"card-header font-weight-bold"},[t._v("\n Add New Testimonial\n ")]),t._v(" "),e("div",{staticClass:"card-body"},[e("div",{staticClass:"form-group"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Username")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.testimonial.username,expression:"testimonial.username"}],staticClass:"form-control form-control-muted",attrs:{placeholder:"test"},domProps:{value:t.testimonial.username},on:{input:function(e){e.target.composing||t.$set(t.testimonial,"username",e.target.value)}}}),t._v(" "),e("p",{staticClass:"help-text small text-muted"},[t._v("\n Must be a valid user account\n ")])]),t._v(" "),e("div",{staticClass:"form-group"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Testimonial")]),t._v(" "),e("textarea",{directives:[{name:"model",rawName:"v-model",value:t.testimonial.body,expression:"testimonial.body"}],staticClass:"form-control form-control-muted",attrs:{rows:"5"},domProps:{value:t.testimonial.body},on:{input:function(e){e.target.composing||t.$set(t.testimonial,"body",e.target.value)}}}),t._v(" "),e("div",{staticClass:"d-flex justify-content-between"},[e("p",{staticClass:"help-text small text-muted mb-0"},[t._v("\n Text only, up to 500 characters\n ")]),t._v(" "),e("p",{staticClass:"help-text small text-muted mb-0"},[t._v("\n "+t._s(t.testimonial.body?t.testimonial.body.length:0)+"/500\n ")])])])]),t._v(" "),e("div",{staticClass:"card-footer"},[e("button",{staticClass:"btn btn-primary btn-block",attrs:{type:"button"},on:{click:t.saveTestimonial}},[t._v("Save Testimonial")])])]:[t._m(18)]],2)])])]):t._e()])])])])])])]):e("div",[t._m(19)])},i=[function(){var t=this,e=t._self._c;return e("div",{staticClass:"col-lg-6 col-7"},[e("p",{staticClass:"display-1 text-white d-inline-block mb-0"},[t._v("Directory")]),t._v(" "),e("p",{staticClass:"h3 text-white font-weight-light"},[t._v("Manage your server listing on pixelfed.org")])])},function(){var t=this._self._c;return t("p",[t("i",{staticClass:"far fa-exclamation-triangle fa-5x text-lighter"})])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card card-body shadow-none border d-flex align-items-center justify-content-center py-5"},[e("p",{staticClass:"display-3 mb-1"},[t._v("Awaiting Approval")]),t._v(" "),e("p",{staticClass:"text-primary mb-1"},[t._v("Awaiting submission approval from pixelfed.org, please check back later!")]),t._v(" "),e("p",{staticClass:"small text-muted mb-0"},[t._v("If you are still waiting for approval after 24 hours please contact the Pixelfed team.")])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card card-body shadow-none border d-flex align-items-center justify-content-center py-5"},[e("p",{staticClass:"display-3 mb-1"},[t._v("Awaiting Update Approval")]),t._v(" "),e("p",{staticClass:"text-primary mb-1"},[t._v("Awaiting updated submission approval from pixelfed.org, please check back later!")]),t._v(" "),e("p",{staticClass:"small text-muted mb-0"},[t._v("If you are still waiting for approval after 24 hours please contact the Pixelfed team.")])])},function(){var t=this._self._c;return t("p",{staticClass:"my-3"},[t("i",{staticClass:"far fa-check-circle fa-4x text-success"})])},function(){var t=this,e=t._self._c;return e("p",{staticClass:"mt-2 mb-0"},[t._v("Your server directory listing on "),e("a",{staticClass:"font-weight-bold",attrs:{href:"#"}},[t._v("pixelfed.org")]),t._v(" is active")])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card card-body shadow-none border d-flex align-items-center justify-content-center py-5"},[e("p",{staticClass:"display-3 mb-1"},[t._v("Oops! An unexpected error occured")]),t._v(" "),e("p",{staticClass:"text-primary mb-1"},[t._v("Ask the Pixelfed team for assistance.")])])},function(){var t=this._self._c;return t("p",{staticClass:"text-center mb-2"},[t("i",{staticClass:"far fa-exclamation-circle fa-2x"})])},function(){var t=this,e=t._self._c;return e("p",{staticClass:"form-text text-muted small mb-0"},[t._v("Must be a "),e("kbd",[t._v("JPEG")]),t._v(" or "),e("kbd",[t._v("PNG")]),t._v(" image no larger than 5MB.")])},function(){var t=this,e=t._self._c;return e("p",{staticClass:"form-text text-muted small mb-0"},[t._v("The primary language of your server, to edit this value you need to set the "),e("kbd",[t._v("APP_LOCALE")]),t._v(" .env value")])},function(){var t=this,e=t._self._c;return e("ul",{staticClass:"text-danger"},[e("li",[t._v("Admins must be active")]),t._v(" "),e("li",[t._v("Admins must have 2FA setup and enabled")])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card card-body bg-lighter text-center py-5"},[e("p",{staticClass:"text-light mb-1"},[e("i",{staticClass:"far fa-info-circle fa-3x"})]),t._v(" "),e("p",{staticClass:"h2 mb-0"},[t._v("0 posts selected")]),t._v(" "),e("p",{staticClass:"small mb-0"},[t._v("You can select up to 12 favourite posts by id or popularity")])])},function(){var t=this._self._c;return t("div",{staticClass:"spinner-border spinner-border-sm",attrs:{role:"status"}},[t("span",{staticClass:"sr-only"},[this._v("Loading...")])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card card-body bg-primary"},[e("div",{staticClass:"d-flex align-items-center text-white"},[e("i",{staticClass:"far fa-info-circle mr-2"}),t._v(" "),e("p",{staticClass:"small mb-0 font-weight-bold"},[t._v("A post id is the numerical id found in post urls")])])])])},function(){var t=this._self._c;return t("div",{staticClass:"spinner-border text-primary",attrs:{role:"status"}},[t("span",{staticClass:"sr-only"},[this._v("Loading...")])])},function(){var t=this,e=t._self._c;return e("ul",{staticClass:"font-weight-bold"},[e("li",[t._v("No analytics or 3rd party trackers*")]),t._v(" "),e("li",[t._v("User data is not sold to any 3rd parties")]),t._v(" "),e("li",[t._v("Data is stored securely in accordance with industry standards")]),t._v(" "),e("li",[t._v("Admin accounts are protected with 2FA")]),t._v(" "),e("li",[t._v("Follow strict support procedures to keep your accounts safe")]),t._v(" "),e("li",[t._v("Give at least 6 months warning in the event we shut down")])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card-body text-center py-5"},[e("p",{staticClass:"mb-n3"},[e("i",{staticClass:"far fa-exclamation-circle fa-3x"})]),t._v(" "),e("p",{staticClass:"lead mb-0"},[t._v("No Community Guidelines have been set")])])},function(){var t=this,e=t._self._c;return e("p",{staticClass:"mb-0"},[t._v("You can manage Community Guidelines on the "),e("a",{attrs:{href:"/i/admin/settings"}},[t._v("Settings page")])])},function(){var t=this._self._c;return t("div",{staticClass:"card-body text-center"},[t("p",{staticClass:"lead"},[this._v("You can't add any more testimonials")])])},function(){var t=this._self._c;return t("div",{staticClass:"container my-5 py-5 text-center"},[t("div",{staticClass:"spinner-border text-primary",attrs:{role:"status"}},[t("span",{staticClass:"sr-only"},[this._v("Loading...")])])])}]},4448:(t,e,a)=>{"use strict";a.r(e),a.d(e,{render:()=>s,staticRenderFns:()=>i});var s=function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"header bg-primary pb-3 mt-n4"},[e("div",{staticClass:"container-fluid"},[e("div",{staticClass:"header-body"},[t._m(0),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-xl-2 col-md-6"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("Unique Hashtags")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[t._v(t._s(t.prettyCount(t.stats.total_unique)))])])]),t._v(" "),e("div",{staticClass:"col-xl-2 col-md-6"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("Total Hashtags")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[t._v(t._s(t.prettyCount(t.stats.total_posts)))])])]),t._v(" "),e("div",{staticClass:"col-xl-2 col-md-6"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("New (past 14 days)")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[t._v(t._s(t.prettyCount(t.stats.added_14_days)))])])]),t._v(" "),e("div",{staticClass:"col-xl-2 col-md-6"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("Banned Hashtags")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[t._v(t._s(t.prettyCount(t.stats.total_banned)))])])]),t._v(" "),e("div",{staticClass:"col-xl-2 col-md-6"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("NSFW Hashtags")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[t._v(t._s(t.prettyCount(t.stats.total_nsfw)))])])]),t._v(" "),e("div",{staticClass:"col-xl-2 col-md-6"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("Clear Trending Cache")]),t._v(" "),e("button",{staticClass:"btn btn-outline-white btn-block btn-sm py-0 mt-1",on:{click:t.clearTrendingCache}},[t._v("Clear Cache")])])])])])])]),t._v(" "),t.loaded?e("div",{staticClass:"m-n2 m-lg-4"},[e("div",{staticClass:"container-fluid mt-4"},[e("div",{staticClass:"row mb-3 justify-content-between"},[e("div",{staticClass:"col-12 col-md-8"},[e("ul",{staticClass:"nav nav-pills"},[e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:0==t.tabIndex}],on:{click:function(e){return t.toggleTab(0)}}},[t._v("All")])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:1==t.tabIndex}],on:{click:function(e){return t.toggleTab(1)}}},[t._v("Trending")])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:2==t.tabIndex}],on:{click:function(e){return t.toggleTab(2)}}},[t._v("Banned")])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:3==t.tabIndex}],on:{click:function(e){return t.toggleTab(3)}}},[t._v("NSFW")])])])]),t._v(" "),e("div",{staticClass:"col-12 col-md-4"},[e("autocomplete",{ref:"autocomplete",attrs:{search:t.composeSearch,disabled:t.searchLoading,placeholder:"Search hashtags","aria-label":"Search hashtags","get-result-value":t.getTagResultValue},on:{submit:t.onSearchResultClick},scopedSlots:t._u([{key:"result",fn:function(a){var s=a.result,i=a.props;return[e("li",t._b({staticClass:"autocomplete-result d-flex justify-content-between align-items-center"},"li",i,!1),[e("div",{staticClass:"font-weight-bold",class:{"text-danger":s.is_banned}},[t._v("\n #"+t._s(s.name)+"\n ")]),t._v(" "),e("div",{staticClass:"small text-muted"},[t._v("\n "+t._s(t.prettyCount(s.cached_count))+" posts\n ")])])]}}])})],1)]),t._v(" "),[0,2,3].includes(this.tabIndex)?e("div",{staticClass:"table-responsive"},[e("table",{staticClass:"table table-dark"},[e("thead",{staticClass:"thead-dark"},[e("tr",[e("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:t._s(t.buildColumn("ID","id"))},on:{click:function(e){return t.toggleCol("id")}}}),t._v(" "),e("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:t._s(t.buildColumn("Hashtag","name"))},on:{click:function(e){return t.toggleCol("name")}}}),t._v(" "),e("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:t._s(t.buildColumn("Count","cached_count"))},on:{click:function(e){return t.toggleCol("cached_count")}}}),t._v(" "),e("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:t._s(t.buildColumn("Can Search","can_search"))},on:{click:function(e){return t.toggleCol("can_search")}}}),t._v(" "),e("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:t._s(t.buildColumn("Can Trend","can_trend"))},on:{click:function(e){return t.toggleCol("can_trend")}}}),t._v(" "),e("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:t._s(t.buildColumn("NSFW","is_nsfw"))},on:{click:function(e){return t.toggleCol("is_nsfw")}}}),t._v(" "),e("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:t._s(t.buildColumn("Banned","is_banned"))},on:{click:function(e){return t.toggleCol("is_banned")}}}),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Created")])])]),t._v(" "),e("tbody",t._l(t.hashtags,(function(a,s){var i;return e("tr",[e("td",{staticClass:"font-weight-bold text-monospace text-muted"},[e("a",{attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.openEditHashtagModal(a,s)}}},[t._v("\n "+t._s(a.id)+"\n ")])]),t._v(" "),e("td",{staticClass:"font-weight-bold"},[t._v(t._s(a.name))]),t._v(" "),e("td",{staticClass:"font-weight-bold"},[e("a",{attrs:{href:"/i/web/hashtag/".concat(a.slug)}},[t._v("\n "+t._s(null!==(i=a.cached_count)&&void 0!==i?i:0)+"\n ")])]),t._v(" "),e("td",{staticClass:"font-weight-bold",domProps:{innerHTML:t._s(t.boolIcon(a.can_search,"text-success","text-danger"))}}),t._v(" "),e("td",{staticClass:"font-weight-bold",domProps:{innerHTML:t._s(t.boolIcon(a.can_trend,"text-success","text-danger"))}}),t._v(" "),e("td",{staticClass:"font-weight-bold",domProps:{innerHTML:t._s(t.boolIcon(a.is_nsfw,"text-danger"))}}),t._v(" "),e("td",{staticClass:"font-weight-bold",domProps:{innerHTML:t._s(t.boolIcon(a.is_banned,"text-danger"))}}),t._v(" "),e("td",{staticClass:"font-weight-bold"},[t._v(t._s(t.timeAgo(a.created_at)))])])})),0)])]):t._e(),t._v(" "),[0,2,3].includes(this.tabIndex)?e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.pagination.prev},on:{click:function(e){return t.paginate("prev")}}},[t._v("\n Prev\n ")]),t._v(" "),e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.pagination.next},on:{click:function(e){return t.paginate("next")}}},[t._v("\n Next\n ")])]):t._e(),t._v(" "),1==this.tabIndex?e("div",{staticClass:"table-responsive"},[e("table",{staticClass:"table table-dark"},[t._m(1),t._v(" "),e("tbody",t._l(t.trendingTags,(function(a,s){var i;return e("tr",[e("td",{staticClass:"font-weight-bold text-monospace text-muted"},[e("a",{attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.openEditHashtagModal(a,s)}}},[t._v("\n "+t._s(a.id)+"\n ")])]),t._v(" "),e("td",{staticClass:"font-weight-bold"},[t._v(t._s(a.hashtag))]),t._v(" "),e("td",{staticClass:"font-weight-bold"},[e("a",{attrs:{href:"/i/web/hashtag/".concat(a.hashtag)}},[t._v("\n "+t._s(null!==(i=a.total)&&void 0!==i?i:0)+"\n ")])])])})),0)])]):t._e()])]):e("div",{staticClass:"my-5 text-center"},[e("b-spinner")],1),t._v(" "),e("b-modal",{attrs:{title:"Edit Hashtag","ok-only":!0,lazy:!0,static:!0},model:{value:t.showEditModal,callback:function(e){t.showEditModal=e},expression:"showEditModal"}},[t.editingHashtag&&t.editingHashtag.name?e("div",{staticClass:"list-group"},[e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[e("div",{staticClass:"text-muted small"},[t._v("Name")]),t._v(" "),e("div",{staticClass:"font-weight-bold"},[t._v(t._s(t.editingHashtag.name))])]),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[e("div",{staticClass:"text-muted small"},[t._v("Total Uses")]),t._v(" "),e("div",{staticClass:"font-weight-bold"},[t._v(t._s(t.editingHashtag.cached_count.toLocaleString("en-CA",{compactDisplay:"short"})))])]),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[e("div",{staticClass:"text-muted small"},[t._v("Can Trend")]),t._v(" "),e("div",{staticClass:"mr-n2 mb-1"},[e("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:t.editingHashtag.can_trend,callback:function(e){t.$set(t.editingHashtag,"can_trend",e)},expression:"editingHashtag.can_trend"}})],1)]),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[e("div",{staticClass:"text-muted small"},[t._v("Can Search")]),t._v(" "),e("div",{staticClass:"mr-n2 mb-1"},[e("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:t.editingHashtag.can_search,callback:function(e){t.$set(t.editingHashtag,"can_search",e)},expression:"editingHashtag.can_search"}})],1)]),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[e("div",{staticClass:"text-muted small"},[t._v("Banned")]),t._v(" "),e("div",{staticClass:"mr-n2 mb-1"},[e("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:t.editingHashtag.is_banned,callback:function(e){t.$set(t.editingHashtag,"is_banned",e)},expression:"editingHashtag.is_banned"}})],1)]),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[e("div",{staticClass:"text-muted small"},[t._v("NSFW")]),t._v(" "),e("div",{staticClass:"mr-n2 mb-1"},[e("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:t.editingHashtag.is_nsfw,callback:function(e){t.$set(t.editingHashtag,"is_nsfw",e)},expression:"editingHashtag.is_nsfw"}})],1)])]):t._e(),t._v(" "),e("transition",{attrs:{name:"fade"}},[t.editingHashtag&&t.editingHashtag.name&&t.editSaved?e("div",[e("p",{staticClass:"text-primary small font-weight-bold text-center mt-1 mb-0"},[t._v("Hashtag changes successfully saved!")])]):t._e()])],1)],1)},i=[function(){var t=this._self._c;return t("div",{staticClass:"row align-items-center py-4"},[t("div",{staticClass:"col-lg-6 col-7"},[t("p",{staticClass:"display-1 text-white d-inline-block mb-0"},[this._v("Hashtags")])])])},function(){var t=this,e=t._self._c;return e("thead",{staticClass:"thead-dark"},[e("tr",[e("th",{attrs:{scope:"col"}},[t._v("ID")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Hashtag")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Trending Count")])])])}]},38197:(t,e,a)=>{"use strict";a.r(e),a.d(e,{render:()=>s,staticRenderFns:()=>i});var s=function(){var t,e,a,s=this,i=s._self._c;return i("div",[i("div",{staticClass:"header bg-primary pb-3 mt-n4"},[i("div",{staticClass:"container-fluid"},[i("div",{staticClass:"header-body"},[s._m(0),s._v(" "),i("div",{staticClass:"row"},[i("div",{staticClass:"col-xl-2 col-md-6"},[i("div",{staticClass:"mb-3"},[i("h5",{staticClass:"text-light text-uppercase mb-0"},[s._v("Total Instances")]),s._v(" "),i("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[s._v(s._s(s.prettyCount(s.stats.total_count)))])])]),s._v(" "),i("div",{staticClass:"col-xl-2 col-md-6"},[i("div",{staticClass:"mb-3"},[i("h5",{staticClass:"text-light text-uppercase mb-0"},[s._v("New (past 14 days)")]),s._v(" "),i("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[s._v(s._s(s.prettyCount(s.stats.new_count)))])])]),s._v(" "),i("div",{staticClass:"col-xl-2 col-md-6"},[i("div",{staticClass:"mb-3"},[i("h5",{staticClass:"text-light text-uppercase mb-0"},[s._v("Banned Instances")]),s._v(" "),i("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[s._v(s._s(s.prettyCount(s.stats.banned_count)))])])]),s._v(" "),i("div",{staticClass:"col-xl-2 col-md-6"},[i("div",{staticClass:"mb-3"},[i("h5",{staticClass:"text-light text-uppercase mb-0"},[s._v("NSFW Instances")]),s._v(" "),i("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[s._v(s._s(s.prettyCount(s.stats.nsfw_count)))])])]),s._v(" "),i("div",{staticClass:"col-xl-2 col-md-6"},[i("div",{staticClass:"mb-3"},[i("button",{staticClass:"btn btn-outline-white btn-block btn-sm mt-1",on:{click:function(t){t.preventDefault(),s.showAddModal=!0}}},[s._v("Create New Instance")]),s._v(" "),s.showImportForm?i("div",[i("div",{staticClass:"form-group mt-3"},[i("div",{staticClass:"custom-file"},[i("input",{ref:"importInput",staticClass:"custom-file-input",attrs:{type:"file",id:"customFile"},on:{change:s.onImportUpload}}),s._v(" "),i("label",{staticClass:"custom-file-label",attrs:{for:"customFile"}},[s._v("Choose file")])])]),s._v(" "),i("p",{staticClass:"mb-0 mt-n3"},[i("a",{staticClass:"text-white font-weight-bold small",attrs:{href:"#"},on:{click:function(t){t.preventDefault(),s.showImportForm=!1}}},[s._v("Cancel")])])]):i("div",{staticClass:"d-flex mt-1"},[i("button",{staticClass:"btn btn-outline-white btn-sm mt-1",on:{click:s.openImportForm}},[s._v("Import")]),s._v(" "),i("button",{staticClass:"btn btn-outline-white btn-block btn-sm mt-1",on:{click:function(t){return s.downloadBackup()}}},[s._v("Download Backup")])])])])])])])]),s._v(" "),s.loaded?i("div",{staticClass:"m-n2 m-lg-4"},[i("div",{staticClass:"container-fluid mt-4"},[i("div",{staticClass:"row mb-3 justify-content-between"},[i("div",{staticClass:"col-12 col-md-8"},[i("ul",{staticClass:"nav nav-pills"},[i("li",{staticClass:"nav-item"},[i("button",{class:["nav-link",{active:0==s.tabIndex}],on:{click:function(t){return s.toggleTab(0)}}},[s._v("All")])]),s._v(" "),i("li",{staticClass:"nav-item"},[i("button",{class:["nav-link",{active:1==s.tabIndex}],on:{click:function(t){return s.toggleTab(1)}}},[s._v("New")])]),s._v(" "),i("li",{staticClass:"nav-item"},[i("button",{class:["nav-link",{active:2==s.tabIndex}],on:{click:function(t){return s.toggleTab(2)}}},[s._v("Banned")])]),s._v(" "),i("li",{staticClass:"nav-item"},[i("button",{class:["nav-link",{active:3==s.tabIndex}],on:{click:function(t){return s.toggleTab(3)}}},[s._v("NSFW")])]),s._v(" "),i("li",{staticClass:"nav-item"},[i("button",{class:["nav-link",{active:4==s.tabIndex}],on:{click:function(t){return s.toggleTab(4)}}},[s._v("Unlisted")])]),s._v(" "),i("li",{staticClass:"nav-item"},[i("button",{class:["nav-link",{active:5==s.tabIndex}],on:{click:function(t){return s.toggleTab(5)}}},[s._v("Most Users")])]),s._v(" "),i("li",{staticClass:"nav-item"},[i("button",{class:["nav-link",{active:6==s.tabIndex}],on:{click:function(t){return s.toggleTab(6)}}},[s._v("Most Statuses")])])])]),s._v(" "),i("div",{staticClass:"col-12 col-md-4"},[i("autocomplete",{ref:"autocomplete",attrs:{search:s.composeSearch,disabled:s.searchLoading,defaultValue:s.searchQuery,placeholder:"Search instances by domain","aria-label":"Search instances by domain","get-result-value":s.getTagResultValue},on:{submit:s.onSearchResultClick},scopedSlots:s._u([{key:"result",fn:function(t){var e=t.result,a=t.props;return[i("li",s._b({staticClass:"autocomplete-result d-flex justify-content-between align-items-center"},"li",a,!1),[i("div",{staticClass:"font-weight-bold",class:{"text-danger":e.banned}},[s._v("\n\t\t\t\t\t\t\t\t\t"+s._s(e.domain)+"\n\t\t\t\t\t\t\t\t")]),s._v(" "),i("div",{staticClass:"small text-muted"},[s._v("\n\t\t\t\t\t\t\t\t\t"+s._s(s.prettyCount(e.user_count))+" users\n\t\t\t\t\t\t\t\t")])])]}}])})],1)]),s._v(" "),i("div",{staticClass:"table-responsive"},[i("table",{staticClass:"table table-dark"},[i("thead",{staticClass:"thead-dark"},[i("tr",[i("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:s._s(s.buildColumn("ID","id"))},on:{click:function(t){return s.toggleCol("id")}}}),s._v(" "),i("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:s._s(s.buildColumn("Domain","domain"))},on:{click:function(t){return s.toggleCol("domain")}}}),s._v(" "),i("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:s._s(s.buildColumn("Software","software"))},on:{click:function(t){return s.toggleCol("software")}}}),s._v(" "),i("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:s._s(s.buildColumn("User Count","user_count"))},on:{click:function(t){return s.toggleCol("user_count")}}}),s._v(" "),i("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:s._s(s.buildColumn("Status Count","status_count"))},on:{click:function(t){return s.toggleCol("status_count")}}}),s._v(" "),i("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:s._s(s.buildColumn("Banned","banned"))},on:{click:function(t){return s.toggleCol("banned")}}}),s._v(" "),i("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:s._s(s.buildColumn("NSFW","auto_cw"))},on:{click:function(t){return s.toggleCol("auto_cw")}}}),s._v(" "),i("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:s._s(s.buildColumn("Unlisted","unlisted"))},on:{click:function(t){return s.toggleCol("unlisted")}}}),s._v(" "),i("th",{attrs:{scope:"col"}},[s._v("Created")])])]),s._v(" "),i("tbody",s._l(s.instances,(function(t,e){return i("tr",[i("td",{staticClass:"font-weight-bold text-monospace text-muted"},[i("a",{attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),s.openInstanceModal(t.id)}}},[s._v("\n\t\t\t\t\t\t\t\t\t"+s._s(t.id)+"\n\t\t\t\t\t\t\t\t")])]),s._v(" "),i("td",{staticClass:"font-weight-bold"},[s._v(s._s(t.domain))]),s._v(" "),i("td",{staticClass:"font-weight-bold"},[s._v(s._s(t.software))]),s._v(" "),i("td",{staticClass:"font-weight-bold"},[s._v(s._s(s.prettyCount(t.user_count)))]),s._v(" "),i("td",{staticClass:"font-weight-bold"},[s._v(s._s(s.prettyCount(t.status_count)))]),s._v(" "),i("td",{staticClass:"font-weight-bold",domProps:{innerHTML:s._s(s.boolIcon(t.banned,"text-danger"))}}),s._v(" "),i("td",{staticClass:"font-weight-bold",domProps:{innerHTML:s._s(s.boolIcon(t.auto_cw,"text-danger"))}}),s._v(" "),i("td",{staticClass:"font-weight-bold",domProps:{innerHTML:s._s(s.boolIcon(t.unlisted,"text-danger"))}}),s._v(" "),i("td",{staticClass:"font-weight-bold"},[s._v(s._s(s.timeAgo(t.created_at)))])])})),0)])]),s._v(" "),i("div",{staticClass:"d-flex align-items-center justify-content-center"},[i("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!s.pagination.prev},on:{click:function(t){return s.paginate("prev")}}},[s._v("\n\t\t\t\t\tPrev\n\t\t\t\t")]),s._v(" "),i("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!s.pagination.next},on:{click:function(t){return s.paginate("next")}}},[s._v("\n\t\t\t\t\tNext\n\t\t\t\t")])])])]):i("div",{staticClass:"my-5 text-center"},[i("b-spinner")],1),s._v(" "),i("b-modal",{attrs:{title:"View Instance","header-class":"d-flex align-items-center justify-content-center mb-0 pb-0","ok-title":"Save","ok-disabled":!s.editingInstanceChanges},on:{ok:s.saveInstanceModalChanges},scopedSlots:s._u([{key:"modal-footer",fn:function(){return[i("div",{staticClass:"w-100 d-flex justify-content-between align-items-center"},[i("div",[i("b-button",{attrs:{variant:"outline-danger",size:"sm"},on:{click:s.deleteInstanceModal}},[s._v("\n\t\t\t\t\tDelete\n\t\t\t\t")]),s._v(" "),s.refreshedModalStats?s._e():i("b-button",{attrs:{variant:"outline-primary",size:"sm"},on:{click:s.refreshModalStats}},[s._v("\n\t\t\t\t\tRefresh Stats\n\t\t\t\t")])],1),s._v(" "),i("div",[i("b-button",{attrs:{variant:"link-dark",size:"sm"},on:{click:s.onViewMoreInstance}},[s._v("\n\t\t\t\tView More\n\t\t\t ")]),s._v(" "),i("b-button",{attrs:{variant:"primary"},on:{click:s.saveInstanceModalChanges}},[s._v("\n\t\t\t\tSave\n\t\t\t ")])],1)])]},proxy:!0}]),model:{value:s.showInstanceModal,callback:function(t){s.showInstanceModal=t},expression:"showInstanceModal"}},[s.editingInstance&&s.canEditInstance?i("div",{staticClass:"list-group"},[i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Domain")]),s._v(" "),i("div",{staticClass:"font-weight-bold"},[s._v(s._s(s.editingInstance.domain))])]),s._v(" "),i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[s.editingInstance.software?i("div",[i("div",{staticClass:"text-muted small"},[s._v("Software")]),s._v(" "),i("div",{staticClass:"font-weight-bold"},[s._v(s._s(null!==(t=s.editingInstance.software)&&void 0!==t?t:"Unknown"))])]):s._e(),s._v(" "),i("div",[i("div",{staticClass:"text-muted small"},[s._v("Total Users")]),s._v(" "),i("div",{staticClass:"font-weight-bold"},[s._v(s._s(s.formatCount(null!==(e=s.editingInstance.user_count)&&void 0!==e?e:0)))])]),s._v(" "),i("div",[i("div",{staticClass:"text-muted small"},[s._v("Total Statuses")]),s._v(" "),i("div",{staticClass:"font-weight-bold"},[s._v(s._s(s.formatCount(null!==(a=s.editingInstance.status_count)&&void 0!==a?a:0)))])])]),s._v(" "),i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Banned")]),s._v(" "),i("div",{staticClass:"mr-n2 mb-1"},[i("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:s.editingInstance.banned,callback:function(t){s.$set(s.editingInstance,"banned",t)},expression:"editingInstance.banned"}})],1)]),s._v(" "),i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Apply CW to Media")]),s._v(" "),i("div",{staticClass:"mr-n2 mb-1"},[i("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:s.editingInstance.auto_cw,callback:function(t){s.$set(s.editingInstance,"auto_cw",t)},expression:"editingInstance.auto_cw"}})],1)]),s._v(" "),i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Unlisted")]),s._v(" "),i("div",{staticClass:"mr-n2 mb-1"},[i("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:s.editingInstance.unlisted,callback:function(t){s.$set(s.editingInstance,"unlisted",t)},expression:"editingInstance.unlisted"}})],1)]),s._v(" "),i("div",{staticClass:"list-group-item d-flex justify-content-between",class:[s.instanceModalNotes?"flex-column gap-2":"align-items-center"]},[i("div",{staticClass:"text-muted small"},[s._v("Notes")]),s._v(" "),i("transition",{attrs:{name:"fade"}},[s.instanceModalNotes?i("div",{staticClass:"w-100"},[i("b-form-textarea",{attrs:{rows:"3","max-rows":"5",maxlength:"500"},model:{value:s.editingInstance.notes,callback:function(t){s.$set(s.editingInstance,"notes",t)},expression:"editingInstance.notes"}}),s._v(" "),i("p",{staticClass:"small text-muted"},[s._v(s._s(s.editingInstance.notes?s.editingInstance.notes.length:0)+"/500")])],1):i("div",{staticClass:"mb-1"},[i("a",{staticClass:"font-weight-bold small",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),s.showModalNotes()}}},[s._v(s._s(s.editingInstance.notes?"View":"Add"))])])])],1)]):s._e()]),s._v(" "),i("b-modal",{attrs:{title:"Add Instance","ok-title":"Save","ok-disabled":s.addNewInstance.domain.length<2},on:{ok:s.saveNewInstance},model:{value:s.showAddModal,callback:function(t){s.showAddModal=t},expression:"showAddModal"}},[i("div",{staticClass:"list-group"},[i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Domain")]),s._v(" "),i("div",[i("b-form-input",{attrs:{placeholder:"Add domain here"},model:{value:s.addNewInstance.domain,callback:function(t){s.$set(s.addNewInstance,"domain",t)},expression:"addNewInstance.domain"}}),s._v(" "),i("p",{staticClass:"small text-light mb-0"},[s._v("Enter a valid domain without https://")])],1)]),s._v(" "),i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Banned")]),s._v(" "),i("div",{staticClass:"mr-n2 mb-1"},[i("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:s.addNewInstance.banned,callback:function(t){s.$set(s.addNewInstance,"banned",t)},expression:"addNewInstance.banned"}})],1)]),s._v(" "),i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Apply CW to Media")]),s._v(" "),i("div",{staticClass:"mr-n2 mb-1"},[i("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:s.addNewInstance.auto_cw,callback:function(t){s.$set(s.addNewInstance,"auto_cw",t)},expression:"addNewInstance.auto_cw"}})],1)]),s._v(" "),i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Unlisted")]),s._v(" "),i("div",{staticClass:"mr-n2 mb-1"},[i("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:s.addNewInstance.unlisted,callback:function(t){s.$set(s.addNewInstance,"unlisted",t)},expression:"addNewInstance.unlisted"}})],1)]),s._v(" "),i("div",{staticClass:"list-group-item d-flex flex-column gap-2 justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Notes")]),s._v(" "),i("div",{staticClass:"w-100"},[i("b-form-textarea",{attrs:{rows:"3","max-rows":"5",maxlength:"500",placeholder:"Add optional notes here"},model:{value:s.addNewInstance.notes,callback:function(t){s.$set(s.addNewInstance,"notes",t)},expression:"addNewInstance.notes"}}),s._v(" "),i("p",{staticClass:"small text-muted"},[s._v(s._s(s.addNewInstance.notes?s.addNewInstance.notes.length:0)+"/500")])],1)])])]),s._v(" "),i("b-modal",{attrs:{title:"Import Instance Backup","ok-title":"Import",scrollable:"","ok-disabled":!s.importData||!s.importData.banned.length&&!s.importData.unlisted.length&&!s.importData.auto_cw.length},on:{ok:s.completeImport,cancel:s.cancelImport},model:{value:s.showImportModal,callback:function(t){s.showImportModal=t},expression:"showImportModal"}},[s.showImportModal&&s.importData?i("div",[s.importData.auto_cw&&s.importData.auto_cw.length?i("div",{staticClass:"mb-5"},[i("p",{staticClass:"font-weight-bold text-center my-0"},[s._v("NSFW Instances ("+s._s(s.importData.auto_cw.length)+")")]),s._v(" "),i("p",{staticClass:"small text-center text-muted mb-1"},[s._v("Tap on an instance to remove it.")]),s._v(" "),i("div",{staticClass:"list-group"},s._l(s.importData.auto_cw,(function(t,e){return i("a",{staticClass:"list-group-item d-flex align-items-center justify-content-between",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),s.filterImportData("auto_cw",e)}}},[s._v("\n\t\t\t\t\t\t"+s._s(t)+"\n\n\t\t\t\t\t\t"),i("span",{staticClass:"badge badge-warning"},[s._v("Auto CW")])])})),0)]):s._e(),s._v(" "),s.importData.unlisted&&s.importData.unlisted.length?i("div",{staticClass:"mb-5"},[i("p",{staticClass:"font-weight-bold text-center my-0"},[s._v("Unlisted Instances ("+s._s(s.importData.unlisted.length)+")")]),s._v(" "),i("p",{staticClass:"small text-center text-muted mb-1"},[s._v("Tap on an instance to remove it.")]),s._v(" "),i("div",{staticClass:"list-group"},s._l(s.importData.unlisted,(function(t,e){return i("a",{staticClass:"list-group-item d-flex align-items-center justify-content-between",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),s.filterImportData("unlisted",e)}}},[s._v("\n\t\t\t\t\t\t"+s._s(t)+"\n\n\t\t\t\t\t\t"),i("span",{staticClass:"badge badge-primary"},[s._v("Unlisted")])])})),0)]):s._e(),s._v(" "),s.importData.banned&&s.importData.banned.length?i("div",{staticClass:"mb-5"},[i("p",{staticClass:"font-weight-bold text-center my-0"},[s._v("Banned Instances ("+s._s(s.importData.banned.length)+")")]),s._v(" "),i("p",{staticClass:"small text-center text-muted mb-1"},[s._v("Review instances, tap on an instance to remove it.")]),s._v(" "),i("div",{staticClass:"list-group"},s._l(s.importData.banned,(function(t,e){return i("a",{staticClass:"list-group-item d-flex align-items-center justify-content-between",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),s.filterImportData("banned",e)}}},[s._v("\n\t\t\t\t\t\t"+s._s(t)+"\n\n\t\t\t\t\t\t"),i("span",{staticClass:"badge badge-danger"},[s._v("Banned")])])})),0)]):s._e(),s._v(" "),s.importData.banned.length||s.importData.unlisted.length||s.importData.auto_cw.length?s._e():i("div",[i("div",{staticClass:"text-center"},[i("p",[i("i",{staticClass:"far fa-check-circle fa-4x text-success"})]),s._v(" "),i("p",{staticClass:"lead"},[s._v("Nothing to import!")])])])]):s._e()])],1)},i=[function(){var t=this._self._c;return t("div",{staticClass:"row align-items-center py-4"},[t("div",{staticClass:"col-lg-6 col-7"},[t("p",{staticClass:"display-1 text-white d-inline-block mb-0"},[this._v("Instances")])])])}]},90823:(t,e,a)=>{"use strict";a.r(e),a.d(e,{render:()=>s,staticRenderFns:()=>i});var s=function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"header bg-primary pb-3 mt-n4"},[e("div",{staticClass:"container-fluid"},[e("div",{staticClass:"header-body"},[t._m(0),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-sm-6 col-lg-3"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("Active Reports")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size",attrs:{"data-toggle":"tooltip","data-placement":"bottom",title:t.stats.open+" open reports"}},[t._v("\n \t"+t._s(t.prettyCount(t.stats.open))+"\n ")])])]),t._v(" "),e("div",{staticClass:"col-12 col-sm-6 col-lg-3"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("Active Spam Detections")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size",attrs:{"data-toggle":"tooltip","data-placement":"bottom",title:t.stats.autospam_open+" open spam detections"}},[t._v(t._s(t.prettyCount(t.stats.autospam_open)))])])]),t._v(" "),e("div",{staticClass:"col-12 col-sm-6 col-lg-3"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("Total Reports")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size",attrs:{"data-toggle":"tooltip","data-placement":"bottom",title:t.stats.total+" total reports"}},[t._v(t._s(t.prettyCount(t.stats.total))+"\n ")])])]),t._v(" "),e("div",{staticClass:"col-12 col-sm-6 col-lg-3"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("Total Spam Detections")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size",attrs:{"data-toggle":"tooltip","data-placement":"bottom",title:t.stats.autospam+" total spam detections"}},[t._v("\n \t"+t._s(t.prettyCount(t.stats.autospam))+"\n ")])])])])])])]),t._v(" "),t.loaded?e("div",{staticClass:"m-n2 m-lg-4"},[e("div",{staticClass:"container-fluid mt-4"},[e("div",{staticClass:"row mb-3 justify-content-between"},[e("div",{staticClass:"col-12"},[e("ul",{staticClass:"nav nav-pills"},[e("li",{staticClass:"nav-item"},[e("a",{class:["nav-link d-flex align-items-center",{active:0==t.tabIndex}],attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.toggleTab(0)}}},[e("span",[t._v("Open Reports")]),t._v(" "),t.stats.open?e("span",{staticClass:"badge badge-sm badge-floating badge-danger border-white ml-2",staticStyle:{"background-color":"red",color:"white","font-size":"11px"}},[t._v("\n \t\t"+t._s(t.prettyCount(t.stats.open))+"\n \t")]):t._e()])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("a",{class:["nav-link d-flex align-items-center",{active:2==t.tabIndex}],attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.toggleTab(2)}}},[e("span",[t._v("Spam Detections")]),t._v(" "),t.stats.autospam_open?e("span",{staticClass:"badge badge-sm badge-floating badge-danger border-white ml-2",staticStyle:{"background-color":"red",color:"white","font-size":"11px"}},[t._v("\n \t\t"+t._s(t.prettyCount(t.stats.autospam_open))+"\n \t")]):t._e()])]),t._v(" "),e("li",{staticClass:"d-none d-md-block nav-item"},[e("a",{class:["nav-link d-flex align-items-center",{active:1==t.tabIndex}],attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.toggleTab(1)}}},[e("span",[t._v("Closed Reports")]),t._v(" "),t.stats.autospam_open?e("span",{staticClass:"badge badge-sm badge-floating badge-secondary border-white ml-2",staticStyle:{"font-size":"11px"}},[t._v("\n\t \t"+t._s(t.prettyCount(t.stats.closed))+"\n\t ")]):t._e()])]),t._v(" "),e("li",{staticClass:"d-none d-md-block nav-item"},[e("a",{staticClass:"nav-link d-flex align-items-center",attrs:{href:"/i/admin/reports/email-verifications"}},[e("span",[t._v("Email Verification Requests")]),t._v(" "),t.stats.email_verification_requests?e("span",{staticClass:"badge badge-sm badge-floating badge-secondary border-white ml-2",staticStyle:{"font-size":"11px"}},[t._v("\n\t \t"+t._s(t.prettyCount(t.stats.email_verification_requests))+"\n\t ")]):t._e()])]),t._v(" "),e("li",{staticClass:"d-none d-md-block nav-item"},[e("a",{staticClass:"nav-link d-flex align-items-center",attrs:{href:"/i/admin/reports/appeals"}},[e("span",[t._v("Appeal Requests")]),t._v(" "),t.stats.appeals?e("span",{staticClass:"badge badge-sm badge-floating badge-secondary border-white ml-2",staticStyle:{"font-size":"11px"}},[t._v("\n \t\t\t"+t._s(t.prettyCount(t.stats.appeals))+"\n \t")]):t._e()])])])])]),t._v(" "),[0,1].includes(this.tabIndex)?e("div",{staticClass:"table-responsive rounded"},[t.reports&&t.reports.length?e("table",{staticClass:"table table-dark"},[t._m(1),t._v(" "),e("tbody",t._l(t.reports,(function(a,s){return e("tr",[e("td",{staticClass:"font-weight-bold text-monospace text-muted align-middle"},[e("a",{attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.viewReport(a)}}},[t._v("\n "+t._s(a.id)+"\n ")])]),t._v(" "),e("td",{staticClass:"align-middle"},[e("p",{staticClass:"text-capitalize font-weight-bold mb-0",domProps:{innerHTML:t._s(t.reportLabel(a))}})]),t._v(" "),e("td",{staticClass:"align-middle"},[a.reported&&a.reported.id?e("a",{staticClass:"text-white",attrs:{href:"/i/web/profile/".concat(a.reported.id),target:"_blank"}},[e("div",{staticClass:"d-flex align-items-center",staticStyle:{gap:"0.61rem"}},[e("img",{staticStyle:{"object-fit":"cover","border-radius":"30px"},attrs:{src:a.reported.avatar,width:"30",height:"30",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"d-flex flex-column"},[e("p",{staticClass:"font-weight-bold mb-0",staticStyle:{"font-size":"14px"}},[t._v("@"+t._s(a.reported.username))]),t._v(" "),e("div",{staticClass:"d-flex small text-muted mb-0",staticStyle:{gap:"0.5rem"}},[e("span",[t._v(t._s(a.reported.followers_count)+" Followers")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v("Joined "+t._s(t.timeAgo(a.reported.created_at)))])])])])]):t._e()]),t._v(" "),e("td",{staticClass:"align-middle"},[e("a",{staticClass:"text-white",attrs:{href:"/i/web/profile/".concat(a.reporter.id),target:"_blank"}},[e("div",{staticClass:"d-flex align-items-center",staticStyle:{gap:"0.61rem"}},[e("img",{staticStyle:{"object-fit":"cover","border-radius":"30px"},attrs:{src:a.reporter.avatar,width:"30",height:"30",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"d-flex flex-column"},[e("p",{staticClass:"font-weight-bold mb-0",staticStyle:{"font-size":"14px"}},[t._v("@"+t._s(a.reporter.username))]),t._v(" "),e("div",{staticClass:"d-flex small text-muted mb-0",staticStyle:{gap:"0.5rem"}},[e("span",[t._v(t._s(a.reporter.followers_count)+" Followers")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v("Joined "+t._s(t.timeAgo(a.reporter.created_at)))])])])])])]),t._v(" "),e("td",{staticClass:"font-weight-bold align-middle"},[t._v(t._s(t.timeAgo(a.created_at)))]),t._v(" "),e("td",{staticClass:"align-middle"},[e("a",{staticClass:"btn btn-primary btn-sm",attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.viewReport(a)}}},[t._v("View")])])])})),0)]):e("div",[e("div",{staticClass:"card card-body p-5"},[e("div",{staticClass:"d-flex justify-content-between align-items-center flex-column"},[t._m(2),t._v(" "),e("p",{staticClass:"lead"},[t._v(t._s(0===t.tabIndex?"No Active Reports Found!":"No Closed Reports Found!"))])])])])]):t._e(),t._v(" "),[0,1].includes(this.tabIndex)&&t.reports.length&&(t.pagination.prev||t.pagination.next)?e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.pagination.prev},on:{click:function(e){return t.paginate("prev")}}},[t._v("\n Prev\n ")]),t._v(" "),e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.pagination.next},on:{click:function(e){return t.paginate("next")}}},[t._v("\n Next\n ")])]):t._e(),t._v(" "),2===this.tabIndex?e("div",{staticClass:"table-responsive rounded"},[t.autospamLoaded?[t.autospam&&t.autospam.length?e("table",{staticClass:"table table-dark"},[t._m(3),t._v(" "),e("tbody",t._l(t.autospam,(function(a,s){return e("tr",[e("td",{staticClass:"font-weight-bold text-monospace text-muted align-middle"},[e("a",{attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.viewSpamReport(a)}}},[t._v("\n\t "+t._s(a.id)+"\n\t ")])]),t._v(" "),t._m(4,!0),t._v(" "),e("td",{staticClass:"align-middle"},[a.status&&a.status.account?e("a",{staticClass:"text-white",attrs:{href:"/i/web/profile/".concat(a.status.account.id),target:"_blank"}},[e("div",{staticClass:"d-flex align-items-center",staticStyle:{gap:"0.61rem"}},[e("img",{staticStyle:{"object-fit":"cover","border-radius":"30px"},attrs:{src:a.status.account.avatar,width:"30",height:"30",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"d-flex flex-column"},[e("p",{staticClass:"font-weight-bold mb-0",staticStyle:{"font-size":"14px"}},[t._v("@"+t._s(a.status.account.username))]),t._v(" "),e("div",{staticClass:"d-flex small text-muted mb-0",staticStyle:{gap:"0.5rem"}},[e("span",[t._v(t._s(a.status.account.followers_count)+" Followers")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v("Joined "+t._s(t.timeAgo(a.status.account.created_at)))])])])])]):t._e()]),t._v(" "),e("td",{staticClass:"font-weight-bold align-middle"},[t._v(t._s(t.timeAgo(a.created_at)))]),t._v(" "),e("td",{staticClass:"align-middle"},[e("a",{staticClass:"btn btn-primary btn-sm",attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.viewSpamReport(a)}}},[t._v("View")])])])})),0)]):e("div",[t._m(5)])]:e("div",{staticClass:"d-flex align-items-center justify-content-center",staticStyle:{"min-height":"300px"}},[e("b-spinner")],1)],2):t._e(),t._v(" "),2===this.tabIndex&&t.autospamLoaded&&t.autospam&&t.autospam.length?e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.autospamPagination.prev},on:{click:function(e){return t.autospamPaginate("prev")}}},[t._v("\n Prev\n ")]),t._v(" "),e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.autospamPagination.next},on:{click:function(e){return t.autospamPaginate("next")}}},[t._v("\n Next\n ")])]):t._e()])]):e("div",{staticClass:"my-5 text-center"},[e("b-spinner")],1),t._v(" "),e("b-modal",{attrs:{title:0===t.tabIndex?"View Report":"Viewing Closed Report","ok-only":!0,"ok-title":"Close","ok-variant":"outline-primary"},model:{value:t.showReportModal,callback:function(e){t.showReportModal=e},expression:"showReportModal"}},[t.viewingReportLoading?e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("b-spinner")],1):[t.viewingReport?e("div",{staticClass:"list-group"},[e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[e("div",{staticClass:"text-muted small"},[t._v("Type")]),t._v(" "),e("div",{staticClass:"font-weight-bold text-capitalize",domProps:{innerHTML:t._s(t.reportLabel(t.viewingReport))}})]),t._v(" "),t.viewingReport.admin_seen_at?e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[e("div",{staticClass:"text-muted small"},[t._v("Report Closed")]),t._v(" "),e("div",{staticClass:"font-weight-bold text-capitalize"},[t._v(t._s(t.formatDate(t.viewingReport.admin_seen_at)))])]):t._e(),t._v(" "),t.viewingReport.reporter_message?e("div",{staticClass:"list-group-item d-flex flex-column",staticStyle:{gap:"10px"}},[e("div",{staticClass:"text-muted small"},[t._v("Message")]),t._v(" "),e("p",{staticClass:"mb-0 read-more",staticStyle:{"font-size":"12px","overflow-y":"hidden"}},[t._v(t._s(t.viewingReport.reporter_message))])]):t._e()]):t._e(),t._v(" "),e("div",{staticClass:"list-group list-group-horizontal mt-3"},[t.viewingReport&&t.viewingReport.reported?e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"text-muted small font-weight-bold mt-n1"},[t._v("Reported Account")]),t._v(" "),t.viewingReport.reported&&t.viewingReport.reported.id?e("a",{staticClass:"text-primary",attrs:{href:"/i/web/profile/".concat(t.viewingReport.reported.id),target:"_blank"}},[e("div",{staticClass:"d-flex align-items-center",staticStyle:{gap:"0.61rem"}},[e("img",{staticStyle:{"object-fit":"cover","border-radius":"30px"},attrs:{src:t.viewingReport.reported.avatar,width:"30",height:"30",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"d-flex flex-column"},[e("p",{staticClass:"font-weight-bold mb-0 text-break",class:[t.viewingReport.reported.is_admin?"text-danger":""],staticStyle:{"font-size":"12px","max-width":"140px","line-height":"16px"}},[t._v("@"+t._s(t.viewingReport.reported.acct))]),t._v(" "),e("div",{staticClass:"d-flex text-muted mb-0",staticStyle:{"font-size":"10px",gap:"0.5rem"}},[e("span",[t._v(t._s(t.viewingReport.reported.followers_count)+" Followers")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v("Joined "+t._s(t.timeAgo(t.viewingReport.reported.created_at)))])])])])]):t._e()]):t._e(),t._v(" "),t.viewingReport&&t.viewingReport.reporter?e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"text-muted small font-weight-bold mt-n1"},[t._v("Reporter Account")]),t._v(" "),t.viewingReport.reporter&&t.viewingReport.reporter.id?e("a",{staticClass:"text-primary",attrs:{href:"/i/web/profile/".concat(t.viewingReport.reporter.id),target:"_blank"}},[e("div",{staticClass:"d-flex align-items-center",staticStyle:{gap:"0.61rem"}},[e("img",{staticStyle:{"object-fit":"cover","border-radius":"30px"},attrs:{src:t.viewingReport.reporter.avatar,width:"30",height:"30",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"d-flex flex-column"},[e("p",{staticClass:"font-weight-bold mb-0 text-break",staticStyle:{"font-size":"12px","max-width":"140px","line-height":"16px"}},[t._v("@"+t._s(t.viewingReport.reporter.acct))]),t._v(" "),e("div",{staticClass:"d-flex text-muted mb-0",staticStyle:{"font-size":"10px",gap:"0.5rem"}},[e("span",[t._v(t._s(t.viewingReport.reporter.followers_count)+" Followers")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v("Joined "+t._s(t.timeAgo(t.viewingReport.reporter.created_at)))])])])])]):t._e()]):t._e()]),t._v(" "),t.viewingReport&&"App\\Status"===t.viewingReport.object_type&&t.viewingReport.status?e("div",{staticClass:"list-group mt-3"},[t.viewingReport&&t.viewingReport.status&&t.viewingReport.status.media_attachments.length?e("div",{staticClass:"list-group-item d-flex flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"d-flex justify-content-between mt-n1 text-muted small font-weight-bold"},[e("div",[t._v("Reported Post")]),t._v(" "),e("a",{staticClass:"font-weight-bold",attrs:{href:t.viewingReport.status.url,target:"_blank"}},[t._v("View")])]),t._v(" "),"image"===t.viewingReport.status.media_attachments[0].type?e("img",{staticClass:"rounded",staticStyle:{"object-fit":"cover"},attrs:{src:t.viewingReport.status.media_attachments[0].url,height:"140",onerror:"this.src='/storage/no-preview.png';this.error=null;"}}):"video"===t.viewingReport.status.media_attachments[0].type?e("video",{attrs:{height:"140",controls:"",src:t.viewingReport.status.media_attachments[0].url,onerror:"this.src='/storage/no-preview.png';this.onerror=null;"}}):t._e()]):t._e(),t._v(" "),t.viewingReport&&t.viewingReport.status?e("div",{staticClass:"list-group-item d-flex flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"d-flex justify-content-between mt-n1 text-muted small font-weight-bold"},[e("div",[t._v("Reported Post Caption")]),t._v(" "),e("a",{staticClass:"font-weight-bold",attrs:{href:t.viewingReport.status.url,target:"_blank"}},[t._v("View")])]),t._v(" "),e("p",{staticClass:"mb-0 read-more",staticStyle:{"font-size":"12px","overflow-y":"hidden"}},[t._v(t._s(t.viewingReport.status.content_text))])]):t._e()]):t.viewingReport&&"App\\Story"===t.viewingReport.object_type&&t.viewingReport.story?e("div",{staticClass:"list-group mt-3"},[t.viewingReport&&t.viewingReport.story?e("div",{staticClass:"list-group-item d-flex flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"d-flex justify-content-between mt-n1 text-muted small font-weight-bold"},[e("div",[t._v("Reported Story")]),t._v(" "),e("a",{staticClass:"font-weight-bold",attrs:{href:t.viewingReport.story.url,target:"_blank"}},[t._v("View")])]),t._v(" "),"photo"===t.viewingReport.story.type?e("img",{staticClass:"rounded",staticStyle:{"object-fit":"cover"},attrs:{src:t.viewingReport.story.media_src,height:"140",onerror:"this.src='/storage/no-preview.png';this.error=null;"}}):"video"===t.viewingReport.story.type?e("video",{attrs:{height:"140",controls:"",src:t.viewingReport.story.media_src,onerror:"this.src='/storage/no-preview.png';this.onerror=null;"}}):t._e()]):t._e()]):t._e(),t._v(" "),t.viewingReport&&null===t.viewingReport.admin_seen_at?e("div",{staticClass:"mt-4"},[t.viewingReport&&"App\\Profile"===t.viewingReport.object_type?e("div",[e("button",{staticClass:"btn btn-dark btn-block rounded-pill",on:{click:function(e){return t.handleAction("profile","ignore")}}},[t._v("Ignore Report")]),t._v(" "),t.viewingReport.reported&&t.viewingReport.reported.id&&!t.viewingReport.reported.is_admin?e("hr",{staticClass:"mt-3 mb-1"}):t._e(),t._v(" "),t.viewingReport.reported&&t.viewingReport.reported.id&&!t.viewingReport.reported.is_admin?e("div",{staticClass:"d-flex flex-row mt-2",staticStyle:{gap:"0.3rem"}},[e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("profile","nsfw")}}},[t._v("\n\t\t \t\t\t\tMark all Posts NSFW\n\t\t \t\t\t")]),t._v(" "),e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("profile","unlist")}}},[t._v("\n\t\t \t\t\t\tUnlist all Posts\n\t\t \t\t\t")])]):t._e(),t._v(" "),t.viewingReport.reported&&t.viewingReport.reported.id&&!t.viewingReport.reported.is_admin?e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-2",on:{click:function(e){return t.handleAction("profile","delete")}}},[t._v("\n\t\t \t\t\tDelete Profile\n\t\t \t\t")]):t._e()]):t.viewingReport&&"App\\Status"===t.viewingReport.object_type?e("div",[e("button",{staticClass:"btn btn-dark btn-block rounded-pill",on:{click:function(e){return t.handleAction("post","ignore")}}},[t._v("Ignore Report")]),t._v(" "),t.viewingReport&&t.viewingReport.reported&&!t.viewingReport.reported.is_admin?e("hr",{staticClass:"mt-3 mb-1"}):t._e(),t._v(" "),t.viewingReport&&t.viewingReport.reported&&!t.viewingReport.reported.is_admin?e("div",{staticClass:"d-flex flex-row mt-2",staticStyle:{gap:"0.3rem"}},[e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("post","nsfw")}}},[t._v("Mark Post NSFW")]),t._v(" "),"public"===t.viewingReport.status.visibility?e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("post","unlist")}}},[t._v("Unlist Post")]):"unlisted"===t.viewingReport.status.visibility?e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("post","private")}}},[t._v("Make Post Private")]):t._e()]):t._e(),t._v(" "),t.viewingReport&&t.viewingReport.reported&&!t.viewingReport.reported.is_admin?e("div",{staticClass:"d-flex flex-row mt-2",staticStyle:{gap:"0.3rem"}},[e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("profile","nsfw")}}},[t._v("Make all NSFW")]),t._v(" "),e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("profile","unlist")}}},[t._v("Make all Unlisted")]),t._v(" "),e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("profile","private")}}},[t._v("Make all Private")])]):t._e(),t._v(" "),t.viewingReport&&t.viewingReport.reported&&!t.viewingReport.reported.is_admin?e("div",[e("hr",{staticClass:"my-2"}),t._v(" "),e("div",{staticClass:"d-flex flex-row mt-2",staticStyle:{gap:"0.3rem"}},[e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("post","delete")}}},[t._v("Delete Post")]),t._v(" "),e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("profile","delete")}}},[t._v("Delete Account")])])]):t._e()]):t.viewingReport&&"App\\Story"===t.viewingReport.object_type?e("div",[e("button",{staticClass:"btn btn-dark btn-block rounded-pill",on:{click:function(e){return t.handleAction("story","ignore")}}},[t._v("Ignore Report")]),t._v(" "),t.viewingReport&&t.viewingReport.reported&&!t.viewingReport.reported.is_admin?e("hr",{staticClass:"mt-3 mb-1"}):t._e(),t._v(" "),t.viewingReport&&t.viewingReport.reported&&!t.viewingReport.reported.is_admin?e("div",[e("div",{staticClass:"d-flex flex-row mt-2",staticStyle:{gap:"0.3rem"}},[e("button",{staticClass:"btn btn-danger btn-block rounded-pill mt-0",on:{click:function(e){return t.handleAction("story","delete")}}},[t._v("Delete Story")]),t._v(" "),e("button",{staticClass:"btn btn-outline-danger btn-block rounded-pill mt-0",on:{click:function(e){return t.handleAction("story","delete-all")}}},[t._v("Delete All Stories")])])]):t._e(),t._v(" "),t.viewingReport&&t.viewingReport.reported&&!t.viewingReport.reported.is_admin?e("div",[e("hr",{staticClass:"my-2"}),t._v(" "),e("div",{staticClass:"d-flex flex-row mt-2",staticStyle:{gap:"0.3rem"}},[e("button",{staticClass:"btn btn-outline-danger btn-sm btn-block rounded-pill mt-0",on:{click:function(e){return t.handleAction("profile","delete")}}},[t._v("Delete Account")])])]):t._e()]):t._e()]):t._e()]],2),t._v(" "),e("b-modal",{attrs:{title:"Potential Spam Post Detected","ok-only":!0,"ok-title":"Close","ok-variant":"outline-primary"},model:{value:t.showSpamReportModal,callback:function(e){t.showSpamReportModal=e},expression:"showSpamReportModal"}},[t.viewingSpamReportLoading?e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("b-spinner")],1):[e("div",{staticClass:"list-group list-group-horizontal mt-3"},[t.viewingSpamReport&&t.viewingSpamReport.status&&t.viewingSpamReport.status.account?e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"text-muted small font-weight-bold mt-n1"},[t._v("Reported Account")]),t._v(" "),t.viewingSpamReport.status.account&&t.viewingSpamReport.status.account.id?e("a",{staticClass:"text-primary",attrs:{href:"/i/web/profile/".concat(t.viewingSpamReport.status.account.id),target:"_blank"}},[e("div",{staticClass:"d-flex align-items-center",staticStyle:{gap:"0.61rem"}},[e("img",{staticStyle:{"object-fit":"cover","border-radius":"30px"},attrs:{src:t.viewingSpamReport.status.account.avatar,width:"30",height:"30",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"d-flex flex-column"},[e("p",{staticClass:"font-weight-bold mb-0 text-break",class:[t.viewingSpamReport.status.account.is_admin?"text-danger":""],staticStyle:{"font-size":"12px","max-width":"140px","line-height":"16px"}},[t._v("@"+t._s(t.viewingSpamReport.status.account.acct))]),t._v(" "),e("div",{staticClass:"d-flex text-muted mb-0",staticStyle:{"font-size":"10px",gap:"0.5rem"}},[e("span",[t._v(t._s(t.viewingSpamReport.status.account.followers_count)+" Followers")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v("Joined "+t._s(t.timeAgo(t.viewingSpamReport.status.account.created_at)))])])])])]):t._e()]):t._e()]),t._v(" "),t.viewingSpamReport&&t.viewingSpamReport.status?e("div",{staticClass:"list-group mt-3"},[t.viewingSpamReport&&t.viewingSpamReport.status&&t.viewingSpamReport.status.media_attachments.length?e("div",{staticClass:"list-group-item d-flex flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"d-flex justify-content-between mt-n1 text-muted small font-weight-bold"},[e("div",[t._v("Reported Post")]),t._v(" "),e("a",{staticClass:"font-weight-bold",attrs:{href:t.viewingSpamReport.status.url,target:"_blank"}},[t._v("View")])]),t._v(" "),"image"===t.viewingSpamReport.status.media_attachments[0].type?e("img",{staticClass:"rounded",staticStyle:{"object-fit":"cover"},attrs:{src:t.viewingSpamReport.status.media_attachments[0].url,height:"140",onerror:"this.src='/storage/no-preview.png';this.error=null;"}}):"video"===t.viewingSpamReport.status.media_attachments[0].type?e("video",{attrs:{height:"140",controls:"",src:t.viewingSpamReport.status.media_attachments[0].url,onerror:"this.src='/storage/no-preview.png';this.onerror=null;"}}):t._e()]):t._e(),t._v(" "),t.viewingSpamReport&&t.viewingSpamReport.status&&t.viewingSpamReport.status.content_text&&t.viewingSpamReport.status.content_text.length?e("div",{staticClass:"list-group-item d-flex flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"d-flex justify-content-between mt-n1 text-muted small font-weight-bold"},[e("div",[t._v("Reported Post Caption")]),t._v(" "),e("a",{staticClass:"font-weight-bold",attrs:{href:t.viewingSpamReport.status.url,target:"_blank"}},[t._v("View")])]),t._v(" "),e("p",{staticClass:"mb-0 read-more",staticStyle:{"font-size":"12px","overflow-y":"hidden"}},[t._v(t._s(t.viewingSpamReport.status.content_text))])]):t._e()]):t._e(),t._v(" "),e("div",{staticClass:"mt-4"},[e("div",[e("button",{staticClass:"btn btn-dark btn-block rounded-pill",attrs:{type:"button"},on:{click:function(e){return t.handleSpamAction("mark-read")}}},[t._v("\n\t\t \t\t\tMark as Read\n\t\t \t\t")]),t._v(" "),e("button",{staticClass:"btn btn-danger btn-block rounded-pill",attrs:{type:"button"},on:{click:function(e){return t.handleSpamAction("mark-not-spam")}}},[t._v("\n\t\t \t\t\tMark As Not Spam\n\t\t \t\t")]),t._v(" "),e("hr",{staticClass:"mt-3 mb-1"}),t._v(" "),e("div",{staticClass:"d-flex flex-row mt-2",staticStyle:{gap:"0.3rem"}},[e("button",{staticClass:"btn btn-dark btn-block btn-sm rounded-pill mt-0",attrs:{type:"button"},on:{click:function(e){return t.handleSpamAction("mark-all-read")}}},[t._v("\n\t\t \t\t\t\tMark All As Read\n\t\t \t\t\t")]),t._v(" "),e("button",{staticClass:"btn btn-dark btn-block btn-sm rounded-pill mt-0",attrs:{type:"button"},on:{click:function(e){return t.handleSpamAction("mark-all-not-spam")}}},[t._v("\n\t\t \t\t\t\tMark All As Not Spam\n\t\t \t\t\t")])]),t._v(" "),e("div",[e("hr",{staticClass:"my-2"}),t._v(" "),e("div",{staticClass:"d-flex flex-row mt-2",staticStyle:{gap:"0.3rem"}},[e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",attrs:{type:"button"},on:{click:function(e){return t.handleSpamAction("delete-profile")}}},[t._v("\n\t\t\t\t\t\t\t\tDelete Account\n\t\t\t\t\t\t\t")])])])])])]],2)],1)},i=[function(){var t=this._self._c;return t("div",{staticClass:"row align-items-center py-4"},[t("div",{staticClass:"col-lg-6 col-7"},[t("p",{staticClass:"display-1 text-white d-inline-block mb-0"},[this._v("Moderation")])])])},function(){var t=this,e=t._self._c;return e("thead",{staticClass:"thead-dark"},[e("tr",[e("th",{attrs:{scope:"col"}},[t._v("ID")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Report")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Reported Account")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Reported By")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Created")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("View Report")])])])},function(){var t=this._self._c;return t("p",{staticClass:"mt-3 mb-0"},[t("i",{staticClass:"far fa-check-circle fa-5x text-success"})])},function(){var t=this,e=t._self._c;return e("thead",{staticClass:"thead-dark"},[e("tr",[e("th",{attrs:{scope:"col"}},[t._v("ID")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Report")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Reported Account")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Created")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("View Report")])])])},function(){var t=this._self._c;return t("td",{staticClass:"align-middle"},[t("p",{staticClass:"text-capitalize font-weight-bold mb-0"},[this._v("Spam Post")])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card card-body p-5"},[e("div",{staticClass:"d-flex justify-content-between align-items-center flex-column"},[e("p",{staticClass:"mt-3 mb-0"},[e("i",{staticClass:"far fa-check-circle fa-5x text-success"})]),t._v(" "),e("p",{staticClass:"lead"},[t._v("No Spam Reports Found!")])])])}]},64721:(t,e,a)=>{a(19755);a(99751),window._=a(96486),window.Popper=a(28981).default,window.pixelfed=window.pixelfed||{},window.$=a(19755),a(43734),window.axios=a(9669),window.axios.defaults.headers.common["X-Requested-With"]="XMLHttpRequest",a(90717),window.filesize=a(42317),window.Cookies=a(36808),a(20154),a(80981),window.Chart=a(17757),a(11984),Chart.defaults.global.defaultFontFamily="-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif",Array.from(document.querySelectorAll(".pagination .page-link")).filter((function(t){return"« Previous"===t.textContent||"Next »"===t.textContent})).forEach((function(t){return t.textContent="Next »"===t.textContent?"›":"‹"})),Vue.component("admin-autospam",a(52199).default),Vue.component("admin-directory",a(78877).default),Vue.component("admin-reports",a(28515).default),Vue.component("instances-component",a(10670).default),Vue.component("hashtag-component",a(90882).default)},11984:(t,e,a)=>{"use strict";var s=a(19755);function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}!function(){function t(){s(".sidenav-toggler").addClass("active"),s(".sidenav-toggler").data("action","sidenav-unpin"),s("body").removeClass("g-sidenav-hidden").addClass("g-sidenav-show g-sidenav-pinned"),s("body").append('
1&&(o+=''+i+""),o+=''+a+n+s+""}}}(t,a),a.update()}return window.Chart&&r(Chart,(t={defaults:{global:{responsive:!0,maintainAspectRatio:!1,defaultColor:o.gray[600],defaultFontColor:o.gray[600],defaultFontFamily:n.base,defaultFontSize:13,layout:{padding:0},legend:{display:!1,position:"bottom",labels:{usePointStyle:!0,padding:16}},elements:{point:{radius:0,backgroundColor:o.theme.primary},line:{tension:.4,borderWidth:4,borderColor:o.theme.primary,backgroundColor:o.transparent,borderCapStyle:"rounded"},rectangle:{backgroundColor:o.theme.warning},arc:{backgroundColor:o.theme.primary,borderColor:o.white,borderWidth:4}},tooltips:{enabled:!0,mode:"index",intersect:!1}},doughnut:{cutoutPercentage:83,legendCallback:function(t){var e=t.data,a="";return e.labels.forEach((function(t,s){var i=e.datasets[0].backgroundColor[s];a+='',a+='',a+=t,a+=""})),a}}}},Chart.scaleService.updateScaleDefaults("linear",{gridLines:{borderDash:[2],borderDashOffset:[2],color:o.gray[300],drawBorder:!1,drawTicks:!1,drawOnChartArea:!0,zeroLineWidth:0,zeroLineColor:"rgba(0,0,0,0)",zeroLineBorderDash:[2],zeroLineBorderDashOffset:[2]},ticks:{beginAtZero:!0,padding:10,callback:function(t){if(!(t%10))return t}}}),Chart.scaleService.updateScaleDefaults("category",{gridLines:{drawBorder:!1,drawOnChartArea:!1,drawTicks:!1},ticks:{padding:20},maxBarThickness:10}),t)),e.on({change:function(){var t=s(this);t.is("[data-add]")&&d(t)},click:function(){var t=s(this);t.is("[data-update]")&&u(t)}}),{colors:o,fonts:n,mode:a}}(),_=((r=s(o=".btn-icon-clipboard")).length&&((n=r).tooltip().on("mouseleave",(function(){n.tooltip("hide")})),new ClipboardJS(o).on("success",(function(t){s(t.trigger).attr("title","Copied!").tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle"),t.clearSelection()}))),l=s(".navbar-nav, .navbar-nav .nav"),c=s(".navbar .collapse"),d=s(".navbar .dropdown"),c.on({"show.bs.collapse":function(){!function(t){t.closest(l).find(c).not(t).collapse("hide")}(s(this))}}),d.on({"hide.bs.dropdown":function(){!function(t){var e=t.find(".dropdown-menu");e.addClass("close"),setTimeout((function(){e.removeClass("close")}),200)}(s(this))}}),function(){s(".navbar-nav");var t=s(".navbar .navbar-custom-collapse");t.length&&(t.on({"hide.bs.collapse":function(){!function(t){t.addClass("collapsing-out")}(t)}}),t.on({"hidden.bs.collapse":function(){!function(t){t.removeClass("collapsing-out")}(t)}}));var e=0;s(".sidenav-toggler").click((function(){if(1==e)s("body").removeClass("nav-open"),e=0,s(".bodyClick").remove();else{s('
').appendTo("body").click((function(){s("body").removeClass("nav-open"),e=0,s(".bodyClick").remove()})),s("body").addClass("nav-open"),e=1}}))}(),u=s('[data-toggle="popover"]'),p="",u.length&&u.each((function(){!function(t){t.data("color")&&(p="popover-"+t.data("color"));var e={trigger:"focus",template:''};t.popover(e)}(s(this))})),function(){var t=s(".scroll-me, [data-scroll-to], .toc-entry a");function e(t){var e=t.attr("href"),a=t.data("scroll-to-offset")?t.data("scroll-to-offset"):0,i={scrollTop:s(e).offset().top-a};s("html, body").stop(!0,!0).animate(i,600),event.preventDefault()}t.length&&t.on("click",(function(t){e(s(this))}))}(),(m=s('[data-toggle="tooltip"]')).length&&m.tooltip(),(v=s(".form-control")).length&&function(t){t.on("focus blur",(function(t){s(this).parents(".form-group").toggleClass("focused","focus"===t.type)})).trigger("blur")}(v),(f=s("#chart-bars")).length&&function(t){var e=new Chart(t,{type:"bar",data:{labels:["Jul","Aug","Sep","Oct","Nov","Dec"],datasets:[{label:"Sales",data:[25,20,30,22,17,29]}]}});t.data("chart",e)}(f),function(){var t=s("#c1-dark");t.length&&function(t){var e=new Chart(t,{type:"line",options:{scales:{yAxes:[{gridLines:{lineWidth:1,color:b.colors.gray[900],zeroLineColor:b.colors.gray[900]},ticks:{callback:function(t){if(!(t%10))return t}}}]},tooltips:{callbacks:{label:function(t,e){var a=e.datasets[t.datasetIndex].label||"",s=t.yLabel,i="";return e.datasets.length>1&&(i+=a),i+(s+" posts")}}}},data:{labels:["7","6","5","4","3","2","1"],datasets:[{label:"",data:s(".posts-this-week").data("update").data.datasets[0].data}]}});t.data("chart",e)}(t)}(),(h=s(".datepicker")).length&&h.each((function(){!function(t){t.datepicker({disableTouchKeyboard:!0,autoclose:!1})}(s(this))})),function(){if(s(".input-slider-container")[0]&&s(".input-slider-container").each((function(){var t=s(this).find(".input-slider"),e=t.attr("id"),a=t.data("range-value-min"),i=t.data("range-value-max"),n=s(this).find(".range-slider-value"),o=n.attr("id"),r=n.data("range-value-low"),l=document.getElementById(e),c=document.getElementById(o);_.create(l,{start:[parseInt(r)],connect:[!0,!1],range:{min:[parseInt(a)],max:[parseInt(i)]}}),l.noUiSlider.on("update",(function(t,e){c.textContent=t[e]}))})),s("#input-slider-range")[0]){var t=document.getElementById("input-slider-range"),e=document.getElementById("input-slider-range-value-low"),a=document.getElementById("input-slider-range-value-high"),i=[e,a];_.create(t,{start:[parseInt(e.getAttribute("data-range-value-low")),parseInt(a.getAttribute("data-range-value-high"))],connect:!0,range:{min:parseInt(t.getAttribute("data-range-value-min")),max:parseInt(t.getAttribute("data-range-value-max"))}}),t.noUiSlider.on("update",(function(t,e){i[e].textContent=t[e]}))}}());(g=s(".scrollbar-inner")).length&&g.scrollbar().scrollLock()},99751:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}!function(){var e="object"===("undefined"==typeof window?"undefined":t(window))?window:"object"===("undefined"==typeof self?"undefined":t(self))?self:this,a=e.BlobBuilder||e.WebKitBlobBuilder||e.MSBlobBuilder||e.MozBlobBuilder;e.URL=e.URL||e.webkitURL||function(t,e){return(e=document.createElement("a")).href=t,e};var s=e.Blob,i=URL.createObjectURL,n=URL.revokeObjectURL,o=e.Symbol&&e.Symbol.toStringTag,r=!1,c=!1,d=!!e.ArrayBuffer,u=a&&a.prototype.append&&a.prototype.getBlob;try{r=2===new Blob(["ä"]).size,c=2===new Blob([new Uint8Array([1,2])]).size}catch(t){}function p(t){return t.map((function(t){if(t.buffer instanceof ArrayBuffer){var e=t.buffer;if(t.byteLength!==e.byteLength){var a=new Uint8Array(t.byteLength);a.set(new Uint8Array(e,t.byteOffset,t.byteLength)),e=a.buffer}return e}return t}))}function m(t,e){e=e||{};var s=new a;return p(t).forEach((function(t){s.append(t)})),e.type?s.getBlob(e.type):s.getBlob()}function v(t,e){return new s(p(t),e||{})}e.Blob&&(m.prototype=Blob.prototype,v.prototype=Blob.prototype);var f="function"==typeof TextEncoder?TextEncoder.prototype.encode.bind(new TextEncoder):function(t){for(var a=0,s=t.length,i=e.Uint8Array||Array,n=0,o=Math.max(32,s+(s>>1)+7),r=new i(o>>3<<3);a=55296&&l<=56319){if(a=55296&&l<=56319)continue}if(n+4>r.length){o+=8,o=(o*=1+a/t.length*2)>>3<<3;var d=new Uint8Array(o);d.set(r),r=d}if(0!=(4294967168&l)){if(0==(4294965248&l))r[n++]=l>>6&31|192;else if(0==(4294901760&l))r[n++]=l>>12&15|224,r[n++]=l>>6&63|128;else{if(0!=(4292870144&l))continue;r[n++]=l>>18&7|240,r[n++]=l>>12&63|128,r[n++]=l>>6&63|128}r[n++]=63&l|128}else r[n++]=l}return r.slice(0,n)},h="function"==typeof TextDecoder?TextDecoder.prototype.decode.bind(new TextDecoder):function(t){for(var e=t.length,a=[],s=0;s239?4:l>223?3:l>191?2:1;if(s+d<=e)switch(d){case 1:l<128&&(c=l);break;case 2:128==(192&(i=t[s+1]))&&(r=(31&l)<<6|63&i)>127&&(c=r);break;case 3:i=t[s+1],n=t[s+2],128==(192&i)&&128==(192&n)&&(r=(15&l)<<12|(63&i)<<6|63&n)>2047&&(r<55296||r>57343)&&(c=r);break;case 4:i=t[s+1],n=t[s+2],o=t[s+3],128==(192&i)&&128==(192&n)&&128==(192&o)&&(r=(15&l)<<18|(63&i)<<12|(63&n)<<6|63&o)>65535&&r<1114112&&(c=r)}null===c?(c=65533,d=1):c>65535&&(c-=65536,a.push(c>>>10&1023|55296),c=56320|1023&c),a.push(c),s+=d}var u=a.length,p="";for(s=0;s>2,d=(3&i)<<4|o>>4,u=(15&o)<<2|l>>6,p=63&l;r||(p=64,n||(u=64)),a.push(e[c],e[d],e[u],e[p])}return a.join("")}var s=Object.create||function(t){function e(){}return e.prototype=t,new e};if(d)var o=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],r=ArrayBuffer.isView||function(t){return t&&o.indexOf(Object.prototype.toString.call(t))>-1};function c(a,s){s=null==s?{}:s;for(var i=0,n=(a=a||[]).length;i=e.size&&a.close()}))}})}}catch(t){try{new ReadableStream({}),b=function(t){var e=0;t=this;return new ReadableStream({pull:function(a){return t.slice(e,e+524288).arrayBuffer().then((function(s){e+=s.byteLength;var i=new Uint8Array(s);a.enqueue(i),e==t.size&&a.close()}))}})}}catch(t){try{new Response("").body.getReader().read(),b=function(){return new Response(this).body}}catch(t){b=function(){throw new Error("Include https://github.com/MattiasBuelens/web-streams-polyfill")}}}}_.arrayBuffer||(_.arrayBuffer=function(){var t=new FileReader;return t.readAsArrayBuffer(this),y(t)}),_.text||(_.text=function(){var t=new FileReader;return t.readAsText(this),y(t)}),_.stream||(_.stream=b)}(),function(t){"use strict";var e,a=t.Uint8Array,s=t.HTMLCanvasElement,i=s&&s.prototype,n=/\s*;\s*base64\s*(?:;|$)/i,o="toDataURL",r=function(t){for(var s,i,n=t.length,o=new a(n/4*3|0),r=0,l=0,c=[0,0],d=0,u=0;n--;)i=t.charCodeAt(r++),255!==(s=e[i-43])&&undefined!==s&&(c[1]=c[0],c[0]=i,u=u<<6|s,4===++d&&(o[l++]=u>>>16,61!==c[1]&&(o[l++]=u>>>8),61!==c[0]&&(o[l++]=u),d=0));return o};a&&(e=new a([62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,0,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51])),!s||i.toBlob&&i.toBlobHD||(i.toBlob||(i.toBlob=function(t,e){if(e||(e="image/png"),this.mozGetAsFile)t(this.mozGetAsFile("canvas",e));else if(this.msToBlob&&/^\s*image\/png\s*(?:$|;)/i.test(e))t(this.msToBlob());else{var s,i=Array.prototype.slice.call(arguments,1),l=this[o].apply(this,i),c=l.indexOf(","),d=l.substring(c+1),u=n.test(l.substring(0,c));Blob.fake?((s=new Blob).encoding=u?"base64":"URI",s.data=d,s.size=d.length):a&&(s=u?new Blob([r(d)],{type:e}):new Blob([decodeURIComponent(d)],{type:e})),t(s)}}),!i.toBlobHD&&i.toDataURLHD?i.toBlobHD=function(){o="toDataURLHD";var t=this.toBlob();return o="toDataURL",t}:i.toBlobHD=i.toBlob)}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content||this)},25187:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>n});var s=a(1519),i=a.n(s)()((function(t){return t[1]}));i.push([t.id,".gap-2[data-v-e104c6c0]{gap:1rem}",""]);const n=i},46700:(t,e,a)=>{var s={"./af":42786,"./af.js":42786,"./ar":30867,"./ar-dz":14130,"./ar-dz.js":14130,"./ar-kw":96135,"./ar-kw.js":96135,"./ar-ly":56440,"./ar-ly.js":56440,"./ar-ma":47702,"./ar-ma.js":47702,"./ar-sa":16040,"./ar-sa.js":16040,"./ar-tn":37100,"./ar-tn.js":37100,"./ar.js":30867,"./az":31083,"./az.js":31083,"./be":9808,"./be.js":9808,"./bg":68338,"./bg.js":68338,"./bm":67438,"./bm.js":67438,"./bn":8905,"./bn-bd":76225,"./bn-bd.js":76225,"./bn.js":8905,"./bo":11560,"./bo.js":11560,"./br":1278,"./br.js":1278,"./bs":80622,"./bs.js":80622,"./ca":2468,"./ca.js":2468,"./cs":5822,"./cs.js":5822,"./cv":50877,"./cv.js":50877,"./cy":47373,"./cy.js":47373,"./da":24780,"./da.js":24780,"./de":59740,"./de-at":60217,"./de-at.js":60217,"./de-ch":60894,"./de-ch.js":60894,"./de.js":59740,"./dv":5300,"./dv.js":5300,"./el":50837,"./el.js":50837,"./en-au":78348,"./en-au.js":78348,"./en-ca":77925,"./en-ca.js":77925,"./en-gb":22243,"./en-gb.js":22243,"./en-ie":46436,"./en-ie.js":46436,"./en-il":47207,"./en-il.js":47207,"./en-in":44175,"./en-in.js":44175,"./en-nz":76319,"./en-nz.js":76319,"./en-sg":31662,"./en-sg.js":31662,"./eo":92915,"./eo.js":92915,"./es":55655,"./es-do":55251,"./es-do.js":55251,"./es-mx":96112,"./es-mx.js":96112,"./es-us":71146,"./es-us.js":71146,"./es.js":55655,"./et":5603,"./et.js":5603,"./eu":77763,"./eu.js":77763,"./fa":76959,"./fa.js":76959,"./fi":11897,"./fi.js":11897,"./fil":42549,"./fil.js":42549,"./fo":94694,"./fo.js":94694,"./fr":94470,"./fr-ca":63049,"./fr-ca.js":63049,"./fr-ch":52330,"./fr-ch.js":52330,"./fr.js":94470,"./fy":5044,"./fy.js":5044,"./ga":29295,"./ga.js":29295,"./gd":2101,"./gd.js":2101,"./gl":38794,"./gl.js":38794,"./gom-deva":27884,"./gom-deva.js":27884,"./gom-latn":23168,"./gom-latn.js":23168,"./gu":95349,"./gu.js":95349,"./he":24206,"./he.js":24206,"./hi":30094,"./hi.js":30094,"./hr":30316,"./hr.js":30316,"./hu":22138,"./hu.js":22138,"./hy-am":11423,"./hy-am.js":11423,"./id":29218,"./id.js":29218,"./is":90135,"./is.js":90135,"./it":90626,"./it-ch":10150,"./it-ch.js":10150,"./it.js":90626,"./ja":39183,"./ja.js":39183,"./jv":24286,"./jv.js":24286,"./ka":12105,"./ka.js":12105,"./kk":47772,"./kk.js":47772,"./km":18758,"./km.js":18758,"./kn":79282,"./kn.js":79282,"./ko":33730,"./ko.js":33730,"./ku":1408,"./ku.js":1408,"./ky":33291,"./ky.js":33291,"./lb":36841,"./lb.js":36841,"./lo":55466,"./lo.js":55466,"./lt":57010,"./lt.js":57010,"./lv":37595,"./lv.js":37595,"./me":39861,"./me.js":39861,"./mi":35493,"./mi.js":35493,"./mk":95966,"./mk.js":95966,"./ml":87341,"./ml.js":87341,"./mn":5115,"./mn.js":5115,"./mr":10370,"./mr.js":10370,"./ms":9847,"./ms-my":41237,"./ms-my.js":41237,"./ms.js":9847,"./mt":72126,"./mt.js":72126,"./my":56165,"./my.js":56165,"./nb":64924,"./nb.js":64924,"./ne":16744,"./ne.js":16744,"./nl":93901,"./nl-be":59814,"./nl-be.js":59814,"./nl.js":93901,"./nn":83877,"./nn.js":83877,"./oc-lnc":92135,"./oc-lnc.js":92135,"./pa-in":15858,"./pa-in.js":15858,"./pl":64495,"./pl.js":64495,"./pt":89520,"./pt-br":57971,"./pt-br.js":57971,"./pt.js":89520,"./ro":96459,"./ro.js":96459,"./ru":21793,"./ru.js":21793,"./sd":40950,"./sd.js":40950,"./se":10490,"./se.js":10490,"./si":90124,"./si.js":90124,"./sk":64249,"./sk.js":64249,"./sl":14985,"./sl.js":14985,"./sq":51104,"./sq.js":51104,"./sr":49131,"./sr-cyrl":79915,"./sr-cyrl.js":79915,"./sr.js":49131,"./ss":85893,"./ss.js":85893,"./sv":98760,"./sv.js":98760,"./sw":91172,"./sw.js":91172,"./ta":27333,"./ta.js":27333,"./te":23110,"./te.js":23110,"./tet":52095,"./tet.js":52095,"./tg":27321,"./tg.js":27321,"./th":9041,"./th.js":9041,"./tk":19005,"./tk.js":19005,"./tl-ph":75768,"./tl-ph.js":75768,"./tlh":89444,"./tlh.js":89444,"./tr":72397,"./tr.js":72397,"./tzl":28254,"./tzl.js":28254,"./tzm":51106,"./tzm-latn":30699,"./tzm-latn.js":30699,"./tzm.js":51106,"./ug-cn":9288,"./ug-cn.js":9288,"./uk":67691,"./uk.js":67691,"./ur":13795,"./ur.js":13795,"./uz":6791,"./uz-latn":60588,"./uz-latn.js":60588,"./uz.js":6791,"./vi":65666,"./vi.js":65666,"./x-pseudo":14378,"./x-pseudo.js":14378,"./yo":75805,"./yo.js":75805,"./zh-cn":83839,"./zh-cn.js":83839,"./zh-hk":55726,"./zh-hk.js":55726,"./zh-mo":99807,"./zh-mo.js":99807,"./zh-tw":74152,"./zh-tw.js":74152};function i(t){var e=n(t);return a(e)}function n(t){if(!a.o(s,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return s[t]}i.keys=function(){return Object.keys(s)},i.resolve=n,t.exports=i,i.id=46700},1640:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>r});var s=a(93379),i=a.n(s),n=a(25187),o={insert:"head",singleton:!1};i()(n.default,o);const r=n.default.locals||{}},52199:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>o});var s=a(57258),i=a(60428),n={};for(const t in i)"default"!==t&&(n[t]=()=>i[t]);a.d(e,n);const o=(0,a(51900).default)(i.default,s.render,s.staticRenderFns,!1,null,null,null).exports},78877:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>o});var s=a(45449),i=a(42043),n={};for(const t in i)"default"!==t&&(n[t]=()=>i[t]);a.d(e,n);const o=(0,a(51900).default)(i.default,s.render,s.staticRenderFns,!1,null,null,null).exports},90882:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>o});var s=a(41145),i=a(37274),n={};for(const t in i)"default"!==t&&(n[t]=()=>i[t]);a.d(e,n);const o=(0,a(51900).default)(i.default,s.render,s.staticRenderFns,!1,null,null,null).exports},10670:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>o});var s=a(39524),i=a(82182),n={};for(const t in i)"default"!==t&&(n[t]=()=>i[t]);a.d(e,n);a(9721);const o=(0,a(51900).default)(i.default,s.render,s.staticRenderFns,!1,null,"e104c6c0",null).exports},28515:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>o});var s=a(18311),i=a(91737),n={};for(const t in i)"default"!==t&&(n[t]=()=>i[t]);a.d(e,n);const o=(0,a(51900).default)(i.default,s.render,s.staticRenderFns,!1,null,null,null).exports},60428:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>n});var s=a(88118),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i);const n=s.default},42043:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>n});var s=a(21047),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i);const n=s.default},37274:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>n});var s=a(57143),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i);const n=s.default},82182:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>n});var s=a(84147),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i);const n=s.default},91737:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>n});var s=a(60143),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i);const n=s.default},57258:(t,e,a)=>{"use strict";a.r(e);var s=a(82264),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i)},45449:(t,e,a)=>{"use strict";a.r(e);var s=a(48650),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i)},41145:(t,e,a)=>{"use strict";a.r(e);var s=a(4448),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i)},39524:(t,e,a)=>{"use strict";a.r(e);var s=a(38197),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i)},18311:(t,e,a)=>{"use strict";a.r(e);var s=a(90823),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i)},9721:(t,e,a)=>{"use strict";a.r(e);var s=a(1640),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i)}},t=>{t.O(0,[8898],(()=>{return e=64721,t(t.s=e);var e}));t.O()}]); \ No newline at end of file +(self.webpackChunkpixelfed=self.webpackChunkpixelfed||[]).push([[9567],{95366:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>r});var s=a(2e4);a(87980);function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function n(){n=function(){return e};var t,e={},a=Object.prototype,s=a.hasOwnProperty,o=Object.defineProperty||function(t,e,a){t[e]=a.value},r="function"==typeof Symbol?Symbol:{},l=r.iterator||"@@iterator",c=r.asyncIterator||"@@asyncIterator",d=r.toStringTag||"@@toStringTag";function u(t,e,a){return Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,a){return t[e]=a}}function p(t,e,a,s){var i=e&&e.prototype instanceof _?e:_,n=Object.create(i.prototype),r=new L(s||[]);return o(n,"_invoke",{value:A(t,a,r)}),n}function m(t,e,a){try{return{type:"normal",arg:t.call(e,a)}}catch(t){return{type:"throw",arg:t}}}e.wrap=p;var v="suspendedStart",f="suspendedYield",h="executing",g="completed",b={};function _(){}function y(){}function C(){}var w={};u(w,l,(function(){return this}));var x=Object.getPrototypeOf,k=x&&x(x(D([])));k&&k!==a&&s.call(k,l)&&(w=k);var S=C.prototype=_.prototype=Object.create(w);function T(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function R(t,e){function a(n,o,r,l){var c=m(t[n],t,o);if("throw"!==c.type){var d=c.arg,u=d.value;return u&&"object"==i(u)&&s.call(u,"__await")?e.resolve(u.__await).then((function(t){a("next",t,r,l)}),(function(t){a("throw",t,r,l)})):e.resolve(u).then((function(t){d.value=t,r(d)}),(function(t){return a("throw",t,r,l)}))}l(c.arg)}var n;o(this,"_invoke",{value:function(t,s){function i(){return new e((function(e,i){a(t,s,e,i)}))}return n=n?n.then(i,i):i()}})}function A(e,a,s){var i=v;return function(n,o){if(i===h)throw new Error("Generator is already running");if(i===g){if("throw"===n)throw o;return{value:t,done:!0}}for(s.method=n,s.arg=o;;){var r=s.delegate;if(r){var l=I(r,s);if(l){if(l===b)continue;return l}}if("next"===s.method)s.sent=s._sent=s.arg;else if("throw"===s.method){if(i===v)throw i=g,s.arg;s.dispatchException(s.arg)}else"return"===s.method&&s.abrupt("return",s.arg);i=h;var c=m(e,a,s);if("normal"===c.type){if(i=s.done?g:f,c.arg===b)continue;return{value:c.arg,done:s.done}}"throw"===c.type&&(i=g,s.method="throw",s.arg=c.arg)}}}function I(e,a){var s=a.method,i=e.iterator[s];if(i===t)return a.delegate=null,"throw"===s&&e.iterator.return&&(a.method="return",a.arg=t,I(e,a),"throw"===a.method)||"return"!==s&&(a.method="throw",a.arg=new TypeError("The iterator does not provide a '"+s+"' method")),b;var n=m(i,e.iterator,a.arg);if("throw"===n.type)return a.method="throw",a.arg=n.arg,a.delegate=null,b;var o=n.arg;return o?o.done?(a[e.resultName]=o.value,a.next=e.nextLoc,"return"!==a.method&&(a.method="next",a.arg=t),a.delegate=null,b):o:(a.method="throw",a.arg=new TypeError("iterator result is not an object"),a.delegate=null,b)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function D(e){if(e||""===e){var a=e[l];if(a)return a.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function a(){for(;++n=0;--n){var o=this.tryEntries[n],r=o.completion;if("root"===o.tryLoc)return i("end");if(o.tryLoc<=this.prev){var l=s.call(o,"catchLoc"),c=s.call(o,"finallyLoc");if(l&&c){if(this.prev=0;--a){var i=this.tryEntries[a];if(i.tryLoc<=this.prev&&s.call(i,"finallyLoc")&&this.prev=0;--e){var a=this.tryEntries[e];if(a.finallyLoc===t)return this.complete(a.completion,a.afterLoc),P(a),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var a=this.tryEntries[e];if(a.tryLoc===t){var s=a.completion;if("throw"===s.type){var i=s.arg;P(a)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,a,s){return this.delegate={iterator:D(e),resultName:a,nextLoc:s},"next"===this.method&&(this.arg=t),b}},e}function o(t,e,a,s,i,n,o){try{var r=t[n](o),l=r.value}catch(t){return void a(t)}r.done?e(l):Promise.resolve(l).then(s,i)}const r={components:{Autocomplete:s.default},data:function(){return{loaded:!1,tabIndex:0,config:{autospam_enabled:null,open:0,closed:0},closedReports:[],closedReportsFetched:!1,closedReportsCursor:null,closedReportsCanLoadMore:!1,showSpamReportModal:!1,showSpamReportModalLoading:!0,viewingSpamReport:void 0,viewingSpamReportLoading:!1,showNonSpamModal:!1,nonSpamAccounts:[],searchLoading:!1,customTokens:[],customTokensFetched:!1,customTokensCanLoadMore:!1,showCreateTokenModal:!1,customTokenForm:{token:void 0,weight:1,category:"spam",note:void 0,active:!0},showEditTokenModal:!1,editCustomToken:{},editCustomTokenForm:{token:void 0,weight:1,category:"spam",note:void 0,active:!0}}},mounted:function(){var t=this;setTimeout((function(){t.loaded=!0,t.fetchConfig()}),1e3)},methods:{toggleTab:function(t){var e=this;this.tabIndex=t,0==t&&setTimeout((function(){e.initChart()}),500),"closed_reports"!==t||this.closedReportsFetched||this.fetchClosedReports(),"manage_tokens"!==t||this.customTokensFetched||this.fetchCustomTokens()},formatCount:function(t){return App.util.format.count(t)},timeAgo:function(t){return t?App.util.format.timeAgo(t):t},fetchConfig:function(){var t=this;axios.post("/i/admin/api/autospam/config").then((function(e){t.config=e.data,t.loaded=!0})).finally((function(){setTimeout((function(){t.initChart()}),100)}))},initChart:function(){new Chart(document.querySelector("#c1-dark"),{type:"line",options:{scales:{yAxes:[{gridLines:{lineWidth:1,color:"#212529",zeroLineColor:"#212529"}}]}},data:{datasets:[{data:this.config.graph}],labels:this.config.graphLabels}})},fetchClosedReports:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/i/admin/api/autospam/reports/closed";axios.post(e).then((function(e){t.closedReports=e.data})).finally((function(){t.closedReportsFetched=!0}))},viewSpamReport:function(t){this.viewingSpamReportLoading=!1,this.viewingSpamReport=t,this.showSpamReportModal=!0,setTimeout((function(){pixelfed.readmore()}),500)},autospamPaginate:function(t){event.currentTarget.blur();var e="next"==t?this.closedReports.links.next:this.closedReports.links.prev;this.fetchClosedReports(e)},autospamTrainSpam:function(){event.currentTarget.blur(),axios.post("/i/admin/api/autospam/train").then((function(t){swal("Training Autospam!","A background job has been dispatched to train Autospam!","success"),setTimeout((function(){window.location.reload()}),1e4)})).catch((function(t){422===t.response.status?swal("Error",t.response.data.error,"error"):swal("Error","Oops, an error occured, please try again later","error")}))},autospamTrainNonSpam:function(){this.showNonSpamModal=!0},composeSearch:function(t){var e=this;return t.length<1?[]:axios.post("/i/admin/api/autospam/search/non-spam",{q:t}).then((function(t){return t.data.filter((function(t){return!e.nonSpamAccounts||!e.nonSpamAccounts.length||e.nonSpamAccounts&&-1==e.nonSpamAccounts.map((function(t){return t.id})).indexOf(t.id)}))}))},getTagResultValue:function(t){return t.username},onSearchResultClick:function(t){-1==this.nonSpamAccounts.map((function(t){return t.id})).indexOf(t.id)&&this.nonSpamAccounts.push(t)},autospamTrainNonSpamRemove:function(t){this.nonSpamAccounts.splice(t,1)},autospamTrainNonSpamSubmit:function(){this.showNonSpamModal=!1,axios.post("/i/admin/api/autospam/train/non-spam",{accounts:this.nonSpamAccounts}).then((function(t){swal("Training Autospam!","A background job has been dispatched to train Autospam!","success"),setTimeout((function(){window.location.reload()}),1e4)})).catch((function(t){422===t.response.status?swal("Error",t.response.data.error,"error"):swal("Error","Oops, an error occured, please try again later","error")}))},fetchCustomTokens:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/i/admin/api/autospam/tokens/custom";axios.post(e).then((function(e){t.customTokens=e.data})).finally((function(){t.customTokensFetched=!0}))},handleSaveToken:function(){var t=this;axios.post("/i/admin/api/autospam/tokens/store",this.customTokenForm).then((function(t){console.log(t.data)})).catch((function(t){swal("Oops! An Error Occured",t.response.data.message,"error")})).finally((function(){t.customTokenForm={token:void 0,weight:1,category:"spam",note:void 0,active:!0},t.fetchCustomTokens()}))},openEditTokenModal:function(t){event.currentTarget.blur(),this.editCustomToken=t,this.editCustomTokenForm=t,this.showEditTokenModal=!0},handleUpdateToken:function(){axios.post("/i/admin/api/autospam/tokens/update",this.editCustomTokenForm).then((function(t){console.log(t.data)}))},autospamTokenPaginate:function(t){event.currentTarget.blur();var e="next"==t?this.customTokens.next_page_url:this.customTokens.prev_page_url;this.fetchCustomTokens(e)},downloadExport:function(){event.currentTarget.blur(),axios.post("/i/admin/api/autospam/tokens/export",{},{responseType:"blob"}).then((function(t){var e=document.createElement("a");e.setAttribute("download","pixelfed-autospam-export.json");var a=URL.createObjectURL(t.data);e.href=a,e.setAttribute("target","_blank"),e.click(),URL.revokeObjectURL(a)})).catch(function(){var t,e=(t=n().mark((function t(e){var a;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=e.response.data,!("blob"===e.request.responseType&&e.response.data instanceof Blob&&e.response.data.type&&-1!=e.response.data.type.toLowerCase().indexOf("json"))){t.next=8;break}return t.t0=JSON,t.next=5,e.response.data.text();case 5:t.t1=t.sent,a=t.t0.parse.call(t.t0,t.t1),swal("Export Error",a.error,"error");case 8:case 9:case"end":return t.stop()}}),t)})),function(){var e=this,a=arguments;return new Promise((function(s,i){var n=t.apply(e,a);function r(t){o(n,s,i,r,l,"next",t)}function l(t){o(n,s,i,r,l,"throw",t)}r(void 0)}))});return function(t){return e.apply(this,arguments)}}())},enableAdvanced:function(){event.currentTarget.blur(),!this.config.files.spam.exists||!this.config.files.ham.exists||!this.config.files.combined.exists||this.config.files.spam.size<1e3||this.config.files.ham.size<1e3||this.config.files.combined.size<1e3?swal("Training Required",'Before you can enable Advanced Detection, you need to train the models.\n\n Click on the "Train Autospam" tab and train both categories before proceeding',"error"):swal({title:"Confirm",text:"Are you sure you want to enable Advanced Detection?",icon:"warning",dangerMode:!0,buttons:{cancel:"Cancel",confirm:{text:"Enable",value:"enable"}}}).then((function(t){"enable"===t&&axios.post("/i/admin/api/autospam/config/enable").then((function(t){swal("Success! Advanced Detection is now enabled!\n\n This page will reload in a few seconds!",{icon:"success"}),setTimeout((function(){window.location.reload()}),5e3)})).catch((function(t){swal("Oops!","An error occured, please try again later","error")}))}))},disableAdvanced:function(){event.currentTarget.blur(),swal({title:"Confirm",text:"Are you sure you want to disable Advanced Detection?",icon:"warning",dangerMode:!0,buttons:{cancel:"Cancel",confirm:{text:"Disable",value:"disable"}}}).then((function(t){"disable"===t&&axios.post("/i/admin/api/autospam/config/disable").then((function(t){swal("Success! Advanced Detection is now disabled!\n\n This page will reload in a few seconds!",{icon:"success"}),setTimeout((function(){window.location.reload()}),5e3)})).catch((function(t){swal("Oops!","An error occured, please try again later","error")}))}))},handleImport:function(){event.currentTarget.blur(),swal("Error","You do not have enough data to support importing.","error")}}}},71847:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>i});var s=a(74692);const i={data:function(){return{loaded:!1,initialData:{},tabIndex:1,tabs:[{id:1,title:"Overview",icon:"far fa-home"},{id:3,title:"Server Details",icon:"far fa-info-circle"},{id:4,title:"Admin Contact",icon:"far fa-user-crown"},{id:5,title:"Favourite Posts",icon:"far fa-heart"},{id:6,title:"Privacy Pledge",icon:"far fa-eye-slash"},{id:7,title:"Community Guidelines",icon:"far fa-smile-beam"},{id:8,title:"Feature Requirements",icon:"far fa-bolt"},{id:9,title:"User Testimonials",icon:"far fa-comment-smile"}],form:{summary:"",location:0,contact_account:0,contact_email:"",privacy_pledge:void 0,banner_image:void 0,locale:0},requirements:{activitypub_enabled:void 0,open_registration:void 0,oauth_enabled:void 0},feature_config:[],requirements_validator:[],popularPostsLoaded:!1,popularPosts:[],selectedPopularPosts:[],selectedPosts:[],favouritePostByIdInput:"",favouritePostByIdFetching:!1,communityGuidelines:[],isUploadingBanner:!1,state:{is_eligible:!1,submission_exists:!1,awaiting_approval:!1,is_active:!1,submission_timestamp:void 0},isSubmitting:!1,testimonial:{username:void 0,body:void 0},testimonials:[],isEditingTestimonial:!1,editingTestimonial:void 0}},mounted:function(){this.fetchInitialData()},methods:{toggleTab:function(t){this.tabIndex=t},fetchInitialData:function(){var t=this;axios.get("/i/admin/api/directory/initial-data").then((function(e){t.initialData=e.data,e.data.activitypub_enabled&&(t.requirements.activitypub_enabled=e.data.activitypub_enabled),e.data.open_registration&&(t.requirements.open_registration=e.data.open_registration),e.data.oauth_enabled&&(t.requirements.oauth_enabled=e.data.oauth_enabled),e.data.summary&&(t.form.summary=e.data.summary),e.data.location&&(t.form.location=e.data.location),e.data.favourite_posts&&(t.selectedPosts=e.data.favourite_posts),e.data.admin&&(t.form.contact_account=e.data.admin),e.data.contact_email&&(t.form.contact_email=e.data.contact_email),e.data.community_guidelines&&(t.communityGuidelines=e.data.community_guidelines),e.data.privacy_pledge&&(t.form.privacy_pledge=e.data.privacy_pledge),e.data.feature_config&&(t.feature_config=e.data.feature_config),e.data.requirements_validator&&(t.requirements_validator=e.data.requirements_validator),e.data.banner_image&&(t.form.banner_image=e.data.banner_image),e.data.primary_locale&&(t.form.primary_locale=e.data.primary_locale),e.data.is_eligible&&(t.state.is_eligible=e.data.is_eligible),e.data.testimonials&&(t.testimonials=e.data.testimonials),e.data.submission_state&&(t.state.is_active=e.data.submission_state.active_submission,t.state.submission_exists=e.data.submission_state.pending_submission,t.state.awaiting_approval=e.data.submission_state.pending_submission)})).then((function(){t.loaded=!0}))},initPopularPosts:function(){var t=this;this.popularPostsLoaded||axios.get("/i/admin/api/directory/popular-posts").then((function(e){t.popularPosts=e.data.filter((function(e){return!t.selectedPosts.map((function(t){return t.id})).includes(e.id)}))})).then((function(){t.popularPostsLoaded=!0}))},formatCount:function(t){return window.App.util.format.count(t)},formatDateTime:function(t){var e=new Date(t);return new Intl.DateTimeFormat("en-US",{dateStyle:"medium",timeStyle:"short"}).format(e)},formatDate:function(t){var e=new Date(t);return new Intl.DateTimeFormat("en-US",{month:"short",year:"numeric"}).format(e)},formatTimestamp:function(t){return window.App.util.format.timeAgo(t)},togglePopularPost:function(t,e){if(this.selectedPosts.length)if(this.selectedPosts.map((function(t){return t.id})).includes(t))this.selectedPosts=this.selectedPosts.filter((function(e){return e.id!=t}));else{if(this.selectedPosts.length>=12)return swal("Oops!","You can only select 12 popular posts","error"),void(event.currentTarget.checked=!1);this.selectedPosts.push(e)}else this.selectedPosts.push(e)},toggleSelectedPost:function(t){this.selectedPosts=this.selectedPosts.filter((function(e){return e.id!==t.id}))},handlePostByIdSearch:function(){var t=this;event.currentTarget.blur(),this.selectedPosts.length>=12?swal("Oops","You can only select 12 posts","error"):(this.favouritePostByIdFetching=!0,axios.post("/i/admin/api/directory/add-by-id",{q:this.favouritePostByIdInput}).then((function(e){t.selectedPosts.map((function(t){return t.id})).includes(e.data.id)?swal("Oops!","You already selected this post!","error"):(t.selectedPosts.push(e.data),t.favouritePostByIdInput="",t.popularPosts=t.popularPosts.filter((function(t){return t.id!=e.data.id})))})).then((function(){t.favouritePostByIdFetching=!1,s("#favposts-1-tab").tab("show")})).catch((function(e){swal("Invalid Post","The post id you added is not valid","error"),t.favouritePostByIdFetching=!1})))},save:function(){axios.post("/i/admin/api/directory/save",{location:this.form.location,summary:this.form.summary,admin_uid:this.form.contact_account,contact_email:this.form.contact_email,favourite_posts:this.selectedPosts.map((function(t){return t.id})),privacy_pledge:this.form.privacy_pledge}).then((function(t){swal("Success!","Successfully saved directory settings","success")})).catch((function(t){swal("Oops!",t.response.data.message,"error")}))},uploadBannerImage:function(){var t=this;if(this.isUploadingBanner=!0,window.confirm("Are you sure you want to update your server banner image?")){var e=new FormData;e.append("banner_image",this.$refs.bannerImageRef.files[0]),axios.post("/i/admin/api/directory/save",e,{headers:{"Content-Type":"multipart/form-data"}}).then((function(e){t.form.banner_image=e.data.banner_image,t.isUploadingBanner=!1})).catch((function(e){swal("Error",e.response.data.message,"error"),t.isUploadingBanner=!1}))}else this.isUploadingBanner=!1},deleteBannerImage:function(){var t=this;window.confirm("Are you sure you want to delete your server banner image?")&&axios.delete("/i/admin/api/directory/banner-image").then((function(e){t.form.banner_image=e.data})).catch((function(t){console.log(t)}))},handleSubmit:function(){var t=this;window.confirm("Are you sure you want to submit your server?")&&(this.isSubmitting=!0,axios.post("/i/admin/api/directory/submit").then((function(e){setTimeout((function(){t.isSubmitting=!1,t.state.is_active=!0,console.log(e.data)}),3e3)})).catch((function(t){swal("Error",t.response.data.message,"error")})))},deleteTestimonial:function(t){var e=this;window.confirm("Are you sure you want to delete the testimonial by "+t.profile.username+"?")&&axios.post("/i/admin/api/directory/testimonial/delete",{profile_id:t.profile.id}).then((function(a){e.testimonials=e.testimonials.filter((function(e){return e.profile.id!=t.profile.id}))}))},editTestimonial:function(t){this.isEditingTestimonial=!0,this.editingTestimonial=t},saveTestimonial:function(){var t,e=this;null===(t=event.currentTarget)||void 0===t||t.blur(),axios.post("/i/admin/api/directory/testimonial/save",{username:this.testimonial.username,body:this.testimonial.body}).then((function(t){e.testimonials.push(t.data),e.testimonial={username:void 0,body:void 0}})).catch((function(t){var e=t.response.data.hasOwnProperty("error")?t.response.data.error:t.response.data.message;swal("Oops!",e,"error")}))},cancelEditTestimonial:function(){var t;null===(t=event.currentTarget)||void 0===t||t.blur(),this.isEditingTestimonial=!1,this.editingTestimonial={}},saveEditTestimonial:function(){var t,e=this;null===(t=event.currentTarget)||void 0===t||t.blur(),axios.post("/i/admin/api/directory/testimonial/update",{profile_id:this.editingTestimonial.profile.id,body:this.editingTestimonial.body}).then((function(t){e.isEditingTestimonial=!1,e.editingTestimonial={}}))}},watch:{selectedPosts:function(t){var e=t.map((function(t){return t.id}));this.popularPosts=this.popularPosts.filter((function(t){return!e.includes(t.id)}))}}}},44107:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>i});var s=a(2e4);a(87980);const i={components:{Autocomplete:s.default},data:function(){return{loaded:!1,tabIndex:0,stats:{total_unique:0,total_posts:0,added_14_days:0,total_banned:0,total_nsfw:0},hashtags:[],pagination:[],sortCol:void 0,sortDir:void 0,trendingTags:[],bannedTags:[],showEditModal:!1,editingHashtag:void 0,editSaved:!1,editSavedTimeout:void 0,searchLoading:!1}},mounted:function(){var t=this;this.fetchStats(),this.fetchHashtags(),this.$root.$on("bv::modal::hidden",(function(e,a){t.editSaved=!1,clearTimeout(t.editSavedTimeout),t.editingHashtag=void 0}))},watch:{editingHashtag:{deep:!0,immediate:!0,handler:function(t,e){null!=t&&null!=e&&this.storeHashtagEdit(t)}}},methods:{fetchStats:function(){var t=this;axios.get("/i/admin/api/hashtags/stats").then((function(e){t.stats=e.data}))},fetchHashtags:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/i/admin/api/hashtags/query";axios.get(e).then((function(e){t.hashtags=e.data.data,t.pagination={next:e.data.links.next,prev:e.data.links.prev},t.loaded=!0}))},prettyCount:function(t){return t?t.toLocaleString("en-CA",{compactDisplay:"short",notation:"compact"}):t},timeAgo:function(t){return t?App.util.format.timeAgo(t):t},boolIcon:function(t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"text-muted";return t?''):'')},paginate:function(t){event.currentTarget.blur();var e="next"==t?this.pagination.next:this.pagination.prev;this.fetchHashtags(e)},toggleCol:function(t){this.sortCol=t,this.sortDir?this.sortDir="asc"==this.sortDir?"desc":"asc":this.sortDir="desc";var e="/i/admin/api/hashtags/query?sort="+t+"&dir="+this.sortDir;this.fetchHashtags(e)},buildColumn:function(t,e){var a='';return e==this.sortCol&&(a="desc"==this.sortDir?'':''),"".concat(t," ").concat(a)},toggleTab:function(t){var e=this;if(this.loaded=!1,this.tabIndex=t,0===t)this.fetchHashtags();else if(1===t)axios.get("/api/v1.1/discover/posts/hashtags").then((function(t){e.trendingTags=t.data,e.loaded=!0}));else if(2===t){this.fetchHashtags("/i/admin/api/hashtags/query?action=banned")}else if(3===t){this.fetchHashtags("/i/admin/api/hashtags/query?action=nsfw")}},openEditHashtagModal:function(t){var e=this;this.editSaved=!1,clearTimeout(this.editSavedTimeout),this.$nextTick((function(){axios.get("/i/admin/api/hashtags/get",{params:{id:t.id}}).then((function(t){e.editingHashtag=t.data.data,e.showEditModal=!0}))}))},storeHashtagEdit:function(t,e){var a=this;this.editSaved=!1,t.is_banned&&(t.can_trend||t.can_search)&&swal("Banned Hashtag Limits","Banned hashtags cannot trend or be searchable, to allow those you need to unban the hashtag","error"),axios.post("/i/admin/api/hashtags/update",t).then((function(e){a.editSaved=!0,1!==a.tabIndex&&(a.hashtags=a.hashtags.map((function(a){return a.id==t.id&&(a=e.data.data),a}))),a.editSavedTimeout=setTimeout((function(){a.editSaved=!1}),5e3)})).catch((function(t){swal("Oops!","An error occured, please try again.","error"),console.log(t)}))},composeSearch:function(t){return t.length<1?[]:axios.get("/i/admin/api/hashtags/query",{params:{q:t,sort:"cached_count",dir:"desc"}}).then((function(t){return t.data.data}))},getTagResultValue:function(t){return t.name},onSearchResultClick:function(t){this.openEditHashtagModal(t)},clearTrendingCache:function(){event.currentTarget.blur(),window.confirm("Are you sure you want to clear the trending hashtags cache?")&&axios.post("/i/admin/api/hashtags/clear-trending-cache").then((function(t){swal("Cache Cleared!","Successfully cleared the trending hashtag cache!","success")}))}}}},56310:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>u});var s=a(2e4);a(87980);function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function n(){n=function(){return e};var t,e={},a=Object.prototype,s=a.hasOwnProperty,o=Object.defineProperty||function(t,e,a){t[e]=a.value},r="function"==typeof Symbol?Symbol:{},l=r.iterator||"@@iterator",c=r.asyncIterator||"@@asyncIterator",d=r.toStringTag||"@@toStringTag";function u(t,e,a){return Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,a){return t[e]=a}}function p(t,e,a,s){var i=e&&e.prototype instanceof _?e:_,n=Object.create(i.prototype),r=new L(s||[]);return o(n,"_invoke",{value:A(t,a,r)}),n}function m(t,e,a){try{return{type:"normal",arg:t.call(e,a)}}catch(t){return{type:"throw",arg:t}}}e.wrap=p;var v="suspendedStart",f="suspendedYield",h="executing",g="completed",b={};function _(){}function y(){}function C(){}var w={};u(w,l,(function(){return this}));var x=Object.getPrototypeOf,k=x&&x(x(D([])));k&&k!==a&&s.call(k,l)&&(w=k);var S=C.prototype=_.prototype=Object.create(w);function T(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function R(t,e){function a(n,o,r,l){var c=m(t[n],t,o);if("throw"!==c.type){var d=c.arg,u=d.value;return u&&"object"==i(u)&&s.call(u,"__await")?e.resolve(u.__await).then((function(t){a("next",t,r,l)}),(function(t){a("throw",t,r,l)})):e.resolve(u).then((function(t){d.value=t,r(d)}),(function(t){return a("throw",t,r,l)}))}l(c.arg)}var n;o(this,"_invoke",{value:function(t,s){function i(){return new e((function(e,i){a(t,s,e,i)}))}return n=n?n.then(i,i):i()}})}function A(e,a,s){var i=v;return function(n,o){if(i===h)throw new Error("Generator is already running");if(i===g){if("throw"===n)throw o;return{value:t,done:!0}}for(s.method=n,s.arg=o;;){var r=s.delegate;if(r){var l=I(r,s);if(l){if(l===b)continue;return l}}if("next"===s.method)s.sent=s._sent=s.arg;else if("throw"===s.method){if(i===v)throw i=g,s.arg;s.dispatchException(s.arg)}else"return"===s.method&&s.abrupt("return",s.arg);i=h;var c=m(e,a,s);if("normal"===c.type){if(i=s.done?g:f,c.arg===b)continue;return{value:c.arg,done:s.done}}"throw"===c.type&&(i=g,s.method="throw",s.arg=c.arg)}}}function I(e,a){var s=a.method,i=e.iterator[s];if(i===t)return a.delegate=null,"throw"===s&&e.iterator.return&&(a.method="return",a.arg=t,I(e,a),"throw"===a.method)||"return"!==s&&(a.method="throw",a.arg=new TypeError("The iterator does not provide a '"+s+"' method")),b;var n=m(i,e.iterator,a.arg);if("throw"===n.type)return a.method="throw",a.arg=n.arg,a.delegate=null,b;var o=n.arg;return o?o.done?(a[e.resultName]=o.value,a.next=e.nextLoc,"return"!==a.method&&(a.method="next",a.arg=t),a.delegate=null,b):o:(a.method="throw",a.arg=new TypeError("iterator result is not an object"),a.delegate=null,b)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function D(e){if(e||""===e){var a=e[l];if(a)return a.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function a(){for(;++n=0;--n){var o=this.tryEntries[n],r=o.completion;if("root"===o.tryLoc)return i("end");if(o.tryLoc<=this.prev){var l=s.call(o,"catchLoc"),c=s.call(o,"finallyLoc");if(l&&c){if(this.prev=0;--a){var i=this.tryEntries[a];if(i.tryLoc<=this.prev&&s.call(i,"finallyLoc")&&this.prev=0;--e){var a=this.tryEntries[e];if(a.finallyLoc===t)return this.complete(a.completion,a.afterLoc),P(a),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var a=this.tryEntries[e];if(a.tryLoc===t){var s=a.completion;if("throw"===s.type){var i=s.arg;P(a)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,a,s){return this.delegate={iterator:D(e),resultName:a,nextLoc:s},"next"===this.method&&(this.arg=t),b}},e}function o(t,e,a,s,i,n,o){try{var r=t[n](o),l=r.value}catch(t){return void a(t)}r.done?e(l):Promise.resolve(l).then(s,i)}function r(t){return function(){var e=this,a=arguments;return new Promise((function(s,i){var n=t.apply(e,a);function r(t){o(n,s,i,r,l,"next",t)}function l(t){o(n,s,i,r,l,"throw",t)}r(void 0)}))}}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,s)}return a}function c(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:"/i/admin/api/instances/get";axios.get(e).then((function(e){t.instances=e.data.data,t.pagination=c(c({},e.data.links),e.data.meta)})).then((function(){t.$nextTick((function(){t.loaded=!0}))}))},toggleTab:function(t){this.loaded=!1,this.tabIndex=t,this.searchQuery=void 0;var e="/i/admin/api/instances/get?filter="+this.filterMap[t];history.pushState(null,"","/i/admin/instances?filter="+this.filterMap[t]),this.fetchInstances(e)},prettyCount:function(t){return t?t.toLocaleString("en-CA",{compactDisplay:"short",notation:"compact"}):0},formatCount:function(t){return t?t.toLocaleString("en-CA"):0},timeAgo:function(t){return t?App.util.format.timeAgo(t):t},boolIcon:function(t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"text-muted";return t?''):'')},toggleCol:function(t){if(this.filterMap[this.tabIndex]!=t&&!this.searchQuery){this.sortCol=t,this.sortDir?this.sortDir="asc"==this.sortDir?"desc":"asc":this.sortDir="desc";var e=new URL(window.location.origin+"/i/admin/instances");e.searchParams.set("sort",t),e.searchParams.set("dir",this.sortDir),0!=this.tabIndex&&e.searchParams.set("filter",this.filterMap[this.tabIndex]),history.pushState(null,"",e);var a=new URL(window.location.origin+"/i/admin/api/instances/get");a.searchParams.set("sort",t),a.searchParams.set("dir",this.sortDir),0!=this.tabIndex&&a.searchParams.set("filter",this.filterMap[this.tabIndex]),this.fetchInstances(a.toString())}},buildColumn:function(t,e){if(-1!=[1,5,6].indexOf(this.tabIndex)||this.searchQuery&&this.searchQuery.length)return t;if(2===this.tabIndex&&"banned"===e)return t;if(3===this.tabIndex&&"auto_cw"===e)return t;if(4===this.tabIndex&&"unlisted"===e)return t;var a='';return e==this.sortCol&&(a="desc"==this.sortDir?'':''),"".concat(t," ").concat(a)},paginate:function(t){event.currentTarget.blur();var e="next"==t?this.pagination.next:this.pagination.prev,a="next"==t?this.pagination.next_cursor:this.pagination.prev_cursor,s=new URL(window.location.origin+"/i/admin/instances");a&&s.searchParams.set("cursor",a),this.searchQuery&&s.searchParams.set("q",this.searchQuery),this.sortCol&&s.searchParams.set("sort",this.sortCol),this.sortDir&&s.searchParams.set("dir",this.sortDir),history.pushState(null,"",s.toString()),this.fetchInstances(e)},composeSearch:function(t){var e=this;return t.length<1?[]:(this.searchQuery=t,history.pushState(null,"","/i/admin/instances?q="+t),axios.get("/i/admin/api/instances/query",{params:{q:t}}).then((function(t){return t&&t.data?(e.tabIndex=-1,e.instances=t.data.data,e.pagination=c(c({},t.data.links),t.data.meta)):e.fetchInstances(),t.data.data})))},getTagResultValue:function(t){return t.name},onSearchResultClick:function(t){this.openInstanceModal(t.id)},openInstanceModal:function(t){var e=this,a=this.instances.filter((function(e){return e.id===t}))[0];this.refreshedModalStats=!1,this.editingInstanceChanges=!1,this.instanceModalNotes=!1,this.canEditInstance=!1,this.instanceModal=a,this.$nextTick((function(){e.editingInstance=a,e.showInstanceModal=!0,e.canEditInstance=!0}))},showModalNotes:function(){this.instanceModalNotes=!0},saveInstanceModalChanges:function(){var t=this;axios.post("/i/admin/api/instances/update",this.editingInstance).then((function(e){t.showInstanceModal=!1,t.$bvToast.toast("Successfully updated ".concat(e.data.data.domain),{title:"Instance Updated",autoHideDelay:5e3,appendToast:!0,variant:"success"})}))},saveNewInstance:function(){var t=this;axios.post("/i/admin/api/instances/create",this.addNewInstance).then((function(e){t.showInstanceModal=!1,t.instances.unshift(e.data.data)})).catch((function(e){swal("Oops!","An error occured, please try again later.","error"),t.addNewInstance={domain:"",banned:!1,auto_cw:!1,unlisted:!1,notes:void 0}}))},refreshModalStats:function(){var t=this;axios.post("/i/admin/api/instances/refresh-stats",{id:this.instanceModal.id}).then((function(e){t.refreshedModalStats=!0,t.instanceModal=e.data.data,t.editingInstance=e.data.data,t.instances=t.instances.map((function(t){return t.id===e.data.data.id?e.data.data:t}))}))},deleteInstanceModal:function(){var t=this;window.confirm("Are you sure you want to delete this instance? This will not delete posts or profiles from this instance.")&&axios.post("/i/admin/api/instances/delete",{id:this.instanceModal.id}).then((function(e){t.showInstanceModal=!1,t.instances=t.instances.filter((function(e){return e.id!=t.instanceModal.id}))})).then((function(){setTimeout((function(){return t.fetchStats()}),1e3)}))},openImportForm:function(){var t=document.createElement("p");t.classList.add("text-left"),t.classList.add("mb-0"),t.innerHTML='

Import your instance moderation backup.


Import Instructions:

  1. Press OK
  2. Press "Choose File" on Import form input
  3. Select your pixelfed-instances-mod.json file
  4. Review instance moderation actions. Tap on an instance to remove it
  5. Press "Import" button to finish importing
';var e=document.createElement("div");e.appendChild(t),swal({title:"Import Backup",content:e,icon:"info"}),this.showImportForm=!0},downloadBackup:function(t){axios.get("/i/admin/api/instances/download-backup",{responseType:"blob"}).then((function(t){var e=document.createElement("a");e.setAttribute("download","pixelfed-instances-mod.json");var a=URL.createObjectURL(t.data);e.href=a,e.setAttribute("target","_blank"),e.click(),swal("Instance Backup Downloading","Your instance moderation backup is downloading. Use this to import auto_cw, banned and unlisted instances to supported Pixelfed instances.","success")}))},onImportUpload:function(t){var e=this;return r(n().mark((function a(){var s;return n().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,e.getParsedImport(t.target.files[0]);case 2:if((s=a.sent).hasOwnProperty("version")&&1===s.version){a.next=8;break}return swal("Invalid Backup","We cannot validate this backup. Please try again later.","error"),e.showImportForm=!1,e.$refs.importInput.reset(),a.abrupt("return");case 8:e.importData=s,e.showImportModal=!0;case 10:case"end":return a.stop()}}),a)})))()},getParsedImport:function(t){var e=this;return r(n().mark((function a(){var s,i;return n().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,e.parseJsonFile(t);case 3:return a.abrupt("return",a.sent);case 6:return a.prev=6,a.t0=a.catch(0),(s=document.createElement("p")).classList.add("text-left"),s.classList.add("mb-0"),s.innerHTML='

An error occured when attempting to parse the import file. Please try again later.


Error message:

'+a.t0.message+"
",(i=document.createElement("div")).appendChild(s),swal({title:"Import Error",content:i,icon:"error"}),a.abrupt("return");case 16:case"end":return a.stop()}}),a,null,[[0,6]])})))()},promisedParseJSON:function(t){return r(n().mark((function e(){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,a){try{e(JSON.parse(t))}catch(t){a(t)}})));case 1:case"end":return e.stop()}}),e)})))()},parseJsonFile:function(t){var e=this;return r(n().mark((function a(){return n().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",new Promise((function(a,s){var i=new FileReader;i.onload=function(t){return a(e.promisedParseJSON(t.target.result))},i.onerror=function(t){return s(t)},i.readAsText(t)})));case 1:case"end":return a.stop()}}),a)})))()},filterImportData:function(t,e){switch(t){case"auto_cw":this.importData.auto_cw.splice(e,1);break;case"unlisted":this.importData.unlisted.splice(e,1);break;case"banned":this.importData.banned.splice(e,1)}},completeImport:function(){var t=this;this.showImportForm=!1,axios.post("/i/admin/api/instances/import-data",{banned:this.importData.banned,auto_cw:this.importData.auto_cw,unlisted:this.importData.unlisted}).then((function(t){swal("Import Uploaded","Import successfully uploaded, please allow a few minutes to process.","success")})).then((function(){setTimeout((function(){return t.fetchStats()}),1e3)}))},cancelImport:function(t){if(this.importData.banned.length||this.importData.auto_cw.length||this.importData.unlisted.length){if(!window.confirm("Are you sure you want to cancel importing?"))return void t.preventDefault();this.showImportForm=!1,this.$refs.importInput.value="",this.importData={banned:[],auto_cw:[],unlisted:[]}}},onViewMoreInstance:function(){this.showInstanceModal=!1,window.location.href="/i/admin/instances/show/"+this.instanceModal.id}}}},51839:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>i});var s=a(74692);const i={data:function(){return{loaded:!1,stats:{total:0,open:0,closed:0,autospam:0,autospam_open:0},tabIndex:0,reports:[],pagination:{},showReportModal:!1,viewingReport:void 0,viewingReportLoading:!1,autospam:[],autospamPagination:{},autospamLoaded:!1,showSpamReportModal:!1,viewingSpamReport:void 0,viewingSpamReportLoading:!1}},mounted:function(){var t=new URLSearchParams(window.location.search);t.has("tab")&&t.has("id")&&"autospam"===t.get("tab")?(this.fetchStats(null,"/i/admin/api/reports/spam/all"),this.fetchSpamReport(t.get("id"))):t.has("tab")&&t.has("id")&&"report"===t.get("tab")?(this.fetchStats(),this.fetchReport(t.get("id"))):(window.history.pushState(null,null,"/i/admin/reports"),this.fetchStats()),this.$root.$on("bv::modal::hide",(function(t,e){window.history.pushState(null,null,"/i/admin/reports")}))},methods:{toggleTab:function(t){switch(t){case 0:this.fetchStats("/i/admin/api/reports/all");break;case 1:this.fetchStats("/i/admin/api/reports/all?filter=closed");break;case 2:this.fetchStats(null,"/i/admin/api/reports/spam/all")}window.history.pushState(null,null,"/i/admin/reports"),this.tabIndex=t},prettyCount:function(t){return t?t.toLocaleString("en-CA",{compactDisplay:"short",notation:"compact"}):t},timeAgo:function(t){return t?App.util.format.timeAgo(t):t},formatDate:function(t){var e=new Date(t);return new Intl.DateTimeFormat("default",{month:"long",day:"numeric",year:"numeric",hour:"numeric",minute:"numeric"}).format(e)},reportLabel:function(t){switch(t.object_type){case"App\\Profile":return"".concat(t.type," Profile");case"App\\Status":return"".concat(t.type," Post");case"App\\Story":return"".concat(t.type," Story")}},fetchStats:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/i/admin/api/reports/all",a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;axios.get("/i/admin/api/reports/stats").then((function(e){t.stats=e.data})).finally((function(){e?t.fetchReports(e):a&&t.fetchAutospam(a),s('[data-toggle="tooltip"]').tooltip()}))},fetchReports:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/i/admin/api/reports/all";axios.get(e).then((function(e){t.reports=e.data.data,t.pagination={next:e.data.links.next,prev:e.data.links.prev}})).finally((function(){t.loaded=!0}))},paginate:function(t){event.currentTarget.blur();var e="next"==t?this.pagination.next:this.pagination.prev;this.fetchReports(e)},viewReport:function(t){this.viewingReportLoading=!1,this.viewingReport=t,this.showReportModal=!0,window.history.pushState(null,null,"/i/admin/reports?tab=report&id="+t.id),setTimeout((function(){pixelfed.readmore()}),1e3)},handleAction:function(t,e){var a=this;event.currentTarget.blur(),this.viewingReportLoading=!0,"ignore"===e||window.confirm(this.getActionLabel(t,e))?(this.loaded=!1,axios.post("/i/admin/api/reports/handle",{id:this.viewingReport.id,object_id:this.viewingReport.object_id,object_type:this.viewingReport.object_type,action:e,action_type:t}).catch((function(t){swal("Error",t.response.data.error,"error")})).finally((function(){a.viewingReportLoading=!0,a.viewingReport=!1,a.showReportModal=!1,setTimeout((function(){a.fetchStats()}),1e3)}))):this.viewingReportLoading=!1},getActionLabel:function(t,e){if("profile"===t)switch(e){case"ignore":return"Are you sure you want to ignore this profile report?";case"nsfw":return"Are you sure you want to mark this profile as NSFW?";case"unlist":return"Are you sure you want to mark all posts by this profile as unlisted?";case"private":return"Are you sure you want to mark all posts by this profile as private?";case"delete":return"Are you sure you want to delete this profile?"}else if("post"===t)switch(e){case"ignore":return"Are you sure you want to ignore this post report?";case"nsfw":return"Are you sure you want to mark this post as NSFW?";case"unlist":return"Are you sure you want to mark this post as unlisted?";case"private":return"Are you sure you want to mark this post as private?";case"delete":return"Are you sure you want to delete this post?"}else if("story"===t)switch(e){case"ignore":return"Are you sure you want to ignore this story report?";case"delete":return"Are you sure you want to delete this story?";case"delete-all":return"Are you sure you want to delete all stories by this account?"}},fetchAutospam:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/i/admin/api/reports/spam/all";axios.get(e).then((function(e){t.autospam=e.data.data,t.autospamPagination={next:e.data.links.next,prev:e.data.links.prev}})).finally((function(){t.autospamLoaded=!0,t.loaded=!0}))},autospamPaginate:function(t){event.currentTarget.blur();var e="next"==t?this.autospamPagination.next:this.autospamPagination.prev;this.fetchAutospam(e)},viewSpamReport:function(t){this.viewingSpamReportLoading=!1,this.viewingSpamReport=t,this.showSpamReportModal=!0,window.history.pushState(null,null,"/i/admin/reports?tab=autospam&id="+t.id),setTimeout((function(){pixelfed.readmore()}),1e3)},getSpamActionLabel:function(t){switch(t){case"mark-all-read":return"Are you sure you want to mark all spam reports by this account as read?";case"mark-all-not-spam":return"Are you sure you want to mark all spam reports by this account as not spam?";case"delete-profile":return"Are you sure you want to delete this profile?"}},handleSpamAction:function(t){var e=this;event.currentTarget.blur(),this.viewingSpamReportLoading=!0,"mark-not-spam"===t||"mark-read"===t||window.confirm(this.getSpamActionLabel(t))?(this.loaded=!1,axios.post("/i/admin/api/reports/spam/handle",{id:this.viewingSpamReport.id,action:t}).catch((function(t){swal("Error",t.response.data.error,"error")})).finally((function(){e.viewingSpamReportLoading=!0,e.viewingSpamReport=!1,e.showSpamReportModal=!1,setTimeout((function(){e.fetchStats(null,"/i/admin/api/reports/spam/all")}),500)}))):this.viewingSpamReportLoading=!1},fetchReport:function(t){var e=this;axios.get("/i/admin/api/reports/get/"+t).then((function(t){e.tabIndex=0,e.viewReport(t.data.data)})).catch((function(t){e.fetchStats(),window.history.pushState(null,null,"/i/admin/reports")}))},fetchSpamReport:function(t){var e=this;axios.get("/i/admin/api/reports/spam/get/"+t).then((function(t){e.tabIndex=2,e.viewSpamReport(t.data.data)})).catch((function(t){e.fetchStats(),window.history.pushState(null,null,"/i/admin/reports")}))}}}},69385:(t,e,a)=>{"use strict";a.r(e),a.d(e,{render:()=>s,staticRenderFns:()=>i});var s=function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"header bg-primary pb-3 mt-n4"},[e("div",{staticClass:"container-fluid"},[e("div",{staticClass:"header-body"},[e("div",{staticClass:"row align-items-center py-4"},[t._m(0),t._v(" "),e("div",{staticClass:"col-xl-4 col-lg-3 col-md-4"},[e("div",{staticClass:"card card-stats mb-lg-0"},[e("div",{staticClass:"card-body"},[e("div",{staticClass:"row"},[e("div",{staticClass:"col"},[e("h5",{staticClass:"card-title text-uppercase text-muted mb-0"},[t._v("Active Autospam")]),t._v(" "),e("span",{staticClass:"h2 font-weight-bold mb-0"},[t._v(t._s(t.formatCount(t.config.open)))])]),t._v(" "),t._m(1)])])])]),t._v(" "),e("div",{staticClass:"col-xl-4 col-lg-3 col-md-4"},[e("div",{staticClass:"card card-stats bg-dark mb-lg-0"},[e("div",{staticClass:"card-body"},[e("div",{staticClass:"row"},[e("div",{staticClass:"col"},[e("h5",{staticClass:"card-title text-uppercase text-muted mb-0"},[t._v("Closed Autospam")]),t._v(" "),e("span",{staticClass:"h2 font-weight-bold text-muted mb-0"},[t._v(t._s(t.formatCount(t.config.closed)))])]),t._v(" "),t._m(2)])])])])])])])]),t._v(" "),t.loaded?e("div",{staticClass:"m-n2 m-lg-4"},[e("div",{staticClass:"container-fluid mt-4"},[e("div",{staticClass:"row mb-3 justify-content-between"},[e("div",{staticClass:"col-12"},[e("ul",{staticClass:"nav nav-pills"},[e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:0==t.tabIndex}],on:{click:function(e){return e.preventDefault(),t.toggleTab(0)}}},[t._v("Dashboard")])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:"about"==t.tabIndex}],on:{click:function(e){return e.preventDefault(),t.toggleTab("about")}}},[t._v("About / How to Use Autospam")])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:"train"==t.tabIndex}],on:{click:function(e){return e.preventDefault(),t.toggleTab("train")}}},[t._v("Train Autospam")])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:"closed_reports"==t.tabIndex}],on:{click:function(e){return e.preventDefault(),t.toggleTab("closed_reports")}}},[t._v("Closed Reports")])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:"manage_tokens"==t.tabIndex}],on:{click:function(e){return e.preventDefault(),t.toggleTab("manage_tokens")}}},[t._v("Manage Tokens")])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:"import_export"==t.tabIndex}],on:{click:function(e){return e.preventDefault(),t.toggleTab("import_export")}}},[t._v("Import/Export")])])])])]),t._v(" "),0===this.tabIndex?e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-4"},[null===t.config.autospam_enabled?e("div"):t.config.autospam_enabled?e("div",{staticClass:"card bg-dark",staticStyle:{"min-height":"209px"}},[t._m(3)]):e("div",{staticClass:"card bg-dark",staticStyle:{"min-height":"209px"}},[t._m(4)]),t._v(" "),null===t.config.nlp_enabled?e("div"):t.config.nlp_enabled?e("div",{staticClass:"card bg-dark",staticStyle:{"min-height":"209px"}},[e("div",{staticClass:"card-body text-center"},[t._m(5),t._v(" "),e("p",{staticClass:"lead text-light"},[t._v("Advanced (NLP) Detection Active")]),t._v(" "),e("a",{staticClass:"btn btn-outline-danger btn-block font-weight-bold",class:{disabled:1!=t.config.autospam_enabled},attrs:{href:"#",disabled:1!=t.config.autospam_enabled},on:{click:function(e){return e.preventDefault(),t.disableAdvanced.apply(null,arguments)}}},[t._v("Disable Advanced Detection")])])]):e("div",{staticClass:"card bg-dark",staticStyle:{"min-height":"209px"}},[e("div",{staticClass:"card-body text-center"},[t._m(6),t._v(" "),e("p",{staticClass:"lead text-danger font-weight-bold"},[t._v("Advanced (NLP) Detection Inactive")]),t._v(" "),e("a",{staticClass:"btn btn-primary btn-block font-weight-bold",class:{disabled:1!=t.config.autospam_enabled},attrs:{href:"#",disabled:1!=t.config.autospam_enabled},on:{click:function(e){return e.preventDefault(),t.enableAdvanced.apply(null,arguments)}}},[t._v("Enable Advanced Detection")])])])]),t._v(" "),t._m(7)]):"about"===this.tabIndex?e("div",[t._m(8)]):"train"===this.tabIndex?e("div",[t._m(9),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card bg-dark"},[e("div",{staticClass:"card-header bg-gradient-primary text-white font-weight-bold"},[t._v("Train Spam Posts")]),t._v(" "),e("div",{staticClass:"card-body"},[e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center py-4",staticStyle:{gap:"1rem"}},[t._m(10),t._v(" "),e("p",{staticClass:"lead text-lighter"},[t._v("Use existing posts marked as spam to train Autospam")]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-lg font-weight-bold btn-block",class:{disabled:t.config.files.spam.exists},attrs:{disabled:t.config.files.spam.exists},on:{click:function(e){return e.preventDefault(),t.autospamTrainSpam.apply(null,arguments)}}},[t._v("\n\t \t\t\t\t\t\t"+t._s(t.config.files.spam.exists?"Already trained":"Train Spam")+"\n\t \t\t\t\t\t")])])])])]),t._v(" "),e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card bg-dark"},[e("div",{staticClass:"card-header bg-gradient-primary text-white font-weight-bold"},[t._v("Train Non-Spam Posts")]),t._v(" "),e("div",{staticClass:"card-body"},[e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center py-4",staticStyle:{gap:"1rem"}},[t._m(11),t._v(" "),e("p",{staticClass:"lead text-lighter"},[t._v("Use posts from trusted users to train non-spam posts")]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-lg font-weight-bold btn-block",class:{disabled:t.config.files.ham.exists},attrs:{disabled:t.config.files.ham.exists},on:{click:function(e){return e.preventDefault(),t.autospamTrainNonSpam.apply(null,arguments)}}},[t._v("\n\t \t\t\t\t\t\t"+t._s(t.config.files.ham.exists?"Already trained":"Train Non-Spam")+"\n\t \t\t\t\t\t")])])])])])])]):"closed_reports"===this.tabIndex?e("div",[t.closedReportsFetched?[e("div",{staticClass:"table-responsive rounded"},[e("table",{staticClass:"table table-dark"},[t._m(12),t._v(" "),e("tbody",t._l(t.closedReports.data,(function(a,s){return e("tr",{key:"closed_reports"+a.id+s},[e("td",{staticClass:"font-weight-bold text-monospace text-muted align-middle"},[t._v("\n\t\t \t"+t._s(a.id)+"\n\t\t ")]),t._v(" "),t._m(13,!0),t._v(" "),e("td",{staticClass:"align-middle"},[a.status&&a.status.account?e("a",{staticClass:"text-white",attrs:{href:"/i/web/profile/".concat(a.status.account.id),target:"_blank"}},[e("div",{staticClass:"d-flex align-items-center",staticStyle:{gap:"0.61rem"}},[e("img",{staticStyle:{"object-fit":"cover","border-radius":"30px"},attrs:{src:a.status.account.avatar,width:"30",height:"30",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"d-flex flex-column"},[e("p",{staticClass:"font-weight-bold mb-0",staticStyle:{"font-size":"14px"}},[t._v("@"+t._s(a.status.account.username))]),t._v(" "),e("div",{staticClass:"d-flex small text-muted mb-0",staticStyle:{gap:"0.5rem"}},[e("span",[t._v(t._s(a.status.account.followers_count)+" Followers")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v("Joined "+t._s(t.timeAgo(a.status.account.created_at)))])])])])]):t._e()]),t._v(" "),e("td",{staticClass:"font-weight-bold align-middle"},[t._v(t._s(t.timeAgo(a.created_at)))]),t._v(" "),e("td",{staticClass:"align-middle"},[e("a",{staticClass:"btn btn-primary btn-sm",attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.viewSpamReport(a)}}},[t._v("View")])])])})),0)])]),t._v(" "),t.closedReportsFetched&&t.closedReports&&t.closedReports.data.length?e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.closedReports.links.prev},on:{click:function(e){return t.autospamPaginate("prev")}}},[t._v("\n\t\t Prev\n\t\t ")]),t._v(" "),e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.closedReports.links.next},on:{click:function(e){return t.autospamPaginate("next")}}},[t._v("\n\t\t Next\n\t\t ")])]):t._e()]:[e("div",{staticClass:"d-flex justify-content-center align-items-center py-5"},[e("b-spinner")],1)]],2):"manage_tokens"===this.tabIndex?e("div",[e("div",{staticClass:"row align-items-center mb-3"},[t._m(14),t._v(" "),e("div",{staticClass:"col-12 col-md-3"},[e("a",{staticClass:"btn btn-primary btn-lg btn-block",attrs:{href:"#"},on:{click:function(e){e.preventDefault(),t.showCreateTokenModal=!0}}},[e("i",{staticClass:"far fa-plus fa-lg mr-1"}),t._v("\n \t\t\t\tCreate New Token\n \t\t\t")])])]),t._v(" "),t.customTokensFetched?[t.customTokens&&t.customTokens.data&&t.customTokens.data.length?[e("div",{staticClass:"table-responsive rounded"},[e("table",{staticClass:"table table-dark"},[t._m(15),t._v(" "),e("tbody",t._l(t.customTokens.data,(function(a,s){return e("tr",{key:"ct"+a.id+s},[e("td",{staticClass:"font-weight-bold text-monospace text-muted align-middle"},[t._v("\n\t\t\t \t"+t._s(a.id)+"\n\t\t\t ")]),t._v(" "),e("td",{staticClass:"align-middle"},[e("p",{staticClass:"font-weight-bold mb-0"},[t._v(t._s(a.token))])]),t._v(" "),e("td",{staticClass:"align-middle"},[e("p",{staticClass:"text-capitalize mb-0"},[t._v(t._s(a.category))])]),t._v(" "),e("td",{staticClass:"align-middle"},[e("p",{staticClass:"text-capitalize mb-0"},[t._v(t._s(a.weight))])]),t._v(" "),e("td",{staticClass:"font-weight-bold align-middle"},[t._v(t._s(t.timeAgo(a.created_at)))]),t._v(" "),e("td",{staticClass:"font-weight-bold align-middle"},[e("a",{staticClass:"btn btn-primary btn-sm font-weight-bold",attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.openEditTokenModal(a)}}},[t._v("Edit")])])])})),0)])]),t._v(" "),t.customTokensFetched&&t.customTokens&&t.customTokens.data.length?e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.customTokens.prev_page_url},on:{click:function(e){return t.autospamTokenPaginate("prev")}}},[t._v("\n\t\t\t Prev\n\t\t\t ")]),t._v(" "),e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.customTokens.next_page_url},on:{click:function(e){return t.autospamTokenPaginate("next")}}},[t._v("\n\t\t\t Next\n\t\t\t ")])]):t._e()]:e("div",[t._m(16)])]:[e("div",{staticClass:"d-flex justify-content-center align-items-center py-5"},[e("b-spinner")],1)]],2):"import_export"===this.tabIndex?e("div",[t._m(17),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card bg-dark"},[e("div",{staticClass:"card-header font-weight-bold"},[t._v("Import Training Data")]),t._v(" "),e("div",{staticClass:"card-body"},[e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center py-4",staticStyle:{gap:"1rem"}},[t._m(18),t._v(" "),e("p",{staticClass:"lead text-lighter"},[t._v("Make sure the file you are importing is a valid training data export!")]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-lg font-weight-bold btn-block",on:{click:function(e){return e.preventDefault(),t.handleImport.apply(null,arguments)}}},[t._v("Upload Import")])])])])]),t._v(" "),e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card bg-dark"},[e("div",{staticClass:"card-header font-weight-bold"},[t._v("Export Training Data")]),t._v(" "),e("div",{staticClass:"card-body"},[e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center py-4",staticStyle:{gap:"1rem"}},[t._m(19),t._v(" "),e("p",{staticClass:"lead text-lighter"},[t._v("Only share training data with people you trust. It can be used by spammers to bypass detection!")]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-lg font-weight-bold btn-block",on:{click:function(e){return e.preventDefault(),t.downloadExport.apply(null,arguments)}}},[t._v("Download Export")])])])])])])]):t._e()])]):e("div",{staticClass:"my-5 text-center"},[e("b-spinner")],1),t._v(" "),e("b-modal",{attrs:{title:"Autospam Post","ok-only":!0,"ok-title":"Close","ok-variant":"outline-primary"},model:{value:t.showSpamReportModal,callback:function(e){t.showSpamReportModal=e},expression:"showSpamReportModal"}},[t.viewingSpamReportLoading?e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("b-spinner")],1):[e("div",{staticClass:"list-group list-group-horizontal mt-3"},[t.viewingSpamReport&&t.viewingSpamReport.status&&t.viewingSpamReport.status.account?e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"text-muted small font-weight-bold mt-n1"},[t._v("Reported Account")]),t._v(" "),t.viewingSpamReport.status.account&&t.viewingSpamReport.status.account.id?e("a",{staticClass:"text-primary",attrs:{href:"/i/web/profile/".concat(t.viewingSpamReport.status.account.id),target:"_blank"}},[e("div",{staticClass:"d-flex align-items-center",staticStyle:{gap:"0.61rem"}},[e("img",{staticStyle:{"object-fit":"cover","border-radius":"30px"},attrs:{src:t.viewingSpamReport.status.account.avatar,width:"30",height:"30",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"d-flex flex-column"},[e("p",{staticClass:"font-weight-bold mb-0 text-break",class:[t.viewingSpamReport.status.account.is_admin?"text-danger":""],staticStyle:{"font-size":"12px","max-width":"140px","line-height":"16px"}},[t._v("@"+t._s(t.viewingSpamReport.status.account.acct))]),t._v(" "),e("div",{staticClass:"d-flex text-muted mb-0",staticStyle:{"font-size":"10px",gap:"0.5rem"}},[e("span",[t._v(t._s(t.viewingSpamReport.status.account.followers_count)+" Followers")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v("Joined "+t._s(t.timeAgo(t.viewingSpamReport.status.account.created_at)))])])])])]):t._e()]):t._e()]),t._v(" "),t.viewingSpamReport&&t.viewingSpamReport.status?e("div",{staticClass:"list-group mt-3"},[t.viewingSpamReport&&t.viewingSpamReport.status&&t.viewingSpamReport.status.media_attachments.length?e("div",{staticClass:"list-group-item d-flex flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"d-flex justify-content-between mt-n1 text-muted small font-weight-bold"},[e("div",[t._v("Reported Post")]),t._v(" "),e("a",{staticClass:"font-weight-bold",attrs:{href:t.viewingSpamReport.status.url,target:"_blank"}},[t._v("View")])]),t._v(" "),"image"===t.viewingSpamReport.status.media_attachments[0].type?e("img",{staticClass:"rounded",staticStyle:{"object-fit":"cover"},attrs:{src:t.viewingSpamReport.status.media_attachments[0].url,height:"140",onerror:"this.src='/storage/no-preview.png';this.error=null;"}}):"video"===t.viewingSpamReport.status.media_attachments[0].type?e("video",{attrs:{height:"140",controls:"",src:t.viewingSpamReport.status.media_attachments[0].url,onerror:"this.src='/storage/no-preview.png';this.onerror=null;"}}):t._e()]):t._e(),t._v(" "),t.viewingSpamReport&&t.viewingSpamReport.status&&t.viewingSpamReport.status.content_text&&t.viewingSpamReport.status.content_text.length?e("div",{staticClass:"list-group-item d-flex flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"d-flex justify-content-between mt-n1 text-muted small font-weight-bold"},[e("div",[t._v("Reported Post Caption")]),t._v(" "),e("a",{staticClass:"font-weight-bold",attrs:{href:t.viewingSpamReport.status.url,target:"_blank"}},[t._v("View")])]),t._v(" "),e("p",{staticClass:"mb-0 read-more",staticStyle:{"font-size":"12px","overflow-y":"hidden"}},[t._v(t._s(t.viewingSpamReport.status.content_text))])]):t._e()]):t._e()]],2),t._v(" "),e("b-modal",{attrs:{title:"Train Non-Spam","ok-only":!0,"ok-title":"Close","ok-variant":"outline-primary"},model:{value:t.showNonSpamModal,callback:function(e){t.showNonSpamModal=e},expression:"showNonSpamModal"}},[e("p",{staticClass:"small font-weight-bold"},[t._v("Select trusted accounts to train non-spam posts against!")]),t._v(" "),!t.nonSpamAccounts||t.nonSpamAccounts.length<10?e("autocomplete",{ref:"autocomplete",attrs:{search:t.composeSearch,disabled:t.searchLoading,placeholder:"Search by username","aria-label":"Search by username","get-result-value":t.getTagResultValue},on:{submit:t.onSearchResultClick},scopedSlots:t._u([{key:"result",fn:function(a){var s=a.result,i=a.props;return[e("li",t._b({staticClass:"autocomplete-result d-flex align-items-center",staticStyle:{gap:"0.5rem"}},"li",i,!1),[e("img",{staticClass:"rounded-circle",attrs:{src:s.avatar,width:"32",height:"32",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"font-weight-bold"},[t._v("\n "+t._s(s.username)+"\n ")])])]}}],null,!1,565605044)}):t._e(),t._v(" "),e("div",{staticClass:"list-group mt-3"},t._l(t.nonSpamAccounts,(function(a,s){return e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"d-flex align-items-center justify-content-between"},[e("div",{staticClass:"d-flex flex-row align-items-center",staticStyle:{gap:"0.5rem"}},[e("img",{staticClass:"rounded-circle",attrs:{src:a.avatar,width:"32",height:"32",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"font-weight-bold"},[t._v("\n\t "+t._s(a.username)+"\n\t ")])]),t._v(" "),e("a",{staticClass:"text-danger",attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.autospamTrainNonSpamRemove(s)}}},[e("i",{staticClass:"fas fa-trash"})])])])})),0),t._v(" "),t.nonSpamAccounts&&t.nonSpamAccounts.length?e("div",{staticClass:"mt-3"},[e("a",{staticClass:"btn btn-primary btn-lg font-weight-bold btn-block",attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.autospamTrainNonSpamSubmit.apply(null,arguments)}}},[t._v("Train non-spam posts on trusted accounts")])]):t._e()],1),t._v(" "),e("b-modal",{attrs:{title:"Create New Token","cancel-title":"Close","cancel-variant":"outline-primary","ok-title":"Save","ok-variant":"primary"},on:{ok:t.handleSaveToken},model:{value:t.showCreateTokenModal,callback:function(e){t.showCreateTokenModal=e},expression:"showCreateTokenModal"}},[e("div",{staticClass:"list-group mt-3"},[e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Token")])]),t._v(" "),e("div",{staticClass:"col-8"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.customTokenForm.token,expression:"customTokenForm.token"}],staticClass:"form-control",domProps:{value:t.customTokenForm.token},on:{input:function(e){e.target.composing||t.$set(t.customTokenForm,"token",e.target.value)}}})])])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Weight")])]),t._v(" "),e("div",{staticClass:"col-8"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.customTokenForm.weight,expression:"customTokenForm.weight"}],staticClass:"form-control",attrs:{type:"number",min:"-128",max:"128",step:"1"},domProps:{value:t.customTokenForm.weight},on:{input:function(e){e.target.composing||t.$set(t.customTokenForm,"weight",e.target.value)}}})])])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Category")])]),t._v(" "),e("div",{staticClass:"col-8"},[e("select",{directives:[{name:"model",rawName:"v-model",value:t.customTokenForm.category,expression:"customTokenForm.category"}],staticClass:"form-control",on:{change:function(e){var a=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.customTokenForm,"category",e.target.multiple?a:a[0])}}},[e("option",{attrs:{value:"spam"}},[t._v("Is Spam")]),t._v(" "),e("option",{attrs:{value:"ham"}},[t._v("Is NOT Spam")])])])])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Note")])]),t._v(" "),e("div",{staticClass:"col-8"},[e("textarea",{directives:[{name:"model",rawName:"v-model",value:t.customTokenForm.note,expression:"customTokenForm.note"}],staticClass:"form-control",domProps:{value:t.customTokenForm.note},on:{input:function(e){e.target.composing||t.$set(t.customTokenForm,"note",e.target.value)}}})])])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Active")])]),t._v(" "),e("div",{staticClass:"col-8 text-right"},[e("div",{staticClass:"custom-control custom-checkbox"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.customTokenForm.active,expression:"customTokenForm.active"}],staticClass:"custom-control-input",attrs:{type:"checkbox",id:"customCheck1"},domProps:{checked:Array.isArray(t.customTokenForm.active)?t._i(t.customTokenForm.active,null)>-1:t.customTokenForm.active},on:{change:function(e){var a=t.customTokenForm.active,s=e.target,i=!!s.checked;if(Array.isArray(a)){var n=t._i(a,null);s.checked?n<0&&t.$set(t.customTokenForm,"active",a.concat([null])):n>-1&&t.$set(t.customTokenForm,"active",a.slice(0,n).concat(a.slice(n+1)))}else t.$set(t.customTokenForm,"active",i)}}}),t._v(" "),e("label",{staticClass:"custom-control-label",attrs:{for:"customCheck1"}})])])])])])]),t._v(" "),e("b-modal",{attrs:{title:"Edit Token","cancel-title":"Close","cancel-variant":"outline-primary","ok-title":"Update","ok-variant":"primary"},on:{ok:t.handleUpdateToken},model:{value:t.showEditTokenModal,callback:function(e){t.showEditTokenModal=e},expression:"showEditTokenModal"}},[e("div",{staticClass:"list-group mt-3"},[e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Token")])]),t._v(" "),e("div",{staticClass:"col-8"},[e("input",{staticClass:"form-control",attrs:{disabled:""},domProps:{value:t.editCustomTokenForm.token}})])])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Weight")])]),t._v(" "),e("div",{staticClass:"col-8"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.editCustomTokenForm.weight,expression:"editCustomTokenForm.weight"}],staticClass:"form-control",attrs:{type:"number",min:"-128",max:"128",step:"1"},domProps:{value:t.editCustomTokenForm.weight},on:{input:function(e){e.target.composing||t.$set(t.editCustomTokenForm,"weight",e.target.value)}}})])])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Category")])]),t._v(" "),e("div",{staticClass:"col-8"},[e("select",{directives:[{name:"model",rawName:"v-model",value:t.editCustomTokenForm.category,expression:"editCustomTokenForm.category"}],staticClass:"form-control",on:{change:function(e){var a=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.editCustomTokenForm,"category",e.target.multiple?a:a[0])}}},[e("option",{attrs:{value:"spam"}},[t._v("Is Spam")]),t._v(" "),e("option",{attrs:{value:"ham"}},[t._v("Is NOT Spam")])])])])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Note")])]),t._v(" "),e("div",{staticClass:"col-8"},[e("textarea",{directives:[{name:"model",rawName:"v-model",value:t.editCustomTokenForm.note,expression:"editCustomTokenForm.note"}],staticClass:"form-control",domProps:{value:t.editCustomTokenForm.note},on:{input:function(e){e.target.composing||t.$set(t.editCustomTokenForm,"note",e.target.value)}}})])])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col-4"},[e("p",{staticClass:"mb-0 font-weight-bold small"},[t._v("Active")])]),t._v(" "),e("div",{staticClass:"col-8 text-right"},[e("div",{staticClass:"custom-control custom-checkbox"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.editCustomTokenForm.active,expression:"editCustomTokenForm.active"}],staticClass:"custom-control-input",attrs:{type:"checkbox",id:"customCheck1"},domProps:{checked:Array.isArray(t.editCustomTokenForm.active)?t._i(t.editCustomTokenForm.active,null)>-1:t.editCustomTokenForm.active},on:{change:function(e){var a=t.editCustomTokenForm.active,s=e.target,i=!!s.checked;if(Array.isArray(a)){var n=t._i(a,null);s.checked?n<0&&t.$set(t.editCustomTokenForm,"active",a.concat([null])):n>-1&&t.$set(t.editCustomTokenForm,"active",a.slice(0,n).concat(a.slice(n+1)))}else t.$set(t.editCustomTokenForm,"active",i)}}}),t._v(" "),e("label",{staticClass:"custom-control-label",attrs:{for:"customCheck1"}})])])])])])])],1)},i=[function(){var t=this,e=t._self._c;return e("div",{staticClass:"col-xl-4 col-lg-6 col-md-4"},[e("p",{staticClass:"display-1 text-white d-inline-block mb-0"},[t._v("Autospam")]),t._v(" "),e("p",{staticClass:"text-lighter"},[t._v("The automated spam detection system")])])},function(){var t=this._self._c;return t("div",{staticClass:"col-auto"},[t("div",{staticClass:"icon icon-shape bg-gradient-primary text-white rounded-circle shadow"},[t("i",{staticClass:"far fa-sensor-alert"})])])},function(){var t=this._self._c;return t("div",{staticClass:"col-auto"},[t("div",{staticClass:"icon icon-shape bg-gradient-primary text-white rounded-circle shadow"},[t("i",{staticClass:"far fa-shield-alt"})])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card-body text-center"},[e("p",[e("i",{staticClass:"far fa-check-circle fa-5x text-success"})]),t._v(" "),e("p",{staticClass:"lead text-light mb-0"},[t._v("Autospam Service Operational")])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card-body text-center"},[e("p",[e("i",{staticClass:"far fa-exclamation-circle fa-5x text-danger"})]),t._v(" "),e("p",{staticClass:"lead text-danger font-weight-bold mb-0"},[t._v("Autospam Service Inactive")]),t._v(" "),e("p",{staticClass:"small text-light mb-0"},[t._v("To activate, "),e("a",{attrs:{href:"/i/admin/settings"}},[t._v("click here")]),t._v(" and enable "),e("span",{staticClass:"font-weight-bold"},[t._v("Spam detection")])])])},function(){var t=this._self._c;return t("p",[t("i",{staticClass:"far fa-check-circle fa-5x text-success"})])},function(){var t=this._self._c;return t("p",[t("i",{staticClass:"far fa-exclamation-circle fa-5x text-danger"})])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"col-12 col-md-8"},[e("div",{staticClass:"card bg-default"},[e("div",{staticClass:"card-header bg-transparent"},[e("div",{staticClass:"row align-items-center"},[e("div",{staticClass:"col"},[e("h6",{staticClass:"text-light text-uppercase ls-1 mb-1"},[t._v("Stats")]),t._v(" "),e("h5",{staticClass:"h3 text-white mb-0"},[t._v("Autospam Detections")])])])]),t._v(" "),e("div",{staticClass:"card-body"},[e("div",{staticClass:"chart"},[e("canvas",{staticClass:"chart-canvas",attrs:{id:"c1-dark"}})])])])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"row"},[e("div",{staticClass:"col-12"},[e("div",{staticClass:"card card-body"},[e("h1",[t._v("About Autospam")]),t._v(" "),e("p",{staticClass:"mb-0"},[t._v("To detect and mitigate spam, we built Autospam, an internal tool that uses NLP and other behavioural metrics to classify potential spam posts.")]),t._v(" "),e("hr"),t._v(" "),e("h2",[t._v("Standard Detection")]),t._v(" "),e("p",[t._v('Standard or "Classic" detection works by evaluating several "signals" from the post and it\'s associated account.')]),t._v(" "),e("p",[t._v('Some of the following "signals" may trigger a positive detection from public posts:')]),t._v(" "),e("ul",[e("li",[t._v("Account is less than 6 months old")]),t._v(" "),e("li",[t._v("Account has less than 100 followers")]),t._v(" "),e("li",[t._v("Post contains one or more of: "),e("span",{staticClass:"badge badge-primary"},[t._v("https://")]),t._v(" "),e("span",{staticClass:"badge badge-primary"},[t._v("http://")]),t._v(" "),e("span",{staticClass:"badge badge-primary"},[t._v("hxxps://")]),t._v(" "),e("span",{staticClass:"badge badge-primary"},[t._v("hxxp://")]),t._v(" "),e("span",{staticClass:"badge badge-primary"},[t._v("www.")]),t._v(" "),e("span",{staticClass:"badge badge-primary"},[t._v(".com")]),t._v(" "),e("span",{staticClass:"badge badge-primary"},[t._v(".net")]),t._v(" "),e("span",{staticClass:"badge badge-primary"},[t._v(".org")])])]),t._v(" "),e("p",[t._v("If you've marked atleast one positive detection from an account as "),e("span",{staticClass:"font-weight-bold"},[t._v("Not spam")]),t._v(", any future posts they create will skip detection.")]),t._v(" "),e("hr"),t._v(" "),e("h2",[t._v("Advanced Detection")]),t._v(" "),e("p",[t._v("Advanced Detection works by using a statistical method that combines prior knowledge and observed data to estimate an average value. It assigns weights to both the prior knowledge and the observed data, allowing for a more informed and reliable estimation that adapts to new information.")]),t._v(" "),e("p",[t._v("When you train Spam or Not Spam data, the caption is broken up into words (tokens) and are counted (weights) and then stored in the appropriate category (Spam or Not Spam).")]),t._v(" "),e("p",[t._v("The training data is then used to classify spam on future posts (captions) by calculating each token and associated weights and comparing it to known categories (Spam or Not Spam).")])])])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"row"},[e("div",{staticClass:"col-12"},[e("div",{staticClass:"card card-body"},[e("p",{staticClass:"mb-0"},[t._v("\n\t \t\t\t\tIn order for Autospam to be effective, you need to train it by classifying data as spam or not-spam.\n\t \t\t\t")]),t._v(" "),e("p",{staticClass:"mb-0 small"},[t._v("\n\t \t\t\t\tWe recommend atleast 200 classifications for both spam and not-spam, it is important to train Autospam on both so you get more accurate results.\n\t \t\t\t")])])])])},function(){var t=this._self._c;return t("p",{staticClass:"mb-0"},[t("i",{staticClass:"far fa-sensor-alert fa-5x text-danger"})])},function(){var t=this._self._c;return t("p",{staticClass:"mb-0"},[t("i",{staticClass:"far fa-check-circle fa-5x text-success"})])},function(){var t=this,e=t._self._c;return e("thead",{staticClass:"thead-dark"},[e("tr",[e("th",{attrs:{scope:"col"}},[t._v("ID")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Type")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Reported Account")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Created")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("View Report")])])])},function(){var t=this._self._c;return t("td",{staticClass:"align-middle"},[t("p",{staticClass:"text-capitalize font-weight-bold mb-0"},[this._v("Autospam Post")])])},function(){var t=this._self._c;return t("div",{staticClass:"col-12 col-md-9"},[t("div",{staticClass:"card card-body mb-0"},[t("p",{staticClass:"mb-0"},[this._v("\n\t \t\t\t\tTokens are used to split paragraphs and sentences into smaller units that can be more easily assigned meaning.\n\t \t\t\t")])])])},function(){var t=this,e=t._self._c;return e("thead",{staticClass:"thead-dark"},[e("tr",[e("th",{attrs:{scope:"col"}},[t._v("ID")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Token")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Category")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Weight")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Created")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Edit")])])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card"},[e("div",{staticClass:"card-body text-center py-5"},[e("p",{staticClass:"pt-5"},[e("i",{staticClass:"far fa-inbox fa-4x text-light"})]),t._v(" "),e("p",{staticClass:"lead mb-5"},[t._v("No custom tokens found!")])])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"row"},[e("div",{staticClass:"col-12"},[e("div",{staticClass:"card card-body"},[e("p",{staticClass:"mb-0"},[t._v("\n\t \t\t\t\tYou can import and export Spam training data\n\t \t\t\t")]),t._v(" "),e("p",{staticClass:"mb-0 small"},[t._v("\n\t \t\t\t\tWe recommend exercising caution when importing training data from untrusted parties!\n\t \t\t\t")])])])])},function(){var t=this._self._c;return t("p",{staticClass:"mb-0"},[t("i",{staticClass:"far fa-plus-circle fa-5x text-light"})])},function(){var t=this._self._c;return t("p",{staticClass:"mb-0"},[t("i",{staticClass:"far fa-download fa-5x text-light"})])}]},82016:(t,e,a)=>{"use strict";a.r(e),a.d(e,{render:()=>s,staticRenderFns:()=>i});var s=function(){var t=this,e=t._self._c;return t.loaded?e("div",[e("div",{staticClass:"header bg-primary pb-2 mt-n4"},[e("div",{staticClass:"container-fluid"},[e("div",{staticClass:"header-body"},[e("div",{staticClass:"row align-items-center py-4"},[t._m(0),t._v(" "),e("div",{staticClass:"col-lg-6 col-5"},[e("p",{staticClass:"text-right"},[e("button",{staticClass:"btn btn-outline-white btn-lg px-5 py-2",on:{click:t.save}},[t._v("Save changes")])])])])])])]),t._v(" "),e("div",{staticClass:"container"},[e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-3"},[e("div",{staticClass:"nav-wrapper"},[e("div",{staticClass:"nav flex-column nav-pills",attrs:{id:"tabs-icons-text",role:"tablist","aria-orientation":"vertical"}},t._l(t.tabs,(function(a){return e("div",{staticClass:"nav-item"},[e("a",{staticClass:"nav-link mb-sm-3",class:{active:t.tabIndex===a.id},attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.toggleTab(a.id)}}},[e("i",{class:a.icon}),t._v(" "),e("span",{staticClass:"ml-2"},[t._v(t._s(a.title))])])])})),0)])]),t._v(" "),e("div",{staticClass:"col-12 col-md-9"},[e("div",{staticClass:"card shadow mt-3"},[e("div",{staticClass:"card-body"},[e("div",{staticClass:"tab-content"},[1===t.tabIndex?e("div",{staticClass:"tab-pane fade show active"},[t.isSubmitting||t.state.awaiting_approval||t.state.is_active?t.isSubmitting||!t.state.awaiting_approval||t.state.is_active?!t.isSubmitting&&t.state.awaiting_approval&&t.state.is_active?e("div",[t._m(3)]):t.isSubmitting||t.state.awaiting_approval||!t.state.is_active?t.isSubmitting?e("div",[e("div",{staticClass:"card card-body shadow-none border d-flex align-items-center justify-content-center py-5"},[e("b-spinner",{attrs:{variant:"primary"}}),t._v(" "),e("p",{staticClass:"lead my-0 text-primary"},[t._v("Sending submission...")])],1)]):e("div",[t._m(6)]):e("div",[e("div",{staticClass:"card card-body shadow-none border d-flex align-items-center justify-content-center py-5"},[e("h2",{staticClass:"font-weight-bold"},[t._v("Active Listing")]),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),e("button",{staticClass:"btn btn-primary btn-sm mt-3 font-weight-bold px-5 text-uppercase",on:{click:t.handleSubmit}},[t._v("\n Update my listing on pixelfed.org\n ")])])]):e("div",[t._m(2)]):e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("div",{staticClass:"text-center mb-4"},[t._m(1),t._v(" "),e("p",{staticClass:"display-3 mb-1"},[t._v("Awaiting Submission")]),t._v(" "),t.state.is_eligible||t.state.submission_exists?t.state.is_eligible&&!t.state.submission_exists?e("div",{staticClass:"mb-4"},[e("p",{staticClass:"lead mt-0 text-muted"},[t._v("Your directory listing is ready for submission!")]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-lg font-weight-bold px-5 text-uppercase",on:{click:t.handleSubmit}},[t._v("\n Submit my Server to pixelfed.org\n ")])]):t._e():e("p",{staticClass:"lead mt-0 text-muted"},[t._v("Your directory listing isn't completed yet")])])]),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card text-left"},[e("div",{staticClass:"list-group list-group-flush"},[e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.requirements.open_registration?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.requirements.open_registration?"Open":"Closed")+" account registration\n ")])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.requirements.oauth_enabled?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.requirements.oauth_enabled?"Enabled":"Disabled")+" mobile apis/oauth\n ")])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.requirements.activitypub_enabled?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.requirements.activitypub_enabled?"Enabled":"Disabled")+" activitypub federation\n ")])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.form.summary&&t.form.summary.length&&t.form.location&&t.form.location.length?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.form.summary&&t.form.summary.length&&t.form.location&&t.form.location.length?"Configured":"Missing")+" server details\n ")])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.requirements_validator&&0==t.requirements_validator.length?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.requirements_validator&&0==t.requirements_validator.length?"Valid":"Invalid")+" feature requirements\n ")])])])])]),t._v(" "),e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card text-left"},[e("div",{staticClass:"list-group list-group-flush"},[e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.form.contact_account?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.form.contact_account?"Configured":"Missing")+" admin account\n ")])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.form.contact_email?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.form.contact_email?"Configured":"Missing")+" contact email\n ")])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.selectedPosts&&t.selectedPosts.length?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.selectedPosts&&t.selectedPosts.length?"Configured":"Missing")+" favourite posts\n ")])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.form.privacy_pledge?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.form.privacy_pledge?"Configured":"Missing")+" privacy pledge\n ")])]),t._v(" "),e("div",{staticClass:"list-group-item"},[e("i",{staticClass:"far",class:[t.communityGuidelines&&t.communityGuidelines.length?"fa-check-circle text-success":"fa-exclamation-circle text-danger"]}),t._v(" "),e("span",{staticClass:"ml-2 font-weight-bold"},[t._v("\n "+t._s(t.communityGuidelines&&t.communityGuidelines.length?"Configured":"Missing")+" community guidelines\n ")])])])])])])]):2===t.tabIndex?e("div",{staticClass:"tab-pane fade show active"},[e("p",{staticClass:"description"},[t._v("Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.")])]):3===t.tabIndex?e("div",{staticClass:"tab-pane fade show active",attrs:{role:"tabpanel"}},[e("h2",{staticClass:"display-4 mb-0"},[t._v("Server Details")]),t._v(" "),e("p",{staticClass:"small text-muted"},[t._v("Edit your server details to better describe it")]),t._v(" "),e("hr",{staticClass:"mt-0"}),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card shadow-none border card-body"},[e("div",{staticClass:"form-group mb-0"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Summary")]),t._v(" "),e("textarea",{directives:[{name:"model",rawName:"v-model",value:t.form.summary,expression:"form.summary"}],staticClass:"form-control form-control-muted",attrs:{id:"form-summary",rows:"3",placeholder:"A descriptive summary of your instance up to 140 characters long. HTML is not allowed."},domProps:{value:t.form.summary},on:{input:function(e){e.target.composing||t.$set(t.form,"summary",e.target.value)}}}),t._v(" "),e("p",{staticClass:"help-text small text-muted text-right"},[t._v("\n "+t._s(t.form.summary&&t.form.summary.length?t.form.summary.length:0)+"/140\n ")])])])]),t._v(" "),e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card shadow-none border card-body"},[e("div",{staticClass:"form-group mb-0"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Location")]),t._v(" "),e("select",{directives:[{name:"model",rawName:"v-model",value:t.form.location,expression:"form.location"}],staticClass:"form-control form-control-muted",on:{change:function(e){var a=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.form,"location",e.target.multiple?a:a[0])}}},[e("option",{attrs:{selected:"",disabled:"",value:"0"}},[t._v("Select the country your server is in")]),t._v(" "),t._l(t.initialData.countries,(function(a){return e("option",{domProps:{value:a}},[t._v(t._s(a))])}))],2),t._v(" "),e("p",{staticClass:"form-text small text-muted"},[t._v("Select the country your server is hosted in, even if you are in a different country")])])])])]),t._v(" "),e("div",{staticClass:"list-group mb-4"},[e("div",{staticClass:"list-group-item"},[e("label",{staticClass:"font-weight-bold mb-0"},[t._v("Server Banner")]),t._v(" "),e("p",{staticClass:"small"},[t._v("Add an optional banner image to your directory listing")]),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card mb-0 shadow-none border"},[t.form.banner_image?e("div",[e("a",{attrs:{href:t.form.banner_image,target:"_blank"}},[e("img",{staticClass:"card-img-top",attrs:{src:t.form.banner_image}})])]):e("div",{staticClass:"card-body bg-primary text-white"},[t._m(7),t._v(" "),e("p",{staticClass:"text-center mb-0"},[t._v("No banner image")])])])]),t._v(" "),e("div",{staticClass:"col-12 col-md-6"},[t.isUploadingBanner?e("div",{staticClass:"text-center"},[e("b-spinner",{attrs:{variant:"primary"}})],1):e("div",{staticClass:"custom-file"},[e("input",{ref:"bannerImageRef",staticClass:"custom-file-input",attrs:{type:"file",id:"banner_image"},on:{change:t.uploadBannerImage}}),t._v(" "),e("label",{staticClass:"custom-file-label",attrs:{for:"banner_image"}},[t._v("Choose file")]),t._v(" "),e("p",{staticClass:"form-text text-muted small mb-0"},[t._v("Must be 1920 by 1080 pixels")]),t._v(" "),t._m(8),t._v(" "),t.form.banner_image&&!t.form.banner_image.endsWith("default.jpg")?e("div",[e("button",{staticClass:"btn btn-danger font-weight-bold btn-block mt-5",on:{click:t.deleteBannerImage}},[t._v("Delete banner image")])]):t._e()])])])])]),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card shadow-none border card-body"},[e("div",{staticClass:"form-group mb-0"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Primary Language")]),t._v(" "),e("select",{directives:[{name:"model",rawName:"v-model",value:t.form.primary_locale,expression:"form.primary_locale"}],staticClass:"form-control form-control-muted",attrs:{disabled:""},on:{change:function(e){var a=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.form,"primary_locale",e.target.multiple?a:a[0])}}},t._l(t.initialData.available_languages,(function(a){return e("option",{domProps:{value:a.code}},[t._v(t._s(a.name))])})),0),t._v(" "),t._m(9)])])])])]):4===t.tabIndex?e("div",{staticClass:"tab-pane fade show active",attrs:{role:"tabpanel"}},[e("h2",{staticClass:"display-4 mb-0"},[t._v("Admin Contact")]),t._v(" "),e("p",{staticClass:"small text-muted"},[t._v("Set a designated admin account and public email address")]),t._v(" "),e("hr",{staticClass:"mt-0"}),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[t.initialData.admins.length?e("div",{staticClass:"form-group"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Designated Admin")]),t._v(" "),e("select",{directives:[{name:"model",rawName:"v-model",value:t.form.contact_account,expression:"form.contact_account"}],staticClass:"form-control form-control-muted",on:{change:function(e){var a=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.form,"contact_account",e.target.multiple?a:a[0])}}},[e("option",{attrs:{disabled:"",value:"0"}},[t._v("Select a designated admin")]),t._v(" "),t._l(t.initialData.admins,(function(a,s){return e("option",{key:"pfc-"+a+s,domProps:{value:a.pid}},[t._v(t._s(a.username))])}))],2)]):e("div",{staticClass:"px-3 pb-2 pt-0 border border-danger rounded"},[e("p",{staticClass:"lead font-weight-bold text-danger"},[t._v("No admin(s) found")]),t._v(" "),t._m(10)])]),t._v(" "),e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"form-group"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Public Email")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.form.contact_email,expression:"form.contact_email"}],staticClass:"form-control form-control-muted",attrs:{placeholder:"info@example.org"},domProps:{value:t.form.contact_email},on:{input:function(e){e.target.composing||t.$set(t.form,"contact_email",e.target.value)}}}),t._v(" "),e("p",{staticClass:"help-text small text-muted"},[t._v("\n Must be a valid email address\n ")])])])])]):5===t.tabIndex?e("div",{staticClass:"tab-pane fade show active",attrs:{role:"tabpanel"}},[e("h2",{staticClass:"display-4 mb-0"},[t._v("Favourite Posts")]),t._v(" "),e("p",{staticClass:"small text-muted"},[t._v("Show off a few favourite posts from your server")]),t._v(" "),e("hr",{staticClass:"mt-0 mb-1"}),t._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:t.selectedPosts&&12!==t.selectedPosts.length,expression:"selectedPosts && selectedPosts.length !== 12"}],staticClass:"nav-wrapper"},[e("ul",{staticClass:"nav nav-pills nav-fill flex-column flex-md-row",attrs:{role:"tablist"}},[e("li",{staticClass:"nav-item"},[e("a",{staticClass:"nav-link mb-sm-3 mb-md-0 active",attrs:{id:"favposts-1-tab","data-toggle":"tab",href:"#favposts-1",role:"tab","aria-controls":"favposts-1","aria-selected":"true"}},[t._v(t._s(this.selectedPosts.length?this.selectedPosts.length:"")+" Selected Posts")])]),t._v(" "),t.selectedPosts&&t.selectedPosts.length<12?e("li",{staticClass:"nav-item"},[e("a",{staticClass:"nav-link mb-sm-3 mb-md-0",attrs:{id:"favposts-2-tab","data-toggle":"tab",href:"#favposts-2",role:"tab","aria-controls":"favposts-2","aria-selected":"false"}},[t._v("Add by post id")])]):t._e(),t._v(" "),t.selectedPosts&&t.selectedPosts.length<12?e("li",{staticClass:"nav-item"},[e("a",{staticClass:"nav-link mb-sm-3 mb-md-0",attrs:{id:"favposts-3-tab","data-toggle":"tab",href:"#favposts-3",role:"tab","aria-controls":"favposts-3","aria-selected":"false"},on:{click:t.initPopularPosts}},[t._v("Add by popularity")])]):t._e()])]),t._v(" "),e("div",{staticClass:"tab-content mt-3"},[e("div",{staticClass:"tab-pane fade list-fade-bottom show active",attrs:{id:"favposts-1",role:"tabpanel","aria-labelledby":"favposts-1-tab"}},[t.selectedPosts&&t.selectedPosts.length?e("div",{staticStyle:{"max-height":"520px","overflow-y":"auto"}},[t._l(t.selectedPosts,(function(a){return e("div",{key:"sp-"+a.id,staticClass:"list-group-item border-primary form-control-muted"},[e("div",{staticClass:"media align-items-center"},[e("div",{staticClass:"custom-control custom-checkbox mr-2"},[e("input",{staticClass:"custom-control-input",attrs:{type:"checkbox",checked:"",id:"checkbox-sp-".concat(a.id)},on:{change:function(e){return t.toggleSelectedPost(a)}}}),t._v(" "),e("label",{staticClass:"custom-control-label",attrs:{for:"checkbox-sp-".concat(a.id)}})]),t._v(" "),e("img",{staticClass:"border rounded-sm mr-3",staticStyle:{"object-fit":"cover"},attrs:{src:a.media_attachments[0].url,width:"100",height:"100",loading:"lazy"}}),t._v(" "),e("div",{staticClass:"media-body"},[e("p",{staticClass:"lead mt-0 mb-0 font-weight-bold"},[t._v("@"+t._s(a.account.username))]),t._v(" "),e("p",{staticClass:"text-muted mb-0",staticStyle:{"font-size":"14px"}},[e("span",[e("span",{staticClass:"font-weight-bold"},[t._v(t._s(t.formatCount(a.favourites_count)))]),t._v(" Likes")]),t._v(" "),e("span",{staticClass:"mx-2"},[t._v("·")]),t._v(" "),e("span",[e("span",{staticClass:"font-weight-bold"},[t._v(t._s(t.formatCount(a.account.followers_count)))]),t._v(" Followers")]),t._v(" "),e("span",{staticClass:"mx-2"},[t._v("·")]),t._v(" "),e("span",[t._v("Created "),e("span",{staticClass:"font-weight-bold"},[t._v(t._s(t.formatDateTime(a.created_at)))])])])]),t._v(" "),e("a",{staticClass:"btn btn-outline-primary btn-sm rounded-pill",attrs:{href:a.url,target:"_blank"}},[t._v("View")])])])})),t._v(" "),e("div",{staticClass:"mt-5 mb-5 pt-3"})],2):e("div",[t._m(11)])]),t._v(" "),e("div",{staticClass:"tab-pane fade",attrs:{id:"favposts-2",role:"tabpanel","aria-labelledby":"favposts-2-tab"}},[e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"form-group"},[e("label",{staticClass:"font-weight-bold"},[t._v("Find and add by post id")]),t._v(" "),e("div",{staticClass:"input-group mb-3"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.favouritePostByIdInput,expression:"favouritePostByIdInput"}],staticClass:"form-control form-control-muted border",attrs:{type:"number",placeholder:"Post id",min:"1",max:"99999999999999999999",disabled:t.favouritePostByIdFetching},domProps:{value:t.favouritePostByIdInput},on:{input:function(e){e.target.composing||(t.favouritePostByIdInput=e.target.value)}}}),t._v(" "),e("div",{staticClass:"input-group-append"},[t.favouritePostByIdFetching?e("button",{staticClass:"btn btn-outline-primary",attrs:{disabled:""}},[t._m(12)]):e("button",{staticClass:"btn btn-outline-primary",attrs:{type:"button"},on:{click:t.handlePostByIdSearch}},[t._v("\n Search\n ")])])])])]),t._v(" "),t._m(13)])]),t._v(" "),e("div",{staticClass:"tab-pane fade list-fade-bottom mb-0",attrs:{id:"favposts-3",role:"tabpanel","aria-labelledby":"favposts-3-tab"}},[t.popularPostsLoaded?e("div",{staticClass:"list-group",staticStyle:{"max-height":"520px","overflow-y":"auto"}},[t._l(t.popularPosts,(function(a){return e("div",{key:"pp-"+a.id,staticClass:"list-group-item",class:[t.selectedPosts.includes(a)?"border-primary form-control-muted":""]},[e("div",{staticClass:"media align-items-center"},[e("div",{staticClass:"custom-control custom-checkbox mr-2"},[e("input",{staticClass:"custom-control-input",attrs:{type:"checkbox",id:"checkbox-pp-".concat(a.id)},domProps:{checked:t.selectedPosts.includes(a)},on:{change:function(e){return t.togglePopularPost(a.id,a)}}}),t._v(" "),e("label",{staticClass:"custom-control-label",attrs:{for:"checkbox-pp-".concat(a.id)}})]),t._v(" "),e("img",{staticClass:"border rounded-sm mr-3",staticStyle:{"object-fit":"cover"},attrs:{src:a.media_attachments[0].url,width:"100",height:"100",loading:"lazy"}}),t._v(" "),e("div",{staticClass:"media-body"},[e("p",{staticClass:"lead mt-0 mb-0 font-weight-bold"},[t._v("@"+t._s(a.account.username))]),t._v(" "),e("p",{staticClass:"text-muted mb-0",staticStyle:{"font-size":"14px"}},[e("span",[e("span",{staticClass:"font-weight-bold"},[t._v(t._s(t.formatCount(a.favourites_count)))]),t._v(" Likes")]),t._v(" "),e("span",{staticClass:"mx-2"},[t._v("·")]),t._v(" "),e("span",[e("span",{staticClass:"font-weight-bold"},[t._v(t._s(t.formatCount(a.account.followers_count)))]),t._v(" Followers")]),t._v(" "),e("span",{staticClass:"mx-2"},[t._v("·")]),t._v(" "),e("span",[t._v("Created "),e("span",{staticClass:"font-weight-bold"},[t._v(t._s(t.formatDateTime(a.created_at)))])])])]),t._v(" "),e("a",{staticClass:"btn btn-outline-primary btn-sm rounded-pill",attrs:{href:a.url,target:"_blank"}},[t._v("View")])])])})),t._v(" "),e("div",{staticClass:"mt-5 mb-3"})],2):e("div",{staticClass:"text-center py-5"},[t._m(14)])])])]):6===t.tabIndex?e("div",{staticClass:"tab-pane fade show active",attrs:{role:"tabpanel"}},[e("h2",{staticClass:"display-4 mb-0"},[t._v("Privacy Pledge")]),t._v(" "),e("p",{staticClass:"small text-muted"},[t._v("Pledge to keep you and your data private and securely stored")]),t._v(" "),e("hr",{staticClass:"mt-0"}),t._v(" "),e("p",[t._v("To qualify for the Privacy Pledge, you must abide by the following rules:")]),t._v(" "),t._m(15),t._v(" "),e("p",{staticClass:"small text-muted mb-0"},[t._v("You may use 3rd party services like captchas on specific pages, so long as they are clearly defined in your privacy policy")]),t._v(" "),e("hr"),t._v(" "),e("p"),e("div",{staticClass:"custom-control custom-checkbox mr-2"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.form.privacy_pledge,expression:"form.privacy_pledge"}],staticClass:"custom-control-input",attrs:{type:"checkbox",id:"privacy-pledge"},domProps:{checked:Array.isArray(t.form.privacy_pledge)?t._i(t.form.privacy_pledge,null)>-1:t.form.privacy_pledge},on:{change:function(e){var a=t.form.privacy_pledge,s=e.target,i=!!s.checked;if(Array.isArray(a)){var n=t._i(a,null);s.checked?n<0&&t.$set(t.form,"privacy_pledge",a.concat([null])):n>-1&&t.$set(t.form,"privacy_pledge",a.slice(0,n).concat(a.slice(n+1)))}else t.$set(t.form,"privacy_pledge",i)}}}),t._v(" "),e("label",{staticClass:"custom-control-label font-weight-bold",attrs:{for:"privacy-pledge"}},[t._v("I agree to the uphold the Privacy Pledge")])]),t._v(" "),e("p")]):7===t.tabIndex?e("div",{staticClass:"tab-pane fade show active",attrs:{role:"tabpanel"}},[e("h2",{staticClass:"display-4 mb-0"},[t._v("Community Guidelines")]),t._v(" "),e("p",{staticClass:"small text-muted"},[t._v("A few ground rules to keep your community healthy and safe.")]),t._v(" "),e("hr",{staticClass:"mt-0"}),t._v(" "),t.communityGuidelines&&t.communityGuidelines.length?e("ol",{staticClass:"font-weight-bold"},t._l(t.communityGuidelines,(function(a){return e("li",{staticClass:"text-primary"},[e("span",{staticClass:"lead ml-1 text-dark"},[t._v(t._s(a))])])})),0):e("div",{staticClass:"card bg-primary text-white"},[t._m(16)]),t._v(" "),e("hr"),t._v(" "),t._m(17)]):8===t.tabIndex?e("div",{staticClass:"tab-pane fade show active",attrs:{role:"tabpanel"}},[e("h2",{staticClass:"display-4 mb-0"},[t._v("Feature Requirements")]),t._v(" "),e("p",{staticClass:"small text-muted"},[t._v("The minimum requirements for Directory inclusion.")]),t._v(" "),e("hr",{staticClass:"mt-0"}),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"list-group"},[e("div",{staticClass:"list-group-item d-flex align-items-center"},[e("div",[e("i",{staticClass:"far fa-2x mr-4",class:[t.requirements_validator.hasOwnProperty("media_types")?"fa-exclamation-circle text-danger":"fa-check-circle text-success"]})]),t._v(" "),e("div",[e("p",{staticClass:"font-weight-bold text-dark my-0"},[t._v("Media Types")]),t._v(" "),e("p",{staticClass:"mb-0 small text-muted"},[t._v("Allowed MIME types. image/jpeg and image/png by default")]),t._v(" "),t.requirements_validator.hasOwnProperty("media_types")?e("p",{staticClass:"mb-0 text-danger font-weight-bold"},[t._v(t._s(t.requirements_validator.media_types[0]))]):t._e()])]),t._v(" "),t.feature_config.optimize_image?e("div",{staticClass:"list-group-item d-flex align-items-center"},[e("div",[e("i",{staticClass:"far fa-2x mr-4",class:[t.requirements_validator.hasOwnProperty("image_quality")?"fa-exclamation-circle text-danger":"fa-check-circle text-success"]})]),t._v(" "),e("div",[e("p",{staticClass:"font-weight-bold text-dark my-0"},[t._v("Image Quality")]),t._v(" "),e("p",{staticClass:"mb-0 small text-muted"},[t._v("Image optimization is enabled, the image quality must be a value between 1-100.")]),t._v(" "),t.requirements_validator.hasOwnProperty("image_quality")?e("p",{staticClass:"mb-0 text-danger font-weight-bold"},[t._v(t._s(t.requirements_validator.image_quality[0]))]):t._e()])]):t._e(),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center"},[e("div",[e("i",{staticClass:"far fa-2x mr-4",class:[t.requirements_validator.hasOwnProperty("max_photo_size")?"fa-exclamation-circle text-danger":"fa-check-circle text-success"]})]),t._v(" "),e("div",[e("p",{staticClass:"font-weight-bold text-dark my-0"},[t._v("Max Photo Size")]),t._v(" "),e("p",{staticClass:"mb-0 small text-muted"},[t._v("Max photo upload size in kb. Must be between 15-100 MB.")]),t._v(" "),t.requirements_validator.hasOwnProperty("max_photo_size")?e("p",{staticClass:"mb-0 text-danger font-weight-bold"},[t._v(t._s(t.requirements_validator.max_photo_size[0]))]):t._e()])]),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center"},[e("div",[e("i",{staticClass:"far fa-2x mr-4",class:[t.requirements_validator.hasOwnProperty("max_caption_length")?"fa-exclamation-circle text-danger":"fa-check-circle text-success"]})]),t._v(" "),e("div",[e("p",{staticClass:"font-weight-bold text-dark my-0"},[t._v("Max Caption Length")]),t._v(" "),e("p",{staticClass:"mb-0 small text-muted"},[t._v("The max caption length limit. Must be between 500-10000.")]),t._v(" "),t.requirements_validator.hasOwnProperty("max_caption_length")?e("p",{staticClass:"mb-0 text-danger font-weight-bold"},[t._v(t._s(t.requirements_validator.max_caption_length[0]))]):t._e()])])])]),t._v(" "),e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"list-group"},[e("div",{staticClass:"list-group-item d-flex align-items-center"},[e("div",[e("i",{staticClass:"far fa-2x mr-4",class:[t.requirements_validator.hasOwnProperty("max_altext_length")?"fa-exclamation-circle text-danger":"fa-check-circle text-success"]})]),t._v(" "),e("div",[e("p",{staticClass:"font-weight-bold text-dark my-0"},[t._v("Max Alt-text length")]),t._v(" "),e("p",{staticClass:"mb-0 small text-muted"},[t._v("The alt-text length limit. Must be between 1000-5000.")]),t._v(" "),t.requirements_validator.hasOwnProperty("max_altext_length")?e("p",{staticClass:"mb-0 text-danger font-weight-bold"},[t._v(t._s(t.requirements_validator.max_altext_length[0]))]):t._e()])]),t._v(" "),t.feature_config.enforce_account_limit?e("div",{staticClass:"list-group-item d-flex align-items-center"},[e("div",[e("i",{staticClass:"far fa-2x mr-4",class:[t.requirements_validator.hasOwnProperty("max_account_size")?"fa-exclamation-circle text-danger":"fa-check-circle text-success"]})]),t._v(" "),e("div",[e("p",{staticClass:"font-weight-bold text-dark my-0"},[t._v("Max Account Size")]),t._v(" "),e("p",{staticClass:"mb-0 small text-muted"},[t._v("The account storage limit. Must be 1GB at minimum.")]),t._v(" "),t.requirements_validator.hasOwnProperty("max_account_size")?e("p",{staticClass:"mb-0 text-danger font-weight-bold"},[t._v(t._s(t.requirements_validator.max_account_size[0]))]):t._e()])]):t._e(),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center"},[e("div",[e("i",{staticClass:"far fa-2x mr-4",class:[t.requirements_validator.hasOwnProperty("max_album_length")?"fa-exclamation-circle text-danger":"fa-check-circle text-success"]})]),t._v(" "),e("div",[e("p",{staticClass:"font-weight-bold text-dark my-0"},[t._v("Max Album Length")]),t._v(" "),e("p",{staticClass:"mb-0 small text-muted"},[t._v("Max photos per album post. Must be between 4-20.")]),t._v(" "),t.requirements_validator.hasOwnProperty("max_album_length")?e("p",{staticClass:"mb-0 text-danger font-weight-bold"},[t._v(t._s(t.requirements_validator.max_album_length[0]))]):t._e()])]),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center"},[e("div",[e("i",{staticClass:"far fa-2x mr-4",class:[t.requirements_validator.hasOwnProperty("account_deletion")?"fa-exclamation-circle text-danger":"fa-check-circle text-success"]})]),t._v(" "),e("div",[e("p",{staticClass:"font-weight-bold text-dark my-0"},[t._v("Account Deletion")]),t._v(" "),e("p",{staticClass:"mb-0 small text-muted"},[t._v("Allow users to delete their own account.")]),t._v(" "),t.requirements_validator.hasOwnProperty("account_deletion")?e("p",{staticClass:"mb-0 text-danger font-weight-bold"},[t._v(t._s(t.requirements_validator.account_deletion[0]))]):t._e()])])])])])]):9===t.tabIndex?e("div",{staticClass:"tab-pane fade show active",attrs:{role:"tabpanel"}},[e("h2",{staticClass:"display-4 mb-0"},[t._v("User Testimonials")]),t._v(" "),e("p",{staticClass:"small text-muted"},[t._v("Add testimonials from your users.")]),t._v(" "),e("hr",{staticClass:"mt-0"}),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-md-6 list-fade-bottom"},[e("div",{staticClass:"list-group pb-5",staticStyle:{"max-height":"520px","overflow-y":"auto"}},t._l(t.testimonials,(function(a,s){return e("div",{staticClass:"list-group-item",class:[s==t.testimonials.length-1?"mb-5":""]},[e("div",{staticClass:"d-flex justify-content-between align-items-center"},[e("div",{staticClass:"media"},[e("img",{staticClass:"mr-3 rounded-circle",attrs:{src:a.profile.avatar,width:"40",h:"40"}}),t._v(" "),e("div",{staticClass:"media-body"},[e("p",{staticClass:"font-weight-bold mb-0"},[t._v("\n "+t._s(a.profile.username)+"\n ")]),t._v(" "),e("p",{staticClass:"small text-muted mt-n1 mb-0"},[t._v("\n Member Since "+t._s(t.formatDate(a.profile.created_at))+"\n ")])])]),t._v(" "),e("div",[e("p",{staticClass:"mb-0 small"},[e("a",{attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.editTestimonial(a)}}},[t._v("\n Edit\n ")])]),t._v(" "),e("p",{staticClass:"mb-0 small"},[e("a",{staticClass:"text-danger",attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.deleteTestimonial(a)}}},[t._v("\n Delete\n ")])])])]),t._v(" "),e("hr",{staticClass:"my-1"}),t._v(" "),e("p",{staticClass:"small font-weight-bold text-muted mb-0 text-center"},[t._v("Testimonial")]),t._v(" "),e("div",{staticClass:"border rounded px-3"},[e("p",{staticClass:"my-2 small",staticStyle:{"white-space":"pre-wrap"},domProps:{innerHTML:t._s(a.body)}})])])})),0)]),t._v(" "),e("div",{staticClass:"col-12 col-md-6"},[t.isEditingTestimonial?e("div",{staticClass:"card"},[e("div",{staticClass:"card-header font-weight-bold"},[t._v("\n Edit Testimonial\n ")]),t._v(" "),e("div",{staticClass:"card-body"},[e("div",{staticClass:"form-group"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Username")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.editingTestimonial.profile.username,expression:"editingTestimonial.profile.username"}],staticClass:"form-control form-control-muted",attrs:{placeholder:"test",disabled:""},domProps:{value:t.editingTestimonial.profile.username},on:{input:function(e){e.target.composing||t.$set(t.editingTestimonial.profile,"username",e.target.value)}}})]),t._v(" "),e("div",{staticClass:"form-group"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Testimonial")]),t._v(" "),e("textarea",{directives:[{name:"model",rawName:"v-model",value:t.editingTestimonial.body,expression:"editingTestimonial.body"}],staticClass:"form-control form-control-muted",attrs:{rows:"5"},domProps:{value:t.editingTestimonial.body},on:{input:function(e){e.target.composing||t.$set(t.editingTestimonial,"body",e.target.value)}}}),t._v(" "),e("div",{staticClass:"d-flex justify-content-between"},[e("p",{staticClass:"help-text small text-muted mb-0"},[t._v("\n Text only, up to 500 characters\n ")]),t._v(" "),e("p",{staticClass:"help-text small text-muted mb-0"},[t._v("\n "+t._s(t.editingTestimonial.body?t.editingTestimonial.body.length:0)+"/500\n ")])])])]),t._v(" "),e("div",{staticClass:"card-footer"},[e("button",{staticClass:"btn btn-primary btn-block",attrs:{type:"button"},on:{click:t.saveEditTestimonial}},[t._v("\n Save\n ")]),t._v(" "),e("button",{staticClass:"btn btn-secondary btn-block",attrs:{type:"button"},on:{click:t.cancelEditTestimonial}},[t._v("\n Cancel\n ")])])]):e("div",{staticClass:"card"},[t.testimonials.length<10?[e("div",{staticClass:"card-header font-weight-bold"},[t._v("\n Add New Testimonial\n ")]),t._v(" "),e("div",{staticClass:"card-body"},[e("div",{staticClass:"form-group"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Username")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.testimonial.username,expression:"testimonial.username"}],staticClass:"form-control form-control-muted",attrs:{placeholder:"test"},domProps:{value:t.testimonial.username},on:{input:function(e){e.target.composing||t.$set(t.testimonial,"username",e.target.value)}}}),t._v(" "),e("p",{staticClass:"help-text small text-muted"},[t._v("\n Must be a valid user account\n ")])]),t._v(" "),e("div",{staticClass:"form-group"},[e("label",{staticClass:"font-weight-bold",attrs:{for:"form-summary"}},[t._v("Testimonial")]),t._v(" "),e("textarea",{directives:[{name:"model",rawName:"v-model",value:t.testimonial.body,expression:"testimonial.body"}],staticClass:"form-control form-control-muted",attrs:{rows:"5"},domProps:{value:t.testimonial.body},on:{input:function(e){e.target.composing||t.$set(t.testimonial,"body",e.target.value)}}}),t._v(" "),e("div",{staticClass:"d-flex justify-content-between"},[e("p",{staticClass:"help-text small text-muted mb-0"},[t._v("\n Text only, up to 500 characters\n ")]),t._v(" "),e("p",{staticClass:"help-text small text-muted mb-0"},[t._v("\n "+t._s(t.testimonial.body?t.testimonial.body.length:0)+"/500\n ")])])])]),t._v(" "),e("div",{staticClass:"card-footer"},[e("button",{staticClass:"btn btn-primary btn-block",attrs:{type:"button"},on:{click:t.saveTestimonial}},[t._v("Save Testimonial")])])]:[t._m(18)]],2)])])]):t._e()])])])])])])]):e("div",[t._m(19)])},i=[function(){var t=this,e=t._self._c;return e("div",{staticClass:"col-lg-6 col-7"},[e("p",{staticClass:"display-1 text-white d-inline-block mb-0"},[t._v("Directory")]),t._v(" "),e("p",{staticClass:"h3 text-white font-weight-light"},[t._v("Manage your server listing on pixelfed.org")])])},function(){var t=this._self._c;return t("p",[t("i",{staticClass:"far fa-exclamation-triangle fa-5x text-lighter"})])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card card-body shadow-none border d-flex align-items-center justify-content-center py-5"},[e("p",{staticClass:"display-3 mb-1"},[t._v("Awaiting Approval")]),t._v(" "),e("p",{staticClass:"text-primary mb-1"},[t._v("Awaiting submission approval from pixelfed.org, please check back later!")]),t._v(" "),e("p",{staticClass:"small text-muted mb-0"},[t._v("If you are still waiting for approval after 24 hours please contact the Pixelfed team.")])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card card-body shadow-none border d-flex align-items-center justify-content-center py-5"},[e("p",{staticClass:"display-3 mb-1"},[t._v("Awaiting Update Approval")]),t._v(" "),e("p",{staticClass:"text-primary mb-1"},[t._v("Awaiting updated submission approval from pixelfed.org, please check back later!")]),t._v(" "),e("p",{staticClass:"small text-muted mb-0"},[t._v("If you are still waiting for approval after 24 hours please contact the Pixelfed team.")])])},function(){var t=this._self._c;return t("p",{staticClass:"my-3"},[t("i",{staticClass:"far fa-check-circle fa-4x text-success"})])},function(){var t=this,e=t._self._c;return e("p",{staticClass:"mt-2 mb-0"},[t._v("Your server directory listing on "),e("a",{staticClass:"font-weight-bold",attrs:{href:"#"}},[t._v("pixelfed.org")]),t._v(" is active")])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card card-body shadow-none border d-flex align-items-center justify-content-center py-5"},[e("p",{staticClass:"display-3 mb-1"},[t._v("Oops! An unexpected error occured")]),t._v(" "),e("p",{staticClass:"text-primary mb-1"},[t._v("Ask the Pixelfed team for assistance.")])])},function(){var t=this._self._c;return t("p",{staticClass:"text-center mb-2"},[t("i",{staticClass:"far fa-exclamation-circle fa-2x"})])},function(){var t=this,e=t._self._c;return e("p",{staticClass:"form-text text-muted small mb-0"},[t._v("Must be a "),e("kbd",[t._v("JPEG")]),t._v(" or "),e("kbd",[t._v("PNG")]),t._v(" image no larger than 5MB.")])},function(){var t=this,e=t._self._c;return e("p",{staticClass:"form-text text-muted small mb-0"},[t._v("The primary language of your server, to edit this value you need to set the "),e("kbd",[t._v("APP_LOCALE")]),t._v(" .env value")])},function(){var t=this,e=t._self._c;return e("ul",{staticClass:"text-danger"},[e("li",[t._v("Admins must be active")]),t._v(" "),e("li",[t._v("Admins must have 2FA setup and enabled")])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card card-body bg-lighter text-center py-5"},[e("p",{staticClass:"text-light mb-1"},[e("i",{staticClass:"far fa-info-circle fa-3x"})]),t._v(" "),e("p",{staticClass:"h2 mb-0"},[t._v("0 posts selected")]),t._v(" "),e("p",{staticClass:"small mb-0"},[t._v("You can select up to 12 favourite posts by id or popularity")])])},function(){var t=this._self._c;return t("div",{staticClass:"spinner-border spinner-border-sm",attrs:{role:"status"}},[t("span",{staticClass:"sr-only"},[this._v("Loading...")])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"col-12 col-md-6"},[e("div",{staticClass:"card card-body bg-primary"},[e("div",{staticClass:"d-flex align-items-center text-white"},[e("i",{staticClass:"far fa-info-circle mr-2"}),t._v(" "),e("p",{staticClass:"small mb-0 font-weight-bold"},[t._v("A post id is the numerical id found in post urls")])])])])},function(){var t=this._self._c;return t("div",{staticClass:"spinner-border text-primary",attrs:{role:"status"}},[t("span",{staticClass:"sr-only"},[this._v("Loading...")])])},function(){var t=this,e=t._self._c;return e("ul",{staticClass:"font-weight-bold"},[e("li",[t._v("No analytics or 3rd party trackers*")]),t._v(" "),e("li",[t._v("User data is not sold to any 3rd parties")]),t._v(" "),e("li",[t._v("Data is stored securely in accordance with industry standards")]),t._v(" "),e("li",[t._v("Admin accounts are protected with 2FA")]),t._v(" "),e("li",[t._v("Follow strict support procedures to keep your accounts safe")]),t._v(" "),e("li",[t._v("Give at least 6 months warning in the event we shut down")])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card-body text-center py-5"},[e("p",{staticClass:"mb-n3"},[e("i",{staticClass:"far fa-exclamation-circle fa-3x"})]),t._v(" "),e("p",{staticClass:"lead mb-0"},[t._v("No Community Guidelines have been set")])])},function(){var t=this,e=t._self._c;return e("p",{staticClass:"mb-0"},[t._v("You can manage Community Guidelines on the "),e("a",{attrs:{href:"/i/admin/settings"}},[t._v("Settings page")])])},function(){var t=this._self._c;return t("div",{staticClass:"card-body text-center"},[t("p",{staticClass:"lead"},[this._v("You can't add any more testimonials")])])},function(){var t=this._self._c;return t("div",{staticClass:"container my-5 py-5 text-center"},[t("div",{staticClass:"spinner-border text-primary",attrs:{role:"status"}},[t("span",{staticClass:"sr-only"},[this._v("Loading...")])])])}]},54449:(t,e,a)=>{"use strict";a.r(e),a.d(e,{render:()=>s,staticRenderFns:()=>i});var s=function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"header bg-primary pb-3 mt-n4"},[e("div",{staticClass:"container-fluid"},[e("div",{staticClass:"header-body"},[t._m(0),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-xl-2 col-md-6"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("Unique Hashtags")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[t._v(t._s(t.prettyCount(t.stats.total_unique)))])])]),t._v(" "),e("div",{staticClass:"col-xl-2 col-md-6"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("Total Hashtags")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[t._v(t._s(t.prettyCount(t.stats.total_posts)))])])]),t._v(" "),e("div",{staticClass:"col-xl-2 col-md-6"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("New (past 14 days)")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[t._v(t._s(t.prettyCount(t.stats.added_14_days)))])])]),t._v(" "),e("div",{staticClass:"col-xl-2 col-md-6"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("Banned Hashtags")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[t._v(t._s(t.prettyCount(t.stats.total_banned)))])])]),t._v(" "),e("div",{staticClass:"col-xl-2 col-md-6"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("NSFW Hashtags")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[t._v(t._s(t.prettyCount(t.stats.total_nsfw)))])])]),t._v(" "),e("div",{staticClass:"col-xl-2 col-md-6"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("Clear Trending Cache")]),t._v(" "),e("button",{staticClass:"btn btn-outline-white btn-block btn-sm py-0 mt-1",on:{click:t.clearTrendingCache}},[t._v("Clear Cache")])])])])])])]),t._v(" "),t.loaded?e("div",{staticClass:"m-n2 m-lg-4"},[e("div",{staticClass:"container-fluid mt-4"},[e("div",{staticClass:"row mb-3 justify-content-between"},[e("div",{staticClass:"col-12 col-md-8"},[e("ul",{staticClass:"nav nav-pills"},[e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:0==t.tabIndex}],on:{click:function(e){return t.toggleTab(0)}}},[t._v("All")])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:1==t.tabIndex}],on:{click:function(e){return t.toggleTab(1)}}},[t._v("Trending")])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:2==t.tabIndex}],on:{click:function(e){return t.toggleTab(2)}}},[t._v("Banned")])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("button",{class:["nav-link",{active:3==t.tabIndex}],on:{click:function(e){return t.toggleTab(3)}}},[t._v("NSFW")])])])]),t._v(" "),e("div",{staticClass:"col-12 col-md-4"},[e("autocomplete",{ref:"autocomplete",attrs:{search:t.composeSearch,disabled:t.searchLoading,placeholder:"Search hashtags","aria-label":"Search hashtags","get-result-value":t.getTagResultValue},on:{submit:t.onSearchResultClick},scopedSlots:t._u([{key:"result",fn:function(a){var s=a.result,i=a.props;return[e("li",t._b({staticClass:"autocomplete-result d-flex justify-content-between align-items-center"},"li",i,!1),[e("div",{staticClass:"font-weight-bold",class:{"text-danger":s.is_banned}},[t._v("\n #"+t._s(s.name)+"\n ")]),t._v(" "),e("div",{staticClass:"small text-muted"},[t._v("\n "+t._s(t.prettyCount(s.cached_count))+" posts\n ")])])]}}])})],1)]),t._v(" "),[0,2,3].includes(this.tabIndex)?e("div",{staticClass:"table-responsive"},[e("table",{staticClass:"table table-dark"},[e("thead",{staticClass:"thead-dark"},[e("tr",[e("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:t._s(t.buildColumn("ID","id"))},on:{click:function(e){return t.toggleCol("id")}}}),t._v(" "),e("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:t._s(t.buildColumn("Hashtag","name"))},on:{click:function(e){return t.toggleCol("name")}}}),t._v(" "),e("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:t._s(t.buildColumn("Count","cached_count"))},on:{click:function(e){return t.toggleCol("cached_count")}}}),t._v(" "),e("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:t._s(t.buildColumn("Can Search","can_search"))},on:{click:function(e){return t.toggleCol("can_search")}}}),t._v(" "),e("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:t._s(t.buildColumn("Can Trend","can_trend"))},on:{click:function(e){return t.toggleCol("can_trend")}}}),t._v(" "),e("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:t._s(t.buildColumn("NSFW","is_nsfw"))},on:{click:function(e){return t.toggleCol("is_nsfw")}}}),t._v(" "),e("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:t._s(t.buildColumn("Banned","is_banned"))},on:{click:function(e){return t.toggleCol("is_banned")}}}),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Created")])])]),t._v(" "),e("tbody",t._l(t.hashtags,(function(a,s){var i;return e("tr",[e("td",{staticClass:"font-weight-bold text-monospace text-muted"},[e("a",{attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.openEditHashtagModal(a,s)}}},[t._v("\n "+t._s(a.id)+"\n ")])]),t._v(" "),e("td",{staticClass:"font-weight-bold"},[t._v(t._s(a.name))]),t._v(" "),e("td",{staticClass:"font-weight-bold"},[e("a",{attrs:{href:"/i/web/hashtag/".concat(a.slug)}},[t._v("\n "+t._s(null!==(i=a.cached_count)&&void 0!==i?i:0)+"\n ")])]),t._v(" "),e("td",{staticClass:"font-weight-bold",domProps:{innerHTML:t._s(t.boolIcon(a.can_search,"text-success","text-danger"))}}),t._v(" "),e("td",{staticClass:"font-weight-bold",domProps:{innerHTML:t._s(t.boolIcon(a.can_trend,"text-success","text-danger"))}}),t._v(" "),e("td",{staticClass:"font-weight-bold",domProps:{innerHTML:t._s(t.boolIcon(a.is_nsfw,"text-danger"))}}),t._v(" "),e("td",{staticClass:"font-weight-bold",domProps:{innerHTML:t._s(t.boolIcon(a.is_banned,"text-danger"))}}),t._v(" "),e("td",{staticClass:"font-weight-bold"},[t._v(t._s(t.timeAgo(a.created_at)))])])})),0)])]):t._e(),t._v(" "),[0,2,3].includes(this.tabIndex)?e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.pagination.prev},on:{click:function(e){return t.paginate("prev")}}},[t._v("\n Prev\n ")]),t._v(" "),e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.pagination.next},on:{click:function(e){return t.paginate("next")}}},[t._v("\n Next\n ")])]):t._e(),t._v(" "),1==this.tabIndex?e("div",{staticClass:"table-responsive"},[e("table",{staticClass:"table table-dark"},[t._m(1),t._v(" "),e("tbody",t._l(t.trendingTags,(function(a,s){var i;return e("tr",[e("td",{staticClass:"font-weight-bold text-monospace text-muted"},[e("a",{attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.openEditHashtagModal(a,s)}}},[t._v("\n "+t._s(a.id)+"\n ")])]),t._v(" "),e("td",{staticClass:"font-weight-bold"},[t._v(t._s(a.hashtag))]),t._v(" "),e("td",{staticClass:"font-weight-bold"},[e("a",{attrs:{href:"/i/web/hashtag/".concat(a.hashtag)}},[t._v("\n "+t._s(null!==(i=a.total)&&void 0!==i?i:0)+"\n ")])])])})),0)])]):t._e()])]):e("div",{staticClass:"my-5 text-center"},[e("b-spinner")],1),t._v(" "),e("b-modal",{attrs:{title:"Edit Hashtag","ok-only":!0,lazy:!0,static:!0},model:{value:t.showEditModal,callback:function(e){t.showEditModal=e},expression:"showEditModal"}},[t.editingHashtag&&t.editingHashtag.name?e("div",{staticClass:"list-group"},[e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[e("div",{staticClass:"text-muted small"},[t._v("Name")]),t._v(" "),e("div",{staticClass:"font-weight-bold"},[t._v(t._s(t.editingHashtag.name))])]),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[e("div",{staticClass:"text-muted small"},[t._v("Total Uses")]),t._v(" "),e("div",{staticClass:"font-weight-bold"},[t._v(t._s(t.editingHashtag.cached_count.toLocaleString("en-CA",{compactDisplay:"short"})))])]),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[e("div",{staticClass:"text-muted small"},[t._v("Can Trend")]),t._v(" "),e("div",{staticClass:"mr-n2 mb-1"},[e("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:t.editingHashtag.can_trend,callback:function(e){t.$set(t.editingHashtag,"can_trend",e)},expression:"editingHashtag.can_trend"}})],1)]),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[e("div",{staticClass:"text-muted small"},[t._v("Can Search")]),t._v(" "),e("div",{staticClass:"mr-n2 mb-1"},[e("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:t.editingHashtag.can_search,callback:function(e){t.$set(t.editingHashtag,"can_search",e)},expression:"editingHashtag.can_search"}})],1)]),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[e("div",{staticClass:"text-muted small"},[t._v("Banned")]),t._v(" "),e("div",{staticClass:"mr-n2 mb-1"},[e("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:t.editingHashtag.is_banned,callback:function(e){t.$set(t.editingHashtag,"is_banned",e)},expression:"editingHashtag.is_banned"}})],1)]),t._v(" "),e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[e("div",{staticClass:"text-muted small"},[t._v("NSFW")]),t._v(" "),e("div",{staticClass:"mr-n2 mb-1"},[e("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:t.editingHashtag.is_nsfw,callback:function(e){t.$set(t.editingHashtag,"is_nsfw",e)},expression:"editingHashtag.is_nsfw"}})],1)])]):t._e(),t._v(" "),e("transition",{attrs:{name:"fade"}},[t.editingHashtag&&t.editingHashtag.name&&t.editSaved?e("div",[e("p",{staticClass:"text-primary small font-weight-bold text-center mt-1 mb-0"},[t._v("Hashtag changes successfully saved!")])]):t._e()])],1)],1)},i=[function(){var t=this._self._c;return t("div",{staticClass:"row align-items-center py-4"},[t("div",{staticClass:"col-lg-6 col-7"},[t("p",{staticClass:"display-1 text-white d-inline-block mb-0"},[this._v("Hashtags")])])])},function(){var t=this,e=t._self._c;return e("thead",{staticClass:"thead-dark"},[e("tr",[e("th",{attrs:{scope:"col"}},[t._v("ID")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Hashtag")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Trending Count")])])])}]},38343:(t,e,a)=>{"use strict";a.r(e),a.d(e,{render:()=>s,staticRenderFns:()=>i});var s=function(){var t,e,a,s=this,i=s._self._c;return i("div",[i("div",{staticClass:"header bg-primary pb-3 mt-n4"},[i("div",{staticClass:"container-fluid"},[i("div",{staticClass:"header-body"},[s._m(0),s._v(" "),i("div",{staticClass:"row"},[i("div",{staticClass:"col-xl-2 col-md-6"},[i("div",{staticClass:"mb-3"},[i("h5",{staticClass:"text-light text-uppercase mb-0"},[s._v("Total Instances")]),s._v(" "),i("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[s._v(s._s(s.prettyCount(s.stats.total_count)))])])]),s._v(" "),i("div",{staticClass:"col-xl-2 col-md-6"},[i("div",{staticClass:"mb-3"},[i("h5",{staticClass:"text-light text-uppercase mb-0"},[s._v("New (past 14 days)")]),s._v(" "),i("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[s._v(s._s(s.prettyCount(s.stats.new_count)))])])]),s._v(" "),i("div",{staticClass:"col-xl-2 col-md-6"},[i("div",{staticClass:"mb-3"},[i("h5",{staticClass:"text-light text-uppercase mb-0"},[s._v("Banned Instances")]),s._v(" "),i("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[s._v(s._s(s.prettyCount(s.stats.banned_count)))])])]),s._v(" "),i("div",{staticClass:"col-xl-2 col-md-6"},[i("div",{staticClass:"mb-3"},[i("h5",{staticClass:"text-light text-uppercase mb-0"},[s._v("NSFW Instances")]),s._v(" "),i("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size"},[s._v(s._s(s.prettyCount(s.stats.nsfw_count)))])])]),s._v(" "),i("div",{staticClass:"col-xl-2 col-md-6"},[i("div",{staticClass:"mb-3"},[i("button",{staticClass:"btn btn-outline-white btn-block btn-sm mt-1",on:{click:function(t){t.preventDefault(),s.showAddModal=!0}}},[s._v("Create New Instance")]),s._v(" "),s.showImportForm?i("div",[i("div",{staticClass:"form-group mt-3"},[i("div",{staticClass:"custom-file"},[i("input",{ref:"importInput",staticClass:"custom-file-input",attrs:{type:"file",id:"customFile"},on:{change:s.onImportUpload}}),s._v(" "),i("label",{staticClass:"custom-file-label",attrs:{for:"customFile"}},[s._v("Choose file")])])]),s._v(" "),i("p",{staticClass:"mb-0 mt-n3"},[i("a",{staticClass:"text-white font-weight-bold small",attrs:{href:"#"},on:{click:function(t){t.preventDefault(),s.showImportForm=!1}}},[s._v("Cancel")])])]):i("div",{staticClass:"d-flex mt-1"},[i("button",{staticClass:"btn btn-outline-white btn-sm mt-1",on:{click:s.openImportForm}},[s._v("Import")]),s._v(" "),i("button",{staticClass:"btn btn-outline-white btn-block btn-sm mt-1",on:{click:function(t){return s.downloadBackup()}}},[s._v("Download Backup")])])])])])])])]),s._v(" "),s.loaded?i("div",{staticClass:"m-n2 m-lg-4"},[i("div",{staticClass:"container-fluid mt-4"},[i("div",{staticClass:"row mb-3 justify-content-between"},[i("div",{staticClass:"col-12 col-md-8"},[i("ul",{staticClass:"nav nav-pills"},[i("li",{staticClass:"nav-item"},[i("button",{class:["nav-link",{active:0==s.tabIndex}],on:{click:function(t){return s.toggleTab(0)}}},[s._v("All")])]),s._v(" "),i("li",{staticClass:"nav-item"},[i("button",{class:["nav-link",{active:1==s.tabIndex}],on:{click:function(t){return s.toggleTab(1)}}},[s._v("New")])]),s._v(" "),i("li",{staticClass:"nav-item"},[i("button",{class:["nav-link",{active:2==s.tabIndex}],on:{click:function(t){return s.toggleTab(2)}}},[s._v("Banned")])]),s._v(" "),i("li",{staticClass:"nav-item"},[i("button",{class:["nav-link",{active:3==s.tabIndex}],on:{click:function(t){return s.toggleTab(3)}}},[s._v("NSFW")])]),s._v(" "),i("li",{staticClass:"nav-item"},[i("button",{class:["nav-link",{active:4==s.tabIndex}],on:{click:function(t){return s.toggleTab(4)}}},[s._v("Unlisted")])]),s._v(" "),i("li",{staticClass:"nav-item"},[i("button",{class:["nav-link",{active:5==s.tabIndex}],on:{click:function(t){return s.toggleTab(5)}}},[s._v("Most Users")])]),s._v(" "),i("li",{staticClass:"nav-item"},[i("button",{class:["nav-link",{active:6==s.tabIndex}],on:{click:function(t){return s.toggleTab(6)}}},[s._v("Most Statuses")])])])]),s._v(" "),i("div",{staticClass:"col-12 col-md-4"},[i("autocomplete",{ref:"autocomplete",attrs:{search:s.composeSearch,disabled:s.searchLoading,defaultValue:s.searchQuery,placeholder:"Search instances by domain","aria-label":"Search instances by domain","get-result-value":s.getTagResultValue},on:{submit:s.onSearchResultClick},scopedSlots:s._u([{key:"result",fn:function(t){var e=t.result,a=t.props;return[i("li",s._b({staticClass:"autocomplete-result d-flex justify-content-between align-items-center"},"li",a,!1),[i("div",{staticClass:"font-weight-bold",class:{"text-danger":e.banned}},[s._v("\n\t\t\t\t\t\t\t\t\t"+s._s(e.domain)+"\n\t\t\t\t\t\t\t\t")]),s._v(" "),i("div",{staticClass:"small text-muted"},[s._v("\n\t\t\t\t\t\t\t\t\t"+s._s(s.prettyCount(e.user_count))+" users\n\t\t\t\t\t\t\t\t")])])]}}])})],1)]),s._v(" "),i("div",{staticClass:"table-responsive"},[i("table",{staticClass:"table table-dark"},[i("thead",{staticClass:"thead-dark"},[i("tr",[i("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:s._s(s.buildColumn("ID","id"))},on:{click:function(t){return s.toggleCol("id")}}}),s._v(" "),i("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:s._s(s.buildColumn("Domain","domain"))},on:{click:function(t){return s.toggleCol("domain")}}}),s._v(" "),i("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:s._s(s.buildColumn("Software","software"))},on:{click:function(t){return s.toggleCol("software")}}}),s._v(" "),i("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:s._s(s.buildColumn("User Count","user_count"))},on:{click:function(t){return s.toggleCol("user_count")}}}),s._v(" "),i("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:s._s(s.buildColumn("Status Count","status_count"))},on:{click:function(t){return s.toggleCol("status_count")}}}),s._v(" "),i("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:s._s(s.buildColumn("Banned","banned"))},on:{click:function(t){return s.toggleCol("banned")}}}),s._v(" "),i("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:s._s(s.buildColumn("NSFW","auto_cw"))},on:{click:function(t){return s.toggleCol("auto_cw")}}}),s._v(" "),i("th",{staticClass:"cursor-pointer",attrs:{scope:"col"},domProps:{innerHTML:s._s(s.buildColumn("Unlisted","unlisted"))},on:{click:function(t){return s.toggleCol("unlisted")}}}),s._v(" "),i("th",{attrs:{scope:"col"}},[s._v("Created")])])]),s._v(" "),i("tbody",s._l(s.instances,(function(t,e){return i("tr",[i("td",{staticClass:"font-weight-bold text-monospace text-muted"},[i("a",{attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),s.openInstanceModal(t.id)}}},[s._v("\n\t\t\t\t\t\t\t\t\t"+s._s(t.id)+"\n\t\t\t\t\t\t\t\t")])]),s._v(" "),i("td",{staticClass:"font-weight-bold"},[s._v(s._s(t.domain))]),s._v(" "),i("td",{staticClass:"font-weight-bold"},[s._v(s._s(t.software))]),s._v(" "),i("td",{staticClass:"font-weight-bold"},[s._v(s._s(s.prettyCount(t.user_count)))]),s._v(" "),i("td",{staticClass:"font-weight-bold"},[s._v(s._s(s.prettyCount(t.status_count)))]),s._v(" "),i("td",{staticClass:"font-weight-bold",domProps:{innerHTML:s._s(s.boolIcon(t.banned,"text-danger"))}}),s._v(" "),i("td",{staticClass:"font-weight-bold",domProps:{innerHTML:s._s(s.boolIcon(t.auto_cw,"text-danger"))}}),s._v(" "),i("td",{staticClass:"font-weight-bold",domProps:{innerHTML:s._s(s.boolIcon(t.unlisted,"text-danger"))}}),s._v(" "),i("td",{staticClass:"font-weight-bold"},[s._v(s._s(s.timeAgo(t.created_at)))])])})),0)])]),s._v(" "),i("div",{staticClass:"d-flex align-items-center justify-content-center"},[i("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!s.pagination.prev},on:{click:function(t){return s.paginate("prev")}}},[s._v("\n\t\t\t\t\tPrev\n\t\t\t\t")]),s._v(" "),i("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!s.pagination.next},on:{click:function(t){return s.paginate("next")}}},[s._v("\n\t\t\t\t\tNext\n\t\t\t\t")])])])]):i("div",{staticClass:"my-5 text-center"},[i("b-spinner")],1),s._v(" "),i("b-modal",{attrs:{title:"View Instance","header-class":"d-flex align-items-center justify-content-center mb-0 pb-0","ok-title":"Save","ok-disabled":!s.editingInstanceChanges},on:{ok:s.saveInstanceModalChanges},scopedSlots:s._u([{key:"modal-footer",fn:function(){return[i("div",{staticClass:"w-100 d-flex justify-content-between align-items-center"},[i("div",[i("b-button",{attrs:{variant:"outline-danger",size:"sm"},on:{click:s.deleteInstanceModal}},[s._v("\n\t\t\t\t\tDelete\n\t\t\t\t")]),s._v(" "),s.refreshedModalStats?s._e():i("b-button",{attrs:{variant:"outline-primary",size:"sm"},on:{click:s.refreshModalStats}},[s._v("\n\t\t\t\t\tRefresh Stats\n\t\t\t\t")])],1),s._v(" "),i("div",[i("b-button",{attrs:{variant:"link-dark",size:"sm"},on:{click:s.onViewMoreInstance}},[s._v("\n\t\t\t\tView More\n\t\t\t ")]),s._v(" "),i("b-button",{attrs:{variant:"primary"},on:{click:s.saveInstanceModalChanges}},[s._v("\n\t\t\t\tSave\n\t\t\t ")])],1)])]},proxy:!0}]),model:{value:s.showInstanceModal,callback:function(t){s.showInstanceModal=t},expression:"showInstanceModal"}},[s.editingInstance&&s.canEditInstance?i("div",{staticClass:"list-group"},[i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Domain")]),s._v(" "),i("div",{staticClass:"font-weight-bold"},[s._v(s._s(s.editingInstance.domain))])]),s._v(" "),i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[s.editingInstance.software?i("div",[i("div",{staticClass:"text-muted small"},[s._v("Software")]),s._v(" "),i("div",{staticClass:"font-weight-bold"},[s._v(s._s(null!==(t=s.editingInstance.software)&&void 0!==t?t:"Unknown"))])]):s._e(),s._v(" "),i("div",[i("div",{staticClass:"text-muted small"},[s._v("Total Users")]),s._v(" "),i("div",{staticClass:"font-weight-bold"},[s._v(s._s(s.formatCount(null!==(e=s.editingInstance.user_count)&&void 0!==e?e:0)))])]),s._v(" "),i("div",[i("div",{staticClass:"text-muted small"},[s._v("Total Statuses")]),s._v(" "),i("div",{staticClass:"font-weight-bold"},[s._v(s._s(s.formatCount(null!==(a=s.editingInstance.status_count)&&void 0!==a?a:0)))])])]),s._v(" "),i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Banned")]),s._v(" "),i("div",{staticClass:"mr-n2 mb-1"},[i("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:s.editingInstance.banned,callback:function(t){s.$set(s.editingInstance,"banned",t)},expression:"editingInstance.banned"}})],1)]),s._v(" "),i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Apply CW to Media")]),s._v(" "),i("div",{staticClass:"mr-n2 mb-1"},[i("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:s.editingInstance.auto_cw,callback:function(t){s.$set(s.editingInstance,"auto_cw",t)},expression:"editingInstance.auto_cw"}})],1)]),s._v(" "),i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Unlisted")]),s._v(" "),i("div",{staticClass:"mr-n2 mb-1"},[i("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:s.editingInstance.unlisted,callback:function(t){s.$set(s.editingInstance,"unlisted",t)},expression:"editingInstance.unlisted"}})],1)]),s._v(" "),i("div",{staticClass:"list-group-item d-flex justify-content-between",class:[s.instanceModalNotes?"flex-column gap-2":"align-items-center"]},[i("div",{staticClass:"text-muted small"},[s._v("Notes")]),s._v(" "),i("transition",{attrs:{name:"fade"}},[s.instanceModalNotes?i("div",{staticClass:"w-100"},[i("b-form-textarea",{attrs:{rows:"3","max-rows":"5",maxlength:"500"},model:{value:s.editingInstance.notes,callback:function(t){s.$set(s.editingInstance,"notes",t)},expression:"editingInstance.notes"}}),s._v(" "),i("p",{staticClass:"small text-muted"},[s._v(s._s(s.editingInstance.notes?s.editingInstance.notes.length:0)+"/500")])],1):i("div",{staticClass:"mb-1"},[i("a",{staticClass:"font-weight-bold small",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),s.showModalNotes()}}},[s._v(s._s(s.editingInstance.notes?"View":"Add"))])])])],1)]):s._e()]),s._v(" "),i("b-modal",{attrs:{title:"Add Instance","ok-title":"Save","ok-disabled":s.addNewInstance.domain.length<2},on:{ok:s.saveNewInstance},model:{value:s.showAddModal,callback:function(t){s.showAddModal=t},expression:"showAddModal"}},[i("div",{staticClass:"list-group"},[i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Domain")]),s._v(" "),i("div",[i("b-form-input",{attrs:{placeholder:"Add domain here"},model:{value:s.addNewInstance.domain,callback:function(t){s.$set(s.addNewInstance,"domain",t)},expression:"addNewInstance.domain"}}),s._v(" "),i("p",{staticClass:"small text-light mb-0"},[s._v("Enter a valid domain without https://")])],1)]),s._v(" "),i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Banned")]),s._v(" "),i("div",{staticClass:"mr-n2 mb-1"},[i("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:s.addNewInstance.banned,callback:function(t){s.$set(s.addNewInstance,"banned",t)},expression:"addNewInstance.banned"}})],1)]),s._v(" "),i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Apply CW to Media")]),s._v(" "),i("div",{staticClass:"mr-n2 mb-1"},[i("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:s.addNewInstance.auto_cw,callback:function(t){s.$set(s.addNewInstance,"auto_cw",t)},expression:"addNewInstance.auto_cw"}})],1)]),s._v(" "),i("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Unlisted")]),s._v(" "),i("div",{staticClass:"mr-n2 mb-1"},[i("b-form-checkbox",{attrs:{switch:"",size:"lg"},model:{value:s.addNewInstance.unlisted,callback:function(t){s.$set(s.addNewInstance,"unlisted",t)},expression:"addNewInstance.unlisted"}})],1)]),s._v(" "),i("div",{staticClass:"list-group-item d-flex flex-column gap-2 justify-content-between"},[i("div",{staticClass:"text-muted small"},[s._v("Notes")]),s._v(" "),i("div",{staticClass:"w-100"},[i("b-form-textarea",{attrs:{rows:"3","max-rows":"5",maxlength:"500",placeholder:"Add optional notes here"},model:{value:s.addNewInstance.notes,callback:function(t){s.$set(s.addNewInstance,"notes",t)},expression:"addNewInstance.notes"}}),s._v(" "),i("p",{staticClass:"small text-muted"},[s._v(s._s(s.addNewInstance.notes?s.addNewInstance.notes.length:0)+"/500")])],1)])])]),s._v(" "),i("b-modal",{attrs:{title:"Import Instance Backup","ok-title":"Import",scrollable:"","ok-disabled":!s.importData||!s.importData.banned.length&&!s.importData.unlisted.length&&!s.importData.auto_cw.length},on:{ok:s.completeImport,cancel:s.cancelImport},model:{value:s.showImportModal,callback:function(t){s.showImportModal=t},expression:"showImportModal"}},[s.showImportModal&&s.importData?i("div",[s.importData.auto_cw&&s.importData.auto_cw.length?i("div",{staticClass:"mb-5"},[i("p",{staticClass:"font-weight-bold text-center my-0"},[s._v("NSFW Instances ("+s._s(s.importData.auto_cw.length)+")")]),s._v(" "),i("p",{staticClass:"small text-center text-muted mb-1"},[s._v("Tap on an instance to remove it.")]),s._v(" "),i("div",{staticClass:"list-group"},s._l(s.importData.auto_cw,(function(t,e){return i("a",{staticClass:"list-group-item d-flex align-items-center justify-content-between",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),s.filterImportData("auto_cw",e)}}},[s._v("\n\t\t\t\t\t\t"+s._s(t)+"\n\n\t\t\t\t\t\t"),i("span",{staticClass:"badge badge-warning"},[s._v("Auto CW")])])})),0)]):s._e(),s._v(" "),s.importData.unlisted&&s.importData.unlisted.length?i("div",{staticClass:"mb-5"},[i("p",{staticClass:"font-weight-bold text-center my-0"},[s._v("Unlisted Instances ("+s._s(s.importData.unlisted.length)+")")]),s._v(" "),i("p",{staticClass:"small text-center text-muted mb-1"},[s._v("Tap on an instance to remove it.")]),s._v(" "),i("div",{staticClass:"list-group"},s._l(s.importData.unlisted,(function(t,e){return i("a",{staticClass:"list-group-item d-flex align-items-center justify-content-between",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),s.filterImportData("unlisted",e)}}},[s._v("\n\t\t\t\t\t\t"+s._s(t)+"\n\n\t\t\t\t\t\t"),i("span",{staticClass:"badge badge-primary"},[s._v("Unlisted")])])})),0)]):s._e(),s._v(" "),s.importData.banned&&s.importData.banned.length?i("div",{staticClass:"mb-5"},[i("p",{staticClass:"font-weight-bold text-center my-0"},[s._v("Banned Instances ("+s._s(s.importData.banned.length)+")")]),s._v(" "),i("p",{staticClass:"small text-center text-muted mb-1"},[s._v("Review instances, tap on an instance to remove it.")]),s._v(" "),i("div",{staticClass:"list-group"},s._l(s.importData.banned,(function(t,e){return i("a",{staticClass:"list-group-item d-flex align-items-center justify-content-between",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),s.filterImportData("banned",e)}}},[s._v("\n\t\t\t\t\t\t"+s._s(t)+"\n\n\t\t\t\t\t\t"),i("span",{staticClass:"badge badge-danger"},[s._v("Banned")])])})),0)]):s._e(),s._v(" "),s.importData.banned.length||s.importData.unlisted.length||s.importData.auto_cw.length?s._e():i("div",[i("div",{staticClass:"text-center"},[i("p",[i("i",{staticClass:"far fa-check-circle fa-4x text-success"})]),s._v(" "),i("p",{staticClass:"lead"},[s._v("Nothing to import!")])])])]):s._e()])],1)},i=[function(){var t=this._self._c;return t("div",{staticClass:"row align-items-center py-4"},[t("div",{staticClass:"col-lg-6 col-7"},[t("p",{staticClass:"display-1 text-white d-inline-block mb-0"},[this._v("Instances")])])])}]},67375:(t,e,a)=>{"use strict";a.r(e),a.d(e,{render:()=>s,staticRenderFns:()=>i});var s=function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"header bg-primary pb-3 mt-n4"},[e("div",{staticClass:"container-fluid"},[e("div",{staticClass:"header-body"},[t._m(0),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"col-12 col-sm-6 col-lg-3"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("Active Reports")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size",attrs:{"data-toggle":"tooltip","data-placement":"bottom",title:t.stats.open+" open reports"}},[t._v("\n \t"+t._s(t.prettyCount(t.stats.open))+"\n ")])])]),t._v(" "),e("div",{staticClass:"col-12 col-sm-6 col-lg-3"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("Active Spam Detections")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size",attrs:{"data-toggle":"tooltip","data-placement":"bottom",title:t.stats.autospam_open+" open spam detections"}},[t._v(t._s(t.prettyCount(t.stats.autospam_open)))])])]),t._v(" "),e("div",{staticClass:"col-12 col-sm-6 col-lg-3"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("Total Reports")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size",attrs:{"data-toggle":"tooltip","data-placement":"bottom",title:t.stats.total+" total reports"}},[t._v(t._s(t.prettyCount(t.stats.total))+"\n ")])])]),t._v(" "),e("div",{staticClass:"col-12 col-sm-6 col-lg-3"},[e("div",{staticClass:"mb-3"},[e("h5",{staticClass:"text-light text-uppercase mb-0"},[t._v("Total Spam Detections")]),t._v(" "),e("span",{staticClass:"text-white h2 font-weight-bold mb-0 human-size",attrs:{"data-toggle":"tooltip","data-placement":"bottom",title:t.stats.autospam+" total spam detections"}},[t._v("\n \t"+t._s(t.prettyCount(t.stats.autospam))+"\n ")])])])])])])]),t._v(" "),t.loaded?e("div",{staticClass:"m-n2 m-lg-4"},[e("div",{staticClass:"container-fluid mt-4"},[e("div",{staticClass:"row mb-3 justify-content-between"},[e("div",{staticClass:"col-12"},[e("ul",{staticClass:"nav nav-pills"},[e("li",{staticClass:"nav-item"},[e("a",{class:["nav-link d-flex align-items-center",{active:0==t.tabIndex}],attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.toggleTab(0)}}},[e("span",[t._v("Open Reports")]),t._v(" "),t.stats.open?e("span",{staticClass:"badge badge-sm badge-floating badge-danger border-white ml-2",staticStyle:{"background-color":"red",color:"white","font-size":"11px"}},[t._v("\n \t\t"+t._s(t.prettyCount(t.stats.open))+"\n \t")]):t._e()])]),t._v(" "),e("li",{staticClass:"nav-item"},[e("a",{class:["nav-link d-flex align-items-center",{active:2==t.tabIndex}],attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.toggleTab(2)}}},[e("span",[t._v("Spam Detections")]),t._v(" "),t.stats.autospam_open?e("span",{staticClass:"badge badge-sm badge-floating badge-danger border-white ml-2",staticStyle:{"background-color":"red",color:"white","font-size":"11px"}},[t._v("\n \t\t"+t._s(t.prettyCount(t.stats.autospam_open))+"\n \t")]):t._e()])]),t._v(" "),e("li",{staticClass:"d-none d-md-block nav-item"},[e("a",{class:["nav-link d-flex align-items-center",{active:1==t.tabIndex}],attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.toggleTab(1)}}},[e("span",[t._v("Closed Reports")]),t._v(" "),t.stats.autospam_open?e("span",{staticClass:"badge badge-sm badge-floating badge-secondary border-white ml-2",staticStyle:{"font-size":"11px"}},[t._v("\n\t \t"+t._s(t.prettyCount(t.stats.closed))+"\n\t ")]):t._e()])]),t._v(" "),e("li",{staticClass:"d-none d-md-block nav-item"},[e("a",{staticClass:"nav-link d-flex align-items-center",attrs:{href:"/i/admin/reports/email-verifications"}},[e("span",[t._v("Email Verification Requests")]),t._v(" "),t.stats.email_verification_requests?e("span",{staticClass:"badge badge-sm badge-floating badge-secondary border-white ml-2",staticStyle:{"font-size":"11px"}},[t._v("\n\t \t"+t._s(t.prettyCount(t.stats.email_verification_requests))+"\n\t ")]):t._e()])]),t._v(" "),e("li",{staticClass:"d-none d-md-block nav-item"},[e("a",{staticClass:"nav-link d-flex align-items-center",attrs:{href:"/i/admin/reports/appeals"}},[e("span",[t._v("Appeal Requests")]),t._v(" "),t.stats.appeals?e("span",{staticClass:"badge badge-sm badge-floating badge-secondary border-white ml-2",staticStyle:{"font-size":"11px"}},[t._v("\n \t\t\t"+t._s(t.prettyCount(t.stats.appeals))+"\n \t")]):t._e()])])])])]),t._v(" "),[0,1].includes(this.tabIndex)?e("div",{staticClass:"table-responsive rounded"},[t.reports&&t.reports.length?e("table",{staticClass:"table table-dark"},[t._m(1),t._v(" "),e("tbody",t._l(t.reports,(function(a,s){return e("tr",[e("td",{staticClass:"font-weight-bold text-monospace text-muted align-middle"},[e("a",{attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.viewReport(a)}}},[t._v("\n "+t._s(a.id)+"\n ")])]),t._v(" "),e("td",{staticClass:"align-middle"},[e("p",{staticClass:"text-capitalize font-weight-bold mb-0",domProps:{innerHTML:t._s(t.reportLabel(a))}})]),t._v(" "),e("td",{staticClass:"align-middle"},[a.reported&&a.reported.id?e("a",{staticClass:"text-white",attrs:{href:"/i/web/profile/".concat(a.reported.id),target:"_blank"}},[e("div",{staticClass:"d-flex align-items-center",staticStyle:{gap:"0.61rem"}},[e("img",{staticStyle:{"object-fit":"cover","border-radius":"30px"},attrs:{src:a.reported.avatar,width:"30",height:"30",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"d-flex flex-column"},[e("p",{staticClass:"font-weight-bold mb-0",staticStyle:{"font-size":"14px"}},[t._v("@"+t._s(a.reported.username))]),t._v(" "),e("div",{staticClass:"d-flex small text-muted mb-0",staticStyle:{gap:"0.5rem"}},[e("span",[t._v(t._s(a.reported.followers_count)+" Followers")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v("Joined "+t._s(t.timeAgo(a.reported.created_at)))])])])])]):t._e()]),t._v(" "),e("td",{staticClass:"align-middle"},[e("a",{staticClass:"text-white",attrs:{href:"/i/web/profile/".concat(a.reporter.id),target:"_blank"}},[e("div",{staticClass:"d-flex align-items-center",staticStyle:{gap:"0.61rem"}},[e("img",{staticStyle:{"object-fit":"cover","border-radius":"30px"},attrs:{src:a.reporter.avatar,width:"30",height:"30",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"d-flex flex-column"},[e("p",{staticClass:"font-weight-bold mb-0",staticStyle:{"font-size":"14px"}},[t._v("@"+t._s(a.reporter.username))]),t._v(" "),e("div",{staticClass:"d-flex small text-muted mb-0",staticStyle:{gap:"0.5rem"}},[e("span",[t._v(t._s(a.reporter.followers_count)+" Followers")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v("Joined "+t._s(t.timeAgo(a.reporter.created_at)))])])])])])]),t._v(" "),e("td",{staticClass:"font-weight-bold align-middle"},[t._v(t._s(t.timeAgo(a.created_at)))]),t._v(" "),e("td",{staticClass:"align-middle"},[e("a",{staticClass:"btn btn-primary btn-sm",attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.viewReport(a)}}},[t._v("View")])])])})),0)]):e("div",[e("div",{staticClass:"card card-body p-5"},[e("div",{staticClass:"d-flex justify-content-between align-items-center flex-column"},[t._m(2),t._v(" "),e("p",{staticClass:"lead"},[t._v(t._s(0===t.tabIndex?"No Active Reports Found!":"No Closed Reports Found!"))])])])])]):t._e(),t._v(" "),[0,1].includes(this.tabIndex)&&t.reports.length&&(t.pagination.prev||t.pagination.next)?e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.pagination.prev},on:{click:function(e){return t.paginate("prev")}}},[t._v("\n Prev\n ")]),t._v(" "),e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.pagination.next},on:{click:function(e){return t.paginate("next")}}},[t._v("\n Next\n ")])]):t._e(),t._v(" "),2===this.tabIndex?e("div",{staticClass:"table-responsive rounded"},[t.autospamLoaded?[t.autospam&&t.autospam.length?e("table",{staticClass:"table table-dark"},[t._m(3),t._v(" "),e("tbody",t._l(t.autospam,(function(a,s){return e("tr",[e("td",{staticClass:"font-weight-bold text-monospace text-muted align-middle"},[e("a",{attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.viewSpamReport(a)}}},[t._v("\n\t "+t._s(a.id)+"\n\t ")])]),t._v(" "),t._m(4,!0),t._v(" "),e("td",{staticClass:"align-middle"},[a.status&&a.status.account?e("a",{staticClass:"text-white",attrs:{href:"/i/web/profile/".concat(a.status.account.id),target:"_blank"}},[e("div",{staticClass:"d-flex align-items-center",staticStyle:{gap:"0.61rem"}},[e("img",{staticStyle:{"object-fit":"cover","border-radius":"30px"},attrs:{src:a.status.account.avatar,width:"30",height:"30",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"d-flex flex-column"},[e("p",{staticClass:"font-weight-bold mb-0",staticStyle:{"font-size":"14px"}},[t._v("@"+t._s(a.status.account.username))]),t._v(" "),e("div",{staticClass:"d-flex small text-muted mb-0",staticStyle:{gap:"0.5rem"}},[e("span",[t._v(t._s(a.status.account.followers_count)+" Followers")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v("Joined "+t._s(t.timeAgo(a.status.account.created_at)))])])])])]):t._e()]),t._v(" "),e("td",{staticClass:"font-weight-bold align-middle"},[t._v(t._s(t.timeAgo(a.created_at)))]),t._v(" "),e("td",{staticClass:"align-middle"},[e("a",{staticClass:"btn btn-primary btn-sm",attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.viewSpamReport(a)}}},[t._v("View")])])])})),0)]):e("div",[t._m(5)])]:e("div",{staticClass:"d-flex align-items-center justify-content-center",staticStyle:{"min-height":"300px"}},[e("b-spinner")],1)],2):t._e(),t._v(" "),2===this.tabIndex&&t.autospamLoaded&&t.autospam&&t.autospam.length?e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.autospamPagination.prev},on:{click:function(e){return t.autospamPaginate("prev")}}},[t._v("\n Prev\n ")]),t._v(" "),e("button",{staticClass:"btn btn-primary rounded-pill",attrs:{disabled:!t.autospamPagination.next},on:{click:function(e){return t.autospamPaginate("next")}}},[t._v("\n Next\n ")])]):t._e()])]):e("div",{staticClass:"my-5 text-center"},[e("b-spinner")],1),t._v(" "),e("b-modal",{attrs:{title:0===t.tabIndex?"View Report":"Viewing Closed Report","ok-only":!0,"ok-title":"Close","ok-variant":"outline-primary"},model:{value:t.showReportModal,callback:function(e){t.showReportModal=e},expression:"showReportModal"}},[t.viewingReportLoading?e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("b-spinner")],1):[t.viewingReport?e("div",{staticClass:"list-group"},[e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[e("div",{staticClass:"text-muted small"},[t._v("Type")]),t._v(" "),e("div",{staticClass:"font-weight-bold text-capitalize",domProps:{innerHTML:t._s(t.reportLabel(t.viewingReport))}})]),t._v(" "),t.viewingReport.admin_seen_at?e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between"},[e("div",{staticClass:"text-muted small"},[t._v("Report Closed")]),t._v(" "),e("div",{staticClass:"font-weight-bold text-capitalize"},[t._v(t._s(t.formatDate(t.viewingReport.admin_seen_at)))])]):t._e(),t._v(" "),t.viewingReport.reporter_message?e("div",{staticClass:"list-group-item d-flex flex-column",staticStyle:{gap:"10px"}},[e("div",{staticClass:"text-muted small"},[t._v("Message")]),t._v(" "),e("p",{staticClass:"mb-0 read-more",staticStyle:{"font-size":"12px","overflow-y":"hidden"}},[t._v(t._s(t.viewingReport.reporter_message))])]):t._e()]):t._e(),t._v(" "),e("div",{staticClass:"list-group list-group-horizontal mt-3"},[t.viewingReport&&t.viewingReport.reported?e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"text-muted small font-weight-bold mt-n1"},[t._v("Reported Account")]),t._v(" "),t.viewingReport.reported&&t.viewingReport.reported.id?e("a",{staticClass:"text-primary",attrs:{href:"/i/web/profile/".concat(t.viewingReport.reported.id),target:"_blank"}},[e("div",{staticClass:"d-flex align-items-center",staticStyle:{gap:"0.61rem"}},[e("img",{staticStyle:{"object-fit":"cover","border-radius":"30px"},attrs:{src:t.viewingReport.reported.avatar,width:"30",height:"30",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"d-flex flex-column"},[e("p",{staticClass:"font-weight-bold mb-0 text-break",class:[t.viewingReport.reported.is_admin?"text-danger":""],staticStyle:{"font-size":"12px","max-width":"140px","line-height":"16px"}},[t._v("@"+t._s(t.viewingReport.reported.acct))]),t._v(" "),e("div",{staticClass:"d-flex text-muted mb-0",staticStyle:{"font-size":"10px",gap:"0.5rem"}},[e("span",[t._v(t._s(t.viewingReport.reported.followers_count)+" Followers")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v("Joined "+t._s(t.timeAgo(t.viewingReport.reported.created_at)))])])])])]):t._e()]):t._e(),t._v(" "),t.viewingReport&&t.viewingReport.reporter?e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"text-muted small font-weight-bold mt-n1"},[t._v("Reporter Account")]),t._v(" "),t.viewingReport.reporter&&t.viewingReport.reporter.id?e("a",{staticClass:"text-primary",attrs:{href:"/i/web/profile/".concat(t.viewingReport.reporter.id),target:"_blank"}},[e("div",{staticClass:"d-flex align-items-center",staticStyle:{gap:"0.61rem"}},[e("img",{staticStyle:{"object-fit":"cover","border-radius":"30px"},attrs:{src:t.viewingReport.reporter.avatar,width:"30",height:"30",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"d-flex flex-column"},[e("p",{staticClass:"font-weight-bold mb-0 text-break",staticStyle:{"font-size":"12px","max-width":"140px","line-height":"16px"}},[t._v("@"+t._s(t.viewingReport.reporter.acct))]),t._v(" "),e("div",{staticClass:"d-flex text-muted mb-0",staticStyle:{"font-size":"10px",gap:"0.5rem"}},[e("span",[t._v(t._s(t.viewingReport.reporter.followers_count)+" Followers")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v("Joined "+t._s(t.timeAgo(t.viewingReport.reporter.created_at)))])])])])]):t._e()]):t._e()]),t._v(" "),t.viewingReport&&"App\\Status"===t.viewingReport.object_type&&t.viewingReport.status?e("div",{staticClass:"list-group mt-3"},[t.viewingReport&&t.viewingReport.status&&t.viewingReport.status.media_attachments.length?e("div",{staticClass:"list-group-item d-flex flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"d-flex justify-content-between mt-n1 text-muted small font-weight-bold"},[e("div",[t._v("Reported Post")]),t._v(" "),e("a",{staticClass:"font-weight-bold",attrs:{href:t.viewingReport.status.url,target:"_blank"}},[t._v("View")])]),t._v(" "),"image"===t.viewingReport.status.media_attachments[0].type?e("img",{staticClass:"rounded",staticStyle:{"object-fit":"cover"},attrs:{src:t.viewingReport.status.media_attachments[0].url,height:"140",onerror:"this.src='/storage/no-preview.png';this.error=null;"}}):"video"===t.viewingReport.status.media_attachments[0].type?e("video",{attrs:{height:"140",controls:"",src:t.viewingReport.status.media_attachments[0].url,onerror:"this.src='/storage/no-preview.png';this.onerror=null;"}}):t._e()]):t._e(),t._v(" "),t.viewingReport&&t.viewingReport.status?e("div",{staticClass:"list-group-item d-flex flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"d-flex justify-content-between mt-n1 text-muted small font-weight-bold"},[e("div",[t._v("Reported Post Caption")]),t._v(" "),e("a",{staticClass:"font-weight-bold",attrs:{href:t.viewingReport.status.url,target:"_blank"}},[t._v("View")])]),t._v(" "),e("p",{staticClass:"mb-0 read-more",staticStyle:{"font-size":"12px","overflow-y":"hidden"}},[t._v(t._s(t.viewingReport.status.content_text))])]):t._e()]):t.viewingReport&&"App\\Story"===t.viewingReport.object_type&&t.viewingReport.story?e("div",{staticClass:"list-group mt-3"},[t.viewingReport&&t.viewingReport.story?e("div",{staticClass:"list-group-item d-flex flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"d-flex justify-content-between mt-n1 text-muted small font-weight-bold"},[e("div",[t._v("Reported Story")]),t._v(" "),e("a",{staticClass:"font-weight-bold",attrs:{href:t.viewingReport.story.url,target:"_blank"}},[t._v("View")])]),t._v(" "),"photo"===t.viewingReport.story.type?e("img",{staticClass:"rounded",staticStyle:{"object-fit":"cover"},attrs:{src:t.viewingReport.story.media_src,height:"140",onerror:"this.src='/storage/no-preview.png';this.error=null;"}}):"video"===t.viewingReport.story.type?e("video",{attrs:{height:"140",controls:"",src:t.viewingReport.story.media_src,onerror:"this.src='/storage/no-preview.png';this.onerror=null;"}}):t._e()]):t._e()]):t._e(),t._v(" "),t.viewingReport&&null===t.viewingReport.admin_seen_at?e("div",{staticClass:"mt-4"},[t.viewingReport&&"App\\Profile"===t.viewingReport.object_type?e("div",[e("button",{staticClass:"btn btn-dark btn-block rounded-pill",on:{click:function(e){return t.handleAction("profile","ignore")}}},[t._v("Ignore Report")]),t._v(" "),t.viewingReport.reported&&t.viewingReport.reported.id&&!t.viewingReport.reported.is_admin?e("hr",{staticClass:"mt-3 mb-1"}):t._e(),t._v(" "),t.viewingReport.reported&&t.viewingReport.reported.id&&!t.viewingReport.reported.is_admin?e("div",{staticClass:"d-flex flex-row mt-2",staticStyle:{gap:"0.3rem"}},[e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("profile","nsfw")}}},[t._v("\n\t\t \t\t\t\tMark all Posts NSFW\n\t\t \t\t\t")]),t._v(" "),e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("profile","unlist")}}},[t._v("\n\t\t \t\t\t\tUnlist all Posts\n\t\t \t\t\t")])]):t._e(),t._v(" "),t.viewingReport.reported&&t.viewingReport.reported.id&&!t.viewingReport.reported.is_admin?e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-2",on:{click:function(e){return t.handleAction("profile","delete")}}},[t._v("\n\t\t \t\t\tDelete Profile\n\t\t \t\t")]):t._e()]):t.viewingReport&&"App\\Status"===t.viewingReport.object_type?e("div",[e("button",{staticClass:"btn btn-dark btn-block rounded-pill",on:{click:function(e){return t.handleAction("post","ignore")}}},[t._v("Ignore Report")]),t._v(" "),t.viewingReport&&t.viewingReport.reported&&!t.viewingReport.reported.is_admin?e("hr",{staticClass:"mt-3 mb-1"}):t._e(),t._v(" "),t.viewingReport&&t.viewingReport.reported&&!t.viewingReport.reported.is_admin?e("div",{staticClass:"d-flex flex-row mt-2",staticStyle:{gap:"0.3rem"}},[e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("post","nsfw")}}},[t._v("Mark Post NSFW")]),t._v(" "),"public"===t.viewingReport.status.visibility?e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("post","unlist")}}},[t._v("Unlist Post")]):"unlisted"===t.viewingReport.status.visibility?e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("post","private")}}},[t._v("Make Post Private")]):t._e()]):t._e(),t._v(" "),t.viewingReport&&t.viewingReport.reported&&!t.viewingReport.reported.is_admin?e("div",{staticClass:"d-flex flex-row mt-2",staticStyle:{gap:"0.3rem"}},[e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("profile","nsfw")}}},[t._v("Make all NSFW")]),t._v(" "),e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("profile","unlist")}}},[t._v("Make all Unlisted")]),t._v(" "),e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("profile","private")}}},[t._v("Make all Private")])]):t._e(),t._v(" "),t.viewingReport&&t.viewingReport.reported&&!t.viewingReport.reported.is_admin?e("div",[e("hr",{staticClass:"my-2"}),t._v(" "),e("div",{staticClass:"d-flex flex-row mt-2",staticStyle:{gap:"0.3rem"}},[e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("post","delete")}}},[t._v("Delete Post")]),t._v(" "),e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",on:{click:function(e){return t.handleAction("profile","delete")}}},[t._v("Delete Account")])])]):t._e()]):t.viewingReport&&"App\\Story"===t.viewingReport.object_type?e("div",[e("button",{staticClass:"btn btn-dark btn-block rounded-pill",on:{click:function(e){return t.handleAction("story","ignore")}}},[t._v("Ignore Report")]),t._v(" "),t.viewingReport&&t.viewingReport.reported&&!t.viewingReport.reported.is_admin?e("hr",{staticClass:"mt-3 mb-1"}):t._e(),t._v(" "),t.viewingReport&&t.viewingReport.reported&&!t.viewingReport.reported.is_admin?e("div",[e("div",{staticClass:"d-flex flex-row mt-2",staticStyle:{gap:"0.3rem"}},[e("button",{staticClass:"btn btn-danger btn-block rounded-pill mt-0",on:{click:function(e){return t.handleAction("story","delete")}}},[t._v("Delete Story")]),t._v(" "),e("button",{staticClass:"btn btn-outline-danger btn-block rounded-pill mt-0",on:{click:function(e){return t.handleAction("story","delete-all")}}},[t._v("Delete All Stories")])])]):t._e(),t._v(" "),t.viewingReport&&t.viewingReport.reported&&!t.viewingReport.reported.is_admin?e("div",[e("hr",{staticClass:"my-2"}),t._v(" "),e("div",{staticClass:"d-flex flex-row mt-2",staticStyle:{gap:"0.3rem"}},[e("button",{staticClass:"btn btn-outline-danger btn-sm btn-block rounded-pill mt-0",on:{click:function(e){return t.handleAction("profile","delete")}}},[t._v("Delete Account")])])]):t._e()]):t._e()]):t._e()]],2),t._v(" "),e("b-modal",{attrs:{title:"Potential Spam Post Detected","ok-only":!0,"ok-title":"Close","ok-variant":"outline-primary"},model:{value:t.showSpamReportModal,callback:function(e){t.showSpamReportModal=e},expression:"showSpamReportModal"}},[t.viewingSpamReportLoading?e("div",{staticClass:"d-flex align-items-center justify-content-center"},[e("b-spinner")],1):[e("div",{staticClass:"list-group list-group-horizontal mt-3"},[t.viewingSpamReport&&t.viewingSpamReport.status&&t.viewingSpamReport.status.account?e("div",{staticClass:"list-group-item d-flex align-items-center justify-content-between flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"text-muted small font-weight-bold mt-n1"},[t._v("Reported Account")]),t._v(" "),t.viewingSpamReport.status.account&&t.viewingSpamReport.status.account.id?e("a",{staticClass:"text-primary",attrs:{href:"/i/web/profile/".concat(t.viewingSpamReport.status.account.id),target:"_blank"}},[e("div",{staticClass:"d-flex align-items-center",staticStyle:{gap:"0.61rem"}},[e("img",{staticStyle:{"object-fit":"cover","border-radius":"30px"},attrs:{src:t.viewingSpamReport.status.account.avatar,width:"30",height:"30",onerror:"this.src='/storage/avatars/default.png';this.error=null;"}}),t._v(" "),e("div",{staticClass:"d-flex flex-column"},[e("p",{staticClass:"font-weight-bold mb-0 text-break",class:[t.viewingSpamReport.status.account.is_admin?"text-danger":""],staticStyle:{"font-size":"12px","max-width":"140px","line-height":"16px"}},[t._v("@"+t._s(t.viewingSpamReport.status.account.acct))]),t._v(" "),e("div",{staticClass:"d-flex text-muted mb-0",staticStyle:{"font-size":"10px",gap:"0.5rem"}},[e("span",[t._v(t._s(t.viewingSpamReport.status.account.followers_count)+" Followers")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v("Joined "+t._s(t.timeAgo(t.viewingSpamReport.status.account.created_at)))])])])])]):t._e()]):t._e()]),t._v(" "),t.viewingSpamReport&&t.viewingSpamReport.status?e("div",{staticClass:"list-group mt-3"},[t.viewingSpamReport&&t.viewingSpamReport.status&&t.viewingSpamReport.status.media_attachments.length?e("div",{staticClass:"list-group-item d-flex flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"d-flex justify-content-between mt-n1 text-muted small font-weight-bold"},[e("div",[t._v("Reported Post")]),t._v(" "),e("a",{staticClass:"font-weight-bold",attrs:{href:t.viewingSpamReport.status.url,target:"_blank"}},[t._v("View")])]),t._v(" "),"image"===t.viewingSpamReport.status.media_attachments[0].type?e("img",{staticClass:"rounded",staticStyle:{"object-fit":"cover"},attrs:{src:t.viewingSpamReport.status.media_attachments[0].url,height:"140",onerror:"this.src='/storage/no-preview.png';this.error=null;"}}):"video"===t.viewingSpamReport.status.media_attachments[0].type?e("video",{attrs:{height:"140",controls:"",src:t.viewingSpamReport.status.media_attachments[0].url,onerror:"this.src='/storage/no-preview.png';this.onerror=null;"}}):t._e()]):t._e(),t._v(" "),t.viewingSpamReport&&t.viewingSpamReport.status&&t.viewingSpamReport.status.content_text&&t.viewingSpamReport.status.content_text.length?e("div",{staticClass:"list-group-item d-flex flex-column flex-grow-1",staticStyle:{gap:"0.4rem"}},[e("div",{staticClass:"d-flex justify-content-between mt-n1 text-muted small font-weight-bold"},[e("div",[t._v("Reported Post Caption")]),t._v(" "),e("a",{staticClass:"font-weight-bold",attrs:{href:t.viewingSpamReport.status.url,target:"_blank"}},[t._v("View")])]),t._v(" "),e("p",{staticClass:"mb-0 read-more",staticStyle:{"font-size":"12px","overflow-y":"hidden"}},[t._v(t._s(t.viewingSpamReport.status.content_text))])]):t._e()]):t._e(),t._v(" "),e("div",{staticClass:"mt-4"},[e("div",[e("button",{staticClass:"btn btn-dark btn-block rounded-pill",attrs:{type:"button"},on:{click:function(e){return t.handleSpamAction("mark-read")}}},[t._v("\n\t\t \t\t\tMark as Read\n\t\t \t\t")]),t._v(" "),e("button",{staticClass:"btn btn-danger btn-block rounded-pill",attrs:{type:"button"},on:{click:function(e){return t.handleSpamAction("mark-not-spam")}}},[t._v("\n\t\t \t\t\tMark As Not Spam\n\t\t \t\t")]),t._v(" "),e("hr",{staticClass:"mt-3 mb-1"}),t._v(" "),e("div",{staticClass:"d-flex flex-row mt-2",staticStyle:{gap:"0.3rem"}},[e("button",{staticClass:"btn btn-dark btn-block btn-sm rounded-pill mt-0",attrs:{type:"button"},on:{click:function(e){return t.handleSpamAction("mark-all-read")}}},[t._v("\n\t\t \t\t\t\tMark All As Read\n\t\t \t\t\t")]),t._v(" "),e("button",{staticClass:"btn btn-dark btn-block btn-sm rounded-pill mt-0",attrs:{type:"button"},on:{click:function(e){return t.handleSpamAction("mark-all-not-spam")}}},[t._v("\n\t\t \t\t\t\tMark All As Not Spam\n\t\t \t\t\t")])]),t._v(" "),e("div",[e("hr",{staticClass:"my-2"}),t._v(" "),e("div",{staticClass:"d-flex flex-row mt-2",staticStyle:{gap:"0.3rem"}},[e("button",{staticClass:"btn btn-outline-danger btn-block btn-sm rounded-pill mt-0",attrs:{type:"button"},on:{click:function(e){return t.handleSpamAction("delete-profile")}}},[t._v("\n\t\t\t\t\t\t\t\tDelete Account\n\t\t\t\t\t\t\t")])])])])])]],2)],1)},i=[function(){var t=this._self._c;return t("div",{staticClass:"row align-items-center py-4"},[t("div",{staticClass:"col-lg-6 col-7"},[t("p",{staticClass:"display-1 text-white d-inline-block mb-0"},[this._v("Moderation")])])])},function(){var t=this,e=t._self._c;return e("thead",{staticClass:"thead-dark"},[e("tr",[e("th",{attrs:{scope:"col"}},[t._v("ID")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Report")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Reported Account")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Reported By")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Created")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("View Report")])])])},function(){var t=this._self._c;return t("p",{staticClass:"mt-3 mb-0"},[t("i",{staticClass:"far fa-check-circle fa-5x text-success"})])},function(){var t=this,e=t._self._c;return e("thead",{staticClass:"thead-dark"},[e("tr",[e("th",{attrs:{scope:"col"}},[t._v("ID")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Report")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Reported Account")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("Created")]),t._v(" "),e("th",{attrs:{scope:"col"}},[t._v("View Report")])])])},function(){var t=this._self._c;return t("td",{staticClass:"align-middle"},[t("p",{staticClass:"text-capitalize font-weight-bold mb-0"},[this._v("Spam Post")])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"card card-body p-5"},[e("div",{staticClass:"d-flex justify-content-between align-items-center flex-column"},[e("p",{staticClass:"mt-3 mb-0"},[e("i",{staticClass:"far fa-check-circle fa-5x text-success"})]),t._v(" "),e("p",{staticClass:"lead"},[t._v("No Spam Reports Found!")])])])}]},36671:(t,e,a)=>{a(74692);a(9901),window._=a(2543),window.Popper=a(48851).default,window.pixelfed=window.pixelfed||{},window.$=a(74692),a(52754),window.axios=a(86425),window.axios.defaults.headers.common["X-Requested-With"]="XMLHttpRequest",a(63899),window.filesize=a(91139),window.Cookies=a(12215),a(81027),a(66482),window.Chart=a(62477),a(83925),Chart.defaults.global.defaultFontFamily="-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif",Array.from(document.querySelectorAll(".pagination .page-link")).filter((function(t){return"« Previous"===t.textContent||"Next »"===t.textContent})).forEach((function(t){return t.textContent="Next »"===t.textContent?"›":"‹"})),Vue.component("admin-autospam",a(80430).default),Vue.component("admin-directory",a(65465).default),Vue.component("admin-reports",a(13929).default),Vue.component("instances-component",a(50828).default),Vue.component("hashtag-component",a(47739).default)},83925:(t,e,a)=>{"use strict";var s=a(74692);function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}!function(){function t(){s(".sidenav-toggler").addClass("active"),s(".sidenav-toggler").data("action","sidenav-unpin"),s("body").removeClass("g-sidenav-hidden").addClass("g-sidenav-show g-sidenav-pinned"),s("body").append('
1&&(o+=''+i+""),o+=''+a+n+s+""}}}(t,a),a.update()}return window.Chart&&r(Chart,(t={defaults:{global:{responsive:!0,maintainAspectRatio:!1,defaultColor:o.gray[600],defaultFontColor:o.gray[600],defaultFontFamily:n.base,defaultFontSize:13,layout:{padding:0},legend:{display:!1,position:"bottom",labels:{usePointStyle:!0,padding:16}},elements:{point:{radius:0,backgroundColor:o.theme.primary},line:{tension:.4,borderWidth:4,borderColor:o.theme.primary,backgroundColor:o.transparent,borderCapStyle:"rounded"},rectangle:{backgroundColor:o.theme.warning},arc:{backgroundColor:o.theme.primary,borderColor:o.white,borderWidth:4}},tooltips:{enabled:!0,mode:"index",intersect:!1}},doughnut:{cutoutPercentage:83,legendCallback:function(t){var e=t.data,a="";return e.labels.forEach((function(t,s){var i=e.datasets[0].backgroundColor[s];a+='',a+='',a+=t,a+=""})),a}}}},Chart.scaleService.updateScaleDefaults("linear",{gridLines:{borderDash:[2],borderDashOffset:[2],color:o.gray[300],drawBorder:!1,drawTicks:!1,drawOnChartArea:!0,zeroLineWidth:0,zeroLineColor:"rgba(0,0,0,0)",zeroLineBorderDash:[2],zeroLineBorderDashOffset:[2]},ticks:{beginAtZero:!0,padding:10,callback:function(t){if(!(t%10))return t}}}),Chart.scaleService.updateScaleDefaults("category",{gridLines:{drawBorder:!1,drawOnChartArea:!1,drawTicks:!1},ticks:{padding:20},maxBarThickness:10}),t)),e.on({change:function(){var t=s(this);t.is("[data-add]")&&d(t)},click:function(){var t=s(this);t.is("[data-update]")&&u(t)}}),{colors:o,fonts:n,mode:a}}(),_=((r=s(o=".btn-icon-clipboard")).length&&((n=r).tooltip().on("mouseleave",(function(){n.tooltip("hide")})),new ClipboardJS(o).on("success",(function(t){s(t.trigger).attr("title","Copied!").tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle"),t.clearSelection()}))),l=s(".navbar-nav, .navbar-nav .nav"),c=s(".navbar .collapse"),d=s(".navbar .dropdown"),c.on({"show.bs.collapse":function(){!function(t){t.closest(l).find(c).not(t).collapse("hide")}(s(this))}}),d.on({"hide.bs.dropdown":function(){!function(t){var e=t.find(".dropdown-menu");e.addClass("close"),setTimeout((function(){e.removeClass("close")}),200)}(s(this))}}),function(){s(".navbar-nav");var t=s(".navbar .navbar-custom-collapse");t.length&&(t.on({"hide.bs.collapse":function(){!function(t){t.addClass("collapsing-out")}(t)}}),t.on({"hidden.bs.collapse":function(){!function(t){t.removeClass("collapsing-out")}(t)}}));var e=0;s(".sidenav-toggler").click((function(){if(1==e)s("body").removeClass("nav-open"),e=0,s(".bodyClick").remove();else{s('
').appendTo("body").click((function(){s("body").removeClass("nav-open"),e=0,s(".bodyClick").remove()})),s("body").addClass("nav-open"),e=1}}))}(),u=s('[data-toggle="popover"]'),p="",u.length&&u.each((function(){!function(t){t.data("color")&&(p="popover-"+t.data("color"));var e={trigger:"focus",template:''};t.popover(e)}(s(this))})),function(){var t=s(".scroll-me, [data-scroll-to], .toc-entry a");function e(t){var e=t.attr("href"),a=t.data("scroll-to-offset")?t.data("scroll-to-offset"):0,i={scrollTop:s(e).offset().top-a};s("html, body").stop(!0,!0).animate(i,600),event.preventDefault()}t.length&&t.on("click",(function(t){e(s(this))}))}(),(m=s('[data-toggle="tooltip"]')).length&&m.tooltip(),(v=s(".form-control")).length&&function(t){t.on("focus blur",(function(t){s(this).parents(".form-group").toggleClass("focused","focus"===t.type)})).trigger("blur")}(v),(f=s("#chart-bars")).length&&function(t){var e=new Chart(t,{type:"bar",data:{labels:["Jul","Aug","Sep","Oct","Nov","Dec"],datasets:[{label:"Sales",data:[25,20,30,22,17,29]}]}});t.data("chart",e)}(f),function(){var t=s("#c1-dark");t.length&&function(t){var e=new Chart(t,{type:"line",options:{scales:{yAxes:[{gridLines:{lineWidth:1,color:b.colors.gray[900],zeroLineColor:b.colors.gray[900]},ticks:{callback:function(t){if(!(t%10))return t}}}]},tooltips:{callbacks:{label:function(t,e){var a=e.datasets[t.datasetIndex].label||"",s=t.yLabel,i="";return e.datasets.length>1&&(i+=a),i+(s+" posts")}}}},data:{labels:["7","6","5","4","3","2","1"],datasets:[{label:"",data:s(".posts-this-week").data("update").data.datasets[0].data}]}});t.data("chart",e)}(t)}(),(h=s(".datepicker")).length&&h.each((function(){!function(t){t.datepicker({disableTouchKeyboard:!0,autoclose:!1})}(s(this))})),function(){if(s(".input-slider-container")[0]&&s(".input-slider-container").each((function(){var t=s(this).find(".input-slider"),e=t.attr("id"),a=t.data("range-value-min"),i=t.data("range-value-max"),n=s(this).find(".range-slider-value"),o=n.attr("id"),r=n.data("range-value-low"),l=document.getElementById(e),c=document.getElementById(o);_.create(l,{start:[parseInt(r)],connect:[!0,!1],range:{min:[parseInt(a)],max:[parseInt(i)]}}),l.noUiSlider.on("update",(function(t,e){c.textContent=t[e]}))})),s("#input-slider-range")[0]){var t=document.getElementById("input-slider-range"),e=document.getElementById("input-slider-range-value-low"),a=document.getElementById("input-slider-range-value-high"),i=[e,a];_.create(t,{start:[parseInt(e.getAttribute("data-range-value-low")),parseInt(a.getAttribute("data-range-value-high"))],connect:!0,range:{min:parseInt(t.getAttribute("data-range-value-min")),max:parseInt(t.getAttribute("data-range-value-max"))}}),t.noUiSlider.on("update",(function(t,e){i[e].textContent=t[e]}))}}());(g=s(".scrollbar-inner")).length&&g.scrollbar().scrollLock()},9901:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}!function(){var e="object"===("undefined"==typeof window?"undefined":t(window))?window:"object"===("undefined"==typeof self?"undefined":t(self))?self:this,a=e.BlobBuilder||e.WebKitBlobBuilder||e.MSBlobBuilder||e.MozBlobBuilder;e.URL=e.URL||e.webkitURL||function(t,e){return(e=document.createElement("a")).href=t,e};var s=e.Blob,i=URL.createObjectURL,n=URL.revokeObjectURL,o=e.Symbol&&e.Symbol.toStringTag,r=!1,c=!1,d=!!e.ArrayBuffer,u=a&&a.prototype.append&&a.prototype.getBlob;try{r=2===new Blob(["ä"]).size,c=2===new Blob([new Uint8Array([1,2])]).size}catch(t){}function p(t){return t.map((function(t){if(t.buffer instanceof ArrayBuffer){var e=t.buffer;if(t.byteLength!==e.byteLength){var a=new Uint8Array(t.byteLength);a.set(new Uint8Array(e,t.byteOffset,t.byteLength)),e=a.buffer}return e}return t}))}function m(t,e){e=e||{};var s=new a;return p(t).forEach((function(t){s.append(t)})),e.type?s.getBlob(e.type):s.getBlob()}function v(t,e){return new s(p(t),e||{})}e.Blob&&(m.prototype=Blob.prototype,v.prototype=Blob.prototype);var f="function"==typeof TextEncoder?TextEncoder.prototype.encode.bind(new TextEncoder):function(t){for(var a=0,s=t.length,i=e.Uint8Array||Array,n=0,o=Math.max(32,s+(s>>1)+7),r=new i(o>>3<<3);a=55296&&l<=56319){if(a=55296&&l<=56319)continue}if(n+4>r.length){o+=8,o=(o*=1+a/t.length*2)>>3<<3;var d=new Uint8Array(o);d.set(r),r=d}if(0!=(4294967168&l)){if(0==(4294965248&l))r[n++]=l>>6&31|192;else if(0==(4294901760&l))r[n++]=l>>12&15|224,r[n++]=l>>6&63|128;else{if(0!=(4292870144&l))continue;r[n++]=l>>18&7|240,r[n++]=l>>12&63|128,r[n++]=l>>6&63|128}r[n++]=63&l|128}else r[n++]=l}return r.slice(0,n)},h="function"==typeof TextDecoder?TextDecoder.prototype.decode.bind(new TextDecoder):function(t){for(var e=t.length,a=[],s=0;s239?4:l>223?3:l>191?2:1;if(s+d<=e)switch(d){case 1:l<128&&(c=l);break;case 2:128==(192&(i=t[s+1]))&&(r=(31&l)<<6|63&i)>127&&(c=r);break;case 3:i=t[s+1],n=t[s+2],128==(192&i)&&128==(192&n)&&(r=(15&l)<<12|(63&i)<<6|63&n)>2047&&(r<55296||r>57343)&&(c=r);break;case 4:i=t[s+1],n=t[s+2],o=t[s+3],128==(192&i)&&128==(192&n)&&128==(192&o)&&(r=(15&l)<<18|(63&i)<<12|(63&n)<<6|63&o)>65535&&r<1114112&&(c=r)}null===c?(c=65533,d=1):c>65535&&(c-=65536,a.push(c>>>10&1023|55296),c=56320|1023&c),a.push(c),s+=d}var u=a.length,p="";for(s=0;s>2,d=(3&i)<<4|o>>4,u=(15&o)<<2|l>>6,p=63&l;r||(p=64,n||(u=64)),a.push(e[c],e[d],e[u],e[p])}return a.join("")}var s=Object.create||function(t){function e(){}return e.prototype=t,new e};if(d)var o=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],r=ArrayBuffer.isView||function(t){return t&&o.indexOf(Object.prototype.toString.call(t))>-1};function c(a,s){s=null==s?{}:s;for(var i=0,n=(a=a||[]).length;i=e.size&&a.close()}))}})}}catch(t){try{new ReadableStream({}),b=function(t){var e=0;t=this;return new ReadableStream({pull:function(a){return t.slice(e,e+524288).arrayBuffer().then((function(s){e+=s.byteLength;var i=new Uint8Array(s);a.enqueue(i),e==t.size&&a.close()}))}})}}catch(t){try{new Response("").body.getReader().read(),b=function(){return new Response(this).body}}catch(t){b=function(){throw new Error("Include https://github.com/MattiasBuelens/web-streams-polyfill")}}}}_.arrayBuffer||(_.arrayBuffer=function(){var t=new FileReader;return t.readAsArrayBuffer(this),y(t)}),_.text||(_.text=function(){var t=new FileReader;return t.readAsText(this),y(t)}),_.stream||(_.stream=b)}(),function(t){"use strict";var e,a=t.Uint8Array,s=t.HTMLCanvasElement,i=s&&s.prototype,n=/\s*;\s*base64\s*(?:;|$)/i,o="toDataURL",r=function(t){for(var s,i,n=t.length,o=new a(n/4*3|0),r=0,l=0,c=[0,0],d=0,u=0;n--;)i=t.charCodeAt(r++),255!==(s=e[i-43])&&undefined!==s&&(c[1]=c[0],c[0]=i,u=u<<6|s,4===++d&&(o[l++]=u>>>16,61!==c[1]&&(o[l++]=u>>>8),61!==c[0]&&(o[l++]=u),d=0));return o};a&&(e=new a([62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,0,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51])),!s||i.toBlob&&i.toBlobHD||(i.toBlob||(i.toBlob=function(t,e){if(e||(e="image/png"),this.mozGetAsFile)t(this.mozGetAsFile("canvas",e));else if(this.msToBlob&&/^\s*image\/png\s*(?:$|;)/i.test(e))t(this.msToBlob());else{var s,i=Array.prototype.slice.call(arguments,1),l=this[o].apply(this,i),c=l.indexOf(","),d=l.substring(c+1),u=n.test(l.substring(0,c));Blob.fake?((s=new Blob).encoding=u?"base64":"URI",s.data=d,s.size=d.length):a&&(s=u?new Blob([r(d)],{type:e}):new Blob([decodeURIComponent(d)],{type:e})),t(s)}}),!i.toBlobHD&&i.toDataURLHD?i.toBlobHD=function(){o="toDataURLHD";var t=this.toBlob();return o="toDataURL",t}:i.toBlobHD=i.toBlob)}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content||this)},86700:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>n});var s=a(76798),i=a.n(s)()((function(t){return t[1]}));i.push([t.id,".gap-2[data-v-e104c6c0]{gap:1rem}",""]);const n=i},35358:(t,e,a)=>{var s={"./af":25177,"./af.js":25177,"./ar":61509,"./ar-dz":41488,"./ar-dz.js":41488,"./ar-kw":58676,"./ar-kw.js":58676,"./ar-ly":42353,"./ar-ly.js":42353,"./ar-ma":24496,"./ar-ma.js":24496,"./ar-ps":6947,"./ar-ps.js":6947,"./ar-sa":82682,"./ar-sa.js":82682,"./ar-tn":89756,"./ar-tn.js":89756,"./ar.js":61509,"./az":95533,"./az.js":95533,"./be":28959,"./be.js":28959,"./bg":47777,"./bg.js":47777,"./bm":54903,"./bm.js":54903,"./bn":61290,"./bn-bd":17357,"./bn-bd.js":17357,"./bn.js":61290,"./bo":31545,"./bo.js":31545,"./br":11470,"./br.js":11470,"./bs":44429,"./bs.js":44429,"./ca":7306,"./ca.js":7306,"./cs":56464,"./cs.js":56464,"./cv":73635,"./cv.js":73635,"./cy":64226,"./cy.js":64226,"./da":93601,"./da.js":93601,"./de":77853,"./de-at":26111,"./de-at.js":26111,"./de-ch":54697,"./de-ch.js":54697,"./de.js":77853,"./dv":60708,"./dv.js":60708,"./el":54691,"./el.js":54691,"./en-au":53872,"./en-au.js":53872,"./en-ca":28298,"./en-ca.js":28298,"./en-gb":56195,"./en-gb.js":56195,"./en-ie":66584,"./en-ie.js":66584,"./en-il":65543,"./en-il.js":65543,"./en-in":9033,"./en-in.js":9033,"./en-nz":79402,"./en-nz.js":79402,"./en-sg":20623,"./en-sg.js":20623,"./eo":32934,"./eo.js":32934,"./es":97650,"./es-do":20838,"./es-do.js":20838,"./es-mx":17730,"./es-mx.js":17730,"./es-us":56575,"./es-us.js":56575,"./es.js":97650,"./et":3035,"./et.js":3035,"./eu":3508,"./eu.js":3508,"./fa":119,"./fa.js":119,"./fi":90527,"./fi.js":90527,"./fil":95995,"./fil.js":95995,"./fo":52477,"./fo.js":52477,"./fr":85498,"./fr-ca":26435,"./fr-ca.js":26435,"./fr-ch":37892,"./fr-ch.js":37892,"./fr.js":85498,"./fy":37071,"./fy.js":37071,"./ga":41734,"./ga.js":41734,"./gd":70217,"./gd.js":70217,"./gl":77329,"./gl.js":77329,"./gom-deva":32124,"./gom-deva.js":32124,"./gom-latn":93383,"./gom-latn.js":93383,"./gu":95050,"./gu.js":95050,"./he":11713,"./he.js":11713,"./hi":43861,"./hi.js":43861,"./hr":26308,"./hr.js":26308,"./hu":90609,"./hu.js":90609,"./hy-am":17160,"./hy-am.js":17160,"./id":74063,"./id.js":74063,"./is":89374,"./is.js":89374,"./it":88383,"./it-ch":21827,"./it-ch.js":21827,"./it.js":88383,"./ja":23827,"./ja.js":23827,"./jv":89722,"./jv.js":89722,"./ka":41794,"./ka.js":41794,"./kk":27088,"./kk.js":27088,"./km":96870,"./km.js":96870,"./kn":84451,"./kn.js":84451,"./ko":63164,"./ko.js":63164,"./ku":98174,"./ku-kmr":6181,"./ku-kmr.js":6181,"./ku.js":98174,"./ky":78474,"./ky.js":78474,"./lb":79680,"./lb.js":79680,"./lo":15867,"./lo.js":15867,"./lt":45766,"./lt.js":45766,"./lv":69532,"./lv.js":69532,"./me":58076,"./me.js":58076,"./mi":41848,"./mi.js":41848,"./mk":30306,"./mk.js":30306,"./ml":73739,"./ml.js":73739,"./mn":99053,"./mn.js":99053,"./mr":86169,"./mr.js":86169,"./ms":73386,"./ms-my":92297,"./ms-my.js":92297,"./ms.js":73386,"./mt":77075,"./mt.js":77075,"./my":72264,"./my.js":72264,"./nb":22274,"./nb.js":22274,"./ne":8235,"./ne.js":8235,"./nl":92572,"./nl-be":43784,"./nl-be.js":43784,"./nl.js":92572,"./nn":54566,"./nn.js":54566,"./oc-lnc":69330,"./oc-lnc.js":69330,"./pa-in":29849,"./pa-in.js":29849,"./pl":94418,"./pl.js":94418,"./pt":79834,"./pt-br":48303,"./pt-br.js":48303,"./pt.js":79834,"./ro":24457,"./ro.js":24457,"./ru":82271,"./ru.js":82271,"./sd":1221,"./sd.js":1221,"./se":33478,"./se.js":33478,"./si":17538,"./si.js":17538,"./sk":5784,"./sk.js":5784,"./sl":46637,"./sl.js":46637,"./sq":86794,"./sq.js":86794,"./sr":45719,"./sr-cyrl":3322,"./sr-cyrl.js":3322,"./sr.js":45719,"./ss":56e3,"./ss.js":56e3,"./sv":41011,"./sv.js":41011,"./sw":40748,"./sw.js":40748,"./ta":11025,"./ta.js":11025,"./te":11885,"./te.js":11885,"./tet":28861,"./tet.js":28861,"./tg":86571,"./tg.js":86571,"./th":55802,"./th.js":55802,"./tk":59527,"./tk.js":59527,"./tl-ph":29231,"./tl-ph.js":29231,"./tlh":31052,"./tlh.js":31052,"./tr":85096,"./tr.js":85096,"./tzl":79846,"./tzl.js":79846,"./tzm":81765,"./tzm-latn":97711,"./tzm-latn.js":97711,"./tzm.js":81765,"./ug-cn":48414,"./ug-cn.js":48414,"./uk":16618,"./uk.js":16618,"./ur":57777,"./ur.js":57777,"./uz":57609,"./uz-latn":72475,"./uz-latn.js":72475,"./uz.js":57609,"./vi":21135,"./vi.js":21135,"./x-pseudo":64051,"./x-pseudo.js":64051,"./yo":82218,"./yo.js":82218,"./zh-cn":52648,"./zh-cn.js":52648,"./zh-hk":1632,"./zh-hk.js":1632,"./zh-mo":31541,"./zh-mo.js":31541,"./zh-tw":50304,"./zh-tw.js":50304};function i(t){var e=n(t);return a(e)}function n(t){if(!a.o(s,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return s[t]}i.keys=function(){return Object.keys(s)},i.resolve=n,t.exports=i,i.id=35358},55099:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>r});var s=a(85072),i=a.n(s),n=a(86700),o={insert:"head",singleton:!1};i()(n.default,o);const r=n.default.locals||{}},80430:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>o});var s=a(66196),i=a(45941),n={};for(const t in i)"default"!==t&&(n[t]=()=>i[t]);a.d(e,n);const o=(0,a(14486).default)(i.default,s.render,s.staticRenderFns,!1,null,null,null).exports},65465:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>o});var s=a(12455),i=a(19990),n={};for(const t in i)"default"!==t&&(n[t]=()=>i[t]);a.d(e,n);const o=(0,a(14486).default)(i.default,s.render,s.staticRenderFns,!1,null,null,null).exports},47739:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>o});var s=a(77764),i=a(41660),n={};for(const t in i)"default"!==t&&(n[t]=()=>i[t]);a.d(e,n);const o=(0,a(14486).default)(i.default,s.render,s.staticRenderFns,!1,null,null,null).exports},50828:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>o});var s=a(63152),i=a(32311),n={};for(const t in i)"default"!==t&&(n[t]=()=>i[t]);a.d(e,n);a(87974);const o=(0,a(14486).default)(i.default,s.render,s.staticRenderFns,!1,null,"e104c6c0",null).exports},13929:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>o});var s=a(69303),i=a(13398),n={};for(const t in i)"default"!==t&&(n[t]=()=>i[t]);a.d(e,n);const o=(0,a(14486).default)(i.default,s.render,s.staticRenderFns,!1,null,null,null).exports},45941:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>n});var s=a(95366),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i);const n=s.default},19990:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>n});var s=a(71847),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i);const n=s.default},41660:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>n});var s=a(44107),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i);const n=s.default},32311:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>n});var s=a(56310),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i);const n=s.default},13398:(t,e,a)=>{"use strict";a.r(e),a.d(e,{default:()=>n});var s=a(51839),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i);const n=s.default},66196:(t,e,a)=>{"use strict";a.r(e);var s=a(69385),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i)},12455:(t,e,a)=>{"use strict";a.r(e);var s=a(82016),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i)},77764:(t,e,a)=>{"use strict";a.r(e);var s=a(54449),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i)},63152:(t,e,a)=>{"use strict";a.r(e);var s=a(38343),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i)},69303:(t,e,a)=>{"use strict";a.r(e);var s=a(67375),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i)},87974:(t,e,a)=>{"use strict";a.r(e);var s=a(55099),i={};for(const t in s)"default"!==t&&(i[t]=()=>s[t]);a.d(e,i)}},t=>{t.O(0,[3660],(()=>{return e=36671,t(t.s=e);var e}));t.O()}]); \ No newline at end of file diff --git a/public/js/admin_invite.js b/public/js/admin_invite.js index 071d24aca..f406ad0b5 100644 --- a/public/js/admin_invite.js +++ b/public/js/admin_invite.js @@ -1 +1 @@ -(self.webpackChunkpixelfed=self.webpackChunkpixelfed||[]).push([[2062],{99662:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>s});var a=i(19755);const s={props:["code"],data:function(){return{instance:{},inviteConfig:{},tabIndex:0,isProceeding:!1,errors:{username:void 0,email:void 0,password:void 0,password_confirm:void 0},form:{username:void 0,email:void 0,password:void 0,password_confirm:void 0,display_name:void 0}}},mounted:function(){this.fetchInstanceData()},methods:{fetchInstanceData:function(){var t=this;axios.get("/api/v1/instance").then((function(e){t.instance=e.data})).then((function(e){t.verifyToken()})).catch((function(t){console.log(t)}))},verifyToken:function(){var t=this;axios.post("/api/v1.1/auth/invite/admin/verify",{token:this.code}).then((function(e){t.tabIndex=1,t.inviteConfig=e.data})).catch((function(e){t.tabIndex="invalid-code"}))},checkUsernameAvailability:function(){var t=this;axios.post("/api/v1.1/auth/invite/admin/uc",{token:this.code,username:this.form.username}).then((function(e){e&&e.data?(t.isProceeding=!1,t.tabIndex=2):(t.tabIndex="invalid-code",t.isProceeding=!1)})).catch((function(e){e.response.data&&e.response.data.username?(t.errors.username=e.response.data.username[0],t.isProceeding=!1):(t.tabIndex="invalid-code",t.isProceeding=!1)}))},checkEmailAvailability:function(){var t=this;axios.post("/api/v1.1/auth/invite/admin/ec",{token:this.code,email:this.form.email}).then((function(e){e&&e.data?(t.isProceeding=!1,t.tabIndex=3):(t.tabIndex="invalid-code",t.isProceeding=!1)})).catch((function(e){e.response.data&&e.response.data.email?(t.errors.email=e.response.data.email[0],t.isProceeding=!1):(t.tabIndex="invalid-code",t.isProceeding=!1)}))},validateEmail:function(){return!(!this.form.email||!this.form.email.length)&&/^[a-zA-Z]+[a-zA-Z0-9_.-]+@[a-zA-Z0-9_.-]+[a-zA-Z]$/i.test(this.form.email)},handleRegistration:function(){var t=a("
",{action:"/api/v1.1/auth/invite/admin/re",method:"post"}),e={_token:document.head.querySelector('meta[name="csrf-token"]').content,token:this.code,username:this.form.username,name:this.form.display_name,email:this.form.email,password:this.form.password,password_confirm:this.form.password_confirm};a.each(e,(function(e,i){a("").attr({type:"hidden",name:e,value:i}).appendTo(t)})),t.appendTo("body").submit()},proceed:function(t){switch(this.isProceeding=!0,event.currentTarget.blur(),t){case 1:this.checkUsernameAvailability();break;case 2:this.checkEmailAvailability();break;case 3:this.isProceeding=!1,this.tabIndex=4;break;case 4:this.isProceeding=!1,this.tabIndex=5;break;case 5:this.tabIndex=6,this.handleRegistration()}}}}},80740:(t,e,i)=>{"use strict";i.r(e),i.d(e,{render:()=>a,staticRenderFns:()=>s});var a=function(){var t=this,e=t._self._c;return e("div",{staticClass:"admin-invite-component"},[e("div",{staticClass:"admin-invite-component-inner"},[e("div",{staticClass:"card bg-dark"},[0===t.tabIndex?e("div",{staticClass:"card-body d-flex align-items-center justify-content-center"},[e("div",{staticClass:"text-center"},[e("b-spinner",{attrs:{variant:"muted"}}),t._v(" "),e("p",{staticClass:"text-muted mb-0"},[t._v("Loading...")])],1)]):1===t.tabIndex?e("div",{staticClass:"card-body"},[t._m(0),t._v(" "),e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center"},[e("p",{staticClass:"lead mb-1 text-muted"},[t._v("You've been invited to join")]),t._v(" "),e("p",{staticClass:"h3 mb-2"},[t._v(t._s(t.instance.uri))]),t._v(" "),e("p",{staticClass:"mb-0 text-muted"},[e("span",[t._v(t._s(t.instance.stats.user_count.toLocaleString("en-CA",{compactDisplay:"short",notation:"compact"}))+" users")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v(t._s(t.instance.stats.status_count.toLocaleString("en-CA",{compactDisplay:"short",notation:"compact"}))+" posts")])]),t._v(" "),"You've been invited to join"!=t.inviteConfig.message?e("div",[e("div",{staticClass:"admin-message"},[e("p",{staticClass:"small text-light mb-0"},[t._v("Message from admin(s):")]),t._v("\n "+t._s(t.inviteConfig.message)+"\n ")])]):t._e()]),t._v(" "),e("div",{staticClass:"mt-5"},[e("div",{staticClass:"form-group"},[e("label",{attrs:{for:"username"}},[t._v("Username")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.form.username,expression:"form.username"}],staticClass:"form-control form-control-lg",attrs:{type:"text",placeholder:"What should everyone call you?",minlength:"2",maxlength:"15"},domProps:{value:t.form.username},on:{input:function(e){e.target.composing||t.$set(t.form,"username",e.target.value)}}}),t._v(" "),t.errors.username?e("p",{staticClass:"form-text text-danger"},[e("i",{staticClass:"far fa-exclamation-triangle mr-1"}),t._v("\n "+t._s(t.errors.username)+"\n ")]):t._e()]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-block font-weight-bold",attrs:{disabled:t.isProceeding||!t.form.username||t.form.username.length<2},on:{click:function(e){return t.proceed(t.tabIndex)}}},[t.isProceeding?[e("b-spinner",{attrs:{small:""}})]:[t._v("\n Continue\n ")]],2),t._v(" "),t._m(1),t._v(" "),t._m(2)])]):2===t.tabIndex?e("div",{staticClass:"card-body"},[t._m(3),t._v(" "),e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center"},[e("p",{staticClass:"lead mb-1 text-muted"},[t._v("You've been invited to join")]),t._v(" "),e("p",{staticClass:"h3 mb-2"},[t._v(t._s(t.instance.uri))])]),t._v(" "),e("div",{staticClass:"mt-5"},[e("div",{staticClass:"form-group"},[e("label",{attrs:{for:"username"}},[t._v("Email Address")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.form.email,expression:"form.email"}],staticClass:"form-control form-control-lg",attrs:{type:"email",placeholder:"Your email address"},domProps:{value:t.form.email},on:{input:function(e){e.target.composing||t.$set(t.form,"email",e.target.value)}}}),t._v(" "),t.errors.email?e("p",{staticClass:"form-text text-danger"},[e("i",{staticClass:"far fa-exclamation-triangle mr-1"}),t._v("\n "+t._s(t.errors.email)+"\n ")]):t._e()]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-block font-weight-bold",attrs:{disabled:t.isProceeding||!t.form.email||!t.validateEmail()},on:{click:function(e){return t.proceed(t.tabIndex)}}},[t.isProceeding?[e("b-spinner",{attrs:{small:""}})]:[t._v("\n Continue\n ")]],2)])]):3===t.tabIndex?e("div",{staticClass:"card-body"},[t._m(4),t._v(" "),e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center"},[e("p",{staticClass:"lead mb-1 text-muted"},[t._v("You've been invited to join")]),t._v(" "),e("p",{staticClass:"h3 mb-2"},[t._v(t._s(t.instance.uri))])]),t._v(" "),e("div",{staticClass:"mt-5"},[e("div",{staticClass:"form-group"},[e("label",{attrs:{for:"username"}},[t._v("Password")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.form.password,expression:"form.password"}],staticClass:"form-control form-control-lg",attrs:{type:"password",placeholder:"Use a secure password",minlength:"8"},domProps:{value:t.form.password},on:{input:function(e){e.target.composing||t.$set(t.form,"password",e.target.value)}}}),t._v(" "),t.errors.password?e("p",{staticClass:"form-text text-danger"},[e("i",{staticClass:"far fa-exclamation-triangle mr-1"}),t._v("\n "+t._s(t.errors.password)+"\n ")]):t._e()]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-block font-weight-bold",attrs:{disabled:t.isProceeding||!t.form.password||t.form.password.length<8},on:{click:function(e){return t.proceed(t.tabIndex)}}},[t.isProceeding?[e("b-spinner",{attrs:{small:""}})]:[t._v("\n Continue\n ")]],2)])]):4===t.tabIndex?e("div",{staticClass:"card-body"},[t._m(5),t._v(" "),e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center"},[e("p",{staticClass:"lead mb-1 text-muted"},[t._v("You've been invited to join")]),t._v(" "),e("p",{staticClass:"h3 mb-2"},[t._v(t._s(t.instance.uri))])]),t._v(" "),e("div",{staticClass:"mt-5"},[e("div",{staticClass:"form-group"},[e("label",{attrs:{for:"username"}},[t._v("Confirm Password")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.form.password_confirm,expression:"form.password_confirm"}],staticClass:"form-control form-control-lg",attrs:{type:"password",placeholder:"Use a secure password",minlength:"8"},domProps:{value:t.form.password_confirm},on:{input:function(e){e.target.composing||t.$set(t.form,"password_confirm",e.target.value)}}}),t._v(" "),t.errors.password_confirm?e("p",{staticClass:"form-text text-danger"},[e("i",{staticClass:"far fa-exclamation-triangle mr-1"}),t._v("\n "+t._s(t.errors.password_confirm)+"\n ")]):t._e()]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-block font-weight-bold",attrs:{disabled:t.isProceeding||!t.form.password_confirm||t.form.password!==t.form.password_confirm},on:{click:function(e){return t.proceed(t.tabIndex)}}},[t.isProceeding?[e("b-spinner",{attrs:{small:""}})]:[t._v("\n Continue\n ")]],2)])]):5===t.tabIndex?e("div",{staticClass:"card-body"},[t._m(6),t._v(" "),e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center"},[e("p",{staticClass:"lead mb-1 text-muted"},[t._v("You've been invited to join")]),t._v(" "),e("p",{staticClass:"h3 mb-2"},[t._v(t._s(t.instance.uri))])]),t._v(" "),e("div",{staticClass:"mt-5"},[e("div",{staticClass:"form-group"},[e("label",{attrs:{for:"username"}},[t._v("Display Name")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.form.display_name,expression:"form.display_name"}],staticClass:"form-control form-control-lg",attrs:{type:"text",placeholder:"Add an optional display name",minlength:"8"},domProps:{value:t.form.display_name},on:{input:function(e){e.target.composing||t.$set(t.form,"display_name",e.target.value)}}}),t._v(" "),t.errors.display_name?e("p",{staticClass:"form-text text-danger"},[e("i",{staticClass:"far fa-exclamation-triangle mr-1"}),t._v("\n "+t._s(t.errors.display_name)+"\n ")]):t._e()]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-block font-weight-bold",attrs:{disabled:t.isProceeding},on:{click:function(e){return t.proceed(t.tabIndex)}}},[t.isProceeding?[e("b-spinner",{attrs:{small:""}})]:[t._v("\n Continue\n ")]],2)])]):6===t.tabIndex?e("div",{staticClass:"card-body d-flex flex-column"},[t._m(7),t._v(" "),e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center"},[e("p",{staticClass:"lead mb-1 text-muted"},[t._v("You've been invited to join")]),t._v(" "),e("p",{staticClass:"h3 mb-2"},[t._v(t._s(t.instance.uri))])]),t._v(" "),e("div",{staticClass:"mt-5 d-flex align-items-center justify-content-center flex-column flex-grow-1"},[e("b-spinner",{attrs:{variant:"muted"}}),t._v(" "),e("p",{staticClass:"text-muted"},[t._v("Registering...")])],1)]):"invalid-code"===t.tabIndex?e("div",{staticClass:"card-body d-flex align-items-center justify-content-center"},[t._m(8)]):e("div",{staticClass:"card-body"},[e("p",[t._v("An error occured.")])])])])])},s=[function(){var t=this._self._c;return t("div",{staticClass:"d-flex justify-content-center my-3"},[t("img",{attrs:{src:"/img/pixelfed-icon-color.png",width:"60",alt:"Pixelfed logo"}})])},function(){var t=this._self._c;return t("p",{staticClass:"login-link"},[t("a",{attrs:{href:"/login"}},[this._v("Already have an account?")])])},function(){var t=this,e=t._self._c;return e("p",{staticClass:"register-terms"},[t._v("\n By registering, you agree to our "),e("a",{attrs:{href:"/site/terms"}},[t._v("Terms of Service")]),t._v(" and "),e("a",{attrs:{href:"/site/privacy"}},[t._v("Privacy Policy")]),t._v(".\n ")])},function(){var t=this._self._c;return t("div",{staticClass:"d-flex justify-content-center my-3"},[t("img",{attrs:{src:"/img/pixelfed-icon-color.png",width:"60",alt:"Pixelfed logo"}})])},function(){var t=this._self._c;return t("div",{staticClass:"d-flex justify-content-center my-3"},[t("img",{attrs:{src:"/img/pixelfed-icon-color.png",width:"60",alt:"Pixelfed logo"}})])},function(){var t=this._self._c;return t("div",{staticClass:"d-flex justify-content-center my-3"},[t("img",{attrs:{src:"/img/pixelfed-icon-color.png",width:"60",alt:"Pixelfed logo"}})])},function(){var t=this._self._c;return t("div",{staticClass:"d-flex justify-content-center my-3"},[t("img",{attrs:{src:"/img/pixelfed-icon-color.png",width:"60",alt:"Pixelfed logo"}})])},function(){var t=this._self._c;return t("div",{staticClass:"d-flex justify-content-center my-3"},[t("img",{attrs:{src:"/img/pixelfed-icon-color.png",width:"60",alt:"Pixelfed logo"}})])},function(){var t=this,e=t._self._c;return e("div",[e("h1",{staticClass:"text-center"},[t._v("Invalid Invite Code")]),t._v(" "),e("hr"),t._v(" "),e("p",{staticClass:"text-muted mb-1"},[t._v("The invite code you were provided is not valid, this can happen when:")]),t._v(" "),e("ul",{staticClass:"text-muted"},[e("li",[t._v("Invite code has typos")]),t._v(" "),e("li",[t._v("Invite code was already used")]),t._v(" "),e("li",[t._v("Invite code has reached max uses")]),t._v(" "),e("li",[t._v("Invite code has expired")]),t._v(" "),e("li",[t._v("You have been rate limited")])]),t._v(" "),e("hr"),t._v(" "),e("a",{staticClass:"btn btn-primary btn-block rounded-pill font-weight-bold",attrs:{href:"/"}},[t._v("Go back home")])])}]},2462:(t,e,i)=>{Vue.component("admin-invite",i(34421).default)},45950:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>n});var a=i(1519),s=i.n(a)()((function(t){return t[1]}));s.push([t.id,".admin-invite-component{font-family:var(--font-family-sans-serif)}.admin-invite-component-inner{align-items:center;display:flex;height:100vh;justify-content:center;width:100wv}.admin-invite-component-inner .card{border-radius:10px;color:#fff;min-height:530px;padding:1.25rem 2.5rem;width:100%}@media (min-width:768px){.admin-invite-component-inner .card{width:30%}}.admin-invite-component-inner .card label{color:var(--muted);font-weight:700;text-transform:uppercase}.admin-invite-component-inner .card .login-link{font-weight:600;margin-top:10px}.admin-invite-component-inner .card .register-terms{color:var(--muted);font-size:12px}.admin-invite-component-inner .card .form-control{color:#fff}.admin-invite-component-inner .card .admin-message{border:1px solid var(--dropdown-item-hover-color);border-radius:5px;color:var(--text-lighter);margin-top:20px;padding:1rem}",""]);const n=s},91046:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>o});var a=i(93379),s=i.n(a),n=i(45950),r={insert:"head",singleton:!1};s()(n.default,r);const o=n.default.locals||{}},34421:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>r});var a=i(17367),s=i(82879),n={};for(const t in s)"default"!==t&&(n[t]=()=>s[t]);i.d(e,n);i(23479);const r=(0,i(51900).default)(s.default,a.render,a.staticRenderFns,!1,null,null,null).exports},82879:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>n});var a=i(99662),s={};for(const t in a)"default"!==t&&(s[t]=()=>a[t]);i.d(e,s);const n=a.default},17367:(t,e,i)=>{"use strict";i.r(e);var a=i(80740),s={};for(const t in a)"default"!==t&&(s[t]=()=>a[t]);i.d(e,s)},23479:(t,e,i)=>{"use strict";i.r(e);var a=i(91046),s={};for(const t in a)"default"!==t&&(s[t]=()=>a[t]);i.d(e,s)}},t=>{t.O(0,[8898],(()=>{return e=2462,t(t.s=e);var e}));t.O()}]); \ No newline at end of file +(self.webpackChunkpixelfed=self.webpackChunkpixelfed||[]).push([[5853],{84582:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>s});var a=i(74692);const s={props:["code"],data:function(){return{instance:{},inviteConfig:{},tabIndex:0,isProceeding:!1,errors:{username:void 0,email:void 0,password:void 0,password_confirm:void 0},form:{username:void 0,email:void 0,password:void 0,password_confirm:void 0,display_name:void 0}}},mounted:function(){this.fetchInstanceData()},methods:{fetchInstanceData:function(){var t=this;axios.get("/api/v1/instance").then((function(e){t.instance=e.data})).then((function(e){t.verifyToken()})).catch((function(t){console.log(t)}))},verifyToken:function(){var t=this;axios.post("/api/v1.1/auth/invite/admin/verify",{token:this.code}).then((function(e){t.tabIndex=1,t.inviteConfig=e.data})).catch((function(e){t.tabIndex="invalid-code"}))},checkUsernameAvailability:function(){var t=this;axios.post("/api/v1.1/auth/invite/admin/uc",{token:this.code,username:this.form.username}).then((function(e){e&&e.data?(t.isProceeding=!1,t.tabIndex=2):(t.tabIndex="invalid-code",t.isProceeding=!1)})).catch((function(e){e.response.data&&e.response.data.username?(t.errors.username=e.response.data.username[0],t.isProceeding=!1):(t.tabIndex="invalid-code",t.isProceeding=!1)}))},checkEmailAvailability:function(){var t=this;axios.post("/api/v1.1/auth/invite/admin/ec",{token:this.code,email:this.form.email}).then((function(e){e&&e.data?(t.isProceeding=!1,t.tabIndex=3):(t.tabIndex="invalid-code",t.isProceeding=!1)})).catch((function(e){e.response.data&&e.response.data.email?(t.errors.email=e.response.data.email[0],t.isProceeding=!1):(t.tabIndex="invalid-code",t.isProceeding=!1)}))},validateEmail:function(){return!(!this.form.email||!this.form.email.length)&&/^[a-zA-Z]+[a-zA-Z0-9_.-]+@[a-zA-Z0-9_.-]+[a-zA-Z]$/i.test(this.form.email)},handleRegistration:function(){var t=a("",{action:"/api/v1.1/auth/invite/admin/re",method:"post"}),e={_token:document.head.querySelector('meta[name="csrf-token"]').content,token:this.code,username:this.form.username,name:this.form.display_name,email:this.form.email,password:this.form.password,password_confirm:this.form.password_confirm};a.each(e,(function(e,i){a("").attr({type:"hidden",name:e,value:i}).appendTo(t)})),t.appendTo("body").submit()},proceed:function(t){switch(this.isProceeding=!0,event.currentTarget.blur(),t){case 1:this.checkUsernameAvailability();break;case 2:this.checkEmailAvailability();break;case 3:this.isProceeding=!1,this.tabIndex=4;break;case 4:this.isProceeding=!1,this.tabIndex=5;break;case 5:this.tabIndex=6,this.handleRegistration()}}}}},65835:(t,e,i)=>{"use strict";i.r(e),i.d(e,{render:()=>a,staticRenderFns:()=>s});var a=function(){var t=this,e=t._self._c;return e("div",{staticClass:"admin-invite-component"},[e("div",{staticClass:"admin-invite-component-inner"},[e("div",{staticClass:"card bg-dark"},[0===t.tabIndex?e("div",{staticClass:"card-body d-flex align-items-center justify-content-center"},[e("div",{staticClass:"text-center"},[e("b-spinner",{attrs:{variant:"muted"}}),t._v(" "),e("p",{staticClass:"text-muted mb-0"},[t._v("Loading...")])],1)]):1===t.tabIndex?e("div",{staticClass:"card-body"},[t._m(0),t._v(" "),e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center"},[e("p",{staticClass:"lead mb-1 text-muted"},[t._v("You've been invited to join")]),t._v(" "),e("p",{staticClass:"h3 mb-2"},[t._v(t._s(t.instance.uri))]),t._v(" "),e("p",{staticClass:"mb-0 text-muted"},[e("span",[t._v(t._s(t.instance.stats.user_count.toLocaleString("en-CA",{compactDisplay:"short",notation:"compact"}))+" users")]),t._v(" "),e("span",[t._v("·")]),t._v(" "),e("span",[t._v(t._s(t.instance.stats.status_count.toLocaleString("en-CA",{compactDisplay:"short",notation:"compact"}))+" posts")])]),t._v(" "),"You've been invited to join"!=t.inviteConfig.message?e("div",[e("div",{staticClass:"admin-message"},[e("p",{staticClass:"small text-light mb-0"},[t._v("Message from admin(s):")]),t._v("\n "+t._s(t.inviteConfig.message)+"\n ")])]):t._e()]),t._v(" "),e("div",{staticClass:"mt-5"},[e("div",{staticClass:"form-group"},[e("label",{attrs:{for:"username"}},[t._v("Username")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.form.username,expression:"form.username"}],staticClass:"form-control form-control-lg",attrs:{type:"text",placeholder:"What should everyone call you?",minlength:"2",maxlength:"15"},domProps:{value:t.form.username},on:{input:function(e){e.target.composing||t.$set(t.form,"username",e.target.value)}}}),t._v(" "),t.errors.username?e("p",{staticClass:"form-text text-danger"},[e("i",{staticClass:"far fa-exclamation-triangle mr-1"}),t._v("\n "+t._s(t.errors.username)+"\n ")]):t._e()]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-block font-weight-bold",attrs:{disabled:t.isProceeding||!t.form.username||t.form.username.length<2},on:{click:function(e){return t.proceed(t.tabIndex)}}},[t.isProceeding?[e("b-spinner",{attrs:{small:""}})]:[t._v("\n Continue\n ")]],2),t._v(" "),t._m(1),t._v(" "),t._m(2)])]):2===t.tabIndex?e("div",{staticClass:"card-body"},[t._m(3),t._v(" "),e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center"},[e("p",{staticClass:"lead mb-1 text-muted"},[t._v("You've been invited to join")]),t._v(" "),e("p",{staticClass:"h3 mb-2"},[t._v(t._s(t.instance.uri))])]),t._v(" "),e("div",{staticClass:"mt-5"},[e("div",{staticClass:"form-group"},[e("label",{attrs:{for:"username"}},[t._v("Email Address")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.form.email,expression:"form.email"}],staticClass:"form-control form-control-lg",attrs:{type:"email",placeholder:"Your email address"},domProps:{value:t.form.email},on:{input:function(e){e.target.composing||t.$set(t.form,"email",e.target.value)}}}),t._v(" "),t.errors.email?e("p",{staticClass:"form-text text-danger"},[e("i",{staticClass:"far fa-exclamation-triangle mr-1"}),t._v("\n "+t._s(t.errors.email)+"\n ")]):t._e()]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-block font-weight-bold",attrs:{disabled:t.isProceeding||!t.form.email||!t.validateEmail()},on:{click:function(e){return t.proceed(t.tabIndex)}}},[t.isProceeding?[e("b-spinner",{attrs:{small:""}})]:[t._v("\n Continue\n ")]],2)])]):3===t.tabIndex?e("div",{staticClass:"card-body"},[t._m(4),t._v(" "),e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center"},[e("p",{staticClass:"lead mb-1 text-muted"},[t._v("You've been invited to join")]),t._v(" "),e("p",{staticClass:"h3 mb-2"},[t._v(t._s(t.instance.uri))])]),t._v(" "),e("div",{staticClass:"mt-5"},[e("div",{staticClass:"form-group"},[e("label",{attrs:{for:"username"}},[t._v("Password")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.form.password,expression:"form.password"}],staticClass:"form-control form-control-lg",attrs:{type:"password",placeholder:"Use a secure password",minlength:"8"},domProps:{value:t.form.password},on:{input:function(e){e.target.composing||t.$set(t.form,"password",e.target.value)}}}),t._v(" "),t.errors.password?e("p",{staticClass:"form-text text-danger"},[e("i",{staticClass:"far fa-exclamation-triangle mr-1"}),t._v("\n "+t._s(t.errors.password)+"\n ")]):t._e()]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-block font-weight-bold",attrs:{disabled:t.isProceeding||!t.form.password||t.form.password.length<8},on:{click:function(e){return t.proceed(t.tabIndex)}}},[t.isProceeding?[e("b-spinner",{attrs:{small:""}})]:[t._v("\n Continue\n ")]],2)])]):4===t.tabIndex?e("div",{staticClass:"card-body"},[t._m(5),t._v(" "),e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center"},[e("p",{staticClass:"lead mb-1 text-muted"},[t._v("You've been invited to join")]),t._v(" "),e("p",{staticClass:"h3 mb-2"},[t._v(t._s(t.instance.uri))])]),t._v(" "),e("div",{staticClass:"mt-5"},[e("div",{staticClass:"form-group"},[e("label",{attrs:{for:"username"}},[t._v("Confirm Password")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.form.password_confirm,expression:"form.password_confirm"}],staticClass:"form-control form-control-lg",attrs:{type:"password",placeholder:"Use a secure password",minlength:"8"},domProps:{value:t.form.password_confirm},on:{input:function(e){e.target.composing||t.$set(t.form,"password_confirm",e.target.value)}}}),t._v(" "),t.errors.password_confirm?e("p",{staticClass:"form-text text-danger"},[e("i",{staticClass:"far fa-exclamation-triangle mr-1"}),t._v("\n "+t._s(t.errors.password_confirm)+"\n ")]):t._e()]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-block font-weight-bold",attrs:{disabled:t.isProceeding||!t.form.password_confirm||t.form.password!==t.form.password_confirm},on:{click:function(e){return t.proceed(t.tabIndex)}}},[t.isProceeding?[e("b-spinner",{attrs:{small:""}})]:[t._v("\n Continue\n ")]],2)])]):5===t.tabIndex?e("div",{staticClass:"card-body"},[t._m(6),t._v(" "),e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center"},[e("p",{staticClass:"lead mb-1 text-muted"},[t._v("You've been invited to join")]),t._v(" "),e("p",{staticClass:"h3 mb-2"},[t._v(t._s(t.instance.uri))])]),t._v(" "),e("div",{staticClass:"mt-5"},[e("div",{staticClass:"form-group"},[e("label",{attrs:{for:"username"}},[t._v("Display Name")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.form.display_name,expression:"form.display_name"}],staticClass:"form-control form-control-lg",attrs:{type:"text",placeholder:"Add an optional display name",minlength:"8"},domProps:{value:t.form.display_name},on:{input:function(e){e.target.composing||t.$set(t.form,"display_name",e.target.value)}}}),t._v(" "),t.errors.display_name?e("p",{staticClass:"form-text text-danger"},[e("i",{staticClass:"far fa-exclamation-triangle mr-1"}),t._v("\n "+t._s(t.errors.display_name)+"\n ")]):t._e()]),t._v(" "),e("button",{staticClass:"btn btn-primary btn-block font-weight-bold",attrs:{disabled:t.isProceeding},on:{click:function(e){return t.proceed(t.tabIndex)}}},[t.isProceeding?[e("b-spinner",{attrs:{small:""}})]:[t._v("\n Continue\n ")]],2)])]):6===t.tabIndex?e("div",{staticClass:"card-body d-flex flex-column"},[t._m(7),t._v(" "),e("div",{staticClass:"d-flex flex-column align-items-center justify-content-center"},[e("p",{staticClass:"lead mb-1 text-muted"},[t._v("You've been invited to join")]),t._v(" "),e("p",{staticClass:"h3 mb-2"},[t._v(t._s(t.instance.uri))])]),t._v(" "),e("div",{staticClass:"mt-5 d-flex align-items-center justify-content-center flex-column flex-grow-1"},[e("b-spinner",{attrs:{variant:"muted"}}),t._v(" "),e("p",{staticClass:"text-muted"},[t._v("Registering...")])],1)]):"invalid-code"===t.tabIndex?e("div",{staticClass:"card-body d-flex align-items-center justify-content-center"},[t._m(8)]):e("div",{staticClass:"card-body"},[e("p",[t._v("An error occured.")])])])])])},s=[function(){var t=this._self._c;return t("div",{staticClass:"d-flex justify-content-center my-3"},[t("img",{attrs:{src:"/img/pixelfed-icon-color.png",width:"60",alt:"Pixelfed logo"}})])},function(){var t=this._self._c;return t("p",{staticClass:"login-link"},[t("a",{attrs:{href:"/login"}},[this._v("Already have an account?")])])},function(){var t=this,e=t._self._c;return e("p",{staticClass:"register-terms"},[t._v("\n By registering, you agree to our "),e("a",{attrs:{href:"/site/terms"}},[t._v("Terms of Service")]),t._v(" and "),e("a",{attrs:{href:"/site/privacy"}},[t._v("Privacy Policy")]),t._v(".\n ")])},function(){var t=this._self._c;return t("div",{staticClass:"d-flex justify-content-center my-3"},[t("img",{attrs:{src:"/img/pixelfed-icon-color.png",width:"60",alt:"Pixelfed logo"}})])},function(){var t=this._self._c;return t("div",{staticClass:"d-flex justify-content-center my-3"},[t("img",{attrs:{src:"/img/pixelfed-icon-color.png",width:"60",alt:"Pixelfed logo"}})])},function(){var t=this._self._c;return t("div",{staticClass:"d-flex justify-content-center my-3"},[t("img",{attrs:{src:"/img/pixelfed-icon-color.png",width:"60",alt:"Pixelfed logo"}})])},function(){var t=this._self._c;return t("div",{staticClass:"d-flex justify-content-center my-3"},[t("img",{attrs:{src:"/img/pixelfed-icon-color.png",width:"60",alt:"Pixelfed logo"}})])},function(){var t=this._self._c;return t("div",{staticClass:"d-flex justify-content-center my-3"},[t("img",{attrs:{src:"/img/pixelfed-icon-color.png",width:"60",alt:"Pixelfed logo"}})])},function(){var t=this,e=t._self._c;return e("div",[e("h1",{staticClass:"text-center"},[t._v("Invalid Invite Code")]),t._v(" "),e("hr"),t._v(" "),e("p",{staticClass:"text-muted mb-1"},[t._v("The invite code you were provided is not valid, this can happen when:")]),t._v(" "),e("ul",{staticClass:"text-muted"},[e("li",[t._v("Invite code has typos")]),t._v(" "),e("li",[t._v("Invite code was already used")]),t._v(" "),e("li",[t._v("Invite code has reached max uses")]),t._v(" "),e("li",[t._v("Invite code has expired")]),t._v(" "),e("li",[t._v("You have been rate limited")])]),t._v(" "),e("hr"),t._v(" "),e("a",{staticClass:"btn btn-primary btn-block rounded-pill font-weight-bold",attrs:{href:"/"}},[t._v("Go back home")])])}]},65751:(t,e,i)=>{Vue.component("admin-invite",i(68043).default)},57848:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>n});var a=i(76798),s=i.n(a)()((function(t){return t[1]}));s.push([t.id,".admin-invite-component{font-family:var(--font-family-sans-serif)}.admin-invite-component-inner{align-items:center;display:flex;height:100vh;justify-content:center;width:100wv}.admin-invite-component-inner .card{border-radius:10px;color:#fff;min-height:530px;padding:1.25rem 2.5rem;width:100%}@media (min-width:768px){.admin-invite-component-inner .card{width:30%}}.admin-invite-component-inner .card label{color:var(--muted);font-weight:700;text-transform:uppercase}.admin-invite-component-inner .card .login-link{font-weight:600;margin-top:10px}.admin-invite-component-inner .card .register-terms{color:var(--muted);font-size:12px}.admin-invite-component-inner .card .form-control{color:#fff}.admin-invite-component-inner .card .admin-message{border:1px solid var(--dropdown-item-hover-color);border-radius:5px;color:var(--text-lighter);margin-top:20px;padding:1rem}",""]);const n=s},94331:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>o});var a=i(85072),s=i.n(a),n=i(57848),r={insert:"head",singleton:!1};s()(n.default,r);const o=n.default.locals||{}},68043:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>r});var a=i(93248),s=i(48016),n={};for(const t in s)"default"!==t&&(n[t]=()=>s[t]);i.d(e,n);i(92958);const r=(0,i(14486).default)(s.default,a.render,a.staticRenderFns,!1,null,null,null).exports},48016:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>n});var a=i(84582),s={};for(const t in a)"default"!==t&&(s[t]=()=>a[t]);i.d(e,s);const n=a.default},93248:(t,e,i)=>{"use strict";i.r(e);var a=i(65835),s={};for(const t in a)"default"!==t&&(s[t]=()=>a[t]);i.d(e,s)},92958:(t,e,i)=>{"use strict";i.r(e);var a=i(94331),s={};for(const t in a)"default"!==t&&(s[t]=()=>a[t]);i.d(e,s)}},t=>{t.O(0,[3660],(()=>{return e=65751,t(t.s=e);var e}));t.O()}]); \ No newline at end of file diff --git a/public/js/app.js b/public/js/app.js index 86bae4e30..943809518 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -1,2 +1,2 @@ /*! For license information please see app.js.LICENSE.txt */ -(self.webpackChunkpixelfed=self.webpackChunkpixelfed||[]).push([[2773],{5924:(e,t,r)=>{r(19755);var o=r(19755);r(99751),window._=r(96486),window.Popper=r(28981).default,window.pixelfed=window.pixelfed||{},window.$=r(19755),r(43734),window.axios=r(9669),window.axios.defaults.headers.common["X-Requested-With"]="XMLHttpRequest",r(90717),window.blurhash=r(43985);var n=document.head.querySelector('meta[name="csrf-token"]');n?window.axios.defaults.headers.common["X-CSRF-TOKEN"]=n.content:console.error("CSRF token not found."),window.App=window.App||{},window.App.redirect=function(){document.querySelectorAll("a").forEach((function(e,t){var r=e.getAttribute("href");if(r&&r.length>5&&r.startsWith("https://")){var o=new URL(r);o.host!==window.location.host&&"/i/redirect"!==o.pathname&&e.setAttribute("href","/i/redirect?url="+encodeURIComponent(r))}}))},window.App.boot=function(){new Vue({el:"#content"})},window.addEventListener("load",(function(){"serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js")})),window.App.util={compose:{post:function(){var e=window.location.pathname;["/","/timeline/public"].includes(e)?o("#composeModal").modal("show"):window.location.href="/?a=co"},circle:function(){console.log("Unsupported method.")},collection:function(){console.log("Unsupported method.")},loop:function(){console.log("Unsupported method.")},story:function(){console.log("Unsupported method.")}},time:function(){return new Date},version:1,format:{count:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en-GB",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"compact";return e<1?0:new Intl.NumberFormat(t,{notation:r,compactDisplay:"short"}).format(e)},timeAgo:function(e){var t=Date.parse(e),r=Math.floor((new Date-t)/1e3),o=Math.floor(r/63072e3);return o>=1?o+"y":(o=Math.floor(r/604800))>=1?o+"w":(o=Math.floor(r/86400))>=1?o+"d":(o=Math.floor(r/3600))>=1?o+"h":(o=Math.floor(r/60))>=1?o+"m":Math.floor(r)+"s"},timeAhead:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=Date.parse(e)-Date.parse(new Date),o=Math.floor(r/1e3),n=Math.floor(o/63072e3);return n>=1?n+(t?"y":" years"):(n=Math.floor(o/604800))>=1?n+(t?"w":" weeks"):(n=Math.floor(o/86400))>=1?n+(t?"d":" days"):(n=Math.floor(o/3600))>=1?n+(t?"h":" hours"):(n=Math.floor(o/60))>=1?n+(t?"m":" minutes"):Math.floor(o)+(t?"s":" seconds")},rewriteLinks:function(e){var t=e.innerText;return e.href.startsWith(window.location.origin)?e.href:t=1==t.startsWith("#")?"/discover/tags/"+t.substr(1)+"?src=rph":1==t.startsWith("@")?"/"+e.innerText+"?src=rpp":"/i/redirect?url="+encodeURIComponent(t)}},filters:[["1984","filter-1977"],["Azen","filter-aden"],["Astairo","filter-amaro"],["Grassbee","filter-ashby"],["Bookrun","filter-brannan"],["Borough","filter-brooklyn"],["Farms","filter-charmes"],["Hairsadone","filter-clarendon"],["Cleana ","filter-crema"],["Catpatch","filter-dogpatch"],["Earlyworm","filter-earlybird"],["Plaid","filter-gingham"],["Kyo","filter-ginza"],["Yefe","filter-hefe"],["Goddess","filter-helena"],["Yards","filter-hudson"],["Quill","filter-inkwell"],["Rankine","filter-kelvin"],["Juno","filter-juno"],["Mark","filter-lark"],["Chill","filter-lofi"],["Van","filter-ludwig"],["Apache","filter-maven"],["May","filter-mayfair"],["Ceres","filter-moon"],["Knoxville","filter-nashville"],["Felicity","filter-perpetua"],["Sandblast","filter-poprocket"],["Daisy","filter-reyes"],["Elevate","filter-rise"],["Nevada","filter-sierra"],["Futura","filter-skyline"],["Sleepy","filter-slumber"],["Steward","filter-stinson"],["Savoy","filter-sutro"],["Blaze","filter-toaster"],["Apricot","filter-valencia"],["Gloming","filter-vesper"],["Walter","filter-walden"],["Poplar","filter-willow"],["Xenon","filter-xpro-ii"]],filterCss:{"filter-1977":"sepia(.5) hue-rotate(-30deg) saturate(1.4)","filter-aden":"sepia(.2) brightness(1.15) saturate(1.4)","filter-amaro":"sepia(.35) contrast(1.1) brightness(1.2) saturate(1.3)","filter-ashby":"sepia(.5) contrast(1.2) saturate(1.8)","filter-brannan":"sepia(.4) contrast(1.25) brightness(1.1) saturate(.9) hue-rotate(-2deg)","filter-brooklyn":"sepia(.25) contrast(1.25) brightness(1.25) hue-rotate(5deg)","filter-charmes":"sepia(.25) contrast(1.25) brightness(1.25) saturate(1.35) hue-rotate(-5deg)","filter-clarendon":"sepia(.15) contrast(1.25) brightness(1.25) hue-rotate(5deg)","filter-crema":"sepia(.5) contrast(1.25) brightness(1.15) saturate(.9) hue-rotate(-2deg)","filter-dogpatch":"sepia(.35) saturate(1.1) contrast(1.5)","filter-earlybird":"sepia(.25) contrast(1.25) brightness(1.15) saturate(.9) hue-rotate(-5deg)","filter-gingham":"contrast(1.1) brightness(1.1)","filter-ginza":"sepia(.25) contrast(1.15) brightness(1.2) saturate(1.35) hue-rotate(-5deg)","filter-hefe":"sepia(.4) contrast(1.5) brightness(1.2) saturate(1.4) hue-rotate(-10deg)","filter-helena":"sepia(.5) contrast(1.05) brightness(1.05) saturate(1.35)","filter-hudson":"sepia(.25) contrast(1.2) brightness(1.2) saturate(1.05) hue-rotate(-15deg)","filter-inkwell":"brightness(1.25) contrast(.85) grayscale(1)","filter-kelvin":"sepia(.15) contrast(1.5) brightness(1.1) hue-rotate(-10deg)","filter-juno":"sepia(.35) contrast(1.15) brightness(1.15) saturate(1.8)","filter-lark":"sepia(.25) contrast(1.2) brightness(1.3) saturate(1.25)","filter-lofi":"saturate(1.1) contrast(1.5)","filter-ludwig":"sepia(.25) contrast(1.05) brightness(1.05) saturate(2)","filter-maven":"sepia(.35) contrast(1.05) brightness(1.05) saturate(1.75)","filter-mayfair":"contrast(1.1) brightness(1.15) saturate(1.1)","filter-moon":"brightness(1.4) contrast(.95) saturate(0) sepia(.35)","filter-nashville":"sepia(.25) contrast(1.5) brightness(.9) hue-rotate(-15deg)","filter-perpetua":"contrast(1.1) brightness(1.25) saturate(1.1)","filter-poprocket":"sepia(.15) brightness(1.2)","filter-reyes":"sepia(.75) contrast(.75) brightness(1.25) saturate(1.4)","filter-rise":"sepia(.25) contrast(1.25) brightness(1.2) saturate(.9)","filter-sierra":"sepia(.25) contrast(1.5) brightness(.9) hue-rotate(-15deg)","filter-skyline":"sepia(.15) contrast(1.25) brightness(1.25) saturate(1.2)","filter-slumber":"sepia(.35) contrast(1.25) saturate(1.25)","filter-stinson":"sepia(.35) contrast(1.25) brightness(1.1) saturate(1.25)","filter-sutro":"sepia(.4) contrast(1.2) brightness(.9) saturate(1.4) hue-rotate(-10deg)","filter-toaster":"sepia(.25) contrast(1.5) brightness(.95) hue-rotate(-15deg)","filter-valencia":"sepia(.25) contrast(1.1) brightness(1.1)","filter-vesper":"sepia(.35) contrast(1.15) brightness(1.2) saturate(1.3)","filter-walden":"sepia(.35) contrast(.8) brightness(1.25) saturate(1.4)","filter-willow":"brightness(1.2) contrast(.85) saturate(.05) sepia(.2)","filter-xpro-ii":"sepia(.45) contrast(1.25) brightness(1.75) saturate(1.3) hue-rotate(-5deg)"},emoji:["😂","💯","❤️","🙌","👏","👌","😍","😯","😢","😅","😁","🙂","😎","😀","🤣","😃","😄","😆","😉","😊","😋","😘","😗","😙","😚","🤗","🤩","🤔","🤨","😐","😑","😶","🙄","😏","😣","😥","😮","🤐","😪","😫","😴","😌","😛","😜","😝","🤤","😒","😓","😔","😕","🙃","🤑","😲","🙁","😖","😞","😟","😤","😭","😦","😧","😨","😩","🤯","😬","😰","😱","😳","🤪","😵","😡","😠","🤬","😷","🤒","🤕","🤢","🤮","🤧","😇","🤠","🤡","🤥","🤫","🤭","🧐","🤓","😈","👿","👹","👺","💀","👻","👽","🤖","💩","😺","😸","😹","😻","😼","😽","🙀","😿","😾","🤲","👐","🤝","👍","👎","👊","✊","🤛","🤜","🤞","✌️","🤟","🤘","👈","👉","👆","👇","☝️","✋","🤚","🖐","🖖","👋","🤙","💪","🖕","✍️","🙏","💍","💄","💋","👄","👅","👂","👃","👣","👁","👀","🧠","🗣","👤","👥"],embed:{post:function(e){var t=e+"/embed?";return t+=!(arguments.length>1&&void 0!==arguments[1])||arguments[1]?"caption=true&":"caption=false&",t+=arguments.length>2&&void 0!==arguments[2]&&arguments[2]?"likes=true&":"likes=false&",' diff --git a/resources/views/admin/curated-register/index.blade.php b/resources/views/admin/curated-register/index.blade.php new file mode 100644 index 000000000..1094e9113 --- /dev/null +++ b/resources/views/admin/curated-register/index.blade.php @@ -0,0 +1,86 @@ +@extends('admin.partial.template-full') + +@section('section') +
+
+
+
+
+

Curated Onboarding

+

The ideal solution for communities seeking a balance between open registration and invite-only membership

+
+
+
+
+
+ +@if((bool) config_cache('instance.curated_registration.enabled')) +
+
+ @include('admin.curated-register.partials.nav') + + @if($records && $records->count()) +
+ + + + + + @if(in_array($filter, ['all', 'open'])) + + @endif + + + + + + + @foreach($records as $record) + + + + @if(in_array($filter, ['all', 'open'])) + + @endif + + + + + @endforeach + +
IDUsernameStatusReason for JoiningEmailCreated
+ + #{{ $record->id }} + + +

+ @{{ $record->username }} +

+
+ {!! $record->adminStatusLabel() !!} + + {{ str_limit($record->reason_to_join, 100) }} + +

+ {{ str_limit(\Illuminate\Support\Str::mask($record->email, '*', 5, 10), 10) }} +

+
{{ $record->created_at->diffForHumans() }}
+ +
+ {{ $records->links() }} +
+
+ @else +
+
+

+

No {{ request()->filled('filter') ? request()->filter : 'open' }} applications found!

+
+
+ @endif +
+
+@else +@include('admin.curated-register.partials.not-enabled') +@endif +@endsection diff --git a/resources/views/admin/curated-register/partials/activity-log.blade.php b/resources/views/admin/curated-register/partials/activity-log.blade.php new file mode 100644 index 000000000..1d7701f44 --- /dev/null +++ b/resources/views/admin/curated-register/partials/activity-log.blade.php @@ -0,0 +1,463 @@ + + + +@push('scripts') + +@endpush + +@push('styles') + +@endpush diff --git a/resources/views/admin/curated-register/partials/nav.blade.php b/resources/views/admin/curated-register/partials/nav.blade.php new file mode 100644 index 000000000..16241997e --- /dev/null +++ b/resources/views/admin/curated-register/partials/nav.blade.php @@ -0,0 +1,39 @@ +@if(request()->filled('a')) +@if(request()->input('a') === 'rj') +
+

Successfully rejected application!

+
+@endif +@if(request()->input('a') === 'aj') +
+

Successfully accepted application!

+
+@endif +@endif + + + + +@push('scripts') + +@endpush diff --git a/resources/views/admin/curated-register/partials/not-enabled.blade.php b/resources/views/admin/curated-register/partials/not-enabled.blade.php new file mode 100644 index 000000000..9248c3ea2 --- /dev/null +++ b/resources/views/admin/curated-register/partials/not-enabled.blade.php @@ -0,0 +1,24 @@ +
+
+
+
+
+
+

Feature not enabled

+ +

To enable this feature: + +

    +
  1. Go to the Settings page
  2. +
  3. + Under Registration Status select: +
    Filtered - Anyone can apply (Curated Onboarding)
    +
  4. +
  5. Save the changes
  6. +
+
+
+
+
+
+
diff --git a/resources/views/admin/curated-register/show.blade.php b/resources/views/admin/curated-register/show.blade.php new file mode 100644 index 000000000..8da14df0e --- /dev/null +++ b/resources/views/admin/curated-register/show.blade.php @@ -0,0 +1,102 @@ +@extends('admin.partial.template-full') + +@section('section') +
+
+
+
+
+

+ + Back to Curated Onboarding + +

+

Application #{{ $record->id }}

+
+ @if($record->is_closed) + @else + + + Open / Awaiting Admin Action + + @endif +
+
+
+
+
+
+ +
+
+
+
+
+
Details
+
+
+
Username
+
{{ $record->username }}
+
+
+
Email
+
{{ $record->email }}
+
+
+
Created
+
{{ $record->created_at->diffForHumans() }}
+
+ @if($record->email_verified_at) +
+
Email Verified
+
{{ $record->email_verified_at->diffForHumans() }}
+
+ @else +
+
Email Verified
+
Not yet
+
+ @endif +
+
+ +
+
Reason for Joining
+
+
{{ $record->reason_to_join }}
+
+
+
+ +
+ @include('admin.curated-register.partials.activity-log', [ + 'id' => $record->id, + 'is_closed' => $record->is_closed, + 'is_approved' => $record->is_approved, + 'is_rejected' => $record->is_rejected, + 'action_taken_at' => $record->action_taken_at, + 'email_verified_at' => $record->email_verified_at + ]) +
+
+
+
+@endsection + +@push('styles') + +@endpush diff --git a/resources/views/admin/partial/sidenav.blade.php b/resources/views/admin/partial/sidenav.blade.php index bfd93e77e..4226c3488 100644 --- a/resources/views/admin/partial/sidenav.blade.php +++ b/resources/views/admin/partial/sidenav.blade.php @@ -18,7 +18,7 @@ @@ -56,6 +56,15 @@ Settings + + @if((bool) config_cache('instance.curated_registration.enabled')) + + @endif
@@ -64,7 +73,7 @@ @@ -96,10 +105,17 @@ + {{-- --}} + @@ -118,14 +134,14 @@ diff --git a/resources/views/admin/settings/home.blade.php b/resources/views/admin/settings/home.blade.php index 7635ac61f..6201872c8 100644 --- a/resources/views/admin/settings/home.blade.php +++ b/resources/views/admin/settings/home.blade.php @@ -77,6 +77,18 @@
+ +
+ +
+ +
+
+ @if($cloud_ready)
@@ -91,11 +103,18 @@

ActivityPub federation, compatible with Pixelfed, Mastodon and other projects.

-
+ {{--
-

Allow new user registrations.

+

Allow new user registrations.

--}} + + + {{--
+ + +
+

Manually review new account registration applications.

--}}
diff --git a/resources/views/auth/curated-register/concierge.blade.php b/resources/views/auth/curated-register/concierge.blade.php new file mode 100644 index 000000000..3d8f300b7 --- /dev/null +++ b/resources/views/auth/curated-register/concierge.blade.php @@ -0,0 +1,124 @@ +@extends('layouts.blank') + +@section('content') +
+
+
+ + + @include('auth.curated-register.partials.progress-bar', ['step' => 4]) + + @if ($errors->any()) + @foreach ($errors->all() as $error) +
+

{{ $error }}

+
+ @endforeach +
+ @endif + + @if($emailConfirmed) +

Information Requested

+

Our admin team requests the following information from you:

+
+

testing

+
+
+ + + @csrf + + +
+ + +
+ 0/1000 +
+
+ + + +
+

For additional information, please see our Curated Onboarding Help Center page.

+ @else + @include('auth.curated-register.partials.message-email-confirm', ['step' => 4]) + @endif +
+
+
+@endsection + +@push('scripts') + +@endpush + +@push('styles') + + +@endpush diff --git a/resources/views/auth/curated-register/concierge_form.blade.php b/resources/views/auth/curated-register/concierge_form.blade.php new file mode 100644 index 000000000..b8a1f922c --- /dev/null +++ b/resources/views/auth/curated-register/concierge_form.blade.php @@ -0,0 +1,129 @@ +@extends('layouts.blank') + +@section('content') +
+
+
+ + + @include('auth.curated-register.partials.progress-bar', ['step' => 4]) + + @if ($errors->any()) + @foreach ($errors->all() as $error) +
+

{{ $error }}

+
+ @endforeach +
+ @endif + +

Information Requested

+

Before we can process your application to join, our admin team have requested additional information from you. Please respond at your earliest convenience!

+
+

From our Admins:

+
+

{{ $activity->message }}

+
+

If you don't understand this request, or need additional context you should request clarification from the admin team.

+ {{--
--}} + +
+ @csrf + + +
+ + +
+ 0/1000 +
+
+ @if($showCaptcha) +
+ {!! Captcha::display() !!} +
+ @endif +
+ +
+
+
+

For additional information, please see our Curated Onboarding Help Center page.

+
+
+
+@endsection + +@push('scripts') + +@endpush + +@push('styles') + + +@endpush diff --git a/resources/views/auth/curated-register/confirm_email.blade.php b/resources/views/auth/curated-register/confirm_email.blade.php new file mode 100644 index 000000000..786023a92 --- /dev/null +++ b/resources/views/auth/curated-register/confirm_email.blade.php @@ -0,0 +1,91 @@ +@extends('layouts.blank') + +@section('content') +
+
+
+ + + @include('auth.curated-register.partials.progress-bar', ['step' => 3]) + + @if ($errors->any()) + @foreach ($errors->all() as $error) +
+

{{ $error }}

+
+ @endforeach +
+ @endif + +

Confirm Email

+

Please confirm your email address so we can continue processing your registration application.

+ +
+ @csrf + input('sid')}}> + input('code')}}> + @if(config('instance.curated_registration.captcha_enabled')) +
+ {!! Captcha::display() !!} +
+ @endif +
+ +
+
+
+
+
+@endsection + +@push('styles') + + +@endpush diff --git a/resources/views/auth/curated-register/email_confirmed.blade.php b/resources/views/auth/curated-register/email_confirmed.blade.php new file mode 100644 index 000000000..8d4f8dc13 --- /dev/null +++ b/resources/views/auth/curated-register/email_confirmed.blade.php @@ -0,0 +1,74 @@ +@extends('layouts.blank') + +@section('content') +
+
+
+ + + @include('auth.curated-register.partials.progress-bar', ['step' => 4]) + +

+

Email Confirmed!

+

Our admin team will review your application.

+
+

Most applications are processed within 24-48 hours. We will send you an email once your account is ready!

+

If we need any additional information, we will send you an automated request with a link that you can visit and provide further details to help process your application.

+
+

For additional information, please see our Curated Onboarding Help Center page.

+
+
+
+@endsection + +@push('styles') + + +@endpush diff --git a/resources/views/auth/curated-register/index.blade.php b/resources/views/auth/curated-register/index.blade.php new file mode 100644 index 000000000..934c15ec7 --- /dev/null +++ b/resources/views/auth/curated-register/index.blade.php @@ -0,0 +1,88 @@ +@extends('layouts.blank') + +@section('content') +
+
+
+ + + @include('auth.curated-register.partials.progress-bar', ['step' => $step ?? 1]) + + @if ($errors->any()) + @foreach ($errors->all() as $error) +
+

{{ $error }}

+
+ @endforeach +
+ @endif + @if($step === 1) + @include('auth.curated-register.partials.step-1') + @elseif ($step === 2) + @include('auth.curated-register.partials.step-2') + @elseif ($step === 3) + @include('auth.curated-register.partials.step-3') + @elseif ($step === 4) + @include('auth.curated-register.partials.step-4') + @endif +
+
+
+@endsection + +@push('styles') + + +@endpush diff --git a/resources/views/auth/curated-register/partials/message-email-confirm.blade.php b/resources/views/auth/curated-register/partials/message-email-confirm.blade.php new file mode 100644 index 000000000..3f0711b63 --- /dev/null +++ b/resources/views/auth/curated-register/partials/message-email-confirm.blade.php @@ -0,0 +1,23 @@ +

Please verify your email address

+
+ @csrf + +
+ +
+ @if(config('instance.curated_registration.captcha_enabled')) +
+ {!! Captcha::display() !!} +
+ @endif +
+ +
+
+
+

For additional information, please see our Curated Onboarding Help Center page.

diff --git a/resources/views/auth/curated-register/partials/progress-bar.blade.php b/resources/views/auth/curated-register/partials/progress-bar.blade.php new file mode 100644 index 000000000..778ab1a9c --- /dev/null +++ b/resources/views/auth/curated-register/partials/progress-bar.blade.php @@ -0,0 +1,134 @@ +
+
    +
  • + 1 + Review Rules +
  • +
  • + 2 + Your Details +
  • +
  • + 3 + Confirm Email +
  • +
  • + 4 + Await Review +
  • +
+
+ +@push('styles') + +@endpush diff --git a/resources/views/auth/curated-register/partials/server-rules.blade.php b/resources/views/auth/curated-register/partials/server-rules.blade.php new file mode 100644 index 000000000..8264697f6 --- /dev/null +++ b/resources/views/auth/curated-register/partials/server-rules.blade.php @@ -0,0 +1,18 @@ +@php +$rules = json_decode(config_cache('app.rules'), true) +@endphp + +
+ @foreach($rules as $id => $rule) +
+
+
+ {{ $id + 1 }} +
+
+
+

{{ $rule }}

+
+
+ @endforeach +
diff --git a/resources/views/auth/curated-register/partials/step-1.blade.php b/resources/views/auth/curated-register/partials/step-1.blade.php new file mode 100644 index 000000000..c51ca3fef --- /dev/null +++ b/resources/views/auth/curated-register/partials/step-1.blade.php @@ -0,0 +1,175 @@ +@php +$id = str_random(14); +@endphp +

Before you continue.

+@if(config_cache('app.rules') && strlen(config_cache('app.rules')) > 5) +

Let's go over a few basic guidelines established by the server's administrators.

+ +@include('auth.curated-register.partials.server-rules') +@else +

The admins have not specified any community rules, however we suggest youreview the Terms of Use and Privacy Policy.

+@endif + +
+
+ @csrf + + +
+ + Go back +
+ + + +@push('scripts') + +@endpush diff --git a/resources/views/auth/curated-register/partials/step-2.blade.php b/resources/views/auth/curated-register/partials/step-2.blade.php new file mode 100644 index 000000000..1d508a4c3 --- /dev/null +++ b/resources/views/auth/curated-register/partials/step-2.blade.php @@ -0,0 +1,117 @@ +

Let's begin setting up your account on {{ config('pixelfed.domain.app') }}

+
+ @csrf + +
+
+ +
+ +
+ @{{ config('pixelfed.domain.app') }} +
+
+

You can use letters, numbers, and underscores with a max length of 15 chars.

+
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
+

+ Our moderators manually review sign-ups. To assist in the processing of your registration, please provide some information about yourself and explain why you wish to create an account on {{ config('pixelfed.domain.app') }}. +

+
+
+ + +
+ 0/1000 +
+
+
+
+
+ + +
+
+
+
+ +
+
+
+ +@push('scripts') + +@endpush + +@push('styles') + +@endpush diff --git a/resources/views/auth/curated-register/partials/step-3.blade.php b/resources/views/auth/curated-register/partials/step-3.blade.php new file mode 100644 index 000000000..5cb0541ac --- /dev/null +++ b/resources/views/auth/curated-register/partials/step-3.blade.php @@ -0,0 +1,30 @@ +

Confirm Your Email

+@if(isset($verifiedEmail)) +
+

+

Please check your email inbox, we sent an email confirmation with a link that you need to visit.

+
+@else +

Please confirm your email address is correct, we will send a verification e-mail with a special verification link that you need to visit before proceeding.

+
+ @csrf + +
+ +
+ @if(config('instance.curated_registration.captcha_enabled')) +
+ {!! Captcha::display() !!} +
+ @endif +
+ +
+
+@endif diff --git a/resources/views/auth/curated-register/partials/step-4.blade.php b/resources/views/auth/curated-register/partials/step-4.blade.php new file mode 100644 index 000000000..d2a1eafd1 --- /dev/null +++ b/resources/views/auth/curated-register/partials/step-4.blade.php @@ -0,0 +1,2 @@ +

Processing your membership request

+

We will send you an email once your account is ready!

diff --git a/resources/views/auth/curated-register/resend-confirmation.blade.php b/resources/views/auth/curated-register/resend-confirmation.blade.php new file mode 100644 index 000000000..822146b1a --- /dev/null +++ b/resources/views/auth/curated-register/resend-confirmation.blade.php @@ -0,0 +1,112 @@ +@extends('layouts.blank') + +@section('content') +
+
+
+ + + @include('auth.curated-register.partials.progress-bar', ['step' => 3]) + + @if ($errors->any()) + @foreach ($errors->all() as $error) +
+

{!! $error !!}

+
+ @endforeach +
+ @endif + +

Resend Confirmation

+

Please confirm your email address so we verify your registration application to re-send your email verification email.

+ +
+ @csrf +
+ +
+ @if(config('instance.curated_registration.captcha_enabled')) +
+ {!! Captcha::display() !!} +
+ @endif +
+ +
+
+ +
+
+ +
+
+
+@endsection + +@push('styles') + + +@endpush diff --git a/resources/views/auth/curated-register/resent-confirmation.blade.php b/resources/views/auth/curated-register/resent-confirmation.blade.php new file mode 100644 index 000000000..2ad27bb2d --- /dev/null +++ b/resources/views/auth/curated-register/resent-confirmation.blade.php @@ -0,0 +1,87 @@ +@extends('layouts.blank') + +@section('content') +
+
+
+ + + @include('auth.curated-register.partials.progress-bar', ['step' => 3]) + +
+

+

Please check your email inbox

+
+

We sent a confirmation link to your email that you need to verify before we can process your registration application.

+

The verification link expires after 24 hours.

+
+
+
+ +
+
+
+@endsection + +@push('styles') + + +@endpush diff --git a/resources/views/auth/curated-register/user_response_sent.blade.php b/resources/views/auth/curated-register/user_response_sent.blade.php new file mode 100644 index 000000000..17e57eaf1 --- /dev/null +++ b/resources/views/auth/curated-register/user_response_sent.blade.php @@ -0,0 +1,79 @@ +@extends('layouts.blank') + +@section('content') +
+
+
+ + + @include('auth.curated-register.partials.progress-bar', ['step' => 4]) + +

+

Succesfully Sent Response!

+

Our admin team will review your application.

+
+

Most applications are processed within 24-48 hours. We will send you an email once your account is ready!

+

If we need any additional information, we will send you an automated request with a link that you can visit and provide further details to help process your application.

+
+

For additional information, please see our Curated Onboarding Help Center page.

+
+
+
+@endsection + +@push('styles') + + +@endpush diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index dadd08a4f..9df9ea8c9 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -111,7 +111,7 @@ @endif - @if(config_cache('pixelfed.open_registration')) + @if((bool) config_cache('pixelfed.open_registration') || (bool) config_cache('instance.curated_registration.enabled'))

diff --git a/resources/views/emails/curated-register/admin_notify.blade.php b/resources/views/emails/curated-register/admin_notify.blade.php new file mode 100644 index 000000000..72e7e082b --- /dev/null +++ b/resources/views/emails/curated-register/admin_notify.blade.php @@ -0,0 +1,34 @@ +@component('mail::message') +# [#{{$verify->id}}] New Curated Onboarding Application + +Hello admin, + +**Please review this new onboarding application.** + + +

+ +Username: {{ $verify->username }} + +
+ +Email: {{ $verify->email }} + +

+ +
+ +*The user provided the following reason to join:* +

{!!str_limit(nl2br($verify->reason_to_join), 300)!!}

+ + + +Review Onboarding Application + + +Thanks,
+{{ config('pixelfed.domain.app') }} +
+
+

This is an automated message, please be aware that replies to this email cannot be monitored or responded to.

+@endcomponent diff --git a/resources/views/emails/curated-register/admin_notify_user_response.blade.php b/resources/views/emails/curated-register/admin_notify_user_response.blade.php new file mode 100644 index 000000000..504795f83 --- /dev/null +++ b/resources/views/emails/curated-register/admin_notify_user_response.blade.php @@ -0,0 +1,21 @@ +@component('mail::message') +# New Curated Onboarding Response ({{ '#' . $activity->id}}) + +Hello, + +You have a new response from a curated onboarding application from **{{$activity->application->email}}**. + + +

{!! $activity->message !!}

+
+ + +Review Onboarding Response + + +Thanks,
+{{ config('pixelfed.domain.app') }} +
+
+

This is an automated message, please be aware that replies to this email cannot be monitored or responded to.

+@endcomponent diff --git a/resources/views/emails/curated-register/confirm_email.blade.php b/resources/views/emails/curated-register/confirm_email.blade.php new file mode 100644 index 000000000..bcadc3832 --- /dev/null +++ b/resources/views/emails/curated-register/confirm_email.blade.php @@ -0,0 +1,21 @@ +@component('mail::message') +# Action Needed: Confirm Your Email to Activate Your Pixelfed Account + +Hello **{{'@'.$verify->username}}**, + +Please confirm your email address so we can process your new registration application. + + +Confirm Email Address + + + +

If you did not create this account, please disregard this email. This link expires after 24 hours.

+
+ +Thanks,
+{{ config('pixelfed.domain.app') }} +
+
+

This is an automated message, please be aware that replies to this email cannot be monitored or responded to.

+@endcomponent diff --git a/resources/views/emails/curated-register/message-from-admin.blade.php b/resources/views/emails/curated-register/message-from-admin.blade.php new file mode 100644 index 000000000..55f4ceff9 --- /dev/null +++ b/resources/views/emails/curated-register/message-from-admin.blade.php @@ -0,0 +1,21 @@ +@component('mail::message') +# New Message from {{config('pixelfed.domain.app')}} + +Hello, + +You recently applied to join our Pixelfed community using the @**{{ $verify->username }}** username. + +The admins have a message for you: + + +

{{ $verify->message }}

+
+ +Please do not respond to this email, any replies will not be seen by our admin team. + +Thanks,
+{{ config('pixelfed.domain.app') }} +
+
+

This is an automated message on behalf of our admin team, please be aware that replies to this email cannot be monitored or responded to.

+@endcomponent diff --git a/resources/views/emails/curated-register/request-accepted.blade.php b/resources/views/emails/curated-register/request-accepted.blade.php new file mode 100644 index 000000000..79badefe5 --- /dev/null +++ b/resources/views/emails/curated-register/request-accepted.blade.php @@ -0,0 +1,37 @@ +@component('mail::message') +Hello **{{'@'.$verify->username}}**, + + +We are excited to inform you that your account has been successfully activated! + +Your journey into the world of visual storytelling begins now, and we can’t wait to see the incredible content you’ll create and share. + + +Sign-in to your account + + +Here’s what you can do next: + + +**Personalize Your Profile**: Customize your profile to reflect your personality or brand. + +**Start Sharing**: Post your first photo or album and share your unique perspective with the world. + +**Engage with the Community**: Follow other users, like and comment on posts, and become an active member of our vibrant community. + +**Explore**: Discover amazing content from a diverse range of users and hashtags. + + +Need help getting started? Visit our [Help Center]({{url('site/help')}}) for tips, tutorials, and FAQs. Remember, our community thrives on respect and creativity, so please familiarize yourself with our [Community Guidelines]({{url('site/kb/community-guidelines')}}). + +If you have any questions or need assistance, feel free to reach out to [our support team]({{url('/site/contact')}}). + +Happy posting, and once again, welcome to Pixelfed! + +Warm regards,
+{{ config('pixelfed.domain.app') }} + +
+
+

This is an automated message, please be aware that replies to this email cannot be monitored or responded to.

+@endcomponent diff --git a/resources/views/emails/curated-register/request-details-from-user.blade.php b/resources/views/emails/curated-register/request-details-from-user.blade.php new file mode 100644 index 000000000..59c26c7cd --- /dev/null +++ b/resources/views/emails/curated-register/request-details-from-user.blade.php @@ -0,0 +1,22 @@ +@component('mail::message') +# Action Needed: Additional information requested + +Hello **{{'@'.$verify->username}}** + +To help us process your registration application, we require more information. + +Our onboarding team have requested the following details: + +@component('mail::panel') +

{!! $activity->message !!}

+@endcomponent + +Reply with your response + + +

Please respond promptly, your application will be automatically removed 7 days after your last interaction.

+
+ +Thanks,
+{{ config('pixelfed.domain.app') }} +@endcomponent diff --git a/resources/views/emails/curated-register/request-rejected.blade.php b/resources/views/emails/curated-register/request-rejected.blade.php new file mode 100644 index 000000000..6d7a475dc --- /dev/null +++ b/resources/views/emails/curated-register/request-rejected.blade.php @@ -0,0 +1,19 @@ +@component('mail::message') +Hello **{{'@'.$verify->username}}**, + +We appreciate the time you took to apply for an account on {{ config('pixelfed.domain.app') }}. + +Unfortunately, after reviewing your [application]({{route('help.curated-onboarding')}}), we have decided not to proceed with the activation of your account. + +This decision is made to ensure the best experience for all members of our community. We encourage you to review our [guidelines]({{route('help.community-guidelines')}}) and consider applying again in the future. + +We appreciate your understanding. If you believe this decision was made in error, or if you have any questions, please don’t hesitate to [contact us]({{route('site.contact')}}). + +
+ +Thanks,
+{{ config('pixelfed.domain.app') }} +
+
+

This is an automated message, please be aware that replies to this email cannot be monitored or responded to.

+@endcomponent diff --git a/resources/views/settings/privacy/domain-blocks.blade.php b/resources/views/settings/privacy/domain-blocks.blade.php index d93e0b58e..1602527ec 100644 --- a/resources/views/settings/privacy/domain-blocks.blade.php +++ b/resources/views/settings/privacy/domain-blocks.blade.php @@ -208,7 +208,9 @@ swal.stopLoading() swal.close() this.index = 0 - this.blocks.unshift(parsedUrl.hostname) + if(this.blocks.indexOf(parsedUrl.hostname) === -1) { + this.blocks.unshift(parsedUrl.hostname) + } this.buildList() }) .catch(err => { diff --git a/resources/views/site/help/curated-onboarding.blade.php b/resources/views/site/help/curated-onboarding.blade.php new file mode 100644 index 000000000..6a4d980f3 --- /dev/null +++ b/resources/views/site/help/curated-onboarding.blade.php @@ -0,0 +1,162 @@ +@extends('site.help.partial.template', ['breadcrumb'=>'Curated Onboarding']) + +@section('section') +
+

Curated Onboarding

+
+
+@if((bool) config_cache('instance.curated_registration.enabled') == false) +
+
+ @if((bool) config_cache('pixelfed.open_registration')) +

Curated Onboarding is not available on this server, however anyone can join.

+
+

Create New Account

+ @else +

Curated Onboarding is not available on this server.

+ @endif +
+
+@endif +

Curated Onboarding is our innovative approach to ensure each new member is a perfect fit for our community.

+

This process goes beyond the usual sign-up routine. It's a thoughtful method to understand each applicant's intentions and aspirations within our platform.

+

If you're excited to be a part of a platform that values individuality, creativity, and community, we invite you to apply to join our community. Share with us your story, and let's embark on this visual journey together!

+@if((bool) config_cache('instance.curated_registration.enabled') && !request()->user()) +

+ Apply to Join +

+@endif +
+
How does Curated Onboarding work?
+
    +
  1. +

    Application Submission

    +

    Start your journey by providing your username and email, along with a personal note about why you're excited to join Pixelfed. This insight into your interests and aspirations helps us get to know you better.

    +
  2. +
    +
  3. +

    Admin Review and Interaction

    +

    Our team carefully reviews each application, assessing your fit within our community. If we're intrigued but need more information, we'll reach out directly. You'll receive an email with a link to a special form where you can view our request and respond in detail. This two-way communication ensures a thorough and fair evaluation process.

    +
  4. +
    +
  5. +

    Decision – Acceptance or Rejection

    +

    Each application is thoughtfully considered. If you're a match for our community, you'll be greeted with a warm welcome email and instructions to activate your account. If your application is not accepted, we will inform you respectfully, leaving the possibility open for future applications.

    +
  6. +
+
+
Why Curated Onboarding?
+
    +
  • +

    Fostering Quality Connections

    +

    At Pixelfed, we believe in the power of meaningful connections. It's not just about how many people are in the community, but how they enrich and enliven our platform. Our curated onboarding process is designed to welcome members who share our enthusiasm for creativity and engagement, ensuring every interaction on Pixelfed is enjoyable and rewarding.

    +
  • +
    +
  • +

    Ensuring Safety and Respect

    +

    A careful onboarding process is critical for maintaining a safe and respectful environment. It allows Pixelfed to align every new member with the platform's values of kindness and inclusivity.

    +
  • +
    +
  • +

    Encouraging Community Engagement

    +

    By engaging with applicants from the start, Pixelfed fosters a community that's not just active but passionate. This approach welcomes users who are genuinely interested in making a positive contribution to Pixelfed's vibrant community.

    +
  • +
+
+
FAQs & Troubleshooting
+

+ +

+
+ This indicates that you've attempted to verify your email address too many times. This most likely is the result of an issue delivering the verification emails to your email provider. If you are experiencing this issue, we suggest that you contact the admin onboarding team and mention that you're having issues verifying your email address. +
+
+

+

+ +

+
+ This indicates the desired username is already in-use or was previously used by a now deleted account. You need to pick a different username. +
+
+

+

+ +

+
+ This indicates the desired email is not supported. While it may be a valid email, admins may have blocked specific domains from being associated with account email addresses. +
+
+

+

+ +

+
+ This indicates the desired username is already in-use or was previously used by a now deleted account. You need to pick a different username. +
+
+

+

+ +

+
+ This indicates the desired username is not a valid format, usernames may only contain one dash (-), period (.) or underscore (_) and must start with a letter or number. +
+
+

+

+ +

+
+ This indicates the reason you provided for joining is less than the minimum accepted characters. The reason should be atleast 20 characters long, up to 1000 characters. If you desire to share a longer reason than 1000 characters, consider using a pastebin and posting the link. We can't guarantee that admins will visit any links you provided, so ideally you can keep the length within 1000 chars. +
+
+

+

+ +

+
+

We understand that receiving a notification of rejection can be disappointing. Here's what you can consider if your application to join Pixelfed hasn't been successful:

+ +
    +
  • + Review Your Application: Reflect on the information you provided. Our decision may have been influenced by a variety of factors, including the clarity of your intentions or how well they align with our community values. Consider if there was any additional context or passion for Pixelfed that you could have included. +
  • +
  • + Reapply with Updated Information: We encourage you to reapply if you feel your initial application didn’t fully capture your enthusiasm or alignment with our community values. However, we recommend exercising caution and thoughtfulness. Please take time to refine and enhance your application before resubmitting, as repetitive or frequent submissions can overwhelm our admin team. We value careful consideration and meaningful updates in reapplications, as this helps us maintain a fair and manageable review process for everyone. Your patience and understanding in this regard are greatly appreciated and can positively influence the outcome of future applications. +
  • +
  • + Seek Feedback: If you are seeking clarity on why your application wasn't successful, you're welcome to contact us for feedback. However, please be mindful that our admins handle a high volume of queries and applications. While we strive to provide helpful responses, our ability to offer detailed individual feedback may be limited. We ask for your patience and understanding in this matter. When reaching out, ensure your query is concise and considerate of the admins' time. This approach will help us assist you more effectively and maintain a positive interaction, even if your initial application didn't meet our criteria. +
  • +
  • + Stay Engaged: Even if you're not a member yet, you can stay connected with Pixelfed through our public forums, blog, or social media channels. This will keep you updated on any changes or new features that might make our platform a better fit for you in the future. +
  • +
+ +

Remember, a rejection is not necessarily a reflection of your qualities or potential as a member of our community. It's often about finding the right fit at the right time. We appreciate your interest in Pixelfed and hope you won't be discouraged from exploring other ways to engage with our platform.

+

+
+
+

+@endsection diff --git a/resources/views/site/help/partial/sidebar.blade.php b/resources/views/site/help/partial/sidebar.blade.php index e0a82c9d3..1e8c3d68f 100644 --- a/resources/views/site/help/partial/sidebar.blade.php +++ b/resources/views/site/help/partial/sidebar.blade.php @@ -33,6 +33,13 @@ + @if((bool) config_cache('instance.curated_registration.enabled')) + + @endif diff --git a/routes/web-admin.php b/routes/web-admin.php index 72572b5c0..9f01d5c7c 100644 --- a/routes/web-admin.php +++ b/routes/web-admin.php @@ -104,11 +104,11 @@ Route::domain(config('pixelfed.domain.admin'))->prefix('i/admin')->group(functio Route::post('asf/create', 'AdminShadowFilterController@store'); Route::get('asf/home', 'AdminShadowFilterController@home'); - // Route::redirect('curated-onboarding/', 'curated-onboarding/home'); - // Route::get('curated-onboarding/home', 'AdminCuratedRegisterController@index')->name('admin.curated-onboarding'); - // Route::get('curated-onboarding/show/{id}/preview-details-message', 'AdminCuratedRegisterController@previewDetailsMessageShow'); - // Route::get('curated-onboarding/show/{id}/preview-message', 'AdminCuratedRegisterController@previewMessageShow'); - // Route::get('curated-onboarding/show/{id}', 'AdminCuratedRegisterController@show'); + Route::redirect('curated-onboarding/', 'curated-onboarding/home'); + Route::get('curated-onboarding/home', 'AdminCuratedRegisterController@index')->name('admin.curated-onboarding'); + Route::get('curated-onboarding/show/{id}/preview-details-message', 'AdminCuratedRegisterController@previewDetailsMessageShow'); + Route::get('curated-onboarding/show/{id}/preview-message', 'AdminCuratedRegisterController@previewMessageShow'); + Route::get('curated-onboarding/show/{id}', 'AdminCuratedRegisterController@show'); Route::prefix('api')->group(function() { Route::get('stats', 'AdminController@getStats'); @@ -157,10 +157,10 @@ Route::domain(config('pixelfed.domain.admin'))->prefix('i/admin')->group(functio Route::post('autospam/config/enable', 'AdminController@enableAutospamApi'); Route::post('autospam/config/disable', 'AdminController@disableAutospamApi'); // Route::get('instances/{id}/accounts', 'AdminController@getInstanceAccounts'); - // Route::get('curated-onboarding/show/{id}/activity-log', 'AdminCuratedRegisterController@apiActivityLog'); - // Route::post('curated-onboarding/show/{id}/message/preview', 'AdminCuratedRegisterController@apiMessagePreviewStore'); - // Route::post('curated-onboarding/show/{id}/message/send', 'AdminCuratedRegisterController@apiMessageSendStore'); - // Route::post('curated-onboarding/show/{id}/reject', 'AdminCuratedRegisterController@apiHandleReject'); - // Route::post('curated-onboarding/show/{id}/approve', 'AdminCuratedRegisterController@apiHandleApprove'); + Route::get('curated-onboarding/show/{id}/activity-log', 'AdminCuratedRegisterController@apiActivityLog'); + Route::post('curated-onboarding/show/{id}/message/preview', 'AdminCuratedRegisterController@apiMessagePreviewStore'); + Route::post('curated-onboarding/show/{id}/message/send', 'AdminCuratedRegisterController@apiMessageSendStore'); + Route::post('curated-onboarding/show/{id}/reject', 'AdminCuratedRegisterController@apiHandleReject'); + Route::post('curated-onboarding/show/{id}/approve', 'AdminCuratedRegisterController@apiHandleApprove'); }); }); diff --git a/routes/web.php b/routes/web.php index 3947bf5da..6a5b878ee 100644 --- a/routes/web.php +++ b/routes/web.php @@ -29,16 +29,18 @@ Route::domain(config('pixelfed.domain.app'))->middleware(['validemail', 'twofact Route::get('auth/pci/{id}/{code}', 'ParentalControlsController@inviteRegister'); Route::post('auth/pci/{id}/{code}', 'ParentalControlsController@inviteRegisterStore'); - // Route::get('auth/sign_up', 'CuratedRegisterController@index'); - // Route::post('auth/sign_up', 'CuratedRegisterController@proceed'); - // Route::get('auth/sign_up/concierge/response-sent', 'CuratedRegisterController@conciergeResponseSent'); - // Route::get('auth/sign_up/concierge', 'CuratedRegisterController@concierge'); - // Route::post('auth/sign_up/concierge', 'CuratedRegisterController@conciergeStore'); - // Route::get('auth/sign_up/concierge/form', 'CuratedRegisterController@conciergeFormShow'); - // Route::post('auth/sign_up/concierge/form', 'CuratedRegisterController@conciergeFormStore'); - // Route::get('auth/sign_up/confirm', 'CuratedRegisterController@confirmEmail'); - // Route::post('auth/sign_up/confirm', 'CuratedRegisterController@confirmEmailHandle'); - // Route::get('auth/sign_up/confirmed', 'CuratedRegisterController@emailConfirmed'); + Route::get('auth/sign_up', 'CuratedRegisterController@index')->name('auth.curated-onboarding'); + Route::post('auth/sign_up', 'CuratedRegisterController@proceed'); + Route::get('auth/sign_up/concierge/response-sent', 'CuratedRegisterController@conciergeResponseSent'); + Route::get('auth/sign_up/concierge', 'CuratedRegisterController@concierge'); + Route::post('auth/sign_up/concierge', 'CuratedRegisterController@conciergeStore'); + Route::get('auth/sign_up/concierge/form', 'CuratedRegisterController@conciergeFormShow'); + Route::post('auth/sign_up/concierge/form', 'CuratedRegisterController@conciergeFormStore'); + Route::get('auth/sign_up/confirm', 'CuratedRegisterController@confirmEmail'); + Route::post('auth/sign_up/confirm', 'CuratedRegisterController@confirmEmailHandle'); + Route::get('auth/sign_up/confirmed', 'CuratedRegisterController@emailConfirmed'); + Route::get('auth/sign_up/resend-confirmation', 'CuratedRegisterController@resendConfirmation'); + Route::post('auth/sign_up/resend-confirmation', 'CuratedRegisterController@resendConfirmationProcess'); Route::get('auth/forgot/email', 'UserEmailForgotController@index')->name('email.forgot'); Route::post('auth/forgot/email', 'UserEmailForgotController@store')->middleware('throttle:10,900,forgotEmail'); @@ -306,7 +308,7 @@ Route::domain(config('pixelfed.domain.app'))->middleware(['validemail', 'twofact Route::view('import', 'site.help.import')->name('help.import'); Route::view('parental-controls', 'site.help.parental-controls'); // Route::view('email-confirmation-issues', 'site.help.email-confirmation-issues')->name('help.email-confirmation-issues'); - // Route::view('curated-onboarding', 'site.help.curated-onboarding')->name('help.curated-onboarding'); + Route::view('curated-onboarding', 'site.help.curated-onboarding')->name('help.curated-onboarding'); }); Route::get('newsroom/{year}/{month}/{slug}', 'NewsroomController@show'); Route::get('newsroom/archive', 'NewsroomController@archive');