feat: mocked up search form on site
This commit is contained in:
113
packages/search-site/src/index.ejs
Normal file
113
packages/search-site/src/index.ejs
Normal 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>
|
||||||
@@ -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>
|
|
||||||
@@ -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 => {
|
||||||
|
|||||||
Reference in New Issue
Block a user