QC Job
# fix - Create dan edit - Bagikam WA - Loading ## No isssue
This commit is contained in:
@@ -35,6 +35,7 @@ import { ComponentGlobal_NotifikasiPeringatan } from "@/app_modules/component_gl
|
||||
import { Job_EditById } from "../fun/edit/fun_edit_by_id";
|
||||
import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/component_global/notif_global/notifikasi_gagal";
|
||||
import dynamic from "next/dynamic";
|
||||
import ComponentGlobal_InputCountDown from "@/app_modules/component_global/input_countdown";
|
||||
const ReactQuill = dynamic(
|
||||
() => {
|
||||
return import("react-quill");
|
||||
@@ -90,70 +91,7 @@ export default function Job_Edit({ dataJob }: { dataJob: MODEL_JOB }) {
|
||||
</Text>
|
||||
</Stack>
|
||||
</Paper>
|
||||
)
|
||||
|
||||
// <Box>
|
||||
// {value.imagesId ? (
|
||||
// <Image
|
||||
// height={300}
|
||||
// width={200}
|
||||
// alt="Foto"
|
||||
// src={RouterJob.api_gambar + value.imagesId}
|
||||
// />
|
||||
// ) : (
|
||||
// <Box>
|
||||
// {maxFile ? (
|
||||
// <Paper
|
||||
// h={300}
|
||||
// w={200}
|
||||
// withBorder
|
||||
// shadow="lg"
|
||||
// bg={"gray.1"}
|
||||
// >
|
||||
// <Stack justify="center" align="center" h={"100%"}>
|
||||
// <IconXboxX color="#ed5858" size={50} />
|
||||
// <Text
|
||||
// fz={10}
|
||||
// fs={"italic"}
|
||||
// c={"red.5"}
|
||||
// w={150}
|
||||
// fw={"bold"}
|
||||
// >
|
||||
// Maaf, Ukuran file terlalu besar, maximum 10mb
|
||||
// </Text>
|
||||
// </Stack>
|
||||
// </Paper>
|
||||
// ) : (
|
||||
// <Box>
|
||||
// {images ? (
|
||||
// <Image alt="" src={images} mah={300} maw={200} />
|
||||
// ) : (
|
||||
// <Paper
|
||||
// h={300}
|
||||
// w={200}
|
||||
// withBorder
|
||||
// shadow="lg"
|
||||
// bg={"gray.1"}
|
||||
// >
|
||||
// <Stack justify="center" align="center" h={"100%"}>
|
||||
// <IconUpload color="gray" />
|
||||
// <Text
|
||||
// fz={10}
|
||||
// fs={"italic"}
|
||||
// c={"gray"}
|
||||
// fw={"bold"}
|
||||
// >
|
||||
// Upload Gambar
|
||||
// </Text>
|
||||
// </Stack>
|
||||
// </Paper>
|
||||
// )}
|
||||
// </Box>
|
||||
// )}
|
||||
// </Box>
|
||||
// )}
|
||||
// </Box>
|
||||
}
|
||||
)}
|
||||
|
||||
<FileButton
|
||||
onChange={async (files: any | null) => {
|
||||
@@ -162,16 +100,16 @@ export default function Job_Edit({ dataJob }: { dataJob: MODEL_JOB }) {
|
||||
new Blob([new Uint8Array(await files.arrayBuffer())])
|
||||
);
|
||||
|
||||
if (files.size > 20000) {
|
||||
if (files.size > 200000) {
|
||||
// setMaxFile(true);
|
||||
ComponentGlobal_NotifikasiPeringatan(
|
||||
"File tidak lebih dari 20Mb",
|
||||
"Maaf, Ukuran file terlalu besar, maksimal 2mb",
|
||||
3000
|
||||
);
|
||||
} else {
|
||||
// console.log(buffer, "ini buffer");
|
||||
// console.log(files, " ini file");
|
||||
// setMaxFile(false);
|
||||
|
||||
setImages(buffer);
|
||||
setFile(files);
|
||||
}
|
||||
@@ -201,6 +139,7 @@ export default function Job_Edit({ dataJob }: { dataJob: MODEL_JOB }) {
|
||||
label="Judul"
|
||||
placeholder="Masukan judul lowongan kerja"
|
||||
value={value.title}
|
||||
maxLength={100}
|
||||
onChange={(val) => {
|
||||
setValue({
|
||||
...value,
|
||||
@@ -217,25 +156,31 @@ export default function Job_Edit({ dataJob }: { dataJob: MODEL_JOB }) {
|
||||
*
|
||||
</Text>
|
||||
</Text>
|
||||
<ReactQuill
|
||||
modules={{
|
||||
toolbar: [
|
||||
[{ header: [1, 2, 3, 4, 5, 6, false] }],
|
||||
["bold", "italic", "underline", "link"],
|
||||
// [{ align: [] }],
|
||||
[{ list: "ordered" }, { list: "bullet" }],
|
||||
["clean"],
|
||||
],
|
||||
}}
|
||||
theme="snow"
|
||||
value={value.content}
|
||||
onChange={(val) => {
|
||||
setValue({
|
||||
...value,
|
||||
content: val,
|
||||
});
|
||||
}}
|
||||
/>
|
||||
<Stack spacing={5}>
|
||||
<ReactQuill
|
||||
modules={{
|
||||
toolbar: [
|
||||
[{ header: [1, 2, 3, 4, 5, 6, false] }],
|
||||
["bold", "italic", "underline", "link"],
|
||||
// [{ align: [] }],
|
||||
[{ list: "ordered" }, { list: "bullet" }],
|
||||
["clean"],
|
||||
],
|
||||
}}
|
||||
theme="snow"
|
||||
value={value.content}
|
||||
onChange={(val) => {
|
||||
setValue({
|
||||
...value,
|
||||
content: val,
|
||||
});
|
||||
}}
|
||||
/>
|
||||
<ComponentGlobal_InputCountDown
|
||||
maxInput={500}
|
||||
lengthInput={value.content.length}
|
||||
/>
|
||||
</Stack>
|
||||
</Stack>
|
||||
<Stack spacing={3}>
|
||||
<Text fz={"sm"}>
|
||||
@@ -245,25 +190,31 @@ export default function Job_Edit({ dataJob }: { dataJob: MODEL_JOB }) {
|
||||
*
|
||||
</Text>
|
||||
</Text>
|
||||
<ReactQuill
|
||||
modules={{
|
||||
toolbar: [
|
||||
[{ header: [1, 2, 3, 4, 5, 6, false] }],
|
||||
["bold", "italic", "underline", "link"],
|
||||
// [{ align: [] }],
|
||||
[{ list: "ordered" }, { list: "bullet" }],
|
||||
["clean"],
|
||||
],
|
||||
}}
|
||||
theme="snow"
|
||||
value={value.deskripsi}
|
||||
onChange={(val) => {
|
||||
setValue({
|
||||
...value,
|
||||
deskripsi: val,
|
||||
});
|
||||
}}
|
||||
/>
|
||||
<Stack spacing={5}>
|
||||
<ReactQuill
|
||||
modules={{
|
||||
toolbar: [
|
||||
[{ header: [1, 2, 3, 4, 5, 6, false] }],
|
||||
["bold", "italic", "underline", "link"],
|
||||
// [{ align: [] }],
|
||||
[{ list: "ordered" }, { list: "bullet" }],
|
||||
["clean"],
|
||||
],
|
||||
}}
|
||||
theme="snow"
|
||||
value={value.deskripsi}
|
||||
onChange={(val) => {
|
||||
setValue({
|
||||
...value,
|
||||
deskripsi: val,
|
||||
});
|
||||
}}
|
||||
/>
|
||||
<ComponentGlobal_InputCountDown
|
||||
maxInput={500}
|
||||
lengthInput={value.deskripsi.length}
|
||||
/>
|
||||
</Stack>
|
||||
</Stack>
|
||||
</Stack>
|
||||
|
||||
@@ -276,6 +227,8 @@ export default function Job_Edit({ dataJob }: { dataJob: MODEL_JOB }) {
|
||||
|
||||
function ButtonAction({ value, file }: { value: MODEL_JOB; file: FormData }) {
|
||||
const router = useRouter();
|
||||
const [isLoading, setIsLoading] = useState(false);
|
||||
|
||||
const [hotMenu, setHotMenu] = useAtom(gs_job_hot_menu);
|
||||
const [status, setStatus] = useAtom(gs_job_status);
|
||||
const [opened, { open, close }] = useDisclosure(false);
|
||||
@@ -290,6 +243,7 @@ function ButtonAction({ value, file }: { value: MODEL_JOB; file: FormData }) {
|
||||
setHotMenu(2);
|
||||
setStatus("Draft");
|
||||
ComponentGlobal_NotifikasiBerhasil(res.message);
|
||||
setIsLoading(true);
|
||||
router.back();
|
||||
} else {
|
||||
ComponentGlobal_NotifikasiGagal(res.message);
|
||||
@@ -306,13 +260,33 @@ function ButtonAction({ value, file }: { value: MODEL_JOB; file: FormData }) {
|
||||
<Button radius={"xl"} onClick={() => close()}>
|
||||
Batal
|
||||
</Button>
|
||||
<Button color="teal" radius={"xl"} onClick={() => onUpdate()}>
|
||||
<Button
|
||||
loaderPosition="center"
|
||||
loading={isLoading ? true : false}
|
||||
color="teal"
|
||||
radius={"xl"}
|
||||
onClick={() => onUpdate()}
|
||||
>
|
||||
Simpan
|
||||
</Button>
|
||||
</Group>
|
||||
</Stack>
|
||||
</Modal>
|
||||
<Button
|
||||
style={{
|
||||
transition: "0.5s",
|
||||
}}
|
||||
disabled={
|
||||
value.title === "" ||
|
||||
value.content === "" ||
|
||||
value.content === "<p><br></p>" ||
|
||||
value.content.length > 500 ||
|
||||
value.deskripsi === "" ||
|
||||
value.deskripsi === "<p><br></p>" ||
|
||||
value.deskripsi.length > 500
|
||||
? true
|
||||
: false
|
||||
}
|
||||
color="teal"
|
||||
radius={"xl"}
|
||||
mt={"lg"}
|
||||
|
||||
Reference in New Issue
Block a user