Removed navbar
This commit is contained in:
parent
af287b8f49
commit
404d61e95e
14
Chat.go
14
Chat.go
@ -325,10 +325,10 @@ func LoadUsageKPIHandler(c *fiber.Ctx) error {
|
|||||||
return c.SendString(out)
|
return c.SendString(out)
|
||||||
}
|
}
|
||||||
|
|
||||||
func LoadSettingsHandler(c *fiber.Ctx) error {
|
func LoadKeysHandler(c *fiber.Ctx) error {
|
||||||
openaiExists, anthropicExists, mistralExists := getExistingKeys()
|
openaiExists, anthropicExists, mistralExists := getExistingKeys()
|
||||||
|
|
||||||
out, err := pongo2.Must(pongo2.FromFile("views/partials/popover-settings.html")).Execute(pongo2.Context{"IsLogin": checkIfLogin(), "OpenaiExists": openaiExists, "AnthropicExists": anthropicExists, "MistralExists": mistralExists})
|
out, err := pongo2.Must(pongo2.FromFile("views/partials/popover-keys.html")).Execute(pongo2.Context{"IsLogin": checkIfLogin(), "OpenaiExists": openaiExists, "AnthropicExists": anthropicExists, "MistralExists": mistralExists})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
|
c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
|
||||||
"error": "Error rendering template",
|
"error": "Error rendering template",
|
||||||
@ -385,3 +385,13 @@ func LoadModelSelectionHandler(c *fiber.Ctx) error {
|
|||||||
}
|
}
|
||||||
return c.SendString(out)
|
return c.SendString(out)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func LoadSettingsHandler(c *fiber.Ctx) error {
|
||||||
|
out, err := pongo2.Must(pongo2.FromFile("views/partials/popover-settings.html")).Execute(pongo2.Context{"IsLogin": checkIfLogin()})
|
||||||
|
if err != nil {
|
||||||
|
c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
|
||||||
|
"error": "Error rendering template",
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return c.SendString(out)
|
||||||
|
}
|
||||||
|
1
main.go
1
main.go
@ -49,6 +49,7 @@ func main() {
|
|||||||
// Popovers
|
// Popovers
|
||||||
app.Get("/loadModelSelection", LoadModelSelectionHandler)
|
app.Get("/loadModelSelection", LoadModelSelectionHandler)
|
||||||
app.Get("/loadUsageKPI", LoadUsageKPIHandler)
|
app.Get("/loadUsageKPI", LoadUsageKPIHandler)
|
||||||
|
app.Get("/loadKeys", LoadKeysHandler)
|
||||||
app.Get("/loadSettings", LoadSettingsHandler)
|
app.Get("/loadSettings", LoadSettingsHandler)
|
||||||
|
|
||||||
// Authentication
|
// Authentication
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
placeholder="Type your message here..." name="message"></textarea>
|
placeholder="Type your message here..." name="message"></textarea>
|
||||||
<div class="button-group">
|
<div class="button-group">
|
||||||
<hx hx-get="/loadSettings" hx-trigger="load" hx-swap="outerHTML" hx-target="this"></hx>
|
<hx hx-get="/loadSettings" hx-trigger="load" hx-swap="outerHTML" hx-target="this"></hx>
|
||||||
|
<hx hx-get="/loadKeys" hx-trigger="load" hx-swap="outerHTML" hx-target="this"></hx>
|
||||||
<hx hx-get="/loadUsageKPI" hx-trigger="load" hx-swap="outerHTML" hx-target="this"></hx>
|
<hx hx-get="/loadUsageKPI" hx-trigger="load" hx-swap="outerHTML" hx-target="this"></hx>
|
||||||
<hx hx-get="/loadModelSelection" hx-trigger="load" hx-swap="outerHTML" hx-target="this"></hx>
|
<hx hx-get="/loadModelSelection" hx-trigger="load" hx-swap="outerHTML" hx-target="this"></hx>
|
||||||
<button {% if not IsLogin or not HaveKey %}disabled{% endif %} type="submit"
|
<button {% if not IsLogin or not HaveKey %}disabled{% endif %} type="submit"
|
||||||
|
@ -18,8 +18,6 @@
|
|||||||
<body>
|
<body>
|
||||||
<script src="https://unpkg.com/htmx.org@1.9.11"></script>
|
<script src="https://unpkg.com/htmx.org@1.9.11"></script>
|
||||||
|
|
||||||
{% include "partials/navbar.html" %}
|
|
||||||
|
|
||||||
{{embed}}
|
{{embed}}
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
<nav class="navbar is-primary">
|
|
||||||
<div class="navbar-brand">
|
|
||||||
<a class="navbar-item" href="/">
|
|
||||||
<svg width="640" height="160" viewBox="0 0 640 180" fill="none">
|
|
||||||
<text x="50%" y="50%" dy=".35em" text-anchor="middle">
|
|
||||||
JADE
|
|
||||||
</text>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="navbar-menu">
|
|
||||||
<div class="navbar-end">
|
|
||||||
<div class="navbar-item">
|
|
||||||
<div class="buttons">
|
|
||||||
{% if IsLogin %}
|
|
||||||
<a class="button is-small is-info is-outlined" href="/signout">
|
|
||||||
Log out
|
|
||||||
</a>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
58
views/partials/popover-keys.html
Normal file
58
views/partials/popover-keys.html
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
<div class="dropdown is-hoverable is-up is-right">
|
||||||
|
<div class="dropdown-trigger">
|
||||||
|
<button class="button is-small" aria-haspopup="true" aria-controls="dropdown-menu4">
|
||||||
|
<span class="icon"><i class="fa-solid fa-key"></i></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="dropdown-menu" id="dropdown-menu4" role="menu">
|
||||||
|
<div class="dropdown-content">
|
||||||
|
<div class="dropdown-item">
|
||||||
|
<div class="field">
|
||||||
|
<form id="api-keys-form" hx-post="/addKeys" hx-trigger="submit" hx-target="#api-keys-status">
|
||||||
|
<div class="field has-addons">
|
||||||
|
<p class="control has-icons-left is-expanded">
|
||||||
|
<input class="input is-small {% if OpenaiExists %}is-success{% endif %}" type="text"
|
||||||
|
{%if not IsLogin %}disabled{% endif %} placeholder="OpenAI API key"
|
||||||
|
name="openai_key" autocomplete="off">
|
||||||
|
<span class="icon is-small is-left">
|
||||||
|
<i class="fas fa-lock"></i>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="field has-addons">
|
||||||
|
<p class="control has-icons-left is-expanded">
|
||||||
|
<input class="input is-small {% if AnthropicExists %}is-success{% endif %}" type="text"
|
||||||
|
{% if not IsLogin %}disabled{% endif %} placeholder="Anthropic API key"
|
||||||
|
name="anthropic_key" autocomplete="off">
|
||||||
|
<span class="icon is-small is-left">
|
||||||
|
<i class="fas fa-lock"></i>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="field has-addons">
|
||||||
|
<p class="control has-icons-left is-expanded">
|
||||||
|
<input class="input is-small {% if MistralExists %}is-success{% endif %}" type="text"
|
||||||
|
{%if not IsLogin %}disabled{% endif %} placeholder="Mistral API key"
|
||||||
|
name="mistral_key" autocomplete="off">
|
||||||
|
<span class="icon is-small is-left">
|
||||||
|
<i class="fas fa-lock"></i>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="field has-addons">
|
||||||
|
<p class="control">
|
||||||
|
<button {% if not IsLogin %}disabled{% endif %} type="submit" class="button is-small">
|
||||||
|
<span class="icon is-small">
|
||||||
|
<i class="fas fa-check"></i>
|
||||||
|
</span>
|
||||||
|
<span>Save</span>
|
||||||
|
</button>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<p id="api-keys-status"></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -1,57 +1,15 @@
|
|||||||
<div class="dropdown is-hoverable is-up is-right">
|
<div class="dropdown is-hoverable is-up is-right">
|
||||||
<div class="dropdown-trigger">
|
<div class="dropdown-trigger">
|
||||||
<button class="button is-small" aria-haspopup="true" aria-controls="dropdown-menu4">
|
<button class="button is-small" aria-haspopup="true" aria-controls="dropdown-menu4">
|
||||||
<span class="icon"><i class="fa-solid fa-key"></i></span>
|
<span class="icon"><i class="fa-solid fa-bars"></i></i></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="dropdown-menu" id="dropdown-menu4" role="menu">
|
<div class="dropdown-menu" id="dropdown-menu4" role="menu">
|
||||||
<div class="dropdown-content">
|
<div class="dropdown-content">
|
||||||
<div class="dropdown-item">
|
<div class="dropdown-item">
|
||||||
<div class="field">
|
<a class="button is-small is-info is-outlined" href="/signout">
|
||||||
<form id="api-keys-form" hx-post="/addKeys" hx-trigger="submit" hx-target="#api-keys-status">
|
Log out
|
||||||
<div class="field has-addons">
|
</a>
|
||||||
<p class="control has-icons-left is-expanded">
|
|
||||||
<input class="input is-small {% if OpenaiExists %}is-success{% endif %}" type="text"
|
|
||||||
{%if not IsLogin %}disabled{% endif %} placeholder="OpenAI API key"
|
|
||||||
name="openai_key" autocomplete="off">
|
|
||||||
<span class="icon is-small is-left">
|
|
||||||
<i class="fas fa-lock"></i>
|
|
||||||
</span>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div class="field has-addons">
|
|
||||||
<p class="control has-icons-left is-expanded">
|
|
||||||
<input class="input is-small {% if AnthropicExists %}is-success{% endif %}" type="text"
|
|
||||||
{% if not IsLogin %}disabled{% endif %} placeholder="Anthropic API key"
|
|
||||||
name="anthropic_key" autocomplete="off">
|
|
||||||
<span class="icon is-small is-left">
|
|
||||||
<i class="fas fa-lock"></i>
|
|
||||||
</span>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div class="field has-addons">
|
|
||||||
<p class="control has-icons-left is-expanded">
|
|
||||||
<input class="input is-small {% if MistralExists %}is-success{% endif %}" type="text"
|
|
||||||
{%if not IsLogin %}disabled{% endif %} placeholder="Mistral API key"
|
|
||||||
name="mistral_key" autocomplete="off">
|
|
||||||
<span class="icon is-small is-left">
|
|
||||||
<i class="fas fa-lock"></i>
|
|
||||||
</span>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div class="field has-addons">
|
|
||||||
<p class="control">
|
|
||||||
<button {% if not IsLogin %}disabled{% endif %} type="submit" class="button is-small">
|
|
||||||
<span class="icon is-small">
|
|
||||||
<i class="fas fa-check"></i>
|
|
||||||
</span>
|
|
||||||
<span>Save</span>
|
|
||||||
</button>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
<p id="api-keys-status"></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user