kaze 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/kaze/commands/install_command.rb +3 -1
- data/lib/kaze/commands/installs_hotwire_stack.rb +2 -2
- data/lib/kaze/commands/installs_inertia_stacks.rb +7 -7
- data/lib/kaze/version.rb +1 -1
- data/stubs/default/app/mailers/application_mailer.rb +1 -1
- data/stubs/default/app/mailers/user_mailer.rb +16 -1
- data/stubs/default/app/models/concerns/can_reset_password.rb +1 -1
- data/stubs/default/app/models/concerns/must_verify_email.rb +15 -0
- data/stubs/default/app/models/user.rb +1 -0
- data/stubs/default/app/views/user_mailer/reset_password.html.erb +2 -2
- data/stubs/default/app/views/user_mailer/verify_email.html.erb +33 -0
- data/stubs/default/config/routes.rb +4 -0
- data/stubs/default/db/migrate/20240101000000_create_users.rb +1 -0
- data/stubs/default/test/factories/users.rb +5 -0
- data/stubs/default/test/integration/auth/authentication_test.rb +4 -6
- data/stubs/default/test/integration/auth/email_verification_test.rb +40 -0
- data/stubs/default/test/integration/auth/password_reset_test.rb +3 -3
- data/stubs/default/test/integration/password_update_test.rb +2 -2
- data/stubs/default/test/integration/profile_test.rb +4 -4
- data/stubs/hotwire/app/components/modal_component.rb +5 -5
- data/stubs/hotwire/app/controllers/auth/authenticated_session_controller.rb +3 -2
- data/stubs/hotwire/app/controllers/auth/email_verification_notification_controller.rb +21 -0
- data/stubs/hotwire/app/controllers/auth/new_password_controller.rb +2 -2
- data/stubs/hotwire/app/controllers/auth/password_reset_link_controller.rb +1 -1
- data/stubs/hotwire/app/controllers/auth/registered_user_controller.rb +6 -2
- data/stubs/hotwire/app/controllers/auth/verified_email_controller.rb +23 -0
- data/stubs/hotwire/app/controllers/concerns/authenticate.rb +10 -0
- data/stubs/hotwire/app/controllers/concerns/validate_signature.rb +17 -0
- data/stubs/hotwire/app/controllers/password_controller.rb +1 -1
- data/stubs/hotwire/app/controllers/profile_controller.rb +2 -2
- data/stubs/hotwire/app/views/auth/verify_email.html.erb +23 -0
- data/stubs/hotwire/app/views/profile/partials/_delete_user_form.html.erb +1 -1
- data/stubs/inertia-common/app/controllers/auth/authenticated_session_controller.rb +3 -3
- data/stubs/inertia-common/app/controllers/auth/email_verification_notification_controller.rb +21 -0
- data/stubs/inertia-common/app/controllers/auth/new_password_controller.rb +2 -3
- data/stubs/inertia-common/app/controllers/auth/password_reset_link_controller.rb +3 -3
- data/stubs/inertia-common/app/controllers/auth/registered_user_controller.rb +6 -2
- data/stubs/inertia-common/app/controllers/auth/verified_email_controller.rb +23 -0
- data/stubs/inertia-common/app/controllers/concerns/authenticate.rb +10 -0
- data/stubs/inertia-common/app/controllers/concerns/validate_signature.rb +17 -0
- data/stubs/inertia-common/app/controllers/password_controller.rb +1 -1
- data/stubs/inertia-common/app/controllers/profile_controller.rb +2 -2
- data/stubs/inertia-common/test/integration/password_update_test.rb +2 -2
- data/stubs/inertia-common/test/integration/profile_test.rb +4 -4
- data/stubs/inertia-react-ts/app/javascript/Components/Checkbox.tsx +1 -4
- data/stubs/inertia-react-ts/app/javascript/Components/DangerButton.tsx +3 -5
- data/stubs/inertia-react-ts/app/javascript/Components/Dropdown.tsx +4 -25
- data/stubs/inertia-react-ts/app/javascript/Components/InputError.tsx +1 -4
- data/stubs/inertia-react-ts/app/javascript/Components/InputLabel.tsx +1 -4
- data/stubs/inertia-react-ts/app/javascript/Components/NavLink.tsx +3 -5
- data/stubs/inertia-react-ts/app/javascript/Components/PrimaryButton.tsx +3 -5
- data/stubs/inertia-react-ts/app/javascript/Components/SecondaryButton.tsx +3 -5
- data/stubs/inertia-react-ts/app/javascript/Components/TextInput.tsx +1 -7
- data/stubs/inertia-react-ts/app/javascript/Layouts/AuthenticatedLayout.tsx +14 -52
- data/stubs/inertia-react-ts/app/javascript/Pages/Auth/ForgotPassword.tsx +3 -6
- data/stubs/inertia-react-ts/app/javascript/Pages/Auth/Login.tsx +9 -23
- data/stubs/inertia-react-ts/app/javascript/Pages/Auth/Register.tsx +1 -4
- data/stubs/inertia-react-ts/app/javascript/Pages/Auth/ResetPassword.tsx +1 -4
- data/stubs/inertia-react-ts/app/javascript/Pages/Auth/VerifyEmail.tsx +47 -0
- data/stubs/inertia-react-ts/app/javascript/Pages/Dashboard.tsx +2 -8
- data/stubs/inertia-react-ts/app/javascript/Pages/Profile/Edit.tsx +1 -5
- data/stubs/inertia-react-ts/app/javascript/Pages/Profile/Partials/DeleteUserForm.tsx +7 -19
- data/stubs/inertia-react-ts/app/javascript/Pages/Profile/Partials/UpdatePasswordForm.tsx +7 -15
- data/stubs/inertia-react-ts/app/javascript/Pages/Profile/Partials/UpdateProfileInformationForm.tsx +7 -16
- data/stubs/inertia-react-ts/app/javascript/Pages/Welcome.tsx +1 -2
- data/stubs/inertia-react-ts/app/javascript/entrypoints/application.tsx +1 -5
- data/stubs/inertia-react-ts/config/tailwind.config.js +1 -6
- data/stubs/inertia-vue-ts/app/javascript/Components/ApplicationLogo.vue +3 -1
- data/stubs/inertia-vue-ts/app/javascript/Components/Dropdown.vue +1 -4
- data/stubs/inertia-vue-ts/app/javascript/Components/Modal.vue +3 -13
- data/stubs/inertia-vue-ts/app/javascript/Layouts/AuthenticatedLayout.vue +10 -45
- data/stubs/inertia-vue-ts/app/javascript/Layouts/GuestLayout.vue +2 -6
- data/stubs/inertia-vue-ts/app/javascript/Pages/Auth/ForgotPassword.vue +4 -11
- data/stubs/inertia-vue-ts/app/javascript/Pages/Auth/Login.vue +2 -10
- data/stubs/inertia-vue-ts/app/javascript/Pages/Auth/Register.vue +1 -5
- data/stubs/inertia-vue-ts/app/javascript/Pages/Auth/ResetPassword.vue +1 -4
- data/stubs/inertia-vue-ts/app/javascript/Pages/Auth/VerifyEmail.vue +50 -0
- data/stubs/inertia-vue-ts/app/javascript/Pages/Dashboard.vue +3 -11
- data/stubs/inertia-vue-ts/app/javascript/Pages/Profile/Edit.vue +2 -10
- data/stubs/inertia-vue-ts/app/javascript/Pages/Profile/Partials/DeleteUserForm.vue +5 -9
- data/stubs/inertia-vue-ts/app/javascript/Pages/Profile/Partials/UpdatePasswordForm.vue +2 -9
- data/stubs/inertia-vue-ts/app/javascript/Pages/Profile/Partials/UpdateProfileInformationForm.vue +3 -13
- data/stubs/inertia-vue-ts/app/javascript/Pages/Welcome.vue +2 -5
- data/stubs/inertia-vue-ts/config/tailwind.config.js +1 -6
- metadata +14 -2
|
@@ -43,14 +43,11 @@ const closeModal = () => {
|
|
|
43
43
|
<template>
|
|
44
44
|
<section class="space-y-6">
|
|
45
45
|
<header>
|
|
46
|
-
<h2 class="text-lg font-medium text-gray-900 dark:text-gray-100">
|
|
47
|
-
Delete Account
|
|
48
|
-
</h2>
|
|
46
|
+
<h2 class="text-lg font-medium text-gray-900 dark:text-gray-100">Delete Account</h2>
|
|
49
47
|
|
|
50
48
|
<p class="mt-1 text-sm text-gray-600 dark:text-gray-400">
|
|
51
|
-
Once your account is deleted, all of its resources and data will be
|
|
52
|
-
|
|
53
|
-
data or information that you wish to retain.
|
|
49
|
+
Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your
|
|
50
|
+
account, please download any data or information that you wish to retain.
|
|
54
51
|
</p>
|
|
55
52
|
</header>
|
|
56
53
|
|
|
@@ -63,9 +60,8 @@ const closeModal = () => {
|
|
|
63
60
|
</h2>
|
|
64
61
|
|
|
65
62
|
<p class="mt-1 text-sm text-gray-600 dark:text-gray-400">
|
|
66
|
-
Once your account is deleted, all of its resources and data will be
|
|
67
|
-
|
|
68
|
-
like to permanently delete your account.
|
|
63
|
+
Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your
|
|
64
|
+
password to confirm you would like to permanently delete your account.
|
|
69
65
|
</p>
|
|
70
66
|
|
|
71
67
|
<div class="mt-6">
|
|
@@ -39,9 +39,7 @@ const updatePassword = () => {
|
|
|
39
39
|
<template>
|
|
40
40
|
<section>
|
|
41
41
|
<header>
|
|
42
|
-
<h2 class="text-lg font-medium text-gray-900 dark:text-gray-100">
|
|
43
|
-
Update Password
|
|
44
|
-
</h2>
|
|
42
|
+
<h2 class="text-lg font-medium text-gray-900 dark:text-gray-100">Update Password</h2>
|
|
45
43
|
|
|
46
44
|
<p class="mt-1 text-sm text-gray-600 dark:text-gray-400">
|
|
47
45
|
Ensure your account is using a long, random password to stay secure.
|
|
@@ -102,12 +100,7 @@ const updatePassword = () => {
|
|
|
102
100
|
leave-active-class="transition ease-in-out"
|
|
103
101
|
leave-to-class="opacity-0"
|
|
104
102
|
>
|
|
105
|
-
<p
|
|
106
|
-
v-if="form.recentlySuccessful"
|
|
107
|
-
class="text-sm text-gray-600 dark:text-gray-400"
|
|
108
|
-
>
|
|
109
|
-
Saved.
|
|
110
|
-
</p>
|
|
103
|
+
<p v-if="form.recentlySuccessful" class="text-sm text-gray-600 dark:text-gray-400">Saved.</p>
|
|
111
104
|
</Transition>
|
|
112
105
|
</div>
|
|
113
106
|
</form>
|
data/stubs/inertia-vue-ts/app/javascript/Pages/Profile/Partials/UpdateProfileInformationForm.vue
CHANGED
|
@@ -22,19 +22,14 @@ const form = useForm({
|
|
|
22
22
|
<template>
|
|
23
23
|
<section>
|
|
24
24
|
<header>
|
|
25
|
-
<h2 class="text-lg font-medium text-gray-900 dark:text-gray-100">
|
|
26
|
-
Profile Information
|
|
27
|
-
</h2>
|
|
25
|
+
<h2 class="text-lg font-medium text-gray-900 dark:text-gray-100">Profile Information</h2>
|
|
28
26
|
|
|
29
27
|
<p class="mt-1 text-sm text-gray-600 dark:text-gray-400">
|
|
30
28
|
Update your account's profile information and email address.
|
|
31
29
|
</p>
|
|
32
30
|
</header>
|
|
33
31
|
|
|
34
|
-
<form
|
|
35
|
-
@submit.prevent="form.patch(profile_update_path())"
|
|
36
|
-
class="mt-6 space-y-6"
|
|
37
|
-
>
|
|
32
|
+
<form @submit.prevent="form.patch(profile_update_path())" class="mt-6 space-y-6">
|
|
38
33
|
<div>
|
|
39
34
|
<InputLabel for="name" value="Name" />
|
|
40
35
|
|
|
@@ -75,12 +70,7 @@ const form = useForm({
|
|
|
75
70
|
leave-active-class="transition ease-in-out"
|
|
76
71
|
leave-to-class="opacity-0"
|
|
77
72
|
>
|
|
78
|
-
<p
|
|
79
|
-
v-if="form.recentlySuccessful"
|
|
80
|
-
class="text-sm text-gray-600 dark:text-gray-400"
|
|
81
|
-
>
|
|
82
|
-
Saved.
|
|
83
|
-
</p>
|
|
73
|
+
<p v-if="form.recentlySuccessful" class="text-sm text-gray-600 dark:text-gray-400">Saved.</p>
|
|
84
74
|
</Transition>
|
|
85
75
|
</div>
|
|
86
76
|
</form>
|
|
@@ -18,9 +18,7 @@ defineProps<{
|
|
|
18
18
|
font-size: calc(0.9em + 0.5vw);
|
|
19
19
|
"
|
|
20
20
|
>
|
|
21
|
-
<header
|
|
22
|
-
class="absolute top-0 right-0 grid grid-cols-2 items-center gap-2 py-10 lg:grid-cols-3"
|
|
23
|
-
>
|
|
21
|
+
<header class="absolute top-0 right-0 grid grid-cols-2 items-center gap-2 py-10 lg:grid-cols-3">
|
|
24
22
|
<div class="-mx-3 flex flex-1 justify-end">
|
|
25
23
|
<Link
|
|
26
24
|
:href="dashboard_path()"
|
|
@@ -63,8 +61,7 @@ defineProps<{
|
|
|
63
61
|
target="_blank"
|
|
64
62
|
style="
|
|
65
63
|
transition: background 0.25s cubic-bezier(0.33, 1, 0.68, 1);
|
|
66
|
-
filter: drop-shadow(0 20px 13px rgb(0 0 0 / 0.03))
|
|
67
|
-
drop-shadow(0 8px 5px rgb(0 0 0 / 0.08));
|
|
64
|
+
filter: drop-shadow(0 20px 13px rgb(0 0 0 / 0.03)) drop-shadow(0 8px 5px rgb(0 0 0 / 0.08));
|
|
68
65
|
"
|
|
69
66
|
>
|
|
70
67
|
<img
|
|
@@ -3,12 +3,7 @@ import forms from '@tailwindcss/forms'
|
|
|
3
3
|
|
|
4
4
|
/** @type {import('tailwindcss').Config} */
|
|
5
5
|
export default {
|
|
6
|
-
content: [
|
|
7
|
-
'./public/*.html',
|
|
8
|
-
'./app/helpers/**/*.rb',
|
|
9
|
-
'./app/views/**/*',
|
|
10
|
-
'./app/javascript/**/*.vue',
|
|
11
|
-
],
|
|
6
|
+
content: ['./public/*.html', './app/helpers/**/*.rb', './app/views/**/*', './app/javascript/**/*.vue'],
|
|
12
7
|
|
|
13
8
|
theme: {
|
|
14
9
|
extend: {
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kaze
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Cuong Giang
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-06-
|
|
11
|
+
date: 2024-06-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: thor
|
|
@@ -84,6 +84,7 @@ files:
|
|
|
84
84
|
- stubs/default/app/mailers/user_mailer.rb
|
|
85
85
|
- stubs/default/app/models/application_record.rb
|
|
86
86
|
- stubs/default/app/models/concerns/can_reset_password.rb
|
|
87
|
+
- stubs/default/app/models/concerns/must_verify_email.rb
|
|
87
88
|
- stubs/default/app/models/current.rb
|
|
88
89
|
- stubs/default/app/models/session_guard.rb
|
|
89
90
|
- stubs/default/app/models/user.rb
|
|
@@ -94,12 +95,14 @@ files:
|
|
|
94
95
|
- stubs/default/app/views/layouts/mailer.html.erb
|
|
95
96
|
- stubs/default/app/views/layouts/mailer.text.erb
|
|
96
97
|
- stubs/default/app/views/user_mailer/reset_password.html.erb
|
|
98
|
+
- stubs/default/app/views/user_mailer/verify_email.html.erb
|
|
97
99
|
- stubs/default/bin/dev
|
|
98
100
|
- stubs/default/config/routes.rb
|
|
99
101
|
- stubs/default/db/migrate/20240101000000_create_users.rb
|
|
100
102
|
- stubs/default/db/migrate/20240101000001_create_delayed_jobs.rb
|
|
101
103
|
- stubs/default/test/factories/users.rb
|
|
102
104
|
- stubs/default/test/integration/auth/authentication_test.rb
|
|
105
|
+
- stubs/default/test/integration/auth/email_verification_test.rb
|
|
103
106
|
- stubs/default/test/integration/auth/password_reset_test.rb
|
|
104
107
|
- stubs/default/test/integration/auth/registration_test.rb
|
|
105
108
|
- stubs/default/test/integration/password_update_test.rb
|
|
@@ -122,12 +125,15 @@ files:
|
|
|
122
125
|
- stubs/hotwire/app/components/text_input_component.rb
|
|
123
126
|
- stubs/hotwire/app/controllers/application_controller.rb
|
|
124
127
|
- stubs/hotwire/app/controllers/auth/authenticated_session_controller.rb
|
|
128
|
+
- stubs/hotwire/app/controllers/auth/email_verification_notification_controller.rb
|
|
125
129
|
- stubs/hotwire/app/controllers/auth/new_password_controller.rb
|
|
126
130
|
- stubs/hotwire/app/controllers/auth/password_reset_link_controller.rb
|
|
127
131
|
- stubs/hotwire/app/controllers/auth/registered_user_controller.rb
|
|
132
|
+
- stubs/hotwire/app/controllers/auth/verified_email_controller.rb
|
|
128
133
|
- stubs/hotwire/app/controllers/concerns/authenticate.rb
|
|
129
134
|
- stubs/hotwire/app/controllers/concerns/redirect_if_authenticated.rb
|
|
130
135
|
- stubs/hotwire/app/controllers/concerns/set_current_auth.rb
|
|
136
|
+
- stubs/hotwire/app/controllers/concerns/validate_signature.rb
|
|
131
137
|
- stubs/hotwire/app/controllers/dashboard_controller.rb
|
|
132
138
|
- stubs/hotwire/app/controllers/password_controller.rb
|
|
133
139
|
- stubs/hotwire/app/controllers/profile_controller.rb
|
|
@@ -138,6 +144,7 @@ files:
|
|
|
138
144
|
- stubs/hotwire/app/views/auth/login.html.erb
|
|
139
145
|
- stubs/hotwire/app/views/auth/register.html.erb
|
|
140
146
|
- stubs/hotwire/app/views/auth/reset_password.html.erb
|
|
147
|
+
- stubs/hotwire/app/views/auth/verify_email.html.erb
|
|
141
148
|
- stubs/hotwire/app/views/dashboard/index.html.erb
|
|
142
149
|
- stubs/hotwire/app/views/layouts/_navigation.html.erb
|
|
143
150
|
- stubs/hotwire/app/views/layouts/application.html.erb
|
|
@@ -151,13 +158,16 @@ files:
|
|
|
151
158
|
- stubs/hotwire/config/tailwind.config.js
|
|
152
159
|
- stubs/inertia-common/app/controllers/application_controller.rb
|
|
153
160
|
- stubs/inertia-common/app/controllers/auth/authenticated_session_controller.rb
|
|
161
|
+
- stubs/inertia-common/app/controllers/auth/email_verification_notification_controller.rb
|
|
154
162
|
- stubs/inertia-common/app/controllers/auth/new_password_controller.rb
|
|
155
163
|
- stubs/inertia-common/app/controllers/auth/password_reset_link_controller.rb
|
|
156
164
|
- stubs/inertia-common/app/controllers/auth/registered_user_controller.rb
|
|
165
|
+
- stubs/inertia-common/app/controllers/auth/verified_email_controller.rb
|
|
157
166
|
- stubs/inertia-common/app/controllers/concerns/authenticate.rb
|
|
158
167
|
- stubs/inertia-common/app/controllers/concerns/handle_inertia_requests.rb
|
|
159
168
|
- stubs/inertia-common/app/controllers/concerns/redirect_if_authenticated.rb
|
|
160
169
|
- stubs/inertia-common/app/controllers/concerns/set_current_auth.rb
|
|
170
|
+
- stubs/inertia-common/app/controllers/concerns/validate_signature.rb
|
|
161
171
|
- stubs/inertia-common/app/controllers/concerns/verify_csrf_token.rb
|
|
162
172
|
- stubs/inertia-common/app/controllers/dashboard_controller.rb
|
|
163
173
|
- stubs/inertia-common/app/controllers/password_controller.rb
|
|
@@ -185,6 +195,7 @@ files:
|
|
|
185
195
|
- stubs/inertia-react-ts/app/javascript/Pages/Auth/Login.tsx
|
|
186
196
|
- stubs/inertia-react-ts/app/javascript/Pages/Auth/Register.tsx
|
|
187
197
|
- stubs/inertia-react-ts/app/javascript/Pages/Auth/ResetPassword.tsx
|
|
198
|
+
- stubs/inertia-react-ts/app/javascript/Pages/Auth/VerifyEmail.tsx
|
|
188
199
|
- stubs/inertia-react-ts/app/javascript/Pages/Dashboard.tsx
|
|
189
200
|
- stubs/inertia-react-ts/app/javascript/Pages/Profile/Edit.tsx
|
|
190
201
|
- stubs/inertia-react-ts/app/javascript/Pages/Profile/Partials/DeleteUserForm.tsx
|
|
@@ -220,6 +231,7 @@ files:
|
|
|
220
231
|
- stubs/inertia-vue-ts/app/javascript/Pages/Auth/Login.vue
|
|
221
232
|
- stubs/inertia-vue-ts/app/javascript/Pages/Auth/Register.vue
|
|
222
233
|
- stubs/inertia-vue-ts/app/javascript/Pages/Auth/ResetPassword.vue
|
|
234
|
+
- stubs/inertia-vue-ts/app/javascript/Pages/Auth/VerifyEmail.vue
|
|
223
235
|
- stubs/inertia-vue-ts/app/javascript/Pages/Dashboard.vue
|
|
224
236
|
- stubs/inertia-vue-ts/app/javascript/Pages/Profile/Edit.vue
|
|
225
237
|
- stubs/inertia-vue-ts/app/javascript/Pages/Profile/Partials/DeleteUserForm.vue
|