IMP: task crud (#6)

This commit is contained in:
Matthew Ryan Dillon 2020-06-21 16:09:24 -07:00 committed by GitHub
parent 2b8a6a1927
commit 673d096f53
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 260 additions and 33 deletions

View file

@ -1,17 +1,15 @@
<section class="section">
<div class="container">
<%= if live_flash(@flash, :info) do %>
<main role="main" class="container">
<%= if live_flash(@flash, :info) do %>
<p class="alert alert-info" role="alert"
phx-click="lv:clear-flash"
phx-value-key="info"><%= live_flash(@flash, :info) %></p>
<% end %>
<% end %>
<%= if live_flash(@flash, :error) do %>
<%= if live_flash(@flash, :error) do %>
<p class="alert alert-danger" role="alert"
phx-click="lv:clear-flash"
phx-value-key="error"><%= live_flash(@flash, :error) %></p>
<% end %>
<% end %>
<%= @inner_content %>
</div>
<%= @inner_content %>
</main>

View file

@ -9,7 +9,7 @@
<script defer type="text/javascript" src="<%= Routes.static_path(@conn, "/js/app.js") %>"></script>
</head>
<body>
<nav class="navbar is-dark" role="navigation">
<nav class="navbar is-dark mb-5" role="navigation">
<div class="navbar-brand">
<%= link "planner", to: Routes.landing_path(@conn, :index), class: "navbar-item has-text-weight-bold hast-text-info-light" %>
@ -22,7 +22,7 @@
<div id="nvbr" class="navbar-menu">
<div class="navbar-start">
<%= link "tasks", to: Routes.landing_path(@conn, :index), class: "navbar-item" %>
<%= link "tasks", to: Routes.task_path(@conn, :index), class: "navbar-item" %>
</div>
<div class="navbar-end">

View file

@ -0,0 +1,5 @@
<div class="columns">
<div class="column is-three-fifths is-offset-one-fifth">
<%= render "form.html", Map.put(assigns, :action, Routes.task_path(@conn, :update, @task)) %>
</div>
</div>

View file

@ -0,0 +1,42 @@
<div class="box">
<%= form_for @changeset, @action, fn f -> %>
<%= if @changeset.action do %>
<div class="help is-danger">
<p>something went wrong (see below)</p>
</div>
<% end %>
<div class="field">
<div class="control">
<%= textarea f, :value, required: true, class: "textarea", placeholder: "task" %>
</div>
<%= error_tag f, :value %>
</div>
<div class="field">
<%= label f, :due_at, class: "label" do %>
due (YYYY-MM-DD HH:MM:SS)
<% end %>
<div class="control">
<%= text_input f, :due_at, class: "input", placeholder: "YYYY-MM-DD HH:MM:SS" %>
</div>
<%= error_tag f, :due_at %>
</div>
<div class="field">
<%= label f, :finished_at, class: "label" do %>
<%= if is_nil(@task.finished_at) do %>
<%= checkbox f, :finished_at %>
<% else %>
<%= checkbox f, :finished_at, checked_value: @task.finished_at %>
<% end %>
finished
<% end %>
<%= error_tag f, :finished_at %>
</div>
<div class="control">
<%= submit "save", class: "button is-dark" %>
</div>
<% end %>
</div>

View file

@ -0,0 +1,33 @@
<div class="columns">
<div class="column table-container">
<%= link "new", to: Routes.task_path(@conn, :new), class: "button is-dark" %>
<div class="table-container">
<table class="table is-striped is-hoverable is-fullwidth" style="table-layout: fixed;">
<thead>
<tr>
<th>task</th>
</tr>
</thead>
<tbody>
<%= for task <- @tasks do %>
<tr>
<td>
<%= if not is_nil(task.due_at) do %>
<div class="tags mb-0">
<span class="tag is-warning">
due: <%= task.due_at %>
</span>
</div>
<% end %>
<%= link to: Routes.task_path(@conn, :show, task.id), class: "has-text-black" do %>
<%= task.value %>
<% end %>
</td>
</tr>
<% end %>
</tbody>
</table>
</div>
</div>
</div>

View file

@ -0,0 +1,5 @@
<div class="columns">
<div class="column is-three-fifths is-offset-one-fifth">
<%= render "form.html", Map.put(assigns, :action, Routes.task_path(@conn, :create)) %>
</div>
</div>

View file

@ -0,0 +1,31 @@
<div class="columns">
<div class="column is-three-fifths is-offset-one-fifth">
<div class="box">
<%= if not is_nil(@task.due_at) or is_nil(@task.filed_at) do %>
<div class="tags">
<%= if not is_nil(@task.due_at) do %><span class="tag is-warning">due: <%= @task.due_at %></span><% end %>
<%= if is_nil(@task.filed_at) do %><span class="tag is-danger">unfiled</span><% end %>
</div>
<% end %>
<p class="mb-5">
<%= @task.value %>
</p>
<div class="tags">
<span class="tag is-light">updated: <%= @task.updated_at %></span>
<span class="tag is-light">created: <%= @task.inserted_at %></span>
</div>
<div class="field is-grouped">
<p class="control">
<%= link "edit", to: Routes.task_path(@conn, :edit, @task.id), class: "button is-dark" %>
</p>
<p class="control">
<%= link "delete", to: Routes.task_path(@conn, :delete, @task.id), class: "button is-dark", method: :delete, data: [confirm: "are you sure?"] %>
</p>
</div>
</div>
</div>
</div>

View file

@ -2,7 +2,6 @@
<%= form_for @conn, Routes.user_session_path(@conn, :create), [as: :user], fn f -> %>
<%= if @error_message do %>
<div class="help is-danger">
<p><%= @error_message %></p>
</div>