{"version":3,"sources":["images/logo2.png","actionTypes.js","store.js","components/atoms/modal/Modal.js","actions.js","components/atoms/molecules/ContactUsModal.js","components/navigation.js","components/home.js","components/atoms/molecules/ImageModal.js","components/atoms/molecules/filter.js","components/atoms/molecules/UploadBirdModal.js","components/atoms/molecules/DeleteConfirmation.js","components/catalog.js","components/usbirds.js","components/importbirds.js","components/forsale.js","components/atoms/molecules/Login.jsx","components/admin.jsx","components/atoms/molecules/Footer.jsx","components/blog.js","components/landingspot.js","App.js","serviceWorker.js","index.js","images/NewInbredKittleCimport.jpg","images/Jazzmansdaucropped.jpg","images/DrapaKittelredo.png"],"names":["module","exports","ActionTypes","LOAD_PRODUCTS","UPDATE_LOGIN","UPDATE_AUTH_TOKEN","UPDATE_USERNAME","initialState","Products","IsLogin","UserName","APIVersion","BaseURL","reducer","state","action","actionType","Set","payload","GET_API_VERSION","RESET_RACE","Race","LOAD_POSTS","Posts","POPULATE_RACE_FORM","UPDATE_RACE_OBJECT","AuthToken","StoreContext","createContext","dispatch","undefined","StoreProvider","children","useReducer","Provider","value","ModalWrapper","props","handleSave","event","handleOnClick","closeModal","Fragment","show","Modal","backdrop","Header","Title","title","Body","Footer","Button","variant","onClick","AuthStr","concat","config","headers","Authorization","baseUrl","SaveProductWithUpload","Bird","authToken","AccountID","fd","FormData","i","FileData","length","append","name","FileDataPedigree","Page","Description","Sex","Price","GUID","SortingIndex","RedHeader","Token","axios","post","then","response","GetBirds","catch","error","ErrorHandler","get","data","console","log","Logout","msg","toString","includes","alert","ContactUsModal","useContext","useState","Name","setName","Email","setEmail","Phone","setPhone","MessageBody","setMessageBody","Subject","setSubject","handleSend","message","Message","Source","Recipient","className","href","for","type","id","placeholder","onChange","e","target","required","Navigation","showContactModal","setShowContactModal","as","Link","to","activeClassName","style","textDecoration","color","Home","fontFamily","fontWeight","fontSize","height","width","padding","display","flexWrap","justifyContent","margin","Image","src","require","alt","clear","textAlign","fontStyle","border","borderRadius","backgroundColor","customStyles","content","top","left","right","bottom","marginRight","transform","overflow","setAppElement","ImageModal","subtitle","modalIsOpen","setIsOpen","imageURL","ImageURL","Text","isOpen","onAfterOpen","onRequestClose","contentLabel","ref","_subtitle","Alt","Filter","options","FilterSelected","SelectedValue","labelStyle","inputStyle","inputRowStyle","flexDirection","UploadBirdModal","setTitle","description","setDescription","price","setPrice","label","sex","setSex","sortingIndex","setSortingIndex","fileData","setFileData","fileDataPedigree","setFileDataPedigree","page","setPage","files","setFiles","redHeader","setRedHeader","destinationList","handleClose","useEffect","x","find","item","window","location","pathname","replace","Files","s","handleDeleteFile","fname","filename","endPoint","DeleteFile","filter","ValidateForm","isValid","rows","map","index","multiple","sender","preventDefault","ReadFile","UploadPedigree","DeleteConfirmation","handleDelete","product","DeleteProduct","Msg","cursor","Catalog","setFilter","showConfirmDeleteModal","birds","setBirds","sort","a","b","Date","Created","hideModalClick","renderBird","bird","file","renderAdmin","flexGrow","marginBottom","borderTop","filteredBird","UsBirds","ImportBirds","ForSale","Login","userName","setuserName","password","setPassword","loginStatus","setLoginStatus","btnSubmitText","setBtnSubmitText","failedAttempt","setFailedAttempt","loginStatusMessage","FormGroup","controlId","Size","FormLabel","FormControl","autoFocus","bsSize","block","disabled","params","Logging","Admin","GetAPIVersion","marginTop","position","getFullYear","icon","faFlagUsa","size","Blog","class","renderItems","LandingSpot","App","hAlignContent","path","exact","component","Boolean","hostname","match","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.11c1392a.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo2.41dd3083.png\";","export const ActionTypes = {\r\n LOAD_PRODUCTS: \"LOAD_PRODUCTS\",\r\n // LOAD_POSTS: \"LOAD_POSTS\",\r\n // POPULATE_RACE_FORM: \"POPULATE_RACE_FORM\",\r\n // GET_RACE_INFO: \"GET_RACE_INFO\",\r\n // SAVE_RACE: \"SAVE_RACE\",\r\n // UPDATE_RACE_OBJECT: \"UPDATE_RACE_OBJECT\",\r\n // RESET_RACE: \"RESET_RACE\",\r\n UPDATE_LOGIN: \"UPDATE_LOGIN\",\r\n UPDATE_AUTH_TOKEN: \"UPDATE_AUTH_TOKEN\",\r\n UPDATE_USERNAME: \"UPDATE_USERNAME\",\r\n};\r\n\r\nexport default ActionTypes;\r\n","import React, { createContext, useReducer } from \"react\";\r\nimport ActionTypes from \"./actionTypes\";\r\n\r\nexport const initialState = {\r\n Products: [],\r\n IsLogin: false,\r\n UserName: \"\",\r\n APIVersion: 0,\r\n BaseURL: \"http://api.pigeonconnect.charmedcoder.com/\"\r\n //BaseURL: \"http://localhost:64567/\",\r\n};\r\n\r\nfunction reducer(state, action) {\r\n switch (action.actionType) {\r\n case ActionTypes.LOAD_PRODUCTS:\r\n return {\r\n ...state,\r\n Products: [...new Set(action.payload)],\r\n };\r\n case ActionTypes.GET_API_VERSION:\r\n return {\r\n ...state,\r\n APIVersion: action.payload,\r\n };\r\n case ActionTypes.RESET_RACE:\r\n return {\r\n ...state,\r\n Race: action.payload,\r\n };\r\n case ActionTypes.LOAD_POSTS:\r\n return {\r\n ...state,\r\n Posts: [...new Set(action.payload)],\r\n };\r\n case ActionTypes.POPULATE_RACE_FORM:\r\n return {\r\n ...state,\r\n Race: action.payload,\r\n };\r\n case ActionTypes.UPDATE_RACE_OBJECT:\r\n return {\r\n ...state,\r\n Race: action.payload,\r\n };\r\n\r\n case ActionTypes.UPDATE_AUTH_TOKEN:\r\n return {\r\n ...state,\r\n AuthToken: action.payload,\r\n };\r\n case ActionTypes.UPDATE_LOGIN:\r\n return {\r\n ...state,\r\n IsLogin: action.payload,\r\n };\r\n case ActionTypes.UPDATE_USERNAME:\r\n return {\r\n ...state,\r\n UserName: action.payload,\r\n };\r\n }\r\n}\r\n\r\nexport const StoreContext = createContext({\r\n ...initialState,\r\n dispatch: undefined,\r\n});\r\n\r\nconst StoreProvider = ({ children }) => {\r\n const [state, dispatch] = useReducer(reducer, initialState);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default StoreProvider;\r\n","import React, { useState } from \"react\";\r\nimport Button from \"react-bootstrap/Button\";\r\nimport Modal from \"react-bootstrap/Modal\";\r\n\r\nlet ModalWrapper = (props) => {\r\n // const [show, setShow] = useState(props.show);\r\n\r\n // if (show !== props.show) setShow(props.show);\r\n\r\n // const handleClose = () => setShow(false);\r\n // const handleShow = () => setShow(true);\r\n\r\n // const handleOnClickClose = () => {\r\n // handleClose();\r\n // };\r\n\r\n const handleSave = (event) => {\r\n if (props.handleOnClick(event)) {\r\n // handleClose();\r\n props.closeModal();\r\n }\r\n };\r\n\r\n const renderModal = () => {\r\n return (\r\n \r\n \r\n {props.title}\r\n \r\n {props.children}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n {/* */}\r\n {props.show ? renderModal() : null}\r\n \r\n );\r\n};\r\n\r\nexport default ModalWrapper;\r\n","import axios from \"axios\";\r\nimport React, { useState, useContext, useEffect } from \"react\";\r\n\r\nimport { StoreContext, initialState, SelectedYear } from \"./store\";\r\nimport ActionTypes from \"./actionTypes\";\r\nimport { findDOMNode } from \"react-dom\";\r\n\r\nconst accountID = 2;\r\nconst AuthStr = \"Bearer \".concat(accountID);\r\n\r\nconst config = { headers: { Authorization: AuthStr } };\r\nconst baseUrl = \"http://api.pigeonconnect.charmedcoder.com/api/\";\r\n\r\n//const baseUrl = \"http://api.pigeonconnect.com/api/\";\r\n//const baseUrl = \"http://localhost:64567/api/\";\r\n\r\nexport function PopulateRaceForm(raceResult, dispatch) {\r\n dispatch({\r\n actionType: ActionTypes.POPULATE_RACE_FORM,\r\n payload: raceResult,\r\n });\r\n}\r\nlet fileReader;\r\n\r\nexport function UpdateRace(dispatch, Race) {\r\n dispatch({\r\n actionType: ActionTypes.UPDATE_RACE_OBJECT,\r\n payload: Race,\r\n });\r\n}\r\n\r\nexport function GetRace() {\r\n return initialState.Race;\r\n}\r\n\r\nexport function DeleteProduct(dispatch, product, authToken) {\r\n var endPoint = baseUrl + `Catalog/Remove`;\r\n const AuthStr = \"Token \".concat(authToken.Token + \"_\" + accountID);\r\n const config = { headers: { Authorization: AuthStr } };\r\n\r\n return axios\r\n .post(endPoint, product, config)\r\n .then(function (response) {\r\n GetBirds(dispatch);\r\n })\r\n .catch(function (error) {\r\n ErrorHandler(error);\r\n // dispatch({\r\n // actionType: ActionTypes.LOAD_PRODUCTS,\r\n // payload: false,\r\n // });\r\n });\r\n}\r\n\r\nexport function SavePost(dispatch, post, authToken) {\r\n post.AccountID = accountID;\r\n var endPoint = baseUrl + `Post/SavePost`;\r\n const AuthStr = \"Token \".concat(authToken.Token + \"_\" + accountID);\r\n const config = { headers: { Authorization: AuthStr } };\r\n\r\n return axios\r\n .post(endPoint, post, config)\r\n .then(function (response) {\r\n GetPosts(dispatch);\r\n })\r\n .catch(function (error) {\r\n ErrorHandler(error);\r\n dispatch({\r\n actionType: ActionTypes.UPDATE_LOGIN,\r\n payload: false,\r\n });\r\n });\r\n}\r\nexport function SavePostWithAttachment(dispatch, post, authToken) {\r\n const AuthStr = \"Token \".concat(authToken.Token + \"_\" + accountID);\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: AuthStr,\r\n },\r\n };\r\n\r\n const fd = new FormData();\r\n fd.append(\"attachedTXT\", post.FileData, post.FileData.name);\r\n fd.append(\"title\", post.Title);\r\n fd.append(\"detail\", post.Detail);\r\n fd.append(\"fileName\", post.Attached);\r\n\r\n var endPoint = baseUrl + `Post/SavePostWithUpload`;\r\n return axios\r\n .post(endPoint, fd, config)\r\n .then(function (response) {\r\n GetPosts(dispatch);\r\n })\r\n .catch(function (error) {\r\n ErrorHandler(error);\r\n dispatch({\r\n actionType: ActionTypes.UPDATE_LOGIN,\r\n payload: false,\r\n });\r\n });\r\n}\r\n\r\nexport function GetPosts(dispatch) {\r\n var endpoint = baseUrl + \"Post/GetPosts\";\r\n\r\n return axios\r\n .get(endpoint, config)\r\n .then(function (response) {\r\n dispatch({\r\n actionType: ActionTypes.LOAD_POSTS,\r\n payload: response.data,\r\n });\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n}\r\n\r\nexport function GetAPIVersion(dispatch) {\r\n var endPoint = baseUrl + `Account/GetAPIVersion`;\r\n\r\n return axios\r\n .get(endPoint, config)\r\n .then(function (response) {\r\n dispatch({\r\n actionType: ActionTypes.GET_API_VERSION,\r\n payload: response.data,\r\n });\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n}\r\n\r\nfunction ValidateRace(Race) {\r\n if (Race.FileData === null) return false;\r\n\r\n return true;\r\n}\r\n\r\nexport function SaveProductWithUpload(Bird, dispatch, authToken) {\r\n Bird.AccountID = accountID;\r\n\r\n const fd = new FormData();\r\n for (let i = 0; i < Bird.FileData.length; i++) {\r\n fd.append(\"file\", Bird.FileData[i], Bird.FileData[i].name);\r\n }\r\n for (let i = 0; i < Bird.FileDataPedigree.length; i++) {\r\n fd.append(\"file\", Bird.FileDataPedigree[i], \"_ped_\" + Bird.FileDataPedigree[i].name);\r\n }\r\n fd.append(\"page\", Bird.Page);\r\n fd.append(\"title\", Bird.Title);\r\n fd.append(\"description\", Bird.Description);\r\n fd.append(\"sex\", Bird.Sex);\r\n fd.append(\"price\", Bird.Price);\r\n fd.append(\"accountID\", Bird.AccountID);\r\n fd.append(\"guid\", Bird.GUID);\r\n fd.append(\"sortingIndex\", Bird.SortingIndex);\r\n fd.append(\"redHeader\", Bird.RedHeader)\r\n\r\n const AuthStr = \"Token \".concat(authToken.Token + \"_\" + accountID);\r\n const config = { headers: { Authorization: AuthStr } };\r\n\r\n var endPoint = baseUrl + `Catalog/SaveProductWithUpload`;\r\n\r\n return axios\r\n .post(endPoint, fd, config)\r\n .then(function (response) {\r\n dispatch({\r\n actionType: ActionTypes.LOAD_PRODUCTS,\r\n payload: [],\r\n });\r\n GetBirds(dispatch);\r\n })\r\n .catch(function (error) {\r\n ErrorHandler(error);\r\n dispatch({\r\n actionType: ActionTypes.UPDATE_LOGIN,\r\n payload: false,\r\n });\r\n });\r\n}\r\nexport function DeleteFile(dispatch, filename, authToken) {\r\n const AuthStr = \"Token \".concat(authToken.Token + \"_\" + accountID);\r\n var endPoint = baseUrl + `Catalog/RemoveFile?filename=${filename}`;\r\n const config = { headers: { Authorization: AuthStr } };\r\n return axios\r\n .post(endPoint, {}, config)\r\n .then(function (response) {\r\n console.log(\"Deleted \" + filename);\r\n })\r\n .catch(function (error) {\r\n ErrorHandler(error);\r\n });\r\n}\r\n\r\nexport function DeleteRace(Race, dispatch, authToken) {\r\n Race.AccountID = accountID;\r\n const AuthStr = \"Token \".concat(authToken.Token + \"_\" + accountID);\r\n var endPoint = baseUrl + `RaceResults/Remove`;\r\n const config = { headers: { Authorization: AuthStr } };\r\n\r\n return axios\r\n .post(endPoint, Race, config)\r\n .then(function (response) {\r\n GetYears(dispatch);\r\n RequestResults(dispatch, new Date(Race.RaceDate).getFullYear());\r\n PopulateRaceForm(initialState.ResetRace, dispatch);\r\n })\r\n .catch(function (error) {\r\n ErrorHandler(error);\r\n dispatch({\r\n actionType: ActionTypes.UPDATE_LOGIN,\r\n payload: false,\r\n });\r\n });\r\n}\r\nexport function ResetRace(Race, dispatch) {\r\n dispatch({\r\n actionType: ActionTypes.RESET_RACE,\r\n payload: Race,\r\n });\r\n}\r\nexport function SetSelectedYear(dispatch, year) {\r\n dispatch({\r\n actionType: ActionTypes.SET_SELECTED_YEAR,\r\n payload: year,\r\n });\r\n}\r\n\r\nexport function RequestResults(dispatch, selectedYear) {\r\n if (selectedYear == undefined) return;\r\n var endPoint = baseUrl + `RaceResults/GetResults`;\r\n\r\n const config = {\r\n headers: { Authorization: AuthStr },\r\n params: { year: selectedYear },\r\n };\r\n\r\n return axios\r\n .get(endPoint, config)\r\n .then(function (response) {\r\n dispatch({\r\n actionType: ActionTypes.LOAD_RACES,\r\n payload: response.data,\r\n });\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n}\r\n\r\nexport function GetYears(dispatch) {\r\n var endPoint = baseUrl + `RaceResults/GetYears`;\r\n\r\n return axios\r\n .get(endPoint, config)\r\n .then(function (response) {\r\n dispatch({\r\n actionType: ActionTypes.GET_YEARS,\r\n payload: response.data,\r\n });\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n}\r\n\r\n//ROSTERS\r\n\r\nexport function GetBirds(dispatch) {\r\n var endPoint = baseUrl + `Catalog/GetAll`;\r\n return axios\r\n .get(endPoint, config)\r\n .then(function (response) {\r\n dispatch({\r\n actionType: ActionTypes.LOAD_PRODUCTS,\r\n payload: response.data,\r\n });\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n}\r\n// export function DeleteRoster(dispatch, Roster, authToken) {\r\n// var endPoint = baseUrl + `ClubRoster/Remove`;\r\n// const AuthStr = \"Token \".concat(authToken.Token + \"_\" + accountID);\r\n// const config = { headers: { Authorization: AuthStr } };\r\n\r\n// return axios\r\n// .post(endPoint, Roster, config)\r\n// .then(function (response) {\r\n// GetRosters(dispatch);\r\n// })\r\n// .catch(function (error) {\r\n// ErrorHandler(error);\r\n// dispatch({\r\n// actionType: ActionTypes.UPDATE_LOGIN,\r\n// payload: false,\r\n// });\r\n// });\r\n// }\r\n// export function Logout(dispatch) {\r\n// dispatch({\r\n// actionType: ActionTypes.UPDATE_AUTH_TOKEN,\r\n// payload: {},\r\n// });\r\n// dispatch({\r\n// actionType: ActionTypes.UPDATE_LOGIN,\r\n// payload: false,\r\n// });\r\n// }\r\nexport function SendMessage(dispatch, message, authToken) {\r\n message.AccountID = accountID;\r\n message.Recipient = \"rwhull@hotmail.com\";\r\n var endPoint = baseUrl + `Account/SendMessage`;\r\n\r\n return axios\r\n .post(endPoint, message, config)\r\n .then(function (response) {\r\n console.log(response.data);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n}\r\n\r\nexport function Logout(dispatch) {\r\n dispatch({\r\n actionType: ActionTypes.UPDATE_AUTH_TOKEN,\r\n payload: {},\r\n });\r\n dispatch({\r\n actionType: ActionTypes.UPDATE_LOGIN,\r\n payload: false,\r\n });\r\n}\r\nexport function Logging(dispatch, userName, password) {\r\n var endPoint = baseUrl + `Account/Authenticate`;\r\n\r\n //const AuthStr = \"Bearer \".concat(accountID); //+ \", Token \".concat(initialState.Token);\r\n const config = {\r\n headers: { Authorization: AuthStr },\r\n params: { userName, password },\r\n };\r\n return axios\r\n .get(endPoint, config)\r\n .then(function (response) {\r\n dispatch({\r\n actionType: ActionTypes.UPDATE_AUTH_TOKEN,\r\n payload: response.data,\r\n });\r\n\r\n dispatch({\r\n actionType: ActionTypes.UPDATE_LOGIN,\r\n payload: response.data?.Token.length > 0 ? true : false,\r\n });\r\n dispatch({\r\n actionType: ActionTypes.UPDATE_USERNAME,\r\n payload: userName,\r\n });\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n}\r\n\r\nexport function UpdateLogin(dispatch, userName, password) {\r\n var endPoint = baseUrl + `Account/Login`;\r\n var x = \" Token\";\r\n const AuthStr = \"Bearer \".concat(accountID, x); //+ \", Token \".concat(initialState.Token);\r\n const config = {\r\n headers: { Authorization: AuthStr },\r\n params: { userName, password },\r\n };\r\n return axios\r\n .get(endPoint, config)\r\n .then(function (response) {})\r\n .catch(function (error) {\r\n console.log(error);\r\n });\r\n}\r\n\r\nfunction ErrorHandler(error) {\r\n var msg = \"\";\r\n if (error.toString().includes(\"401\")) {\r\n msg = \"Invalid Authentication or token expired. Please Login to continue.\";\r\n }\r\n alert(msg);\r\n}\r\n","import React, { useState, useContext, useEffect } from \"react\";\r\nimport { StoreContext } from \"../../../store\";\r\n\r\nimport Button from \"react-bootstrap/Button\";\r\n//import \"../../../../src/styles.less\";\r\nimport ModalWrapper from \"../modal/Modal\";\r\nimport { SendMessage } from \"../../../actions\";\r\n\r\nconst ContactUsModal = (props) => {\r\n \r\n const { dispatch } = useContext(StoreContext);\r\n\r\n const [Name, setName] = useState(\"\");\r\n const [Email, setEmail] = useState(\"\");\r\n const [Phone, setPhone] = useState(\"\");\r\n const [MessageBody, setMessageBody] = useState(\"\");\r\n const [Subject, setSubject] = useState(\"\");\r\n\r\n\r\n let handleSend = () => {\r\n var Message = { Name: \"\", Email: \"\", Phone: \"\",Subject:\"\", MessageBody: \"\" };\r\n Message.Name = Name;\r\n Message.Email = Email;\r\n Message.Phone = Phone;\r\n Message.MessageBody = MessageBody;\r\n Message.Source = \"wingandaprayerloft.com Contact Page\";\r\n Message.Subject = Subject;\r\n\r\n SendMessage(dispatch, Message);\r\n props.closeModal();\r\n };\r\n return (\r\n handleSend()}\r\n >\r\n
\r\n
\r\n
\r\n Email Us at\r\n\r\n \r\n {\" \"}\r\n rwhull@hotmail.com\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n You can also drop us a message in Facebook @ rwhull or use the\r\n form below.\r\n \r\n
\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n setName(e.target.value)}\r\n required\r\n />\r\n
  • \r\n
  • \r\n \r\n setEmail(e.target.value)}\r\n required\r\n />\r\n
  • \r\n
  • \r\n \r\n setPhone(e.target.value)}\r\n required\r\n />\r\n
  • \r\n
  • \r\n \r\n setSubject(e.target.value)}\r\n required\r\n />\r\n
  • \r\n
  • \r\n \r\n\r\n setMessageBody(e.target.value)}\r\n />\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\nexport default ContactUsModal;\r\n","import React, { useState, useContext, useEffect } from \"react\";\r\n// import \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport { StoreContext } from \"../store\";\r\nimport \"../App.css\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport ContactUsModal from \"./atoms/molecules/ContactUsModal\";\r\nimport { UpdateLogin, Logout } from \"../actions\";\r\n\r\nlet Navigation = (props) => {\r\n const { IsLogin, dispatch } = useContext(StoreContext);\r\n\r\n const [showContactModal, setShowContactModal] = useState(false);\r\n const handleLogout = () => {\r\n Logout(dispatch);\r\n };\r\n\r\n const hideModalClick = () => {\r\n setShowContactModal(false);\r\n };\r\n\r\n const handleShowContact = () => {\r\n setShowContactModal(true);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n {IsLogin ? (\r\n handleLogout()}>\r\n Logout\r\n {/* \r\n Logout\r\n */}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n\r\n
\r\n
\r\n \r\n Home\r\n \r\n
\r\n
\r\n \r\n Landing Spot\r\n \r\n
\r\n
\r\n \r\n Imports\r\n \r\n
\r\n
\r\n \r\n USA Birds\r\n \r\n
\r\n
\r\n \r\n For Sale & Sold\r\n \r\n
\r\n\r\n
handleShowContact()}>\r\n Contact Us\r\n
\r\n {showContactModal ? (\r\n hideModalClick()}\r\n />\r\n ) : null}\r\n
\r\n
\r\n );\r\n};\r\nexport default Navigation;\r\n","import React, { useState, useContext, useEffect } from \"react\";\r\n// impsort \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport { StoreContext } from \"../store\";\r\nimport Image from \"react-bootstrap/Image\";\r\nimport ContactUsModal from \"./atoms/molecules/ContactUsModal\";\r\nimport { GetBirds } from \"../actions\";\r\nimport { Link } from \"react-router-dom\";\r\nlet Home = (props) => {\r\n const { dispatch } = useContext(StoreContext);\r\n\r\n const [showContactModal, setShowContactModal] = useState(false);\r\n\r\n const hideModalClick = () => {\r\n setShowContactModal(false);\r\n };\r\n\r\n const handleShowContact = () => {\r\n setShowContactModal(true);\r\n };\r\n\r\n const style = {\r\n color: \"red\",\r\n };\r\n\r\n const styleMO = {\r\n color: \"yellow\",\r\n };\r\n\r\n return (\r\n
\r\n
\r\n

