feat: mocked up search form on site

This commit is contained in:
2018-08-30 20:34:32 -07:00
parent 699a03c7c0
commit 22a95c3fe8
3 changed files with 126 additions and 18 deletions

View File

@@ -0,0 +1,113 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.1/css/bulma.min.css">
<title>Strain Search</title>
</head>
<body>
<noscript><h1>You're going to want to enable JavaScript</h1></noscript>
<section class="section">
<div class="container">
<h1 class="title">
Strain Search
</h1>
<!-- Name Search Input -->
<div class="field">
<label class="label">Search By Name</label>
<div class="control">
<input class="input" type="text" placeholder="Text input">
</div>
</div>
<!-- Multi-Selects -->
<div class="columns">
<div class="column">
<div class="columns is-mobile">
<div class="column">
<div class="field">
<label class="label">Desired Effects</label>
<div class="select is-multiple">
<select multiple size="6">
<option value="Happy">Happy</option>
<option value="Euphoric">Euphoric</option>
<option value="Sleepy">Sleepy</option>
</select>
</div>
</div>
</div>
<div class="column">
<div class="field">
<label class="label">Medical Use</label>
<div class="select is-multiple">
<select multiple size="6">
<option value="Pain">Pain</option>
<option value="Depression">Depression</option>
<option value="Insomnia">Insomnia</option>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="column">
<div class="columns is-mobile">
<div class="column">
<div class="field">
<label class="label">Condition</label>
<div class="select is-multiple">
<select multiple size="6">
<option value="PTSD">PTSD</option>
</select>
</div>
</div>
</div>
<div class="column">
<div class="field">
<label class="label">Flavor</label>
<div class="select is-multiple">
<select multiple size="6">
<option value="Sweet">Sweet</option>
<option value="Woody">Woody</option>
</select>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Form Submits -->
<div class="field is-grouped">
<div class="control">
<button class="button is-link">Submit</button>
</div>
<div class="control">
<button class="button is-text">Clear</button>
</div>
</div>
</div>
</section>
<section class="section">
<div class="container" id="strain"></div>
</section>
<script src="https://unpkg.com/lunr@2.3.1/lunr.js"></script>
<script>
(function () {
const $ = s => Array.from(document.querySelectorAll(s));
const $$ = s => [document.querySelector(s)];
const attr = node => name => node && node.getAttribute(name);
var data = <%- data %>;
const target = document.querySelector('#strain').textContent = data.strains[20].name;
})();
</script>
</body>
</html>

View File

@@ -1,14 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Strain Search</title>
</head>
<body>
<noscript><h1>You're going to want to enable JavaScript</h1></noscript>
<h1>Hosted Stuff</h1>
<script src="https://unpkg.com/lunr@2.3.1/lunr.js"></script>
</body>
</html>

View File

@@ -2,15 +2,24 @@ import http from 'http';
import fs from 'fs'; import fs from 'fs';
import ejs from 'ejs'; import ejs from 'ejs';
const srcFile = 'src/index.html'; const srcFile = 'src/index.ejs';
const destFile = 'dist/index.html'; const destFile = 'dist/index.html';
function build() { function getData() {
const data = {}; return new Promise((resolve, reject) => {
fs.readFile('../scraper/db.json', (err, str) => {
if (err) reject(err);
else resolve(str);
});
});
}
async function build() {
const data = await getData();
const options = {}; const options = {};
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
ejs.renderFile(srcFile, data, options, (err, str) => { ejs.renderFile(srcFile, { data }, options, (err, str) => {
if (err) reject(err); if (err) reject(err);
else { else {
fs.writeFile(destFile, str, er => { fs.writeFile(destFile, str, er => {