diff options
| author | Roy Ben Shabat <roy.mail.net@gmail.com> | 2025-09-03 00:06:46 +0300 |
|---|---|---|
| committer | Roy Ben Shabat <roy.mail.net@gmail.com> | 2025-09-03 00:06:46 +0300 |
| commit | e91dd4d23647947b2c14787605b55400a405cff3 (patch) | |
| tree | c1bb8fd60eb3923376573b63f8870e74f9828f5c /Software/Visual_Studio_22/Tango.Portal.Chat.Web/Views | |
| parent | 12184412615b52ae98cba57921a7586e6970c436 (diff) | |
| download | Tango-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.cshtml | 14 | ||||
| -rw-r--r-- | Software/Visual_Studio_22/Tango.Portal.Chat.Web/Views/Shared/_Layout.cshtml | 99 |
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&display=swap"> + <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Outfit:200,300,400,500,600,700,800,900&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 |