\r\n Producing Top Quality And Performance Racing Pigeons To Compete At The Highest Level\r\n

\r\n \r\n
\r\n \r\n

\r\n Kittle\r\n
\r\n\r\n
\r\n \r\n

\r\n Jazzman/Raven\r\n
\r\n
\r\n \r\n

\r\n Kittle\r\n
\r\n\r\n
\r\n
\r\n

\r\n Housing all the hottest strains of pigeons from USA, Africa & Europe. The bloodlines that are winning at One Loft Races, Futurities, Clubs, and Combines!\r\n

\r\n \r\n

LATEST NEWS

\r\n \r\n \r\n \r\n Our 2020 Victoria Falls Highlights\r\n \r\n
\r\n Race 2 65th vs 2949b. Race 3 127th & 241st vs 2839b.Hotspot 1\r\n 240th vs 2667b. Hotspot 3 301st vs 2407b. Hotspot 4 123rd vs\r\n 2253b. Hotspot 5 28th & 36th vs 968b.at 250mi.\r\n
\r\n \r\n Team Competition 7th place & 1st American Loft of the 107 Teams\r\n entered (5 bird teams)!!!\r\n
\r\n Final Race 36th with only 77 day birds, 268th & 400th with only\r\n 521 total returns of 859b. 344mi.\r\n \r\n

\r\n
\r\n \r\n \r\n

\r\n {/* handleShowContact()}\r\n style={{ color: \"red\" }}\r\n >\r\n ORDER NOW!\r\n */}\r\n We now house over 40 superb imports with top bloodlines and fantastic eye sign! We also house many super American born pigeons from our & other top lofts.\r\n To browse click Imports and USA Birds.\r\n

\r\n\r\n\r\n

\r\n All birds for sale, email us for quote or any question you have.\r\n

\r\n \r\n {showContactModal ? (\r\n hideModalClick()}\r\n />\r\n ) : null}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Home;\r\n","import React, { useState, useContext, useEffect } from \"react\";\r\nimport { StoreContext } from \"../../../store\";\r\n\r\nimport ReactDOM from \"react-dom\";\r\nimport Modal from \"react-modal\";\r\nimport Image from \"react-bootstrap/Image\";\r\n//test\r\nconst customStyles = {\r\n content: {\r\n width: \"90%\",\r\n height: \"90%\",\r\n top: \"50%\",\r\n left: \"50%\",\r\n right: \"auto\",\r\n bottom: \"auto\",\r\n marginRight: \"-50%\",\r\n transform: \"translate(-50%, -50%)\",\r\n overflow: \"scroll\",\r\n },\r\n};\r\n\r\n// Make sure to bind modal to your appElement (http://reactcommunity.org/react-modal/accessibility/)\r\nModal.setAppElement(\"#root\");\r\n\r\nlet ImageModal = (props) => {\r\n const [modalIsOpen, setIsOpen] = useState(false);\r\n const { BaseURL } = useContext(StoreContext);\r\n let subtitle;\r\n function openModal() {\r\n setIsOpen(true);\r\n }\r\n\r\n function afterOpenModal() {\r\n // references are now sync'd and can be accessed.\r\n subtitle.style.color = \"#f00\";\r\n }\r\n\r\n function closeModal() {\r\n setIsOpen(false);\r\n }\r\n //const baseUrl = \"http://api.pigeonconnect.com/api/\";\r\n //const baseUrl = \"http://localhost:64567/api/\";\r\n // const imageURL = require(\"../../../birds/imports/\" + props.ImageURL);\r\n const imageURL =\r\n BaseURL + \"/UploadedFiles/wingandaprayerloft/Catalog/\" + props.ImageURL;\r\n\r\n return (\r\n
\r\n \r\n {props.Text}\r\n \r\n \r\n

(subtitle = _subtitle)}>{props.Alt}

