push rasad front on new repo
44
src/App-oldd.js
Normal file
@@ -0,0 +1,44 @@
|
||||
import React from "react";
|
||||
|
||||
const App = () => {
|
||||
const containerStyle = {
|
||||
backgroundColor: "#f0f0f0",
|
||||
fontFamily: "Arial, sans-serif",
|
||||
textAlign: "center",
|
||||
};
|
||||
|
||||
const headerStyle = {
|
||||
backgroundColor: "#3498db",
|
||||
color: "#fff",
|
||||
padding: "20px",
|
||||
};
|
||||
|
||||
const addressStyle = {
|
||||
fontSize: "24px",
|
||||
fontWeight: "bold",
|
||||
color: "#3498db",
|
||||
};
|
||||
|
||||
const textStyle = {
|
||||
fontSize: "18px",
|
||||
};
|
||||
|
||||
return (
|
||||
<div style={containerStyle}>
|
||||
<div style={headerStyle}>
|
||||
<h1>سامانه رصدیار به آدرس زیر انتقال یافت!</h1>
|
||||
</div>
|
||||
<div style={{ margin: "20px" }}>
|
||||
<p style={textStyle}>آدرس جدید سامانه:</p>
|
||||
<p style={addressStyle}>
|
||||
<a href="https://sha.rasadyaar.ir/">sha.rasadyaar.ir</a>
|
||||
</p>
|
||||
</div>
|
||||
<div style={{ margin: "20px" }}>
|
||||
<p style={textStyle}>برای انتقال بر روی لینک کلیک کنید.</p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default App;
|
||||
158
src/App.css
Normal file
@@ -0,0 +1,158 @@
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.App {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
html::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
}
|
||||
|
||||
html::-webkit-scrollbar-thumb {
|
||||
background: linear-gradient(to bottom, #eaefff, #2247bf);
|
||||
border-radius: 0px 0px 4px 4px;
|
||||
}
|
||||
|
||||
html::-webkit-scrollbar-track {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.App-logo {
|
||||
height: 40vmin;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.svg-icon-color path {
|
||||
stroke: #4285f4;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
.App-logo {
|
||||
animation: App-logo-spin infinite 20s linear;
|
||||
}
|
||||
}
|
||||
|
||||
.App-header {
|
||||
background-color: #282c34;
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: calc(10px + 2vmin);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.App-link {
|
||||
color: #61dafb;
|
||||
}
|
||||
|
||||
@keyframes App-logo-spin {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
.bluehover {
|
||||
will-change: filter;
|
||||
transition: filter 300ms;
|
||||
}
|
||||
.bluehover:hover {
|
||||
filter: drop-shadow(0 0 0.5em #cc0a95aa);
|
||||
}
|
||||
|
||||
.marquee {
|
||||
width: 100%;
|
||||
line-height: 30px;
|
||||
color: white;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
box-sizing: border-box;
|
||||
direction: rtl;
|
||||
margin-top: -10px !important;
|
||||
}
|
||||
|
||||
.marquee p {
|
||||
font-size: 15px;
|
||||
margin: 0;
|
||||
display: inline-block;
|
||||
animation: marquee 60s linear infinite;
|
||||
color: #f9f947;
|
||||
}
|
||||
|
||||
@keyframes marquee {
|
||||
0% {
|
||||
transform: translate(-100%, 0);
|
||||
}
|
||||
100% {
|
||||
transform: translate(100%, 0);
|
||||
}
|
||||
}
|
||||
|
||||
/* .MuiOutlinedInput-notchedOutline,
|
||||
.MuiButtonBase-root {
|
||||
border-radius: 15px !important;
|
||||
} */
|
||||
|
||||
.MuiOutlinedInput-notchedOutline {
|
||||
border-radius: 8px !important;
|
||||
}
|
||||
|
||||
/* .MuiButtonBase-root {
|
||||
border-radius: 5px !important;
|
||||
} */
|
||||
|
||||
/* .muirtl-1ujnqem-MuiTabs-root {
|
||||
border-style: solid;
|
||||
padding: 2px;
|
||||
border-radius: 15px 15px 0px 0px;
|
||||
border-width: 1px 0px 0px 0px;
|
||||
border-color: #a1f1c2;
|
||||
filter: drop-shadow(0 0 0.75rem crimson);
|
||||
} */
|
||||
|
||||
.insidetabs {
|
||||
border-style: none !important;
|
||||
padding: 0px !important;
|
||||
color: pink !important;
|
||||
font-size: 10px !important;
|
||||
}
|
||||
|
||||
.header-menu {
|
||||
font-weight: 800 !important;
|
||||
}
|
||||
|
||||
.muirtl-rpxd6p-MuiButtonBase-root-MuiTab-root.Mui-selected {
|
||||
background: #eaefff;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.path-city {
|
||||
stroke: #fff;
|
||||
}
|
||||
.path-city:hover {
|
||||
fill: #db5f5f;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 600px) {
|
||||
.MuiButtonBase-root-MuiTab-root {
|
||||
font-size: 0.75rem !important;
|
||||
}
|
||||
.muirtl-1sbhvmq {
|
||||
padding: 12px 16px !important;
|
||||
}
|
||||
.muirtl-162ovef {
|
||||
padding: 4px 8px !important;
|
||||
}
|
||||
.MuiChip-root {
|
||||
height: 24px !important;
|
||||
}
|
||||
.MuiChip-label {
|
||||
padding: 0 6px !important;
|
||||
}
|
||||
}
|
||||
497
src/App.js
Normal file
@@ -0,0 +1,497 @@
|
||||
import React, { Suspense, useEffect, useState } from "react";
|
||||
import "./App.css";
|
||||
import { Routes, Route, Navigate, useLocation } from "react-router-dom";
|
||||
import { guestRouting } from "./routes/guestRouting";
|
||||
import { getManagerRouting } from "./routes/managerRouting";
|
||||
import { Box, ThemeProvider } from "@mui/material";
|
||||
import createCache from "@emotion/cache";
|
||||
import { prefixer } from "stylis";
|
||||
import rtlPlugin from "stylis-plugin-rtl";
|
||||
import { CacheProvider } from "@emotion/react";
|
||||
import { theme } from "./data/theme";
|
||||
import axios from "axios";
|
||||
import { store } from "./lib/redux/store";
|
||||
import { Loading } from "./components/loading/Loading";
|
||||
import { useDispatch, useSelector } from "react-redux";
|
||||
import { avicultureRouting } from "./routes/avicultureRouting";
|
||||
import { Header } from "./layouts/header/Header";
|
||||
import AdapterJalali from "@date-io/date-fns-jalali";
|
||||
import { LocalizationProvider } from "@mui/x-date-pickers";
|
||||
import { cityRouting } from "./routes/cityRouting";
|
||||
import { slaughterRouting } from "./routes/slaughterRouting";
|
||||
import { Modal } from "./components/modal/Modal";
|
||||
import { provinceFinancialRouting } from "./routes/provinceFinancialRouting";
|
||||
import { vetFarmRouting } from "./routes/vetFarmRouting";
|
||||
import Drawer from "./components/drawer/Drawer";
|
||||
import { generalRouting } from "./routes/generalRouting";
|
||||
import { StrictModal } from "./components/strict-modal/StrictModal";
|
||||
import { StrictMissingHallNumber } from "./features/aviculture/components/strict-missing-hall-number/StrictMissingHallNumber";
|
||||
import { driverRouting } from "./routes/driverRouting";
|
||||
import { SidebarContextProvider } from "./contexts/SidebarContext";
|
||||
import { BackDrop } from "./components/backdrop/BackDrop";
|
||||
import { AppContextProvider } from "./contexts/AppContext";
|
||||
import { Notif } from "./components/notif/Notif";
|
||||
import { inspectorRouting } from "./routes/inspectorRouting";
|
||||
// import bg from "./assets/images/bg.jpg";
|
||||
import { Fallback } from "./layouts/fallback/Fallback";
|
||||
import { slaughterHouseVetRouting } from "./routes/slaughterHouseVet";
|
||||
import { ErrorBoundary } from "react-error-boundary";
|
||||
import { ErrorFallback } from "./components/error-fallback/ErrorFallback";
|
||||
import { LOG_OUT } from "./lib/redux/slices/userSlice";
|
||||
import { adminRouting } from "./routes/adminRouting";
|
||||
import { SetupAxios } from "./lib/axios/axios";
|
||||
import { vetSupervisorRouting } from "./routes/vetSupervisorRouting";
|
||||
import { jahadRouting } from "./routes/jahadRouting";
|
||||
import { commerceRouting } from "./routes/commerceRouting";
|
||||
import { cityCommerceRouting } from "./routes/cityCommerceRouting";
|
||||
import { cityVetRouting } from "./routes/cityVetRouting";
|
||||
import { cityJihadRouting } from "./routes/cityJihadRouting";
|
||||
import { observatoryRouting } from "./routes/observatoryRouting";
|
||||
import { provinceSupervisorRouting } from "./routes/provinceSupervisorRouting";
|
||||
import { senfRouting } from "./routes/senfRouting";
|
||||
import versionNumber from "./version.txt";
|
||||
import { guildRoomRouting } from "./routes/guildRoomRouting";
|
||||
import { posCompanyRouting } from "./routes/posCompanyRouting";
|
||||
import { liveStockSupportRouting } from "./routes/liveStockSupportRouting";
|
||||
import { chainCompanyRouting } from "./routes/chainCompanyRouting";
|
||||
// import ChatButton from "./components/chat-system/ChatSystem";
|
||||
import { supporterRouting } from "./routes/supporterRouting";
|
||||
import { dispenserRouting } from "./routes/dispenserRouting";
|
||||
import { cityPoultryRouting } from "./routes/cityPoultryRouting";
|
||||
import { SiteMap } from "./layouts/site-map/SiteMap";
|
||||
import { getRoleFromUrl } from "./utils/getRoleFromUrl";
|
||||
import { parentCompanyRouting } from "./routes/parentCompanyRouting";
|
||||
import { coldHouseStewardRouting } from "./routes/coldHouseStewardRouting";
|
||||
import { cityGuildRouting } from "./routes/cityGuildRouting";
|
||||
import { liveStockProvinceJahadRouting } from "./routes/LiveStockProvinceJahadRouting";
|
||||
import { unionRouting } from "./routes/unionRouting";
|
||||
import { cooperativeRouting } from "./routes/cooperativeRouting";
|
||||
import { rancherRouting } from "./routes/rancherRouting";
|
||||
import { barSquareRouting } from "./routes/barSquareRouting";
|
||||
import { stewardRouting } from "./routes/stewardRouting";
|
||||
|
||||
const AppRouter = () => {
|
||||
const authToken = useSelector((state) => state.userSlice.authToken);
|
||||
const role = useSelector((state) => state.userSlice.role);
|
||||
|
||||
let routes = [...guestRouting];
|
||||
let defaultRoute = "/";
|
||||
|
||||
// const authToken = true;
|
||||
// const role = "Poultry";
|
||||
|
||||
if (authToken) {
|
||||
routes = [...generalRouting, ...barSquareRouting];
|
||||
for (const singleRoleIndex in role) {
|
||||
if (Object.hasOwnProperty.call(role, singleRoleIndex)) {
|
||||
const element = role[singleRoleIndex];
|
||||
switch (element) {
|
||||
case "Admin":
|
||||
routes = [...routes, ...adminRouting, ...inspectorRouting];
|
||||
break;
|
||||
case "Poultry":
|
||||
routes = [...routes, ...avicultureRouting];
|
||||
break;
|
||||
case "CityOperator":
|
||||
routes = [...routes, ...cityRouting];
|
||||
break;
|
||||
case "KillHouse":
|
||||
routes = [...routes, ...slaughterRouting];
|
||||
break;
|
||||
case "ProvinceOperator":
|
||||
routes = [...routes, ...getManagerRouting("provinceOperator")];
|
||||
break;
|
||||
case "ProvinceFinancial":
|
||||
routes = [...routes, ...provinceFinancialRouting];
|
||||
break;
|
||||
case "ProvinceInspector":
|
||||
routes = [...routes, ...inspectorRouting];
|
||||
break;
|
||||
case "KillHouseVet":
|
||||
routes = [...routes, ...slaughterHouseVetRouting];
|
||||
break;
|
||||
case "VetFarm":
|
||||
routes = [...routes, ...vetFarmRouting];
|
||||
break;
|
||||
case "Driver":
|
||||
routes = [...routes, ...driverRouting];
|
||||
break;
|
||||
case "VetSupervisor":
|
||||
routes = [...routes, ...vetSupervisorRouting];
|
||||
break;
|
||||
case "Jahad":
|
||||
routes = [...routes, ...jahadRouting];
|
||||
break;
|
||||
case "Guilds":
|
||||
routes = [...routes, ...senfRouting];
|
||||
break;
|
||||
case "Steward":
|
||||
routes = [...routes, ...stewardRouting];
|
||||
break;
|
||||
case "Commerce":
|
||||
routes = [...routes, ...commerceRouting];
|
||||
break;
|
||||
case "ProvinceSupervisor":
|
||||
routes = [...routes, ...provinceSupervisorRouting];
|
||||
break;
|
||||
case "CityCommerce":
|
||||
routes = [...routes, ...cityCommerceRouting];
|
||||
break;
|
||||
case "CityVet":
|
||||
routes = [...routes, ...cityVetRouting];
|
||||
break;
|
||||
case "CityJahad":
|
||||
routes = [...routes, ...cityJihadRouting];
|
||||
break;
|
||||
case "Observatory":
|
||||
routes = [...routes, ...observatoryRouting];
|
||||
break;
|
||||
case "GuildRoom":
|
||||
routes = [...routes, ...guildRoomRouting];
|
||||
break;
|
||||
case "PosCompany":
|
||||
routes = [...routes, ...posCompanyRouting];
|
||||
break;
|
||||
case "LiveStockSupport":
|
||||
routes = [...routes, ...liveStockSupportRouting];
|
||||
break;
|
||||
case "SuperAdmin":
|
||||
routes = [...routes, ...getManagerRouting("SuperAdmin")];
|
||||
break;
|
||||
case "ChainCompany":
|
||||
routes = [...routes, ...chainCompanyRouting];
|
||||
break;
|
||||
case "AdminX":
|
||||
routes = [...routes, ...getManagerRouting("AdminX")];
|
||||
break;
|
||||
case "Supporter":
|
||||
routes = [...routes, ...supporterRouting];
|
||||
break;
|
||||
case "Dispenser":
|
||||
routes = [...routes, ...dispenserRouting];
|
||||
break;
|
||||
case "CityPoultry":
|
||||
routes = [...routes, ...cityPoultryRouting];
|
||||
break;
|
||||
case "ParentCompany":
|
||||
routes = [...routes, ...parentCompanyRouting];
|
||||
break;
|
||||
case "ColdHouseSteward":
|
||||
routes = [...routes, ...coldHouseStewardRouting];
|
||||
break;
|
||||
case "cityGuildRouting":
|
||||
routes = [...routes, ...cityGuildRouting];
|
||||
break;
|
||||
case "LiveStockProvinceJahad":
|
||||
routes = [...routes, ...liveStockProvinceJahadRouting];
|
||||
break;
|
||||
case "Union":
|
||||
routes = [...routes, ...unionRouting];
|
||||
break;
|
||||
case "Cooperative":
|
||||
routes = [...routes, ...cooperativeRouting];
|
||||
break;
|
||||
case "Rancher":
|
||||
routes = [...routes, ...rancherRouting];
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<Routes>
|
||||
{routes?.map((route) => {
|
||||
const { exact, Page, props } = route;
|
||||
return route.path.map((path) => (
|
||||
<Route
|
||||
exact={exact}
|
||||
path={path}
|
||||
key={path}
|
||||
element={
|
||||
<Suspense fallback={<Fallback />}>
|
||||
<Box>
|
||||
<Page {...props} />
|
||||
</Box>
|
||||
</Suspense>
|
||||
}
|
||||
/>
|
||||
));
|
||||
})}
|
||||
<Route
|
||||
path="*"
|
||||
element={<Navigate to={defaultRoute ? defaultRoute : "/"} replace />}
|
||||
/>
|
||||
</Routes>
|
||||
);
|
||||
};
|
||||
|
||||
const cacheRtl = createCache({
|
||||
key: "muirtl",
|
||||
stylisPlugins: [prefixer, rtlPlugin],
|
||||
});
|
||||
|
||||
const App = () => {
|
||||
const dispatch = useDispatch();
|
||||
const authToken = useSelector((state) => state.userSlice.authToken);
|
||||
const { pathname } = useLocation();
|
||||
// useEffect(() => {
|
||||
// (function () {
|
||||
// var cache = window.caches;
|
||||
// cache.keys().then(function (keys) {
|
||||
// keys.forEach(function (key) {
|
||||
// cache.delete(key);
|
||||
// });
|
||||
// });
|
||||
// })();
|
||||
// }, []);
|
||||
|
||||
// check for necessary infos
|
||||
const { profile } = useSelector((state) => state.avicultureSlice);
|
||||
const [neededInfoMissingHall, setNeededInfoMissingHall] = useState([]);
|
||||
|
||||
// const { selectedRoles } = useSelector((state) => state.fileSlice);
|
||||
|
||||
// useEffect(() => {
|
||||
// if (authToken) {
|
||||
// dispatch(avicultureGetProfile());
|
||||
// if (!selectedRoles?.length) {
|
||||
// dispatch(CHANGE_SELECTED_ROLES(role));
|
||||
// }
|
||||
// if (isFirstLogin) {
|
||||
// switch (role[0]) {
|
||||
// case "Admin":
|
||||
// break;
|
||||
// case "Poultry":
|
||||
// navigate(ROUTE_AVICULTURE_REQUESTS);
|
||||
// break;
|
||||
// case "CityOperator":
|
||||
// navigate(ROUTE_CITY_REQUESTS);
|
||||
// break;
|
||||
// case "KillHouse":
|
||||
// navigate(ROUTE_SLAUGHTER_REQUESTS);
|
||||
// break;
|
||||
// case "ProvinceOperator":
|
||||
// navigate(ROUTE_PROVINCE_REQUESTS);
|
||||
// break;
|
||||
// case "ProvinceFinancial":
|
||||
// navigate(ROUTE_PROVINCE_FINANCIAL_REQUESTS);
|
||||
// break;
|
||||
// case "ProvinceInspector":
|
||||
// break;
|
||||
// case "KillHouseVet":
|
||||
// navigate(ROUTE_SLAUGHTER_HOUSE_VET_REQUESTS);
|
||||
// break;
|
||||
// case "VetFarm":
|
||||
// navigate(ROUTE_VETFARM_ROUTE_ALLOCATIONS);
|
||||
// break;
|
||||
// case "Driver":
|
||||
// break;
|
||||
// case "VetSupervisor":
|
||||
// navigate(ROUTE_VETـSUPERVISOR_ALLOCATIONS);
|
||||
// break;
|
||||
// case "CityVet":
|
||||
// navigate(ROUTE_CITYVET_ROUTE_ALLOCATIONS);
|
||||
// break;
|
||||
// case "Observatory":
|
||||
// navigate(ROUTE_OBSERVATORY_STATICS);
|
||||
// break;
|
||||
// case "Jahad":
|
||||
// break;
|
||||
// }
|
||||
// dispatch(IS_FIRST_LOGIN(false));
|
||||
// }
|
||||
// }
|
||||
// }, [authToken]);
|
||||
|
||||
useEffect(() => {
|
||||
setOpen(false);
|
||||
if (authToken && profile) {
|
||||
for (const iterator of profile.aviculture) {
|
||||
if (!iterator.numberOfHalls) {
|
||||
setOpen(true);
|
||||
setNeededInfoMissingHall([
|
||||
{
|
||||
title: "NUMBER_OF_HALLS",
|
||||
data: {
|
||||
...iterator,
|
||||
},
|
||||
},
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}, [authToken, profile]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!authToken || profile === null) {
|
||||
setOpen(false);
|
||||
}
|
||||
}, [authToken, profile]);
|
||||
|
||||
// useEffect(() => {
|
||||
// if (authToken) {
|
||||
// dispatch(provinceGetPolicyAvicultureCommitService());
|
||||
// }
|
||||
// }, []);
|
||||
|
||||
//buildchange
|
||||
// useEffect(() => {
|
||||
// let name = "Arta-System";
|
||||
// let version = "7";
|
||||
|
||||
// const last_version = localStorage.getItem(`${name}-Version`);
|
||||
// if (last_version !== version) {
|
||||
// localStorage.setItem(`${name}-Version`, version);
|
||||
// dispatch(LOG_OUT());
|
||||
// // window.location.reload(true);
|
||||
// }
|
||||
// }, []);
|
||||
|
||||
const [visibleSiteMap, setVisibleSiteMap] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
setVisibleSiteMap(authToken && getRoleFromUrl());
|
||||
}, [window.location.href, window.location.pathname, pathname]);
|
||||
|
||||
useEffect(() => {
|
||||
if (
|
||||
window.location.search.includes("refresh") &&
|
||||
!window.location.search.includes("finalAmount")
|
||||
) {
|
||||
window.location.href = window.location.pathname;
|
||||
}
|
||||
}, []);
|
||||
|
||||
const hardRefresh = () => {
|
||||
const currentUrl = window.location.href;
|
||||
const newUrl = `${currentUrl}?refresh=${new Date().getTime()}`;
|
||||
window.location.href = newUrl;
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
const uniqueQueryParam = `?v=${new Date().getTime()}`;
|
||||
fetch(`${versionNumber}${uniqueQueryParam}`)
|
||||
.then((response) => response.text())
|
||||
.then((numberText) => {
|
||||
const numberFromTxt = numberText.toString();
|
||||
const lastVersion = localStorage.getItem("AppVersion");
|
||||
console.log("compare versions", numberFromTxt, lastVersion);
|
||||
if (
|
||||
!lastVersion ||
|
||||
lastVersion.toString() !== numberFromTxt.toString()
|
||||
) {
|
||||
localStorage.setItem("AppVersion", numberFromTxt.toString());
|
||||
|
||||
if ("caches" in window) {
|
||||
caches.keys().then((names) => {
|
||||
names.forEach((name) => {
|
||||
caches.delete(name);
|
||||
});
|
||||
});
|
||||
hardRefresh();
|
||||
|
||||
// dispatch(
|
||||
// OPEN_MODAL({
|
||||
// title: "ورژن جدید در دسترس است",
|
||||
// content: (
|
||||
// <>
|
||||
// <Grid container gap={SPACING.SMALL} justifyContent="center">
|
||||
// <Typography variant="body2">
|
||||
// جهت بهره مندی از امکانات جدید لطفا مرورگر خود را با زدن
|
||||
// کلیدهای CTRL و F5 مجددا بارگزاری کنید.
|
||||
// </Typography>
|
||||
// <Button
|
||||
// variant="outlined"
|
||||
// onClick={() => {
|
||||
// dispatch(CLOSE_MODAL());
|
||||
// }}
|
||||
// >
|
||||
// متوجه شدم
|
||||
// </Button>
|
||||
// </Grid>
|
||||
// </>
|
||||
// ),
|
||||
// })
|
||||
// );
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error("Error:", error);
|
||||
});
|
||||
}, [window.location.pathname]);
|
||||
|
||||
const [open, setOpen] = React.useState(false);
|
||||
// const handleOpen = () => setOpen(true);
|
||||
const handleClose = () => setOpen(false);
|
||||
|
||||
return (
|
||||
<CacheProvider value={cacheRtl}>
|
||||
<ThemeProvider theme={theme}>
|
||||
<LocalizationProvider dateAdapter={AdapterJalali}>
|
||||
<ErrorBoundary
|
||||
FallbackComponent={ErrorFallback}
|
||||
onReset={() => {
|
||||
dispatch(LOG_OUT());
|
||||
}}
|
||||
>
|
||||
<Suspense fallback={<Fallback />}>
|
||||
<AppContextProvider>
|
||||
<div
|
||||
className="App"
|
||||
style={
|
||||
{
|
||||
// background: !authToken ? `url("${bg}")` : null,
|
||||
// height: !authToken ? "100vh" : "auto",
|
||||
}
|
||||
}
|
||||
>
|
||||
<SidebarContextProvider>
|
||||
{authToken && <Header />}
|
||||
{visibleSiteMap && <SiteMap />}
|
||||
|
||||
{/* {authToken && <ChatButton />} */}
|
||||
<BackDrop />
|
||||
<Notif />
|
||||
</SidebarContextProvider>
|
||||
<AppRouter />
|
||||
</div>
|
||||
{neededInfoMissingHall.map((item, i) => {
|
||||
let modalTitle = "";
|
||||
const modalContent = (
|
||||
<StrictMissingHallNumber
|
||||
avicultureKey={item.data?.key}
|
||||
name={item.data?.unitName}
|
||||
id={item.data?.breedingUniqueId}
|
||||
handleClose={handleClose}
|
||||
/>
|
||||
);
|
||||
if (item.title === "NUMBER_OF_HALLS") {
|
||||
modalTitle = "ثبت تعداد سالن ها";
|
||||
}
|
||||
return (
|
||||
<StrictModal
|
||||
key={"modal" + i}
|
||||
title={modalTitle}
|
||||
content={modalContent}
|
||||
open={open}
|
||||
/>
|
||||
);
|
||||
})}
|
||||
<Drawer />
|
||||
<Modal />
|
||||
<Loading />
|
||||
</AppContextProvider>
|
||||
</Suspense>
|
||||
</ErrorBoundary>
|
||||
</LocalizationProvider>
|
||||
</ThemeProvider>
|
||||
</CacheProvider>
|
||||
);
|
||||
};
|
||||
|
||||
SetupAxios(axios, store);
|
||||
|
||||
export default App;
|
||||
9
src/App.test.js
Normal file
@@ -0,0 +1,9 @@
|
||||
import React from "react";
|
||||
import { render, screen } from "@testing-library/react";
|
||||
import App from "./App";
|
||||
|
||||
test("renders learn react link", () => {
|
||||
render(<App />);
|
||||
const linkElement = screen.getByText(/learn react/i);
|
||||
expect(linkElement).toBeInTheDocument();
|
||||
});
|
||||
BIN
src/assets/fonts-old/eot/IRANSansWeb.eot
Normal file
BIN
src/assets/fonts-old/eot/IRANSansWeb_Black.eot
Normal file
BIN
src/assets/fonts-old/eot/IRANSansWeb_Bold.eot
Normal file
BIN
src/assets/fonts-old/eot/IRANSansWeb_Light.eot
Normal file
BIN
src/assets/fonts-old/eot/IRANSansWeb_Medium.eot
Normal file
BIN
src/assets/fonts-old/eot/IRANSansWeb_UltraLight.eot
Normal file
78
src/assets/fonts-old/fonts.css
Normal file
@@ -0,0 +1,78 @@
|
||||
@font-face {
|
||||
font-family: IRANSans;
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
src: url("../fonts/eot/IRANSansWeb_Black.eot");
|
||||
src: url("../fonts/eot/IRANSansWeb_Black.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-8 */ url("../fonts/woff2/IRANSansWeb_Black.woff2") format("woff2"),
|
||||
/* FF39+,Chrome36+, Opera24+*/ url("../fonts/woff/IRANSansWeb_Black.woff")
|
||||
format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
||||
url("../fonts/ttf/IRANSansWeb_Black.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: IRANSans;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
src: url("../fonts/eot/IRANSansWeb_Bold.eot");
|
||||
src: url("../fonts/eot/IRANSansWeb_Bold.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-8 */ url("../fonts/woff2/IRANSansWeb_Bold.woff2") format("woff2"),
|
||||
/* FF39+,Chrome36+, Opera24+*/ url("../fonts/woff/IRANSansWeb_Bold.woff")
|
||||
format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url("../fonts/ttf/IRANSansWeb_Bold.ttf")
|
||||
format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: IRANSans;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
src: url("../fonts/eot/IRANSansWeb_Medium.eot");
|
||||
src: url("../fonts/eot/IRANSansWeb_Medium.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-8 */ url("../fonts/woff2/IRANSansWeb_Medium.woff2") format("woff2"),
|
||||
/* FF39+,Chrome36+, Opera24+*/ url("../fonts/woff/IRANSansWeb_Medium.woff")
|
||||
format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
||||
url("../fonts/ttf/IRANSansWeb_Medium.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: IRANSans;
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
src: url("../fonts/eot/IRANSansWeb_Light.eot");
|
||||
src: url("../fonts/eot/IRANSansWeb_Light.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-8 */ url("../fonts/woff2/IRANSansWeb_Light.woff2") format("woff2"),
|
||||
/* FF39+,Chrome36+, Opera24+*/ url("../fonts/woff/IRANSansWeb_Light.woff")
|
||||
format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
||||
url("../fonts/ttf/IRANSansWeb_Light.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: IRANSans;
|
||||
font-style: normal;
|
||||
font-weight: 200;
|
||||
src: url("../fonts/eot/IRANSansWeb_UltraLight.eot");
|
||||
src: url("../fonts/eot/IRANSansWeb_UltraLight.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-8 */ url("../fonts/woff2/IRANSansWeb_UltraLight.woff2")
|
||||
format("woff2"),
|
||||
/* FF39+,Chrome36+, Opera24+*/
|
||||
url("../fonts/woff/IRANSansWeb_UltraLight.woff") format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
||||
url("../fonts/ttf/IRANSansWeb_UltraLight.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: IRANSans;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
src: url("../fonts/eot/IRANSansWeb.eot");
|
||||
src: url("../fonts/eot/IRANSansWeb.eot?#iefix") format("embedded-opentype"),
|
||||
/* IE6-8 */ url("../fonts/woff2/IRANSansWeb.woff2") format("woff2"),
|
||||
/* FF39+,Chrome36+, Opera24+*/ url("../fonts/woff/IRANSansWeb.woff")
|
||||
format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url("../fonts/ttf/IRANSansWeb.ttf")
|
||||
format("truetype");
|
||||
}
|
||||
BIN
src/assets/fonts-old/ttf/IRANSansWeb.ttf
Normal file
BIN
src/assets/fonts-old/ttf/IRANSansWeb_Black.ttf
Normal file
BIN
src/assets/fonts-old/ttf/IRANSansWeb_Bold.ttf
Normal file
BIN
src/assets/fonts-old/ttf/IRANSansWeb_Light.ttf
Normal file
BIN
src/assets/fonts-old/ttf/IRANSansWeb_Medium.ttf
Normal file
BIN
src/assets/fonts-old/ttf/IRANSansWeb_UltraLight.ttf
Normal file
BIN
src/assets/fonts-old/woff/IRANSansWeb.woff
Normal file
BIN
src/assets/fonts-old/woff/IRANSansWeb_Black.woff
Normal file
BIN
src/assets/fonts-old/woff/IRANSansWeb_Bold.woff
Normal file
BIN
src/assets/fonts-old/woff/IRANSansWeb_Light.woff
Normal file
BIN
src/assets/fonts-old/woff/IRANSansWeb_Medium.woff
Normal file
BIN
src/assets/fonts-old/woff/IRANSansWeb_UltraLight.woff
Normal file
BIN
src/assets/fonts-old/woff2/IRANSansWeb.woff2
Normal file
BIN
src/assets/fonts-old/woff2/IRANSansWeb_Black.woff2
Normal file
BIN
src/assets/fonts-old/woff2/IRANSansWeb_Bold.woff2
Normal file
BIN
src/assets/fonts-old/woff2/IRANSansWeb_Light.woff2
Normal file
BIN
src/assets/fonts-old/woff2/IRANSansWeb_Medium.woff2
Normal file
BIN
src/assets/fonts-old/woff2/IRANSansWeb_UltraLight.woff2
Normal file
BIN
src/assets/fonts/eot/iranyekanwebblackfanum.eot
Normal file
BIN
src/assets/fonts/eot/iranyekanwebboldfanum.eot
Normal file
BIN
src/assets/fonts/eot/iranyekanwebextrablackfanum.eot
Normal file
BIN
src/assets/fonts/eot/iranyekanwebextraboldfanum.eot
Normal file
BIN
src/assets/fonts/eot/iranyekanweblightfanum.eot
Normal file
BIN
src/assets/fonts/eot/iranyekanwebmediumfanum.eot
Normal file
BIN
src/assets/fonts/eot/iranyekanwebregularfanum.eot
Normal file
BIN
src/assets/fonts/eot/iranyekanwebthinfanum.eot
Normal file
147
src/assets/fonts/fonts.css
Normal file
@@ -0,0 +1,147 @@
|
||||
/**
|
||||
*
|
||||
* Name: IRANYekan Font
|
||||
* Version: 3.0
|
||||
* Author: Moslem Ebrahimi (moslemebrahimi.com)
|
||||
* Created on: Dec 20, 2018
|
||||
* Updated on: Dec 20, 2018
|
||||
* Website: http://fontiran.com
|
||||
* Copyright: Commercial/Proprietary Software
|
||||
--------------------------------------------------------------------------------------
|
||||
فونت ایران یکان یک نرم افزار مالکیتی محسوب می شود. جهت آگاهی از قوانین استفاده از این فونت ها لطفا به وب سایت (فونت ایران دات کام) مراجعه نمایید
|
||||
--------------------------------------------------------------------------------------
|
||||
IRANYekan fonts are considered a proprietary software. To gain information about the laws regarding the use of these fonts, please visit www.fontiran.com
|
||||
--------------------------------------------------------------------------------------
|
||||
This set of fonts are used in this project under the license: (.....)
|
||||
--------------------------------------------------------------------------------------
|
||||
*
|
||||
**/
|
||||
@font-face {
|
||||
font-family: iranyekan;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
src: url("./eot/iranyekanwebboldfanum.eot");
|
||||
src: url("./eot/iranyekanwebboldfanum.eot?#iefix") format("embedded-opentype"),
|
||||
/* IE6-8 */ url("./woff/iranyekanwebboldfanum.woff") format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url("./ttf/iranyekanwebboldfanum.ttf")
|
||||
format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: iranyekan;
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
src: url("./eot/iranyekanwebthinfanum.eot");
|
||||
src: url("./eot/iranyekanwebthinfanum.eot?#iefix") format("embedded-opentype"),
|
||||
/* IE6-8 */ url("./woff/iranyekanwebthinfanum.woff") format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url("./ttf/iranyekanwebthinfanum.ttf")
|
||||
format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: iranyekan;
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
src: url("./eot/iranyekanweblightfanum.eot");
|
||||
src: url("./eot/iranyekanweblightfanum.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-8 */ url("./woff/iranyekanweblightfanum.woff") format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url("./ttf/iranyekanweblightfanum.ttf")
|
||||
format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: iranyekan;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
src: url("./eot/iranyekanwebregularfanum.eot");
|
||||
src: url("./eot/iranyekanwebregularfanum.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-8 */ url("./woff/iranyekanwebregularfanum.woff") format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
||||
url("./ttf/iranyekanwebregularfanum.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: iranyekan;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
src: url("./eot/iranyekanwebmediumfanum.eot");
|
||||
src: url("./eot/iranyekanwebmediumfanum.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-8 */ url("./woff/iranyekanwebmediumfanum.woff") format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url("./ttf/iranyekanwebmediumfanum.ttf")
|
||||
format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: iranyekan;
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
src: url("./eot/iranyekanwebextraboldfanum.eot");
|
||||
src: url("./eot/iranyekanwebextraboldfanum.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-8 */ url("./woff/iranyekanwebextraboldfanum.woff") format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
||||
url("./ttf/iranyekanwebextraboldfanum.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: iranyekan;
|
||||
font-style: normal;
|
||||
font-weight: 850;
|
||||
src: url("./eot/iranyekanwebblackfanum.eot");
|
||||
src: url("./eot/iranyekanwebblackfanum.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-8 */ url("./woff/iranyekanwebblackfanum.woff") format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url("./ttf/iranyekanwebblackfanum.ttf")
|
||||
format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: iranyekan;
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
src: url("./eot/iranyekanwebextrablackfanum.eot");
|
||||
src: url("./eot/iranyekanwebextrablackfanum.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
/* IE6-8 */ url("./woff/iranyekanwebextrablackfanum.woff") format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
||||
url("./ttf/iranyekanwebextrablackfanum.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "nazanin";
|
||||
src: local("nazanin"), url("./ttf/B-NAZANIN.TTF") format("truetype");
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "titr";
|
||||
src: local("titr"), url("./ttf/Titr.ttf") format("truetype");
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* @font-face {
|
||||
font-family: "vazir";
|
||||
src: local("vazir"), url("./ttf/Vazir-Medium.ttf") format("truetype");
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "nima";
|
||||
src: local("vazir"), url("./ttf/Nima.ttf") format("truetype");
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "sharif";
|
||||
src: local("vazir"), url("./ttf/Sharif.ttf") format("truetype");
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "azar";
|
||||
src: local("vazir"), url("./ttf/AzarMehr.ttf") format("truetype");
|
||||
font-weight: bold;
|
||||
} */
|
||||
1475
src/assets/fonts/svg/iranyekanwebblackfanum.svg
Normal file
|
After Width: | Height: | Size: 199 KiB |
1578
src/assets/fonts/svg/iranyekanwebboldfanum.svg
Normal file
|
After Width: | Height: | Size: 221 KiB |
1489
src/assets/fonts/svg/iranyekanwebextrablackfanum.svg
Normal file
|
After Width: | Height: | Size: 201 KiB |
1478
src/assets/fonts/svg/iranyekanwebextraboldfanum.svg
Normal file
|
After Width: | Height: | Size: 198 KiB |
1628
src/assets/fonts/svg/iranyekanweblightfanum.svg
Normal file
|
After Width: | Height: | Size: 233 KiB |
1584
src/assets/fonts/svg/iranyekanwebmediumfanum.svg
Normal file
|
After Width: | Height: | Size: 222 KiB |
1560
src/assets/fonts/svg/iranyekanwebregularfanum.svg
Normal file
|
After Width: | Height: | Size: 219 KiB |
1651
src/assets/fonts/svg/iranyekanwebthinfanum.svg
Normal file
|
After Width: | Height: | Size: 241 KiB |
BIN
src/assets/fonts/ttf/AzarMehr.ttf
Normal file
BIN
src/assets/fonts/ttf/B-NAZANIN.TTF
Normal file
BIN
src/assets/fonts/ttf/Nima.ttf
Normal file
BIN
src/assets/fonts/ttf/Sharif.ttf
Normal file
BIN
src/assets/fonts/ttf/Titr.ttf
Normal file
BIN
src/assets/fonts/ttf/Vazir-Medium.ttf
Normal file
BIN
src/assets/fonts/ttf/iranyekanwebblackfanum.ttf
Normal file
BIN
src/assets/fonts/ttf/iranyekanwebboldfanum.ttf
Normal file
BIN
src/assets/fonts/ttf/iranyekanwebextrablackfanum.ttf
Normal file
BIN
src/assets/fonts/ttf/iranyekanwebextraboldfanum.ttf
Normal file
BIN
src/assets/fonts/ttf/iranyekanweblightfanum.ttf
Normal file
BIN
src/assets/fonts/ttf/iranyekanwebmediumfanum.ttf
Normal file
BIN
src/assets/fonts/ttf/iranyekanwebregularfanum.ttf
Normal file
BIN
src/assets/fonts/ttf/iranyekanwebthinfanum.ttf
Normal file
BIN
src/assets/fonts/woff/iranyekanwebblackfanum.woff
Normal file
BIN
src/assets/fonts/woff/iranyekanwebboldfanum.woff
Normal file
BIN
src/assets/fonts/woff/iranyekanwebextrablackfanum.woff
Normal file
BIN
src/assets/fonts/woff/iranyekanwebextraboldfanum.woff
Normal file
BIN
src/assets/fonts/woff/iranyekanweblightfanum.woff
Normal file
BIN
src/assets/fonts/woff/iranyekanwebmediumfanum.woff
Normal file
BIN
src/assets/fonts/woff/iranyekanwebregularfanum.woff
Normal file
BIN
src/assets/fonts/woff/iranyekanwebthinfanum.woff
Normal file
BIN
src/assets/images/ChickenLogo.png
Normal file
|
After Width: | Height: | Size: 413 KiB |
BIN
src/assets/images/ClosedTicketImage.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
src/assets/images/IranOutlined.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
src/assets/images/IranOutlined2.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
src/assets/images/Ticket1.png
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
BIN
src/assets/images/arrow.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/assets/images/barSquare.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
src/assets/images/barSquareColor.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
src/assets/images/bg.jpg
Normal file
|
After Width: | Height: | Size: 57 KiB |
BIN
src/assets/images/check-icon-small.png
Normal file
|
After Width: | Height: | Size: 265 B |
BIN
src/assets/images/chicken.png
Normal file
|
After Width: | Height: | Size: 178 KiB |
178
src/assets/images/chicken.svg
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
src/assets/images/chickenprice.jpg
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
src/assets/images/dashboard/buyerPerformanceIcon.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
src/assets/images/dashboard/farmIcon1.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
src/assets/images/dashboard/farmIcon2.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
src/assets/images/dashboard/farmIcon3.png
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
src/assets/images/dashboard/farmIcon4.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
src/assets/images/dashboard/farmIcon5.png
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
BIN
src/assets/images/dashboard/farmIcon6.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
src/assets/images/dashboard/farmIcon7.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
src/assets/images/dashboard/farmIcon8.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
src/assets/images/dashboard/iconLeft.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
src/assets/images/dashboard/iconRight.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
src/assets/images/dashboard/killedInProvinceIcon1.png
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
BIN
src/assets/images/dashboard/killedInProvinceIcon2.png
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
src/assets/images/dashboard/killedInProvinceIcon3.png
Normal file
|
After Width: | Height: | Size: 7.9 KiB |
BIN
src/assets/images/dashboard/warningIcon.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
src/assets/images/document.jpg
Normal file
|
After Width: | Height: | Size: 15 KiB |
5
src/assets/images/dollar-circle.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M13.4002 17.4181H10.8902C9.25016 17.4181 7.92016 16.0381 7.92016 14.3381C7.92016 13.9281 8.26016 13.5881 8.67016 13.5881C9.08016 13.5881 9.42016 13.9281 9.42016 14.3381C9.42016 15.2081 10.0802 15.9181 10.8902 15.9181H13.4002C14.0502 15.9181 14.5902 15.3381 14.5902 14.6381C14.5902 13.7681 14.2802 13.5981 13.7702 13.4181L9.74016 11.9981C8.96016 11.7281 7.91016 11.1481 7.91016 9.35812C7.91016 7.81812 9.12016 6.57812 10.6002 6.57812H13.1102C14.7502 6.57812 16.0802 7.95812 16.0802 9.65812C16.0802 10.0681 15.7402 10.4081 15.3302 10.4081C14.9202 10.4081 14.5802 10.0681 14.5802 9.65812C14.5802 8.78813 13.9202 8.07812 13.1102 8.07812H10.6002C9.95016 8.07812 9.41016 8.65812 9.41016 9.35812C9.41016 10.2281 9.72016 10.3981 10.2302 10.5781L14.2602 11.9981C15.0402 12.2681 16.0902 12.8481 16.0902 14.6381C16.0802 16.1681 14.8802 17.4181 13.4002 17.4181Z" fill="#5B5B5B"/>
|
||||
<path d="M12 18.75C11.59 18.75 11.25 18.41 11.25 18V6C11.25 5.59 11.59 5.25 12 5.25C12.41 5.25 12.75 5.59 12.75 6V18C12.75 18.41 12.41 18.75 12 18.75Z" fill="#5B5B5B"/>
|
||||
<path d="M12 22.75C6.07 22.75 1.25 17.93 1.25 12C1.25 6.07 6.07 1.25 12 1.25C17.93 1.25 22.75 6.07 22.75 12C22.75 17.93 17.93 22.75 12 22.75ZM12 2.75C6.9 2.75 2.75 6.9 2.75 12C2.75 17.1 6.9 21.25 12 21.25C17.1 21.25 21.25 17.1 21.25 12C21.25 6.9 17.1 2.75 12 2.75Z" fill="#5B5B5B"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
BIN
src/assets/images/eita.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
src/assets/images/enamad-logo.png
Normal file
|
After Width: | Height: | Size: 29 KiB |