QC User & Admin Responsive : Menu Kesehatan - Ekonomi

This commit is contained in:
2025-10-03 10:17:06 +08:00
parent 8a6d8ed8db
commit f7fd9be255
55 changed files with 754 additions and 372 deletions

View File

@@ -127,7 +127,9 @@ function ListFasilitasKesehatan({ search }: { search: string }) {
</TableTd>
<TableTd>
<Box w={150}>
{item.tarifdanlayanan?.layanan || '-'}
<Text truncate="end" lineClamp={1}>
{item.tarifdanlayanan?.layanan || '-'}
</Text>
</Box>
</TableTd>
<TableTd>

View File

@@ -140,15 +140,15 @@ function EditInfoWabahPenyakit() {
required
/>
<TextInput
value={formData.deskripsiSingkat}
onChange={(e: ChangeEvent<HTMLInputElement>) =>
updateField('deskripsiSingkat', e.target.value)
}
label="Deskripsi Singkat"
placeholder="Masukkan deskripsi singkat"
required
/>
<Box>
<Text fz="sm" fw="bold">
Deskripsi Singkat
</Text>
<EditEditor
value={formData.deskripsiSingkat}
onChange={(val) => updateField('deskripsiSingkat', val)}
/>
</Box>
<Box>
<Text fz="sm" fw="bold">

View File

@@ -84,7 +84,7 @@ function DetailInfoWabahPenyakit() {
<Box>
<Text fz="lg" fw="bold">Deskripsi Singkat</Text>
<Text fz="md" c="dimmed" style={{ wordBreak: "break-word", whiteSpace: "normal" }}>{data.deskripsiSingkat || '-'}</Text>
<Text fz="md" c="dimmed" style={{ wordBreak: "break-word", whiteSpace: "normal" }} dangerouslySetInnerHTML={{ __html: data.deskripsiSingkat }} />
</Box>
<Box>

View File

@@ -100,15 +100,15 @@ function CreateInfoWabahPenyakit() {
required
/>
<TextInput
defaultValue={infoWabahPenyakitState.create.form.deskripsiSingkat}
onChange={(val) => {
infoWabahPenyakitState.create.form.deskripsiSingkat = val.target.value;
}}
label={<Text fz="sm" fw="bold">Deskripsi Singkat</Text>}
placeholder="Masukkan deskripsi singkat"
required
/>
<Box>
<Text fz="sm" fw="bold">Deskripsi Singkat</Text>
<CreateEditor
value={infoWabahPenyakitState.create.form.deskripsiSingkat}
onChange={(val) => {
infoWabahPenyakitState.create.form.deskripsiSingkat = val;
}}
/>
</Box>
<Box>
<Text fz="sm" fw="bold">Deskripsi</Text>

View File

@@ -33,6 +33,7 @@ function EditKontakDarurat() {
name: '',
deskripsi: '',
imageId: '',
whatsapp: '',
});
const [loading, setLoading] = useState(true);
@@ -49,6 +50,7 @@ function EditKontakDarurat() {
name: data.name || '',
deskripsi: data.deskripsi || '',
imageId: data.imageId || '',
whatsapp: data.whatsapp || '',
});
if (data?.image?.link) setPreviewImage(data.image.link);
}
@@ -124,6 +126,14 @@ function EditKontakDarurat() {
required
/>
<TextInput
value={formData.whatsapp}
onChange={(e) => setFormData(prev => ({ ...prev, whatsapp: e.target.value }))}
label="Whatsapp"
placeholder="Masukkan whatsapp"
required
/>
<Box>
<Text fz="sm" fw="bold">Deskripsi</Text>
<EditEditor

View File

@@ -72,6 +72,11 @@ function DetailKontakDarurat() {
<Text fz="md" c="dimmed">{data.name || '-'}</Text>
</Box>
<Box>
<Text fz="lg" fw="bold">Whatsapp</Text>
<Text fz="md" c="dimmed">{data.whatsapp || '-'}</Text>
</Box>
<Box>
<Text fz="lg" fw="bold">Deskripsi</Text>
<Text

View File

@@ -38,6 +38,7 @@ function CreateKontakDarurat() {
name: '',
deskripsi: '',
imageId: '',
whatsapp: '',
};
setPreviewImage(null);
setFile(null);
@@ -105,6 +106,17 @@ function CreateKontakDarurat() {
required
/>
<TextInput
type='number'
defaultValue={kontakDaruratState.create.form.whatsapp}
onChange={(val) => {
kontakDaruratState.create.form.whatsapp = val.target.value;
}}
label={<Text fz="sm" fw="bold">Whatsapp</Text>}
placeholder="Masukkan whatsapp"
required
/>
<Box>
<Text fz="sm" fw="bold">Deskripsi</Text>
<CreateEditor

View File

@@ -117,7 +117,6 @@ function EditProgramKesehatan() {
<Stack gap="md">
{[
{ label: 'Judul', key: 'name', placeholder: 'Masukkan judul' },
{ label: 'Deskripsi Singkat', key: 'deskripsiSingkat', placeholder: 'Masukkan deskripsi singkat' },
].map((field) => (
<TextInput
key={field.key}
@@ -129,6 +128,16 @@ function EditProgramKesehatan() {
/>
))}
<Box>
<Text fz="sm" fw="bold" mb={6}>
Deskripsi Singkat
</Text>
<EditEditor
value={formData.deskripsiSingkat}
onChange={(val) => handleChange('deskripsiSingkat', val)}
/>
</Box>
<Box>
<Text fz="sm" fw="bold" mb={6}>
Deskripsi

View File

@@ -73,7 +73,7 @@ function DetailProgramKesehatan() {
<Box>
<Text fz="lg" fw="bold">Deskripsi Singkat</Text>
<Text fz="md" c="dimmed" style={{ wordBreak: "break-word", whiteSpace: "normal" }}>{data?.deskripsiSingkat || '-'}</Text>
<Text fz="md" c="dimmed" style={{ wordBreak: "break-word", whiteSpace: "normal" }} dangerouslySetInnerHTML={{ __html: data?.deskripsiSingkat || '-' }} />
</Box>
<Box>

View File

@@ -101,15 +101,17 @@ function CreateProgramKesehatan() {
required
/>
<TextInput
defaultValue={programKesehatanState.create.form.deskripsiSingkat}
onChange={(val) => {
programKesehatanState.create.form.deskripsiSingkat = val.target.value;
}}
label="Deskripsi Singkat"
placeholder="Masukkan deskripsi singkat"
required
/>
<Box>
<Title order={6} mb={6}>
Deskripsi Singkat
</Title>
<CreateEditor
value={programKesehatanState.create.form.deskripsiSingkat}
onChange={(val) => {
programKesehatanState.create.form.deskripsiSingkat = val;
}}
/>
</Box>
<Box>
<Title order={6} mb={6}>