Skip to content

Commit 7160260

Browse files
committed
wip passkeys
1 parent dccc645 commit 7160260

9 files changed

Lines changed: 29 additions & 92 deletions

File tree

demo/app/Models/Passkey.php

Lines changed: 0 additions & 27 deletions
This file was deleted.

demo/app/Sharp/Profile/ProfileSingleShow.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ protected function buildShowFields(FieldsContainer $showFields): void
3030
)
3131
->when(config('demo.enable_passkeys'), fn () => $showFields->addField(
3232
SharpShowEntityListField::make(PasskeyEntity::class)
33+
->setLabel('Passkeys')
3334
));
3435
}
3536

demo/composer.lock

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo/config/passkeys.php

Lines changed: 0 additions & 49 deletions
This file was deleted.

resources/js/Pages/Auth/Login.vue

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,14 @@
1515
import { FormItem } from "@/components/ui/form";
1616
import { Check } from "lucide-vue-next";
1717
import TemplateRenderer from "@/components/TemplateRenderer.vue";
18-
import { onMounted, ref } from "vue";
18+
import { onMounted } from "vue";
1919
import {
2020
startAuthentication,
2121
browserSupportsWebAuthn,
2222
browserSupportsWebAuthnAutofill
2323
} from "@simplewebauthn/browser";
2424
import { api } from "@/api/api";
25+
import { Separator } from "@/components/ui/separator";
2526
2627
const props = defineProps<{
2728
loginIsEmail: boolean,
@@ -149,6 +150,13 @@
149150
{{ __('sharp::pages/auth/login.button') }}
150151
</Button>
151152
<template v-if="config('sharp.auth.passkeys.enabled') && form.supports_passkeys">
153+
<div class="my-3 flex items-center gap-x-6">
154+
<Separator class="flex-1" />
155+
<div class="text-center text-sm text-muted-foreground [text-box:trim-both_ex_alphabetic]">
156+
{{ __('sharp::pages/auth/login.or_label') }}
157+
</div>
158+
<Separator class="flex-1" />
159+
</div>
152160
<Button
153161
type="button"
154162
variant="outline"

resources/js/Pages/Auth/Passkeys/Create.vue

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,13 @@
6060
{{ __('sharp::pages/auth/passkeys.title') }}
6161
</template>
6262

63+
<template #description>
64+
<div class="grid grid-cols-1 gap-y-3" v-html="__('sharp::pages/auth/passkeys.description')">
65+
</div>
66+
</template>
67+
6368
<div class="grid gap-4">
64-
<template v-if="prompt">
65-
<p class="text-sm text-muted-foreground">
66-
{{ __('sharp::pages/auth/passkeys.prompt_version.description') }}
67-
</p>
68-
</template>
69+
6970

7071
<FormItem>
7172
<Label for="name">
@@ -77,6 +78,7 @@
7778
v-model="form.name"
7879
autofocus
7980
/>
81+
<div class="mt-1 text-sm text-muted-foreground">{{ __('sharp::pages/auth/passkeys.name_help_text') }}</div>
8082
<template v-if="form.errors.name">
8183
<FieldError class="mt-2">
8284
{{ form.errors.name }}
@@ -94,7 +96,7 @@
9496
<template v-if="prompt">
9597
<Button
9698
type="button"
97-
variant="ghost"
99+
variant="outline"
98100
class="w-full"
99101
as="a"
100102
:href="route('code16.sharp.home')"

resources/lang/en/pages/auth/login.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@
99
'remember' => 'Remember me',
1010
'button' => 'Login',
1111
'passkey_button' => 'Use passkey',
12+
'or_label' => 'or',
1213
'forgot_password_link' => 'Forgot password?',
1314
];

resources/lang/en/pages/auth/passkeys.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
return [
44
'title' => 'Create a passkey',
55
'name_field' => 'Name',
6+
'description' => '<p>Your device supports passkeys, a password replacement that validates your identity using touch, facial recognition, a device password, or a PIN.</p> <p>Passkeys can be used for sign-in as a simple and secure alternative to your password and two-factor credentials.</p>',
7+
'name_help_text' => 'The passkey name will help you identify it later.',
68
'prompt_version' => [
7-
'description' => 'A passkey is a faster, more secure way to sign in without a password.',
89
'button' => 'Create passkey',
910
'skip_prompt_button' => 'Remind me later',
1011
'never_ask_again_button' => "Don't ask me again in this browser",

resources/lang/fr/pages/auth/passkeys.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<?php
22

33
return [
4-
'title' => 'Créer une clé de sécurité',
4+
'title' => 'Créer une clé d’accès',
55
'name_field' => 'Nom',
66
'prompt_version' => [
7-
'description' => 'Une clé de sécurité est un moyen plus rapide et plus sûr de se connecter sans mot de passe.',
7+
'description' => 'Une clé d’accès est un moyen plus rapide et plus sûr de se connecter sans mot de passe.',
88
'button' => 'Créer une clé',
99
'skip_prompt_button' => 'Plus tard',
1010
'never_ask_again_button' => 'Ne plus me demander sur ce navigateur',

0 commit comments

Comments
 (0)