Browse Source

feat: email verify

Muhammad Iqbal Afandi 3 years ago
parent
commit
c91979a7b3

+ 1
- 1
app/Http/Controllers/Auth/EmailVerificationController.php View File

@@ -17,7 +17,7 @@ class EmailVerificationController extends Controller
17 17
      */
18 18
     public function __invoke(EmailVerificationRequest $request)
19 19
     {
20
-        if ($request->user()->hasVerifiedEmail) {
20
+        if ($request->user()->hasVerifiedEmail()) {
21 21
             return redirect()->intended(RouteServiceProvider::HOME . '?verified=1');
22 22
         }
23 23
 

+ 1
- 1
app/Http/Controllers/Auth/EmailVerificationNotificationController.php View File

@@ -22,6 +22,6 @@ class EmailVerificationNotificationController extends Controller
22 22
 
23 23
         $request->user()->sendEmailVerificationNotification();
24 24
 
25
-        return back()->with('status', __('messages.success.verify_email'));
25
+        return back()->with('status', __('messages.success.email.verify_email'));
26 26
     }
27 27
 }

+ 7
- 3
app/Http/Controllers/Auth/EmailVerificationPromptController.php View File

@@ -16,8 +16,12 @@ class EmailVerificationPromptController extends Controller
16 16
      */
17 17
     public function __invoke(Request $request)
18 18
     {
19
-        return $request->user()->hasVerifiedEmail()
20
-        ? redirect()->intended(RouteServiceProvider::HOME)
21
-        : inertia('Auth/VerifyEmail', ['status' => session('status')]);
19
+        if ($request->user()->hasVerifiedEmail()) {
20
+            return redirect()->intended(RouteServiceProvider::HOME);
21
+        } else {
22
+            $request->user()->sendEmailVerificationNotification();
23
+
24
+            return inertia('auth/VerifyEmail', ['status' => session('status')]);
25
+        }
22 26
     }
23 27
 }

+ 31
- 0
app/Listeners/LogVerifiedUser.php View File

@@ -0,0 +1,31 @@
1
+<?php
2
+
3
+namespace App\Listeners;
4
+
5
+use Illuminate\Auth\Events\Verified;
6
+use Illuminate\Contracts\Queue\ShouldQueue;
7
+use Illuminate\Queue\InteractsWithQueue;
8
+
9
+class LogVerifiedUser
10
+{
11
+    /**
12
+     * Create the event listener.
13
+     *
14
+     * @return void
15
+     */
16
+    public function __construct()
17
+    {
18
+        //
19
+    }
20
+
21
+    /**
22
+     * Handle the event.
23
+     *
24
+     * @param  \Illuminate\Auth\Events\Verified  $event
25
+     * @return void
26
+     */
27
+    public function handle(Verified $event)
28
+    {
29
+        //
30
+    }
31
+}

+ 0
- 1
app/Providers/EventServiceProvider.php View File

@@ -5,7 +5,6 @@ namespace App\Providers;
5 5
 use Illuminate\Auth\Events\Registered;
6 6
 use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
7 7
 use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
8
-use Illuminate\Support\Facades\Event;
9 8
 
10 9
 class EventServiceProvider extends ServiceProvider
11 10
 {

+ 390
- 31
public/js/resources_js_pages_auth_VerifyEmail_vue.js View File

@@ -1,6 +1,237 @@
1 1
 "use strict";
2 2
 (self["webpackChunk"] = self["webpackChunk"] || []).push([["resources_js_pages_auth_VerifyEmail_vue"],{
3 3
 
4
+/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/AppButton.vue?vue&type=script&setup=true&lang=js":
5
+/*!**************************************************************************************************************************************************************************************************************!*\
6
+  !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/AppButton.vue?vue&type=script&setup=true&lang=js ***!
7
+  \**************************************************************************************************************************************************************************************************************/
8
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
9
+
10
+__webpack_require__.r(__webpack_exports__);
11
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
12
+/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
13
+/* harmony export */ });
14
+/* harmony import */ var _inertiajs_inertia_vue3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @inertiajs/inertia-vue3 */ "./node_modules/@inertiajs/inertia-vue3/dist/index.js");
15
+
16
+/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
17
+  props: {
18
+    inertiaLink: {
19
+      type: Boolean,
20
+      "default": true
21
+    },
22
+    icon: String,
23
+    label: String,
24
+    classButton: String
25
+  },
26
+  setup: function setup(__props, _ref) {
27
+    var expose = _ref.expose;
28
+    expose();
29
+    var __returned__ = {
30
+      Link: _inertiajs_inertia_vue3__WEBPACK_IMPORTED_MODULE_0__.Link
31
+    };
32
+    Object.defineProperty(__returned__, '__isScriptSetup', {
33
+      enumerable: false,
34
+      value: true
35
+    });
36
+    return __returned__;
37
+  }
38
+});
39
+
40
+/***/ }),
41
+
42
+/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/AuthSessionSuccess.vue?vue&type=script&setup=true&lang=js":
43
+/*!***********************************************************************************************************************************************************************************************************************!*\
44
+  !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/AuthSessionSuccess.vue?vue&type=script&setup=true&lang=js ***!
45
+  \***********************************************************************************************************************************************************************************************************************/
46
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
47
+
48
+__webpack_require__.r(__webpack_exports__);
49
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
50
+/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
51
+/* harmony export */ });
52
+/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
53
+/* harmony import */ var _inertiajs_inertia_vue3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @inertiajs/inertia-vue3 */ "./node_modules/@inertiajs/inertia-vue3/dist/index.js");
54
+
55
+
56
+/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
57
+  setup: function setup(__props, _ref) {
58
+    var expose = _ref.expose;
59
+    expose();
60
+    var status = (0,vue__WEBPACK_IMPORTED_MODULE_0__.computed)(function () {
61
+      return (0,_inertiajs_inertia_vue3__WEBPACK_IMPORTED_MODULE_1__.usePage)().props.value.status;
62
+    });
63
+    var messageDisplay = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)({});
64
+
65
+    var onClose = function onClose() {
66
+      return messageDisplay.value = {
67
+        display: 'none'
68
+      };
69
+    };
70
+
71
+    (0,vue__WEBPACK_IMPORTED_MODULE_0__.watch)(status, function () {
72
+      messageDisplay.value = {
73
+        display: ''
74
+      };
75
+    }, {
76
+      deep: true
77
+    });
78
+    var __returned__ = {
79
+      status: status,
80
+      messageDisplay: messageDisplay,
81
+      onClose: onClose,
82
+      computed: vue__WEBPACK_IMPORTED_MODULE_0__.computed,
83
+      watch: vue__WEBPACK_IMPORTED_MODULE_0__.watch,
84
+      ref: vue__WEBPACK_IMPORTED_MODULE_0__.ref,
85
+      usePage: _inertiajs_inertia_vue3__WEBPACK_IMPORTED_MODULE_1__.usePage
86
+    };
87
+    Object.defineProperty(__returned__, '__isScriptSetup', {
88
+      enumerable: false,
89
+      value: true
90
+    });
91
+    return __returned__;
92
+  }
93
+});
94
+
95
+/***/ }),
96
+
97
+/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/pages/auth/VerifyEmail.vue?vue&type=script&setup=true&lang=js":
98
+/*!****************************************************************************************************************************************************************************************************************!*\
99
+  !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/pages/auth/VerifyEmail.vue?vue&type=script&setup=true&lang=js ***!
100
+  \****************************************************************************************************************************************************************************************************************/
101
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
102
+
103
+__webpack_require__.r(__webpack_exports__);
104
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
105
+/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
106
+/* harmony export */ });
107
+/* harmony import */ var _components_AppButton_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/components/AppButton.vue */ "./resources/js/components/AppButton.vue");
108
+/* harmony import */ var _components_AuthSessionSuccess_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/AuthSessionSuccess.vue */ "./resources/js/components/AuthSessionSuccess.vue");
109
+
110
+
111
+/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
112
+  setup: function setup(__props, _ref) {
113
+    var expose = _ref.expose;
114
+    expose();
115
+    var __returned__ = {
116
+      AppButton: _components_AppButton_vue__WEBPACK_IMPORTED_MODULE_0__["default"],
117
+      AuthSessionSuccess: _components_AuthSessionSuccess_vue__WEBPACK_IMPORTED_MODULE_1__["default"]
118
+    };
119
+    Object.defineProperty(__returned__, '__isScriptSetup', {
120
+      enumerable: false,
121
+      value: true
122
+    });
123
+    return __returned__;
124
+  }
125
+});
126
+
127
+/***/ }),
128
+
129
+/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/AppButton.vue?vue&type=template&id=c9506d50":
130
+/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
131
+  !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/AppButton.vue?vue&type=template&id=c9506d50 ***!
132
+  \*******************************************************************************************************************************************************************************************************************************************************************************/
133
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
134
+
135
+__webpack_require__.r(__webpack_exports__);
136
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
137
+/* harmony export */   "render": () => (/* binding */ render)
138
+/* harmony export */ });
139
+/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
140
+
141
+var _hoisted_1 = {
142
+  key: 1,
143
+  "class": "p-button-label"
144
+};
145
+var _hoisted_2 = {
146
+  key: 1
147
+};
148
+var _hoisted_3 = {
149
+  key: 1,
150
+  "class": "p-button-label"
151
+};
152
+function render(_ctx, _cache, $props, $setup, $data, $options) {
153
+  var _component_Button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("Button");
154
+
155
+  return $props.inertiaLink ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup["Link"], {
156
+    key: 0,
157
+    "class": "p-button p-component",
158
+    as: "button",
159
+    type: "button"
160
+  }, {
161
+    "default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
162
+      return [$props.icon ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("span", {
163
+        key: 0,
164
+        "class": (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(["p-button-icon p-button-icon-left", $props.icon])
165
+      }, null, 2
166
+      /* CLASS */
167
+      )) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), $props.label ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("span", _hoisted_1, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.label), 1
168
+      /* TEXT */
169
+      )) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true)];
170
+    }),
171
+    _: 1
172
+    /* STABLE */
173
+
174
+  })) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("a", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Button, {
175
+    "class": (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($props.classButton)
176
+  }, {
177
+    "default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
178
+      return [$props.icon ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("span", {
179
+        key: 0,
180
+        "class": (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(["p-button-icon p-button-icon-left", $props.icon])
181
+      }, null, 2
182
+      /* CLASS */
183
+      )) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true), $props.label ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("span", _hoisted_3, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.label), 1
184
+      /* TEXT */
185
+      )) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true)];
186
+    }),
187
+    _: 1
188
+    /* STABLE */
189
+
190
+  }, 8
191
+  /* PROPS */
192
+  , ["class"])]));
193
+}
194
+
195
+/***/ }),
196
+
197
+/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/AuthSessionSuccess.vue?vue&type=template&id=fcda8900":
198
+/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
199
+  !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/AuthSessionSuccess.vue?vue&type=template&id=fcda8900 ***!
200
+  \****************************************************************************************************************************************************************************************************************************************************************************************/
201
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
202
+
203
+__webpack_require__.r(__webpack_exports__);
204
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
205
+/* harmony export */   "render": () => (/* binding */ render)
206
+/* harmony export */ });
207
+/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
208
+
209
+function render(_ctx, _cache, $props, $setup, $data, $options) {
210
+  var _component_Message = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("Message");
211
+
212
+  return $setup.status ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_Message, {
213
+    key: 0,
214
+    severity: "success",
215
+    style: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeStyle)($setup.messageDisplay),
216
+    onClose: _cache[0] || (_cache[0] = function ($event) {
217
+      return $setup.onClose();
218
+    })
219
+  }, {
220
+    "default": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {
221
+      return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($setup.status), 1
222
+      /* TEXT */
223
+      )];
224
+    }),
225
+    _: 1
226
+    /* STABLE */
227
+
228
+  }, 8
229
+  /* PROPS */
230
+  , ["style"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("v-if", true);
231
+}
232
+
233
+/***/ }),
234
+
4 235
 /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/pages/auth/VerifyEmail.vue?vue&type=template&id=40bef7f6":
5 236
 /*!*********************************************************************************************************************************************************************************************************************************************************************************!*\
6 237
   !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/pages/auth/VerifyEmail.vue?vue&type=template&id=40bef7f6 ***!
@@ -17,12 +248,15 @@ var _hoisted_1 = {
17 248
   "class": "surface-0 flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden"
18 249
 };
19 250
 var _hoisted_2 = {
20
-  "class": "grid justify-content-center p-2 lg:p-0",
251
+  "class": "grid flex-column align-items-center p-2 lg:p-0",
21 252
   style: {
22 253
     "min-width": "80%"
23 254
   }
24 255
 };
25 256
 var _hoisted_3 = {
257
+  "class": "col-12 xl:col-6"
258
+};
259
+var _hoisted_4 = {
26 260
   "class": "col-12 xl:col-6",
27 261
   style: {
28 262
     "border-radius": "56px",
@@ -30,7 +264,7 @@ var _hoisted_3 = {
30 264
     "background": "linear-gradient(180deg, var(--primary-color), rgba(33, 150, 243, 0) 30%)"
31 265
   }
32 266
 };
33
-var _hoisted_4 = {
267
+var _hoisted_5 = {
34 268
   "class": "h-full w-full m-0 py-7 px-4",
35 269
   style: {
36 270
     "border-radius": "53px",
@@ -38,37 +272,31 @@ var _hoisted_4 = {
38 272
   }
39 273
 };
40 274
 
41
-var _hoisted_5 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
275
+var _hoisted_6 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
42 276
   "class": "text-center mb-5 text-600 font-medium"
43
-}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", null, "Email Verifikasi"), /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(), /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("br"), /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", null, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", null, "Cek Email anda"), /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(" untuk link Email verifikasi, atau kirim ulang Email verifikasi "), /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", {
44
-  "class": "font-bold"
45
-}, "jika belum ada")])], -1
277
+}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", null, " Email verifikasi telah terkirim ke email Anda yang Anda berikan saat pendaftaran ")], -1
46 278
 /* HOISTED */
