Scalfolding out the counter cluster groups.
This commit is contained in:
parent
dd1ccffb0a
commit
23b20e1c37
19
app/controllers/cluster_controller.rb
Normal file
19
app/controllers/cluster_controller.rb
Normal file
|
@ -0,0 +1,19 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# This is the landing for a specific tally cluster
|
||||
class ClusterController < ApplicationController
|
||||
before_action :only_for_unknown
|
||||
def new; end
|
||||
|
||||
def create
|
||||
# TODO: This will need to modify a shared object to insert a new tally cluster.
|
||||
session[:cluster] = params[:cluster]
|
||||
redirect_to root_path
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def only_for_unknown
|
||||
redirect_to root_path if session[:cluster]
|
||||
end
|
||||
end
|
10
app/controllers/counter_controller.rb
Normal file
10
app/controllers/counter_controller.rb
Normal file
|
@ -0,0 +1,10 @@
|
|||
class CounterController < ApplicationController
|
||||
before_action :associate!
|
||||
|
||||
def show; end
|
||||
|
||||
private
|
||||
def associate!
|
||||
redirect_to cluster_path unless session[:cluster]
|
||||
end
|
||||
end
|
2
app/helpers/cluster_helper.rb
Normal file
2
app/helpers/cluster_helper.rb
Normal file
|
@ -0,0 +1,2 @@
|
|||
module ClusterHelper
|
||||
end
|
2
app/helpers/counter_helper.rb
Normal file
2
app/helpers/counter_helper.rb
Normal file
|
@ -0,0 +1,2 @@
|
|||
module CounterHelper
|
||||
end
|
2
app/helpers/session_helper.rb
Normal file
2
app/helpers/session_helper.rb
Normal file
|
@ -0,0 +1,2 @@
|
|||
module SessionHelper
|
||||
end
|
4
app/views/cluster/new.html.erb
Normal file
4
app/views/cluster/new.html.erb
Normal file
|
@ -0,0 +1,4 @@
|
|||
<%= c("page") do %>
|
||||
<%= c("cluster-list") %>
|
||||
<%= c("cluster-new") %>
|
||||
<% end %>
|
13
app/views/counter/show.html.erb
Normal file
13
app/views/counter/show.html.erb
Normal file
|
@ -0,0 +1,13 @@
|
|||
<section class="section">
|
||||
<div class="container">
|
||||
<h1 class="title">
|
||||
Hello World
|
||||
</h1>
|
||||
<p class="subtitle">
|
||||
<span class="icon">
|
||||
<i class="fas fa-home"></i>
|
||||
</span>
|
||||
My first website with <strong>Bulma</strong>!
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
|
@ -1,5 +1,8 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
Rails.application.routes.draw do
|
||||
root 'pages#home'
|
||||
root 'counter#show'
|
||||
|
||||
get '/cluster', to: 'cluster#new'
|
||||
post '/cluster', to: 'cluster#create'
|
||||
end
|
||||
|
|
1
frontend/components/cluster-list/cluster-list.js
Normal file
1
frontend/components/cluster-list/cluster-list.js
Normal file
|
@ -0,0 +1 @@
|
|||
import "./cluster-list.pcss";
|
1
frontend/components/cluster-list/cluster-list.pcss
Normal file
1
frontend/components/cluster-list/cluster-list.pcss
Normal file
|
@ -0,0 +1 @@
|
|||
/* placeholder */
|
6
frontend/components/cluster-new/_cluster-new.html.erb
Normal file
6
frontend/components/cluster-new/_cluster-new.html.erb
Normal file
|
@ -0,0 +1,6 @@
|
|||
<div class="create-cluster-form">
|
||||
<%= form_tag cluster_path, method: :post do %>
|
||||
<%= text_field_tag :cluster, "", class: "create-cluster-form--input", placeholder: "Cluster Name", autofocus: true, required: true %>
|
||||
<%= submit_tag "Create", class: "create-cluster-form--submit" %>
|
||||
<% end %>
|
||||
</div>
|
1
frontend/components/cluster-new/cluster-new.js
Normal file
1
frontend/components/cluster-new/cluster-new.js
Normal file
|
@ -0,0 +1 @@
|
|||
import "./cluster-new.pcss";
|
41
frontend/components/cluster-new/cluster-new.pcss
Normal file
41
frontend/components/cluster-new/cluster-new.pcss
Normal file
|
@ -0,0 +1,41 @@
|
|||
.create-cluster-form {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
& input {
|
||||
width: 100%;
|
||||
padding: 12px 0;
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
font-size: 18px;
|
||||
text-align: center;
|
||||
outline: none;
|
||||
transition: border-color 150ms;
|
||||
box-sizing: border-box;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
border: 1px solid #3f94f9;
|
||||
}
|
||||
}
|
||||
|
||||
& input[type="submit"] {
|
||||
width: 100%;
|
||||
margin-top: 6px;
|
||||
padding: 12px 0;
|
||||
background: #3f94f9;
|
||||
border: 1px solid #3f94f9;
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
outline: none;
|
||||
transition: opacity 150ms;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
opacity: 0.7;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,2 +1,5 @@
|
|||
import "init";
|
||||
|
||||
import "components/page/page";
|
||||
import "components/cluster-list/cluster-list";
|
||||
import "components/cluster-new/cluster-new";
|
||||
|
|
7
test/controllers/cluster_controller_test.rb
Normal file
7
test/controllers/cluster_controller_test.rb
Normal file
|
@ -0,0 +1,7 @@
|
|||
require 'test_helper'
|
||||
|
||||
class ClusterControllerTest < ActionDispatch::IntegrationTest
|
||||
# test "the truth" do
|
||||
# assert true
|
||||
# end
|
||||
end
|
7
test/controllers/counter_controller_test.rb
Normal file
7
test/controllers/counter_controller_test.rb
Normal file
|
@ -0,0 +1,7 @@
|
|||
require 'test_helper'
|
||||
|
||||
class CounterControllerTest < ActionDispatch::IntegrationTest
|
||||
# test "the truth" do
|
||||
# assert true
|
||||
# end
|
||||
end
|
7
test/controllers/session_controller_test.rb
Normal file
7
test/controllers/session_controller_test.rb
Normal file
|
@ -0,0 +1,7 @@
|
|||
require 'test_helper'
|
||||
|
||||
class SessionControllerTest < ActionDispatch::IntegrationTest
|
||||
# test "the truth" do
|
||||
# assert true
|
||||
# end
|
||||
end
|
Reference in New Issue
Block a user