implemented lato font, reorganized CSS, link-ified navbar-brand
This commit is contained in:
parent
129354dec1
commit
299ab5dd14
9 changed files with 221 additions and 81 deletions
12
assets/css/_bs-custom.scss
Normal file
12
assets/css/_bs-custom.scss
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
/* Bootstrap custom variable overrides */
|
||||||
|
|
||||||
|
// Typography
|
||||||
|
//
|
||||||
|
// Font, line-height, and color for body text, headings, and more.
|
||||||
|
|
||||||
|
// stylelint-disable value-keyword-case
|
||||||
|
$font-family-sans-serif: Lato, system-ui, -apple-system, "Segoe UI", Roboto,
|
||||||
|
"Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif,
|
||||||
|
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
|
||||||
|
// $font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas,
|
||||||
|
// "Liberation Mono", "Courier New", monospace !important;
|
11
assets/css/_fonts.scss
Normal file
11
assets/css/_fonts.scss
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
/* Fontsource Lato */
|
||||||
|
// @import "../node_modules/@fontsource/lato/100.css"; /* thin | normal */
|
||||||
|
// @import "../node_modules/@fontsource/lato/100-italic.css"; /* thin | italic */
|
||||||
|
// @import "../node_modules/@fontsource/lato/300.css"; /* light | normal */
|
||||||
|
// @import "../node_modules/@fontsource/lato/300-italic.css"; /* light | italic */
|
||||||
|
@import "../node_modules/@fontsource/lato/400.css"; /* normal | normal */
|
||||||
|
// @import "../node_modules/@fontsource/lato/400-italic.css"; /* normal | italic */
|
||||||
|
// @import "../node_modules/@fontsource/lato/700.css"; /* bold | normal */
|
||||||
|
// @import "../node_modules/@fontsource/lato/700-italic.css"; /* bold | italic */
|
||||||
|
// @import "../node_modules/@fontsource/lato/900.css"; /* black | normal */
|
||||||
|
// @import "../node_modules/@fontsource/lato/900-italic.css"; /* black | italic */
|
52
assets/css/_phx-liveview.scss
Normal file
52
assets/css/_phx-liveview.scss
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
/* LiveView specific classes for your customizations */
|
||||||
|
.phx-no-feedback.invalid-feedback,
|
||||||
|
.phx-no-feedback .invalid-feedback {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phx-click-loading {
|
||||||
|
opacity: 0.5;
|
||||||
|
transition: opacity 1s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phx-disconnected {
|
||||||
|
cursor: wait;
|
||||||
|
}
|
||||||
|
.phx-disconnected * {
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phx-modal {
|
||||||
|
opacity: 1 !important;
|
||||||
|
position: fixed;
|
||||||
|
z-index: 1;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
background-color: rgb(0, 0, 0);
|
||||||
|
background-color: rgba(0, 0, 0, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.phx-modal-content {
|
||||||
|
background-color: #fefefe;
|
||||||
|
margin: 15% auto;
|
||||||
|
padding: 20px;
|
||||||
|
border: 1px solid #888;
|
||||||
|
width: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phx-modal-close {
|
||||||
|
color: #aaa;
|
||||||
|
float: right;
|
||||||
|
font-size: 28px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phx-modal-close:hover,
|
||||||
|
.phx-modal-close:focus {
|
||||||
|
color: black;
|
||||||
|
text-decoration: none;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
21
assets/css/_svg-icons.scss
Normal file
21
assets/css/_svg-icons.scss
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
/*
|
||||||
|
SVG ICON SYSTEM
|
||||||
|
per https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4
|
||||||
|
*/
|
||||||
|
.icon {
|
||||||
|
display: inline-flex;
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon svg,
|
||||||
|
.icon img {
|
||||||
|
height: 1em;
|
||||||
|
width: 1em;
|
||||||
|
fill: currentColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon.baseline svg,
|
||||||
|
.icon img {
|
||||||
|
top: 0.125em;
|
||||||
|
position: relative;
|
||||||
|
}
|
|
@ -1,86 +1,17 @@
|
||||||
/* Bootstrap v5 */
|
/* Fonts */
|
||||||
|
@import "fonts";
|
||||||
|
|
||||||
|
/* Bootstrap custom variable overrides */
|
||||||
|
@import "bs-custom";
|
||||||
|
|
||||||
|
/* Bootstrap v5 scss */
|
||||||
@import "~bootstrap/scss/bootstrap";
|
@import "~bootstrap/scss/bootstrap";
|
||||||
|
|
||||||
/* SVG icon style helper */
|
|
||||||
// [class*=" icon"],
|
|
||||||
// [class^="icon"] {
|
|
||||||
// width: 1em;
|
|
||||||
// height: 1em;
|
|
||||||
// stroke: currentColor;
|
|
||||||
// fill: currentColor;
|
|
||||||
// }
|
|
||||||
|
|
||||||
/*SVG ICON SYSTEM*/
|
/*SVG ICON SYSTEM*/
|
||||||
.icon {
|
@import "svg-icons";
|
||||||
display: inline-flex;
|
|
||||||
align-self: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon svg,
|
/* LiveView specific CSS */
|
||||||
.icon img {
|
@import "phx-liveview";
|
||||||
height: 1em;
|
|
||||||
width: 1em;
|
|
||||||
fill: currentColor;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon.baseline svg,
|
|
||||||
.icon img {
|
|
||||||
top: 0.125em;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LiveView specific classes for your customizations */
|
|
||||||
.phx-no-feedback.invalid-feedback,
|
|
||||||
.phx-no-feedback .invalid-feedback {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.phx-click-loading {
|
|
||||||
opacity: 0.5;
|
|
||||||
transition: opacity 1s ease-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.phx-disconnected {
|
|
||||||
cursor: wait;
|
|
||||||
}
|
|
||||||
.phx-disconnected * {
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.phx-modal {
|
|
||||||
opacity: 1 !important;
|
|
||||||
position: fixed;
|
|
||||||
z-index: 1;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
overflow: auto;
|
|
||||||
background-color: rgb(0, 0, 0);
|
|
||||||
background-color: rgba(0, 0, 0, 0.4);
|
|
||||||
}
|
|
||||||
|
|
||||||
.phx-modal-content {
|
|
||||||
background-color: #fefefe;
|
|
||||||
margin: 15% auto;
|
|
||||||
padding: 20px;
|
|
||||||
border: 1px solid #888;
|
|
||||||
width: 80%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.phx-modal-close {
|
|
||||||
color: #aaa;
|
|
||||||
float: right;
|
|
||||||
font-size: 28px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.phx-modal-close:hover,
|
|
||||||
.phx-modal-close:focus {
|
|
||||||
color: black;
|
|
||||||
text-decoration: none;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Alerts and form errors */
|
/* Alerts and form errors */
|
||||||
.alert:empty {
|
.alert:empty {
|
||||||
|
|
98
assets/package-lock.json
generated
98
assets/package-lock.json
generated
|
@ -6,6 +6,7 @@
|
||||||
"": {
|
"": {
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@fontsource/lato": "^4.2.1",
|
||||||
"@fortawesome/fontawesome-free": "^5.15.2",
|
"@fortawesome/fontawesome-free": "^5.15.2",
|
||||||
"@mdi/svg": "^5.9.55",
|
"@mdi/svg": "^5.9.55",
|
||||||
"@popperjs/core": "^2.8.4",
|
"@popperjs/core": "^2.8.4",
|
||||||
|
@ -24,6 +25,7 @@
|
||||||
"copy-webpack-plugin": "^7.x",
|
"copy-webpack-plugin": "^7.x",
|
||||||
"css-loader": "^5.x",
|
"css-loader": "^5.x",
|
||||||
"css-minimizer-webpack-plugin": "^1.x",
|
"css-minimizer-webpack-plugin": "^1.x",
|
||||||
|
"file-loader": "^6.2.0",
|
||||||
"glob-all": "^3.2.1",
|
"glob-all": "^3.2.1",
|
||||||
"mini-css-extract-plugin": "^1.x",
|
"mini-css-extract-plugin": "^1.x",
|
||||||
"postcss": "^8.2.6",
|
"postcss": "^8.2.6",
|
||||||
|
@ -1272,6 +1274,11 @@
|
||||||
"node": ">=10.0.0"
|
"node": ">=10.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@fontsource/lato": {
|
||||||
|
"version": "4.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fontsource/lato/-/lato-4.2.1.tgz",
|
||||||
|
"integrity": "sha512-prsPmSttIWKF52AK6fNbe1a/wT3Rm5ho2qwegXlU0Qu72dksQIjGrttDtuvs3OlXdlmYXFTmLKOWQKwBMAsMmQ=="
|
||||||
|
},
|
||||||
"node_modules/@fortawesome/fontawesome-free": {
|
"node_modules/@fortawesome/fontawesome-free": {
|
||||||
"version": "5.15.2",
|
"version": "5.15.2",
|
||||||
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.2.tgz",
|
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.2.tgz",
|
||||||
|
@ -3608,6 +3615,58 @@
|
||||||
"reusify": "^1.0.4"
|
"reusify": "^1.0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/file-loader": {
|
||||||
|
"version": "6.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
|
||||||
|
"integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"loader-utils": "^2.0.0",
|
||||||
|
"schema-utils": "^3.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10.13.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/webpack"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"webpack": "^4.0.0 || ^5.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/file-loader/node_modules/loader-utils": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"big.js": "^5.2.2",
|
||||||
|
"emojis-list": "^3.0.0",
|
||||||
|
"json5": "^2.1.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.9.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/file-loader/node_modules/schema-utils": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/json-schema": "^7.0.6",
|
||||||
|
"ajv": "^6.12.5",
|
||||||
|
"ajv-keywords": "^3.5.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10.13.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/webpack"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/fill-range": {
|
"node_modules/fill-range": {
|
||||||
"version": "7.0.1",
|
"version": "7.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||||
|
@ -10742,6 +10801,11 @@
|
||||||
"integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==",
|
"integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"@fontsource/lato": {
|
||||||
|
"version": "4.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fontsource/lato/-/lato-4.2.1.tgz",
|
||||||
|
"integrity": "sha512-prsPmSttIWKF52AK6fNbe1a/wT3Rm5ho2qwegXlU0Qu72dksQIjGrttDtuvs3OlXdlmYXFTmLKOWQKwBMAsMmQ=="
|
||||||
|
},
|
||||||
"@fortawesome/fontawesome-free": {
|
"@fortawesome/fontawesome-free": {
|
||||||
"version": "5.15.2",
|
"version": "5.15.2",
|
||||||
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.2.tgz",
|
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.2.tgz",
|
||||||
|
@ -12572,6 +12636,40 @@
|
||||||
"reusify": "^1.0.4"
|
"reusify": "^1.0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"file-loader": {
|
||||||
|
"version": "6.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
|
||||||
|
"integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"loader-utils": "^2.0.0",
|
||||||
|
"schema-utils": "^3.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"loader-utils": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"big.js": "^5.2.2",
|
||||||
|
"emojis-list": "^3.0.0",
|
||||||
|
"json5": "^2.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"schema-utils": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@types/json-schema": "^7.0.6",
|
||||||
|
"ajv": "^6.12.5",
|
||||||
|
"ajv-keywords": "^3.5.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"fill-range": {
|
"fill-range": {
|
||||||
"version": "7.0.1",
|
"version": "7.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
"watch": "webpack --mode development --watch"
|
"watch": "webpack --mode development --watch"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@fontsource/lato": "^4.2.1",
|
||||||
"@fortawesome/fontawesome-free": "^5.15.2",
|
"@fortawesome/fontawesome-free": "^5.15.2",
|
||||||
"@mdi/svg": "^5.9.55",
|
"@mdi/svg": "^5.9.55",
|
||||||
"@popperjs/core": "^2.8.4",
|
"@popperjs/core": "^2.8.4",
|
||||||
|
@ -25,6 +26,7 @@
|
||||||
"copy-webpack-plugin": "^7.x",
|
"copy-webpack-plugin": "^7.x",
|
||||||
"css-loader": "^5.x",
|
"css-loader": "^5.x",
|
||||||
"css-minimizer-webpack-plugin": "^1.x",
|
"css-minimizer-webpack-plugin": "^1.x",
|
||||||
|
"file-loader": "^6.2.0",
|
||||||
"glob-all": "^3.2.1",
|
"glob-all": "^3.2.1",
|
||||||
"mini-css-extract-plugin": "^1.x",
|
"mini-css-extract-plugin": "^1.x",
|
||||||
"postcss": "^8.2.6",
|
"postcss": "^8.2.6",
|
||||||
|
|
|
@ -36,6 +36,19 @@ module.exports = (env, options) => {
|
||||||
"postcss-loader",
|
"postcss-loader",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
test: /\.(woff(2)?|ttf|eot)(\?v=\d+\.\d+\.\d+)?$/,
|
||||||
|
use: [
|
||||||
|
{
|
||||||
|
loader: "file-loader",
|
||||||
|
options: {
|
||||||
|
esModule: false,
|
||||||
|
name: "[name].[ext]",
|
||||||
|
outputPath: "../fonts",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
test: /\.svg$/,
|
test: /\.svg$/,
|
||||||
loader: "svg-sprite-loader",
|
loader: "svg-sprite-loader",
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
<nav class="navbar navbar-expand-lg navbar-light bg-light">
|
<nav class="navbar navbar-expand-lg navbar-light bg-light">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
<a class="navbar-brand" href="#">
|
<%= link to: Routes.page_path(@conn, :index), class: "navbar-brand" do %>
|
||||||
<%= icon_div @conn, "fas-skull-crossbones", class: "icon baseline" %>
|
<%= icon_div @conn, "fas-skull-crossbones", class: "icon baseline" %>
|
||||||
Bones73k
|
Bones73k
|
||||||
</a>
|
<% end %>
|
||||||
|
|
||||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
<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>
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
|
Loading…
Reference in a new issue