├── .DS_Store ├── .editorconfig ├── .env.example ├── .gitattributes ├── .gitignore ├── README.md ├── app ├── Actions │ ├── Fortify │ │ ├── CreateNewUser.php │ │ ├── PasswordValidationRules.php │ │ ├── ResetUserPassword.php │ │ ├── UpdateUserPassword.php │ │ └── UpdateUserProfileInformation.php │ └── Jetstream │ │ └── DeleteUser.php ├── Console │ └── Kernel.php ├── Exceptions │ └── Handler.php ├── Helpers │ └── MainHelper.php ├── Http │ ├── Controllers │ │ ├── Admin │ │ │ └── CourseTagController.php │ │ ├── Controller.php │ │ └── SupportController.php │ ├── Kernel.php │ ├── Livewire │ │ ├── Check.php │ │ ├── Form │ │ │ └── Example.php │ │ └── Table │ │ │ └── Main.php │ └── Middleware │ │ ├── Authenticate.php │ │ ├── EncryptCookies.php │ │ ├── PreventRequestsDuringMaintenance.php │ │ ├── RedirectIfAuthenticated.php │ │ ├── TrimStrings.php │ │ ├── TrustHosts.php │ │ ├── TrustProxies.php │ │ ├── ValidateSignature.php │ │ └── VerifyCsrfToken.php ├── Models │ ├── Example.php │ └── User.php ├── Providers │ ├── AppServiceProvider.php │ ├── AuthServiceProvider.php │ ├── BroadcastServiceProvider.php │ ├── EventServiceProvider.php │ ├── FortifyServiceProvider.php │ ├── JetstreamServiceProvider.php │ └── RouteServiceProvider.php ├── Repository │ ├── Course.php │ ├── CourseDetail.php │ ├── CourseGroup.php │ ├── CourseRead.php │ ├── CourseTag.php │ ├── CourseType.php │ ├── Example.php │ ├── FileType.php │ ├── Path.php │ ├── Repository.php │ ├── Room.php │ ├── RoomPath.php │ ├── Status.php │ ├── Tag.php │ ├── User.php │ └── UserHaveCourse.php └── View │ └── Components │ ├── AppLayout.php │ ├── GuestLayout.php │ └── MasifDashboard.php ├── artisan ├── bootstrap ├── app.php └── cache │ └── .gitignore ├── colors.css ├── composer.json ├── composer.lock ├── config ├── app.php ├── auth.php ├── broadcasting.php ├── cache.php ├── cors.php ├── database.php ├── filesystems.php ├── fortify.php ├── hashing.php ├── helpers.php ├── jetstream.php ├── logging.php ├── mail.php ├── queue.php ├── sanctum.php ├── services.php ├── session.php ├── view.php └── wink.php ├── database ├── .gitignore ├── factories │ └── UserFactory.php ├── migrations │ ├── 2014_10_12_000000_create_users_table.php │ ├── 2014_10_12_100000_create_password_resets_table.php │ ├── 2014_10_12_200000_add_two_factor_columns_to_users_table.php │ ├── 2019_08_19_000000_create_failed_jobs_table.php │ ├── 2019_12_14_000001_create_personal_access_tokens_table.php │ ├── 2022_10_23_022624_create_sessions_table.php │ ├── 2022_12_03_131022_update_add_role_users.php │ ├── 2022_12_03_131024_create_statuses.php │ └── 2022_12_23_075140_create_examples.php └── seeders │ └── DatabaseSeeder.php ├── database_note ├── lang └── en │ ├── auth.php │ ├── pagination.php │ ├── passwords.php │ └── validation.php ├── package-lock.json ├── package.json ├── phpunit.xml ├── postcss.config.js ├── public ├── .htaccess ├── favicon.ico ├── index.php ├── masif-dashboard │ ├── asset │ │ ├── img1.png │ │ ├── img2.png │ │ ├── img3.png │ │ └── img4.png │ ├── css │ │ └── tailwind.css │ ├── images │ │ ├── avatar-1.jpg │ │ ├── avatar.jpg │ │ ├── cover-2.jpg │ │ ├── cover-3.jpg │ │ ├── cover-4.jpg │ │ ├── cover.jpg │ │ └── ilustration-1.png │ └── js │ │ └── colors.js ├── robots.txt └── vendor │ ├── apexchart │ ├── apexcharts.amd.js │ ├── apexcharts.amd.js.LICENSE.txt │ ├── apexcharts.common.js │ ├── apexcharts.css │ ├── apexcharts.esm.js │ ├── apexcharts.js │ ├── apexcharts.min.js │ └── locales │ │ ├── ar.json │ │ ├── ca.json │ │ ├── cs.json │ │ ├── de.json │ │ ├── el.json │ │ ├── en.json │ │ ├── es.json │ │ ├── et.json │ │ ├── fa.json │ │ ├── fi.json │ │ ├── fr.json │ │ ├── he.json │ │ ├── hi.json │ │ ├── hr.json │ │ ├── hu.json │ │ ├── hy.json │ │ ├── id.json │ │ ├── it.json │ │ ├── ja.json │ │ ├── ka.json │ │ ├── ko.json │ │ ├── lt.json │ │ ├── lv.json │ │ ├── nb.json │ │ ├── nl.json │ │ ├── pl.json │ │ ├── pt-br.json │ │ ├── pt.json │ │ ├── rs.json │ │ ├── ru.json │ │ ├── se.json │ │ ├── sk.json │ │ ├── sl.json │ │ ├── sq.json │ │ ├── th.json │ │ ├── tr.json │ │ ├── ua.json │ │ ├── zh-cn.json │ │ └── zh-tw.json │ ├── bootstrap.min.css │ ├── calendar │ ├── app.js │ ├── calendars.js │ ├── chance.min.js │ ├── index.global.js │ ├── index.global.min.js │ ├── inital.js │ ├── moment.min.js │ ├── schedules.js │ ├── tui-calendar.js │ ├── tui-code-snippet.min.js │ ├── tui-date-picker.min.js │ └── tui-time-picker.min.js │ ├── chart.js │ ├── LICENSE.md │ ├── README.md │ ├── bower.json │ ├── composer.json │ ├── dist │ │ ├── Chart.bundle.js │ │ ├── Chart.bundle.min.js │ │ ├── Chart.css │ │ ├── Chart.js │ │ ├── Chart.min.css │ │ └── Chart.min.js │ └── package.json │ ├── datepicker │ ├── date-picker.css │ ├── date-picker.custom.css │ ├── date-time-picker │ │ ├── datetimepicker.custom.js │ │ ├── moment.min.js │ │ └── tempusdominus-bootstrap-4.min.js │ ├── datepicker.custom.js │ ├── datepicker.en.js │ ├── datepicker.js │ └── daterange-picker │ │ ├── daterange-picker.custom.js │ │ ├── daterangepicker.js │ │ └── moment.min.js │ ├── mathquill │ ├── font │ │ ├── Symbola-basic.eot │ │ ├── Symbola-basic.ttf │ │ ├── Symbola-basic.woff │ │ ├── Symbola-basic.woff2 │ │ ├── Symbola.eot │ │ ├── Symbola.otf │ │ ├── Symbola.svg │ │ ├── Symbola.ttf │ │ ├── Symbola.woff │ │ └── Symbola.woff2 │ ├── matheditor.css │ ├── matheditor.js │ ├── mathquill.css │ └── mathquill.min.js │ ├── select2 │ ├── select2.min.css │ └── select2.min.js │ ├── sweetalert │ └── sweetalert.min.js │ └── tinymce │ ├── dark.css │ └── light.css ├── resources ├── css │ ├── app.css │ └── colors.css ├── js │ ├── app.js │ └── bootstrap.js ├── markdown │ ├── policy.md │ └── terms.md └── views │ ├── api │ ├── api-token-manager.blade.php │ └── index.blade.php │ ├── auth │ ├── confirm-password.blade.php │ ├── forgot-password.blade.php │ ├── login.blade.php │ ├── register.blade.php │ ├── reset-password.blade.php │ ├── two-factor-challenge.blade.php │ └── verify-email.blade.php │ ├── components │ ├── button-primary.blade.php │ ├── calendar.blade.php │ ├── chart-component │ │ ├── non-time-series.blade.php │ │ └── time-series.blade.php │ ├── chart.blade.php │ ├── data-table-component │ │ └── sort-icon.blade.php │ ├── data-table.blade.php │ ├── form-button.blade.php │ ├── form-generator-component │ │ ├── editor.blade.php │ │ ├── input.blade.php │ │ ├── select.blade.php │ │ ├── select2.blade.php │ │ └── textarea.blade.php │ └── form-generator.blade.php │ ├── dashboard.blade.php │ ├── index.blade.php │ ├── layouts │ ├── app.blade.php │ ├── guest.blade.php │ ├── masif-dashboard.blade.php │ └── masif-dashboard │ │ ├── navbar.blade.php │ │ ├── panel.blade.php │ │ └── sidebar.blade.php │ ├── livewire │ ├── check.blade.php │ └── form │ │ └── example.blade.php │ ├── navigation-menu.blade.php │ ├── pages │ ├── admin │ │ └── example │ │ │ ├── form-generator.blade.php │ │ │ └── table-generator.blade.php │ └── dashboard.blade.php │ ├── policy.blade.php │ ├── profile │ ├── delete-user-form.blade.php │ ├── logout-other-browser-sessions-form.blade.php │ ├── show.blade.php │ ├── two-factor-authentication-form.blade.php │ ├── update-password-form.blade.php │ └── update-profile-information-form.blade.php │ ├── terms.blade.php │ ├── vendor │ └── pagination │ │ ├── bootstrap-4.blade.php │ │ ├── bootstrap-5.blade.php │ │ ├── default.blade.php │ │ ├── semantic-ui.blade.php │ │ ├── simple-bootstrap-4.blade.php │ │ ├── simple-bootstrap-5.blade.php │ │ ├── simple-default.blade.php │ │ ├── simple-tailwind.blade.php │ │ └── tailwind.blade.php │ └── welcome.blade.php ├── routes ├── api.php ├── channels.php ├── console.php └── web.php ├── storage ├── app │ ├── .gitignore │ └── public │ │ └── .gitignore ├── framework │ ├── .gitignore │ ├── cache │ │ ├── .gitignore │ │ └── data │ │ │ └── .gitignore │ ├── sessions │ │ └── .gitignore │ ├── testing │ │ └── .gitignore │ └── views │ │ └── .gitignore └── logs │ └── .gitignore ├── tailwind.config.js ├── tests ├── CreatesApplication.php ├── Feature │ ├── ApiTokenPermissionsTest.php │ ├── AuthenticationTest.php │ ├── BrowserSessionsTest.php │ ├── CreateApiTokenTest.php │ ├── DeleteAccountTest.php │ ├── DeleteApiTokenTest.php │ ├── EmailVerificationTest.php │ ├── ExampleTest.php │ ├── PasswordConfirmationTest.php │ ├── PasswordResetTest.php │ ├── ProfileInformationTest.php │ ├── RegistrationTest.php │ ├── TwoFactorAuthenticationSettingsTest.php │ └── UpdatePasswordTest.php ├── TestCase.php └── Unit │ └── ExampleTest.php └── vite.config.js /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/.DS_Store -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | insert_final_newline = true 7 | indent_style = space 8 | indent_size = 4 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | 14 | [*.{yml,yaml}] 15 | indent_size = 2 16 | 17 | [docker-compose.yml] 18 | indent_size = 4 19 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | APP_NAME=Laravel 2 | APP_ENV=local 3 | APP_KEY= 4 | APP_DEBUG=true 5 | APP_URL=http://localhost 6 | 7 | LOG_CHANNEL=stack 8 | LOG_DEPRECATIONS_CHANNEL=null 9 | LOG_LEVEL=debug 10 | 11 | DB_CONNECTION=mysql 12 | DB_HOST=127.0.0.1 13 | DB_PORT=3306 14 | DB_DATABASE=laravel 15 | DB_USERNAME=root 16 | DB_PASSWORD= 17 | 18 | BROADCAST_DRIVER=log 19 | CACHE_DRIVER=file 20 | FILESYSTEM_DISK=local 21 | QUEUE_CONNECTION=sync 22 | SESSION_DRIVER=database 23 | SESSION_LIFETIME=120 24 | 25 | MEMCACHED_HOST=127.0.0.1 26 | 27 | REDIS_HOST=127.0.0.1 28 | REDIS_PASSWORD=null 29 | REDIS_PORT=6379 30 | 31 | MAIL_MAILER=smtp 32 | MAIL_HOST=mailhog 33 | MAIL_PORT=1025 34 | MAIL_USERNAME=null 35 | MAIL_PASSWORD=null 36 | MAIL_ENCRYPTION=null 37 | MAIL_FROM_ADDRESS="hello@example.com" 38 | MAIL_FROM_NAME="${APP_NAME}" 39 | 40 | AWS_ACCESS_KEY_ID= 41 | AWS_SECRET_ACCESS_KEY= 42 | AWS_DEFAULT_REGION=us-east-1 43 | AWS_BUCKET= 44 | AWS_USE_PATH_STYLE_ENDPOINT=false 45 | 46 | PUSHER_APP_ID= 47 | PUSHER_APP_KEY= 48 | PUSHER_APP_SECRET= 49 | PUSHER_HOST= 50 | PUSHER_PORT=443 51 | PUSHER_SCHEME=https 52 | PUSHER_APP_CLUSTER=mt1 53 | 54 | VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}" 55 | VITE_PUSHER_HOST="${PUSHER_HOST}" 56 | VITE_PUSHER_PORT="${PUSHER_PORT}" 57 | VITE_PUSHER_SCHEME="${PUSHER_SCHEME}" 58 | VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" 59 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | 3 | *.blade.php diff=html 4 | *.css diff=css 5 | *.html diff=html 6 | *.md diff=markdown 7 | *.php diff=php 8 | 9 | /.github export-ignore 10 | CHANGELOG.md export-ignore 11 | .styleci.yml export-ignore 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /public/build 3 | /public/hot 4 | /public/storage 5 | /storage/*.key 6 | /vendor 7 | .env 8 | .env.backup 9 | .phpunit.result.cache 10 | Homestead.json 11 | Homestead.yaml 12 | auth.json 13 | npm-debug.log 14 | yarn-error.log 15 | /.idea 16 | /.vscode 17 | -------------------------------------------------------------------------------- /app/Actions/Fortify/CreateNewUser.php: -------------------------------------------------------------------------------- 1 | ['required', 'string', 'max:255'], 25 | 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 26 | 'password' => $this->passwordRules(), 27 | 'terms' => Jetstream::hasTermsAndPrivacyPolicyFeature() ? ['accepted', 'required'] : '', 28 | ])->validate(); 29 | 30 | return User::create([ 31 | 'name' => $input['name'], 32 | 'email' => $input['email'], 33 | 'password' => Hash::make($input['password']), 34 | ]); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/Actions/Fortify/PasswordValidationRules.php: -------------------------------------------------------------------------------- 1 | $this->passwordRules(), 24 | ])->validate(); 25 | 26 | $user->forceFill([ 27 | 'password' => Hash::make($input['password']), 28 | ])->save(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/Actions/Fortify/UpdateUserPassword.php: -------------------------------------------------------------------------------- 1 | ['required', 'string'], 24 | 'password' => $this->passwordRules(), 25 | ])->after(function ($validator) use ($user, $input) { 26 | if (! isset($input['current_password']) || ! Hash::check($input['current_password'], $user->password)) { 27 | $validator->errors()->add('current_password', __('The provided password does not match your current password.')); 28 | } 29 | })->validateWithBag('updatePassword'); 30 | 31 | $user->forceFill([ 32 | 'password' => Hash::make($input['password']), 33 | ])->save(); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /app/Actions/Fortify/UpdateUserProfileInformation.php: -------------------------------------------------------------------------------- 1 | ['required', 'string', 'max:255'], 23 | 'email' => ['required', 'email', 'max:255', Rule::unique('users')->ignore($user->id)], 24 | 'photo' => ['nullable', 'mimes:jpg,jpeg,png', 'max:1024'], 25 | ])->validateWithBag('updateProfileInformation'); 26 | 27 | if (isset($input['photo'])) { 28 | $user->updateProfilePhoto($input['photo']); 29 | } 30 | 31 | if ($input['email'] !== $user->email && 32 | $user instanceof MustVerifyEmail) { 33 | $this->updateVerifiedUser($user, $input); 34 | } else { 35 | $user->forceFill([ 36 | 'name' => $input['name'], 37 | 'email' => $input['email'], 38 | ])->save(); 39 | } 40 | } 41 | 42 | /** 43 | * Update the given verified user's profile information. 44 | * 45 | * @param mixed $user 46 | * @param array $input 47 | * @return void 48 | */ 49 | protected function updateVerifiedUser($user, array $input) 50 | { 51 | $user->forceFill([ 52 | 'name' => $input['name'], 53 | 'email' => $input['email'], 54 | 'email_verified_at' => null, 55 | ])->save(); 56 | 57 | $user->sendEmailVerificationNotification(); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /app/Actions/Jetstream/DeleteUser.php: -------------------------------------------------------------------------------- 1 | deleteProfilePhoto(); 18 | $user->tokens->each->delete(); 19 | $user->delete(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/Console/Kernel.php: -------------------------------------------------------------------------------- 1 | command('inspire')->hourly(); 19 | } 20 | 21 | /** 22 | * Register the commands for the application. 23 | * 24 | * @return void 25 | */ 26 | protected function commands() 27 | { 28 | $this->load(__DIR__.'/Commands'); 29 | 30 | require base_path('routes/console.php'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/Exceptions/Handler.php: -------------------------------------------------------------------------------- 1 | , \Psr\Log\LogLevel::*> 14 | */ 15 | protected $levels = [ 16 | // 17 | ]; 18 | 19 | /** 20 | * A list of the exception types that are not reported. 21 | * 22 | * @var array> 23 | */ 24 | protected $dontReport = [ 25 | // 26 | ]; 27 | 28 | /** 29 | * A list of the inputs that are never flashed to the session on validation exceptions. 30 | * 31 | * @var array 32 | */ 33 | protected $dontFlash = [ 34 | 'current_password', 35 | 'password', 36 | 'password_confirmation', 37 | ]; 38 | 39 | /** 40 | * Register the exception handling callbacks for the application. 41 | * 42 | * @return void 43 | */ 44 | public function register() 45 | { 46 | $this->reportable(function (Throwable $e) { 47 | // 48 | }); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /app/Http/Controllers/Admin/CourseTagController.php: -------------------------------------------------------------------------------- 1 | file('file'); 14 | $filename = time() . '.' . $image->getClientOriginalExtension(); 15 | 16 | $image=Image::make($image)->resize(1080, 1080, function ($constraint) { 17 | $constraint->aspectRatio(); 18 | $constraint->upsize(); 19 | }); 20 | $image->stream(); 21 | Storage::disk('local')->put('public/images/summernote-image/' . $filename, $image, 'public'); 22 | return '/storage/images/summernote-image/' . $filename; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/Http/Livewire/Check.php: -------------------------------------------------------------------------------- 1 | chart=[ 19 | 'type'=>'line', 20 | 'categories'=>['a','b','c','d','e'], 21 | 'data'=> [ 22 | [ 'label'=>'Asif' ,'value'=>[11,22,35,14,15]], 23 | [ 'label'=>'Amalia' ,'value'=>[15,14,32,21,11]], 24 | ] 25 | ]; 26 | 27 | 28 | $this->a=[ 29 | ['value'=>1,'title'=>'asdasd'], 30 | ['value'=>2,'title'=>'asdaaaasd'], 31 | ['value'=>3,'title'=>'asdaaaasd'], 32 | ['value'=>4,'title'=>'asdaaaasd'], 33 | ['value'=>5,'title'=>'asdaaaasd'], 34 | ['value'=>6,'title'=>'asdaaaasd'], 35 | ]; 36 | 37 | $this->data=form_model(User::class,1); 38 | $this->data['name']='aaaaasdasdad'; 39 | // dd() 40 | 41 | // $a['a']='aaa'; 42 | // $v=explode('.','a.a'); 43 | //// dd($v); 44 | // dd(${$v[0]}[$v[1]]); 45 | // $this->data=User::create(['name' =>'', 'password' =>bcrypt('a'), 'email' =>'a@aaaa']); 46 | // dd($this->data); 47 | } 48 | public function create(){ 49 | dd($this->data); 50 | } 51 | public function render() 52 | { 53 | return view('livewire.check'); 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /app/Http/Livewire/Form/Example.php: -------------------------------------------------------------------------------- 1 | data=form_model(Repository::class,$this->dataId); 16 | } 17 | public function create(){ 18 | Repository::create($this->data); 19 | } 20 | public function update(){ 21 | Repository::find($this->dataId)->update($this->data); 22 | } 23 | 24 | public function render() 25 | { 26 | return view('livewire.form.example'); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/Http/Middleware/Authenticate.php: -------------------------------------------------------------------------------- 1 | expectsJson()) { 18 | return route('login'); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/Http/Middleware/EncryptCookies.php: -------------------------------------------------------------------------------- 1 | 13 | */ 14 | protected $except = [ 15 | // 16 | ]; 17 | } 18 | -------------------------------------------------------------------------------- /app/Http/Middleware/PreventRequestsDuringMaintenance.php: -------------------------------------------------------------------------------- 1 | 13 | */ 14 | protected $except = [ 15 | // 16 | ]; 17 | } 18 | -------------------------------------------------------------------------------- /app/Http/Middleware/RedirectIfAuthenticated.php: -------------------------------------------------------------------------------- 1 | check()) { 26 | return redirect(RouteServiceProvider::HOME); 27 | } 28 | } 29 | 30 | return $next($request); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/Http/Middleware/TrimStrings.php: -------------------------------------------------------------------------------- 1 | 13 | */ 14 | protected $except = [ 15 | 'current_password', 16 | 'password', 17 | 'password_confirmation', 18 | ]; 19 | } 20 | -------------------------------------------------------------------------------- /app/Http/Middleware/TrustHosts.php: -------------------------------------------------------------------------------- 1 | 13 | */ 14 | public function hosts() 15 | { 16 | return [ 17 | $this->allSubdomainsOfApplicationUrl(), 18 | ]; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/Http/Middleware/TrustProxies.php: -------------------------------------------------------------------------------- 1 | |string|null 14 | */ 15 | protected $proxies; 16 | 17 | /** 18 | * The headers that should be used to detect proxies. 19 | * 20 | * @var int 21 | */ 22 | protected $headers = 23 | Request::HEADER_X_FORWARDED_FOR | 24 | Request::HEADER_X_FORWARDED_HOST | 25 | Request::HEADER_X_FORWARDED_PORT | 26 | Request::HEADER_X_FORWARDED_PROTO | 27 | Request::HEADER_X_FORWARDED_AWS_ELB; 28 | } 29 | -------------------------------------------------------------------------------- /app/Http/Middleware/ValidateSignature.php: -------------------------------------------------------------------------------- 1 | 13 | */ 14 | protected $except = [ 15 | // 'fbclid', 16 | // 'utm_campaign', 17 | // 'utm_content', 18 | // 'utm_medium', 19 | // 'utm_source', 20 | // 'utm_term', 21 | ]; 22 | } 23 | -------------------------------------------------------------------------------- /app/Http/Middleware/VerifyCsrfToken.php: -------------------------------------------------------------------------------- 1 | 13 | */ 14 | protected $except = [ 15 | // 16 | ]; 17 | } 18 | -------------------------------------------------------------------------------- /app/Models/Example.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | protected $policies = [ 16 | // 'App\Models\Model' => 'App\Policies\ModelPolicy', 17 | ]; 18 | 19 | /** 20 | * Register any authentication / authorization services. 21 | * 22 | * @return void 23 | */ 24 | public function boot() 25 | { 26 | $this->registerPolicies(); 27 | 28 | // 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/Providers/BroadcastServiceProvider.php: -------------------------------------------------------------------------------- 1 | > 16 | */ 17 | protected $listen = [ 18 | Registered::class => [ 19 | SendEmailVerificationNotification::class, 20 | ], 21 | ]; 22 | 23 | /** 24 | * Register any events for your application. 25 | * 26 | * @return void 27 | */ 28 | public function boot() 29 | { 30 | // 31 | } 32 | 33 | /** 34 | * Determine if events and listeners should be automatically discovered. 35 | * 36 | * @return bool 37 | */ 38 | public function shouldDiscoverEvents() 39 | { 40 | return false; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/Providers/FortifyServiceProvider.php: -------------------------------------------------------------------------------- 1 | email; 41 | 42 | return Limit::perMinute(5)->by($email.$request->ip()); 43 | }); 44 | 45 | RateLimiter::for('two-factor', function (Request $request) { 46 | return Limit::perMinute(5)->by($request->session()->get('login.id')); 47 | }); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /app/Providers/JetstreamServiceProvider.php: -------------------------------------------------------------------------------- 1 | configurePermissions(); 29 | 30 | Jetstream::deleteUsersUsing(DeleteUser::class); 31 | } 32 | 33 | /** 34 | * Configure the permissions that are available within the application. 35 | * 36 | * @return void 37 | */ 38 | protected function configurePermissions() 39 | { 40 | Jetstream::defaultApiTokenPermissions(['read']); 41 | 42 | Jetstream::permissions([ 43 | 'create', 44 | 'read', 45 | 'update', 46 | 'delete', 47 | ]); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /app/Providers/RouteServiceProvider.php: -------------------------------------------------------------------------------- 1 | configureRateLimiting(); 30 | 31 | $this->routes(function () { 32 | Route::middleware('api') 33 | ->prefix('api') 34 | ->group(base_path('routes/api.php')); 35 | 36 | Route::middleware('web') 37 | ->group(base_path('routes/web.php')); 38 | }); 39 | } 40 | 41 | /** 42 | * Configure the rate limiters for the application. 43 | * 44 | * @return void 45 | */ 46 | protected function configureRateLimiting() 47 | { 48 | RateLimiter::for('api', function (Request $request) { 49 | return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip()); 50 | }); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /app/Repository/CourseGroup.php: -------------------------------------------------------------------------------- 1 | orWhere('title', 'like', '%' . $query . '%') 16 | ->orWhere('ti', 'like', '%' . $query . '%') 17 | ; 18 | } 19 | 20 | public static function tableView(): array 21 | { 22 | return [ 23 | 'searchable' => true, 24 | ]; 25 | } 26 | 27 | public static function tableField(): array 28 | { 29 | return [ 30 | ['label' => '#', 'sort' => 'id','width'=>'7%'], 31 | ['label' => 'Tag', 'sort' => 'title'], 32 | ['label' => 'Action'], 33 | ]; 34 | } 35 | 36 | public static function tableData($data): array 37 | { 38 | $edit = route('admin.course-tag.edit'); 39 | return [ 40 | ['type' => 'index'], 41 | ['type' => 'string', 'data' => $data->title], 42 | ['type' => 'action', 'data' => [ 43 | ['title'=>'Edit','icon'=>'fa fa-eye', 'link'=>$edit], 44 | ['title'=>'Hapus','icon'=>'fa fa-trash', 'live'=>'delete'], 45 | 46 | ], 47 | ], 48 | ]; 49 | } 50 | 51 | public static function formField($params = null): array 52 | { 53 | // 'room_id', 'status', 'title', 'slug', 'release', 54 | return [ 55 | [ 56 | 'title' => 'Judul', 57 | 'type' => 'text', 58 | 'model' => 'title', 59 | 'required' => true, 60 | 'placeholder' => 'Tag', 61 | ], 62 | [ 63 | 'title' => 'Ruang', 64 | 'type' => 'select', 65 | 'model' => 'room_id', 66 | 'required' => true, 67 | // 'option'=> 68 | ], 69 | ]; 70 | } 71 | 72 | public static function formRules(): array 73 | { 74 | return [ 75 | 'data.tag'=>'required|max:255' 76 | ]; 77 | } 78 | 79 | public static function formMessages(): array 80 | { 81 | return []; 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /app/Repository/CourseTag.php: -------------------------------------------------------------------------------- 1 | true, 20 | ]; 21 | } 22 | 23 | public static function tableField(): array 24 | { 25 | return [ 26 | ['label' => '#', 'sort' => 'id','width'=>'7%'], 27 | ['label' => 'Tag', 'sort' => 'title'], 28 | ['label' => 'Action'], 29 | ]; 30 | } 31 | 32 | public static function tableData($data): array 33 | { 34 | $edit = route('admin.course-tag.edit'); 35 | return [ 36 | ['type' => 'index'], 37 | ['type' => 'string', 'data' => $data->title], 38 | ['type' => 'action', 'data' => [ 39 | ['title'=>'Edit','icon'=>'fa fa-eye', 'link'=>$edit], 40 | ['title'=>'Hapus','icon'=>'fa fa-trash', 'live'=>'delete'], 41 | 42 | ], 43 | ], 44 | ]; 45 | } 46 | 47 | public static function formField($params = null): array 48 | { 49 | return [ 50 | [ 51 | 'title' => 'Tag', 52 | 'type' => 'text', 53 | 'model' => 'title', 54 | 'required' => false, 55 | 'placeholder' => 'Tag', 56 | ], 57 | ]; 58 | } 59 | 60 | public static function formRules(): array 61 | { 62 | return [ 63 | 'data.tag'=>'required|max:255' 64 | ]; 65 | } 66 | 67 | public static function formMessages(): array 68 | { 69 | return []; 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /app/Repository/FileType.php: -------------------------------------------------------------------------------- 1 | orWhere('title', 'like', '%' . $query . '%') 16 | ->orWhere('ti', 'like', '%' . $query . '%') 17 | ; 18 | } 19 | 20 | public static function tableView(): array 21 | { 22 | return [ 23 | 'searchable' => true, 24 | ]; 25 | } 26 | 27 | public static function tableField(): array 28 | { 29 | return [ 30 | ['label' => '#', 'sort' => 'id','width'=>'7%'], 31 | ['label' => 'Tag', 'sort' => 'title'], 32 | ['label' => 'Action'], 33 | ]; 34 | } 35 | 36 | public static function tableData($data): array 37 | { 38 | $edit = route('admin.course-tag.edit'); 39 | return [ 40 | ['type' => 'index'], 41 | ['type' => 'string', 'data' => $data->title], 42 | ['type' => 'action', 'data' => [ 43 | ['title'=>'Edit','icon'=>'fa fa-eye', 'link'=>$edit], 44 | ['title'=>'Hapus','icon'=>'fa fa-trash', 'live'=>'delete'], 45 | 46 | ], 47 | ], 48 | ]; 49 | } 50 | 51 | public static function formField($params = null): array 52 | { 53 | // 'room_id', 'status', 'title', 'slug', 'release', 54 | return [ 55 | [ 56 | 'title' => 'Judul', 57 | 'type' => 'text', 58 | 'model' => 'title', 59 | 'required' => true, 60 | 'placeholder' => 'Tag', 61 | ], 62 | [ 63 | 'title' => 'Ruang', 64 | 'type' => 'select', 65 | 'model' => 'room_id', 66 | 'required' => true, 67 | // 'option'=> 68 | ], 69 | ]; 70 | } 71 | 72 | public static function formRules(): array 73 | { 74 | return [ 75 | 'data.tag'=>'required|max:255' 76 | ]; 77 | } 78 | 79 | public static function formMessages(): array 80 | { 81 | return []; 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /app/Repository/Repository.php: -------------------------------------------------------------------------------- 1 | orWhere('title', 'like', '%' . $query . '%') 16 | ->orWhere('ti', 'like', '%' . $query . '%') 17 | ; 18 | } 19 | 20 | public static function tableView(): array 21 | { 22 | return [ 23 | 'searchable' => true, 24 | ]; 25 | } 26 | 27 | public static function tableField(): array 28 | { 29 | return [ 30 | ['label' => '#', 'sort' => 'id','width'=>'7%'], 31 | ['label' => 'Tag', 'sort' => 'title'], 32 | ['label' => 'Action'], 33 | ]; 34 | } 35 | 36 | public static function tableData($data): array 37 | { 38 | $edit = route('admin.course-tag.edit'); 39 | return [ 40 | ['type' => 'index'], 41 | ['type' => 'string', 'data' => $data->title], 42 | ['type' => 'action', 'data' => [ 43 | ['title'=>'Edit','icon'=>'fa fa-eye', 'link'=>$edit], 44 | ['title'=>'Hapus','icon'=>'fa fa-trash', 'live'=>'delete'], 45 | 46 | ], 47 | ], 48 | ]; 49 | } 50 | 51 | public static function formField($params = null): array 52 | { 53 | // 'room_id', 'status', 'title', 'slug', 'release', 54 | return [ 55 | [ 56 | 'title' => 'Judul', 57 | 'type' => 'text', 58 | 'model' => 'title', 59 | 'required' => true, 60 | 'placeholder' => 'Tag', 61 | ], 62 | [ 63 | 'title' => 'Ruang', 64 | 'type' => 'select', 65 | 'model' => 'room_id', 66 | 'required' => true, 67 | // 'option'=> 68 | ], 69 | ]; 70 | } 71 | 72 | public static function formRules(): array 73 | { 74 | return [ 75 | 'data.tag'=>'required|max:255' 76 | ]; 77 | } 78 | 79 | public static function formMessages(): array 80 | { 81 | return []; 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /app/Repository/Tag.php: -------------------------------------------------------------------------------- 1 | orWhere('title', 'like', '%' . $query . '%') 16 | ->orWhere('ti', 'like', '%' . $query . '%') 17 | ; 18 | } 19 | 20 | public static function tableView(): array 21 | { 22 | return [ 23 | 'searchable' => true, 24 | ]; 25 | } 26 | 27 | public static function tableField(): array 28 | { 29 | return [ 30 | ['label' => '#', 'sort' => 'id','width'=>'7%'], 31 | ['label' => 'Tag', 'sort' => 'title'], 32 | ['label' => 'Action'], 33 | ]; 34 | } 35 | 36 | public static function tableData($data): array 37 | { 38 | $edit = route('admin.course-tag.edit'); 39 | return [ 40 | ['type' => 'index'], 41 | ['type' => 'string', 'data' => $data->title], 42 | ['type' => 'action', 'data' => [ 43 | ['title'=>'Edit','icon'=>'fa fa-eye', 'link'=>$edit], 44 | ['title'=>'Hapus','icon'=>'fa fa-trash', 'live'=>'delete'], 45 | 46 | ], 47 | ], 48 | ]; 49 | } 50 | 51 | public static function formField($params = null): array 52 | { 53 | // 'room_id', 'status', 'title', 'slug', 'release', 54 | return [ 55 | [ 56 | 'title' => 'Judul', 57 | 'type' => 'text', 58 | 'model' => 'title', 59 | 'required' => true, 60 | 'placeholder' => 'Tag', 61 | ], 62 | [ 63 | 'title' => 'Ruang', 64 | 'type' => 'select', 65 | 'model' => 'room_id', 66 | 'required' => true, 67 | // 'option'=> 68 | ], 69 | ]; 70 | } 71 | 72 | public static function formRules(): array 73 | { 74 | return [ 75 | 'data.tag'=>'required|max:255' 76 | ]; 77 | } 78 | 79 | public static function formMessages(): array 80 | { 81 | return []; 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /app/View/Components/AppLayout.php: -------------------------------------------------------------------------------- 1 | 'General', 15 | 'sub-link'=>[ 16 | ['route'=>'admin.dashboard','icon'=>'fa fa-eye','title'=>'Dashboard'], 17 | ['link'=>'https://goolge.com','icon'=>'far fa-google','title'=>'Link'], 18 | ] 19 | ], 20 | [ 21 | 'title'=>'Example', 22 | 'sub-link'=>[ 23 | ['route'=>'admin.form-example','icon'=>'fa fa-file-alt','title'=>'Form Example'], 24 | ['route'=>'admin.table-example','icon'=>'fa fa-table','title'=>'Table Example'], 25 | ] 26 | ], 27 | // [ 28 | // 'title'=>'Finance', 29 | // 'sub-link'=>[ 30 | // ['link'=>"#",'icon'=>'fa fa-eye','title'=>'RAB'], 31 | // ['link'=>"#",'icon'=>'fa fa-file-alt','title'=>'SPJ'], 32 | // ['link'=>"#",'icon'=>'fa fa-envelope','title'=>'Budget'], 33 | // ['link'=>"#",'icon'=>'fa fa-envelope','title'=>'Gaji'], 34 | // ] 35 | // ] 36 | ]; 37 | return view('layouts.masif-dashboard',compact('sidebar')); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /artisan: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | make(Illuminate\Contracts\Console\Kernel::class); 34 | 35 | $status = $kernel->handle( 36 | $input = new Symfony\Component\Console\Input\ArgvInput, 37 | new Symfony\Component\Console\Output\ConsoleOutput 38 | ); 39 | 40 | /* 41 | |-------------------------------------------------------------------------- 42 | | Shutdown The Application 43 | |-------------------------------------------------------------------------- 44 | | 45 | | Once Artisan has finished running, we will fire off the shutdown events 46 | | so that any final work may be done by the application before we shut 47 | | down the process. This is the last thing to happen to the request. 48 | | 49 | */ 50 | 51 | $kernel->terminate($input, $status); 52 | 53 | exit($status); 54 | -------------------------------------------------------------------------------- /bootstrap/app.php: -------------------------------------------------------------------------------- 1 | singleton( 30 | Illuminate\Contracts\Http\Kernel::class, 31 | App\Http\Kernel::class 32 | ); 33 | 34 | $app->singleton( 35 | Illuminate\Contracts\Console\Kernel::class, 36 | App\Console\Kernel::class 37 | ); 38 | 39 | $app->singleton( 40 | Illuminate\Contracts\Debug\ExceptionHandler::class, 41 | App\Exceptions\Handler::class 42 | ); 43 | 44 | /* 45 | |-------------------------------------------------------------------------- 46 | | Return The Application 47 | |-------------------------------------------------------------------------- 48 | | 49 | | This script returns the application instance. The instance is given to 50 | | the calling script so we can separate the building of the instances 51 | | from the actual running of the application and sending responses. 52 | | 53 | */ 54 | 55 | return $app; 56 | -------------------------------------------------------------------------------- /bootstrap/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "laravel/laravel", 3 | "type": "project", 4 | "description": "The Laravel Framework.", 5 | "keywords": ["framework", "laravel"], 6 | "license": "MIT", 7 | "require": { 8 | "php": "^8.0.2", 9 | "browner12/helpers": "^3.4", 10 | "guzzlehttp/guzzle": "^7.2", 11 | "intervention/image": "^2.7", 12 | "laravel/framework": "^9.19", 13 | "laravel/jetstream": "^2.12", 14 | "laravel/sanctum": "^3.0", 15 | "laravel/tinker": "^2.7", 16 | "livewire/livewire": "^2.5" 17 | }, 18 | "require-dev": { 19 | "fakerphp/faker": "^1.9.1", 20 | "krlove/eloquent-model-generator": "^2.0", 21 | "laravel/pint": "^1.0", 22 | "laravel/sail": "^1.0.1", 23 | "mockery/mockery": "^1.4.4", 24 | "nunomaduro/collision": "^6.1", 25 | "phpunit/phpunit": "^9.5.10", 26 | "spatie/laravel-ignition": "^1.0" 27 | }, 28 | "autoload": { 29 | "psr-4": { 30 | "App\\": "app/", 31 | "Database\\Factories\\": "database/factories/", 32 | "Database\\Seeders\\": "database/seeders/" 33 | } 34 | }, 35 | "autoload-dev": { 36 | "psr-4": { 37 | "Tests\\": "tests/" 38 | } 39 | }, 40 | "scripts": { 41 | "post-autoload-dump": [ 42 | "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", 43 | "@php artisan package:discover --ansi" 44 | ], 45 | "post-update-cmd": [ 46 | "@php artisan vendor:publish --tag=laravel-assets --ansi --force" 47 | ], 48 | "post-root-package-install": [ 49 | "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" 50 | ], 51 | "post-create-project-cmd": [ 52 | "@php artisan key:generate --ansi" 53 | ] 54 | }, 55 | "extra": { 56 | "laravel": { 57 | "dont-discover": [] 58 | } 59 | }, 60 | "config": { 61 | "optimize-autoloader": true, 62 | "preferred-install": "dist", 63 | "sort-packages": true, 64 | "allow-plugins": { 65 | "pestphp/pest-plugin": true 66 | } 67 | }, 68 | "minimum-stability": "dev", 69 | "prefer-stable": true 70 | } 71 | -------------------------------------------------------------------------------- /config/cors.php: -------------------------------------------------------------------------------- 1 | ['api/*', 'sanctum/csrf-cookie'], 19 | 20 | 'allowed_methods' => ['*'], 21 | 22 | 'allowed_origins' => ['*'], 23 | 24 | 'allowed_origins_patterns' => [], 25 | 26 | 'allowed_headers' => ['*'], 27 | 28 | 'exposed_headers' => [], 29 | 30 | 'max_age' => 0, 31 | 32 | 'supports_credentials' => false, 33 | 34 | ]; 35 | -------------------------------------------------------------------------------- /config/hashing.php: -------------------------------------------------------------------------------- 1 | 'bcrypt', 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Bcrypt Options 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may specify the configuration options that should be used when 26 | | passwords are hashed using the Bcrypt algorithm. This will allow you 27 | | to control the amount of time it takes to hash the given password. 28 | | 29 | */ 30 | 31 | 'bcrypt' => [ 32 | 'rounds' => env('BCRYPT_ROUNDS', 10), 33 | ], 34 | 35 | /* 36 | |-------------------------------------------------------------------------- 37 | | Argon Options 38 | |-------------------------------------------------------------------------- 39 | | 40 | | Here you may specify the configuration options that should be used when 41 | | passwords are hashed using the Argon algorithm. These will allow you 42 | | to control the amount of time it takes to hash the given password. 43 | | 44 | */ 45 | 46 | 'argon' => [ 47 | 'memory' => 65536, 48 | 'threads' => 1, 49 | 'time' => 4, 50 | ], 51 | 52 | ]; 53 | -------------------------------------------------------------------------------- /config/services.php: -------------------------------------------------------------------------------- 1 | [ 18 | 'domain' => env('MAILGUN_DOMAIN'), 19 | 'secret' => env('MAILGUN_SECRET'), 20 | 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), 21 | 'scheme' => 'https', 22 | ], 23 | 24 | 'postmark' => [ 25 | 'token' => env('POSTMARK_TOKEN'), 26 | ], 27 | 28 | 'ses' => [ 29 | 'key' => env('AWS_ACCESS_KEY_ID'), 30 | 'secret' => env('AWS_SECRET_ACCESS_KEY'), 31 | 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), 32 | ], 33 | 34 | ]; 35 | -------------------------------------------------------------------------------- /config/view.php: -------------------------------------------------------------------------------- 1 | [ 17 | resource_path('views'), 18 | ], 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Compiled View Path 23 | |-------------------------------------------------------------------------- 24 | | 25 | | This option determines where all the compiled Blade templates will be 26 | | stored for your application. Typically, this is within the storage 27 | | directory. However, as usual, you are free to change this value. 28 | | 29 | */ 30 | 31 | 'compiled' => env( 32 | 'VIEW_COMPILED_PATH', 33 | realpath(storage_path('framework/views')) 34 | ), 35 | 36 | ]; 37 | -------------------------------------------------------------------------------- /database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite* 2 | -------------------------------------------------------------------------------- /database/factories/UserFactory.php: -------------------------------------------------------------------------------- 1 | $this->faker->name(), 29 | 'email' => $this->faker->unique()->safeEmail(), 30 | 'email_verified_at' => now(), 31 | 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password 32 | 'remember_token' => Str::random(10), 33 | ]; 34 | } 35 | 36 | /** 37 | * Indicate that the model's email address should be unverified. 38 | * 39 | * @return \Illuminate\Database\Eloquent\Factories\Factory 40 | */ 41 | public function unverified() 42 | { 43 | return $this->state(function (array $attributes) { 44 | return [ 45 | 'email_verified_at' => null, 46 | ]; 47 | }); 48 | } 49 | 50 | /** 51 | * Indicate that the user should have a personal team. 52 | * 53 | * @return $this 54 | */ 55 | public function withPersonalTeam() 56 | { 57 | if (! Features::hasTeamFeatures()) { 58 | return $this->state([]); 59 | } 60 | 61 | return $this->has( 62 | Team::factory() 63 | ->state(function (array $attributes, User $user) { 64 | return ['name' => $user->name.'\'s Team', 'user_id' => $user->id, 'personal_team' => true]; 65 | }), 66 | 'ownedTeams' 67 | ); 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_000000_create_users_table.php: -------------------------------------------------------------------------------- 1 | id(); 18 | $table->string('name'); 19 | $table->string('email')->unique(); 20 | $table->timestamp('email_verified_at')->nullable(); 21 | $table->string('password'); 22 | $table->rememberToken(); 23 | $table->foreignId('current_team_id')->nullable(); 24 | $table->string('profile_photo_path', 2048)->nullable(); 25 | $table->timestamps(); 26 | }); 27 | } 28 | 29 | /** 30 | * Reverse the migrations. 31 | * 32 | * @return void 33 | */ 34 | public function down() 35 | { 36 | Schema::dropIfExists('users'); 37 | } 38 | }; 39 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_100000_create_password_resets_table.php: -------------------------------------------------------------------------------- 1 | string('email')->index(); 18 | $table->string('token'); 19 | $table->timestamp('created_at')->nullable(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | Schema::dropIfExists('password_resets'); 31 | } 32 | }; 33 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_200000_add_two_factor_columns_to_users_table.php: -------------------------------------------------------------------------------- 1 | text('two_factor_secret') 19 | ->after('password') 20 | ->nullable(); 21 | 22 | $table->text('two_factor_recovery_codes') 23 | ->after('two_factor_secret') 24 | ->nullable(); 25 | 26 | if (Fortify::confirmsTwoFactorAuthentication()) { 27 | $table->timestamp('two_factor_confirmed_at') 28 | ->after('two_factor_recovery_codes') 29 | ->nullable(); 30 | } 31 | }); 32 | } 33 | 34 | /** 35 | * Reverse the migrations. 36 | * 37 | * @return void 38 | */ 39 | public function down() 40 | { 41 | Schema::table('users', function (Blueprint $table) { 42 | $table->dropColumn(array_merge([ 43 | 'two_factor_secret', 44 | 'two_factor_recovery_codes', 45 | ], Fortify::confirmsTwoFactorAuthentication() ? [ 46 | 'two_factor_confirmed_at', 47 | ] : [])); 48 | }); 49 | } 50 | }; 51 | -------------------------------------------------------------------------------- /database/migrations/2019_08_19_000000_create_failed_jobs_table.php: -------------------------------------------------------------------------------- 1 | id(); 18 | $table->string('uuid')->unique(); 19 | $table->text('connection'); 20 | $table->text('queue'); 21 | $table->longText('payload'); 22 | $table->longText('exception'); 23 | $table->timestamp('failed_at')->useCurrent(); 24 | }); 25 | } 26 | 27 | /** 28 | * Reverse the migrations. 29 | * 30 | * @return void 31 | */ 32 | public function down() 33 | { 34 | Schema::dropIfExists('failed_jobs'); 35 | } 36 | }; 37 | -------------------------------------------------------------------------------- /database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php: -------------------------------------------------------------------------------- 1 | id(); 18 | $table->morphs('tokenable'); 19 | $table->string('name'); 20 | $table->string('token', 64)->unique(); 21 | $table->text('abilities')->nullable(); 22 | $table->timestamp('last_used_at')->nullable(); 23 | $table->timestamp('expires_at')->nullable(); 24 | $table->timestamps(); 25 | }); 26 | } 27 | 28 | /** 29 | * Reverse the migrations. 30 | * 31 | * @return void 32 | */ 33 | public function down() 34 | { 35 | Schema::dropIfExists('personal_access_tokens'); 36 | } 37 | }; 38 | -------------------------------------------------------------------------------- /database/migrations/2022_10_23_022624_create_sessions_table.php: -------------------------------------------------------------------------------- 1 | string('id')->primary(); 18 | $table->foreignId('user_id')->nullable()->index(); 19 | $table->string('ip_address', 45)->nullable(); 20 | $table->text('user_agent')->nullable(); 21 | $table->longText('payload'); 22 | $table->integer('last_activity')->index(); 23 | }); 24 | } 25 | 26 | /** 27 | * Reverse the migrations. 28 | * 29 | * @return void 30 | */ 31 | public function down() 32 | { 33 | Schema::dropIfExists('sessions'); 34 | } 35 | }; 36 | -------------------------------------------------------------------------------- /database/migrations/2022_12_03_131022_update_add_role_users.php: -------------------------------------------------------------------------------- 1 | integer('role') 17 | ->after('password') 18 | ->default(3); 19 | }); 20 | } 21 | 22 | /** 23 | * Reverse the migrations. 24 | * 25 | * @return void 26 | */ 27 | public function down() 28 | { 29 | // 30 | } 31 | }; 32 | -------------------------------------------------------------------------------- /database/migrations/2022_12_03_131024_create_statuses.php: -------------------------------------------------------------------------------- 1 | id(); 18 | $table->string('title'); 19 | $table->timestamps(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | Schema::dropIfExists('statuses'); 31 | } 32 | }; 33 | -------------------------------------------------------------------------------- /database/migrations/2022_12_23_075140_create_examples.php: -------------------------------------------------------------------------------- 1 | id(); 18 | $table->string('text'); 19 | $table->string('number'); 20 | $table->string('email'); 21 | $table->string('password'); 22 | $table->string('file'); 23 | $table->date('date'); 24 | $table->time('time'); 25 | $table->dateTime('datetime-local'); 26 | $table->string('select'); 27 | $table->string('select2'); 28 | $table->text('textarea'); 29 | $table->text('editor'); 30 | $table->timestamps(); 31 | }); 32 | } 33 | 34 | /** 35 | * Reverse the migrations. 36 | * 37 | * @return void 38 | */ 39 | public function down() 40 | { 41 | Schema::dropIfExists('examples'); 42 | } 43 | }; 44 | -------------------------------------------------------------------------------- /database/seeders/DatabaseSeeder.php: -------------------------------------------------------------------------------- 1 | create(); 18 | 19 | \App\Models\User::create([ 20 | 'name' => 'Test User', 21 | 'email' => 'admin@admin', 22 | 'password' => bcrypt('admin'), 23 | ]); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /database_note: -------------------------------------------------------------------------------- 1 | php artisan make:migration update_add_role_users 2 | php artisan make:migration create_statuses 3 | php artisan make:migration create_tags 4 | php artisan make:migration create_paths 5 | php artisan make:migration create_rooms 6 | php artisan make:migration create_room_paths 7 | php artisan make:migration create_file_types 8 | php artisan make:migration create_courses 9 | php artisan make:migration create_course_groups 10 | php artisan make:migration create_course_details 11 | php artisan make:migration create_course_reads 12 | php artisan make:migration create_user_have_courses 13 | 14 | php artisan krlove:generate:model Status 15 | php artisan krlove:generate:model Tag 16 | php artisan krlove:generate:model Path 17 | php artisan krlove:generate:model Room 18 | php artisan krlove:generate:model RoomPath 19 | php artisan krlove:generate:model FileType 20 | php artisan krlove:generate:model Course 21 | php artisan krlove:generate:model CourseTag 22 | php artisan krlove:generate:model CourseType 23 | php artisan krlove:generate:model CourseGroup 24 | php artisan krlove:generate:model CourseDetail 25 | php artisan krlove:generate:model CourseRead 26 | php artisan krlove:generate:model UserHaveCourse 27 | 28 | 29 | users 30 | role 31 | 32 | statuses 33 | id 34 | title 35 | 36 | tags 37 | id 38 | title 39 | slug 40 | 41 | 42 | paths 43 | id 44 | title 45 | slug 46 | description 47 | 48 | rooms 49 | id 50 | title 51 | slug 52 | description 53 | 54 | room_paths 55 | id 56 | room_id 57 | path_id 58 | 59 | file_types 60 | id 61 | slug 62 | location 63 | 64 | courses 65 | id 66 | room_id 67 | title 68 | slug 69 | release_date 70 | status 71 | 72 | course_tags 73 | id 74 | tag_id 75 | course_id 76 | 77 | course_groups 78 | id 79 | course_id 80 | title 81 | slug 82 | 83 | course_types 84 | id 85 | title 86 | 87 | course_detail 88 | id 89 | course_group_id 90 | course_type_id 91 | title 92 | content 93 | release_date 94 | status 95 | 96 | course_read 97 | id 98 | user_id 99 | course_detail_id 100 | 101 | events 102 | id 103 | room_id 104 | title 105 | date 106 | description 107 | 108 | user_have_course 109 | id 110 | user_id 111 | course_id 112 | -------------------------------------------------------------------------------- /lang/en/auth.php: -------------------------------------------------------------------------------- 1 | 'These credentials do not match our records.', 17 | 'password' => 'The provided password is incorrect.', 18 | 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', 19 | 20 | ]; 21 | -------------------------------------------------------------------------------- /lang/en/pagination.php: -------------------------------------------------------------------------------- 1 | '« Previous', 17 | 'next' => 'Next »', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /lang/en/passwords.php: -------------------------------------------------------------------------------- 1 | 'Your password has been reset!', 17 | 'sent' => 'We have emailed your password reset link!', 18 | 'throttled' => 'Please wait before retrying.', 19 | 'token' => 'This password reset token is invalid.', 20 | 'user' => "We can't find a user with that email address.", 21 | 22 | ]; 23 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "dev": "vite", 5 | "build": "vite build" 6 | }, 7 | "devDependencies": { 8 | "@tailwindcss/forms": "^0.5.2", 9 | "@tailwindcss/typography": "^0.5.0", 10 | "alpinejs": "^3.0.6", 11 | "autoprefixer": "^10.4.7", 12 | "axios": "^0.27", 13 | "laravel-vite-plugin": "^0.6.0", 14 | "lodash": "^4.17.19", 15 | "postcss": "^8.4.14", 16 | "tailwindcss": "^3.1.0", 17 | "vite": "^3.0.0" 18 | }, 19 | "dependencies": { 20 | "daisyui": "^2.45.0", 21 | "tailwind-editor": "^0.1.63", 22 | "taos": "^1.0.2" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | ./tests/Unit 10 | 11 | 12 | ./tests/Feature 13 | 14 | 15 | 16 | 17 | ./app 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /public/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | 3 | Options -MultiViews -Indexes 4 | 5 | 6 | RewriteEngine On 7 | 8 | # Handle Authorization Header 9 | RewriteCond %{HTTP:Authorization} . 10 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 11 | 12 | # Redirect Trailing Slashes If Not A Folder... 13 | RewriteCond %{REQUEST_FILENAME} !-d 14 | RewriteCond %{REQUEST_URI} (.+)/$ 15 | RewriteRule ^ %1 [L,R=301] 16 | 17 | # Send Requests To Front Controller... 18 | RewriteCond %{REQUEST_FILENAME} !-d 19 | RewriteCond %{REQUEST_FILENAME} !-f 20 | RewriteRule ^ index.php [L] 21 | 22 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/favicon.ico -------------------------------------------------------------------------------- /public/index.php: -------------------------------------------------------------------------------- 1 | make(Kernel::class); 50 | 51 | $response = $kernel->handle( 52 | $request = Request::capture() 53 | )->send(); 54 | 55 | $kernel->terminate($request, $response); 56 | -------------------------------------------------------------------------------- /public/masif-dashboard/asset/img1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/masif-dashboard/asset/img1.png -------------------------------------------------------------------------------- /public/masif-dashboard/asset/img2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/masif-dashboard/asset/img2.png -------------------------------------------------------------------------------- /public/masif-dashboard/asset/img3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/masif-dashboard/asset/img3.png -------------------------------------------------------------------------------- /public/masif-dashboard/asset/img4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/masif-dashboard/asset/img4.png -------------------------------------------------------------------------------- /public/masif-dashboard/images/avatar-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/masif-dashboard/images/avatar-1.jpg -------------------------------------------------------------------------------- /public/masif-dashboard/images/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/masif-dashboard/images/avatar.jpg -------------------------------------------------------------------------------- /public/masif-dashboard/images/cover-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/masif-dashboard/images/cover-2.jpg -------------------------------------------------------------------------------- /public/masif-dashboard/images/cover-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/masif-dashboard/images/cover-3.jpg -------------------------------------------------------------------------------- /public/masif-dashboard/images/cover-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/masif-dashboard/images/cover-4.jpg -------------------------------------------------------------------------------- /public/masif-dashboard/images/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/masif-dashboard/images/cover.jpg -------------------------------------------------------------------------------- /public/masif-dashboard/images/ilustration-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/masif-dashboard/images/ilustration-1.png -------------------------------------------------------------------------------- /public/masif-dashboard/js/colors.js: -------------------------------------------------------------------------------- 1 | const softColor=['#FAA255', '#F0C348', '#E27CF1', '#F562AC', '#EB5959', '#9EE67A', '#50D989', '#66CFF2', '#7F7CE6'] 2 | function shuffle(array) { 3 | var currentIndex = array.length, randomIndex; 4 | while (currentIndex != 0) { 5 | randomIndex = Math.floor(Math.random() * currentIndex); 6 | currentIndex--; 7 | [array[currentIndex], array[randomIndex]] = [ 8 | array[randomIndex], array[currentIndex]]; 9 | } 10 | return array; 11 | } 12 | const randomColor = shuffle(softColor); 13 | 14 | // export {randomColor, softColor}; 15 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /public/vendor/apexchart/apexcharts.amd.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | * svg.js - A lightweight library for manipulating and animating SVG. 3 | * @version 2.6.6 4 | * https://svgdotjs.github.io/ 5 | */ 6 | 7 | /*! 8 | * svg.select.js - An extension of svg.js which allows to select elements with mouse 9 | * @version 3.0.1 10 | * https://github.com/svgdotjs/svg.select.js 11 | * 12 | * @copyright Ulrich-Matthias Schäfer 13 | * @license MIT 14 | */ 15 | 16 | /*! svg.draggable.js - v2.2.2 - 2019-01-08 17 | * https://github.com/svgdotjs/svg.draggable.js 18 | * Copyright (c) 2019 Wout Fierens; Licensed MIT */ 19 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/ar.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ar", 3 | "options": { 4 | "months": [ 5 | "يناير", 6 | "فبراير", 7 | "مارس", 8 | "أبريل", 9 | "مايو", 10 | "يونيو", 11 | "يوليو", 12 | "أغسطس", 13 | "سبتمبر", 14 | "أكتوبر", 15 | "نوفمبر", 16 | "ديسمبر" 17 | ], 18 | "shortMonths": [ 19 | "يناير", 20 | "فبراير", 21 | "مارس", 22 | "أبريل", 23 | "مايو", 24 | "يونيو", 25 | "يوليو", 26 | "أغسطس", 27 | "سبتمبر", 28 | "أكتوبر", 29 | "نوفمبر", 30 | "ديسمبر" 31 | ], 32 | "days": [ 33 | "الأحد", 34 | "الإثنين", 35 | "الثلاثاء", 36 | "الأربعاء", 37 | "الخميس", 38 | "الجمعة", 39 | "السبت" 40 | ], 41 | "shortDays": [ 42 | "أحد", 43 | "إثنين", 44 | "ثلاثاء", 45 | "أربعاء", 46 | "خميس", 47 | "جمعة", 48 | "سبت" 49 | ], 50 | "toolbar": { 51 | "exportToSVG": "تحميل بصيغة SVG", 52 | "exportToPNG": "تحميل بصيغة PNG", 53 | "exportToCSV": "تحميل بصيغة CSV", 54 | "menu": "القائمة", 55 | "selection": "تحديد", 56 | "selectionZoom": "تكبير التحديد", 57 | "zoomIn": "تكبير", 58 | "zoomOut": "تصغير", 59 | "pan": "تحريك", 60 | "reset": "إعادة التعيين" 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/ca.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ca", 3 | "options": { 4 | "months": [ 5 | "Gener", 6 | "Febrer", 7 | "Març", 8 | "Abril", 9 | "Maig", 10 | "Juny", 11 | "Juliol", 12 | "Agost", 13 | "Setembre", 14 | "Octubre", 15 | "Novembre", 16 | "Desembre" 17 | ], 18 | "shortMonths": [ 19 | "Gen.", 20 | "Febr.", 21 | "Març", 22 | "Abr.", 23 | "Maig", 24 | "Juny", 25 | "Jul.", 26 | "Ag.", 27 | "Set.", 28 | "Oct.", 29 | "Nov.", 30 | "Des." 31 | ], 32 | "days": [ 33 | "Diumenge", 34 | "Dilluns", 35 | "Dimarts", 36 | "Dimecres", 37 | "Dijous", 38 | "Divendres", 39 | "Dissabte" 40 | ], 41 | "shortDays": ["Dg", "Dl", "Dt", "Dc", "Dj", "Dv", "Ds"], 42 | "toolbar": { 43 | "exportToSVG": "Descarregar SVG", 44 | "exportToPNG": "Descarregar PNG", 45 | "exportToCSV": "Descarregar CSV", 46 | "menu": "Menú", 47 | "selection": "Seleccionar", 48 | "selectionZoom": "Seleccionar Zoom", 49 | "zoomIn": "Augmentar", 50 | "zoomOut": "Disminuir", 51 | "pan": "Navegació", 52 | "reset": "Reiniciar Zoom" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/cs.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cs", 3 | "options": { 4 | "months": [ 5 | "Leden", 6 | "Únor", 7 | "Březen", 8 | "Duben", 9 | "Květen", 10 | "Červen", 11 | "Červenec", 12 | "Srpen", 13 | "Září", 14 | "Říjen", 15 | "Listopad", 16 | "Prosinec" 17 | ], 18 | "shortMonths": [ 19 | "Led", 20 | "Úno", 21 | "Bře", 22 | "Dub", 23 | "Kvě", 24 | "Čvn", 25 | "Čvc", 26 | "Srp", 27 | "Zář", 28 | "Říj", 29 | "Lis", 30 | "Pro" 31 | ], 32 | "days": [ 33 | "Neděle", 34 | "Pondělí", 35 | "Úterý", 36 | "Středa", 37 | "Čtvrtek", 38 | "Pátek", 39 | "Sobota" 40 | ], 41 | "shortDays": ["Ne", "Po", "Út", "St", "Čt", "Pá", "So"], 42 | "toolbar": { 43 | "exportToSVG": "Stáhnout SVG", 44 | "exportToPNG": "Stáhnout PNG", 45 | "exportToCSV": "Stáhnout CSV", 46 | "menu": "Menu", 47 | "selection": "Vybrat", 48 | "selectionZoom": "Zoom: Vybrat", 49 | "zoomIn": "Zoom: Přiblížit", 50 | "zoomOut": "Zoom: Oddálit", 51 | "pan": "Přesouvat", 52 | "reset": "Resetovat" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/de.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "de", 3 | "options": { 4 | "months": [ 5 | "Januar", 6 | "Februar", 7 | "März", 8 | "April", 9 | "Mai", 10 | "Juni", 11 | "Juli", 12 | "August", 13 | "September", 14 | "Oktober", 15 | "November", 16 | "Dezember" 17 | ], 18 | "shortMonths": [ 19 | "Jan", 20 | "Feb", 21 | "Mär", 22 | "Apr", 23 | "Mai", 24 | "Jun", 25 | "Jul", 26 | "Aug", 27 | "Sep", 28 | "Okt", 29 | "Nov", 30 | "Dez" 31 | ], 32 | "days": [ 33 | "Sonntag", 34 | "Montag", 35 | "Dienstag", 36 | "Mittwoch", 37 | "Donnerstag", 38 | "Freitag", 39 | "Samstag" 40 | ], 41 | "shortDays": ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], 42 | "toolbar": { 43 | "exportToSVG": "SVG speichern", 44 | "exportToPNG": "PNG speichern", 45 | "exportToCSV": "CSV speichern", 46 | "menu": "Menü", 47 | "selection": "Auswahl", 48 | "selectionZoom": "Auswahl vergrößern", 49 | "zoomIn": "Vergrößern", 50 | "zoomOut": "Verkleinern", 51 | "pan": "Verschieben", 52 | "reset": "Zoom zurücksetzen" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/el.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "el", 3 | "options": { 4 | "months": [ 5 | "Ιανουάριος", 6 | "Φεβρουάριος", 7 | "Μάρτιος", 8 | "Απρίλιος", 9 | "Μάιος", 10 | "Ιούνιος", 11 | "Ιούλιος", 12 | "Αύγουστος", 13 | "Σεπτέμβριος", 14 | "Οκτώβριος", 15 | "Νοέμβριος", 16 | "Δεκέμβριος" 17 | ], 18 | "shortMonths": [ 19 | "Ιαν", 20 | "Φευ", 21 | "Μαρ", 22 | "Απρ", 23 | "Μάι", 24 | "Ιουν", 25 | "Ιουλ", 26 | "Αυγ", 27 | "Σεπ", 28 | "Οκτ", 29 | "Νοε", 30 | "Δεκ" 31 | ], 32 | "days": [ 33 | "Κυριακή", 34 | "Δευτέρα", 35 | "Τρίτη", 36 | "Τετάρτη", 37 | "Πέμπτη", 38 | "Παρασκευή", 39 | "Σάββατο" 40 | ], 41 | "shortDays": ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ"], 42 | "toolbar": { 43 | "exportToSVG": "Λήψη SVG", 44 | "exportToPNG": "Λήψη PNG", 45 | "exportToCSV": "Λήψη CSV", 46 | "menu": "Menu", 47 | "selection": "Επιλογή", 48 | "selectionZoom": "Μεγένθυση βάση επιλογής", 49 | "zoomIn": "Μεγένθυνση", 50 | "zoomOut": "Σμίκρυνση", 51 | "pan": "Μετατόπιση", 52 | "reset": "Επαναφορά μεγένθυνσης" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "en", 3 | "options": { 4 | "months": [ 5 | "January", 6 | "February", 7 | "March", 8 | "April", 9 | "May", 10 | "June", 11 | "July", 12 | "August", 13 | "September", 14 | "October", 15 | "November", 16 | "December" 17 | ], 18 | "shortMonths": [ 19 | "Jan", 20 | "Feb", 21 | "Mar", 22 | "Apr", 23 | "May", 24 | "Jun", 25 | "Jul", 26 | "Aug", 27 | "Sep", 28 | "Oct", 29 | "Nov", 30 | "Dec" 31 | ], 32 | "days": [ 33 | "Sunday", 34 | "Monday", 35 | "Tuesday", 36 | "Wednesday", 37 | "Thursday", 38 | "Friday", 39 | "Saturday" 40 | ], 41 | "shortDays": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], 42 | "toolbar": { 43 | "exportToSVG": "Download SVG", 44 | "exportToPNG": "Download PNG", 45 | "exportToCSV": "Download CSV", 46 | "menu": "Menu", 47 | "selection": "Selection", 48 | "selectionZoom": "Selection Zoom", 49 | "zoomIn": "Zoom In", 50 | "zoomOut": "Zoom Out", 51 | "pan": "Panning", 52 | "reset": "Reset Zoom" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/es.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "es", 3 | "options": { 4 | "months": [ 5 | "Enero", 6 | "Febrero", 7 | "Marzo", 8 | "Abril", 9 | "Mayo", 10 | "Junio", 11 | "Julio", 12 | "Agosto", 13 | "Septiembre", 14 | "Octubre", 15 | "Noviembre", 16 | "Diciembre" 17 | ], 18 | "shortMonths": [ 19 | "Ene", 20 | "Feb", 21 | "Mar", 22 | "Abr", 23 | "May", 24 | "Jun", 25 | "Jul", 26 | "Ago", 27 | "Sep", 28 | "Oct", 29 | "Nov", 30 | "Dic" 31 | ], 32 | "days": [ 33 | "Domingo", 34 | "Lunes", 35 | "Martes", 36 | "Miércoles", 37 | "Jueves", 38 | "Viernes", 39 | "Sábado" 40 | ], 41 | "shortDays": ["Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab"], 42 | "toolbar": { 43 | "exportToSVG": "Descargar SVG", 44 | "exportToPNG": "Descargar PNG", 45 | "exportToCSV": "Descargar CSV", 46 | "menu": "Menu", 47 | "selection": "Seleccionar", 48 | "selectionZoom": "Seleccionar Zoom", 49 | "zoomIn": "Aumentar", 50 | "zoomOut": "Disminuir", 51 | "pan": "Navegación", 52 | "reset": "Reiniciar Zoom" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/et.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "et", 3 | "options": { 4 | "months": [ 5 | "jaanuar", 6 | "veebruar", 7 | "märts", 8 | "aprill", 9 | "mai", 10 | "juuni", 11 | "juuli", 12 | "august", 13 | "september", 14 | "oktoober", 15 | "november", 16 | "detsember" 17 | ], 18 | "shortMonths": [ 19 | "jaan", 20 | "veebr", 21 | "märts", 22 | "apr", 23 | "mai", 24 | "juuni", 25 | "juuli", 26 | "aug", 27 | "sept", 28 | "okt", 29 | "nov", 30 | "dets" 31 | ], 32 | "days": [ 33 | "pühapäev", 34 | "esmaspäev", 35 | "teisipäev", 36 | "kolmapäev", 37 | "neljapäev", 38 | "reede", 39 | "laupäev" 40 | ], 41 | "shortDays": [ 42 | "P", 43 | "E", 44 | "T", 45 | "K", 46 | "N", 47 | "R", 48 | "L" 49 | ], 50 | "toolbar": { 51 | "exportToSVG": "Lae alla SVG", 52 | "exportToPNG": "Lae alla PNG", 53 | "exportToCSV": "Lae alla CSV", 54 | "menu": "Menüü", 55 | "selection": "Valik", 56 | "selectionZoom": "Valiku suum", 57 | "zoomIn": "Suurenda", 58 | "zoomOut": "Vähenda", 59 | "pan": "Panoraamimine", 60 | "reset": "Lähtesta suum" 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/fa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fa", 3 | "options": { 4 | "months": [ 5 | "فروردین", 6 | "اردیبهشت", 7 | "خرداد", 8 | "تیر", 9 | "مرداد", 10 | "شهریور", 11 | "مهر", 12 | "آبان", 13 | "آذر", 14 | "دی", 15 | "بهمن", 16 | "اسفند" 17 | ], 18 | "shortMonths": [ 19 | "فرو", 20 | "ارد", 21 | "خرد", 22 | "تیر", 23 | "مرد", 24 | "شهر", 25 | "مهر", 26 | "آبا", 27 | "آذر", 28 | "دی", 29 | "بهمـ", 30 | "اسفـ" 31 | ], 32 | "days": [ 33 | "یکشنبه", 34 | "دوشنبه", 35 | "سه شنبه", 36 | "چهارشنبه", 37 | "پنجشنبه", 38 | "جمعه", 39 | "شنبه" 40 | ], 41 | "shortDays": ["ی", "د", "س", "چ", "پ", "ج", "ش"], 42 | "toolbar": { 43 | "exportToSVG": "دانلود SVG", 44 | "exportToPNG": "دانلود PNG", 45 | "exportToCSV": "دانلود CSV", 46 | "menu": "منو", 47 | "selection": "انتخاب", 48 | "selectionZoom": "بزرگنمایی انتخابی", 49 | "zoomIn": "بزرگنمایی", 50 | "zoomOut": "کوچکنمایی", 51 | "pan": "پیمایش", 52 | "reset": "بازنشانی بزرگنمایی" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/fi.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fi", 3 | "options": { 4 | "months": [ 5 | "Tammikuu", 6 | "Helmikuu", 7 | "Maaliskuu", 8 | "Huhtikuu", 9 | "Toukokuu", 10 | "Kesäkuu", 11 | "Heinäkuu", 12 | "Elokuu", 13 | "Syyskuu", 14 | "Lokakuu", 15 | "Marraskuu", 16 | "Joulukuu" 17 | ], 18 | "shortMonths": [ 19 | "Tammi", 20 | "Helmi", 21 | "Maalis", 22 | "Huhti", 23 | "Touko", 24 | "Kesä", 25 | "Heinä", 26 | "Elo", 27 | "Syys", 28 | "Loka", 29 | "Marras", 30 | "Joulu" 31 | ], 32 | "days": [ 33 | "Sunnuntai", 34 | "Maanantai", 35 | "Tiistai", 36 | "Keskiviikko", 37 | "Torstai", 38 | "Perjantai", 39 | "Lauantai" 40 | ], 41 | "shortDays": ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"], 42 | "toolbar": { 43 | "exportToSVG": "Lataa SVG", 44 | "exportToPNG": "Lataa PNG", 45 | "exportToCSV": "Lataa CSV", 46 | "menu": "Valikko", 47 | "selection": "Valinta", 48 | "selectionZoom": "Valinnan zoomaus", 49 | "zoomIn": "Lähennä", 50 | "zoomOut": "Loitonna", 51 | "pan": "Panoroi", 52 | "reset": "Nollaa zoomaus" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/fr.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fr", 3 | "options": { 4 | "months": [ 5 | "janvier", 6 | "février", 7 | "mars", 8 | "avril", 9 | "mai", 10 | "juin", 11 | "juillet", 12 | "août", 13 | "septembre", 14 | "octobre", 15 | "novembre", 16 | "décembre" 17 | ], 18 | "shortMonths": [ 19 | "janv.", 20 | "févr.", 21 | "mars", 22 | "avr.", 23 | "mai", 24 | "juin", 25 | "juill.", 26 | "août", 27 | "sept.", 28 | "oct.", 29 | "nov.", 30 | "déc." 31 | ], 32 | "days": [ 33 | "dimanche", 34 | "lundi", 35 | "mardi", 36 | "mercredi", 37 | "jeudi", 38 | "vendredi", 39 | "samedi" 40 | ], 41 | "shortDays": ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."], 42 | "toolbar": { 43 | "exportToSVG": "Télécharger au format SVG", 44 | "exportToPNG": "Télécharger au format PNG", 45 | "exportToCSV": "Télécharger au format CSV", 46 | "menu": "Menu", 47 | "selection": "Sélection", 48 | "selectionZoom": "Sélection et zoom", 49 | "zoomIn": "Zoomer", 50 | "zoomOut": "Dézoomer", 51 | "pan": "Navigation", 52 | "reset": "Réinitialiser le zoom" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/he.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "he", 3 | "options": { 4 | "months": [ 5 | "ינואר", 6 | "פברואר", 7 | "מרץ", 8 | "אפריל", 9 | "מאי", 10 | "יוני", 11 | "יולי", 12 | "אוגוסט", 13 | "ספטמבר", 14 | "אוקטובר", 15 | "נובמבר", 16 | "דצמבר" 17 | ], 18 | "shortMonths": [ 19 | "ינו׳", 20 | "פבר׳", 21 | "מרץ", 22 | "אפר׳", 23 | "מאי", 24 | "יוני", 25 | "יולי", 26 | "אוג׳", 27 | "ספט׳", 28 | "אוק׳", 29 | "נוב׳", 30 | "דצמ׳" 31 | ], 32 | "days": [ 33 | "ראשון", 34 | "שני", 35 | "שלישי", 36 | "רביעי", 37 | "חמישי", 38 | "שישי", 39 | "שבת" 40 | ], 41 | "shortDays": ["א׳", "ב׳", "ג׳", "ד׳", "ה׳", "ו׳", "ש׳"], 42 | "toolbar": { 43 | "exportToSVG": "הורד SVG", 44 | "exportToPNG": "הורד PNG", 45 | "exportToCSV": "הורד CSV", 46 | "menu": "תפריט", 47 | "selection": "בחירה", 48 | "selectionZoom": "זום בחירה", 49 | "zoomIn": "הגדלה", 50 | "zoomOut": "הקטנה", 51 | "pan": "הזזה", 52 | "reset": "איפוס תצוגה" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/hi.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hi", 3 | "options": { 4 | "months": [ 5 | "जनवरी", 6 | "फ़रवरी", 7 | "मार्च", 8 | "अप्रैल", 9 | "मई", 10 | "जून", 11 | "जुलाई", 12 | "अगस्त", 13 | "सितंबर", 14 | "अक्टूबर", 15 | "नवंबर", 16 | "दिसंबर" 17 | ], 18 | "shortMonths": [ 19 | "जनवरी", 20 | "फ़रवरी", 21 | "मार्च", 22 | "अप्रैल", 23 | "मई", 24 | "जून", 25 | "जुलाई", 26 | "अगस्त", 27 | "सितंबर", 28 | "अक्टूबर", 29 | "नवंबर", 30 | "दिसंबर" 31 | ], 32 | "days": [ 33 | "रविवार", 34 | "सोमवार", 35 | "मंगलवार", 36 | "बुधवार", 37 | "गुरुवार", 38 | "शुक्रवार", 39 | "शनिवार" 40 | ], 41 | "shortDays": ["रवि", "सोम", "मंगल", "बुध", "गुरु", "शुक्र", "शनि"], 42 | "toolbar": { 43 | "exportToSVG": "निर्यात SVG", 44 | "exportToPNG": "निर्यात PNG", 45 | "exportToCSV": "निर्यात CSV", 46 | "menu": "सूची", 47 | "selection": "चयन", 48 | "selectionZoom": "ज़ूम करना", 49 | "zoomIn": "ज़ूम इन", 50 | "zoomOut": "ज़ूम आउट", 51 | "pan": "पैनिंग", 52 | "reset": "फिर से कायम करना" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/hr.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hr", 3 | "options": { 4 | "months": [ 5 | "Siječanj", 6 | "Veljača", 7 | "Ožujak", 8 | "Travanj", 9 | "Svibanj", 10 | "Lipanj", 11 | "Srpanj", 12 | "Kolovoz", 13 | "Rujan", 14 | "Listopad", 15 | "Studeni", 16 | "Prosinac" 17 | ], 18 | "shortMonths": [ 19 | "Sij", 20 | "Velj", 21 | "Ožu", 22 | "Tra", 23 | "Svi", 24 | "Lip", 25 | "Srp", 26 | "Kol", 27 | "Ruj", 28 | "Lis", 29 | "Stu", 30 | "Pro" 31 | ], 32 | "days": [ 33 | "Nedjelja", 34 | "Ponedjeljak", 35 | "Utorak", 36 | "Srijeda", 37 | "Četvrtak", 38 | "Petak", 39 | "Subota" 40 | ], 41 | "shortDays": ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub"], 42 | "toolbar": { 43 | "exportToSVG": "Preuzmi SVG", 44 | "exportToPNG": "Preuzmi PNG", 45 | "exportToCSV": "Preuzmi CSV", 46 | "menu": "Izbornik", 47 | "selection": "Odabir", 48 | "selectionZoom": "Odabirno povećanje", 49 | "zoomIn": "Uvećajte prikaz", 50 | "zoomOut": "Umanjite prikaz", 51 | "pan": "Pomicanje", 52 | "reset": "Povratak na zadani prikaz" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/hu.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hu", 3 | "options": { 4 | "months": [ 5 | "január", 6 | "február", 7 | "március", 8 | "április", 9 | "május", 10 | "június", 11 | "július", 12 | "augusztus", 13 | "szeptember", 14 | "október", 15 | "november", 16 | "december" 17 | ], 18 | "shortMonths": [ 19 | "jan", 20 | "feb", 21 | "mar", 22 | "ápr", 23 | "máj", 24 | "jún", 25 | "júl", 26 | "aug", 27 | "szept", 28 | "okt", 29 | "nov", 30 | "dec" 31 | ], 32 | "days": [ 33 | "hétfő", 34 | "kedd", 35 | "szerda", 36 | "csütörtök", 37 | "péntek", 38 | "szombat", 39 | "vasárnap" 40 | ], 41 | "shortDays": [ 42 | "H", 43 | "K", 44 | "Sze", 45 | "Cs", 46 | "P", 47 | "Szo", 48 | "V" 49 | ], 50 | "toolbar": { 51 | "exportToSVG": "Exportálás SVG-be", 52 | "exportToPNG": "Exportálás PNG-be", 53 | "exportToCSV": "Exportálás CSV-be", 54 | "menu": "Fő ajánlat", 55 | "download": "SVG letöltése", 56 | "selection": "Kiválasztás", 57 | "selectionZoom": "Nagyító kiválasztása", 58 | "zoomIn": "Nagyítás", 59 | "zoomOut": "Kicsinyítés", 60 | "pan": "Képcsúsztatás", 61 | "reset": "Nagyító visszaállítása" 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/hy.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hy", 3 | "options": { 4 | "months": [ 5 | "Հունվար", 6 | "Փետրվար", 7 | "Մարտ", 8 | "Ապրիլ", 9 | "Մայիս", 10 | "Հունիս", 11 | "Հուլիս", 12 | "Օգոստոս", 13 | "Սեպտեմբեր", 14 | "Հոկտեմբեր", 15 | "Նոյեմբեր", 16 | "Դեկտեմբեր" 17 | ], 18 | "shortMonths": [ 19 | "Հնվ", 20 | "Փտվ", 21 | "Մրտ", 22 | "Ապր", 23 | "Մյս", 24 | "Հնս", 25 | "Հլիս", 26 | "Օգս", 27 | "Սեպ", 28 | "Հոկ", 29 | "Նոյ", 30 | "Դեկ" 31 | ], 32 | "days": [ 33 | "Կիրակի", 34 | "Երկուշաբթի", 35 | "Երեքշաբթի", 36 | "Չորեքշաբթի", 37 | "Հինգշաբթի", 38 | "Ուրբաթ", 39 | "Շաբաթ" 40 | ], 41 | "shortDays": ["Կիր", "Երկ", "Երք", "Չրք", "Հնգ", "Ուրբ", "Շբթ"], 42 | "toolbar": { 43 | "exportToSVG": "Բեռնել SVG", 44 | "exportToPNG": "Բեռնել PNG", 45 | "exportToCSV": "Բեռնել CSV", 46 | "menu": "Մենյու", 47 | "selection": "Ընտրված", 48 | "selectionZoom": "Ընտրված հատվածի խոշորացում", 49 | "zoomIn": "Խոշորացնել", 50 | "zoomOut": "Մանրացնել", 51 | "pan": "Տեղափոխում", 52 | "reset": "Բերել սկզբնական վիճակի" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/id.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "id", 3 | "options": { 4 | "months": [ 5 | "Januari", 6 | "Februari", 7 | "Maret", 8 | "April", 9 | "Mei", 10 | "Juni", 11 | "Juli", 12 | "Agustus", 13 | "September", 14 | "Oktober", 15 | "November", 16 | "Desember" 17 | ], 18 | "shortMonths": [ 19 | "Jan", 20 | "Feb", 21 | "Mar", 22 | "Apr", 23 | "Mei", 24 | "Jun", 25 | "Jul", 26 | "Agu", 27 | "Sep", 28 | "Okt", 29 | "Nov", 30 | "Des" 31 | ], 32 | "days": ["Minggu", "Senin", "Selasa", "Rabu", "kamis", "Jumat", "Sabtu"], 33 | "shortDays": ["Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"], 34 | "toolbar": { 35 | "exportToSVG": "Unduh SVG", 36 | "exportToPNG": "Unduh PNG", 37 | "exportToCSV": "Unduh CSV", 38 | "menu": "Menu", 39 | "selection": "Pilihan", 40 | "selectionZoom": "Perbesar Pilihan", 41 | "zoomIn": "Perbesar", 42 | "zoomOut": "Perkecil", 43 | "pan": "Geser", 44 | "reset": "Atur Ulang Zoom" 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/it.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "it", 3 | "options": { 4 | "months": [ 5 | "Gennaio", 6 | "Febbraio", 7 | "Marzo", 8 | "Aprile", 9 | "Maggio", 10 | "Giugno", 11 | "Luglio", 12 | "Agosto", 13 | "Settembre", 14 | "Ottobre", 15 | "Novembre", 16 | "Dicembre" 17 | ], 18 | "shortMonths": [ 19 | "Gen", 20 | "Feb", 21 | "Mar", 22 | "Apr", 23 | "Mag", 24 | "Giu", 25 | "Lug", 26 | "Ago", 27 | "Set", 28 | "Ott", 29 | "Nov", 30 | "Dic" 31 | ], 32 | "days": [ 33 | "Domenica", 34 | "Lunedì", 35 | "Martedì", 36 | "Mercoledì", 37 | "Giovedì", 38 | "Venerdì", 39 | "Sabato" 40 | ], 41 | "shortDays": ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"], 42 | "toolbar": { 43 | "exportToSVG": "Scarica SVG", 44 | "exportToPNG": "Scarica PNG", 45 | "exportToCSV": "Scarica CSV", 46 | "menu": "Menu", 47 | "selection": "Selezione", 48 | "selectionZoom": "Seleziona Zoom", 49 | "zoomIn": "Zoom In", 50 | "zoomOut": "Zoom Out", 51 | "pan": "Sposta", 52 | "reset": "Reimposta Zoom" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/ja.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ja", 3 | "options": { 4 | "months": [ 5 | "1月", 6 | "2月", 7 | "3月", 8 | "4月", 9 | "5月", 10 | "6月", 11 | "7月", 12 | "8月", 13 | "9月", 14 | "10月", 15 | "11月", 16 | "12月" 17 | ], 18 | "shortMonths": [ 19 | "1月", 20 | "2月", 21 | "3月", 22 | "4月", 23 | "5月", 24 | "6月", 25 | "7月", 26 | "8月", 27 | "9月", 28 | "10月", 29 | "11月", 30 | "12月" 31 | ], 32 | "days": [ 33 | "日曜日", 34 | "月曜日", 35 | "火曜日", 36 | "水曜日", 37 | "木曜日", 38 | "金曜日", 39 | "土曜日" 40 | ], 41 | "shortDays": ["日", "月", "火", "水", "木", "金", "土"], 42 | "toolbar": { 43 | "exportToSVG": "SVGダウンロード", 44 | "exportToPNG": "PNGダウンロード", 45 | "exportToCSV": "CSVダウンロード", 46 | "menu": "メニュー", 47 | "selection": "選択", 48 | "selectionZoom": "選択ズーム", 49 | "zoomIn": "拡大", 50 | "zoomOut": "縮小", 51 | "pan": "パン", 52 | "reset": "ズームリセット" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/ka.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ka", 3 | "options": { 4 | "months": [ 5 | "იანვარი", 6 | "თებერვალი", 7 | "მარტი", 8 | "აპრილი", 9 | "მაისი", 10 | "ივნისი", 11 | "ივლისი", 12 | "აგვისტო", 13 | "სექტემბერი", 14 | "ოქტომბერი", 15 | "ნოემბერი", 16 | "დეკემბერი" 17 | ], 18 | "shortMonths": [ 19 | "იან", 20 | "თებ", 21 | "მარ", 22 | "აპრ", 23 | "მაი", 24 | "ივნ", 25 | "ივლ", 26 | "აგვ", 27 | "სექ", 28 | "ოქტ", 29 | "ნოე", 30 | "დეკ" 31 | ], 32 | "days": [ 33 | "კვირა", 34 | "ორშაბათი", 35 | "სამშაბათი", 36 | "ოთხშაბათი", 37 | "ხუთშაბათი", 38 | "პარასკევი", 39 | "შაბათი" 40 | ], 41 | "shortDays": ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ"], 42 | "toolbar": { 43 | "exportToSVG": "გადმოქაჩე SVG", 44 | "exportToPNG": "გადმოქაჩე PNG", 45 | "exportToCSV": "გადმოქაჩე CSV", 46 | "menu": "მენიუ", 47 | "selection": "არჩევა", 48 | "selectionZoom": "არჩეულის გადიდება", 49 | "zoomIn": "გადიდება", 50 | "zoomOut": "დაპატარაება", 51 | "pan": "გადაჩოჩება", 52 | "reset": "გადიდების გაუქმება" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/ko.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ko", 3 | "options": { 4 | "months": [ 5 | "1월", 6 | "2월", 7 | "3월", 8 | "4월", 9 | "5월", 10 | "6월", 11 | "7월", 12 | "8월", 13 | "9월", 14 | "10월", 15 | "11월", 16 | "12월" 17 | ], 18 | "shortMonths": [ 19 | "1월", 20 | "2월", 21 | "3월", 22 | "4월", 23 | "5월", 24 | "6월", 25 | "7월", 26 | "8월", 27 | "9월", 28 | "10월", 29 | "11월", 30 | "12월" 31 | ], 32 | "days": [ 33 | "일요일", 34 | "월요일", 35 | "화요일", 36 | "수요일", 37 | "목요일", 38 | "금요일", 39 | "토요일" 40 | ], 41 | "shortDays": ["일", "월", "화", "수", "목", "금", "토"], 42 | "toolbar": { 43 | "exportToSVG": "SVG 다운로드", 44 | "exportToPNG": "PNG 다운로드", 45 | "exportToCSV": "CSV 다운로드", 46 | "menu": "메뉴", 47 | "selection": "선택", 48 | "selectionZoom": "선택영역 확대", 49 | "zoomIn": "확대", 50 | "zoomOut": "축소", 51 | "pan": "패닝", 52 | "reset": "원래대로" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/lt.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lt", 3 | "options": { 4 | "months": [ 5 | "Sausis", 6 | "Vasaris", 7 | "Kovas", 8 | "Balandis", 9 | "Gegužė", 10 | "Birželis", 11 | "Liepa", 12 | "Rugpjūtis", 13 | "Rugsėjis", 14 | "Spalis", 15 | "Lapkritis", 16 | "Gruodis" 17 | ], 18 | "shortMonths": [ 19 | "Sau", 20 | "Vas", 21 | "Kov", 22 | "Bal", 23 | "Geg", 24 | "Bir", 25 | "Lie", 26 | "Rgp", 27 | "Rgs", 28 | "Spl", 29 | "Lap", 30 | "Grd" 31 | ], 32 | "days": [ 33 | "Sekmadienis", 34 | "Pirmadienis", 35 | "Antradienis", 36 | "Trečiadienis", 37 | "Ketvirtadienis", 38 | "Penktadienis", 39 | "Šeštadienis" 40 | ], 41 | "shortDays": ["Sk", "Per", "An", "Tr", "Kt", "Pn", "Št"], 42 | "toolbar": { 43 | "exportToSVG": "Atsisiųsti SVG", 44 | "exportToPNG": "Atsisiųsti PNG", 45 | "exportToCSV": "Atsisiųsti CSV", 46 | "menu": "Menu", 47 | "selection": "Pasirinkimas", 48 | "selectionZoom": "Zoom: Pasirinkimas", 49 | "zoomIn": "Zoom: Priartinti", 50 | "zoomOut": "Zoom: Atitolinti", 51 | "pan": "Perkėlimas", 52 | "reset": "Atstatyti" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/lv.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lv", 3 | "options": { 4 | "months": [ 5 | "janvāris", 6 | "februāris", 7 | "marts", 8 | "aprīlis", 9 | "maijs", 10 | "jūnijs", 11 | "jūlijs", 12 | "augusts", 13 | "septembris", 14 | "oktobris", 15 | "novembris", 16 | "decembris" 17 | ], 18 | "shortMonths": [ 19 | "janv", 20 | "febr", 21 | "marts", 22 | "apr", 23 | "maijs", 24 | "jūn", 25 | "jūl", 26 | "aug", 27 | "sept", 28 | "okt", 29 | "nov", 30 | "dec" 31 | ], 32 | "days": [ 33 | "svētdiena", 34 | "pirmdiena", 35 | "otrdiena", 36 | "trešdiena", 37 | "ceturtdiena", 38 | "piektdiena", 39 | "sestdiena" 40 | ], 41 | "shortDays": [ 42 | "Sv", 43 | "P", 44 | "O", 45 | "T", 46 | "C", 47 | "P", 48 | "S" 49 | ], 50 | "toolbar": { 51 | "exportToSVG": "Lejuplādēt SVG", 52 | "exportToPNG": "Lejuplādēt PNG", 53 | "exportToCSV": "Lejuplādēt CSV", 54 | "menu": "Izvēlne", 55 | "selection": "Atlase", 56 | "selectionZoom": "Pietuvināt atlasi", 57 | "zoomIn": "Pietuvināt", 58 | "zoomOut": "Attālināt", 59 | "pan": "Pārvietoties diagrammā", 60 | "reset": "Atiestatīt pietuvinājumu" 61 | } 62 | } 63 | } 64 | 65 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/nb.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nb", 3 | "options": { 4 | "months": [ 5 | "Januar", 6 | "Februar", 7 | "Mars", 8 | "April", 9 | "Mai", 10 | "Juni", 11 | "Juli", 12 | "August", 13 | "September", 14 | "Oktober", 15 | "November", 16 | "Desember" 17 | ], 18 | "shortMonths": [ 19 | "Jan", 20 | "Feb", 21 | "Mar", 22 | "Apr", 23 | "Mai", 24 | "Jun", 25 | "Jul", 26 | "Aug", 27 | "Sep", 28 | "Okt", 29 | "Nov", 30 | "Des" 31 | ], 32 | "days": [ 33 | "Søndag", 34 | "Mandag", 35 | "Tirsdag", 36 | "Onsdag", 37 | "Torsdag", 38 | "Fredag", 39 | "Lørdag" 40 | ], 41 | "shortDays": ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø"], 42 | "toolbar": { 43 | "exportToSVG": "Last ned SVG", 44 | "exportToPNG": "Last ned PNG", 45 | "exportToCSV": "Last ned CSV", 46 | "menu": "Menu", 47 | "selection": "Velg", 48 | "selectionZoom": "Zoom: Velg", 49 | "zoomIn": "Zoome inn", 50 | "zoomOut": "Zoome ut", 51 | "pan": "Skyving", 52 | "reset": "Start på nytt" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/nl.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nl", 3 | "options": { 4 | "months": [ 5 | "Januari", 6 | "Februari", 7 | "Maart", 8 | "April", 9 | "Mei", 10 | "Juni", 11 | "Juli", 12 | "Augustus", 13 | "September", 14 | "Oktober", 15 | "November", 16 | "December" 17 | ], 18 | "shortMonths": [ 19 | "Jan", 20 | "Feb", 21 | "Mrt", 22 | "Apr", 23 | "Mei", 24 | "Jun", 25 | "Jul", 26 | "Aug", 27 | "Sep", 28 | "Okt", 29 | "Nov", 30 | "Dec" 31 | ], 32 | "days": [ 33 | "Zondag", 34 | "Maandag", 35 | "Dinsdag", 36 | "Woensdag", 37 | "Donderdag", 38 | "Vrijdag", 39 | "Zaterdag" 40 | ], 41 | "shortDays": ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za"], 42 | "toolbar": { 43 | "exportToSVG": "Download SVG", 44 | "exportToPNG": "Download PNG", 45 | "exportToCSV": "Download CSV", 46 | "menu": "Menu", 47 | "selection": "Selectie", 48 | "selectionZoom": "Zoom selectie", 49 | "zoomIn": "Zoom in", 50 | "zoomOut": "Zoom out", 51 | "pan": "Verplaatsen", 52 | "reset": "Standaardwaarden" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/pl.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pl", 3 | "options": { 4 | "months": [ 5 | "Styczeń", 6 | "Luty", 7 | "Marzec", 8 | "Kwiecień", 9 | "Maj", 10 | "Czerwiec", 11 | "Lipiec", 12 | "Sierpień", 13 | "Wrzesień", 14 | "Październik", 15 | "Listopad", 16 | "Grudzień" 17 | ], 18 | "shortMonths": [ 19 | "Sty", 20 | "Lut", 21 | "Mar", 22 | "Kwi", 23 | "Maj", 24 | "Cze", 25 | "Lip", 26 | "Sie", 27 | "Wrz", 28 | "Paź", 29 | "Lis", 30 | "Gru" 31 | ], 32 | "days": [ 33 | "Niedziela", 34 | "Poniedziałek", 35 | "Wtorek", 36 | "Środa", 37 | "Czwartek", 38 | "Piątek", 39 | "Sobota" 40 | ], 41 | "shortDays": ["Nd", "Pn", "Wt", "Śr", "Cz", "Pt", "Sb"], 42 | "toolbar": { 43 | "exportToSVG": "Pobierz SVG", 44 | "exportToPNG": "Pobierz PNG", 45 | "exportToCSV": "Pobierz CSV", 46 | "menu": "Menu", 47 | "selection": "Wybieranie", 48 | "selectionZoom": "Zoom: Wybieranie", 49 | "zoomIn": "Zoom: Przybliż", 50 | "zoomOut": "Zoom: Oddal", 51 | "pan": "Przesuwanie", 52 | "reset": "Resetuj" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/pt-br.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pt-br", 3 | "options": { 4 | "months": [ 5 | "Janeiro", 6 | "Fevereiro", 7 | "Março", 8 | "Abril", 9 | "Maio", 10 | "Junho", 11 | "Julho", 12 | "Agosto", 13 | "Setembro", 14 | "Outubro", 15 | "Novembro", 16 | "Dezembro" 17 | ], 18 | "shortMonths": [ 19 | "Jan", 20 | "Fev", 21 | "Mar", 22 | "Abr", 23 | "Mai", 24 | "Jun", 25 | "Jul", 26 | "Ago", 27 | "Set", 28 | "Out", 29 | "Nov", 30 | "Dez" 31 | ], 32 | "days": [ 33 | "Domingo", 34 | "Segunda", 35 | "Terça", 36 | "Quarta", 37 | "Quinta", 38 | "Sexta", 39 | "Sábado" 40 | ], 41 | "shortDays": ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"], 42 | "toolbar": { 43 | "exportToSVG": "Baixar SVG", 44 | "exportToPNG": "Baixar PNG", 45 | "exportToCSV": "Baixar CSV", 46 | "menu": "Menu", 47 | "selection": "Selecionar", 48 | "selectionZoom": "Selecionar Zoom", 49 | "zoomIn": "Aumentar", 50 | "zoomOut": "Diminuir", 51 | "pan": "Navegação", 52 | "reset": "Reiniciar Zoom" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/pt.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pt", 3 | "options": { 4 | "months": [ 5 | "Janeiro", 6 | "Fevereiro", 7 | "Março", 8 | "Abril", 9 | "Maio", 10 | "Junho", 11 | "Julho", 12 | "Agosto", 13 | "Setembro", 14 | "Outubro", 15 | "Novembro", 16 | "Dezembro" 17 | ], 18 | "shortMonths": [ 19 | "Jan", 20 | "Fev", 21 | "Mar", 22 | "Abr", 23 | "Mai", 24 | "Jun", 25 | "Jul", 26 | "Ag", 27 | "Set", 28 | "Out", 29 | "Nov", 30 | "Dez" 31 | ], 32 | "days": [ 33 | "Domingo", 34 | "Segunda-feira", 35 | "Terça-feira", 36 | "Quarta-feira", 37 | "Quinta-feira", 38 | "Sexta-feira", 39 | "Sábado" 40 | ], 41 | "shortDays": ["Do", "Se", "Te", "Qa", "Qi", "Sx", "Sa"], 42 | "toolbar": { 43 | "exportToSVG": "Baixar SVG", 44 | "exportToPNG": "Baixar PNG", 45 | "exportToCSV": "Baixar CSV", 46 | "menu": "Menu", 47 | "selection": "Selecionar", 48 | "selectionZoom": "Zoom: Selecionar", 49 | "zoomIn": "Zoom: Aumentar", 50 | "zoomOut": "Zoom: Diminuir", 51 | "pan": "Deslocamento", 52 | "reset": "Redefinir" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/rs.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rs", 3 | "options": { 4 | "months": [ 5 | "Januar", 6 | "Februar", 7 | "Mart", 8 | "April", 9 | "Maj", 10 | "Jun", 11 | "Jul", 12 | "Avgust", 13 | "Septembar", 14 | "Oktobar", 15 | "Novembar", 16 | "Decembar" 17 | ], 18 | "shortMonths": [ 19 | "Jan", 20 | "Feb", 21 | "Mar", 22 | "Apr", 23 | "Maj", 24 | "Jun", 25 | "Jul", 26 | "Avg", 27 | "Sep", 28 | "Okt", 29 | "Nov", 30 | "Dec" 31 | ], 32 | "days": [ 33 | "Nedelja", 34 | "Ponedeljak", 35 | "Utorak", 36 | "Sreda", 37 | "Četvrtak", 38 | "Petak", 39 | "Subota" 40 | ], 41 | "shortDays": ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub"], 42 | "toolbar": { 43 | "exportToSVG": "Preuzmi SVG", 44 | "exportToPNG": "Preuzmi PNG", 45 | "exportToCSV": "Preuzmi CSV", 46 | "menu": "Meni", 47 | "selection": "Odabir", 48 | "selectionZoom": "Odabirno povećanje", 49 | "zoomIn": "Uvećajte prikaz", 50 | "zoomOut": "Umanjite prikaz", 51 | "pan": "Pomeranje", 52 | "reset": "Resetuj prikaz" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ru", 3 | "options": { 4 | "months": [ 5 | "Январь", 6 | "Февраль", 7 | "Март", 8 | "Апрель", 9 | "Май", 10 | "Июнь", 11 | "Июль", 12 | "Август", 13 | "Сентябрь", 14 | "Октябрь", 15 | "Ноябрь", 16 | "Декабрь" 17 | ], 18 | "shortMonths": [ 19 | "Янв", 20 | "Фев", 21 | "Мар", 22 | "Апр", 23 | "Май", 24 | "Июн", 25 | "Июл", 26 | "Авг", 27 | "Сен", 28 | "Окт", 29 | "Ноя", 30 | "Дек" 31 | ], 32 | "days": [ 33 | "Воскресенье", 34 | "Понедельник", 35 | "Вторник", 36 | "Среда", 37 | "Четверг", 38 | "Пятница", 39 | "Суббота" 40 | ], 41 | "shortDays": ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"], 42 | "toolbar": { 43 | "exportToSVG": "Сохранить SVG", 44 | "exportToPNG": "Сохранить PNG", 45 | "exportToCSV": "Сохранить CSV", 46 | "menu": "Меню", 47 | "selection": "Выбор", 48 | "selectionZoom": "Выбор с увеличением", 49 | "zoomIn": "Увеличить", 50 | "zoomOut": "Уменьшить", 51 | "pan": "Перемещение", 52 | "reset": "Сбросить увеличение" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/se.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "se", 3 | "options": { 4 | "months": [ 5 | "Januari", 6 | "Februari", 7 | "Mars", 8 | "April", 9 | "Maj", 10 | "Juni", 11 | "Juli", 12 | "Augusti", 13 | "September", 14 | "Oktober", 15 | "November", 16 | "December" 17 | ], 18 | "shortMonths": [ 19 | "Jan", 20 | "Feb", 21 | "Mar", 22 | "Apr", 23 | "Maj", 24 | "Juni", 25 | "Juli", 26 | "Aug", 27 | "Sep", 28 | "Okt", 29 | "Nov", 30 | "Dec" 31 | ], 32 | "days": [ 33 | "Söndag", 34 | "Måndag", 35 | "Tisdag", 36 | "Onsdag", 37 | "Torsdag", 38 | "Fredag", 39 | "Lördag" 40 | ], 41 | "shortDays": ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"], 42 | "toolbar": { 43 | "exportToSVG": "Ladda SVG", 44 | "exportToPNG": "Ladda PNG", 45 | "exportToCSV": "Ladda CSV", 46 | "menu": "Meny", 47 | "selection": "Selektion", 48 | "selectionZoom": "Val av zoom", 49 | "zoomIn": "Zooma in", 50 | "zoomOut": "Zooma ut", 51 | "pan": "Panorering", 52 | "reset": "Återställ zoomning" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/sk.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sk", 3 | "options": { 4 | "months": [ 5 | "Január", 6 | "Február", 7 | "Marec", 8 | "Apríl", 9 | "Máj", 10 | "Jún", 11 | "Júl", 12 | "August", 13 | "September", 14 | "Október", 15 | "November", 16 | "December" 17 | ], 18 | "shortMonths": [ 19 | "Jan", 20 | "Feb", 21 | "Mar", 22 | "Apr", 23 | "Máj", 24 | "Jún", 25 | "Júl", 26 | "Aug", 27 | "Sep", 28 | "Okt", 29 | "Nov", 30 | "Dec" 31 | ], 32 | "days": [ 33 | "Nedeľa", 34 | "Pondelok", 35 | "Utorok", 36 | "Streda", 37 | "Štvrtok", 38 | "Piatok", 39 | "Sobota" 40 | ], 41 | "shortDays": ["Ne", "Po", "Ut", "St", "Št", "Pi", "So"], 42 | "toolbar": { 43 | "exportToSVG": "Stiahnuť SVG", 44 | "exportToPNG": "Stiahnuť PNG", 45 | "exportToCSV": "Stiahnuť CSV", 46 | "menu": "Menu", 47 | "selection": "Vyberanie", 48 | "selectionZoom": "Zoom: Vyberanie", 49 | "zoomIn": "Zoom: Priblížiť", 50 | "zoomOut": "Zoom: Vzdialiť", 51 | "pan": "Presúvanie", 52 | "reset": "Resetovať" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/sl.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sl", 3 | "options": { 4 | "months": [ 5 | "Januar", 6 | "Februar", 7 | "Marec", 8 | "April", 9 | "Maj", 10 | "Junij", 11 | "Julij", 12 | "Avgust", 13 | "Septemer", 14 | "Oktober", 15 | "November", 16 | "December" 17 | ], 18 | "shortMonths": [ 19 | "Jan", 20 | "Feb", 21 | "Mar", 22 | "Apr", 23 | "Maj", 24 | "Jun", 25 | "Jul", 26 | "Avg", 27 | "Sep", 28 | "Okt", 29 | "Nov", 30 | "Dec" 31 | ], 32 | "days": [ 33 | "Nedelja", 34 | "Ponedeljek", 35 | "Torek", 36 | "Sreda", 37 | "Četrtek", 38 | "Petek", 39 | "Sobota" 40 | ], 41 | "shortDays": ["Ne", "Po", "To", "Sr", "Če", "Pe", "So"], 42 | "toolbar": { 43 | "exportToSVG": "Prenesi SVG", 44 | "exportToPNG": "Prenesi PNG", 45 | "exportToCSV": "Prenesi CSV", 46 | "menu": "Menu", 47 | "selection": "Izbiranje", 48 | "selectionZoom": "Zoom: Izbira", 49 | "zoomIn": "Zoom: Približaj", 50 | "zoomOut": "Zoom: Oddalji", 51 | "pan": "Pomikanje", 52 | "reset": "Resetiraj" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/sq.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sq", 3 | "options": { 4 | "months": [ 5 | "Janar", 6 | "Shkurt", 7 | "Mars", 8 | "Prill", 9 | "Maj", 10 | "Qershor", 11 | "Korrik", 12 | "Gusht", 13 | "Shtator", 14 | "Tetor", 15 | "Nëntor", 16 | "Dhjetor" 17 | ], 18 | "shortMonths": [ 19 | "Jan", 20 | "Shk", 21 | "Mar", 22 | "Pr", 23 | "Maj", 24 | "Qer", 25 | "Korr", 26 | "Gush", 27 | "Sht", 28 | "Tet", 29 | "Nën", 30 | "Dhj" 31 | ], 32 | "days": [ 33 | "e Dielë", 34 | "e Hënë", 35 | "e Martë", 36 | "e Mërkurë", 37 | "e Enjte", 38 | "e Premte", 39 | "e Shtunë" 40 | ], 41 | "shortDays": ["Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Sht"], 42 | "toolbar": { 43 | "exportToSVG": "Shkarko SVG", 44 | "exportToPNG": "Shkarko PNG", 45 | "exportToCSV": "Shkarko CSV", 46 | "menu": "Menu", 47 | "selection": "Seleksiono", 48 | "selectionZoom": "Seleksiono Zmadhim", 49 | "zoomIn": "Zmadho", 50 | "zoomOut": "Zvogëlo", 51 | "pan": "Spostoje", 52 | "reset": "Rikthe dimensionin" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/th.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "th", 3 | "options": { 4 | "months": [ 5 | "มกราคม", 6 | "กุมภาพันธ์", 7 | "มีนาคม", 8 | "เมษายน", 9 | "พฤษภาคม", 10 | "มิถุนายน", 11 | "กรกฎาคม", 12 | "สิงหาคม", 13 | "กันยายน", 14 | "ตุลาคม", 15 | "พฤศจิกายน", 16 | "ธันวาคม" 17 | ], 18 | "shortMonths": [ 19 | "ม.ค.", 20 | "ก.พ.", 21 | "มี.ค.", 22 | "เม.ย.", 23 | "พ.ค.", 24 | "มิ.ย.", 25 | "ก.ค.", 26 | "ส.ค.", 27 | "ก.ย.", 28 | "ต.ค.", 29 | "พ.ย.", 30 | "ธ.ค." 31 | ], 32 | "days": [ 33 | "อาทิตย์", 34 | "จันทร์", 35 | "อังคาร", 36 | "พุธ", 37 | "พฤหัสบดี", 38 | "ศุกร์", 39 | "เสาร์" 40 | ], 41 | "shortDays": ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส"], 42 | "toolbar": { 43 | "exportToSVG": "ดาวน์โหลด SVG", 44 | "exportToPNG": "ดาวน์โหลด PNG", 45 | "exportToCSV": "ดาวน์โหลด CSV", 46 | "menu": "เมนู", 47 | "selection": "เลือก", 48 | "selectionZoom": "เลือกจุดที่จะซูม", 49 | "zoomIn": "ซูมเข้า", 50 | "zoomOut": "ซูมออก", 51 | "pan": "ปรากฎว่า", 52 | "reset": "รีเซ็ตการซูม" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/tr.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tr", 3 | "options": { 4 | "months": [ 5 | "Ocak", 6 | "Şubat", 7 | "Mart", 8 | "Nisan", 9 | "Mayıs", 10 | "Haziran", 11 | "Temmuz", 12 | "Ağustos", 13 | "Eylül", 14 | "Ekim", 15 | "Kasım", 16 | "Aralık" 17 | ], 18 | "shortMonths": [ 19 | "Oca", 20 | "Şub", 21 | "Mar", 22 | "Nis", 23 | "May", 24 | "Haz", 25 | "Tem", 26 | "Ağu", 27 | "Eyl", 28 | "Eki", 29 | "Kas", 30 | "Ara" 31 | ], 32 | "days": [ 33 | "Pazar", 34 | "Pazartesi", 35 | "Salı", 36 | "Çarşamba", 37 | "Perşembe", 38 | "Cuma", 39 | "Cumartesi" 40 | ], 41 | "shortDays": ["Paz", "Pzt", "Sal", "Çar", "Per", "Cum", "Cmt"], 42 | "toolbar": { 43 | "exportToSVG": "SVG İndir", 44 | "exportToPNG": "PNG İndir", 45 | "exportToCSV": "CSV İndir", 46 | "menu": "Menü", 47 | "selection": "Seçim", 48 | "selectionZoom": "Seçim Yakınlaştır", 49 | "zoomIn": "Yakınlaştır", 50 | "zoomOut": "Uzaklaştır", 51 | "pan": "Kaydır", 52 | "reset": "Yakınlaştırmayı Sıfırla" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/ua.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ua", 3 | "options": { 4 | "months": [ 5 | "Січень", 6 | "Лютий", 7 | "Березень", 8 | "Квітень", 9 | "Травень", 10 | "Червень", 11 | "Липень", 12 | "Серпень", 13 | "Вересень", 14 | "Жовтень", 15 | "Листопад", 16 | "Грудень" 17 | ], 18 | "shortMonths": [ 19 | "Січ", 20 | "Лют", 21 | "Бер", 22 | "Кві", 23 | "Тра", 24 | "Чер", 25 | "Лип", 26 | "Сер", 27 | "Вер", 28 | "Жов", 29 | "Лис", 30 | "Гру" 31 | ], 32 | "days": [ 33 | "Неділя", 34 | "Понеділок", 35 | "Вівторок", 36 | "Середа", 37 | "Четвер", 38 | "П'ятниця", 39 | "Субота" 40 | ], 41 | "shortDays": ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"], 42 | "toolbar": { 43 | "exportToSVG": "Зберегти SVG", 44 | "exportToPNG": "Зберегти PNG", 45 | "exportToCSV": "Зберегти CSV", 46 | "menu": "Меню", 47 | "selection": "Вибір", 48 | "selectionZoom": "Вибір із збільшенням", 49 | "zoomIn": "Збільшити", 50 | "zoomOut": "Зменшити", 51 | "pan": "Переміщення", 52 | "reset": "Скинути збільшення" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/zh-cn.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "zh-cn", 3 | "options": { 4 | "months": [ 5 | "一月", 6 | "二月", 7 | "三月", 8 | "四月", 9 | "五月", 10 | "六月", 11 | "七月", 12 | "八月", 13 | "九月", 14 | "十月", 15 | "十一月", 16 | "十二月" 17 | ], 18 | "shortMonths": [ 19 | "一月", 20 | "二月", 21 | "三月", 22 | "四月", 23 | "五月", 24 | "六月", 25 | "七月", 26 | "八月", 27 | "九月", 28 | "十月", 29 | "十一月", 30 | "十二月" 31 | ], 32 | "days": [ 33 | "星期天", 34 | "星期一", 35 | "星期二", 36 | "星期三", 37 | "星期四", 38 | "星期五", 39 | "星期六" 40 | ], 41 | "shortDays": ["周日", "周一", "周二", "周三", "周四", "周五", "周六"], 42 | "toolbar": { 43 | "exportToSVG": "下载 SVG", 44 | "exportToPNG": "下载 PNG", 45 | "exportToCSV": "下载 CSV", 46 | "menu": "菜单", 47 | "selection": "选择", 48 | "selectionZoom": "选择缩放", 49 | "zoomIn": "放大", 50 | "zoomOut": "缩小", 51 | "pan": "平移", 52 | "reset": "重置缩放" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/apexchart/locales/zh-tw.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "zh-tw", 3 | "options": { 4 | "months": [ 5 | "一月", 6 | "二月", 7 | "三月", 8 | "四月", 9 | "五月", 10 | "六月", 11 | "七月", 12 | "八月", 13 | "九月", 14 | "十月", 15 | "十一月", 16 | "十二月" 17 | ], 18 | "shortMonths": [ 19 | "一月", 20 | "二月", 21 | "三月", 22 | "四月", 23 | "五月", 24 | "六月", 25 | "七月", 26 | "八月", 27 | "九月", 28 | "十月", 29 | "十一月", 30 | "十二月" 31 | ], 32 | "days": [ 33 | "星期日", 34 | "星期一", 35 | "星期二", 36 | "星期三", 37 | "星期四", 38 | "星期五", 39 | "星期六" 40 | ], 41 | "shortDays": ["週日", "週一", "週二", "週三", "週四", "週五", "週六"], 42 | "toolbar": { 43 | "exportToSVG": "下載 SVG", 44 | "exportToPNG": "下載 PNG", 45 | "exportToCSV": "下載 CSV", 46 | "menu": "菜單", 47 | "selection": "選擇", 48 | "selectionZoom": "選擇縮放", 49 | "zoomIn": "放大", 50 | "zoomOut": "縮小", 51 | "pan": "平移", 52 | "reset": "重置縮放" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/vendor/calendar/calendars.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* eslint-disable require-jsdoc, no-unused-vars */ 4 | 5 | var CalendarList = []; 6 | 7 | function CalendarInfo() { 8 | this.id = null; 9 | this.name = null; 10 | this.checked = true; 11 | this.color = null; 12 | this.bgColor = null; 13 | this.borderColor = null; 14 | this.dragBgColor = null; 15 | } 16 | 17 | function addCalendar(calendar) { 18 | CalendarList.push(calendar); 19 | } 20 | 21 | function findCalendar(id) { 22 | var found; 23 | 24 | CalendarList.forEach(function(calendar) { 25 | if (calendar.id === id) { 26 | found = calendar; 27 | } 28 | }); 29 | 30 | return found || CalendarList[0]; 31 | } 32 | 33 | function hexToRGBA(hex) { 34 | var radix = 16; 35 | var r = parseInt(hex.slice(1, 3), radix), 36 | g = parseInt(hex.slice(3, 5), radix), 37 | b = parseInt(hex.slice(5, 7), radix), 38 | a = parseInt(hex.slice(7, 9), radix) / 255 || 1; 39 | var rgba = 'rgba(' + r + ', ' + g + ', ' + b + ', ' + a + ')'; 40 | 41 | return rgba; 42 | } 43 | 44 | -------------------------------------------------------------------------------- /public/vendor/calendar/inital.js: -------------------------------------------------------------------------------- 1 | // (function($) { 2 | // "use strict"; 3 | // var cal = new tui.Calendar('#calendar-monthly', { 4 | // defaultView: 'month' // monthly view option 5 | // }); 6 | 7 | 8 | // var cal = new tui.Calendar('#calendar', { 9 | // defaultView: 'week' // weekly view option 10 | // }); 11 | 12 | 13 | // })(jQuery); 14 | 15 | -------------------------------------------------------------------------------- /public/vendor/chart.js/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018 Chart.js Contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /public/vendor/chart.js/README.md: -------------------------------------------------------------------------------- 1 |

2 |
3 | Simple yet flexible JavaScript charting for designers & developers 4 |

5 | 6 |

7 | Downloads 8 | Builds 9 | Coverage 10 | Awesome 11 | Slack 12 |

13 | 14 | ## Documentation 15 | 16 | - [Introduction](https://www.chartjs.org/docs/latest/) 17 | - [Getting Started](https://www.chartjs.org/docs/latest/getting-started/) 18 | - [General](https://www.chartjs.org/docs/latest/general/) 19 | - [Configuration](https://www.chartjs.org/docs/latest/configuration/) 20 | - [Charts](https://www.chartjs.org/docs/latest/charts/) 21 | - [Axes](https://www.chartjs.org/docs/latest/axes/) 22 | - [Developers](https://www.chartjs.org/docs/latest/developers/) 23 | - [Popular Extensions](https://github.com/chartjs/awesome) 24 | - [Samples](https://www.chartjs.org/samples/) 25 | 26 | ## Contributing 27 | 28 | Instructions on building and testing Chart.js can be found in [the documentation](https://github.com/chartjs/Chart.js/blob/master/docs/developers/contributing.md#building-and-testing). Before submitting an issue or a pull request, please take a moment to look over the [contributing guidelines](https://github.com/chartjs/Chart.js/blob/master/docs/developers/contributing.md) first. For support, please post questions on [Stack Overflow](https://stackoverflow.com/questions/tagged/chartjs) with the `chartjs` tag. 29 | 30 | ## License 31 | 32 | Chart.js is available under the [MIT license](https://opensource.org/licenses/MIT). 33 | -------------------------------------------------------------------------------- /public/vendor/chart.js/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "chart.js", 3 | "description": "Simple HTML5 charts using the canvas element.", 4 | "homepage": "https://www.chartjs.org", 5 | "license": "MIT", 6 | "version": "2.8.0", 7 | "main": "./dist/Chart.js", 8 | "ignore": [ 9 | ".github", 10 | ".codeclimate.yml", 11 | ".gitignore", 12 | ".npmignore", 13 | ".travis.yml", 14 | "scripts" 15 | ] 16 | } -------------------------------------------------------------------------------- /public/vendor/chart.js/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nnnick/chartjs", 3 | "type": "library", 4 | "description": "Simple HTML5 charts using the canvas element.", 5 | "keywords": [ 6 | "chart", 7 | "js" 8 | ], 9 | "homepage": "https://www.chartjs.org/", 10 | "license": "MIT", 11 | "authors": [ 12 | { 13 | "name": "NICK DOWNIE", 14 | "email": "hello@nickdownie.com" 15 | } 16 | ], 17 | "require": { 18 | "php": ">=5.3.3" 19 | }, 20 | "minimum-stability": "stable", 21 | "extra": { 22 | "branch-alias": { 23 | "release/2.0": "v2.0-dev" 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /public/vendor/chart.js/dist/Chart.css: -------------------------------------------------------------------------------- 1 | /* 2 | * DOM element rendering detection 3 | * https://davidwalsh.name/detect-node-insertion 4 | */ 5 | @keyframes chartjs-render-animation { 6 | from { opacity: 0.99; } 7 | to { opacity: 1; } 8 | } 9 | 10 | .chartjs-render-monitor { 11 | animation: chartjs-render-animation 0.001s; 12 | } 13 | 14 | /* 15 | * DOM element resizing detection 16 | * https://github.com/marcj/css-element-queries 17 | */ 18 | .chartjs-size-monitor, 19 | .chartjs-size-monitor-expand, 20 | .chartjs-size-monitor-shrink { 21 | position: absolute; 22 | direction: ltr; 23 | left: 0; 24 | top: 0; 25 | right: 0; 26 | bottom: 0; 27 | overflow: hidden; 28 | pointer-events: none; 29 | visibility: hidden; 30 | z-index: -1; 31 | } 32 | 33 | .chartjs-size-monitor-expand > div { 34 | position: absolute; 35 | width: 1000000px; 36 | height: 1000000px; 37 | left: 0; 38 | top: 0; 39 | } 40 | 41 | .chartjs-size-monitor-shrink > div { 42 | position: absolute; 43 | width: 200%; 44 | height: 200%; 45 | left: 0; 46 | top: 0; 47 | } 48 | -------------------------------------------------------------------------------- /public/vendor/chart.js/dist/Chart.min.css: -------------------------------------------------------------------------------- 1 | @keyframes chartjs-render-animation{from{opacity:.99}to{opacity:1}}.chartjs-render-monitor{animation:chartjs-render-animation 1ms}.chartjs-size-monitor,.chartjs-size-monitor-expand,.chartjs-size-monitor-shrink{position:absolute;direction:ltr;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1}.chartjs-size-monitor-expand>div{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0} -------------------------------------------------------------------------------- /public/vendor/chart.js/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "chart.js", 3 | "homepage": "https://www.chartjs.org", 4 | "description": "Simple HTML5 charts using the canvas element.", 5 | "version": "2.8.0", 6 | "license": "MIT", 7 | "jsdelivr": "dist/Chart.min.js", 8 | "unpkg": "dist/Chart.min.js", 9 | "main": "dist/Chart.js", 10 | "keywords": [ 11 | "canvas", 12 | "charts", 13 | "data", 14 | "graphs", 15 | "html5", 16 | "responsive" 17 | ], 18 | "repository": { 19 | "type": "git", 20 | "url": "https://github.com/chartjs/Chart.js.git" 21 | }, 22 | "bugs": { 23 | "url": "https://github.com/chartjs/Chart.js/issues" 24 | }, 25 | "files": [ 26 | "bower.json", 27 | "composer.json", 28 | "dist/*.css", 29 | "dist/*.js" 30 | ], 31 | "devDependencies": { 32 | "clean-css": "^4.2.1", 33 | "coveralls": "^3.0.0", 34 | "eslint": "^5.9.0", 35 | "eslint-config-chartjs": "^0.1.0", 36 | "eslint-plugin-html": "^5.0.0", 37 | "gitbook-cli": "^2.3.2", 38 | "gulp": "^4.0.0", 39 | "gulp-eslint": "^5.0.0", 40 | "gulp-file": "^0.4.0", 41 | "gulp-htmllint": "^0.0.16", 42 | "gulp-replace": "^1.0.0", 43 | "gulp-size": "^3.0.0", 44 | "gulp-streamify": "^1.0.2", 45 | "gulp-terser": "^1.1.6", 46 | "gulp-zip": "^4.2.0", 47 | "jasmine": "^3.3.0", 48 | "jasmine-core": "^3.3.0", 49 | "karma": "^4.0.0", 50 | "karma-chrome-launcher": "^2.2.0", 51 | "karma-coverage": "^1.1.1", 52 | "karma-firefox-launcher": "^1.0.1", 53 | "karma-jasmine": "^2.0.1", 54 | "karma-jasmine-html-reporter": "^1.4.0", 55 | "karma-rollup-preprocessor": "^6.1.1", 56 | "merge-stream": "^1.0.1", 57 | "pixelmatch": "^4.0.2", 58 | "rollup": "^0.67.4", 59 | "rollup-plugin-commonjs": "^9.2.0", 60 | "rollup-plugin-istanbul": "^2.0.1", 61 | "rollup-plugin-node-resolve": "^3.4.0", 62 | "rollup-plugin-terser": "^3.0.0", 63 | "yargs": "^12.0.5" 64 | }, 65 | "dependencies": { 66 | "chartjs-color": "^2.1.0", 67 | "moment": "^2.10.2" 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /public/vendor/datepicker/date-time-picker/datetimepicker.custom.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | "use strict"; 3 | 4 | //Minimum Setup 5 | $(function () { 6 | $('#dt-minimum').datetimepicker(); 7 | }); 8 | 9 | //Using Locales 10 | $(function () { 11 | $('#dt-local').datetimepicker({ 12 | locale: 'ru' 13 | }); 14 | }); 15 | // Time only 16 | $(function () { 17 | $('#dt-time').datetimepicker({ 18 | format: 'LT' 19 | }); 20 | }); 21 | //Date only 22 | $(function () { 23 | $('#dt-date').datetimepicker({ 24 | format: 'L' 25 | }); 26 | }); 27 | //No Icon 28 | $(function () { 29 | $('#dt-noicon').datetimepicker(); 30 | }); 31 | //Enabled/Disabled Dates 32 | $(function () { 33 | $('#dt-enab-disab-date').datetimepicker({ 34 | defaultDate: "11/1/2013", 35 | disabledDates: [ 36 | moment("12/25/2013"), 37 | new Date(2013, 11 - 1, 21), 38 | "11/22/2013 00:53" 39 | ] 40 | }); 41 | }); 42 | //view mode 43 | $(function () { 44 | $('#dt-view').datetimepicker({ 45 | viewMode: 'years' 46 | }); 47 | }); 48 | //Disabled Days of the Week 49 | $(function () { 50 | $('#dt-disab-days').datetimepicker({ 51 | daysOfWeekDisabled: [0, 6] 52 | }); 53 | }); 54 | 55 | })(jQuery); 56 | -------------------------------------------------------------------------------- /public/vendor/datepicker/date-time-picker/tempusdominus-bootstrap-4.min.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/vendor/datepicker/date-time-picker/tempusdominus-bootstrap-4.min.js -------------------------------------------------------------------------------- /public/vendor/datepicker/datepicker.en.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | ;(function ($) { 3 | $.fn.datepicker.language['en'] = { 4 | days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], 5 | daysShort: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], 6 | daysMin: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], 7 | months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], 8 | monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], 9 | today: 'Today', 10 | clear: 'Clear', 11 | dateFormat: 'dd-mm-yyyy', 12 | timeFormat: 'hh:ii aa', 13 | firstDay: 0, 14 | 15 | }; 16 | })(jQuery); 17 | -------------------------------------------------------------------------------- /public/vendor/mathquill/font/Symbola-basic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/vendor/mathquill/font/Symbola-basic.eot -------------------------------------------------------------------------------- /public/vendor/mathquill/font/Symbola-basic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/vendor/mathquill/font/Symbola-basic.ttf -------------------------------------------------------------------------------- /public/vendor/mathquill/font/Symbola-basic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/vendor/mathquill/font/Symbola-basic.woff -------------------------------------------------------------------------------- /public/vendor/mathquill/font/Symbola-basic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/vendor/mathquill/font/Symbola-basic.woff2 -------------------------------------------------------------------------------- /public/vendor/mathquill/font/Symbola.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/vendor/mathquill/font/Symbola.eot -------------------------------------------------------------------------------- /public/vendor/mathquill/font/Symbola.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/vendor/mathquill/font/Symbola.otf -------------------------------------------------------------------------------- /public/vendor/mathquill/font/Symbola.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/vendor/mathquill/font/Symbola.ttf -------------------------------------------------------------------------------- /public/vendor/mathquill/font/Symbola.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/vendor/mathquill/font/Symbola.woff -------------------------------------------------------------------------------- /public/vendor/mathquill/font/Symbola.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masif088/masif-dashboard-laravel/f7f4942a1d7d90aaa1ec16030aae83f7cb7857ac/public/vendor/mathquill/font/Symbola.woff2 -------------------------------------------------------------------------------- /public/vendor/tinymce/dark.css: -------------------------------------------------------------------------------- 1 | body { 2 | color: #edf2f9; 3 | background-color: #152e4d; 4 | font-family: 'Josefin Sans', sans-serif; 5 | line-height: 1.4; 6 | } 7 | 8 | -------------------------------------------------------------------------------- /public/vendor/tinymce/light.css: -------------------------------------------------------------------------------- 1 | body { 2 | color: rgb(55 65 81); 3 | background-color: rgb(229 231 235); 4 | font-family: 'Josefin Sans', sans-serif; 5 | line-height: 1.4; 6 | } 7 | -------------------------------------------------------------------------------- /resources/js/app.js: -------------------------------------------------------------------------------- 1 | import './bootstrap'; 2 | 3 | import Alpine from 'alpinejs'; 4 | 5 | window.Alpine = Alpine; 6 | 7 | Alpine.start(); 8 | -------------------------------------------------------------------------------- /resources/js/bootstrap.js: -------------------------------------------------------------------------------- 1 | import _ from 'lodash'; 2 | window._ = _; 3 | 4 | /** 5 | * We'll load the axios HTTP library which allows us to easily issue requests 6 | * to our Laravel back-end. This library automatically handles sending the 7 | * CSRF token as a header based on the value of the "XSRF" token cookie. 8 | */ 9 | 10 | import axios from 'axios'; 11 | window.axios = axios; 12 | 13 | window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; 14 | 15 | /** 16 | * Echo exposes an expressive API for subscribing to channels and listening 17 | * for events that are broadcast by Laravel. Echo and event broadcasting 18 | * allows your team to easily build robust real-time web applications. 19 | */ 20 | 21 | // import Echo from 'laravel-echo'; 22 | 23 | // import Pusher from 'pusher-js'; 24 | // window.Pusher = Pusher; 25 | 26 | // window.Echo = new Echo({ 27 | // broadcaster: 'pusher', 28 | // key: import.meta.env.VITE_PUSHER_APP_KEY, 29 | // wsHost: import.meta.env.VITE_PUSHER_HOST ?? `ws-${import.meta.env.VITE_PUSHER_APP_CLUSTER}.pusher.com`, 30 | // wsPort: import.meta.env.VITE_PUSHER_PORT ?? 80, 31 | // wssPort: import.meta.env.VITE_PUSHER_PORT ?? 443, 32 | // forceTLS: (import.meta.env.VITE_PUSHER_SCHEME ?? 'https') === 'https', 33 | // enabledTransports: ['ws', 'wss'], 34 | // }); 35 | -------------------------------------------------------------------------------- /resources/markdown/policy.md: -------------------------------------------------------------------------------- 1 | # Privacy Policy 2 | 3 | Edit this file to define the privacy policy for your application. 4 | -------------------------------------------------------------------------------- /resources/markdown/terms.md: -------------------------------------------------------------------------------- 1 | # Terms of Service 2 | 3 | Edit this file to define the terms of service for your application. 4 | -------------------------------------------------------------------------------- /resources/views/api/index.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 |

