about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--README.md75
-rw-r--r--app/assets/images/favicon.pngbin0 -> 25716 bytes
-rw-r--r--app/views/layouts/application.html.erb35
-rw-r--r--app/views/machines/index.html.erb8
-rw-r--r--app/views/machines/show.html.erb7
-rw-r--r--app/views/pages/index.html.erb3
-rw-r--r--app/views/players/_player.html.erb4
-rw-r--r--app/views/players/index.html.erb53
-rw-r--r--app/views/players/show.html.erb7
9 files changed, 117 insertions, 75 deletions
diff --git a/README.md b/README.md
index 7db80e4..3d0b7b9 100644
--- a/README.md
+++ b/README.md
@@ -1,24 +1,51 @@
-# README
-
-This README would normally document whatever steps are necessary to get the
-application up and running.
-
-Things you may want to cover:
-
-* Ruby version
-
-* System dependencies
-
-* Configuration
-
-* Database creation
-
-* Database initialization
-
-* How to run the test suite
-
-* Services (job queues, cache servers, search engines, etc.)
-
-* Deployment instructions
-
-* ...
+# [pinrails](https://nomipinball.bhh.sh)
+
+just a silly little site to help run the pinball tournaments at
+[the coin slot](https://thecoinslottc.com/).
+
+currently running on ruby 3.0.2
+
+    bundle install
+    RAILS_ENV=production bundle exec rails db:migrate
+    RAILS_ENV=production bundle exec assets:precompile
+
+## nginx config:
+
+    server {
+        listen 80;
+        server_name nomipinball.bhh.sh;
+        return 307 https://$server_name$request_uri;
+    }
+    
+    server {
+        listen 443 ssl;
+        include snippets/ssl/bhh.sh;
+        root /srv/pinrails/pinrails/public;
+        server_name nomipinball.bhh.sh;
+    
+        try_files $uri $uri/index.html $uri.html @rails_app;
+    
+        location @rails_app {
+            include proxy_params;
+            proxy_pass http://localhost:4000;
+        }
+    }
+
+## /etc/systemd/system/pinrails.service
+
+    [Unit]
+    Description=pinrails
+    Wants=network.target
+    
+    [Service]
+    Type=simple
+    User=pinrails
+    Group=nogroup
+    WorkingDirectory=/srv/pinrails/pinrails
+    Environment=RAILS_ENV=production
+    Environment=PORT=4000
+    Environment=RAILS_LOG_TO_STDOUT=true
+    ExecStart=/srv/pinrails/.rbenv/shims/bundle exec rails server -b 127.0.0.1
+    
+    [Install]
+    WantedBy=multi-user.target
diff --git a/app/assets/images/favicon.png b/app/assets/images/favicon.png
new file mode 100644
index 0000000..f6862b2
--- /dev/null
+++ b/app/assets/images/favicon.png
Binary files differdiff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
index 7795f10..ae0092e 100644
--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -1,22 +1,23 @@
 <!DOCTYPE html>
 <html lang="en">
-  <head>
-    <title>Knockout</title>
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <%= csrf_meta_tags %>
-    <%= csp_meta_tag %>
+<head>
+  <title>Knockout</title>
+  <meta name="viewport" content="width=device-width,initial-scale=1">
+  <%= csrf_meta_tags %>
+  <%= csp_meta_tag %>
 
-    <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
-    <%= javascript_importmap_tags %>
-  </head>
+  <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
+  <%= javascript_importmap_tags %>
+  <%= favicon_link_tag asset_path('favicon.png') %>
+</head>
 
-  <body>
-    <nav>
-      <%= link_to 'Home', root_path, class: "#{"current" if current_page?(root_path)}" %>
-      <%= link_to 'Pins', machines_path, class: "#{"current" if current_page?(machines_path)}" %>
-      <%= link_to 'Players', players_path, class: "#{"current" if current_page?(players_path)}" %>
-      <%= link_to 'Randomize', {controller: 'pages', action: 'randomize'}, class: "#{"current" if current_page?(controller: 'pages', action: 'randomize')}" %>
-    </nav>
-    <%= yield %>
-  </body>
+<body>
+<nav>
+  <%= link_to 'Home', root_path, class: "#{"current" if current_page?(root_path)}" %>
+  <%= link_to 'Pins', machines_path, class: "#{"current" if current_page?(machines_path)}" %>
+  <%= link_to 'Players', players_path, class: "#{"current" if current_page?(players_path)}" %>
+  <%= link_to 'Randomize', { controller: 'pages', action: 'randomize' }, class: "#{"current" if current_page?(controller: 'pages', action: 'randomize')}" %>
+</nav>
+<%= yield %>
+</body>
 </html>
diff --git a/app/views/machines/index.html.erb b/app/views/machines/index.html.erb
index a20a543..bde59c2 100644
--- a/app/views/machines/index.html.erb
+++ b/app/views/machines/index.html.erb
@@ -1,10 +1,14 @@
-<% if not notice.nil? %><p style="color: green"><%= notice %></p><% end %>
+<% if not notice.nil? %><p style="color: green"><%= notice %></p>
+<% end %>
 
 <h1>Pins</h1>
 
 <div id="machines">
   <% @machines.each do |machine| %>
-    <%= render machine %>
+    <p id="<%= dom_id machine %>">
+      <%= link_to machine.name, machine %>
+      <small><%= machine.edition %></small>
+    </p>
   <% end %>
 </div>
 
diff --git a/app/views/machines/show.html.erb b/app/views/machines/show.html.erb
index 4bba20c..584dac6 100644
--- a/app/views/machines/show.html.erb
+++ b/app/views/machines/show.html.erb
@@ -1,9 +1,12 @@
-<% if not notice.nil? %><p style="color: green"><%= notice %></p><% end %>
+<% if not notice.nil? %><p style="color: green"><%= notice %></p>
+<% end %>
+
+<h1><%= @machine.name %></h1>
 
 <%= render "form", machine: @machine %>
 
 <div>
   <%= link_to "Delete #{@machine.name} ❌", @machine, data: {
     turbo_method: :delete,
-    turbo_confirm: "Are you sure you want to remove #{@machine.name}?"} %>
+    turbo_confirm: "Are you sure you want to remove #{@machine.name}?" } %>
 </div>