47 279
 );
48 280
 
49
-var _hoisted_6 = {
50
-  "class": "w-full md:w-10 mx-auto"
281
+var _hoisted_7 = {
282
+  "class": "flex align-items-center justify-content-between mb-2"
51 283
 };
52
-
53
-var _hoisted_7 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("label", {
54
-  "for": "email",
55
-  "class": "block text-900 text-xl font-medium mb-2"
56
-}, "Email", -1
57
-/* HOISTED */
58
-);
59
-
60
-function render(_ctx, _cache) {
61
-  var _component_InputText = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("InputText");
62
-
63
-  return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_4, [_hoisted_5, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_6, [_hoisted_7, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_InputText, {
64
-    id: "email",
65
-    type: "text",
66
-    "class": "w-full mb-3",
67
-    placeholder: "email",
68
-    style: {
69
-      "padding": "1rem"
70
-    }
71
-  })])])])])]);
284
+function render(_ctx, _cache, $props, $setup, $data, $options) {
285
+  return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AuthSessionSuccess"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, [_hoisted_6, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_7, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
286
+    label: "Kirim ulang email verifikasi",
287
+    "class": "w-full p-3 text-xl",
288
+    method: "post",
289
+    href: _ctx.route('verification.send')
290
+  }, null, 8
291
+  /* PROPS */
292
+  , ["href"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup["AppButton"], {
293
+    label: "Sign Out",
294
+    "class": "w-full p-3 text-xl p-button-text",
295
+    method: "post",
296
+    href: _ctx.route('logout')
297
+  }, null, 8
298
+  /* PROPS */
299
+  , ["href"])])])])]);
72 300
 }
73 301
 
74 302
 /***/ }),
@@ -92,6 +320,60 @@ exports["default"] = (sfc, props) => {
92 320
 };
93 321
 
94 322
 