4 | {{ __('API Tokens') }} 5 |

6 |
7 | 8 |
9 |
10 | @livewire('api.api-token-manager') 11 |
12 |
13 |
14 | -------------------------------------------------------------------------------- /resources/views/auth/confirm-password.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | {{ __('This is a secure area of the application. Please confirm your password before continuing.') }} 9 |
10 | 11 | 12 | 13 |
14 | @csrf 15 | 16 |
17 | 18 | 19 |
20 | 21 |
22 | 23 | {{ __('Confirm') }} 24 | 25 |
26 |
27 |
28 |
29 | -------------------------------------------------------------------------------- /resources/views/auth/forgot-password.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | {{ __('Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.') }} 9 |
10 | 11 | @if (session('status')) 12 |
13 | {{ session('status') }} 14 |
15 | @endif 16 | 17 | 18 | 19 |
20 | @csrf 21 | 22 |
23 | 24 | 25 |
26 | 27 |
28 | 29 | {{ __('Email Password Reset Link') }} 30 | 31 |
32 |
33 |
34 |
35 | -------------------------------------------------------------------------------- /resources/views/auth/login.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | @if (session('status')) 10 |
11 | {{ session('status') }} 12 |
13 | @endif 14 | 15 |
16 | @csrf 17 | 18 |
19 | 20 | 21 |
22 | 23 |
24 | 25 | 26 |
27 | 28 |
29 | 33 |
34 | 35 |
36 | @if (Route::has('password.request')) 37 | 38 | {{ __('Forgot your password?') }} 39 | 40 | @endif 41 | 42 | 43 | {{ __('Log in') }} 44 | 45 |
46 |
47 |
48 |
49 | -------------------------------------------------------------------------------- /resources/views/auth/reset-password.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | @csrf 11 | 12 | 13 | 14 |
15 | 16 | 17 |
18 | 19 |
20 | 21 | 22 |
23 | 24 |
25 | 26 | 27 |
28 | 29 |
30 | 31 | {{ __('Reset Password') }} 32 | 33 |
34 |
35 |
36 |
37 | -------------------------------------------------------------------------------- /resources/views/auth/verify-email.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | {{ __('Before continuing, could you verify your email address by clicking on the link we just emailed to you? If you didn\'t receive the email, we will gladly send you another.') }} 9 |
10 | 11 | @if (session('status') == 'verification-link-sent') 12 |
13 | {{ __('A new verification link has been sent to the email address you provided in your profile settings.') }} 14 |
15 | @endif 16 | 17 |
18 |
19 | @csrf 20 | 21 |
22 | 23 | {{ __('Resend Verification Email') }} 24 | 25 |
26 |
27 | 28 |
29 | 33 | {{ __('Edit Profile') }} 34 | 35 |
36 | @csrf 37 | 38 | 41 |
42 |
43 |
44 |
45 |
46 | -------------------------------------------------------------------------------- /resources/views/components/button-primary.blade.php: -------------------------------------------------------------------------------- 1 | @props(['link'=>'#', 'title'=>'No title']) 2 | 3 | {{ $title }} 4 | 5 | -------------------------------------------------------------------------------- /resources/views/components/chart.blade.php: -------------------------------------------------------------------------------- 1 | @props(['chart']) 2 | @switch($chart['type']) 3 | @case('line') 4 | @case('area') 5 | @case('bar') 6 | 7 | @break 8 | @case('pie') 9 | @case('donut') 10 | 11 | @break 12 | @default 13 | 14 |