\r\n
\r\n \r\n
\r\n \r\n
{props.Description}
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ImageModal;\r\n","import React, { useState, useContext, useEffect } from \"react\";\r\nimport Dropdown from \"react-dropdown\";\r\nimport \"react-dropdown/style.css\";\r\n\r\nconst Filter = (props) => {\r\n const options = [\"All\", \"Cocks\", \"Hens\"];\r\n const defaultOption = options[0];\r\n\r\n const filterStyle = {\r\n padding: \"10px\",\r\n };\r\n const filterStyleSelected = {\r\n textDecoration: \"underline red\",\r\n padding: \"10px\",\r\n };\r\n\r\n return (\r\n \r\n Filter:\r\n props.FilterSelected(event)}\r\n value={props.SelectedValue}\r\n placeholder=\"Select an option\"\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default Filter;\r\n","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { StoreContext } from \"../../../store\";\r\n\r\nimport ReactDOM from \"react-dom\";\r\nimport Modal from \"react-modal\";\r\nimport Image from \"react-bootstrap/Image\";\r\nimport { SaveProductWithUpload, DeleteFile } from \"../../../actions\";\r\nimport Dropdown from \"react-dropdown\";\r\nimport ImageModal from \"./ImageModal\";\r\nconst qs = require(\"query-string\");\r\n//test\r\nconst labelStyle = {\r\n width: \"100px\",\r\n textAlign: \"right\",\r\n margin: \"10px\",\r\n};\r\n\r\nconst inputStyle = {\r\n width: \"300px\",\r\n textAlign: \"right\",\r\n margin: \"10px\",\r\n // border: \".5px solid red\",\r\n};\r\n\r\nconst inputRowStyle = {\r\n // border: \"1px solid blue\",\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n width: \"100%\",\r\n justifyContent: \"center\",\r\n};\r\n\r\nconst customStyles = {\r\n content: {\r\n width: \"90%\",\r\n height: \"90%\",\r\n top: \"50%\",\r\n left: \"50%\",\r\n right: \"auto\",\r\n bottom: \"auto\",\r\n marginRight: \"-50%\",\r\n transform: \"translate(-50%, -50%)\",\r\n overflow: \"scroll\",\r\n },\r\n};\r\n\r\n// Make sure to bind modal to your appElement (http://reactcommunity.org/react-modal/accessibility/)\r\nModal.setAppElement(\"#root\");\r\n\r\nlet UploadBirdModal = (props) => {\r\n //const parsed = qs.parse(window.location);\r\n\r\n const { dispatch, AuthToken, BaseURL } = useContext(StoreContext);\r\n\r\n const [modalIsOpen, setIsOpen] = useState(false);\r\n const [title, setTitle] = useState(\"\");\r\n const [detail, setDetail] = useState(\"\");\r\n const [description, setDescription] = useState(\"\");\r\n const [price, setPrice] = useState(\"\");\r\n const [sex, setSex] = useState({ value: 0, label: \"-\" });\r\n const [sortingIndex, setSortingIndex] = useState(0);\r\n\r\n const formData = {\r\n GUID: \"\",\r\n Title: \"\",\r\n Description: \"\",\r\n Sex: \"\",\r\n Price: \"\",\r\n FileData: \"\",\r\n AccountID: \"\",\r\n Page: \"\",\r\n RedHeader:\"\"\r\n };\r\n\r\n const post = props.FormData;\r\n const [FormData, setFormData] = useState(formData);\r\n const [fileData, setFileData] = useState(\"\");\r\n const [fileDataPedigree, setFileDataPedigree] = useState(\"\");\r\n const [page, setPage] = useState({ value: 0, label: \"-\" });\r\n const [files, setFiles] = useState();\r\n const [bird, setBird] = useState();\r\n const [redHeader,setRedHeader] = useState(\"\");\r\n\r\n const destinationList = [\r\n { value: 0, label: \"-\" },\r\n { value: 1, label: \"importbirds\" },\r\n { value: 2, label: \"usbirds\" },\r\n { value: 3, label: \"forsale\" },\r\n { value: 4, label: \"landingspot\" },\r\n ];\r\n\r\n useEffect(() => {\r\n if (modalIsOpen) {\r\n const x = destinationList.find(\r\n (item) => item.label == window.location.pathname.replace(\"/\", \"\")\r\n );\r\n setPage(x);\r\n }\r\n\r\n if (modalIsOpen && props.Bird !== undefined) {\r\n setPage(destinationList.find((item) => props.Bird.Page == item.label));\r\n setTitle(props.Bird.Title);\r\n setDescription(props.Bird.Description);\r\n setFiles(props.Bird.Files);\r\n setRedHeader(props.Bird.RedHeader);\r\n const s = props.Bird.Sex;\r\n setSex(\r\n s == 1\r\n ? { value: 1, label: \"cock\" }\r\n : s == 2\r\n ? { value: 2, label: \"hen\" }\r\n : { value: 0, label: \"-\" }\r\n );\r\n setPrice(props.Bird.Price);\r\n setSortingIndex(props.Bird.SortingIndex);\r\n }\r\n }, [modalIsOpen]);\r\n\r\n // useEffect(() => {\r\n // alert(page.label);\r\n // }, [page]);\r\n\r\n // useEffect(() => {\r\n // console.log(props.Bird);\r\n // }, []);\r\n // useEffect(() => {\r\n // if (props.Bird !== undefined) {\r\n // const bird = props.Bird;\r\n // console.log(JSON.stringify(bird));\r\n // //set form data\r\n // setTitle(bird.Title);\r\n // setDescription(bird.Description);\r\n // setSex(bird.Sex);\r\n // // setPrice(bird.Price);\r\n // // setFiles(bird.Files);\r\n // // setPage(bird.Page);\r\n // }\r\n // }, [title, description, sex]);\r\n\r\n let subtitle;\r\n\r\n function openModal() {\r\n setIsOpen(true);\r\n }\r\n\r\n function handleClose() {\r\n setIsOpen(false);\r\n }\r\n\r\n const UploadPedigree = (e) =>{\r\n\r\n e.preventDefault();\r\n const files = e.target.files ;// + '_pedigree';\r\n setFileDataPedigree(files);\r\n \r\n\r\n }\r\n\r\n\r\n const ReadFile = (e) => {\r\n e.preventDefault();\r\n const files = e.target.files;\r\n // for (var i = 0; i < files.length; i++) {\r\n // console.log(files[i]);\r\n // }\r\n\r\n // file = sender.target.files[0];\r\n setFileData(files);\r\n // setFileName(file.name);\r\n // if (file.name.includes(\".txt\")) {\r\n // fileReader = new FileReader();\r\n // fileReader.onloadend = () => handleFileRead(sender);\r\n // fileReader.readAsText(file);\r\n // } else {\r\n // raceResult.FName = file.name;\r\n // raceResult.FileData = file;\r\n // PopulateRaceForm(raceResult, dispatch);\r\n // }\r\n };\r\n\r\n const onFileChangeHandler = (e) => {\r\n e.preventDefault();\r\n // const files = e.target.files;\r\n // for (var i = 0; i < files.length; i++) {\r\n // console.log(files[i]);\r\n // }\r\n\r\n setFileData(e.target.files[0]);\r\n // const formData = new FormData();\r\n // formData.append(\"file\", files);\r\n // fetch(\"http://localhost:8080/upload\", {\r\n // method: \"post\",\r\n // body: formData,\r\n // }).then((res) => {\r\n // if (res.ok) {\r\n // console.log(res.data);\r\n // alert(\"File uploaded successfully.\");\r\n // }\r\n // });\r\n };\r\n\r\n let handleSave = () => {\r\n if (!ValidateForm()) return;\r\n\r\n FormData.Title = title;\r\n FormData.Description = description;\r\n FormData.Sex = sex.value;\r\n FormData.SortingIndex = sortingIndex;\r\n FormData.RedHeader = redHeader;\r\n FormData.Price = price;\r\n FormData.FileData = fileData;\r\n FormData.FileDataPedigree = fileDataPedigree;\r\n FormData.Page = page.label;\r\n FormData.GUID = props.Bird?.GUID;\r\n //if (FormData.GUID == \"\") {\r\n SaveProductWithUpload(FormData, dispatch, AuthToken);\r\n //} else console.log(\"perform edit\");\r\n\r\n handleClose();\r\n };\r\n\r\n const handleDeleteFile = (fname) => {\r\n handleClose();\r\n DeleteFile(dispatch, fname, AuthToken);\r\n setFiles(files.filter((item) => item != fname));\r\n };\r\n\r\n useEffect(() => {\r\n setFiles(files);\r\n }, [files]);\r\n\r\n const renderFiles = () => {\r\n return (\r\n
\r\n {files\r\n //.filter((item) => item.includes(\"jpg\"))\r\n ?.map((item,index) => {\r\n if (item.includes(\"jpg\")) {\r\n return (\r\n
\r\n handleDeleteFile(item)}\r\n >\r\n Click To Delete\r\n \r\n \r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n handleDeleteFile(item)}\r\n >\r\n Click To Delete\r\n \r\n {item}\r\n
\r\n );\r\n }\r\n })}\r\n
\r\n );\r\n // let displayedFileNames = files?.map((item) => {\r\n // return item.split(\"_\")[1];\r\n // });\r\n // return displayedFileNames?.map((item) => {\r\n // return (\r\n //
\r\n // {item}\r\n //

