diff --git a/resources/js/Views/Dashboard.jsx b/resources/js/Views/Dashboard.jsx
new file mode 100644
index 000000000..34813b45e
--- /dev/null
+++ b/resources/js/Views/Dashboard.jsx
@@ -0,0 +1,14 @@
+import Page from '../Components/Page.jsx';
+
+export default class Dashboard extends Page {
+ view(vnode) {
+ return (
+
+
{__('Dashboard')}
+
+ This is the dashboard page.
+
+
+ );
+ }
+}
diff --git a/resources/js/Views/LoginPage.jsx b/resources/js/Views/LoginPage.jsx
index e605f283a..1ccd0e4ac 100644
--- a/resources/js/Views/LoginPage.jsx
+++ b/resources/js/Views/LoginPage.jsx
@@ -1,7 +1,7 @@
import '@maicol07/mwc-card';
+import '@maicol07/mwc-layout-grid';
import '@material/mwc-checkbox';
import '@material/mwc-formfield';
-import '@maicol07/mwc-layout-grid';
import '../WebComponents/TextField';
import type {Cash} from 'cash-dom';
@@ -78,8 +78,9 @@ export default class LoginPage extends Page {
} catch (error) {
showSnackbar(Object.values(error.data.errors).join(' '), false);
this.loading.hide();
+ return;
}
- // Inertia.visit(window.route('dashboard'));
+ window.location.href = window.route('dashboard');
}
}
diff --git a/resources/js/Views/index.js b/resources/js/Views/index.js
index ed9707f3c..c7f03c121 100644
--- a/resources/js/Views/index.js
+++ b/resources/js/Views/index.js
@@ -1,4 +1,6 @@
// noinspection JSUnusedGlobalSymbols
+export { default as AdminSetupPage } from './AdminSetupPage.jsx';
+export { default as Dashboard } from './Dashboard.jsx';
export { default as LoginPage } from './LoginPage.jsx';
export { default as SetupPage } from './SetupPage.jsx';
diff --git a/routes/web.php b/routes/web.php
index 9587c1713..15d9cea3a 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -22,20 +22,30 @@ Route::get('/', static function () {
return redirect()->route('setup');
}
+ if (auth()->hasUser()) {
+ return redirect()->route('dashboard');
+ }
+
return redirect()->route('auth.login');
});
-Route::name('auth.')->group(static function () {
- Route::inertia('login', 'LoginPage')
- ->name('login');
- /*Route::inertia('password-request', '')
- ->name('password-request');*/
+Route::inertia('dashboard', 'Dashboard')
+ ->middleware('auth')
+ ->name('dashboard');
- Route::post('login', [AuthController::class, 'authenticate'])
+Route::name('auth.')
+ ->middleware('guest')
+ ->group(static function () {
+ Route::inertia('login', 'LoginPage')
+ ->name('login');
+ /*Route::inertia('password-request', '')
+ ->name('password-request');*/
+
+ Route::post('login', [AuthController::class, 'authenticate'])
->name('authenticate');
- /*Route::post('logout', 'Auth\LoginController@logout')
- ->name('auth.logout');*/
-});
+ /*Route::post('logout', 'Auth\LoginController@logout')
+ ->name('auth.logout');*/
+ });
Route::name('setup.')->group(static function () {
Route::inertia('setup', 'SetupPage', [
@@ -60,8 +70,6 @@ Route::name('setup.')->group(static function () {
->name('admin.save');
});
-
-
Route::get('lang/{language}', static function ($language) {
app()->setLocale($language);