upd: update data pelayanan surat

Deskripsi
- form pencarian
- detail data pengajuan
- api
- belom selesai submit

NO Issues
This commit is contained in:
2025-12-19 17:27:39 +08:00
parent fda2b0977a
commit ff0413be5a
7 changed files with 1121 additions and 595 deletions

View File

@@ -1,43 +1,38 @@
import { Center, Loader, Overlay, Stack, Text } from "@mantine/core"
import { Center, Loader, Overlay, Stack, Text } from "@mantine/core";
type FullScreenLoadingProps = {
visible: boolean
text?: string
}
visible: boolean;
text?: string;
};
export default function FullScreenLoading({
visible,
text = "Memproses data..."
visible,
text = "Memproses data...",
}: FullScreenLoadingProps) {
if (!visible) return null
if (!visible) return null;
return (
<Overlay
fixed
blur={6}
backgroundOpacity={0.3}
zIndex={10000}
>
<Center h="100%">
<Stack align="center" justify="center">
<Loader size="lg" />
<Text size="sm" c="dimmed">
{text}
</Text>
</Stack>
</Center>
</Overlay>
)
return (
<Overlay fixed blur={6} backgroundOpacity={0.3} zIndex={10000}>
<Center h="100%">
<Stack align="center" justify="center">
<Loader size="lg" />
<Text size="sm" c="dimmed">
{text}
</Text>
</Stack>
</Center>
</Overlay>
);
}
const overlayStyle: React.CSSProperties = {
position: "fixed",
inset: 0,
zIndex: 9999,
backdropFilter: "blur(6px)",
backgroundColor: "rgba(255, 255, 255, 0.6)"
}
position: "fixed",
inset: 0,
zIndex: 9999,
backdropFilter: "blur(6px)",
backgroundColor: "rgba(255, 255, 255, 0.6)",
};
const contentStyle: React.CSSProperties = {
flexDirection: "column"
}
flexDirection: "column",
};

View File

@@ -1,50 +1,43 @@
import { Badge, Button, Card, Center, Stack, Text, Title } from "@mantine/core"
import { IconCheck } from "@tabler/icons-react"
import { Badge, Button, Card, Center, Stack, Text, Title } from "@mantine/core";
import { IconCheck } from "@tabler/icons-react";
type SuccessPengajuanProps = {
noPengajuan: string
onClose?: () => void
}
noPengajuan: string;
onClose?: () => void;
};
export default function SuccessPengajuan({
noPengajuan,
onClose
noPengajuan,
onClose,
}: SuccessPengajuanProps) {
return (
<Center h="100vh">
<Card
shadow="md"
radius="md"
p="xl"
withBorder
maw={520}
w="100%"
>
<Stack align="center" gap="md">
<IconCheck size={56} color="green" />
return (
<Center h="100vh">
<Card shadow="md" radius="md" p="xl" withBorder maw={520} w="100%">
<Stack align="center" gap="md">
<IconCheck size={56} color="green" />
<Title order={3} ta="center">
Pengajuan Berhasil Dibuat
</Title>
<Title order={3} ta="center">
Pengajuan Berhasil Dibuat
</Title>
<Text ta="center" size="sm" c="dimmed">
Pengajuan layanan surat sudah dibuat dengan nomor:
</Text>
<Text ta="center" size="sm" c="dimmed">
Pengajuan layanan surat sudah dibuat dengan nomor:
</Text>
<Badge size="xl" variant="light" color="green">
{noPengajuan}
</Badge>
<Badge size="xl" variant="light" color="green">
{noPengajuan}
</Badge>
<Text ta="center" size="sm">
Nomor ini akan digunakan untuk mengakses dan memantau status
pengajuan surat Anda.
</Text>
<Text ta="center" size="sm">
Nomor ini akan digunakan untuk mengakses dan memantau status
pengajuan surat Anda.
</Text>
<Button fullWidth mt="md" onClick={onClose}>
Selesai
</Button>
</Stack>
</Card>
</Center>
)
<Button fullWidth mt="md" onClick={onClose}>
Selesai
</Button>
</Stack>
</Card>
</Center>
);
}