323
+/***/ }),
324
+
325
+/***/ "./resources/js/components/AppButton.vue":
326
+/*!***********************************************!*\
327
+  !*** ./resources/js/components/AppButton.vue ***!
328
+  \***********************************************/
329
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
330
+
331
+__webpack_require__.r(__webpack_exports__);
332
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
333
+/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
334
+/* harmony export */ });
335
+/* harmony import */ var _AppButton_vue_vue_type_template_id_c9506d50__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppButton.vue?vue&type=template&id=c9506d50 */ "./resources/js/components/AppButton.vue?vue&type=template&id=c9506d50");
336
+/* harmony import */ var _AppButton_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppButton.vue?vue&type=script&setup=true&lang=js */ "./resources/js/components/AppButton.vue?vue&type=script&setup=true&lang=js");
337
+/* harmony import */ var _home_dijitalcode_Projects_bamslaundry_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ "./node_modules/vue-loader/dist/exportHelper.js");
338
+
339
+
340
+
341
+
342
+;
343
+const __exports__ = /*#__PURE__*/(0,_home_dijitalcode_Projects_bamslaundry_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_AppButton_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"], [['render',_AppButton_vue_vue_type_template_id_c9506d50__WEBPACK_IMPORTED_MODULE_0__.render],['__file',"resources/js/components/AppButton.vue"]])
344
+/* hot reload */
345
+if (false) {}
346
+
347
+
348
+/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);
349
+
350
+/***/ }),
351
+
352
+/***/ "./resources/js/components/AuthSessionSuccess.vue":
353
+/*!********************************************************!*\
354
+  !*** ./resources/js/components/AuthSessionSuccess.vue ***!
355
+  \********************************************************/
356
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
357
+
358
+__webpack_require__.r(__webpack_exports__);
359
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
360
+/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
361
+/* harmony export */ });
362
+/* harmony import */ var _AuthSessionSuccess_vue_vue_type_template_id_fcda8900__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AuthSessionSuccess.vue?vue&type=template&id=fcda8900 */ "./resources/js/components/AuthSessionSuccess.vue?vue&type=template&id=fcda8900");
363
+/* harmony import */ var _AuthSessionSuccess_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AuthSessionSuccess.vue?vue&type=script&setup=true&lang=js */ "./resources/js/components/AuthSessionSuccess.vue?vue&type=script&setup=true&lang=js");
364
+/* harmony import */ var _home_dijitalcode_Projects_bamslaundry_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ "./node_modules/vue-loader/dist/exportHelper.js");
365
+
366
+
367
+
368
+
369
+;
370
+const __exports__ = /*#__PURE__*/(0,_home_dijitalcode_Projects_bamslaundry_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_AuthSessionSuccess_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"], [['render',_AuthSessionSuccess_vue_vue_type_template_id_fcda8900__WEBPACK_IMPORTED_MODULE_0__.render],['__file',"resources/js/components/AuthSessionSuccess.vue"]])
371
+/* hot reload */
372
+if (false) {}
373
+
374
+
375
+/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);
376
+
95 377
 /***/ }),
96 378
 
97 379
 /***/ "./resources/js/pages/auth/VerifyEmail.vue":
@@ -105,18 +387,95 @@ __webpack_require__.r(__webpack_exports__);
105 387
 /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
106 388
 /* harmony export */ });
107 389
 /* harmony import */ var _VerifyEmail_vue_vue_type_template_id_40bef7f6__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./VerifyEmail.vue?vue&type=template&id=40bef7f6 */ "./resources/js/pages/auth/VerifyEmail.vue?vue&type=template&id=40bef7f6");
108
-/* harmony import */ var _home_dijitalcode_Projects_bamslaundry_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ "./node_modules/vue-loader/dist/exportHelper.js");
390
+/* harmony import */ var _VerifyEmail_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./VerifyEmail.vue?vue&type=script&setup=true&lang=js */ "./resources/js/pages/auth/VerifyEmail.vue?vue&type=script&setup=true&lang=js");
391
+/* harmony import */ var _home_dijitalcode_Projects_bamslaundry_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ "./node_modules/vue-loader/dist/exportHelper.js");
392
+
393
+
109 394
 
110
-const script = {}
111 395
 
112 396
 ;
113
-const __exports__ = /*#__PURE__*/(0,_home_dijitalcode_Projects_bamslaundry_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_1__["default"])(script, [['render',_VerifyEmail_vue_vue_type_template_id_40bef7f6__WEBPACK_IMPORTED_MODULE_0__.render],['__file',"resources/js/pages/auth/VerifyEmail.vue"]])
397
+const __exports__ = /*#__PURE__*/(0,_home_dijitalcode_Projects_bamslaundry_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_VerifyEmail_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"], [['render',_VerifyEmail_vue_vue_type_template_id_40bef7f6__WEBPACK_IMPORTED_MODULE_0__.render],['__file',"resources/js/pages/auth/VerifyEmail.vue"]])
114 398
 /* hot reload */
115 399
 if (false) {}
116 400
 
117 401
 
118 402
 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);
119 403
 
