{"version":3,"sources":["logo-white.svg","ConfigureEmails.js","SelectFilevineDocuments.js","SelectConfig.js","index.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_ref2","createElement","fill","fillRule","d","_ref","svgRef","title","props","width","height","viewBox","ref","ForwardRef","forwardRef","ConfigureEmails","emailAddresses","onHide","onSave","useState","emails","setEmails","newEmail","setNewEmail","searchText","setSearchText","addEmail","email","str","test","every","e","trim","useEffect","split","map","toLocaleLowerCase","filter","Boolean","matchingEmails","Modal","show","Header","closeButton","Title","Form","onSubmit","preventDefault","stopPropagation","onKeyUp","which","Body","style","maxHeight","overflowY","Group","controlId","InputGroup","Control","type","placeholder","value","onChange","Append","Button","variant","onClick","disabled","index","defaultValue","readOnly","idx","removeEmail","required","Alert","Footer","join","SelectFilevineDocuments","onSelect","origDocs","filteredDocs","onDocUpdate","docs","Array","isArray","doc","filevineDocumentId","documentId","native","id","toString","name","filename","selected","setSelected","className","keyCode","searchVal","toLowerCase","docsFilterApplied","ListGroup","Item","htmlFor","checked","some","docId","unselectDoc","SelectConfig","ctx","caseInfo","phoneNumbers","senders","defaultCourt","courtname","isOnlyOneSender","delve","defaultSender","isOnlyOnePhoneNumber","defaultPhoneNumber","theCourt","setTheCourt","sender","setSender","phoneNumber","setPhoneNumber","memo","setMemo","yourEmail","setYourEmail","backdrop","keyboard","Label","as","Text","App","isSending","setIsSending","sent","setSent","canSend","setCanSend","setEmailAddresses","isLoading","setIsLoading","isError","setIsError","setCtx","toError","setToError","subjectError","setSubjectError","contentPadding","setContentPadding","showConfig","setShowConfig","showFilevineDocs","setShowFilevineDocs","to","setTo","cc","setCc","bcc","setBcc","subject","setSubject","body","setBody","attachments","setAttachments","setOrigDocs","setFilteredDocs","navbarEl","useRef","fileUploadEl","query","URLSearchParams","window","location","search","projectId","get","projectEmail","updateAttachments","data","config","a","parties","caseNumber","fileNumber","courtName","replace","plaintiff","defendant","sendServiceEmail","augmentedBcc","concat","fetch","process","method","headers","JSON","stringify","res","ok","Error","status","statusText","createAndUploadDocument","att","console","log","size","json","contentType","url","isNew","Promise","all","error","setSelectionDocs","ctxDocs","beginningDocs","filteredCtxDocs","push","createDoc","newDoc","contextUrl","ctxResponse","fetchContext","current","getBoundingClientRect","href","Spinner","animation","paddingTop","project","projectOrClientName","rows","attachment","slice","removeAttachment","click","visibility","files","newDocs","f","multiple","ReactDOM","render","document","getElementById"],"mappings":"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","file":"static/js/main.4dc439e4.chunk.js","sourcesContent":["function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#FFF\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M214.384 8.774l-.072-1.133c-.009-.149-.009-.328-.017-.537h-.017c-.051.17-.111.399-.162.574l-.355 1.07h-.392l-.345-1.103c-.039-.142-.094-.37-.137-.541h-.021c0 .177-.009.363-.017.537l-.069 1.133h-.367l.137-1.922h.58l.329.943c.043.145.085.286.132.484h.004c.051-.177.094-.339.137-.48l.333-.947h.55l.149 1.922h-.38zm-2.081-1.922v.316h-.614v1.606h-.389V7.168h-.614v-.316h1.617zM41.94 6.852h14.44v4.835h-9.478v3.442h7.848v4.516h-7.848v6.654h-4.961zM65.64 26.299h4.987V6.852h-4.986zM79.896 6.852h4.96v14.635h9.33V26.3h-14.29zM102.222 6.852h14.938v4.835h-9.952v2.796h8.181v4.511h-8.18v2.493h9.95V26.3h-14.937zM132.2 26.299l-7.857-19.447h5.434l4.888 13.066 4.914-13.066h5.435L137.135 26.3zM152.445 26.299h4.986V6.852h-4.986zM166.695 26.299V6.852h4.236l8.68 10.873V6.852h4.961V26.3h-4.214l-8.676-10.845v10.845zM193.837 6.852h14.938v4.835h-9.951v2.796h8.181v4.511h-8.181v2.493h9.951V26.3h-14.938zM8 18l7.722 15L19 26.632 14.56 18zM3 7l2.787 6H12L9.217 7zM6 1l2.767 6h19.467L31 1z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 1l2.775 6H9L6.222 1zM23.217 19L26 13H12l2.779 6z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.776 19H15l-2.775-6H6z\"\n}));\n\nvar SvgLogoWhite = function SvgLogoWhite(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 217,\n height: 34,\n viewBox: \"0 0 217 34\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLogoWhite, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/logo-white.102f4bdc.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useEffect } from 'react';\r\nimport Alert from 'react-bootstrap/Alert';\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport Form from 'react-bootstrap/Form';\r\nimport InputGroup from 'react-bootstrap/InputGroup';\r\nimport Button from 'react-bootstrap/Button';\r\n\r\nexport function ConfigureEmails({ emailAddresses, onHide, onSave }) {\r\n const [emails, setEmails] = useState([]);\r\n const [newEmail, setNewEmail] = useState('');\r\n const [searchText, setSearchText] = useState('');\r\n useEffect(() => {\r\n setEmails(\r\n (emailAddresses || '')\r\n .split(',')\r\n .map(e => e.trim().toLocaleLowerCase())\r\n .filter(Boolean)\r\n );\r\n }, [emailAddresses]);\r\n function addEmail(email) {\r\n if (validEmail(email)) {\r\n setEmails([...emails, email.trim()]);\r\n setNewEmail('');\r\n }\r\n }\r\n function removeEmail(index) {\r\n setEmails([...emails.filter((e, idx) => idx !== index)]);\r\n }\r\n function validEmail(str) {\r\n return /^.+@.+$/.test(str) && emails.every(e => e !== str.trim());\r\n }\r\n function handleEnter(e) {\r\n if (e.which === 13) {\r\n addEmail(newEmail);\r\n }\r\n }\r\n function handleSubmit(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n addEmail(newEmail);\r\n }\r\n const matchingEmails = emails.filter(\r\n e => !searchText || e.indexOf(searchText) > -1\r\n );\r\n return (\r\n \r\n \r\n Configure email addresses\r\n \r\n
\r\n \r\n \r\n \r\n \r\n setSearchText(e.target.value.toLocaleLowerCase())\r\n }\r\n />\r\n \r\n setSearchText('')}\r\n style={{ width: 100 }}\r\n disabled={!searchText.length}\r\n >\r\n Clear\r\n \r\n \r\n \r\n \r\n
\r\n {matchingEmails.map((email, index) => (\r\n \r\n \r\n \r\n \r\n removeEmail(index)}\r\n style={{ width: 100 }}\r\n >\r\n Remove\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n setNewEmail(e.target.value.toLocaleLowerCase())}\r\n required\r\n />\r\n \r\n \r\n Add\r\n \r\n \r\n \r\n \r\n {searchText.length > 0 && !matchingEmails.length && (\r\n \r\n No emails matching {searchText}.\r\n \r\n )}\r\n
\r\n \r\n \r\n onSave(emails.join(', '))}\r\n >\r\n Save\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport Form from 'react-bootstrap/Form';\r\nimport ListGroup from 'react-bootstrap/ListGroup';\r\nimport Button from 'react-bootstrap/Button';\r\n\r\nexport function SelectFilevineDocuments({ show, onHide, onSelect, origDocs, filteredDocs, onDocUpdate }) {\r\n \r\n const docs =\r\n !!filteredDocs && Array.isArray(filteredDocs)\r\n ? filteredDocs.map(doc => ({\r\n filevineDocumentId: doc.documentId.native,\r\n id: doc.documentId.native.toString(),\r\n name: doc.filename\r\n }))\r\n : [];\r\n\r\n const [selected, setSelected] = useState([]);\r\n function preventSubmit(e) {\r\n e.preventDefault();\r\n }\r\n function selectDoc(docId) {\r\n setSelected([...selected, docId]);\r\n }\r\n function unselectDoc(docId) {\r\n setSelected([...selected.filter(id => id !== docId)]);\r\n }\r\n function filterDocs(e){\r\n\r\n if(e.keyCode === 13){\r\n e.preventDefault();\r\n }\r\n\r\n const searchVal = e.target.value.toLowerCase().trim();\r\n if(searchVal.length > 1){\r\n const docsFilterApplied = origDocs.filter(d => d.filename.toLowerCase().indexOf(searchVal) > -1);\r\n onDocUpdate(docsFilterApplied);\r\n }\r\n else {\r\n onDocUpdate(origDocs);\r\n }\r\n }\r\n return (\r\n \r\n \r\n Select Filevine documents\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {docs.map(doc => (\r\n \r\n \r\n id === doc.id)}\r\n onChange={e =>\r\n e.target.checked ? selectDoc(doc.id) : unselectDoc(doc.id)\r\n }\r\n />\r\n {doc.name}\r\n \r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n \r\n onSelect(docs.filter(d => selected.indexOf(d.id) > -1))\r\n }\r\n disabled={!selected.length}\r\n >\r\n Add\r\n \r\n \r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport Form from 'react-bootstrap/Form';\r\nimport Button from 'react-bootstrap/Button';\r\nimport delve from 'dlv';\r\n\r\nexport function SelectConfig({\r\n ctx: { \r\n caseInfo, \r\n phoneNumbers, \r\n senders },\r\n show,\r\n onSelect\r\n}) {\r\n //const isOnlyOneCourt = delve(courts, 'length', 0) === 1;\r\n const isOnlyOneCourt = true;\r\n //const defaultCourt = isOnlyOneCourt ? delve(courts, '0.itemId.native') : '';\r\n const defaultCourt = caseInfo.courtname;\r\n const isOnlyOneSender = delve(senders, 'length', 0) === 1;\r\n const defaultSender = isOnlyOneSender ? senders[0] : '';\r\n const isOnlyOnePhoneNumber = delve(phoneNumbers, 'length', 0) === 1;\r\n const defaultPhoneNumber = isOnlyOnePhoneNumber ? phoneNumbers[0] : '';\r\n const [theCourt, setTheCourt] = useState(defaultCourt);\r\n const [sender, setSender] = useState(defaultSender);\r\n const [phoneNumber, setPhoneNumber] = useState(defaultPhoneNumber);\r\n const [memo, setMemo] = useState('');\r\n const [yourEmail, setYourEmail] = useState('');\r\n function handleSubmit(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n //const caseInfo = courts.find(c => c.itemId.native === court);\r\n const caseInfo = theCourt;\r\n onSelect({\r\n theCourt,\r\n sender,\r\n phoneNumber,\r\n memo,\r\n yourEmail,\r\n caseInfo: caseInfo ? caseInfo : null\r\n });\r\n }\r\n return (\r\n \r\n \r\n Service email configuration\r\n \r\n
\r\n \r\n \r\n Court\r\n setTheCourt(e.target.value)}\r\n disabled={isOnlyOneCourt}\r\n required\r\n >\r\n \r\n \r\n {/* {courts.map(court => (\r\n \r\n ))} */}\r\n \r\n {theCourt === '' && (\r\n \r\n There is no court available!\r\n \r\n )}\r\n \r\n \r\n Sender\r\n setSender(e.target.value)}\r\n disabled={isOnlyOneSender}\r\n required\r\n >\r\n \r\n {senders.map(sender => (\r\n \r\n ))}\r\n \r\n {senders.length === 0 && (\r\n \r\n There are no senders available!\r\n \r\n )}\r\n \r\n \r\n Phone number\r\n setPhoneNumber(e.target.value)}\r\n disabled={isOnlyOnePhoneNumber}\r\n required\r\n >\r\n \r\n {phoneNumbers.map(phoneNumber => (\r\n \r\n ))}\r\n \r\n {phoneNumbers.length === 0 && (\r\n \r\n There are no phone numbers available!\r\n \r\n )}\r\n \r\n \r\n Type of document(s)\r\n setMemo(e.target.value)}\r\n required\r\n />\r\n \r\n \r\n Your email\r\n setYourEmail(e.target.value)}\r\n />\r\n \r\n Enter your email address to receive a copy of the service email.\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n","import React, { useRef, useState, useEffect } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport delve from 'dlv';\r\nimport Spinner from 'react-bootstrap/Spinner';\r\nimport { ReactComponent as Logo } from './logo-white.svg';\r\n\r\nimport 'bootstrap/dist/css/bootstrap.css';\r\nimport 'animate.css';\r\nimport './index.css';\r\n\r\nimport { ConfigureEmails } from './ConfigureEmails';\r\nimport { SelectFilevineDocuments } from './SelectFilevineDocuments';\r\nimport { SelectConfig } from './SelectConfig';\r\n\r\nfunction App() {\r\n const [isSending, setIsSending] = useState(false);\r\n const [sent, setSent] = useState(false);\r\n const [canSend, setCanSend] = useState(false);\r\n const [emailAddresses, setEmailAddresses] = useState(null);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [isError, setIsError] = useState(false);\r\n const [ctx, setCtx] = useState(false);\r\n const [toError, setToError] = useState(false);\r\n const [subjectError, setSubjectError] = useState(false);\r\n const [contentPadding, setContentPadding] = useState(0);\r\n const [showConfig, setShowConfig] = useState(true);\r\n const [showFilevineDocs, setShowFilevineDocs] = useState(false);\r\n const [to, setTo] = useState('');\r\n const [cc, setCc] = useState('');\r\n const [bcc, setBcc] = useState('');\r\n const [yourEmail, setYourEmail] = useState('');\r\n const [subject, setSubject] = useState('');\r\n const [body, setBody] = useState('');\r\n const [memo, setMemo] = useState('');\r\n const [attachments, setAttachments] = useState([]);\r\n const [origDocs, setOrigDocs] = useState([]);\r\n const [filteredDocs, setFilteredDocs] = useState([]);\r\n\r\n const navbarEl = useRef(null);\r\n const fileUploadEl = useRef(null);\r\n\r\n const query = new URLSearchParams(window.location.search);\r\n const projectId = query.get('projectid');\r\n const projectEmail = query.get('projectemail');\r\n\r\n function triggerFileUploadDialog() {\r\n fileUploadEl.current.click();\r\n }\r\n\r\n function updateAttachments(data) {\r\n setAttachments(data);\r\n setCanSend(data.length > 0 && to && !subjectError && body);\r\n }\r\n\r\n function addFilevineAttachments(docs) {\r\n updateAttachments([...attachments, ...docs]);\r\n setShowFilevineDocs(false);\r\n }\r\n\r\n function addAttachments(e) {\r\n if (e.target.files.length) {\r\n const newDocs = [...e.target.files].map(f => {\r\n f.filevineDocumentId = null;\r\n return f;\r\n });\r\n updateAttachments([...attachments, ...newDocs]);\r\n }\r\n }\r\n\r\n function removeAttachment(index) {\r\n updateAttachments([\r\n ...attachments.slice(0, index),\r\n ...attachments.slice(index + 1)\r\n ]);\r\n }\r\n\r\n async function generateServiceEmail(config) {\r\n setShowConfig(false);\r\n\r\n setYourEmail(config.yourEmail);\r\n\r\n const to = ctx.parties.join(', ');\r\n setToError(to.length === 0);\r\n\r\n setTo(to);\r\n\r\n //const caseNumber = delve(config, 'caseInfo.casenumber');\r\n const caseNumber = delve(ctx, 'caseInfo.casenumber');\r\n //const fileNumber = delve(ctx, 'caseSummary.file');\r\n const fileNumber = ctx.fileNumber;\r\n\r\n setSubjectError(!caseNumber || !fileNumber);\r\n\r\n setSubject(\r\n `SERVICE OF COURT DOCUMENTS - ${caseNumber} (File #: ${fileNumber})`\r\n );\r\n\r\n const courtName = delve(ctx, 'caseInfo.courtname', '')\r\n .replace(/\\n/g, ' ')\r\n .replace(/\\s{2,}/g, ' ');\r\n // const courtName = delve(config, 'caseInfo.courtname', '')\r\n // .replace(/\\n/g, ' ')\r\n // .replace(/\\s{2,}/g, ' ');\r\n // const plaintiff = delve(config, 'caseInfo.plaintiff');\r\n const plaintiff = delve(ctx, 'caseInfo.plaintiff');\r\n // const defendant = delve(config, 'caseInfo.defendant');\r\n const defendant = delve(ctx, 'caseInfo.defendant');\r\n\r\n setMemo(config.memo);\r\n setBody(`${courtName}\r\n${caseNumber}\r\n${plaintiff} v. ${defendant}\r\n${config.memo}\r\n\r\nSent by: ${config.sender} ${config.phoneNumber}`);\r\n\r\n setCanSend(\r\n attachments.length > 0 && to && caseNumber && fileNumber && body\r\n );\r\n }\r\n\r\n async function sendServiceEmail(docs) {\r\n // auto-bcc the project email and the sending user\r\n const augmentedBcc = [projectEmail, yourEmail]\r\n .concat(\r\n bcc\r\n .split(',')\r\n .map(email => email.trim())\r\n .filter(Boolean)\r\n )\r\n .filter(Boolean)\r\n .join(', ');\r\n\r\n const res = await fetch(\r\n `${process.env.REACT_APP_SERVICE_URL}/service-email`,\r\n {\r\n method: 'POST',\r\n headers: {\r\n 'content-type': 'application/json'\r\n },\r\n body: JSON.stringify({\r\n projectId,\r\n to,\r\n cc,\r\n bcc: augmentedBcc,\r\n subject,\r\n body,\r\n memo,\r\n docs\r\n })\r\n }\r\n );\r\n\r\n if (!res.ok) {\r\n throw new Error(`${res.status} - ${res.statusText}`);\r\n }\r\n }\r\n\r\n async function createAndUploadDocument(att) {\r\n if (att.filevineDocumentId) {\r\n return { name: att.name, documentId: att.filevineDocumentId };\r\n }\r\n\r\n console.log('creating', att.name);\r\n const res = await fetch(`${process.env.REACT_APP_SERVICE_URL}/upload`, {\r\n method: 'POST',\r\n headers: { 'content-type': 'application/json' },\r\n body: JSON.stringify({\r\n name: att.name,\r\n size: att.size,\r\n type: att.type,\r\n projectId\r\n })\r\n });\r\n\r\n if (!res.ok) {\r\n throw new Error('Failed to create: ' + att.name);\r\n }\r\n\r\n const {\r\n documentId: { native: documentId },\r\n contentType,\r\n url\r\n } = await res.json();\r\n\r\n console.log('uploading', att.name, 'to', url, 'contentType', contentType);\r\n const uploadRes = await fetch(url, {\r\n method: 'PUT',\r\n headers: { 'content-type': contentType },\r\n body: att\r\n });\r\n\r\n if (!uploadRes.ok) {\r\n throw new Error('Failed to upload: ' + att.name);\r\n }\r\n\r\n console.log('created + uploaded!', att, documentId);\r\n return { name: att.name, documentId, isNew: true };\r\n }\r\n\r\n async function handleSubmit(e) {\r\n try {\r\n e.preventDefault();\r\n\r\n if (showFilevineDocs)\r\n {\r\n // if the select documents modal is open then don't submit the form\r\n return false;\r\n }\r\n else{\r\n setIsSending(true);\r\n setIsError(false);\r\n \r\n const docs = await Promise.all(attachments.map(createAndUploadDocument));\r\n \r\n await sendServiceEmail(docs);\r\n \r\n setSent(true); \r\n }\r\n } catch (error) {\r\n console.error('problem:', error);\r\n setIsError(true);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const setSelectionDocs = (ctxDocs) => {\r\n const beginningDocs = [];\r\n const filteredCtxDocs = [];\r\n for(const doc of ctxDocs){\r\n beginningDocs.push(createDoc(doc));\r\n filteredCtxDocs.push(createDoc(doc));\r\n }\r\n setOrigDocs(beginningDocs);\r\n setFilteredDocs(filteredCtxDocs);\r\n }\r\n const createDoc = (doc) => {\r\n const newDoc = {};\r\n newDoc.documentId = {};\r\n newDoc.documentId.native = doc.documentId.native;\r\n newDoc.filename = doc.filename;\r\n return newDoc;\r\n }\r\n const fetchContext = async () => {\r\n try {\r\n setIsLoading(true);\r\n setIsError(false);\r\n setCtx(null);\r\n setOrigDocs([]);\r\n setFilteredDocs([]);\r\n\r\n const contextUrl = `${process.env.REACT_APP_SERVICE_URL}/context${window.location.search}`;\r\n const res = await fetch(contextUrl);\r\n if (!res.ok) {\r\n throw new Error(`${res.status} - ${res.statusText}`);\r\n }\r\n\r\n const ctxResponse = await res.json();\r\n setSelectionDocs(ctxResponse.docs);\r\n setCtx(ctxResponse);\r\n\r\n } catch (error) {\r\n console.error(error);\r\n setIsError(true);\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n if (projectId) {\r\n fetchContext();\r\n }\r\n\r\n if (navbarEl.current) {\r\n setContentPadding(navbarEl.current.getBoundingClientRect().height + 16);\r\n }\r\n }, [projectId]);\r\n\r\n if (!projectId || isError) {\r\n return (\r\n
\r\n
\r\n Something has gone wrong. Please provide the Filevine SAT team with\r\n the following URL: {window.location.toString()}\r\n
\r\n
\r\n );\r\n }\r\n\r\n if (sent) {\r\n return (\r\n
\r\n
\r\n Successfully added to queue. Delivery confirmation will appear in the{' '}\r\n \r\n project activity\r\n \r\n .\r\n
\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n setShowFilevineDocs(false)}\r\n onSelect={addFilevineAttachments}\r\n origDocs={origDocs}\r\n filteredDocs={filteredDocs}\r\n onDocUpdate={setFilteredDocs}\r\n />\r\n \r\n {isLoading || !ctx ? (\r\n \r\n \r\n \r\n ) : (\r\n
\r\n \r\n setEmailAddresses(null)}\r\n onSave={emails => {\r\n const handler =\r\n emailAddresses === 'to'\r\n ? setTo\r\n : emailAddresses === 'cc'\r\n ? setCc\r\n : setBcc;\r\n handler(emails);\r\n setEmailAddresses(null);\r\n }}\r\n />\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {toError ? (\r\n \r\n There are no recipients for this service email. Please add\r\n them in Filevine.\r\n \r\n ) : (\r\n
\r\n setTo(e.target.value)}\r\n readOnly\r\n required\r\n />\r\n
\r\n setEmailAddresses('to')}\r\n type=\"button\"\r\n className=\"btn btn-secondary\"\r\n >\r\n Configure\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n setCc(e.target.value)}\r\n readOnly\r\n />\r\n
\r\n setEmailAddresses('cc')}\r\n type=\"button\"\r\n className=\"btn btn-secondary\"\r\n >\r\n Configure\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n setBcc(e.target.value)}\r\n readOnly\r\n />\r\n
\r\n setEmailAddresses('bcc')}\r\n type=\"button\"\r\n className=\"btn btn-secondary\"\r\n >\r\n Configure\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {subjectError ? (\r\n \r\n The case number and/or file # is missing for this project.\r\n Please add them in Filevine.\r\n \r\n ) : (\r\n setSubject(e.target.value)}\r\n readOnly\r\n required\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n setBody(e.target.value)}\r\n required\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n
    \r\n {attachments.length === 0 ? (\r\n
  • \r\n No attachments\r\n
  • \r\n ) : (\r\n attachments.map((attachment, index) => (\r\n \r\n \r\n {attachment.name}\r\n {attachment.filevineDocumentId ? '' : ' *'}\r\n \r\n removeAttachment(index)}\r\n >\r\n Remove\r\n \r\n \r\n ))\r\n )}\r\n
\r\n
\r\n {!attachments.length && (\r\n
\r\n \r\n At least one attachment must be included!\r\n \r\n
\r\n )}\r\n {attachments.some(att => !att.filevineDocumentId) && (\r\n
\r\n \r\n * New uploads will also be associated with the project in\r\n Filevine.\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n {setShowFilevineDocs(true); setFilteredDocs(origDocs)}}\r\n disabled={!ctx.docs.length}\r\n >\r\n Select Filevine documents\r\n \r\n
\r\n
\r\n \r\n Upload new documents\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n"],"sourceRoot":""}