Lots of Changes
@@ -10,19 +10,6 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<nav class="navbar navbar-expand-md sticky-top py-3 navbar-dark" id="mainNav">
|
||||
<div class="container"><a class="navbar-brand d-flex align-items-center" href="/"><span class="bs-icon-sm bs-icon-circle bs-icon-primary shadow d-flex justify-content-center align-items-center me-2 bs-icon"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-bezier">
|
||||
<path fill-rule="evenodd" d="M0 10.5A1.5 1.5 0 0 1 1.5 9h1A1.5 1.5 0 0 1 4 10.5v1A1.5 1.5 0 0 1 2.5 13h-1A1.5 1.5 0 0 1 0 11.5zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm10.5.5A1.5 1.5 0 0 1 13.5 9h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zM6 4.5A1.5 1.5 0 0 1 7.5 3h1A1.5 1.5 0 0 1 10 4.5v1A1.5 1.5 0 0 1 8.5 7h-1A1.5 1.5 0 0 1 6 5.5zM7.5 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5z"></path>
|
||||
<path d="M6 4.5H1.866a1 1 0 1 0 0 1h2.668A6.517 6.517 0 0 0 1.814 9H2.5c.123 0 .244.015.358.043a5.517 5.517 0 0 1 3.185-3.185A1.503 1.503 0 0 1 6 5.5zm3.957 1.358A1.5 1.5 0 0 0 10 5.5v-1h4.134a1 1 0 1 1 0 1h-2.668a6.517 6.517 0 0 1 2.72 3.5H13.5c-.123 0-.243.015-.358.043a5.517 5.517 0 0 0-3.185-3.185z"></path>
|
||||
</svg></span><span>Food Decisive</span></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
|
||||
<div class="collapse navbar-collapse" id="navcol-1">
|
||||
<ul class="navbar-nav mx-auto">
|
||||
<li class="nav-item"><a class="nav-link active" href="index.html">Home</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="contacts.html">Contact Us</a></li>
|
||||
</ul><a class="btn btn-primary shadow" role="button" href="signup.html" style="background: rgb(55, 99, 244);">Sign up</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<header class="bg-dark">
|
||||
<div class="container pt-4 pt-xl-5">
|
||||
<div class="row pt-5">
|
||||
|
||||
@@ -21,7 +21,6 @@ const response = await ollama.chat({
|
||||
"Preheat oven to 350 degrees"
|
||||
]
|
||||
}
|
||||
|
||||
`
|
||||
}],
|
||||
});
|
||||
|
||||
@@ -4,7 +4,7 @@ export default class UsersAPI extends APIRoute {
|
||||
constructor() {
|
||||
super('/users');
|
||||
|
||||
this.addSubRoute('/create', 'post', createUser);
|
||||
this.addSubRoute('/create', 'post', this.createUser);
|
||||
}
|
||||
|
||||
async get(req, res) {
|
||||
|
||||
14
src/lib/components/Navbar.svelte
Normal file
@@ -0,0 +1,14 @@
|
||||
<nav class="navbar navbar-expand-md sticky-top py-3 navbar-dark" id="mainNav">
|
||||
<div class="container"><a class="navbar-brand d-flex align-items-center" href="/"><span class="bs-icon-sm bs-icon-circle bs-icon-primary shadow d-flex justify-content-center align-items-center me-2 bs-icon"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-bezier">
|
||||
<path fill-rule="evenodd" d="M0 10.5A1.5 1.5 0 0 1 1.5 9h1A1.5 1.5 0 0 1 4 10.5v1A1.5 1.5 0 0 1 2.5 13h-1A1.5 1.5 0 0 1 0 11.5zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm10.5.5A1.5 1.5 0 0 1 13.5 9h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zM6 4.5A1.5 1.5 0 0 1 7.5 3h1A1.5 1.5 0 0 1 10 4.5v1A1.5 1.5 0 0 1 8.5 7h-1A1.5 1.5 0 0 1 6 5.5zM7.5 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5z"></path>
|
||||
<path d="M6 4.5H1.866a1 1 0 1 0 0 1h2.668A6.517 6.517 0 0 0 1.814 9H2.5c.123 0 .244.015.358.043a5.517 5.517 0 0 1 3.185-3.185A1.503 1.503 0 0 1 6 5.5zm3.957 1.358A1.5 1.5 0 0 0 10 5.5v-1h4.134a1 1 0 1 1 0 1h-2.668a6.517 6.517 0 0 1 2.72 3.5H13.5c-.123 0-.243.015-.358.043a5.517 5.517 0 0 0-3.185-3.185z"></path>
|
||||
</svg></span><span>Food Decisive</span></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
|
||||
<div class="collapse navbar-collapse" id="navcol-1">
|
||||
<ul class="navbar-nav mx-auto">
|
||||
<li class="nav-item"><a class="nav-link active" href="/">Home</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/survey">Survey</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/contacts">Contact Us</a></li>
|
||||
</ul><a class="btn btn-primary shadow" role="button" href="signup.html" style="background: rgb(55, 99, 244);">Sign up</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
72
src/lib/components/form/QuestionSelect.svelte
Normal file
@@ -0,0 +1,72 @@
|
||||
<script>
|
||||
// @ts-nocheck
|
||||
import Survey from "./Survey.svelte";
|
||||
export let parentDiv;
|
||||
|
||||
console.log(parentDiv);
|
||||
|
||||
function open5Survey(questions) {
|
||||
console.log(questions);
|
||||
|
||||
parentDiv.innerHTML = "";
|
||||
new Survey({
|
||||
target: parentDiv,
|
||||
props: {
|
||||
numQuestion: 5
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function open10Survey(questions) {
|
||||
console.log(questions);
|
||||
|
||||
parentDiv.innerHTML = "";
|
||||
new Survey({
|
||||
target: parentDiv,
|
||||
props: {
|
||||
numQuestion: 10
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function open15Survey(questions) {
|
||||
console.log(questions);
|
||||
|
||||
parentDiv.innerHTML = "";
|
||||
new Survey({
|
||||
target: parentDiv,
|
||||
props: {
|
||||
numQuestion: 15
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-body mx-auto">
|
||||
<button class="btn btn-primary" href="#form" on:click={open5Survey} type="button" style="padding: 30px;border-radius: 15px;font-size: 24px;">5 Questions</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-body mx-auto">
|
||||
<button class="btn btn-primary" href="#form" on:click={open10Survey} type="button" style="padding: 30px;border-radius: 15px;font-size: 24px;">10 Questions</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-body mx-auto">
|
||||
<button class="btn btn-primary" href="#form" on:click={open15Survey} type="button" style="padding: 30px;border-radius: 15px;font-size: 24px;">15 Questions</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<br>
|
||||
<p class="card-text" style="--bs-body-font-size: 1rem;font-size: 24px;"><strong><span style="background-color: transparent;">The more questions you answer, the more personalized your recommendation will be!</span></strong></p>
|
||||
102
src/lib/components/form/Survey.svelte
Normal file
@@ -0,0 +1,102 @@
|
||||
<script>
|
||||
// @ts-nocheck
|
||||
import { onMount } from 'svelte';
|
||||
import { writable } from 'svelte/store';
|
||||
|
||||
let formData = writable({
|
||||
answers: [],
|
||||
currentQuestion: 1
|
||||
});
|
||||
|
||||
export let numQuestion = 0;
|
||||
let inputEle;
|
||||
|
||||
const questions = [
|
||||
"Is this for breakfast, lunch, dinner, snack or dessert?",
|
||||
"What kind of cuisine are you in the mood for? (e.g., Italian, Mexican, Asian)",
|
||||
"Want something healthy or more of a treat?",
|
||||
"Are there any specific ingredients you love?",
|
||||
"Any specific ingredients that you dislike?",
|
||||
"Are you looking for something quick and easy, or are you willing to spend more time cooking?",
|
||||
"What’s your go-to protein source? (e.g., chicken, tofu, fish, no protein)",
|
||||
"How spicy do you want to have the food?",
|
||||
"What drink do you want to pair up with your meal?",
|
||||
"Is this meal for a special occasion, or just a regular day?",
|
||||
"What textures are you looking to have in your meal?",
|
||||
"What tools do you have at your culinary disposal? (Stovetop, oven, microwave, blender?)",
|
||||
"Do you prefer recipes that yield leftovers (great for meal prep) or single-serving portions?",
|
||||
"Are you looking for budget-friendly options, or are you willing to splurge a bit for a special meal?",
|
||||
"What’s the calorie range you want your meal to stay in? (You can specify yes or no)"
|
||||
];
|
||||
|
||||
console.log(numQuestion);
|
||||
|
||||
function nextQuestion() {
|
||||
if ($formData.currentQuestion === numQuestion) return;
|
||||
|
||||
$formData.currentQuestion++;
|
||||
$formData.answers.push(inputEle.value);
|
||||
}
|
||||
|
||||
function submitForm() {
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<div class="container py-5">
|
||||
<div class="row mb-5">
|
||||
<div class="col-md-8 col-xl-6 text-center mx-auto">
|
||||
<h2 class="fw-bold">Question {$formData.currentQuestion} </h2>
|
||||
<p class="text-muted">Question {$formData.currentQuestion} of {numQuestion}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card" style="margin-bottom: 50px;">
|
||||
<div class="card-body mx-auto">
|
||||
<p class="card-text" style="font-size: 40px;">
|
||||
<strong>
|
||||
<span style="background-color: transparent;">{questions[$formData.currentQuestion]}</span>
|
||||
</strong>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<input type="text" bind:this={inputEle} >
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
{#if $formData.currentQuestion === numQuestion}
|
||||
<button class="btn btn-primary" type="button" on:click={submitForm} >Submit</button>
|
||||
{:else}
|
||||
<button class="btn btn-primary" type="button" on:click={nextQuestion} >Next</button>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
|
||||
button {
|
||||
border-radius: 7.5px;
|
||||
font-size: 24px;
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
margin: auto !important;
|
||||
padding: auto;
|
||||
}
|
||||
|
||||
input {
|
||||
border-radius: 7.5px;
|
||||
font-size: 24px;
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
</style>
|
||||
24
src/routes/+layout.js
Normal file
@@ -0,0 +1,24 @@
|
||||
import {createClient} from "@propelauth/javascript";
|
||||
|
||||
|
||||
export async function load() {
|
||||
|
||||
/*
|
||||
const authClient = createClient({
|
||||
authUrl: "https://auth.fooddecisive.co/",
|
||||
enableBackgroundTokenRefresh: true,
|
||||
});
|
||||
|
||||
const authInfo = await authClient.getAuthenticationInfoOrNull();
|
||||
console.log("authInfo", authInfo)
|
||||
if (authInfo) {
|
||||
console.log("User is logged in as", authInfo.user.email)
|
||||
} else {
|
||||
console.log("User is not logged in")
|
||||
}
|
||||
|
||||
return {
|
||||
authInfo
|
||||
};
|
||||
*/
|
||||
}
|
||||
18
src/routes/+layout.svelte
Normal file
@@ -0,0 +1,18 @@
|
||||
<script>
|
||||
import Navbar from "$lib/components/Navbar.svelte";
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
|
||||
<title>Food Decisive</title>
|
||||
<link rel="stylesheet" href="/bootstrap/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800&display=swap">
|
||||
</svelte:head>
|
||||
|
||||
<main class="bg-dark">
|
||||
<Navbar />
|
||||
<slot></slot>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="/js/bold-and-dark.js"></script>
|
||||
</main>
|
||||
@@ -1,2 +1,102 @@
|
||||
<h1>Welcome to SvelteKit</h1>
|
||||
<p>Visit <a href="https://kit.svelte.dev">kit.svelte.dev</a> to read the documentation</p>
|
||||
<script>
|
||||
import { page } from '$app/stores';
|
||||
|
||||
console.log($page.data);
|
||||
</script>
|
||||
|
||||
|
||||
<header class="bg-dark">
|
||||
<div class="container pt-4 pt-xl-5">
|
||||
<div class="row pt-5">
|
||||
<div class="col-md-8 col-xl-6 text-center text-md-start mx-auto">
|
||||
<div class="text-center">
|
||||
<p class="fw-bold text-success mb-2">Can't choose what to eat?</p>
|
||||
<h1 class="fw-bold">We've got you covered!</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-lg-10 mx-auto">
|
||||
<div class="position-relative" style="display: flex;flex-wrap: wrap;justify-content: flex-end;">
|
||||
<p style="font-size: 26px;text-align: center;margin-right: -90px;">Here's How it works:</p>
|
||||
<div style="position: relative;flex: 0 0 45%;transform: translate3d(-5%, 20%, 0);"></div>
|
||||
<div style="position: relative;flex: 0 0 60%;transform: translate3d(0, 0%, 0);"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<section>
|
||||
<div class="container bg-dark py-5">
|
||||
<div class="py-5 p-lg-5">
|
||||
<div class="row row-cols-1 row-cols-md-2 mx-auto" style="max-width: 900px;">
|
||||
<div class="col-lg-6 mb-5">
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-body px-4 py-5 px-md-5" style="height: 235.188px;">
|
||||
<div class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon" style="top: 1rem;right: 1rem;position: absolute;"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-person-circle text-success">
|
||||
<path d="M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0"></path>
|
||||
<path fill-rule="evenodd" d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8m8-7a7 7 0 0 0-5.468 11.37C3.242 11.226 4.805 10 8 10s4.757 1.225 5.468 2.37A7 7 0 0 0 8 1"></path>
|
||||
</svg></div>
|
||||
<h5 class="fw-bold card-title">Create an Account</h5>
|
||||
<p class="text-muted card-text mb-4">Create an Account, so we can save your recipes.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col mb-5">
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-body px-4 py-5 px-md-5" style="height: 235.188px;">
|
||||
<div class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon" style="top: 1rem;right: 1rem;position: absolute;"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-check-circle text-success">
|
||||
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"></path>
|
||||
<path d="M10.97 4.97a.235.235 0 0 0-.02.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05"></path>
|
||||
</svg></div>
|
||||
<h5 class="fw-bold card-title">Fill out the Form</h5>
|
||||
<p class="text-muted card-text mb-4">Fill out the form and answer the questions. Make sure you provide any dietary restrictions.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col mb-4">
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-body px-4 py-5 px-md-5" style="margin-bottom: 32px;">
|
||||
<div class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon" style="top: 1rem;right: 1rem;position: absolute;"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-pin-angle text-success">
|
||||
<path d="M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z"></path>
|
||||
</svg></div>
|
||||
<h5 class="fw-bold card-title">View Your Generated Recipe</h5>
|
||||
<p class="text-muted card-text mb-4">After filling out the form, we will generate a recipe!</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col mb-4">
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-body px-4 py-5 px-md-5" style="height: 235.188px;">
|
||||
<div class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon" style="top: 1rem;right: 1rem;position: absolute;"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-chat-quote text-success">
|
||||
<path d="M2.678 11.894a1 1 0 0 1 .287.801 10.97 10.97 0 0 1-.398 2c1.395-.323 2.247-.697 2.634-.893a1 1 0 0 1 .71-.074A8.06 8.06 0 0 0 8 14c3.996 0 7-2.807 7-6 0-3.192-3.004-6-7-6S1 4.808 1 8c0 1.468.617 2.83 1.678 3.894m-.493 3.905a21.682 21.682 0 0 1-.713.129c-.2.032-.352-.176-.273-.362a9.68 9.68 0 0 0 .244-.637l.003-.01c.248-.72.45-1.548.524-2.319C.743 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.52.263-1.639.742-3.468 1.105z"></path>
|
||||
<path d="M7.066 6.76A1.665 1.665 0 0 0 4 7.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 0 0 .6.58c1.486-1.54 1.293-3.214.682-4.112zm4 0A1.665 1.665 0 0 0 8 7.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 0 0 .6.58c1.486-1.54 1.293-3.214.682-4.112z"></path>
|
||||
</svg></div>
|
||||
<h5 class="fw-bold card-title"><strong>Rate The Recipe Generated</strong></h5>
|
||||
<p class="text-muted card-text mb-4">Rate the Generated Recipe to provide feedback for better generated recipes in the future. </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="py-5 mt-5">
|
||||
<div class="container py-5" style="padding: 48px 12px;padding-top: 48px;">
|
||||
<div class="row mb-5" style="height: 200px;">
|
||||
<div class="col-md-8 col-xl-6 text-center mx-auto" style="height: 200px;">
|
||||
<h2 class="fw-bold" style="font-size: 60px;"><a href="/survey"><strong>Get Started</strong></a></h2>
|
||||
<p class="text-muted" style="font-size: 32px;color: var(--bs-emphasis-color);">Decide Your Next Bite!</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="py-5">
|
||||
<section class="py-5">
|
||||
<div class="container text-center py-5">
|
||||
<p class="mb-4" style="font-size: 1.6rem;">Submitted for VTHacks-12</p>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
43
src/routes/contacts/+page.svelte
Normal file
@@ -0,0 +1,43 @@
|
||||
<section class="py-5">
|
||||
<div class="container py-5">
|
||||
<div class="row mb-5">
|
||||
<div class="col-md-8 col-xl-6 text-center mx-auto">
|
||||
<p class="fw-bold text-success mb-2" style="font-size: 40px;">Contact</p>
|
||||
<h2 class="fw-bold">How you can reach us</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row d-flex justify-content-center">
|
||||
<div class="col-md-4 col-xl-4 d-flex justify-content-center justify-content-xl-start">
|
||||
<div class="d-flex flex-wrap flex-md-column justify-content-md-start align-items-md-start h-100 mx-auto">
|
||||
<div class="d-flex align-items-center p-3">
|
||||
<div class="bs-icon-md bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-md"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-telephone">
|
||||
<path d="M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z"></path>
|
||||
</svg></div>
|
||||
<div class="px-2">
|
||||
<h6 class="fw-bold mb-0">Phone Number</h6>
|
||||
<p class="text-muted mb-0">+1 3019006147</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex align-items-center p-3">
|
||||
<div class="bs-icon-md bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-md"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-envelope">
|
||||
<path d="M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1zm13 2.383-4.708 2.825L15 11.105zm-.034 6.876-5.64-3.471L8 9.583l-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741M1 11.105l4.708-2.897L1 5.383z"></path>
|
||||
</svg></div>
|
||||
<div class="px-2">
|
||||
<h6 class="fw-bold mb-0">Email</h6>
|
||||
<p class="text-muted mb-0">ktumma06@gmail.com</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex align-items-center p-3">
|
||||
<div class="bs-icon-md bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-md"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-pin">
|
||||
<path d="M4.146.146A.5.5 0 0 1 4.5 0h7a.5.5 0 0 1 .5.5c0 .68-.342 1.174-.646 1.479-.126.125-.25.224-.354.298v4.431l.078.048c.203.127.476.314.751.555C12.36 7.775 13 8.527 13 9.5a.5.5 0 0 1-.5.5h-4v4.5c0 .276-.224 1.5-.5 1.5s-.5-1.224-.5-1.5V10h-4a.5.5 0 0 1-.5-.5c0-.973.64-1.725 1.17-2.189A5.921 5.921 0 0 1 5 6.708V2.277a2.77 2.77 0 0 1-.354-.298C4.342 1.674 4 1.179 4 .5a.5.5 0 0 1 .146-.354zm1.58 1.408-.002-.001.002.001m-.002-.001.002.001A.5.5 0 0 1 6 2v5a.5.5 0 0 1-.276.447h-.002l-.012.007-.054.03a4.922 4.922 0 0 0-.827.58c-.318.278-.585.596-.725.936h7.792c-.14-.34-.407-.658-.725-.936a4.915 4.915 0 0 0-.881-.61l-.012-.006h-.002A.5.5 0 0 1 10 7V2a.5.5 0 0 1 .295-.458 1.775 1.775 0 0 0 .351-.271c.08-.08.155-.17.214-.271H5.14c.06.1.133.191.214.271a1.78 1.78 0 0 0 .37.282"></path>
|
||||
</svg></div>
|
||||
<div class="px-2">
|
||||
<h6 class="fw-bold mb-0">Location</h6>
|
||||
<p class="text-muted mb-0"><strong>727 Prices Fork Road</strong></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
71
src/routes/food/+page.svelte
Normal file
@@ -0,0 +1,71 @@
|
||||
<script>
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<section class="py-5">
|
||||
<div class="container py-5">
|
||||
<div class="card">
|
||||
<div class="card-body mx-auto">
|
||||
<h4 class="card-title" style="font-size: 50px;">You Want</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card" style="margin-bottom: 90px;margin-top: 20px;">
|
||||
<div class="card-body mx-auto">
|
||||
<p class="card-text mx-auto" style="font-size: 60px;font-weight: bold;text-align: center;">Butter Chicken</p>
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<p class="card-text">Butter Chicken is a delicious Indian Meal. It was made by the British after they colonized the country.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-xxl-6" style="margin-bottom: 20px;">
|
||||
<div class="card" style="margin-bottom: 20px;">
|
||||
<div class="card-body" style="margin-bottom: 20px;">
|
||||
<h4 class="card-title mx-auto" style="text-align: center;margin-bottom: 20px;">Nutrition Facts</h4>
|
||||
<p class="card-text" style="margin-bottom: 20px;">Nullam id dolor id nibh ultricies vehicula ut id elit. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col" style="margin-bottom: 20px;">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title" style="text-align: center;">Ingredients</h4>
|
||||
<p class="card-text">Nullam id dolor id nibh ultricies vehicula ut id elit. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title" style="text-align: center;">Title</h4>
|
||||
<p class="card-text">Nullam id dolor id nibh ultricies vehicula ut id elit. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-body mx-auto"><button class="btn btn-primary" type="button">Show Recipe</button></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title" style="text-align: center;">Rate Your Generated Recipe!</h4>
|
||||
<p class="card-text">Nullam id dolor id nibh ultricies vehicula ut id elit. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
30
src/routes/survey/+page.svelte
Normal file
@@ -0,0 +1,30 @@
|
||||
<script>
|
||||
// @ts-nocheck
|
||||
import { onMount } from "svelte";
|
||||
import QuestionSelect from "$lib/components/form/QuestionSelect.svelte";
|
||||
|
||||
let parentDiv;
|
||||
|
||||
onMount(() => {
|
||||
let r = new QuestionSelect({
|
||||
target: parentDiv,
|
||||
props: {
|
||||
parentDiv
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<section class="py-5">
|
||||
<div class="container py-5">
|
||||
<div class="row mb-5" style="padding-bottom: 20px;">
|
||||
<div class="col-md-8 col-xl-6 text-center mx-auto">
|
||||
<h2 class="fw-bold"><strong><span style="background-color: transparent;">How many questions do you want to answer?</span></strong></h2>
|
||||
</div>
|
||||
</div>
|
||||
<div id="form" class="card" style="padding-top: 20px;padding-bottom: 100px;">
|
||||
<div bind:this={parentDiv} class="card-body mx-auto"></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |