Compare commits
8 Commits
57e22aaf58
...
158c546df0
| Author | SHA1 | Date |
|---|---|---|
|
|
158c546df0 | |
|
|
df6c5fcff4 | |
|
|
1af04e0669 | |
|
|
86a14cf720 | |
|
|
ebcca33aef | |
|
|
8dffb4bdbc | |
|
|
c4e67ccadb | |
|
|
e18f559236 |
|
|
@ -113,6 +113,7 @@ return [
|
||||||
'en' => 'English',
|
'en' => 'English',
|
||||||
'tr' => 'Türkçe',
|
'tr' => 'Türkçe',
|
||||||
'ar' => 'Arabic',
|
'ar' => 'Arabic',
|
||||||
|
'ru' => 'Русский',
|
||||||
],
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -150,7 +151,7 @@ return [
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'currency' => env('APP_CURRENCY', 'USD'),
|
'currency' => env('APP_CURRENCY', 'RUB'),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -96,9 +96,9 @@ return array(
|
||||||
"https://" => ["rules" => []]
|
"https://" => ["rules" => []]
|
||||||
],
|
],
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
'log_output_file' => null,
|
'log_output_file' => null,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -171,13 +171,13 @@ return array(
|
||||||
*/
|
*/
|
||||||
"default_paper_size" => "a4",
|
"default_paper_size" => "a4",
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The default paper orientation.
|
* The default paper orientation.
|
||||||
*
|
*
|
||||||
* The orientation of the page (portrait or landscape).
|
* The orientation of the page (portrait or landscape).
|
||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
'default_paper_orientation' => "portrait",
|
'default_paper_orientation' => "portrait",
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
165
config/excel.php
165
config/excel.php
|
|
@ -14,7 +14,7 @@ return [
|
||||||
| Here you can specify how big the chunk should be.
|
| Here you can specify how big the chunk should be.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'chunk_size' => 1000,
|
'chunk_size' => 1000,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
@ -41,14 +41,15 @@ return [
|
||||||
| Configure e.g. delimiter, enclosure and line ending for CSV exports.
|
| Configure e.g. delimiter, enclosure and line ending for CSV exports.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'csv' => [
|
'csv' => [
|
||||||
'delimiter' => ',',
|
'delimiter' => ',',
|
||||||
'enclosure' => '"',
|
'enclosure' => '"',
|
||||||
'line_ending' => PHP_EOL,
|
'line_ending' => PHP_EOL,
|
||||||
'use_bom' => false,
|
'use_bom' => false,
|
||||||
'include_separator_line' => false,
|
'include_separator_line' => false,
|
||||||
'excel_compatibility' => false,
|
'excel_compatibility' => false,
|
||||||
'output_encoding' => '',
|
'output_encoding' => '',
|
||||||
|
'test_auto_detect' => true,
|
||||||
],
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -59,20 +60,20 @@ return [
|
||||||
| Configure e.g. default title, creator, subject,...
|
| Configure e.g. default title, creator, subject,...
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'properties' => [
|
'properties' => [
|
||||||
'creator' => '',
|
'creator' => '',
|
||||||
'lastModifiedBy' => '',
|
'lastModifiedBy' => '',
|
||||||
'title' => '',
|
'title' => '',
|
||||||
'description' => '',
|
'description' => '',
|
||||||
'subject' => '',
|
'subject' => '',
|
||||||
'keywords' => '',
|
'keywords' => '',
|
||||||
'category' => '',
|
'category' => '',
|
||||||
'manager' => '',
|
'manager' => '',
|
||||||
'company' => '',
|
'company' => '',
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
|
||||||
'imports' => [
|
'imports' => [
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
@ -85,7 +86,7 @@ return [
|
||||||
| you can enable it by setting read_only to false.
|
| you can enable it by setting read_only to false.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'read_only' => true,
|
'read_only' => true,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
@ -109,7 +110,7 @@ return [
|
||||||
| Available options: none|slug|custom
|
| Available options: none|slug|custom
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'heading_row' => [
|
'heading_row' => [
|
||||||
'formatter' => 'slug',
|
'formatter' => 'slug',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
@ -121,12 +122,12 @@ return [
|
||||||
| Configure e.g. delimiter, enclosure and line ending for CSV imports.
|
| Configure e.g. delimiter, enclosure and line ending for CSV imports.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'csv' => [
|
'csv' => [
|
||||||
'delimiter' => null,
|
'delimiter' => null,
|
||||||
'enclosure' => '"',
|
'enclosure' => '"',
|
||||||
'escape_character' => '\\',
|
'escape_character' => '\\',
|
||||||
'contiguous' => false,
|
'contiguous' => false,
|
||||||
'input_encoding' => 'UTF-8',
|
'input_encoding' => 'UTF-8',
|
||||||
],
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -137,16 +138,31 @@ return [
|
||||||
| Configure e.g. default title, creator, subject,...
|
| Configure e.g. default title, creator, subject,...
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'properties' => [
|
'properties' => [
|
||||||
'creator' => '',
|
'creator' => '',
|
||||||
'lastModifiedBy' => '',
|
'lastModifiedBy' => '',
|
||||||
'title' => '',
|
'title' => '',
|
||||||
'description' => '',
|
'description' => '',
|
||||||
'subject' => '',
|
'subject' => '',
|
||||||
'keywords' => '',
|
'keywords' => '',
|
||||||
'category' => '',
|
'category' => '',
|
||||||
'manager' => '',
|
'manager' => '',
|
||||||
'company' => '',
|
'company' => '',
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Cell Middleware
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Configure middleware that is executed on getting a cell value
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'cells' => [
|
||||||
|
'middleware' => [
|
||||||
|
//\Maatwebsite\Excel\Middleware\TrimCellValue::class,
|
||||||
|
//\Maatwebsite\Excel\Middleware\ConvertEmptyCellValuesToNull::class,
|
||||||
|
],
|
||||||
],
|
],
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|
@ -161,21 +177,21 @@ return [
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'extension_detector' => [
|
'extension_detector' => [
|
||||||
'xlsx' => Excel::XLSX,
|
'xlsx' => Excel::XLSX,
|
||||||
'xlsm' => Excel::XLSX,
|
'xlsm' => Excel::XLSX,
|
||||||
'xltx' => Excel::XLSX,
|
'xltx' => Excel::XLSX,
|
||||||
'xltm' => Excel::XLSX,
|
'xltm' => Excel::XLSX,
|
||||||
'xls' => Excel::XLS,
|
'xls' => Excel::XLS,
|
||||||
'xlt' => Excel::XLS,
|
'xlt' => Excel::XLS,
|
||||||
'ods' => Excel::ODS,
|
'ods' => Excel::ODS,
|
||||||
'ots' => Excel::ODS,
|
'ots' => Excel::ODS,
|
||||||
'slk' => Excel::SLK,
|
'slk' => Excel::SLK,
|
||||||
'xml' => Excel::XML,
|
'xml' => Excel::XML,
|
||||||
'gnumeric' => Excel::GNUMERIC,
|
'gnumeric' => Excel::GNUMERIC,
|
||||||
'htm' => Excel::HTML,
|
'htm' => Excel::HTML,
|
||||||
'html' => Excel::HTML,
|
'html' => Excel::HTML,
|
||||||
'csv' => Excel::CSV,
|
'csv' => Excel::CSV,
|
||||||
'tsv' => Excel::TSV,
|
'tsv' => Excel::TSV,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
@ -186,7 +202,7 @@ return [
|
||||||
| Available options: Excel::MPDF | Excel::TCPDF | Excel::DOMPDF
|
| Available options: Excel::MPDF | Excel::TCPDF | Excel::DOMPDF
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'pdf' => Excel::DOMPDF,
|
'pdf' => Excel::DOMPDF,
|
||||||
],
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -206,11 +222,11 @@ return [
|
||||||
| [x] PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder::class
|
| [x] PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder::class
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'value_binder' => [
|
'value_binder' => [
|
||||||
'default' => Maatwebsite\Excel\DefaultValueBinder::class,
|
'default' => Maatwebsite\Excel\DefaultValueBinder::class,
|
||||||
],
|
],
|
||||||
|
|
||||||
'cache' => [
|
'cache' => [
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| Default cell caching driver
|
| Default cell caching driver
|
||||||
|
|
@ -219,7 +235,7 @@ return [
|
||||||
| By default PhpSpreadsheet keeps all cell values in memory, however when
|
| By default PhpSpreadsheet keeps all cell values in memory, however when
|
||||||
| dealing with large files, this might result into memory issues. If you
|
| dealing with large files, this might result into memory issues. If you
|
||||||
| want to mitigate that, you can configure a cell caching driver here.
|
| want to mitigate that, you can configure a cell caching driver here.
|
||||||
| When using the illuminate driver, it will store each value in a the
|
| When using the illuminate driver, it will store each value in the
|
||||||
| cache store. This can slow down the process, because it needs to
|
| cache store. This can slow down the process, because it needs to
|
||||||
| store each value. You can use the "batch" store if you want to
|
| store each value. You can use the "batch" store if you want to
|
||||||
| only persist to the store when the memory limit is reached.
|
| only persist to the store when the memory limit is reached.
|
||||||
|
|
@ -227,7 +243,7 @@ return [
|
||||||
| Drivers: memory|illuminate|batch
|
| Drivers: memory|illuminate|batch
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'driver' => 'memory',
|
'driver' => 'memory',
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
@ -239,7 +255,7 @@ return [
|
||||||
| Here you can tweak the memory limit to your liking.
|
| Here you can tweak the memory limit to your liking.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'batch' => [
|
'batch' => [
|
||||||
'memory_limit' => 60000,
|
'memory_limit' => 60000,
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
@ -255,9 +271,23 @@ return [
|
||||||
| at "null" it will use the default store.
|
| at "null" it will use the default store.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'illuminate' => [
|
'illuminate' => [
|
||||||
'store' => null,
|
'store' => null,
|
||||||
],
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Cache Time-to-live (TTL)
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The TTL of items written to cache. If you want to keep the items cached
|
||||||
|
| indefinitely, set this to null. Otherwise, set a number of seconds,
|
||||||
|
| a \DateInterval, or a callable.
|
||||||
|
|
|
||||||
|
| Allowable types: callable|\DateInterval|int|null
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'default_ttl' => 10800,
|
||||||
],
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -277,7 +307,7 @@ return [
|
||||||
*/
|
*/
|
||||||
'transactions' => [
|
'transactions' => [
|
||||||
'handler' => 'db',
|
'handler' => 'db',
|
||||||
'db' => [
|
'db' => [
|
||||||
'connection' => null,
|
'connection' => null,
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
|
@ -291,9 +321,26 @@ return [
|
||||||
|
|
|
|
||||||
| When exporting and importing files, we use a temporary file, before
|
| When exporting and importing files, we use a temporary file, before
|
||||||
| storing reading or downloading. Here you can customize that path.
|
| storing reading or downloading. Here you can customize that path.
|
||||||
|
| permissions is an array with the permission flags for the directory (dir)
|
||||||
|
| and the create file (file).
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'local_path' => storage_path('framework/cache/laravel-excel'),
|
'local_path' => storage_path('framework/cache/laravel-excel'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Local Temporary Path Permissions
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Permissions is an array with the permission flags for the directory (dir)
|
||||||
|
| and the create file (file).
|
||||||
|
| If omitted the default permissions of the filesystem will be used.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
'local_permissions' => [
|
||||||
|
// 'dir' => 0755,
|
||||||
|
// 'file' => 0644,
|
||||||
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
@ -309,8 +356,8 @@ return [
|
||||||
| in conjunction with queued imports and exports.
|
| in conjunction with queued imports and exports.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'remote_disk' => null,
|
'remote_disk' => null,
|
||||||
'remote_prefix' => null,
|
'remote_prefix' => null,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -30,8 +30,8 @@ return [
|
||||||
JsonApiSerializer
|
JsonApiSerializer
|
||||||
|
|
||||||
*/
|
*/
|
||||||
'fractal' => [
|
'fractal' => [
|
||||||
'params' => [
|
'params' => [
|
||||||
'include' => 'include'
|
'include' => 'include'
|
||||||
],
|
],
|
||||||
'serializer' => League\Fractal\Serializer\DataArraySerializer::class
|
'serializer' => League\Fractal\Serializer\DataArraySerializer::class
|
||||||
|
|
@ -43,7 +43,7 @@ return [
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'cache' => [
|
'cache' => [
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| Cache Status
|
| Cache Status
|
||||||
|
|
@ -52,7 +52,7 @@ return [
|
||||||
| Enable or disable cache
|
| Enable or disable cache
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'enabled' => false,
|
'enabled' => false,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
@ -62,7 +62,7 @@ return [
|
||||||
| Time of expiration cache
|
| Time of expiration cache
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'minutes' => 30,
|
'minutes' => 30,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
@ -82,7 +82,7 @@ return [
|
||||||
|
|
|
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'clean' => [
|
'clean' => [
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
@ -102,14 +102,14 @@ return [
|
||||||
| delete : Clear Cache on delete Entry in repository
|
| delete : Clear Cache on delete Entry in repository
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'on' => [
|
'on' => [
|
||||||
'create' => true,
|
'create' => true,
|
||||||
'update' => true,
|
'update' => true,
|
||||||
'delete' => true,
|
'delete' => true,
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|
||||||
'params' => [
|
'params' => [
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| Skip Cache Params
|
| Skip Cache Params
|
||||||
|
|
@ -137,8 +137,8 @@ return [
|
||||||
|
|
|
|
||||||
| 'except' =>['find'],
|
| 'except' =>['find'],
|
||||||
*/
|
*/
|
||||||
'allowed' => [
|
'allowed' => [
|
||||||
'only' => null,
|
'only' => null,
|
||||||
'except' => null
|
'except' => null
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|
@ -151,7 +151,7 @@ return [
|
||||||
| Settings of request parameters names that will be used by Criteria
|
| Settings of request parameters names that will be used by Criteria
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'criteria' => [
|
'criteria' => [
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| Accepted Conditions
|
| Accepted Conditions
|
||||||
|
|
@ -210,15 +210,15 @@ return [
|
||||||
| http://prettus.local/?search=lorem&searchJoin=or
|
| http://prettus.local/?search=lorem&searchJoin=or
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'params' => [
|
'params' => [
|
||||||
'search' => 'search',
|
'search' => 'search',
|
||||||
'searchFields' => 'searchFields',
|
'searchFields' => 'searchFields',
|
||||||
'filter' => 'filter',
|
'filter' => 'filter',
|
||||||
'orderBy' => 'orderBy',
|
'orderBy' => 'orderBy',
|
||||||
'sortedBy' => 'sortedBy',
|
'sortedBy' => 'sortedBy',
|
||||||
'with' => 'with',
|
'with' => 'with',
|
||||||
'searchJoin' => 'searchJoin',
|
'searchJoin' => 'searchJoin',
|
||||||
'withCount' => 'withCount'
|
'withCount' => 'withCount'
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
/*
|
/*
|
||||||
|
|
@ -227,20 +227,20 @@ return [
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
'generator' => [
|
'generator' => [
|
||||||
'basePath' => app()->path(),
|
'basePath' => app()->path(),
|
||||||
'rootNamespace' => 'App\\',
|
'rootNamespace' => 'App\\',
|
||||||
'stubsOverridePath' => app()->path(),
|
'stubsOverridePath' => app()->path(),
|
||||||
'paths' => [
|
'paths' => [
|
||||||
'models' => 'Entities',
|
'models' => 'Entities',
|
||||||
'repositories' => 'Repositories',
|
'repositories' => 'Repositories',
|
||||||
'interfaces' => 'Repositories',
|
'interfaces' => 'Repositories',
|
||||||
'transformers' => 'Transformers',
|
'transformers' => 'Transformers',
|
||||||
'presenters' => 'Presenters',
|
'presenters' => 'Presenters',
|
||||||
'validators' => 'Validators',
|
'validators' => 'Validators',
|
||||||
'controllers' => 'Http/Controllers',
|
'controllers' => 'Http/Controllers',
|
||||||
'provider' => 'RepositoryServiceProvider',
|
'provider' => 'RepositoryServiceProvider',
|
||||||
'criteria' => 'Criteria'
|
'criteria' => 'Criteria'
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -4,33 +4,30 @@ use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class CreatePersonalAccessTokensTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function up()
|
public function up(): void
|
||||||
{
|
{
|
||||||
Schema::create('personal_access_tokens', function (Blueprint $table) {
|
Schema::create('personal_access_tokens', function (Blueprint $table) {
|
||||||
$table->bigIncrements('id');
|
$table->id();
|
||||||
$table->morphs('tokenable');
|
$table->morphs('tokenable');
|
||||||
$table->string('name');
|
$table->string('name');
|
||||||
$table->string('token', 64)->unique();
|
$table->string('token', 64)->unique();
|
||||||
$table->text('abilities')->nullable();
|
$table->text('abilities')->nullable();
|
||||||
$table->timestamp('last_used_at')->nullable();
|
$table->timestamp('last_used_at')->nullable();
|
||||||
|
$table->timestamp('expires_at')->nullable();
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reverse the migrations.
|
* Reverse the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function down()
|
public function down(): void
|
||||||
{
|
{
|
||||||
Schema::dropIfExists('personal_access_tokens');
|
Schema::dropIfExists('personal_access_tokens');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
|
||||||
|
|
@ -168,7 +168,7 @@ return [
|
||||||
'call' => 'مكالمة',
|
'call' => 'مكالمة',
|
||||||
'meeting' => 'لقاء',
|
'meeting' => 'لقاء',
|
||||||
'lunch' => 'غداء',
|
'lunch' => 'غداء',
|
||||||
'file' => 'ملف',
|
'file-name' => 'ملف',
|
||||||
'quote' => 'اقتبس',
|
'quote' => 'اقتبس',
|
||||||
'create-quote' => 'إنشاء اقتباس',
|
'create-quote' => 'إنشاء اقتباس',
|
||||||
'type' => 'نوع',
|
'type' => 'نوع',
|
||||||
|
|
@ -176,6 +176,7 @@ return [
|
||||||
'schedule' => 'جدول',
|
'schedule' => 'جدول',
|
||||||
'from' => 'من عند',
|
'from' => 'من عند',
|
||||||
'to' => 'إلى',
|
'to' => 'إلى',
|
||||||
|
'mail-to' => 'إلى',
|
||||||
'location' => 'موقع',
|
'location' => 'موقع',
|
||||||
'participants' => 'مشاركون',
|
'participants' => 'مشاركون',
|
||||||
'participant-info' => 'ابدأ في كتابة الاسم',
|
'participant-info' => 'ابدأ في كتابة الاسم',
|
||||||
|
|
|
||||||
|
|
@ -176,6 +176,7 @@ return [
|
||||||
'schedule' => 'Schedule',
|
'schedule' => 'Schedule',
|
||||||
'from' => 'From',
|
'from' => 'From',
|
||||||
'to' => 'To',
|
'to' => 'To',
|
||||||
|
'mail-to' => 'To',
|
||||||
'location' => 'Location',
|
'location' => 'Location',
|
||||||
'participants' => 'Participants',
|
'participants' => 'Participants',
|
||||||
'participant-info' => 'Start typing name',
|
'participant-info' => 'Start typing name',
|
||||||
|
|
@ -184,7 +185,7 @@ return [
|
||||||
'cc' => 'Cc',
|
'cc' => 'Cc',
|
||||||
'bcc' => 'Bcc',
|
'bcc' => 'Bcc',
|
||||||
'email-placeholder' => 'Press enter to add emails',
|
'email-placeholder' => 'Press enter to add emails',
|
||||||
'file' => 'File',
|
'file-name' => 'File',
|
||||||
'subject' => 'Subject',
|
'subject' => 'Subject',
|
||||||
'reply' => 'Reply',
|
'reply' => 'Reply',
|
||||||
'send' => 'Send',
|
'send' => 'Send',
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,870 @@
|
||||||
|
<?php
|
||||||
|
return [
|
||||||
|
'dashboard' => [
|
||||||
|
'title' => 'Главная панель',
|
||||||
|
'cards' => 'Карточки',
|
||||||
|
'column' => 'Колонки',
|
||||||
|
'done' => 'Готово',
|
||||||
|
'activity' => 'Активность',
|
||||||
|
'activities' => 'События',
|
||||||
|
'top_leads' => 'Лучшие сделки',
|
||||||
|
'pipelines' => 'Маршруты',
|
||||||
|
'quotes' => 'Договоры',
|
||||||
|
'emails' => 'Кореспонденция',
|
||||||
|
'custom_card' => 'Пользовательская карта',
|
||||||
|
'customers' => 'Заказчики',
|
||||||
|
'top_customers' => 'Лучшие заказчики',
|
||||||
|
'leads_started' => 'В работе',
|
||||||
|
'products' => 'Продукты',
|
||||||
|
'top_products' => 'Лучшие продукты',
|
||||||
|
'leads_over_time' => 'Просроченные',
|
||||||
|
'no_record_found' => 'Запись не найдена',
|
||||||
|
'week' => 'Неделя ',
|
||||||
|
],
|
||||||
|
|
||||||
|
'layouts' => [
|
||||||
|
'app-version' => 'Версия : :version',
|
||||||
|
'dashboard' => 'Рабочий стол',
|
||||||
|
'leads' => 'Услуги',
|
||||||
|
'quotes' => 'Договоры',
|
||||||
|
'quote' => 'Доовор',
|
||||||
|
'mail' => [
|
||||||
|
'title' => 'Кореспонденция',
|
||||||
|
'compose' => 'Написать',
|
||||||
|
'inbox' => 'Входящие',
|
||||||
|
'draft' => 'Черновики',
|
||||||
|
'outbox' => 'Отправленные',
|
||||||
|
'sent' => 'Sent',
|
||||||
|
'trash' => 'Корзина',
|
||||||
|
'setting' => 'Настройки',
|
||||||
|
],
|
||||||
|
'activities' => 'События',
|
||||||
|
'contacts' => 'Контакты',
|
||||||
|
'persons' => 'Сотрудники организации Заявителя',
|
||||||
|
'person' => 'Сотрудник организации Заявителя',
|
||||||
|
'organizations' => 'Организации Заявители',
|
||||||
|
'organization' => 'Организация Заявитель',
|
||||||
|
'products' => 'Продукты',
|
||||||
|
'product' => 'Продукт',
|
||||||
|
'settings' => 'Настройки',
|
||||||
|
'user' => 'Пользователи',
|
||||||
|
'user-info' => 'Управляйте всеми своими пользователями и их разрешениями в CRM, что им разрешено делать.',
|
||||||
|
'groups' => 'Группы',
|
||||||
|
'groups-info' => 'Добавляйте, редактируйте или удаляйте группы из CRM',
|
||||||
|
'roles' => 'Роли',
|
||||||
|
'role' => 'Роль',
|
||||||
|
'roles-info' => 'Добавляйте, редактируйте или удаляйте роли из CRM',
|
||||||
|
'users' => 'Пользователи',
|
||||||
|
'users-info' => 'Добавляйте, редактируйте или удаляйте пользователей из CRM',
|
||||||
|
'lead' => 'Область деятельности',
|
||||||
|
'lead-info' => 'Управляйте всеми настройками, связанными с областью деятельности, в CRM',
|
||||||
|
'pipelines' => 'Услуги',
|
||||||
|
'pipelines-info' => 'Добавляйте, редактируйте или удаляйте услуги из CRM',
|
||||||
|
'sources' => 'Центральные органы системы',
|
||||||
|
'sources-info' => 'Добавляйте, редактируйте или удаляйте ЦОС из CRM',
|
||||||
|
'types' => 'Типы',
|
||||||
|
'types-info' => 'Добавляйте, редактируйте или удаляйте типы из CRM',
|
||||||
|
'automation' => 'Автоматизация',
|
||||||
|
'automation-info' => 'Управляйте всеми настройками, связанными с автоматизацией, в CRM',
|
||||||
|
'attributes' => 'Атрибуты',
|
||||||
|
'attribute' => 'Атрибут',
|
||||||
|
'attributes-info' => 'Добавляйте, редактируйте или удаляйте атрибуты из CRM',
|
||||||
|
'email-templates' => 'Шаблоны электронной почты',
|
||||||
|
'email' => 'Электронная почта',
|
||||||
|
'email-templates-info' => 'Добавляйте, редактируйте или удаляйте шаблоны электронной почты из CRM',
|
||||||
|
'workflows' => 'Рабочие процессы',
|
||||||
|
'workflows-info' => 'Добавляйте, редактируйте или удаляйте рабочие процессы из CRM',
|
||||||
|
'other-settings' => 'Другие настройки',
|
||||||
|
'other-settings-info' => 'Управляйте всеми дополнительными настройками в CRM',
|
||||||
|
// 'web-forms' => 'Внешние формы',
|
||||||
|
// 'web-forms-info' => 'Добавляйте, редактируйте или удаляйте внешние формы из CRM',
|
||||||
|
'tags' => 'Ярлыки',
|
||||||
|
'tags-info' => 'Добавляйте, редактируйте или удаляйте ярлыки из CRM',
|
||||||
|
'my-account' => 'Мой аккаунт',
|
||||||
|
'sign-out' => 'Выход',
|
||||||
|
'back' => 'Назад',
|
||||||
|
'name' => 'Наименование',
|
||||||
|
'configuration' => 'Конфигурация',
|
||||||
|
'howdy' => 'Привет!',
|
||||||
|
],
|
||||||
|
|
||||||
|
'contacts' => [
|
||||||
|
'organizations' => [
|
||||||
|
'title' => 'Организации Заявители',
|
||||||
|
'organization' => 'Организация Заявитель',
|
||||||
|
'create-title' => 'Добавить организацию',
|
||||||
|
'edit-title' => 'Редактировать организацию',
|
||||||
|
'save-btn-title' => 'Сохранить',
|
||||||
|
'back' => 'Назад',
|
||||||
|
'cancel' => 'Закрыть',
|
||||||
|
'create-success' => 'Организация успешно добавлена.',
|
||||||
|
'update-success' => 'Организация успешно обновлена.',
|
||||||
|
'delete-success' => 'Организация успешно удалена.',
|
||||||
|
'delete-failed' => 'Организацию не может быть удалена.',
|
||||||
|
],
|
||||||
|
|
||||||
|
'persons' => [
|
||||||
|
'title' => 'Сотрудник организации заявителя',
|
||||||
|
'person' => 'Сотрудник организации заявителя',
|
||||||
|
'create-title' => 'Добавить сотрудника',
|
||||||
|
'edit-title' => 'Редактировать сотрудника',
|
||||||
|
'save-btn-title' => 'Сохранить',
|
||||||
|
'back' => 'Назад',
|
||||||
|
'cancel' => 'Закрыть',
|
||||||
|
'create-success' => 'Сотрудник успешно добавлен.',
|
||||||
|
'update-success' => 'Сотрудник успешно обновлен.',
|
||||||
|
'delete-success' => 'Сотрудник спешно удален.',
|
||||||
|
'delete-failed' => 'Сотрудник не может быть удален.',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'leads' => [
|
||||||
|
'title' => 'Услуги',
|
||||||
|
'lead' => 'Услуга',
|
||||||
|
'create-title' => 'Добавить услугу',
|
||||||
|
'edit-title' => 'Редактировать задачу',
|
||||||
|
'save-btn-title' => 'Сохранить',
|
||||||
|
'save' => 'Сохранить',
|
||||||
|
'upload' => 'Загрузить',
|
||||||
|
'back' => 'Назад',
|
||||||
|
'cancel' => 'Закрыть',
|
||||||
|
'no-lead' => 'Нет задач',
|
||||||
|
'lead-source-name' => 'Источник задачи',
|
||||||
|
'details' => 'Общая информация',
|
||||||
|
'rotten-info' => 'Задача была просрочена на день (дня, дней)',
|
||||||
|
'stage' => 'Этап',
|
||||||
|
'new' => 'Новая',
|
||||||
|
'won-lost' => 'Выполнено/Отклонено',
|
||||||
|
'won' => 'Выполнено',
|
||||||
|
'lost' => 'Отклонено',
|
||||||
|
'change-stage' => 'Поменять этап',
|
||||||
|
'lost-reason' => 'Причина отклонения',
|
||||||
|
'won-value' => 'Прибыль',
|
||||||
|
'created-date:' => 'Дата создания:',
|
||||||
|
'closed-date:' => 'Дата завершения:',
|
||||||
|
'closed-date' => 'Дата завершения',
|
||||||
|
'expected-close-date:' => 'Ожидаемая дата закрытия:',
|
||||||
|
'contact-person' => 'Заявитель',
|
||||||
|
'add-tag' => 'Добавить ярлык',
|
||||||
|
'search-tag' => 'Найти ярлык',
|
||||||
|
'tag-name' => 'Наименование',
|
||||||
|
'name' => 'ФИО ответственного лица от Заявителя',
|
||||||
|
'color' => 'Цвет',
|
||||||
|
'email' => 'Электронная почта',
|
||||||
|
'contact-numbers' => 'Номер телефона',
|
||||||
|
'organization' => 'Организация',
|
||||||
|
'address' => 'Адрес',
|
||||||
|
'products' => 'Продукт',
|
||||||
|
'item' => 'Наименование продукта',
|
||||||
|
'price' => 'Цена',
|
||||||
|
'quantity' => 'Колличество',
|
||||||
|
'amount' => 'Сумма',
|
||||||
|
'create-success' => 'Задача успешно добавлена.',
|
||||||
|
'update-success' => 'Задача успешно обновлена.',
|
||||||
|
'delete-success' => 'Задача успешно удалена.',
|
||||||
|
'delete-failed' => 'Задача не может быть удалена.',
|
||||||
|
'note' => 'Заметки',
|
||||||
|
'activity' => 'События',
|
||||||
|
'title-control' => 'Заголовок',
|
||||||
|
'call' => 'Звонок',
|
||||||
|
'meeting' => 'Встреча',
|
||||||
|
'lunch' => 'Задача',
|
||||||
|
'file' => 'Файл',
|
||||||
|
'quote' => 'Договоры',
|
||||||
|
'create-quote' => 'Заключить договор',
|
||||||
|
'type' => 'Мероприятие',
|
||||||
|
'description' => 'Описание',
|
||||||
|
'schedule' => 'Расписание',
|
||||||
|
'from' => 'от',
|
||||||
|
'to' => 'до',
|
||||||
|
'mail-to' => 'Кому',
|
||||||
|
'location' => 'Место встречи',
|
||||||
|
'participants' => 'Участники',
|
||||||
|
'participant-info' => 'Начните писать имя',
|
||||||
|
'users' => 'Пользователи',
|
||||||
|
'persons' => 'Участники',
|
||||||
|
'cc' => 'Копия',
|
||||||
|
'bcc' => 'Скрытая копия',
|
||||||
|
'email-placeholder' => 'Нажмите Enter для добавления адреса',
|
||||||
|
'subject' => 'Тема',
|
||||||
|
'reply' => 'Текст',
|
||||||
|
'send' => 'Отправить',
|
||||||
|
'all' => 'Все',
|
||||||
|
'notes' => 'Заметки',
|
||||||
|
'select-type' => 'Выбрать тип',
|
||||||
|
'calls' => 'Звонки',
|
||||||
|
'meetings' => 'Встречи',
|
||||||
|
'lunches' => 'Задачи',
|
||||||
|
'emails' => 'Письма',
|
||||||
|
'files' => 'Файлы',
|
||||||
|
'file-name' => 'Наименование',
|
||||||
|
'sales-owner' => 'Ответственное лицо',
|
||||||
|
'person' => 'Сотрудник Заявителя',
|
||||||
|
'expired-at' => 'Крайний срок',
|
||||||
|
'sub-total' => 'Промежуточный итог',
|
||||||
|
'discount' => 'Скидка',
|
||||||
|
'tax' => 'Налог',
|
||||||
|
'adjustment' => 'Корректировка',
|
||||||
|
'grand-total' => 'Итого',
|
||||||
|
'actions' => 'Actions',
|
||||||
|
'planned' => 'Запланировано',
|
||||||
|
'done' => 'Выполнено',
|
||||||
|
'edit' => 'Изменить',
|
||||||
|
'view' => 'Просмотр',
|
||||||
|
'unlink' => 'Открепить',
|
||||||
|
'mark-as-done' => 'Отметить как выполненное',
|
||||||
|
'remove' => 'Удалить',
|
||||||
|
'export-to-pdf' => 'Экспорт в PDF',
|
||||||
|
'empty-planned-activities' => 'У вас нет запланированных событий.',
|
||||||
|
'empty-done-activities' => 'У вас нет выполненных событий.',
|
||||||
|
'note-added' => 'Заметка добавлена',
|
||||||
|
'call-scheduled' => 'Звонок запланирован на :from - :to',
|
||||||
|
'meeting-scheduled' => 'Встреча запланирована на :from - :to',
|
||||||
|
'lunch-scheduled' => 'Задача запланирован на :from - :to',
|
||||||
|
'file-added' => 'Файл добавлен',
|
||||||
|
'quote-destroy-success' => 'Договор успешно удален.',
|
||||||
|
'tag-create-success' => 'Ярлык успешно добавлен.',
|
||||||
|
'tag-destroy-success' => 'Ярлык успешно удален.',
|
||||||
|
],
|
||||||
|
|
||||||
|
'quotes' => [
|
||||||
|
'title' => 'Договоры',
|
||||||
|
'quote' => 'Договор',
|
||||||
|
'create-title' => 'Создать договор',
|
||||||
|
'edit-title' => 'Редактировать договор',
|
||||||
|
'save-btn-title' => 'Сохранить',
|
||||||
|
'back' => 'Назад',
|
||||||
|
'cancel' => 'Закрыть',
|
||||||
|
'quote-information' => 'Информация о договоре',
|
||||||
|
'lead' => 'Lead',
|
||||||
|
'address-information' => 'Адресс',
|
||||||
|
'quote-items' => 'Элементы договора',
|
||||||
|
'name' => 'Наименование',
|
||||||
|
'quantity' => 'Колличество',
|
||||||
|
'price' => 'Цена',
|
||||||
|
'amount' => 'Сумма',
|
||||||
|
'discount' => 'Скидка',
|
||||||
|
'tax' => 'Налог',
|
||||||
|
'total' => 'Итог',
|
||||||
|
'sub-total' => 'Подытог',
|
||||||
|
'adjustment' => 'Корректировка',
|
||||||
|
'grand-total' => 'Итог',
|
||||||
|
'create-success' => 'Договор успешно добавлен.',
|
||||||
|
'update-success' => 'Договор успешно обновлен.',
|
||||||
|
'delete-success' => 'Договор успешно удален.',
|
||||||
|
'delete-failed' => 'Договор не может быть удален.',
|
||||||
|
'quote-id' => 'Договор № п.п.',
|
||||||
|
'quote-date' => 'Дата заключения',
|
||||||
|
'valid-until' => 'Срок',
|
||||||
|
'sales-person' => 'Ответственный',
|
||||||
|
'bill-to' => 'Bill To',
|
||||||
|
'ship-to' => 'Ship To',
|
||||||
|
'sku' => 'Артикул',
|
||||||
|
'product-name' => 'Наименование продукта',
|
||||||
|
'search' => 'Поиск..'
|
||||||
|
],
|
||||||
|
|
||||||
|
'mail' => [
|
||||||
|
'title' => 'Кореспонденция - :type',
|
||||||
|
'compose' => 'Написать',
|
||||||
|
'inbox' => 'Входящие',
|
||||||
|
'draft' => 'Черновики',
|
||||||
|
'outbox' => 'Отправленные',
|
||||||
|
'sent' => 'Sent',
|
||||||
|
'trash' => 'Корзина',
|
||||||
|
'setting' => 'Настройки',
|
||||||
|
'total' => 'Всего',
|
||||||
|
'link-mail' => 'Прикрепить письмо',
|
||||||
|
'link-contact' => 'Ссылка на контакт',
|
||||||
|
'linked-contact' => 'Прикрепленный контакт',
|
||||||
|
'add-to-existing-contact' => 'Добавить к существующему контакту',
|
||||||
|
'create-new-contact' => 'Добавить новый контакт',
|
||||||
|
'search-contact' => 'Найти контакт',
|
||||||
|
'link-lead' => 'Прекрепить услугу',
|
||||||
|
'linked-lead' => 'Прикрепленная услуга',
|
||||||
|
'search-lead' => 'Найти услугу',
|
||||||
|
'link-to-existing-lead' => 'Прикрепить существвующую услугу',
|
||||||
|
'add-new-lead' => 'Добавить новую услугу',
|
||||||
|
'send' => 'Отправить',
|
||||||
|
'back' => 'Назад',
|
||||||
|
'discard' => 'Discard',
|
||||||
|
'from-' => 'From - ',
|
||||||
|
'to-' => 'Кому - ',
|
||||||
|
'cc-' => 'Копия - ',
|
||||||
|
'bcc-' => 'Скрытая копия - ',
|
||||||
|
'reply' => 'Ответить',
|
||||||
|
'reply-all' => 'Ответить всем',
|
||||||
|
'forward' => 'Вперед',
|
||||||
|
'delete' => 'Удалить',
|
||||||
|
'destroy-success' => 'выбранные еписьма успешно удалены.',
|
||||||
|
'save-to-draft' => 'Сохранить в Черновик',
|
||||||
|
'create-success' => 'Письмо успешно отправлено.',
|
||||||
|
'update-success' => 'Письмо успешно обновлено.',
|
||||||
|
'saved-to-draft' => 'Письмо созранено в черновик.',
|
||||||
|
'delete-success' => 'Письмо успешно удалено.',
|
||||||
|
'delete-failed' => 'Письмо не может быть удалено.',
|
||||||
|
'mass-update-success' => 'Письма успешно орбновлены.',
|
||||||
|
|
||||||
|
'forget-password' => [
|
||||||
|
'subject' => 'Сброс пароля пользователя',
|
||||||
|
'dear' => 'Уважаемый(ая) :name',
|
||||||
|
'reset-password' => 'Сброс пароля',
|
||||||
|
'info' => 'Вы получили это письмо, потому что мы получили запрос на сброс пароля для вашей учетной записи.',
|
||||||
|
'final-summary' => 'Если вы не запрашивали сброс пароля, никаких дальнейших действий не требуется.',
|
||||||
|
'thanks' => 'Спасибо!'
|
||||||
|
],
|
||||||
|
|
||||||
|
'user' => [
|
||||||
|
'create-subject' => 'Вы добавлены в качестве участника.',
|
||||||
|
'create-body' => 'Поздравляю! Теперь вы член нашей команды.',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'activities' => [
|
||||||
|
'title' => 'События',
|
||||||
|
'title-control' => 'Заголовок',
|
||||||
|
'edit-title' => 'Редактирование события',
|
||||||
|
'save-btn-title' => 'Сохранить',
|
||||||
|
'back' => 'Назад',
|
||||||
|
'type' => 'Вид события',
|
||||||
|
'note' => 'Заметка',
|
||||||
|
'call' => 'Звонок',
|
||||||
|
'meeting' => 'Встреча',
|
||||||
|
'lunch' => 'Задача',
|
||||||
|
'file' => 'Файл',
|
||||||
|
'description' => 'Описание',
|
||||||
|
'schedule' => 'Расписание',
|
||||||
|
'from' => 'С',
|
||||||
|
'to' => 'До',
|
||||||
|
'location' => 'Место встречи',
|
||||||
|
'participants' => 'Участники',
|
||||||
|
'lead' => 'Услуга',
|
||||||
|
'duration-overlapping' => 'В это время у участников состоится еще одна встреча. Вы хотите продолжить?',
|
||||||
|
'file-upload-success' => 'Файл(ы) успешно загружены.',
|
||||||
|
'file-upload-error' => 'Файл(ы) не могут быть загружены.',
|
||||||
|
'create-success' => ':type успешно добавлен.',
|
||||||
|
'update-success' => ':type успешно обновлен.',
|
||||||
|
'mass-update-success' => 'Событие успешно обновлено.',
|
||||||
|
'mass-update-failed' => 'Событие не могут быть обновлены.',
|
||||||
|
'destroy-success' => ':type успешно удален.',
|
||||||
|
'delete-failed' => ':type не может быть удален.',
|
||||||
|
'typing-placeholder' => 'Начните вводить ФИО',
|
||||||
|
],
|
||||||
|
|
||||||
|
'products' => [
|
||||||
|
'title' => 'Продукты',
|
||||||
|
'product' => 'Продукт',
|
||||||
|
'create-title' => 'Добавить продукт',
|
||||||
|
'edit-title' => 'Редактировать продукт',
|
||||||
|
'save-btn-title' => 'Сохранить',
|
||||||
|
'back' => 'Назад',
|
||||||
|
'cancel' => 'Закрыть',
|
||||||
|
'create-success' => 'Продукт успешно добавлен.',
|
||||||
|
'update-success' => 'Продукт успешно обновлен.',
|
||||||
|
'delete-success' => 'Продукт успешно удален.',
|
||||||
|
'delete-failed' => 'ТПродукт не может быть удален.',
|
||||||
|
],
|
||||||
|
|
||||||
|
'sessions' => [
|
||||||
|
'login' => [
|
||||||
|
'title' => 'Имя пользователя',
|
||||||
|
'welcome' => 'Добро пожаловать',
|
||||||
|
'email' => 'Адрес электронной почты',
|
||||||
|
'password' => 'Пароль',
|
||||||
|
'login' => 'Войти',
|
||||||
|
'forgot-password' => 'Забыли пароль?',
|
||||||
|
'login-error' => 'Пожалуйста, проверьте свои учетные данные и повторите попытку.',
|
||||||
|
'activate-warning' => 'Ваша учетная запись еще не активирована, обратитесь к администратору.',
|
||||||
|
],
|
||||||
|
|
||||||
|
'forgot-password' => [
|
||||||
|
'title' => 'Забыли пароль ?',
|
||||||
|
'email' => 'Адрес электронной почты',
|
||||||
|
'send-reset-password-email' => 'Отправить электронное письмо для сброса пароля',
|
||||||
|
'reset-link-sent' => 'Мы отправили вам ссылку для сброса пароля на электронную почту.',
|
||||||
|
'email-not-exist' => 'Мы не можем найти пользователя с этим адресом электронной почты.',
|
||||||
|
'back-to-login' => 'Вернуться на страницу авторизации'
|
||||||
|
],
|
||||||
|
|
||||||
|
'reset-password' => [
|
||||||
|
'title' => 'Сброс пароля',
|
||||||
|
'email' => 'Адрес электронной почты',
|
||||||
|
'password' => 'Пароль',
|
||||||
|
'confirm-password' => 'Подтвердите пароль',
|
||||||
|
'reset-password' => 'Сброс пароля'
|
||||||
|
]
|
||||||
|
],
|
||||||
|
|
||||||
|
'settings' => [
|
||||||
|
'title' => 'Настройки',
|
||||||
|
|
||||||
|
'groups' => [
|
||||||
|
'title' => 'Группы',
|
||||||
|
'group' => 'Группа',
|
||||||
|
'edit-title' => 'Редактировать группу',
|
||||||
|
'description' => 'Описание',
|
||||||
|
'create-title' => 'Добавить группу',
|
||||||
|
'save-btn-title' => 'Сохранить',
|
||||||
|
'update-btn-title' => 'Редактировать группу',
|
||||||
|
'create-success' => 'Группа успешно добавлена.',
|
||||||
|
'update-success' => 'Группа успешно обновлена.',
|
||||||
|
'destroy-success' => 'Группа успешно удалена.',
|
||||||
|
'delete-failed' => 'Группа не может быть удалена.',
|
||||||
|
'user-define-error' => 'Невозможно удалить системную группу.',
|
||||||
|
],
|
||||||
|
|
||||||
|
'roles' => [
|
||||||
|
'title' => 'Роли',
|
||||||
|
'role' => 'Роль',
|
||||||
|
'edit-title' => 'Редактировать роль',
|
||||||
|
'description' => 'Описание',
|
||||||
|
'create-title' => 'Добавить роль',
|
||||||
|
'permission_type' => 'Уровни доступа',
|
||||||
|
'custom' => 'Пользовательский',
|
||||||
|
'all' => 'Все',
|
||||||
|
'save-btn-title' => 'Сохранить',
|
||||||
|
'update-btn-title' => 'Редактировать роль',
|
||||||
|
'create-success' => 'Роль успешно добавлена.',
|
||||||
|
'update-success' => 'Роль успешно обновлена.',
|
||||||
|
'delete-success' => 'Роль успешно удалена.',
|
||||||
|
'delete-failed' => 'Роль не может быть удалена.',
|
||||||
|
'user-define-error' => 'Не могу удалить системную роль.',
|
||||||
|
'last-delete-error' => 'Требуется хотя бы одна роль.',
|
||||||
|
'current-role-delete-error' => 'Невозможно удалить роль, назначенную текущему пользователю.',
|
||||||
|
'being-used' => 'Роль невозможно удалить, так как она используется администратором.',
|
||||||
|
],
|
||||||
|
|
||||||
|
'users' => [
|
||||||
|
'title' => 'Пользователи',
|
||||||
|
'create-title' => 'Добавить пользователя',
|
||||||
|
'edit-title' => 'Редактировать пользователя',
|
||||||
|
'general' => 'Основная информация',
|
||||||
|
'permission' => 'Права доступа',
|
||||||
|
'name' => 'Имя',
|
||||||
|
'email' => 'Адрес электронной почты',
|
||||||
|
'back' => 'Назад',
|
||||||
|
'password' => 'Пароль',
|
||||||
|
'groups' => 'Группы',
|
||||||
|
'role' => 'Роль',
|
||||||
|
'view-permission' => 'Просмотр прав доступа',
|
||||||
|
'global' => 'Глобальные',
|
||||||
|
'group' => 'Групповые',
|
||||||
|
'individual' => 'Индивидуальные',
|
||||||
|
'status' => 'Активированная/Заблокированная',
|
||||||
|
'save-btn-title' => 'Сохранить',
|
||||||
|
'confirm_password' => 'Подтвердить пароль',
|
||||||
|
'create-success' => 'Пользователь успешно добавлен.',
|
||||||
|
'update-success' => 'Пользователь успешно обновлен.',
|
||||||
|
'delete-success' => 'Пользователь успешно удален.',
|
||||||
|
'delete-failed' => 'Пользователь не может быть удален.',
|
||||||
|
'last-delete-error' => 'Требуется хотя бы один пользователь.',
|
||||||
|
'user-define-error' => 'Не могу удалить системного пользователя.',
|
||||||
|
'mass-update-success' => 'Пользователи успешно обновлены.',
|
||||||
|
'mass-update-failed' => 'Пользователи не могут быть обновлены.',
|
||||||
|
'mass-delete-success' => 'Пользователи успешно удалены.',
|
||||||
|
'mass-delete-failed' => 'Пользователи не могут быть удалены.',
|
||||||
|
],
|
||||||
|
|
||||||
|
'attributes' => [
|
||||||
|
'title' => 'Атрибуты',
|
||||||
|
'attribute' => 'Атрибут',
|
||||||
|
'create-title' => 'Добавить атрибут',
|
||||||
|
'edit-title' => 'Редактировать атрибут',
|
||||||
|
'save-btn-title' => 'Сохранить',
|
||||||
|
'back' => 'Назад',
|
||||||
|
'code' => 'Код',
|
||||||
|
'name' => 'Наименование',
|
||||||
|
'type' => 'Тип данных',
|
||||||
|
'text' => 'Текст',
|
||||||
|
'textarea' => 'Текстовый блок',
|
||||||
|
'price' => 'Цена',
|
||||||
|
'boolean' => 'Булево',
|
||||||
|
'select' => 'Выберите',
|
||||||
|
'multiselect' => 'Множественный список',
|
||||||
|
'address' => 'Адрес',
|
||||||
|
'phone' => 'Телефон',
|
||||||
|
'datetime' => 'Дата и время',
|
||||||
|
'date' => 'Дата',
|
||||||
|
'image' => 'Картинка',
|
||||||
|
'file' => 'Файл',
|
||||||
|
'entity-type' => 'Сущность',
|
||||||
|
'lookup' => 'С помощью поиска',
|
||||||
|
'entity_type' => 'Сущность',
|
||||||
|
'lookup-type' => 'Тип выбора',
|
||||||
|
'checkbox' => 'Радиокнопки',
|
||||||
|
'is_required' => 'Проверка заполнения',
|
||||||
|
'is_unique' => 'Проверка на уникальность',
|
||||||
|
'yes' => 'Да',
|
||||||
|
'no' => 'Нет',
|
||||||
|
'input_validation' => 'Тип проверки',
|
||||||
|
'number' => 'Число',
|
||||||
|
'decimal' => 'Число с точкой',
|
||||||
|
'email' => 'Электронная почта',
|
||||||
|
'url' => 'Ссылка',
|
||||||
|
'options-type' => 'Тип опции',
|
||||||
|
'options' => 'Опции',
|
||||||
|
'sort-order' => 'Порядок сортировки',
|
||||||
|
'add-option-btn-title' => 'Добавить опцию',
|
||||||
|
'create-success' => 'Атрибут успешно добавлен.',
|
||||||
|
'update-success' => 'Атрибут успешно обновлен.',
|
||||||
|
'update-error' => 'Невозможно обновить атрибут.',
|
||||||
|
'delete-success' => 'Атрибут успешно удален.',
|
||||||
|
'delete-failed' => 'Атрибут не может быть удален.',
|
||||||
|
'user-define-error' => 'Невозможно удалить системный атрибут.',
|
||||||
|
'mass-delete-failed' => 'Атрибуты не могут быть удалены.',
|
||||||
|
],
|
||||||
|
|
||||||
|
'pipelines' => [
|
||||||
|
'title' => 'Услуги',
|
||||||
|
'organization' => 'Услуга',
|
||||||
|
'create-title' => 'Добавить услугу',
|
||||||
|
'edit-title' => 'Редактировать услугу',
|
||||||
|
'save-btn-title' => 'Сохранить',
|
||||||
|
'back' => 'Назад',
|
||||||
|
'cancel' => 'Закрыть',
|
||||||
|
'name' => 'Наименование',
|
||||||
|
'rotting-days' => 'Длительность',
|
||||||
|
'is-default' => 'По умолчанию',
|
||||||
|
'probability' => 'Выполнение (%)',
|
||||||
|
'add-stage-btn-title' => 'Добавить этап',
|
||||||
|
'new-stage' => '1. Заявка',
|
||||||
|
'won-stage' => 'Выполненные',
|
||||||
|
'lost-stage' => 'Невыполненные',
|
||||||
|
'duplicate-name' => 'Поле «Наименование» не может повторяться.',
|
||||||
|
'create-success' => 'Услуга успешно добавлена.',
|
||||||
|
'update-success' => 'Услуга успешно обновлена.',
|
||||||
|
'delete-success' => 'Услуга успешно удален.',
|
||||||
|
'delete-failed' => 'Услуга не может быть удалена.',
|
||||||
|
'default-delete-error' => 'Услуга по умолчанию не может быть удален.',
|
||||||
|
],
|
||||||
|
|
||||||
|
'sources' => [
|
||||||
|
'title' => 'Источники',
|
||||||
|
'organization' => 'Источник',
|
||||||
|
'create-title' => 'Добавить источник',
|
||||||
|
'edit-title' => 'Редактировать источник',
|
||||||
|
'save-btn-title' => 'Сохранить',
|
||||||
|
'back' => 'Назад',
|
||||||
|
'cancel' => 'Закрыть',
|
||||||
|
'create-success' => 'Источник успешно добавлен.',
|
||||||
|
'name-exists' => 'Имя источника уже существует.',
|
||||||
|
'update-success' => 'Источник успешно обновлен.',
|
||||||
|
'delete-success' => 'Источник успешно удален.',
|
||||||
|
'delete-failed' => 'Источник не может быть удален.',
|
||||||
|
],
|
||||||
|
|
||||||
|
'types' => [
|
||||||
|
'title' => 'Типы',
|
||||||
|
'organization' => 'Тип',
|
||||||
|
'create-title' => 'Создать тип',
|
||||||
|
'edit-title' => 'Редактировать тип',
|
||||||
|
'save-btn-title' => 'Сохранить',
|
||||||
|
'back' => 'Назад',
|
||||||
|
'cancel' => 'Закрыть',
|
||||||
|
'create-success' => 'Тип успешно добавлен.',
|
||||||
|
'name-exists' => 'Тип уже существует.',
|
||||||
|
'update-success' => 'Тип успешно обновлен.',
|
||||||
|
'delete-success' => 'Тип успешно удален.',
|
||||||
|
'delete-failed' => 'Тип не может быть удален.',
|
||||||
|
],
|
||||||
|
|
||||||
|
'email-templates' => [
|
||||||
|
'title' => 'Шаблоны электронных писем',
|
||||||
|
'create-title' => 'Добавить шаблон',
|
||||||
|
'edit-title' => 'Редактировать шаблон',
|
||||||
|
'save-btn-title' => 'Сохранить',
|
||||||
|
'back' => 'Назад',
|
||||||
|
'cancel' => 'Закрыть',
|
||||||
|
'name' => 'Наименование',
|
||||||
|
'subject' => 'Тема',
|
||||||
|
'content' => 'Текст',
|
||||||
|
'placeholders' => 'Держатели',
|
||||||
|
'create-success' => 'Шаблон электронной почты успешно добавлен.',
|
||||||
|
'update-success' => 'Шаблон электронной почты успешно обновлен.',
|
||||||
|
'delete-success' => 'Шаблон электронной почты успешно удален.',
|
||||||
|
'delete-failed' => 'Шаблон электронной почты не может быть удален.',
|
||||||
|
],
|
||||||
|
|
||||||
|
'workflows' => [
|
||||||
|
'title' => 'Рабочие процессы',
|
||||||
|
'create-title' => 'Добавить процесс',
|
||||||
|
'edit-title' => 'Редактировать процесс',
|
||||||
|
'save-btn-title' => 'Сохранить',
|
||||||
|
'back' => 'Назад',
|
||||||
|
'cancel' => 'Закрыть',
|
||||||
|
'information' => 'Информация',
|
||||||
|
'name' => 'Наименование',
|
||||||
|
'description' => 'Описание',
|
||||||
|
'event' => 'Событие',
|
||||||
|
'events' => 'События',
|
||||||
|
'created' => 'Добавлено',
|
||||||
|
'updated' => 'Обновлено',
|
||||||
|
'deleted' => 'Удалено',
|
||||||
|
'event-info' => 'Событие автоматически запускается для проверки условий и выполнения соответствующего заранее определенного набора действий.',
|
||||||
|
'conditions' => 'Условия',
|
||||||
|
'condition-info' => 'Условия – это набор правил, которые проверяют конкретные сценарии и запускаются в определенных случаях.',
|
||||||
|
'condition-type' => 'Тип условия',
|
||||||
|
'all-conditions-true' => 'Все условия истинно',
|
||||||
|
'any-condition-true' => 'Любое условие истинно',
|
||||||
|
'add-condition' => 'Добавить условие',
|
||||||
|
'choose-condition-to-add' => 'Выберите условие для добавления',
|
||||||
|
'is-equal-to' => 'Равно',
|
||||||
|
'is-not-equal-to' => 'Не равно',
|
||||||
|
'equals-or-greater-than' => 'Равно или больше, чем',
|
||||||
|
'equals-or-less-than' => 'Равно или меньше, чем',
|
||||||
|
'greater-than' => 'Больше чем',
|
||||||
|
'less-than' => 'Меньчше чем',
|
||||||
|
'contain' => 'Содержать',
|
||||||
|
'contains' => 'Содержит',
|
||||||
|
'does-not-contain' => 'Does not contain',
|
||||||
|
'actions' => 'Не содержит',
|
||||||
|
'action-info' => 'Действие не только снижает рабочую нагрузку, но и значительно упрощает автоматизацию CRM.',
|
||||||
|
'choose-action-to-add' => 'Выберите действие для добавления',
|
||||||
|
'update-lead' => 'Редактирование услуги',
|
||||||
|
'update-person' => 'Редактирование участника',
|
||||||
|
'send-email-to-person' => 'Отправить письмо участнику',
|
||||||
|
'send-email-to-sales-owner' => 'Отправить письмо эксперту',
|
||||||
|
'send-email-to-participants' => 'Отправить письмо участникам',
|
||||||
|
'add-tag' => 'AДобавить ярлык',
|
||||||
|
'add-note-as-activity' => 'Добавить заметку в события',
|
||||||
|
'choose-attribute' => 'Выбрать атрибут',
|
||||||
|
'choose-option' => 'Выбрать опцию',
|
||||||
|
'update-person' => 'Редактировать участника',
|
||||||
|
'update-related-leads' => 'Убрать относящуюся услугу',
|
||||||
|
'update-quote' => 'Обновить договор',
|
||||||
|
'add-action' => 'Добавить событие',
|
||||||
|
'create-success' => 'Рабочий процесс успешно добавлен.',
|
||||||
|
'update-success' => 'Рабочий процесс успешно обновлен.',
|
||||||
|
'delete-success' => 'Рабочий процесс успешно удален.',
|
||||||
|
'delete-failed' => 'Рабочий процесс не может быть удален.',
|
||||||
|
],
|
||||||
|
|
||||||
|
'tags' => [
|
||||||
|
'title' => 'Tags',
|
||||||
|
'create-title' => 'Create Tag',
|
||||||
|
'edit-title' => 'Edit Tag',
|
||||||
|
'cancel' => 'Cancel',
|
||||||
|
'save-btn-title' => 'Save as Tag',
|
||||||
|
'name' => 'Name',
|
||||||
|
'color' => 'Color',
|
||||||
|
'create-success' => 'Tag created successfully.',
|
||||||
|
'update-success' => 'Tag updated successfully.',
|
||||||
|
'delete-success' => 'Tag deleted successfully.',
|
||||||
|
'delete-failed' => 'Tag can not be deleted.',
|
||||||
|
],
|
||||||
|
|
||||||
|
'web-forms' => [
|
||||||
|
|
||||||
|
'create-success' => 'Web form created successfully',
|
||||||
|
'update-success' => 'Web form Updated successfully',
|
||||||
|
'delete-success' => 'Web form deleted successfully'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'configuration' => [
|
||||||
|
'title' => 'Конфигураци',
|
||||||
|
'save-btn-title' => 'Сохранить',
|
||||||
|
'general' => 'Главная',
|
||||||
|
'locale-settings' => 'Настройка языка',
|
||||||
|
'locale' => 'Язык',
|
||||||
|
'timezone' => 'Временная зона',
|
||||||
|
'date-time-formats' => 'Формат даты и времени',
|
||||||
|
'save-message' => 'Конфигурация успешно обновлена!',
|
||||||
|
"emails" => [
|
||||||
|
'email' => 'адрес электронной почты',
|
||||||
|
'notification_label' => 'Уведомления',
|
||||||
|
'new_lead' => 'Новая заявка',
|
||||||
|
]
|
||||||
|
],
|
||||||
|
|
||||||
|
'datagrid' => [
|
||||||
|
'id' => '№',
|
||||||
|
'name' => 'Наименование',
|
||||||
|
'code' => 'Уникальный эндитификатор',
|
||||||
|
'sku' => 'Артикул',
|
||||||
|
'type' => 'Тип',
|
||||||
|
'price' => 'Цена',
|
||||||
|
'email' => 'Электронная почта',
|
||||||
|
'attachments' => 'Вложения',
|
||||||
|
'from' => 'От',
|
||||||
|
'lead' => 'Услуга',
|
||||||
|
'title' => 'Заголовок',
|
||||||
|
'subject' => 'Тема',
|
||||||
|
'tags' => 'Ярлык',
|
||||||
|
'emails' => 'Электронная почта',
|
||||||
|
'stage' => 'Этап',
|
||||||
|
'status' => 'Статус',
|
||||||
|
'active' => 'Активный',
|
||||||
|
'inactive' => 'Неактивный',
|
||||||
|
'address' => 'Адрес',
|
||||||
|
'quantity' => 'Количество',
|
||||||
|
'lead_value' => 'Стоимосмть услуги',
|
||||||
|
'comment' => 'Комментарий',
|
||||||
|
'is_done' => 'Ответка о выполнении',
|
||||||
|
'all' => 'Все',
|
||||||
|
'user' => 'Пользователь',
|
||||||
|
'sales-person' => 'Эксперт',
|
||||||
|
'expired_quotes' => 'Просроченные договора',
|
||||||
|
'person' => 'Участник',
|
||||||
|
'sub-total' => 'Подытог',
|
||||||
|
'discount' => 'Скидка',
|
||||||
|
'tax' => 'Налог',
|
||||||
|
'adjustment' => 'Корректировка',
|
||||||
|
'grand-total' => 'Итог',
|
||||||
|
'persons_count' => 'Количество участников',
|
||||||
|
'assigned_to' => 'Назначено',
|
||||||
|
'created_by' => 'Создано',
|
||||||
|
'entity_type' => 'Сущность',
|
||||||
|
'created_at' => 'Создано',
|
||||||
|
'expected_close_date' => 'Ожидаемая дата завершения',
|
||||||
|
'schedule_from' => 'C',
|
||||||
|
'schedule_to' => 'До',
|
||||||
|
'description' => 'Описание',
|
||||||
|
'update_stage' => 'Стадия обновления',
|
||||||
|
'contact_person' => 'Контактное лицо',
|
||||||
|
'contact_numbers' => 'Контактный номер',
|
||||||
|
'permission_type' => 'Тип доступа',
|
||||||
|
'organization_name' => 'Наименоывание организации',
|
||||||
|
'is-default' => 'По умолчанию',
|
||||||
|
'rotten-days' => 'Продолжительность',
|
||||||
|
'rotten_lead' => 'Просроченные услуги',
|
||||||
|
'yes' => 'Да',
|
||||||
|
'no' => 'Нет',
|
||||||
|
'move-to-inbox' => 'Отправить во входящие',
|
||||||
|
'update-success' => ':resource успешно обновлено.',
|
||||||
|
'destroy-success' => ':resource успешно удалено.',
|
||||||
|
'destroy-failed' => ':resource не может быть удалено.',
|
||||||
|
'attribute_type' => 'Тип атрибута',
|
||||||
|
'filters' => [
|
||||||
|
'yesterday' => 'Вчера',
|
||||||
|
'today' => 'Сегодня',
|
||||||
|
'tomorrow' => 'Завтра',
|
||||||
|
'this-week' => 'Эта неделя',
|
||||||
|
'this-month' => 'Этот месяц',
|
||||||
|
'custom' => 'Другой период',
|
||||||
|
]
|
||||||
|
],
|
||||||
|
|
||||||
|
'response' => [
|
||||||
|
'create-success' => ':name created successfully.',
|
||||||
|
'update-success' => ':name updated successfully.',
|
||||||
|
'destroy-success' => ':name deleted successfully.',
|
||||||
|
'destroy-failed' => ':name can not be deleted.',
|
||||||
|
],
|
||||||
|
|
||||||
|
'acl' => [
|
||||||
|
'leads' => 'Leads',
|
||||||
|
'lead' => 'Lead',
|
||||||
|
'quotes' => 'Quotes',
|
||||||
|
'mail' => 'Mail',
|
||||||
|
'inbox' => 'Inbox',
|
||||||
|
'draft' => 'Draft',
|
||||||
|
'outbox' => 'Outbox',
|
||||||
|
'sent' => 'Sent',
|
||||||
|
'trash' => 'Trash',
|
||||||
|
'activities' => 'Activities',
|
||||||
|
'contacts' => 'Contacts',
|
||||||
|
'persons' => 'Persons',
|
||||||
|
'organizations' => 'Organizations',
|
||||||
|
'products' => 'Products',
|
||||||
|
'settings' => 'Settings',
|
||||||
|
'groups' => 'Groups',
|
||||||
|
'roles' => 'Roles',
|
||||||
|
'users' => 'Users',
|
||||||
|
'user' => 'User',
|
||||||
|
'automation' => 'Automation',
|
||||||
|
'attributes' => 'Attributes',
|
||||||
|
'pipelines' => 'Pipelines',
|
||||||
|
'sources' => 'Sources',
|
||||||
|
'types' => 'Types',
|
||||||
|
'email-templates' => 'Email Templates',
|
||||||
|
'workflows' => 'Workflows',
|
||||||
|
'other-settings' => 'Other Settings',
|
||||||
|
'tags' => 'Tags',
|
||||||
|
'configuration' => 'Configuration',
|
||||||
|
'create' => 'Create',
|
||||||
|
'edit' => 'Edit',
|
||||||
|
'view' => 'View',
|
||||||
|
'print' => 'Print',
|
||||||
|
'delete' => 'Delete',
|
||||||
|
'export' => 'Export',
|
||||||
|
'mass-delete' => 'Mass Delete',
|
||||||
|
],
|
||||||
|
|
||||||
|
'common' => [
|
||||||
|
'back' => 'Назад',
|
||||||
|
'address' => 'Адресс',
|
||||||
|
'country' => 'Страна',
|
||||||
|
'add_more' => 'Добавить',
|
||||||
|
'select-country' => 'Пожалуйста выберите страну',
|
||||||
|
'select-users' => 'Выберите пользователя',
|
||||||
|
'select_rotten_leads' => 'Выберите просроченные услуги',
|
||||||
|
'select-organization' => 'выберите организацию',
|
||||||
|
'state' => 'Состояние',
|
||||||
|
'select-state' => 'Выберите состояние',
|
||||||
|
'city' => 'Город',
|
||||||
|
'postcode' => 'Индекс',
|
||||||
|
'address-validation' => 'Поле «Адрес» обязательно для заполнения',
|
||||||
|
'work' => 'Рабочий',
|
||||||
|
'home' => 'Личный',
|
||||||
|
'no-result-found' => 'Записи с таким наименованием не найдены.',
|
||||||
|
'not-available' => 'Не доступно',
|
||||||
|
'select-options' => 'Выберите параметр',
|
||||||
|
'yes' => 'Да',
|
||||||
|
'no' => 'Нет',
|
||||||
|
'delete' => 'Удалить',
|
||||||
|
'save' => 'Сохранить',
|
||||||
|
'locale' => 'Locale',
|
||||||
|
'en' => 'Английский',
|
||||||
|
'tr' => 'Турецкий',
|
||||||
|
'ar' => 'Арабский',
|
||||||
|
'ru' => 'Русский',
|
||||||
|
'add-as' => 'Add as new',
|
||||||
|
'no-records-found' => 'Записи не найдены',
|
||||||
|
'start-typing' => 'Начните писать, чтобы найти записи',
|
||||||
|
'select-type' => 'Выберите тип',
|
||||||
|
'select-call' => 'Звонок',
|
||||||
|
'select-meeting' => 'Встреча',
|
||||||
|
'select-lunch' => 'Задача',
|
||||||
|
'duplicate-value' => 'Значение не может повторяться',
|
||||||
|
'unauthenticated' => 'Неавторизован',
|
||||||
|
'resource-not-found' => 'Ресурс не найден',
|
||||||
|
'forbidden-error' => '403 forbidden Error',
|
||||||
|
'internal-server-error' => '500 Internal Server Error',
|
||||||
|
'something-went-wrong' => 'Что-то пошло не так, повторите позже.',
|
||||||
|
'delete-confirm' => 'Вы действительно хотите выполнить это действие?',
|
||||||
|
'system_attribute' => 'Системный',
|
||||||
|
'custom_attribute' => 'Пользовательский',
|
||||||
|
],
|
||||||
|
|
||||||
|
'user' => [
|
||||||
|
'account' => [
|
||||||
|
'name' => 'Имя',
|
||||||
|
'email' => 'Андрес Электронной почты',
|
||||||
|
'password' => 'Новый пароль',
|
||||||
|
'my_account' => 'My account',
|
||||||
|
'update_details' => 'Update Details',
|
||||||
|
'current_password' => 'Текущий пароль',
|
||||||
|
'confirm_password' => 'Подтвердите пароль',
|
||||||
|
'password-match' => 'Текущий пароль не соответствует.',
|
||||||
|
'account-save' => 'Изменения аккаунта успешно сохранены.',
|
||||||
|
'permission-denied' => 'Доступ запрещен',
|
||||||
|
'remove-image' => 'Удалить изображение',
|
||||||
|
'upload_image_pix' => 'Загрузить изображение профиля (100px x 100px)',
|
||||||
|
'upload_image_format' => 'PNG or JPG',
|
||||||
|
'image_upload_message' => 'Разрешены только изображения (.jpeg, .jpg, .png, ..).'
|
||||||
|
]
|
||||||
|
],
|
||||||
|
|
||||||
|
'emails' => [
|
||||||
|
'common' => [
|
||||||
|
'dear' => 'Уважаемый (ая) :name',
|
||||||
|
'cheers' => 'Cheers,</br>Team :app_name'
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'errors' => [
|
||||||
|
'401' => 'Вы не авторизованы для просмотра этой страницы'
|
||||||
|
]
|
||||||
|
];
|
||||||
|
?>
|
||||||
|
|
@ -167,7 +167,7 @@ return [
|
||||||
'call' => 'Arama Yap',
|
'call' => 'Arama Yap',
|
||||||
'meeting' => 'Toplantı',
|
'meeting' => 'Toplantı',
|
||||||
'lunch' => 'Öğle Yemeği',
|
'lunch' => 'Öğle Yemeği',
|
||||||
'file' => 'Dosya',
|
'file-name' => 'Dosya',
|
||||||
'quote' => 'Teklif',
|
'quote' => 'Teklif',
|
||||||
'create-quote' => 'Teklif Oluştur',
|
'create-quote' => 'Teklif Oluştur',
|
||||||
'type' => 'Tip',
|
'type' => 'Tip',
|
||||||
|
|
@ -175,6 +175,7 @@ return [
|
||||||
'schedule' => 'Takvim',
|
'schedule' => 'Takvim',
|
||||||
'from' => 'İtibaren',
|
'from' => 'İtibaren',
|
||||||
'to' => 'İle',
|
'to' => 'İle',
|
||||||
|
'mail-to' => 'İle',
|
||||||
'location' => 'Lokasyon',
|
'location' => 'Lokasyon',
|
||||||
'participants' => 'Katılımcılar',
|
'participants' => 'Katılımcılar',
|
||||||
'participant-info' => 'Adı yazmaya başla',
|
'participant-info' => 'Adı yazmaya başla',
|
||||||
|
|
|
||||||
|
|
@ -252,11 +252,11 @@
|
||||||
|
|
||||||
<div class="form-group email-control-group"
|
<div class="form-group email-control-group"
|
||||||
:class="[errors.has('email-form.reply_to[]') ? 'has-error' : '']">
|
:class="[errors.has('email-form.reply_to[]') ? 'has-error' : '']">
|
||||||
<label for="to" class="required">{{ __('admin::app.leads.to') }}</label>
|
<label for="to" class="required">{{ __('admin::app.leads.mail-to') }}</label>
|
||||||
|
|
||||||
<email-tags-component
|
<email-tags-component
|
||||||
control-name="reply_to[]"
|
control-name="reply_to[]"
|
||||||
control-label="{{ __('admin::app.leads.to') }}"
|
control-label="{{ __('admin::app.leads.mail-to') }}"
|
||||||
:validations="'required'"
|
:validations="'required'"
|
||||||
></email-tags-component>
|
></email-tags-component>
|
||||||
|
|
||||||
|
|
@ -370,7 +370,7 @@
|
||||||
@csrf()
|
@csrf()
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="name">{{ __('admin::app.leads.name') }}</label>
|
<label for="name">{{ __('admin::app.leads.file-name') }}</label>
|
||||||
|
|
||||||
<input type="text" class="control" id="name" name="name">
|
<input type="text" class="control" id="name" name="name">
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -76,11 +76,11 @@
|
||||||
|
|
||||||
<div class="form-group email-control-group"
|
<div class="form-group email-control-group"
|
||||||
:class="[errors.has('reply_to[]') ? 'has-error' : '']">
|
:class="[errors.has('reply_to[]') ? 'has-error' : '']">
|
||||||
<label for="to" class="required">{{ __('admin::app.leads.to') }}</label>
|
<label for="to" class="required">{{ __('admin::app.leads.mail-to') }}</label>
|
||||||
|
|
||||||
<email-tags-component
|
<email-tags-component
|
||||||
control-name="reply_to[]"
|
control-name="reply_to[]"
|
||||||
control-label="{{ __('admin::app.leads.to') }}"
|
control-label="{{ __('admin::app.leads.mail-to') }}"
|
||||||
:validations="'required'"
|
:validations="'required'"
|
||||||
:data='@json(isset($email) ? $email->reply_to : [])'
|
:data='@json(isset($email) ? $email->reply_to : [])'
|
||||||
></email-tags-component>
|
></email-tags-component>
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ class Install extends Command
|
||||||
$timezone = $this->anticipate('Please enter the default timezone', $TimeZones, date_default_timezone_get());
|
$timezone = $this->anticipate('Please enter the default timezone', $TimeZones, date_default_timezone_get());
|
||||||
$this->envUpdate('APP_TIMEZONE=', $timezone);
|
$this->envUpdate('APP_TIMEZONE=', $timezone);
|
||||||
|
|
||||||
$currency = $this->choice('Please enter the default currency', ['USD', 'EUR'], 'USD');
|
$currency = $this->choice('Please enter the default currency', ['USD', 'EUR','RUB'], 'USD');
|
||||||
$this->envUpdate('APP_CURRENCY=', $currency);
|
$this->envUpdate('APP_CURRENCY=', $currency);
|
||||||
|
|
||||||
$this->addDatabaseDetails();
|
$this->addDatabaseDetails();
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,88 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'errors' => [
|
||||||
|
'no-records' => 'No records found!',
|
||||||
|
'something-went-wrong' => 'Something went wrong!',
|
||||||
|
],
|
||||||
|
|
||||||
|
'datagrid' => [
|
||||||
|
'title' => 'Таблица',
|
||||||
|
'actions' => 'Действия',
|
||||||
|
'edit' => 'Редактировать',
|
||||||
|
'view' => 'Простмотр',
|
||||||
|
'delete' => 'Удалить',
|
||||||
|
'print' => 'Печать',
|
||||||
|
'id' => 'Столбцы индекса имеют значение только больше нуля',
|
||||||
|
'cancel' => 'Закрыть',
|
||||||
|
'download' => 'Скачать',
|
||||||
|
'export' => 'Экспорт',
|
||||||
|
'select-format' => 'Выбрать формат',
|
||||||
|
|
||||||
|
'massaction' => [
|
||||||
|
'select_action' => 'Выберите действие',
|
||||||
|
'mass-delete-confirm' => 'Вы действительно хотите удалить это :resource?',
|
||||||
|
'mass-update-status' => 'Вы действительно хотите обновить статус :resource?',
|
||||||
|
'delete' => 'Вы действительно хотите выполнить это действие?',
|
||||||
|
'edit' => 'Вы действительно хотите отредактировать это :resource?',
|
||||||
|
],
|
||||||
|
|
||||||
|
'zero-index' => 'Столбцы индекса могут иметь только значения больше нуля.',
|
||||||
|
'no-records' => 'Записей не найдено',
|
||||||
|
'filter-fields-missing' => 'Некоторые из обязательных полей имеют пустые значения. Пожалуйста, проверьте поле и заполните значение .',
|
||||||
|
'click_on_action' => 'Вы действительно хотите выполнить это действие?',
|
||||||
|
'search' => 'Поиск...',
|
||||||
|
'column' => 'Select Column',
|
||||||
|
'condition' => 'Select Condition',
|
||||||
|
'contains' => 'Contains',
|
||||||
|
'ncontains' => 'Does not contains',
|
||||||
|
'equals' => 'Is Equals to',
|
||||||
|
'nequals' => 'Is Not equals to',
|
||||||
|
'greater' => 'Greater than',
|
||||||
|
'less' => 'Less than',
|
||||||
|
'greatere' => 'Greater than equals to',
|
||||||
|
'lesse' => 'Less than equals to',
|
||||||
|
'value' => 'Select Value',
|
||||||
|
'true' => 'True / Active',
|
||||||
|
'update-status' => 'Update Status',
|
||||||
|
'false' => 'False / Inactive',
|
||||||
|
'between' => 'Is between',
|
||||||
|
'apply' => 'Apply',
|
||||||
|
'items-per-page' => 'Элементов на странице',
|
||||||
|
'value-here' => 'Value here',
|
||||||
|
'numeric-value-here' => 'Numeric Value here',
|
||||||
|
'submit' => 'Подтвердить',
|
||||||
|
"mandatory_mass_action" => "Please select an action to perform.",
|
||||||
|
'multiple_sort_keys' => 'Fatal Error! Multiple Sort keys Found, Please Resolve the URL Manually',
|
||||||
|
'multiple_search_keys' => 'Multiple Search keys Found, Please Resolve the URL Manually',
|
||||||
|
'is-done' => 'Выполнить',
|
||||||
|
'filter' => [
|
||||||
|
'remove_all' => 'Очистить',
|
||||||
|
'title' => 'Фильтр',
|
||||||
|
'apply_title' => 'Применить фильтр',
|
||||||
|
'custom_filter' => 'Пользовательский фильтр',
|
||||||
|
'done' => 'Готово',
|
||||||
|
'to' => 'от',
|
||||||
|
'date_range' => 'Разница дат',
|
||||||
|
'start_date' => 'Дата начала',
|
||||||
|
'end_date' => 'Дата окончание',
|
||||||
|
'today' => 'Сегодня',
|
||||||
|
'yesterday' => 'Вчера',
|
||||||
|
'this_month' => 'Этот месяц',
|
||||||
|
'this_year' => 'Этот год',
|
||||||
|
'last_month' => 'Прошлый месяц',
|
||||||
|
'apply' => 'Приянять',
|
||||||
|
'cancel' => 'Закрыть',
|
||||||
|
'perPage' => 'На страницу',
|
||||||
|
'is_done' => 'Выполнено',
|
||||||
|
'created_by_id' => 'Создано Id',
|
||||||
|
'schedule_from' => 'Расписание с',
|
||||||
|
'schedule_to' => 'Расписание до',
|
||||||
|
'created_at' => 'Создан от',
|
||||||
|
'scheduled' => 'Запланированное',
|
||||||
|
'duration' => 'Продолжительность',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'add-attachment' => 'Add Attachment',
|
||||||
|
];
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'title' => 'Web Forms',
|
||||||
|
'title-info' => 'Add, edit or delete web forms from CRM',
|
||||||
|
'create-title' => 'Create Web Form',
|
||||||
|
'edit-title' => 'Edit Web Form',
|
||||||
|
'save-btn-title' => 'Save as Web Form',
|
||||||
|
'back' => 'Back',
|
||||||
|
'cancel' => 'Cancel',
|
||||||
|
'preview' => 'Preview',
|
||||||
|
'embed' => 'Embed',
|
||||||
|
'public-url' => 'Public Url',
|
||||||
|
'code-snippet' => 'Code Snippet',
|
||||||
|
'copy' => 'Copy',
|
||||||
|
'title-control' => 'Title',
|
||||||
|
'description' => 'Description',
|
||||||
|
'submit-button-label' => 'Submit Button Label',
|
||||||
|
'submit-success-action' => 'Submit Success Action',
|
||||||
|
'redirect-to-url' => 'Redirect to a url',
|
||||||
|
'display-custom-message' => 'Display custom message',
|
||||||
|
'enter-url-placeholder' => 'Enter url to redirect',
|
||||||
|
'enter-message-placeholder' => 'Enter message to display',
|
||||||
|
'customize-web-form' => 'Customize Web Form',
|
||||||
|
'customize-web-form-info' => 'Customize your web form with element colors of your choosing.',
|
||||||
|
'background-color' => 'Background Color',
|
||||||
|
'form-background-color' => 'Form Background Color',
|
||||||
|
'form-title-color' => 'Form Title Color',
|
||||||
|
'form-submit-button-color' => 'Form Submit Button Color',
|
||||||
|
'attribute-label-color' => 'Attribute Label Color',
|
||||||
|
'attributes' => 'Attributes',
|
||||||
|
'add-attribute' => 'Add Attribute',
|
||||||
|
'attributes-info' => 'Add custom attributes to the form.',
|
||||||
|
'persons' => 'Persons',
|
||||||
|
'leads' => 'Leads',
|
||||||
|
'create-lead' => 'Create new lead with contact',
|
||||||
|
'required' => 'Required',
|
||||||
|
'placeholder-value' => 'Enter placeholder value',
|
||||||
|
'choose-value' => 'Choose Value',
|
||||||
|
'select-file' => 'Select File',
|
||||||
|
'select-image' => 'Select Image',
|
||||||
|
'enter-value' => 'Enter Value',
|
||||||
|
'create-success' => 'Web Form created successfully.',
|
||||||
|
'update-success' => 'Web Form updated successfully.',
|
||||||
|
'delete-success' => 'Web Form deleted successfully.',
|
||||||
|
'delete-failed' => 'Web Form can not be deleted.',
|
||||||
|
'submit_button_label' => 'Submit Button Label',
|
||||||
|
];
|
||||||
|
|
@ -1,53 +1,53 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
|
||||||
<title>@yield('title')</title>
|
<title>@yield('title')</title>
|
||||||
|
|
||||||
<!-- Styles -->
|
<!-- Styles -->
|
||||||
<style>
|
<style>
|
||||||
html, body {
|
html, body {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
color: #636b6f;
|
color: #636b6f;
|
||||||
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||||
font-weight: 100;
|
font-weight: 100;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.full-height {
|
.full-height {
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
.flex-center {
|
.flex-center {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.position-ref {
|
.position-ref {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: 36px;
|
font-size: 36px;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="flex-center position-ref full-height">
|
<div class="flex-center position-ref full-height">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
@yield('message')
|
@yield('message')
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</body>
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -5,8 +5,7 @@
|
||||||
|
|
||||||
@if ($loop->last)
|
@if ($loop->last)
|
||||||
@if ($breadcrumb->url)
|
@if ($breadcrumb->url)
|
||||||
<li class="is-active"><a href="{{ $breadcrumb->url }}"
|
<li class="is-active"><a href="{{ $breadcrumb->url }}" aria-current="page">{{ $breadcrumb->title }}</a></li>
|
||||||
aria-current="page">{{ $breadcrumb->title }}</a></li>
|
|
||||||
@else
|
@else
|
||||||
<li class="is-active"><a aria-current="page">{{ $breadcrumb->title }}</a></li>
|
<li class="is-active"><a aria-current="page">{{ $breadcrumb->title }}</a></li>
|
||||||
@endif
|
@endif
|
||||||
|
|
|
||||||
|
|
@ -3,18 +3,18 @@
|
||||||
use Illuminate\Support\Facades\Request;
|
use Illuminate\Support\Facades\Request;
|
||||||
|
|
||||||
$json = [
|
$json = [
|
||||||
'@context' => 'https://schema.org',
|
'@context' => 'https://schema.org',
|
||||||
'@type' => 'BreadcrumbList',
|
'@type' => 'BreadcrumbList',
|
||||||
'itemListElement' => [],
|
'itemListElement' => [],
|
||||||
];
|
];
|
||||||
|
|
||||||
foreach ($breadcrumbs as $i => $breadcrumb) {
|
foreach ($breadcrumbs as $i => $breadcrumb) {
|
||||||
$json['itemListElement'][] = [
|
$json['itemListElement'][] = [
|
||||||
'@type' => 'ListItem',
|
'@type' => 'ListItem',
|
||||||
'position' => $i + 1,
|
'position' => $i + 1,
|
||||||
'item' => [
|
'item' => [
|
||||||
'@id' => $breadcrumb->url ?: Request::fullUrl(),
|
'@id' => $breadcrumb->url ?: Request::fullUrl(),
|
||||||
'name' => $breadcrumb->title,
|
'name' => $breadcrumb->title,
|
||||||
'image' => $breadcrumb->image ?? null,
|
'image' => $breadcrumb->image ?? null,
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,7 @@
|
||||||
|
|
||||||
@if ($breadcrumb->url && !$loop->last)
|
@if ($breadcrumb->url && !$loop->last)
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ $breadcrumb->url }}"
|
<a href="{{ $breadcrumb->url }}" class="text-blue-600 hover:text-blue-900 hover:underline focus:text-blue-900 focus:underline">
|
||||||
class="text-blue-600 hover:text-blue-900 hover:underline focus:text-blue-900 focus:underline">
|
|
||||||
{{ $breadcrumb->title }}
|
{{ $breadcrumb->title }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,24 @@
|
||||||
<table class="action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
@props([
|
||||||
<tr>
|
'url',
|
||||||
<td align="center">
|
'color' => 'primary',
|
||||||
<table width="100%" border="0" cellpadding="0" cellspacing="0" role="presentation">
|
'align' => 'center',
|
||||||
<tr>
|
])
|
||||||
<td align="center">
|
<table class="action" align="{{ $align }}" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||||
<table border="0" cellpadding="0" cellspacing="0" role="presentation">
|
<tr>
|
||||||
<tr>
|
<td align="{{ $align }}">
|
||||||
<td>
|
<table width="100%" border="0" cellpadding="0" cellspacing="0" role="presentation">
|
||||||
<a href="{{ $url }}" class="button button-{{ $color ?? 'primary' }}" target="_blank"
|
<tr>
|
||||||
rel="noopener">{{ $slot }}</a>
|
<td align="{{ $align }}">
|
||||||
</td>
|
<table border="0" cellpadding="0" cellspacing="0" role="presentation">
|
||||||
</tr>
|
<tr>
|
||||||
</table>
|
<td>
|
||||||
</td>
|
<a href="{{ $url }}" class="button button-{{ $color }}" target="_blank" rel="noopener">{{ $slot }}</a>
|
||||||
</tr>
|
</td>
|
||||||
</table>
|
</tr>
|
||||||
</td>
|
</table>
|
||||||
</tr>
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<table class="footer" align="center" width="570" cellpadding="0" cellspacing="0" role="presentation">
|
<table class="footer" align="center" width="570" cellpadding="0" cellspacing="0" role="presentation">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="content-cell" align="center">
|
<td class="content-cell" align="center">
|
||||||
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
|
@props(['url'])
|
||||||
<tr>
|
<tr>
|
||||||
<td class="header">
|
<td class="header">
|
||||||
<a href="{{ $url }}" style="display: inline-block;">
|
<a href="{{ $url }}" style="display: inline-block;">
|
||||||
@if (trim($slot) === 'Laravel')
|
@if (trim($slot) === 'Laravel')
|
||||||
<img src="https://laravel.com/img/notification-logo.png" class="logo" alt="Laravel Logo">
|
<img src="https://laravel.com/img/notification-logo.png" class="logo" alt="Laravel Logo">
|
||||||
@else
|
@else
|
||||||
{{ $slot }}
|
{{ $slot }}
|
||||||
@endif
|
@endif
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
||||||
|
|
@ -1,58 +1,57 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
<head>
|
<head>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<title>{{ config('app.name') }}</title>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<meta name="color-scheme" content="light">
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||||
<meta name="supported-color-schemes" content="light">
|
<meta name="color-scheme" content="light">
|
||||||
<style>
|
<meta name="supported-color-schemes" content="light">
|
||||||
@media only screen and (max-width: 600px) {
|
<style>
|
||||||
.inner-body {
|
@media only screen and (max-width: 600px) {
|
||||||
width: 100% !important;
|
.inner-body {
|
||||||
}
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
|
||||||
.footer {
|
.footer {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: 500px) {
|
@media only screen and (max-width: 500px) {
|
||||||
.button {
|
.button {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<table class="wrapper" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
<table class="wrapper" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<table class="content" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
<table class="content" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||||
{{ $header ?? '' }}
|
{{ $header ?? '' }}
|
||||||
|
|
||||||
<!-- Email Body -->
|
<!-- Email Body -->
|
||||||
<tr>
|
<tr>
|
||||||
<td class="body" width="100%" cellpadding="0" cellspacing="0">
|
<td class="body" width="100%" cellpadding="0" cellspacing="0" style="border: hidden !important;">
|
||||||
<table class="inner-body" align="center" width="570" cellpadding="0" cellspacing="0"
|
<table class="inner-body" align="center" width="570" cellpadding="0" cellspacing="0" role="presentation">
|
||||||
role="presentation">
|
<!-- Body content -->
|
||||||
<!-- Body content -->
|
<tr>
|
||||||
<tr>
|
<td class="content-cell">
|
||||||
<td class="content-cell">
|
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
||||||
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
|
||||||
|
|
||||||
{{ $subcopy ?? '' }}
|
{{ $subcopy ?? '' }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
{{ $footer ?? '' }}
|
{{ $footer ?? '' }}
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,27 @@
|
||||||
@component('mail::layout')
|
<x-mail::layout>
|
||||||
{{-- Header --}}
|
{{-- Header --}}
|
||||||
@slot('header')
|
<x-slot:header>
|
||||||
@component('mail::header', ['url' => config('app.url')])
|
<x-mail::header :url="config('app.url')">
|
||||||
{{ config('app.name') }}
|
{{ config('app.name') }}
|
||||||
@endcomponent
|
</x-mail::header>
|
||||||
@endslot
|
</x-slot:header>
|
||||||
|
|
||||||
{{-- Body --}}
|
{{-- Body --}}
|
||||||
{{ $slot }}
|
{{ $slot }}
|
||||||
|
|
||||||
{{-- Subcopy --}}
|
{{-- Subcopy --}}
|
||||||
@isset($subcopy)
|
@isset($subcopy)
|
||||||
@slot('subcopy')
|
<x-slot:subcopy>
|
||||||
@component('mail::subcopy')
|
<x-mail::subcopy>
|
||||||
{{ $subcopy }}
|
{{ $subcopy }}
|
||||||
@endcomponent
|
</x-mail::subcopy>
|
||||||
@endslot
|
</x-slot:subcopy>
|
||||||
@endisset
|
@endisset
|
||||||
|
|
||||||
{{-- Footer --}}
|
{{-- Footer --}}
|
||||||
@slot('footer')
|
<x-slot:footer>
|
||||||
@component('mail::footer')
|
<x-mail::footer>
|
||||||
© {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.')
|
© {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.')
|
||||||
@endcomponent
|
</x-mail::footer>
|
||||||
@endslot
|
</x-slot:footer>
|
||||||
@endcomponent
|
</x-mail::layout>
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
<table class="panel" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
<table class="panel" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="panel-content">
|
<td class="panel-content">
|
||||||
<table width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
<table width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="panel-item">
|
<td class="panel-item">
|
||||||
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<table class="subcopy" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
<table class="subcopy" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
<div class="table">
|
<div class="table">
|
||||||
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ body,
|
||||||
body *:not(html):not(style):not(br):not(tr):not(code) {
|
body *:not(html):not(style):not(br):not(tr):not(code) {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif,
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif,
|
||||||
'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
|
'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
{!! strip_tags($header) !!}
|
{!! strip_tags($header ?? '') !!}
|
||||||
|
|
||||||
{!! strip_tags($slot) !!}
|
{!! strip_tags($slot) !!}
|
||||||
@isset($subcopy)
|
@isset($subcopy)
|
||||||
|
|
||||||
{!! strip_tags($subcopy) !!}
|
{!! strip_tags($subcopy) !!}
|
||||||
@endisset
|
@endisset
|
||||||
|
|
||||||
{!! strip_tags($footer) !!}
|
{!! strip_tags($footer ?? '') !!}
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,27 @@
|
||||||
@component('mail::layout')
|
<x-mail::layout>
|
||||||
{{-- Header --}}
|
{{-- Header --}}
|
||||||
@slot('header')
|
<x-slot:header>
|
||||||
@component('mail::header', ['url' => config('app.url')])
|
<x-mail::header :url="config('app.url')">
|
||||||
{{ config('app.name') }}
|
{{ config('app.name') }}
|
||||||
@endcomponent
|
</x-mail::header>
|
||||||
@endslot
|
</x-slot:header>
|
||||||
|
|
||||||
{{-- Body --}}
|
{{-- Body --}}
|
||||||
{{ $slot }}
|
{{ $slot }}
|
||||||
|
|
||||||
{{-- Subcopy --}}
|
{{-- Subcopy --}}
|
||||||
@isset($subcopy)
|
@isset($subcopy)
|
||||||
@slot('subcopy')
|
<x-slot:subcopy>
|
||||||
@component('mail::subcopy')
|
<x-mail::subcopy>
|
||||||
{{ $subcopy }}
|
{{ $subcopy }}
|
||||||
@endcomponent
|
</x-mail::subcopy>
|
||||||
@endslot
|
</x-slot:subcopy>
|
||||||
@endisset
|
@endisset
|
||||||
|
|
||||||
{{-- Footer --}}
|
{{-- Footer --}}
|
||||||
@slot('footer')
|
<x-slot:footer>
|
||||||
@component('mail::footer')
|
<x-mail::footer>
|
||||||
© {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.')
|
© {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.')
|
||||||
@endcomponent
|
</x-mail::footer>
|
||||||
@endslot
|
</x-slot:footer>
|
||||||
@endcomponent
|
</x-mail::layout>
|
||||||
|
|
|
||||||
|
|
@ -1,58 +1,58 @@
|
||||||
@component('mail::message')
|
<x-mail::message>
|
||||||
{{-- Greeting --}}
|
{{-- Greeting --}}
|
||||||
@if (! empty($greeting))
|
@if (! empty($greeting))
|
||||||
# {{ $greeting }}
|
# {{ $greeting }}
|
||||||
@else
|
@else
|
||||||
@if ($level === 'error')
|
@if ($level === 'error')
|
||||||
# @lang('Whoops!')
|
# @lang('Whoops!')
|
||||||
@else
|
@else
|
||||||
# @lang('Hello!')
|
# @lang('Hello!')
|
||||||
@endif
|
@endif
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
{{-- Intro Lines --}}
|
{{-- Intro Lines --}}
|
||||||
@foreach ($introLines as $line)
|
@foreach ($introLines as $line)
|
||||||
{{ $line }}
|
{{ $line }}
|
||||||
|
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
{{-- Action Button --}}
|
{{-- Action Button --}}
|
||||||
@isset($actionText)
|
@isset($actionText)
|
||||||
<?php
|
<?php
|
||||||
$color = match ($level) {
|
$color = match ($level) {
|
||||||
'success', 'error' => $level,
|
'success', 'error' => $level,
|
||||||
default => 'primary',
|
default => 'primary',
|
||||||
};
|
};
|
||||||
?>
|
?>
|
||||||
@component('mail::button', ['url' => $actionUrl, 'color' => $color])
|
<x-mail::button :url="$actionUrl" :color="$color">
|
||||||
{{ $actionText }}
|
{{ $actionText }}
|
||||||
@endcomponent
|
</x-mail::button>
|
||||||
@endisset
|
@endisset
|
||||||
|
|
||||||
{{-- Outro Lines --}}
|
{{-- Outro Lines --}}
|
||||||
@foreach ($outroLines as $line)
|
@foreach ($outroLines as $line)
|
||||||
{{ $line }}
|
{{ $line }}
|
||||||
|
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
{{-- Salutation --}}
|
{{-- Salutation --}}
|
||||||
@if (! empty($salutation))
|
@if (! empty($salutation))
|
||||||
{{ $salutation }}
|
{{ $salutation }}
|
||||||
@else
|
@else
|
||||||
@lang('Regards'),<br>
|
@lang('Regards'),<br>
|
||||||
{{ config('app.name') }}
|
{{ config('app.name') }}
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
{{-- Subcopy --}}
|
{{-- Subcopy --}}
|
||||||
@isset($actionText)
|
@isset($actionText)
|
||||||
@slot('subcopy')
|
<x-slot:subcopy>
|
||||||
@lang(
|
@lang(
|
||||||
"If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\n".
|
"If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\n".
|
||||||
'into your web browser:',
|
'into your web browser:',
|
||||||
[
|
[
|
||||||
'actionText' => $actionText,
|
'actionText' => $actionText,
|
||||||
]
|
]
|
||||||
) <span class="break-all">[{{ $displayableActionUrl }}]({{ $actionUrl }})</span>
|
) <span class="break-all">[{{ $displayableActionUrl }}]({{ $actionUrl }})</span>
|
||||||
@endslot
|
</x-slot:subcopy>
|
||||||
@endisset
|
@endisset
|
||||||
@endcomponent
|
</x-mail::message>
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,7 @@
|
||||||
</li>
|
</li>
|
||||||
@else
|
@else
|
||||||
<li class="page-item">
|
<li class="page-item">
|
||||||
<a class="page-link" href="{{ $paginator->previousPageUrl() }}" rel="prev"
|
<a class="page-link" href="{{ $paginator->previousPageUrl() }}" rel="prev" aria-label="@lang('pagination.previous')">‹</a>
|
||||||
aria-label="@lang('pagination.previous')">‹</a>
|
|
||||||
</li>
|
</li>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
|
@ -17,16 +16,14 @@
|
||||||
@foreach ($elements as $element)
|
@foreach ($elements as $element)
|
||||||
{{-- "Three Dots" Separator --}}
|
{{-- "Three Dots" Separator --}}
|
||||||
@if (is_string($element))
|
@if (is_string($element))
|
||||||
<li class="page-item disabled" aria-disabled="true"><span class="page-link">{{ $element }}</span>
|
<li class="page-item disabled" aria-disabled="true"><span class="page-link">{{ $element }}</span></li>
|
||||||
</li>
|
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
{{-- Array Of Links --}}
|
{{-- Array Of Links --}}
|
||||||
@if (is_array($element))
|
@if (is_array($element))
|
||||||
@foreach ($element as $page => $url)
|
@foreach ($element as $page => $url)
|
||||||
@if ($page == $paginator->currentPage())
|
@if ($page == $paginator->currentPage())
|
||||||
<li class="page-item active" aria-current="page"><span class="page-link">{{ $page }}</span>
|
<li class="page-item active" aria-current="page"><span class="page-link">{{ $page }}</span></li>
|
||||||
</li>
|
|
||||||
@else
|
@else
|
||||||
<li class="page-item"><a class="page-link" href="{{ $url }}">{{ $page }}</a></li>
|
<li class="page-item"><a class="page-link" href="{{ $url }}">{{ $page }}</a></li>
|
||||||
@endif
|
@endif
|
||||||
|
|
@ -37,8 +34,7 @@
|
||||||
{{-- Next Page Link --}}
|
{{-- Next Page Link --}}
|
||||||
@if ($paginator->hasMorePages())
|
@if ($paginator->hasMorePages())
|
||||||
<li class="page-item">
|
<li class="page-item">
|
||||||
<a class="page-link" href="{{ $paginator->nextPageUrl() }}" rel="next"
|
<a class="page-link" href="{{ $paginator->nextPageUrl() }}" rel="next" aria-label="@lang('pagination.next')">›</a>
|
||||||
aria-label="@lang('pagination.next')">›</a>
|
|
||||||
</li>
|
</li>
|
||||||
@else
|
@else
|
||||||
<li class="page-item disabled" aria-disabled="true" aria-label="@lang('pagination.next')">
|
<li class="page-item disabled" aria-disabled="true" aria-label="@lang('pagination.next')">
|
||||||
|
|
|
||||||
|
|
@ -9,16 +9,14 @@
|
||||||
</li>
|
</li>
|
||||||
@else
|
@else
|
||||||
<li class="page-item">
|
<li class="page-item">
|
||||||
<a class="page-link" href="{{ $paginator->previousPageUrl() }}"
|
<a class="page-link" href="{{ $paginator->previousPageUrl() }}" rel="prev">@lang('pagination.previous')</a>
|
||||||
rel="prev">@lang('pagination.previous')</a>
|
|
||||||
</li>
|
</li>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
{{-- Next Page Link --}}
|
{{-- Next Page Link --}}
|
||||||
@if ($paginator->hasMorePages())
|
@if ($paginator->hasMorePages())
|
||||||
<li class="page-item">
|
<li class="page-item">
|
||||||
<a class="page-link" href="{{ $paginator->nextPageUrl() }}"
|
<a class="page-link" href="{{ $paginator->nextPageUrl() }}" rel="next">@lang('pagination.next')</a>
|
||||||
rel="next">@lang('pagination.next')</a>
|
|
||||||
</li>
|
</li>
|
||||||
@else
|
@else
|
||||||
<li class="page-item disabled" aria-disabled="true">
|
<li class="page-item disabled" aria-disabled="true">
|
||||||
|
|
@ -50,8 +48,7 @@
|
||||||
</li>
|
</li>
|
||||||
@else
|
@else
|
||||||
<li class="page-item">
|
<li class="page-item">
|
||||||
<a class="page-link" href="{{ $paginator->previousPageUrl() }}" rel="prev"
|
<a class="page-link" href="{{ $paginator->previousPageUrl() }}" rel="prev" aria-label="@lang('pagination.previous')">‹</a>
|
||||||
aria-label="@lang('pagination.previous')">‹</a>
|
|
||||||
</li>
|
</li>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
|
@ -59,16 +56,14 @@
|
||||||
@foreach ($elements as $element)
|
@foreach ($elements as $element)
|
||||||
{{-- "Three Dots" Separator --}}
|
{{-- "Three Dots" Separator --}}
|
||||||
@if (is_string($element))
|
@if (is_string($element))
|
||||||
<li class="page-item disabled" aria-disabled="true"><span
|
<li class="page-item disabled" aria-disabled="true"><span class="page-link">{{ $element }}</span></li>
|
||||||
class="page-link">{{ $element }}</span></li>
|
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
{{-- Array Of Links --}}
|
{{-- Array Of Links --}}
|
||||||
@if (is_array($element))
|
@if (is_array($element))
|
||||||
@foreach ($element as $page => $url)
|
@foreach ($element as $page => $url)
|
||||||
@if ($page == $paginator->currentPage())
|
@if ($page == $paginator->currentPage())
|
||||||
<li class="page-item active" aria-current="page"><span
|
<li class="page-item active" aria-current="page"><span class="page-link">{{ $page }}</span></li>
|
||||||
class="page-link">{{ $page }}</span></li>
|
|
||||||
@else
|
@else
|
||||||
<li class="page-item"><a class="page-link" href="{{ $url }}">{{ $page }}</a></li>
|
<li class="page-item"><a class="page-link" href="{{ $url }}">{{ $page }}</a></li>
|
||||||
@endif
|
@endif
|
||||||
|
|
@ -79,8 +74,7 @@
|
||||||
{{-- Next Page Link --}}
|
{{-- Next Page Link --}}
|
||||||
@if ($paginator->hasMorePages())
|
@if ($paginator->hasMorePages())
|
||||||
<li class="page-item">
|
<li class="page-item">
|
||||||
<a class="page-link" href="{{ $paginator->nextPageUrl() }}" rel="next"
|
<a class="page-link" href="{{ $paginator->nextPageUrl() }}" rel="next" aria-label="@lang('pagination.next')">›</a>
|
||||||
aria-label="@lang('pagination.next')">›</a>
|
|
||||||
</li>
|
</li>
|
||||||
@else
|
@else
|
||||||
<li class="page-item disabled" aria-disabled="true" aria-label="@lang('pagination.next')">
|
<li class="page-item disabled" aria-disabled="true" aria-label="@lang('pagination.next')">
|
||||||
|
|
|
||||||
|
|
@ -34,8 +34,7 @@
|
||||||
{{-- Next Page Link --}}
|
{{-- Next Page Link --}}
|
||||||
@if ($paginator->hasMorePages())
|
@if ($paginator->hasMorePages())
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ $paginator->nextPageUrl() }}" rel="next"
|
<a href="{{ $paginator->nextPageUrl() }}" rel="next" aria-label="@lang('pagination.next')">›</a>
|
||||||
aria-label="@lang('pagination.next')">›</a>
|
|
||||||
</li>
|
</li>
|
||||||
@else
|
@else
|
||||||
<li class="disabled" aria-disabled="true" aria-label="@lang('pagination.next')">
|
<li class="disabled" aria-disabled="true" aria-label="@lang('pagination.next')">
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,9 @@
|
||||||
<div class="ui pagination menu" role="navigation">
|
<div class="ui pagination menu" role="navigation">
|
||||||
{{-- Previous Page Link --}}
|
{{-- Previous Page Link --}}
|
||||||
@if ($paginator->onFirstPage())
|
@if ($paginator->onFirstPage())
|
||||||
<a class="icon item disabled" aria-disabled="true" aria-label="@lang('pagination.previous')"> <i
|
<a class="icon item disabled" aria-disabled="true" aria-label="@lang('pagination.previous')"> <i class="left chevron icon"></i> </a>
|
||||||
class="left chevron icon"></i> </a>
|
|
||||||
@else
|
@else
|
||||||
<a class="icon item" href="{{ $paginator->previousPageUrl() }}" rel="prev"
|
<a class="icon item" href="{{ $paginator->previousPageUrl() }}" rel="prev" aria-label="@lang('pagination.previous')"> <i class="left chevron icon"></i> </a>
|
||||||
aria-label="@lang('pagination.previous')"> <i class="left chevron icon"></i> </a>
|
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
{{-- Pagination Elements --}}
|
{{-- Pagination Elements --}}
|
||||||
|
|
@ -30,11 +28,9 @@
|
||||||
|
|
||||||
{{-- Next Page Link --}}
|
{{-- Next Page Link --}}
|
||||||
@if ($paginator->hasMorePages())
|
@if ($paginator->hasMorePages())
|
||||||
<a class="icon item" href="{{ $paginator->nextPageUrl() }}" rel="next"
|
<a class="icon item" href="{{ $paginator->nextPageUrl() }}" rel="next" aria-label="@lang('pagination.next')"> <i class="right chevron icon"></i> </a>
|
||||||
aria-label="@lang('pagination.next')"> <i class="right chevron icon"></i> </a>
|
|
||||||
@else
|
@else
|
||||||
<a class="icon item disabled" aria-disabled="true" aria-label="@lang('pagination.next')"> <i
|
<a class="icon item disabled" aria-disabled="true" aria-label="@lang('pagination.next')"> <i class="right chevron icon"></i> </a>
|
||||||
class="right chevron icon"></i> </a>
|
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,7 @@
|
||||||
</li>
|
</li>
|
||||||
@else
|
@else
|
||||||
<li class="page-item">
|
<li class="page-item">
|
||||||
<a class="page-link" href="{{ $paginator->previousPageUrl() }}"
|
<a class="page-link" href="{{ $paginator->previousPageUrl() }}" rel="prev">@lang('pagination.previous')</a>
|
||||||
rel="prev">@lang('pagination.previous')</a>
|
|
||||||
</li>
|
</li>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,7 @@
|
||||||
{{-- Next Page Link --}}
|
{{-- Next Page Link --}}
|
||||||
@if ($paginator->hasMorePages())
|
@if ($paginator->hasMorePages())
|
||||||
<li class="page-item">
|
<li class="page-item">
|
||||||
<a class="page-link" href="{{ $paginator->nextPageUrl() }}"
|
<a class="page-link" href="{{ $paginator->nextPageUrl() }}" rel="next">{!! __('pagination.next') !!}</a>
|
||||||
rel="next">{!! __('pagination.next') !!}</a>
|
|
||||||
</li>
|
</li>
|
||||||
@else
|
@else
|
||||||
<li class="page-item disabled" aria-disabled="true">
|
<li class="page-item disabled" aria-disabled="true">
|
||||||
|
|
|
||||||
|
|
@ -2,26 +2,22 @@
|
||||||
<nav role="navigation" aria-label="Pagination Navigation" class="flex justify-between">
|
<nav role="navigation" aria-label="Pagination Navigation" class="flex justify-between">
|
||||||
{{-- Previous Page Link --}}
|
{{-- Previous Page Link --}}
|
||||||
@if ($paginator->onFirstPage())
|
@if ($paginator->onFirstPage())
|
||||||
<span
|
<span class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default leading-5 rounded-md dark:text-gray-600 dark:bg-gray-800 dark:border-gray-600">
|
||||||
class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default leading-5 rounded-md">
|
|
||||||
{!! __('pagination.previous') !!}
|
{!! __('pagination.previous') !!}
|
||||||
</span>
|
</span>
|
||||||
@else
|
@else
|
||||||
<a href="{{ $paginator->previousPageUrl() }}" rel="prev"
|
<a href="{{ $paginator->previousPageUrl() }}" rel="prev" class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 leading-5 rounded-md hover:text-gray-500 focus:outline-none focus:ring ring-gray-300 focus:border-blue-300 active:bg-gray-100 active:text-gray-700 transition ease-in-out duration-150 dark:bg-gray-800 dark:border-gray-600 dark:text-gray-300 dark:focus:border-blue-700 dark:active:bg-gray-700 dark:active:text-gray-300">
|
||||||
class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 leading-5 rounded-md hover:text-gray-500 focus:outline-none focus:ring ring-gray-300 focus:border-blue-300 active:bg-gray-100 active:text-gray-700 transition ease-in-out duration-150">
|
|
||||||
{!! __('pagination.previous') !!}
|
{!! __('pagination.previous') !!}
|
||||||
</a>
|
</a>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
{{-- Next Page Link --}}
|
{{-- Next Page Link --}}
|
||||||
@if ($paginator->hasMorePages())
|
@if ($paginator->hasMorePages())
|
||||||
<a href="{{ $paginator->nextPageUrl() }}" rel="next"
|
<a href="{{ $paginator->nextPageUrl() }}" rel="next" class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 leading-5 rounded-md hover:text-gray-500 focus:outline-none focus:ring ring-gray-300 focus:border-blue-300 active:bg-gray-100 active:text-gray-700 transition ease-in-out duration-150 dark:bg-gray-800 dark:border-gray-600 dark:text-gray-300 dark:focus:border-blue-700 dark:active:bg-gray-700 dark:active:text-gray-300">
|
||||||
class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 leading-5 rounded-md hover:text-gray-500 focus:outline-none focus:ring ring-gray-300 focus:border-blue-300 active:bg-gray-100 active:text-gray-700 transition ease-in-out duration-150">
|
|
||||||
{!! __('pagination.next') !!}
|
{!! __('pagination.next') !!}
|
||||||
</a>
|
</a>
|
||||||
@else
|
@else
|
||||||
<span
|
<span class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default leading-5 rounded-md dark:text-gray-600 dark:bg-gray-800 dark:border-gray-600">
|
||||||
class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default leading-5 rounded-md">
|
|
||||||
{!! __('pagination.next') !!}
|
{!! __('pagination.next') !!}
|
||||||
</span>
|
</span>
|
||||||
@endif
|
@endif
|
||||||
|
|
|
||||||
|
|
@ -2,25 +2,21 @@
|
||||||
<nav role="navigation" aria-label="{{ __('Pagination Navigation') }}" class="flex items-center justify-between">
|
<nav role="navigation" aria-label="{{ __('Pagination Navigation') }}" class="flex items-center justify-between">
|
||||||
<div class="flex justify-between flex-1 sm:hidden">
|
<div class="flex justify-between flex-1 sm:hidden">
|
||||||
@if ($paginator->onFirstPage())
|
@if ($paginator->onFirstPage())
|
||||||
<span
|
<span class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default leading-5 rounded-md dark:text-gray-600 dark:bg-gray-800 dark:border-gray-600">
|
||||||
class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default leading-5 rounded-md">
|
|
||||||
{!! __('pagination.previous') !!}
|
{!! __('pagination.previous') !!}
|
||||||
</span>
|
</span>
|
||||||
@else
|
@else
|
||||||
<a href="{{ $paginator->previousPageUrl() }}"
|
<a href="{{ $paginator->previousPageUrl() }}" class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 leading-5 rounded-md hover:text-gray-500 focus:outline-none focus:ring ring-gray-300 focus:border-blue-300 active:bg-gray-100 active:text-gray-700 transition ease-in-out duration-150 dark:bg-gray-800 dark:border-gray-600 dark:text-gray-300 dark:focus:border-blue-700 dark:active:bg-gray-700 dark:active:text-gray-300">
|
||||||
class="relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 leading-5 rounded-md hover:text-gray-500 focus:outline-none focus:ring ring-gray-300 focus:border-blue-300 active:bg-gray-100 active:text-gray-700 transition ease-in-out duration-150">
|
|
||||||
{!! __('pagination.previous') !!}
|
{!! __('pagination.previous') !!}
|
||||||
</a>
|
</a>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@if ($paginator->hasMorePages())
|
@if ($paginator->hasMorePages())
|
||||||
<a href="{{ $paginator->nextPageUrl() }}"
|
<a href="{{ $paginator->nextPageUrl() }}" class="relative inline-flex items-center px-4 py-2 ml-3 text-sm font-medium text-gray-700 bg-white border border-gray-300 leading-5 rounded-md hover:text-gray-500 focus:outline-none focus:ring ring-gray-300 focus:border-blue-300 active:bg-gray-100 active:text-gray-700 transition ease-in-out duration-150 dark:bg-gray-800 dark:border-gray-600 dark:text-gray-300 dark:focus:border-blue-700 dark:active:bg-gray-700 dark:active:text-gray-300">
|
||||||
class="relative inline-flex items-center px-4 py-2 ml-3 text-sm font-medium text-gray-700 bg-white border border-gray-300 leading-5 rounded-md hover:text-gray-500 focus:outline-none focus:ring ring-gray-300 focus:border-blue-300 active:bg-gray-100 active:text-gray-700 transition ease-in-out duration-150">
|
|
||||||
{!! __('pagination.next') !!}
|
{!! __('pagination.next') !!}
|
||||||
</a>
|
</a>
|
||||||
@else
|
@else
|
||||||
<span
|
<span class="relative inline-flex items-center px-4 py-2 ml-3 text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default leading-5 rounded-md dark:text-gray-600 dark:bg-gray-800 dark:border-gray-600">
|
||||||
class="relative inline-flex items-center px-4 py-2 ml-3 text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default leading-5 rounded-md">
|
|
||||||
{!! __('pagination.next') !!}
|
{!! __('pagination.next') !!}
|
||||||
</span>
|
</span>
|
||||||
@endif
|
@endif
|
||||||
|
|
@ -28,7 +24,7 @@
|
||||||
|
|
||||||
<div class="hidden sm:flex-1 sm:flex sm:items-center sm:justify-between">
|
<div class="hidden sm:flex-1 sm:flex sm:items-center sm:justify-between">
|
||||||
<div>
|
<div>
|
||||||
<p class="text-sm text-gray-700 leading-5">
|
<p class="text-sm text-gray-700 leading-5 dark:text-gray-400">
|
||||||
{!! __('Showing') !!}
|
{!! __('Showing') !!}
|
||||||
@if ($paginator->firstItem())
|
@if ($paginator->firstItem())
|
||||||
<span class="font-medium">{{ $paginator->firstItem() }}</span>
|
<span class="font-medium">{{ $paginator->firstItem() }}</span>
|
||||||
|
|
@ -44,28 +40,20 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<span class="relative z-0 inline-flex shadow-sm rounded-md">
|
<span class="relative z-0 inline-flex rtl:flex-row-reverse shadow-sm rounded-md">
|
||||||
{{-- Previous Page Link --}}
|
{{-- Previous Page Link --}}
|
||||||
@if ($paginator->onFirstPage())
|
@if ($paginator->onFirstPage())
|
||||||
<span aria-disabled="true" aria-label="{{ __('pagination.previous') }}">
|
<span aria-disabled="true" aria-label="{{ __('pagination.previous') }}">
|
||||||
<span
|
<span class="relative inline-flex items-center px-2 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default rounded-l-md leading-5 dark:bg-gray-800 dark:border-gray-600" aria-hidden="true">
|
||||||
class="relative inline-flex items-center px-2 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default rounded-l-md leading-5"
|
|
||||||
aria-hidden="true">
|
|
||||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
||||||
<path fill-rule="evenodd"
|
<path fill-rule="evenodd" d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z" clip-rule="evenodd" />
|
||||||
d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z"
|
|
||||||
clip-rule="evenodd"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
@else
|
@else
|
||||||
<a href="{{ $paginator->previousPageUrl() }}" rel="prev"
|
<a href="{{ $paginator->previousPageUrl() }}" rel="prev" class="relative inline-flex items-center px-2 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 rounded-l-md leading-5 hover:text-gray-400 focus:z-10 focus:outline-none focus:ring ring-gray-300 focus:border-blue-300 active:bg-gray-100 active:text-gray-500 transition ease-in-out duration-150 dark:bg-gray-800 dark:border-gray-600 dark:active:bg-gray-700 dark:focus:border-blue-800" aria-label="{{ __('pagination.previous') }}">
|
||||||
class="relative inline-flex items-center px-2 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 rounded-l-md leading-5 hover:text-gray-400 focus:z-10 focus:outline-none focus:ring ring-gray-300 focus:border-blue-300 active:bg-gray-100 active:text-gray-500 transition ease-in-out duration-150"
|
|
||||||
aria-label="{{ __('pagination.previous') }}">
|
|
||||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
||||||
<path fill-rule="evenodd"
|
<path fill-rule="evenodd" d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z" clip-rule="evenodd" />
|
||||||
d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z"
|
|
||||||
clip-rule="evenodd"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
@endif
|
@endif
|
||||||
|
|
@ -75,8 +63,7 @@
|
||||||
{{-- "Three Dots" Separator --}}
|
{{-- "Three Dots" Separator --}}
|
||||||
@if (is_string($element))
|
@if (is_string($element))
|
||||||
<span aria-disabled="true">
|
<span aria-disabled="true">
|
||||||
<span
|
<span class="relative inline-flex items-center px-4 py-2 -ml-px text-sm font-medium text-gray-700 bg-white border border-gray-300 cursor-default leading-5 dark:bg-gray-800 dark:border-gray-600">{{ $element }}</span>
|
||||||
class="relative inline-flex items-center px-4 py-2 -ml-px text-sm font-medium text-gray-700 bg-white border border-gray-300 cursor-default leading-5">{{ $element }}</span>
|
|
||||||
</span>
|
</span>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
|
@ -85,13 +72,10 @@
|
||||||
@foreach ($element as $page => $url)
|
@foreach ($element as $page => $url)
|
||||||
@if ($page == $paginator->currentPage())
|
@if ($page == $paginator->currentPage())
|
||||||
<span aria-current="page">
|
<span aria-current="page">
|
||||||
<span
|
<span class="relative inline-flex items-center px-4 py-2 -ml-px text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default leading-5 dark:bg-gray-800 dark:border-gray-600">{{ $page }}</span>
|
||||||
class="relative inline-flex items-center px-4 py-2 -ml-px text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default leading-5">{{ $page }}</span>
|
|
||||||
</span>
|
</span>
|
||||||
@else
|
@else
|
||||||
<a href="{{ $url }}"
|
<a href="{{ $url }}" class="relative inline-flex items-center px-4 py-2 -ml-px text-sm font-medium text-gray-700 bg-white border border-gray-300 leading-5 hover:text-gray-500 focus:z-10 focus:outline-none focus:ring ring-gray-300 focus:border-blue-300 active:bg-gray-100 active:text-gray-700 transition ease-in-out duration-150 dark:bg-gray-800 dark:border-gray-600 dark:text-gray-400 dark:hover:text-gray-300 dark:active:bg-gray-700 dark:focus:border-blue-800" aria-label="{{ __('Go to page :page', ['page' => $page]) }}">
|
||||||
class="relative inline-flex items-center px-4 py-2 -ml-px text-sm font-medium text-gray-700 bg-white border border-gray-300 leading-5 hover:text-gray-500 focus:z-10 focus:outline-none focus:ring ring-gray-300 focus:border-blue-300 active:bg-gray-100 active:text-gray-700 transition ease-in-out duration-150"
|
|
||||||
aria-label="{{ __('Go to page :page', ['page' => $page]) }}">
|
|
||||||
{{ $page }}
|
{{ $page }}
|
||||||
</a>
|
</a>
|
||||||
@endif
|
@endif
|
||||||
|
|
@ -101,24 +85,16 @@
|
||||||
|
|
||||||
{{-- Next Page Link --}}
|
{{-- Next Page Link --}}
|
||||||
@if ($paginator->hasMorePages())
|
@if ($paginator->hasMorePages())
|
||||||
<a href="{{ $paginator->nextPageUrl() }}" rel="next"
|
<a href="{{ $paginator->nextPageUrl() }}" rel="next" class="relative inline-flex items-center px-2 py-2 -ml-px text-sm font-medium text-gray-500 bg-white border border-gray-300 rounded-r-md leading-5 hover:text-gray-400 focus:z-10 focus:outline-none focus:ring ring-gray-300 focus:border-blue-300 active:bg-gray-100 active:text-gray-500 transition ease-in-out duration-150 dark:bg-gray-800 dark:border-gray-600 dark:active:bg-gray-700 dark:focus:border-blue-800" aria-label="{{ __('pagination.next') }}">
|
||||||
class="relative inline-flex items-center px-2 py-2 -ml-px text-sm font-medium text-gray-500 bg-white border border-gray-300 rounded-r-md leading-5 hover:text-gray-400 focus:z-10 focus:outline-none focus:ring ring-gray-300 focus:border-blue-300 active:bg-gray-100 active:text-gray-500 transition ease-in-out duration-150"
|
|
||||||
aria-label="{{ __('pagination.next') }}">
|
|
||||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
||||||
<path fill-rule="evenodd"
|
<path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd" />
|
||||||
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
|
||||||
clip-rule="evenodd"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
@else
|
@else
|
||||||
<span aria-disabled="true" aria-label="{{ __('pagination.next') }}">
|
<span aria-disabled="true" aria-label="{{ __('pagination.next') }}">
|
||||||
<span
|
<span class="relative inline-flex items-center px-2 py-2 -ml-px text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default rounded-r-md leading-5 dark:bg-gray-800 dark:border-gray-600" aria-hidden="true">
|
||||||
class="relative inline-flex items-center px-2 py-2 -ml-px text-sm font-medium text-gray-500 bg-white border border-gray-300 cursor-default rounded-r-md leading-5"
|
|
||||||
aria-hidden="true">
|
|
||||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
||||||
<path fill-rule="evenodd"
|
<path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd" />
|
||||||
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
|
|
||||||
clip-rule="evenodd"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue