Uname:Linux machinox-server 6.17.0-1013-aws #13~24.04.1-Ubuntu SMP Fri Apr 24 21:36:58 UTC 2026 aarch64

Base Dir : /var/www/machinox.in

User : root


403WebShell
403Webshell
Server IP : 13.235.167.51  /  Your IP : 216.73.217.116
Web Server : Apache
System : Linux machinox-server 6.17.0-1013-aws #13~24.04.1-Ubuntu SMP Fri Apr 24 21:36:58 UTC 2026 aarch64
User : root ( 0)
PHP Version : 8.2.29
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/control.machinox.in/src/components/ManageSetting/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/control.machinox.in/src/components/ManageSetting/SettingListing.tsx
'use client';
import CompoLoader from "@/Common/ComponentLoader/CompoLoader";
import { Label } from "@/Common/Label/Label";
import PageTitle from "@/Common/PageTitle";
import CommonFunction from "@/Services/CommonFunction";
import WebService from "@/Services/WebService";
import React, { useEffect, useState } from "react";
import { Breadcrumb, Button, Card, Col, Form, Row } from "react-bootstrap";
import { toast } from "react-toastify";

const SettingListing = () => {
    const [loader, setLoader] = useState(false);
    const [errorflag, setErrorFlag] = useState(false);
    const [errEmailFlag, setEmailErrFlag] = useState<boolean>(false);
    const [getSetting, setSetting] = useState({
        email: "",
        address: "",
        facebook: "",
        instagram: "",
        twitter: "",
        youtube: "",
        whatsapp: ""
    });

    useEffect(() => {
        handleGetSetting();
    }, [])

    const handleGetSetting = () => {
        setLoader(true)
        return WebService.getAPI({
            action: `admin/contact/supports`,
            body: null,
            isShowError: true
        }).then((res: any) => {
            setLoader(false)
            setSetting(res.info)
        }).catch((error: any) => {
            setLoader(false);
            return false;
        })
    }

    const handleSubmit = () => {
        let flag = false;
        let excluded: any = [];

        flag = CommonFunction.checkFormEmptyFields(getSetting, excluded);
        let email = validateEmail(getSetting?.email);
        if (email) {
            flag = true
            return;
        }

        if (flag) {
            setErrorFlag(true)
        } else {
            setErrorFlag(false)
            handleSaveSetting();
        }
    }

    const handleSaveSetting = () => {
        WebService.addLoader("btn-save");
        WebService.putAPI({
            action: `admin/contact/supports`,
            body: getSetting,
            isShowError: true
        }).then((res: any) => {
            WebService.removeLoader("btn-save");
            if (res.status) {
                toast.success(res.message)
            } else {
                toast.error(res.message)
            }
        }).catch((error: any) => {
            WebService.removeLoader("btn-save");
            return false;
        })
    }

    const validateEmail = (email: string) => {
        const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/;
        let isValid = emailRegex.test(email);
        console.log(isValid, "is Valid");
        if (isValid) {
            setEmailErrFlag(false);
            return false;
        } else {
            setEmailErrFlag(true);
            return true;
        }
    };

    return (
        <>
            <div className="position-relative">
                {loader ? <CompoLoader /> : null}
                <div className="page-properties pb-3">
                    <div className="nb-3">
                        <Breadcrumb>
                            <Breadcrumb.Item href="/manage-settings">{" Setting"}</Breadcrumb.Item>
                            <Breadcrumb.Item active>
                              {"Contact Support "}
                            </Breadcrumb.Item>
                        </Breadcrumb>
                    </div>
                    {/* <Row className=" mb-lg-4 mb-3">
                        <Col lg={8} xs={8}>
                            <div className="d-flex gap-3 align-items-center">
                                <PageTitle
                                    title={"Contact Support"}
                                    backArrow={false}
                                />
                            </div>
                        </Col>
                    </Row> */}
                    <Card className="card-style mb-lg-4 mb-3">
                        <Card.Header>
                            <h4 className="card-title text-white">{"Contact Support"} </h4>
                        </Card.Header>
                        <Card.Body>
                            <div className="mb-3 mt-2">
                                <Form.Label className="form-label">
                                    Email {" "}
                                </Form.Label>
                                <Form.Control
                                    type="text"
                                    placeholder={"Enter Email"}
                                    name="email"
                                    value={getSetting.email || ""}
                                    onChange={(e: any) =>
                                        setSetting((prev: any) => ({
                                            ...prev,
                                            email: e.target.value
                                        }))
                                    }
                                />
                                {errorflag && getSetting.email === "" && (
                                    <div className="mt-0 mb-2">
                                        {" "}
                                        <Label title={"Please enter email"} modeError={true} />
                                    </div>
                                )}
                                {getSetting?.email !== "" && errEmailFlag && (
                                    <Label title="Please enter valid email" modeError={true} />
                                )}
                            </div>
                            <div className="mb-3">
                                <Form.Label className="form-label">
                                    Address {" "}
                                </Form.Label>
                                <Form.Control
                                    type="text"
                                    placeholder={"Enter Address"}
                                    name="address"
                                    value={getSetting.address || ""}
                                    onChange={(e: any) =>
                                        setSetting((prev: any) => ({
                                            ...prev,
                                            address: e.target.value
                                        }))
                                    }
                                />
                                {errorflag && getSetting.address === "" && (
                                    <div className="mt-0 mb-2">
                                        {" "}
                                        <Label title={"Please enter address"} modeError={true} />
                                    </div>
                                )}
                            </div>
                            <div className="mb-3">
                                <Form.Label className="form-label">
                                    Whatsapp Number {" "}
                                </Form.Label>
                                <Form.Control
                                    type="text"
                                    placeholder={"Enter Whatsapp Number"}
                                    name="whatsapp"
                                    value={getSetting.whatsapp || ""}
                                    onChange={(e: any) =>
                                        setSetting((prev: any) => ({
                                            ...prev,
                                            whatsapp: e.target.value
                                        }))
                                    }
                                />
                                {errorflag && getSetting.whatsapp === "" && (
                                    <div className="mt-0 mb-2">
                                        {" "}
                                        <Label title={"Please enter whatsapp number"} modeError={true} />
                                    </div>
                                )}
                            </div>
                            <div className="mb-3">
                                <Form.Label className="form-label">
                                    Facebook {" "}
                                </Form.Label>
                                <Form.Control
                                    type="text"
                                    placeholder={"Enter facebook URL"}
                                    name="facebook"
                                    value={getSetting.facebook || ""}
                                    onChange={(e: any) =>
                                        setSetting((prev: any) => ({
                                            ...prev,
                                            facebook: e.target.value
                                        }))
                                    }
                                />
                                {errorflag && getSetting.facebook === "" && (
                                    <div className="mt-0 mb-2">
                                        {" "}
                                        <Label title={"Please enter facebook url"} modeError={true} />
                                    </div>
                                )}
                            </div>
                            <div className="mb-3">
                                <Form.Label className="form-label">
                                    Instagram {" "}
                                </Form.Label>
                                <Form.Control
                                    type="text"
                                    placeholder={"Enter Instagram URL"}
                                    name="instagram"
                                    value={getSetting.instagram || ""}
                                    onChange={(e: any) =>
                                        setSetting((prev: any) => ({
                                            ...prev,
                                            instagram: e.target.value
                                        }))
                                    }
                                />
                                {errorflag && getSetting.instagram === "" && (
                                    <div className="mt-0 mb-2">
                                        {" "}
                                        <Label title={"Please enter instagram url"} modeError={true} />
                                    </div>
                                )}
                            </div>
                            <div className="mb-3">
                                <Form.Label className="form-label">
                                    Twitter {" "}
                                </Form.Label>
                                <Form.Control
                                    type="text"
                                    placeholder={"Enter Twitter URL"}
                                    name="twitter"
                                    value={getSetting.twitter || ""}
                                    onChange={(e: any) =>
                                        setSetting((prev: any) => ({
                                            ...prev,
                                            twitter: e.target.value
                                        }))
                                    }
                                />
                                {errorflag && getSetting.twitter === "" && (
                                    <div className="mt-0 mb-2">
                                        {" "}
                                        <Label title={"Please enter twitter url"} modeError={true} />
                                    </div>
                                )}
                            </div>
                            <div className="mb-3">
                                <Form.Label className="form-label">
                                    Youtube {" "}
                                </Form.Label>
                                <Form.Control
                                    type="text"
                                    placeholder={"Enter Youtube URL"}
                                    name="youtube"
                                    value={getSetting.youtube || ""}
                                    onChange={(e: any) =>
                                        setSetting((prev: any) => ({
                                            ...prev,
                                            youtube: e.target.value
                                        }))
                                    }
                                />
                                {errorflag && getSetting.youtube === "" && (
                                    <div className="mt-0 mb-2">
                                        {" "}
                                        <Label title={"Please enter youtube url"} modeError={true} />
                                    </div>
                                )}
                            </div>
                            <div className="text-center">
                                <Button
                                    variant="primary"
                                    id="btn-save"
                                    onClick={() => {
                                        handleSubmit();
                                    }}
                                >
                                    {"Save"}
                                </Button>
                            </div>
                        </Card.Body>
                    </Card>
                </div>
            </div>
        </>
    )
}

export default SettingListing;


Youez - 2016 - github.com/yon3zu
LinuXploit