= ({
try {
const response = await mutateAsync({
body: {
- imageUrl: data.fullImageUrl
+ uuid: data.uuid
}
});
@@ -107,7 +107,7 @@ const ImageGalleryItem: FC = ({
const link = document.createElement("a");
link.href = url;
- link.download = "image.jpg";
+ link.download = data?.raw?.file_name ? data?.raw?.file_name : "image.jpg";
document.body.appendChild(link);
link.click();
diff --git a/src/components/elements/ImageGallery/__snapshots__/ImageGalleryPreviewer.stories.storyshot b/src/components/elements/ImageGallery/__snapshots__/ImageGalleryPreviewer.stories.storyshot
index 629cb45e4..fe0eb787a 100644
--- a/src/components/elements/ImageGallery/__snapshots__/ImageGalleryPreviewer.stories.storyshot
+++ b/src/components/elements/ImageGallery/__snapshots__/ImageGalleryPreviewer.stories.storyshot
@@ -49,7 +49,7 @@ exports[`Storyshots Components/Elements/Cards/ImageGalleryCard/Previewer Default
className="relative flex h-full w-full items-center justify-center overflow-hidden bg-primary-100"
>
) => {
const t = useT();
+ const { variant = VARIANT_DROPDOWN_DEFAULT } = props;
const [selected, setSelected] = useState(() =>
getDefaultDropDownValue(props.defaultValue || props.value || [], props.options, !!props.hasOtherOptions)
);
@@ -137,27 +141,12 @@ const Dropdown = (props: PropsWithChildren) => {
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [otherIsSelected, otherValue, t]);
- const getColorStatus = (option: string): string => {
- const colorMap: { [key: string]: string } = {
- approved: "bg-secondary",
- submitted: "bg-blue",
- draft: "bg-pinkCustom",
- started: "bg-pinkCustom",
- "Under Review": "bg-tertiary-600",
- "needs-more-information": "bg-tertiary-600",
- "restoration-in-progress": "bg-blue",
- "awaiting-approval": "bg-tertiary-600"
- };
-
- return colorMap[option] ?? "";
- };
-
const verifyDisableOption = (title: string) => {
return props?.disableOptionTitles?.includes(title);
};
return (
-
+
{({ open, value }) => (
<>
@@ -184,29 +173,27 @@ const Dropdown = (props: PropsWithChildren) => {
-
-
- (value)) ?? ""
- )}`}
- />
-
-
+ {props.prefix}
+
+ {getPrefix(options, toArray
(value))}
+ (value))}
+ >
{formatOptionsList(options, toArray(value)) || props.placeholder}
-
) => {
name=""
checked={isSelected}
label={option.title}
+ textClassName={variant.optionLabelClassName}
+ inputClassName={variant.optionCheckboxClassName}
className="flex flex-row-reverse items-center gap-3"
onChange={() => {
!isSelected
@@ -265,6 +254,7 @@ const Dropdown = (props: PropsWithChildren) => {
+ {option.prefix}
) => {
>
{option.title}
-
-
-
diff --git a/src/components/elements/Inputs/Dropdown/DropdownVariant.tsx b/src/components/elements/Inputs/Dropdown/DropdownVariant.tsx
new file mode 100644
index 000000000..5b9ea1568
--- /dev/null
+++ b/src/components/elements/Inputs/Dropdown/DropdownVariant.tsx
@@ -0,0 +1,34 @@
+import { IconNames } from "@/components/extensive/Icon/Icon";
+
+export interface DropdownVariant {
+ containerClassName: string;
+ className: string;
+ iconClassName?: string;
+ titleContainerClassName: string;
+ titleClassname?: string;
+ iconName?: IconNames;
+ optionCheckboxClassName?: string;
+ optionLabelClassName?: string;
+}
+
+export const VARIANT_DROPDOWN_DEFAULT: DropdownVariant = {
+ containerClassName: "",
+ className: "",
+ iconClassName: "w-4",
+ iconName: undefined,
+ titleContainerClassName: "flex items-center gap-2",
+ titleClassname: "line-clamp-1",
+ optionCheckboxClassName: "",
+ optionLabelClassName: ""
+};
+
+export const VARIANT_DROPDOWN_HEADER: DropdownVariant = {
+ containerClassName: "relative z-10",
+ className: "gap-2 text-white",
+ iconClassName: "w-3 h-[9px] fill-trasparent",
+ iconName: IconNames.CHEVRON_DOWN_DASH,
+ titleContainerClassName: "flex-1 overflow-hidden",
+ titleClassname: "leading-none text-ellipsis whitespace-nowrap overflow-hidden",
+ optionCheckboxClassName: "checked:text-blueCustom-700",
+ optionLabelClassName: "text-14-semibold"
+};
diff --git a/src/components/elements/Inputs/Dropdown/__snapshots__/Dropdown.stories.storyshot b/src/components/elements/Inputs/Dropdown/__snapshots__/Dropdown.stories.storyshot
index c10b8aa9b..764ba57ca 100644
--- a/src/components/elements/Inputs/Dropdown/__snapshots__/Dropdown.stories.storyshot
+++ b/src/components/elements/Inputs/Dropdown/__snapshots__/Dropdown.stories.storyshot
@@ -33,7 +33,7 @@ exports[`Storyshots Components/Elements/Inputs/Dropdown Multi Select 1`] = `
aria-expanded={false}
aria-haspopup="listbox"
aria-labelledby="headlessui-listbox-label-:rj: headlessui-listbox-button-:rk:"
- className="flex h-10 items-center justify-between gap-3 rounded-lg py-2 px-3 hover:cursor-pointer border-light"
+ className="flex h-10 items-center justify-between gap-3 rounded-lg px-3 py-2 hover:cursor-pointer border-light"
data-headlessui-state=""
disabled={false}
id="headlessui-listbox-button-:rk:"
@@ -47,6 +47,7 @@ exports[`Storyshots Components/Elements/Inputs/Dropdown Multi Select 1`] = `
placeholder
@@ -55,7 +56,7 @@ exports[`Storyshots Components/Elements/Inputs/Dropdown Multi Select 1`] = `
style={
Object {
"height": undefined,
- "width": 16,
+ "width": 24,
}
}
/>
@@ -97,7 +98,7 @@ exports[`Storyshots Components/Elements/Inputs/Dropdown Multi Select With Other
aria-expanded={false}
aria-haspopup="listbox"
aria-labelledby="headlessui-listbox-label-:rn: headlessui-listbox-button-:ro:"
- className="flex h-10 items-center justify-between gap-3 rounded-lg py-2 px-3 hover:cursor-pointer border-light"
+ className="flex h-10 items-center justify-between gap-3 rounded-lg px-3 py-2 hover:cursor-pointer border-light"
data-headlessui-state=""
disabled={false}
id="headlessui-listbox-button-:ro:"
@@ -111,6 +112,7 @@ exports[`Storyshots Components/Elements/Inputs/Dropdown Multi Select With Other
placeholder
@@ -119,7 +121,7 @@ exports[`Storyshots Components/Elements/Inputs/Dropdown Multi Select With Other
style={
Object {
"height": undefined,
- "width": 16,
+ "width": 24,
}
}
/>
@@ -161,7 +163,7 @@ exports[`Storyshots Components/Elements/Inputs/Dropdown Single Select 1`] = `
aria-expanded={false}
aria-haspopup="listbox"
aria-labelledby="headlessui-listbox-label-:rh: headlessui-listbox-button-:ri:"
- className="flex h-10 items-center justify-between gap-3 rounded-lg py-2 px-3 hover:cursor-pointer border-light"
+ className="flex h-10 items-center justify-between gap-3 rounded-lg px-3 py-2 hover:cursor-pointer border-light"
data-headlessui-state=""
disabled={false}
id="headlessui-listbox-button-:ri:"
@@ -175,6 +177,7 @@ exports[`Storyshots Components/Elements/Inputs/Dropdown Single Select 1`] = `
placeholder
@@ -183,7 +186,7 @@ exports[`Storyshots Components/Elements/Inputs/Dropdown Single Select 1`] = `
style={
Object {
"height": undefined,
- "width": 16,
+ "width": 24,
}
}
/>
@@ -213,7 +216,7 @@ exports[`Storyshots Components/Elements/Inputs/Dropdown Single Select With Meta
aria-expanded={false}
aria-haspopup="listbox"
aria-labelledby="headlessui-listbox-label-:rp: headlessui-listbox-button-:rq:"
- className="flex h-10 items-center justify-between gap-3 rounded-lg py-2 px-3 hover:cursor-pointer border-light"
+ className="flex h-10 items-center justify-between gap-3 rounded-lg px-3 py-2 hover:cursor-pointer border-light"
data-headlessui-state=""
disabled={false}
id="headlessui-listbox-button-:rq:"
@@ -224,12 +227,10 @@ exports[`Storyshots Components/Elements/Inputs/Dropdown Single Select With Meta
-
Aerobic Agroforestry
@@ -238,7 +239,7 @@ exports[`Storyshots Components/Elements/Inputs/Dropdown Single Select With Meta
style={
Object {
"height": undefined,
- "width": 16,
+ "width": 24,
}
}
/>
@@ -279,7 +280,7 @@ exports[`Storyshots Components/Elements/Inputs/Dropdown Single Select With Other
aria-expanded={false}
aria-haspopup="listbox"
aria-labelledby="headlessui-listbox-label-:rl: headlessui-listbox-button-:rm:"
- className="flex h-10 items-center justify-between gap-3 rounded-lg py-2 px-3 hover:cursor-pointer border-light"
+ className="flex h-10 items-center justify-between gap-3 rounded-lg px-3 py-2 hover:cursor-pointer border-light"
data-headlessui-state=""
disabled={false}
id="headlessui-listbox-button-:rm:"
@@ -293,6 +294,7 @@ exports[`Storyshots Components/Elements/Inputs/Dropdown Single Select With Other
placeholder
@@ -301,7 +303,7 @@ exports[`Storyshots Components/Elements/Inputs/Dropdown Single Select With Other
style={
Object {
"height": undefined,
- "width": 16,
+ "width": 24,
}
}
/>
diff --git a/src/components/elements/Inputs/FileInput/FileInput.tsx b/src/components/elements/Inputs/FileInput/FileInput.tsx
index bf85009ef..01f0e4c91 100644
--- a/src/components/elements/Inputs/FileInput/FileInput.tsx
+++ b/src/components/elements/Inputs/FileInput/FileInput.tsx
@@ -1,7 +1,8 @@
import { useT } from "@transifex/react";
import { ChangeEvent, Fragment, ReactNode, useId, useMemo, useRef } from "react";
import { useDropzone } from "react-dropzone";
-import { When } from "react-if";
+import { UseFormReturn } from "react-hook-form";
+import { Else, If, Then, When } from "react-if";
import { twMerge as tw } from "tailwind-merge";
import { FileCardContent } from "@/components/elements/Inputs/FileInput/FileCardContent";
@@ -14,11 +15,12 @@ import Text from "../../Text/Text";
import InputWrapper, { InputWrapperProps } from "../InputElements/InputWrapper";
import { FileInputVariant, VARIANT_FILE_INPUT_DEFAULT } from "./FileInputVariants";
import FilePreviewCard from "./FilePreviewCard";
+import FilePreviewTable from "./FilePreviewTable";
export type FileInputProps = InputWrapperProps & {
accept?: FileType[];
files: Partial
[];
-
+ previewAsTable?: boolean;
allowMultiple?: boolean;
maxFileSize?: number; // in MB
showPrivateCheckbox?: boolean;
@@ -26,10 +28,12 @@ export type FileInputProps = InputWrapperProps & {
descriptionInput?: string;
descriptionList?: ReactNode;
descriptionListStatus?: string;
-
onChange?: (file: File[]) => any;
onDelete?: (file: Partial) => void;
onPrivateChange?: (uuid: Partial, checked: boolean) => void;
+ formHook?: UseFormReturn;
+ updateFile?: (file: Partial) => void;
+ entityData?: any;
};
export interface FileStatus {
@@ -160,22 +164,36 @@ const FileInput = (props: FileInputProps) => {
- (
- props.onDelete?.(file)}
+
+
+
+
+
+ (
+ props.onDelete?.(file)}
+ onPrivateChange={props.onPrivateChange}
+ showPrivateCheckbox={props.showPrivateCheckbox}
+ />
+ )}
/>
- )}
- />
+
+
);
};
diff --git a/src/components/elements/Inputs/FileInput/FilePreviewTable.tsx b/src/components/elements/Inputs/FileInput/FilePreviewTable.tsx
new file mode 100644
index 000000000..793b0a28b
--- /dev/null
+++ b/src/components/elements/Inputs/FileInput/FilePreviewTable.tsx
@@ -0,0 +1,254 @@
+import { useT } from "@transifex/react";
+import Lottie from "lottie-react";
+import { UseFormReturn } from "react-hook-form";
+import { Else, If, Then, When } from "react-if";
+
+import SpinnerLottie from "@/assets/animations/spinner.json";
+import Icon, { IconNames } from "@/components/extensive/Icon/Icon";
+import { ModalId } from "@/components/extensive/Modal/ModalConst";
+import ModalImageDetails from "@/components/extensive/Modal/ModalImageDetails";
+import { useLoading } from "@/context/loaderAdmin.provider";
+import { useModalContext } from "@/context/modal.provider";
+import { usePatchV2MediaProjectProjectMediaUuid, usePatchV2MediaUuid } from "@/generated/apiComponents";
+import { UploadedFile } from "@/types/common";
+
+import Menu from "../../Menu/Menu";
+import Table from "../../Table/Table";
+import { VARIANT_TABLE_SITE_POLYGON_REVIEW } from "../../Table/TableVariants";
+import Text from "../../Text/Text";
+import Checkbox from "../Checkbox/Checkbox";
+
+export interface FilePreviewTableProps {
+ items: Partial[];
+ className?: string;
+ onDelete?: (file: Partial) => void;
+ onPrivateChange?: (file: Partial, checked: boolean) => void;
+ formHook?: UseFormReturn;
+ updateFile?: (file: Partial) => void;
+ entityData?: any;
+}
+
+const FilePreviewTable = ({ items, onDelete, updateFile, entityData }: FilePreviewTableProps) => {
+ const t = useT();
+ const { openModal, closeModal } = useModalContext();
+ const { showLoader, hideLoader } = useLoading();
+
+ const { mutate: updateMedia } = usePatchV2MediaUuid();
+ const { mutateAsync: updateIsCover } = usePatchV2MediaProjectProjectMediaUuid();
+
+ const openModalImageDetail = (item: any) => {
+ const data = {
+ uuid: item.uuid!,
+ fullImageUrl: item.url!,
+ thumbnailImageUrl: item.thumb_url!,
+ label: item.model_name,
+ isPublic: item.is_public!,
+ isGeotagged: item?.lat !== 0 && item?.lng !== 0,
+ isCover: item.is_cover,
+ raw: { ...item, location: { lat: item.lat, lng: item.lng }, name: item.title, created_date: item.created_at }
+ };
+
+ openModal(
+ ModalId.MODAL_IMAGE_DETAIL,
+ closeModal(ModalId.MODAL_IMAGE_DETAIL)}
+ reloadGalleryImages={() => {}}
+ handleDelete={onDelete && (() => onDelete(item))}
+ updateValuesInForm={updatedItem => {
+ if (updatedItem.is_cover) {
+ items.forEach(item => {
+ if (item.uuid !== updatedItem.uuid && item.is_cover) {
+ updateFile?.({ ...item, is_cover: false });
+ }
+ });
+ }
+ updateFile?.(updatedItem);
+ }}
+ />,
+ true
+ );
+ };
+
+ const handleUpdateIsCover = async (selectedItem: Partial, checked: boolean) => {
+ showLoader();
+
+ try {
+ const updatedItems = items.map(item => ({
+ ...item,
+ is_cover: item.uuid === selectedItem.uuid ? checked : false
+ }));
+
+ updatedItems.forEach(item => updateFile?.(item));
+
+ if (checked) {
+ await updateIsCover({
+ pathParams: { project: entityData.uuid, mediaUuid: selectedItem.uuid! }
+ });
+ }
+ } catch (error) {
+ console.error("Error updating cover status:", error);
+ } finally {
+ hideLoader();
+ }
+ };
+
+ const handleUpdateIsPublic = async (item: Partial, checked: boolean) => {
+ showLoader();
+ try {
+ await updateMedia({
+ pathParams: { uuid: item.uuid! },
+ body: { is_public: checked }
+ });
+ updateFile?.({ ...item, is_public: checked });
+ } catch (error) {
+ console.error("Error updating public status:", error);
+ } finally {
+ hideLoader();
+ }
+ };
+
+ const formatFileSize = (sizeInBytes: number) => {
+ if (sizeInBytes < 1024) return `${sizeInBytes} B`;
+ const units = ["kB", "MB", "GB", "TB"];
+ let size = sizeInBytes / 1024;
+ let unitIndex = 0;
+
+ while (size >= 1024 && unitIndex < units.length - 1) {
+ size /= 1024;
+ unitIndex++;
+ }
+
+ return `${size.toFixed(1)} ${units[unitIndex]}`;
+ };
+
+ const data = items.map(item => ({
+ id: item.uuid,
+ image: item.title,
+ size: formatFileSize(item.size ?? 0),
+ cover: item,
+ public: item,
+ geoCoded: item?.lat !== 0 && item?.lng !== 0,
+ elipsis: item
+ }));
+
+ return (
+ 0}>
+ (
+ {
+ handleUpdateIsCover(props.getValue(), e.target.checked);
+ }}
+ disabled={!entityData?.project}
+ />
+ ),
+ header: `${t("Cover")}`,
+ meta: { align: "center" }
+ },
+ {
+ accessorKey: "public",
+ cell: (props: any) => (
+ {
+ handleUpdateIsPublic(props.getValue(), e.target.checked);
+ }}
+ />
+ ),
+ header: `${t("Public")}`,
+ meta: { align: "center" }
+ },
+ {
+ accessorKey: "geoCoded",
+ header: `${t("GeoCoded")}`,
+ cell: (props: any) => (
+
+
+
+
+ {t("Yes")}
+
+
+
+
+
+
+ {t("No")}
+
+
+
+
+ ),
+ meta: { align: "center" }
+ },
+ {
+ accessorKey: "elipsis",
+ header: "",
+ cell: (props: any) => (
+
+
+
+
+
+ (
+
+
+ {t("Edit")}
+
+ ),
+ onClick: () => {
+ openModalImageDetail(props.getValue());
+ }
+ },
+ {
+ id: "2",
+ render: () => (
+
+
+ {t("Delete")}
+
+ ),
+ onClick: () => {
+ onDelete && onDelete(props.getValue());
+ }
+ }
+ ]}
+ >
+
+
+
+
+ ),
+ meta: { align: "right" },
+ enableSorting: false
+ }
+ ]}
+ />
+
+ );
+};
+
+export default FilePreviewTable;
diff --git a/src/components/elements/Inputs/FileInput/RHFFileInput.tsx b/src/components/elements/Inputs/FileInput/RHFFileInput.tsx
index 3797d0bb9..630b2ec4a 100644
--- a/src/components/elements/Inputs/FileInput/RHFFileInput.tsx
+++ b/src/components/elements/Inputs/FileInput/RHFFileInput.tsx
@@ -9,11 +9,13 @@ import {
usePostV2FileUploadMODELCOLLECTIONUUID,
usePutV2FilesUUID
} from "@/generated/apiComponents";
+import { getCurrentPathEntity } from "@/helpers/entity";
import { UploadedFile } from "@/types/common";
import { toArray } from "@/utils/array";
import { getErrorMessages } from "@/utils/errors";
import FileInput, { FileInputProps } from "./FileInput";
+import { VARIANT_FILE_INPUT_MODAL_ADD_IMAGES_WITH_MAP } from "./FileInputVariants";
export interface RHFFileInputProps
extends Omit,
@@ -24,6 +26,7 @@ export interface RHFFileInputProps
formHook?: UseFormReturn;
showPrivateCheckbox?: boolean;
onChangeCapture?: () => void;
+ isPhotosAndVideo?: boolean;
}
/**
@@ -37,41 +40,47 @@ const RHFFileInput = ({
uuid,
showPrivateCheckbox,
onChangeCapture,
+ isPhotosAndVideo = false,
...fileInputProps
}: RHFFileInputProps) => {
const t = useT();
+
const { field } = useController(fileInputProps);
const value = field.value as UploadedFile | UploadedFile[];
const onChange = field.onChange;
const [files, setFiles] = useState[]>(toArray(value));
-
const { mutate: upload } = usePostV2FileUploadMODELCOLLECTIONUUID({
onSuccess(data, variables) {
//@ts-ignore swagger issue
addFileToValue({ ...data.data, rawFile: variables.file, uploadState: { isSuccess: true, isLoading: false } });
},
onError(err, variables: any) {
+ const file = variables.file;
+ let errorMessage = t("UPLOAD ERROR UNKNOWN: An unknown error occurred during upload. Please try again.");
+
if (err?.statusCode === 422 && Array.isArray(err?.errors)) {
const error = err?.errors[0];
const formError = getErrorMessages(t, error.code, { ...error.variables, label: fileInputProps.label });
formHook?.setError(fileInputProps.name, formError);
-
- const file = variables.file;
-
- addFileToValue({
- collection_name: variables.pathParams.collection,
- size: file?.size,
- file_name: file?.name,
- title: file?.name,
- mime_type: file?.type,
- rawFile: file,
- uploadState: {
- isLoading: false,
- isSuccess: false,
- error: formError.message
- }
- });
+ errorMessage = formError.message;
+ } else if (err?.statusCode === 413 || err?.statusCode === -1) {
+ errorMessage = t("UPLOAD ERROR: An error occurred during upload. Please try again or upload a smaller file.");
+ formHook?.setError(fileInputProps.name, { type: "manual", message: errorMessage });
}
+
+ addFileToValue({
+ collection_name: variables.pathParams.collection,
+ size: file?.size,
+ file_name: file?.name,
+ title: file?.name,
+ mime_type: file?.type,
+ rawFile: file,
+ uploadState: {
+ isLoading: false,
+ isSuccess: false,
+ error: errorMessage
+ }
+ });
}
});
@@ -170,7 +179,7 @@ const RHFFileInput = ({
try {
const location = await exifr.gps(file);
- if (location) {
+ if (location && !isNaN(location.latitude) && !isNaN(location.longitude)) {
body.append("lat", location.latitude.toString());
body.append("lng", location.longitude.toString());
}
@@ -217,6 +226,13 @@ const RHFFileInput = ({
}
};
+ const updateFileInValue = (updatedFile: Partial) => {
+ setFiles(prevFiles => {
+ const updatedFiles = prevFiles.map(file => (file.uuid === updatedFile.uuid ? { ...file, ...updatedFile } : file));
+ return updatedFiles;
+ });
+ };
+
useEffect(() => {
const tmp = toArray(files)
//Only store uploaded files into form state.
@@ -227,12 +243,22 @@ const RHFFileInput = ({
return (
files.forEach(onSelectFile)}
onPrivateChange={handleFileUpdate}
showPrivateCheckbox={showPrivateCheckbox}
+ formHook={formHook}
+ updateFile={updateFileInValue}
+ entityData={{ model, collection, uuid }}
/>
);
};
diff --git a/src/components/elements/Map-mapbox/Map.tsx b/src/components/elements/Map-mapbox/Map.tsx
index aa9f5063d..e3f3f3f71 100644
--- a/src/components/elements/Map-mapbox/Map.tsx
+++ b/src/components/elements/Map-mapbox/Map.tsx
@@ -3,6 +3,7 @@ import "mapbox-gl/dist/mapbox-gl.css";
import { useT } from "@transifex/react";
import _ from "lodash";
import mapboxgl, { LngLat } from "mapbox-gl";
+import { useRouter } from "next/router";
import React, { useEffect } from "react";
import { DetailedHTMLProps, HTMLAttributes, useState } from "react";
import { When } from "react-if";
@@ -12,9 +13,13 @@ import { ValidationError } from "yup";
import ControlGroup from "@/components/elements/Map-mapbox/components/ControlGroup";
import { AdditionalPolygonProperties } from "@/components/elements/Map-mapbox/MapLayers/ShapePropertiesModal";
import Icon, { IconNames } from "@/components/extensive/Icon/Icon";
+import { ModalId } from "@/components/extensive/Modal/ModalConst";
+import ModalImageDetails from "@/components/extensive/Modal/ModalImageDetails";
import { LAYERS_NAMES, layersList } from "@/constants/layers";
import { DELETED_POLYGONS } from "@/constants/statuses";
+import { useLoading } from "@/context/loaderAdmin.provider";
import { useMapAreaContext } from "@/context/mapArea.provider";
+import { useModalContext } from "@/context/modal.provider";
import { useNotificationContext } from "@/context/notification.provider";
import { useSitePolygonData } from "@/context/sitePolygon.provider";
import {
@@ -22,17 +27,20 @@ import {
fetchGetV2TerrafundPolygonBboxUuid,
fetchGetV2TerrafundPolygonGeojsonUuid,
GetV2MODELUUIDFilesResponse,
+ useDeleteV2FilesUUID,
+ usePatchV2MediaProjectProjectMediaUuid,
+ usePostV2ExportImage,
usePostV2GeometryUUIDNewVersion,
usePutV2TerrafundPolygonUuid
} from "@/generated/apiComponents";
import { SitePolygonsDataResponse } from "@/generated/apiSchemas";
+import { ImageGalleryItemData } from "../ImageGallery/ImageGalleryItem";
import { AdminPopup } from "./components/AdminPopup";
import { BBox } from "./GeoJSON";
import type { TooltipType } from "./Map.d";
import CheckIndividualPolygonControl from "./MapControls/CheckIndividualPolygonControl";
import CheckPolygonControl from "./MapControls/CheckPolygonControl";
-import DeleteBulkPolygonsControl from "./MapControls/DeleteBulkPolygonsControl";
import EditControl from "./MapControls/EditControl";
import EmptyStateDisplay from "./MapControls/EmptyStateDisplay";
import { FilterControl } from "./MapControls/FilterControl";
@@ -41,6 +49,7 @@ import ImageControl from "./MapControls/ImageControl";
import PolygonCheck from "./MapControls/PolygonCheck";
import { PolygonHandler } from "./MapControls/PolygonHandler";
import PolygonModifier from "./MapControls/PolygonModifier";
+import ProcessBulkPolygonsControl from "./MapControls/ProcessBulkPolygonsControl";
import { StyleControl } from "./MapControls/StyleControl";
import { MapStyle } from "./MapControls/types";
import ViewImageCarousel from "./MapControls/ViewImageCarousel";
@@ -105,6 +114,8 @@ interface MapProps extends Omit
formMap?: boolean;
pdView?: boolean;
location?: LngLat;
+ entityData?: any;
+ imageGalleryRef?: React.RefObject;
}
export const MapContainer = ({
@@ -133,6 +144,8 @@ export const MapContainer = ({
formMap,
pdView = false,
location,
+ entityData,
+ imageGalleryRef,
...props
}: MapProps) => {
const [showMediaPopups, setShowMediaPopups] = useState(true);
@@ -143,6 +156,11 @@ export const MapContainer = ({
const contextMapArea = useMapAreaContext();
const { reloadSiteData } = context ?? {};
const t = useT();
+ const { mutateAsync } = usePostV2ExportImage();
+ const { showLoader, hideLoader } = useLoading();
+ const router = useRouter();
+ const { openModal, closeModal } = useModalContext();
+ const { mutateAsync: updateIsCoverAsync } = usePatchV2MediaProjectProjectMediaUuid();
const { openNotification } = useNotificationContext();
const {
isUserDrawingEnabled,
@@ -150,10 +168,15 @@ export const MapContainer = ({
editPolygon: editPolygonSelected,
setEditPolygon,
setShouldRefetchPolygonData,
+ setShouldRefetchMediaData,
setStatusSelectedPolygon,
selectedPolygonsInCheckbox
} = contextMapArea;
-
+ const { mutateAsync: deleteFile } = useDeleteV2FilesUUID({
+ onSuccess() {
+ setShouldRefetchMediaData(true);
+ }
+ });
if (!mapFunctions) {
return null;
}
@@ -238,9 +261,98 @@ export const MapContainer = ({
}, [bbox]);
useEffect(() => {
+ const projectUUID = router.query.uuid as string;
+ const isProjectPath = router.isReady && router.asPath.includes("project");
+
+ const handleDelete = (id: string) => {
+ deleteFile({ pathParams: { uuid: id } });
+ closeModal(ModalId.DELETE_IMAGE);
+ };
+
+ const openModalImageDetail = (data: ImageGalleryItemData | any) => {
+ const dataImage = {
+ uuid: data.uuid!,
+ fullImageUrl: data.file_url!,
+ thumbnailImageUrl: data.file_url!,
+ label: data.model_name,
+ isPublic: data.is_public!,
+ isGeotagged: true,
+ isCover: data.is_cover,
+ raw: { ...data, location: JSON.parse(data.location), created_date: data.created_date }
+ };
+ openModal(
+ ModalId.MODAL_IMAGE_DETAIL,
+ closeModal(ModalId.MODAL_IMAGE_DETAIL)}
+ reloadGalleryImages={() => {
+ setShouldRefetchMediaData(true);
+ }}
+ handleDelete={handleDelete}
+ />,
+ true
+ );
+ };
+
+ const setImageCover = async (uuid: string) => {
+ const result = await updateIsCoverAsync({
+ pathParams: { project: projectUUID, mediaUuid: uuid }
+ });
+ if (result) {
+ openNotification("success", t("Success!"), t("Image set as cover successfully"));
+ setShouldRefetchMediaData(true);
+ } else {
+ openNotification("error", t("Error!"), t("Failed to set image as cover"));
+ }
+ };
+
+ const handleDownload = async (uuid: string, file_name: string): Promise => {
+ showLoader();
+ try {
+ const response = await mutateAsync({
+ body: {
+ uuid: uuid
+ }
+ });
+
+ if (!response) {
+ console.error("No response received from the server.");
+ openNotification("error", t("Error!"), t("No response received from the server."));
+ return;
+ }
+
+ const blob = new Blob([response], { type: "image/jpeg" });
+ const url = window.URL.createObjectURL(blob);
+
+ const link = document.createElement("a");
+ link.href = url;
+ link.download = file_name || "image.jpg";
+ document.body.appendChild(link);
+ link.click();
+
+ link.remove();
+ window.URL.revokeObjectURL(url);
+ hideLoader();
+ openNotification("success", t("Success!"), t("Image downloaded successfully"));
+ } catch (error) {
+ console.error("Download error:", error);
+ hideLoader();
+ }
+ };
+
if (map?.current && styleLoaded && props?.modelFilesData) {
if (showMediaPopups) {
- addMediaSourceAndLayer(map.current, props?.modelFilesData);
+ addMediaSourceAndLayer(
+ map.current,
+ props?.modelFilesData,
+ setImageCover,
+ handleDownload,
+ handleDelete,
+ openModalImageDetail,
+ isProjectPath
+ );
} else {
removePopups("MEDIA");
removeMediaLayer(map.current);
@@ -390,8 +502,8 @@ export const MapContainer = ({
-
-
+
+
@@ -450,7 +562,7 @@ export const MapContainer = ({
-
+
diff --git a/src/components/elements/Map-mapbox/MapControls/CheckIndividualPolygonControl.tsx b/src/components/elements/Map-mapbox/MapControls/CheckIndividualPolygonControl.tsx
index cd71b8256..ce10f1775 100644
--- a/src/components/elements/Map-mapbox/MapControls/CheckIndividualPolygonControl.tsx
+++ b/src/components/elements/Map-mapbox/MapControls/CheckIndividualPolygonControl.tsx
@@ -10,7 +10,7 @@ import {
usePostV2TerrafundClipPolygonsPolygonUuid,
usePostV2TerrafundValidationPolygon
} from "@/generated/apiComponents";
-import { ClippedPolygonsResponse, SitePolygonsDataResponse } from "@/generated/apiSchemas";
+import { ClippedPolygonResponse, SitePolygonsDataResponse } from "@/generated/apiSchemas";
import Button from "../../Button/Button";
@@ -50,7 +50,7 @@ const CheckIndividualPolygonControl = ({ viewRequestSuport }: { viewRequestSupor
});
const { mutate: clipPolygons } = usePostV2TerrafundClipPolygonsPolygonUuid({
- onSuccess: async (data: ClippedPolygonsResponse) => {
+ onSuccess: async (data: ClippedPolygonResponse) => {
if (!data.updated_polygons?.length) {
openNotification("warning", t("No polygon have been fixed"), t("Please run 'Check Polygons' again."));
hideLoader();
diff --git a/src/components/elements/Map-mapbox/MapControls/CheckPolygonControl.tsx b/src/components/elements/Map-mapbox/MapControls/CheckPolygonControl.tsx
index af2770eff..6bbfed0b7 100644
--- a/src/components/elements/Map-mapbox/MapControls/CheckPolygonControl.tsx
+++ b/src/components/elements/Map-mapbox/MapControls/CheckPolygonControl.tsx
@@ -21,7 +21,7 @@ import {
usePostV2TerrafundClipPolygonsSiteUuid,
usePostV2TerrafundValidationSitePolygons
} from "@/generated/apiComponents";
-import { ClippedPolygonsResponse, SitePolygon } from "@/generated/apiSchemas";
+import { ClippedPolygonResponse, SitePolygon } from "@/generated/apiSchemas";
import Button from "../../Button/Button";
import Text from "../../Text/Text";
@@ -100,7 +100,7 @@ const CheckPolygonControl = (props: CheckSitePolygonProps) => {
});
const { mutate: clipPolygons } = usePostV2TerrafundClipPolygonsSiteUuid({
- onSuccess: (data: ClippedPolygonsResponse) => {
+ onSuccess: (data: ClippedPolygonResponse) => {
if (!data.updated_polygons?.length) {
openNotification("warning", t("No polygon have been fixed"), t("Please run 'Check Polygons' again."));
hideLoader();
diff --git a/src/components/elements/Map-mapbox/MapControls/DeleteBulkPolygonsControl.tsx b/src/components/elements/Map-mapbox/MapControls/DeleteBulkPolygonsControl.tsx
deleted file mode 100644
index ed9636b4f..000000000
--- a/src/components/elements/Map-mapbox/MapControls/DeleteBulkPolygonsControl.tsx
+++ /dev/null
@@ -1,69 +0,0 @@
-import { useT } from "@transifex/react";
-
-import Button from "@/components/elements/Button/Button";
-import Text from "@/components/elements/Text/Text";
-import { ModalId } from "@/components/extensive/Modal/ModalConst";
-import ModalDeleteBulkPolygons from "@/components/extensive/Modal/ModalDeleteBulkPolygons";
-import { useMapAreaContext } from "@/context/mapArea.provider";
-import { useModalContext } from "@/context/modal.provider";
-import { useSitePolygonData } from "@/context/sitePolygon.provider";
-import { SitePolygon } from "@/generated/apiSchemas";
-
-const DeleteBulkPolygonsControl = () => {
- const t = useT();
- const { openModal, closeModal } = useModalContext();
- const context = useSitePolygonData();
- const { selectedPolygonsInCheckbox, setSelectedPolygonsInCheckbox, setShouldRefetchPolygonData } =
- useMapAreaContext();
- const sitePolygonData = context?.sitePolygonData as Array;
-
- const openFormModalHandlerDeleteBulkPolygons = () => {
- openModal(
- ModalId.DELETE_BULK_POLYGONS,
- closeModal(ModalId.DELETE_BULK_POLYGONS)}
- content={t("Confirm that the following polygons will be deleted. This operation is not reversible.")}
- primaryButtonText={t("Delete")}
- primaryButtonProps={{
- className: "px-8 py-3",
- variant: "primary",
- onClick: () => {
- closeModal(ModalId.DELETE_BULK_POLYGONS);
- }
- }}
- secondaryButtonText={t("Cancel")}
- secondaryButtonProps={{
- className: "px-8 py-3",
- variant: "white-page-admin",
- onClick: () => closeModal(ModalId.DELETE_BULK_POLYGONS)
- }}
- sitePolygonData={sitePolygonData}
- selectedPolygonsInCheckbox={selectedPolygonsInCheckbox}
- refetch={() => {
- context?.reloadSiteData();
- setShouldRefetchPolygonData(true);
- setSelectedPolygonsInCheckbox([]);
- }}
- />
- );
- };
- return (
-
-
-
- {t("Click below to delete the selected polygons")}
-
- openFormModalHandlerDeleteBulkPolygons()}
- >
- {t("Delete Polygons")}
-
-
-
- );
-};
-
-export default DeleteBulkPolygonsControl;
diff --git a/src/components/elements/Map-mapbox/MapControls/ProcessBulkPolygonsControl.tsx b/src/components/elements/Map-mapbox/MapControls/ProcessBulkPolygonsControl.tsx
new file mode 100644
index 000000000..a83ee4497
--- /dev/null
+++ b/src/components/elements/Map-mapbox/MapControls/ProcessBulkPolygonsControl.tsx
@@ -0,0 +1,215 @@
+import { useT } from "@transifex/react";
+
+import Button from "@/components/elements/Button/Button";
+import Text from "@/components/elements/Text/Text";
+import { ModalId } from "@/components/extensive/Modal/ModalConst";
+import ModalFixOverlaps from "@/components/extensive/Modal/ModalFixOverlaps";
+import ModalProcessBulkPolygons from "@/components/extensive/Modal/ModalProcessBulkPolygons";
+import { useLoading } from "@/context/loaderAdmin.provider";
+import { useMapAreaContext } from "@/context/mapArea.provider";
+import { useModalContext } from "@/context/modal.provider";
+import { useNotificationContext } from "@/context/notification.provider";
+import { useSitePolygonData } from "@/context/sitePolygon.provider";
+import {
+ useDeleteV2TerrafundProjectPolygons,
+ usePostV2TerrafundClipPolygonsPolygons,
+ usePostV2TerrafundValidationPolygons
+} from "@/generated/apiComponents";
+import { SitePolygon } from "@/generated/apiSchemas";
+
+const ProcessBulkPolygonsControl = ({ entityData }: { entityData: any }) => {
+ const t = useT();
+ const { openModal, closeModal } = useModalContext();
+ const context = useSitePolygonData();
+ const { mutate: checkPolygons } = usePostV2TerrafundValidationPolygons();
+ const {
+ selectedPolygonsInCheckbox,
+ setSelectedPolygonsInCheckbox,
+ setShouldRefetchPolygonData,
+ setShouldRefetchValidation
+ } = useMapAreaContext();
+ const refetchData = () => {
+ context?.reloadSiteData();
+ setShouldRefetchValidation(true);
+ setShouldRefetchPolygonData(true);
+ setSelectedPolygonsInCheckbox([]);
+ };
+ const { showLoader, hideLoader } = useLoading();
+ const { openNotification } = useNotificationContext();
+ const { mutate: fixPolygons } = usePostV2TerrafundClipPolygonsPolygons();
+ const sitePolygonData = context?.sitePolygonData as Array;
+ const { mutate: deletePolygons } = useDeleteV2TerrafundProjectPolygons();
+ const openFormModalHandlerProcessBulkPolygons = (selectedUUIDs: string[]) => {
+ openModal(
+ ModalId.DELETE_BULK_POLYGONS,
+ closeModal(ModalId.DELETE_BULK_POLYGONS)}
+ content={t("Confirm that the following polygons will be deleted. This operation is not reversible.")}
+ primaryButtonText={t("Delete")}
+ primaryButtonProps={{
+ className: "px-8 py-3",
+ variant: "primary",
+ onClick: () => {
+ showLoader();
+ closeModal(ModalId.DELETE_BULK_POLYGONS);
+ deletePolygons(
+ {
+ body: {
+ uuids: selectedUUIDs
+ }
+ },
+ {
+ onSuccess: () => {
+ refetchData();
+ hideLoader();
+ openNotification("success", t("Success!"), t("Polygons deleted successfully"));
+ },
+ onError: () => {
+ hideLoader();
+ openNotification("error", t("Error!"), t("Failed to delete polygons"));
+ }
+ }
+ );
+ }
+ }}
+ secondaryButtonText={t("Cancel")}
+ secondaryButtonProps={{
+ className: "px-8 py-3",
+ variant: "white-page-admin",
+ onClick: () => closeModal(ModalId.DELETE_BULK_POLYGONS)
+ }}
+ sitePolygonData={sitePolygonData}
+ selectedPolygonsInCheckbox={selectedPolygonsInCheckbox}
+ />
+ );
+ };
+ const openFormModalHandlerSubmitPolygon = (selectedUUIDs: string[]) => {
+ openModal(
+ ModalId.FIX_POLYGONS,
+ closeModal(ModalId.FIX_POLYGONS)}
+ content={t(
+ "The following polygons have one or more failed criteria, for which an automated solution may be applied. Click 'Fix Polygons' to correct the issue as a new version."
+ )}
+ primaryButtonText={t("Fix Polygons")}
+ primaryButtonProps={{
+ className: "px-8 py-3",
+ variant: "primary",
+ onClick: () => {
+ showLoader();
+ fixPolygons(
+ {
+ body: {
+ uuids: selectedUUIDs
+ }
+ },
+ {
+ onSuccess: response => {
+ const processedNames = response?.processed?.map(item => item.poly_name).join(", ");
+ closeModal(ModalId.FIX_POLYGONS);
+ if (processedNames) {
+ openNotification(
+ "success",
+ t("Success!"),
+ t(`Polygons fixed successfully. Fixed: ${processedNames}`)
+ );
+ } else {
+ openNotification("warning", t("Warning"), t("No polygons were fixed."));
+ }
+ refetchData?.();
+ hideLoader();
+ },
+ onError: () => {
+ hideLoader();
+ openNotification("error", t("Error!"), t("Failed to fix polygons"));
+ }
+ }
+ );
+ }
+ }}
+ secondaryButtonText={t("Cancel")}
+ secondaryButtonProps={{
+ className: "px-8 py-3",
+ variant: "white-page-admin",
+ onClick: () => closeModal(ModalId.FIX_POLYGONS)
+ }}
+ selectedUUIDs={selectedUUIDs}
+ />
+ );
+ };
+ const runCheckPolygonsSelected = (selectedUUIDs: string[]) => {
+ checkPolygons(
+ {
+ body: {
+ uuids: selectedUUIDs
+ }
+ },
+ {
+ onSuccess: () => {
+ refetchData?.();
+ openNotification("success", t("Success!"), t("Polygons checked successfully"));
+ hideLoader();
+ },
+ onError: () => {
+ hideLoader();
+ openNotification("error", t("Error!"), t("Failed to check polygons"));
+ }
+ }
+ );
+ };
+
+ const handleOpen = (type: "check" | "fix" | "delete") => {
+ const initialSelection = sitePolygonData.map((polygon: any) =>
+ selectedPolygonsInCheckbox.includes(polygon.poly_id)
+ );
+ const selectedUUIDs: string[] = sitePolygonData
+ .filter((_, index) => initialSelection[index])
+ .map((polygon: SitePolygon) => polygon.poly_id || "");
+ if (type === "check") {
+ showLoader();
+ runCheckPolygonsSelected(selectedUUIDs);
+ } else if (type === "fix") {
+ openFormModalHandlerSubmitPolygon(selectedUUIDs);
+ } else {
+ openFormModalHandlerProcessBulkPolygons(selectedUUIDs);
+ }
+ };
+
+ return (
+
+
+
+ {t("Click below to process the selected polygons")}
+
+
+ handleOpen("delete")}
+ >
+ {t("Delete")}
+
+ handleOpen("check")}
+ >
+ {t("Check")}
+
+ handleOpen("fix")}
+ >
+ {t("Fix")}
+
+
+
+
+ );
+};
+
+export default ProcessBulkPolygonsControl;
diff --git a/src/components/elements/Map-mapbox/MapControls/ViewImageCarousel.tsx b/src/components/elements/Map-mapbox/MapControls/ViewImageCarousel.tsx
index 01a13e581..a0438e908 100644
--- a/src/components/elements/Map-mapbox/MapControls/ViewImageCarousel.tsx
+++ b/src/components/elements/Map-mapbox/MapControls/ViewImageCarousel.tsx
@@ -1,5 +1,5 @@
import { t } from "@transifex/native";
-import { useMemo, useState } from "react";
+import { useEffect, useMemo, useState } from "react";
import Icon, { IconNames } from "@/components/extensive/Icon/Icon";
import ModalImageGallery, { TabImagesItem } from "@/components/extensive/Modal/ModalImageGallery";
@@ -8,7 +8,13 @@ import { GetV2MODELUUIDFilesResponse } from "@/generated/apiComponents";
import Button from "../../Button/Button";
import Text from "../../Text/Text";
-const ViewImageCarousel = ({ modelFilesData }: { modelFilesData: GetV2MODELUUIDFilesResponse["data"] }) => {
+const ViewImageCarousel = ({
+ modelFilesData,
+ imageGalleryRef
+}: {
+ modelFilesData: GetV2MODELUUIDFilesResponse["data"];
+ imageGalleryRef?: React.RefObject;
+}) => {
const modelFilesTabItems: TabImagesItem[] = useMemo(() => {
const modelFilesGeolocalized: GetV2MODELUUIDFilesResponse["data"] = [];
const modelFilesNonGeolocalized: GetV2MODELUUIDFilesResponse["data"] = [];
@@ -46,9 +52,54 @@ const ViewImageCarousel = ({ modelFilesData }: { modelFilesData: GetV2MODELUUIDF
}, [modelFilesData]);
const [openModal, setOpenModal] = useState(false);
+
+ const scrollToGalleryElement = () => {
+ if (imageGalleryRef?.current) {
+ const element = imageGalleryRef.current;
+ const topPosition = element.getBoundingClientRect().top + window.scrollY - 70;
+ window.scrollTo({
+ top: topPosition,
+ behavior: "smooth"
+ });
+ }
+ };
+
+ const scrollToElement = () => {
+ let route = window.location.href;
+ if (route.includes("admin")) {
+ if (window.location.hash.includes("show")) {
+ const newUrl = window.location.hash.replace(/show\/\d+/, "show/2");
+ window.location.hash = newUrl;
+ }
+ return;
+ }
+
+ if ((route.includes("site/") || route.includes("project/")) && !route.includes("tab=")) {
+ const newUrl = `${route}?tab=overview`;
+ route = newUrl;
+ window.history.replaceState(null, "", newUrl);
+ }
+
+ if (route.includes("tab=overview")) {
+ const newUrl = route.replace("tab=overview", "tab=gallery");
+
+ sessionStorage.setItem("scrollToElement", "true");
+ window.location.href = newUrl;
+ }
+
+ scrollToGalleryElement();
+ };
+
+ useEffect(() => {
+ if (sessionStorage.getItem("scrollToElement") === "true") {
+ scrollToGalleryElement();
+ sessionStorage.removeItem("scrollToElement");
+ }
+ }, []);
+
return (
-
setOpenModal(!openModal)}>
+ scrollToElement()}>
{t("View Gallery")}
diff --git a/src/components/elements/Map-mapbox/components/ControlGroup.tsx b/src/components/elements/Map-mapbox/components/ControlGroup.tsx
index 2c6fdaed2..6ef67eb6f 100644
--- a/src/components/elements/Map-mapbox/components/ControlGroup.tsx
+++ b/src/components/elements/Map-mapbox/components/ControlGroup.tsx
@@ -13,7 +13,8 @@ export interface ControlGroupProps
| "bottom-left-site"
| "top-center"
| "top-left-site"
- | "top-centerSite";
+ | "top-centerSite"
+ | "top-centerPolygonsInCheckbox";
}
const ControlGroup = ({ children, position, className, ...props }: ControlGroupProps) => {
@@ -28,7 +29,8 @@ const ControlGroup = ({ children, position, className, ...props }: ControlGroupP
"bottom-8": position.includes("bottom"),
"!left-[24vw] items-start": position.includes("site"),
"left-[45%]": position.includes("center"),
- "left-[calc(50%+11.5vw)] -translate-x-1/2": position.includes("centerSite")
+ "left-[calc(50%+11.5vw)] -translate-x-1/2": position.includes("centerSite"),
+ "left-[34%] lg:left-[35.5%]": position.includes("centerPolygonsInCheckbox")
}),
className
)}
diff --git a/src/components/elements/Map-mapbox/components/MediaPopup.tsx b/src/components/elements/Map-mapbox/components/MediaPopup.tsx
index e16d633e4..1a1d36c88 100644
--- a/src/components/elements/Map-mapbox/components/MediaPopup.tsx
+++ b/src/components/elements/Map-mapbox/components/MediaPopup.tsx
@@ -7,6 +7,8 @@ import Icon, { IconNames } from "@/components/extensive/Icon/Icon";
import ImagePreview from "../../ImageGallery/ImagePreview";
import ImageWithPlaceholder from "../../ImageWithPlaceholder/ImageWithPlaceholder";
+import Menu from "../../Menu/Menu";
+import { MENU_PLACEMENT_RIGHT_BOTTOM } from "../../Menu/MenuVariant";
const client = new QueryClient();
@@ -15,16 +17,60 @@ export const MediaPopup = ({
name,
created_date,
file_url,
- onClose
+ onClose,
+ handleDownload,
+ coverImage,
+ handleDelete,
+ openModalImageDetail,
+ isProjectPath
}: {
uuid: string;
name: string;
created_date: string;
file_url: string;
onClose: () => void;
+ handleDownload: () => void;
+ coverImage: () => void;
+ handleDelete: () => void;
+ openModalImageDetail: () => void;
+ isProjectPath: boolean;
}) => {
const [openModal, setOpenModal] = useState(false);
const t = useT();
+
+ const addMenuItems = [
+ {
+ id: "1",
+ render: () => {t("Edit Attributes")} ,
+ onClick: openModalImageDetail
+ },
+ {
+ id: "2",
+ render: () => {t("Download")} ,
+ onClick: handleDownload
+ },
+ ...(isProjectPath
+ ? [
+ {
+ id: "3",
+ render: () => {t("Make Cover")} ,
+ onClick: coverImage
+ }
+ ]
+ : []),
+
+ {
+ id: "3.5",
+ type: "line" as const,
+ render: () => null
+ },
+ {
+ id: "4",
+ render: () => {t("Delete")} ,
+ onClick: handleDelete
+ }
+ ];
+
return (
<>
@@ -42,22 +88,30 @@ export const MediaPopup = ({
-
-
- {name}
-
-
- {new Date(created_date).toLocaleDateString("en-US", {
- month: "long",
- day: "numeric",
- year: "numeric",
- timeZone: "UTC"
- })}
-
+
+
+
+ {name}
+
+
+ {new Date(created_date).toLocaleDateString("en-US", {
+ month: "long",
+ day: "numeric",
+ year: "numeric",
+ timeZone: "UTC"
+ })}
+
+
+
+ {" "}
+
diff --git a/src/components/elements/Map-mapbox/utils.ts b/src/components/elements/Map-mapbox/utils.ts
index 2cb156c7b..aae52aeac 100644
--- a/src/components/elements/Map-mapbox/utils.ts
+++ b/src/components/elements/Map-mapbox/utils.ts
@@ -216,7 +216,15 @@ export const addGeojsonToDraw = (
}
};
-export const addMediaSourceAndLayer = (map: mapboxgl.Map, modelFilesData: GetV2MODELUUIDFilesResponse["data"]) => {
+export const addMediaSourceAndLayer = (
+ map: mapboxgl.Map,
+ modelFilesData: GetV2MODELUUIDFilesResponse["data"],
+ setImageCover: Function,
+ handleDownload: Function,
+ handleDelete: Function,
+ openModalImageDetail: Function,
+ isProjectPath: boolean
+) => {
const layerName = LAYERS_NAMES.MEDIA_IMAGES;
removeMediaLayer(map);
removePopups("MEDIA");
@@ -235,9 +243,19 @@ export const addMediaSourceAndLayer = (map: mapboxgl.Map, modelFilesData: GetV2M
},
properties: {
uuid: modelFile.uuid,
- name: modelFile.file_name,
+ name: modelFile.name,
created_date: modelFile.created_date,
- file_url: modelFile.file_url
+ file_url: modelFile.file_url,
+ location: {
+ lat: modelFile.location?.lat,
+ lng: modelFile.location?.lng
+ },
+ is_cover: modelFile.is_cover,
+ is_public: modelFile.is_public,
+ photographer: (modelFile as any).photographer || null,
+ description: (modelFile as any).description || null,
+ mime_type: modelFile.mime_type,
+ file_name: modelFile.file_name
}
}));
@@ -270,12 +288,30 @@ export const addMediaSourceAndLayer = (map: mapboxgl.Map, modelFilesData: GetV2M
let popupContent = document.createElement("div");
popupContent.className = "popup-content-media";
const root = createRoot(popupContent);
+
+ const coverImage = () => {
+ setImageCover(feature?.properties?.uuid);
+ };
+ const handleDownloadFunction = () => {
+ handleDownload(feature?.properties?.uuid, feature?.properties?.name);
+ };
+ const handleDeleteFunction = () => {
+ handleDelete(feature?.properties?.uuid);
+ };
+ const openModalImageDetailFunction = () => {
+ openModalImageDetail(feature?.properties);
+ };
root.render(
createElement(MediaPopup, {
...feature.properties,
onClose: () => {
removePopups("MEDIA");
- }
+ },
+ handleDownload: handleDownloadFunction,
+ coverImage: coverImage,
+ handleDelete: handleDeleteFunction,
+ openModalImageDetail: openModalImageDetailFunction,
+ isProjectPath: isProjectPath
})
);
popup = new mapboxgl.Popup({ className: "popup-media", closeButton: false })
diff --git a/src/components/elements/Menu/Menu.tsx b/src/components/elements/Menu/Menu.tsx
index 072efb300..d627644d9 100644
--- a/src/components/elements/Menu/Menu.tsx
+++ b/src/components/elements/Menu/Menu.tsx
@@ -169,7 +169,7 @@ const Menu = (props: MenuProps) => {
return (
{
e.stopPropagation();
setIsOpen(!isOpen);
diff --git a/src/components/elements/Menu/__snapshots__/Menu.stories.storyshot b/src/components/elements/Menu/__snapshots__/Menu.stories.storyshot
index 69ab43fa1..716b6733c 100644
--- a/src/components/elements/Menu/__snapshots__/Menu.stories.storyshot
+++ b/src/components/elements/Menu/__snapshots__/Menu.stories.storyshot
@@ -2,7 +2,7 @@
exports[`Storyshots Components/Elements/Menu Placement Bottom Left 1`] = `
({
setSorting(sorting);
onTableStateChange?.({ sorting, filters });
},
+ getRowId: (row: any) => row.uuid,
debugTable: process.env.NODE_ENV === "development"
});
diff --git a/src/components/elements/Table/TableVariants.ts b/src/components/elements/Table/TableVariants.ts
index d1eae1bc9..5ebbee11f 100644
--- a/src/components/elements/Table/TableVariants.ts
+++ b/src/components/elements/Table/TableVariants.ts
@@ -117,3 +117,16 @@ export const VARIANT_TABLE_ORGANISATION = {
tdBody: "first:rounded-l-lg last:rounded-r-lg text-14-light text-gray-700 px-2 py-3 border-b border-neutral-200",
thead: "bg-transparent"
};
+
+export const VARIANT_TABLE_DASHBOARD_COUNTRIES = {
+ table: "border-collapse",
+ name: "border-airtable",
+ tableWrapper: "border border-neutral-200 rounded-lg overflow-hidden",
+ trHeader: "bg-neutral-150",
+ thHeader:
+ "first:pl-3 first:pr-2 last:pl-2 last:pr-3 border-y border-neutral-200 text-10 whitespace-normal px-1.5 border-t-0",
+ tBody: "",
+ trBody: "bg-white border-y border-neutral-200 last:border-b-0",
+ tdBody: "text-10-light px-2 py-3 first:pl-4 first:pr-2 last:pl-2 last:pr-4",
+ thead: "bg-blueCustom-100"
+};
diff --git a/src/components/elements/Toggle/Toggle.tsx b/src/components/elements/Toggle/Toggle.tsx
index 445e85087..7b8285b44 100644
--- a/src/components/elements/Toggle/Toggle.tsx
+++ b/src/components/elements/Toggle/Toggle.tsx
@@ -1,16 +1,19 @@
import classNames from "classnames";
import React, { useEffect, useRef, useState } from "react";
+import { ToggleVariants, VARIANT_TOGGLE_PRIMARY } from "./ToggleVariants";
+
export interface ToggleProps {
items: string[];
activeIndex: number;
setActiveIndex: React.Dispatch>;
textClassName?: string;
disabledIndexes?: number[];
+ variant?: ToggleVariants;
}
const Toggle = (props: ToggleProps) => {
- const { items, activeIndex, setActiveIndex, disabledIndexes = [] } = props;
+ const { items, activeIndex, setActiveIndex, disabledIndexes = [], variant = VARIANT_TOGGLE_PRIMARY } = props;
const [width, setWidth] = useState(0);
const buttonRefs = useRef<(HTMLButtonElement | null)[]>([]);
@@ -25,9 +28,9 @@ const Toggle = (props: ToggleProps) => {
const isDisabled = (index: number) => disabledIndexes.includes(index);
return (
-
+
{
className={classNames(
"hover:stroke-blue-950 hover:text-blue-950 group relative z-10 inline-flex h-full w-max min-w-[32px] items-center justify-center gap-1 whitespace-nowrap px-3 align-middle transition-all duration-300 ease-in-out",
props.textClassName,
- {
- "text-14-bold text-darkCustom": activeIndex === index,
- "text-14-bold text-darkCustom-60": activeIndex !== index
- }
+ activeIndex === index && variant.textActive,
+ activeIndex !== index && variant.textInactive
)}
>
{tab}
diff --git a/src/components/elements/Toggle/ToggleVariants.ts b/src/components/elements/Toggle/ToggleVariants.ts
new file mode 100644
index 000000000..066b0d822
--- /dev/null
+++ b/src/components/elements/Toggle/ToggleVariants.ts
@@ -0,0 +1,23 @@
+export interface ToggleVariants {
+ container: string;
+ activeToggle: string;
+ textActive: string;
+ textInactive: string;
+ heightBtn: number;
+}
+
+export const VARIANT_TOGGLE_PRIMARY = {
+ container: "rounded-lg bg-neutral-40 p-1",
+ activeToggle: "rounded-lg bg-white h-[calc(100%_-_8px)]",
+ textActive: "text-14-bold text-darkCustom",
+ textInactive: "text-14-bold text-darkCustom-60",
+ heightBtn: 8
+};
+
+export const VARIANT_TOGGLE_DASHBOARD = {
+ container: "bg-white border-b border-grey-1000 p-0",
+ activeToggle: "bg-transparent border-b-2 border-blueCustom-700 h-[calc(100%_-_2px)] left-1",
+ textActive: "text-12-bold text-blueCustom-700 pb-1",
+ textInactive: "text-12-light text-darkCustom-40 pb-1",
+ heightBtn: 2
+};
diff --git a/src/components/elements/Toggle/__snapshots__/Toggle.stories.storyshot b/src/components/elements/Toggle/__snapshots__/Toggle.stories.storyshot
index 0af70a4df..008d61380 100644
--- a/src/components/elements/Toggle/__snapshots__/Toggle.stories.storyshot
+++ b/src/components/elements/Toggle/__snapshots__/Toggle.stories.storyshot
@@ -8,7 +8,7 @@ exports[`Storyshots Components/Elements/Toggle Horizontal 1`] = `
className="relative flex rounded-lg bg-neutral-40 p-1"
>
{
const { openModal, closeModal } = useModalContext();
+ const contextMapArea = useMapAreaContext();
+ const { shouldRefetchMediaData, setShouldRefetchMediaData } = contextMapArea;
const t = useT();
const [pagination, setPagination] = useState({ page: 1, pageSize: 10 });
const [filter, setFilter] = useState<{ key: string; value: string }>();
- const [files, setFiles] = useState
([]);
- const [saveFlag, setSaveFlag] = useState(false);
const [searchString, setSearchString] = useState("");
const [isGeotagged, setIsGeotagged] = useState(0);
const [sortOrder, setSortOrder] = useState<"asc" | "desc">("desc");
@@ -59,8 +58,8 @@ const EntityMapAndGalleryCard = ({
isPublic: undefined,
modelType: undefined
});
- const { showLoader, hideLoader } = useLoading();
const mapFunctions = useMap();
+ const imageGalleryRef = useRef(null);
const router = useRouter();
const projectUUID = router.query.uuid as string;
const queryParams: any = {
@@ -89,12 +88,6 @@ const EntityMapAndGalleryCard = ({
}
});
- const { mutate: uploadFile } = usePostV2FileUploadMODELCOLLECTIONUUID({
- onSuccess() {
- refetch();
- }
- });
-
const mapBbox = sitePolygonData?.bbox as BBox;
const polygonDataMap = mapPolygonData(sitePolygonData?.polygonsData);
@@ -140,67 +133,45 @@ const EntityMapAndGalleryCard = ({
return mapping?.[modelName] || [];
}, [modelName, t]);
+ useEffect(() => {
+ if (shouldRefetchMediaData) {
+ refetch();
+ setShouldRefetchMediaData(false);
+ }
+ }, [shouldRefetchMediaData]);
+
const openFormModalHandlerUploadImages = () => {
openModal(
ModalId.UPLOAD_IMAGES,
-
- {t("Uploaded Files")}
-
- }
+ previewAsTable
+ descriptionInput={t("drag and drop or browse your device")}
onClose={() => closeModal(ModalId.UPLOAD_IMAGES)}
- content={t("Start by adding images for processing.")}
+ content={t(
+ `if operations have begun, please upload images or videos of this specific ${getCurrentPathEntity()}`
+ )}
acceptedTypes={FileType.Image.split(",") as FileType[]}
primaryButtonText={t("Save")}
primaryButtonProps={{
className: "px-8 py-3",
variant: "primary",
onClick: () => {
- setSaveFlag(true);
+ refetch();
+ closeModal(ModalId.UPLOAD_IMAGES);
}
}}
- setFile={setFiles}
+ model={modelName}
+ collection="media"
+ entityData={entityData}
+ setErrorMessage={message => {
+ console.error(message);
+ }}
/>
);
};
- useEffect(() => {
- if (saveFlag) {
- showLoader();
- const uploadPromises = files.map((file: any) => {
- const bodyFiles = new FormData();
- bodyFiles.append("upload_file", file.rawFile);
-
- return uploadFile({
- pathParams: {
- model: modelName,
- collection: "media",
- uuid: modelUUID
- },
- //@ts-ignore swagger issue
- body: bodyFiles
- });
- });
-
- Promise.all(uploadPromises)
- .then(() => {
- setSaveFlag(false);
- hideLoader();
- closeModal(ModalId.UPLOAD_IMAGES);
- })
- .catch(error => {
- console.error("Error uploading files:", error);
- hideLoader();
- });
- }
- }, [files, saveFlag, closeModal, modelName, modelUUID, uploadFile, showLoader, hideLoader]);
-
return (
<>
@@ -216,6 +187,8 @@ const EntityMapAndGalleryCard = ({
hasControls
showPopups
modelFilesData={data?.data}
+ entityData={entityData}
+ imageGalleryRef={imageGalleryRef}
/>
- {t("Upload Images")}}
- >
- ({
- //@ts-ignore
- uuid: file.uuid!,
- fullImageUrl: file.file_url!,
- thumbnailImageUrl: file.thumb_url!,
- label: file.model_name!,
- isPublic: file.is_public!,
- isGeotagged: file?.location?.lat !== 0 && file?.location?.lng !== 0,
- isCover: file.is_cover,
- raw: file
- })) || []
- }
- entity={modelName}
- entityData={entityData}
- pageCount={data?.meta?.last_page || 1}
- onDeleteConfirm={uuid => deleteFile({ pathParams: { uuid } })}
- onGalleryStateChange={(pagination, filter) => {
- setPagination(pagination);
- setFilter(filter);
- }}
- filterOptions={filterOptions}
- onChangeSearch={setSearchString}
- onChangeGeotagged={setIsGeotagged}
- reloadGalleryImages={refetch}
- sortOrder={sortOrder}
- setSortOrder={setSortOrder}
- setFilters={setFilters}
- isLoading={isLoading}
- />
-
+
+
{t("Upload Images")}}
+ >
+ ({
+ //@ts-ignore
+ uuid: file.uuid!,
+ fullImageUrl: file.file_url!,
+ thumbnailImageUrl: file.thumb_url!,
+ label: file.model_name!,
+ isPublic: file.is_public!,
+ isGeotagged: file?.location?.lat !== 0 && file?.location?.lng !== 0,
+ isCover: file.is_cover,
+ raw: file
+ })) || []
+ }
+ entity={modelName}
+ entityData={entityData}
+ pageCount={data?.meta?.last_page || 1}
+ onDeleteConfirm={uuid => deleteFile({ pathParams: { uuid } })}
+ onGalleryStateChange={(pagination, filter) => {
+ setPagination(pagination);
+ setFilter(filter);
+ }}
+ filterOptions={filterOptions}
+ onChangeSearch={setSearchString}
+ onChangeGeotagged={setIsGeotagged}
+ reloadGalleryImages={refetch}
+ sortOrder={sortOrder}
+ setSortOrder={setSortOrder}
+ setFilters={setFilters}
+ isLoading={isLoading}
+ />
+
+
>
diff --git a/src/components/extensive/Icon/Icon.tsx b/src/components/extensive/Icon/Icon.tsx
index da039294c..bac307a12 100644
--- a/src/components/extensive/Icon/Icon.tsx
+++ b/src/components/extensive/Icon/Icon.tsx
@@ -131,6 +131,8 @@ export enum IconNames {
REQUEST = "request",
COMMENT = "comment",
CHEVRON_DOWN_PA = "chevron-down-pa",
+ CHEVRON_DOWN_DASH = "chevron-down-dash",
+ FRAMEWORK_PROGRAMME = "framework-programme",
PAPER_CLIP = "paper-clip",
CHECK_PROGRESSBAR_NULL = "check-progressbar-null",
UPLOAD_CLOUD = "upload-cloud",
@@ -164,7 +166,27 @@ export enum IconNames {
DOCUMENT_CIRCLE_HOMEPAGE = "document-circle-home",
TREE_CIRCLE_HOMEPAGE = "tree-circle-home",
IC_A_TO_Z_CUSTOM = "ic-a-to-z-custom",
- IC_Z_TO_A_CUSTOM = "ic-z-to-a-custom"
+ IC_Z_TO_A_CUSTOM = "ic-z-to-a-custom",
+ TERRAFUND_lOGO_MINI = "ic-terrafund-mini",
+ DASHBOARDS = "dashboards",
+ PROJECT_PROFILE = "project-profile",
+ DASHBOARD_AIRTABLE = "dashboard-airtable",
+ DASHBOARD_REPORTS = "dashboard-reports",
+ ABOUT_US = "about-us",
+ EXPAND = "expand",
+ COLLAPSE = "collapse",
+ IC_AGROFOREST = "targetLand/Agroforest",
+ IC_NATURAL_FOREST = "targetLand/NaturalForest",
+ IC_MANGROVE = "targetLand/Mangrove",
+ IC_WOODLOT = "targetLand/Woodlot",
+ IC_OPEN_NATURAL_ECOSYSTEM = "targetLand/OpenNaturalEcosystem",
+ IC_RIPARIAN_AREA = "targetLand/RiparianArea",
+ IC_URBAN_FOREST = "targetLand/UrbanForest",
+ IC_SILVOPASTURE = "targetLand/Silvopasture",
+ IC_PEATLAND = "targetLand/Peatland",
+ IC_LEGEND_MAP = "ic-legend-map",
+ EDIT_PA = "edit-pa",
+ PIN = "pin"
}
export interface IconProps {
diff --git a/src/components/extensive/Modal/ModalAdd.tsx b/src/components/extensive/Modal/ModalAdd.tsx
index 456bc2ff1..1aa0d5d17 100644
--- a/src/components/extensive/Modal/ModalAdd.tsx
+++ b/src/components/extensive/Modal/ModalAdd.tsx
@@ -36,6 +36,7 @@ export interface ModalAddProps extends ModalProps {
secondContent?: string;
btnDownloadProps?: IButtonProps;
setErrorMessage?: (message: string) => void;
+ previewAsTable?: boolean;
}
const ModalAdd: FC = ({
@@ -62,6 +63,7 @@ const ModalAdd: FC = ({
btnDownload = false,
btnDownloadProps,
setErrorMessage,
+ previewAsTable,
...rest
}) => {
const [files, setFiles] = useState([]);
@@ -167,6 +169,7 @@ const ModalAdd: FC = ({
void;
+ setFile?: (file: UploadedFile[]) => void;
+ allowMultiple?: boolean;
+ btnDownload?: boolean;
+ secondTitle?: string;
+ secondContent?: string;
+ btnDownloadProps?: IButtonProps;
+ setErrorMessage?: (message: string) => void;
+ previewAsTable?: boolean;
+ model: string;
+ collection: string;
+ entityData: any;
+}
+
+const ModalAddImages: FC = ({
+ iconProps,
+ title,
+ secondTitle,
+ content,
+ secondContent,
+ primaryButtonProps,
+ primaryButtonText,
+ secondaryButtonProps,
+ secondaryButtonText,
+ descriptionInput,
+ descriptionList,
+ descriptionListStatus,
+ acceptedTypes,
+ maxFileSize = 10485760, // Default to 10MB
+ variantFileInput = VARIANT_FILE_INPUT_MODAL_ADD,
+ children,
+ status,
+ setFile,
+ onClose,
+ allowMultiple = true,
+ btnDownload = false,
+ btnDownloadProps,
+ setErrorMessage,
+ previewAsTable,
+ model,
+ collection,
+ entityData,
+ ...rest
+}) => {
+ const t = useT();
+ const [files, setFiles] = useState([]);
+
+ const { mutate: uploadFile } = usePostV2FileUploadMODELCOLLECTIONUUID({
+ onSuccess(data, variables) {
+ //@ts-ignore swagger issue
+ addFileToValue({ ...data.data, rawFile: variables.file, uploadState: { isSuccess: true, isLoading: false } });
+ },
+ onError(err, variables: any) {
+ if (err?.statusCode === 422 && Array.isArray(err?.errors)) {
+ const file = variables.file;
+
+ addFileToValue({
+ collection_name: variables.pathParams.collection,
+ size: file?.size,
+ file_name: file?.name,
+ title: file?.name,
+ mime_type: file?.type,
+ is_cover: false,
+ is_public: true,
+ rawFile: file,
+ uploadState: {
+ isLoading: false,
+ isSuccess: false
+ }
+ });
+ }
+ }
+ });
+
+ const { mutate: deleteFile } = useDeleteV2FilesUUID({
+ onSuccess(data) {
+ //@ts-ignore swagger issue
+ removeFileFromValue(data.data);
+ },
+ onError(err) {
+ setErrorMessage?.(`Error deleting file: ${err}`);
+ }
+ });
+
+ useEffect(() => {
+ if (setFile) {
+ setFile(files);
+ }
+ }, [files, setFile]);
+
+ const addFileToValue = (file: Partial) => {
+ setFiles(value => {
+ if (Array.isArray(value) && allowMultiple) {
+ const tmp = [...value];
+ const index = tmp.findIndex(item => {
+ if (!!file.uuid && file.uuid === item.uuid) {
+ return true;
+ } else if (!!file.rawFile && item.rawFile === file.rawFile) {
+ return true;
+ } else {
+ return false;
+ }
+ });
+
+ if (index === -1) {
+ return [...tmp, file as UploadedFile];
+ } else {
+ tmp.splice(index, 1, file as UploadedFile);
+ return tmp;
+ }
+ } else {
+ return [file as UploadedFile];
+ }
+ });
+ };
+
+ const removeFileFromValue = (file: Partial) => {
+ setFiles(value => {
+ if (Array.isArray(value)) {
+ return value.filter(v => v.uuid !== file.uuid);
+ } else {
+ return [];
+ }
+ });
+ };
+
+ const handleDeleteFile = (file: Partial) => {
+ if (file.uuid) {
+ addFileToValue({
+ ...file,
+ uploadState: {
+ isLoading: false,
+ isSuccess: false,
+ isDeleting: true
+ }
+ });
+ deleteFile({ pathParams: { uuid: file.uuid } });
+ } else {
+ removeFileFromValue(file);
+ }
+ };
+
+ const handleFileChange = async (newFiles: File[]) => {
+ const acceptedFileTypes = (acceptedTypes ?? []).map(type => `${type}`.trim());
+
+ for (const file of newFiles) {
+ if (
+ acceptedFileTypes.length > 0 &&
+ !acceptedFileTypes.some(type => file.type === type || file.name.endsWith(type))
+ ) {
+ setErrorMessage?.(t(`Unsupported file type. Please upload files of type: ${acceptedFileTypes.join(", ")}`));
+ continue;
+ }
+ if (file.size > maxFileSize) {
+ setErrorMessage?.(t(`File size exceeds the limit of ${maxFileSize / 1048576} MB`));
+ continue;
+ }
+
+ addFileToValue({
+ collection_name: collection,
+ size: file.size,
+ file_name: file.name,
+ title: file.name,
+ mime_type: file.type,
+ rawFile: file,
+ uploadState: {
+ isLoading: true
+ }
+ });
+
+ const body = new FormData();
+ body.append("upload_file", file);
+
+ try {
+ const location = await exifr.gps(file);
+
+ if (location) {
+ body.append("lat", location.latitude.toString());
+ body.append("lng", location.longitude.toString());
+ }
+ } catch (e) {
+ console.log(e);
+ }
+
+ uploadFile?.({
+ pathParams: { model, collection, uuid: entityData.uuid },
+ file: file,
+ //@ts-ignore swagger issue
+ body
+ });
+ }
+ };
+
+ const deleteAllFiles = useCallback(() => {
+ files.forEach(file => {
+ if (file.uuid) {
+ deleteFile({ pathParams: { uuid: file.uuid } });
+ }
+ });
+ setFiles([]);
+ }, [files, deleteFile]);
+
+ const handleClose = useCallback(() => {
+ deleteAllFiles();
+ onClose?.();
+ }, [deleteAllFiles, onClose]);
+
+ const updateFileInValue = (updatedFile: Partial) => {
+ setFiles(prevFiles => {
+ const updatedFiles = prevFiles.map(file => (file.uuid === updatedFile.uuid ? { ...file, ...updatedFile } : file));
+ return updatedFiles;
+ });
+ };
+
+ return (
+
+
+
+
+
+
+
+ {title}
+
+
+
+ {content}
+
+
+
+
+ {t("Download")}
+
+
+
+
+ {secondTitle}
+
+
+
+
+ {secondContent}
+
+
+
+ {children}
+
+
+
+
+
+ {secondaryButtonText}
+
+
+
+
+
+ {primaryButtonText}
+
+
+
+
+ );
+};
+
+export default ModalAddImages;
diff --git a/src/components/extensive/Modal/ModalFixOverlaps.tsx b/src/components/extensive/Modal/ModalFixOverlaps.tsx
index e9cae6df8..8dafdfcb2 100644
--- a/src/components/extensive/Modal/ModalFixOverlaps.tsx
+++ b/src/components/extensive/Modal/ModalFixOverlaps.tsx
@@ -27,6 +27,7 @@ export interface ModalFixOverlapsProps extends ModalProps {
toggleButton?: boolean;
status?: StatusEnum;
onClose?: () => void;
+ selectedUUIDs?: string[];
site: any;
}
@@ -60,6 +61,7 @@ const ModalFixOverlaps: FC = ({
status,
site,
onClose,
+ selectedUUIDs,
...rest
}) => {
const { data: polygonList } = useGetV2SitesSitePolygon({ pathParams: { site: site.uuid } });
@@ -83,9 +85,13 @@ const ModalFixOverlaps: FC = ({
useEffect(() => {
if (!polygonList || !polygonsCriteriaData) return;
- const failingPolygons = polygonList.filter(polygon => {
+ const filteredPolygonList = selectedUUIDs
+ ? polygonList.filter(polygon => polygon.poly_id && selectedUUIDs.includes(polygon.poly_id))
+ : polygonList;
+
+ const failingPolygons = filteredPolygonList.filter(polygon => {
const criteria = polygonsCriteriaData.find(criteria => criteria.uuid === polygon.poly_id);
- return !memoizedCheckValidCriteria(criteria as Criteria);
+ return polygon.poly_id && !memoizedCheckValidCriteria(criteria as Criteria);
});
setDisplayedPolygons(
diff --git a/src/components/extensive/Modal/ModalImageDetails.tsx b/src/components/extensive/Modal/ModalImageDetails.tsx
index fdee88092..346c4fea4 100644
--- a/src/components/extensive/Modal/ModalImageDetails.tsx
+++ b/src/components/extensive/Modal/ModalImageDetails.tsx
@@ -27,6 +27,7 @@ export interface ModalImageDetailProps extends ModalProps {
handleDelete?: (uuid: string) => void;
data: any;
entityData: any;
+ updateValuesInForm?: (updatedItem: any) => void;
}
const ModalImageDetails: FC = ({
@@ -41,6 +42,7 @@ const ModalImageDetails: FC = ({
handleDelete: onDeleteConfirm,
data,
entityData,
+ updateValuesInForm,
...rest
}) => {
const t = useT();
@@ -94,17 +96,17 @@ const ModalImageDetails: FC = ({
formData.photographer !== initialFormData.photographer ||
formData.is_public !== initialFormData.is_public
) {
- updatePromises.push(
- updateMedia({
- pathParams: { uuid: data.uuid },
- body: {
- name: formData.name,
- description: formData.description,
- photographer: formData.photographer,
- is_public: formData.is_public
- }
- })
- );
+ const mediaUpdate = updateMedia({
+ pathParams: { uuid: data.uuid },
+ body: {
+ name: formData.name,
+ description: formData.description,
+ photographer: formData.photographer,
+ is_public: formData.is_public
+ }
+ });
+
+ updatePromises.push(mediaUpdate);
}
if (formData.is_cover !== initialFormData.is_cover && formData.is_cover) {
@@ -118,6 +120,19 @@ const ModalImageDetails: FC = ({
await Promise.all(updatePromises);
openNotification("success", t("Success!"), t("Image updated successfully"));
reloadGalleryImages?.();
+
+ const updatedData = {
+ ...data.raw,
+ name: formData.name,
+ title: formData.name,
+ description: formData.description,
+ photographer: formData.photographer,
+ is_public: formData.is_public,
+ is_cover: formData.is_cover,
+ uuid: data.uuid
+ };
+ updateValuesInForm?.(updatedData);
+
onClose?.();
} catch (error) {
openNotification("error", t("Error"), t("Failed to update image details"));
@@ -192,7 +207,7 @@ const ModalImageDetails: FC = ({
onChange={e => handleInputChange("name", e.target.value)}
labelClassName="text-14-bold !normal-case"
/>
- {entityData.project ? (
+ {entityData.project || entityData.model !== "project" ? (
<>>
) : (
diff --git a/src/components/extensive/Modal/ModalDeleteBulkPolygons.tsx b/src/components/extensive/Modal/ModalProcessBulkPolygons.tsx
similarity index 79%
rename from src/components/extensive/Modal/ModalDeleteBulkPolygons.tsx
rename to src/components/extensive/Modal/ModalProcessBulkPolygons.tsx
index 4faf60c1b..4da225a1d 100644
--- a/src/components/extensive/Modal/ModalDeleteBulkPolygons.tsx
+++ b/src/components/extensive/Modal/ModalProcessBulkPolygons.tsx
@@ -6,9 +6,6 @@ import { twMerge } from "tailwind-merge";
import Button from "@/components/elements/Button/Button";
import Checkbox from "@/components/elements/Inputs/Checkbox/Checkbox";
import Text from "@/components/elements/Text/Text";
-import { useLoading } from "@/context/loaderAdmin.provider";
-import { useNotificationContext } from "@/context/notification.provider";
-import { useDeleteV2TerrafundProjectPolygons } from "@/generated/apiComponents";
import { SitePolygonsDataResponse } from "@/generated/apiSchemas";
import Icon, { IconNames } from "../Icon/Icon";
@@ -24,7 +21,7 @@ export interface ModalDeleteBulkPolygonsProps extends ModalProps {
refetch?: () => void;
}
-const ModalDeleteBulkPolygons: FC
= ({
+const ModalProcessBulkPolygons: FC = ({
iconProps,
title,
content,
@@ -41,9 +38,6 @@ const ModalDeleteBulkPolygons: FC = ({
}) => {
const t = useT();
const [polygonsSelected, setPolygonsSelected] = useState([]);
- const { showLoader, hideLoader } = useLoading();
- const { openNotification } = useNotificationContext();
- const { mutate: deletePolygons } = useDeleteV2TerrafundProjectPolygons();
useEffect(() => {
if (sitePolygonData) {
@@ -61,38 +55,10 @@ const ModalDeleteBulkPolygons: FC = ({
return newSelected;
});
};
-
const handleSelectAll = (isChecked: boolean) => {
setPolygonsSelected(sitePolygonData.map(() => isChecked));
};
- const handleDelete = () => {
- showLoader();
- const selectedUUIDs: any = sitePolygonData
- .filter((_, index) => polygonsSelected[index])
- .map(polygon => polygon.poly_id);
-
- deletePolygons(
- {
- body: {
- uuids: selectedUUIDs
- }
- },
- {
- onSuccess: () => {
- onClose?.();
- refetch?.();
- hideLoader();
- openNotification("success", t("Success!"), t("Polygons deleted successfully"));
- },
- onError: () => {
- hideLoader();
- openNotification("error", t("Error!"), t("Failed to delete polygons"));
- }
- }
- );
- };
-
return (
@@ -152,7 +118,7 @@ const ModalDeleteBulkPolygons: FC = ({
-
+
{primaryButtonText}
@@ -162,4 +128,4 @@ const ModalDeleteBulkPolygons: FC = ({
);
};
-export default ModalDeleteBulkPolygons;
+export default ModalProcessBulkPolygons;
diff --git a/src/components/extensive/PageElements/Card/PageCard.tsx b/src/components/extensive/PageElements/Card/PageCard.tsx
index 41e371efe..ddab4ad92 100644
--- a/src/components/extensive/PageElements/Card/PageCard.tsx
+++ b/src/components/extensive/PageElements/Card/PageCard.tsx
@@ -1,5 +1,5 @@
import classNames from "classnames";
-import { DetailedHTMLProps, HTMLAttributes, PropsWithChildren, ReactNode } from "react";
+import { DetailedHTMLProps, HTMLAttributes, PropsWithChildren, ReactNode, useEffect, useState } from "react";
import { When } from "react-if";
import EmptyField, { EmptyFieldProps } from "@/components/elements/Field/EmptyField";
@@ -7,6 +7,7 @@ import Paper from "@/components/elements/Paper/Paper";
import Text from "@/components/elements/Text/Text";
import ToolTip from "@/components/elements/Tooltip/Tooltip";
import { withFrameworkShow } from "@/context/framework.provider";
+import { TextVariants } from "@/types/common";
import Icon, { IconNames } from "../../Icon/Icon";
@@ -18,8 +19,11 @@ export interface PageCardProps
headerChildren?: ReactNode;
isEmpty?: boolean;
emptyStateProps?: EmptyFieldProps;
- gap?: 4 | 8;
+ gap?: 4 | 6 | 8;
tooltip?: string;
+ classNameSubTitle?: string;
+ variantSubTitle?: TextVariants;
+ subtitleMore?: boolean;
}
const PageCard = ({
@@ -30,37 +34,66 @@ const PageCard = ({
emptyStateProps,
isEmpty,
gap = 8,
+ classNameSubTitle,
+ variantSubTitle,
+ subtitleMore = false,
tooltip,
...props
-}: PageCardProps) => (
-
-
-
-
-
- {title}
-
-
-
-
-
-
+}: PageCardProps) => {
+ const [collapseSubtile, setCollapseSubtile] = useState(true);
+ const [subtitleText, setSubtitleText] = useState(subtitle);
+
+ useEffect(() => {
+ if (collapseSubtile && (subtitle?.length ?? 0) > 253) {
+ setSubtitleText(subtitle?.slice(0, 253));
+ } else {
+ setSubtitleText(subtitle);
+ }
+ }, [collapseSubtile, subtitle]);
+
+ return (
+
+
+
+
+
+ {title}
+
+
+
+
+
+
+
+
+ {headerChildren}
+
+
+
+
+
+ {subtitleText}
-
- {headerChildren}
-
-
-
-
- {subtitle}
-
-
-
-
- {isEmpty && !!emptyStateProps ? : children}
-
-
-
-);
+ 253}>
+ ...
+ setCollapseSubtile(false)}>
+ See More
+
+
+
+
+
+
+ {isEmpty && !!emptyStateProps ? : children}
+
+
+
+ );
+};
export default withFrameworkShow(PageCard);
diff --git a/src/components/extensive/PageElements/Card/__snapshots__/PageCard.stories.storyshot b/src/components/extensive/PageElements/Card/__snapshots__/PageCard.stories.storyshot
index f7885858b..323672232 100644
--- a/src/components/extensive/PageElements/Card/__snapshots__/PageCard.stories.storyshot
+++ b/src/components/extensive/PageElements/Card/__snapshots__/PageCard.stories.storyshot
@@ -17,12 +17,16 @@ exports[`Storyshots Components/Extensive/Page/Card Default 1`] = `
Card title
-
- Card subtitle
-
+
+ Card subtitle
+
+
`;
diff --git a/src/components/extensive/WizardForm/FieldMapper.tsx b/src/components/extensive/WizardForm/FieldMapper.tsx
index fe7036731..0f6dd4701 100644
--- a/src/components/extensive/WizardForm/FieldMapper.tsx
+++ b/src/components/extensive/WizardForm/FieldMapper.tsx
@@ -80,6 +80,7 @@ export const FieldMapper = ({ field, formHook, onChange }: FieldMapperProps) =>
control={formHook.control}
onChangeCapture={onChange}
maxFileSize={10}
+ isPhotosAndVideo={field.fieldProps.collection === "photos" || field.fieldProps.collection === "videos"}
/>
);
diff --git a/src/components/extensive/WizardForm/index.tsx b/src/components/extensive/WizardForm/index.tsx
index 03c6d9c0a..887c5a9f3 100644
--- a/src/components/extensive/WizardForm/index.tsx
+++ b/src/components/extensive/WizardForm/index.tsx
@@ -24,7 +24,7 @@ export interface WizardFormProps {
steps: FormStepSchema[];
defaultValues?: any;
onStepChange?: (values: any, step: FormStepSchema) => void;
- onChange?: (values: any) => void;
+ onChange?: (values: any, isCloseAndSave?: boolean) => void;
onSubmit?: (values: any) => void;
onBackFirstStep: () => void;
onCloseForm?: () => void;
@@ -70,7 +70,6 @@ function WizardForm(props: WizardFormProps) {
const selectedStep = props.steps?.[selectedStepIndex];
const selectedValidationSchema = selectedStep ? getSchema(selectedStep.fields) : undefined;
const lastIndex = props.summaryOptions ? props.steps.length : props.steps.length - 1;
-
const formHook = useForm(
selectedValidationSchema
? {
@@ -115,7 +114,7 @@ function WizardForm(props: WizardFormProps) {
};
const onClickSaveAndClose = () => {
- props.onChange?.(formHook.getValues());
+ props.onChange?.(formHook.getValues(), true);
modal.openModal(
ModalId.SAVE_AND_CLOSE_MODAL,
, HTMLDivElement> {
+ isLoggedIn?: boolean;
+}
+
+const DashboardLayout = (props: PropsWithChildren) => {
+ return (
+
+
+
+
+
+ {props.children}
+
+
+
+ );
+};
+
+export default DashboardLayout;
diff --git a/src/components/generic/Sidebar/Sidebar.tsx b/src/components/generic/Sidebar/Sidebar.tsx
new file mode 100644
index 000000000..5e5ef3e66
--- /dev/null
+++ b/src/components/generic/Sidebar/Sidebar.tsx
@@ -0,0 +1,67 @@
+import classNames from "classnames";
+import { useRouter } from "next/router";
+import React from "react";
+
+import Text from "@/components/elements/Text/Text";
+import Icon, { IconNames } from "@/components/extensive/Icon/Icon";
+
+const Sidebar = () => {
+ const router = useRouter();
+
+ return (
+
+ );
+};
+
+export default Sidebar;
diff --git a/src/context/mapArea.provider.tsx b/src/context/mapArea.provider.tsx
index a7a6aef4f..d39b1e31b 100644
--- a/src/context/mapArea.provider.tsx
+++ b/src/context/mapArea.provider.tsx
@@ -17,6 +17,8 @@ type MapAreaType = {
setSiteData: (value: any) => void;
shouldRefetchPolygonData: boolean;
setShouldRefetchPolygonData: (value: boolean) => void;
+ shouldRefetchMediaData: boolean;
+ setShouldRefetchMediaData: (value: boolean) => void;
shouldRefetchValidation: boolean;
setShouldRefetchValidation: (value: boolean) => void;
shouldRefetchPolygonVersions: boolean;
@@ -61,6 +63,8 @@ const defaultValue: MapAreaType = {
setSiteData: () => {},
shouldRefetchPolygonData: false,
setShouldRefetchPolygonData: () => {},
+ shouldRefetchMediaData: false,
+ setShouldRefetchMediaData: () => {},
shouldRefetchValidation: false,
setShouldRefetchValidation: () => {},
shouldRefetchPolygonVersions: false,
@@ -94,6 +98,7 @@ export const MapAreaProvider: React.FC<{ children: ReactNode }> = ({ children })
const [openEditNewPolygon, setOpenEditNewPolygon] = useState(false);
const [siteData, setSiteData] = useState();
const [shouldRefetchPolygonData, setShouldRefetchPolygonData] = useState(false);
+ const [shouldRefetchMediaData, setShouldRefetchMediaData] = useState(false);
const [shouldRefetchValidation, setShouldRefetchValidation] = useState(false);
const [shouldRefetchPolygonVersions, setShouldRefetchPolygonVersions] = useState(false);
const [hasOverlaps, setHasOverlaps] = useState(false);
@@ -148,6 +153,8 @@ export const MapAreaProvider: React.FC<{ children: ReactNode }> = ({ children })
setSiteData,
shouldRefetchPolygonData,
setShouldRefetchPolygonData,
+ shouldRefetchMediaData,
+ setShouldRefetchMediaData,
shouldRefetchValidation,
setShouldRefetchValidation,
shouldRefetchPolygonVersions,
diff --git a/src/generated/apiComponents.ts b/src/generated/apiComponents.ts
index 35abb608f..56ac91a99 100644
--- a/src/generated/apiComponents.ts
+++ b/src/generated/apiComponents.ts
@@ -156,6 +156,7 @@ export type GetV2AdminProjectsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -170,6 +171,7 @@ export type GetV2AdminProjectsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -184,6 +186,7 @@ export type GetV2AdminProjectsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -198,6 +201,7 @@ export type GetV2AdminProjectsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -212,6 +216,7 @@ export type GetV2AdminProjectsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -401,6 +406,7 @@ export type GetV2AdminProjectsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -415,6 +421,7 @@ export type GetV2AdminProjectsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -429,6 +436,7 @@ export type GetV2AdminProjectsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -443,6 +451,7 @@ export type GetV2AdminProjectsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -457,6 +466,7 @@ export type GetV2AdminProjectsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -471,6 +481,7 @@ export type GetV2AdminProjectsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -485,6 +496,7 @@ export type GetV2AdminProjectsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -499,6 +511,7 @@ export type GetV2AdminProjectsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -513,6 +526,7 @@ export type GetV2AdminProjectsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -527,6 +541,7 @@ export type GetV2AdminProjectsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -541,6 +556,7 @@ export type GetV2AdminProjectsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -671,6 +687,7 @@ export type GetV2AdminNurseriesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -685,6 +702,7 @@ export type GetV2AdminNurseriesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -699,6 +717,7 @@ export type GetV2AdminNurseriesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -713,6 +732,7 @@ export type GetV2AdminNurseriesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -727,6 +747,7 @@ export type GetV2AdminNurseriesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -916,6 +937,7 @@ export type GetV2AdminNurseriesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -930,6 +952,7 @@ export type GetV2AdminNurseriesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -944,6 +967,7 @@ export type GetV2AdminNurseriesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -958,6 +982,7 @@ export type GetV2AdminNurseriesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -972,6 +997,7 @@ export type GetV2AdminNurseriesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -986,6 +1012,7 @@ export type GetV2AdminNurseriesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -1000,6 +1027,7 @@ export type GetV2AdminNurseriesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -1014,6 +1042,7 @@ export type GetV2AdminNurseriesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -1028,6 +1057,7 @@ export type GetV2AdminNurseriesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -1042,6 +1072,7 @@ export type GetV2AdminNurseriesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -1056,6 +1087,7 @@ export type GetV2AdminNurseriesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -1191,6 +1223,7 @@ export type GetV2AdminSitesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -1205,6 +1238,7 @@ export type GetV2AdminSitesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -1219,6 +1253,7 @@ export type GetV2AdminSitesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -1233,6 +1268,7 @@ export type GetV2AdminSitesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -1247,6 +1283,7 @@ export type GetV2AdminSitesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -1436,6 +1473,7 @@ export type GetV2AdminSitesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -1450,6 +1488,7 @@ export type GetV2AdminSitesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -1464,6 +1503,7 @@ export type GetV2AdminSitesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -1478,6 +1518,7 @@ export type GetV2AdminSitesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -1492,6 +1533,7 @@ export type GetV2AdminSitesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -1506,6 +1548,7 @@ export type GetV2AdminSitesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -1520,6 +1563,7 @@ export type GetV2AdminSitesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -1534,6 +1578,7 @@ export type GetV2AdminSitesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -1548,6 +1593,7 @@ export type GetV2AdminSitesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -1562,6 +1608,7 @@ export type GetV2AdminSitesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -1576,6 +1623,7 @@ export type GetV2AdminSitesMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -1700,6 +1748,7 @@ export type PostUsersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -1714,6 +1763,7 @@ export type PostUsersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -1728,6 +1778,7 @@ export type PostUsersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -1742,6 +1793,7 @@ export type PostUsersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -1756,6 +1808,7 @@ export type PostUsersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -1930,6 +1983,7 @@ export type PostUsersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -1944,6 +1998,7 @@ export type PostUsersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -1958,6 +2013,7 @@ export type PostUsersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -1972,6 +2028,7 @@ export type PostUsersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -1986,6 +2043,7 @@ export type PostUsersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -2000,6 +2058,7 @@ export type PostUsersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -2014,6 +2073,7 @@ export type PostUsersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -2028,6 +2088,7 @@ export type PostUsersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -2042,6 +2103,7 @@ export type PostUsersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -2056,6 +2118,7 @@ export type PostUsersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -2070,6 +2133,7 @@ export type PostUsersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -2315,6 +2379,7 @@ export type GetV2MyProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -2329,6 +2394,7 @@ export type GetV2MyProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -2343,6 +2409,7 @@ export type GetV2MyProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -2357,6 +2424,7 @@ export type GetV2MyProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -2371,6 +2439,7 @@ export type GetV2MyProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -2560,6 +2629,7 @@ export type GetV2MyProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -2574,6 +2644,7 @@ export type GetV2MyProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -2588,6 +2659,7 @@ export type GetV2MyProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -2602,6 +2674,7 @@ export type GetV2MyProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -2616,6 +2689,7 @@ export type GetV2MyProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -2630,6 +2704,7 @@ export type GetV2MyProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -2644,6 +2719,7 @@ export type GetV2MyProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -2658,6 +2734,7 @@ export type GetV2MyProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -2672,6 +2749,7 @@ export type GetV2MyProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -2686,6 +2764,7 @@ export type GetV2MyProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -2700,6 +2779,7 @@ export type GetV2MyProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -3080,6 +3160,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -3094,6 +3175,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -3108,6 +3190,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -3122,6 +3205,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -3136,6 +3220,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -3325,6 +3410,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -3339,6 +3425,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -3353,6 +3440,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -3367,6 +3455,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -3381,6 +3470,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -3395,6 +3485,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -3409,6 +3500,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -3423,6 +3515,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -3437,6 +3530,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -3451,6 +3545,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -3465,6 +3560,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -3545,6 +3641,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -3559,6 +3656,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -3573,6 +3671,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -3587,6 +3686,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -3601,6 +3701,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -3790,6 +3891,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -3804,6 +3906,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -3818,6 +3921,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -3832,6 +3936,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -3846,6 +3951,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -3860,6 +3966,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -3874,6 +3981,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -3888,6 +3996,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -3902,6 +4011,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -3916,6 +4026,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -3930,6 +4041,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -4018,6 +4130,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -4032,6 +4145,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -4046,6 +4160,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -4060,6 +4175,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -4074,6 +4190,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -4263,6 +4380,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -4277,6 +4395,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -4291,6 +4410,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -4305,6 +4425,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -4319,6 +4440,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -4333,6 +4455,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -4347,6 +4470,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -4361,6 +4485,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -4375,6 +4500,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -4389,6 +4515,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -4403,6 +4530,7 @@ export type GetV2AdminNurseryReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -4547,6 +4675,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -4561,6 +4690,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -4575,6 +4705,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -4589,6 +4720,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -4603,6 +4735,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -4792,6 +4925,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -4806,6 +4940,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -4820,6 +4955,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -4834,6 +4970,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -4848,6 +4985,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -4862,6 +5000,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -4876,6 +5015,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -4890,6 +5030,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -4904,6 +5045,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -4918,6 +5060,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -4932,6 +5075,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -5012,6 +5156,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -5026,6 +5171,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -5040,6 +5186,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -5054,6 +5201,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -5068,6 +5216,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -5257,6 +5406,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -5271,6 +5421,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -5285,6 +5436,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -5299,6 +5451,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -5313,6 +5466,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -5327,6 +5481,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -5341,6 +5496,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -5355,6 +5511,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -5369,6 +5526,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -5383,6 +5541,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -5397,6 +5556,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -5485,6 +5645,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -5499,6 +5660,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -5513,6 +5675,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -5527,6 +5690,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -5541,6 +5705,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -5730,6 +5895,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -5744,6 +5910,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -5758,6 +5925,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -5772,6 +5940,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -5786,6 +5955,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -5800,6 +5970,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -5814,6 +5985,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -5828,6 +6000,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -5842,6 +6015,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -5856,6 +6030,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -5870,6 +6045,7 @@ export type GetV2AdminSiteReportsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -6127,6 +6303,7 @@ export type GetV2AdminNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -6141,6 +6318,7 @@ export type GetV2AdminNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -6155,6 +6333,7 @@ export type GetV2AdminNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -6169,6 +6348,7 @@ export type GetV2AdminNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -6183,6 +6363,7 @@ export type GetV2AdminNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -6372,6 +6553,7 @@ export type GetV2AdminNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -6386,6 +6568,7 @@ export type GetV2AdminNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -6400,6 +6583,7 @@ export type GetV2AdminNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -6414,6 +6598,7 @@ export type GetV2AdminNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -6428,6 +6613,7 @@ export type GetV2AdminNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -6442,6 +6628,7 @@ export type GetV2AdminNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -6456,6 +6643,7 @@ export type GetV2AdminNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -6470,6 +6658,7 @@ export type GetV2AdminNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -6484,6 +6673,7 @@ export type GetV2AdminNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -6498,6 +6688,7 @@ export type GetV2AdminNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -6512,6 +6703,7 @@ export type GetV2AdminNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -9441,6 +9633,7 @@ export type GetV2AdminOrganisationsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -9455,6 +9648,7 @@ export type GetV2AdminOrganisationsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -9469,6 +9663,7 @@ export type GetV2AdminOrganisationsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -9483,6 +9678,7 @@ export type GetV2AdminOrganisationsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -9497,6 +9693,7 @@ export type GetV2AdminOrganisationsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -9671,6 +9868,7 @@ export type GetV2AdminOrganisationsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -9685,6 +9883,7 @@ export type GetV2AdminOrganisationsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -9699,6 +9898,7 @@ export type GetV2AdminOrganisationsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -9713,6 +9913,7 @@ export type GetV2AdminOrganisationsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -9727,6 +9928,7 @@ export type GetV2AdminOrganisationsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -9741,6 +9943,7 @@ export type GetV2AdminOrganisationsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -9755,6 +9958,7 @@ export type GetV2AdminOrganisationsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -9769,6 +9973,7 @@ export type GetV2AdminOrganisationsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -9783,6 +9988,7 @@ export type GetV2AdminOrganisationsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -9797,6 +10003,7 @@ export type GetV2AdminOrganisationsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -9811,6 +10018,7 @@ export type GetV2AdminOrganisationsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -9955,6 +10163,7 @@ export type GetV2AdminOrganisationsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -9969,6 +10178,7 @@ export type GetV2AdminOrganisationsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -9983,6 +10193,7 @@ export type GetV2AdminOrganisationsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -9997,6 +10208,7 @@ export type GetV2AdminOrganisationsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -10011,6 +10223,7 @@ export type GetV2AdminOrganisationsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -10185,6 +10398,7 @@ export type GetV2AdminOrganisationsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -10199,6 +10413,7 @@ export type GetV2AdminOrganisationsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -10213,6 +10428,7 @@ export type GetV2AdminOrganisationsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -10227,6 +10443,7 @@ export type GetV2AdminOrganisationsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -10241,6 +10458,7 @@ export type GetV2AdminOrganisationsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -10255,6 +10473,7 @@ export type GetV2AdminOrganisationsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -10269,6 +10488,7 @@ export type GetV2AdminOrganisationsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -10283,6 +10503,7 @@ export type GetV2AdminOrganisationsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -10297,6 +10518,7 @@ export type GetV2AdminOrganisationsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -10311,6 +10533,7 @@ export type GetV2AdminOrganisationsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -10325,6 +10548,7 @@ export type GetV2AdminOrganisationsMultiResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -10442,6 +10666,7 @@ export type GetV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -10456,6 +10681,7 @@ export type GetV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -10470,6 +10696,7 @@ export type GetV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -10484,6 +10711,7 @@ export type GetV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -10498,6 +10726,7 @@ export type GetV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -10672,6 +10901,7 @@ export type GetV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -10686,6 +10916,7 @@ export type GetV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -10700,6 +10931,7 @@ export type GetV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -10714,6 +10946,7 @@ export type GetV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -10728,6 +10961,7 @@ export type GetV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -10742,6 +10976,7 @@ export type GetV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -10756,6 +10991,7 @@ export type GetV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -10770,6 +11006,7 @@ export type GetV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -10784,6 +11021,7 @@ export type GetV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -10798,6 +11036,7 @@ export type GetV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -10812,6 +11051,7 @@ export type GetV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -10929,6 +11169,7 @@ export type PutV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -10943,6 +11184,7 @@ export type PutV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -10957,6 +11199,7 @@ export type PutV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -10971,6 +11214,7 @@ export type PutV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -10985,6 +11229,7 @@ export type PutV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -11159,6 +11404,7 @@ export type PutV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -11173,6 +11419,7 @@ export type PutV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -11187,6 +11434,7 @@ export type PutV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -11201,6 +11449,7 @@ export type PutV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -11215,6 +11464,7 @@ export type PutV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -11229,6 +11479,7 @@ export type PutV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -11243,6 +11494,7 @@ export type PutV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -11257,6 +11509,7 @@ export type PutV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -11271,6 +11524,7 @@ export type PutV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -11285,6 +11539,7 @@ export type PutV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -11299,6 +11554,7 @@ export type PutV2AdminOrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -11893,6 +12149,7 @@ export type GetV2OrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -11907,6 +12164,7 @@ export type GetV2OrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -11921,6 +12179,7 @@ export type GetV2OrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -11935,6 +12194,7 @@ export type GetV2OrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -11949,6 +12209,7 @@ export type GetV2OrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -12138,6 +12399,7 @@ export type GetV2OrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -12152,6 +12414,7 @@ export type GetV2OrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -12166,6 +12429,7 @@ export type GetV2OrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -12180,6 +12444,7 @@ export type GetV2OrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -12194,6 +12459,7 @@ export type GetV2OrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -12208,6 +12474,7 @@ export type GetV2OrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -12222,6 +12489,7 @@ export type GetV2OrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -12236,6 +12504,7 @@ export type GetV2OrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -12250,6 +12519,7 @@ export type GetV2OrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -12264,6 +12534,7 @@ export type GetV2OrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -12278,6 +12549,7 @@ export type GetV2OrganisationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -12474,6 +12746,7 @@ export type PostV2OrganisationsJoinExistingResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -12488,6 +12761,7 @@ export type PostV2OrganisationsJoinExistingResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -12502,6 +12776,7 @@ export type PostV2OrganisationsJoinExistingResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -12516,6 +12791,7 @@ export type PostV2OrganisationsJoinExistingResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -12530,6 +12806,7 @@ export type PostV2OrganisationsJoinExistingResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -12719,6 +12996,7 @@ export type PostV2OrganisationsJoinExistingResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -12733,6 +13011,7 @@ export type PostV2OrganisationsJoinExistingResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -12747,6 +13026,7 @@ export type PostV2OrganisationsJoinExistingResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -12761,6 +13041,7 @@ export type PostV2OrganisationsJoinExistingResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -12775,6 +13056,7 @@ export type PostV2OrganisationsJoinExistingResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -12789,6 +13071,7 @@ export type PostV2OrganisationsJoinExistingResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -12803,6 +13086,7 @@ export type PostV2OrganisationsJoinExistingResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -12817,6 +13101,7 @@ export type PostV2OrganisationsJoinExistingResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -12831,6 +13116,7 @@ export type PostV2OrganisationsJoinExistingResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -12845,6 +13131,7 @@ export type PostV2OrganisationsJoinExistingResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -12859,6 +13146,7 @@ export type PostV2OrganisationsJoinExistingResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -12992,6 +13280,7 @@ export type GetV2OrganisationsUserRequestsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -13006,6 +13295,7 @@ export type GetV2OrganisationsUserRequestsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -13020,6 +13310,7 @@ export type GetV2OrganisationsUserRequestsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -13034,6 +13325,7 @@ export type GetV2OrganisationsUserRequestsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -13048,6 +13340,7 @@ export type GetV2OrganisationsUserRequestsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -13222,6 +13515,7 @@ export type GetV2OrganisationsUserRequestsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -13236,6 +13530,7 @@ export type GetV2OrganisationsUserRequestsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -13250,6 +13545,7 @@ export type GetV2OrganisationsUserRequestsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -13264,6 +13560,7 @@ export type GetV2OrganisationsUserRequestsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -13278,6 +13575,7 @@ export type GetV2OrganisationsUserRequestsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -13292,6 +13590,7 @@ export type GetV2OrganisationsUserRequestsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -13306,6 +13605,7 @@ export type GetV2OrganisationsUserRequestsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -13320,6 +13620,7 @@ export type GetV2OrganisationsUserRequestsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -13334,6 +13635,7 @@ export type GetV2OrganisationsUserRequestsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -13348,6 +13650,7 @@ export type GetV2OrganisationsUserRequestsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -13362,6 +13665,7 @@ export type GetV2OrganisationsUserRequestsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -13524,6 +13828,7 @@ export type GetV2OrganisationsApprovedUsersUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -13538,6 +13843,7 @@ export type GetV2OrganisationsApprovedUsersUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -13552,6 +13858,7 @@ export type GetV2OrganisationsApprovedUsersUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -13566,6 +13873,7 @@ export type GetV2OrganisationsApprovedUsersUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -13580,6 +13888,7 @@ export type GetV2OrganisationsApprovedUsersUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -13754,6 +14063,7 @@ export type GetV2OrganisationsApprovedUsersUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -13768,6 +14078,7 @@ export type GetV2OrganisationsApprovedUsersUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -13782,6 +14093,7 @@ export type GetV2OrganisationsApprovedUsersUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -13796,6 +14108,7 @@ export type GetV2OrganisationsApprovedUsersUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -13810,6 +14123,7 @@ export type GetV2OrganisationsApprovedUsersUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -13824,6 +14138,7 @@ export type GetV2OrganisationsApprovedUsersUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -13838,6 +14153,7 @@ export type GetV2OrganisationsApprovedUsersUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -13852,6 +14168,7 @@ export type GetV2OrganisationsApprovedUsersUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -13866,6 +14183,7 @@ export type GetV2OrganisationsApprovedUsersUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -13880,6 +14198,7 @@ export type GetV2OrganisationsApprovedUsersUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -13894,6 +14213,7 @@ export type GetV2OrganisationsApprovedUsersUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -14459,6 +14779,7 @@ export type PutV2AdminUsersUUIDRequestBody = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -14473,6 +14794,7 @@ export type PutV2AdminUsersUUIDRequestBody = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -14487,6 +14809,7 @@ export type PutV2AdminUsersUUIDRequestBody = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -14501,6 +14824,7 @@ export type PutV2AdminUsersUUIDRequestBody = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -14515,6 +14839,7 @@ export type PutV2AdminUsersUUIDRequestBody = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -14529,6 +14854,7 @@ export type PutV2AdminUsersUUIDRequestBody = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -14543,6 +14869,7 @@ export type PutV2AdminUsersUUIDRequestBody = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -14557,6 +14884,7 @@ export type PutV2AdminUsersUUIDRequestBody = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -14571,6 +14899,7 @@ export type PutV2AdminUsersUUIDRequestBody = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -14833,6 +15162,7 @@ export type GetV2MODELUUIDFilesResponse = {
file_url?: string;
thumb_url?: string;
file_name?: string;
+ name?: string;
created_date?: string;
model_name?: string;
is_public?: boolean;
@@ -14985,6 +15315,7 @@ export type PostV2FileUploadMODELCOLLECTIONUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
@@ -15060,6 +15391,7 @@ export type PostV2FileUploadSitePhotosUUIDBulkUrlResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
@@ -15169,6 +15501,7 @@ export type PutV2FilesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
@@ -16055,6 +16388,7 @@ export type GetV2AdminProjectPitchesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -16069,6 +16403,7 @@ export type GetV2AdminProjectPitchesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -16083,6 +16418,7 @@ export type GetV2AdminProjectPitchesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -16097,6 +16433,7 @@ export type GetV2AdminProjectPitchesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -16111,6 +16448,7 @@ export type GetV2AdminProjectPitchesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -16349,6 +16687,7 @@ export type GetV2AdminProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -16363,6 +16702,7 @@ export type GetV2AdminProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -16377,6 +16717,7 @@ export type GetV2AdminProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -16391,6 +16732,7 @@ export type GetV2AdminProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -16405,6 +16747,7 @@ export type GetV2AdminProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -16594,6 +16937,7 @@ export type GetV2AdminProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -16608,6 +16952,7 @@ export type GetV2AdminProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -16622,6 +16967,7 @@ export type GetV2AdminProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -16636,6 +16982,7 @@ export type GetV2AdminProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -16650,6 +16997,7 @@ export type GetV2AdminProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -16664,6 +17012,7 @@ export type GetV2AdminProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -16678,6 +17027,7 @@ export type GetV2AdminProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -16692,6 +17042,7 @@ export type GetV2AdminProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -16706,6 +17057,7 @@ export type GetV2AdminProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -16720,6 +17072,7 @@ export type GetV2AdminProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -16734,6 +17087,7 @@ export type GetV2AdminProjectsResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -16869,6 +17223,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -16883,6 +17238,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -16897,6 +17253,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -16911,6 +17268,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -16925,6 +17283,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -17114,6 +17473,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -17128,6 +17488,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -17142,6 +17503,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -17156,6 +17518,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -17170,6 +17533,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -17184,6 +17548,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -17198,6 +17563,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -17212,6 +17578,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -17226,6 +17593,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -17240,6 +17608,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -17254,6 +17623,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -17614,6 +17984,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
deleted_at?: string;
@@ -17686,6 +18057,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -17700,6 +18072,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -17714,6 +18087,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -17728,6 +18102,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -17742,6 +18117,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -17916,6 +18292,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -17930,6 +18307,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -17944,6 +18322,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -17958,6 +18337,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -17972,6 +18352,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -17986,6 +18367,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -18000,6 +18382,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -18014,6 +18397,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -18028,6 +18412,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -18042,6 +18427,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -18056,6 +18442,7 @@ export type GetV2ProjectsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -18351,6 +18738,7 @@ export type GetV2ProjectsUUIDNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -18365,6 +18753,7 @@ export type GetV2ProjectsUUIDNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -18379,6 +18768,7 @@ export type GetV2ProjectsUUIDNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -18393,6 +18783,7 @@ export type GetV2ProjectsUUIDNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -18407,6 +18798,7 @@ export type GetV2ProjectsUUIDNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -18596,6 +18988,7 @@ export type GetV2ProjectsUUIDNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -18610,6 +19003,7 @@ export type GetV2ProjectsUUIDNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -18624,6 +19018,7 @@ export type GetV2ProjectsUUIDNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -18638,6 +19033,7 @@ export type GetV2ProjectsUUIDNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -18652,6 +19048,7 @@ export type GetV2ProjectsUUIDNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -18666,6 +19063,7 @@ export type GetV2ProjectsUUIDNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -18680,6 +19078,7 @@ export type GetV2ProjectsUUIDNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -18694,6 +19093,7 @@ export type GetV2ProjectsUUIDNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -18708,6 +19108,7 @@ export type GetV2ProjectsUUIDNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -18722,6 +19123,7 @@ export type GetV2ProjectsUUIDNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -18736,6 +19138,7 @@ export type GetV2ProjectsUUIDNurseriesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -19419,6 +19822,7 @@ export type GetV2ProjectPitchesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -19433,6 +19837,7 @@ export type GetV2ProjectPitchesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -19447,6 +19852,7 @@ export type GetV2ProjectPitchesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -19461,6 +19867,7 @@ export type GetV2ProjectPitchesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -19475,6 +19882,7 @@ export type GetV2ProjectPitchesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -19661,6 +20069,7 @@ export type PostV2ProjectPitchesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -19675,6 +20084,7 @@ export type PostV2ProjectPitchesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -19689,6 +20099,7 @@ export type PostV2ProjectPitchesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -19703,6 +20114,7 @@ export type PostV2ProjectPitchesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -19717,6 +20129,7 @@ export type PostV2ProjectPitchesResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -19996,6 +20409,7 @@ export type GetV2ProjectPitchesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -20010,6 +20424,7 @@ export type GetV2ProjectPitchesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -20024,6 +20439,7 @@ export type GetV2ProjectPitchesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -20038,6 +20454,7 @@ export type GetV2ProjectPitchesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -20052,6 +20469,7 @@ export type GetV2ProjectPitchesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -20231,6 +20649,7 @@ export type PatchV2ProjectPitchesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -20245,6 +20664,7 @@ export type PatchV2ProjectPitchesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -20259,6 +20679,7 @@ export type PatchV2ProjectPitchesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -20273,6 +20694,7 @@ export type PatchV2ProjectPitchesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -20287,6 +20709,7 @@ export type PatchV2ProjectPitchesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -22042,6 +22465,7 @@ export type GetV2FundingProgrammeResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
deleted_at?: string;
@@ -22237,6 +22661,7 @@ export type GetV2AdminFundingProgrammeResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
deleted_at?: string;
@@ -22420,6 +22845,7 @@ export type PostV2AdminFundingProgrammeResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
deleted_at?: string;
@@ -22589,6 +23015,7 @@ export type GetV2FundingProgrammeUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
deleted_at?: string;
@@ -22755,6 +23182,7 @@ export type GetV2AdminFundingProgrammeUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
deleted_at?: string;
@@ -22929,6 +23357,7 @@ export type PutV2AdminFundingProgrammeUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
deleted_at?: string;
@@ -24585,6 +25014,7 @@ export type PatchV2MyBannersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -24599,6 +25029,7 @@ export type PatchV2MyBannersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -24613,6 +25044,7 @@ export type PatchV2MyBannersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -24627,6 +25059,7 @@ export type PatchV2MyBannersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -24641,6 +25074,7 @@ export type PatchV2MyBannersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -24815,6 +25249,7 @@ export type PatchV2MyBannersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -24829,6 +25264,7 @@ export type PatchV2MyBannersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -24843,6 +25279,7 @@ export type PatchV2MyBannersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -24857,6 +25294,7 @@ export type PatchV2MyBannersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -24871,6 +25309,7 @@ export type PatchV2MyBannersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -24885,6 +25324,7 @@ export type PatchV2MyBannersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -24899,6 +25339,7 @@ export type PatchV2MyBannersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -24913,6 +25354,7 @@ export type PatchV2MyBannersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -24927,6 +25369,7 @@ export type PatchV2MyBannersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -24941,6 +25384,7 @@ export type PatchV2MyBannersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -24955,6 +25399,7 @@ export type PatchV2MyBannersResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -25711,6 +26156,7 @@ export type GetV2AdminFormsApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
deleted_at?: string;
@@ -25783,6 +26229,7 @@ export type GetV2AdminFormsApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -25797,6 +26244,7 @@ export type GetV2AdminFormsApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -25811,6 +26259,7 @@ export type GetV2AdminFormsApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -25825,6 +26274,7 @@ export type GetV2AdminFormsApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -25839,6 +26289,7 @@ export type GetV2AdminFormsApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -26013,6 +26464,7 @@ export type GetV2AdminFormsApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -26027,6 +26479,7 @@ export type GetV2AdminFormsApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -26041,6 +26494,7 @@ export type GetV2AdminFormsApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -26055,6 +26509,7 @@ export type GetV2AdminFormsApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -26069,6 +26524,7 @@ export type GetV2AdminFormsApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -26083,6 +26539,7 @@ export type GetV2AdminFormsApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -26097,6 +26554,7 @@ export type GetV2AdminFormsApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -26111,6 +26569,7 @@ export type GetV2AdminFormsApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -26125,6 +26584,7 @@ export type GetV2AdminFormsApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -26139,6 +26599,7 @@ export type GetV2AdminFormsApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -26153,6 +26614,7 @@ export type GetV2AdminFormsApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -26965,6 +27427,7 @@ export type GetV2ApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
deleted_at?: string;
@@ -27037,6 +27500,7 @@ export type GetV2ApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -27051,6 +27515,7 @@ export type GetV2ApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -27065,6 +27530,7 @@ export type GetV2ApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -27079,6 +27545,7 @@ export type GetV2ApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -27093,6 +27560,7 @@ export type GetV2ApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -27267,6 +27735,7 @@ export type GetV2ApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -27281,6 +27750,7 @@ export type GetV2ApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -27295,6 +27765,7 @@ export type GetV2ApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -27309,6 +27780,7 @@ export type GetV2ApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -27323,6 +27795,7 @@ export type GetV2ApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -27337,6 +27810,7 @@ export type GetV2ApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -27351,6 +27825,7 @@ export type GetV2ApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -27365,6 +27840,7 @@ export type GetV2ApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -27379,6 +27855,7 @@ export type GetV2ApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -27393,6 +27870,7 @@ export type GetV2ApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -27407,6 +27885,7 @@ export type GetV2ApplicationsUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -28669,6 +29148,7 @@ export type GetV2SitesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -28683,6 +29163,7 @@ export type GetV2SitesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -28697,6 +29178,7 @@ export type GetV2SitesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -28711,6 +29193,7 @@ export type GetV2SitesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -28725,6 +29208,7 @@ export type GetV2SitesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -28914,6 +29398,7 @@ export type GetV2SitesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -28928,6 +29413,7 @@ export type GetV2SitesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -28942,6 +29428,7 @@ export type GetV2SitesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -28956,6 +29443,7 @@ export type GetV2SitesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -28970,6 +29458,7 @@ export type GetV2SitesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -28984,6 +29473,7 @@ export type GetV2SitesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -28998,6 +29488,7 @@ export type GetV2SitesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -29012,6 +29503,7 @@ export type GetV2SitesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -29026,6 +29518,7 @@ export type GetV2SitesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -29040,6 +29533,7 @@ export type GetV2SitesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -29054,6 +29548,7 @@ export type GetV2SitesUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -29769,7 +30264,7 @@ export type PostV2ExportImageRequestBody = {
/**
* The URL of the image to be downloaded.
*/
- imageUrl: string;
+ uuid: string;
};
export type PostV2ExportImageVariables = {
@@ -30714,6 +31209,7 @@ export type GetV2AuditStatusENTITYUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
}[];
@@ -30789,6 +31285,7 @@ export type PostV2AuditStatusENTITYUUIDResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
};
@@ -32467,13 +32964,13 @@ export const useDeleteV2TerrafundProjectPolygons = (
export type GetV2DashboardJobsCreatedQueryParams = {
/**
- * Optional. Filter counts and metrics by country.
+ * search term to use on the collection
*/
- country?: string;
+ search?: string;
/**
- * Optional. Filter counts and metrics by UUID.
+ * multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3
*/
- uuid?: string;
+ filter?: string;
};
export type GetV2DashboardJobsCreatedError = Fetcher.ErrorWrapper;
@@ -32534,13 +33031,13 @@ export const useGetV2DashboardJobsCreated = ;
@@ -32617,13 +33114,13 @@ export const useGetV2DashboardRestorationStrategy = ;
@@ -32743,9 +33240,9 @@ export const useGetV2DashboardProjectListExport = (
export type GetV2DashboardGetPolygonsQueryParams = {
/**
- * uuid for the given project
+ * multiple filters can be applied. syntax is ?filter[foo]=value1,value2$filter[bar]=value3
*/
- uuid?: string;
+ filter?: string;
};
export type GetV2DashboardGetPolygonsError = Fetcher.ErrorWrapper;
@@ -32805,9 +33302,9 @@ export const useGetV2DashboardGetPolygons = ;
@@ -32867,9 +33364,9 @@ export const useGetV2DashboardGetPolygonsStatuses = ;
@@ -32915,9 +33412,9 @@ export const useGetV2DashboardGetBboxProject = ;
@@ -33130,9 +33627,13 @@ export const useGetV2DashboardProjectDataUuid = ;
@@ -33405,13 +33914,13 @@ export const useGetV2DashboardTotalSectionHeader = ;
@@ -33471,9 +33980,13 @@ export const useGetV2DashboardActiveCountries = ;
@@ -33529,9 +34042,13 @@ export const useGetV2DashboardCountries = ;
@@ -33673,9 +34190,13 @@ export const useGetV2DashboardProjectDetailsProject = ;
@@ -35081,6 +35602,140 @@ export const usePostV2TerrafundClipPolygonsSiteUuid = (
);
};
+export type PostV2TerrafundClipPolygonsPolygonsError = Fetcher.ErrorWrapper;
+
+export type PostV2TerrafundClipPolygonsPolygonsResponse = {
+ /**
+ * A list of processed polygons
+ */
+ processed?: {
+ /**
+ * The UUID of the unprocessed polygon
+ *
+ * @example uuid1
+ */
+ uuid?: string;
+ /**
+ * The name of the unprocessed polygon
+ *
+ * @example Polygon Name
+ */
+ poly_name?: string;
+ }[];
+ /**
+ * A list of polygons that couldn't be processed
+ */
+ unprocessed?: {
+ /**
+ * The UUID of the unprocessed polygon
+ *
+ * @example uuid1
+ */
+ uuid?: string;
+ /**
+ * The name of the unprocessed polygon
+ *
+ * @example Polygon Name
+ */
+ poly_name?: string;
+ }[];
+};
+
+export type PostV2TerrafundClipPolygonsPolygonsRequestBody = {
+ uuids?: string[];
+};
+
+export type PostV2TerrafundClipPolygonsPolygonsVariables = {
+ body?: PostV2TerrafundClipPolygonsPolygonsRequestBody;
+} & ApiContext["fetcherOptions"];
+
+export const fetchPostV2TerrafundClipPolygonsPolygons = (
+ variables: PostV2TerrafundClipPolygonsPolygonsVariables,
+ signal?: AbortSignal
+) =>
+ apiFetch<
+ PostV2TerrafundClipPolygonsPolygonsResponse,
+ PostV2TerrafundClipPolygonsPolygonsError,
+ PostV2TerrafundClipPolygonsPolygonsRequestBody,
+ {},
+ {},
+ {}
+ >({ url: "/v2/terrafund/clip-polygons/polygons", method: "post", ...variables, signal });
+
+export const usePostV2TerrafundClipPolygonsPolygons = (
+ options?: Omit<
+ reactQuery.UseMutationOptions<
+ PostV2TerrafundClipPolygonsPolygonsResponse,
+ PostV2TerrafundClipPolygonsPolygonsError,
+ PostV2TerrafundClipPolygonsPolygonsVariables
+ >,
+ "mutationFn"
+ >
+) => {
+ const { fetcherOptions } = useApiContext();
+ return reactQuery.useMutation<
+ PostV2TerrafundClipPolygonsPolygonsResponse,
+ PostV2TerrafundClipPolygonsPolygonsError,
+ PostV2TerrafundClipPolygonsPolygonsVariables
+ >(
+ (variables: PostV2TerrafundClipPolygonsPolygonsVariables) =>
+ fetchPostV2TerrafundClipPolygonsPolygons({ ...fetcherOptions, ...variables }),
+ options
+ );
+};
+
+export type PostV2TerrafundValidationPolygonsError = Fetcher.ErrorWrapper;
+
+export type PostV2TerrafundValidationPolygonsResponse = {
+ /**
+ * A message indicating the completion of validation for all site polygons.
+ */
+ message?: string;
+};
+
+export type PostV2TerrafundValidationPolygonsRequestBody = {
+ uuids?: string[];
+};
+
+export type PostV2TerrafundValidationPolygonsVariables = {
+ body?: PostV2TerrafundValidationPolygonsRequestBody;
+} & ApiContext["fetcherOptions"];
+
+export const fetchPostV2TerrafundValidationPolygons = (
+ variables: PostV2TerrafundValidationPolygonsVariables,
+ signal?: AbortSignal
+) =>
+ apiFetch<
+ PostV2TerrafundValidationPolygonsResponse,
+ PostV2TerrafundValidationPolygonsError,
+ PostV2TerrafundValidationPolygonsRequestBody,
+ {},
+ {},
+ {}
+ >({ url: "/v2/terrafund/validation/polygons", method: "post", ...variables, signal });
+
+export const usePostV2TerrafundValidationPolygons = (
+ options?: Omit<
+ reactQuery.UseMutationOptions<
+ PostV2TerrafundValidationPolygonsResponse,
+ PostV2TerrafundValidationPolygonsError,
+ PostV2TerrafundValidationPolygonsVariables
+ >,
+ "mutationFn"
+ >
+) => {
+ const { fetcherOptions } = useApiContext();
+ return reactQuery.useMutation<
+ PostV2TerrafundValidationPolygonsResponse,
+ PostV2TerrafundValidationPolygonsError,
+ PostV2TerrafundValidationPolygonsVariables
+ >(
+ (variables: PostV2TerrafundValidationPolygonsVariables) =>
+ fetchPostV2TerrafundValidationPolygons({ ...fetcherOptions, ...variables }),
+ options
+ );
+};
+
export type QueryOperation =
| {
path: "/v2/tree-species/{entity}/{UUID}";
diff --git a/src/generated/apiRequestBodies.ts b/src/generated/apiRequestBodies.ts
index f976b946c..4b4ff19da 100644
--- a/src/generated/apiRequestBodies.ts
+++ b/src/generated/apiRequestBodies.ts
@@ -40,29 +40,6 @@ export type Body = {
status?: string;
};
-export type PostV2FundingProgrammeBody = {
- name?: string;
- description?: string;
- read_more_url?: string;
- location?: string;
- organisation_types?: string[];
- cover?: {
- uuid?: string;
- url?: string;
- thumb_url?: string;
- collection_name?: string;
- title?: string;
- file_name?: string;
- mime_type?: string;
- size?: number;
- lat?: number;
- lng?: number;
- is_public?: boolean;
- created_at?: string;
- };
- status?: string;
-};
-
export type PostV2FormsEntityFormUuidBody = {
/**
* allowed values projects/sites/nurseries/project-reports/site-reports/nursery-reports
@@ -187,6 +164,30 @@ export type V2PostOrganisationsBody = {
tags?: string[];
};
+export type PostV2FundingProgrammeBody = {
+ name?: string;
+ description?: string;
+ read_more_url?: string;
+ location?: string;
+ organisation_types?: string[];
+ cover?: {
+ uuid?: string;
+ url?: string;
+ thumb_url?: string;
+ collection_name?: string;
+ title?: string;
+ file_name?: string;
+ mime_type?: string;
+ size?: number;
+ lat?: number;
+ lng?: number;
+ is_public?: boolean;
+ is_cover?: boolean;
+ created_at?: string;
+ };
+ status?: string;
+};
+
export type V2AdminOrganisationApproveBody = {
uuid: string;
};
@@ -343,6 +344,7 @@ export type GetV2FundingProgrammeIDBody = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
deleted_at?: string;
diff --git a/src/generated/apiSchemas.ts b/src/generated/apiSchemas.ts
index d17239d9d..7a1a5b2ce 100644
--- a/src/generated/apiSchemas.ts
+++ b/src/generated/apiSchemas.ts
@@ -169,6 +169,7 @@ export type UserRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -183,6 +184,7 @@ export type UserRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -197,6 +199,7 @@ export type UserRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -211,6 +214,7 @@ export type UserRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -225,6 +229,7 @@ export type UserRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -399,6 +404,7 @@ export type UserRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -413,6 +419,7 @@ export type UserRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -427,6 +434,7 @@ export type UserRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -441,6 +449,7 @@ export type UserRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -455,6 +464,7 @@ export type UserRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -469,6 +479,7 @@ export type UserRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -483,6 +494,7 @@ export type UserRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -497,6 +509,7 @@ export type UserRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -511,6 +524,7 @@ export type UserRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -525,6 +539,7 @@ export type UserRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -539,6 +554,7 @@ export type UserRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -648,6 +664,7 @@ export type UserReadAll = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -662,6 +679,7 @@ export type UserReadAll = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -676,6 +694,7 @@ export type UserReadAll = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -690,6 +709,7 @@ export type UserReadAll = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -704,6 +724,7 @@ export type UserReadAll = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -878,6 +899,7 @@ export type UserReadAll = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -892,6 +914,7 @@ export type UserReadAll = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -906,6 +929,7 @@ export type UserReadAll = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -920,6 +944,7 @@ export type UserReadAll = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -934,6 +959,7 @@ export type UserReadAll = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -948,6 +974,7 @@ export type UserReadAll = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -962,6 +989,7 @@ export type UserReadAll = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -976,6 +1004,7 @@ export type UserReadAll = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -990,6 +1019,7 @@ export type UserReadAll = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -1004,6 +1034,7 @@ export type UserReadAll = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -1018,6 +1049,7 @@ export type UserReadAll = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -1172,6 +1204,7 @@ export type FundingProgramme = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
deleted_at?: string;
@@ -1212,6 +1245,7 @@ export type FundingProgrammeCreate = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
status?: string;
@@ -1918,6 +1952,7 @@ export type V2AdminOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -1932,6 +1967,7 @@ export type V2AdminOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -1946,6 +1982,7 @@ export type V2AdminOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -1960,6 +1997,7 @@ export type V2AdminOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -1974,6 +2012,7 @@ export type V2AdminOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -2148,6 +2187,7 @@ export type V2AdminOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -2162,6 +2202,7 @@ export type V2AdminOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -2176,6 +2217,7 @@ export type V2AdminOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -2190,6 +2232,7 @@ export type V2AdminOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -2204,6 +2247,7 @@ export type V2AdminOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -2218,6 +2262,7 @@ export type V2AdminOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -2232,6 +2277,7 @@ export type V2AdminOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -2246,6 +2292,7 @@ export type V2AdminOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -2260,6 +2307,7 @@ export type V2AdminOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -2274,6 +2322,7 @@ export type V2AdminOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -2288,6 +2337,7 @@ export type V2AdminOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -2370,6 +2420,7 @@ export type V2MonitoringOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -2384,6 +2435,7 @@ export type V2MonitoringOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -2398,6 +2450,7 @@ export type V2MonitoringOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -2412,6 +2465,7 @@ export type V2MonitoringOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -2426,6 +2480,7 @@ export type V2MonitoringOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -2440,6 +2495,7 @@ export type V2MonitoringOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -2454,6 +2510,7 @@ export type V2MonitoringOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -2468,6 +2525,7 @@ export type V2MonitoringOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -2482,6 +2540,7 @@ export type V2MonitoringOrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -2792,6 +2851,7 @@ export type V2OrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -2806,6 +2866,7 @@ export type V2OrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -2820,6 +2881,7 @@ export type V2OrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -2834,6 +2896,7 @@ export type V2OrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -2848,6 +2911,7 @@ export type V2OrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -3037,6 +3101,7 @@ export type V2OrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -3051,6 +3116,7 @@ export type V2OrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -3065,6 +3131,7 @@ export type V2OrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -3079,6 +3146,7 @@ export type V2OrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -3093,6 +3161,7 @@ export type V2OrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -3107,6 +3176,7 @@ export type V2OrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -3121,6 +3191,7 @@ export type V2OrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -3135,6 +3206,7 @@ export type V2OrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -3149,6 +3221,7 @@ export type V2OrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -3163,6 +3236,7 @@ export type V2OrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -3177,6 +3251,7 @@ export type V2OrganisationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -3298,6 +3373,7 @@ export type V2AdminUserUpdate = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -3312,6 +3388,7 @@ export type V2AdminUserUpdate = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -3326,6 +3403,7 @@ export type V2AdminUserUpdate = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -3340,6 +3418,7 @@ export type V2AdminUserUpdate = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -3354,6 +3433,7 @@ export type V2AdminUserUpdate = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -3368,6 +3448,7 @@ export type V2AdminUserUpdate = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -3382,6 +3463,7 @@ export type V2AdminUserUpdate = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -3396,6 +3478,7 @@ export type V2AdminUserUpdate = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -3410,6 +3493,7 @@ export type V2AdminUserUpdate = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -3433,6 +3517,7 @@ export type V2FileRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
@@ -3441,6 +3526,7 @@ export type V2FileGallery = {
file_url?: string;
thumb_url?: string;
file_name?: string;
+ name?: string;
created_date?: string;
model_name?: string;
is_public?: boolean;
@@ -4067,6 +4153,7 @@ export type V2NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -4081,6 +4168,7 @@ export type V2NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -4095,6 +4183,7 @@ export type V2NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -4109,6 +4198,7 @@ export type V2NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -4123,6 +4213,7 @@ export type V2NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -4312,6 +4403,7 @@ export type V2NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -4326,6 +4418,7 @@ export type V2NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -4340,6 +4433,7 @@ export type V2NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -4354,6 +4448,7 @@ export type V2NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -4368,6 +4463,7 @@ export type V2NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -4382,6 +4478,7 @@ export type V2NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -4396,6 +4493,7 @@ export type V2NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -4410,6 +4508,7 @@ export type V2NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -4424,6 +4523,7 @@ export type V2NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -4438,6 +4538,7 @@ export type V2NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -4452,6 +4553,7 @@ export type V2NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -4672,6 +4774,7 @@ export type ProjectLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -4686,6 +4789,7 @@ export type ProjectLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -4700,6 +4804,7 @@ export type ProjectLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -4714,6 +4819,7 @@ export type ProjectLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -4728,6 +4834,7 @@ export type ProjectLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -4917,6 +5024,7 @@ export type ProjectLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -4931,6 +5039,7 @@ export type ProjectLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -4945,6 +5054,7 @@ export type ProjectLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -4959,6 +5069,7 @@ export type ProjectLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -4973,6 +5084,7 @@ export type ProjectLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -4987,6 +5099,7 @@ export type ProjectLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -5001,6 +5114,7 @@ export type ProjectLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -5015,6 +5129,7 @@ export type ProjectLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -5029,6 +5144,7 @@ export type ProjectLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -5043,6 +5159,7 @@ export type ProjectLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -5057,6 +5174,7 @@ export type ProjectLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -5142,6 +5260,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -5156,6 +5275,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -5170,6 +5290,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -5184,6 +5305,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -5198,6 +5320,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -5387,6 +5510,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -5401,6 +5525,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -5415,6 +5540,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -5429,6 +5555,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -5443,6 +5570,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -5457,6 +5585,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -5471,6 +5600,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -5485,6 +5615,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -5499,6 +5630,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -5513,6 +5645,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -5527,6 +5660,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -5887,6 +6021,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
deleted_at?: string;
@@ -5959,6 +6094,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -5973,6 +6109,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -5987,6 +6124,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -6001,6 +6139,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -6015,6 +6154,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -6189,6 +6329,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -6203,6 +6344,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -6217,6 +6359,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -6231,6 +6374,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -6245,6 +6389,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -6259,6 +6404,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -6273,6 +6419,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -6287,6 +6434,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -6301,6 +6449,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -6315,6 +6464,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -6329,6 +6479,7 @@ export type ProjectFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -6521,6 +6672,7 @@ export type SiteFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -6535,6 +6687,7 @@ export type SiteFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -6549,6 +6702,7 @@ export type SiteFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -6563,6 +6717,7 @@ export type SiteFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -6577,6 +6732,7 @@ export type SiteFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -6766,6 +6922,7 @@ export type SiteFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -6780,6 +6937,7 @@ export type SiteFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -6794,6 +6952,7 @@ export type SiteFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -6808,6 +6967,7 @@ export type SiteFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -6822,6 +6982,7 @@ export type SiteFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -6836,6 +6997,7 @@ export type SiteFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -6850,6 +7012,7 @@ export type SiteFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -6864,6 +7027,7 @@ export type SiteFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -6878,6 +7042,7 @@ export type SiteFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -6892,6 +7057,7 @@ export type SiteFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -6906,6 +7072,7 @@ export type SiteFullRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -7055,6 +7222,7 @@ export type ProjectPitchRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -7069,6 +7237,7 @@ export type ProjectPitchRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -7083,6 +7252,7 @@ export type ProjectPitchRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -7097,6 +7267,7 @@ export type ProjectPitchRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -7111,6 +7282,7 @@ export type ProjectPitchRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -8325,6 +8497,7 @@ export type ApplicationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
deleted_at?: string;
@@ -8397,6 +8570,7 @@ export type ApplicationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -8411,6 +8585,7 @@ export type ApplicationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -8425,6 +8600,7 @@ export type ApplicationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -8439,6 +8615,7 @@ export type ApplicationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -8453,6 +8630,7 @@ export type ApplicationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -8627,6 +8805,7 @@ export type ApplicationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -8641,6 +8820,7 @@ export type ApplicationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -8655,6 +8835,7 @@ export type ApplicationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -8669,6 +8850,7 @@ export type ApplicationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -8683,6 +8865,7 @@ export type ApplicationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -8697,6 +8880,7 @@ export type ApplicationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -8711,6 +8895,7 @@ export type ApplicationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -8725,6 +8910,7 @@ export type ApplicationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -8739,6 +8925,7 @@ export type ApplicationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -8753,6 +8940,7 @@ export type ApplicationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -8767,6 +8955,7 @@ export type ApplicationRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -8915,6 +9104,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -8929,6 +9119,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -8943,6 +9134,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -8957,6 +9149,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -8971,6 +9164,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -9160,6 +9354,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -9174,6 +9369,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -9188,6 +9384,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -9202,6 +9399,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -9216,6 +9414,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -9230,6 +9429,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -9244,6 +9444,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -9258,6 +9459,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -9272,6 +9474,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -9286,6 +9489,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -9300,6 +9504,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -9380,6 +9585,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -9394,6 +9600,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -9408,6 +9615,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -9422,6 +9630,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -9436,6 +9645,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -9625,6 +9835,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -9639,6 +9850,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -9653,6 +9865,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -9667,6 +9880,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -9681,6 +9895,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -9695,6 +9910,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -9709,6 +9925,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -9723,6 +9940,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -9737,6 +9955,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -9751,6 +9970,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -9765,6 +9985,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -9853,6 +10074,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -9867,6 +10089,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -9881,6 +10104,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -9895,6 +10119,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -9909,6 +10134,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -10098,6 +10324,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -10112,6 +10339,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -10126,6 +10354,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -10140,6 +10369,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -10154,6 +10384,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -10168,6 +10399,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -10182,6 +10414,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -10196,6 +10429,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -10210,6 +10444,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -10224,6 +10459,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -10238,6 +10474,7 @@ export type SiteReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -10336,6 +10573,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -10350,6 +10588,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -10364,6 +10603,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -10378,6 +10618,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -10392,6 +10633,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -10581,6 +10823,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -10595,6 +10838,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -10609,6 +10853,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -10623,6 +10868,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -10637,6 +10883,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -10651,6 +10898,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -10665,6 +10913,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -10679,6 +10928,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -10693,6 +10943,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -10707,6 +10958,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -10721,6 +10973,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -10801,6 +11054,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -10815,6 +11069,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -10829,6 +11084,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -10843,6 +11099,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -10857,6 +11114,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -11046,6 +11304,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -11060,6 +11319,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -11074,6 +11334,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -11088,6 +11349,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -11102,6 +11364,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -11116,6 +11379,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -11130,6 +11394,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -11144,6 +11409,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -11158,6 +11424,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -11172,6 +11439,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -11186,6 +11454,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -11274,6 +11543,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -11288,6 +11558,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -11302,6 +11573,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -11316,6 +11588,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -11330,6 +11603,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -11519,6 +11793,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -11533,6 +11808,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -11547,6 +11823,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -11561,6 +11838,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -11575,6 +11853,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -11589,6 +11868,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -11603,6 +11883,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -11617,6 +11898,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -11631,6 +11913,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -11645,6 +11928,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -11659,6 +11943,7 @@ export type SiteReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -11769,6 +12054,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -11783,6 +12069,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -11797,6 +12084,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -11811,6 +12099,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -11825,6 +12114,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -12014,6 +12304,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -12028,6 +12319,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -12042,6 +12334,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -12056,6 +12349,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -12070,6 +12364,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -12084,6 +12379,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -12098,6 +12394,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -12112,6 +12409,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -12126,6 +12424,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -12140,6 +12439,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -12154,6 +12454,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -12234,6 +12535,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -12248,6 +12550,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -12262,6 +12565,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -12276,6 +12580,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -12290,6 +12595,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -12479,6 +12785,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -12493,6 +12800,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -12507,6 +12815,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -12521,6 +12830,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -12535,6 +12845,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -12549,6 +12860,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -12563,6 +12875,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -12577,6 +12890,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -12591,6 +12905,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -12605,6 +12920,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -12619,6 +12935,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -12707,6 +13024,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -12721,6 +13039,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -12735,6 +13054,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -12749,6 +13069,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -12763,6 +13084,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -12952,6 +13274,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -12966,6 +13289,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -12980,6 +13304,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -12994,6 +13319,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -13008,6 +13334,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -13022,6 +13349,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -13036,6 +13364,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -13050,6 +13379,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -13064,6 +13394,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -13078,6 +13409,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -13092,6 +13424,7 @@ export type NurseryReportLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -13189,6 +13522,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -13203,6 +13537,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -13217,6 +13552,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -13231,6 +13567,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -13245,6 +13582,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -13434,6 +13772,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -13448,6 +13787,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -13462,6 +13802,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -13476,6 +13817,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -13490,6 +13832,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -13504,6 +13847,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -13518,6 +13862,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -13532,6 +13877,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -13546,6 +13892,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -13560,6 +13907,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -13574,6 +13922,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -13654,6 +14003,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -13668,6 +14018,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -13682,6 +14033,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -13696,6 +14048,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -13710,6 +14063,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -13899,6 +14253,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -13913,6 +14268,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -13927,6 +14283,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -13941,6 +14298,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -13955,6 +14313,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -13969,6 +14328,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -13983,6 +14343,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -13997,6 +14358,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -14011,6 +14373,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -14025,6 +14388,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -14039,6 +14403,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -14127,6 +14492,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -14141,6 +14507,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -14155,6 +14522,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -14169,6 +14537,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -14183,6 +14552,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -14372,6 +14742,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -14386,6 +14757,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -14400,6 +14772,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -14414,6 +14787,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -14428,6 +14802,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -14442,6 +14817,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -14456,6 +14832,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -14470,6 +14847,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -14484,6 +14862,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -14498,6 +14877,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -14512,6 +14892,7 @@ export type NurseryReportPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -14624,6 +15005,7 @@ export type NurseryPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -14638,6 +15020,7 @@ export type NurseryPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -14652,6 +15035,7 @@ export type NurseryPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -14666,6 +15050,7 @@ export type NurseryPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -14680,6 +15065,7 @@ export type NurseryPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -14869,6 +15255,7 @@ export type NurseryPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -14883,6 +15270,7 @@ export type NurseryPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -14897,6 +15285,7 @@ export type NurseryPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -14911,6 +15300,7 @@ export type NurseryPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -14925,6 +15315,7 @@ export type NurseryPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -14939,6 +15330,7 @@ export type NurseryPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -14953,6 +15345,7 @@ export type NurseryPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -14967,6 +15360,7 @@ export type NurseryPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -14981,6 +15375,7 @@ export type NurseryPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -14995,6 +15390,7 @@ export type NurseryPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -15009,6 +15405,7 @@ export type NurseryPaginated = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -15110,6 +15507,7 @@ export type NurseryRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -15124,6 +15522,7 @@ export type NurseryRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -15138,6 +15537,7 @@ export type NurseryRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -15152,6 +15552,7 @@ export type NurseryRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -15166,6 +15567,7 @@ export type NurseryRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -15355,6 +15757,7 @@ export type NurseryRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -15369,6 +15772,7 @@ export type NurseryRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -15383,6 +15787,7 @@ export type NurseryRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -15397,6 +15802,7 @@ export type NurseryRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -15411,6 +15817,7 @@ export type NurseryRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -15425,6 +15832,7 @@ export type NurseryRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -15439,6 +15847,7 @@ export type NurseryRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -15453,6 +15862,7 @@ export type NurseryRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -15467,6 +15877,7 @@ export type NurseryRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -15481,6 +15892,7 @@ export type NurseryRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -15495,6 +15907,7 @@ export type NurseryRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -15608,6 +16021,7 @@ export type NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -15622,6 +16036,7 @@ export type NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -15636,6 +16051,7 @@ export type NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -15650,6 +16066,7 @@ export type NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -15664,6 +16081,7 @@ export type NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -15853,6 +16271,7 @@ export type NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -15867,6 +16286,7 @@ export type NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -15881,6 +16301,7 @@ export type NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -15895,6 +16316,7 @@ export type NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -15909,6 +16331,7 @@ export type NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -15923,6 +16346,7 @@ export type NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -15937,6 +16361,7 @@ export type NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -15951,6 +16376,7 @@ export type NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -15965,6 +16391,7 @@ export type NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -15979,6 +16406,7 @@ export type NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -15993,6 +16421,7 @@ export type NurseryLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -16087,6 +16516,7 @@ export type SiteLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -16101,6 +16531,7 @@ export type SiteLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -16115,6 +16546,7 @@ export type SiteLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -16129,6 +16561,7 @@ export type SiteLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -16143,6 +16576,7 @@ export type SiteLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -16332,6 +16766,7 @@ export type SiteLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -16346,6 +16781,7 @@ export type SiteLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -16360,6 +16796,7 @@ export type SiteLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -16374,6 +16811,7 @@ export type SiteLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -16388,6 +16826,7 @@ export type SiteLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -16402,6 +16841,7 @@ export type SiteLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -16416,6 +16856,7 @@ export type SiteLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -16430,6 +16871,7 @@ export type SiteLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -16444,6 +16886,7 @@ export type SiteLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -16458,6 +16901,7 @@ export type SiteLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -16472,6 +16916,7 @@ export type SiteLiteRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -16571,6 +17016,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -16585,6 +17031,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -16599,6 +17046,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -16613,6 +17061,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -16627,6 +17076,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -16816,6 +17266,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -16830,6 +17281,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -16844,6 +17296,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -16858,6 +17311,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -16872,6 +17326,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -16886,6 +17341,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -16900,6 +17356,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -16914,6 +17371,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -16928,6 +17386,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -16942,6 +17401,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -16956,6 +17416,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -17057,6 +17518,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -17071,6 +17533,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -17085,6 +17548,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -17099,6 +17563,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -17113,6 +17578,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -17287,6 +17753,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -17301,6 +17768,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -17315,6 +17783,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -17329,6 +17798,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -17343,6 +17813,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -17357,6 +17828,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -17371,6 +17843,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -17385,6 +17858,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -17399,6 +17873,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -17413,6 +17888,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -17427,6 +17903,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -17535,6 +18012,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -17549,6 +18027,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -17563,6 +18042,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -17577,6 +18057,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -17591,6 +18072,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -17765,6 +18247,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -17779,6 +18262,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -17793,6 +18277,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -17807,6 +18292,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -17821,6 +18307,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -17835,6 +18322,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -17849,6 +18337,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -17863,6 +18352,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -17877,6 +18367,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -17891,6 +18382,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -17905,6 +18397,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -18005,6 +18498,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -18019,6 +18513,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -18033,6 +18528,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -18047,6 +18543,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -18061,6 +18558,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -18250,6 +18748,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -18264,6 +18763,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -18278,6 +18778,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -18292,6 +18793,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -18306,6 +18808,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -18320,6 +18823,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -18334,6 +18838,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -18348,6 +18853,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -18362,6 +18868,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -18376,6 +18883,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -18390,6 +18898,7 @@ export type NurseryReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -18481,6 +18990,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -18495,6 +19005,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -18509,6 +19020,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -18523,6 +19035,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -18537,6 +19050,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -18726,6 +19240,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -18740,6 +19255,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -18754,6 +19270,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -18768,6 +19285,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -18782,6 +19300,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -18796,6 +19315,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -18810,6 +19330,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -18824,6 +19345,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -18838,6 +19360,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -18852,6 +19375,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -18866,6 +19390,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -18963,6 +19488,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -18977,6 +19503,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -18991,6 +19518,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -19005,6 +19533,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -19019,6 +19548,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -19193,6 +19723,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -19207,6 +19738,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -19221,6 +19753,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -19235,6 +19768,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -19249,6 +19783,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -19263,6 +19798,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -19277,6 +19813,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -19291,6 +19828,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -19305,6 +19843,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -19319,6 +19858,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -19333,6 +19873,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -19441,6 +19982,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -19455,6 +19997,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -19469,6 +20012,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -19483,6 +20027,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -19497,6 +20042,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -19671,6 +20217,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -19685,6 +20232,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -19699,6 +20247,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -19713,6 +20262,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -19727,6 +20277,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -19741,6 +20292,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -19755,6 +20307,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -19769,6 +20322,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -19783,6 +20337,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -19797,6 +20352,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -19811,6 +20367,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -19981,6 +20538,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -19995,6 +20553,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -20009,6 +20568,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -20023,6 +20583,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -20037,6 +20598,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -20226,6 +20788,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -20240,6 +20803,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -20254,6 +20818,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -20268,6 +20833,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -20282,6 +20848,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -20296,6 +20863,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -20310,6 +20878,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -20324,6 +20893,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -20338,6 +20908,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -20352,6 +20923,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -20366,6 +20938,7 @@ export type SiteReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -20579,6 +21152,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -20593,6 +21167,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -20607,6 +21182,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -20621,6 +21197,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -20635,6 +21212,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -20824,6 +21402,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -20838,6 +21417,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -20852,6 +21432,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -20866,6 +21447,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -20880,6 +21462,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -20894,6 +21477,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -20908,6 +21492,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -20922,6 +21507,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -20936,6 +21522,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -20950,6 +21537,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -20964,6 +21552,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -21049,6 +21638,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
restoration_photos?: {
@@ -21063,6 +21653,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
cover?: {
@@ -21077,6 +21668,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
proof_of_land_tenure_mou?: {
@@ -21091,6 +21683,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
detailed_project_budget?: {
@@ -21105,6 +21698,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
expected_active_restoration_start_date?: string;
@@ -21279,6 +21873,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
previous_annual_reports?: {
@@ -21293,6 +21888,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
logo?: {
@@ -21307,6 +21903,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
cover?: {
@@ -21321,6 +21918,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
};
reference?: {
@@ -21335,6 +21933,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
additional?: {
@@ -21349,6 +21948,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_2year?: {
@@ -21363,6 +21963,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_last_year?: {
@@ -21377,6 +21978,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_this_year?: {
@@ -21391,6 +21993,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
op_budget_next_year?: {
@@ -21405,6 +22008,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
legal_registration?: {
@@ -21419,6 +22023,7 @@ export type ProjectReportRead = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
/**
@@ -21774,6 +22379,7 @@ export type AuditStatusResponse = {
lat?: number;
lng?: number;
is_public?: boolean;
+ is_cover?: boolean;
created_at?: string;
}[];
};
@@ -22633,13 +23239,50 @@ export type SitePolygonLoaded = {
version_name?: string;
};
-export type ClippedPolygonsResponse = {
+export type ClippedPolygonResponse = {
updated_polygons?: {
uuid?: string;
poly_name?: string;
}[];
};
+export type ClippedPolygonsResponse = {
+ /**
+ * A list of processed polygons
+ */
+ processed?: {
+ /**
+ * The UUID of the unprocessed polygon
+ *
+ * @example uuid1
+ */
+ uuid?: string;
+ /**
+ * The name of the unprocessed polygon
+ *
+ * @example Polygon Name
+ */
+ poly_name?: string;
+ }[];
+ /**
+ * A list of polygons that couldn't be processed
+ */
+ unprocessed?: {
+ /**
+ * The UUID of the unprocessed polygon
+ *
+ * @example uuid1
+ */
+ uuid?: string;
+ /**
+ * The name of the unprocessed polygon
+ *
+ * @example Polygon Name
+ */
+ poly_name?: string;
+ }[];
+};
+
export type DeletedPolygonsResponse = {
/**
* Success message
diff --git a/src/helpers/entity.ts b/src/helpers/entity.ts
index 5e85d9195..8a73c31d0 100644
--- a/src/helpers/entity.ts
+++ b/src/helpers/entity.ts
@@ -45,3 +45,11 @@ export const getEntityCombinedStatus = (entity: any): string => {
? entity.update_request_status
: entity.status;
};
+
+export const getCurrentPathEntity = () => {
+ const currentRoute = window.location.href + window.location.hash;
+ if (currentRoute?.includes("nursery")) return "nursery";
+ if (currentRoute?.includes("site")) return "site";
+ if (currentRoute?.includes("project")) return "project";
+ return "";
+};
diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx
index 88a6d7b7e..c869c66d2 100644
--- a/src/pages/_app.tsx
+++ b/src/pages/_app.tsx
@@ -8,9 +8,11 @@ import App from "next/app";
import dynamic from "next/dynamic";
import { useRouter } from "next/router";
import nookies from "nookies";
+import { Else, If, Then } from "react-if";
import Toast from "@/components/elements/Toast/Toast";
import ModalRoot from "@/components/extensive/Modal/ModalRoot";
+import DashboardLayout from "@/components/generic/Layout/DashboardLayout";
import MainLayout from "@/components/generic/Layout/MainLayout";
import AuthProvider from "@/context/auth.provider";
import { LoadingProvider } from "@/context/loaderAdmin.provider";
@@ -31,6 +33,7 @@ const _App = ({ Component, pageProps, props, accessToken }: AppProps & { accessT
const t = useT();
const router = useRouter();
const isAdmin = router.asPath.includes("/admin");
+ const isOnDashboards = router.asPath.includes("/dashboard");
setClientSideTranslations(props);
setupYup(t);
@@ -66,10 +69,20 @@ const _App = ({ Component, pageProps, props, accessToken }: AppProps & { accessT
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/auth/create-account/index.page.tsx b/src/pages/auth/create-account/index.page.tsx
index fd98a2306..e2f83d264 100644
--- a/src/pages/auth/create-account/index.page.tsx
+++ b/src/pages/auth/create-account/index.page.tsx
@@ -18,7 +18,7 @@ const Page = () => {
const [selectedTitleOption, setSelectedTitleOption] = useState();
const [showSignUp, setShowSignUp] = useState(false);
const { data: dashboardCountries } = useGetV2DashboardCountries({
- queryParams: { country: "all" }
+ queryParams: {}
});
const refContentCard = React.useRef(null);
diff --git a/src/pages/dashboard/components/BlurContainer.tsx b/src/pages/dashboard/components/BlurContainer.tsx
new file mode 100644
index 000000000..6ff7b02e3
--- /dev/null
+++ b/src/pages/dashboard/components/BlurContainer.tsx
@@ -0,0 +1,28 @@
+import classNames from "classnames";
+import React from "react";
+import { twMerge as tw } from "tailwind-merge";
+interface BlurContainerProps {
+ isCollapse?: boolean;
+ children: React.ReactNode;
+ className?: string;
+}
+
+const BlurContainer = (props: BlurContainerProps) => {
+ const { isCollapse, children, className } = props;
+ return (
+
+ );
+};
+
+export default BlurContainer;
diff --git a/src/pages/dashboard/components/ContentOverview.tsx b/src/pages/dashboard/components/ContentOverview.tsx
new file mode 100644
index 000000000..83778a2e9
--- /dev/null
+++ b/src/pages/dashboard/components/ContentOverview.tsx
@@ -0,0 +1,112 @@
+import { ColumnDef, RowData } from "@tanstack/react-table";
+import { useT } from "@transifex/react";
+import classNames from "classnames";
+import React, { useState } from "react";
+import { When } from "react-if";
+
+import Button from "@/components/elements/Button/Button";
+import Table from "@/components/elements/Table/Table";
+import { VARIANT_TABLE_DASHBOARD_COUNTRIES } from "@/components/elements/Table/TableVariants";
+import Text from "@/components/elements/Text/Text";
+import ToolTip from "@/components/elements/Tooltip/Tooltip";
+import Icon from "@/components/extensive/Icon/Icon";
+import { IconNames } from "@/components/extensive/Icon/Icon";
+
+import TooltipGridMap from "./TooltipGridMap";
+
+interface ContentOverviewProps {
+ data: TData[];
+ columns: ColumnDef[];
+}
+
+const ContentOverview = (props: ContentOverviewProps) => {
+ const { data, columns } = props;
+ const [collapseMap, setCollapseMap] = useState(false);
+ const t = useT();
+
+ return (
+
+
+
+
+ {t("MAP")}
+
+
+
+
+
+
+
+
+
+
+ {t("Non-Profit Projects (32)")}
+
+
+
+
+
+ {t("Enterprise Projects (457)")}
+
+
+
+
+
+
+
+
+
+ {t("ACTIVE COUNTRIES")}
+
+
+
+
+
{
+ setCollapseMap(!collapseMap);
+ }}
+ >
+
+
+
+ {!collapseMap ? "Collapse" : "Expand"}
+
+
+
+
+
+
+
+
+ );
+};
+
+export default ContentOverview;
diff --git a/src/pages/dashboard/components/ContentOverviewProject.tsx b/src/pages/dashboard/components/ContentOverviewProject.tsx
new file mode 100644
index 000000000..91aface60
--- /dev/null
+++ b/src/pages/dashboard/components/ContentOverviewProject.tsx
@@ -0,0 +1,101 @@
+import { useT } from "@transifex/react";
+import React from "react";
+
+import Table from "@/components/elements/Table/Table";
+import { VARIANT_TABLE_DASHBOARD_COUNTRIES } from "@/components/elements/Table/TableVariants";
+import Text from "@/components/elements/Text/Text";
+import ToolTip from "@/components/elements/Tooltip/Tooltip";
+import Icon from "@/components/extensive/Icon/Icon";
+import { IconNames } from "@/components/extensive/Icon/Icon";
+import PageCard from "@/components/extensive/PageElements/Card/PageCard";
+
+import { COLUMN_ACTIVE_COUNTRY, DATA_ACTIVE_COUNTRY } from "../mockedData/dashboard";
+import ImpactStoryCard from "./ImpactStoryCard";
+import TooltipGridMap from "./TooltipGridMap";
+
+const ContentOverviewProject = () => {
+ const t = useT();
+ const dataImpactStories = [
+ {
+ id: "1",
+ by: "FilmsForChange",
+ date: "23 Sep 2023",
+ description: "Mud Floods in our village in Kasese Uganda.",
+ image: "/images/pitch-placeholder.webp",
+ title: "Huge mudslide Causes Damage"
+ },
+ {
+ id: "2",
+ by: "FilmsForChange",
+ date: "23 Sep 2023",
+ description: "Women’s Tree Nursery is doing well. After receiving trees and he Lorem ipsum dolor sit amet",
+ image: "/images/landing-page-hero-banner.webp",
+ title: "Kyemihoko Rural Women’s Initiative"
+ },
+ {
+ id: "3",
+ by: "FilmsForChange",
+ date: "23 Sep 2023",
+ description: "Mud Floods in our village in Kasese Uganda.",
+ image: "/images/terrafund-afr-100-explainer.webp",
+ title: "Wild Fire"
+ }
+ ];
+ return (
+
+
+
+
+
+
+
+
+
+ {t("Non-Profit Projects (32)")}
+
+
+
+
+
+ {t("Enterprise Projects (457)")}
+
+
+
+
+
+
+ {dataImpactStories.map(story => (
+
+ ))}
+
+
+
+
+ {t("OTHER PROJECTS IN NIGER")}
+
+
+
+
+
+
+
+
+ );
+};
+
+export default ContentOverviewProject;
diff --git a/src/pages/dashboard/components/GraphicDashboard.tsx b/src/pages/dashboard/components/GraphicDashboard.tsx
new file mode 100644
index 000000000..e6f3a3910
--- /dev/null
+++ b/src/pages/dashboard/components/GraphicDashboard.tsx
@@ -0,0 +1,33 @@
+import { useT } from "@transifex/react";
+
+import Text from "@/components/elements/Text/Text";
+
+import { DashboardTableDataProps } from "../index.page";
+
+const GraphicDashboard = ({ data, maxValue }: { data: DashboardTableDataProps[]; maxValue: number }) => {
+ const t = useT();
+
+ return (
+
+ {data.map((item, index) => {
+ const widthBar = (item.value * 100) / maxValue;
+
+ return (
+
+
+
+ {t(item.valueText)}
+
+
+
+
+ {t(item.label)}
+
+
+ );
+ })}
+
+ );
+};
+
+export default GraphicDashboard;
diff --git a/src/pages/dashboard/components/GraphicIconDashoard.tsx b/src/pages/dashboard/components/GraphicIconDashoard.tsx
new file mode 100644
index 000000000..9055ad752
--- /dev/null
+++ b/src/pages/dashboard/components/GraphicIconDashoard.tsx
@@ -0,0 +1,86 @@
+import classNames from "classnames";
+
+import Text from "@/components/elements/Text/Text";
+import Icon, { IconNames } from "@/components/extensive/Icon/Icon";
+
+import { DashboardTableDataProps } from "../index.page";
+
+const GraphicIconDashoard = ({ data }: { data: DashboardTableDataProps[] }) => {
+ const colorIconLabel = (label: string): { color: string; icon: keyof typeof IconNames } => {
+ switch (label) {
+ case "Agroforest":
+ return { color: "bg-tertiary-800", icon: "IC_AGROFOREST" };
+
+ case "Natural Forest":
+ return { color: "bg-green-60", icon: "IC_NATURAL_FOREST" };
+
+ case "Mangrove":
+ return { color: "bg-green-300", icon: "IC_MANGROVE" };
+
+ case "Woodlot / Plantation":
+ return { color: "bg-yellow-600", icon: "IC_WOODLOT" };
+
+ case "Open Natural Ecosystem":
+ return { color: "bg-green-40", icon: "IC_OPEN_NATURAL_ECOSYSTEM" };
+
+ case "Riparian Area / Wetland":
+ return { color: "bg-primary-350", icon: "IC_RIPARIAN_AREA" };
+
+ case "Urban Forest":
+ return { color: "bg-purpleCustom-100", icon: "IC_URBAN_FOREST" };
+
+ case "Silvopasture":
+ return { color: "bg-yellow-550", icon: "IC_SILVOPASTURE" };
+ case "Peatland":
+ return { color: "bg-primary-250", icon: "IC_PEATLAND" };
+ default:
+ return { color: "bg-tertiary-800", icon: "IC_AGROFOREST" };
+ }
+ };
+
+ return (
+
+
+ {data.map((item, index) => {
+ return (
+
+ );
+ })}
+
+
+ {data.map((item, index) => (
+
+
+
+
+
+ {item.label}
+
+
+
+ {item.valueText}
+
+
+
+
+ ))}
+
+
+ );
+};
+
+export default GraphicIconDashoard;
diff --git a/src/pages/dashboard/components/HeaderDashboard.tsx b/src/pages/dashboard/components/HeaderDashboard.tsx
new file mode 100644
index 000000000..30f07ea0b
--- /dev/null
+++ b/src/pages/dashboard/components/HeaderDashboard.tsx
@@ -0,0 +1,209 @@
+import { useT } from "@transifex/react";
+import classNames from "classnames";
+import { useRouter } from "next/router";
+import React, { useContext, useEffect, useState } from "react";
+
+import Dropdown from "@/components/elements/Inputs/Dropdown/Dropdown";
+import { VARIANT_DROPDOWN_HEADER } from "@/components/elements/Inputs/Dropdown/DropdownVariant";
+import Text from "@/components/elements/Text/Text";
+import { useGetV2DashboardCountries } from "@/generated/apiComponents";
+import { OptionValue } from "@/types/common";
+
+import { RefContext } from "../context/ScrollContext.provider";
+import BlurContainer from "./BlurContainer";
+
+const HeaderDashboard = () => {
+ const sharedRef = useContext(RefContext);
+ const t = useT();
+ const router = useRouter();
+ const [isHeaderCollapsed, setIsHeaderCollapsed] = useState(false);
+ const dropdwonOptions = [
+ {
+ title: "Tree Planting",
+ value: "1"
+ },
+ {
+ title: "Direct Seeding",
+ value: "2"
+ },
+ {
+ title: "Natural Regeneration",
+ value: "3"
+ }
+ ];
+
+ const { data: dashboardCountries } = useGetV2DashboardCountries({
+ queryParams: {}
+ });
+
+ const dropdwonCountryOptions = [
+ {
+ title: "Global",
+ value: "global",
+ prefix: undefined
+ },
+ ...(dashboardCountries?.data?.map((country: any) => ({
+ title: country.data.label,
+ value: country.id,
+ prefix:
+ })) || [])
+ ];
+
+ const [filterValues, setFilterValues] = useState<{
+ dropdown1: OptionValue[];
+ dropdown2: OptionValue[];
+ dropdown3: OptionValue[];
+ dropdown4: OptionValue[];
+ }>({
+ dropdown1: [],
+ dropdown2: [],
+ dropdown3: [],
+ dropdown4: []
+ });
+
+ const resetValues = () => {
+ setFilterValues({
+ dropdown1: [],
+ dropdown2: [],
+ dropdown3: [],
+ dropdown4: []
+ });
+ };
+
+ const handleChange = (selectName: string, value: OptionValue[]) => {
+ setFilterValues(prevValues => ({
+ ...prevValues,
+ [selectName]: value
+ }));
+ };
+
+ useEffect(() => {
+ const scrollElement = sharedRef?.current;
+ const handleScroll = () => {
+ if (scrollElement) {
+ const currentScrollY = scrollElement.scrollTop;
+ if (currentScrollY === 0) {
+ setIsHeaderCollapsed(true);
+ } else {
+ setIsHeaderCollapsed(false);
+ }
+ }
+ };
+ scrollElement?.addEventListener("scroll", handleScroll);
+
+ return () => {
+ scrollElement?.removeEventListener("scroll", handleScroll);
+ };
+ }, [sharedRef]);
+
+ const handleChangeCountry = (value: OptionValue[]) => {
+ if (value[0] === "global") {
+ router.push(`/dashboard/programme`);
+ return;
+ }
+ setFilterValues(prevValues => ({
+ ...prevValues,
+ dropdown3: value
+ }));
+ const selectedCountry = dashboardCountries?.data.find((country: { id: OptionValue }) => {
+ if (country.id === value[0]) {
+ return country;
+ }
+ });
+
+ router.push(`/dashboard/country/${selectedCountry?.country_slug}`);
+ };
+
+ return (
+
+ );
+};
+
+export default HeaderDashboard;
diff --git a/src/pages/dashboard/components/ImpactStoryCard.tsx b/src/pages/dashboard/components/ImpactStoryCard.tsx
new file mode 100644
index 000000000..c020aeb67
--- /dev/null
+++ b/src/pages/dashboard/components/ImpactStoryCard.tsx
@@ -0,0 +1,42 @@
+import { useT } from "@transifex/react";
+import React from "react";
+
+import Text from "@/components/elements/Text/Text";
+import Icon, { IconNames } from "@/components/extensive/Icon/Icon";
+interface ImpactStoryCardProps {
+ key?: string;
+ date: string;
+ by: string;
+ title: string;
+ description: string;
+ image: string;
+}
+const ImpactStoryCard = (porps: ImpactStoryCardProps) => {
+ const { key, date, by, title, description, image } = porps;
+ const t = useT();
+
+ return (
+
+
+
+
+
+ {t(`${date} by ${by}`)}
+
+
+
+
+ {t(title)}
+
+
+ {t(description)}
+
+
+
+ );
+};
+
+export default ImpactStoryCard;
diff --git a/src/pages/dashboard/components/ObjectiveSec.tsx b/src/pages/dashboard/components/ObjectiveSec.tsx
new file mode 100644
index 000000000..48875fcdb
--- /dev/null
+++ b/src/pages/dashboard/components/ObjectiveSec.tsx
@@ -0,0 +1,44 @@
+import { useT } from "@transifex/react";
+import { When } from "react-if";
+
+import Text from "@/components/elements/Text/Text";
+
+import { DashboardDataProps } from "../project/index.page";
+
+const ObjectiveSec = ({ data }: { data: DashboardDataProps }) => {
+ const t = useT();
+
+ return (
+
+
+
+
+ {t(data.objetiveText)}
+
+
+ {t("Read More...")}
+
+
+
+
+
+
+ {t(`Preferred Language: ${data.preferredLanguage}`)}
+
+
+
+
+
+
+ {t("Land Tenure")}
+
+
+ {t(data.landTenure)}
+
+
+
+
+ );
+};
+
+export default ObjectiveSec;
diff --git a/src/pages/dashboard/components/SecDashboard.tsx b/src/pages/dashboard/components/SecDashboard.tsx
new file mode 100644
index 000000000..b83112939
--- /dev/null
+++ b/src/pages/dashboard/components/SecDashboard.tsx
@@ -0,0 +1,158 @@
+import { useT } from "@transifex/react";
+import classNames from "classnames";
+import { useEffect, useState } from "react";
+import { When } from "react-if";
+
+import Table from "@/components/elements/Table/Table";
+import { VARIANT_TABLE_SITE_POLYGON_REVIEW } from "@/components/elements/Table/TableVariants";
+import Text from "@/components/elements/Text/Text";
+import Toggle from "@/components/elements/Toggle/Toggle";
+import { VARIANT_TOGGLE_DASHBOARD } from "@/components/elements/Toggle/ToggleVariants";
+import ToolTip from "@/components/elements/Tooltip/Tooltip";
+import Icon, { IconNames } from "@/components/extensive/Icon/Icon";
+import { TextVariants } from "@/types/common";
+
+import { DashboardDataProps } from "../project/index.page";
+import GraphicDashboard from "./GraphicDashboard";
+import GraphicIconDashoard from "./GraphicIconDashoard";
+import ObjectiveSec from "./ObjectiveSec";
+import TooltipGraphicDashboard from "./TooltipGraphicDashboard";
+import ValueNumberDashboard from "./ValueNumberDashboard";
+
+const SecDashboard = ({
+ title,
+ type,
+ secondOptionsData,
+ className,
+ classNameBody,
+ classNameHeader,
+ classNameTitle,
+ tooltipGraphic = false,
+ variantTitle,
+ data
+}: {
+ title: string;
+ type?: "legend" | "toggle";
+ secondOptionsData?: any;
+ className?: string;
+ classNameBody?: string;
+ classNameHeader?: string;
+ classNameTitle?: string;
+ tooltipGraphic?: boolean;
+ variantTitle?: TextVariants;
+ data: DashboardDataProps;
+}) => {
+ const [toggleValue, setToggleValue] = useState(0);
+ const t = useT();
+
+ const tableColumns = [
+ {
+ header: "Specie",
+ accessorKey: "label"
+ },
+ {
+ header: "Count",
+ accessorKey: "valueText"
+ }
+ ];
+
+ useEffect(() => {
+ if (data?.tableData) {
+ setToggleValue(1);
+ }
+ }, []);
+
+ return (
+
+
+
+
+ {t(title)}
+
+
+
+
+
+
+
+ {secondOptionsData &&
+ secondOptionsData.map((item: any, index: number) => (
+
+
+
+ {t(item.label)}
+
+
+ ))}
+
+
+
+ {
+ setToggleValue(toggleValue === 0 ? 1 : 0);
+ }}
+ variant={VARIANT_TOGGLE_DASHBOARD}
+ />
+
+
+
+ {data?.value &&
}
+
+
+
+
+
+
+
+
+
+
+
+ {data?.graphicLegend?.map((item, index) => (
+
+
+
+
+ {t(item.label)}
+
+
+ {t(item.value)}
+
+
+
+ ))}
+
+
+
+
+
+
+ {data?.tableData && }
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default SecDashboard;
diff --git a/src/pages/dashboard/components/TooltipGraphicDashboard.tsx b/src/pages/dashboard/components/TooltipGraphicDashboard.tsx
new file mode 100644
index 000000000..e04201907
--- /dev/null
+++ b/src/pages/dashboard/components/TooltipGraphicDashboard.tsx
@@ -0,0 +1,41 @@
+import { useT } from "@transifex/react";
+
+import Text from "@/components/elements/Text/Text";
+
+const TooltipGraphicDashboard = () => {
+ const t = useT();
+
+ const data = [
+ {
+ label: "Total",
+ value: "555"
+ },
+ {
+ label: "Non-Profit",
+ value: "271"
+ },
+ {
+ label: "Enterprise",
+ value: "284"
+ }
+ ];
+
+ return (
+
+
+ {t("Number of Trees in 2024")}
+
+ {data.map((item, index) => (
+
+
+ {t(item.label)}
+
+
+ {t(item.value)}
+
+
+ ))}
+
+ );
+};
+export default TooltipGraphicDashboard;
diff --git a/src/pages/dashboard/components/TooltipGridMap.tsx b/src/pages/dashboard/components/TooltipGridMap.tsx
new file mode 100644
index 000000000..6e9165b1e
--- /dev/null
+++ b/src/pages/dashboard/components/TooltipGridMap.tsx
@@ -0,0 +1,76 @@
+import { useT } from "@transifex/react";
+import { When } from "react-if";
+
+import Text from "@/components/elements/Text/Text";
+
+export interface TooltipItemProps {
+ id: string;
+ title: string;
+ value: string;
+}
+
+export interface TooltipGridProps {
+ label: string;
+ learnMore?: boolean;
+}
+
+const TooltipGridMap = (props: TooltipGridProps) => {
+ const { label, learnMore } = props;
+ const t = useT();
+
+ const items = [
+ {
+ id: "1",
+ title: "No. of Projects",
+ value: "32"
+ },
+ {
+ id: "2",
+ title: "Trees Plantedd",
+ value: "2,234"
+ },
+ {
+ id: "3",
+ title: "Restoration Hectares",
+ value: "832"
+ },
+ {
+ id: "4",
+ title: "Jobs Created",
+ value: "1,306"
+ }
+ ];
+
+ return (
+
+
+
+
+
+ {t(label)}
+
+
+
+ {items.map(item => (
+
+
+ {t(item.title)}
+
+
+ {t(item.value)}
+
+
+ ))}
+
+
+
+
+ {t("Learn More")}
+
+
+
+
+ );
+};
+
+export default TooltipGridMap;
diff --git a/src/pages/dashboard/components/ValueNumberDashboard.tsx b/src/pages/dashboard/components/ValueNumberDashboard.tsx
new file mode 100644
index 000000000..753e7dd86
--- /dev/null
+++ b/src/pages/dashboard/components/ValueNumberDashboard.tsx
@@ -0,0 +1,31 @@
+import { useT } from "@transifex/react";
+import { When } from "react-if";
+
+import Text from "@/components/elements/Text/Text";
+
+export interface ValueNumberDashboardProps {
+ value: string;
+ unit?: string;
+}
+
+const ValueNumberDashboard = ({ value, unit }: ValueNumberDashboardProps) => {
+ const t = useT();
+
+ return (
+
+
+ {t(value)}
+
+
+ {t(unit)}
+
+
+
+ {t("out of 20M")}
+
+
+
+ );
+};
+
+export default ValueNumberDashboard;
diff --git a/src/pages/dashboard/context/ScrollContext.provider.tsx b/src/pages/dashboard/context/ScrollContext.provider.tsx
new file mode 100644
index 000000000..420667dde
--- /dev/null
+++ b/src/pages/dashboard/context/ScrollContext.provider.tsx
@@ -0,0 +1,13 @@
+import React, { createContext, MutableRefObject, PropsWithChildren, useRef } from "react";
+
+type RefContextType = MutableRefObject;
+
+export const RefContext = createContext(null);
+
+const RefProvider = ({ children }: PropsWithChildren) => {
+ const sharedRef = useRef(null);
+
+ return {children} ;
+};
+
+export default RefProvider;
diff --git a/src/pages/dashboard/country/[id].page.tsx b/src/pages/dashboard/country/[id].page.tsx
new file mode 100644
index 000000000..7c4472871
--- /dev/null
+++ b/src/pages/dashboard/country/[id].page.tsx
@@ -0,0 +1,198 @@
+import { useT } from "@transifex/react";
+import React, { useContext } from "react";
+
+import Text from "@/components/elements/Text/Text";
+import ToolTip from "@/components/elements/Tooltip/Tooltip";
+import { IconNames } from "@/components/extensive/Icon/Icon";
+import Icon from "@/components/extensive/Icon/Icon";
+import PageCard from "@/components/extensive/PageElements/Card/PageCard";
+import PageRow from "@/components/extensive/PageElements/Row/PageRow";
+
+import ContentOverview from "../components/ContentOverview";
+import SecDashboard from "../components/SecDashboard";
+import { RefContext } from "../context/ScrollContext.provider";
+import {
+ COLUMN_ACTIVE_COUNTRY,
+ DATA_ACTIVE_COUNTRY,
+ JOBS_CREATED_BY_AGE,
+ JOBS_CREATED_BY_GENDER,
+ LABEL_LEGEND,
+ NEW_FULL_TIME_JOBS,
+ NEW_PART_TIME_JOBS,
+ NUMBER_OF_TREES_PLANTED,
+ NUMBER_OF_TREES_PLANTED_BY_YEAR,
+ RESTORATION_STRATEGIES_REPRESENTED,
+ TARGET_LAND_USE_TYPES_REPRESENTED,
+ TOP_10_PROJECTS_WITH_THE_MOST_PLANTED_TREES,
+ TOTAL_HECTARES_UNDER_RESTORATION,
+ TOTAL_NUMBER_OF_SITES,
+ TOTAL_VOLUNTEERS,
+ VOLUNTEERS_CREATED_BY_AGE,
+ VOLUNTEERS_CREATED_BY_GENDER
+} from "../mockedData/dashboard";
+
+const Country = () => {
+ const t = useT();
+ const dataToggle = ["Absolute", "Relative"];
+ const dataToggleGraphic = ["Table", "Graphic"];
+ const sharedRef = useContext(RefContext);
+
+ const dashboardHeader = [
+ {
+ label: "Trees Planted",
+ value: "12.2M"
+ },
+ {
+ label: "Hectares Under Restoration",
+ value: "5,220 ha"
+ },
+ {
+ label: "Jobs Created",
+ value: "23,000"
+ }
+ ];
+
+ return (
+
+
+
+
+
+
+ {dashboardHeader.map((item, index) => (
+
+
+ {t(item.label)}
+
+
+
+
+ {t(item.value)}
+
+
+
+
+
+
+ ))}
+
+
+ TerraFund’s MRV framework . Please refer to the linked MRV framework for details on how these numbers are sourced and verified.`
+ )}
+ >
+
+
+
+
+ TerraFund’s MRV framework. Please refer to the linked MRV framework for details on how these numbers are sourced and verified.`
+ )}
+ >
+
+
+
+
+
+
+
+ TerraFund’s MRV framework. TerraFund defines a job as a set of tasks and duties performed by one person aged 18 or over in exchange for monetary pay in line with living wage standards. All indicators in the Jobs Created category are disaggregated by number of women, number of men, and number of youths. Restoration Champions are required to report on jobs and volunteers every 6 months and provide additional documentation to verify employment. Please refer to the linked MRV framework for additional details on how these numbers are sourced and verified.`
+ )}
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default Country;
diff --git a/src/pages/dashboard/index.page.tsx b/src/pages/dashboard/index.page.tsx
new file mode 100644
index 000000000..c6eaa78f3
--- /dev/null
+++ b/src/pages/dashboard/index.page.tsx
@@ -0,0 +1,208 @@
+import { useT } from "@transifex/react";
+import { useContext } from "react";
+
+import Text from "@/components/elements/Text/Text";
+import ToolTip from "@/components/elements/Tooltip/Tooltip";
+import Icon, { IconNames } from "@/components/extensive/Icon/Icon";
+import PageCard from "@/components/extensive/PageElements/Card/PageCard";
+import PageRow from "@/components/extensive/PageElements/Row/PageRow";
+
+import ContentOverview from "./components/ContentOverview";
+import SecDashboard from "./components/SecDashboard";
+import { RefContext } from "./context/ScrollContext.provider";
+import {
+ COLUMN_ACTIVE_PROGRAMME,
+ DATA_ACTIVE_PROGRAMME,
+ JOBS_CREATED_BY_AGE,
+ JOBS_CREATED_BY_GENDER,
+ LABEL_LEGEND,
+ NEW_FULL_TIME_JOBS,
+ NEW_PART_TIME_JOBS,
+ NUMBER_OF_TREES_PLANTED,
+ NUMBER_OF_TREES_PLANTED_BY_YEAR,
+ RESTORATION_STRATEGIES_REPRESENTED,
+ TARGET_LAND_USE_TYPES_REPRESENTED,
+ TOP_10_PROJECTS_WITH_THE_MOST_PLANTED_TREES,
+ TOTAL_HECTARES_UNDER_RESTORATION,
+ TOTAL_NUMBER_OF_SITES,
+ TOTAL_VOLUNTEERS,
+ VOLUNTEERS_CREATED_BY_AGE,
+ VOLUNTEERS_CREATED_BY_GENDER
+} from "./mockedData/dashboard";
+
+export interface DashboardTableDataProps {
+ label: string;
+ valueText: string;
+ value: number;
+}
+
+export interface GraphicLegendProps {
+ label: string;
+ value: string;
+ color: string;
+}
+
+const Dashboard = () => {
+ const t = useT();
+ const dataToggle = ["Absolute", "Relative"];
+ const dataToggleGraphic = ["Table", "Graphic"];
+ const sharedRef = useContext(RefContext);
+ const dashboardHeader = [
+ {
+ label: "Trees Planted",
+ value: "12.2M"
+ },
+ {
+ label: "Hectares Under Restoration",
+ value: "5,220 ha"
+ },
+ {
+ label: "Jobs Created",
+ value: "23,000"
+ }
+ ];
+
+ return (
+
+
+
+
+
+
+ {dashboardHeader.map((item, index) => (
+
+
+ {t(item.label)}
+
+
+
+
+ {t(item.value)}
+
+
+
+
+
+
+ ))}
+
+
+ TerraFund’s MRV framework . Please refer to the linked MRV framework for details on how these numbers are sourced and verified.`
+ )}
+ >
+
+
+
+
+ TerraFund’s MRV framework. Please refer to the linked MRV framework for details on how these numbers are sourced and verified.`
+ )}
+ >
+
+
+
+
+
+
+
+ TerraFund’s MRV framework. TerraFund defines a job as a set of tasks and duties performed by one person aged 18 or over in exchange for monetary pay in line with living wage standards. All indicators in the Jobs Created category are disaggregated by number of women, number of men, and number of youths. Restoration Champions are required to report on jobs and volunteers every 6 months and provide additional documentation to verify employment. Please refer to the linked MRV framework for additional details on how these numbers are sourced and verified.`
+ )}
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default Dashboard;
diff --git a/src/pages/dashboard/mockedData/dashboard.ts b/src/pages/dashboard/mockedData/dashboard.ts
new file mode 100644
index 000000000..d1ccee1b8
--- /dev/null
+++ b/src/pages/dashboard/mockedData/dashboard.ts
@@ -0,0 +1,430 @@
+export const LABEL_LEGEND = [
+ {
+ label: "Non-Profit",
+ color: "bg-secondary-600"
+ },
+ {
+ label: "Enterprise",
+ color: "bg-primary"
+ }
+];
+
+export const NUMBER_OF_TREES_PLANTED = {
+ value: "12.2",
+ unit: "M"
+};
+
+export const NUMBER_OF_TREES_PLANTED_BY_YEAR = {
+ graphic: "/images/graphic-1.png"
+};
+
+export const TOP_10_PROJECTS_WITH_THE_MOST_PLANTED_TREES = {
+ tableData: [
+ {
+ label: "Aerobic Agroforestry",
+ valueText: "1,515,000",
+ value: 1515000
+ },
+ {
+ label: "Wells for Zoe",
+ valueText: "952789",
+ value: 952789
+ },
+ {
+ label: "Trees for the Future",
+ valueText: "646,247",
+ value: 646247
+ },
+ {
+ label: "KIJABE FOREST TRUST",
+ valueText: "549,995",
+ value: 549995
+ },
+ {
+ label: "Kijani Forestry",
+ valueText: "500,005",
+ value: 500005
+ }
+ ],
+ maxValue: 1889396.551724138
+};
+
+export const TOTAL_HECTARES_UNDER_RESTORATION = {
+ value: "23,000"
+};
+
+export const TOTAL_NUMBER_OF_SITES = {
+ value: "345"
+};
+
+export const RESTORATION_STRATEGIES_REPRESENTED = {
+ graphic: "/images/graphic-2.png"
+};
+
+export const TARGET_LAND_USE_TYPES_REPRESENTED = {
+ graphicTargetLandUseTypes: [
+ {
+ label: "Agroforest",
+ value: 60,
+ valueText: "212 ha 60%"
+ },
+ {
+ label: "Natural Forest",
+ value: 25,
+ valueText: "205 ha 30%"
+ },
+ {
+ label: "Mangrove",
+ value: 2,
+ valueText: "158 ha 2%"
+ },
+ {
+ label: "Woodlot / Plantation",
+ value: 6,
+ valueText: "127 ha 5%"
+ },
+ {
+ label: "Open Natural Ecosystem",
+ value: 3,
+ valueText: "89 ha 3%"
+ },
+ {
+ label: "Riparian Area / Wetland",
+ value: 1,
+ valueText: "76 ha <1%"
+ },
+ {
+ label: "Urban Forest",
+ value: 1,
+ valueText: "43 ha <1%"
+ },
+ {
+ label: "Silvopasture",
+ value: 1,
+ valueText: "34 ha <1%"
+ },
+ {
+ label: "Peatland",
+ value: 1,
+ valueText: "11 ha <1%"
+ }
+ ]
+};
+
+export const NEW_PART_TIME_JOBS = {
+ value: "22,000"
+};
+
+export const NEW_FULL_TIME_JOBS = {
+ value: "1,000"
+};
+
+export const JOBS_CREATED_BY_GENDER = {
+ graphic: "/images/graphic-3.png",
+ graphicLegend: [
+ {
+ label: "Women",
+ value: "20,500 (15.4%)",
+ color: "bg-secondary-600"
+ },
+ {
+ label: "Men",
+ value: "20,500 (15.4%)",
+ color: "bg-primary"
+ }
+ ]
+};
+
+export const JOBS_CREATED_BY_AGE = {
+ graphic: "/images/graphic-4.png",
+ graphicLegend: [
+ {
+ label: "Youth",
+ value: "20,500 (15.4%)",
+ color: "bg-secondary-600"
+ },
+ {
+ label: "Non-Youth",
+ value: "20,500 (15.4%)",
+ color: "bg-primary"
+ }
+ ]
+};
+
+export const TOTAL_VOLUNTEERS = {
+ value: "23,000"
+};
+
+export const VOLUNTEERS_CREATED_BY_GENDER = {
+ graphic: "/images/graphic-5.png",
+ graphicLegend: [
+ {
+ label: "Women",
+ value: "20,500 (15.4%)",
+ color: "bg-secondary-600"
+ },
+ {
+ label: "Men",
+ value: "20,500 (15.4%)",
+ color: "bg-primary"
+ }
+ ]
+};
+
+export const VOLUNTEERS_CREATED_BY_AGE = {
+ graphic: "/images/graphic-6.png",
+ graphicLegend: [
+ {
+ label: "Youth",
+ value: "20,500 (15.4%)",
+ color: "bg-secondary-600"
+ },
+ {
+ label: "Non-Youth",
+ value: "20,500 (15.4%)",
+ color: "bg-primary"
+ }
+ ]
+};
+
+export const COLUMN_ACTIVE_PROGRAMME = [
+ {
+ header: "Country",
+ accessorKey: "country"
+ },
+ {
+ header: "Projest",
+ accessorKey: "project"
+ },
+ {
+ header: "Trees Planted",
+ accessorKey: "treesPlanted"
+ },
+ {
+ header: "Restoration Hectares",
+ accessorKey: "restoratioHectares"
+ },
+ {
+ header: "Jobs Created",
+ accessorKey: "jobsCreated"
+ }
+];
+
+export const DATA_ACTIVE_PROGRAMME = [
+ {
+ country: "Angola",
+ project: "32",
+ treesPlanted: "2,234",
+ restoratioHectares: "2,234",
+ jobsCreated: "1306"
+ },
+ {
+ country: "Liberia",
+ project: "14",
+ treesPlanted: "760",
+ restoratioHectares: "760",
+ jobsCreated: "430"
+ },
+ {
+ country: "Kenya",
+ project: "25",
+ treesPlanted: "787",
+ restoratioHectares: "787",
+ jobsCreated: "636"
+ },
+ {
+ country: "Mozambique",
+ project: "8",
+ treesPlanted: "1,838",
+ restoratioHectares: "1,838",
+ jobsCreated: "1,767"
+ },
+ {
+ country: "Sierra Leone",
+ project: "19",
+ treesPlanted: "2,058",
+ restoratioHectares: "2,058",
+ jobsCreated: "1,213"
+ },
+ {
+ country: "Tanzania",
+ project: "5",
+ treesPlanted: "3,816",
+ restoratioHectares: "3,816",
+ jobsCreated: "3,720"
+ },
+ {
+ country: "Angola",
+ project: "32",
+ treesPlanted: "2,234",
+ restoratioHectares: "2,234",
+ jobsCreated: "1306"
+ },
+ {
+ country: "Liberia",
+ project: "14",
+ treesPlanted: "760",
+ restoratioHectares: "760",
+ jobsCreated: "430"
+ },
+ {
+ country: "Kenya",
+ project: "25",
+ treesPlanted: "787",
+ restoratioHectares: "787",
+ jobsCreated: "636"
+ },
+ {
+ country: "Mozambique",
+ project: "8",
+ treesPlanted: "1,838",
+ restoratioHectares: "1,838",
+ jobsCreated: "1,767"
+ },
+ {
+ country: "Sierra Leone",
+ project: "19",
+ treesPlanted: "2,058",
+ restoratioHectares: "2,058",
+ jobsCreated: "1,213"
+ },
+ {
+ country: "Tanzania",
+ project: "5",
+ treesPlanted: "3,816",
+ restoratioHectares: "3,816",
+ jobsCreated: "3,720"
+ },
+ {
+ country: "Angola",
+ project: "32",
+ treesPlanted: "2,234",
+ restoratioHectares: "2,234",
+ jobsCreated: "1306"
+ },
+ {
+ country: "Liberia",
+ project: "14",
+ treesPlanted: "760",
+ restoratioHectares: "760",
+ jobsCreated: "430"
+ },
+ {
+ country: "Kenya",
+ project: "25",
+ treesPlanted: "787",
+ restoratioHectares: "787",
+ jobsCreated: "636"
+ },
+ {
+ country: "Mozambique",
+ project: "8",
+ treesPlanted: "1,838",
+ restoratioHectares: "1,838",
+ jobsCreated: "1,767"
+ },
+ {
+ country: "Sierra Leone",
+ project: "19",
+ treesPlanted: "2,058",
+ restoratioHectares: "2,058",
+ jobsCreated: "1,213"
+ },
+ {
+ country: "Tanzania",
+ project: "5",
+ treesPlanted: "3,816",
+ restoratioHectares: "3,816",
+ jobsCreated: "3,720"
+ },
+ {
+ country: "Angola",
+ project: "32",
+ treesPlanted: "2,234",
+ restoratioHectares: "2,234",
+ jobsCreated: "1306"
+ },
+ {
+ country: "Liberia",
+ project: "14",
+ treesPlanted: "760",
+ restoratioHectares: "760",
+ jobsCreated: "430"
+ },
+ {
+ country: "Kenya",
+ project: "25",
+ treesPlanted: "787",
+ restoratioHectares: "787",
+ jobsCreated: "636"
+ },
+ {
+ country: "Mozambique",
+ project: "8",
+ treesPlanted: "1,838",
+ restoratioHectares: "1,838",
+ jobsCreated: "1,767"
+ },
+ {
+ country: "Sierra Leone",
+ project: "19",
+ treesPlanted: "2,058",
+ restoratioHectares: "2,058",
+ jobsCreated: "1,213"
+ },
+ {
+ country: "Tanzania",
+ project: "5",
+ treesPlanted: "3,816",
+ restoratioHectares: "3,816",
+ jobsCreated: "3,720"
+ }
+];
+
+export const COLUMN_ACTIVE_COUNTRY = [
+ {
+ header: "Project",
+ accessorKey: "project"
+ },
+ {
+ header: "Trees Planted",
+ accessorKey: "treesPlanted"
+ },
+ {
+ header: "Restoration Hectares",
+ accessorKey: "restoratioHectares"
+ },
+ {
+ header: "Jobs Created",
+ accessorKey: "jobsCreated"
+ },
+ {
+ header: "Volunteers",
+ accessorKey: "volunteers"
+ }
+];
+
+export const DATA_ACTIVE_COUNTRY = [
+ {
+ project: "Resturation de mangroves et des peripheries de la chaine de I’Atacora au Benin - Eco - Benin",
+ treesPlanted: "14",
+ restoratioHectares: "200",
+ jobsCreated: "14",
+ volunteers: "760"
+ },
+ {
+ project: "Initiative bande verte durable - dedras",
+ treesPlanted: "14",
+ restoratioHectares: "3500",
+ jobsCreated: "3500",
+ volunteers: "760"
+ }
+];
+
+export const OBJETIVE = {
+ objetiveText: `Goshen Global Vision restores the vitality of the damaged forests of Western Ghana’s cocoa belt, where local incomes and soil quality are falling. Over the past five years, they have worked with 7,000 community members to establish a network of seven nurseries that has grown and planted 220,000 trees across 11,500 hectares.
+
+ A grant will enable the organization to mobilize young people and women to grow hundreds of thousands of biodiverse native trees with high economic value, like African mahogany. By planting those trees to shade the crops of struggling cocoa farmers, they will build both economic and climate resilience in this vulnerable region.`,
+ preferredLanguage: "English",
+ landTenure: "Communal Government"
+};
diff --git a/src/pages/dashboard/programme/index.page.tsx b/src/pages/dashboard/programme/index.page.tsx
new file mode 100644
index 000000000..ec1cbd82b
--- /dev/null
+++ b/src/pages/dashboard/programme/index.page.tsx
@@ -0,0 +1,208 @@
+import { useT } from "@transifex/react";
+import { useContext } from "react";
+
+import Text from "@/components/elements/Text/Text";
+import ToolTip from "@/components/elements/Tooltip/Tooltip";
+import Icon, { IconNames } from "@/components/extensive/Icon/Icon";
+import PageCard from "@/components/extensive/PageElements/Card/PageCard";
+import PageRow from "@/components/extensive/PageElements/Row/PageRow";
+
+import ContentOverview from "../components/ContentOverview";
+import SecDashboard from "../components/SecDashboard";
+import { RefContext } from "../context/ScrollContext.provider";
+import {
+ COLUMN_ACTIVE_PROGRAMME,
+ DATA_ACTIVE_PROGRAMME,
+ JOBS_CREATED_BY_AGE,
+ JOBS_CREATED_BY_GENDER,
+ LABEL_LEGEND,
+ NEW_FULL_TIME_JOBS,
+ NEW_PART_TIME_JOBS,
+ NUMBER_OF_TREES_PLANTED,
+ NUMBER_OF_TREES_PLANTED_BY_YEAR,
+ RESTORATION_STRATEGIES_REPRESENTED,
+ TARGET_LAND_USE_TYPES_REPRESENTED,
+ TOP_10_PROJECTS_WITH_THE_MOST_PLANTED_TREES,
+ TOTAL_HECTARES_UNDER_RESTORATION,
+ TOTAL_NUMBER_OF_SITES,
+ TOTAL_VOLUNTEERS,
+ VOLUNTEERS_CREATED_BY_AGE,
+ VOLUNTEERS_CREATED_BY_GENDER
+} from "../mockedData/dashboard";
+
+export interface DashboardTableDataProps {
+ label: string;
+ valueText: string;
+ value: number;
+}
+
+export interface GraphicLegendProps {
+ label: string;
+ value: string;
+ color: string;
+}
+
+const Dashboard = () => {
+ const t = useT();
+ const dataToggle = ["Absolute", "Relative"];
+ const dataToggleGraphic = ["Table", "Graphic"];
+ const sharedRef = useContext(RefContext);
+ const dashboardHeader = [
+ {
+ label: "Trees Planted",
+ value: "12.2M"
+ },
+ {
+ label: "Hectares Under Restoration",
+ value: "5,220 ha"
+ },
+ {
+ label: "Jobs Created",
+ value: "23,000"
+ }
+ ];
+
+ return (
+
+
+
+
+
+
+ {dashboardHeader.map((item, index) => (
+
+
+ {t(item.label)}
+
+
+
+
+ {t(item.value)}
+
+
+
+
+
+
+ ))}
+
+
+ TerraFund’s MRV framework . Please refer to the linked MRV framework for details on how these numbers are sourced and verified.`
+ )}
+ >
+
+
+
+
+ TerraFund’s MRV framework. Please refer to the linked MRV framework for details on how these numbers are sourced and verified.`
+ )}
+ >
+
+
+
+
+
+
+
+ TerraFund’s MRV framework. TerraFund defines a job as a set of tasks and duties performed by one person aged 18 or over in exchange for monetary pay in line with living wage standards. All indicators in the Jobs Created category are disaggregated by number of women, number of men, and number of youths. Restoration Champions are required to report on jobs and volunteers every 6 months and provide additional documentation to verify employment. Please refer to the linked MRV framework for additional details on how these numbers are sourced and verified.`
+ )}
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default Dashboard;
diff --git a/src/pages/dashboard/project/index.page.tsx b/src/pages/dashboard/project/index.page.tsx
new file mode 100644
index 000000000..e91da9809
--- /dev/null
+++ b/src/pages/dashboard/project/index.page.tsx
@@ -0,0 +1,257 @@
+import { useT } from "@transifex/react";
+import { useContext } from "react";
+
+import Breadcrumbs from "@/components/elements/Breadcrumbs/Breadcrumbs";
+import Text from "@/components/elements/Text/Text";
+import ToolTip from "@/components/elements/Tooltip/Tooltip";
+import Icon, { IconNames } from "@/components/extensive/Icon/Icon";
+import PageCard from "@/components/extensive/PageElements/Card/PageCard";
+import PageRow from "@/components/extensive/PageElements/Row/PageRow";
+
+import ContentOverviewProject from "../components/ContentOverviewProject";
+import SecDashboard from "../components/SecDashboard";
+import { RefContext } from "../context/ScrollContext.provider";
+import {
+ JOBS_CREATED_BY_AGE,
+ JOBS_CREATED_BY_GENDER,
+ LABEL_LEGEND,
+ NEW_FULL_TIME_JOBS,
+ NEW_PART_TIME_JOBS,
+ NUMBER_OF_TREES_PLANTED,
+ NUMBER_OF_TREES_PLANTED_BY_YEAR,
+ OBJETIVE,
+ RESTORATION_STRATEGIES_REPRESENTED,
+ TARGET_LAND_USE_TYPES_REPRESENTED,
+ TOP_10_PROJECTS_WITH_THE_MOST_PLANTED_TREES,
+ TOTAL_HECTARES_UNDER_RESTORATION,
+ TOTAL_NUMBER_OF_SITES,
+ TOTAL_VOLUNTEERS,
+ VOLUNTEERS_CREATED_BY_AGE,
+ VOLUNTEERS_CREATED_BY_GENDER
+} from "../mockedData/dashboard";
+
+export interface DashboardTableDataProps {
+ label: string;
+ valueText: string;
+ value: number;
+}
+
+export interface GraphicLegendProps {
+ label: string;
+ value: string;
+ color: string;
+}
+
+export interface DashboardDataProps {
+ value?: string;
+ unit?: string;
+ secondValue?: string;
+ graphic?: string;
+ tableData?: DashboardTableDataProps[];
+ maxValue?: number;
+ graphicLegend?: GraphicLegendProps[];
+ graphicTargetLandUseTypes?: DashboardTableDataProps[];
+ objetiveText?: string;
+ preferredLanguage?: string;
+ landTenure?: string;
+}
+
+const ProjectView = () => {
+ const t = useT();
+ const dataToggle = ["Absolute", "Relative"];
+ const dataToggleGraphic = ["Table", "Graphic"];
+ const sharedRef = useContext(RefContext);
+ const dashboardHeader = [
+ {
+ label: "Trees Planted",
+ value: "12.2M"
+ },
+ {
+ label: "Hectares Under Restoration",
+ value: "5,220 ha"
+ },
+ {
+ label: "Jobs Created",
+ value: "23,000"
+ }
+ ];
+
+ return (
+
+
+
+
+
+
+
+
+
+
+ {dashboardHeader.map((item, index) => (
+
+
+ {t(item.label)}
+
+
+
+
+ {t(item.value)}
+
+
+
+
+
+
+ ))}
+
+
+
+
+
+
+ {t("Restoration of Degraded Forest Lands in Ghana - PADO")}
+
+ {t("Operations: Niger")}
+ •
+ {t("Registration: Niger")}
+ •
+ {t(" Organization: Non-Profit")}
+
+
+
+
+
+
+ TerraFund’s MRV framework . Please refer to the linked MRV framework for details on how these numbers are sourced and verified.`
+ )}
+ >
+
+
+
+
+ TerraFund’s MRV framework. Please refer to the linked MRV framework for details on how these numbers are sourced and verified.`
+ )}
+ >
+
+
+
+
+
+
+
+ TerraFund’s MRV framework. TerraFund defines a job as a set of tasks and duties performed by one person aged 18 or over in exchange for monetary pay in line with living wage standards. All indicators in the Jobs Created category are disaggregated by number of women, number of men, and number of youths. Restoration Champions are required to report on jobs and volunteers every 6 months and provide additional documentation to verify employment. Please refer to the linked MRV framework for additional details on how these numbers are sourced and verified.`
+ )}
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default ProjectView;
diff --git a/src/pages/entity/[entityName]/edit/[uuid]/EditEntityForm.tsx b/src/pages/entity/[entityName]/edit/[uuid]/EditEntityForm.tsx
index eae72bd1c..47658d87e 100644
--- a/src/pages/entity/[entityName]/edit/[uuid]/EditEntityForm.tsx
+++ b/src/pages/entity/[entityName]/edit/[uuid]/EditEntityForm.tsx
@@ -90,10 +90,14 @@ const EditEntityForm = ({ entityName, entityUUID, entity, formData }: EditEntity
errors={error}
onBackFirstStep={router.back}
onCloseForm={() => router.push("/home")}
- onChange={data =>
+ onChange={(data, closeAndSave?: boolean) =>
updateEntity({
pathParams: { uuid: entityUUID, entity: entityName },
- body: { answers: normalizedFormData(data, formSteps!) }
+ // @ts-ignore
+ body: {
+ answers: normalizedFormData(data, formSteps!),
+ ...(closeAndSave ? { continue_later_action: true } : {})
+ }
})
}
formStatus={isSuccess ? "saved" : isUpdating ? "saving" : undefined}
diff --git a/src/types/common.ts b/src/types/common.ts
index 968ef56b0..886c60342 100644
--- a/src/types/common.ts
+++ b/src/types/common.ts
@@ -1,5 +1,7 @@
/* eslint-disable no-unused-vars */
+import { ReactNode } from "react";
+
export type Colors = "white" | "black" | "neutral" | "secondary" | "tertiary" | "primary" | "success" | "error";
export type ColorCodes = "none" | 50 | 100 | 150 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
export type TextSizes = "xs" | "sm" | "base" | "md" | "m" | "lg";
@@ -150,6 +152,7 @@ export type ButtonTextVariants =
| "text-button-700";
export type Option = {
+ prefix?: ReactNode;
title: string;
value: OptionValue;
meta?: any;
@@ -190,7 +193,10 @@ export type UploadedFile = {
created_at: string;
collection_name: string;
is_public?: boolean;
+ is_cover?: boolean;
status?: boolean;
+ lat?: number;
+ lng?: number;
//Client side data
rawFile?: File;
diff --git a/src/utils/options.ts b/src/utils/options.ts
index 77ac07c4c..4c4d6b61f 100644
--- a/src/utils/options.ts
+++ b/src/utils/options.ts
@@ -9,13 +9,11 @@ import { toArray } from "@/utils/array";
* @returns Comma separated values as string.
*/
-export const statusColor = (options: Option[], values?: string | string[]): string => {
- if (!values) return "";
- if (options.length === 0) return toArray(values).join(",");
+export const getPrefix = (options: Option[], values?: string | string[]): any => {
+ if (!values) return undefined;
+ if (options.length === 0) return undefined;
- return toArray(values)
- .map(c => options.find(o => o.value === c)?.meta)
- .join();
+ return options.find(o => o.value === values[0])?.prefix;
};
export const formatOptionsList = (options: Option[], values?: string | string[]): string => {
diff --git a/tailwind.config.js b/tailwind.config.js
index 7abca0c0a..5080e80aa 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -66,12 +66,15 @@ module.exports = {
DEFAULT: "#27A9E0",
500: "#27A9E0",
400: "#4EBBEA",
+ 350: "#6BBFCC",
300: "#98CEED",
+ 250: "#C5FCFF",
200: "#E5F8FF",
100: "#F2FAFD"
},
secondary: {
DEFAULT: "#8CC63F",
+ 600: "#7BBD31",
500: "#8CC63F",
400: "#BFE372",
300: "#DFF5B0",
@@ -102,11 +105,13 @@ module.exports = {
200: "#E3E3E3",
150: "#F5F7F9",
100: "#F2F2F2",
+ 70: "#eeeff0",
50: "#FAFAFA",
40: "#f2f4f5"
},
tertiary: {
DEFAULT: "#F0AB00",
+ 800: "#795305",
650: "#FF8838",
600: "#FF8938",
550: "#FFA160",
@@ -136,19 +141,28 @@ module.exports = {
200: "#E6E9EC",
100: "#cfe6f4",
50: "#f1fafd",
+ 30: "#ebf0f4",
10: "#eaf7fc"
},
darkCustom: {
DEFAULT: "#353535",
+ 200: "#84959D",
100: "#637579",
60: "#35353599",
- 50: "#697A7F"
+ 50: "#697A7F",
+ 40: "#919EAB"
},
pinkCustom: {
DEFAULT: "#E468EF",
+ 300: "#BF7589",
200: "#FDF0FE"
},
+ purpleCustom: {
+ DEFAULT: "#5674C5",
+ 100: "#8096D3"
+ },
grey: {
+ 100: "#F4F4F4",
200: "#F0F2F2",
350: "#E6E6E6",
500: "#676D71",
@@ -159,35 +173,46 @@ module.exports = {
740: "#E0E0E0",
750: "#E6EAEB",
800: "#E9EDF0",
- 900: "#F6FAFD"
+ 900: "#F6FAFD",
+ 950: "#ebebeb",
+ 1000: "#DFE3E8"
},
blue: {
DEFAULT: "#2398D8",
+ 50:"#0079FF",
100: "#1B59F8",
200: "#E9F5FC"
},
green: {
DEFAULT: "#72D961",
- 400: "#1BA631",
500: "#198E2B",
+ 400: "#1BA631",
+ 300: "#4FB967",
100: "#28C499",
+ 60: "#0D614D",
50: "rgba(40, 196, 153, 0.10)",
+ 40: "#A2DCB3",
30: "#EAFAF5"
},
yellow: {
DEFAULT: "#FCFBE8",
700: "#F4B059",
+ 600: "#BB881E",
+ 550: "#F8CE7B",
500: "#F3EFB0",
300: "#FEF8EF"
},
red: {
DEFAULT: "#FF6464",
100: "#CBC8D2",
- 200: "#E42222"
+ 200: "#E42222",
+ 900: "#8D2D0E",
+ 1000: "#632424"
}
},
boxShadow: {
DEFAULT: "0px 4px 16px rgba(0, 0, 0, 0.12)",
+ all: "0 4px 6px rgba(0, 0, 0, 0.1), 0 -4px 4px rgba(0, 0, 0, 0.06)",
"t-secondary": "0px -1px 0 #8CC63F", //to add additional border, secondary-500 1px
none: "0 0 #0000"
},
@@ -233,7 +258,8 @@ module.exports = {
leavesWithOverlay: "url('/images/leaves-with-overlay.webp')",
treesHeaderWithOverlay:
"linear-gradient(270deg, rgba(0, 0, 0, 0.31) 0%, rgba(0, 0, 0, 0.66) 100%), url('/images/trees-header.webp')",
- mapsImg: "url('/images/Maps.svg')"
+ mapsImg: "url('/images/Maps.svg')",
+ dashboardHeader: 'url("/images/dashboard-header.webp")'
}
},
plugins: [
diff --git a/yarn.lock b/yarn.lock
index 9db16060e..5b5ccc96c 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1544,10 +1544,10 @@
dependencies:
regenerator-runtime "^0.13.11"
-"@babel/runtime@^7.23.1":
- version "7.23.1"
- resolved "http://registry.chelsea-apps.com:4873/@babel%2fruntime/-/runtime-7.23.1.tgz#72741dc4d413338a91dcb044a86f3c0bc402646d"
- integrity sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==
+"@babel/runtime@^7.23.1", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.9":
+ version "7.25.6"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.6.tgz#9afc3289f7184d8d7f98b099884c26317b9264d2"
+ integrity sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==
dependencies:
regenerator-runtime "^0.14.0"
@@ -1903,9 +1903,9 @@
integrity sha512-dGGHpb61hLwifAu7sotuHFDBw6GTdpG8aKC0fsK17EuTzMRvUrH7lEAr6LTJ+sx3AZYed9yZ77rltVDHyg2hRg==
"@faker-js/faker@^8.0.2":
- version "8.0.2"
- resolved "http://registry.chelsea-apps.com:4873/@faker-js%2ffaker/-/faker-8.0.2.tgz#bab698c5d3da9c52744e966e0e3eedb6c8b05c37"
- integrity sha512-Uo3pGspElQW91PCvKSIAXoEgAUlRnH29sX2/p89kg7sP1m2PzCufHINd0FhTXQf6DYGiUlVncdSPa2F9wxed2A==
+ version "8.4.1"
+ resolved "https://registry.yarnpkg.com/@faker-js/faker/-/faker-8.4.1.tgz#5d5e8aee8fce48f5e189bf730ebd1f758f491451"
+ integrity sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg==
"@fal-works/esbuild-plugin-global-externals@^2.1.2":
version "2.1.2"
@@ -2607,6 +2607,11 @@
csstype "^3.1.1"
prop-types "^15.8.1"
+"@mui/types@^7.2.15":
+ version "7.2.17"
+ resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.17.tgz#329826062d4079de5ea2b97007575cebbba1fdbc"
+ integrity sha512-oyumoJgB6jDV8JFzRqjBo2daUuHpzDjoO/e3IrRhhHo/FxJlaVhET6mcNrKHUq2E+R+q3ql0qAtvQ4rfWHhAeQ==
+
"@mui/types@^7.2.3":
version "7.2.3"
resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.3.tgz#06faae1c0e2f3a31c86af6f28b3a4a42143670b9"
@@ -2623,20 +2628,32 @@
prop-types "^15.8.1"
react-is "^18.2.0"
-"@mui/utils@^5.14.11":
- version "5.14.12"
- resolved "http://registry.chelsea-apps.com:4873/@mui%2futils/-/utils-5.14.12.tgz#58b570839e22e0fba71e17d37d9c083fe233704d"
- integrity sha512-RFNXnhKQlzIkIUig6mmv0r5VbtjPdWoaBPYicq25LETdZux59HAqoRdWw15T7lp3c7gXOoE8y67+hTB8C64m2g==
+"@mui/utils@^5.14.11", "@mui/utils@^5.14.16":
+ version "5.16.6"
+ resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.16.6.tgz#905875bbc58d3dcc24531c3314a6807aba22a711"
+ integrity sha512-tWiQqlhxAt3KENNiSRL+DIn9H5xNVK6Jjf70x3PnfQPz1MPBdh7yyIcAyVBT9xiw7hP3SomRhPR7hzBMBCjqEA==
dependencies:
- "@babel/runtime" "^7.23.1"
- "@types/prop-types" "^15.7.7"
+ "@babel/runtime" "^7.23.9"
+ "@mui/types" "^7.2.15"
+ "@types/prop-types" "^15.7.12"
+ clsx "^2.1.1"
prop-types "^15.8.1"
- react-is "^18.2.0"
+ react-is "^18.3.1"
"@mui/x-data-grid@^6.16.1":
+ version "6.20.4"
+ resolved "https://registry.yarnpkg.com/@mui/x-data-grid/-/x-data-grid-6.20.4.tgz#51120757078764dc8cccef50bc1257c2407e103d"
+ integrity sha512-I0JhinVV4e25hD2dB+R6biPBtpGeFrXf8RwlMPQbr9gUggPmPmNtWKo8Kk2PtBBMlGtdMAgHWe7PqhmucUxU1w==
+ dependencies:
+ "@babel/runtime" "^7.23.2"
+ "@mui/utils" "^5.14.16"
+ clsx "^2.0.0"
+ prop-types "^15.8.1"
+ reselect "^4.1.8"
+
+"@mui/x-data-grid@https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-6.16.1.tgz":
version "6.16.1"
- resolved "http://registry.chelsea-apps.com:4873/@mui%2fx-data-grid/-/x-data-grid-6.16.1.tgz#b7a33c25193d70b80ffbe4b168d8524752dfa5c5"
- integrity sha512-jiV4kMegueNiaB3Qs0VpHG0Cp+eIZa5upMr9fcdPMPNLhOYnkNtexTyezfptJyfD8Adbjrjt4bbRktBcDCC5DA==
+ resolved "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-6.16.1.tgz#b7a33c25193d70b80ffbe4b168d8524752dfa5c5"
dependencies:
"@babel/runtime" "^7.23.1"
"@mui/utils" "^5.14.11"
@@ -4978,10 +4995,10 @@
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
-"@types/prop-types@^15.7.7":
- version "15.7.8"
- resolved "http://registry.chelsea-apps.com:4873/@types%2fprop-types/-/prop-types-15.7.8.tgz#805eae6e8f41bd19e88917d2ea200dc992f405d3"
- integrity sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ==
+"@types/prop-types@^15.7.12":
+ version "15.7.13"
+ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.13.tgz#2af91918ee12d9d32914feb13f5326658461b451"
+ integrity sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==
"@types/qs@*", "@types/qs@^6.9.5":
version "6.9.7"
@@ -6664,10 +6681,10 @@ clsx@^1.1.1, clsx@^1.2.1:
resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12"
integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==
-clsx@^2.0.0:
- version "2.0.0"
- resolved "http://registry.chelsea-apps.com:4873/clsx/-/clsx-2.0.0.tgz#12658f3fd98fafe62075595a5c30e43d18f3d00b"
- integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==
+clsx@^2.0.0, clsx@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999"
+ integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==
co@^4.6.0:
version "4.6.0"
@@ -13402,6 +13419,11 @@ react-is@^17.0.1, react-is@^17.0.2:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
+react-is@^18.3.1:
+ version "18.3.1"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e"
+ integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==
+
react-joyride@^2.5.5:
version "2.5.5"
resolved "https://registry.yarnpkg.com/react-joyride/-/react-joyride-2.5.5.tgz#a12024902347bea0a565ad2e69b291e35c6a274b"
@@ -13624,9 +13646,9 @@ regenerator-runtime@^0.13.11:
integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
regenerator-runtime@^0.14.0:
- version "0.14.0"
- resolved "http://registry.chelsea-apps.com:4873/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45"
- integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==
+ version "0.14.1"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f"
+ integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
regenerator-transform@^0.15.1:
version "0.15.1"
@@ -13756,7 +13778,7 @@ requires-port@^1.0.0:
reselect@^4.1.8:
version "4.1.8"
- resolved "http://registry.chelsea-apps.com:4873/reselect/-/reselect-4.1.8.tgz#3f5dc671ea168dccdeb3e141236f69f02eaec524"
+ resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.8.tgz#3f5dc671ea168dccdeb3e141236f69f02eaec524"
integrity sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==
resolve-alpn@^1.2.0: