Merge pull request #9 from bumi/setup-application-layout
Add application layout styling
This commit is contained in:
commit
3042f422f6
@ -14,18 +14,26 @@
|
|||||||
*= require_self
|
*= require_self
|
||||||
*/
|
*/
|
||||||
@import "bulma/sass/utilities/initial-variables";
|
@import "bulma/sass/utilities/initial-variables";
|
||||||
|
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Lobster&family=Comfortaa:wght@400;500;600;700&display=swap');
|
||||||
|
|
||||||
$family-sans-serif: "Helvetica",
|
$family-sans-serif: 'Roboto', sans-serif;
|
||||||
"Arial",
|
$family-secondary: 'Comfortaa', cursive;
|
||||||
sans-serif;
|
// // https://coolors.co/06aed5-086788-f0c808-fff1d0-dd1c1a
|
||||||
// https://coolors.co/06aed5-086788-f0c808-fff1d0-dd1c1a
|
// $blue: #083d77;
|
||||||
$blue: #083d77;
|
// $red: #dd1c1a;
|
||||||
$red: #dd1c1a;
|
// $orange: #ee964b;
|
||||||
$orange: #ee964b;
|
// $yellow: #f4d35e;
|
||||||
$yellow: #f4d35e;
|
// $light: #f5fafe; // #ebebd3;
|
||||||
$light: #f5fafe; // #ebebd3;
|
// $primary: $blue;
|
||||||
$primary: $blue;
|
// $green: #007932; // hsl(141, 53%, 53%);
|
||||||
$green: #007932; // hsl(141, 53%, 53%);
|
// $footer-background-color: $light;
|
||||||
$footer-background-color: $light;
|
|
||||||
|
|
||||||
@import 'bulma/bulma';
|
@import 'bulma/bulma';
|
||||||
|
|
||||||
|
.is-font-logo {
|
||||||
|
font-family: 'Lobster', cursive;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
min-height: 100vh;
|
||||||
|
}
|
@ -1,4 +1,5 @@
|
|||||||
class ApplicationController < ActionController::Base
|
class ApplicationController < ActionController::Base
|
||||||
|
helper_method :current_user, :logged_in?
|
||||||
|
|
||||||
def require_login
|
def require_login
|
||||||
redirect_to login_url unless current_user.present?
|
redirect_to login_url unless current_user.present?
|
||||||
|
@ -15,3 +15,30 @@ require("channels")
|
|||||||
//
|
//
|
||||||
// const images = require.context('../images', true)
|
// const images = require.context('../images', true)
|
||||||
// const imagePath = (name) => images(name, true)
|
// const imagePath = (name) => images(name, true)
|
||||||
|
|
||||||
|
|
||||||
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
|
||||||
|
// Get all "navbar-burger" elements
|
||||||
|
const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);
|
||||||
|
|
||||||
|
// Check if there are any navbar burgers
|
||||||
|
if ($navbarBurgers.length > 0) {
|
||||||
|
|
||||||
|
// Add a click event on each of them
|
||||||
|
$navbarBurgers.forEach(el => {
|
||||||
|
el.addEventListener('click', () => {
|
||||||
|
|
||||||
|
// Get the target from the "data-target" attribute
|
||||||
|
const target = el.dataset.target;
|
||||||
|
const $target = document.getElementById(target);
|
||||||
|
|
||||||
|
// Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu"
|
||||||
|
el.classList.toggle('is-active');
|
||||||
|
$target.classList.toggle('is-active');
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
@ -1,3 +1,12 @@
|
|||||||
<h1>Welcome</h1>
|
<section class="hero is-medium is-dark is-bold">
|
||||||
|
<div class="hero-body">
|
||||||
<%= link_to "Login", login_url %>
|
<div class="container">
|
||||||
|
<h1 class="title is-family-secondary has-text-weight-bold">
|
||||||
|
Welcome
|
||||||
|
</h1>
|
||||||
|
<p class="subtitle is-size-6 has-text-white">
|
||||||
|
Generate forms instantly
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
@ -1,15 +1,59 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
|
||||||
|
<head>
|
||||||
<title>Tinyform</title>
|
<title>Tinyform</title>
|
||||||
<%= csrf_meta_tags %>
|
<%= csrf_meta_tags %>
|
||||||
<%= csp_meta_tag %>
|
<%= csp_meta_tag %>
|
||||||
|
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
|
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
|
||||||
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
|
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body class="has-background-white-bis">
|
||||||
|
<!-- Wrapper -->
|
||||||
|
<div id="wrapper" class="has-text-centered-mobile">
|
||||||
|
|
||||||
|
<!-- Hero -->
|
||||||
|
<section class="hero is-medium">
|
||||||
|
<div class="hero-head">
|
||||||
|
<div class="container">
|
||||||
|
<nav class="navbar" role="navigation" aria-label="main navigation">
|
||||||
|
<div class="navbar-brand">
|
||||||
|
<a class="navbar-item is-size-4 has-text-black has-text-weight-bold is-font-logo" href="/">
|
||||||
|
TinyForms
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a role="button" class="navbar-burger burger" aria-label="menu" aria-expanded="false"
|
||||||
|
data-target="navbar">
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="navbar" class="navbar-menu">
|
||||||
|
<div class="navbar-end">
|
||||||
|
<div class="navbar-item">
|
||||||
|
<div class="buttons">
|
||||||
|
<% if !logged_in? -%>
|
||||||
|
<%= link_to "Login", login_url, { :class => "button is-primary"} %>
|
||||||
|
<% else -%>
|
||||||
|
<%= link_to "Logout", logout_url, { :class => "button is-light"} %>
|
||||||
|
<% end -%>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<main>
|
||||||
<%= yield %>
|
<%= yield %>
|
||||||
</body>
|
</main>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
@ -7,6 +7,7 @@
|
|||||||
"@rails/ujs": "^6.0.0",
|
"@rails/ujs": "^6.0.0",
|
||||||
"@rails/webpacker": "4.2.2",
|
"@rails/webpacker": "4.2.2",
|
||||||
"bulma": "^0.8.1",
|
"bulma": "^0.8.1",
|
||||||
|
"bulma-helpers": "^0.3.10",
|
||||||
"turbolinks": "^5.2.0"
|
"turbolinks": "^5.2.0"
|
||||||
},
|
},
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
|
@ -1540,6 +1540,11 @@ builtin-status-codes@^3.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
|
resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
|
||||||
integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
|
integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
|
||||||
|
|
||||||
|
bulma-helpers@^0.3.10:
|
||||||
|
version "0.3.10"
|
||||||
|
resolved "https://registry.yarnpkg.com/bulma-helpers/-/bulma-helpers-0.3.10.tgz#a0ab518b44343bb708339ade721f7355d159a547"
|
||||||
|
integrity sha512-dgJB8LreVzAHJfcbYUUONA0oo/cdWxhFt1b/DlmTLaukYTjkdM5GP9A7DRyssjuRhcozIqzTm//BLLR313Xw3Q==
|
||||||
|
|
||||||
bulma@^0.8.1:
|
bulma@^0.8.1:
|
||||||
version "0.8.1"
|
version "0.8.1"
|
||||||
resolved "https://registry.yarnpkg.com/bulma/-/bulma-0.8.1.tgz#a5feacb703b73a87fdeae4f0d12317d62fc1d301"
|
resolved "https://registry.yarnpkg.com/bulma/-/bulma-0.8.1.tgz#a5feacb703b73a87fdeae4f0d12317d62fc1d301"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user