Skip to content

Commit

Permalink
Release 1
Browse files Browse the repository at this point in the history
* init 'dev' branch; add my name;

* add parcel; cleanup files; remove 'starwars' dependencies, change to pokemon;

* remove starwars static assets, we will use api;

* remove StarWars local-json-server, we will use api;

* MNG-5 Add my name to div swquiz-app

* MNG-1 Add my name to div pokequiz-app (#3)

* Add Aleksandra Cypko to the poekquiz-app div

* MNG-8 Add "Zespół projektowy" section to Readme.md

* Add github/real name to div swquiz-app

* prepare case for rebasing problem;

* Update App.css

this is my change, it is cool. Margin should be 10

* Update App.css

this MUST be 20, change on dev branch

* cleanup after tutorial

* Update App.css

commit to dev

* MNG-test change margin

this is my super change;

Paired with <somebody>

* Mng 10 starting page html template (#7)

* Add a starting page HTML template

* change template HTML for the starting page into a js file

* MNG-2 add my name to project

* MNG-15 Add API urls, start tests and function for pokemons.js (#10)

* MNG-15 Add API urls, start tests and function for pokemons.js

* Change url end

Co-authored-by: Łukasz Dutka <lukaszdutka2@gmail.com>

* Make function async

Co-authored-by: Łukasz Dutka <lukaszdutka2@gmail.com>

* Correct url end

* MNG-15 Recreate test function for getPokemonById to follow the rule given, when, then

* MNG-15 Write first version of getPokemonById

* MNG-15 Fix test async function handling with beforeAll

* MNG-15 Add test for get types by id

* MNG-15 Create getTypeById function

* Refactoring tests and getPokemonById to be more readable.

Remove nested describe functions,
not use destructuring with pokemon data

Co-authored-by: Łukasz Dutka <lukaszdutka2@gmail.com>

* Kamil - Update index.html (#11)

Kamil - Add my name

* Bump node-notifier from 8.0.0 to 8.0.1 (#9)

Bumps [node-notifier](https://github.com/mikaelbr/node-notifier) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/mikaelbr/node-notifier/releases)
- [Changelog](https://github.com/mikaelbr/node-notifier/blob/v8.0.1/CHANGELOG.md)
- [Commits](mikaelbr/node-notifier@v8.0.0...v8.0.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* MNG-22 Update img and my name (#13)

* Update img and my name

* MNG-22 add IMG

* MNG-22 Rename IMG

* MNG-22

* Update img and my name

* MNG-22 add IMG

* MNG-22 Rename IMG

* Add SVG icons

* MNG-12 style out starting page (initially) (#14)

* Good but for corrections

* Now better

* Responsiveness + little corrections

* Centering some elements + correcting "Quiz"

* Comments

* Bolder question mark

* Merge branch 'dev' into MNG-12-Style-out-StartingPage-(initially)

* Correction

Co-authored-by: Łukasz Dutka <lukaszdutka2@gmail.com>

* MNG-16 Add a help screen, style it (has to be polished, the scrollbar is not… (#16)

* Add a help screen, style it (has to be polished, the scrollbar is not styled). Add help screen HTML the the page, add an event listener for the help screen and a reusable function showAPopUpScreen (can be used to display hall of fame)

* Remove event listener from the exit button every time it is clicked, correct spelling mistakes

* MNG-16 create pokemon service js (#12)

* Add randomPokemonId method

* Add methods - answers and correctAnswer

* Add getNextQuestion method

* Add checkAnswer method

* Remove App import

* Add tests for randomPokemonId, answers and correctAnswer methods

* Add test for getNextQuestion method

* Change name of file and class to QuestionService

* Modify questionService.js name

* Fix for bug in correctAnswerId variable

* Modify getNextQuestion to resolve promise from getPokemonById

* Add promise.all but still sth is wrong

* Add test for getNextQuestion method

* Add object scheme to QuestionService

* Add test for checkAnswer method

* Add correctAnswerIndex to class QuestionService

* Remove comments

* Modify import in test file

* Modify import in test file

* Update test for checkAnswer method

* Modify modes

* Fix mode typo

* Fix test typo

* Add mode parameter to getNextQuestion method

Co-authored-by: Daria Dziubaltowska <daria305@gmail.com>
Co-authored-by: Małgorzata Dziewit <74777578+memeraki@users.noreply.github.com>
Co-authored-by: Aleksandra Cypko <olaaac25@gmail.com>
Co-authored-by: Gosia Dziewit <gosia.dziewit@gmail.com>
Co-authored-by: unknown <mariusz.smarz@gmail.com>
Co-authored-by: AleksandraCyp <73715885+AleksandraCyp@users.noreply.github.com>
Co-authored-by: AgataLudwiczynska <74932979+AgataLudwiczynska@users.noreply.github.com>
Co-authored-by: Daria <44535712+daria305@users.noreply.github.com>
Co-authored-by: Kamil Arendarczyk <kamilarendarczyk1@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mariusz-sm <74978639+mariusz-sm@users.noreply.github.com>
  • Loading branch information
12 people authored Jan 5, 2021
1 parent c15b70b commit 180f957
Show file tree
Hide file tree
Showing 332 changed files with 3,859 additions and 8,853 deletions.
2 changes: 1 addition & 1 deletion .env
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
SW_API_BASE_URL = https://swapi.dev/api
POKEMON_API_BASE_URL = "https://pokeapi.co/api/v2"
QUIZ_MAX_TIME_SECONDS = 120
2 changes: 1 addition & 1 deletion .env.jsonserver.local
Original file line number Diff line number Diff line change
@@ -1 +1 @@
SW_API_BASE_URL = http://localhost:3000
POKEMON_API_BASE_URL =
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# CodersCamp 2020 - Projekt JavaScript
## Pokemon Quiz

### Zespół projektowy
Mentor: [Łukasz Dutka](https://github.com/lukaszdutka)
Uczestnicy:
* [Kamil Arendarczyk](https://github.com/arendarczyk) (UX Designer)
* [Aleksandra Cypko](https://github.com/AleksandraCyp) (Tech Lead)
* [Małgorzata Dziewit](https://github.com/memeraki)
* [Daria Dziubałtowska](https://github.com/daria305) (Product Owner)
* [Agata Ludwiczyńska](https://github.com/AgataLudwiczynska)
* [Mariusz Smarż](https://github.com/mariusz-sm) (Develepment Manager)


**UWAGA! Zaczynając pracę nad projektem — nie róbcie forka.
Jedna osoba z zespołu (np. Mentor) powinna użyć przycisku `Use this template` i dodać innych członków zespołu jako Collaborators do tego repozytorium.**

Expand Down Expand Up @@ -267,3 +281,5 @@ To complete your Free Trial signup, you must provide a credit card or other paym

## Porady odnośnie do projektu
- Dzięki testing-library, elementy widoku (DOM) można testować wg Guide: https://testing-library.com/docs/dom-testing-library/example-intro

hihi:)
12 changes: 10 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,22 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="ie=edge"/>
<title>CodersCamp2020 | Star Wars API QUIZ</title>
<link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" href="styles/App.css"/>

<link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap"
rel="stylesheet">
</head>

<body>

<div id="swquiz-app">
<div id="pokequiz-app">
Łukasz Dutka
daria305
memeraki / Gosia Dziewit
Aleksandra Cypko / AleksandraCyp
mariusz-sm / Mariusz Smarz
Agata Ludwiczyńska/ AgataLudwiczynska
arendarczyk / Kamil Arendarczyk
</div>

<script src="src/index.js"></script>
Expand Down
4,118 changes: 3,276 additions & 842 deletions package-lock.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
},
"homepage": "https://github.com/CodersCamp2020/CodersCamp2020.Project.JavaScript.StarWarsQuiz#readme",
"dependencies": {
"parcel": "^1.12.4",
"regenerator-runtime": "^0.13.7",
"uuid": "^8.3.0"
},
Expand Down
50 changes: 50 additions & 0 deletions src/api/pokemon.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import {
getPokemonById,
getTypeById
} from "./pokemons.js";

describe('Test pokemon API to get pokemon', () => {

it("Given pokemon id is 1 when asking for data, should get id, photoUrl, types, name of the pokemon", async () => {
//given
const pokemonId = 1;

//when
const pokeData = await getPokemonById(pokemonId)

//then
expect(pokeData).toEqual({
id: 1,
name: "bulbasaur",
photoUrl: "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/1.png",
types: [{
id: 12,
type: "grass"
},
{
id: 4,
type: "poison"
}
]
});
})
});


describe("Test pokemon API to get pokemon types", () => {

it("Given the type id is 12 when asking for pokemon data, should return id and name of the type", async () => {
//given
const typeId = 12;

//when
const typeData = await getTypeById(typeId)

//then
expect(typeData).toEqual({
id: 12,
name: "grass"
}
);
})
})
40 changes: 40 additions & 0 deletions src/api/pokemons.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import fetch from "cross-fetch"

const POKEMON_API_BASE_URL = process.env.POKEMON_API_BASE_URL || "https://pokeapi.co/api/v2";

export async function getPokemonById(id) {
const getTypeIdFromUrl = (url) => {
const regex = /\/type\/(\d+)\/$/;
return Number(regex.exec(url)[1])
};

const parseType = (type) => {
return {
id: getTypeIdFromUrl(type.type.url),
type: type.type.name
}
};

const res = await fetch(`${POKEMON_API_BASE_URL}/pokemon/${id}`);
const jsonRes = await res.json();

return {
id: jsonRes.id,
name: jsonRes.name,
types: jsonRes.types.map(parseType),
photoUrl: jsonRes.sprites.other["official-artwork"].front_default
}
};

export async function getTypeById(id) {
const res = await fetch(`${POKEMON_API_BASE_URL}/type/${id}`);
const jsonRes = await res.json();
const {
id: typeId,
name: typeName
} = jsonRes;
return {
id: typeId,
name: typeName
}
}
15 changes: 14 additions & 1 deletion src/app/App.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,17 @@
export const App = ({options}) => {
import { doc } from "prettier";
import { showStartingPage } from './showStartingPage.js';
import { showAPopUpScreen } from './showAPopUpScreen';
import { addHelpScreenTemplate } from "./addHelpScreenTemplate.js";

export const App = ({options}) => {

showStartingPage();
addHelpScreenTemplate();

//add event listener to the help button
document.querySelector('#helpOption').addEventListener('click', () => {
showAPopUpScreen(document.querySelector('#helpScreen'))
});
}


19 changes: 19 additions & 0 deletions src/app/addHelpScreenTemplate.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
export const addHelpScreenTemplate = () => {
const appScreen = document.querySelector('#pokequiz-app');
const helpScreenTemplate =
`<div class='popUpScreen' id='helpScreen'>
<div class='popUpTitleArea'>
<h1 class='popUpTitle'>HELP</h1>
<p class='exitPopUpScreen'>&#10005;</p>
</div>
<ul class='mainHelpTextSection'>
<li><span class='helpTitle'>Who's that pokemon?</span> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum lacinia, arcu vel accumsan rhoncus, sapien dolor commodo purus, gravida rhoncus massa leo eu quam. Etiam pulvinar bibendum gravida. Aliquam eu augue arcu. Sed lacus dui, tempus sed libero non, posuere mattis ex. Suspendisse dictum metus et laoreet ultricies. Praesent ac pharetra risus. Maecenas risus diam, eleifend non dolor id, tristique facilisis urna.</li>
<li><span class='helpTitle'>What it looks like?</span> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum lacinia, arcu vel accumsan rhoncus, sapien dolor commodo purus, gravida rhoncus massa leo eu quam. Etiam pulvinar bibendum gravida. Aliquam eu augue arcu. Sed lacus dui, tempus sed libero non, posuere mattis ex. Suspendisse dictum metus et laoreet ultricies. Praesent ac pharetra risus. Maecenas risus diam, eleifend non dolor id, tristique facilisis urna.</li>
<li><span class='helpTitle'>Guess the type!</span> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum lacinia, arcu vel accumsan rhoncus, sapien dolor commodo purus, gravida rhoncus massa leo eu quam. Etiam pulvinar bibendum gravida. Aliquam eu augue arcu. Sed lacus dui, tempus sed libero non, posuere mattis ex. Suspendisse dictum metus et laoreet ultricies. Praesent ac pharetra risus. Maecenas risus diam, eleifend non dolor id, tristique facilisis urna.</li>
</ul>
<div class='popUpImgArea'>
<img src='../static/assets/ui/pikachu2.png' alt='Pikachu' id='littlePikachu' class='popUpImg'/>
</div>
</div>`
appScreen.innerHTML += helpScreenTemplate;
}
17 changes: 17 additions & 0 deletions src/app/showAPopUpScreen.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
export const showAPopUpScreen = (screenToDisplay) => {
// display the help screen
screenToDisplay.style.display = 'initial';
// add blur to the rest of the page
document.querySelectorAll('.disableWithPopUpScreen').forEach(e => e.style.filter = 'blur(4px)');
// function which gets called when the exit button is clicked
const exitPopUpFunction = () => {
//hide the screen
screenToDisplay.style.display = 'none';
// remove the blur
document.querySelectorAll('.disableWithPopUpScreen').forEach(e => e.style.filter = 'blur(0)');
// remove the event listener
screenToDisplay.querySelector('.exitPopUpScreen').removeEventListener('click', exitPopUpFunction);
};
// add event listener to the exit button;
screenToDisplay.querySelector('.exitPopUpScreen').addEventListener('click', exitPopUpFunction);
};
35 changes: 35 additions & 0 deletions src/app/showStartingPage.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
export const showStartingPage = () => {
const appScreen = document.querySelector('#pokequiz-app');
const startingPageTemplate =
`<div id="headerWithLogo" class="firstColumn spanInPortrait disableWithPopUpScreen">
<img src="./static/assets/ui/logo.png" alt='Pokemon' id='pokemonLogo'/>
<p id='quizLogo' class='fancyFontStyle'>Quiz</p>
</div>
<ul id="selectModeMenu" class="firstColumn spanInPortrait disableWithPopUpScreen">
<li id='whoIsThatPokemonOption' class="buttonWithText">Who's that pokemon?</li>
<li id='whatItLooksLikeOption' class="buttonWithText">What it looks like?</li>
<li id='guessTheTypeOption' class="buttonWithText">Guess the type!</li>
</ul>
<div id='enterNameAndPlayMenu' class="secondColumn spanInPortrait disableWithPopUpScreen">
<p id='enterYourName' class='fancyFontStyle'>ENTER YOUR NAME</p>
<div id='enterYourNameArea'>
<img src='https://cdn4.iconfinder.com/data/icons/small-n-flat/24/user-alt-512.png' alt='playerIcon' id='playerIcon'/>
<input type='text' id='enterYourNameInput'>
</div>
</div>
<div id='startGame' class="secondColumn spanInPortrait disableWithPopUpScreen">
<input type='button' id='startGameButton' class="buttonWithText" value='PLAY'>
</div>
<ul class='bottomOfThePageOptions firstColumn disableWithPopUpScreen'>
<li id='helpOption'>?</li>
<li id='leaderboard'><i class="fa fa-trophy"></i></li>
</ul>
<img src='./static/assets/ui/pikach1.png' alt='Pikachu' id='pikachuImg' class="secondColumn disableWithPopUpScreen"/>
`
appScreen.innerHTML = startingPageTemplate;
}
4 changes: 2 additions & 2 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import 'regenerator-runtime/runtime' //async/await with Parcel
import {App} from "./app/App";

const ONE_SECOND_MILLIS = 1000;
const SW_API_BASE_URL = process.env.SW_API_BASE_URL || "https://swapi.dev/api";
const POKEMON_API_BASE_URL = process.env.POKEMON_API_BASE_URL || "https://pokeapi.co/api/v2";
const QUIZ_MAX_TIME = process.env.QUIZ_MAX_TIME_SECONDS ? process.env.QUIZ_MAX_TIME_SECONDS * ONE_SECOND_MILLIS : 120 * ONE_SECOND_MILLIS;

window.onload = () => App({options: {swApiBaseUrl: SW_API_BASE_URL, quizMaxTime: QUIZ_MAX_TIME}})
window.onload = () => App({options: {pokemonApiBaseUrl: POKEMON_API_BASE_URL, quizMaxTime: QUIZ_MAX_TIME}})
43 changes: 43 additions & 0 deletions src/service/QuestionService.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import {
getPokemonById
} from "../api/pokemons";
import { WHAT_DOES_THIS_POKEMON_LOOK_LIKE, WHO_IS_THAT_POKEMON } from "./modes";

export class QuestionService {

constructor() {
this.correctAnswerIndex = 0; // range 0-3
}

async getNextQuestion(pokemonIds, mode) {

if (!pokemonIds || pokemonIds.length != 4) {
throw new Error('pokemonIds is not an array of 4 elements')
}

const pokePromises = pokemonIds.map( id => getPokemonById(id))
const answersObj = await Promise.all(pokePromises);

if (mode === WHO_IS_THAT_POKEMON) {
return {
question: answersObj[this.correctAnswerIndex].photoUrl ,
answers: [ answersObj[0].name, answersObj[1].name, answersObj[2].name, answersObj[3].name ],
correctAnswer: { value: answersObj[this.correctAnswerIndex].name, index: this.correctAnswerIndex}
}
} else if (mode === WHAT_DOES_THIS_POKEMON_LOOK_LIKE ) {
return {
question: answersObj[this.correctAnswerIndex].name ,
answers: [ answersObj[0].photoUrl, answersObj[1].photoUrl, answersObj[2].photoUrl, answersObj[3].photoUrl ],
correctAnswer: { value: answersObj[this.correctAnswerIndex].photoUrl, index: this.correctAnswerIndex }
}
};
}

checkAnswer(questionObj, userAnswer) {
let result = false;
if ( userAnswer == questionObj.correctAnswer.value ) {
result = true;
};
return result;
}
}
65 changes: 65 additions & 0 deletions src/service/QuestionService.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import { WHO_IS_THAT_POKEMON } from "./modes";
import {
QuestionService
} from "./QuestionService.js";

const quizQuestion = new QuestionService();

describe('Test getNextQuestion method', () => {

it("Should return question object - example output for mode 1: question: 'bulbasaur' , answers: [ 'answer1', 'answer2', 'answer3', 'answer4' ], correctAnswer: { name: 'bulbasaur', index: 1 } ", async () => {
// Given
const pokemonIds = [1, 2, 3, 4];

// When
const question = await quizQuestion.getNextQuestion(pokemonIds, WHO_IS_THAT_POKEMON);

// Then
expect(question).toHaveProperty('question');
expect(question.question).toEqual('https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/1.png');

expect(question).toHaveProperty('answers');
expect(question.answers).toHaveLength(4);
expect(question.answers).toEqual(expect.arrayContaining(['bulbasaur', 'ivysaur', 'venusaur', 'charmander'])); //In any order

expect(question).toHaveProperty('correctAnswer');
expect(question.correctAnswer).toHaveProperty('value');
expect(question.correctAnswer.value).toEqual('bulbasaur');
expect(question.correctAnswer).toHaveProperty('index');

expect(question.answers[question.correctAnswer.index]).toEqual(question.correctAnswer.value);
})
});


describe('Test checkAnswer method', () => {

it("Should return result true for user answer -> 'bulbasaur' ", async () => {
// Given
const pokemonIds = [1, 2, 3, 4];
const userAnswer = 'bulbasaur';

// When
const question = await quizQuestion.getNextQuestion(pokemonIds, WHO_IS_THAT_POKEMON);

// Then
expect(quizQuestion.checkAnswer(question, userAnswer)).toBeTruthy();

})
});

describe('Test checkAnswer method', () => {

it("Should return result false for user answer -> 'venusaur' ", async () => {
// Given
const pokemonIds = [1, 2, 3, 4];
const userAnswer = 'venusaur';

// When
const question = await quizQuestion.getNextQuestion(pokemonIds, WHO_IS_THAT_POKEMON);

// Then
expect(quizQuestion.checkAnswer(question, userAnswer)).toBeFalsy();

})
});
14 changes: 14 additions & 0 deletions src/service/modes.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
export const WHO_IS_THAT_POKEMON = {
name: 'WHO_IS_THAT_POKEMON',
title: "Who's that pokemon?",
questionType: "image",
answerType: "text",
answersNumber: 4
};
export const WHAT_DOES_THIS_POKEMON_LOOK_LIKE = {
name: 'WHAT_DOES_THIS_POKEMON_LOOK_LIKE',
title: "What does this pokemon look like?",
questionType: "text",
answerType: "image",
answersNumber: 4
};
Binary file removed static/assets/img/modes/people/1.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/10.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/11.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/12.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/13.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/14.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/15.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/16.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/18.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/19.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/2.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/20.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/21.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/22.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/23.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/24.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/25.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/26.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/27.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/28.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/29.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/3.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/30.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/31.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/32.jpg
Binary file not shown.
Binary file removed static/assets/img/modes/people/33.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/34.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/35.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/36.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/37.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/38.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/39.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/4.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/40.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/41.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/42.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/43.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/44.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/45.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/46.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/47.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/48.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/49.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/5.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/50.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/51.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/52.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/53.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/54.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/55.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/56.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/57.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/58.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/59.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/6.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/60.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/61.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/62.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/63.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/64.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/65.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/66.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/67.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/68.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/69.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/7.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/70.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/71.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/72.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/73.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/74.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/75.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/76.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/77.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/78.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/79.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/8.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/80.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/81.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/82.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/83.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/84.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/85.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/86.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/87.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/88.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/people/9.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/10.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/11.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/12.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/13.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/15.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/21.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/22.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/23.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/27.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/28.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/29.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/31.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/39.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/40.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/41.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/43.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/47.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/48.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/5.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/starships/9.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/14.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/16.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/18.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/19.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/20.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/24.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/25.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/26.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/30.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/33.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/34.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/35.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/36.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/37.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/38.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/4.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/42.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/6.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/7.jpg
Diff not rendered.
Binary file removed static/assets/img/modes/vehicles/8.jpg
Diff not rendered.
Binary file removed static/assets/ui/LightsaberHandle.png
Diff not rendered.
Binary file removed static/assets/ui/MasterYodaLeft.png
Diff not rendered.
Binary file removed static/assets/ui/MasterYodaRight.png
Diff not rendered.
Binary file removed static/assets/ui/QuizBackground.png
Diff not rendered.
Binary file removed static/assets/ui/StarWarsLogo.png
Diff not rendered.
1 change: 1 addition & 0 deletions static/assets/ui/crown.svg
Binary file added static/assets/ui/hall-of-fame/background.png
Binary file added static/assets/ui/hall-of-fame/bronze.png
Binary file added static/assets/ui/hall-of-fame/gold.png
Binary file added static/assets/ui/hall-of-fame/silver.png
1 change: 1 addition & 0 deletions static/assets/ui/lightning.svg
Binary file added static/assets/ui/logo.png
Binary file added static/assets/ui/pikach1.png
Binary file added static/assets/ui/pikachu2.png
Loading

0 comments on commit 180f957

Please sign in to comment.