Compare commits

...

4 Commits

Author SHA1 Message Date
557a2cac3d Improve login page autocomplete behavior
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-18 23:39:06 -04:00
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
22 changed files with 97 additions and 102 deletions

View File

@ -1,3 +1,8 @@
# v0.9.7
- Fix margin on bottom of page
- Use bar graph instead of line graph
- Improve login page autocomplete behavior
# 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

@ -15,10 +15,18 @@
</p>
<%= label(f, :email, gettext("Email"), class: "title text-lg text-primary-600") %>
<%= email_input(f, :email, required: true, class: "input input-primary col-span-2") %>
<%= email_input(f, :email,
autocomplete: :email,
class: "input input-primary col-span-2",
required: true
) %>
<%= label(f, :password, gettext("Password"), class: "title text-lg text-primary-600") %>
<%= password_input(f, :password, required: true, class: "input input-primary col-span-2") %>
<%= password_input(f, :password,
autocomplete: "current-password",
class: "input input-primary col-span-2",
required: true
) %>
<%= label(f, :remember_me, gettext("Keep me logged in for 60 days"),
class: "title text-lg text-primary-600"

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

@ -56,7 +56,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
#, elixir-autogen, elixir-format
msgid "Forgot your password?"
msgstr ""
@ -72,7 +72,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
#, elixir-autogen, elixir-format
msgid "Log in"
msgstr ""
@ -98,7 +98,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
#, elixir-autogen, elixir-format
msgid "Register"
msgstr ""

View File

@ -69,7 +69,7 @@ msgstr "Benutzer löschen"
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
#, elixir-autogen, elixir-format
msgid "Forgot your password?"
msgstr "Passwort vergessen?"
@ -85,7 +85,7 @@ msgstr "Laden Sie jemanden ein!"
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
#, elixir-autogen, elixir-format
msgid "Log in"
msgstr "Einloggen"
@ -111,7 +111,7 @@ msgstr "Neuer Tag"
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
#, elixir-autogen, elixir-format
msgid "Register"
msgstr "Registrieren"

View File

@ -184,7 +184,7 @@ msgstr "Nur mit Einladung"
msgid "Invites"
msgstr "Einladungen"
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
#, elixir-autogen, elixir-format
msgid "Keep me logged in for 60 days"
msgstr "Für 60 Tage eingeloggt bleiben"
@ -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..."
@ -1135,7 +1135,7 @@ msgid "Email"
msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
#, elixir-autogen, elixir-format
msgid "Password"
msgstr ""

View File

@ -180,7 +180,7 @@ msgstr ""
msgid "Invites"
msgstr ""
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
#, elixir-autogen, elixir-format
msgid "Keep me logged in for 60 days"
msgstr ""
@ -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 ""
@ -1118,7 +1118,7 @@ msgid "Email"
msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
#, elixir-autogen, elixir-format
msgid "Password"
msgstr ""

View File

@ -56,7 +56,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
#, elixir-autogen, elixir-format
msgid "Forgot your password?"
msgstr ""
@ -72,7 +72,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
#, elixir-autogen, elixir-format
msgid "Log in"
msgstr ""
@ -98,7 +98,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
#, elixir-autogen, elixir-format
msgid "Register"
msgstr ""

View File

@ -180,7 +180,7 @@ msgstr ""
msgid "Invites"
msgstr ""
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
#, elixir-autogen, elixir-format
msgid "Keep me logged in for 60 days"
msgstr ""
@ -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 ""
@ -1118,7 +1118,7 @@ msgid "Email"
msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
#, elixir-autogen, elixir-format
msgid "Password"
msgstr ""

View File

@ -69,7 +69,7 @@ msgstr "Eliminar cuenta de Usuario"
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
#, elixir-autogen, elixir-format
msgid "Forgot your password?"
msgstr "¿Has olvidado tu contraseña?"
@ -85,7 +85,7 @@ msgstr "¡Invita a alguien nuevo!"
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
#, elixir-autogen, elixir-format
msgid "Log in"
msgstr "Entrar"
@ -111,7 +111,7 @@ msgstr "Nueva Etiqueta"
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
#, elixir-autogen, elixir-format
msgid "Register"
msgstr "Registrarse"

View File

@ -184,7 +184,7 @@ msgstr "Solo Invitación"
msgid "Invites"
msgstr "Invitaciones"
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
#, elixir-autogen, elixir-format
msgid "Keep me logged in for 60 days"
msgstr "Mantener registrado durante 60 días"
@ -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..."
@ -1137,7 +1137,7 @@ msgid "Email"
msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
#, elixir-autogen, elixir-format
msgid "Password"
msgstr ""

View File

@ -69,7 +69,7 @@ msgstr "Supprimer utilisateur"
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
#, elixir-autogen, elixir-format
msgid "Forgot your password?"
msgstr "Mot de passe oublié?"
@ -85,7 +85,7 @@ msgstr "Invitez une nouvelle personne!"
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
#, elixir-autogen, elixir-format
msgid "Log in"
msgstr "Se connecter"
@ -111,7 +111,7 @@ msgstr "Nouveau tag"
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
#, elixir-autogen, elixir-format
msgid "Register"
msgstr "Senregistrer"

View File

@ -184,7 +184,7 @@ msgstr "Uniquement sur invitation"
msgid "Invites"
msgstr "Invitations"
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
#, elixir-autogen, elixir-format
msgid "Keep me logged in for 60 days"
msgstr "Me garder authentifié durant 60 jours"
@ -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…"
@ -1138,7 +1138,7 @@ msgid "Email"
msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
#, elixir-autogen, elixir-format
msgid "Password"
msgstr ""

View File

@ -67,7 +67,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
#, elixir-autogen, elixir-format
msgid "Forgot your password?"
msgstr ""
@ -83,7 +83,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
#, elixir-autogen, elixir-format
msgid "Log in"
msgstr ""
@ -109,7 +109,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
#, elixir-autogen, elixir-format
msgid "Register"
msgstr ""

View File

@ -182,7 +182,7 @@ msgstr ""
msgid "Invites"
msgstr ""
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
#, elixir-autogen, elixir-format
msgid "Keep me logged in for 60 days"
msgstr ""
@ -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 ""
@ -1129,7 +1129,7 @@ msgid "Email"
msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
#, elixir-autogen, elixir-format
msgid "Password"
msgstr ""

View File

@ -67,7 +67,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:47
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:38
#: lib/cannery_web/controllers/user_session_html/new.html.heex:46
#, elixir-autogen, elixir-format
msgid "Forgot your password?"
msgstr ""
@ -83,7 +83,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:41
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:3
#: lib/cannery_web/controllers/user_session_html/new.html.heex:28
#: lib/cannery_web/controllers/user_session_html/new.html.heex:36
#, elixir-autogen, elixir-format
msgid "Log in"
msgstr ""
@ -109,7 +109,7 @@ msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:37
#: lib/cannery_web/controllers/user_reset_password_html/edit.html.heex:38
#: lib/cannery_web/controllers/user_reset_password_html/new.html.heex:25
#: lib/cannery_web/controllers/user_session_html/new.html.heex:35
#: lib/cannery_web/controllers/user_session_html/new.html.heex:43
#, elixir-autogen, elixir-format
msgid "Register"
msgstr ""

View File

@ -191,7 +191,7 @@ msgstr ""
msgid "Invites"
msgstr ""
#: lib/cannery_web/controllers/user_session_html/new.html.heex:23
#: lib/cannery_web/controllers/user_session_html/new.html.heex:31
#, elixir-autogen, elixir-format
msgid "Keep me logged in for 60 days"
msgstr ""
@ -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 ""
@ -1129,7 +1129,7 @@ msgid "Email"
msgstr ""
#: lib/cannery_web/controllers/user_registration_html/new.html.heex:24
#: lib/cannery_web/controllers/user_session_html/new.html.heex:20
#: lib/cannery_web/controllers/user_session_html/new.html.heex:24
#, elixir-autogen, elixir-format
msgid "Password"
msgstr ""