\r\n // {\r\n // alert(item);\r\n // }}\r\n // >\r\n // Delete\r\n // \r\n //
\r\n // );\r\n // });\r\n };\r\n const ValidateForm = () => {\r\n let isValid = true;\r\n if (page.value == 0) {\r\n alert(\"You need to specify the destination page.\");\r\n isValid = false;\r\n }\r\n\r\n return isValid;\r\n };\r\n\r\n function afterOpenModal() {\r\n // references are now sync'd and can be accessed.\r\n subtitle.style.color = \"#f00\";\r\n }\r\n\r\n function closeModal() {\r\n setIsOpen(false);\r\n }\r\n return (\r\n
\r\n \r\n \r\n

(subtitle = _subtitle)}>{props.Alt}

\r\n \r\n {(props.Bird?.GUID ===undefined) ? '': \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n setPage(event)}\r\n placeholder=\"Select the Page\"\r\n value={page.label}\r\n />\r\n
\r\n
\r\n
}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n setTitle(e.target.value)}\r\n >\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n setRedHeader(e.target.value)}\r\n >\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n setDescription(e.target.value)}\r\n >\r\n
\r\n
\r\n {page.label !== \"landingspot\" ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n setSex(event)}\r\n placeholder=\"Select an option\"\r\n value={sex.label}\r\n />\r\n
\r\n
\r\n
\r\n ) : null}\r\n {page.label == \"forsale\" ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n setPrice(e.target.value)}\r\n >\r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n \r\n
\r\n
\r\n setSortingIndex(e.target.value)}\r\n >\r\n
\r\n
\r\n {(files === undefined)?'' :
\r\n
\r\n \r\n
\r\n
{renderFiles(files)}
\r\n
}\r\n \r\n {/*
\r\n \r\n (To upload pedigree not in pdf format, rename the file by\r\n appending \"_pedigree\" in the file name. Ex: birdasdf_pedigree.jpg)\r\n \r\n
*/}\r\n
\r\n \r\n
\r\n
\r\n ReadFile(sender)}\r\n style={{ height: \"50px\", width:\"300px\" }}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n UploadPedigree(sender)}\r\n style={{ height: \"50px\", width:\"300px\" }}\r\n \r\n />\r\n
\r\n
\r\n
\r\n
\r\n handleClose()}\r\n value=\"Close\"\r\n />\r\n
\r\n\r\n
\r\n handleSave()}\r\n value=\"Save\"\r\n />\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default UploadBirdModal;\r\n","import React, { useContext, useEffect, useState } from \"react\";\r\nimport Modal from \"react-modal\";\r\nimport { DeleteProduct } from \"../../../actions\";\r\nimport { StoreContext } from \"../../../store\";\r\n\r\nconst DeleteConfirmation = (props) => {\r\n const { dispatch, AuthToken, Products } = useContext(StoreContext);\r\n let subtitle;\r\n\r\n const [modalIsOpen, setIsOpen] = useState(false);\r\n const [cancelStyle, setCancelStyle] = useState(false);\r\n function openModal() {\r\n setIsOpen(true);\r\n }\r\n function afterOpenModal() {\r\n // references are now sync'd and can be accessed.\r\n subtitle.style.color = \"#f00\";\r\n }\r\n\r\n function closeModal() {\r\n setIsOpen(false);\r\n }\r\n\r\n function handleClose() {\r\n setIsOpen(false);\r\n }\r\n\r\n //duplicated code\r\n\r\n const customStyles = {\r\n content: {\r\n width: \"300px\",\r\n height: \"200px\",\r\n top: \"50%\",\r\n left: \"50%\",\r\n right: \"auto\",\r\n bottom: \"auto\",\r\n marginRight: \"-50%\",\r\n transform: \"translate(-50%, -50%)\",\r\n },\r\n };\r\n\r\n const handleDelete = () => {\r\n closeModal();\r\n DeleteProduct(dispatch, props.Bird, AuthToken);\r\n };\r\n return (\r\n \r\n \r\n \r\n

(subtitle = _subtitle)}>{props.Alt}

\r\n\r\n
\r\n
\r\n \r\n



\r\n closeModal()}\r\n >\r\n Cancel\r\n \r\n



