Add Star Trek assets, update .gitignore
@@ -1,43 +1,6 @@
|
||||
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
||||
|
||||
# compiled output
|
||||
/dist
|
||||
/tmp
|
||||
/out-tsc
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
|
||||
# profiling files
|
||||
chrome-profiler-events.json
|
||||
speed-measure-plugin.json
|
||||
|
||||
# IDEs and editors
|
||||
/.idea
|
||||
.project
|
||||
.classpath
|
||||
.c9/
|
||||
*.launch
|
||||
.settings/
|
||||
*.sublime-workspace
|
||||
|
||||
# IDE - VSCode
|
||||
.vscode/*
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/extensions.json
|
||||
|
||||
# misc
|
||||
/.sass-cache
|
||||
/connect.lock
|
||||
/coverage
|
||||
/libpeerconnection.log
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
testem.log
|
||||
/typings
|
||||
|
||||
# System Files
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
node_modules/
|
||||
dist/
|
||||
.angular/
|
||||
*.suo
|
||||
*.user
|
||||
.vs/
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
{
|
||||
// Use IntelliSense to learn about possible attributes.
|
||||
// Hover to view descriptions of existing attributes.
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"type": "chrome",
|
||||
"request": "launch",
|
||||
"name": "Launch Chrome against localhost",
|
||||
"url": "http://localhost:8080",
|
||||
"webRoot": "${workspaceFolder}"
|
||||
}
|
||||
]
|
||||
{
|
||||
// Use IntelliSense to learn about possible attributes.
|
||||
// Hover to view descriptions of existing attributes.
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"type": "chrome",
|
||||
"request": "launch",
|
||||
"name": "Launch Chrome against localhost",
|
||||
"url": "http://localhost:8080",
|
||||
"webRoot": "${workspaceFolder}"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
export class FactionPoints {
|
||||
klingon: number;
|
||||
starfleet: number;
|
||||
romulan: number;
|
||||
export class FactionPoints {
|
||||
klingon: number;
|
||||
starfleet: number;
|
||||
romulan: number;
|
||||
}
|
||||
@@ -1,29 +1,43 @@
|
||||
|
||||
<div class="fluid-container">
|
||||
<div id="stars"></div>
|
||||
<div id="stars2"></div>
|
||||
<div id="stars3"></div>
|
||||
<div class="row">
|
||||
<div id="klingon" class="col-sm faction-column">
|
||||
<img src="../assets/img/Klingon_Banner.png" class="banner mx-auto d-block"/>
|
||||
<img src="../assets/img/klingon_banner.png" class="banner mx-auto d-block"/>
|
||||
<p class="points" *ngIf="factionPoints">{{factionPoints.klingon | number}}</p>
|
||||
<points [amount]="-1" (changeEvent)="changeKlingonPoints($event)"></points>
|
||||
<points [amount]="1" (changeEvent)="changeKlingonPoints($event)"></points>
|
||||
<points [amount]="5" (changeEvent)="changeKlingonPoints($event)"></points>
|
||||
<img src="../assets/img/Klingon_Crest.png" class="crest mx-auto d-block"/>
|
||||
<div *ngIf="displayOnlyMode==false">
|
||||
<points [amount]="-1" (changeEvent)="changeKlingonPoints($event)"></points>
|
||||
<points [amount]="5" (changeEvent)="changeKlingonPoints($event)"></points>
|
||||
<points [amount]="10" (changeEvent)="changeKlingonPoints($event)"></points>
|
||||
</div>
|
||||
<img src="../assets/img/klingon_emblem.png" class="crest mx-auto d-block"/>
|
||||
</div>
|
||||
<div id="starfleet" class="col-sm faction-column">
|
||||
<img src="../assets/img/Starfleet_Banner.png" class="banner mx-auto d-block"/>
|
||||
<img src="../assets/img/starfleet_banner.png" class="banner mx-auto d-block"/>
|
||||
<p class="points" *ngIf="factionPoints">{{factionPoints.starfleet | number}}</p>
|
||||
<points [amount]="-1" (changeEvent)="changeStarfleetPoints($event)"></points>
|
||||
<points [amount]="1" (changeEvent)="changeStarfleetPoints($event)"></points>
|
||||
<points [amount]="5" (changeEvent)="changeStarfleetPoints($event)"></points>
|
||||
<img src="../assets/img/Starfleet_Crest.png" class="crest mx-auto d-block"/>
|
||||
<div *ngIf="displayOnlyMode==false">
|
||||
<points [amount]="-1" (changeEvent)="changeStarfleetPoints($event)"></points>
|
||||
<points [amount]="5" (changeEvent)="changeStarfleetPoints($event)"></points>
|
||||
<points [amount]="10" (changeEvent)="changeStarfleetPoints($event)"></points>
|
||||
</div>
|
||||
<img src="../assets/img/starfleet_emblem.png" class="crest mx-auto d-block"/>
|
||||
</div>
|
||||
<div id="romulan" class="col-sm faction-column">
|
||||
<img src="../assets/img/Romulan_Banner.png" class="banner mx-auto d-block"/>
|
||||
<img src="../assets/img/romulan_banner.png" class="banner mx-auto d-block"/>
|
||||
<p class="points" *ngIf="factionPoints">{{factionPoints.romulan | number}}</p>
|
||||
<points [amount]="-1" (changeEvent)="changeRomulanPoints($event)"></points>
|
||||
<points [amount]="1" (changeEvent)="changeRomulanPoints($event)"></points>
|
||||
<points [amount]="5" (changeEvent)="changeRomulanPoints($event)"></points>
|
||||
<img src="../assets/img/Romulan_Crest.png" class="crest mx-auto d-block"/>
|
||||
<div *ngIf="displayOnlyMode==false">
|
||||
<points [amount]="-1" (changeEvent)="changeRomulanPoints($event)"></points>
|
||||
<points [amount]="5" (changeEvent)="changeRomulanPoints($event)"></points>
|
||||
<points [amount]="10" (changeEvent)="changeRomulanPoints($event)"></points>
|
||||
</div>
|
||||
<img src="../assets/img/romulan_emblem.png" class="crest-wide mx-auto d-block"/>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <button (click)="resetPoints()">Reset</button> -->
|
||||
<!--https://codepen.io/bigsweater/pen/KbCIh-->
|
||||
<div *ngIf="displayOnlyMode==false" id="desktop-controls">
|
||||
<!--<button (click)="resetPoints()">Reset</button>-->
|
||||
<button (click)="displayOnly()">Hide Points</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,45 +1,69 @@
|
||||
body
|
||||
background-color: #000000
|
||||
|
||||
.faction-column
|
||||
display: table-cell !important
|
||||
float: none !important
|
||||
border-style: solid
|
||||
border-width: 1em
|
||||
text-align: center
|
||||
|
||||
img
|
||||
margin: 1em
|
||||
img.banner
|
||||
max-width: 100%
|
||||
img.crest
|
||||
max-width: 65%
|
||||
|
||||
@media screen and (max-width: 600px)
|
||||
img.banner
|
||||
max-width: 40% !important
|
||||
img.crest
|
||||
display: none !important
|
||||
|
||||
#romulan
|
||||
background-color: #011803
|
||||
border-color: #033807
|
||||
color: #a2bea4
|
||||
#klingon
|
||||
background-color: #640c02
|
||||
border-color: #9c1203
|
||||
color: #dfc06b
|
||||
#starfleet
|
||||
background-color: #000c33
|
||||
border-color: #00165e
|
||||
color: #77b7d2
|
||||
.points
|
||||
font-family: Garamond
|
||||
text-align: center
|
||||
|
||||
@media screen and (min-width: 601px)
|
||||
.points
|
||||
font-size: 7em
|
||||
@media screen and (max-width: 600px)
|
||||
.points
|
||||
font-size: 4em
|
||||
body
|
||||
background-color: #000000
|
||||
|
||||
|
||||
@media screen and (max-width: 600px)
|
||||
#desktop-controls
|
||||
display: none !important
|
||||
|
||||
.faction-column
|
||||
display: table-cell !important
|
||||
float: none !important
|
||||
border-style: solid
|
||||
border-width: 1em
|
||||
text-align: center
|
||||
|
||||
img
|
||||
margin: 1em
|
||||
.crest
|
||||
max-width: 65%
|
||||
.crest-wide
|
||||
max-width: 80%
|
||||
|
||||
@media screen and (max-width: 600px)
|
||||
img.banner
|
||||
display: inline !important
|
||||
max-width: 50% !important
|
||||
margin: .1em !important
|
||||
.faction-column
|
||||
border-width: .4em
|
||||
p
|
||||
display: inline !important
|
||||
vertical-align: middle
|
||||
margin-left: .2em
|
||||
img.crest
|
||||
display: none !important
|
||||
img.crest-wide
|
||||
display: none !important
|
||||
|
||||
#klingon
|
||||
background: radial-gradient(ellipse at bottom, rgba(#934741, .9) 0%, rgba(#640c02, 0.1) 100%)
|
||||
border-color: #9c1203
|
||||
color: #dceaf9
|
||||
@media screen and (min-width: 601px)
|
||||
margin-left: 1em
|
||||
|
||||
#starfleet
|
||||
background: radial-gradient(ellipse at bottom, rgba(#344c67, .9) 0%, rgba(#000c33, 0.1) 100%)
|
||||
border-color: #374561
|
||||
color: #f4ebd5
|
||||
background-image: url('../assets/img/starfleet_emblem_bw.png') center center
|
||||
|
||||
#romulan
|
||||
background: radial-gradient(ellipse at bottom, rgba(#234448, .9) 0%, rgba(#011803, 0.1) 100%)
|
||||
border-color: #033807
|
||||
color: #c3e5c6
|
||||
@media screen and (min-width: 601px)
|
||||
margin-right: 1em
|
||||
|
||||
.points
|
||||
font-family: Odibee Sans
|
||||
text-align: center
|
||||
|
||||
@media screen and (min-width: 601px)
|
||||
font-size: 7em
|
||||
@media screen and (max-width: 600px)
|
||||
font-size: 4em
|
||||
margin-bottom: 0em
|
||||
padding: 0em !important
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ export class AppComponent implements OnInit {
|
||||
ngOnInit() {
|
||||
this.getFactionPoints();
|
||||
setInterval(()=>{this.getFactionPoints();}, 10000);
|
||||
this.displayOnlyMode = false;
|
||||
}
|
||||
|
||||
getFactionPoints(): void {
|
||||
@@ -29,8 +30,6 @@ export class AppComponent implements OnInit {
|
||||
});
|
||||
}
|
||||
|
||||
title = 'Galaxy Point';
|
||||
|
||||
factionPoints: FactionPoints;
|
||||
|
||||
changeKlingonPoints($event) {
|
||||
@@ -64,4 +63,10 @@ export class AppComponent implements OnInit {
|
||||
romulan:0
|
||||
});
|
||||
}
|
||||
|
||||
public displayOnlyMode: boolean;
|
||||
|
||||
displayOnly() {
|
||||
this.displayOnlyMode = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
|
||||
import { HousePointsRemoteService } from './house-points-remote.service';
|
||||
import { FactionPointsRemoteService } from './faction-points-remote.service';
|
||||
|
||||
describe('HousePointsRemoteService', () => {
|
||||
describe('FactionPointsRemoteService', () => {
|
||||
beforeEach(() => TestBed.configureTestingModule({}));
|
||||
|
||||
it('should be created', () => {
|
||||
const service: HousePointsRemoteService = TestBed.get(HousePointsRemoteService);
|
||||
const service: FactionPointsRemoteService = TestBed.get(FactionPointsRemoteService);
|
||||
expect(service).toBeTruthy();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<button class="btn btn-light" (click)="change()" >
|
||||
<span [ngClass]="{'extraLarge' : isExtraLarge() } ">
|
||||
<span *ngIf="isPositive()">+</span> {{amount}}
|
||||
</span>
|
||||
</button>
|
||||
<button class="btn btn-light" (click)="change()" >
|
||||
<span [ngClass]="{'extraLarge' : isExtraLarge() } ">
|
||||
<span *ngIf="isPositive()">+</span> {{amount}}
|
||||
</span>
|
||||
</button>
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
.btn
|
||||
opacity: 0.5
|
||||
margin: 4%
|
||||
font-family: Garamond
|
||||
font-weight: bold
|
||||
font-size: 1.3em
|
||||
.extraLarge
|
||||
font-size: 1.7em
|
||||
.btn
|
||||
opacity: 0.5
|
||||
margin: 4%
|
||||
font-family: Odibee Sans
|
||||
font-size: 1.3em
|
||||
.extraLarge
|
||||
font-size: 1.7em
|
||||
|
||||
@media screen and (max-width: 600px)
|
||||
.btn
|
||||
margin-top: 0em !important
|
||||
|
||||
@@ -1,26 +1,25 @@
|
||||
import { Component, Output, EventEmitter, Input } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'points',
|
||||
templateUrl: './points.component.html',
|
||||
styleUrls: ['./points.component.sass']
|
||||
})
|
||||
export class PointsComponent {
|
||||
|
||||
@Input() amount: number;
|
||||
|
||||
@Output() changeEvent = new EventEmitter<number>();
|
||||
|
||||
change() {
|
||||
this.changeEvent.emit(this.amount);
|
||||
}
|
||||
|
||||
isPositive() {
|
||||
return this.amount > 0;
|
||||
}
|
||||
|
||||
|
||||
isExtraLarge() {
|
||||
return this.amount == 10;
|
||||
}
|
||||
import { Component, Output, EventEmitter, Input } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'points',
|
||||
templateUrl: './points.component.html',
|
||||
styleUrls: ['./points.component.sass']
|
||||
})
|
||||
export class PointsComponent {
|
||||
|
||||
@Input() amount: number;
|
||||
|
||||
@Output() changeEvent = new EventEmitter<number>();
|
||||
|
||||
change() {
|
||||
this.changeEvent.emit(this.amount);
|
||||
}
|
||||
|
||||
isPositive() {
|
||||
return this.amount > 0;
|
||||
}
|
||||
|
||||
isExtraLarge() {
|
||||
return this.amount == 5;
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 190 KiB |
|
Before Width: | Height: | Size: 206 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 200 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 177 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 192 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
@@ -2,7 +2,7 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Hogwart's Point Keeper</title>
|
||||
<title>Galactic Tournament</title>
|
||||
<base href="/">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
// n is number of stars required
|
||||
@function multiple-box-shadow ($n)
|
||||
$value: '#{random(2000)}px #{random(2000)}px #FFF'
|
||||
@for $i from 2 through $n
|
||||
$value: '#{$value} , #{random(2000)}px #{random(2000)}px #FFF'
|
||||
|
||||
@return unquote($value)
|
||||
|
||||
$shadows-small: multiple-box-shadow(700)
|
||||
$shadows-medium: multiple-box-shadow(200)
|
||||
$shadows-big: multiple-box-shadow(100)
|
||||
|
||||
html
|
||||
height: 100%
|
||||
overflow: hidden
|
||||
|
||||
#stars
|
||||
width: 1px
|
||||
height: 1px
|
||||
background: transparent
|
||||
box-shadow: $shadows-small
|
||||
animation : animStar 50s linear infinite
|
||||
|
||||
&:after
|
||||
content: " "
|
||||
position: absolute
|
||||
top: 2000px
|
||||
width: 1px
|
||||
height: 1px
|
||||
background: transparent
|
||||
box-shadow: $shadows-small
|
||||
|
||||
#stars2
|
||||
width: 2px
|
||||
height: 2px
|
||||
background: transparent
|
||||
box-shadow: $shadows-medium
|
||||
animation : animStar 100s linear infinite
|
||||
|
||||
&:after
|
||||
content: " "
|
||||
position: absolute
|
||||
top: 2000px
|
||||
width: 2px
|
||||
height: 2px
|
||||
background: transparent
|
||||
box-shadow: $shadows-medium
|
||||
|
||||
#stars3
|
||||
width: 3px
|
||||
height: 3px
|
||||
background: transparent
|
||||
box-shadow: $shadows-big
|
||||
animation : animStar 150s linear infinite
|
||||
|
||||
&:after
|
||||
content: " "
|
||||
position: absolute
|
||||
top: 2000px
|
||||
width: 3px
|
||||
height: 3px
|
||||
background: transparent
|
||||
box-shadow: $shadows-big
|
||||
|
||||
#title
|
||||
position: absolute
|
||||
top: 50%
|
||||
left: 0
|
||||
right: 0
|
||||
|
||||
color: #FFF
|
||||
text-align: center
|
||||
font-family: 'lato',sans-serif
|
||||
font-weight: 300
|
||||
font-size: 50px
|
||||
letter-spacing: 10px
|
||||
|
||||
margin-top: -60px
|
||||
padding-left: 10px
|
||||
|
||||
span
|
||||
background: -webkit-linear-gradient(white, #38495a)
|
||||
-webkit-background-clip: text
|
||||
-webkit-text-fill-color: transparent
|
||||
|
||||
@keyframes animStar
|
||||
from
|
||||
transform: translateY(0px)
|
||||
to
|
||||
transform: translateY(-2000px)
|
||||
|
||||
@@ -1 +1,9 @@
|
||||
/* You can add global styles to this file, and also import other style files */
|
||||
@import 'stars';
|
||||
|
||||
@font-face
|
||||
font-family: "Odibee Sans";
|
||||
src: url("assets/fonts/OdibeeSans-Regular.eot") format("eot")
|
||||
src: url("assets/fonts/OdibeeSans-Regular.otf") format("otf")
|
||||
src: url("assets/fonts/OdibeeSans-Regular.woff") format("woff")
|
||||
src: url("assets/fonts/OdibeeSans-Regular.ttf") format("truetype")
|
||||
|
||||