Skip to content

Commit 7cfa17c

Browse files
Upgrade Material V2
1 parent 6b104ec commit 7cfa17c

File tree

7,640 files changed

+980613
-43389
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

7,640 files changed

+980613
-43389
lines changed

CHANGELOG.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Changelog
2+
3+
All notable changes to `Argon` frontend preset for Laravel will be documented in this file.
4+
5+
## Version 1.0.0
6+
7+
### Added
8+
- Argon v1.0.0 frontend theme
9+
- Laravel Auth preset
10+
- Change user profile
11+
- User CRUD
12+
13+
## Version 1.0.1 - 1.0.4
14+
- Bugfixes
15+
16+
## Version 1.0.5 - 1.0.6
17+
- More flexible password setting
18+
19+
## Version 1.0.7 - 1.0.10
20+
- Menu structure changes, replace texts
21+
22+
## Version 1.0.11 - 2019-09-23
23+
- Update to Laravel 6.x
24+
25+
## Version 1.1.0 - 2020-03-18
26+
- Update to Laravel 7.x
27+
28+
## Version 1.1.1 - 2020-09-23
29+
- Update to Laravel 8.x
30+
31+
## Version 1.1.2 - 2022-03-25
32+
- Update to Laravel 9.x
33+
34+
## Version 2.0.0 - 2022-09-27
35+
- Update Bootstrap to v5.1.3
36+
- Add new example pages
37+
- Add Light/Dark feature
38+
- New Documentation version

README.md

Lines changed: 323 additions & 0 deletions
Large diffs are not rendered by default.

