diff --git a/.github/workflows/code-quality-checks.yml b/.github/workflows/code-quality-checks.yml
index af8680a..120dad7 100644
--- a/.github/workflows/code-quality-checks.yml
+++ b/.github/workflows/code-quality-checks.yml
@@ -25,7 +25,7 @@ jobs:
npm install -g yarn
yarn install
- name: Install MySQL Client
- run: sudo apt install default-libmysqlclient-dev
+ run: sudo apt update && sudo apt install default-libmysqlclient-dev
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
diff --git a/package.json b/package.json
index e24211d..3924856 100644
--- a/package.json
+++ b/package.json
@@ -14,6 +14,7 @@
"serialize-javascript": "^2.1.2",
"vue": "^2.6.10",
"vue-codemirror": "^4.0.6",
+ "vue-marquee-text-component": "^1.1.1",
"vue-moment": "^4.1.0",
"vue-router": "^3.1.3",
"vue-the-mask": "^0.11.1",
diff --git a/public/images/blue-answer-box-bg.png b/public/images/blue-answer-box-bg.png
new file mode 100644
index 0000000..16007e9
Binary files /dev/null and b/public/images/blue-answer-box-bg.png differ
diff --git a/public/images/book.png b/public/images/book.png
new file mode 100644
index 0000000..09e1a08
Binary files /dev/null and b/public/images/book.png differ
diff --git a/public/images/shield-background.png b/public/images/shield-background.png
index 534f3e1..fbad9b5 100644
Binary files a/public/images/shield-background.png and b/public/images/shield-background.png differ
diff --git a/public/index.html b/public/index.html
index bb32131..b5e4b1d 100644
--- a/public/index.html
+++ b/public/index.html
@@ -5,6 +5,7 @@
+
diff --git a/src/App.vue b/src/App.vue
index 28cd905..e56e576 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,10 +1,14 @@
+ - Students accessing the Defeat the Dragon Code Challenge websites or + + Students accessing the Defeat the Dragon Code Challenge websites or CodeWizardsHQ Platform to view, upload, or edit content should refrain - from the following conduct: + from the following conduct: +
- 1. Using any provided website for any commercial use or purpose unless + + 1. Using any provided website for any commercial use or purpose unless expressly permitted by CWHQ and the specific provider in writing, it is understood that the website and related services are intended for - educational, personal, and non-commercial use only; + educational, personal, and non-commercial use only; +
- 2. Posting, uploading, or distributing any defamatory, libelous, or - inaccurate student material or content or other content; + + 2. Posting, uploading, or distributing any defamatory, libelous, or + inaccurate student material or content or other content; +
- 3. Posting, uploading, or distributing any student material or content + + 3. Posting, uploading, or distributing any student material or content or other content that is unlawful or that a reasonable person could deem to be objectionable, offensive, indecent, pornographic, harassing, threatening, embarrassing, distressing, vulgar, hateful, racially or - ethnically offensive, or otherwise inappropriate; + ethnically offensive, or otherwise inappropriate; +
- 4. Impersonating any person or entity, falsely claiming an affiliation + + 4. Impersonating any person or entity, falsely claiming an affiliation with any person or entity, or accessing the website accounts of others - without permission, or performing any other fraudulent activity; + without permission, or performing any other fraudulent activity; +
- 5. Deleting the copyright or other proprietary rights notices on the - website or on any student material or content or other content; + + 5. Deleting the copyright or other proprietary rights notices on the + website or on any student material or content or other content; +
- 6. Asserting, or authorizing, assisting, or encouraging any third party + + 6. Asserting, or authorizing, assisting, or encouraging any third party to assert, against CWHQ, the website provider, or any of their affiliates or licensors any patent infringement or other intellectual property infringement claim regarding any student material or content or other content, submitted, or otherwise made available on or through the - website; + website; +
- 7. Making unsolicited offers, advertisements, proposals, or sending - junk mail or spam to other users of the website or participants in any + + 7. Making unsolicited offers, advertisements, proposals, or sending junk + mail or spam to other users of the website or participants in any Competition (including, but not limited to, unsolicited advertising, promotional materials, or other solicitation material, bulk mailing of commercial advertising, chain mail, informational announcements, charity - requests, and petitions for signatures); + requests, and petitions for signatures); +
- 8. Using the website for any illegal purpose, or in violation of any + + 8. Using the website for any illegal purpose, or in violation of any local, state, national, or international law, including, without limitation, laws governing intellectual property and other proprietary - rights, and data protection and privacy; + rights, and data protection and privacy; +
- 9. Defaming, harassing, abusing, threatening or defrauding users of the + + 9. Defaming, harassing, abusing, threatening or defrauding users of the website or participants in the Defeat the Dragon Code Challenge, or collecting, or attempting to collect, personal information about users, - participants, or third parties without their consent; + participants, or third parties without their consent; +
- 10. Removing, circumventing, disabling, damaging or otherwise + + 10. Removing, circumventing, disabling, damaging or otherwise interfering with security-related features of the website, student material or content or other content, features that prevent or restrict use or copying of any content accessible through the website, or features that enforce limitations on the use of the website, student - material or content or other content; + material or content or other content; +
- 11. Intentionally interfering with or damaging the operation of the + + 11. Intentionally interfering with or damaging the operation of the website or any user’s enjoyment of it, by any means, including without limitation by participation in any denial-of-service type attacks or by uploading or otherwise disseminating viruses, adware, - spyware, worms, or other malicious code. + spyware, worms, or other malicious code. +
Privacy Policy @@ -108,23 +108,23 @@
- By visiting and using the http://challenge.codewizardshq.com website + + By visiting and using the http://challenge.codewizardshq.com website (“CodeWizardsHQ”) you acknowledge you have read and agree to be bound by this Privacy Policy. If you do not wish to agree to the Privacy Policy, please close this browser session and refrain from using - CodeWizardsHQ. + CodeWizardsHQ. +
- CodeWizardsHQ is committed to protecting your privacy online. Please + + CodeWizardsHQ is committed to protecting your privacy online. Please read the following to learn what information we collect from you and how - we use that information. + we use that information. +
@@ -133,8 +133,8 @@ 1. Changes to Privacy Policy
- CodeWizardsHQ may change this Privacy Policy at any time by posting the + + CodeWizardsHQ may change this Privacy Policy at any time by posting the revised Policy in the “Privacy Policy” section of the website, located at https://codewizardshq.com/privacy-policy/. The revised Privacy Policy is effective immediately when posted on the @@ -142,8 +142,8 @@ and the Privacy Policy periodically for changes. Your continued use of CodeWizardsHQ after posting any changes will constitute your acknowledgment and acceptance of the terms of the revised Privacy - Policy. + Policy. +
@@ -158,36 +158,35 @@
@@ -201,27 +200,27 @@ We may collect your email address.
@@ -256,14 +255,14 @@
@@ -271,8 +270,8 @@
@@ -293,26 +292,25 @@ 4. Security of Information
- CodeWizardsHQ takes security seriously and takes numerous precautions - to protect the security of your account information. You can access your + + CodeWizardsHQ takes security seriously and takes numerous precautions to + protect the security of your account information. You can access your account on our coding platform with your username and password. This password is encrypted. We recommend that you do not share your password with anyone. In addition, your account information resides on a secure - server that only selected personnel and contractors have access - to. + server that only selected personnel and contractors have access to. +
- Unfortunately, no data transmission over the Internet or any wireless + + Unfortunately, no data transmission over the Internet or any wireless network can be guaranteed to be 100% secure. As a result, while we employ commercially reasonable security measures to protect data and seek to partner with companies that do the same, CodeWizardsHQ cannot guarantee the security of any information transmitted to or from the website, and is not responsible for the actions of any third parties - that may receive any such information. + that may receive any such information. +
@@ -321,15 +319,14 @@ 5. Third Party Sites
- This Privacy Policy only addresses the use and disclosure of - information CodeWizardsHQ collects from you. Other Sites that may be - accessible through CodeWizardsHQ have their own privacy policies and - data collection, use and disclosure practices. We are not responsible - for the policies or practices of third parties and you are solely - responsible for reviewing the privacy policies of any third party - sites. + + This Privacy Policy only addresses the use and disclosure of information + CodeWizardsHQ collects from you. Other Sites that may be accessible + through CodeWizardsHQ have their own privacy policies and data + collection, use and disclosure practices. We are not responsible for the + policies or practices of third parties and you are solely responsible + for reviewing the privacy policies of any third party sites. +
@@ -338,22 +335,22 @@ 6. Release of Information
- CodeWizardsHQ may release any user information as required by law or in + + CodeWizardsHQ may release any user information as required by law or in the good faith belief that disclosure of information is reasonably necessary to comply with a subpoena, discovery request, court order or - other legal process issued by a court of competent jurisdiction. + other legal process issued by a court of competent jurisdiction. +
- CodeWizardsHQ may also release any user information in the good faith + + CodeWizardsHQ may also release any user information in the good faith belief that such disclosure of information is reasonably necessary to enforce the Terms and Conditions of Use for the website, to defend or respond to any legal actions initiated by third-parties related to the user account or content posted by the user; or to protect the personal - safety of CodeWizardsHQ staff, users, or the general public. + safety of CodeWizardsHQ staff, users, or the general public. +
@@ -362,8 +359,8 @@ 7. International Users
- By visiting and using the CodeWizardsHQ website, you acknowledge that + + By visiting and using the CodeWizardsHQ website, you acknowledge that your information may be used and stored on servers located in the United States of America and therefore transferred out of your resident jurisdiction. By using the site, you are consenting to any international @@ -374,8 +371,8 @@ website is governed by the laws of the United States of America, and you hereby consent to the jurisdiction of the Federal District Court of the Western District of Texas regarding any disputes which may arise under - this Agreement or use of the website. + this Agreement or use of the website. +
@@ -384,10 +381,10 @@ 8. Comments and Feedback
- CodeWizardsHQ welcomes and encourages your comments and feedback on - this Privacy Policy and any of our other website policies. Please + + CodeWizardsHQ welcomes and encourages your comments and feedback on this + Privacy Policy and any of our other website policies. Please + visit our website - or email us at feedback@codewizardshq.com with any comments or - questions. + + or email us at feedback@codewizardshq.com with any comments or + questions. +
@@ -418,3 +415,15 @@
+
+
diff --git a/src/plugins/router.js b/src/plugins/router.js
index b881787..1a4f235 100644
--- a/src/plugins/router.js
+++ b/src/plugins/router.js
@@ -35,8 +35,10 @@ const routes = [
{
path: "/logout",
name: "logout",
- beforeEnter(to, from, next) {
- auth.logout().then(() => next({ name: "home" }));
+ async beforeEnter(to, from, next) {
+ await store.dispatch("Quiz/reset");
+ await auth.logout();
+ next({ name: "login" });
},
meta: {
secured: true
@@ -58,6 +60,22 @@ const routes = [
secured: true
}
},
+ {
+ path: "/voting",
+ name: "voting",
+ component: () => import("@/views/Voting/Ballot.vue")
+ },
+ {
+ // dev only
+ path: "/leader-board",
+ name: "leader-board",
+ component: () => import("@/views/Voting/Leaderboard.vue")
+ },
+ {
+ path: "/frequently-asked-questions",
+ name: "faq",
+ component: () => import("@/views/FAQ.vue")
+ },
{
path: "/quiz",
name: "quiz",
@@ -88,7 +106,6 @@ const routes = [
if (store.state.Quiz.isLastQuestion) {
return import("@/views/Quiz/QuizFinalQuestion");
}
-
// NORMAL QUIZ MODE
return import("@/views/Quiz/Quiz");
},
@@ -96,6 +113,7 @@ const routes = [
// USER MUST SEE INTRO VIDEO
if (!store.state.Quiz.hasSeenIntro && store.state.User.rank == 1) {
next({ name: "quiz-intro" });
+ return;
}
next();
},
@@ -106,7 +124,11 @@ const routes = [
{
path: "/quiz/intro",
name: "quiz-intro",
- component: () => import("@/views/Quiz/QuizIntro")
+ component: () => import("@/views/Quiz/QuizIntro"),
+ async beforeEnter(to, from, next) {
+ await store.dispatch("Quiz/refresh");
+ next();
+ }
},
{
path: "*",
diff --git a/src/plugins/vuetify.js b/src/plugins/vuetify.js
index 173786d..c6178ba 100644
--- a/src/plugins/vuetify.js
+++ b/src/plugins/vuetify.js
@@ -11,14 +11,16 @@ export default new Vuetify({
themes: {
dark: {
primary: "#fdc743",
- secondary: "#0fad80",
+ secondary: "#27AE82",
// accent: '#82B1FF',
// error: '#FF5252',
// info: '#2196F3',
// success: '#4CAF50',
// warning: '#FFC107',
- dark: "#353535",
- dark2: "#333131"
+ dark: "#282828",
+ dark2: "#1E1E1E",
+ button: "#4CAF50",
+ input: "#4CAF50"
}
}
}
diff --git a/src/store/quiz.js b/src/store/quiz.js
index 90a9d4d..ee78905 100644
--- a/src/store/quiz.js
+++ b/src/store/quiz.js
@@ -1,6 +1,7 @@
import { mapState } from "vuex";
import { quiz } from "@/api";
import moment from "moment";
+import Vue from "vue";
const moduleName = "Quiz";
@@ -56,6 +57,9 @@ const state = {
};
const actions = {
+ async reset({ commit }) {
+ commit("reset");
+ },
async markAsSeen({ commit }) {
commit("hasSeenIntro", true);
},
@@ -167,6 +171,11 @@ const mutations = {
},
quizHasEnded(state, value) {
state.quizHasEnded = value;
+ },
+ reset(state) {
+ for (const [key, value] of Object.entries(getDefaultState())) {
+ Vue.set(state, key, value);
+ }
}
};
diff --git a/src/styles/application.scss b/src/styles/application.scss
index 5c0eddb..9bd1365 100644
--- a/src/styles/application.scss
+++ b/src/styles/application.scss
@@ -1,4 +1,5 @@
.theme--dark.v-application {
- background: url("/images/background.jpg");
- background-size: cover;
+ // background: url("/images/background.jpg");
+ // background-size: cover;
+ background-color: #21252D;
}
diff --git a/src/styles/colors.scss b/src/styles/colors.scss
index f39f178..8cde5b9 100644
--- a/src/styles/colors.scss
+++ b/src/styles/colors.scss
@@ -1,4 +1,11 @@
$primary: #fdc743;
-$secondary: #0fad80;
-$dark: #353535;
-$dark2: #333131;
\ No newline at end of file
+$secondary: #27ae82;
+// accent: '#82B1FF',
+// error: '#FF5252',
+// info: '#2196F3',
+// success: '#4CAF50',
+// warning: '#FFC107',
+$dark: #282828;
+$dark2: #1e1e1e;
+$button: #4caf50;
+$input: #4caf50;
diff --git a/src/styles/cwhq-bar.scss b/src/styles/cwhq-bar.scss
new file mode 100644
index 0000000..a4047ac
--- /dev/null
+++ b/src/styles/cwhq-bar.scss
@@ -0,0 +1,28 @@
+.cwhq-bar .v-toolbar__content {
+ background-color: #fdc743;
+ // display: none !important;
+ text-align: right;
+ padding: 3px;
+ line-height: 17.4px;
+
+ a {
+ color: #fff;
+ text-decoration: none;
+ margin-left: 4px;
+ margin-right: 4px;
+ font-family: "Barlow", sans-serif;
+ font-size: 12px;
+ font-weight: 700;
+ color: rgb(1, 30, 65);
+
+ &:hover {
+ text-decoration: underline;
+ }
+
+ &:not(:last-child):after {
+ content: "|";
+ position: relative;
+ left: 4px;
+ }
+ }
+}
diff --git a/src/styles/fonts.scss b/src/styles/fonts.scss
index 92fafd0..72d2468 100644
--- a/src/styles/fonts.scss
+++ b/src/styles/fonts.scss
@@ -38,3 +38,5 @@
.bu-wicked {
font-family: "buWicked" !important;
}
+
+
diff --git a/src/styles/leaderboard-bar.scss b/src/styles/leaderboard-bar.scss
new file mode 100644
index 0000000..ba229e6
--- /dev/null
+++ b/src/styles/leaderboard-bar.scss
@@ -0,0 +1,64 @@
+.leaderboard-bar {
+ background-color: #fff;
+ $height: 40px;
+
+ .lb-item {
+ color: #333;
+ display: inline-block;
+ padding: 5px 4px;
+ margin-left: 15px;
+ margin-right: 15px;
+ height: $height;
+ position: relative;
+
+ img.rank {
+ height: $height;
+ display: inline-block;
+ position: relative;
+ margin-right: 12px;
+ }
+
+ div.rank {
+ position: absolute;
+ height: $height;
+ width: 30px;
+ text-align: center;
+ top: 8px;
+ left: 3px;
+ color: $secondary;
+ font-family: "Barrow2Bold";
+ }
+
+ .display {
+ display: inline-block;
+ height: $height;
+ color: $dark;
+ margin-top: 5px;
+ font-family: "Barrow2Light";
+ }
+ }
+
+ .fade {
+ position: absolute;
+ width: 80px;
+ height: 100%;
+
+ background-image: linear-gradient(to right, rgba(253, 199, 67, 1), rgba(253, 199, 67, 1), rgba(253, 199, 67, 0));
+ z-index: 1;
+ top: 0;
+ left: 0;
+ }
+
+ .rotated-text {
+ position: absolute;
+ color: $dark;
+ z-index: 999999;
+ transform: rotate(-90deg);
+ font-size: 14px;
+ text-align: center;
+ height: 100%;
+ left: 10px;
+ font-family: "Barrow2Bold";
+ line-height: 13px;
+ }
+}
diff --git a/src/styles/quiz-answer.scss b/src/styles/quiz-answer.scss
index 6c6669d..9ab618e 100644
--- a/src/styles/quiz-answer.scss
+++ b/src/styles/quiz-answer.scss
@@ -1,64 +1,91 @@
.quiz-answer {
.v-card {
- background: url("/images/answer-area-bg.png") no-repeat;
+ background: url("/images/blue-answer-box-bg.png") no-repeat;
background-size: 100% 100%;
background-repeat: none;
- width: 420px;
+ width: 500px;
margin-top: 200px;
padding: 12px;
z-index: 2;
+ margin-bottom: 300px;
- .attempts-remaining{
+ .attempts-remaining {
text-align: center;
height: 100px;
}
.v-btn {
width: 100%;
- margin-top: 12px;
color: $dark;
font-family: "Barrow2Bold";
- font-size: 30px;
+ font-size: 40px;
letter-spacing: 12px;
+ height: 80px;
+ margin-top: 12px;
}
.v-form {
- margin-top: 140px;
+ margin-top: 20px;
+ .text-field {
+ margin-bottom: 40px;
+ background-color: #dbe6ea;
+ opacity: 0.8;
+ padding-top: 20px;
+ border: solid thick $primary;
- .v-input {
- height: 90px;
- z-index: 10;
- position: relative;
- margin: 0;
- padding: 0;
+ .theme--dark.v-label {
+ color: #031e41 !important;
+ }
- .v-input__control {
- padding-left: 20px;
- margin: 0;
- padding-right: 20px;
+ .theme--dark.v-label.primary-text {
+ color: #031e41 !important;
+ }
+ input {
+ color: #031e41 !important;
}
- &:before {
- content: "";
- position: absolute;
- background: url("/images/answer-box.png") no-repeat;
- background-size: 100% 100%;
- background-repeat: none;
- background-position-x: center;
- background-position-y: center;
- width: 100%;
- height: 100%;
- top: -25px;
+ .v-input {
+ z-index: 10;
+ position: relative;
+ margin: 0;
+ padding: 0;
+ caret-color: #031e41 !important;
+ color: #031e41 !important;
+
+ .v-input__slot {
+ &:before {
+ border-style: none;
+ }
+ }
+
+ .v-input__control {
+ padding-left: 20px;
+ margin: 0;
+ padding-right: 20px;
+ }
+
+ &:before {
+ content: "";
+ position: absolute;
+ // background: url("/images/answer-box.png") no-repeat;
+ background-size: 100% 100%;
+ background-repeat: none;
+ background-position-x: center;
+ background-position-y: center;
+ width: 100%;
+ height: 100%;
+ top: -25px;
+ }
}
}
}
img {
- top: -140px;
+ top: -200px;
position: absolute;
- width: 100%;
+ width: 400px;
height: auto;
- left: 32px;
+ left: 100px;
-webkit-transform: scaleX(-1);
transform: scaleX(-1);
}
diff --git a/src/styles/quiz-bar-rank.scss b/src/styles/quiz-bar-rank.scss
index 89202a2..e815a94 100644
--- a/src/styles/quiz-bar-rank.scss
+++ b/src/styles/quiz-bar-rank.scss
@@ -1,14 +1,14 @@
@import "./colors.scss";
-$width: 200px;
-$shieldHeight: 80px;
+$width: 100px;
+$shieldHeight: 50px;
$border: none; //solid thin red;
.quiz-bar-rank {
position: absolute;
width: $width;
- top: 0;
+ top: 12px;
left: 50%;
margin-left: -$width/2;
border: $border;
@@ -20,8 +20,9 @@ $border: none; //solid thin red;
text-align: center;
padding: 0;
margin: 0;
- line-height: 2.3em;
- font-size: 2em;
+ top:15px;
+ line-height: $shieldHeight;
+ font-size: $shieldHeight / 2;
font-family: "Barrow2Bold" !important;
&:before {
@@ -41,12 +42,13 @@ $border: none; //solid thin red;
.level-display {
border: $border;
- position: relative;
+ position: absolute;
+ top: -10px;
width: 100%;
text-align: center;
padding: 0;
margin: 0;
- font-size: 1.6em;
+ font-size: 18px;
font-family: "Barrow2Bold" !important;
}
diff --git a/src/styles/quiz-bar.scss b/src/styles/quiz-bar.scss
new file mode 100644
index 0000000..86a6e2b
--- /dev/null
+++ b/src/styles/quiz-bar.scss
@@ -0,0 +1,22 @@
+.quiz-bar {
+ a {
+ font-weight: normal;
+ color: #fff !important;
+ text-decoration: none;
+ margin-left: 8px;
+ margin-right: 8px;
+ text-transform: uppercase;
+ letter-spacing: 2px;
+ position: relative;
+ top: 2px;
+
+ &:hover {
+ text-decoration: underline;
+ }
+ }
+
+ span{
+ top: 2px;
+ position: relative;
+ }
+}
diff --git a/src/styles/quiz-need-help.scss b/src/styles/quiz-need-help.scss
index 26af433..8c86d41 100644
--- a/src/styles/quiz-need-help.scss
+++ b/src/styles/quiz-need-help.scss
@@ -1,10 +1,10 @@
.quiz-need-help {
- background-image: url("/images/discord-book-bg.png");
+ background-image: url("/images/book.png");
background-repeat: no-repeat;
background-size: contain;
background-position-y: 10px;
- width: 300px;
- height: 300px;
+ width: 329px;
+ height: 276px;
position: fixed;
right: 0;
bottom: 0;
@@ -14,8 +14,8 @@
&:hover {
cursor: pointer;
- width: 320px;
- height: 320px;
+ width: 339px;
+ height: 286px;
filter: saturate(200%) sepia(100%);
}
}
diff --git a/src/styles/quiz-scroll.scss b/src/styles/quiz-scroll.scss
index 1cf3e8c..0268006 100644
--- a/src/styles/quiz-scroll.scss
+++ b/src/styles/quiz-scroll.scss
@@ -1,71 +1,31 @@
-// .quiz-scroll {
-// .v-card {
-// background: url("/images/scroll.png");
-// background-size: 100%;
-// width: 669px;
-// height: 1042px;
-// }
-
-// .scroll-content {
-// position: relative;
-// margin-top: 120px;
-// width: 460px;
-// margin-left: auto;
-// margin-right: auto;
-// font-size: 30px;
-// color: #30231a !important;
-// font-family: "Barrow2Light";
-// letter-spacing: 2px;
-// }
-
-// .scroll-title {
-// text-align: center;
-// font-size: 40px;
-// position: relative;
-// top: 15px;
-// color: #30231a !important;
-// font-family: "buWicked";
-// // letter-spacing: 2px;
-
-// &:after {
-// content: "";
-// top: 55px;
-// position: absolute;
-// background-image: url("/images/underline.png");
-// background-position-x: center;
-// width: 100%;
-// height: 27px;
-// left: 0;
-// background-size: contain;
-// background-repeat: no-repeat;
-// }
-// }
-// }
-
-$left: -166px;
.quiz-scroll {
width: 669px;
position: relative;
- // left: -250px;
- // border: solid thin #ddd;
+ // background: white;
// clip-path: inset(42px -250px -1000px 0px);
- //T R B L
- clip-path: inset(42px -250px -1000px 0px);
+ overflow: hidden;
+ padding-bottom: 400px;
+ top: -30px;
+ color: #031e41;
+ font-size: 24px;
+ letter-spacing: 2px;
.scroll-head {
- left: $left;
+ top: -43px;
+ left: -166px;
width: 1000px;
height: 270px;
position: relative;
background-image: url("/images/scroll-top.png");
+ background-size: contain;
z-index: 2;
.scroll-title {
text-align: center;
font-size: 50px;
+ top: 42px;
position: relative;
- top: 45px;
- color: #30231a !important;
+ color: #031e41 !important;
font-family: "buWicked";
&:after {
@@ -83,18 +43,23 @@ $left: -166px;
}
}
- $offset: 200px;
- .scroll-body {
- z-index: 1;
- left: $left;
+ // $offset: 200px;
+
+ .scroll-graphic {
width: 1000px;
height: 2238px;
- position: relative;
- top: -$offset;
+ position: absolute;
+ bottom: 0;
+ left: -166px;
background-image: url("/images/scroll-bottom.png");
- border: solid thin #00000000;
+ z-index: 0;
+ }
+
+ .scroll-body {
+ z-index: 1;
+ position: relative;
+ margin-top: -130px;
text-align: center;
- padding-top: $offset - 80px;
.asset {
width: 400px;
@@ -110,9 +75,16 @@ $left: -166px;
margin-left: auto;
margin-right: auto;
font-size: 24px;
- color: #30231a !important;
+ color: #031e41 !important;
font-family: "Barrow2Light";
letter-spacing: 2px;
+ text-align: left;
+ white-space: pre-wrap;
+
+ pre {
+ font-size: 18px;
+ white-space: pre-wrap;
+ }
}
}
}
diff --git a/src/styles/social-pop-over.scss b/src/styles/social-pop-over.scss
index f247182..fc80f71 100644
--- a/src/styles/social-pop-over.scss
+++ b/src/styles/social-pop-over.scss
@@ -7,21 +7,21 @@ $arrowSize: 20px;
margin-right: 20px;
background: url("/images/answer-area-bg.png") no-repeat;
background-size: 100% 100%;
- background-repeat: none;
+ background-repeat: none;
z-index: 200;
- &:after {
- width: 0;
- height: 0;
- border-left: $arrowSize solid transparent;
- border-right: $arrowSize solid transparent;
+ // &:after {
+ // width: 0;
+ // height: 0;
+ // border-left: $arrowSize solid transparent;
+ // border-right: $arrowSize solid transparent;
- border-bottom: $arrowSize solid $dark;
- position: absolute;
- right: 12px;
- top: -$arrowSize;
- content: "";
- }
+ // border-bottom: $arrowSize solid $dark;
+ // position: absolute;
+ // right: 12px;
+ // top: -$arrowSize;
+ // content: "";
+ // }
.v-btn {
i {
diff --git a/src/styles/styles.scss b/src/styles/styles.scss
index 011aecb..40bed0e 100644
--- a/src/styles/styles.scss
+++ b/src/styles/styles.scss
@@ -1,4 +1,5 @@
@import "~vuetify/src/styles/styles.sass";
+@import "./colors.scss";
@import "./application.scss";
@import "./quiz-scroll.scss";
@import "./quiz-answer.scss";
@@ -6,4 +7,26 @@
@import "./quiz-bar-rank.scss";
@import "./content.scss";
@import "./social-pop-over.scss";
-@import "./casing.scss"
+@import "./casing.scss";
+@import "./cwhq-bar.scss";
+@import "./quiz-bar.scss";
+@import "./leaderboard-bar.scss";
+
+.v-alert {
+ font-size: 20px;
+}
+
+.v-input {
+ font-size: 20px;
+}
+
+.v-messages {
+ font-size: 16px;
+}
+
+.v-snack {
+ .v-snack__content {
+ font-size: 20px;
+ padding: 20px;
+ }
+}
diff --git a/src/styles/v-card.scss b/src/styles/v-card.scss
index e282769..a609b02 100644
--- a/src/styles/v-card.scss
+++ b/src/styles/v-card.scss
@@ -1,3 +1,3 @@
-.v-card__text {
- font-size: 1rem;
-}
\ No newline at end of file
+// .v-card__text {
+// font-size: 1rem;
+// }
\ No newline at end of file
diff --git a/src/styles/variables.scss b/src/styles/variables.scss
index f2c7b6d..38dc234 100644
--- a/src/styles/variables.scss
+++ b/src/styles/variables.scss
@@ -1,9 +1,9 @@
// https://vuetifyjs.com/en/customization/sass-variables
@import "./fonts.scss";
-@import "./colors.scss";
+// @import "./colors.scss";
$body-font-family: "Barrow2Light";
$heading-font-family: "buWicked";
@import "v-card.scss";
// $border-radius-root: 6px;
-// $font-size-root: 20px;
+$font-size-root: 20px;
diff --git a/src/util.js b/src/util.js
new file mode 100644
index 0000000..f1faab6
--- /dev/null
+++ b/src/util.js
@@ -0,0 +1,22 @@
+/**
+ * Randomly shuffle an array
+ * https://stackoverflow.com/a/2450976/1293256
+ */
+export function shuffle(array) {
+ var currentIndex = array.length;
+ var temporaryValue, randomIndex;
+
+ // While there remain elements to shuffle...
+ while (0 !== currentIndex) {
+ // Pick a remaining element...
+ randomIndex = Math.floor(Math.random() * currentIndex);
+ currentIndex -= 1;
+
+ // And swap it with the current element.
+ temporaryValue = array[currentIndex];
+ array[currentIndex] = array[randomIndex];
+ array[randomIndex] = temporaryValue;
+ }
+
+ return array;
+}
diff --git a/src/views/FAQ.vue b/src/views/FAQ.vue
new file mode 100644
index 0000000..098338c
--- /dev/null
+++ b/src/views/FAQ.vue
@@ -0,0 +1,46 @@
+
+
- Did you forget your password? Enter your parent's e-mail address
- below. They entered this when they created your account.
-
+ Did you forget your password? Enter your parent's e-mail address
+ below. They entered this when they created your account.
+
+
+