Skip to content

Commit

Permalink
adding some view and some something ;)
Browse files Browse the repository at this point in the history
  • Loading branch information
baldarn committed Jul 19, 2024
1 parent cb71a3f commit a049dcc
Show file tree
Hide file tree
Showing 16 changed files with 643 additions and 141 deletions.
1 change: 1 addition & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ Style/Documentation:
Metrics/BlockLength:
Exclude:
- config/environments/*
- config/initializers/simple_form_bootstrap.rb

Metrics/MethodLength:
Max: 35
Expand Down
33 changes: 33 additions & 0 deletions app/controllers/members_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# frozen_string_literal: true

class MembersController < ApplicationController
def update
@member = Member.find(params[:id])

if @member.update(member_params)
respond_to do |format|
format.turbo_stream
end
else
render :new, status: :unprocessable_entity
end
end

def member_params
params.require(:member)
.permit(
:first_name,
:last_name,
:born_at,
:born_in,
:tax_code,
:citizenship,
:address,
:postal_code,
:municipality,
:province,
:telephone,
:email
)
end
end
9 changes: 8 additions & 1 deletion app/models/member.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,14 @@ class Member < ApplicationRecord
has_many :payments, dependent: :destroy
has_many :memberships, dependent: :destroy

validates :name, :surname, :born_at, :born_in, :citizenship, :address, :postal_code, presence: true
validates :first_name,
:last_name,
:born_at,
:born_in,
:citizenship,
:address,
:postal_code,
:municipality, presence: true

def status
%w[ok warning error].sample
Expand Down
109 changes: 109 additions & 0 deletions app/views/application/_header.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
<nav class="navbar navbar-expand-lg bg-body-tertiary">
<div class="container-fluid">
<a class="navbar-brand" href="#">Open GAS</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="nav col-12 col-lg-auto my-2 justify-content-center my-md-0 text-small">
<li class="nav-item">
<a href="#" class="nav-link text-secondary">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Giocatori
</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Staff
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</li>
<li class="nav-item">
<a href="#" class="nav-link text-secondary">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Società
</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link text-secondary">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Certificati
</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link text-secondary">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Tessere
</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Pagamenti
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Campionati
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Tornei
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</li>
<li class="nav-item">
<a href="#" class="nav-link text-secondary">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Programmazione
</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link text-secondary">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Mail
</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Report
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</li>
</li>
</ul>
</div>
</div>
</nav>
15 changes: 15 additions & 0 deletions app/views/home/_member.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<%= simple_form_for member, html: { class: 'row' } do |f| %>
<%= f.input :first_name, wrapper_html: { class: 'col-6' } %>
<%= f.input :last_name, wrapper_html: { class: 'col-6' } %>
<%= f.input :born_at %>
<%= f.input :born_in %>
<%= f.input :tax_code %>
<%= f.input :citizenship, wrapper_html: { class: 'col-6' } %>
<%= f.input :address, wrapper_html: { class: 'col-6' } %>
<%= f.input :postal_code, wrapper_html: { class: 'col-2' } %>
<%= f.input :municipality, wrapper_html: { class: 'col-8' } %>
<%= f.input :province, wrapper_html: { class: 'col-2' } %>
<%= f.input :telephone, wrapper_html: { class: 'col-6' } %>
<%= f.input :email, wrapper_html: { class: 'col-6' } %>
<%= f.submit 'Save', class: 'd-none' %>
<% end %>
34 changes: 18 additions & 16 deletions app/views/home/index.html.erb
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
<ul class="nav nav-tabs" id="myTab" role="tablist">
<% @members.each do |member| %>
<li class="nav-item" role="presentation">
<button class="nav-link" id="<%= member.name.parameterize %>-tab" data-bs-toggle="tab" data-bs-target="#<%= member.name.parameterize %>" type="button" role="tab" aria-controls="<%= member.name %>" aria-selected="true">
<span class="dot-<%= member.status %>"></span>
<%= member.name %>
</button>
</li>
<% end %>
</ul>
<div class="tab-content" id="myTabContent">
<% @members.each do |member| %>
<div class="tab-pane fade show" id="<%= member.name.parameterize %>" role="tabpanel" aria-labelledby="<%= member.name.parameterize %>-tab">
<%= member.name %>
</div>
<% end %>
<div>
<ul class="nav nav-tabs" id="myTab" role="tablist">
<% @members.each do |member| %>
<li class="nav-item" role="presentation">
<button class="nav-link" id="<%= member.first_name.parameterize %>-tab" data-bs-toggle="tab" data-bs-target="#<%= member.first_name.parameterize %>" type="button" role="tab" aria-controls="<%= member.first_name %>" aria-selected="true">
<span class="dot-<%= member.status %>"></span>
<%= member.first_name %>
</button>
</li>
<% end %>
</ul>
<div class="tab-content" id="myTabContent">
<% @members.each do |member| %>
<div class="tab-pane fade show" id="<%= member.first_name.parameterize %>" role="tabpanel" aria-labelledby="<%= member.first_name.parameterize %>-tab">
<%= render partial: 'member', locals: { member: } %>
</div>
<% end %>
</div>
</div>
120 changes: 8 additions & 112 deletions app/views/layouts/application.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -20,121 +20,17 @@
</head>
<body data-controller="fullscreen lightbox">
<header>
<nav class="navbar navbar-expand-lg bg-body-tertiary">
<div class="container-fluid">
<a class="navbar-brand" href="#">Open GAS</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="nav col-12 col-lg-auto my-2 justify-content-center my-md-0 text-small">
<li class="nav-item">
<a href="#" class="nav-link text-secondary">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Giocatori
</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Staff
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</li>
<li class="nav-item">
<a href="#" class="nav-link text-secondary">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Società
</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link text-secondary">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Certificati
</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link text-secondary">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Tessere
</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Pagamenti
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Campionati
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Tornei
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</li>
<li class="nav-item">
<a href="#" class="nav-link text-secondary">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Programmazione
</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link text-secondary">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Mail
</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<%= image_tag "add.svg", aria: { hidden: true }, size: 24, class: "bi d-block mx-auto mb-1" %>
Report
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</li>
</li>
</ul>
</div>
</div>
</nav>
<%= render partial: 'header' %>
</header>
<div id="toolbar">
</div>
<main id="main" class="<%= @layout_class %>">
<%= yield %>
</main>
<div class="container">
<div class="row justify-content-center">
<div class="col-12 col-md-10">
<%= yield %>
</div>
</div>
</div>
<footer id="footer">
</footer>
</body>
Expand Down
2 changes: 2 additions & 0 deletions config/application.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,7 @@ class Application < Rails::Application
#
# config.time_zone = "Central Time (US & Canada)"
# config.eager_load_paths << Rails.root.join("extras")

config.i18n.default_locale = :it
end
end
Loading

0 comments on commit a049dcc

Please sign in to comment.