Create players
This commit is contained in:
@@ -3,7 +3,8 @@ defmodule BwcWeb.PageController do
|
||||
|
||||
def index(conn, _params) do
|
||||
cards = Bwc.list_cards()
|
||||
players = Bwc.list_players()
|
||||
status = "The game has not yet started."
|
||||
render(conn, "game.html", cards: cards, status: status)
|
||||
render(conn, "game.html", cards: cards, status: status, players: players)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
defmodule BwcWeb.SessionController do
|
||||
use BwcWeb, :controller
|
||||
|
||||
def new(conn, _params) do
|
||||
player = Bwc.new_player()
|
||||
render conn, "new.html", player: player
|
||||
end
|
||||
|
||||
def create(conn, params) do
|
||||
require Logger
|
||||
Logger.debug(params)
|
||||
cards = Bwc.list_cards()
|
||||
case Bwc.create_player(Map.get(params, "player")) do
|
||||
{:ok, username} -> conn |> put_session(:username, username) |> redirect(to: Routes.card_path(conn, :index, cards))
|
||||
{:error, player} -> render(conn, "new.html", player: player)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -17,6 +17,11 @@ defmodule BwcWeb.Router do
|
||||
pipe_through :browser
|
||||
|
||||
get "/", PageController, :index
|
||||
|
||||
get "/join", SessionController, :new
|
||||
post "/join", SessionController, :create
|
||||
get "/leave", SessionController, :delete
|
||||
|
||||
get "/create", CardController, :new
|
||||
|
||||
resources "/cards", CardController, only: [:show, :new, :create, :index]
|
||||
|
||||
@@ -12,12 +12,17 @@
|
||||
|
||||
<body>
|
||||
<div class="uk-container uk-container-center uk-margin-top uk-margin-large-bottom uk-height-1-1">
|
||||
<div class="uk-text-center uk-container" id="top-bar">
|
||||
<div class="uk-text-center uk-container uk-flex uk-flex-around" id="top-bar">
|
||||
<h1 class="uk-heading-line-">
|
||||
<a href="/">
|
||||
<img class="bwc-logo" src="<%= Routes.static_path(@conn, "/images/bwc.png") %>" alt="BWC Logo" />
|
||||
</a>
|
||||
</h1>
|
||||
<div class='auth uk-flex uk-flex-column uk-flex-center'>
|
||||
<span class='uk-icon' uk-icon="icon:user"></span>
|
||||
<small><b>You are: </b>
|
||||
Nobody</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="alert alert-info" role="alert"><%= get_flash(@conn, :info) %></p>
|
||||
|
||||
@@ -4,10 +4,18 @@
|
||||
</div>
|
||||
<div>
|
||||
<h2><%= @status %></h2>
|
||||
<div>
|
||||
<i>Cards in the pot: <%= length(@cards) %></i>
|
||||
<emph>
|
||||
<%= link("(View all)", to: Routes.card_path(@conn, :index)) %>
|
||||
</emph>
|
||||
</div>
|
||||
<div>
|
||||
<i>Players: <%= @players |> length %></i>
|
||||
<emph>
|
||||
<%= link("(Join)", to: Routes.session_path(@conn, :new)) %>
|
||||
</emph>
|
||||
</div>
|
||||
<hr />
|
||||
<div class="create">
|
||||
What are you waiting for?
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
<%= form_for @player, Routes.session_path(@conn, :create), fn(f) -> %>
|
||||
|
||||
<div class="new-session uk-panel uk-panel-box uk-panel-box-secondary uk-padding uk-flex uk-flex-column">
|
||||
<div class="uk-flex-item">
|
||||
<%= text_input f, :username, "placeholder": "Join the game as..." %>
|
||||
<%= error_tag f, :username %>
|
||||
</div>
|
||||
<div class="controls uk-margin-top">
|
||||
<div class="uk-flex uk-flex-center">
|
||||
<ul class="uk-subnav uk-subnav-pill" style="margin-bottom:0px;">
|
||||
<li>
|
||||
<%= submit "Join", class: "uk-active uk-subnav-pill", id: "joinGame" %>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
@@ -0,0 +1,3 @@
|
||||
defmodule BwcWeb.SessionView do
|
||||
use BwcWeb, :view
|
||||
end
|
||||
Reference in New Issue
Block a user