diff --git a/package-lock.json b/package-lock.json index 96e2a39..88968a6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,6 +40,14 @@ "@fortawesome/fontawesome-common-types": "^0.2.28" } }, + "@fortawesome/free-brands-svg-icons": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.13.0.tgz", + "integrity": "sha512-/6xXiJFCMEQxqxXbL0FPJpwq5Cv6MRrjsbJEmH/t5vOvB4dILDpnY0f7zZSlA8+TG7jwlt12miF/yZpZkykucA==", + "requires": { + "@fortawesome/fontawesome-common-types": "^0.2.28" + } + }, "@fortawesome/free-solid-svg-icons": { "version": "5.13.0", "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.13.0.tgz", diff --git a/package.json b/package.json index dff4f2c..ec34f8e 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "main": "App.vue", "dependencies": { "@fortawesome/fontawesome-svg-core": "^1.2.28", + "@fortawesome/free-brands-svg-icons": "^5.13.0", "@fortawesome/free-solid-svg-icons": "^5.13.0", "@fortawesome/vue-fontawesome": "^0.1.9", "@vue/cli-service": "^4.3.1", diff --git a/src/components/Menu.vue b/src/components/Menu.vue index 144708c..4a90973 100644 --- a/src/components/Menu.vue +++ b/src/components/Menu.vue @@ -24,80 +24,96 @@
@@ -127,6 +164,11 @@ export default { ...mapState(["grimoire", "session"]), ...mapState("players", ["players"]) }, + data() { + return { + tab: "grimoire" + }; + }, methods: { takeScreenshot(dimensions = {}) { this.$store.commit("updateScreenshot"); @@ -262,7 +304,7 @@ export default { margin-left: 10px; } - .session { + span.session { color: $demon; &.spectator { color: $townsfolk; @@ -295,6 +337,14 @@ export default { padding: 5px 5px 15px; } + a { + color: white; + text-decoration: none; + &:hover { + color: red; + } + } + ul { display: flex; list-style-type: none; @@ -312,11 +362,43 @@ export default { text-align: left; background: rgba(0, 0, 0, 0.7); + &.tabs { + display: flex; + padding: 0; + svg { + flex-grow: 1; + flex-shrink: 0; + height: 35px; + border-bottom: 3px solid black; + border-right: 3px solid black; + padding: 5px 0; + cursor: pointer; + transition: color 250ms; + &:hover { + color: red; + } + &:last-child { + border-right: 0; + } + } + &.grimoire .fa-book-open, + &.players .fa-users, + &.characters .fa-theater-masks, + &.session .fa-broadcast-tower, + &.help .fa-question { + background: linear-gradient( + to bottom, + $townsfolk 0%, + rgba(0, 0, 0, 0.5) 100% + ); + } + } + &:last-child { margin-bottom: 0; } - &:not(.headline):hover { + &:not(.headline):not(.tabs):hover { cursor: pointer; color: red; } @@ -333,7 +415,7 @@ export default { .headline { font-family: PiratesBay, sans-serif; letter-spacing: 1px; - padding: 5px 10px; + padding: 0 10px; text-align: center; background: linear-gradient( to right, diff --git a/src/main.js b/src/main.js index 6e81f4c..0e86cdb 100644 --- a/src/main.js +++ b/src/main.js @@ -3,6 +3,7 @@ import App from "./App"; import store from "./store"; import { library } from "@fortawesome/fontawesome-svg-core"; import { fas } from "@fortawesome/free-solid-svg-icons"; +import { fab } from "@fortawesome/free-brands-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome"; const faIcons = [ @@ -18,6 +19,7 @@ const faIcons = [ "Heartbeat", "Link", "PeopleArrows", + "Question", "Random", "RedoAlt", "SearchMinus", @@ -32,7 +34,11 @@ const faIcons = [ "Users", "VoteYea" ]; -library.add(...faIcons.map(i => fas["fa" + i])); +const fabIcons = ["Github", "Discord"]; +library.add( + ...faIcons.map(i => fas["fa" + i]), + ...fabIcons.map(i => fab["fa" + i]) +); Vue.component("font-awesome-icon", FontAwesomeIcon); Vue.config.productionTip = false;