Create & Read Data :
* Menu Desa : Berita & Pengumuman * Kesehatan : Data Kesehatan Warga => Fasilitas Kesehatan
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
'use client'
|
||||
import { RichTextEditor, Link } from '@mantine/tiptap';
|
||||
import { useEditor } from '@tiptap/react';
|
||||
import Highlight from '@tiptap/extension-highlight';
|
||||
import StarterKit from '@tiptap/starter-kit';
|
||||
import Underline from '@tiptap/extension-underline';
|
||||
import TextAlign from '@tiptap/extension-text-align';
|
||||
import Superscript from '@tiptap/extension-superscript';
|
||||
import SubScript from '@tiptap/extension-subscript';
|
||||
|
||||
const content =
|
||||
'<h2 style="text-align: center;">Welcome to Mantine rich text editor</h2><p><code>RichTextEditor</code> component focuses on usability and is designed to be as simple as possible to bring a familiar editing experience to regular users. <code>RichTextEditor</code> is based on <a href="https://tiptap.dev/" rel="noopener noreferrer" target="_blank">Tiptap.dev</a> and supports all of its features:</p><ul><li>General text formatting: <strong>bold</strong>, <em>italic</em>, <u>underline</u>, <s>strike-through</s> </li><li>Headings (h1-h6)</li><li>Sub and super scripts (<sup><sup /></sup> and <sub><sub /></sub> tags)</li><li>Ordered and bullet lists</li><li>Text align </li><li>And all <a href="https://tiptap.dev/extensions" target="_blank" rel="noopener noreferrer">other extensions</a></li></ul>';
|
||||
|
||||
function TextEditor() {
|
||||
const editor = useEditor({
|
||||
extensions: [
|
||||
StarterKit,
|
||||
Underline,
|
||||
Link,
|
||||
Superscript,
|
||||
SubScript,
|
||||
Highlight,
|
||||
TextAlign.configure({ types: ['heading', 'paragraph'] }),
|
||||
],
|
||||
content,
|
||||
});
|
||||
|
||||
return (
|
||||
<RichTextEditor editor={editor}>
|
||||
<RichTextEditor.Toolbar sticky stickyOffset={60}>
|
||||
<RichTextEditor.ControlsGroup>
|
||||
<RichTextEditor.Bold />
|
||||
<RichTextEditor.Italic />
|
||||
<RichTextEditor.Underline />
|
||||
<RichTextEditor.Strikethrough />
|
||||
<RichTextEditor.ClearFormatting />
|
||||
<RichTextEditor.Highlight />
|
||||
<RichTextEditor.Code />
|
||||
</RichTextEditor.ControlsGroup>
|
||||
|
||||
<RichTextEditor.ControlsGroup>
|
||||
<RichTextEditor.H1 />
|
||||
<RichTextEditor.H2 />
|
||||
<RichTextEditor.H3 />
|
||||
<RichTextEditor.H4 />
|
||||
</RichTextEditor.ControlsGroup>
|
||||
|
||||
<RichTextEditor.ControlsGroup>
|
||||
<RichTextEditor.Blockquote />
|
||||
<RichTextEditor.Hr />
|
||||
<RichTextEditor.BulletList />
|
||||
<RichTextEditor.OrderedList />
|
||||
<RichTextEditor.Subscript />
|
||||
<RichTextEditor.Superscript />
|
||||
</RichTextEditor.ControlsGroup>
|
||||
|
||||
<RichTextEditor.ControlsGroup>
|
||||
<RichTextEditor.Link />
|
||||
<RichTextEditor.Unlink />
|
||||
</RichTextEditor.ControlsGroup>
|
||||
|
||||
<RichTextEditor.ControlsGroup>
|
||||
<RichTextEditor.AlignLeft />
|
||||
<RichTextEditor.AlignCenter />
|
||||
<RichTextEditor.AlignJustify />
|
||||
<RichTextEditor.AlignRight />
|
||||
</RichTextEditor.ControlsGroup>
|
||||
|
||||
<RichTextEditor.ControlsGroup>
|
||||
<RichTextEditor.Undo />
|
||||
<RichTextEditor.Redo />
|
||||
</RichTextEditor.ControlsGroup>
|
||||
</RichTextEditor.Toolbar>
|
||||
|
||||
<RichTextEditor.Content />
|
||||
</RichTextEditor>
|
||||
);
|
||||
}
|
||||
export default TextEditor
|
||||
@@ -0,0 +1,12 @@
|
||||
import { Button } from '@mantine/core';
|
||||
import React from 'react';
|
||||
|
||||
function ButtonSubmit() {
|
||||
return (
|
||||
<>
|
||||
<Button onClick={() => {}}>Submit</Button>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export default ButtonSubmit;
|
||||
@@ -0,0 +1,26 @@
|
||||
import { Box, SimpleGrid, Stack, TextInput, Title } from '@mantine/core';
|
||||
import React from 'react';
|
||||
|
||||
function ArtikelKesehatan() {
|
||||
return (
|
||||
<Stack>
|
||||
<SimpleGrid cols={{
|
||||
base: 1, md: 2
|
||||
}}>
|
||||
<Box>
|
||||
<Title order={3}>Artikel Kesehatan</Title>
|
||||
<TextInput
|
||||
label="Jadwal"
|
||||
placeholder='masukkan artikel kesehatan'
|
||||
/>
|
||||
</Box>
|
||||
<Box>
|
||||
<Title order={3}>List Artikel Kesehatan</Title>
|
||||
</Box>
|
||||
</SimpleGrid>
|
||||
</Stack>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
export default ArtikelKesehatan;
|
||||
@@ -0,0 +1,90 @@
|
||||
import stateKesehatan from '@/app/admin/(dashboard)/_state/kesehatan/kesehatan';
|
||||
import colors from '@/con/colors';
|
||||
import { Center, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text } from '@mantine/core';
|
||||
import { useShallowEffect } from '@mantine/hooks';
|
||||
import _ from 'lodash';
|
||||
import { useProxy } from 'valtio/utils';
|
||||
|
||||
function DokterdanTenagaMedisList() {
|
||||
const kesehatanState = useProxy(stateKesehatan.dokterdantenagamedis);
|
||||
|
||||
useShallowEffect(() => {
|
||||
kesehatanState.findMany.load();
|
||||
}, []);
|
||||
|
||||
// Penanganan kasus ketika tidak ada data
|
||||
if (_.isEmpty(kesehatanState.findMany.data)) {
|
||||
return (
|
||||
<Stack>
|
||||
<Table
|
||||
striped
|
||||
highlightOnHover
|
||||
withTableBorder
|
||||
withColumnBorders
|
||||
bg={colors['white-1']}
|
||||
>
|
||||
<TableThead>
|
||||
<TableTr>
|
||||
<TableTh>
|
||||
<Center>Nama</Center>
|
||||
</TableTh>
|
||||
<TableTh>
|
||||
<Center>Specialist</Center>
|
||||
</TableTh>
|
||||
<TableTh >
|
||||
<Center>Jadwal</Center>
|
||||
</TableTh>
|
||||
</TableTr>
|
||||
</TableThead>
|
||||
<TableTbody >
|
||||
<TableTr >
|
||||
<TableTd colSpan={3}>
|
||||
<Center>
|
||||
<Text>Tidak ada data</Text>
|
||||
</Center>
|
||||
</TableTd>
|
||||
</TableTr>
|
||||
</TableTbody>
|
||||
</Table>
|
||||
</Stack>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Stack>
|
||||
<Table
|
||||
|
||||
striped
|
||||
highlightOnHover
|
||||
withTableBorder
|
||||
withColumnBorders
|
||||
bg={colors['white-1']}
|
||||
>
|
||||
<TableThead >
|
||||
<TableTr >
|
||||
<TableTh >
|
||||
<Center>Nama</Center>
|
||||
</TableTh>
|
||||
<TableTh >
|
||||
<Center>Specialist</Center>
|
||||
</TableTh>
|
||||
<TableTh >
|
||||
<Center>Jadwal</Center>
|
||||
</TableTh>
|
||||
</TableTr>
|
||||
</TableThead>
|
||||
<TableTbody >
|
||||
{kesehatanState.findMany.data?.map((item) => (
|
||||
<TableTr key={item.id}>
|
||||
<TableTd ta="center">{item.name}</TableTd>
|
||||
<TableTd ta="center">Specialist {item.specialist}</TableTd>
|
||||
<TableTd ta="center">{item.jadwal}</TableTd>
|
||||
</TableTr>
|
||||
))}
|
||||
</TableTbody>
|
||||
</Table>
|
||||
</Stack>
|
||||
);
|
||||
}
|
||||
|
||||
export default DokterdanTenagaMedisList;
|
||||
@@ -0,0 +1,41 @@
|
||||
import stateKesehatan from '@/app/admin/(dashboard)/_state/kesehatan/kesehatan';
|
||||
import { Box, Button, Text, TextInput } from '@mantine/core';
|
||||
import React from 'react';
|
||||
import { useProxy } from 'valtio/utils';
|
||||
|
||||
function DokterDanTenagaMedis() {
|
||||
const dokterdantenagamedisState = useProxy(stateKesehatan.dokterdantenagamedis)
|
||||
return (
|
||||
<Box>
|
||||
<Text fw={"bold"}>Dokter & Tenaga Medis</Text>
|
||||
<TextInput
|
||||
label="Nama Dokter"
|
||||
placeholder='masukkan nama dokter'
|
||||
onChange={(val) => {
|
||||
dokterdantenagamedisState.create.form.name = val.target.value
|
||||
}}
|
||||
/>
|
||||
<TextInput
|
||||
label="Specialist"
|
||||
placeholder='masukkan specialist'
|
||||
onChange={(val) => {
|
||||
dokterdantenagamedisState.create.form.specialist = val.target.value
|
||||
}}
|
||||
/>
|
||||
<TextInput
|
||||
mb={10}
|
||||
label="Jadwal"
|
||||
placeholder='masukkan jadwal'
|
||||
onChange={(val) => {
|
||||
dokterdantenagamedisState.create.form.jadwal = val.target.value
|
||||
}}
|
||||
/>
|
||||
<Button
|
||||
onClick={() => {
|
||||
dokterdantenagamedisState.create.create()
|
||||
}}>Simpan</Button>
|
||||
</Box>
|
||||
);
|
||||
}
|
||||
|
||||
export default DokterDanTenagaMedis;
|
||||
@@ -0,0 +1,21 @@
|
||||
import { Box, Stack, Text } from '@mantine/core';
|
||||
import React from 'react';
|
||||
import { useProxy } from 'valtio/utils';
|
||||
import stateKesehatan from '@/app/admin/(dashboard)/_state/kesehatan/kesehatan';
|
||||
import { useShallowEffect } from '@mantine/hooks';
|
||||
|
||||
function FasilitasPendukungList() {
|
||||
const fasilitaspendukungState = useProxy(stateKesehatan.fasilitaspendukung)
|
||||
useShallowEffect(() => {
|
||||
fasilitaspendukungState.findMany.load()
|
||||
}, [])
|
||||
return <Stack>
|
||||
{fasilitaspendukungState.findMany.data?.map((item) => (
|
||||
<Box key={item.id}>
|
||||
<Text dangerouslySetInnerHTML={{__html: item.content}}/>
|
||||
</Box>
|
||||
))}
|
||||
</Stack>
|
||||
}
|
||||
|
||||
export default FasilitasPendukungList;
|
||||
@@ -0,0 +1,18 @@
|
||||
import stateKesehatan from '@/app/admin/(dashboard)/_state/kesehatan/kesehatan';
|
||||
import { BeritaEditor } from '@/app/admin/(dashboard)/desa/berita/_com/BeritaEditor';
|
||||
import { Box, Text } from '@mantine/core';
|
||||
import React from 'react';
|
||||
import { useProxy } from 'valtio/utils';
|
||||
|
||||
function FasilitasPendukung() {
|
||||
const fasilitaspendukungState = useProxy(stateKesehatan.fasilitaspendukung)
|
||||
return <Box>
|
||||
<Text fw={"bold"}>Fasilitas Pendukung</Text>
|
||||
<BeritaEditor onSubmit={(val) => {
|
||||
fasilitaspendukungState.create.form.content = val
|
||||
fasilitaspendukungState.create.create()
|
||||
}}/>
|
||||
</Box>
|
||||
}
|
||||
|
||||
export default FasilitasPendukung;
|
||||
@@ -0,0 +1,40 @@
|
||||
'use client'
|
||||
import stateKesehatan from '@/app/admin/(dashboard)/_state/kesehatan/kesehatan';
|
||||
import { Box, Button, Text, TextInput } from '@mantine/core';
|
||||
import React from 'react';
|
||||
import { useProxy } from 'valtio/utils';
|
||||
|
||||
function InformasiUmum() {
|
||||
const infromasiState = useProxy(stateKesehatan)
|
||||
return<Box>
|
||||
<Text fw={"bold"}>Informasi Umum</Text>
|
||||
<TextInput
|
||||
label="Fasilitas"
|
||||
placeholder='masukkan nama fasilitas kesehatan'
|
||||
onChange={(val) => {
|
||||
infromasiState.informasiumum.create.form.fasilitas = val.target.value
|
||||
}}
|
||||
/>
|
||||
<TextInput
|
||||
label="Alamat"
|
||||
placeholder='masukkan alamat'
|
||||
onChange={(val) => {
|
||||
infromasiState.informasiumum.create.form.alamat = val.target.value
|
||||
}}
|
||||
/>
|
||||
<TextInput
|
||||
mb={10}
|
||||
label="Jam Operasional"
|
||||
placeholder='masukkan jam operasional'
|
||||
onChange={(val) => {
|
||||
infromasiState.informasiumum.create.form.jamOperasional = val.target.value
|
||||
}}
|
||||
/>
|
||||
<Button
|
||||
onClick={() => {
|
||||
infromasiState.informasiumum.create.create()
|
||||
}}>Simpan</Button>
|
||||
</Box>
|
||||
}
|
||||
|
||||
export default InformasiUmum;
|
||||
@@ -0,0 +1,24 @@
|
||||
import stateKesehatan from '@/app/admin/(dashboard)/_state/kesehatan/kesehatan';
|
||||
import { Box, Skeleton, Stack, Text } from '@mantine/core';
|
||||
import { useShallowEffect } from '@mantine/hooks';
|
||||
import { useProxy } from 'valtio/utils';
|
||||
|
||||
function LayananUnggulanList() {
|
||||
const layananunggulanstate = useProxy(stateKesehatan.layananunggulan)
|
||||
useShallowEffect(() => {
|
||||
layananunggulanstate.findMany.load()
|
||||
}, [])
|
||||
|
||||
if (!layananunggulanstate.findMany.data) return <Stack>
|
||||
{Array.from({ length: 10 }).map((v, k) => <Skeleton key={k} h={40} />)}
|
||||
</Stack>
|
||||
return <Stack>
|
||||
{layananunggulanstate.findMany.data?.map((item) => (
|
||||
<Box key={item.id}>
|
||||
<Text dangerouslySetInnerHTML={{__html: item.content}}/>
|
||||
</Box>
|
||||
))}
|
||||
</Stack>
|
||||
}
|
||||
|
||||
export default LayananUnggulanList;
|
||||
@@ -0,0 +1,19 @@
|
||||
'use client'
|
||||
import { Box, Text } from '@mantine/core';
|
||||
import { useProxy } from 'valtio/utils';
|
||||
import stateKesehatan from '@/app/admin/(dashboard)/_state/kesehatan/kesehatan';
|
||||
import { BeritaEditor } from '@/app/admin/(dashboard)/desa/berita/_com/BeritaEditor';
|
||||
|
||||
function LayananUnggulan() {
|
||||
const informasiumumState = useProxy(stateKesehatan.layananunggulan)
|
||||
return <Box>
|
||||
<Text fw={"bold"}>Layanan Unggulan</Text>
|
||||
<BeritaEditor onSubmit={(val) => {
|
||||
informasiumumState.create.form.content = val
|
||||
informasiumumState.create.create()
|
||||
}} />
|
||||
</Box>
|
||||
;
|
||||
}
|
||||
|
||||
export default LayananUnggulan;
|
||||
@@ -0,0 +1,91 @@
|
||||
"use client"
|
||||
|
||||
import stateKesehatan from '@/app/admin/(dashboard)/_state/kesehatan/kesehatan';
|
||||
import { Box, SimpleGrid, Skeleton, Stack, Text, Title } from '@mantine/core';
|
||||
import { useShallowEffect } from '@mantine/hooks';
|
||||
import { useProxy } from 'valtio/utils';
|
||||
import DokterdanTenagaMedisList from './dokterdantenagamedis/listData';
|
||||
import DokterDanTenagaMedis from './dokterdantenagamedis/page';
|
||||
import FasilitasPendukungList from './fasilitas_pendukung/listData';
|
||||
import FasilitasPendukung from './fasilitas_pendukung/page';
|
||||
import InformasiUmum from './informasi_umum/page';
|
||||
import LayananUnggulanList from './layanan_unggulan/layananUnggulanList';
|
||||
import LayananUnggulan from './layanan_unggulan/page';
|
||||
import ProsedurPendaftaran from './prosedurpendaftaran/page';
|
||||
import TarifDanLayananList from './tarifdanlayanan/listData';
|
||||
import TarifDanLayanan from './tarifdanlayanan/page';
|
||||
import ListProsedurPendaftaran from './prosedurpendaftaran/listData';
|
||||
|
||||
|
||||
function FasilitasKesehatan() {
|
||||
|
||||
|
||||
|
||||
return (
|
||||
<Stack>
|
||||
<SimpleGrid cols={{
|
||||
base: 1, md: 2
|
||||
}}>
|
||||
<Box>
|
||||
<Stack gap={'xs'}>
|
||||
<Title order={3}>Fasilitas Kesehatan</Title>
|
||||
{/* Informasi Umum */}
|
||||
<InformasiUmum />
|
||||
{/* Layanan Unggulan */}
|
||||
<LayananUnggulan/>
|
||||
{/* Dokter & Tenaga Medis */}
|
||||
<DokterDanTenagaMedis/>
|
||||
{/* Fasilitas Pendukung */}
|
||||
<FasilitasPendukung/>
|
||||
{/* Tarif & Layanan */}
|
||||
<TarifDanLayanan/>
|
||||
{/* Prosedur Pendaftaran */}
|
||||
<ProsedurPendaftaran/>
|
||||
</Stack>
|
||||
</Box>
|
||||
|
||||
<Box>
|
||||
<Stack gap={"xs"}>
|
||||
<Title order={3}>List Fasilitas Kesehatan</Title>
|
||||
<Title order={4}>Informasi Umum</Title>
|
||||
<InformasiUmumList/>
|
||||
<Title order={4}>Layanan Unggulan</Title>
|
||||
<LayananUnggulanList/>
|
||||
<Title order={4}>Dokter & Tenaga Medis</Title>
|
||||
<DokterdanTenagaMedisList/>
|
||||
<Title order={4}>Fasilitas Pendukung</Title>
|
||||
<FasilitasPendukungList/>
|
||||
<Title order={4}>Tarif & Layanan</Title>
|
||||
<TarifDanLayananList/>
|
||||
<Title order={4}>Prosedur Pendaftaran</Title>
|
||||
<ListProsedurPendaftaran/>
|
||||
</Stack>
|
||||
</Box>
|
||||
</SimpleGrid>
|
||||
|
||||
</Stack>
|
||||
);
|
||||
}
|
||||
|
||||
function InformasiUmumList(){
|
||||
const infromasiState = useProxy(stateKesehatan)
|
||||
useShallowEffect(() => {
|
||||
infromasiState.informasiumum.findMany.load()
|
||||
}, [])
|
||||
|
||||
if (!infromasiState.informasiumum.findMany.data) return <Stack>
|
||||
{Array.from({ length: 10 }).map((v, k) => <Skeleton key={k} h={40} />)}
|
||||
</Stack>
|
||||
return <Stack>
|
||||
{infromasiState.informasiumum.findMany.data?.map((item) => (
|
||||
<Box key={item.id}>
|
||||
|
||||
<Text>{item.fasilitas}</Text>
|
||||
<Text>{item.alamat}</Text>
|
||||
<Text>{item.jamOperasional}</Text>
|
||||
</Box>
|
||||
))}
|
||||
</Stack>
|
||||
}
|
||||
|
||||
export default FasilitasKesehatan;
|
||||
@@ -0,0 +1,25 @@
|
||||
import stateKesehatan from '@/app/admin/(dashboard)/_state/kesehatan/kesehatan';
|
||||
import { Box, Skeleton, Stack, Text } from '@mantine/core';
|
||||
import { useShallowEffect } from '@mantine/hooks';
|
||||
import { useProxy } from 'valtio/utils';
|
||||
|
||||
function ListProsedurPendaftaran() {
|
||||
const prosedurpendaftaranState = useProxy(stateKesehatan.prosedurpendaftaran)
|
||||
useShallowEffect(() => {
|
||||
prosedurpendaftaranState.findMany.load()
|
||||
}, [])
|
||||
|
||||
if (!prosedurpendaftaranState.findMany.data)return<Stack>
|
||||
{Array.from({ length: 10 }).map((v, k) => <Skeleton key={k} h={40} />)}
|
||||
</Stack>
|
||||
|
||||
return <Stack>
|
||||
{prosedurpendaftaranState.findMany.data?.map((item) => (
|
||||
<Box key={item.id}>
|
||||
<Text dangerouslySetInnerHTML={{__html: item.content}}/>
|
||||
</Box>
|
||||
))}
|
||||
</Stack>
|
||||
}
|
||||
|
||||
export default ListProsedurPendaftaran;
|
||||
@@ -0,0 +1,18 @@
|
||||
import { Box, Text } from '@mantine/core';
|
||||
import { BeritaEditor } from '@/app/admin/(dashboard)/desa/berita/_com/BeritaEditor';
|
||||
import stateKesehatan from '@/app/admin/(dashboard)/_state/kesehatan/kesehatan';
|
||||
import { useProxy } from 'valtio/utils';
|
||||
|
||||
function ProsedurPendaftaran() {
|
||||
const prosedurpendaftaranState = useProxy(stateKesehatan.prosedurpendaftaran)
|
||||
return <Box>
|
||||
<Text fw={"bold"}>Prosedur Pendaftaran</Text>
|
||||
<BeritaEditor onSubmit={(val) => {
|
||||
prosedurpendaftaranState.create.form.content = val
|
||||
prosedurpendaftaranState.create.create()
|
||||
}} />
|
||||
</Box>
|
||||
|
||||
}
|
||||
|
||||
export default ProsedurPendaftaran;
|
||||
@@ -0,0 +1,82 @@
|
||||
import stateKesehatan from '@/app/admin/(dashboard)/_state/kesehatan/kesehatan';
|
||||
import colors from '@/con/colors';
|
||||
import { Center, Stack, Table, TableTbody, TableTd, TableTh, TableThead, TableTr, Text } from '@mantine/core';
|
||||
import { useShallowEffect } from '@mantine/hooks';
|
||||
import _ from 'lodash';
|
||||
import { useProxy } from 'valtio/utils';
|
||||
|
||||
function TarifDanLayananList() {
|
||||
const tarifdanlayanan = useProxy(stateKesehatan.tarifdanlayanan)
|
||||
useShallowEffect(() => {
|
||||
tarifdanlayanan.findMany.load()
|
||||
}, [])
|
||||
|
||||
if (_.isEmpty(tarifdanlayanan.findMany.data)) {
|
||||
return (
|
||||
<Stack>
|
||||
<Table
|
||||
striped
|
||||
highlightOnHover
|
||||
withTableBorder
|
||||
withColumnBorders
|
||||
bg={colors['white-1']}
|
||||
>
|
||||
<TableThead>
|
||||
<TableTr>
|
||||
<TableTh>
|
||||
<Center>Nama</Center>
|
||||
</TableTh>
|
||||
<TableTh>
|
||||
<Center>Specialist</Center>
|
||||
</TableTh>
|
||||
<TableTh >
|
||||
<Center>Jadwal</Center>
|
||||
</TableTh>
|
||||
</TableTr>
|
||||
</TableThead>
|
||||
<TableTbody >
|
||||
<TableTr >
|
||||
<TableTd colSpan={3}>
|
||||
<Center>
|
||||
<Text>Tidak ada data</Text>
|
||||
</Center>
|
||||
</TableTd>
|
||||
</TableTr>
|
||||
</TableTbody>
|
||||
</Table>
|
||||
</Stack>
|
||||
);
|
||||
}
|
||||
|
||||
return <Stack>
|
||||
<Table
|
||||
suppressHydrationWarning
|
||||
striped
|
||||
highlightOnHover
|
||||
withTableBorder
|
||||
withColumnBorders
|
||||
bg={colors['white-1']}
|
||||
>
|
||||
<TableThead>
|
||||
<TableTr>
|
||||
<TableTh>
|
||||
Layanan
|
||||
</TableTh>
|
||||
<TableTh>
|
||||
Tarif
|
||||
</TableTh>
|
||||
</TableTr>
|
||||
</TableThead>
|
||||
<TableTbody>
|
||||
{tarifdanlayanan.findMany.data?.map((item) => (
|
||||
<TableTr key={item.id}>
|
||||
<TableTd>{item.layanan}</TableTd>
|
||||
<TableTd>Rp.{item.tarif}</TableTd>
|
||||
</TableTr>
|
||||
))}
|
||||
</TableTbody>
|
||||
</Table>
|
||||
</Stack>
|
||||
}
|
||||
|
||||
export default TarifDanLayananList;
|
||||
@@ -0,0 +1,33 @@
|
||||
import { Box, Button, Text, TextInput } from '@mantine/core';
|
||||
import React from 'react';
|
||||
import { useProxy } from 'valtio/utils';
|
||||
import stateKesehatan from '@/app/admin/(dashboard)/_state/kesehatan/kesehatan';
|
||||
|
||||
function TarifDanLayanan() {
|
||||
const tarifdanlayanan = useProxy(stateKesehatan.tarifdanlayanan)
|
||||
return <Box>
|
||||
<Text fw={"bold"}>Tarif & Layanan</Text>
|
||||
<TextInput
|
||||
label="Tarif"
|
||||
placeholder='masukkan tarif'
|
||||
onChange={(val) => {
|
||||
tarifdanlayanan.create.form.tarif = val.target.value
|
||||
}}
|
||||
/>
|
||||
<TextInput
|
||||
mb={10}
|
||||
label="Layanan"
|
||||
placeholder='masukkan layanan'
|
||||
onChange={(val) => {
|
||||
tarifdanlayanan.create.form.layanan = val.target.value
|
||||
}}
|
||||
/>
|
||||
<Button
|
||||
onClick={() => {
|
||||
tarifdanlayanan.create.create()
|
||||
}}
|
||||
>Simpan</Button>
|
||||
</Box>
|
||||
}
|
||||
|
||||
export default TarifDanLayanan;
|
||||
@@ -0,0 +1,26 @@
|
||||
import { Box, SimpleGrid, Stack, TextInput, Title } from '@mantine/core';
|
||||
import React from 'react';
|
||||
|
||||
function JadwalKegiatan() {
|
||||
return (
|
||||
<Stack>
|
||||
<SimpleGrid cols={{
|
||||
base: 1, md: 2
|
||||
}}>
|
||||
<Box>
|
||||
<Title order={3}>Jadwal Kegiatan</Title>
|
||||
<TextInput
|
||||
label="Jadwal"
|
||||
placeholder='masukkan jadwal kegiatan'
|
||||
/>
|
||||
</Box>
|
||||
<Box>
|
||||
<Title order={3}>List Jadwal Kegiatan</Title>
|
||||
</Box>
|
||||
</SimpleGrid>
|
||||
</Stack>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
export default JadwalKegiatan;
|
||||
@@ -1,11 +1,18 @@
|
||||
import React from 'react';
|
||||
import { Stack } from '@mantine/core';
|
||||
import ArtikelKesehatan from './_ui/artikel_kesehatan/page';
|
||||
import FasilitasKesehatan from './_ui/fasilitas_kesehatan/page';
|
||||
import JadwalKegiatan from './_ui/jadwal_kegiatan/page';
|
||||
|
||||
|
||||
function Page() {
|
||||
return (
|
||||
<div>
|
||||
Data Kesehatan Warga
|
||||
</div>
|
||||
<Stack>
|
||||
<FasilitasKesehatan/>
|
||||
<JadwalKegiatan/>
|
||||
<ArtikelKesehatan/>
|
||||
</Stack>
|
||||
);
|
||||
}
|
||||
|
||||
export default Page;
|
||||
//Fasilitas Kesehatan Jadwal Kegiatan Artikel Kesehatan
|
||||
Reference in New Issue
Block a user