mirror of
https://github.com/emailerfacu-spec/minix-front.git
synced 2026-04-17 15:47:31 -03:00
añadido estado de carga en el modificar post
This commit is contained in:
@@ -14,6 +14,7 @@
|
|||||||
import { Tooltip, TooltipProvider } from '@/components/ui/tooltip';
|
import { Tooltip, TooltipProvider } from '@/components/ui/tooltip';
|
||||||
import TooltipTrigger from '@/components/ui/tooltip/tooltip-trigger.svelte';
|
import TooltipTrigger from '@/components/ui/tooltip/tooltip-trigger.svelte';
|
||||||
import TooltipContent from '@/components/ui/tooltip/tooltip-content.svelte';
|
import TooltipContent from '@/components/ui/tooltip/tooltip-content.svelte';
|
||||||
|
import Spinner from '@/components/ui/spinner/spinner.svelte';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
post: Post | null;
|
post: Post | null;
|
||||||
@@ -21,11 +22,21 @@
|
|||||||
}
|
}
|
||||||
let { post = $bindable(), callbackfn }: Props = $props();
|
let { post = $bindable(), callbackfn }: Props = $props();
|
||||||
|
|
||||||
function handleKeydown(e: KeyboardEvent) {
|
let cargando = $state(false);
|
||||||
|
|
||||||
|
async function handleKeydown(e: KeyboardEvent) {
|
||||||
if (e.ctrlKey && e.key === 'Enter') {
|
if (e.ctrlKey && e.key === 'Enter') {
|
||||||
callbackfn(e);
|
cargando = true;
|
||||||
|
await callbackfn(e);
|
||||||
|
cargando = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
async function onsubmit(e: SubmitEvent) {
|
||||||
|
e.preventDefault();
|
||||||
|
cargando = true;
|
||||||
|
await callbackfn(e);
|
||||||
|
cargando = false;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Dialog open={true} onOpenChange={() => (post = null)}>
|
<Dialog open={true} onOpenChange={() => (post = null)}>
|
||||||
@@ -34,11 +45,7 @@
|
|||||||
<DialogTitle>Editar Publicacion</DialogTitle>
|
<DialogTitle>Editar Publicacion</DialogTitle>
|
||||||
</DialogHeader>
|
</DialogHeader>
|
||||||
<DialogDescription>
|
<DialogDescription>
|
||||||
<form
|
<form {onsubmit}>
|
||||||
onsubmit={(e: SubmitEvent) => {
|
|
||||||
callbackfn(e);
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<InputGroup>
|
<InputGroup>
|
||||||
<InputGroupTextarea
|
<InputGroupTextarea
|
||||||
bind:value={post!.content}
|
bind:value={post!.content}
|
||||||
@@ -61,13 +68,19 @@
|
|||||||
<TooltipTrigger>
|
<TooltipTrigger>
|
||||||
<InputGroupButton
|
<InputGroupButton
|
||||||
variant="default"
|
variant="default"
|
||||||
|
disabled={cargando}
|
||||||
type="submit"
|
type="submit"
|
||||||
class="transform rounded-full transition-transform ease-in hover:scale-120"
|
class="transform rounded-full transition-transform ease-in hover:scale-120"
|
||||||
size="xs"
|
size="xs"
|
||||||
>
|
>
|
||||||
<p class="flex items-center gap-1">
|
<p class="flex items-center gap-1">
|
||||||
Modificar
|
{#if cargando}
|
||||||
<ArrowUpIcon class="mt-0.5 h-3.5! w-3.5!" />
|
<Spinner />
|
||||||
|
Cargando...
|
||||||
|
{:else}
|
||||||
|
Modificar
|
||||||
|
<ArrowUpIcon class="mt-0.5 h-3.5! w-3.5!" />
|
||||||
|
{/if}
|
||||||
</p>
|
</p>
|
||||||
</InputGroupButton>
|
</InputGroupButton>
|
||||||
</TooltipTrigger>
|
</TooltipTrigger>
|
||||||
|
|||||||
Reference in New Issue
Block a user