This commit is contained in:
Brenden 2022-04-14 22:30:46 +00:00 committed by GitHub
commit ff482166e7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 206 additions and 68 deletions

View File

@ -1,9 +1,12 @@
# Weatherscan Simulator # Weatherscan Simulator
Weatherscan simulation in HTML/JS/CSS [![Join our discord](https://discord.com/api/guilds/901963652649848892/widget.png?style=shield)](https://discord.gg/KqyDsnjFgg)
Visit https://weatherscan.tk/?long_island for a demo Weatherscan simulation in PWA (Progressive web application), coded in **HTML/JS/CSS**
#### Visit https://weatherscan.tk/?philadelphia for a demo of the PWA
## Running locally # Installation
### Running locally and development
1. Download & Install [node.js LTS](https://nodejs.org/en/) 1. Download & Install [node.js LTS](https://nodejs.org/en/)
2. Get weather.com and mapbox.com API keys. 2. Get weather.com and mapbox.com API keys.
3. Navigate to `/webroot/js` and create `secrets.js`. 3. Navigate to `/webroot/js` and create `secrets.js`.
@ -13,5 +16,8 @@ Visit https://weatherscan.tk/?long_island for a demo
7. In terminal, run `npm start` in the root folder of this project. This will start a local web server. 7. In terminal, run `npm start` in the root folder of this project. This will start a local web server.
8. Follow the link in the console output. 8. Follow the link in the console output.
## Development # Screenshots
Install the simulator like normal. #### Weatherscan simulator in normal mode
![image](https://user-images.githubusercontent.com/38764606/163455365-435dfa26-6c9b-4351-96d6-e280a141b1e8.png)
#### Weatherscan simulator in severe weather mode
![image](https://user-images.githubusercontent.com/38764606/163454458-04d2938f-cfad-4f75-81b7-a95feb3f9d49.png)

220
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -15,7 +15,7 @@
"cors-anywhere": "^0.4.4", "cors-anywhere": "^0.4.4",
"date-fns": "^2.23.0", "date-fns": "^2.23.0",
"http-server": "^14.1.0", "http-server": "^14.1.0",
"live-server": "^1.1.0", "live-server": "^1.1.0"
"npm-run-all": "^4.1.5" "npm-run-all": "^4.1.5"
}, },
"devDependencies": { "devDependencies": {
@ -23,6 +23,6 @@
"gulp-autoprefixer": "^6.1.0", "gulp-autoprefixer": "^6.1.0",
"gulp-clean-css": "^4.2.0", "gulp-clean-css": "^4.2.0",
"gulp-sass": "^5.0.0", "gulp-sass": "^5.0.0",
"gulp-sourcemaps": "^2.6.5" "gulp-sourcemaps": "^2.6.5",
} }
} }

View File

@ -4788,7 +4788,7 @@ label{
} }
.city-slide-intro { .city-slide-intro {
position: relative; position: relative;
background: transparent url(/images/city1.jpg) no-repeat bottom; background: transparent url(/images/neighborhood.jpg) no-repeat bottom;
background-size: cover background-size: cover
} }
.city-slide-intro .weatherscancopyright { .city-slide-intro .weatherscancopyright {

BIN
webroot/images/Untitled.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 811 B

BIN
webroot/images/blank.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 B

BIN
webroot/images/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 368 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 804 KiB

After

Width:  |  Height:  |  Size: 821 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 695 KiB

After

Width:  |  Height:  |  Size: 804 KiB

View File

@ -488,7 +488,7 @@
<div id="main" class="container"> <div id="main" class="container">
<img id="template" src="images/template-4k.png"/> <img id="template" src="images/template-4knologo.png"/>
<div id="info-slides-bg"></div> <div id="info-slides-bg"></div>
<div id="info-slides-container"> <div id="info-slides-container">
@ -960,7 +960,7 @@
<!-- Intros --> <!-- Intros -->
<div class="info-slide city-slide-intro" style="display:none"> <div class="info-slide city-slide-intro" style="display:none">
<div class="weatherscancopyright" style="display:none"> <span class="copyrighttext"> Weatherscan is brought to you by The Weather Channel®<br> and MIDCO </span></div> <div class="weatherscancopyright" style="display:none"> <span class="copyrighttext"> Weatherscan is brought to you by The Weather Channel®<br> and XFINITY TV </span></div>
<div class='cityaccent viii curve' style="display:none"></div> <div class='cityaccent viii curve' style="display:none"></div>
<div class='cityaccent ii curve' style="display:none"></div> <div class='cityaccent ii curve' style="display:none"></div>
<div class='cityaccent i curve' style="display:none"></div> <div class='cityaccent i curve' style="display:none"></div>
@ -1088,7 +1088,7 @@
<div class='delayfill'>No Delay</div> <div class='delayfill'>No Delay</div>
<div class='reason'>REASON</div> <div class='reason'>REASON</div>
<div class='reasonfill'></div> <div class='reasonfill'></div>
<div class='source'>Source: FAA</div> <div class='source'>Source: flightaware.com</div>
</div> </div>
</div> </div>
<div class='frost-pane right'> <div class='frost-pane right'>
@ -1104,7 +1104,7 @@
<span class='delay'>DELAY</span> <span class='delay'>DELAY</span>
</div> </div>
<div class='frost-pane'> <div class='frost-pane'>
<div class='source'>Source: FAA</div> <div class='source'>Source: flightaware.com</div>
<div class="airport i"> <div class="airport i">
<div class="airportname"></div> <div class="airportname"></div>
<div class="temp"></div> <div class="temp"></div>
@ -1680,7 +1680,7 @@
</div> </div>
<div id="minimap-title"><span>PAST 3 HOURS</span></div> <div id="minimap-title"><span>PAST 3 HOURS</span></div>
<div id="minimap"></div> <div id="minimap"></div>
<div id="logo-area"><img src="images/midco_logo_shadow.png"/></div> <div id="logo-area"><img src="images/logo.png"/></div>
<div id="forecast-shadow"> <div id="forecast-shadow">
<div id="normalheader" class='forecast-header'> <div id="normalheader" class='forecast-header'>
@ -1705,11 +1705,7 @@
<img id="arrow-img" src="images/now.png"/> <img id="arrow-img" src="images/now.png"/>
<div id="marquee2" class="marquee"> <div id="marquee2" class="marquee">
You are watching an emulation of the Weatherscan IntelliStar system. Weatherscan is a digital cable and satellite With Comcast Spotlight, utilize the impact of interactive advertising. Specifically target areas of Minneapolis on TV with commercials on networks like ESPN and TNT - and on the internet at XFINITY.com and FoxNews.com. For your custom advertising solution, call 244-2122.
television network that is owned by a consortium owned in turn by NBCUniversal and investment firms The Blackstone
Group and Bain Capital. A spinoff of The Weather Channel, Weatherscan features uninterrupted local weather
information in graphical format on a continuous loop that is generated by an IntelliStar unit installed at the cable
provider's headend; unlike The Weather Channel, Weatherscan does not feature on-air talent of any kind.
</div> </div>
<div class="marqueeheadersevere" style="display:none">SEVERE THUNDERSTORM WARNING</div> <div class="marqueeheadersevere" style="display:none">SEVERE THUNDERSTORM WARNING</div>
<div id="marqueeSevere" class="marquee" style="display:none"> <div id="marqueeSevere" class="marquee" style="display:none">

View File

@ -21,7 +21,7 @@ function WeatherAudio() {
var musicpath = "music/"; var musicpath = "music/";
// insert track names // insert track names
for (var i = 32; i<66; i++) { for (var i = 30; i<66; i++) {
arr.push(musicpath + "Track " + String('0'+i).slice(-2) + '.mp3'); arr.push(musicpath + "Track " + String('0'+i).slice(-2) + '.mp3');
} }

View File

@ -6,8 +6,8 @@ function spinything() {
rotatey = (Math.floor(-100 + Math.random()*(100 + 1 - -100)))/100 rotatey = (Math.floor(-100 + Math.random()*(100 + 1 - -100)))/100
rotatez = (Math.floor(-100 + Math.random()*(100 + 1 - -100)))/100 rotatez = (Math.floor(-100 + Math.random()*(100 + 1 - -100)))/100
$("#headendid").text("headend id: 0"+Math.round(Math.random()*100000)) $("#headendid").text("headend id: 0"+Math.round(Math.random()*100000))
$("#serialnumber").text("serial number: TWCS"+"0"+Math.round(Math.random()*100000000)) $("#serialnumber").text("serial number: N/A")
$("#affilatename").text("affiliatename: Midco") $("#affilatename").text("affiliate name: XFINITY TV")
$(".intellistarlogo").css( { transition: `transform 5s linear`, $(".intellistarlogo").css( { transition: `transform 5s linear`,
transform: `rotate3d(${rotatex}, ${rotatey}, ${rotatez}, ${.25 + Math.random()}turn)` } ); transform: `rotate3d(${rotatex}, ${rotatey}, ${rotatez}, ${.25 + Math.random()}turn)` } );
setTimeout(function () { setTimeout(function () {
@ -313,8 +313,8 @@ var weatherInfo = { currentCond: {
{day:"",time:"",index:"",desc:""}, {day:"",time:"",index:"",desc:""},
{day:"",time:"",index:"",desc:""} {day:"",time:"",index:"",desc:""}
]}, airport: {noReport: false, mainairports:[ ]}, airport: {noReport: false, mainairports:[
{displayname:"",iata:"MIA",arrivals:{delay:"No Delay",reason:""},departures:{delay:"No Delay",reason:""},temp:"",cond:"",icon:"",windspeed:""}, {displayname:"",iata:"MSP",arrivals:{delay:"No Delay",reason:""},departures:{delay:"No Delay",reason:""},temp:"",cond:"",icon:"",windspeed:""},
{displayname:"",iata:"MCO",arrivals:{delay:"No Delay",reason:""},departures:{delay:"No Delay",reason:""},temp:"",cond:"",icon:"",windspeed:""} {displayname:"",iata:"RST",arrivals:{delay:"No Delay",reason:""},departures:{delay:"No Delay",reason:""},temp:"",cond:"",icon:"",windspeed:""}
], delays: [], ], delays: [],
//{iato:"",type:"",amount:"",amountmin:"",reason:""} //{iato:"",type:"",amount:"",amountmin:"",reason:""}
otherairports:[ otherairports:[
@ -339,7 +339,7 @@ var weatherInfo = { currentCond: {
radarTempUnavialable: false, radarTempUnavialable: false,
radarWinterLegend: false, radarWinterLegend: false,
reboot: false, reboot: false,
ad: "You are watching an emulation of the Weatherscan IntelliStar system. Weatherscan is a digital cable and satellite television network that is owned by a consortium owned in turn by NBCUniversal and investment firms The Blackstone Group and Bain Capital. A spinoff of The Weather Channel, Weatherscan features uninterrupted local weather information in graphical format on a continuous loop that is generated by an IntelliStar unit installed at the cable provider's headend; unlike The Weather Channel, Weatherscan does not feature on-air talent of any kind." ad: "With Comcast Spotlight, utilize the impact of interactive advertising. Specifically target areas of Minneapolis on TV with commercials on networks like ESPN and TNT - and on the internet at XFINITY.com and FoxNews.com. For your custom advertising solution, call 244-2122."
} }
//start data functions. these are run after their respective location functions finish //start data functions. these are run after their respective location functions finish

View File

@ -1243,7 +1243,7 @@ var mainMap
$('.city-slide-intro .cityweatherscanmarquee').fadeOut(500, function() { $('.city-slide-intro .cityweatherscanmarquee').fadeOut(500, function() {
$('.city-slide-intro').fadeOut(0); $('.city-slide-intro').fadeOut(0);
$('.city-slide-intro .weatherscancopyright .copyrighttext').css('font-size','28px') $('.city-slide-intro .weatherscancopyright .copyrighttext').css('font-size','28px')
$('.city-slide-intro .weatherscancopyright .copyrighttext').text("Weatherscan is brought to you by The Weather Channel® and MIDCO") $('.city-slide-intro .weatherscancopyright .copyrighttext').text("Weatherscan is brought to you by The Weather Channel® and XFINITY TV")
wait(0); wait(0);
}); });
}, 10000); }, 10000);

BIN
webroot/music/Track 30.mp3 Normal file

Binary file not shown.

BIN
webroot/music/Track 31.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.