Skip to content

Commit 2fe38d3

Browse files
committed
Added: alert authentication, Fixed: responsive layout
1 parent 74a220f commit 2fe38d3

File tree

9 files changed

+456
-432
lines changed

9 files changed

+456
-432
lines changed

backend/config/cors.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
'allowed_methods' => ['*'],
2121

22-
'allowed_origins' => [env('FRONTEND_URL', 'http://localhost:3000'), 'http://192.168.100.206:5173'],
22+
'allowed_origins' => [env('FRONTEND_URL', 'http://localhost:3000'), 'http://192.168.18.11:5173'],
2323

2424
'allowed_origins_patterns' => [],
2525

frontend/src/components/Router.jsx

Lines changed: 52 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,65 @@ import GeneralFeature from "../pages/GeneralFeature";
66
import Product from "../pages/products/Product";
77
import Login from "../pages/Auth/Login";
88
import Register from "../pages/Auth/Register";
9+
import AuthLayout from "../pages/Layout/AuthLayout";
10+
import MainLayout from "../pages/Layout/MainLayout";
911
export default function Router() {
1012
return (
1113
<Routes>
12-
<Route path="/" element={<Login />} exact />
13-
<Route path="/register" element={<Register />} exact />
14-
<Route path="/dashboard" element={<Dashboard />} exact />
15-
<Route path="/general-feature" element={<GeneralFeature />} exact />
14+
<Route
15+
path="/"
16+
element={
17+
<AuthLayout>
18+
<Login />
19+
</AuthLayout>
20+
}
21+
exact
22+
/>
23+
<Route
24+
path="/register"
25+
element={
26+
<AuthLayout>
27+
<Register />
28+
</AuthLayout>
29+
}
30+
exact
31+
/>
32+
<Route
33+
path="/dashboard"
34+
element={
35+
<MainLayout>
36+
<Dashboard />
37+
</MainLayout>
38+
}
39+
exact
40+
/>
41+
<Route
42+
path="/general-feature"
43+
element={
44+
<MainLayout>
45+
<GeneralFeature />
46+
</MainLayout>
47+
}
48+
exact
49+
/>
1650
<Route
1751
path="/advanced-feature"
18-
element={<AdvancedFeature />}
52+
element={
53+
<MainLayout>
54+
<AdvancedFeature />
55+
</MainLayout>
56+
}
57+
exact
58+
/>
59+
<Route
60+
path="/products"
61+
element={
62+
<MainLayout>
63+
<Product />
64+
</MainLayout>
65+
}
1966
exact
2067
/>
21-
<Route path="/products" element={<Product />} exact />
2268
</Routes>
2369
);
2470
}

frontend/src/pages/AdvancedFeature.jsx

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,31 +9,29 @@ export default function AdvancedFeature() {
99
}, []);
1010

1111
return (
12-
<MainLayout>
13-
<Case>
14-
<div className="section-header px-4 tw-rounded-none tw-shadow-md tw-shadow-gray-200 lg:tw-rounded-lg">
15-
<h1 className="mb-1 tw-text-lg">Advanced Feature</h1>
16-
</div>
12+
<Case>
13+
<div className="section-header px-4 tw-rounded-none tw-shadow-md tw-shadow-gray-200 lg:tw-rounded-lg">
14+
<h1 className="mb-1 tw-text-lg">Advanced Feature</h1>
15+
</div>
1716

18-
<div className="section-body">
19-
<div className="card">
20-
<div className="card-body px-0">
21-
<h3>Tabel Advanced Feature</h3>
22-
<p className="px-4">
23-
Lorem ipsum dolor, sit amet consectetur
24-
adipisicing elit. Tenetur at asperiores earum
25-
officiis reiciendis necessitatibus eos! Nam
26-
harum tempore molestias aliquam, qui excepturi
27-
similique expedita vitae perferendis voluptatum
28-
laudantium vero deleniti laboriosam assumenda
29-
impedit repellendus eum, commodi totam!
30-
Molestiae ducimus placeat totam nesciunt,
31-
perspiciatis dolor mollitia ut saepe cum sunt?
32-
</p>
33-
</div>
17+
<div className="section-body">
18+
<div className="card">
19+
<div className="card-body px-0">
20+
<h3>Tabel Advanced Feature</h3>
21+
<p className="px-4">
22+
Lorem ipsum dolor, sit amet consectetur adipisicing
23+
elit. Tenetur at asperiores earum officiis
24+
reiciendis necessitatibus eos! Nam harum tempore
25+
molestias aliquam, qui excepturi similique expedita
26+
vitae perferendis voluptatum laudantium vero
27+
deleniti laboriosam assumenda impedit repellendus
28+
eum, commodi totam! Molestiae ducimus placeat totam
29+
nesciunt, perspiciatis dolor mollitia ut saepe cum
30+
sunt?
31+
</p>
3432
</div>
3533
</div>
36-
</Case>
37-
</MainLayout>
34+
</div>
35+
</Case>
3836
);
3937
}

frontend/src/pages/Auth/Login.jsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ import Swal from "sweetalert2";
55
import withReactContent from "sweetalert2-react-content";
66

77
import axios from "axios";
8+
import AuthLayout from "../Layout/AuthLayout";
89

9-
export default function Register() {
10+
export default function Login() {
1011
const baseURL = "http://127.0.0.1:8000/api";
1112

1213
const navigate = useNavigate();
@@ -86,7 +87,11 @@ export default function Register() {
8687
}
8788
})
8889
.catch((error) => {
89-
console.error("Error:", error);
90+
MySwal.fire({
91+
title: "Failed!",
92+
text: error.response.data.message,
93+
icon: "error",
94+
});
9095
});
9196
}
9297
};
@@ -98,7 +103,6 @@ export default function Register() {
98103
<div className="card-header">
99104
<h4>Login</h4>
100105
</div>
101-
102106
<div className="card-body">
103107
<form onSubmit={loginHandler}>
104108
<div className="form-group">
@@ -141,7 +145,7 @@ export default function Register() {
141145
<div className="form-group">
142146
<button
143147
type="submit"
144-
className="btn btn-lg btn-block tw-bg-blue-500"
148+
className="btn btn-lg btn-block tw-bg-blue-500 tw-text-white"
145149
>
146150
Login
147151
</button>

frontend/src/pages/Auth/Register.jsx

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import Swal from "sweetalert2";
55
import withReactContent from "sweetalert2-react-content";
66

77
import axios from "axios";
8+
import AuthLayout from "../Layout/AuthLayout";
89

910
export default function Register() {
1011
const baseURL = "http://127.0.0.1:8000/api";
@@ -99,7 +100,20 @@ export default function Register() {
99100
}
100101
})
101102
.catch((error) => {
102-
console.error("Error:", error);
103+
var err = error.response.data;
104+
if (err.email) {
105+
MySwal.fire({
106+
title: "Failed!",
107+
text: err.email,
108+
icon: "error",
109+
});
110+
} else if (err.password) {
111+
MySwal.fire({
112+
title: "Failed!",
113+
text: err.password,
114+
icon: "error",
115+
});
116+
}
103117
});
104118
}
105119
};
@@ -111,7 +125,6 @@ export default function Register() {
111125
<div className="card-header">
112126
<h4>Login</h4>
113127
</div>
114-
115128
<div className="card-body">
116129
<form onSubmit={registerHandler}>
117130
<div className="form-group">
@@ -180,7 +193,7 @@ export default function Register() {
180193
<div className="col-lg-6">
181194
<div className="form-group">
182195
<label htmlFor="password_confirmation">
183-
Confirmation Password
196+
Confirm Password
184197
</label>
185198
<input
186199
type="password"
@@ -210,7 +223,7 @@ export default function Register() {
210223
<div className="form-group">
211224
<button
212225
type="submit"
213-
className="btn btn-lg btn-block tw-bg-blue-500"
226+
className="btn btn-lg btn-block tw-bg-blue-500 tw-text-white"
214227
>
215228
Register
216229
</button>

frontend/src/pages/Dashboard.jsx

Lines changed: 21 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,31 @@
11
import React from "react";
22
import Case from "../components/Case";
3-
import { useEffect } from "react";
4-
import MainLayout from "./Layout/MainLayout";
5-
import { Navigate } from "react-router-dom";
63

74
export default function Dashboard() {
85
return (
9-
<MainLayout>
10-
<Case>
11-
<div className="section-header px-4 tw-rounded-none tw-shadow-md tw-shadow-gray-200 lg:tw-rounded-lg">
12-
<h1 className="mb-1 tw-text-lg">Dashboard</h1>
13-
</div>
6+
<Case>
7+
<div className="section-header px-4 tw-rounded-none tw-shadow-md tw-shadow-gray-200 lg:tw-rounded-lg">
8+
<h1 className="mb-1 tw-text-lg">Dashboard</h1>
9+
</div>
1410

15-
<div className="section-body">
16-
<div className="card">
17-
<div className="card-body px-0">
18-
<h3>Tabel Dashboard</h3>
19-
<p className="px-4">
20-
Lorem ipsum dolor, sit amet consectetur
21-
adipisicing elit. Tenetur at asperiores earum
22-
officiis reiciendis necessitatibus eos! Nam
23-
harum tempore molestias aliquam, qui excepturi
24-
similique expedita vitae perferendis voluptatum
25-
laudantium vero deleniti laboriosam assumenda
26-
impedit repellendus eum, commodi totam!
27-
Molestiae ducimus placeat totam nesciunt,
28-
perspiciatis dolor mollitia ut saepe cum sunt?
29-
</p>
30-
</div>
11+
<div className="section-body">
12+
<div className="card">
13+
<div className="card-body px-0">
14+
<h3>Tabel Dashboard</h3>
15+
<p className="px-4">
16+
Lorem ipsum dolor, sit amet consectetur adipisicing
17+
elit. Tenetur at asperiores earum officiis
18+
reiciendis necessitatibus eos! Nam harum tempore
19+
molestias aliquam, qui excepturi similique expedita
20+
vitae perferendis voluptatum laudantium vero
21+
deleniti laboriosam assumenda impedit repellendus
22+
eum, commodi totam! Molestiae ducimus placeat totam
23+
nesciunt, perspiciatis dolor mollitia ut saepe cum
24+
sunt?
25+
</p>
3126
</div>
3227
</div>
33-
</Case>
34-
</MainLayout>
28+
</div>
29+
</Case>
3530
);
3631
}

0 commit comments

Comments
 (0)