composer.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
{
2-
"name": "laravel-frontend-presets/material-dashboard",
3-
"description": "Laravel 9.x Front-end preset for material dashboard",
2+
"name": "laravel-frontend-presets/argon",
3+
"description": "Laravel 9.x Front-end preset for argon",
44
"license": "MIT",
5-
"homepage": "https://github.com/creativetimofficial/material-dashboard-laravel",
6-
"keywords": ["Laravel", "Preset", "Material"],
5+
"homepage": "https://github.com/creativetimofficial/argon-dashboard-laravel",
6+
"keywords": ["Laravel", "Preset", "Argon"],
77
"require": {
88
"laravel/framework": "^9.0",
9-
"laravel/legacy-factories": "^1.0"
9+
"laravel/legacy-factories": "^1.0"
1010
},
1111
"autoload": {
1212
"psr-4": {
13-
"LaravelFrontendPresets\\MaterialPreset\\": "src/"
13+
"LaravelFrontendPresets\\ArgonPreset\\": "src/"
1414
}
1515
},
1616
"extra": {
1717
"laravel": {
1818
"providers": [
19-
"LaravelFrontendPresets\\MaterialPreset\\MaterialPresetServiceProvider"
19+
"LaravelFrontendPresets\\ArgonPreset\\ArgonPresetServiceProvider"
2020
]
2121
}
2222
}

readme.md

Lines changed: 0 additions & 511 deletions
This file was deleted.

src/ArgonPreset.php

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
<?php
2+
3+
namespace LaravelFrontendPresets\ArgonPreset;
4+
5+
use Illuminate\Filesystem\Filesystem;
6+
use Laravel\Ui\Presets\Preset;
7+
8+
class ArgonPreset extends Preset
9+
{
10+
const STUBSPATH = __DIR__.'/argon-stubs/';
11+
12+
/**
13+
* Install the preset.
14+
*
15+
* @return void
16+
*/
17+
public static function install()
18+
{
19+
static::updateAssets();
20+
static::updateAuthViews();
21+
static::updateComponents();
22+
static::updateLayoutViews();
23+
static::addPages();
24+
}
25+
26+
/**
27+
* Copy a file
28+
*
29+
* @param string $file
30+
* @param string $destination
31+
* @return void
32+
*/
33+
private static function copyFile($file, $destination)
34+
{
35+
(new Filesystem)->copy(static::STUBSPATH.$file, $destination);
36+
}
37+
38+
/**
39+
* Copy a directory
40+
*
41+
* @param string $directory
42+
* @param string $destination
43+
* @return void
44+
*/
45+
private static function copyDirectory($directory, $destination)
46+
{
47+
(new Filesystem)->copyDirectory(static::STUBSPATH.$directory, $destination);
48+
}
49+
50+
/**
51+
* Update the assets
52+
*
53+
* @return void
54+
*/
55+
protected static function updateAssets()
56+
{
57+
// public folders
58+
static::copyDirectory('resources/argon', public_path());
59+
60+
// js, scss resources that can be run with webpack mix
61+
static::copyDirectory('resources/assets', app_path('../resources'));
62+
static::copyFile('webpack.mix.js', app_path('../webpack.mix.js'));
63+
}
64+
65+
/**
66+
* Update the default components files
67+
*
68+
* @return void
69+
*/
70+
protected static function updateComponents()
71+
{
72+
// copy components folder
73+
static::copyDirectory('resources/views/components', resource_path('views/components'));
74+
}
75+
76+
/**
77+
* Update the default layout files
78+
*
79+
* @return void
80+
*/
81+
protected static function updateLayoutViews()
82+
{
83+
// copy layouts folder
84+
static::copyDirectory('resources/views/layouts', resource_path('views/layouts'));
85+
}
86+
87+
/**
88+
* Copy Auth view templates.
89+
*
90+
* @return void
91+
*/
92+
protected static function updateAuthViews()
93+
{
94+
// Add auth controllers
95+
static::copyFile('app/Models/User.php', app_path('Models/User.php'));
96+
static::copyFile('app/Http/Controllers/HomeController.php', app_path('Http/Controllers/HomeController.php'));
97+
static::copyFile('app/Http/Controllers/LoginController.php', app_path('Http/Controllers/LoginController.php'));
98+
static::copyFile('app/Http/Controllers/RegisterController.php', app_path('Http/Controllers/RegisterController.php'));
99+
static::copyFile('app/Http/Controllers/ChangePassword.php', app_path('Http/Controllers/ChangePassword.php'));
100+
static::copyFile('app/Http/Controllers/ResetPassword.php', app_path('Http/Controllers/ResetPassword.php'));
101+
102+
// Add Auth routes in 'routes/web.php'
103+
file_put_contents(
104+
'./routes/web.php',
105+
"\nuse App\Http\Controllers\HomeController;\nuse App\Http\Controllers\PageController;\nuse App\Http\Controllers\RegisterController;\nuse App\Http\Controllers\LoginController;\nuse App\Http\Controllers\UserProfileController;\nuse App\Http\Controllers\ResetPassword;\nuse App\Http\Controllers\ChangePassword;
106+
\n\nRoute::get('/', function () {return redirect('/dashboard');})->middleware('auth');\n\tRoute::get('/register', [RegisterController::class, 'create'])->middleware('guest')->name('register');\n\tRoute::post('/register', [RegisterController::class, 'store'])->middleware('guest')->name('register.perform');\n\tRoute::get('/login', [LoginController::class, 'show'])->middleware('guest')->name('login');\n\tRoute::post('/login', [LoginController::class, 'login'])->middleware('guest')->name('login.perform');\n\tRoute::get('/reset-password', [ResetPassword::class, 'show'])->middleware('guest')->name('reset-password');\n\tRoute::post('/reset-password', [ResetPassword::class, 'send'])->middleware('guest')->name('reset.perform');\n\tRoute::get('/change-password', [ChangePassword::class, 'show'])->middleware('guest')->name('change-password');\n\tRoute::post('/change-password', [ChangePassword::class, 'update'])->middleware('guest')->name('change.perform');\n\tRoute::get('/dashboard', [HomeController::class, 'index'])->name('home')->middleware('auth');\n",
107+
FILE_APPEND
108+
);
109+
110+
// Copy argon auth views from the stubs folder
111+
static::copyDirectory('resources/views/auth', resource_path('views/auth'));
112+
}
113+
114+
/**
115+
* Copy user management and profile edit files
116+
*
117+
* @return void
118+
*/
119+
public static function addPages()
120+
{
121+
// Add seeder, controllers, requests and rules
122+
// migrations shoudl be deleted
123+
static::copyDirectory('migrations', app_path('../database/migrations'));
124+
static::copyDirectory('database/seeders', app_path('../database/seeders'));
125+
126+
static::copyFile('app/Http/Controllers/PageController.php', app_path('Http/Controllers/PageController.php'));
127+
static::copyFile('app/Http/Controllers/UserProfileController.php', app_path('Http/Controllers/UserProfileController.php'));
128+
129+
static::copyDirectory('app/View', app_path('View'));
130+
static::copyDirectory('app/Notifications', app_path('Notifications'));
131+
132+
// Add routes
133+
file_put_contents(
134+
'./routes/web.php',
135+
"Route::group(['middleware' => 'auth'], function () {\n\tRoute::get('/virtual-reality', [PageController::class, 'vr'])->name('virtual-reality');\n\tRoute::get('/rtl', [PageController::class, 'rtl'])->name('rtl');\n\tRoute::get('/profile', [UserProfileController::class, 'show'])->name('profile');\n\tRoute::post('/profile', [UserProfileController::class, 'update'])->name('profile.update');\n\tRoute::get('/profile-static', [PageController::class, 'profile'])->name('profile-static'); \n\tRoute::get('/sign-in-static', [PageController::class, 'signin'])->name('sign-in-static');\n\tRoute::get('/sign-up-static', [PageController::class, 'signup'])->name('sign-up-static'); \n\tRoute::get('/{page}', [PageController::class, 'index'])->name('page');\n\tRoute::post('logout', [LoginController::class, 'logout'])->name('logout');\n});",
136+
FILE_APPEND
137+
);
138+
139+
// Copy views
140+
static::copyDirectory('resources/views/pages', resource_path('views/pages'));
141+
}
142+
}

src/ArgonPresetServiceProvider.php

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?php
2+
3+
namespace LaravelFrontendPresets\ArgonPreset;
4+
5+
use Illuminate\Support\ServiceProvider;
6+
use Laravel\Ui\UiCommand;
7+
8+
class ArgonPresetServiceProvider extends ServiceProvider
9+
{
10+
/**
11+
* Perform post-registration booting of services.
12+
*
13+
* @return void
14+
*/
15+
public function boot()
16+
{
17+
UiCommand::macro('argon', function ($command) {
18+
ArgonPreset::install();
19+
20+
$command->info('Argon scaffolding installed successfully.');
21+
});
22+
}
23+
24+
/**
25+
* Register any package services.
26+
*
27+
* @return void
28+
*/
29+
public function register()
30+
{
31+
//
32+
}
33+
}

0 commit comments

Comments
 (0)