Compare commits

...

11 Commits
0.2.0 ... 0.2.2

Author SHA1 Message Date
a80df49fdd bump version 2022-02-20 15:20:09 -05:00
92d1d21d00 add changelog 2022-02-20 15:17:38 -05:00
917f627933 add back modal click-away 2022-02-20 15:17:12 -05:00
4946a6b119 fixes template error on modal refreshes 2022-02-20 15:01:15 -05:00
9f784c3190 fix closing modal without triggering reload 2022-02-20 15:00:53 -05:00
aa08e212ee fix loading and reconnecting pages 2022-02-19 21:29:36 -05:00
80ad939aab fix docker image tag for latest builds 2022-02-19 21:29:29 -05:00
08c9cddc78 fix user card confirmation time spacing 2022-02-19 19:54:52 -05:00
e6285c282b add version tags 2022-02-19 19:38:29 -05:00
61829fc042 fix grid spacing in mobile mode 2022-02-19 18:08:46 -05:00
e2f8fd3ee5 fix checkbox spacing 2022-02-19 18:06:42 -05:00
24 changed files with 75 additions and 42 deletions

View File

@ -27,19 +27,33 @@ steps:
- npm install --prefix assets
- mix test
- name: build and publish
- name: build and publish stable
image: plugins/docker
settings:
repo: shibaobun/cannery
tags: latest
username:
from_secret: docker_username
password:
from_secret: docker_password
tags: latest
when:
branch:
- stable
- name: build and publish tagged version
image: plugins/docker
settings:
repo: shibaobun/cannery
username:
from_secret: docker_username
password:
from_secret: docker_password
tags:
- ${DRONE_TAG}
when:
event:
- tag
- name: rebuild-cache
image: drillster/drone-volume-cache
volumes:

View File

@ -1,7 +1,14 @@
# 0.3.0
-
# v0.2.2
- Fix loading and reconnecting pages not being fixed
- Fix closing modal in some cases not triggering a page reload
- Fix error when display container and tag edit routes from a fresh reload
# 0.2.0
# v0.2.1
- Fix checkbox spacing for mobile view
- Fix spacing with form elements in mobile view
- Fix user card spacing
# v0.2.0
- Add or remove tags from containers list and details page
- Show tags on containers
- Add "Cannery" to page titles
@ -11,5 +18,5 @@
- Show shot history for an ammo group
- Show ammo round totals and total shot for ammo types
# 0.1.0
# v0.1.0
- Initial release!

View File