404
+/***/ }),
405
+
406
+/***/ "./resources/js/components/AppButton.vue?vue&type=script&setup=true&lang=js":
407
+/*!**********************************************************************************!*\
408
+  !*** ./resources/js/components/AppButton.vue?vue&type=script&setup=true&lang=js ***!
409
+  \**********************************************************************************/
410
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
411
+
412
+__webpack_require__.r(__webpack_exports__);
413
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
414
+/* harmony export */   "default": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_AppButton_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__["default"])
415
+/* harmony export */ });
416
+/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_AppButton_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./AppButton.vue?vue&type=script&setup=true&lang=js */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/AppButton.vue?vue&type=script&setup=true&lang=js");
417
+ 
418
+
419
+/***/ }),
420
+
421
+/***/ "./resources/js/components/AuthSessionSuccess.vue?vue&type=script&setup=true&lang=js":
422
+/*!*******************************************************************************************!*\
423
+  !*** ./resources/js/components/AuthSessionSuccess.vue?vue&type=script&setup=true&lang=js ***!
424
+  \*******************************************************************************************/
425
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
426
+
427
+__webpack_require__.r(__webpack_exports__);
428
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
429
+/* harmony export */   "default": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_AuthSessionSuccess_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__["default"])
430
+/* harmony export */ });
431
+/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_AuthSessionSuccess_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./AuthSessionSuccess.vue?vue&type=script&setup=true&lang=js */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/AuthSessionSuccess.vue?vue&type=script&setup=true&lang=js");
432
+ 
433
+
434
+/***/ }),
435
+
436
+/***/ "./resources/js/pages/auth/VerifyEmail.vue?vue&type=script&setup=true&lang=js":
437
+/*!************************************************************************************!*\
438
+  !*** ./resources/js/pages/auth/VerifyEmail.vue?vue&type=script&setup=true&lang=js ***!
439
+  \************************************************************************************/
440
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
441
+
442
+__webpack_require__.r(__webpack_exports__);
443
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
444
+/* harmony export */   "default": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_VerifyEmail_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__["default"])
445
+/* harmony export */ });
446
+/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_VerifyEmail_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./VerifyEmail.vue?vue&type=script&setup=true&lang=js */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/pages/auth/VerifyEmail.vue?vue&type=script&setup=true&lang=js");
447
+ 
448
+
449
+/***/ }),
450
+
451
+/***/ "./resources/js/components/AppButton.vue?vue&type=template&id=c9506d50":
452
+/*!*****************************************************************************!*\
453
+  !*** ./resources/js/components/AppButton.vue?vue&type=template&id=c9506d50 ***!
454
+  \*****************************************************************************/
455
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
456
+
457
+__webpack_require__.r(__webpack_exports__);
458
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
459
+/* harmony export */   "render": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_AppButton_vue_vue_type_template_id_c9506d50__WEBPACK_IMPORTED_MODULE_0__.render)
460
+/* harmony export */ });
461
+/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_AppButton_vue_vue_type_template_id_c9506d50__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./AppButton.vue?vue&type=template&id=c9506d50 */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/AppButton.vue?vue&type=template&id=c9506d50");
462
+
463
+
464
+/***/ }),
465
+
466
+/***/ "./resources/js/components/AuthSessionSuccess.vue?vue&type=template&id=fcda8900":
467
+/*!**************************************************************************************!*\
468
+  !*** ./resources/js/components/AuthSessionSuccess.vue?vue&type=template&id=fcda8900 ***!
469
+  \**************************************************************************************/
470
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
471
+
472
+__webpack_require__.r(__webpack_exports__);
473
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
474
+/* harmony export */   "render": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_AuthSessionSuccess_vue_vue_type_template_id_fcda8900__WEBPACK_IMPORTED_MODULE_0__.render)
475
+/* harmony export */ });
476
+/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_AuthSessionSuccess_vue_vue_type_template_id_fcda8900__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./AuthSessionSuccess.vue?vue&type=template&id=fcda8900 */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/components/AuthSessionSuccess.vue?vue&type=template&id=fcda8900");
477
+
478
+
120 479
 /***/ }),
121 480
 
122 481
 /***/ "./resources/js/pages/auth/VerifyEmail.vue?vue&type=template&id=40bef7f6":

+ 1
- 1
public/js/vue.js View File

@@ -57778,7 +57778,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
57778 57778
 /******/ 		// This function allow to reference async chunks