There was an input error on the chart type

15 | 16 | 17 | @endswitch 18 | -------------------------------------------------------------------------------- /resources/views/components/data-table-component/sort-icon.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | @if ($sortField !== $field) 4 |
5 | @elseif ($sortAsc) 6 |
7 | @else 8 |
9 | @endif 10 | -------------------------------------------------------------------------------- /resources/views/components/form-button.blade.php: -------------------------------------------------------------------------------- 1 | @props(['bg'=>'bg-primary']) 2 | 6 | -------------------------------------------------------------------------------- /resources/views/components/form-generator-component/editor.blade.php: -------------------------------------------------------------------------------- 1 | @props(['repository']) 2 |
3 | 7 | 9 | 39 |
40 | -------------------------------------------------------------------------------- /resources/views/components/form-generator-component/input.blade.php: -------------------------------------------------------------------------------- 1 | @props(['repository']) 2 |
3 | @isset($repository['title']) 4 | 7 | @endisset 8 | 18 | @if($repository['type']=="file") 19 |
20 | Proses upload 21 |
22 | @endif 23 | 24 | @error('data.'.$repository['model']) {{ $message }} @enderror 25 |
26 | 27 | -------------------------------------------------------------------------------- /resources/views/components/form-generator-component/select.blade.php: -------------------------------------------------------------------------------- 1 | @props(['repository']) 2 | 3 |
4 | @if($repository['title']!=null) 5 | 6 | @endif 7 | 20 |
21 | -------------------------------------------------------------------------------- /resources/views/components/form-generator-component/select2.blade.php: -------------------------------------------------------------------------------- 1 | @props(['repository']) 2 |
3 | 7 | 19 | 29 |
30 | -------------------------------------------------------------------------------- /resources/views/components/form-generator-component/textarea.blade.php: -------------------------------------------------------------------------------- 1 | @props(['repository']) 2 |
3 | @isset($repository['title']) 4 | 7 | @endisset 8 | 15 | @error('data.'.$repository['model']) {{ $message }} @enderror 16 |
17 | -------------------------------------------------------------------------------- /resources/views/components/form-generator.blade.php: -------------------------------------------------------------------------------- 1 | @props(['repositories']) 2 | @php 3 | $model = "\App\Repository\\$repositories"; 4 | $model= new $model(); 5 | $repositories = $model::formField(); 6 | @endphp 7 | @foreach($repositories as $repository) 8 | @switch($repository) 9 | @case($repository['type']=="select2") 10 | 11 | @break 12 | @case($repository['type']=="select") 13 | 14 | @break 15 | @case($repository['type']=="textarea") 16 | 17 | @break 18 | @case($repository['type']=="editor") 19 | 20 | @break 21 | @default 22 | 23 | @endswitch 24 | @endforeach 25 | -------------------------------------------------------------------------------- /resources/views/dashboard.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 |

4 | {{ __('Dashboard') }} 5 |

6 |
7 | 8 |
9 |
10 |
11 | {{-- --}} 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
SongArtistYear
The Sliding Mr. Bones (Next Stop, Pottersville)Malcolm Lockyer1961
Witchy WomanThe Eagles1972
Shining StarEarth, Wind, and Fire1975
38 |
39 |
40 |
41 |
42 | -------------------------------------------------------------------------------- /resources/views/layouts/app.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | {{ config('app.name', 'Laravel') }} 9 | 10 | 11 | 12 | 13 | 14 | @vite(['resources/css/app.css', 'resources/js/app.js']) 15 | {{-- --}} 16 | 17 | 18 | @livewireStyles 19 | 20 | 21 | 22 | 23 |
24 | @livewire('navigation-menu') 25 | 26 | 27 | @if (isset($header)) 28 |
29 |
30 | {{ $header }} 31 |
32 |
33 | @endif 34 | 35 | 36 |
37 | {{ $slot }} 38 |
39 |
40 | 41 | @stack('modals') 42 | 43 | @livewireScripts 44 | 45 | 46 | -------------------------------------------------------------------------------- /resources/views/layouts/guest.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | {{ config('app.name', 'Laravel') }} 9 | 10 | 11 | 12 | 13 | 14 | @vite(['resources/css/app.css', 'resources/js/app.js']) 15 | 16 | 17 |
18 | {{ $slot }} 19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /resources/views/livewire/check.blade.php: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 | 6 | -------------------------------------------------------------------------------- /resources/views/livewire/form/example.blade.php: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 | 6 | -------------------------------------------------------------------------------- /resources/views/pages/admin/example/form-generator.blade.php: -------------------------------------------------------------------------------- 1 | @php 2 | use App\Models\User; 3 | $a=new \App\Repository\User(); 4 | @endphp 5 | 6 | 7 | Dashboard 8 | 9 | 10 | Data,{{route('admin.dashboard')}} 11 | 12 |
13 | 14 | 15 |
16 |
17 | @livewire('form.example') 18 |
19 |
20 |
21 | 22 | 23 |
24 | -------------------------------------------------------------------------------- /resources/views/pages/admin/example/table-generator.blade.php: -------------------------------------------------------------------------------- 1 | @php 2 | use App\Models\User; 3 | $a=new \App\Repository\User(); 4 | @endphp 5 | 6 | 7 | Dashboard 8 | 9 | 10 | Data,{{route('admin.dashboard')}} 11 | 12 |
13 | 14 | 15 |
16 |
17 | @livewire('table.main',['name' => 'Example']) 18 |
19 |
20 |
21 | 22 | 23 |
24 | -------------------------------------------------------------------------------- /resources/views/policy.blade.php: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |
5 | 6 |
7 | 8 |
9 | {!! $policy !!} 10 |
11 |
12 |
13 |
14 | -------------------------------------------------------------------------------- /resources/views/profile/show.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 |