@ -17,8 +17,7 @@
-o-transform: scale(1.5);
transform: scale(1.5);
padding: 10px;
margin-left: auto;
margin-right: auto;
margin: 1em auto;
}
.title {

View File

@ -7,7 +7,7 @@
let={f}
for={@changeset}
id="shot-group-form"
class="flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
phx-target={@myself}
phx-change="validate"
phx-submit="save"

View File

@ -9,7 +9,7 @@ defmodule CanneryWeb.Components.UserCard do
~H"""
<div
id={"user-#{@user.id}"}
class="mx-4 my-2 px-8 py-4 flex flex-col justify-center items-center
class="mx-4 my-2 px-8 py-4 flex flex-col justify-center items-center text-center
border border-gray-400 rounded-lg shadow-lg hover:shadow-md
transition-all duration-300 ease-in-out"
>
@ -21,7 +21,8 @@ defmodule CanneryWeb.Components.UserCard do
<%= if @user.confirmed_at |> is_nil() do %>
Email unconfirmed
<% else %>
User was confirmed at<%= @user.confirmed_at |> display_datetime() %>
<p>User was confirmed at</p>
<%= @user.confirmed_at |> display_datetime() %>
<% end %>
</h3>

View File

@ -10,7 +10,7 @@
phx-target={@myself}
phx-change="validate"
phx-submit="save"
class="flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
>
<%= if @changeset.action && not @changeset.valid? do %>
<div class="invalid-feedback col-span-3 text-center">

View File

@ -9,7 +9,7 @@
phx-target={@myself}
phx-change="validate"
phx-submit="save"
class="flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
>
<%= if @changeset.action && not @changeset.valid? do %>
<div class="invalid-feedback col-span-3 text-center">

View File

@ -40,7 +40,7 @@
let={f}
for={:tag}
id="add-tag-to-container-form"
class="flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
phx-target={@myself}
phx-submit="save"
>

View File

@ -6,7 +6,7 @@
let={f}
for={@changeset}
id="container-form"
class="flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
phx-target={@myself}
phx-change="validate"
phx-submit="save"

View File

@ -16,7 +16,7 @@ defmodule CanneryWeb.ContainerLive.Index do
@impl true
def handle_params(params, _url, %{assigns: %{live_action: live_action}} = socket) do
{:noreply, apply_action(socket, live_action, params)}
{:noreply, apply_action(socket, live_action, params) |> display_containers()}
end
defp apply_action(%{assigns: %{current_user: current_user}} = socket, :edit, %{"id" => id}) do

View File

@ -130,7 +130,7 @@ defmodule CanneryWeb.HomeLive do
<li class="flex flex-row justify-center space-x-2">
<b>Version:</b>
<p>
0.2.0
0.2.2
</p>
</li>
</ul>

View File

@ -6,7 +6,7 @@
let={f}
for={@changeset}
id="invite-form"
class="flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
phx-target={@myself}
phx-change="validate"
phx-submit="save"

View File

@ -38,28 +38,39 @@ defmodule CanneryWeb.LiveHelpers do
"""
def modal(assigns) do
~H"""
<%= live_patch to: @return_to,
id: "modal-bg",
class:
"fade-in fixed z-10 left-0 top-0
w-full h-full overflow-hidden
p-8 flex flex-col justify-center items-center cursor-auto",
style: "background-color: rgba(0,0,0,0.4);",
phx_remove: hide_modal()
do %>
<span class="hidden"></span>
<% end %>
<div
id="modal"
class="fade-in fixed z-10 left-0 top-0
w-full h-full overflow-hidden
p-8 flex flex-col justify-center items-center"
style="opacity: 1 !important; background-color: rgba(0,0,0,0.4);"
phx-remove={hide_modal()}
class="fixed z-10 left-0 top-0 pointer-events-none
w-full h-full overflow-hidden
p-8 flex flex-col justify-center items-center"
>
<div
id="modal-content"
class="fade-in-scale w-full max-w-3xl max-h-128 relative overflow-y-auto
class="fade-in-scale w-full max-w-3xl max-h-128 relative pointer-events-auto overflow-y-auto
p-8 flex flex-col justify-center items-center
flex flex-col justify-start items-center
bg-white border-2 rounded-lg"
phx-click-away={hide_modal()}
phx-window-keydown={hide_modal()}
phx-key="escape"
>
<%= live_patch to: @return_to,
id: "close",
class:
"absolute top-8 right-10 text-gray-500 hover:text-gray-800 transition-all duration-500 ease-in-out",
phx_click: hide_modal() do %>
"absolute top-8 right-10
text-gray-500 hover:text-gray-800
transition-all duration-500 ease-in-out",
phx_remove: hide_modal()
do %>
<i class="fa-fw fa-lg fas fa-times"></i>
<% end %>
@ -74,6 +85,7 @@ defmodule CanneryWeb.LiveHelpers do
def hide_modal(js \\ %JS{}) do
js
|> JS.hide(to: "#modal", transition: "fade-out")
|> JS.hide(to: "#modal-bg", transition: "fade-out")
|> JS.hide(to: "#modal-content", transition: "fade-out-scale")
end
end

View File

@ -7,7 +7,7 @@
let={f}
for={@changeset}
id="shot-group-form"
class="flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
phx-target={@myself}
phx-change="validate"
phx-submit="save"

View File

@ -36,7 +36,7 @@ defmodule CanneryWeb.TagLive.FormComponent do
let={f}
for={@changeset}
id="tag-form"
class="flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
class="flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
phx-target={@myself}
phx-change="validate"
phx-submit="save"

View File

@ -15,7 +15,7 @@ defmodule CanneryWeb.TagLive.Index do
@impl true
def handle_params(params, _url, %{assigns: %{live_action: live_action}} = socket) do
{:noreply, apply_action(socket, live_action, params)}
{:noreply, apply_action(socket, live_action, params) |> display_tags}
end
defp apply_action(%{assigns: %{current_user: current_user}} = socket, :edit, %{"id" => id}) do

View File

@ -29,7 +29,7 @@
<div
id="loading"
class="absolute opacity-0 top-0 left-0 w-screen h-screen bg-white z-50
class="fixed opacity-0 top-0 left-0 w-screen h-screen bg-white z-50
flex flex-col justify-center items-center space-y-4
transition-opacity ease-in-out duration-500"
>
@ -42,7 +42,7 @@
<div
id="disconnect"
class="absolute opacity-0 top-0 left-0 w-screen h-screen bg-white z-50
class="fixed opacity-0 top-0 left-0 w-screen h-screen bg-white z-50
flex flex-col justify-center items-center space-y-4
transition-opacity ease-in-out duration-500"
>

View File

@ -7,7 +7,7 @@
Routes.user_confirmation_path(@conn, :create),
[
class:
"flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
"flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
],
fn f -> %>
<%= label(f, :email, class: "title text-lg text-primary-600") %>

View File

@ -7,7 +7,7 @@
Routes.user_registration_path(@conn, :create),
[
class:
"flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
"flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
],
fn f -> %>
<%= if @changeset.action && not @changeset.valid? do %>

View File

@ -7,7 +7,7 @@
Routes.user_reset_password_path(@conn, :update, @token),
[
class:
"flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
"flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
],
fn f -> %>
<%= if @changeset.action && not @changeset.valid? do %>

View File

@ -7,7 +7,7 @@
Routes.user_reset_password_path(@conn, :create),
[
class:
"flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
"flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
],
fn f -> %>
<%= label(f, :email, class: "title text-lg text-primary-600") %>

View File

@ -8,7 +8,7 @@
[
as: :user,
class:
"flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
"flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
],
fn f -> %>
<%= if @error_message do %>

View File

@ -9,7 +9,7 @@
Routes.user_settings_path(@conn, :update),
[
class:
"pb-4 text-center flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
"flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
],
fn f -> %>
<h3 class="title text-primary-600 text-lg col-span-3">
@ -53,7 +53,7 @@
Routes.user_settings_path(@conn, :update),
[
class:
"pb-4 text-center flex flex-col sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
"flex flex-col space-y-4 sm:space-y-0 sm:grid sm:grid-cols-3 sm:gap-4 justify-center items-center"
],
fn f -> %>
<h3 class="title text-primary-600 text-lg col-span-3">

View File

@ -4,7 +4,7 @@ defmodule Cannery.MixProject do
def project do
[
app: :cannery,
version: "0.2.0",
version: "0.2.2",
elixir: "~> 1.12",
elixirc_paths: elixirc_paths(Mix.env()),
compilers: [:gettext] ++ Mix.compilers(),