diff --git a/app/public/assets/bear.png b/app/public/assets/bear.png new file mode 100644 index 000000000..2cac4a16a Binary files /dev/null and b/app/public/assets/bear.png differ diff --git a/app/src/UI/Overlay/Landing/Landing.tsx b/app/src/UI/Overlay/Landing/Landing.tsx index 60e62888a..b125dd65a 100644 --- a/app/src/UI/Overlay/Landing/Landing.tsx +++ b/app/src/UI/Overlay/Landing/Landing.tsx @@ -46,6 +46,17 @@ export const LandingComponent = (props) => { } }; + const reportInvasivesPublic = async () => { + history.push('/ReportInvasive'); + /* + dispatch({ + type: TOGGLE_PANEL, + payload: { panelOpen: true, fullScreen: true } + }); + */ + } + }; + const { authenticated, workingOffline, username, displayName, email, roles } = useSelector(selectAuth); const { loaded: userInfoLoaded, activated } = useSelector(selectUserInfo); return ( @@ -172,6 +183,17 @@ export const LandingComponent = (props) => { )} + +
+ To report invasive species as a member of the public, please submit a Report Invasives form +
+ {connected && !activated && ( + + + + )} {roles.length === 0 && (
diff --git a/app/src/UI/PublicReportInvasive/ReportInvasiveForm.css b/app/src/UI/PublicReportInvasive/ReportInvasiveForm.css new file mode 100644 index 000000000..e69de29bb diff --git a/app/src/UI/PublicReportInvasive/ReportInvasiveForm.tsx b/app/src/UI/PublicReportInvasive/ReportInvasiveForm.tsx new file mode 100644 index 000000000..d93494d31 --- /dev/null +++ b/app/src/UI/PublicReportInvasive/ReportInvasiveForm.tsx @@ -0,0 +1,42 @@ +export const ReportInvasivesForm = () => { + const handleSubmit = () => {}; + + return ( +
+

Report Invasive Species

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+
+ ); +}; diff --git a/sharedAPI/src/openapi/api-doc/Activities/Plant/Observations.ts b/sharedAPI/src/openapi/api-doc/Activities/Plant/Observations.ts index bf4681ba4..20d4ff72f 100644 --- a/sharedAPI/src/openapi/api-doc/Activities/Plant/Observations.ts +++ b/sharedAPI/src/openapi/api-doc/Activities/Plant/Observations.ts @@ -33,3 +33,18 @@ export const Activity_Observation_PlantAquatic = { } } }; + +export const Activity_Observation_Plant_Public = { + type: 'object', + properties: { + activity_data: { + ...Activity + }, + activity_type_data: { + ...Observation + }, + activity_subtype_data: { + ...Subtype_Data_Observation_PlantAquatic + } + } +}; \ No newline at end of file diff --git a/sharedAPI/src/openapi/api-doc/PublicReportInvasive.ts b/sharedAPI/src/openapi/api-doc/PublicReportInvasive.ts new file mode 100644 index 000000000..58affad1d --- /dev/null +++ b/sharedAPI/src/openapi/api-doc/PublicReportInvasive.ts @@ -0,0 +1,10 @@ +export const PublicReportInvasive = { + type: 'object', + email: { type: 'string' }, + telephone: { type: 'string' }, + personObserving: { type: 'string' }, + date_observed: { type: 'string' }, + suspected_species: { type: 'string' }, + location: { type: 'string' }, + area_of_infestation_comments: { type: 'string' }, +} \ No newline at end of file diff --git a/sharedAPI/src/openapi/api-doc/api-doc.ts b/sharedAPI/src/openapi/api-doc/api-doc.ts index 9f673d037..8cb0ff22b 100644 --- a/sharedAPI/src/openapi/api-doc/api-doc.ts +++ b/sharedAPI/src/openapi/api-doc/api-doc.ts @@ -6,6 +6,7 @@ import { Activity_Monitoring_ChemicalTerrestrialAquaticPlant, Activity_Monitoring_MechanicalTerrestrialAquaticPlant } from './Activities/Plant/Monitorings'; +import { PublicReportInvasive} from './PublicReportInvasive'; import { Activity_Observation_PlantAquatic, Activity_Observation_PlantTerrestrial @@ -166,6 +167,7 @@ export const api_doc = { AdminDefinedShapeResultItem, AdminDefinedShapeResponse, + PublicReportInvasive: PublicReportInvasive, //treatments Activity_Treatment_ChemicalPlantTerrestrial: Activity_Treatment_ChemicalPlantTerrestrial,