4 | {{ __('Profile') }} 5 |

6 |
7 | 8 |
9 |
10 | @if (Laravel\Fortify\Features::canUpdateProfileInformation()) 11 | @livewire('profile.update-profile-information-form') 12 | 13 | 14 | @endif 15 | 16 | @if (Laravel\Fortify\Features::enabled(Laravel\Fortify\Features::updatePasswords())) 17 |
18 | @livewire('profile.update-password-form') 19 |
20 | 21 | 22 | @endif 23 | 24 | @if (Laravel\Fortify\Features::canManageTwoFactorAuthentication()) 25 |
26 | @livewire('profile.two-factor-authentication-form') 27 |
28 | 29 | 30 | @endif 31 | 32 |
33 | @livewire('profile.logout-other-browser-sessions-form') 34 |
35 | 36 | @if (Laravel\Jetstream\Jetstream::hasAccountDeletionFeatures()) 37 | 38 | 39 |
40 | @livewire('profile.delete-user-form') 41 |
42 | @endif 43 |
44 |
45 |
46 | -------------------------------------------------------------------------------- /resources/views/profile/update-password-form.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ __('Update Password') }} 4 | 5 | 6 | 7 | {{ __('Ensure your account is using a long, random password to stay secure.') }} 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 |
16 | 17 |
18 | 19 | 20 | 21 |
22 | 23 |
24 | 25 | 26 | 27 |
28 |
29 | 30 | 31 | 32 | {{ __('Saved.') }} 33 | 34 | 35 | 36 | {{ __('Save') }} 37 | 38 | 39 |
40 | -------------------------------------------------------------------------------- /resources/views/terms.blade.php: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |
5 | 6 |
7 | 8 |
9 | {!! $terms !!} 10 |
11 |
12 |
13 |
14 | -------------------------------------------------------------------------------- /resources/views/vendor/pagination/bootstrap-4.blade.php: -------------------------------------------------------------------------------- 1 | @if ($paginator->hasPages()) 2 | 46 | @endif 47 | -------------------------------------------------------------------------------- /resources/views/vendor/pagination/default.blade.php: -------------------------------------------------------------------------------- 1 | @if ($paginator->hasPages()) 2 | 46 | @endif 47 | -------------------------------------------------------------------------------- /resources/views/vendor/pagination/semantic-ui.blade.php: -------------------------------------------------------------------------------- 1 | @if ($paginator->hasPages()) 2 | 36 | @endif 37 | -------------------------------------------------------------------------------- /resources/views/vendor/pagination/simple-bootstrap-4.blade.php: -------------------------------------------------------------------------------- 1 | @if ($paginator->hasPages()) 2 | 27 | @endif 28 | -------------------------------------------------------------------------------- /resources/views/vendor/pagination/simple-bootstrap-5.blade.php: -------------------------------------------------------------------------------- 1 | @if ($paginator->hasPages()) 2 | 29 | @endif 30 | -------------------------------------------------------------------------------- /resources/views/vendor/pagination/simple-default.blade.php: -------------------------------------------------------------------------------- 1 | @if ($paginator->hasPages()) 2 | 19 | @endif 20 | -------------------------------------------------------------------------------- /resources/views/vendor/pagination/simple-tailwind.blade.php: -------------------------------------------------------------------------------- 1 | @if ($paginator->hasPages()) 2 | 25 | @endif 26 | -------------------------------------------------------------------------------- /routes/api.php: -------------------------------------------------------------------------------- 1 | get('/user', function (Request $request) { 18 | return $request->user(); 19 | }); 20 | -------------------------------------------------------------------------------- /routes/channels.php: -------------------------------------------------------------------------------- 1 | id === (int) $id; 18 | }); 19 | -------------------------------------------------------------------------------- /routes/console.php: -------------------------------------------------------------------------------- 1 | comment(Inspiring::quote()); 19 | })->purpose('Display an inspiring quote'); 20 | -------------------------------------------------------------------------------- /storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !public/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/app/public/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/.gitignore: -------------------------------------------------------------------------------- 1 | compiled.php 2 | config.php 3 | down 4 | events.scanned.php 5 | maintenance.php 6 | routes.php 7 | routes.scanned.php 8 | schedule-* 9 | services.json 10 | -------------------------------------------------------------------------------- /storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !data/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/framework/cache/data/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/sessions/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/testing/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /tests/CreatesApplication.php: -------------------------------------------------------------------------------- 1 | make(Kernel::class)->bootstrap(); 19 | 20 | return $app; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /tests/Feature/ApiTokenPermissionsTest.php: -------------------------------------------------------------------------------- 1 | markTestSkipped('API support is not enabled.'); 21 | } 22 | 23 | $this->actingAs($user = User::factory()->withPersonalTeam()->create()); 24 | 25 | $token = $user->tokens()->create([ 26 | 'name' => 'Test Token', 27 | 'token' => Str::random(40), 28 | 'abilities' => ['create', 'read'], 29 | ]); 30 | 31 | Livewire::test(ApiTokenManager::class) 32 | ->set(['managingPermissionsFor' => $token]) 33 | ->set(['updateApiTokenForm' => [ 34 | 'permissions' => [ 35 | 'delete', 36 | 'missing-permission', 37 | ], 38 | ]]) 39 | ->call('updateApiToken'); 40 | 41 | $this->assertTrue($user->fresh()->tokens->first()->can('delete')); 42 | $this->assertFalse($user->fresh()->tokens->first()->can('read')); 43 | $this->assertFalse($user->fresh()->tokens->first()->can('missing-permission')); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /tests/Feature/AuthenticationTest.php: -------------------------------------------------------------------------------- 1 | get('/login'); 17 | 18 | $response->assertStatus(200); 19 | } 20 | 21 | public function test_users_can_authenticate_using_the_login_screen() 22 | { 23 | $user = User::factory()->create(); 24 | 25 | $response = $this->post('/login', [ 26 | 'email' => $user->email, 27 | 'password' => 'password', 28 | ]); 29 | 30 | $this->assertAuthenticated(); 31 | $response->assertRedirect(RouteServiceProvider::HOME); 32 | } 33 | 34 | public function test_users_can_not_authenticate_with_invalid_password() 35 | { 36 | $user = User::factory()->create(); 37 | 38 | $this->post('/login', [ 39 | 'email' => $user->email, 40 | 'password' => 'wrong-password', 41 | ]); 42 | 43 | $this->assertGuest(); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /tests/Feature/BrowserSessionsTest.php: -------------------------------------------------------------------------------- 1 | actingAs($user = User::factory()->create()); 18 | 19 | Livewire::test(LogoutOtherBrowserSessionsForm::class) 20 | ->set('password', 'password') 21 | ->call('logoutOtherBrowserSessions') 22 | ->assertSuccessful(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /tests/Feature/CreateApiTokenTest.php: -------------------------------------------------------------------------------- 1 | markTestSkipped('API support is not enabled.'); 20 | } 21 | 22 | $this->actingAs($user = User::factory()->withPersonalTeam()->create()); 23 | 24 | Livewire::test(ApiTokenManager::class) 25 | ->set(['createApiTokenForm' => [ 26 | 'name' => 'Test Token', 27 | 'permissions' => [ 28 | 'read', 29 | 'update', 30 | ], 31 | ]]) 32 | ->call('createApiToken'); 33 | 34 | $this->assertCount(1, $user->fresh()->tokens); 35 | $this->assertEquals('Test Token', $user->fresh()->tokens->first()->name); 36 | $this->assertTrue($user->fresh()->tokens->first()->can('read')); 37 | $this->assertFalse($user->fresh()->tokens->first()->can('delete')); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /tests/Feature/DeleteAccountTest.php: -------------------------------------------------------------------------------- 1 | markTestSkipped('Account deletion is not enabled.'); 20 | } 21 | 22 | $this->actingAs($user = User::factory()->create()); 23 | 24 | $component = Livewire::test(DeleteUserForm::class) 25 | ->set('password', 'password') 26 | ->call('deleteUser'); 27 | 28 | $this->assertNull($user->fresh()); 29 | } 30 | 31 | public function test_correct_password_must_be_provided_before_account_can_be_deleted() 32 | { 33 | if (! Features::hasAccountDeletionFeatures()) { 34 | return $this->markTestSkipped('Account deletion is not enabled.'); 35 | } 36 | 37 | $this->actingAs($user = User::factory()->create()); 38 | 39 | Livewire::test(DeleteUserForm::class) 40 | ->set('password', 'wrong-password') 41 | ->call('deleteUser') 42 | ->assertHasErrors(['password']); 43 | 44 | $this->assertNotNull($user->fresh()); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /tests/Feature/DeleteApiTokenTest.php: -------------------------------------------------------------------------------- 1 | markTestSkipped('API support is not enabled.'); 21 | } 22 | 23 | $this->actingAs($user = User::factory()->withPersonalTeam()->create()); 24 | 25 | $token = $user->tokens()->create([ 26 | 'name' => 'Test Token', 27 | 'token' => Str::random(40), 28 | 'abilities' => ['create', 'read'], 29 | ]); 30 | 31 | Livewire::test(ApiTokenManager::class) 32 | ->set(['apiTokenIdBeingDeleted' => $token->id]) 33 | ->call('deleteApiToken'); 34 | 35 | $this->assertCount(0, $user->fresh()->tokens); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /tests/Feature/ExampleTest.php: -------------------------------------------------------------------------------- 1 | get('/'); 18 | 19 | $response->assertStatus(200); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tests/Feature/PasswordConfirmationTest.php: -------------------------------------------------------------------------------- 1 | withPersonalTeam()->create(); 17 | 18 | $response = $this->actingAs($user)->get('/user/confirm-password'); 19 | 20 | $response->assertStatus(200); 21 | } 22 | 23 | public function test_password_can_be_confirmed() 24 | { 25 | $user = User::factory()->create(); 26 | 27 | $response = $this->actingAs($user)->post('/user/confirm-password', [ 28 | 'password' => 'password', 29 | ]); 30 | 31 | $response->assertRedirect(); 32 | $response->assertSessionHasNoErrors(); 33 | } 34 | 35 | public function test_password_is_not_confirmed_with_invalid_password() 36 | { 37 | $user = User::factory()->create(); 38 | 39 | $response = $this->actingAs($user)->post('/user/confirm-password', [ 40 | 'password' => 'wrong-password', 41 | ]); 42 | 43 | $response->assertSessionHasErrors(); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /tests/Feature/ProfileInformationTest.php: -------------------------------------------------------------------------------- 1 | actingAs($user = User::factory()->create()); 18 | 19 | $component = Livewire::test(UpdateProfileInformationForm::class); 20 | 21 | $this->assertEquals($user->name, $component->state['name']); 22 | $this->assertEquals($user->email, $component->state['email']); 23 | } 24 | 25 | public function test_profile_information_can_be_updated() 26 | { 27 | $this->actingAs($user = User::factory()->create()); 28 | 29 | Livewire::test(UpdateProfileInformationForm::class) 30 | ->set('state', ['name' => 'Test Name', 'email' => 'test@example.com']) 31 | ->call('updateProfileInformation'); 32 | 33 | $this->assertEquals('Test Name', $user->fresh()->name); 34 | $this->assertEquals('test@example.com', $user->fresh()->email); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /tests/Feature/RegistrationTest.php: -------------------------------------------------------------------------------- 1 | markTestSkipped('Registration support is not enabled.'); 19 | } 20 | 21 | $response = $this->get('/register'); 22 | 23 | $response->assertStatus(200); 24 | } 25 | 26 | public function test_registration_screen_cannot_be_rendered_if_support_is_disabled() 27 | { 28 | if (Features::enabled(Features::registration())) { 29 | return $this->markTestSkipped('Registration support is enabled.'); 30 | } 31 | 32 | $response = $this->get('/register'); 33 | 34 | $response->assertStatus(404); 35 | } 36 | 37 | public function test_new_users_can_register() 38 | { 39 | if (! Features::enabled(Features::registration())) { 40 | return $this->markTestSkipped('Registration support is not enabled.'); 41 | } 42 | 43 | $response = $this->post('/register', [ 44 | 'name' => 'Test User', 45 | 'email' => 'test@example.com', 46 | 'password' => 'password', 47 | 'password_confirmation' => 'password', 48 | 'terms' => Jetstream::hasTermsAndPrivacyPolicyFeature(), 49 | ]); 50 | 51 | $this->assertAuthenticated(); 52 | $response->assertRedirect(RouteServiceProvider::HOME); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /tests/Feature/UpdatePasswordTest.php: -------------------------------------------------------------------------------- 1 | actingAs($user = User::factory()->create()); 19 | 20 | Livewire::test(UpdatePasswordForm::class) 21 | ->set('state', [ 22 | 'current_password' => 'password', 23 | 'password' => 'new-password', 24 | 'password_confirmation' => 'new-password', 25 | ]) 26 | ->call('updatePassword'); 27 | 28 | $this->assertTrue(Hash::check('new-password', $user->fresh()->password)); 29 | } 30 | 31 | public function test_current_password_must_be_correct() 32 | { 33 | $this->actingAs($user = User::factory()->create()); 34 | 35 | Livewire::test(UpdatePasswordForm::class) 36 | ->set('state', [ 37 | 'current_password' => 'wrong-password', 38 | 'password' => 'new-password', 39 | 'password_confirmation' => 'new-password', 40 | ]) 41 | ->call('updatePassword') 42 | ->assertHasErrors(['current_password']); 43 | 44 | $this->assertTrue(Hash::check('password', $user->fresh()->password)); 45 | } 46 | 47 | public function test_new_passwords_must_match() 48 | { 49 | $this->actingAs($user = User::factory()->create()); 50 | 51 | Livewire::test(UpdatePasswordForm::class) 52 | ->set('state', [ 53 | 'current_password' => 'password', 54 | 'password' => 'new-password', 55 | 'password_confirmation' => 'wrong-password', 56 | ]) 57 | ->call('updatePassword') 58 | ->assertHasErrors(['password']); 59 | 60 | $this->assertTrue(Hash::check('password', $user->fresh()->password)); 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- 1 | assertTrue(true); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite'; 2 | import laravel, { refreshPaths } from 'laravel-vite-plugin'; 3 | 4 | export default defineConfig({ 5 | plugins: [ 6 | laravel({ 7 | input: [ 8 | 'resources/css/app.css', 9 | 'resources/js/app.js', 10 | ], 11 | refresh: [ 12 | ...refreshPaths, 13 | 'app/Http/Livewire/**', 14 | ], 15 | }), 16 | ], 17 | }); 18 | --------------------------------------------------------------------------------