aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio_22/Tango.Portal.Chat.Web/Views
diff options
context:
space:
mode:
authorRoy Ben Shabat <roy.mail.net@gmail.com>2025-09-03 00:06:46 +0300
committerRoy Ben Shabat <roy.mail.net@gmail.com>2025-09-03 00:06:46 +0300
commite91dd4d23647947b2c14787605b55400a405cff3 (patch)
treec1bb8fd60eb3923376573b63f8870e74f9828f5c /Software/Visual_Studio_22/Tango.Portal.Chat.Web/Views
parent12184412615b52ae98cba57921a7586e6970c436 (diff)
downloadTango-e91dd4d23647947b2c14787605b55400a405cff3.tar.gz
Tango-e91dd4d23647947b2c14787605b55400a405cff3.zip
Twine AI.
Diffstat (limited to 'Software/Visual_Studio_22/Tango.Portal.Chat.Web/Views')
-rw-r--r--Software/Visual_Studio_22/Tango.Portal.Chat.Web/Views/Home/Index.cshtml14
-rw-r--r--Software/Visual_Studio_22/Tango.Portal.Chat.Web/Views/Shared/_Layout.cshtml99
2 files changed, 96 insertions, 17 deletions
diff --git a/Software/Visual_Studio_22/Tango.Portal.Chat.Web/Views/Home/Index.cshtml b/Software/Visual_Studio_22/Tango.Portal.Chat.Web/Views/Home/Index.cshtml
index 602e38678..16f89675f 100644
--- a/Software/Visual_Studio_22/Tango.Portal.Chat.Web/Views/Home/Index.cshtml
+++ b/Software/Visual_Studio_22/Tango.Portal.Chat.Web/Views/Home/Index.cshtml
@@ -1,14 +1,12 @@
-@{
- Layout = "~/Views/Shared/_Layout.cshtml";
-}
+@model Tango.Portal.Chat.Web.ViewModels.HomeViewVM
@{
- ViewData["Title"] = "Chat";
+ Layout = "~/Views/Shared/_Layout.cshtml";
}
<div class="container">
<div class="card">
- <h2 style="margin:0 0 .5rem 0;">ChatGPT ⇄ ADX (Ephemeral Chat)</h2>
+ <h1 class="display-1 fw-bold mb-4 heading">Twine AI</h1>
<div id="chat" class="chat" aria-live="polite" aria-relevant="additions"></div>
<div class="composer">
@@ -162,7 +160,7 @@
// Clear input
inputEl.value = '';
- inputEl.style.height = '44px';
+ inputEl.style.height = 'auto'
// Show a temporary assistant "thinking" bubble
const thinkingEl = renderThinking();
@@ -175,7 +173,7 @@
question: text,
threadId: threadId,
// include short history to help routing follow-ups
- history: messages.slice(-6).map(m => ({ role: m.role, content: m.content }))
+ history: messages.slice(-6).map(m => ({ role: m.role, content: m.content, usedKql: m.usedKql }))
})
});
@@ -225,7 +223,7 @@
// Optional greeting (visual only)
const hello = {
role:'assistant',
- content:'Hi! I’ll keep context during this session. The page will grow as we chat — no inner scrollbar.',
+ content:"Hi @Model.UserName I'm Twine AI assistant. Ask me anything!",
ts: Date.now()
};
messages.push(hello);
diff --git a/Software/Visual_Studio_22/Tango.Portal.Chat.Web/Views/Shared/_Layout.cshtml b/Software/Visual_Studio_22/Tango.Portal.Chat.Web/Views/Shared/_Layout.cshtml
index 77721b648..dd23ad446 100644
--- a/Software/Visual_Studio_22/Tango.Portal.Chat.Web/Views/Shared/_Layout.cshtml
+++ b/Software/Visual_Studio_22/Tango.Portal.Chat.Web/Views/Shared/_Layout.cshtml
@@ -1,14 +1,95 @@
+@model Tango.Portal.Chat.Web.ViewModels.HomeViewVM
+
<!DOCTYPE html>
-<html>
+<html data-bs-theme="dark" lang="en">
+
<head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>Chat ADX</title>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
+ <title>Twine Solutions</title>
+ <link rel="icon" type="image/png" sizes="16x16" href="/assets/img/favicon.png">
+ <link rel="stylesheet" href="/assets/bootstrap/css/bootstrap.min.css">
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:200,300,400,500,600,700,800&amp;display=swap">
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Outfit:200,300,400,500,600,700,800,900&amp;display=swap">
+ <link rel="stylesheet" href="/assets/css/bss-overrides.css">
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css">
+ <link rel="stylesheet" href="/assets/css/template.css">
<link rel="stylesheet" href="/site.css" />
+ <script>
+ document.addEventListener('DOMContentLoaded', function() {
+ $('a[href$=".html"]').each(function () {
+ var href = $(this).attr('href');
+
+ // Only modify relative paths (not external URLs)
+ if (!href.startsWith("http") && href.endsWith(".html")) {
+ var newHref = href.replace(/\.html$/, '');
+ $(this).attr('href', newHref);
+ }
+ });
+ });
+ </script>
</head>
-<body>
- <div class="container">
- @RenderBody()
- </div>
+
+<body class="bg-gradient-body">
+ <nav class="navbar navbar-expand-lg py-3" data-bs-theme="dark">
+ <div class="container">
+ <a class="navbar-brand d-flex align-items-center" href="#"><img src="/assets/img/logos/twine_logo_colored.png" width="283" height="79" id="img-logo"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-3"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
+ <div class="collapse navbar-collapse" id="navcol-3">
+ <ul class="navbar-nav mb-4 mb-lg-0 mx-auto">
+ <li class="nav-item"><a class="nav-link" href="https://twine-srv.com/index">Products</a></li>
+ <li class="nav-item"><a class="nav-link" href="https://twine-srv.com/firmware">Firmware Upgrades</a></li>
+ <li class="nav-item"><a class="nav-link" href="https://twine-srv.com/utilities">Utilities</a></li>
+ <li class="nav-item"><a class="nav-link" href="https://twine-srv.com/docs">Docs</a></li>
+ <li class="nav-item"><a class="nav-link active" href="https://ai.twine-srv.com">AI</a></li>
+ </ul>
+ <div>
+ <svg class="d-block ratio" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 20 20" fill="none" style="font-size: 53px;">
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2C14.4183 2 18 5.58172 18 10ZM12 7C12 8.10457 11.1046 9 10 9C8.89543 9 8 8.10457 8 7C8 5.89543 8.89543 5 10 5C11.1046 5 12 5.89543 12 7ZM9.99993 11C7.98239 11 6.24394 12.195 5.45374 13.9157C6.55403 15.192 8.18265 16 9.99998 16C11.8173 16 13.4459 15.1921 14.5462 13.9158C13.756 12.195 12.0175 11 9.99993 11Z" fill="currentColor"></path>
+ </svg><span class="text-center d-block">@Model.UserName</span>
+ </div>
+ </div>
+ </div>
+ </nav>
+ <section class="py-5">
+ <div class="container">
+ <div class="row">
+ <div class="col">
+ @RenderBody()
+ </div>
+ </div>
+ </div>
+ </section>
+ <footer class="mt-5 py-5" style="background: rgba(14,14,14,0);">
+ <div class="container d-flex flex-column justify-content-between align-items-center flex-lg-row">
+ <div class="text-center text-lg-start mb-5 mb-lg-0">
+ <a class="fs-4 fw-bold link-light" href="/"><span><a href="/"><strong><span style="color: RGBA(247, 248, 249, var(--bs-link-opacity, 1));">Twine Solutions</span></strong></a></span></a>
+ <p class="mt-1 mb-4" style="margin-right: 0px;">Twine Solutions offers the textile industry sustainable,<br>on-demand thread dyeing tech for yarn or twine with precision color matching technology</p><a class="btn btn-success border-0" role="button" href="https://twine-s.com">Visit Official Website</a>
+ </div>
+ <div class="text-center text-lg-end">
+ <div class="mb-lg-2">
+ <a class="link-light me-2" href="#">
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-facebook fs-5">
+ <path d="M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951"></path>
+ </svg>
+ </a><a class="link-light" href="#">
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-linkedin fs-5 me-2">
+ <path d="M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854V1.146zm4.943 12.248V6.169H2.542v7.225h2.401m-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248-.822 0-1.359.54-1.359 1.248 0 .694.521 1.248 1.327 1.248h.016zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016a5.54 5.54 0 0 1 .016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225h2.4"></path>
+ </svg>
+ </a><a class="link-light" href="#">
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-twitter-x fs-5">
+ <path d="M12.6.75h2.454l-5.36 6.142L16 15.25h-4.937l-3.867-5.07-4.425 5.07H.316l5.733-6.57L0 .75h5.063l3.495 4.633L12.601.75Zm-.86 13.028h1.36L4.323 2.145H2.865l8.875 11.633Z"></path>
+ </svg>
+ </a>
+ </div>
+ <ul class="nav d-flex justify-content-center mb-1"></ul>
+ <p class="text-muted mb-2">Copyright © Twine Solutions</p>
+ </div>
+ </div>
+ </footer>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.0/jquery.min.js"></script>
+ <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.6/dist/js/bootstrap.bundle.min.js"></script>
+ <script src="/assets/js/bs-init.js"></script>
+ <script src="/assets/js/product.js"></script>
</body>
-</html>
+
+</html> \ No newline at end of file