render()

in frontend/src/App.js [160:265]


  render() {
    const { classes } = this.props;

    return (
      <div className={classes.root}>

        <Grid container justify='center' alignItems="stretch" spacing={8} xs={12}>
          <Grid item xs={10}>
            <img src={require('./images/header.jpg')} alt="Header" style={{height:"100%", width: "100%"}}/>
          </Grid>
          <Grid item xs={10}>
            <Typography variant="h2" style={{textAlign: "center"}}>
              AWS Visual Image Search
            </Typography>
          </Grid>
          <Grid item xs={10}>
            <Paper className={classes.paper}>
              Step 1: Select the number of similar images (K neighbors):
              <p/>
              <FormControl className={classes.formControl}>
                <Select
                  labelId="demo-simple-select-label"
                  id="demo-simple-select"
                  value={this.state.k}
                  onChange={this.handleKChange}
                >
                  <MenuItem value={3}>Three</MenuItem>
                  <MenuItem value={4}>Four</MenuItem>
                  <MenuItem value={5}>Five</MenuItem>
                  <MenuItem value={6}>Six</MenuItem>
                </Select>
              </FormControl>
            </Paper>
          </Grid>

          <Grid item xs={10}>
            <Paper className={classes.paper}>
              Step 2:<p/>
              Provide an image to search against. Choose an image of a dress, like the one here from the Zolando dataset: <p/>
              <Link href='https://i4.ztat.net/large/VE/12/1C/14/8K/12/VE121C148-K12@10.jpg' target="_blank" rel="noreferrer">https://i4.ztat.net/large/VE/12/1C/14/8K/12/VE121C148-K12@10.jpg</Link>
            </Paper>
          </Grid>

          <Grid item xs={5}>
            <Paper className={classes.paper}>
              Upload an image from your device:
              <ImageUploader style={{borderStyle:"hidden"}}
                withIcon={true}
                buttonStyles={{background: 'linear-gradient(45deg, #FE6B8B 30%, #FF8E53 90%)', color:"black", fontweight:"bold"}}
                buttonText="CHOOSE IMAGE"
                // className={classes.paper}
                onChange={this.onDrop}
                imgExtension={[".jpg", ".jpeg", ".gif", ".png", ".gif"]}
                maxFileSize={5242880}
                withPreview={true}
                singleImage={true}
              />
            </Paper>
          </Grid>
          <Grid item xs={5} >
            <Paper className={classes.paper} >
              or enter a publically accessable web URL of an image:
              <p/>
              <form noValidate autoComplete="off" onSubmit={this.handleURLSubmit}>
                <Input
                  onChange={this.handleFormChange}
                  value={this.state.url}
                  id="standard-basic"
                  margin="dense"
                  fullWidth
                />
                <Button
                type='submit'
                style={{background: 'linear-gradient(45deg, #FE6B8B 30%, #FF8E53 90%)'}}
                >
                  Submit
                </Button>
              </form>        
            </Paper>
          </Grid>
          <Grid item xs={10}>
              <Paper className={classes.paper}>
                Step 3: Results!<p/>
                <BorderLinearProgress
                    variant="determinate"
                    color="secondary"
                    value={this.state.completed}
                />
                <p/>
                <GridList cellHeight={200} className={classes.gridList} cols={3}>
                  {this.state.pictures.map((tile) => (
                    <GridListTile key={tile.img} cols={tile.cols || 1}>
                      <img src={tile.img} alt="Similar photos..." style={{height:"100%", width: "auto"}} />
                    </GridListTile>
                  ))}
                </GridList>
              </Paper>
            </Grid>
        </Grid>

        <Grid container justify="center">
          
        </Grid>

      </div>
  );}