This repository has been archived on 2024-10-26. You can view files and clone it, but cannot push or open issues or pull requests.
staxman-old/templates/stack/get-one.html

127 lines
3.1 KiB
HTML
Raw Normal View History

2023-11-18 19:51:10 +00:00
{% extends "base.html" %}
2023-11-19 14:08:47 +00:00
{% block title %}Stack {{stack_name}}{% endblock %}
2023-11-18 19:51:10 +00:00
{% block content %}
2023-11-30 09:29:30 +00:00
<script type="module" src="/static/scripts/components/editor/script.js" defer></script>
2023-11-18 19:51:10 +00:00
<main>
<header>
<h1>Stack details for <span class="stack-name">{{stack_name}}</span></h1>
<div class="actions">
2023-11-25 11:24:06 +00:00
<form action="./start" method="POST">
<button title="Start all containers" type="submit">
Start
</button>
</form>
<form action="./restart" method="POST">
<button title="Restart containers" type="submit">
Restart
</button>
</form>
<form action="./stop" method="POST">
<button title="Stop all containers" type="submit">
Stop
</button>
</form>
<form action="./down" method="POST">
<button title="Stop and remove all resources" type="submit">
Down
</button>
</form>
<form action="./delete" method="GET">
<button title="Stop and delete everything" type="submit">
Delete
</button>
</form>
</div>
</header>
<section class="container-list">
<h2>Containers</h2>
2023-11-22 09:59:51 +00:00
<table class="containers table">
<thead>
<tr>
<th>Name</th>
<th>State</th>
<th>Image</th>
</tr>
</thead>
<tbody>
{% for container in containers %}
<tr>
<td><a href="/container/{{container.name}}/">{{container.name}}</a></td>
<td class="status {{container.state}}">{{container.state}}</td>
<td>{{container.image}}</td>
</tr>
{% endfor %}
</tbody>
</table>
</section>
<section class="editor">
2023-11-25 11:24:06 +00:00
<h2>
Editor
<form action="./history"><button title="View past versions">History</button></form>
</h2>
2023-11-23 00:38:39 +00:00
<form method="POST" action="./edit" id="editor-form">
2023-11-24 23:45:54 +00:00
<div class="error"></div>
2023-11-30 00:57:45 +00:00
{% for (filename, content) in files %}
<script type="stackfile" data-name="{{filename}}">{{content|safe}}</script>
<noscript>
<h3>{{filename}}</h3>
<textarea name="file[{{filename}}]" class="nojs-editor">{{content|safe}}</textarea>
</noscript>
{% endfor %}
<file-editor></file-editor>
2023-11-23 00:38:39 +00:00
<div class="row">
<input style="flex:1" name="commit_message" type="text"
placeholder="What did you change?" />
2023-11-23 23:17:03 +00:00
<div id="editor-extra"></div>
2023-11-23 00:38:39 +00:00
<button class="wide" type="submit">Deploy</button>
</div>
</form>
</section>
2023-11-18 19:51:10 +00:00
</main>
2023-11-18 22:17:05 +00:00
2023-11-23 13:18:00 +00:00
<link rel="stylesheet" href="/static/css/editor.css" />
2023-11-25 00:38:56 +00:00
<link rel="stylesheet" href="/static/css/resource.css" />
2023-11-18 22:17:05 +00:00
<style scoped>
main {
display: flex;
flex-direction: column;
gap: 1rem;
}
.containers {
& .status {
text-align: center;
font-weight: bold;
color: white;
padding: 0 10px;
2023-11-18 22:17:05 +00:00
&.exited {
2023-11-25 00:38:56 +00:00
background-color: var(--danger-bright);
2023-11-18 22:17:05 +00:00
}
&.running {
2023-11-25 00:38:56 +00:00
background-color: var(--success-bright);
2023-11-18 22:17:05 +00:00
}
}
}
.stack-name {
2023-11-25 00:38:56 +00:00
color: var(--text-accent);
}
2023-11-18 22:17:05 +00:00
</style>
2023-11-23 13:18:00 +00:00
<script type="module">
2023-11-30 00:57:45 +00:00
const editor = document.querySelector("file-editor");
document.querySelectorAll("script[type=stackfile]").forEach((script) => {
editor.addFile(script.dataset.name, script.innerText);
});
2023-11-30 09:29:30 +00:00
editor.setCurrent("arion-compose.nix");
2023-11-23 23:17:03 +00:00
2023-11-24 23:45:54 +00:00
/* Enforce check pre-submit */
2023-11-30 00:57:45 +00:00
//const form = document.getElementById("editor-form");
//add_check(form, editor);
2023-11-18 22:17:05 +00:00
</script>
2023-11-18 19:51:10 +00:00
{% endblock %}