57779 57779
 /******/ 		__webpack_require__.u = (chunkId) => {
57780 57780
 /******/ 			// return url for filenames based on template
57781
-/******/ 			return "js/" + chunkId + ".js?id=" + {"resources_js_pages_Access_vue":"a18ed856923fae52","resources_js_pages_auth_ForgotPassword_vue":"c9f401672b6f2423","resources_js_pages_auth_Login_vue":"cb0cb153b976d2c1","resources_js_pages_auth_ResetPassword_vue":"1078df5cebf2e3c6","resources_js_pages_auth_VerifyEmail_vue":"2c5cb3cdec6b103a","resources_js_pages_customer_Create_vue":"43d285d678ba8793","resources_js_pages_customer_Edit_vue":"01d10f0dd19b734c","resources_js_pages_customer_Index_vue":"0ca5a813eacb510a","resources_js_pages_customer_TableHeader_js":"71be5afdca048a9c","resources_js_pages_discount_Index_vue":"7a086c011a3cdf92","resources_js_pages_expense_Create_vue":"18c4b47fcb9e103a","resources_js_pages_expense_Index_vue":"d195311d84b82d44","resources_js_pages_expense_Show_vue":"4801bedc7912088f","resources_js_pages_expense_TableHeader_js":"72e3dee74175b1c0","resources_js_pages_laundry_Create_vue":"aae1027a621900d5","resources_js_pages_laundry_Edit_vue":"160898ea138ee162","resources_js_pages_laundry_Index_vue":"29e5e4317fa0862d","resources_js_pages_laundry_TableHeader_js":"494e577855bbcaf6","resources_js_pages_mutation_Report_vue":"d74f6004bddcfdc6","resources_js_pages_mutation_TableHeader_js":"82c2999bd7d098a1","resources_js_pages_outlet_Create_vue":"48bdc532cf3f8c62","resources_js_pages_outlet_Edit_vue":"32338ffd7c28e656","resources_js_pages_outlet_Index_vue":"e1f9a19ae0ffa3df","resources_js_pages_outlet_TableHeader_js":"498bf7e64bc0d0c4","resources_js_pages_product_Create_vue":"4e737e98d38eca28","resources_js_pages_product_Edit_vue":"ddac8c4ce1363cc3","resources_js_pages_product_Index_vue":"ff1e209ae8b6ebbd","resources_js_pages_product_TableHeader_js":"b8eaaa9de25a2322","resources_js_pages_transaction_Create_vue":"bc8669735a72a0ec","resources_js_pages_transaction_Index_vue":"6da809da30371f6f","resources_js_pages_transaction_Report_vue":"eeca91c15c146171","resources_js_pages_transaction_Show_vue":"2087aac76bbbf7f1","resources_js_pages_transaction_TableHeader_js":"ba35ab28bb4ac891","resources_js_pages_user_Create_vue":"1f5759b89d51290b","resources_js_pages_user_Edit_vue":"8e9cac16a201e333","resources_js_pages_user_Index_vue":"e798523892e8e90c","resources_js_pages_user_Show_vue":"e674f453c14893b2","resources_js_pages_user_TableHeader_js":"5653ecbcd70fd235"}[chunkId] + "";
57781
+/******/ 			return "js/" + chunkId + ".js?id=" + {"resources_js_pages_Access_vue":"a18ed856923fae52","resources_js_pages_auth_ForgotPassword_vue":"c9f401672b6f2423","resources_js_pages_auth_Login_vue":"cb0cb153b976d2c1","resources_js_pages_auth_ResetPassword_vue":"1078df5cebf2e3c6","resources_js_pages_auth_VerifyEmail_vue":"a0ee23b849c826b1","resources_js_pages_customer_Create_vue":"43d285d678ba8793","resources_js_pages_customer_Edit_vue":"01d10f0dd19b734c","resources_js_pages_customer_Index_vue":"0ca5a813eacb510a","resources_js_pages_customer_TableHeader_js":"71be5afdca048a9c","resources_js_pages_discount_Index_vue":"7a086c011a3cdf92","resources_js_pages_expense_Create_vue":"18c4b47fcb9e103a","resources_js_pages_expense_Index_vue":"d195311d84b82d44","resources_js_pages_expense_Show_vue":"4801bedc7912088f","resources_js_pages_expense_TableHeader_js":"72e3dee74175b1c0","resources_js_pages_laundry_Create_vue":"aae1027a621900d5","resources_js_pages_laundry_Edit_vue":"160898ea138ee162","resources_js_pages_laundry_Index_vue":"29e5e4317fa0862d","resources_js_pages_laundry_TableHeader_js":"494e577855bbcaf6","resources_js_pages_mutation_Report_vue":"d74f6004bddcfdc6","resources_js_pages_mutation_TableHeader_js":"82c2999bd7d098a1","resources_js_pages_outlet_Create_vue":"48bdc532cf3f8c62","resources_js_pages_outlet_Edit_vue":"32338ffd7c28e656","resources_js_pages_outlet_Index_vue":"e1f9a19ae0ffa3df","resources_js_pages_outlet_TableHeader_js":"498bf7e64bc0d0c4","resources_js_pages_product_Create_vue":"4e737e98d38eca28","resources_js_pages_product_Edit_vue":"ddac8c4ce1363cc3","resources_js_pages_product_Index_vue":"ff1e209ae8b6ebbd","resources_js_pages_product_TableHeader_js":"b8eaaa9de25a2322","resources_js_pages_transaction_Create_vue":"bc8669735a72a0ec","resources_js_pages_transaction_Index_vue":"6da809da30371f6f","resources_js_pages_transaction_Report_vue":"eeca91c15c146171","resources_js_pages_transaction_Show_vue":"2087aac76bbbf7f1","resources_js_pages_transaction_TableHeader_js":"ba35ab28bb4ac891","resources_js_pages_user_Create_vue":"1f5759b89d51290b","resources_js_pages_user_Edit_vue":"8e9cac16a201e333","resources_js_pages_user_Index_vue":"e798523892e8e90c","resources_js_pages_user_Show_vue":"e674f453c14893b2","resources_js_pages_user_TableHeader_js":"5653ecbcd70fd235"}[chunkId] + "";
57782 57782
 /******/ 		};
