piclets / src /lib /components /Auth /SignInButton.svelte
Fraser's picture
add UI options
62fead0
raw
history blame
873 Bytes
<script lang="ts">
import type { HuggingFaceLibs } from '$lib/types';
interface Props {
hfAuth: HuggingFaceLibs | null;
}
let { hfAuth = null }: Props = $props();
async function handleSignIn() {
if (!hfAuth) return;
const url = await hfAuth.oauthLoginUrl({ scopes: ["inference-api"] });
window.location.href = url;
}
</script>
<button
class="signin-button"
onclick={handleSignIn}
disabled={!hfAuth}
>
Sign in with Hugging Face
</button>
<style>
.signin-button {
background: #ff7b7b;
color: #fff;
border: none;
padding: 0.6rem 1.2rem;
border-radius: 6px;
cursor: pointer;
font-size: 1rem;
transition: background-color 0.2s;
}
.signin-button:hover:not(:disabled) {
background: #ff6565;
}
.signin-button:disabled {
opacity: 0.6;
cursor: not-allowed;
}
</style>