diff options
-rw-r--r-- | server/database/people.go | 9 | ||||
-rw-r--r-- | server/filled.db | bin | 0 -> 57344 bytes | |||
-rw-r--r-- | src/components/Display/ClientInfoDisplay.js | 16 | ||||
-rw-r--r-- | src/components/Form/People/SelectClientForm.js | 18 |
4 files changed, 28 insertions, 15 deletions
diff --git a/server/database/people.go b/server/database/people.go index ac2affa..5fc3bf5 100644 --- a/server/database/people.go +++ b/server/database/people.go @@ -14,6 +14,7 @@ import ( _ "github.com/mattn/go-sqlite3" ) type Person struct { + ID string Name string Address string Phone string @@ -23,16 +24,16 @@ type Person struct { func GetAllPeople() []Person { var allPeople []Person rows, _ := myDatabase.Query( - `SELECT Name, Address, Phone, Email FROM People`, + `SELECT ID, Name, Address, Phone, Email FROM People`, ) var ( - name, address, phone, email string + id, name, address, phone, email string ) for rows.Next() { - rows.Scan(&name, &address, &phone, &email) - allPeople = append(allPeople, Person{name, address, phone, email}) + rows.Scan(&id, &name, &address, &phone, &email) + allPeople = append(allPeople, Person{id, name, address, phone, email}) } return allPeople diff --git a/server/filled.db b/server/filled.db Binary files differnew file mode 100644 index 0000000..d9258ed --- /dev/null +++ b/server/filled.db diff --git a/src/components/Display/ClientInfoDisplay.js b/src/components/Display/ClientInfoDisplay.js index 34f001b..7eb46d2 100644 --- a/src/components/Display/ClientInfoDisplay.js +++ b/src/components/Display/ClientInfoDisplay.js @@ -10,10 +10,20 @@ import React from "react"; import "./Display.scss"; const ClientInfoDisplay = (props) => { + //console.log(props.client) return ( - <div> - Client Name: {props.client.Name} - </div> + <table> + <tbody> + <tr> + <td>Client Name:</td> + <td>{props.client.Name}</td> + </tr> + <tr> + <td>Client Address:</td> + <td>{props.client.Address}</td> + </tr> + </tbody> + </table> ); } diff --git a/src/components/Form/People/SelectClientForm.js b/src/components/Form/People/SelectClientForm.js index 4c1e056..49aa4ed 100644 --- a/src/components/Form/People/SelectClientForm.js +++ b/src/components/Form/People/SelectClientForm.js @@ -12,33 +12,35 @@ import "./../Form.scss"; import ClientInfoDisplay from "../../Display/ClientInfoDisplay"; const SelectClientForm = (props) => { - const [clientName, setClientName] = useState(); const [selectedClient, setSelectedClient] = useState({}); const enterValuePrompt = "start typing here"; const registerPrompt = "add new"; + // TODO: make it use email if no address found, shorten the name too + // in short, make formatter flexible const formatter = (i) => { return `${i.Name} - ${i.Address.slice(0, 20).concat(i.Address.length < 20 ? "" : "")}`; } + // TODO: if no client found at least clear the display + // do this in other components too // check the client name value and do stuff accordingly - const setClientInfo = (clientName) => - (props.savedPeople === null || clientName === registerPrompt) + const setClientInfo = (e) => + (props.savedPeople === null || e === registerPrompt) ? alert("coming soon") // toggle registerPersonPrompt visibility - : props.savedPeople.some((i) => - clientName === formatter(i) && setSelectedClient(i)) - + : props.savedPeople.some((i) => + e === formatter(i) && setSelectedClient(i)) + return ( <div className={"DocumentInfoChild"}> <label> Client Name: <select className={"selectInputBox"} - value={clientName} + value={selectedClient.Name} onChange={ (event) => { - setClientName(event.target.value); setClientInfo(event.target.value); } }> |