3 Commits

Author SHA1 Message Date
e16e04c114 combine imports
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-18 23:26:41 -04:00
bbe4d82303 Use bar graph instead of line graph 2024-03-18 23:26:32 -04:00
c69d7843ab fix layout issues
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-23 23:34:04 -05:00
14 changed files with 51 additions and 65 deletions

View File

@ -1,3 +1,7 @@
# v0.9.7
- Fix margin on bottom of page
- Use bar graph instead of line graph
# v0.9.6
- Make ammo packs in containers directly navigable in table view
- Update dependencies

View File

@ -1,13 +1,12 @@
import { Chart, Title, Tooltip, Legend, LineController, LineElement, PointElement, TimeScale, LinearScale } from 'chart.js'
import Chart from 'chart.js/auto'
import 'chartjs-adapter-date-fns'
Chart.register(Title, Tooltip, Legend, LineController, LineElement, PointElement, TimeScale, LinearScale)
export default {
initalizeChart (el) {
const data = JSON.parse(el.dataset.chartData)
this.el.chart = new Chart(el, {
type: 'line',
type: 'bar',
data: {
datasets: [{
label: el.dataset.label,
@ -51,7 +50,8 @@ export default {
stacked: true,
grace: '15%',
ticks: {
padding: 15
padding: 15,
precision: 0
}
},
x: {

View File

@ -1,18 +1,45 @@
<main role="main" class="min-h-full min-w-full">
<main class="pb-8 min-w-full">
<header>
<.topbar current_user={assigns[:current_user]} />
<div class="mx-8 my-2 flex flex-col space-y-4 text-center">
<p :if={@flash["info"]} class="alert alert-info" role="alert">
<%= @flash["info"] %>
<p
:if={@flash && @flash |> Map.has_key?("info")}
class="alert alert-info"
role="alert"
phx-click="lv:clear-flash"
phx-value-key="info"
>
<%= live_flash(@flash, "info") %>
</p>
<p :if={@flash["error"]} class="alert alert-danger" role="alert">
<%= @flash["error"] %>
<p
:if={@flash && @flash |> Map.has_key?("error")}
class="alert alert-danger"
role="alert"
phx-click="lv:clear-flash"
phx-value-key="error"
>
<%= live_flash(@flash, "error") %>
</p>
</div>
</header>
<div class="mx-4 sm:mx-8 md:mx-16">
<div class="mx-4 sm:mx-8 md:mx-16 flex flex-col justify-center items-stretch">
<%= @inner_content %>
</div>
</main>
<div
id="disconnect"
class="z-50 fixed opacity-0 bottom-12 right-12 px-8 py-4 w-max h-max
border border-primary-200 shadow-lg rounded-lg bg-white
flex justify-center items-center space-x-4
transition-opacity ease-in-out duration-500 delay-[2000ms]"
>
<i class="fas fa-fade text-md fa-satellite-dish"></i>
<h1 class="title text-md title-primary-500">
<%= gettext("Reconnecting...") %>
</h1>
</div>

View File

@ -0,0 +1 @@
<%= @inner_block %>

View File

@ -1,45 +0,0 @@
<main class="pb-8 min-w-full">
<header>
<.topbar current_user={assigns[:current_user]} />
<div class="mx-8 my-2 flex flex-col space-y-4 text-center">
<p
:if={@flash && @flash |> Map.has_key?("info")}
class="alert alert-info"
role="alert"
phx-click="lv:clear-flash"
phx-value-key="info"
>
<%= live_flash(@flash, "info") %>
</p>
<p
:if={@flash && @flash |> Map.has_key?("error")}
class="alert alert-danger"
role="alert"
phx-click="lv:clear-flash"
phx-value-key="error"
>
<%= live_flash(@flash, "error") %>
</p>
</div>
</header>
<div class="mx-4 sm:mx-8 md:mx-16 flex flex-col justify-center items-stretch">
<%= @inner_content %>
</div>
</main>
<div
id="disconnect"
class="z-50 fixed opacity-0 bottom-12 right-12 px-8 py-4 w-max h-max
border border-primary-200 shadow-lg rounded-lg bg-white
flex justify-center items-center space-x-4
transition-opacity ease-in-out duration-500 delay-[2000ms]"
>
<i class="fas fa-fade text-md fa-satellite-dish"></i>
<h1 class="title text-md title-primary-500">
<%= gettext("Reconnecting...") %>
</h1>
</div>

View File

@ -4,8 +4,7 @@ defmodule CanneryWeb.ErrorHelpers do
"""
use PhoenixHTMLHelpers
import Phoenix.HTML.Form
import Phoenix.Component
import Phoenix.{Component, HTML.Form}
alias Ecto.Changeset
alias Phoenix.{HTML.Form, LiveView.Rendered}

View File

@ -4,7 +4,7 @@ defmodule Cannery.MixProject do
def project do
[
app: :cannery,
version: "0.9.6",
version: "0.9.7",
elixir: "1.16.1",
elixirc_paths: elixirc_paths(Mix.env()),
start_permanent: Mix.env() == :prod,

View File

@ -559,7 +559,7 @@ msgstr "Neues Passwort"
msgid "Firing type"
msgstr "Patronenhülsenform"
#: lib/cannery_web/components/layouts/live.html.heex:43
#: lib/cannery_web/components/layouts/app.html.heex:43
#, elixir-autogen, elixir-format
msgid "Reconnecting..."
msgstr "Neu verbinden..."

View File

@ -553,7 +553,7 @@ msgstr ""
msgid "Firing type"
msgstr ""
#: lib/cannery_web/components/layouts/live.html.heex:43
#: lib/cannery_web/components/layouts/app.html.heex:43
#, elixir-autogen, elixir-format
msgid "Reconnecting..."
msgstr ""

View File

@ -553,7 +553,7 @@ msgstr ""
msgid "Firing type"
msgstr ""
#: lib/cannery_web/components/layouts/live.html.heex:43
#: lib/cannery_web/components/layouts/app.html.heex:43
#, elixir-autogen, elixir-format
msgid "Reconnecting..."
msgstr ""

View File

@ -560,7 +560,7 @@ msgstr "Nueva contraseña"
msgid "Firing type"
msgstr "Tipo de fuego"
#: lib/cannery_web/components/layouts/live.html.heex:43
#: lib/cannery_web/components/layouts/app.html.heex:43
#, elixir-autogen, elixir-format
msgid "Reconnecting..."
msgstr "Reconectando..."

View File

@ -561,7 +561,7 @@ msgstr "Nouveau mot de passe"
msgid "Firing type"
msgstr "Type dallumage"
#: lib/cannery_web/components/layouts/live.html.heex:43
#: lib/cannery_web/components/layouts/app.html.heex:43
#, elixir-autogen, elixir-format
msgid "Reconnecting..."
msgstr "Reconnexion en cours…"

View File

@ -555,7 +555,7 @@ msgstr ""
msgid "Firing type"
msgstr ""
#: lib/cannery_web/components/layouts/live.html.heex:43
#: lib/cannery_web/components/layouts/app.html.heex:43
#, elixir-autogen, elixir-format
msgid "Reconnecting..."
msgstr ""

View File

@ -564,7 +564,7 @@ msgstr ""
msgid "Firing type"
msgstr ""
#: lib/cannery_web/components/layouts/live.html.heex:43
#: lib/cannery_web/components/layouts/app.html.heex:43
#, elixir-autogen, elixir-format
msgid "Reconnecting..."
msgstr ""