\r\n handleDelete()}\r\n >\r\n Yes, I'm sure!\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default DeleteConfirmation;\r\n","import React, { useState, useContext, useEffect } from \"react\";\r\n\r\nimport { StoreContext } from \"../store\";\r\n\r\nimport Image from \"react-bootstrap/Image\";\r\nimport ImageModal from \"./atoms/molecules/ImageModal\";\r\nimport Filter from \"./atoms/molecules/filter\";\r\nimport ContactUsModal from \"./atoms/molecules/ContactUsModal\";\r\nimport UploadBirdModal from \"./atoms/molecules/UploadBirdModal\";\r\nimport DeleteConfirmation from \"./atoms/molecules/DeleteConfirmation\";\r\nimport { GetBirds } from \"../actions\";\r\n\r\nlet Catalog = (props) => {\r\n //const baseUrl = \"http://localhost:64567\";\r\n const { dispatch, AuthToken, Products, IsLogin, BaseURL } = useContext(\r\n StoreContext\r\n );\r\n const [filter, setFilter] = useState(\"All\");\r\n const [showContactModal, setShowContactModal] = useState(false);\r\n const [showConfirmDeleteModal, setShowConfirmDeleteModal] = useState(false);\r\n const [birds, setBirds] = useState();\r\n useEffect(() => {\r\n if (Products.length == 0) GetBirds(dispatch);\r\n }, []);\r\n //const birds = Products?.filter((item) => item.Page == props.Page);\r\n\r\n useEffect(() => {\r\n let birds = Products.sort(\r\n (a, b) =>\r\n b.SortingIndex - a.SortingIndex ||\r\n new Date(b.Created) - new Date(a.Created)\r\n )?.filter((item) => item.Page == props.Page);\r\n setBirds(birds);\r\n }, [Products.length]);\r\n\r\n function getRootUrl() {\r\n var defaultPorts = { \"http:\": 80, \"https:\": 443 };\r\n\r\n return (\r\n window.location.protocol +\r\n \"//\" +\r\n window.location.hostname +\r\n (window.location.port &&\r\n window.location.port != defaultPorts[window.location.protocol]\r\n ? \":\" + window.location.port\r\n : \"\")\r\n );\r\n }\r\n\r\n const selectFilter = (event) => {\r\n setFilter(event.value);\r\n };\r\n\r\n const hideModalClick = () => {\r\n setShowContactModal(false);\r\n };\r\n\r\n const handleShowContact = () => {\r\n setShowContactModal(true);\r\n };\r\n\r\n const renderAdmin = (bird) => {\r\n return (\r\n \r\n {\" \"}\r\n
\r\n
\r\n {\" \"}\r\n
\r\n
\r\n
\r\n hideModalClick()}\r\n Bird={bird}\r\n Msg={`Are you sure you want to delete ${bird.Title} ?`}\r\n >\r\n
\r\n
\r\n );\r\n };\r\n const renderBird = (bird) => {\r\n const imageURL = bird.Files.filter(\r\n (file) =>\r\n (file.includes(\"jpg\") ||\r\n file.includes(\"png\") ||\r\n file.includes(\"jpeg\")) &&\r\n !file.includes(\"_pedigree\") &&\r\n !file.includes(\"_ped_\")\r\n );\r\n return (\r\n
\r\n
\r\n
\r\n {bird.RedHeader?.length > 0?{bird.RedHeader}:''} \r\n {bird.RedHeader?.length > 0?
:''} \r\n {bird.Title} \r\n
\r\n {bird.Sex == 1 ? \"Cock\" : bird.Sex == 2 ? \"Hen\" : \"-\"}\r\n
\r\n {bird.Description}\r\n
\r\n {bird.Page == \"forsale\" ? bird.Price : null}\r\n {/*
\r\n Posted on : {new Date(bird.Created).toDateString()} */}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {bird.Files.find(\r\n (file) => file.includes(\"pdf\") || file.includes(\"_pedigree\") || file.includes(\"_ped_\")\r\n ) != undefined ? (\r\n
\r\n
\r\n \r\n file.includes(\"pdf\") || file.includes(\"_pedigree\") || file.includes(\"_ped_\")\r\n )\r\n }\r\n target=\"_blank\"\r\n >\r\n View Pedigree\r\n \r\n
\r\n
\r\n ) : null}\r\n
\r\n
setShowContactModal(true)}>\r\n Message Us About This Bird\r\n
\r\n
\r\n {IsLogin ? renderAdmin(bird) : null}\r\n
\r\n
\r\n );\r\n };\r\n\r\n const renderItems = () => {\r\n return (\r\n \r\n {birds?.filter(\r\n (bird) =>\r\n filter == \"All\" ||\r\n filter == (bird.Sex == 2 ? \"Hens\" : bird.Sex == 1 ? \"Cocks\" : \"\")\r\n ).length > 0 ? (\r\n birds\r\n .filter(\r\n (bird) =>\r\n filter == \"All\" ||\r\n filter ==\r\n (bird.Sex == 2 ? \"Hens\" : bird.Sex == 1 ? \"Cocks\" : \"\")\r\n )\r\n .map((filteredBird) => renderBird(filteredBird))\r\n ) : (\r\n No Result\r\n )}\r\n \r\n );\r\n };\r\n //test\r\n return (\r\n \r\n
\r\n
\r\n \r\n
{\" \"}\r\n {IsLogin ? (\r\n
\r\n {\" \"}\r\n
\r\n ) : null}\r\n
\r\n \r\n {renderItems()}\r\n \r\n {showContactModal ? (\r\n hideModalClick()} \r\n />\r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default Catalog;\r\n","import React, { useState, useContext, useEffect } from \"react\";\r\n// import \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport { StoreContext } from \"../store\";\r\nimport Image from \"react-bootstrap/Image\";\r\nimport Catalog from \"./catalog\";\r\n\r\nlet UsBirds = (props) => {\r\n const { dispatch } = useContext(StoreContext);\r\n\r\n return (\r\n
\r\n

USA Birds

\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default UsBirds;\r\n","import React, { useState, useContext, useEffect } from \"react\";\r\n// import \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport { StoreContext } from \"../store\";\r\nimport Image from \"react-bootstrap/Image\";\r\nimport Catalog from \"./catalog\";\r\n\r\nlet ImportBirds = (props) => {\r\n const { dispatch } = useContext(StoreContext);\r\n\r\n // useEffect(() => {\r\n // GetBirds(dispatch);\r\n // }, []);\r\n\r\n return (\r\n
\r\n

Our Import Birds

\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ImportBirds;\r\n","import React, { useState, useContext, useEffect } from \"react\";\r\n// import \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport { StoreContext } from \"../store\";\r\nimport Image from \"react-bootstrap/Image\";\r\nimport Catalog from \"./catalog\";\r\n\r\nlet ForSale = (props) => {\r\n const { dispatch } = useContext(StoreContext);\r\n\r\n return (\r\n
\r\n

For Sale & Sold

\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ForSale;\r\n","import React, { useContext, useState, useEffect } from \"react\";\r\nimport { Button, FormGroup, FormControl, FormLabel } from \"react-bootstrap\";\r\nimport { Logging } from \"../../../actions\";\r\nimport { StoreContext } from \"../../../store\";\r\n\r\nexport default function Login() {\r\n const { AuthToken, dispatch } = useContext(StoreContext);\r\n\r\n const [userName, setuserName] = useState(\"\");\r\n const [password, setPassword] = useState(\"\");\r\n const [loginStatus, setLoginStatus] = useState(\"\");\r\n const [btnSubmitText, setBtnSubmitText] = useState(\"Submit\");\r\n const [failedAttempt, setFailedAttempt] = useState(0);\r\n\r\n const loginStatusMessage = `Failed Attempt ${failedAttempt}. Invalid Credentials. Try Again.`;\r\n function validateForm() {\r\n return userName.length > 0 && password.length > 0;\r\n }\r\n\r\n useEffect(() => {\r\n if (AuthToken === null && failedAttempt > 0) {\r\n setLoginStatus(loginStatusMessage);\r\n }\r\n\r\n setBtnSubmitText(\"Submit\");\r\n }, [AuthToken, failedAttempt]);\r\n\r\n const handleSubmit = (event) => {\r\n if (failedAttempt > 3) {\r\n alert(\r\n \"You've reached the allowed maximum Failed Attemp. Self-Destruct sequence to start. \"\r\n );\r\n }\r\n event.preventDefault();\r\n //UpdateLogin(dispatch, userName, password);\r\n setBtnSubmitText(\"Processing...\");\r\n\r\n if (userName.length > 1 && password.length > 1) {\r\n Logging(dispatch, userName, password);\r\n } else {\r\n setLoginStatus(loginStatusMessage);\r\n }\r\n setFailedAttempt(failedAttempt + 1);\r\n };\r\n\r\n // function handleSubmit(event) {\r\n // event.preventDefault();\r\n // if (userName == \"admin\" && password == \"acepigeon\")\r\n // UpdateLogin(dispatch, false);\r\n // else alert(\"invalid username or password\");\r\n // }\r\n\r\n return (\r\n
\r\n
\r\n \r\n User ID\r\n setuserName(e.target.value)}\r\n />\r\n \r\n \r\n Password\r\n setPassword(e.target.value)}\r\n type=\"password\"\r\n />\r\n \r\n \r\n {btnSubmitText}\r\n \r\n {loginStatus}\r\n \r\n
\r\n );\r\n}\r\n","import React, { useState, useContext, useEffect } from \"react\";\r\nimport { StoreContext } from \"../store\";\r\nimport \"../App.css\";\r\nimport AdminCards from \"../components/atoms/molecules/AdminCards\";\r\nimport Login from \"./atoms/molecules/Login\";\r\n\r\nlet Admin = () => {\r\n const { IsLogin, UserName } = useContext(StoreContext);\r\n\r\n const renderLoggedin = () => {\r\n return (\r\n
\r\n

Welcome {UserName}! You're logged in.

\r\n

\r\n You may now add,edit, and delete from your bird catalog. Oh, and don't\r\n forget to logout (top right of your screen) when you're done.\r\n
\r\n );\r\n };\r\n return (\r\n
\r\n
{IsLogin ? renderLoggedin() : }
\r\n
\r\n );\r\n};\r\nexport default Admin;\r\n","import React, { useContext, useEffect } from \"react\";\r\nimport { StoreContext } from \"../../../store\";\r\nimport { GetAPIVersion, UpdateLogin, Logout } from \"../../../actions\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { faBold, faFlagUsa } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nconst Footer = () => {\r\n const { APIVersion, dispatch, IsLogin } = useContext(StoreContext);\r\n\r\n useEffect(() => {\r\n GetAPIVersion(dispatch);\r\n }, []);\r\n\r\n const handleLogout = () => {\r\n Logout(dispatch);\r\n };\r\n\r\n const handleLogin = () => {\r\n //UpdateLogin(dispatch, true);\r\n };\r\n // useEffect(() => {\r\n // console.log(\"is login\" + IsLogin);\r\n // }, IsLogin);\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n

\r\n \r\n Wing And A Prayer Loft ©{new Date().getFullYear()}\r\n \r\n

\r\n\r\n

\r\n \r\n \r\n \r\n

\r\n\r\n

\r\n Developed and maintained by{\" \"}\r\n CharmedCoder\r\n

\r\n
\r\n
\r\n
\r\n {APIVersion == 0 ? \"STATUS: API IS DOWN\" : \"API V\" + APIVersion}- app\r\n V4.1\r\n
\r\n
\r\n \r\n );\r\n};\r\nexport default Footer;\r\n","import React, { useState, useContext, useEffect } from \"react\";\r\n\r\nimport { StoreContext } from \"../store\";\r\n\r\nimport Image from \"react-bootstrap/Image\";\r\nimport ImageModal from \"./atoms/molecules/ImageModal\";\r\n//import Filter from \"./atoms/molecules/filter\";\r\nimport ContactUsModal from \"./atoms/molecules/ContactUsModal\";\r\nimport UploadBirdModal from \"./atoms/molecules/UploadBirdModal\";\r\nimport DeleteConfirmation from \"./atoms/molecules/DeleteConfirmation\";\r\nimport { GetBirds } from \"../actions\";\r\n\r\nlet Blog = (props) => {\r\n //const baseUrl = \"http://localhost:64567\";\r\n const { dispatch, AuthToken, Products, IsLogin, BaseURL } = useContext(\r\n StoreContext\r\n );\r\n //const [filter, setFilter] = useState(\"All\");\r\n const [showContactModal, setShowContactModal] = useState(false);\r\n const [showConfirmDeleteModal, setShowConfirmDeleteModal] = useState(false);\r\n const [birds, setBirds] = useState();\r\n useEffect(() => {\r\n if (Products.length == 0) GetBirds(dispatch);\r\n }, []);\r\n //const birds = Products?.filter((item) => item.Page == props.Page);\r\n\r\n useEffect(() => {\r\n let birds = Products?.filter((item) => item.Page == props.Page);\r\n setBirds(birds);\r\n }, [Products.length]);\r\n\r\n function getRootUrl() {\r\n var defaultPorts = { \"http:\": 80, \"https:\": 443 };\r\n\r\n return (\r\n window.location.protocol +\r\n \"//\" +\r\n window.location.hostname +\r\n (window.location.port &&\r\n window.location.port != defaultPorts[window.location.protocol]\r\n ? \":\" + window.location.port\r\n : \"\")\r\n );\r\n }\r\n\r\n // const selectFilter = (event) => {\r\n // setFilter(event.value);\r\n // };\r\n\r\n const hideModalClick = () => {\r\n setShowContactModal(false);\r\n };\r\n\r\n const handleShowContact = () => {\r\n setShowContactModal(true);\r\n };\r\n\r\n const renderAdmin = (bird) => {\r\n return (\r\n \r\n {\" \"}\r\n
\r\n
\r\n {\" \"}\r\n
\r\n
\r\n
\r\n hideModalClick()}\r\n Bird={bird}\r\n Msg={`Are you sure you want to delete ${bird.Title} ?`}\r\n >\r\n
\r\n
\r\n );\r\n };\r\n const renderBird = (bird) => {\r\n const imageURL = bird.Files.filter(\r\n (file) => file.includes(\"jpg\") || file.includes(\"png\")\r\n );\r\n return (\r\n
\r\n
\r\n
\r\n {bird.Title} \r\n
\r\n {/* {new Date(bird.Created).toDateString()}\r\n
*/}\r\n
\r\n {bird.Description}\r\n
\r\n {bird.Page == \"forsale\" ? bird.Price : null}\r\n
\r\n
\r\n
\r\n {imageURL == \"\" ? null : (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {IsLogin ? renderAdmin(bird) : null}\r\n
\r\n
\r\n );\r\n };\r\n\r\n const renderItems = () => {\r\n return (\r\n \r\n {birds?.length > 0 ? (\r\n birds\r\n .sort(\r\n (a, b) =>\r\n b.SortingIndex - a.SortingIndex ||\r\n new Date(b.Created) - new Date(a.Created)\r\n )\r\n ?.map((filteredBird) => renderBird(filteredBird))\r\n ) : (\r\n No Result\r\n )}\r\n \r\n );\r\n };\r\n //test\r\n return (\r\n \r\n
\r\n {IsLogin ? (\r\n
\r\n {\" \"}\r\n
\r\n ) : null}\r\n
\r\n \r\n {renderItems()}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Blog;\r\n","import React, { useState, useContext, useEffect } from \"react\";\r\n// import \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport { StoreContext } from \"../store\";\r\nimport Image from \"react-bootstrap/Image\";\r\nimport Blog from \"./blog\";\r\n\r\nlet LandingSpot = (props) => {\r\n const { dispatch } = useContext(StoreContext);\r\n\r\n return (\r\n
\r\n

Landing Spot

\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default LandingSpot;\r\n","import React from \"react\";\r\nimport { BrowserRouter as Router, Route, Switch } from \"react-router-dom\";\r\nimport Navigation from \"./components/navigation\";\r\nimport Home from \"./components/home\";\r\nimport UsBirds from \"./components/usbirds\";\r\nimport ImportBirds from \"./components/importbirds\";\r\nimport ForSale from \"./components/forsale\";\r\nimport Admin from \"./components/admin\";\r\nimport Image from \"react-bootstrap/Image\";\r\nimport StoreProvider from \"./store\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport FlexView from \"react-flexview/lib\";\r\nimport Footer from \"./components/atoms/molecules/Footer\";\r\nimport LandingSpot from \"./components/landingspot\";\r\nfunction App() {\r\n const headerStyle = {\r\n color: \"red\",\r\n textAlign: \"center\",\r\n margin: \"20px\",\r\n fontFamily: \"Impact, Haettenschweiler,Arial Narrow Bold, sans-serif\",\r\n letterSpacing: \"5px\",\r\n };\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport * as serviceWorker from \"./serviceWorker\";\n\nReactDOM.render(, document.getElementById(\"root\"));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","module.exports = __webpack_public_path__ + \"static/media/NewInbredKittleCimport.cd6cccd0.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Jazzmansdaucropped.965641d7.jpg\";","module.exports = __webpack_public_path__ + \"static/media/DrapaKittelredo.dc300ec9.png\";"],"sourceRoot":""}