浏览代码

feat: email verify

父节点
当前提交
c91979a7b3

+ 1
- 1
app/Http/Controllers/Auth/EmailVerificationController.php 查看文件

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

+ 1
- 1
app/Http/Controllers/Auth/EmailVerificationNotificationController.php 查看文件

22
 
22
 
23
         $request->user()->sendEmailVerificationNotification();
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 查看文件

16
      */
16
      */
17
     public function __invoke(Request $request)
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 查看文件

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 查看文件

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

+ 390
- 31
public/js/resources_js_pages_auth_VerifyEmail_vue.js 查看文件

1
 "use strict";
1
 "use strict";
2
 (self["webpackChunk"] = self["webpackChunk"] || []).push([["resources_js_pages_auth_VerifyEmail_vue"],{
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
 /***/ "./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":
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
   !*** ./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 ***!
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
   "class": "surface-0 flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden"
248
   "class": "surface-0 flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden"
18
 };
249
 };
19
 var _hoisted_2 = {
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
   style: {
252
   style: {
22
     "min-width": "80%"
253
     "min-width": "80%"
23
   }
254
   }
24
 };
255
 };
25
 var _hoisted_3 = {
256
 var _hoisted_3 = {
257
+  "class": "col-12 xl:col-6"
258
+};
259
+var _hoisted_4 = {
26
   "class": "col-12 xl:col-6",
260
   "class": "col-12 xl:col-6",
27
   style: {
261
   style: {
28
     "border-radius": "56px",
262
     "border-radius": "56px",
30
     "background": "linear-gradient(180deg, var(--primary-color), rgba(33, 150, 243, 0) 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
   "class": "h-full w-full m-0 py-7 px-4",
268
   "class": "h-full w-full m-0 py-7 px-4",
35
   style: {
269
   style: {
36
     "border-radius": "53px",
270
     "border-radius": "53px",
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
   "class": "text-center mb-5 text-600 font-medium"
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
 /* HOISTED */
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
 };
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
 /***/ "./resources/js/pages/auth/VerifyEmail.vue":
379
 /***/ "./resources/js/pages/auth/VerifyEmail.vue":
105
 /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
387
 /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
106
 /* harmony export */ });
388
 /* harmony export */ });
107
 /* 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");
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
 /* hot reload */
398
 /* hot reload */
115
 if (false) {}
399
 if (false) {}
116
 
400
 
117
 
401
 
118
 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);
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
 /***/ "./resources/js/pages/auth/VerifyEmail.vue?vue&type=template&id=40bef7f6":
481
 /***/ "./resources/js/pages/auth/VerifyEmail.vue?vue&type=template&id=40bef7f6":

+ 1
- 1
public/js/vue.js 查看文件

57778
 /******/ 		// This function allow to reference async chunks
57778
 /******/ 		// This function allow to reference async chunks
57779
 /******/ 		__webpack_require__.u = (chunkId) => {
57779
 /******/ 		__webpack_require__.u = (chunkId) => {
57780
 /******/ 			// return url for filenames based on template
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 查看文件

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
 <template>
6
 <template>
4
   <div class="surface-0 flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden">
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
       <div
13
       <div
7
         class="col-12 xl:col-6"
14
         class="col-12 xl:col-6"
8
         style="
15
         style="
16
           style="border-radius: 53px; background: linear-gradient(180deg, var(--surface-50) 38.9%, var(--surface-0))"
23
           style="border-radius: 53px; background: linear-gradient(180deg, var(--surface-50) 38.9%, var(--surface-0))"
17
         >
24
         >
18
           <div class="text-center mb-5 text-600 font-medium">
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
           </div>
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
           </div>
36
           </div>
37
+
38
+          <AppButton label="Sign Out" class="w-full p-3 text-xl p-button-text" method="post" :href="route('logout')" />
30
         </div>
39
         </div>
31
       </div>
40
       </div>
32
     </div>
41
     </div>

+ 1
- 1
routes/web.php 查看文件

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