diff --git a/app/views/pages/index.html.erb b/app/views/pages/index.html.erb
index e9456ca..32cfa7f 100644
--- a/app/views/pages/index.html.erb
+++ b/app/views/pages/index.html.erb
@@ -1,3 +1,4 @@
 <h1>Knockout</h1>
-<p>To start the tournament, add players and make sure that the pins are up to date. Then hit randomize to automatically pick teams!</p>
+<p>To start the tournament, add players and make sure that the pins are up to date. Then hit randomize to automatically
+  pick teams!</p>
 <p>The source code for this app can be found <%= link_to 'here', "#{GIT_REPO}/src/commit/#{GIT_SHA}" %>.</p>
diff --git a/app/views/players/_player.html.erb b/app/views/players/_player.html.erb
index 4d1abeb..4002ea5 100644
--- a/app/views/players/_player.html.erb
+++ b/app/views/players/_player.html.erb
@@ -1,6 +1,8 @@
 <div id="<%= dom_id player %>">
   <p>
-    <% if player.paid %>✓<% else %>&nbsp;<% end %>
+    <% if player.paid %>✓
+    <% else %>&nbsp;
+    <% end %>
     <%= link_to player.name, player %>
   </p>
 </div>
diff --git a/app/views/players/index.html.erb b/app/views/players/index.html.erb
index 772d19a..2c011d3 100644
--- a/app/views/players/index.html.erb
+++ b/app/views/players/index.html.erb
@@ -1,33 +1,34 @@
-<% if not notice.nil? %><p style="color: green"><%= notice %></p><% end %>
+<% if not notice.nil? %><p style="color: green"><%= notice %></p>
+<% end %>
 
 <h1>Players</h1>
 
 <% if @players.any? %>
-<div id="players">
-  <table>
-    <thead>
-    <th>Name</th>
-    <th>Paid</th>
-    <th>Strikes</th>
-    <th>Delete</th>
-    </thead>
-    <tbody>
-    <% @players.each do |player| %>
-      <tr>
-        <td><%= link_to player.name, player %></td>
-        <td>
-          <% if player.paid %>✓
-          <% end %></td>
-        <td><%= player.strikes %></td>
-        <td><%= link_to "❌", player, data: {
-          turbo_method: :delete,
-          turbo_confirm: "Are you sure you want to remove #{player.name}?"
-        } %></td>
-      </tr>
-    <% end %>
-    </tbody>
-  </table>
-</div>
+  <div id="players">
+    <table>
+      <thead>
+      <th>Name</th>
+      <th>Paid</th>
+      <th>Strikes</th>
+      <th>Delete</th>
+      </thead>
+      <tbody>
+      <% @players.each do |player| %>
+        <tr id="<%= dom_id player %>">
+          <td><%= link_to player.name, player %></td>
+          <td>
+            <% if player.paid %>✓
+            <% end %></td>
+          <td><%= player.strikes %></td>
+          <td><%= link_to "❌", player, data: {
+            turbo_method: :delete,
+            turbo_confirm: "Are you sure you want to remove #{player.name}?"
+          } %></td>
+        </tr>
+      <% end %>
+      </tbody>
+    </table>
+  </div>
 <% end %>
 
 <p><%= pluralize(@players.count, 'total player') %></p>
diff --git a/app/views/players/show.html.erb b/app/views/players/show.html.erb
index 3d0bb78..bd72bd3 100644
--- a/app/views/players/show.html.erb
+++ b/app/views/players/show.html.erb
@@ -1,9 +1,12 @@
-<% if not notice.nil? %><p style="color: green"><%= notice %></p><% end %>
+<% if not notice.nil? %><p style="color: green"><%= notice %></p>
+<% end %>
+
+<h1><%= @player.name %></h1>
 
 <%= render "form", player: @player %>
 
 <div>
   <%= link_to "Delete #{@player.name} ❌", @player, data: {
     turbo_method: :delete,
-    turbo_confirm: "Are you sure you want to remove #{@player.name}?"} %>
+    turbo_confirm: "Are you sure you want to remove #{@player.name}?" } %>
 </div>