mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-06 18:53:48 +00:00
Compare commits
44 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
30783d0e5d | ||
|
|
3a296f0f9c | ||
|
|
c0d5a771a5 | ||
|
|
8fc7272e38 | ||
|
|
8b8dc34ba6 | ||
|
|
966145d384 | ||
|
|
2b4060cb7b | ||
|
|
9455a361dc | ||
|
|
190fc651ae | ||
|
|
1c62da4e7c | ||
|
|
ae3be12934 | ||
|
|
c55d3f5350 | ||
|
|
7273d60154 | ||
|
|
587daa5ffe | ||
|
|
e5335c2472 | ||
|
|
a2ec066c6d | ||
|
|
15d4ffc349 | ||
|
|
9af9e45b8a | ||
|
|
f30dd38b96 | ||
|
|
d5f3599b9e | ||
|
|
de62ab535c | ||
|
|
8b8562916b | ||
|
|
0d7b920cbe | ||
|
|
f3254a380f | ||
|
|
0e12029efc | ||
|
|
fd6aa5c6b2 | ||
|
|
12d6b0bf57 | ||
|
|
961462fe54 | ||
|
|
f0e0103d81 | ||
|
|
755523e07b | ||
|
|
c4ace0697b | ||
|
|
69489c4ee2 | ||
|
|
e05d7468b5 | ||
|
|
1a6a91335e | ||
|
|
80de069c7b | ||
|
|
2de8bbe548 | ||
|
|
7ba2a3bec1 | ||
|
|
89fa2fce23 | ||
|
|
84b47416d6 | ||
|
|
55c72cddba | ||
|
|
6effd4a7d9 | ||
|
|
95f6695d00 | ||
|
|
fde7f0f73b | ||
|
|
dd1bffec09 |
23
README.md
23
README.md
@@ -1,16 +1,6 @@
|
||||