57783 57783
 /******/ 	})();
57784 57784
 /******/ 	

+ 19
- 10
resources/js/pages/auth/VerifyEmail.vue View File

@@ -1,8 +1,15 @@
1
-<script setup></script>
1
+<script setup>
2
+import AppButton from '@/components/AppButton.vue'
3
+import AuthSessionSuccess from '@/components/AuthSessionSuccess.vue'
4
+</script>
2 5
 
3 6
 <template>
4 7
   <div class="surface-0 flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden">
5
-    <div class="grid justify-content-center p-2 lg:p-0" style="min-width: 80%">
8
+    <div class="grid flex-column align-items-center p-2 lg:p-0" style="min-width: 80%">
9
+      <div class="col-12 xl:col-6">
10
+        <AuthSessionSuccess />
11
+      </div>
12
+
6 13
       <div
7 14
         class="col-12 xl:col-6"
8 15
         style="
@@ -16,17 +23,19 @@
16 23
           style="border-radius: 53px; background: linear-gradient(180deg, var(--surface-50) 38.9%, var(--surface-0))"
17 24
         >
18 25
           <div class="text-center mb-5 text-600 font-medium">
19
-            <span>Email Verifikasi</span> <br />
20
-            <span>
21
-              <span>Cek Email anda</span> untuk link Email verifikasi, atau kirim ulang Email verifikasi
22
-              <span class="font-bold">jika belum ada</span>
23
-            </span>
26
+            <span> Email verifikasi telah terkirim ke email Anda yang Anda berikan saat pendaftaran </span>
24 27
           </div>
25 28
 
26
-          <div class="w-full md:w-10 mx-auto">
27
-            <label for="email" class="block text-900 text-xl font-medium mb-2">Email</label>
28
-            <InputText id="email" type="text" class="w-full mb-3" placeholder="email" style="padding: 1rem" />
29
+          <div class="flex align-items-center justify-content-between mb-2">
30
+            <AppButton
31
+              label="Kirim ulang email verifikasi"
32
+              class="w-full p-3 text-xl"
33
+              method="post"
34
+              :href="route('verification.send')"
35
+            />
29 36
           </div>
37
+
38
+          <AppButton label="Sign Out" class="w-full p-3 text-xl p-button-text" method="post" :href="route('logout')" />
30 39
         </div>
31 40
       </div>
32 41
     </div>

+ 1
- 1
routes/web.php View File

@@ -24,7 +24,7 @@ use Illuminate\Support\Facades\Route;
24 24
 |
25 25
  */
26 26
 
27
-Route::middleware(['auth'])->group(function () {
27
+Route::middleware(['auth', 'verified'])->group(function () {
28 28
     Route::get('/', [TransactionController::class, 'index']);
29 29
 
30 30
     Route::delete('/users/block/{user}', [UserController::class, 'block'])->name('users.block');