mirror of
https://github.com/jcwimer/wrestlingApp
synced 2026-03-24 17:04:43 +00:00
Moved the tournament navbar to the bottom of the page and made site responsive. Fixed puma solid queue in development. Added a note about clobbering assets in the README. Fixed the ad blocker check due to turbolinks it had to be idempotent. Added migrations for all dbs in the rails-dev-db-create.sh script.
This commit is contained in:
@@ -77,6 +77,7 @@ Whether you have a shell from docker or are using rvm you can now run normal rai
|
||||
* ` rails s -b 0.0.0.0` port 3000 is exposed. You can open [http://localhost:3000](http://localhost:3000) after running that command
|
||||
* etc.
|
||||
* `rake finish_seed_tournaments` will complete all matches from the seed data. This command takes about 5 minutes to execute
|
||||
* `rake assets:clobber` - removes previously compiled assets stored in `public/assets` forcing Rails to recompile them from scratch the next time they are requested.
|
||||
|
||||
## Testing Job Status
|
||||
|
||||
|
||||
@@ -10,11 +10,13 @@
|
||||
// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
|
||||
// about supported directives.
|
||||
//
|
||||
//= require_tree .
|
||||
//= require jquery
|
||||
//= require jquery_ujs
|
||||
// Bootstrap 3.3.6 in vendor/assets/javascripts
|
||||
//= require bootstrap.min.js
|
||||
// Data Tables 1.10.6 in vendor/assets/javascripts
|
||||
//= require jquery.dataTables.min.js
|
||||
//= require turbolinks
|
||||
//
|
||||
//= require_tree .
|
||||
|
||||
|
||||
@@ -10,10 +10,13 @@
|
||||
* defined in the other CSS/SCSS files in this directory. It is generally better to create a new
|
||||
* file per style scope.
|
||||
*
|
||||
*= require_tree .
|
||||
*= require_self
|
||||
* For some reason this needs to be above bootstrap for the zindex of the main navbar to work.
|
||||
* With it lower, bootstraps css overrides it.
|
||||
*= require custom
|
||||
* Bootstrap 3.3.6 in vendor/assets/stylesheets
|
||||
*= require bootstrap.min.css
|
||||
*= require bootstrap-theme.min.css
|
||||
|
||||
*= require_tree .
|
||||
*= require_self
|
||||
*/
|
||||
|
||||
|
||||
17
app/assets/stylesheets/custom.css
Normal file
17
app/assets/stylesheets/custom.css
Normal file
@@ -0,0 +1,17 @@
|
||||
.navbar-inverse.navbar-fixed-top {
|
||||
z-index: 1040; /* Ensure main navbar is above tournament navbar */
|
||||
}
|
||||
|
||||
#tournament-navbar {
|
||||
top: 50px; /* Position below the first fixed navbar */
|
||||
z-index: 1030; /* Explicitly set standard fixed navbar z-index */
|
||||
}
|
||||
|
||||
/* Make desktop navbar dropdowns scrollable if they overflow */
|
||||
@media (min-width: 768px) {
|
||||
/* Target dropdowns in main nav and tournament nav specifically */
|
||||
.navbar-fixed-top .dropdown-menu {
|
||||
max-height: 70vh; /* Adjust as needed - 70% of viewport height */
|
||||
overflow-y: auto;
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,7 @@
|
||||
<a class="navbar-brand" href="/">WrestlingDev</a>
|
||||
</div>
|
||||
<div id="navbar" class="collapse navbar-collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li><%= link_to "Browse Tournaments", "/tournaments/" %></li>
|
||||
<li><%= link_to "About", "/static_pages/about" %></li>
|
||||
<li><%= link_to "Tutorials", "/static_pages/tutorials" %></li>
|
||||
|
||||
@@ -1,13 +1,21 @@
|
||||
<% if @tournament and @tournament.id %>
|
||||
<h2><%= @tournament.name %> Links</h2>
|
||||
<nav class="navbar navbar-default navbar-static-top" role="navigation" id="tournament-navbar">
|
||||
<nav class="navbar navbar-default navbar-fixed-top" role="navigation" id="tournament-navbar">
|
||||
<div class="container">
|
||||
<div class="collapse navbar-collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li><%= link_to " Tournament Home" , "/tournaments/#{@tournament.id}", class: "fas fa-home" %></li>
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#tournament-navbar-collapse" aria-expanded="false" aria-controls="navbar">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<%= link_to "Tournament Menu", "/tournaments/#{@tournament.id}", class: "navbar-brand" %>
|
||||
</div>
|
||||
<div id="tournament-navbar-collapse" class="collapse navbar-collapse">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li><%= link_to " Home" , "/tournaments/#{@tournament.id}", class: "fas fa-home" %></li>
|
||||
<% if can? :read, @tournament %>
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" href="#"><i class="fas fa-poll-h"> Tournament Results/Brackets</i>
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" href="#"><i class="fas fa-poll-h"> Results/Brackets</i>
|
||||
<span class="caret"></span></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><strong>Results</strong></li>
|
||||
@@ -24,7 +32,7 @@
|
||||
<% end %>
|
||||
<% if can? :manage, @tournament %>
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" href="#director"><i class="fas fa-tools"> Tournament Director Links</i>
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" href="#director"><i class="fas fa-tools"> Director Links</i>
|
||||
<span class="caret"></span></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><strong>Pages</strong></li>
|
||||
|
||||
@@ -14,21 +14,37 @@
|
||||
<p>We've detected that you have an ad blocker enabled! Please consider disabling it for <strong>wrestlingdev.com</strong>. This site is free for users and supported by ads. Ad blockers also block performance monitoring that help us with user experience.</p>
|
||||
</div>
|
||||
<script>
|
||||
let fakeAd = document.createElement("div");
|
||||
// Only run ad blocker check if fakeAd hasn't been checked yet in this context
|
||||
if (typeof window.adBlockerCheckExecuted === 'undefined') {
|
||||
let fakeAd = document.createElement("div");
|
||||
fakeAd.className = "textads banner-ads banner_ads ad-unit ad-zone ad-space adsbox"
|
||||
|
||||
fakeAd.style.height = "1px"
|
||||
fakeAd.style.position = "absolute"; // Prevent potential layout shift
|
||||
fakeAd.style.top = "-10px";
|
||||
fakeAd.style.left = "-10px";
|
||||
|
||||
document.body.appendChild(fakeAd)
|
||||
|
||||
// Use requestAnimationFrame to ensure the element is rendered before checking offsetHeight
|
||||
requestAnimationFrame(() => {
|
||||
let x_width = fakeAd.offsetHeight;
|
||||
let msg = document.getElementById("msg")
|
||||
|
||||
// let msg = document.getElementById("msg") // msg variable wasn't used
|
||||
|
||||
if(x_width){
|
||||
console.log("No AdBlocker Detected")
|
||||
}else{
|
||||
console.log("AdBlocker detected")
|
||||
document.getElementById("blocked_message").style.display = 'block';
|
||||
const blockedMessage = document.getElementById("blocked_message");
|
||||
if (blockedMessage) {
|
||||
blockedMessage.style.display = 'block';
|
||||
}
|
||||
}
|
||||
// Clean up the fake element
|
||||
document.body.removeChild(fakeAd);
|
||||
});
|
||||
|
||||
// Mark check as executed
|
||||
window.adBlockerCheckExecuted = true;
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -16,25 +16,24 @@
|
||||
<% else %>
|
||||
<head>
|
||||
<title>WrestlingDev</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<% if Rails.env.production? %>
|
||||
<%= render 'layouts/analytics' %>
|
||||
<% end %>
|
||||
<%= stylesheet_link_tag "application", media: "all",
|
||||
"data-turbolinks-track" => true %>
|
||||
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
|
||||
<%= stylesheet_link_tag "application" %>
|
||||
<%= javascript_include_tag "application" %>
|
||||
<%= csrf_meta_tags %>
|
||||
<%= render 'layouts/cdn' %>
|
||||
<%= render 'layouts/shim' %>
|
||||
</head>
|
||||
<body style="padding-top: 70px;">
|
||||
<body style="padding-top: 100px;">
|
||||
<%= render 'layouts/header' %>
|
||||
<%= render 'layouts/tournament-navbar' %>
|
||||
|
||||
<div class="container">
|
||||
<div class="navbar-roof"></div>
|
||||
<%= render 'layouts/header' %>
|
||||
|
||||
<div id="page-content">
|
||||
<div class="row">
|
||||
<%= render 'layouts/tournament-navbar' %>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12"><%= render 'layouts/underheader' %></div>
|
||||
</div>
|
||||
@@ -46,7 +45,9 @@
|
||||
<% if alert %>
|
||||
<p id="alert" class="alert alert-danger alert-dismissible"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a><%= alert %></p>
|
||||
<% end %>
|
||||
<div id="view"><%= yield %></div>
|
||||
<div id="view" style="overflow-x: auto; overflow-y: hidden;"> <%# Horizontal scroll only %>
|
||||
<%= yield %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<br><br>
|
||||
<h3>
|
||||
Info
|
||||
<%= @tournament.name %> Info
|
||||
</h3>
|
||||
|
||||
<% if (can? :manage, @tournament) && @tournament.curently_generating_matches == 1 %>
|
||||
|
||||
@@ -3,4 +3,7 @@ project_dir="$(dirname $( dirname $(readlink -f ${BASH_SOURCE[0]})))"
|
||||
|
||||
cd ${project_dir}
|
||||
rake db:setup
|
||||
rake db:migrate RAILS_ENV=test
|
||||
rake db:migrate
|
||||
rake db:migrate:cache
|
||||
rake db:migrate:queue
|
||||
rake db:migrate:cable
|
||||
|
||||
@@ -38,6 +38,7 @@ Rails.application.configure do
|
||||
config.active_job.queue_adapter = :solid_queue
|
||||
# Don't use connects_to here since it's configured via queue.yml
|
||||
# config.solid_queue.connects_to = { database: { writing: :queue } }
|
||||
config.solid_queue.connects_to = { database: { writing: :queue, reading: :queue } }
|
||||
|
||||
# Configure ActionCable to use its own database
|
||||
# Don't use connects_to here since it's configured via cable.yml
|
||||
|
||||
1
public/assets/.gitignore
vendored
1
public/assets/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
*-*
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,108 +0,0 @@
|
||||
// Place all the styles related to the Admin controller here.
|
||||
// They will automatically be included in application.css.
|
||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||
// Place all the styles related to the Matches controller here.
|
||||
// They will automatically be included in application.css.
|
||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||
// Place all the styles related to the Mats controller here.
|
||||
// They will automatically be included in application.css.
|
||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||
body {
|
||||
background-color: #fff;
|
||||
color: #333;
|
||||
font-family: verdana, arial, helvetica, sans-serif;
|
||||
font-size: 13px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
p, ol, ul, td {
|
||||
font-family: verdana, arial, helvetica, sans-serif;
|
||||
font-size: 13px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
pre {
|
||||
background-color: #eee;
|
||||
padding: 10px;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #000;
|
||||
&:visited {
|
||||
color: #666;
|
||||
}
|
||||
&:hover {
|
||||
color: #fff;
|
||||
background-color: #000;
|
||||
}
|
||||
}
|
||||
|
||||
div {
|
||||
&.field, &.actions {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
#notice {
|
||||
color: green;
|
||||
}
|
||||
|
||||
.field_with_errors {
|
||||
padding: 2px;
|
||||
background-color: red;
|
||||
display: table;
|
||||
}
|
||||
|
||||
#error_explanation {
|
||||
width: 450px;
|
||||
border: 2px solid red;
|
||||
padding: 7px;
|
||||
padding-bottom: 0;
|
||||
margin-bottom: 20px;
|
||||
background-color: #f0f0f0;
|
||||
h2 {
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
padding: 5px 5px 5px 15px;
|
||||
font-size: 12px;
|
||||
margin: -7px;
|
||||
margin-bottom: 0px;
|
||||
background-color: #c00;
|
||||
color: #fff;
|
||||
}
|
||||
ul li {
|
||||
font-size: 12px;
|
||||
list-style: square;
|
||||
}
|
||||
}
|
||||
// Place all the styles related to the Schools controller here.
|
||||
// They will automatically be included in application.css.
|
||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||
// Place all the styles related to the StaticPages controller here.
|
||||
// They will automatically be included in application.css.
|
||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||
// Place all the styles related to the tournaments controller here.
|
||||
// They will automatically be included in application.css.
|
||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||
// Place all the styles related to the Weights controller here.
|
||||
// They will automatically be included in application.css.
|
||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||
// Place all the styles related to the Wrestlers controller here.
|
||||
// They will automatically be included in application.css.
|
||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||
/*
|
||||
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
||||
* listed below.
|
||||
*
|
||||
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
||||
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
|
||||
*
|
||||
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
|
||||
* compiled file so the styles you add here take precedence over styles defined in any styles
|
||||
* defined in the other CSS/SCSS files in this directory. It is generally better to create a new
|
||||
* file per style scope.
|
||||
*
|
||||
|
||||
|
||||
*/
|
||||
Reference in New Issue
Block a user