58 lines
2.3 KiB
HTML
58 lines
2.3 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}Recipes - ECM Control{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="d-flex justify-content-between align-items-center">
|
|
<h1>Recipes</h1>
|
|
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#addRecipeModal">
|
|
Add Recipe
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row mt-4">
|
|
<div class="col-md-12">
|
|
<div id="recipe-list">
|
|
{% include "partials/recipe_list.html" %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Add Recipe Modal -->
|
|
<div class="modal fade" id="addRecipeModal" tabindex="-1">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title">Add New Recipe</h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
|
</div>
|
|
<form hx-post="/recipes" hx-target="#recipe-list" hx-on="htmx:afterRequest: htmx.closest(this, '.modal').style.display='none'">
|
|
<div class="modal-body">
|
|
<div class="mb-3">
|
|
<label for="name" class="form-label">Recipe Name</label>
|
|
<input type="text" class="form-control" id="name" name="name" required>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="grams_out" class="form-label">Target Grams Out</label>
|
|
<input type="number" class="form-control" id="grams_out" name="grams_out"
|
|
min="1" max="100" step="0.1" required>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="timeout_seconds" class="form-label">Timeout (seconds)</label>
|
|
<input type="number" class="form-control" id="timeout_seconds" name="timeout_seconds"
|
|
min="1" max="300" required>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
|
|
<button type="submit" class="btn btn-primary">Add Recipe</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %} |