1
0
Fork 0
mirror of https://github.com/mealie-recipes/mealie.git synced 2025-07-24 15:49:42 +02:00

fix: AppButtonCopy errors in tooltip & console (#5612)

Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com>
This commit is contained in:
Arsène Reymond 2025-07-07 09:32:34 +02:00 committed by GitHub
parent 2b4bc8a662
commit 68115cbf2f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2,7 +2,6 @@
<v-tooltip <v-tooltip
ref="copyToolTip" ref="copyToolTip"
v-model="show" v-model="show"
:color="copied? 'success-lighten-1' : 'red-lighten-1'"
top top
:open-on-hover="false" :open-on-hover="false"
:open-on-click="true" :open-on-click="true"
@ -24,15 +23,12 @@
{{ icon ? "" : $t("general.copy") }} {{ icon ? "" : $t("general.copy") }}
</v-btn> </v-btn>
</template> </template>
<span> <span v-if="!isSupported || copiedSuccess !== null">
<v-icon <v-icon start>
start
dark
>
{{ $globals.icons.clipboardCheck }} {{ $globals.icons.clipboardCheck }}
</v-icon> </v-icon>
<slot v-if="!isSupported"> {{ $t("general.your-browser-does-not-support-clipboard") }} </slot> <slot v-if="!isSupported"> {{ $t("general.your-browser-does-not-support-clipboard") }} </slot>
<slot v-else> {{ copied ? $t("general.copied_message") : $t("general.clipboard-copy-failure") }} </slot> <slot v-else> {{ copiedSuccess ? $t("general.copied_message") : $t("general.clipboard-copy-failure") }} </slot>
</span> </span>
</v-tooltip> </v-tooltip>
</template> </template>
@ -63,19 +59,18 @@ export default defineNuxtComponent({
const { copy, copied, isSupported } = useClipboard(); const { copy, copied, isSupported } = useClipboard();
const show = ref(false); const show = ref(false);
const copyToolTip = ref<VTooltip | null>(null); const copyToolTip = ref<VTooltip | null>(null);
const copiedSuccess = ref<boolean | null>(null);
function toggleBlur() {
copyToolTip.value?.deactivate();
}
async function textToClipboard() { async function textToClipboard() {
if (isSupported.value) { if (isSupported.value) {
await copy(props.copyText); await copy(props.copyText);
if (copied.value) { if (copied.value) {
console.log(`Copied\n${props.copyText}`); copiedSuccess.value = true;
console.info(`Copied\n${props.copyText}`);
} }
else { else {
console.warn("Copy failed: ", copied.value); copiedSuccess.value = false;
console.error("Copy failed: ", copied.value);
} }
} }
else { else {
@ -84,8 +79,8 @@ export default defineNuxtComponent({
show.value = true; show.value = true;
setTimeout(() => { setTimeout(() => {
toggleBlur(); show.value = false;
}, 500); }, 3000);
} }
return { return {
@ -94,6 +89,7 @@ export default defineNuxtComponent({
textToClipboard, textToClipboard,
copied, copied,
isSupported, isSupported,
copiedSuccess,
}; };
}, },
}); });