arafatea / produk.html
darsoarafa's picture
Upload 2 files
6b6c410 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Produk</title>
<script src="//cdnjs.cloudflare.com/ajax/libs/annyang/2.6.1/annyang.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
"use strict";
var mode_pesanan = false;
var mode_tanya = false;
var bicara=annyang
// first we make sure annyang started succesfully
if (bicara) {
// define the functions our commands will run.
var hello = function(text) {
$("#prompt-input").slideDown("slow");
scrollTo("#prompt-input");
if (mode_tanya==false) {
$("#prompt-input").val(""+text)
mode_tanya = true
} else {
let prev= $("#prompt-input").val()
$("#prompt-input").val(prev+" "+text)
}
//console.log($("#prompt-input").val())
$("#AppTitle").val("Tanya")
};
var pesanan = function(text) {
$("#prompt-input").slideDown("slow");
scrollTo("#prompt-input");
if (mode_pesanan==false) {
$("#prompt-input").val(""+text)
mode_pesanan = true
} else {
let prev= $("#prompt-input").val()
$("#prompt-input").val(prev+" "+text)
}
//console.log($("#prompt-input").val())
$("#AppTitle").val("Pesanan")
};
var ulangi = function(text) {
$("#prompt-input").slideDown("slow");
scrollTo("#prompt-input");
$("#prompt-input").val("")
mode_pesanan = false
};
var tutup = function() {
$("#hello1").hide();
$("#section_hello").hide();
$("#section_warna").hide();
$("#section_rasa").hide();
$("#section_aroma").hide();
scrollTo("#section_hello");
};
var submitButton = function() {
$("#button-input").slideDown("slow");
scrollTo("#button-input");
$("#button-input").click()
console.log("LANJUT")
mode_pesanan = false
mode_tanya = false
$("#AppTitle").val("-")
};
var getStarted = function() {
window.location.href = 'https://arafaasia.com';
}
// define our commands.
// * The key is the phrase you want your users to say.
// * The value is the action to do.
// You can pass a function, a function name (as a string), or write your function as part of the commands object.
var commands = {
'halo *teman': hello,
'tanya *teman': hello,
'pesanan *teman': pesanan,
'lanjut': submitButton,
'masuk': submitButton,
'ulangi': ulangi,
'ulang': ulangi,
'ganti': ulangi,
'*teman': pesanan,
};
// OPTIONAL: activate debug mode for detailed logging in the console
bicara.debug();
bicara.addCommands(commands);
bicara.setLanguage('id-ID'); // en
// Start listening. You can call this here, or attach this call to an event, button, etc.
bicara.start();
} else {
$(document).ready(function() {
$('#unsupported').fadeIn('fast');
});
}
var scrollTo = function(identifier, speed=1000) {
//console.log(identifier, speed)
$(identifier).show();
$('html, body').animate({
// scrollTop: $(identifier).offset().top
}, speed || 1000);
}
</script>
<style>
.table {
display:table;
height:100%;
border:1px solid #000;
}
.row2 {
display:table-row;
height:100%;
}
.cell1, .cell2, .cell3 {
display:table-cell;
width:33%;
height:auto;
border:1px solid #CCC;
}
#section_warna {
background-color: #ADAD03;
color: #fff;
}
#section_rasa {
background-color: #03AD77;
color: #fff;
}
#section_aroma {
background-color: #6503AD;
color: #fff;
}
</style>
<style>
figure {
display: flex inline;
justify-content: space-between;
border: 1px #cccccc solid;
padding: 4px;
margin: auto;
}
figcaption {
background-color: #ADAD03;
color: white;
font-style: italic;
padding: 0px;
text-align: center;
font-size: 14px;
}
.container {
background: white;
margin: 0 auto;
padding: 5%;
width: 90%;
}
.img_ds1 {
width: 80%;
height: auto
horizontal-align: center;
}
.img_ds {
width: 100%;
height: 100%; // auto
vertical-align: middle;
}
.pics_in_a_row {
display: flex;
}
.img1 { flex: 1.5; }
.img2 { flex: 1.5; }
.img3 { flex: 1.5; }
.pics_in_a_row {
margin: 25px 0;
}
.pics_in_a_row > div:not(:last-child) {
margin-right: 2%;
}
</style>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
main {
max-width: 700px;
}
#conversation .user::before {
content: 'Anda: ';
font-weight: bold;
display: block;
}
#conversation .model::before {
content: 'AI: ';
font-weight: bold;
display: block;
}
#conversation .form::before {
content: 'Form: ';
font-weight: bold;
display: block;
}
#spinner {
opacity: 0;
transition: opacity 500ms ease-in;
width: 30px;
height: 30px;
border: 3px solid #222;
border-bottom-color: transparent;
border-radius: 50%;
animation: rotation 1s linear infinite;
}
@keyframes rotation {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
#spinner.active {
opacity: 1;
}
</style>
<style>
{box-sizing: border-box;}
/* Button used to open the contact form - fixed at the bottom of the page */
.open-button {
background-color: #555;
color: white;
padding: 10px 10px;
border: none;
cursor: pointer;
opacity: 0.8;
position: fixed;
bottom: 23px;
right: 30%;
width: 280px;
}
/* The popup form - hidden by default */
.form-popup {
display: none;
position: fixed;
bottom: 0;
right: 30%;
border: 3px solid #f1f1f1;
z-index: 9;
}
/* Add styles to the form container */
.form-container {
max-width: 300px;
padding: 10px;
background-color: white;
font-size: 12px;
}
/* Full-width input fields */
.form-container input[type=text], .form-container input[type=password] {
width: 100%;
padding: 2px;
margin: 1px 0 2px 0;
border: none;
background: #f1f1f1;
}
/* When the inputs get focus, do something */
.form-container input[type=text]:focus, .form-container input[type=password]:focus {
background-color: #ddd;
outline: none;
}
/* Set a style for the submit/login button */
.form-container .btn {
background-color: #04AA6D;
color: white;
padding: 10px 10px;
border: none;
cursor: pointer;
width: 100%;
margin-bottom:10px;
opacity: 0.8;
}
/* Add a red background color to the cancel button */
.form-container .cancel {
background-color: red;
}
.form-container .umum {
background-color: grey;
}
/* Add some hover effects to buttons */
.form-container .btn:hover, .open-button:hover {
opacity: 1;
}
</style>
<script>
function openForm() {
document.getElementById("myForm").style.display = "block";
}
function closeForm() {
document.getElementById("myForm").style.display = "none";
}
function closeAiForm(id) {
document.getElementById("myaiForm"+id).style.display = "none";
document.getElementById("myaiForm2"+id).style.display = "block";
}
function openAiForm(id) {
document.getElementById("myaiForm"+id).style.display = "block";
document.getElementById("myaiForm2"+id).style.display = "none";
}
function abcde(id) {
alert("abcde:"+id);
}
</script>
</head>
<body>
<main class="border rounded mx-auto my-5 p-4">
<h1 id="AppTitle">ARAFATEA</h1>
<p>Produk-produk All-Natural</p>
<p>"-", lanjutkan dengan "masuk" atau "lanjut"</p>
<div id="conversation" class="px-2"></div>
<div class="d-flex justify-content-center mb-3">
<div id="spinner"></div>
</div>
<form method="post">
<input id="prompt-input" name="prompt" class="form-control"/>
<div class="d-flex justify-content-end">
<button id="button-input" class="btn btn-primary mt-2">Send</button>
</div>
</form>
<div id="error" class="d-none text-danger">
Erro occurred, check the browser developer console for more information.
</div>
</main>
<!--
<button class="open-button" onclick="openForm()">Open Form</button>
<div class="form-popup" id="myForm">
<form action="" class="form-container">
<h3>Pesanan</h3>
<table>
<tr>
<td><label for="ds_salesOrderId"><b>SO#</b></label><input type="text" placeholder="SO#" name="ds_salesOrderId" required></td>
<td><label for="ds_salesDate"><b>Date</b></label><input type="text" placeholder="Date" name="ds_salesDate" required></td>
</tr>
</table>
<label for="ds_customerName"><b></b></label><input type="text" placeholder="Cust" name="ds_customerName" required>
<label for="ds_customerAddress"><b></b></label><input type="text" placeholder="Addr" name="ds_customerAddress" required>
<table>
<tr><th>Prod</th><th>Qty</th><th>Prc</th><th>Rp</th></tr>
<tr>
<td><input type="text" placeholder="-" name="ds_productName1"></td>
<td><input type="text" placeholder="0" name="ds_quantity1"></td>
<td><input type="text" placeholder="0" name="ds_unitPrice1"></td>
<td><input type="text" placeholder="0" name="ds_itemAmt1"></td>
</tr>
<tr>
<td><input type="text" placeholder="-" name="ds_productName2"></td>
<td><input type="text" placeholder="0" name="ds_quantity2"></td>
<td><input type="text" placeholder="0" name="ds_unitPrice2"></td>
<td><input type="text" placeholder="0" name="ds_itemAmt2"></td>
</tr>
<tr>
<td><input type="text" placeholder="-" name="ds_productName3"></td>
<td><input type="text" placeholder="0" name="ds_quantity3"></td>
<td><input type="text" placeholder="0" name="ds_unitPrice3"></td>
<td><input type="text" placeholder="0" name="ds_itemAmt3"></td>
</tr>
</table>
<table>
<tr>
<td><label for="ds_shippingCost"><b>Ongkir</b></label><input type="text" placeholder="Ongkir" name="ds_shippingCost" required></td>
<td><label for="ds_totalAmount"><b>Total</b></label><input type="text" placeholder="Total" name="ds_totalAmount" required></td>
</tr>
</table>
<button type="submit" class="btn">Submit</button>
<button type="button" class="btn cancel" onclick="closeForm()">Close</button>
</form>
</div>
-->
</body>
</html>
<script src="https://cdnjs.cloudflare.com/ajax/libs/typescript/5.6.3/typescript.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script type="module">
// to let me write TypeScript, without adding the burden of npm we do a dirty, non-production-ready hack
// and transpile the TypeScript code in the browser
// this is (arguably) A neat demo trick, but not suitable for production!
async function loadTs() {
const response = await fetch('/chat_app.ts');
const tsCode = await response.text();
const jsCode = window.ts.transpile(tsCode, { target: "es2015" });
let script = document.createElement('script');
script.type = 'module';
script.text = jsCode;
document.body.appendChild(script);
}
loadTs().catch((e) => {
console.error(e);
document.getElementById('error').classList.remove('d-none');
document.getElementById('spinner').classList.remove('active');
});
</script>