kaze 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kaze/commands/install_command.rb +3 -1
  3. data/lib/kaze/commands/installs_hotwire_stack.rb +2 -2
  4. data/lib/kaze/commands/installs_inertia_stacks.rb +7 -7
  5. data/lib/kaze/version.rb +1 -1
  6. data/stubs/default/app/mailers/application_mailer.rb +1 -1
  7. data/stubs/default/app/mailers/user_mailer.rb +16 -1
  8. data/stubs/default/app/models/concerns/can_reset_password.rb +1 -1
  9. data/stubs/default/app/models/concerns/must_verify_email.rb +15 -0
  10. data/stubs/default/app/models/user.rb +1 -0
  11. data/stubs/default/app/views/user_mailer/reset_password.html.erb +2 -2
  12. data/stubs/default/app/views/user_mailer/verify_email.html.erb +33 -0
  13. data/stubs/default/config/routes.rb +4 -0
  14. data/stubs/default/db/migrate/20240101000000_create_users.rb +1 -0
  15. data/stubs/default/test/factories/users.rb +5 -0
  16. data/stubs/default/test/integration/auth/authentication_test.rb +4 -6
  17. data/stubs/default/test/integration/auth/email_verification_test.rb +40 -0
  18. data/stubs/default/test/integration/auth/password_reset_test.rb +3 -3
  19. data/stubs/default/test/integration/password_update_test.rb +2 -2
  20. data/stubs/default/test/integration/profile_test.rb +4 -4
  21. data/stubs/hotwire/app/components/modal_component.rb +5 -5
  22. data/stubs/hotwire/app/controllers/auth/authenticated_session_controller.rb +3 -2
  23. data/stubs/hotwire/app/controllers/auth/email_verification_notification_controller.rb +21 -0
  24. data/stubs/hotwire/app/controllers/auth/new_password_controller.rb +2 -2
  25. data/stubs/hotwire/app/controllers/auth/password_reset_link_controller.rb +1 -1
  26. data/stubs/hotwire/app/controllers/auth/registered_user_controller.rb +6 -2
  27. data/stubs/hotwire/app/controllers/auth/verified_email_controller.rb +23 -0
  28. data/stubs/hotwire/app/controllers/concerns/authenticate.rb +10 -0
  29. data/stubs/hotwire/app/controllers/concerns/validate_signature.rb +17 -0
  30. data/stubs/hotwire/app/controllers/password_controller.rb +1 -1
  31. data/stubs/hotwire/app/controllers/profile_controller.rb +2 -2
  32. data/stubs/hotwire/app/views/auth/verify_email.html.erb +23 -0
  33. data/stubs/hotwire/app/views/profile/partials/_delete_user_form.html.erb +1 -1
  34. data/stubs/inertia-common/app/controllers/auth/authenticated_session_controller.rb +3 -3
  35. data/stubs/inertia-common/app/controllers/auth/email_verification_notification_controller.rb +21 -0
  36. data/stubs/inertia-common/app/controllers/auth/new_password_controller.rb +2 -3
  37. data/stubs/inertia-common/app/controllers/auth/password_reset_link_controller.rb +3 -3
  38. data/stubs/inertia-common/app/controllers/auth/registered_user_controller.rb +6 -2
  39. data/stubs/inertia-common/app/controllers/auth/verified_email_controller.rb +23 -0
  40. data/stubs/inertia-common/app/controllers/concerns/authenticate.rb +10 -0
  41. data/stubs/inertia-common/app/controllers/concerns/validate_signature.rb +17 -0
  42. data/stubs/inertia-common/app/controllers/password_controller.rb +1 -1
  43. data/stubs/inertia-common/app/controllers/profile_controller.rb +2 -2
  44. data/stubs/inertia-common/test/integration/password_update_test.rb +2 -2
  45. data/stubs/inertia-common/test/integration/profile_test.rb +4 -4
  46. data/stubs/inertia-react-ts/app/javascript/Components/Checkbox.tsx +1 -4
  47. data/stubs/inertia-react-ts/app/javascript/Components/DangerButton.tsx +3 -5
  48. data/stubs/inertia-react-ts/app/javascript/Components/Dropdown.tsx +4 -25
  49. data/stubs/inertia-react-ts/app/javascript/Components/InputError.tsx +1 -4
  50. data/stubs/inertia-react-ts/app/javascript/Components/InputLabel.tsx +1 -4
  51. data/stubs/inertia-react-ts/app/javascript/Components/NavLink.tsx +3 -5
  52. data/stubs/inertia-react-ts/app/javascript/Components/PrimaryButton.tsx +3 -5
  53. data/stubs/inertia-react-ts/app/javascript/Components/SecondaryButton.tsx +3 -5
  54. data/stubs/inertia-react-ts/app/javascript/Components/TextInput.tsx +1 -7
  55. data/stubs/inertia-react-ts/app/javascript/Layouts/AuthenticatedLayout.tsx +14 -52
  56. data/stubs/inertia-react-ts/app/javascript/Pages/Auth/ForgotPassword.tsx +3 -6
  57. data/stubs/inertia-react-ts/app/javascript/Pages/Auth/Login.tsx +9 -23
  58. data/stubs/inertia-react-ts/app/javascript/Pages/Auth/Register.tsx +1 -4
  59. data/stubs/inertia-react-ts/app/javascript/Pages/Auth/ResetPassword.tsx +1 -4
  60. data/stubs/inertia-react-ts/app/javascript/Pages/Auth/VerifyEmail.tsx +47 -0
  61. data/stubs/inertia-react-ts/app/javascript/Pages/Dashboard.tsx +2 -8
  62. data/stubs/inertia-react-ts/app/javascript/Pages/Profile/Edit.tsx +1 -5
  63. data/stubs/inertia-react-ts/app/javascript/Pages/Profile/Partials/DeleteUserForm.tsx +7 -19
  64. data/stubs/inertia-react-ts/app/javascript/Pages/Profile/Partials/UpdatePasswordForm.tsx +7 -15
  65. data/stubs/inertia-react-ts/app/javascript/Pages/Profile/Partials/UpdateProfileInformationForm.tsx +7 -16
  66. data/stubs/inertia-react-ts/app/javascript/Pages/Welcome.tsx +1 -2
  67. data/stubs/inertia-react-ts/app/javascript/entrypoints/application.tsx +1 -5
  68. data/stubs/inertia-react-ts/config/tailwind.config.js +1 -6
  69. data/stubs/inertia-vue-ts/app/javascript/Components/ApplicationLogo.vue +3 -1
  70. data/stubs/inertia-vue-ts/app/javascript/Components/Dropdown.vue +1 -4
  71. data/stubs/inertia-vue-ts/app/javascript/Components/Modal.vue +3 -13
  72. data/stubs/inertia-vue-ts/app/javascript/Layouts/AuthenticatedLayout.vue +10 -45
  73. data/stubs/inertia-vue-ts/app/javascript/Layouts/GuestLayout.vue +2 -6
  74. data/stubs/inertia-vue-ts/app/javascript/Pages/Auth/ForgotPassword.vue +4 -11
  75. data/stubs/inertia-vue-ts/app/javascript/Pages/Auth/Login.vue +2 -10
  76. data/stubs/inertia-vue-ts/app/javascript/Pages/Auth/Register.vue +1 -5
  77. data/stubs/inertia-vue-ts/app/javascript/Pages/Auth/ResetPassword.vue +1 -4
  78. data/stubs/inertia-vue-ts/app/javascript/Pages/Auth/VerifyEmail.vue +50 -0
  79. data/stubs/inertia-vue-ts/app/javascript/Pages/Dashboard.vue +3 -11
  80. data/stubs/inertia-vue-ts/app/javascript/Pages/Profile/Edit.vue +2 -10
  81. data/stubs/inertia-vue-ts/app/javascript/Pages/Profile/Partials/DeleteUserForm.vue +5 -9
  82. data/stubs/inertia-vue-ts/app/javascript/Pages/Profile/Partials/UpdatePasswordForm.vue +2 -9
  83. data/stubs/inertia-vue-ts/app/javascript/Pages/Profile/Partials/UpdateProfileInformationForm.vue +3 -13
  84. data/stubs/inertia-vue-ts/app/javascript/Pages/Welcome.vue +2 -5
  85. data/stubs/inertia-vue-ts/config/tailwind.config.js +1 -6
  86. 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
- permanently deleted. Before deleting your account, please download any
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
- permanently deleted. Please enter your password to confirm you would
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>
@@ -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.8.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-16 00:00:00.000000000 Z
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