|
||||
# Private Cloud Storage Build on Laravel & Vue.js
|
||||
|
||||
## Supporting VueFileManager
|
||||
Hi, we are trying make the best experience with VueFileManager. There is a lot things to do, and a lot of features we can make.
|
||||
|
||||
But, it can't be done without you, development is more and more complicated and we have to hire new colleagues to help with it. There is couple way you can support us, and then, we support you with all great new features which can be. Thanks you for participating on this awesome software!
|
||||
|
||||
- [Buy me a Coffe](https://www.buymeacoffee.com/pepe)
|
||||
- [One-time donation via PayPal](https://www.paypal.me/peterpapp)
|
||||
- [Become a backer or sponsor on Patreon](https://www.patreon.com/vuefilemanager)
|
||||
- [Purchase Licence on CodeCanyon](https://codecanyon.net/item/vue-file-manager-with-laravel-backend/25815986)
|
||||
|
||||
## Contents
|
||||
|
||||
- [Installation](#installation)
|
||||
@@ -20,6 +10,7 @@ But, it can't be done without you, development is more and more complicated and
|
||||
- [Chunk Upload](#chunk-upload)
|
||||
- [Upgrade Guide](#upgrade-guide)
|
||||
- [Common Instructions](#common-instructions)
|
||||
- [Update from 1.7.10 to 1.7.11](#update-from-1710-to-1711)
|
||||
- [Update from 1.7.8 to 1.7.9](#update-from-178-to-179)
|
||||
- [Update from 1.7.x to 1.7.8](#update-from-17x-to-178)
|
||||
- [Update from 1.6.x to 1.7](#update-from-16x-to-17)
|
||||
@@ -109,6 +100,7 @@ That was the hardest part of installation proces. Please follow instructions in
|
||||
Add the following Cron entry to your server. Just update your php path (if it's different) and project path:
|
||||
```
|
||||
* * * * * /usr/local/bin/php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
|
||||
|
||||
```
|
||||
|
||||
## PHP Configuration
|
||||
@@ -136,6 +128,9 @@ These instructions is applicable for all updates. Please follow this step:
|
||||
|
||||
- Just rewrite all project files with new excluded `/.env` file and `/storage` folder. These items must be preserved!
|
||||
|
||||
### Update from 1.7.10 to 1.7.11
|
||||
Before upload new files to your hosting, log in to VueFileManager as Admin. After uploading new files on your webhosting, visit this url `your-domain.com/service/upgrade-database` for upgrading your database.
|
||||
|
||||
### Update from 1.7.8 to 1.7.9
|
||||
After rewrited old files with new files, log in as admin to the app and go to `your-domain.com/service/upgrade-database`. This will upgrade your database on the background.
|
||||
|
||||
@@ -362,6 +357,14 @@ The following support channels are available at your fingertips:
|
||||
- [CodeCanyon support message](https://codecanyon.net/item/vue-file-manager-with-laravel-backend/25815986/support)
|
||||
- [GitHub repository](https://vuefilemanager.com/github-access)
|
||||
|
||||
## Supporting VueFileManager
|
||||
Hi, we are trying make the best experience with VueFileManager. There is a lot things to do, and a lot of features we can make.
|
||||
|
||||
But, it can't be done without you, development is more and more complicated and we have to hire new colleagues to help with it. There is couple way you can support us, and then, we support you with all great new features which can be. Thanks you for participating on this awesome software!
|
||||
|
||||
- [Buy me a Coffe](https://www.buymeacoffee.com/pepe)
|
||||
- [One-time donation via PayPal](https://www.paypal.me/peterpapp)
|
||||
|
||||
## Security Vulnerabilities
|
||||
|
||||
If you discover a security vulnerability within this project, please send an e-mail to [peterpapp@makingcg.com](peterpapp@makingcg.com). All security vulnerabilities will be promptly addressed.
|
||||
|
||||
@@ -4,9 +4,6 @@ namespace App\Console;
|
||||
|
||||
use App\Console\Commands\Deploy;
|
||||
//use App\Console\Commands\SetupDevelopmentEnvironment;
|
||||
use App\Console\Commands\SetupDevEnvironment;
|
||||
use App\Console\Commands\SetupProductionEnvironment;
|
||||
use App\Console\Commands\UpgradeApp;
|
||||
use App\Share;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Console\Scheduling\Schedule;
|
||||
@@ -34,7 +31,7 @@ class Kernel extends ConsoleKernel
|
||||
{
|
||||
$schedule->call(function () {
|
||||
$this->delete_expired_shared_links();
|
||||
})->hourly();
|
||||
})->everyMinute();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -67,6 +67,10 @@ class FileManagerFile extends Model
|
||||
'file_url'
|
||||
];
|
||||
|
||||
protected $casts = [
|
||||
'metadata' => 'array',
|
||||
];
|
||||
|
||||
/**
|
||||
* Set routes with public access
|
||||
*
|
||||
@@ -148,7 +152,9 @@ class FileManagerFile extends Model
|
||||
// Get file from external storage
|
||||
if (is_storage_driver(['s3', 'spaces', 'wasabi', 'backblaze'])) {
|
||||
|
||||
$file_pretty_name = get_pretty_name($this->attributes['basename'], $this->attributes['name'], $this->attributes['mimetype']);
|
||||
$file_pretty_name = is_storage_driver('backblaze')
|
||||
? Str::snake(mb_strtolower($this->attributes['name']))
|
||||
: get_pretty_name($this->attributes['basename'], $this->attributes['name'], $this->attributes['mimetype']);
|
||||
|
||||
$header = [
|
||||
"ResponseAcceptRanges" => "bytes",
|
||||
|
||||
@@ -171,5 +171,25 @@ class UpgradeAppController extends Controller
|
||||
echo 'Operation failed.';
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Upgrade expire_in in shares table
|
||||
*
|
||||
* @since v1.7.11
|
||||
*/
|
||||
if (! Schema::hasColumn('file_manager_files', 'metadata')) {
|
||||
|
||||
$command = Artisan::call('migrate', [
|
||||
'--force' => true
|
||||
]);
|
||||
|
||||
if ($command === 0) {
|
||||
echo 'Operation was successful.';
|
||||
}
|
||||
|
||||
if ($command === 1) {
|
||||
echo 'Operation failed.';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -355,6 +355,25 @@ function format_gigabytes($gigabytes)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Format string to formated megabytes string
|
||||
*
|
||||
* @param $megabytes
|
||||
* @return string
|
||||
*/
|
||||
function format_megabytes($megabytes)
|
||||
{
|
||||
if ($megabytes >= 1000) {
|
||||
return $megabytes / 1000 . 'GB';
|
||||
}
|
||||
|
||||
if ($megabytes >= 1000000) {
|
||||
return $megabytes / 1000000 . 'TB';
|
||||
}
|
||||
|
||||
return $megabytes . 'MB';
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert megabytes to bytes
|
||||
*
|
||||
@@ -528,4 +547,17 @@ function get_pretty_name($basename, $name, $mimetype)
|
||||
}
|
||||
|
||||
return $name . '.' . $mimetype;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Read exif data from jpeg image file
|
||||
*
|
||||
* @param $file
|
||||
* @return array
|
||||
*/
|
||||
function get_image_meta_data($file)
|
||||
{
|
||||
if(get_file_type_from_mimetype($file->getMimeType()) === 'jpeg') {
|
||||
return exif_read_data($file);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http\Requests\FileFunctions;
|
||||
|
||||
use App\Rules\MimetypeBlacklistValidation;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
@@ -26,7 +27,7 @@ class UploadRequest extends FormRequest
|
||||
{
|
||||
return [
|
||||
'parent_id' => 'required|integer',
|
||||
'file' => 'required|file',
|
||||
'file' => ['required','file' , new MimetypeBlacklistValidation]
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ class StoreUpgradeAccountRequest extends FormRequest
|
||||
'plan.data.attributes.capacity' => 'required|digits_between:1,9',
|
||||
'plan.data.attributes.capacity_formatted' => 'required|string',
|
||||
'plan.data.attributes.currency' => 'required|string',
|
||||
'plan.data.attributes.description' => 'required|string',
|
||||
'plan.data.attributes.description' => 'sometimes|string|nullable',
|
||||
'plan.data.attributes.name' => 'required|string',
|
||||
'plan.data.attributes.price' => 'required|string',
|
||||
'plan.data.id' => 'required|string',
|
||||
|
||||
@@ -251,12 +251,26 @@ class Editor
|
||||
$disk_file_name = basename('chunks/' . $file->getClientOriginalName(), '.part');
|
||||
$temp_filename = $file->getClientOriginalName();
|
||||
|
||||
// Generate file
|
||||
File::append(config('filesystems.disks.local.root') . '/chunks/' . $temp_filename, $file->get());
|
||||
// File Path
|
||||
$file_path = config('filesystems.disks.local.root') . '/chunks/' . $temp_filename;\
|
||||
|
||||
// Generate file
|
||||
File::append($file_path, $file->get());
|
||||
|
||||
// Size of file
|
||||
$file_size = File::size($file_path);
|
||||
|
||||
// Size of limit
|
||||
$limit = get_setting('upload_limit');
|
||||
|
||||
// File size handling
|
||||
if( $limit && $file_size > format_bytes($limit)) abort(413);
|
||||
|
||||
// If last then process file
|
||||
if ($request->boolean('is_last')) {
|
||||
|
||||
$metadata = get_image_meta_data($file);
|
||||
|
||||
$disk_local = Storage::disk('local');
|
||||
$unique_id = get_unique_id();
|
||||
|
||||
@@ -292,6 +306,7 @@ class Editor
|
||||
'mimetype' => get_file_type_from_mimetype($file_mimetype),
|
||||
'type' => get_file_type($file_mimetype),
|
||||
'folder_id' => $request->parent_id,
|
||||
'metadata' => $metadata,
|
||||
'name' => $user_file_name,
|
||||
'unique_id' => $unique_id,
|
||||
'basename' => $disk_file_name,
|
||||
|
||||
42
app/Rules/MimetypeBlacklistValidation.php
Normal file
42
app/Rules/MimetypeBlacklistValidation.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\Rules;
|
||||
use Illuminate\Contracts\Validation\Rule;
|
||||
|
||||
class MimetypeBlacklistValidation implements Rule
|
||||
{
|
||||
/**
|
||||
* Create a new rule instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if the validation rule passes.
|
||||
*
|
||||
* @param string $attribute
|
||||
* @param mixed $value
|
||||
* @return bool
|
||||
*/
|
||||
public function passes($attribute, $value)
|
||||
{
|
||||
$mimetype_blacklist = explode(',' ,get_setting('mimetypes_blacklist'));
|
||||
$file_mimetype = explode('/' ,$value->getMimeType());
|
||||
|
||||
return !array_intersect($file_mimetype , $mimetype_blacklist);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation error message.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function message()
|
||||
{
|
||||
abort (415,'Type of this mime type is not allowed.');
|
||||
}
|
||||
}
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
return [
|
||||
|
||||
'version' => '1.7.10',
|
||||
'version' => '1.7.12',
|
||||
|
||||
// Define size of chunk uploaded by MB. E.g. integer 128 means chunk size will be 128MB.
|
||||
'chunk_size' => env('CHUNK_SIZE', '128'),
|
||||
];
|
||||
];
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class AddExifDataToFileManagerFilesTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('file_manager_files', function (Blueprint $table) {
|
||||
$table->longText('metadata')->after('type')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('file_manager_files', function (Blueprint $table) {
|
||||
//
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -24,7 +24,7 @@
|
||||
"lodash": "^4.17.20",
|
||||
"node-sass": "^4.14.1",
|
||||
"vee-validate": "^3.3.9",
|
||||
"vue": "^2.6.10",
|
||||
"vue": "^2.6.11",
|
||||
"vue-feather-icons": "^5.1.0",
|
||||
"vue-i18n": "^8.21.0",
|
||||
"vue-router": "^3.4.3",
|
||||
|
||||
2
public/chunks/admin-account.js
vendored
2
public/chunks/admin-account.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/admin.js
vendored
2
public/chunks/admin.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/app-appearance.js
vendored
2
public/chunks/app-appearance.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/app-billings.js
vendored
2
public/chunks/app-billings.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/app-email.js
vendored
2
public/chunks/app-email.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/app-index.js
vendored
2
public/chunks/app-index.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/app-others.js
vendored
2
public/chunks/app-others.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/app-payments.js
vendored
2
public/chunks/app-payments.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/app-settings.js
vendored
2
public/chunks/app-settings.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/app-setup.js
vendored
2
public/chunks/app-setup.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/billings-detail.js
vendored
2
public/chunks/billings-detail.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/contact-us.js
vendored
2
public/chunks/contact-us.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/create-new-password.js
vendored
2
public/chunks/create-new-password.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/dashboard.js
vendored
2
public/chunks/dashboard.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/database.js
vendored
2
public/chunks/database.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/dynamic-page.js
vendored
2
public/chunks/dynamic-page.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/environment-setup.js
vendored
2
public/chunks/environment-setup.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/files.js
vendored
2
public/chunks/files.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
public/chunks/forgotten-password.js
vendored
2
public/chunks/forgotten-password.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/installation-disclaimer.js
vendored
2
public/chunks/installation-disclaimer.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/invoices.js
vendored
2
public/chunks/invoices.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/landing-page.js
vendored
2
public/chunks/landing-page.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/not-found-shared.js
vendored
2
public/chunks/not-found-shared.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/page-edit.js
vendored
2
public/chunks/page-edit.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/pages.js
vendored
2
public/chunks/pages.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/plan-create.js
vendored
2
public/chunks/plan-create.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/plan-delete.js
vendored
2
public/chunks/plan-delete.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/plan-settings.js
vendored
2
public/chunks/plan-settings.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/plan-subscribers.js
vendored
2
public/chunks/plan-subscribers.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/plan.js
vendored
2
public/chunks/plan.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/plans.js
vendored
2
public/chunks/plans.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/profile.js
vendored
2
public/chunks/profile.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/purchase-code.js
vendored
2
public/chunks/purchase-code.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
public/chunks/settings-invoices.js
vendored
2
public/chunks/settings-invoices.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/settings-password.js
vendored
2
public/chunks/settings-password.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/settings-payment-methods.js
vendored
2
public/chunks/settings-payment-methods.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/settings-storage.js
vendored
2
public/chunks/settings-storage.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/settings-subscription.js
vendored
2
public/chunks/settings-subscription.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/settings.js
vendored
2
public/chunks/settings.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/shared-files.js
vendored
2
public/chunks/shared-files.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/shared-page.js
vendored
2
public/chunks/shared-page.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/sign-in.js
vendored
2
public/chunks/sign-in.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/sign-up.js
vendored
2
public/chunks/sign-up.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/stripe-credentials.js
vendored
2
public/chunks/stripe-credentials.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/subscription-plans.js
vendored
2
public/chunks/subscription-plans.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/subscription-service.js
vendored
2
public/chunks/subscription-service.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/trash.js
vendored
2
public/chunks/trash.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/upgrade-billing.js
vendored
2
public/chunks/upgrade-billing.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/upgrade-plan.js
vendored
2
public/chunks/upgrade-plan.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/upgrade.js
vendored
2
public/chunks/upgrade.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/user-create.js
vendored
2
public/chunks/user-create.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/user-delete.js
vendored
2
public/chunks/user-delete.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/user-detail.js
vendored
2
public/chunks/user-detail.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/user-invoices.js
vendored
2
public/chunks/user-invoices.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/user-password.js
vendored
2
public/chunks/user-password.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/user-storage.js
vendored
2
public/chunks/user-storage.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/user-subscription.js
vendored
2
public/chunks/user-subscription.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/user.js
vendored
2
public/chunks/user.js
vendored
File diff suppressed because one or more lines are too long
2
public/chunks/users.js
vendored
2
public/chunks/users.js
vendored
File diff suppressed because one or more lines are too long
2
public/js/main.js
vendored
2
public/js/main.js
vendored
File diff suppressed because one or more lines are too long
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
/*!
|
||||
* vue-i18n v8.18.2
|
||||
* vue-i18n v8.21.0
|
||||
* (c) 2020 kazuya kawaguchi
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
@@ -17,7 +17,7 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* vee-validate v3.3.7
|
||||
* vee-validate v3.3.9
|
||||
* (c) 2020 Abdelrahman Awad
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
@@ -1,66 +1,66 @@
|
||||
{
|
||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js?id=adad12e7b42316bdd659",
|
||||
"/js/main.js": "/js/main.js?id=5399021dab4b9f990f4d",
|
||||
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js?id=332a46c505c3e4f8a739",
|
||||
"/js/main.js": "/js/main.js?id=768d27992eafd9795e69",
|
||||
"/css/app.css": "/css/app.css?id=dbf49843b327d3936c06",
|
||||
"/chunks/admin.js": "/chunks/admin.js?id=5bd95ece632ca142f035",
|
||||
"/chunks/admin-account.js": "/chunks/admin-account.js?id=b181a9ba45f475b9e004",
|
||||
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=f77c9be4514e7ab0ad0e",
|
||||
"/chunks/app-billings.js": "/chunks/app-billings.js?id=24259b32506484062990",
|
||||
"/chunks/app-email.js": "/chunks/app-email.js?id=471301be8d4dbb371fa0",
|
||||
"/chunks/app-index.js": "/chunks/app-index.js?id=ded9a59aa4d4d8040637",
|
||||
"/chunks/app-others.js": "/chunks/app-others.js?id=d1158ce36ac84d7fb317",
|
||||
"/chunks/app-payments.js": "/chunks/app-payments.js?id=c4a896c3218713699b17",
|
||||
"/chunks/app-settings.js": "/chunks/app-settings.js?id=8499d3cb5a2c547d3d69",
|
||||
"/chunks/app-setup.js": "/chunks/app-setup.js?id=f8769c14859175aad49b",
|
||||
"/chunks/billings-detail.js": "/chunks/billings-detail.js?id=410da17c566b388cb0a5",
|
||||
"/chunks/contact-us.js": "/chunks/contact-us.js?id=153e8ac7ba24a14f2e1a",
|
||||
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=9e9d35c199787d991445",
|
||||
"/chunks/dashboard.js": "/chunks/dashboard.js?id=4f379c21c8f1df14cda7",
|
||||
"/chunks/database.js": "/chunks/database.js?id=99736b26537c8bb61a33",
|
||||
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=2e3af103d13536c50757",
|
||||
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=48fa8bb643132a82bdaa",
|
||||
"/chunks/files.js": "/chunks/files.js?id=0a08eb40be8f2c511ded",
|
||||
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=a84f7a6d4e4e05af0701",
|
||||
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=54cf8dbd4d75fd0b2add",
|
||||
"/chunks/invoices.js": "/chunks/invoices.js?id=c20b841c75005fdacde6",
|
||||
"/chunks/landing-page.js": "/chunks/landing-page.js?id=b69d1af44673ddfb69d3",
|
||||
"/chunks/not-found-shared.js": "/chunks/not-found-shared.js?id=286d18bed681c67e5330",
|
||||
"/chunks/page-edit.js": "/chunks/page-edit.js?id=2ff6bfeb6d9c43014d69",
|
||||
"/chunks/pages.js": "/chunks/pages.js?id=49a51fc783d155aa8132",
|
||||
"/chunks/plan.js": "/chunks/plan.js?id=bbea8c9e9f807d9cedc5",
|
||||
"/chunks/plan-create.js": "/chunks/plan-create.js?id=0149731ddb88c33b066d",
|
||||
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=e63e243dccb487fa18f5",
|
||||
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=83517dd417b8641c60c8",
|
||||
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=26e1aabafdc06d069fa3",
|
||||
"/chunks/plans.js": "/chunks/plans.js?id=0b1d2058ba59c955947b",
|
||||
"/chunks/profile.js": "/chunks/profile.js?id=9e3ff146e95d8a719add",
|
||||
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=696427718c821f482c94",
|
||||
"/chunks/settings.js": "/chunks/settings.js?id=51495831f7bbad060a00",
|
||||
"/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=007277c68fce4a7ce5e9",
|
||||
"/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=82cbe975767641ad178e",
|
||||
"/chunks/settings-password.js": "/chunks/settings-password.js?id=6e9b879329675433551d",
|
||||
"/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=9f6fdc546cfa5f98796e",
|
||||
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=9716c15688051b9c9b20",
|
||||
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=e4176c53674c2e6d440f",
|
||||
"/chunks/admin.js": "/chunks/admin.js?id=bd7dce5ddfbb8ebeb7a8",
|
||||
"/chunks/admin-account.js": "/chunks/admin-account.js?id=ed4d3b5d0e9da3b70862",
|
||||
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=046065efc4a67ad8587f",
|
||||
"/chunks/app-billings.js": "/chunks/app-billings.js?id=0d1e25be91f67ffab63f",
|
||||
"/chunks/app-email.js": "/chunks/app-email.js?id=b7a3bca09764ae780d6c",
|
||||
"/chunks/app-index.js": "/chunks/app-index.js?id=e1544ff1341ca6416bab",
|
||||
"/chunks/app-others.js": "/chunks/app-others.js?id=1396078f7c5e8fc929e4",
|
||||
"/chunks/app-payments.js": "/chunks/app-payments.js?id=a1a84878ec6f645946f5",
|
||||
"/chunks/app-settings.js": "/chunks/app-settings.js?id=424c67c7d7f6b9109a99",
|
||||
"/chunks/app-setup.js": "/chunks/app-setup.js?id=3ac1935129bff281257d",
|
||||
"/chunks/billings-detail.js": "/chunks/billings-detail.js?id=e6434e402adec1cf8ba1",
|
||||
"/chunks/contact-us.js": "/chunks/contact-us.js?id=fa10e7582a311ab12c1f",
|
||||
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=b33f6ac5e174f51a443b",
|
||||
"/chunks/dashboard.js": "/chunks/dashboard.js?id=a61fe2622dca51ca1396",
|
||||
"/chunks/database.js": "/chunks/database.js?id=ac688c888342c5cf4c53",
|
||||
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=08a0c2de8f93e0222600",
|
||||
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=fb825f5ace1deeac3509",
|
||||
"/chunks/files.js": "/chunks/files.js?id=bc21124b8956b99ab01f",
|
||||
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=9a8acda895c0c40ea30b",
|
||||
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=59450c310fb5af95b9a1",
|
||||
"/chunks/invoices.js": "/chunks/invoices.js?id=6dd9f68419f741465844",
|
||||
"/chunks/landing-page.js": "/chunks/landing-page.js?id=4dbec1937d1f5b71d17d",
|
||||
"/chunks/not-found-shared.js": "/chunks/not-found-shared.js?id=af1fa088daae3fe7a3a8",
|
||||
"/chunks/page-edit.js": "/chunks/page-edit.js?id=30e6227554f2f26e0419",
|
||||
"/chunks/pages.js": "/chunks/pages.js?id=8dc613c3a82637e99dc2",
|
||||
"/chunks/plan.js": "/chunks/plan.js?id=6de54ce130dd2766f4c6",
|
||||
"/chunks/plan-create.js": "/chunks/plan-create.js?id=efaeb3ebdf30ba62c613",
|
||||
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=93b6dfdf61caa4335a7c",
|
||||
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=d1457670c217e13e97f9",
|
||||
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=fba30dc476ddcd0c4b22",
|
||||
"/chunks/plans.js": "/chunks/plans.js?id=f03834c110c677b6db0d",
|
||||
"/chunks/profile.js": "/chunks/profile.js?id=23e34e6d7d73abcf317d",
|
||||
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=f74384a387ce82e7751f",
|
||||
"/chunks/settings.js": "/chunks/settings.js?id=a3b1c88c6b6af9b6308c",
|
||||
"/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=543b594932039ef2b061",
|
||||
"/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=b26452dbf79dcc6e2787",
|
||||
"/chunks/settings-password.js": "/chunks/settings-password.js?id=919f57ae52204ea5ee54",
|
||||
"/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=4cb65919f0627c8f9db1",
|
||||
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=1a45b3cee17b17a7598d",
|
||||
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=34e34dcb29cb84ab53bf",
|
||||
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=47090233afc7b0cdf855",
|
||||
"/chunks/shared-files.js": "/chunks/shared-files.js?id=bc0b14705784b1ff6c82",
|
||||
"/chunks/shared-page.js": "/chunks/shared-page.js?id=6c9bf5f496f4b8917fef",
|
||||
"/chunks/sign-in.js": "/chunks/sign-in.js?id=0c9fe096135be58283b6",
|
||||
"/chunks/sign-up.js": "/chunks/sign-up.js?id=eaa8bc2819a9cc19dbc7",
|
||||
"/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=d384dddfe76d89164df3",
|
||||
"/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=d4434431a9c8fa3ffc2b",
|
||||
"/chunks/subscription-service.js": "/chunks/subscription-service.js?id=175f558c3e09887846a5",
|
||||
"/chunks/trash.js": "/chunks/trash.js?id=e00ce8bde9ea638f5049",
|
||||
"/chunks/upgrade.js": "/chunks/upgrade.js?id=03eccfa25c668325efd0",
|
||||
"/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js?id=4921e1ce22bfdab9f014",
|
||||
"/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js?id=7b02fafcca0029762a66",
|
||||
"/chunks/user.js": "/chunks/user.js?id=d842e0d6859c94caa23d",
|
||||
"/chunks/user-create.js": "/chunks/user-create.js?id=4735bda3b876200f0511",
|
||||
"/chunks/user-delete.js": "/chunks/user-delete.js?id=cea21a2d091f1f02e179",
|
||||
"/chunks/user-detail.js": "/chunks/user-detail.js?id=b3f5d20c34a5b0bf9ff6",
|
||||
"/chunks/user-invoices.js": "/chunks/user-invoices.js?id=b73fa5a127374d1de1de",
|
||||
"/chunks/user-password.js": "/chunks/user-password.js?id=466b113e32397b2f2f33",
|
||||
"/chunks/user-storage.js": "/chunks/user-storage.js?id=7e19cc06447c776ce504",
|
||||
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=45c971c8c4912d44bc42",
|
||||
"/chunks/users.js": "/chunks/users.js?id=362b167df913626d3d92"
|
||||
"/chunks/shared-files.js": "/chunks/shared-files.js?id=bb6943a620f520324003",
|
||||
"/chunks/shared-page.js": "/chunks/shared-page.js?id=2414f43c0129d239b907",
|
||||
"/chunks/sign-in.js": "/chunks/sign-in.js?id=a0e2b7e58484e778848b",
|
||||
"/chunks/sign-up.js": "/chunks/sign-up.js?id=774e43bc25ae4e3893a2",
|
||||
"/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=e3639ebc187c3e568a20",
|
||||
"/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=24f8053a0d89684699ad",
|
||||
"/chunks/subscription-service.js": "/chunks/subscription-service.js?id=e0c770e988a664a18f76",
|
||||
"/chunks/trash.js": "/chunks/trash.js?id=1ee3dde0c9d1a700c7f2",
|
||||
"/chunks/upgrade.js": "/chunks/upgrade.js?id=77386550d2ac446e4ac1",
|
||||
"/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js?id=8bc53a77111144319a0d",
|
||||
"/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js?id=06718f96dbec2820c6fc",
|
||||
"/chunks/user.js": "/chunks/user.js?id=7af75cb8c2c899fec9d5",
|
||||
"/chunks/user-create.js": "/chunks/user-create.js?id=8483ffcbd12c68856186",
|
||||
"/chunks/user-delete.js": "/chunks/user-delete.js?id=406c10bd53f7d33d85a7",
|
||||
"/chunks/user-detail.js": "/chunks/user-detail.js?id=32f97c1bd9d9137ba5f0",
|
||||
"/chunks/user-invoices.js": "/chunks/user-invoices.js?id=cfef95004b9346be2c3e",
|
||||
"/chunks/user-password.js": "/chunks/user-password.js?id=227291c743ecc58681a5",
|
||||
"/chunks/user-storage.js": "/chunks/user-storage.js?id=2592e0d43a710c5b197f",
|
||||
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=93f76f47f1f8c8c9425d",
|
||||
"/chunks/users.js": "/chunks/users.js?id=960ae7b595d7b5d9394b"
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -56,12 +56,17 @@
|
||||
<CopyInput class="copy-sharelink" size="small" :value="fileInfoDetail.shared.link"/>
|
||||
</div>
|
||||
</ListInfoItem>
|
||||
|
||||
<ListInfoItem v-if="canShowMetaData" :title="$t('file_detail_meta.meta_data')">
|
||||
<ImageMetaData />
|
||||
</ListInfoItem>
|
||||
</ListInfo>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {Edit2Icon, LockIcon, UnlockIcon, ImageIcon, VideoIcon, FolderIcon, FileIcon} from 'vue-feather-icons'
|
||||
import ImageMetaData from '@/components/FilesView/ImageMetaData'
|
||||
import FilePreview from '@/components/FilesView/FilePreview'
|
||||
import CopyInput from '@/components/Others/Forms/CopyInput'
|
||||
import ListInfoItem from '@/components/Others/ListInfoItem'
|
||||
@@ -72,6 +77,7 @@
|
||||
export default {
|
||||
name: 'FileInfoPanel',
|
||||
components: {
|
||||
ImageMetaData,
|
||||
ListInfoItem,
|
||||
ListInfo,
|
||||
FilePreview,
|
||||
@@ -88,26 +94,11 @@
|
||||
...mapGetters(['fileInfoDetail', 'permissionOptions']),
|
||||
fileType() {
|
||||
return this.fileInfoDetail.type
|
||||
/* switch () {
|
||||
case 'folder':
|
||||
return 'folder'
|
||||
break;
|
||||
case 'file':
|
||||
return 'file'
|
||||
break;
|
||||
case 'image':
|
||||
return 'file-image'
|
||||
break;
|
||||
case 'video':
|
||||
return 'file-video'
|
||||
break;
|
||||
case 'file':
|
||||
return 'file-audio'
|
||||
break;
|
||||
}*/
|
||||
},
|
||||
canShowMetaData() {
|
||||
return this.fileInfoDetail.metadata && this.fileInfoDetail.metadata.ExifImageWidth
|
||||
},
|
||||
sharedInfo() {
|
||||
|
||||
// Get permission title
|
||||
let title = this.permissionOptions.find(option => {
|
||||
return option.value === this.fileInfoDetail.shared.permission
|
||||
|
||||
@@ -22,15 +22,15 @@
|
||||
<div class="icon-item">
|
||||
|
||||
<!--If is file or image, then link item-->
|
||||
<span v-if="isFile" class="file-icon-text">
|
||||
<span v-if="isFile || (isImage && !data.thumbnail)" class="file-icon-text">
|
||||
{{ data.mimetype }}
|
||||
</span>
|
||||
|
||||
<!--Folder thumbnail-->
|
||||
<FontAwesomeIcon v-if="isFile" class="file-icon" icon="file"/>
|
||||
<FontAwesomeIcon v-if="isFile || (isImage && !data.thumbnail)" class="file-icon" icon="file"/>
|
||||
|
||||
<!--Image thumbnail-->
|
||||
<img v-if="isImage" class="image" :src="data.thumbnail" :alt="data.name"/>
|
||||
<img loading="lazy" v-if="isImage && data.thumbnail" class="image" :src="data.thumbnail" :alt="data.name"/>
|
||||
|
||||
<!--Else show only folder icon-->
|
||||
<FontAwesomeIcon v-if="isFolder" :class="{'is-deleted': isDeleted}" class="folder-icon" icon="folder"/>
|
||||
@@ -198,21 +198,15 @@
|
||||
goToItem() {
|
||||
if (this.isImage || this.isVideo || this.isAudio) {
|
||||
events.$emit('fileFullPreview:show')
|
||||
}
|
||||
|
||||
if (this.isFile && !this.isPdf && !this.isVideo && !this.isAudio) {
|
||||
this.$downloadFile(
|
||||
this.data.file_url,
|
||||
this.data.name + '.' + this.data.mimetype
|
||||
)
|
||||
}
|
||||
|
||||
if (this.isFolder) {
|
||||
} else if (this.isFile || !this.isFolder && !this.isPdf && !this.isVideo && !this.isAudio && !this.isImage) {
|
||||
this.$downloadFile(this.data.file_url, this.data.name + '.' + this.data.mimetype)
|
||||
|
||||
} else if (this.isFolder) {
|
||||
if (this.$isThisLocation('public')) {
|
||||
this.$store.dispatch('browseShared', [{folder: this.data, back: false, init: false}])
|
||||
this.$store.dispatch('browseShared', [{ folder: this.data, back: false, init: false }])
|
||||
} else {
|
||||
this.$store.dispatch('getFolder', [{folder: this.data, back: false, init: false}])
|
||||
this.$store.dispatch('getFolder', [{ folder: this.data, back: false, init: false }])
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -16,15 +16,15 @@
|
||||
<!--Thumbnail for item-->
|
||||
<div class="icon-item">
|
||||
<!--If is file or image, then link item-->
|
||||
<span v-if="isFile" class="file-icon-text">
|
||||
<span v-if="isFile || (isImage && !data.thumbnail)" class="file-icon-text">
|
||||
{{ data.mimetype | limitCharacters }}
|
||||
</span>
|
||||
|
||||
<!--Folder thumbnail-->
|
||||
<FontAwesomeIcon v-if="isFile" class="file-icon" icon="file" />
|
||||
<FontAwesomeIcon v-if="isFile || (isImage && !data.thumbnail)" class="file-icon" icon="file" />
|
||||
|
||||
<!--Image thumbnail-->
|
||||
<img v-if="isImage" class="image" :src="data.thumbnail" :alt="data.name" />
|
||||
<img loading="lazy" v-if="isImage && data.thumbnail" class="image" :src="data.thumbnail" :alt="data.name" />
|
||||
|
||||
<!--Else show only folder icon-->
|
||||
<FontAwesomeIcon v-if="isFolder" :class="{ 'is-deleted': isDeleted }" class="folder-icon" icon="folder" />
|
||||
@@ -181,13 +181,11 @@ export default {
|
||||
goToItem() {
|
||||
if (this.isImage || this.isVideo || this.isAudio) {
|
||||
events.$emit('fileFullPreview:show')
|
||||
}
|
||||
|
||||
if (this.isFile && !this.isPdf && !this.isVideo && !this.isAudio) {
|
||||
} else if (this.isFile || !this.isFolder && !this.isPdf && !this.isVideo && !this.isAudio && !this.isImage) {
|
||||
this.$downloadFile(this.data.file_url, this.data.name + '.' + this.data.mimetype)
|
||||
}
|
||||
|
||||
if (this.isFolder) {
|
||||
} else if (this.isFolder) {
|
||||
if (this.$isThisLocation('public')) {
|
||||
this.$store.dispatch('browseShared', [{ folder: this.data, back: false, init: false }])
|
||||
} else {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div v-if="canBePreview" class="preview">
|
||||
<img v-if="fileInfoDetail.type == 'image'" :src="fileInfoDetail.thumbnail" :alt="fileInfoDetail.name" />
|
||||
<img v-if="fileInfoDetail.type == 'image' && fileInfoDetail.thumbnail" :src="fileInfoDetail.thumbnail" :alt="fileInfoDetail.name" />
|
||||
<audio v-else-if="fileInfoDetail.type == 'audio'" :src="fileInfoDetail.file_url" controlsList="nodownload" controls></audio>
|
||||
<video v-else-if="fileInfoDetail.type == 'video'" controlsList="nodownload" disablePictureInPicture playsinline controls>
|
||||
<source :src="fileInfoDetail.file_url" type="video/mp4">
|
||||
|
||||
141
resources/js/components/FilesView/ImageMetaData.vue
Normal file
141
resources/js/components/FilesView/ImageMetaData.vue
Normal file
@@ -0,0 +1,141 @@
|
||||
<template>
|
||||
<div>
|
||||
<ul class="meta-data-list">
|
||||
<li v-if="fileInfoDetail.metadata.DateTimeOriginal">
|
||||
<span>{{ $t('file_detail_meta.time_data') }}</span>
|
||||
<b>{{ fileInfoDetail.metadata.DateTimeOriginal }}</b>
|
||||
</li>
|
||||
|
||||
<li v-if="fileInfoDetail.metadata.Artist">
|
||||
<span>{{ $t('file_detail_meta.author') }}</span>
|
||||
<b>{{ fileInfoDetail.metadata.Artist }}</b>
|
||||
</li>
|
||||
|
||||
<li v-if="fileInfoDetail.metadata.ExifImageWidth && fileInfoDetail.metadata.ExifImageLength">
|
||||
<span>{{ $t('file_detail_meta.dimension') }}</span>
|
||||
<b>{{ fileInfoDetail.metadata.ExifImageWidth }}x{{ fileInfoDetail.metadata.ExifImageLength }}</b>
|
||||
</li>
|
||||
|
||||
<li v-if="fileInfoDetail.metadata.XResolution && fileInfoDetail.metadata.YResolution">
|
||||
<span>{{ $t('file_detail_meta.resolution') }}</span>
|
||||
<b>{{ fileInfoDetail.metadata.XResolution }}x{{ fileInfoDetail.metadata.YResolution }}</b>
|
||||
</li>
|
||||
|
||||
<li v-if="fileInfoDetail.metadata.ColorSpace">
|
||||
<span> {{ $t('file_detail_meta.color_space') }}</span>
|
||||
<b>{{ fileInfoDetail.metadata.ColorSpace}}</b>
|
||||
</li>
|
||||
|
||||
<!--TODO: Colour profile:sRGB IEC61966-2.1-->
|
||||
|
||||
<li v-if="fileInfoDetail.metadata.Make">
|
||||
<span>{{ $t('file_detail_meta.make') }}</span>
|
||||
<b>{{ fileInfoDetail.metadata.Make }}</b>
|
||||
</li>
|
||||
|
||||
<li v-if="fileInfoDetail.metadata.Model">
|
||||
<span>{{ $t('file_detail_meta.model') }}</span>
|
||||
<b>{{ fileInfoDetail.metadata.Model }}</b>
|
||||
</li>
|
||||
|
||||
<li v-if="fileInfoDetail.metadata.ApertureValue">
|
||||
<span>{{ $t('file_detail_meta.aperture_value') }}</span>
|
||||
<b v-html="parseInt(fileInfoDetail.metadata.ApertureValue) / 100"></b>
|
||||
</li>
|
||||
|
||||
<li v-if="fileInfoDetail.metadata.ExposureTime">
|
||||
<span>{{ $t('file_detail_meta.exposure') }}</span>
|
||||
<b>{{ fileInfoDetail.metadata.ExposureTime }}</b>
|
||||
</li>
|
||||
|
||||
<li v-if="fileInfoDetail.metadata.FocalLength">
|
||||
<span>{{ $t('file_detail_meta.focal') }}</span>
|
||||
<b>{{ fileInfoDetail.metadata.FocalLength }}</b>
|
||||
</li>
|
||||
|
||||
<li v-if="fileInfoDetail.metadata.ISOSpeedRatings">
|
||||
<span>{{ $t('file_detail_meta.iso') }}</span>
|
||||
<b>{{ fileInfoDetail.metadata.ISOSpeedRatings }}</b>
|
||||
</li>
|
||||
|
||||
<li v-if="fileInfoDetail.metadata.COMPUTED.ApertureFNumber">
|
||||
<span>{{ $t('file_detail_meta.aperature') }}</span>
|
||||
<b>{{ fileInfoDetail.metadata.COMPUTED.ApertureFNumber }}</b>
|
||||
</li>
|
||||
|
||||
<li v-if="fileInfoDetail.metadata.COMPUTED.CCDWidth">
|
||||
<span>{{ $t('file_detail_meta.camera_lens') }}</span>
|
||||
<b>{{ fileInfoDetail.metadata.COMPUTED.CCDWidth }}</b>
|
||||
</li>
|
||||
|
||||
<li v-if="fileInfoDetail.metadata.GPSLongitude">
|
||||
<span>{{ $t('file_detail_meta.longitude') }}</span>
|
||||
<b>{{ formatGps(fileInfoDetail.metadata.GPSLongitude,fileInfoDetail.metadata.GPSLongitudeRef) }}</b>
|
||||
</li>
|
||||
|
||||
<li v-if="fileInfoDetail.metadata.GPSLatitude">
|
||||
<span>{{ $t('file_detail_meta.latitude') }}</span>
|
||||
<b>{{ formatGps(fileInfoDetail.metadata.GPSLatitude, fileInfoDetail.metadata.GPSLatitudeRef) }}</b>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex'
|
||||
import {split} from 'lodash'
|
||||
|
||||
export default {
|
||||
name: 'ImageMetaData',
|
||||
computed: {
|
||||
...mapGetters(['fileInfoDetail']),
|
||||
},
|
||||
methods: {
|
||||
formatGps(location, ref) {
|
||||
let data = []
|
||||
location.forEach(location => {
|
||||
data.push(split(location , '/' , 2)[0])
|
||||
})
|
||||
return `${data[0]}° ${data[1]}' ${data[2].substr(0,4) / 100}" ${ref} `
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '@assets/vue-file-manager/_variables';
|
||||
@import '@assets/vue-file-manager/_mixins';
|
||||
|
||||
.meta-data-list {
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
|
||||
li {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 9px 0;
|
||||
border-bottom: 1px solid $light_mode_border;
|
||||
|
||||
b, span {
|
||||
@include font-size(14);
|
||||
color: $text;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
|
||||
.meta-data-list {
|
||||
li {
|
||||
border-color: $dark_mode_border_color;
|
||||
|
||||
b, span {
|
||||
color: $dark_mode_text_primary !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -34,4 +34,10 @@
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 320px) {
|
||||
.actions {
|
||||
position: unset;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -35,6 +35,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 320px) {
|
||||
.popup-content {
|
||||
position: unset;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes popup-in {
|
||||
0% {
|
||||
opacity: 0;
|
||||
|
||||
@@ -134,6 +134,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 320px){
|
||||
.popup-wrapper {
|
||||
overflow-y: auto;
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
.popup-wrapper {
|
||||
background: $dark_mode_background;
|
||||
|
||||
51
resources/js/helpers.js
vendored
51
resources/js/helpers.js
vendored
@@ -1,3 +1,4 @@
|
||||
import i18n from '@/i18n/index'
|
||||
import store from './store/index'
|
||||
import {debounce, includes} from "lodash";
|
||||
import {events} from './bus'
|
||||
@@ -8,8 +9,10 @@ const Helpers = {
|
||||
install(Vue) {
|
||||
|
||||
Vue.prototype.$updateText = debounce(function (route, name, value) {
|
||||
|
||||
let enableEmptyInput = ['mimetypes_blacklist' , 'google_analytics' , 'upload_limit']
|
||||
|
||||
if (value === '') return
|
||||
if (value === '' && !enableEmptyInput.includes(name)) return
|
||||
|
||||
axios.post(this.$store.getters.api + route, {name, value, _method: 'patch'})
|
||||
.catch(error => {
|
||||
@@ -145,6 +148,10 @@ const Helpers = {
|
||||
if (error.response.status === 500)
|
||||
isNotGeneralError = false
|
||||
|
||||
//Break if mimetype of file is in blacklist or file size exceed upload limit
|
||||
if(error.response.status === 415 || 413)
|
||||
isNotGeneralError = false
|
||||
|
||||
// Show Error
|
||||
if (attempts === 3)
|
||||
this.$isSomethingWrong()
|
||||
@@ -170,6 +177,8 @@ const Helpers = {
|
||||
|
||||
if (files.length == 0) return
|
||||
|
||||
if (!this.$checkFileMimetype(files) || !this.$checkUploadLimit(files)) return
|
||||
|
||||
this.$handleUploading(files, undefined)
|
||||
}
|
||||
|
||||
@@ -273,6 +282,46 @@ const Helpers = {
|
||||
message: this.$t('popup_error.message'),
|
||||
})
|
||||
}
|
||||
Vue.prototype.$checkFileMimetype = function(files) {
|
||||
let validated = true
|
||||
let mimetypesBlacklist = store.getters.config.mimetypesBlacklist
|
||||
|
||||
for (let i = 0 ; i<files.length; i++ ) {
|
||||
let fileType = files[i].type.split('/')
|
||||
|
||||
if(!fileType[0]) {
|
||||
fileType[1] = _.last(files[i].name.split('.'))
|
||||
}
|
||||
|
||||
if(mimetypesBlacklist.includes(fileType[1])) {
|
||||
validated = false
|
||||
|
||||
events.$emit('alert:open', {
|
||||
emoji: '😬😬😬',
|
||||
title: i18n.t('popup_mimetypes_blacklist.title'),
|
||||
message: i18n.t('popup_mimetypes_blacklist.message', {mimetype: fileType[1]}),
|
||||
})
|
||||
}
|
||||
}
|
||||
return validated
|
||||
}
|
||||
Vue.prototype.$checkUploadLimit = function (files) {
|
||||
let uploadLimit = store.getters.config.uploadLimit
|
||||
let validate = true
|
||||
|
||||
for (let i = 0 ; i<files.length; i++ ) {
|
||||
if(uploadLimit != 0 && files[i].size > uploadLimit) {
|
||||
validate = false
|
||||
events.$emit('alert:open', {
|
||||
emoji: '😟😟😟',
|
||||
title: i18n.t('popup_upload_limit.title'),
|
||||
message: i18n.t('popup_upload_limit.message', {uploadLimit: store.getters.config.uploadLimitFormatted}),
|
||||
})
|
||||
break
|
||||
}
|
||||
}
|
||||
return validate
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -208,6 +208,12 @@
|
||||
"username_plac": "输入您的邮件用户名"
|
||||
},
|
||||
"others": {
|
||||
"upload_limit": "Upload Limit",
|
||||
"upload_limit_plac": "Type your upload limit in MB",
|
||||
"upload_limit_help": "If you want to set max file size limit on single upload, add size of your limit in MB. E.g. 100 means 100 MB and 2 000 means 2 000 MB limit.",
|
||||
"mimetypes_blacklist": "Mimetypes Blacklist",
|
||||
"mimetypes_blacklist_plac":"Add mimetypes to Blacklist" ,
|
||||
"mimetypes_blacklist_help" :"If you want to prevent upload some type of files, just add them to blacklist like this: x-php,mp3,jpeg <br/> Use a comma between each mimetype. Don't use a dot before mimetypes." ,
|
||||
"section_cache": "Application Cache",
|
||||
"cache_disclaimer": "Did you change anything in your .env file or change your stripe credentials? Then clear your cache.",
|
||||
"cache_clear": "Clear Cache",
|
||||
@@ -295,6 +301,24 @@
|
||||
"size": "大小",
|
||||
"where": "地址"
|
||||
},
|
||||
"file_detail_meta": {
|
||||
"dimension": "Dimensions",
|
||||
"resolution": "Resolution",
|
||||
"color_space": "Color Space",
|
||||
"aperture_value": "Aperture Value",
|
||||
"meta_data": "Metadata",
|
||||
"author": "Author",
|
||||
"time_data": "Content Created",
|
||||
"make": "Camera",
|
||||
"model": "Model",
|
||||
"camera_lens": "Camera Lens",
|
||||
"aperature": "F Number",
|
||||
"iso": "ISO",
|
||||
"focal": "Focal Length",
|
||||
"exposure": "Exposure Time",
|
||||
"longitude": "Longitude",
|
||||
"latitude": "Latitude"
|
||||
},
|
||||
"folder": {
|
||||
"empty": "空的",
|
||||
"item_counts": "{count} 个文件 | {count} 个文件"
|
||||
@@ -473,6 +497,14 @@
|
||||
},
|
||||
"title": "选择付款方式"
|
||||
},
|
||||
"popup_upload_limit": {
|
||||
"title": "You exceed upload limit on single file",
|
||||
"message": "Size of your uploaded file exceed the upload limit ({uploadLimit})."
|
||||
},
|
||||
"popup_mimetypes_blacklist": {
|
||||
"title": "You are trying to upload unsupported file type",
|
||||
"message": "File of this type ({mimetype}) is not allowed to upload."
|
||||
},
|
||||
"popup_create_folder": {
|
||||
"folder_default_name": "新文件夹",
|
||||
"title": "请填入新文件夹名称"
|
||||
|
||||
@@ -210,6 +210,12 @@
|
||||
"username_plac": "Type your mail username"
|
||||
},
|
||||
"others": {
|
||||
"upload_limit": "Upload Limit",
|
||||
"upload_limit_plac": "Type your upload limit in MB",
|
||||
"upload_limit_help": "If you want to set max file size limit on single upload, add size of your limit in MB. E.g. 100 means 100 MB and 2 000 means 2 000 MB limit.",
|
||||
"mimetypes_blacklist": "Mimetypes Blacklist",
|
||||
"mimetypes_blacklist_plac":"Add mimetypes to Blacklist" ,
|
||||
"mimetypes_blacklist_help" :"If you want to prevent upload some type of files, just add them to blacklist like this: x-php,mp3,jpeg <br/> Use a comma between each mimetype. Don't use a dot before mimetypes." ,
|
||||
"section_cache": "Application Cache",
|
||||
"cache_disclaimer": "Did you change anything in your .env file or change your Stripe credentials? Then clear your cache.",
|
||||
"cache_clear": "Clear Cache",
|
||||
@@ -297,6 +303,24 @@
|
||||
"size": "Size",
|
||||
"where": "Where"
|
||||
},
|
||||
"file_detail_meta": {
|
||||
"dimension": "Dimensions",
|
||||
"resolution": "Resolution",
|
||||
"color_space": "Color Space",
|
||||
"aperture_value": "Aperture Value",
|
||||
"meta_data": "Metadata",
|
||||
"author": "Author",
|
||||
"time_data": "Content Created",
|
||||
"make": "Camera",
|
||||
"model": "Model",
|
||||
"camera_lens": "Camera Lens",
|
||||
"aperature": "F Number",
|
||||
"iso": "ISO",
|
||||
"focal": "Focal Length",
|
||||
"exposure": "Exposure Time",
|
||||
"longitude": "Longitude",
|
||||
"latitude": "Latitude"
|
||||
},
|
||||
"folder": {
|
||||
"empty": "Empty",
|
||||
"item_counts": "{count} Item | {count} Items"
|
||||
@@ -475,6 +499,14 @@
|
||||
},
|
||||
"title": "Choose Payment Method"
|
||||
},
|
||||
"popup_upload_limit": {
|
||||
"title": "You exceed upload limit on single file",
|
||||
"message": "Size of your uploaded file exceed the upload limit ({uploadLimit})."
|
||||
},
|
||||
"popup_mimetypes_blacklist": {
|
||||
"title": "You are trying to upload unsupported file type",
|
||||
"message": "File of this type ({mimetype}) is not allowed to upload."
|
||||
},
|
||||
"popup_create_folder": {
|
||||
"folder_default_name": "New Folder",
|
||||
"title": "Please enter your new folder name"
|
||||
|
||||
@@ -210,6 +210,12 @@
|
||||
"username_plac": "Zadajte svoje používateľské meno pre poštu"
|
||||
},
|
||||
"others": {
|
||||
"upload_limit": "Limit nahrávania",
|
||||
"upload_limit_plac": "Pridajte veľkosť limitu v MB",
|
||||
"upload_limit_help": "Ak chcete nastaviť limit pre nahrávane jedneho súboru, pridajte veľkosť vášho limitu v MB.",
|
||||
"mimetypes_blacklist": "Čierna listina mimetypov",
|
||||
"mimetypes_blacklist_plac":"Pridajte mimetypy do Čiernej listiny",
|
||||
"mimetypes_blacklist_help" :"Ak chcete zakázať nahrávanie niektorých typov súborov, jednoducho ich pridajte na čiernu listinu, príklad: x-php, mp3, jpeg <br/> Medzi mimetypmi použite čiarku. Nevkladajte bodku pred mimetyp." ,
|
||||
"section_cache": "Aplikačná pamäť",
|
||||
"cache_disclaimer": "Zmenili ste niečo v .env súbore alebo ste zmenili Stripe poverenia? Vymažte aplikačnú pamäť.",
|
||||
"cache_clear": "Vymazať aplikačnú pamäť",
|
||||
@@ -297,6 +303,24 @@
|
||||
"size": "Veľkosť",
|
||||
"where": "Umiestnenie"
|
||||
},
|
||||
"file_detail_meta": {
|
||||
"dimension": "Dimenzie",
|
||||
"resolution": "Rozlíšenie",
|
||||
"color_space": "Farebný priestor",
|
||||
"aperture_value": "Hodnota clony",
|
||||
"meta_data": "Metadata",
|
||||
"author": "Autor",
|
||||
"time_data": "Obsah vytvorený",
|
||||
"make": "Fotoaparát",
|
||||
"model": "Model",
|
||||
"camera_lens": "Objektív fotoaparátu",
|
||||
"aperature": "Clona",
|
||||
"iso": "ISO",
|
||||
"focal": "Ohnisková vzdialenosť",
|
||||
"exposure": "Doba expozície",
|
||||
"longitude": "Zemepisná dĺžka",
|
||||
"latitude": "Zemepisná šírka"
|
||||
},
|
||||
"folder": {
|
||||
"empty": "Prázdne",
|
||||
"item_counts": "{count} Položka | {count} Položky"
|
||||
@@ -475,6 +499,14 @@
|
||||
},
|
||||
"title": "Vyberte si metódu platby"
|
||||
},
|
||||
"popup_upload_limit": {
|
||||
"title": "Je nám to ľúto",
|
||||
"message": "Veľkosť nahravaného súboru prekročila limit pre nahraávane súbory ({uploadLimit})"
|
||||
},
|
||||
"popup_mimetypes_blacklist": {
|
||||
"title": "Ospravedlňujeme sa",
|
||||
"message": "Nieje povolené nahrávať tento typ súboru ({mimetype})."
|
||||
},
|
||||
"popup_create_folder": {
|
||||
"folder_default_name": "Nový priečinok",
|
||||
"title": "Prosím, vložte názov nového priečinka"
|
||||
|
||||
4
resources/js/router.js
vendored
4
resources/js/router.js
vendored
@@ -610,7 +610,7 @@ const routesIndex = [
|
||||
name: 'SaaSLandingPage',
|
||||
path: '/',
|
||||
component: () =>
|
||||
import(/* webpackChunkName: "chunks/landing-page" */ './views/index/SaaSLandingPage'),
|
||||
import(/* webpackChunkName: "chunks/landing-page" */ './views/Index/SaaSLandingPage'),
|
||||
meta: {
|
||||
requiresAuth: false
|
||||
},
|
||||
@@ -674,4 +674,4 @@ router.beforeEach((to, from, next) => {
|
||||
}
|
||||
})
|
||||
|
||||
export default router
|
||||
export default router
|
||||
|
||||
543
resources/js/store/modules/app.js
vendored
543
resources/js/store/modules/app.js
vendored
@@ -293,6 +293,548 @@ const defaultState = {
|
||||
value: 168,
|
||||
},
|
||||
],
|
||||
currencyList: [
|
||||
{
|
||||
label: 'USD - United States Dollar',
|
||||
value: 'USD',
|
||||
},
|
||||
{
|
||||
label: 'EUR - Euro',
|
||||
value: 'EUR',
|
||||
},
|
||||
{
|
||||
label: 'GBP - British Pound',
|
||||
value: 'GBP',
|
||||
},
|
||||
{
|
||||
label: 'AFN - Afghan Afghani',
|
||||
value: 'AFN',
|
||||
},
|
||||
{
|
||||
label: 'ALL - Albanian Lek',
|
||||
value: 'ALL',
|
||||
},
|
||||
{
|
||||
label: 'DZD - Algerian Dinar',
|
||||
value: 'DZD',
|
||||
},
|
||||
{
|
||||
label: 'AOA - Angolan Kwanza',
|
||||
value: 'AOA',
|
||||
},
|
||||
{
|
||||
label: 'ARS - Argentine Peso',
|
||||
value: 'ARS',
|
||||
},
|
||||
{
|
||||
label: 'AMD - Armenian Dram',
|
||||
value: 'AMD',
|
||||
},
|
||||
{
|
||||
label: 'AWG - Aruban Florin',
|
||||
value: 'AWG',
|
||||
},
|
||||
{
|
||||
label: 'AUD - Australian Dollar',
|
||||
value: 'AUD',
|
||||
},
|
||||
{
|
||||
label: 'AZN - Azerbaijani Manat',
|
||||
value: 'AZN',
|
||||
},
|
||||
{
|
||||
label: 'BDT - Bangladeshi Taka',
|
||||
value: 'BDT',
|
||||
},
|
||||
{
|
||||
label: 'BBD - Barbadian Dollar',
|
||||
value: 'BBD',
|
||||
},
|
||||
{
|
||||
label: 'BZD - Belize Dollar',
|
||||
value: 'BZD',
|
||||
},
|
||||
{
|
||||
label: 'BMD - Bermudian Dollar',
|
||||
value: 'BMD',
|
||||
},
|
||||
{
|
||||
label: 'BOB - Bolivian Boliviano',
|
||||
value: 'BOB',
|
||||
},
|
||||
{
|
||||
label: 'BAM - Bosnia & Herzegovina Convertible Mark',
|
||||
value: 'BAM',
|
||||
},
|
||||
{
|
||||
label: 'BWP - Botswana Pula',
|
||||
value: 'BWP',
|
||||
},
|
||||
{
|
||||
label: 'BRL - Brazilian Real',
|
||||
value: 'BRL',
|
||||
},
|
||||
{
|
||||
label: 'BND - Brunei Dollar',
|
||||
value: 'BND',
|
||||
},
|
||||
{
|
||||
label: 'BGN - Bulgarian Lev',
|
||||
value: 'BGN',
|
||||
},
|
||||
{
|
||||
label: 'BIF - Burundian Franc',
|
||||
value: 'BIF',
|
||||
},
|
||||
{
|
||||
label: 'KHR - Cambodian Riel',
|
||||
value: 'KHR',
|
||||
},
|
||||
{
|
||||
label: 'CAD - Canadian Dollar',
|
||||
value: 'CAD',
|
||||
},
|
||||
{
|
||||
label: 'CVE - Cape Verdean Escudo',
|
||||
value: 'CVE',
|
||||
},
|
||||
{
|
||||
label: 'KYD - Cayman Islands Dollar',
|
||||
value: 'KYD',
|
||||
},
|
||||
{
|
||||
label: 'XAF - Central African Cfa Franc',
|
||||
value: 'XAF',
|
||||
},
|
||||
{
|
||||
label: 'XPF - Cfp Franc',
|
||||
value: 'XPF',
|
||||
},
|
||||
{
|
||||
label: 'CLP - Chilean Peso',
|
||||
value: 'CLP',
|
||||
},
|
||||
{
|
||||
label: 'CNY - Chinese Renminbi Yuan',
|
||||
value: 'CNY',
|
||||
},
|
||||
{
|
||||
label: 'COP - Colombian Peso',
|
||||
value: 'COP',
|
||||
},
|
||||
{
|
||||
label: 'KMF - Comorian Franc',
|
||||
value: 'KMF',
|
||||
},
|
||||
{
|
||||
label: 'CDF - Congolese Franc',
|
||||
value: 'CDF',
|
||||
},
|
||||
{
|
||||
label: 'CRC - Costa Rican Colón',
|
||||
value: 'CRC',
|
||||
},
|
||||
{
|
||||
label: 'HRK - Croatian Kuna',
|
||||
value: 'HRK',
|
||||
},
|
||||
{
|
||||
label: 'CZK - Czech Koruna',
|
||||
value: 'CZK',
|
||||
},
|
||||
{
|
||||
label: 'DKK - Danish Krone',
|
||||
value: 'DKK',
|
||||
},
|
||||
{
|
||||
label: 'DJF - Djiboutian Franc',
|
||||
value: 'DJF',
|
||||
},
|
||||
{
|
||||
label: 'DOP - Dominican Peso',
|
||||
value: 'DOP',
|
||||
},
|
||||
{
|
||||
label: 'XCD - East Caribbean Dollar',
|
||||
value: 'XCD',
|
||||
},
|
||||
{
|
||||
label: 'EGP - Egyptian Pound',
|
||||
value: 'EGP',
|
||||
},
|
||||
{
|
||||
label: 'ETB - Ethiopian Birr',
|
||||
value: 'ETB',
|
||||
},
|
||||
{
|
||||
label: 'FKP - Falkland Islands Pound',
|
||||
value: 'FKP',
|
||||
},
|
||||
{
|
||||
label: 'FJD - Fijian Dollar',
|
||||
value: 'FJD',
|
||||
},
|
||||
{
|
||||
label: 'GMD - Gambian Dalasi',
|
||||
value: 'GMD',
|
||||
},
|
||||
{
|
||||
label: 'GEL - Georgian Lari',
|
||||
value: 'GEL',
|
||||
},
|
||||
{
|
||||
label: 'GIP - Gibraltar Pound',
|
||||
value: 'GIP',
|
||||
},
|
||||
{
|
||||
label: 'GTQ - Guatemalan Quetzal',
|
||||
value: 'GTQ',
|
||||
},
|
||||
{
|
||||
label: 'GNF - Guinean Franc',
|
||||
value: 'GNF',
|
||||
},
|
||||
{
|
||||
label: 'GYD - Guyanese Dollar',
|
||||
value: 'GYD',
|
||||
},
|
||||
{
|
||||
label: 'HTG - Haitian Gourde',
|
||||
value: 'HTG',
|
||||
},
|
||||
{
|
||||
label: 'HNL - Honduran Lempira',
|
||||
value: 'HNL',
|
||||
},
|
||||
{
|
||||
label: 'HKD - Hong Kong Dollar',
|
||||
value: 'HKD',
|
||||
},
|
||||
{
|
||||
label: 'HUF - Hungarian Forint',
|
||||
value: 'HUF',
|
||||
},
|
||||
{
|
||||
label: 'ISK - Icelandic Króna',
|
||||
value: 'ISK',
|
||||
},
|
||||
{
|
||||
label: 'INR - Indian Rupee',
|
||||
value: 'INR',
|
||||
},
|
||||
{
|
||||
label: 'IDR - Indonesian Rupiah',
|
||||
value: 'IDR',
|
||||
},
|
||||
{
|
||||
label: 'ILS - Israeli New Sheqel',
|
||||
value: 'ILS',
|
||||
},
|
||||
{
|
||||
label: 'JMD - Jamaican Dollar',
|
||||
value: 'JMD',
|
||||
},
|
||||
{
|
||||
label: 'JPY - Japanese Yen',
|
||||
value: 'JPY',
|
||||
},
|
||||
{
|
||||
label: 'KZT - Kazakhstani Tenge',
|
||||
value: 'KZT',
|
||||
},
|
||||
{
|
||||
label: 'KES - Kenyan Shilling',
|
||||
value: 'KES',
|
||||
},
|
||||
{
|
||||
label: 'KGS - Kyrgyzstani Som',
|
||||
value: 'KGS',
|
||||
},
|
||||
{
|
||||
label: 'LAK - Lao Kip',
|
||||
value: 'LAK',
|
||||
},
|
||||
{
|
||||
label: 'LBP - Lebanese Pound',
|
||||
value: 'LBP',
|
||||
},
|
||||
{
|
||||
label: 'LSL - Lesotho Loti',
|
||||
value: 'LSL',
|
||||
},
|
||||
{
|
||||
label: 'LRD - Liberian Dollar',
|
||||
value: 'LRD',
|
||||
},
|
||||
{
|
||||
label: 'MOP - Macanese Pataca',
|
||||
value: 'MOP',
|
||||
},
|
||||
{
|
||||
label: 'MKD - Macedonian Denar',
|
||||
value: 'MKD',
|
||||
},
|
||||
{
|
||||
label: 'MGA - Malagasy Ariary',
|
||||
value: 'MGA',
|
||||
},
|
||||
{
|
||||
label: 'MWK - Malawian Kwacha',
|
||||
value: 'MWK',
|
||||
},
|
||||
{
|
||||
label: 'MYR - Malaysian Ringgit',
|
||||
value: 'MYR',
|
||||
},
|
||||
{
|
||||
label: 'MVR - Maldivian Rufiyaa',
|
||||
value: 'MVR',
|
||||
},
|
||||
{
|
||||
label: 'MRO - Mauritanian Ouguiya',
|
||||
value: 'MRO',
|
||||
},
|
||||
{
|
||||
label: 'MUR - Mauritian Rupee',
|
||||
value: 'MUR',
|
||||
},
|
||||
{
|
||||
label: 'MXN - Mexican Peso',
|
||||
value: 'MXN',
|
||||
},
|
||||
{
|
||||
label: 'MDL - Moldovan Leu',
|
||||
value: 'MDL',
|
||||
},
|
||||
{
|
||||
label: 'MNT - Mongolian Tögrög',
|
||||
value: 'MNT',
|
||||
},
|
||||
{
|
||||
label: 'MAD - Moroccan Dirham',
|
||||
value: 'MAD',
|
||||
},
|
||||
{
|
||||
label: 'MZN - Mozambican Metical',
|
||||
value: 'MZN',
|
||||
},
|
||||
{
|
||||
label: 'MMK - Myanmar Kyat',
|
||||
value: 'MMK',
|
||||
},
|
||||
{
|
||||
label: 'NAD - Namibian Dollar',
|
||||
value: 'NAD',
|
||||
},
|
||||
{
|
||||
label: 'NPR - Nepalese Rupee',
|
||||
value: 'NPR',
|
||||
},
|
||||
{
|
||||
label: 'ANG - Netherlands Antillean Gulden',
|
||||
value: 'ANG',
|
||||
},
|
||||
{
|
||||
label: 'TWD - New Taiwan Dollar',
|
||||
value: 'TWD',
|
||||
},
|
||||
{
|
||||
label: 'NZD - New Zealand Dollar',
|
||||
value: 'NZD',
|
||||
},
|
||||
{
|
||||
label: 'NIO - Nicaraguan Córdoba',
|
||||
value: 'NIO',
|
||||
},
|
||||
{
|
||||
label: 'NGN - Nigerian Naira',
|
||||
value: 'NGN',
|
||||
},
|
||||
{
|
||||
label: 'NOK - Norwegian Krone',
|
||||
value: 'NOK',
|
||||
},
|
||||
{
|
||||
label: 'PKR - Pakistani Rupee',
|
||||
value: 'PKR',
|
||||
},
|
||||
{
|
||||
label: 'PAB - Panamanian Balboa',
|
||||
value: 'PAB',
|
||||
},
|
||||
{
|
||||
label: 'PGK - Papua New Guinean Kina',
|
||||
value: 'PGK',
|
||||
},
|
||||
{
|
||||
label: 'PYG - Paraguayan Guaraní',
|
||||
value: 'PYG',
|
||||
},
|
||||
{
|
||||
label: 'PEN - Peruvian Nuevo Sol',
|
||||
value: 'PEN',
|
||||
},
|
||||
{
|
||||
label: 'PHP - Philippine Peso',
|
||||
value: 'PHP',
|
||||
},
|
||||
{
|
||||
label: 'PLN - Polish Złoty',
|
||||
value: 'PLN',
|
||||
},
|
||||
{
|
||||
label: 'QAR - Qatari Riyal',
|
||||
value: 'QAR',
|
||||
},
|
||||
{
|
||||
label: 'RON - Romanian Leu',
|
||||
value: 'RON',
|
||||
},
|
||||
{
|
||||
label: 'RUB - Russian Ruble',
|
||||
value: 'RUB',
|
||||
},
|
||||
{
|
||||
label: 'RWF - Rwandan Franc',
|
||||
value: 'RWF',
|
||||
},
|
||||
{
|
||||
label: 'STD - São Tomé and Príncipe Dobra',
|
||||
value: 'STD',
|
||||
},
|
||||
{
|
||||
label: 'SHP - Saint Helenian Pound',
|
||||
value: 'SHP',
|
||||
},
|
||||
{
|
||||
label: 'SVC - Salvadoran Colón',
|
||||
value: 'SVC',
|
||||
},
|
||||
{
|
||||
label: 'WST - Samoan Tala',
|
||||
value: 'WST',
|
||||
},
|
||||
{
|
||||
label: 'SAR - Saudi Riyal',
|
||||
value: 'SAR',
|
||||
},
|
||||
{
|
||||
label: 'RSD - Serbian Dinar',
|
||||
value: 'RSD',
|
||||
},
|
||||
{
|
||||
label: 'SCR - Seychellois Rupee',
|
||||
value: 'SCR',
|
||||
},
|
||||
{
|
||||
label: 'SLL - Sierra Leonean Leone',
|
||||
value: 'SLL',
|
||||
},
|
||||
{
|
||||
label: 'SGD - Singapore Dollar',
|
||||
value: 'SGD',
|
||||
},
|
||||
{
|
||||
label: 'SBD - Solomon Islands Dollar',
|
||||
value: 'SBD',
|
||||
},
|
||||
{
|
||||
label: 'SOS - Somali Shilling',
|
||||
value: 'SOS',
|
||||
},
|
||||
{
|
||||
label: 'ZAR - South African Rand',
|
||||
value: 'ZAR',
|
||||
},
|
||||
{
|
||||
label: 'KRW - South Korean Won',
|
||||
value: 'KRW',
|
||||
},
|
||||
{
|
||||
label: 'LKR - Sri Lankan Rupee',
|
||||
value: 'LKR',
|
||||
},
|
||||
{
|
||||
label: 'SRD - Surinamese Dollar',
|
||||
value: 'SRD',
|
||||
},
|
||||
{
|
||||
label: 'SZL - Swazi Lilangeni',
|
||||
value: 'SZL',
|
||||
},
|
||||
{
|
||||
label: 'SEK - Swedish Krona',
|
||||
value: 'SEK',
|
||||
},
|
||||
{
|
||||
label: 'CHF - Swiss Franc',
|
||||
value: 'CHF',
|
||||
},
|
||||
{
|
||||
label: 'TJS - Tajikistani Somoni',
|
||||
value: 'TJS',
|
||||
},
|
||||
{
|
||||
label: 'TZS - Tanzanian Shilling',
|
||||
value: 'TZS',
|
||||
},
|
||||
{
|
||||
label: 'THB - Thai Baht',
|
||||
value: 'THB',
|
||||
},
|
||||
{
|
||||
label: 'TOP - Tongan Paʻanga',
|
||||
value: 'TOP',
|
||||
},
|
||||
{
|
||||
label: 'TTD - Trinidad and Tobago Dollar',
|
||||
value: 'TTD',
|
||||
},
|
||||
{
|
||||
label: 'TRY - Turkish Lira',
|
||||
value: 'TRY',
|
||||
},
|
||||
{
|
||||
label: 'UGX - Ugandan Shilling',
|
||||
value: 'UGX',
|
||||
},
|
||||
{
|
||||
label: 'UAH - Ukrainian Hryvnia',
|
||||
value: 'UAH',
|
||||
},
|
||||
{
|
||||
label: 'AED - United Arab Emirates Dirham',
|
||||
value: 'AED',
|
||||
},
|
||||
{
|
||||
label: 'UYU - Uruguayan Peso',
|
||||
value: 'UYU',
|
||||
},
|
||||
{
|
||||
label: 'UZS - Uzbekistani Som',
|
||||
value: 'UZS',
|
||||
},
|
||||
{
|
||||
label: 'VUV - Vanuatu Vatu',
|
||||
value: 'VUV',
|
||||
},
|
||||
{
|
||||
label: 'VND - Vietnamese Đồng',
|
||||
value: 'VND',
|
||||
},
|
||||
{
|
||||
label: 'XOF - West African Cfa Franc',
|
||||
value: 'XOF',
|
||||
},
|
||||
{
|
||||
label: 'YER - Yemeni Rial',
|
||||
value: 'YER',
|
||||
},
|
||||
{
|
||||
label: 'ZMW - Zambian Kwacha',
|
||||
value: 'ZMW',
|
||||
},
|
||||
],
|
||||
}
|
||||
const actions = {
|
||||
changePreviewType: ({commit, state}) => {
|
||||
@@ -353,6 +895,7 @@ const getters = {
|
||||
expirationList: state => state.expirationList,
|
||||
homeDirectory: state => state.homeDirectory,
|
||||
requestedPlan: state => state.requestedPlan,
|
||||
currencyList: state => state.currencyList,
|
||||
countries: state => state.countries,
|
||||
api: state => state.config.api,
|
||||
config: state => state.config,
|
||||
|
||||
15
resources/js/store/modules/fileFunctions.js
vendored
15
resources/js/store/modules/fileFunctions.js
vendored
@@ -117,16 +117,23 @@ const actions = {
|
||||
switch (error.response.status) {
|
||||
case 423:
|
||||
events.$emit('alert:open', {
|
||||
emoji: '😬',
|
||||
emoji: '😬😬😬',
|
||||
title: i18n.t('popup_exceed_limit.title'),
|
||||
message: i18n.t('popup_exceed_limit.message')
|
||||
})
|
||||
break;
|
||||
case 415:
|
||||
events.$emit('alert:open', {
|
||||
emoji: '😬😬😬',
|
||||
title: i18n.t('popup_mimetypes_blacklist.title'),
|
||||
message: i18n.t('popup_mimetypes_blacklist.message')
|
||||
})
|
||||
break;
|
||||
case 413:
|
||||
events.$emit('alert:open', {
|
||||
emoji: '😟',
|
||||
title: i18n.t('popup_paylod_error.title'),
|
||||
message: i18n.t('popup_paylod_error.message')
|
||||
emoji: '😟😟😟',
|
||||
title: i18n.t('popup_upload_limit.title'),
|
||||
message: i18n.t('popup_upload_limit.message', {uploadLimit: getters.config.uploadLimitFormatted})
|
||||
})
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<PageTab :is-loading="isLoading" class="form-fixed-width">
|
||||
|
||||
<!--Personal Information-->
|
||||
<PageTabGroup v-if="! isLoading">
|
||||
<PageTabGroup v-if="app">
|
||||
<div class="form block-form">
|
||||
<FormLabel>{{ $t('admin_settings.appearance.section_general') }}</FormLabel>
|
||||
|
||||
@@ -85,13 +85,7 @@
|
||||
data() {
|
||||
return {
|
||||
isLoading: true,
|
||||
app: {
|
||||
logo_horizontal: undefined,
|
||||
favicon: undefined,
|
||||
logo: undefined,
|
||||
description: '',
|
||||
title: '',
|
||||
},
|
||||
app: undefined,
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -101,11 +95,13 @@
|
||||
}
|
||||
})
|
||||
.then(response => {
|
||||
this.app.logo_horizontal = response.data.app_logo_horizontal
|
||||
this.app.description = response.data.app_description
|
||||
this.app.favicon = response.data.app_favicon
|
||||
this.app.title = response.data.app_title
|
||||
this.app.logo = response.data.app_logo
|
||||
this.app = {
|
||||
logo_horizontal: response.data.app_logo_horizontal,
|
||||
description: response.data.app_description,
|
||||
favicon: response.data.app_favicon,
|
||||
title: response.data.app_title,
|
||||
logo: response.data.app_logo,
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
this.isLoading = false
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<PageTab :is-loading="isLoading" class="form-fixed-width">
|
||||
|
||||
<!--Personal Information-->
|
||||
<PageTabGroup>
|
||||
<PageTabGroup v-if="billingInformation">
|
||||
<div class="form block-form">
|
||||
<FormLabel>{{ $t('admin_settings.billings.section_company') }}</FormLabel>
|
||||
|
||||
@@ -105,6 +105,7 @@
|
||||
import InfoBox from '@/components/Others/Forms/InfoBox'
|
||||
import {required} from 'vee-validate/dist/rules'
|
||||
import axios from 'axios'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'AppAppearance',
|
||||
@@ -122,264 +123,13 @@
|
||||
PageTab,
|
||||
InfoBox,
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['countries']),
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isLoading: true,
|
||||
countries: [
|
||||
{label: 'Afghanistan', value: 'AF'},
|
||||
{label: 'Åland Islands', value: 'AX'},
|
||||
{label: 'Albania', value: 'AL'},
|
||||
{label: 'Algeria', value: 'DZ'},
|
||||
{label: 'American Samoa', value: 'AS'},
|
||||
{label: 'AndorrA', value: 'AD'},
|
||||
{label: 'Angola', value: 'AO'},
|
||||
{label: 'Anguilla', value: 'AI'},
|
||||
{label: 'Antarctica', value: 'AQ'},
|
||||
{label: 'Antigua and Barbuda', value: 'AG'},
|
||||
{label: 'Argentina', value: 'AR'},
|
||||
{label: 'Armenia', value: 'AM'},
|
||||
{label: 'Aruba', value: 'AW'},
|
||||
{label: 'Australia', value: 'AU'},
|
||||
{label: 'Austria', value: 'AT'},
|
||||
{label: 'Azerbaijan', value: 'AZ'},
|
||||
{label: 'Bahamas', value: 'BS'},
|
||||
{label: 'Bahrain', value: 'BH'},
|
||||
{label: 'Bangladesh', value: 'BD'},
|
||||
{label: 'Barbados', value: 'BB'},
|
||||
{label: 'Belarus', value: 'BY'},
|
||||
{label: 'Belgium', value: 'BE'},
|
||||
{label: 'Belize', value: 'BZ'},
|
||||
{label: 'Benin', value: 'BJ'},
|
||||
{label: 'Bermuda', value: 'BM'},
|
||||
{label: 'Bhutan', value: 'BT'},
|
||||
{label: 'Bolivia', value: 'BO'},
|
||||
{label: 'Bosnia and Herzegovina', value: 'BA'},
|
||||
{label: 'Botswana', value: 'BW'},
|
||||
{label: 'Bouvet Island', value: 'BV'},
|
||||
{label: 'Brazil', value: 'BR'},
|
||||
{label: 'British Indian Ocean Territory', value: 'IO'},
|
||||
{label: 'Brunei Darussalam', value: 'BN'},
|
||||
{label: 'Bulgaria', value: 'BG'},
|
||||
{label: 'Burkina Faso', value: 'BF'},
|
||||
{label: 'Burundi', value: 'BI'},
|
||||
{label: 'Cambodia', value: 'KH'},
|
||||
{label: 'Cameroon', value: 'CM'},
|
||||
{label: 'Canada', value: 'CA'},
|
||||
{label: 'Cape Verde', value: 'CV'},
|
||||
{label: 'Cayman Islands', value: 'KY'},
|
||||
{label: 'Central African Republic', value: 'CF'},
|
||||
{label: 'Chad', value: 'TD'},
|
||||
{label: 'Chile', value: 'CL'},
|
||||
{label: 'China', value: 'CN'},
|
||||
{label: 'Christmas Island', value: 'CX'},
|
||||
{label: 'Cocos (Keeling) Islands', value: 'CC'},
|
||||
{label: 'Colombia', value: 'CO'},
|
||||
{label: 'Comoros', value: 'KM'},
|
||||
{label: 'Congo', value: 'CG'},
|
||||
{label: 'Congo, The Democratic Republic of the', value: 'CD'},
|
||||
{label: 'Cook Islands', value: 'CK'},
|
||||
{label: 'Costa Rica', value: 'CR'},
|
||||
{label: 'Cote D\'Ivoire', value: 'CI'},
|
||||
{label: 'Croatia', value: 'HR'},
|
||||
{label: 'Cuba', value: 'CU'},
|
||||
{label: 'Cyprus', value: 'CY'},
|
||||
{label: 'Czech Republic', value: 'CZ'},
|
||||
{label: 'Denmark', value: 'DK'},
|
||||
{label: 'Djibouti', value: 'DJ'},
|
||||
{label: 'Dominica', value: 'DM'},
|
||||
{label: 'Dominican Republic', value: 'DO'},
|
||||
{label: 'Ecuador', value: 'EC'},
|
||||
{label: 'Egypt', value: 'EG'},
|
||||
{label: 'El Salvador', value: 'SV'},
|
||||
{label: 'Equatorial Guinea', value: 'GQ'},
|
||||
{label: 'Eritrea', value: 'ER'},
|
||||
{label: 'Estonia', value: 'EE'},
|
||||
{label: 'Ethiopia', value: 'ET'},
|
||||
{label: 'Falkland Islands (Malvinas)', value: 'FK'},
|
||||
{label: 'Faroe Islands', value: 'FO'},
|
||||
{label: 'Fiji', value: 'FJ'},
|
||||
{label: 'Finland', value: 'FI'},
|
||||
{label: 'France', value: 'FR'},
|
||||
{label: 'French Guiana', value: 'GF'},
|
||||
{label: 'French Polynesia', value: 'PF'},
|
||||
{label: 'French Southern Territories', value: 'TF'},
|
||||
{label: 'Gabon', value: 'GA'},
|
||||
{label: 'Gambia', value: 'GM'},
|
||||
{label: 'Georgia', value: 'GE'},
|
||||
{label: 'Germany', value: 'DE'},
|
||||
{label: 'Ghana', value: 'GH'},
|
||||
{label: 'Gibraltar', value: 'GI'},
|
||||
{label: 'Greece', value: 'GR'},
|
||||
{label: 'Greenland', value: 'GL'},
|
||||
{label: 'Grenada', value: 'GD'},
|
||||
{label: 'Guadeloupe', value: 'GP'},
|
||||
{label: 'Guam', value: 'GU'},
|
||||
{label: 'Guatemala', value: 'GT'},
|
||||
{label: 'Guernsey', value: 'GG'},
|
||||
{label: 'Guinea', value: 'GN'},
|
||||
{label: 'Guinea-Bissau', value: 'GW'},
|
||||
{label: 'Guyana', value: 'GY'},
|
||||
{label: 'Haiti', value: 'HT'},
|
||||
{label: 'Heard Island and Mcdonald Islands', value: 'HM'},
|
||||
{label: 'Holy See (Vatican City State)', value: 'VA'},
|
||||
{label: 'Honduras', value: 'HN'},
|
||||
{label: 'Hong Kong', value: 'HK'},
|
||||
{label: 'Hungary', value: 'HU'},
|
||||
{label: 'Iceland', value: 'IS'},
|
||||
{label: 'India', value: 'IN'},
|
||||
{label: 'Indonesia', value: 'ID'},
|
||||
{label: 'Iran, Islamic Republic Of', value: 'IR'},
|
||||
{label: 'Iraq', value: 'IQ'},
|
||||
{label: 'Ireland', value: 'IE'},
|
||||
{label: 'Isle of Man', value: 'IM'},
|
||||
{label: 'Israel', value: 'IL'},
|
||||
{label: 'Italy', value: 'IT'},
|
||||
{label: 'Jamaica', value: 'JM'},
|
||||
{label: 'Japan', value: 'JP'},
|
||||
{label: 'Jersey', value: 'JE'},
|
||||
{label: 'Jordan', value: 'JO'},
|
||||
{label: 'Kazakhstan', value: 'KZ'},
|
||||
{label: 'Kenya', value: 'KE'},
|
||||
{label: 'Kiribati', value: 'KI'},
|
||||
{label: 'Korea, Democratic People\'S Republic of', value: 'KP'},
|
||||
{label: 'Korea, Republic of', value: 'KR'},
|
||||
{label: 'Kuwait', value: 'KW'},
|
||||
{label: 'Kyrgyzstan', value: 'KG'},
|
||||
{label: 'Lao People\'S Democratic Republic', value: 'LA'},
|
||||
{label: 'Latvia', value: 'LV'},
|
||||
{label: 'Lebanon', value: 'LB'},
|
||||
{label: 'Lesotho', value: 'LS'},
|
||||
{label: 'Liberia', value: 'LR'},
|
||||
{label: 'Libyan Arab Jamahiriya', value: 'LY'},
|
||||
{label: 'Liechtenstein', value: 'LI'},
|
||||
{label: 'Lithuania', value: 'LT'},
|
||||
{label: 'Luxembourg', value: 'LU'},
|
||||
{label: 'Macao', value: 'MO'},
|
||||
{label: 'Macedonia, The Former Yugoslav Republic of', value: 'MK'},
|
||||
{label: 'Madagascar', value: 'MG'},
|
||||
{label: 'Malawi', value: 'MW'},
|
||||
{label: 'Malaysia', value: 'MY'},
|
||||
{label: 'Maldives', value: 'MV'},
|
||||
{label: 'Mali', value: 'ML'},
|
||||
{label: 'Malta', value: 'MT'},
|
||||
{label: 'Marshall Islands', value: 'MH'},
|
||||
{label: 'Martinique', value: 'MQ'},
|
||||
{label: 'Mauritania', value: 'MR'},
|
||||
{label: 'Mauritius', value: 'MU'},
|
||||
{label: 'Mayotte', value: 'YT'},
|
||||
{label: 'Mexico', value: 'MX'},
|
||||
{label: 'Micronesia, Federated States of', value: 'FM'},
|
||||
{label: 'Moldova, Republic of', value: 'MD'},
|
||||
{label: 'Monaco', value: 'MC'},
|
||||
{label: 'Mongolia', value: 'MN'},
|
||||
{label: 'Montserrat', value: 'MS'},
|
||||
{label: 'Morocco', value: 'MA'},
|
||||
{label: 'Mozambique', value: 'MZ'},
|
||||
{label: 'Myanmar', value: 'MM'},
|
||||
{label: 'Namibia', value: 'NA'},
|
||||
{label: 'Nauru', value: 'NR'},
|
||||
{label: 'Nepal', value: 'NP'},
|
||||
{label: 'Netherlands', value: 'NL'},
|
||||
{label: 'Netherlands Antilles', value: 'AN'},
|
||||
{label: 'New Caledonia', value: 'NC'},
|
||||
{label: 'New Zealand', value: 'NZ'},
|
||||
{label: 'Nicaragua', value: 'NI'},
|
||||
{label: 'Niger', value: 'NE'},
|
||||
{label: 'Nigeria', value: 'NG'},
|
||||
{label: 'Niue', value: 'NU'},
|
||||
{label: 'Norfolk Island', value: 'NF'},
|
||||
{label: 'Northern Mariana Islands', value: 'MP'},
|
||||
{label: 'Norway', value: 'NO'},
|
||||
{label: 'Oman', value: 'OM'},
|
||||
{label: 'Pakistan', value: 'PK'},
|
||||
{label: 'Palau', value: 'PW'},
|
||||
{label: 'Palestinian Territory, Occupied', value: 'PS'},
|
||||
{label: 'Panama', value: 'PA'},
|
||||
{label: 'Papua New Guinea', value: 'PG'},
|
||||
{label: 'Paraguay', value: 'PY'},
|
||||
{label: 'Peru', value: 'PE'},
|
||||
{label: 'Philippines', value: 'PH'},
|
||||
{label: 'Pitcairn', value: 'PN'},
|
||||
{label: 'Poland', value: 'PL'},
|
||||
{label: 'Portugal', value: 'PT'},
|
||||
{label: 'Puerto Rico', value: 'PR'},
|
||||
{label: 'Qatar', value: 'QA'},
|
||||
{label: 'Reunion', value: 'RE'},
|
||||
{label: 'Romania', value: 'RO'},
|
||||
{label: 'Russian Federation', value: 'RU'},
|
||||
{label: 'RWANDA', value: 'RW'},
|
||||
{label: 'Saint Helena', value: 'SH'},
|
||||
{label: 'Saint Kitts and Nevis', value: 'KN'},
|
||||
{label: 'Saint Lucia', value: 'LC'},
|
||||
{label: 'Saint Pierre and Miquelon', value: 'PM'},
|
||||
{label: 'Saint Vincent and the Grenadines', value: 'VC'},
|
||||
{label: 'Samoa', value: 'WS'},
|
||||
{label: 'San Marino', value: 'SM'},
|
||||
{label: 'Sao Tome and Principe', value: 'ST'},
|
||||
{label: 'Saudi Arabia', value: 'SA'},
|
||||
{label: 'Senegal', value: 'SN'},
|
||||
{label: 'Serbia and Montenegro', value: 'CS'},
|
||||
{label: 'Seychelles', value: 'SC'},
|
||||
{label: 'Sierra Leone', value: 'SL'},
|
||||
{label: 'Singapore', value: 'SG'},
|
||||
{label: 'Slovakia', value: 'SK'},
|
||||
{label: 'Slovenia', value: 'SI'},
|
||||
{label: 'Solomon Islands', value: 'SB'},
|
||||
{label: 'Somalia', value: 'SO'},
|
||||
{label: 'South Africa', value: 'ZA'},
|
||||
{label: 'South Georgia and the South Sandwich Islands', value: 'GS'},
|
||||
{label: 'Spain', value: 'ES'},
|
||||
{label: 'Sri Lanka', value: 'LK'},
|
||||
{label: 'Sudan', value: 'SD'},
|
||||
{label: 'Suriname', value: 'SR'},
|
||||
{label: 'Svalbard and Jan Mayen', value: 'SJ'},
|
||||
{label: 'Swaziland', value: 'SZ'},
|
||||
{label: 'Sweden', value: 'SE'},
|
||||
{label: 'Switzerland', value: 'CH'},
|
||||
{label: 'Syrian Arab Republic', value: 'SY'},
|
||||
{label: 'Taiwan, Province of China', value: 'TW'},
|
||||
{label: 'Tajikistan', value: 'TJ'},
|
||||
{label: 'Tanzania, United Republic of', value: 'TZ'},
|
||||
{label: 'Thailand', value: 'TH'},
|
||||
{label: 'Timor-Leste', value: 'TL'},
|
||||
{label: 'Togo', value: 'TG'},
|
||||
{label: 'Tokelau', value: 'TK'},
|
||||
{label: 'Tonga', value: 'TO'},
|
||||
{label: 'Trinidad and Tobago', value: 'TT'},
|
||||
{label: 'Tunisia', value: 'TN'},
|
||||
{label: 'Turkey', value: 'TR'},
|
||||
{label: 'Turkmenistan', value: 'TM'},
|
||||
{label: 'Turks and Caicos Islands', value: 'TC'},
|
||||
{label: 'Tuvalu', value: 'TV'},
|
||||
{label: 'Uganda', value: 'UG'},
|
||||
{label: 'Ukraine', value: 'UA'},
|
||||
{label: 'United Arab Emirates', value: 'AE'},
|
||||
{label: 'United Kingdom', value: 'GB'},
|
||||
{label: 'United States', value: 'US'},
|
||||
{label: 'United States Minor Outlying Islands', value: 'UM'},
|
||||
{label: 'Uruguay', value: 'UY'},
|
||||
{label: 'Uzbekistan', value: 'UZ'},
|
||||
{label: 'Vanuatu', value: 'VU'},
|
||||
{label: 'Venezuela', value: 'VE'},
|
||||
{label: 'Viet Nam', value: 'VN'},
|
||||
{label: 'Virgin Islands, British', value: 'VG'},
|
||||
{label: 'Virgin Islands, U.S.', value: 'VI'},
|
||||
{label: 'Wallis and Futuna', value: 'WF'},
|
||||
{label: 'Western Sahara', value: 'EH'},
|
||||
{label: 'Yemen', value: 'YE'},
|
||||
{label: 'Zambia', value: 'ZM'},
|
||||
{label: 'Zimbabwe', value: 'ZW'}
|
||||
],
|
||||
billingInformation: {
|
||||
billing_phone_number: '',
|
||||
billing_postal_code: '',
|
||||
billing_vat_number: '',
|
||||
billing_address: '',
|
||||
billing_country: '',
|
||||
billing_state: '',
|
||||
billing_city: '',
|
||||
billing_name: '',
|
||||
}
|
||||
billingInformation: undefined
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -391,14 +141,17 @@
|
||||
.then(response => {
|
||||
this.isLoading = false
|
||||
|
||||
this.billingInformation.billing_phone_number = response.data.billing_phone_number
|
||||
this.billingInformation.billing_postal_code = response.data.billing_postal_code
|
||||
this.billingInformation.billing_vat_number = response.data.billing_vat_number
|
||||
this.billingInformation.billing_address = response.data.billing_address
|
||||
this.billingInformation.billing_country = response.data.billing_country
|
||||
this.billingInformation.billing_state = response.data.billing_state
|
||||
this.billingInformation.billing_city = response.data.billing_city
|
||||
this.billingInformation.billing_name = response.data.billing_name
|
||||
this.billingInformation = {
|
||||
billing_phone_number: response.data.billing_phone_number,
|
||||
billing_postal_code: response.data.billing_postal_code,
|
||||
billing_vat_number: response.data.billing_vat_number,
|
||||
billing_address: response.data.billing_address,
|
||||
billing_country: response.data.billing_country,
|
||||
billing_state: response.data.billing_state,
|
||||
billing_city: response.data.billing_city,
|
||||
billing_name: response.data.billing_name,
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<PageTab :is-loading="isLoading" class="form-fixed-width">
|
||||
|
||||
<!--Personal Information-->
|
||||
<PageTabGroup>
|
||||
<PageTabGroup v-if="app">
|
||||
<div class="form block-form">
|
||||
<FormLabel>
|
||||
{{ $t('admin_settings.others.section_user') }}
|
||||
@@ -80,6 +80,24 @@
|
||||
</ValidationProvider>
|
||||
</div>
|
||||
|
||||
<div class="block-wrapper">
|
||||
<label>{{ $t('admin_settings.others.mimetypes_blacklist') }}:</label>
|
||||
<ValidationProvider tag="div" mode="passive" class="input-wrapper" name="Mimetypes Blacklist" v-slot="{ errors }">
|
||||
<textarea rows="2" @input="$updateText('/settings', 'mimetypes_blacklist', app.mimetypesBlacklist)" v-model="app.mimetypesBlacklist" :placeholder="$t('admin_settings.others.mimetypes_blacklist_plac')" type="text" :class="{'is-error': errors[0]}"/>
|
||||
<span class="error-message" v-if="errors[0]">{{ errors[0] }}</span>
|
||||
</ValidationProvider>
|
||||
<small class="input-help" v-html="$t('admin_settings.others.mimetypes_blacklist_help')"></small>
|
||||
</div>
|
||||
|
||||
<div class="block-wrapper">
|
||||
<label>{{ $t('admin_settings.others.upload_limit') }}:</label>
|
||||
<ValidationProvider tag="div" mode="passive" class="input-wrapper" name="Upload Limit" v-slot="{ errors }">
|
||||
<input @input="$updateText('/settings', 'upload_limit', app.uploadLimit)" v-model="app.uploadLimit" :placeholder="$t('admin_settings.others.upload_limit_plac')" type="number" min="0" step="1" :class="{'is-error': errors[0]}"/>
|
||||
<span class="error-message" v-if="errors[0]">{{ errors[0] }}</span>
|
||||
</ValidationProvider>
|
||||
<small class="input-help" v-html="$t('admin_settings.others.upload_limit_help')"></small>
|
||||
</div>
|
||||
|
||||
<FormLabel class="mt-70">
|
||||
{{ $t('admin_settings.others.section_cache') }}
|
||||
</FormLabel>
|
||||
@@ -131,13 +149,7 @@
|
||||
return {
|
||||
isLoading: true,
|
||||
isFlushingCache: false,
|
||||
app: {
|
||||
contactMail: '',
|
||||
googleAnalytics: '',
|
||||
defaultStorage: '',
|
||||
userRegistration: 1,
|
||||
storageLimitation: 1,
|
||||
},
|
||||
app: undefined,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -160,17 +172,21 @@
|
||||
mounted() {
|
||||
axios.get('/api/settings', {
|
||||
params: {
|
||||
column: 'contact_email|google_analytics|storage_default|registration|storage_limitation'
|
||||
column: 'contact_email|google_analytics|storage_default|registration|storage_limitation|mimetypes_blacklist|upload_limit'
|
||||
}
|
||||
})
|
||||
.then(response => {
|
||||
this.isLoading = false
|
||||
|
||||
this.app.contactMail = response.data.contact_email
|
||||
this.app.googleAnalytics = response.data.google_analytics
|
||||
this.app.defaultStorage = response.data.storage_default
|
||||
this.app.userRegistration = parseInt(response.data.registration)
|
||||
this.app.storageLimitation = parseInt(response.data.storage_limitation)
|
||||
this.app = {
|
||||
contactMail: response.data.contact_email,
|
||||
googleAnalytics: response.data.google_analytics,
|
||||
defaultStorage: response.data.storage_default,
|
||||
userRegistration: parseInt(response.data.registration),
|
||||
storageLimitation: parseInt(response.data.storage_limitation),
|
||||
mimetypesBlacklist : response.data.mimetypes_blacklist,
|
||||
uploadLimit: response.data.upload_limit
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
</ValidationProvider>
|
||||
</div>
|
||||
|
||||
<InfoBox v-if="isError" type="error" style="margin-bottom: -20px">
|
||||
<InfoBox v-if="isError" type="error" >
|
||||
<p>{{ errorMessage }}</p>
|
||||
</InfoBox>
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
InfoBox,
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['config']),
|
||||
...mapGetters(['config', 'currencyList']),
|
||||
stripeWebhookEndpoint() {
|
||||
return this.config.host + '/stripe/webhook'
|
||||
},
|
||||
@@ -150,548 +150,6 @@
|
||||
webhookSecret: '',
|
||||
currency: '',
|
||||
},
|
||||
currencyList: [
|
||||
{
|
||||
label: 'USD - United States Dollar',
|
||||
value: 'USD',
|
||||
},
|
||||
{
|
||||
label: 'EUR - Euro',
|
||||
value: 'EUR',
|
||||
},
|
||||
{
|
||||
label: 'GBP - British Pound',
|
||||
value: 'GBP',
|
||||
},
|
||||
{
|
||||
label: 'AFN - Afghan Afghani',
|
||||
value: 'AFN',
|
||||
},
|
||||
{
|
||||
label: 'ALL - Albanian Lek',
|
||||
value: 'ALL',
|
||||
},
|
||||
{
|
||||
label: 'DZD - Algerian Dinar',
|
||||
value: 'DZD',
|
||||
},
|
||||
{
|
||||
label: 'AOA - Angolan Kwanza',
|
||||
value: 'AOA',
|
||||
},
|
||||
{
|
||||
label: 'ARS - Argentine Peso',
|
||||
value: 'ARS',
|
||||
},
|
||||
{
|
||||
label: 'AMD - Armenian Dram',
|
||||
value: 'AMD',
|
||||
},
|
||||
{
|
||||
label: 'AWG - Aruban Florin',
|
||||
value: 'AWG',
|
||||
},
|
||||
{
|
||||
label: 'AUD - Australian Dollar',
|
||||
value: 'AUD',
|
||||
},
|
||||
{
|
||||
label: 'AZN - Azerbaijani Manat',
|
||||
value: 'AZN',
|
||||
},
|
||||
{
|
||||
label: 'BDT - Bangladeshi Taka',
|
||||
value: 'BDT',
|
||||
},
|
||||
{
|
||||
label: 'BBD - Barbadian Dollar',
|
||||
value: 'BBD',
|
||||
},
|
||||
{
|
||||
label: 'BZD - Belize Dollar',
|
||||
value: 'BZD',
|
||||
},
|
||||
{
|
||||
label: 'BMD - Bermudian Dollar',
|
||||
value: 'BMD',
|
||||
},
|
||||
{
|
||||
label: 'BOB - Bolivian Boliviano',
|
||||
value: 'BOB',
|
||||
},
|
||||
{
|
||||
label: 'BAM - Bosnia & Herzegovina Convertible Mark',
|
||||
value: 'BAM',
|
||||
},
|
||||
{
|
||||
label: 'BWP - Botswana Pula',
|
||||
value: 'BWP',
|
||||
},
|
||||
{
|
||||
label: 'BRL - Brazilian Real',
|
||||
value: 'BRL',
|
||||
},
|
||||
{
|
||||
label: 'BND - Brunei Dollar',
|
||||
value: 'BND',
|
||||
},
|
||||
{
|
||||
label: 'BGN - Bulgarian Lev',
|
||||
value: 'BGN',
|
||||
},
|
||||
{
|
||||
label: 'BIF - Burundian Franc',
|
||||
value: 'BIF',
|
||||
},
|
||||
{
|
||||
label: 'KHR - Cambodian Riel',
|
||||
value: 'KHR',
|
||||
},
|
||||
{
|
||||
label: 'CAD - Canadian Dollar',
|
||||
value: 'CAD',
|
||||
},
|
||||
{
|
||||
label: 'CVE - Cape Verdean Escudo',
|
||||
value: 'CVE',
|
||||
},
|
||||
{
|
||||
label: 'KYD - Cayman Islands Dollar',
|
||||
value: 'KYD',
|
||||
},
|
||||
{
|
||||
label: 'XAF - Central African Cfa Franc',
|
||||
value: 'XAF',
|
||||
},
|
||||
{
|
||||
label: 'XPF - Cfp Franc',
|
||||
value: 'XPF',
|
||||
},
|
||||
{
|
||||
label: 'CLP - Chilean Peso',
|
||||
value: 'CLP',
|
||||
},
|
||||
{
|
||||
label: 'CNY - Chinese Renminbi Yuan',
|
||||
value: 'CNY',
|
||||
},
|
||||
{
|
||||
label: 'COP - Colombian Peso',
|
||||
value: 'COP',
|
||||
},
|
||||
{
|
||||
label: 'KMF - Comorian Franc',
|
||||
value: 'KMF',
|
||||
},
|
||||
{
|
||||
label: 'CDF - Congolese Franc',
|
||||
value: 'CDF',
|
||||
},
|
||||
{
|
||||
label: 'CRC - Costa Rican Colón',
|
||||
value: 'CRC',
|
||||
},
|
||||
{
|
||||
label: 'HRK - Croatian Kuna',
|
||||
value: 'HRK',
|
||||
},
|
||||
{
|
||||
label: 'CZK - Czech Koruna',
|
||||
value: 'CZK',
|
||||
},
|
||||
{
|
||||
label: 'DKK - Danish Krone',
|
||||
value: 'DKK',
|
||||
},
|
||||
{
|
||||
label: 'DJF - Djiboutian Franc',
|
||||
value: 'DJF',
|
||||
},
|
||||
{
|
||||
label: 'DOP - Dominican Peso',
|
||||
value: 'DOP',
|
||||
},
|
||||
{
|
||||
label: 'XCD - East Caribbean Dollar',
|
||||
value: 'XCD',
|
||||
},
|
||||
{
|
||||
label: 'EGP - Egyptian Pound',
|
||||
value: 'EGP',
|
||||
},
|
||||
{
|
||||
label: 'ETB - Ethiopian Birr',
|
||||
value: 'ETB',
|
||||
},
|
||||
{
|
||||
label: 'FKP - Falkland Islands Pound',
|
||||
value: 'FKP',
|
||||
},
|
||||
{
|
||||
label: 'FJD - Fijian Dollar',
|
||||
value: 'FJD',
|
||||
},
|
||||
{
|
||||
label: 'GMD - Gambian Dalasi',
|
||||
value: 'GMD',
|
||||
},
|
||||
{
|
||||
label: 'GEL - Georgian Lari',
|
||||
value: 'GEL',
|
||||
},
|
||||
{
|
||||
label: 'GIP - Gibraltar Pound',
|
||||
value: 'GIP',
|
||||
},
|
||||
{
|
||||
label: 'GTQ - Guatemalan Quetzal',
|
||||
value: 'GTQ',
|
||||
},
|
||||
{
|
||||
label: 'GNF - Guinean Franc',
|
||||
value: 'GNF',
|
||||
},
|
||||
{
|
||||
label: 'GYD - Guyanese Dollar',
|
||||
value: 'GYD',
|
||||
},
|
||||
{
|
||||
label: 'HTG - Haitian Gourde',
|
||||
value: 'HTG',
|
||||
},
|
||||
{
|
||||
label: 'HNL - Honduran Lempira',
|
||||
value: 'HNL',
|
||||
},
|
||||
{
|
||||
label: 'HKD - Hong Kong Dollar',
|
||||
value: 'HKD',
|
||||
},
|
||||
{
|
||||
label: 'HUF - Hungarian Forint',
|
||||
value: 'HUF',
|
||||
},
|
||||
{
|
||||
label: 'ISK - Icelandic Króna',
|
||||
value: 'ISK',
|
||||
},
|
||||
{
|
||||
label: 'INR - Indian Rupee',
|
||||
value: 'INR',
|
||||
},
|
||||
{
|
||||
label: 'IDR - Indonesian Rupiah',
|
||||
value: 'IDR',
|
||||
},
|
||||
{
|
||||
label: 'ILS - Israeli New Sheqel',
|
||||
value: 'ILS',
|
||||
},
|
||||
{
|
||||
label: 'JMD - Jamaican Dollar',
|
||||
value: 'JMD',
|
||||
},
|
||||
{
|
||||
label: 'JPY - Japanese Yen',
|
||||
value: 'JPY',
|
||||
},
|
||||
{
|
||||
label: 'KZT - Kazakhstani Tenge',
|
||||
value: 'KZT',
|
||||
},
|
||||
{
|
||||
label: 'KES - Kenyan Shilling',
|
||||
value: 'KES',
|
||||
},
|
||||
{
|
||||
label: 'KGS - Kyrgyzstani Som',
|
||||
value: 'KGS',
|
||||
},
|
||||
{
|
||||
label: 'LAK - Lao Kip',
|
||||
value: 'LAK',
|
||||
},
|
||||
{
|
||||
label: 'LBP - Lebanese Pound',
|
||||
value: 'LBP',
|
||||
},
|
||||
{
|
||||
label: 'LSL - Lesotho Loti',
|
||||
value: 'LSL',
|
||||
},
|
||||
{
|
||||
label: 'LRD - Liberian Dollar',
|
||||
value: 'LRD',
|
||||
},
|
||||
{
|
||||
label: 'MOP - Macanese Pataca',
|
||||
value: 'MOP',
|
||||
},
|
||||
{
|
||||
label: 'MKD - Macedonian Denar',
|
||||
value: 'MKD',
|
||||
},
|
||||
{
|
||||
label: 'MGA - Malagasy Ariary',
|
||||
value: 'MGA',
|
||||
},
|
||||
{
|
||||
label: 'MWK - Malawian Kwacha',
|
||||
value: 'MWK',
|
||||
},
|
||||
{
|
||||
label: 'MYR - Malaysian Ringgit',
|
||||
value: 'MYR',
|
||||
},
|
||||
{
|
||||
label: 'MVR - Maldivian Rufiyaa',
|
||||
value: 'MVR',
|
||||
},
|
||||
{
|
||||
label: 'MRO - Mauritanian Ouguiya',
|
||||
value: 'MRO',
|
||||
},
|
||||
{
|
||||
label: 'MUR - Mauritian Rupee',
|
||||
value: 'MUR',
|
||||
},
|
||||
{
|
||||
label: 'MXN - Mexican Peso',
|
||||
value: 'MXN',
|
||||
},
|
||||
{
|
||||
label: 'MDL - Moldovan Leu',
|
||||
value: 'MDL',
|
||||
},
|
||||
{
|
||||
label: 'MNT - Mongolian Tögrög',
|
||||
value: 'MNT',
|
||||
},
|
||||
{
|
||||
label: 'MAD - Moroccan Dirham',
|
||||
value: 'MAD',
|
||||
},
|
||||
{
|
||||
label: 'MZN - Mozambican Metical',
|
||||
value: 'MZN',
|
||||
},
|
||||
{
|
||||
label: 'MMK - Myanmar Kyat',
|
||||
value: 'MMK',
|
||||
},
|
||||
{
|
||||
label: 'NAD - Namibian Dollar',
|
||||
value: 'NAD',
|
||||
},
|
||||
{
|
||||
label: 'NPR - Nepalese Rupee',
|
||||
value: 'NPR',
|
||||
},
|
||||
{
|
||||
label: 'ANG - Netherlands Antillean Gulden',
|
||||
value: 'ANG',
|
||||
},
|
||||
{
|
||||
label: 'TWD - New Taiwan Dollar',
|
||||
value: 'TWD',
|
||||
},
|
||||
{
|
||||
label: 'NZD - New Zealand Dollar',
|
||||
value: 'NZD',
|
||||
},
|
||||
{
|
||||
label: 'NIO - Nicaraguan Córdoba',
|
||||
value: 'NIO',
|
||||
},
|
||||
{
|
||||
label: 'NGN - Nigerian Naira',
|
||||
value: 'NGN',
|
||||
},
|
||||
{
|
||||
label: 'NOK - Norwegian Krone',
|
||||
value: 'NOK',
|
||||
},
|
||||
{
|
||||
label: 'PKR - Pakistani Rupee',
|
||||
value: 'PKR',
|
||||
},
|
||||
{
|
||||
label: 'PAB - Panamanian Balboa',
|
||||
value: 'PAB',
|
||||
},
|
||||
{
|
||||
label: 'PGK - Papua New Guinean Kina',
|
||||
value: 'PGK',
|
||||
},
|
||||
{
|
||||
label: 'PYG - Paraguayan Guaraní',
|
||||
value: 'PYG',
|
||||
},
|
||||
{
|
||||
label: 'PEN - Peruvian Nuevo Sol',
|
||||
value: 'PEN',
|
||||
},
|
||||
{
|
||||
label: 'PHP - Philippine Peso',
|
||||
value: 'PHP',
|
||||
},
|
||||
{
|
||||
label: 'PLN - Polish Złoty',
|
||||
value: 'PLN',
|
||||
},
|
||||
{
|
||||
label: 'QAR - Qatari Riyal',
|
||||
value: 'QAR',
|
||||
},
|
||||
{
|
||||
label: 'RON - Romanian Leu',
|
||||
value: 'RON',
|
||||
},
|
||||
{
|
||||
label: 'RUB - Russian Ruble',
|
||||
value: 'RUB',
|
||||
},
|
||||
{
|
||||
label: 'RWF - Rwandan Franc',
|
||||
value: 'RWF',
|
||||
},
|
||||
{
|
||||
label: 'STD - São Tomé and Príncipe Dobra',
|
||||
value: 'STD',
|
||||
},
|
||||
{
|
||||
label: 'SHP - Saint Helenian Pound',
|
||||
value: 'SHP',
|
||||
},
|
||||
{
|
||||
label: 'SVC - Salvadoran Colón',
|
||||
value: 'SVC',
|
||||
},
|
||||
{
|
||||
label: 'WST - Samoan Tala',
|
||||
value: 'WST',
|
||||
},
|
||||
{
|
||||
label: 'SAR - Saudi Riyal',
|
||||
value: 'SAR',
|
||||
},
|
||||
{
|
||||
label: 'RSD - Serbian Dinar',
|
||||
value: 'RSD',
|
||||
},
|
||||
{
|
||||
label: 'SCR - Seychellois Rupee',
|
||||
value: 'SCR',
|
||||
},
|
||||
{
|
||||
label: 'SLL - Sierra Leonean Leone',
|
||||
value: 'SLL',
|
||||
},
|
||||
{
|
||||
label: 'SGD - Singapore Dollar',
|
||||
value: 'SGD',
|
||||
},
|
||||
{
|
||||
label: 'SBD - Solomon Islands Dollar',
|
||||
value: 'SBD',
|
||||
},
|
||||
{
|
||||
label: 'SOS - Somali Shilling',
|
||||
value: 'SOS',
|
||||
},
|
||||
{
|
||||
label: 'ZAR - South African Rand',
|
||||
value: 'ZAR',
|
||||
},
|
||||
{
|
||||
label: 'KRW - South Korean Won',
|
||||
value: 'KRW',
|
||||
},
|
||||
{
|
||||
label: 'LKR - Sri Lankan Rupee',
|
||||
value: 'LKR',
|
||||
},
|
||||
{
|
||||
label: 'SRD - Surinamese Dollar',
|
||||
value: 'SRD',
|
||||
},
|
||||
{
|
||||
label: 'SZL - Swazi Lilangeni',
|
||||
value: 'SZL',
|
||||
},
|
||||
{
|
||||
label: 'SEK - Swedish Krona',
|
||||
value: 'SEK',
|
||||
},
|
||||
{
|
||||
label: 'CHF - Swiss Franc',
|
||||
value: 'CHF',
|
||||
},
|
||||
{
|
||||
label: 'TJS - Tajikistani Somoni',
|
||||
value: 'TJS',
|
||||
},
|
||||
{
|
||||
label: 'TZS - Tanzanian Shilling',
|
||||
value: 'TZS',
|
||||
},
|
||||
{
|
||||
label: 'THB - Thai Baht',
|
||||
value: 'THB',
|
||||
},
|
||||
{
|
||||
label: 'TOP - Tongan Paʻanga',
|
||||
value: 'TOP',
|
||||
},
|
||||
{
|
||||
label: 'TTD - Trinidad and Tobago Dollar',
|
||||
value: 'TTD',
|
||||
},
|
||||
{
|
||||
label: 'TRY - Turkish Lira',
|
||||
value: 'TRY',
|
||||
},
|
||||
{
|
||||
label: 'UGX - Ugandan Shilling',
|
||||
value: 'UGX',
|
||||
},
|
||||
{
|
||||
label: 'UAH - Ukrainian Hryvnia',
|
||||
value: 'UAH',
|
||||
},
|
||||
{
|
||||
label: 'AED - United Arab Emirates Dirham',
|
||||
value: 'AED',
|
||||
},
|
||||
{
|
||||
label: 'UYU - Uruguayan Peso',
|
||||
value: 'UYU',
|
||||
},
|
||||
{
|
||||
label: 'UZS - Uzbekistani Som',
|
||||
value: 'UZS',
|
||||
},
|
||||
{
|
||||
label: 'VUV - Vanuatu Vatu',
|
||||
value: 'VUV',
|
||||
},
|
||||
{
|
||||
label: 'VND - Vietnamese Đồng',
|
||||
value: 'VND',
|
||||
},
|
||||
{
|
||||
label: 'XOF - West African Cfa Franc',
|
||||
value: 'XOF',
|
||||
},
|
||||
{
|
||||
label: 'YER - Yemeni Rial',
|
||||
value: 'YER',
|
||||
},
|
||||
{
|
||||
label: 'ZMW - Zambian Kwacha',
|
||||
value: 'ZMW',
|
||||
},
|
||||
],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -710,9 +168,6 @@
|
||||
.post('/api/settings/stripe', this.stripeCredentials)
|
||||
.then(() => {
|
||||
|
||||
// End loading
|
||||
this.isLoading = false
|
||||
|
||||
// Store Stripe Public
|
||||
this.$store.commit('SET_STRIPE_PUBLIC_KEY', this.stripeCredentials.key)
|
||||
|
||||
@@ -728,6 +183,8 @@
|
||||
this.isError = true
|
||||
this.errorMessage = error.response.data.message
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
|
||||
// End loading
|
||||
this.isLoading = false
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<div class="block-wrapper">
|
||||
<label>{{ $t('admin_page_plans.form.price') }}:</label>
|
||||
<ValidationProvider tag="div" mode="passive" class="input-wrapper" name="Plan price" rules="required" v-slot="{ errors }">
|
||||
<input v-model="plan.price" :placeholder="$t('admin_page_plans.form.price_plac')" type="number" step="0.01" min="1" max="99999"
|
||||
<input v-model="plan.price" :placeholder="$t('admin_page_plans.form.price_plac')" type="number" step="0.01" min="1" max="999999999999"
|
||||
:class="{'is-error': errors[0]}"/>
|
||||
<span class="error-message" v-if="errors[0]">{{ errors[0] }}</span>
|
||||
</ValidationProvider>
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
InfoBox,
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['config']),
|
||||
...mapGetters(['config', 'currencyList']),
|
||||
stripeWebhookEndpoint() {
|
||||
return this.config.host + '/stripe/webhook'
|
||||
},
|
||||
@@ -119,548 +119,6 @@
|
||||
isLoading: false,
|
||||
isError: false,
|
||||
errorMessage: '',
|
||||
currencyList: [
|
||||
{
|
||||
label: 'USD - United States Dollar',
|
||||
value: 'USD',
|
||||
},
|
||||
{
|
||||
label: 'EUR - Euro',
|
||||
value: 'EUR',
|
||||
},
|
||||
{
|
||||
label: 'GBP - British Pound',
|
||||
value: 'GBP',
|
||||
},
|
||||
{
|
||||
label: 'AFN - Afghan Afghani',
|
||||
value: 'AFN',
|
||||
},
|
||||
{
|
||||
label: 'ALL - Albanian Lek',
|
||||
value: 'ALL',
|
||||
},
|
||||
{
|
||||
label: 'DZD - Algerian Dinar',
|
||||
value: 'DZD',
|
||||
},
|
||||
{
|
||||
label: 'AOA - Angolan Kwanza',
|
||||
value: 'AOA',
|
||||
},
|
||||
{
|
||||
label: 'ARS - Argentine Peso',
|
||||
value: 'ARS',
|
||||
},
|
||||
{
|
||||
label: 'AMD - Armenian Dram',
|
||||
value: 'AMD',
|
||||
},
|
||||
{
|
||||
label: 'AWG - Aruban Florin',
|
||||
value: 'AWG',
|
||||
},
|
||||
{
|
||||
label: 'AUD - Australian Dollar',
|
||||
value: 'AUD',
|
||||
},
|
||||
{
|
||||
label: 'AZN - Azerbaijani Manat',
|
||||
value: 'AZN',
|
||||
},
|
||||
{
|
||||
label: 'BDT - Bangladeshi Taka',
|
||||
value: 'BDT',
|
||||
},
|
||||
{
|
||||
label: 'BBD - Barbadian Dollar',
|
||||
value: 'BBD',
|
||||
},
|
||||
{
|
||||
label: 'BZD - Belize Dollar',
|
||||
value: 'BZD',
|
||||
},
|
||||
{
|
||||
label: 'BMD - Bermudian Dollar',
|
||||
value: 'BMD',
|
||||
},
|
||||
{
|
||||
label: 'BOB - Bolivian Boliviano',
|
||||
value: 'BOB',
|
||||
},
|
||||
{
|
||||
label: 'BAM - Bosnia & Herzegovina Convertible Mark',
|
||||
value: 'BAM',
|
||||
},
|
||||
{
|
||||
label: 'BWP - Botswana Pula',
|
||||
value: 'BWP',
|
||||
},
|
||||
{
|
||||
label: 'BRL - Brazilian Real',
|
||||
value: 'BRL',
|
||||
},
|
||||
{
|
||||
label: 'BND - Brunei Dollar',
|
||||
value: 'BND',
|
||||
},
|
||||
{
|
||||
label: 'BGN - Bulgarian Lev',
|
||||
value: 'BGN',
|
||||
},
|
||||
{
|
||||
label: 'BIF - Burundian Franc',
|
||||
value: 'BIF',
|
||||
},
|
||||
{
|
||||
label: 'KHR - Cambodian Riel',
|
||||
value: 'KHR',
|
||||
},
|
||||
{
|
||||
label: 'CAD - Canadian Dollar',
|
||||
value: 'CAD',
|
||||
},
|
||||
{
|
||||
label: 'CVE - Cape Verdean Escudo',
|
||||
value: 'CVE',
|
||||
},
|
||||
{
|
||||
label: 'KYD - Cayman Islands Dollar',
|
||||
value: 'KYD',
|
||||
},
|
||||
{
|
||||
label: 'XAF - Central African Cfa Franc',
|
||||
value: 'XAF',
|
||||
},
|
||||
{
|
||||
label: 'XPF - Cfp Franc',
|
||||
value: 'XPF',
|
||||
},
|
||||
{
|
||||
label: 'CLP - Chilean Peso',
|
||||
value: 'CLP',
|
||||
},
|
||||
{
|
||||
label: 'CNY - Chinese Renminbi Yuan',
|
||||
value: 'CNY',
|
||||
},
|
||||
{
|
||||
label: 'COP - Colombian Peso',
|
||||
value: 'COP',
|
||||
},
|
||||
{
|
||||
label: 'KMF - Comorian Franc',
|
||||
value: 'KMF',
|
||||
},
|
||||
{
|
||||
label: 'CDF - Congolese Franc',
|
||||
value: 'CDF',
|
||||
},
|
||||
{
|
||||
label: 'CRC - Costa Rican Colón',
|
||||
value: 'CRC',
|
||||
},
|
||||
{
|
||||
label: 'HRK - Croatian Kuna',
|
||||
value: 'HRK',
|
||||
},
|
||||
{
|
||||
label: 'CZK - Czech Koruna',
|
||||
value: 'CZK',
|
||||
},
|
||||
{
|
||||
label: 'DKK - Danish Krone',
|
||||
value: 'DKK',
|
||||
},
|
||||
{
|
||||
label: 'DJF - Djiboutian Franc',
|
||||
value: 'DJF',
|
||||
},
|
||||
{
|
||||
label: 'DOP - Dominican Peso',
|
||||
value: 'DOP',
|
||||
},
|
||||
{
|
||||
label: 'XCD - East Caribbean Dollar',
|
||||
value: 'XCD',
|
||||
},
|
||||
{
|
||||
label: 'EGP - Egyptian Pound',
|
||||
value: 'EGP',
|
||||
},
|
||||
{
|
||||
label: 'ETB - Ethiopian Birr',
|
||||
value: 'ETB',
|
||||
},
|
||||
{
|
||||
label: 'FKP - Falkland Islands Pound',
|
||||
value: 'FKP',
|
||||
},
|
||||
{
|
||||
label: 'FJD - Fijian Dollar',
|
||||
value: 'FJD',
|
||||
},
|
||||
{
|
||||
label: 'GMD - Gambian Dalasi',
|
||||
value: 'GMD',
|
||||
},
|
||||
{
|
||||
label: 'GEL - Georgian Lari',
|
||||
value: 'GEL',
|
||||
},
|
||||
{
|
||||
label: 'GIP - Gibraltar Pound',
|
||||
value: 'GIP',
|
||||
},
|
||||
{
|
||||
label: 'GTQ - Guatemalan Quetzal',
|
||||
value: 'GTQ',
|
||||
},
|
||||
{
|
||||
label: 'GNF - Guinean Franc',
|
||||
value: 'GNF',
|
||||
},
|
||||
{
|
||||
label: 'GYD - Guyanese Dollar',
|
||||
value: 'GYD',
|
||||
},
|
||||
{
|
||||
label: 'HTG - Haitian Gourde',
|
||||
value: 'HTG',
|
||||
},
|
||||
{
|
||||
label: 'HNL - Honduran Lempira',
|
||||
value: 'HNL',
|
||||
},
|
||||
{
|
||||
label: 'HKD - Hong Kong Dollar',
|
||||
value: 'HKD',
|
||||
},
|
||||
{
|
||||
label: 'HUF - Hungarian Forint',
|
||||
value: 'HUF',
|
||||
},
|
||||
{
|
||||
label: 'ISK - Icelandic Króna',
|
||||
value: 'ISK',
|
||||
},
|
||||
{
|
||||
label: 'INR - Indian Rupee',
|
||||
value: 'INR',
|
||||
},
|
||||
{
|
||||
label: 'IDR - Indonesian Rupiah',
|
||||
value: 'IDR',
|
||||
},
|
||||
{
|
||||
label: 'ILS - Israeli New Sheqel',
|
||||
value: 'ILS',
|
||||
},
|
||||
{
|
||||
label: 'JMD - Jamaican Dollar',
|
||||
value: 'JMD',
|
||||
},
|
||||
{
|
||||
label: 'JPY - Japanese Yen',
|
||||
value: 'JPY',
|
||||
},
|
||||
{
|
||||
label: 'KZT - Kazakhstani Tenge',
|
||||
value: 'KZT',
|
||||
},
|
||||
{
|
||||
label: 'KES - Kenyan Shilling',
|
||||
value: 'KES',
|
||||
},
|
||||
{
|
||||
label: 'KGS - Kyrgyzstani Som',
|
||||
value: 'KGS',
|
||||
},
|
||||
{
|
||||
label: 'LAK - Lao Kip',
|
||||
value: 'LAK',
|
||||
},
|
||||
{
|
||||
label: 'LBP - Lebanese Pound',
|
||||
value: 'LBP',
|
||||
},
|
||||
{
|
||||
label: 'LSL - Lesotho Loti',
|
||||
value: 'LSL',
|
||||
},
|
||||
{
|
||||
label: 'LRD - Liberian Dollar',
|
||||
value: 'LRD',
|
||||
},
|
||||
{
|
||||
label: 'MOP - Macanese Pataca',
|
||||
value: 'MOP',
|
||||
},
|
||||
{
|
||||
label: 'MKD - Macedonian Denar',
|
||||
value: 'MKD',
|
||||
},
|
||||
{
|
||||
label: 'MGA - Malagasy Ariary',
|
||||
value: 'MGA',
|
||||
},
|
||||
{
|
||||
label: 'MWK - Malawian Kwacha',
|
||||
value: 'MWK',
|
||||
},
|
||||
{
|
||||
label: 'MYR - Malaysian Ringgit',
|
||||
value: 'MYR',
|
||||
},
|
||||
{
|
||||
label: 'MVR - Maldivian Rufiyaa',
|
||||
value: 'MVR',
|
||||
},
|
||||
{
|
||||
label: 'MRO - Mauritanian Ouguiya',
|
||||
value: 'MRO',
|
||||
},
|
||||
{
|
||||
label: 'MUR - Mauritian Rupee',
|
||||
value: 'MUR',
|
||||
},
|
||||
{
|
||||
label: 'MXN - Mexican Peso',
|
||||
value: 'MXN',
|
||||
},
|
||||
{
|
||||
label: 'MDL - Moldovan Leu',
|
||||
value: 'MDL',
|
||||
},
|
||||
{
|
||||
label: 'MNT - Mongolian Tögrög',
|
||||
value: 'MNT',
|
||||
},
|
||||
{
|
||||
label: 'MAD - Moroccan Dirham',
|
||||
value: 'MAD',
|
||||
},
|
||||
{
|
||||
label: 'MZN - Mozambican Metical',
|
||||
value: 'MZN',
|
||||
},
|
||||
{
|
||||
label: 'MMK - Myanmar Kyat',
|
||||
value: 'MMK',
|
||||
},
|
||||
{
|
||||
label: 'NAD - Namibian Dollar',
|
||||
value: 'NAD',
|
||||
},
|
||||
{
|
||||
label: 'NPR - Nepalese Rupee',
|
||||
value: 'NPR',
|
||||
},
|
||||
{
|
||||
label: 'ANG - Netherlands Antillean Gulden',
|
||||
value: 'ANG',
|
||||
},
|
||||
{
|
||||
label: 'TWD - New Taiwan Dollar',
|
||||
value: 'TWD',
|
||||
},
|
||||
{
|
||||
label: 'NZD - New Zealand Dollar',
|
||||
value: 'NZD',
|
||||
},
|
||||
{
|
||||
label: 'NIO - Nicaraguan Córdoba',
|
||||
value: 'NIO',
|
||||
},
|
||||
{
|
||||
label: 'NGN - Nigerian Naira',
|
||||
value: 'NGN',
|
||||
},
|
||||
{
|
||||
label: 'NOK - Norwegian Krone',
|
||||
value: 'NOK',
|
||||
},
|
||||
{
|
||||
label: 'PKR - Pakistani Rupee',
|
||||
value: 'PKR',
|
||||
},
|
||||
{
|
||||
label: 'PAB - Panamanian Balboa',
|
||||
value: 'PAB',
|
||||
},
|
||||
{
|
||||
label: 'PGK - Papua New Guinean Kina',
|
||||
value: 'PGK',
|
||||
},
|
||||
{
|
||||
label: 'PYG - Paraguayan Guaraní',
|
||||
value: 'PYG',
|
||||
},
|
||||
{
|
||||
label: 'PEN - Peruvian Nuevo Sol',
|
||||
value: 'PEN',
|
||||
},
|
||||
{
|
||||
label: 'PHP - Philippine Peso',
|
||||
value: 'PHP',
|
||||
},
|
||||
{
|
||||
label: 'PLN - Polish Złoty',
|
||||
value: 'PLN',
|
||||
},
|
||||
{
|
||||
label: 'QAR - Qatari Riyal',
|
||||
value: 'QAR',
|
||||
},
|
||||
{
|
||||
label: 'RON - Romanian Leu',
|
||||
value: 'RON',
|
||||
},
|
||||
{
|
||||
label: 'RUB - Russian Ruble',
|
||||
value: 'RUB',
|
||||
},
|
||||
{
|
||||
label: 'RWF - Rwandan Franc',
|
||||
value: 'RWF',
|
||||
},
|
||||
{
|
||||
label: 'STD - São Tomé and Príncipe Dobra',
|
||||
value: 'STD',
|
||||
},
|
||||
{
|
||||
label: 'SHP - Saint Helenian Pound',
|
||||
value: 'SHP',
|
||||
},
|
||||
{
|
||||
label: 'SVC - Salvadoran Colón',
|
||||
value: 'SVC',
|
||||
},
|
||||
{
|
||||
label: 'WST - Samoan Tala',
|
||||
value: 'WST',
|
||||
},
|
||||
{
|
||||
label: 'SAR - Saudi Riyal',
|
||||
value: 'SAR',
|
||||
},
|
||||
{
|
||||
label: 'RSD - Serbian Dinar',
|
||||
value: 'RSD',
|
||||
},
|
||||
{
|
||||
label: 'SCR - Seychellois Rupee',
|
||||
value: 'SCR',
|
||||
},
|
||||
{
|
||||
label: 'SLL - Sierra Leonean Leone',
|
||||
value: 'SLL',
|
||||
},
|
||||
{
|
||||
label: 'SGD - Singapore Dollar',
|
||||
value: 'SGD',
|
||||
},
|
||||
{
|
||||
label: 'SBD - Solomon Islands Dollar',
|
||||
value: 'SBD',
|
||||
},
|
||||
{
|
||||
label: 'SOS - Somali Shilling',
|
||||
value: 'SOS',
|
||||
},
|
||||
{
|
||||
label: 'ZAR - South African Rand',
|
||||
value: 'ZAR',
|
||||
},
|
||||
{
|
||||
label: 'KRW - South Korean Won',
|
||||
value: 'KRW',
|
||||
},
|
||||
{
|
||||
label: 'LKR - Sri Lankan Rupee',
|
||||
value: 'LKR',
|
||||
},
|
||||
{
|
||||
label: 'SRD - Surinamese Dollar',
|
||||
value: 'SRD',
|
||||
},
|
||||
{
|
||||
label: 'SZL - Swazi Lilangeni',
|
||||
value: 'SZL',
|
||||
},
|
||||
{
|
||||
label: 'SEK - Swedish Krona',
|
||||
value: 'SEK',
|
||||
},
|
||||
{
|
||||
label: 'CHF - Swiss Franc',
|
||||
value: 'CHF',
|
||||
},
|
||||
{
|
||||
label: 'TJS - Tajikistani Somoni',
|
||||
value: 'TJS',
|
||||
},
|
||||
{
|
||||
label: 'TZS - Tanzanian Shilling',
|
||||
value: 'TZS',
|
||||
},
|
||||
{
|
||||
label: 'THB - Thai Baht',
|
||||
value: 'THB',
|
||||
},
|
||||
{
|
||||
label: 'TOP - Tongan Paʻanga',
|
||||
value: 'TOP',
|
||||
},
|
||||
{
|
||||
label: 'TTD - Trinidad and Tobago Dollar',
|
||||
value: 'TTD',
|
||||
},
|
||||
{
|
||||
label: 'TRY - Turkish Lira',
|
||||
value: 'TRY',
|
||||
},
|
||||
{
|
||||
label: 'UGX - Ugandan Shilling',
|
||||
value: 'UGX',
|
||||
},
|
||||
{
|
||||
label: 'UAH - Ukrainian Hryvnia',
|
||||
value: 'UAH',
|
||||
},
|
||||
{
|
||||
label: 'AED - United Arab Emirates Dirham',
|
||||
value: 'AED',
|
||||
},
|
||||
{
|
||||
label: 'UYU - Uruguayan Peso',
|
||||
value: 'UYU',
|
||||
},
|
||||
{
|
||||
label: 'UZS - Uzbekistani Som',
|
||||
value: 'UZS',
|
||||
},
|
||||
{
|
||||
label: 'VUV - Vanuatu Vatu',
|
||||
value: 'VUV',
|
||||
},
|
||||
{
|
||||
label: 'VND - Vietnamese Đồng',
|
||||
value: 'VND',
|
||||
},
|
||||
{
|
||||
label: 'XOF - West African Cfa Franc',
|
||||
value: 'XOF',
|
||||
},
|
||||
{
|
||||
label: 'YER - Yemeni Rial',
|
||||
value: 'YER',
|
||||
},
|
||||
{
|
||||
label: 'ZMW - Zambian Kwacha',
|
||||
value: 'ZMW',
|
||||
},
|
||||
],
|
||||
stripeCredentials: {
|
||||
key: '',
|
||||
secret: '',
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
<ValidationProvider tag="div" mode="passive" class="input-wrapper" name="Price"
|
||||
rules="required" v-slot="{ errors }">
|
||||
<input v-model="plan.attributes.price" placeholder="Type your plan price" type="number"
|
||||
step="0.01" min="1" max="99999"
|
||||
step="0.01" min="1" max="999999999999"
|
||||
:class="{'is-error': errors[0]}"/>
|
||||
<span class="error-message" v-if="errors[0]">{{ errors[0] }}</span>
|
||||
</ValidationProvider>
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
<script>
|
||||
import {ValidationProvider, ValidationObserver} from 'vee-validate/dist/vee-validate.full'
|
||||
import DesktopToolbar from '@/components/FilesView/DesktopToolbar'
|
||||
import FileFullPreview from "@/components/FilesView/FileFullpreview";
|
||||
import FileFullPreview from "@/components/FilesView/FileFullPreview";
|
||||
import FileItemGrid from '@/components/FilesView/FileItemGrid'
|
||||
import FileBrowser from '@/components/FilesView/FileBrowser'
|
||||
import ContextMenu from '@/components/FilesView/ContextMenu'
|
||||
@@ -226,6 +226,19 @@
|
||||
@import '@assets/vue-file-manager/_auth-form';
|
||||
@import '@assets/vue-file-manager/_auth';
|
||||
|
||||
#files-view {
|
||||
font-family: 'Nunito', sans-serif;
|
||||
font-size: 16px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
min-width: 320px;
|
||||
overflow-x: hidden;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
#shared {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user