@@ -26,7 +26,7 @@ import { gql, useQuery } from "@apollo/client";
2626import { MuiPickersUtilsProvider , DatePicker , TimePicker } from "@material-ui/pickers" ;
2727import TinyEditor from "../../updates/TinyEditor" ;
2828
29- const availableRooms = gql `
29+ const AVAILABLE_ROOMS_QUERY = gql `
3030 query ($start: DateTime!, $end: DateTime!) {
3131 availableRooms(start: $start, end: $end) {
3232 id
@@ -102,10 +102,10 @@ const MeetingForm = ({
102102 //only show error dialog box if mutation submission is completed & error message is a new one
103103 const err_dialog_open = ! isSubmitting && errorMessage !== "" && errorMessage !== lastErr ;
104104
105- const noRoom = { name : "" , id : 0 } ;
106- const [ room , setRoom ] = React . useState ( noRoom ) ;
105+ const virtual = { name : "Virtual " , id : 0 } ;
106+ const [ room , setRoom ] = React . useState ( virtual ) ;
107107
108- const { data, loading, error } = useQuery ( availableRooms , {
108+ const { data, loading, error } = useQuery ( AVAILABLE_ROOMS_QUERY , {
109109 variables : {
110110 ...time
111111 }
@@ -121,8 +121,8 @@ const MeetingForm = ({
121121 setTime ( { start, end } ) ;
122122 } ;
123123
124- let rooms = loading || error ? [ ] : data ?. availableRooms ;
125- const roomAvailable = ! loading && ! error && rooms . find ( roomNumber => roomNumber . id === room . id ) !== undefined ;
124+ let availableRooms = [ virtual ] . concat ( data ?. availableRooms ) ;
125+ const roomAvailable = ! loading && ! error && availableRooms . find ( avRoom => avRoom . id === room . id ) !== undefined ;
126126 const valid = ! err_dialog_open && roomAvailable ;
127127
128128 return (
@@ -207,7 +207,7 @@ const MeetingForm = ({
207207 < Grid item xs = { 12 } sm = { 4 } md = { 4 } lg = { 4 } xl = { 4 } >
208208 < Autocomplete
209209 disableClearable
210- options = { rooms }
210+ options = { availableRooms }
211211 getOptionLabel = { option => option . name }
212212 getOptionSelected = { option => option . id === room . id }
213213 disabled = { loading }
0 commit comments