Skip to content

Commit 2152c9c

Browse files
authoredApr 5, 2025
Merge pull request #220 from connorabbas/develop
Link and form improvements
2 parents e3d0071 + 1da5507 commit 2152c9c

File tree

11 files changed

+161
-135
lines changed

11 files changed

+161
-135
lines changed
 

‎app/Models/User.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
namespace App\Models;
44

5-
// use Illuminate\Contracts\Auth\MustVerifyEmail;
5+
//use Illuminate\Contracts\Auth\MustVerifyEmail;
66
use Illuminate\Database\Eloquent\Factories\HasFactory;
77
use Illuminate\Foundation\Auth\User as Authenticatable;
88
use Illuminate\Notifications\Notifiable;
99

10-
class User extends Authenticatable
10+
class User extends Authenticatable //implements MustVerifyEmail
1111
{
1212
use HasFactory;
1313
use Notifiable;

‎resources/js/layouts/app/HeaderLayout.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ const toggleMobileUserMenu = (event) => {
7272
</div>
7373
</template>
7474
</Drawer>
75-
<Toast position="top-center" />
75+
<Toast position="bottom-right" />
7676
</Teleport>
7777
<div class="min-h-screen">
7878
<!-- Primary Navigation Menu -->

‎resources/js/layouts/app/SidebarLayout.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ const toggleMobileUserMenu = (event) => {
7070
</div>
7171
</template>
7272
</Drawer>
73-
<Toast position="top-center" />
73+
<Toast position="bottom-right" />
7474
</Teleport>
7575

7676
<!-- Mobile Header -->

‎resources/js/pages/Welcome.vue

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,33 @@ const page = usePage();
3333
</div>
3434
<p class="mt-0 mb-4 text-muted-color leading-normal">
3535
A starter kit using
36-
<a
36+
<Button
37+
class="p-0 no-underline"
38+
variant="link"
39+
as="a"
40+
label="Laravel"
3741
href="https://laravel.com/docs/master"
38-
class="underline text-primary hover:text-color"
39-
>Laravel</a>,
40-
<a
42+
target="_blank"
43+
rel="noopener"
44+
/>,
45+
<Button
46+
class="p-0 no-underline"
47+
variant="link"
48+
as="a"
49+
label="Inertia.js"
4150
href="https://inertiajs.com/"
42-
class="underline text-primary hover:text-color"
43-
>Inertia.js</a>, and
44-
<a
51+
target="_blank"
52+
rel="noopener"
53+
/>, and
54+
<Button
55+
class="p-0 no-underline"
56+
variant="link"
57+
as="a"
58+
label="PrimeVue"
4559
href="https://primevue.org/"
46-
class="underline text-primary hover:text-color"
47-
>PrimeVue</a>.
60+
target="_blank"
61+
rel="noopener"
62+
/>.
4863
</p>
4964
<template v-if="page.props.auth.user">
5065
<InertiaLink :href="route('dashboard')">

‎resources/js/pages/auth/ForgotPassword.vue

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ defineProps({
1111
1212
const emailInput = useTemplateRef('email-input');
1313
14-
const form = useForm({
14+
const forgotPasswordForm = useForm({
1515
email: '',
1616
});
1717
1818
const submit = () => {
19-
form.post(route('password.email'));
19+
forgotPasswordForm.post(route('password.email'));
2020
};
2121
2222
onMounted(() => {
@@ -56,26 +56,26 @@ onMounted(() => {
5656
<InputText
5757
id="email"
5858
ref="email-input"
59-
v-model="form.email"
60-
:invalid="Boolean(form.errors.email)"
59+
v-model="forgotPasswordForm.email"
60+
:invalid="Boolean(forgotPasswordForm.errors.email)"
6161
type="email"
6262
autocomplete="username"
6363
required
6464
fluid
6565
/>
6666
<Message
67-
v-if="form.errors?.email"
67+
v-if="forgotPasswordForm.errors?.email"
6868
severity="error"
6969
variant="simple"
7070
size="small"
7171
>
72-
{{ form.errors?.email }}
72+
{{ forgotPasswordForm.errors?.email }}
7373
</Message>
7474
</div>
7575

7676
<div class="flex justify-end items-center">
7777
<Button
78-
:loading="form.processing"
78+
:loading="forgotPasswordForm.processing"
7979
type="submit"
8080
label="Email Password Reset Link"
8181
/>

‎resources/js/pages/auth/Login.vue

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ defineProps({
1414
1515
const emailInput = useTemplateRef('email-input');
1616
17-
const form = useForm({
17+
const loginForm = useForm({
1818
email: '',
1919
password: '',
2020
remember: false,
2121
});
2222
2323
const submit = () => {
24-
form.post(route('login'), {
25-
onFinish: () => form.reset('password'),
24+
loginForm.post(route('login'), {
25+
onFinish: () => loginForm.reset('password'),
2626
});
2727
};
2828
@@ -57,41 +57,41 @@ onMounted(() => {
5757
<InputText
5858
id="email"
5959
ref="email-input"
60-
v-model="form.email"
61-
:invalid="Boolean(form.errors.email)"
60+
v-model="loginForm.email"
61+
:invalid="Boolean(loginForm.errors.email)"
6262
type="email"
6363
autocomplete="username"
6464
required
6565
fluid
6666
/>
6767
<Message
68-
v-if="form.errors?.email"
68+
v-if="loginForm.errors?.email"
6969
severity="error"
7070
variant="simple"
7171
size="small"
7272
>
73-
{{ form.errors?.email }}
73+
{{ loginForm.errors?.email }}
7474
</Message>
7575
</div>
7676

7777
<div class="flex flex-col gap-2">
7878
<label for="password">Password</label>
7979
<Password
8080
id="password"
81-
v-model="form.password"
82-
:invalid="Boolean(form.errors.password)"
81+
v-model="loginForm.password"
82+
:invalid="Boolean(loginForm.errors.password)"
8383
autocomplete="current-password"
8484
toggleMask
8585
required
8686
fluid
8787
/>
8888
<Message
89-
v-if="form.errors?.password"
89+
v-if="loginForm.errors?.password"
9090
severity="error"
9191
variant="simple"
9292
size="small"
9393
>
94-
{{ form.errors?.password }}
94+
{{ loginForm.errors?.password }}
9595
</Message>
9696
</div>
9797

@@ -100,7 +100,7 @@ onMounted(() => {
100100
<div class="flex items-center">
101101
<Checkbox
102102
id="remember"
103-
v-model="form.remember"
103+
v-model="loginForm.remember"
104104
class="mr-2"
105105
:binary="true"
106106
></Checkbox>
@@ -109,16 +109,19 @@ onMounted(() => {
109109
</div>
110110
</div>
111111

112-
<div class="flex justify-end items-center pt-2">
112+
<div class="flex justify-end items-center gap-4 pt-2">
113113
<InertiaLink
114114
v-if="canResetPassword"
115115
:href="route('password.request')"
116-
class="mr-4 underline text-muted-color hover:text-color"
117116
>
118-
Forgot your password?
117+
<Button
118+
class="p-0"
119+
variant="link"
120+
label="Forgot your password?"
121+
/>
119122
</InertiaLink>
120123
<Button
121-
:loading="form.processing"
124+
:loading="loginForm.processing"
122125
type="submit"
123126
label="Log In"
124127
/>

‎resources/js/pages/auth/Register.vue

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { useTemplateRef, onMounted } from 'vue';
33
import { useForm } from '@inertiajs/vue3';
44
import GuestAuthLayout from '@/layouts/GuestAuthLayout.vue';
55
6-
const form = useForm({
6+
const registerForm = useForm({
77
name: '',
88
email: '',
99
password: '',
@@ -13,8 +13,8 @@ const form = useForm({
1313
const nameInput = useTemplateRef('name-input');
1414
1515
const submit = () => {
16-
form.post(route('register'), {
17-
onFinish: () => form.reset('password', 'password_confirmation'),
16+
registerForm.post(route('register'), {
17+
onFinish: () => registerForm.reset('password', 'password_confirmation'),
1818
});
1919
};
2020
@@ -36,96 +36,97 @@ onMounted(() => {
3636
<InputText
3737
id="name"
3838
ref="name-input"
39-
v-model="form.name"
40-
:invalid="Boolean(form.errors.name)"
39+
v-model="registerForm.name"
40+
:invalid="Boolean(registerForm.errors.name)"
4141
type="text"
4242
autocomplete="name"
4343
required
4444
fluid
4545
/>
4646
<Message
47-
v-if="form.errors?.name"
47+
v-if="registerForm.errors?.name"
4848
severity="error"
4949
variant="simple"
5050
size="small"
5151
>
52-
{{ form.errors?.name }}
52+
{{ registerForm.errors?.name }}
5353
</Message>
5454
</div>
5555

5656
<div class="flex flex-col gap-2">
5757
<label for="email">Email</label>
5858
<InputText
5959
id="email"
60-
v-model="form.email"
61-
:invalid="Boolean(form.errors.email)"
60+
v-model="registerForm.email"
61+
:invalid="Boolean(registerForm.errors.email)"
6262
type="email"
6363
autocomplete="username"
6464
required
6565
fluid
6666
/>
6767
<Message
68-
v-if="form.errors?.email"
68+
v-if="registerForm.errors?.email"
6969
severity="error"
7070
variant="simple"
7171
size="small"
7272
>
73-
{{ form.errors?.email }}
73+
{{ registerForm.errors?.email }}
7474
</Message>
7575
</div>
7676

7777
<div class="flex flex-col gap-2">
7878
<label for="password">Password</label>
7979
<Password
8080
id="password"
81-
v-model="form.password"
82-
:invalid="Boolean(form.errors.password)"
81+
v-model="registerForm.password"
82+
:invalid="Boolean(registerForm.errors.password)"
8383
autocomplete="new-password"
8484
toggleMask
8585
required
8686
fluid
8787
/>
8888
<Message
89-
v-if="form.errors?.password"
89+
v-if="registerForm.errors?.password"
9090
severity="error"
9191
variant="simple"
9292
size="small"
9393
>
94-
{{ form.errors?.password }}
94+
{{ registerForm.errors?.password }}
9595
</Message>
9696
</div>
9797

9898
<div class="flex flex-col gap-2">
9999
<label for="password_confirmation">Confirm Password</label>
100100
<InputText
101101
id="password_confirmation"
102-
v-model="form.password_confirmation"
103-
:invalid="Boolean(form.errors.password_confirmation)"
102+
v-model="registerForm.password_confirmation"
103+
:invalid="Boolean(registerForm.errors.password_confirmation)"
104104
type="password"
105105
autocomplete="new-password"
106106
required
107107
fluid
108108
/>
109109
<Message
110-
v-if="form.errors?.password_confirmation"
110+
v-if="registerForm.errors?.password_confirmation"
111111
severity="error"
112112
variant="simple"
113113
size="small"
114114
>
115-
{{ form.errors?.password_confirmation }}
115+
{{ registerForm.errors?.password_confirmation }}
116116
</Message>
117117
</div>
118118

119-
<div class="flex justify-end items-center pt-2">
120-
<InertiaLink
121-
:href="route('login')"
122-
class="mr-4 underline text-muted-color hover:text-color"
123-
>
124-
Already registered?
119+
<div class="flex justify-end items-center gap-4 pt-2">
120+
<InertiaLink :href="route('login')">
121+
<Button
122+
class="p-0"
123+
variant="link"
124+
label="Already registered?"
125+
/>
125126
</InertiaLink>
126127
<Button
127128
type="submit"
128-
:loading="form.processing"
129+
:loading="registerForm.processing"
129130
label="Register"
130131
/>
131132
</div>

0 commit comments

Comments
 (0)
Failed to load comments.