frontend/components/UserInterface/Button.vue
JustTemmie b3ef59ac48
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful
feat: finish up the profile popup
2025-07-18 13:03:20 +02:00

62 lines
No EOL
1 KiB
Vue

<template>
<button class="button" :class="props.variant + '-button'"
@click="props.callback ? props.callback() : null">
{{ props.text }}
</button>
</template>
<script lang="ts" setup>
const props = defineProps<{
text: string,
callback?: CallableFunction,
variant?: "normal" | "scary" | "neutral" | "stealth",
}>();
</script>
<style scoped>
.button {
cursor: pointer;
background-color: var(--primary-color);
color: var(--text-color);
padding: 0.35em 0.65em;
font-size: 1em;
transition: background-color 0.2s;
border-radius: var(--standard-radius);
text-decoration: none;
display: inline-block;
border: none;
}
.button:hover {
background-color: var(--primary-highlighted-color);
}
.scary-button {
background-color: red;
}
.scary-button:hover {
background-color: red;
}
.neutral-button {
background-color: var(--accent-color);
}
.neutral-button:hover {
background-color: var(--accent-highlighted-color);
}
.stealth-button {
background-color: unset;
}
.stealth-button:hover {
background-color: unset;
}
</style>