diff --git a/.env.example b/.env.example
index 4ead6e3..08a0cb5 100644
--- a/.env.example
+++ b/.env.example
@@ -29,3 +29,4 @@ MEMCACHED_HOST=127.0.0.1
LASTFM_KEY=
LASTFM_USER=
LASTFM_TOP_TRACKS=10
+API_ROOT=http://127.0.0.1:3000
diff --git a/config/app.php b/config/app.php
index 4c231b4..80f4e07 100644
--- a/config/app.php
+++ b/config/app.php
@@ -56,6 +56,7 @@
*/
'url' => env('APP_URL', 'http://localhost'),
+ 'api_root' => env('API_ROOT', 'http://127.0.0.1:3000'),
'asset_url' => env('ASSET_URL'),
diff --git a/resources/views/components/lastfm.blade.php b/resources/views/components/lastfm.blade.php
index 92b2c9c..75ec064 100644
--- a/resources/views/components/lastfm.blade.php
+++ b/resources/views/components/lastfm.blade.php
@@ -1,26 +1,25 @@
@php
$cfg = app('config')->get('services')['lastfm'];
+$api_root = app('config')->get('app')['api_root'];
-$current_response = json_decode(file_get_contents("https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=".$cfg['user']."&nowplaying=true&format=json&api_key=".$cfg['key']));
-$nowplaying = $current_response->recenttracks->track[0];
-$toptracks = json_decode(file_get_contents("https://ws.audioscrobbler.com/2.0/?method=user.gettoptracks&user=".$cfg['user']."&format=json&period=7day&api_key=".$cfg['key']));
-$tracks = $toptracks->toptracks->track;
+$current_track = json_decode(file_get_contents($api_root.'/lastfm/current'));
+$toptracks = json_decode(file_get_contents($api_root.'/lastfm/top'));
$count = 0;
@endphp
- Last/Current Track: {{ $nowplaying->name }} • {{ $nowplaying->artist->{"#text"} }}
+ Last/Current Track: {{ $current_track->name }} • {{ $current_track->artist }}
Top {{ $cfg['toptracks'] }} Tracks (Last 7 days)
-@foreach ($tracks as $track)
+@foreach ($toptracks as $track)
@if ($count >= $cfg['toptracks'])
@break
@endif
- {{ $track->name }} • {{ $track->artist->name }}
- ({{ $track->playcount }} plays)
+ {{ $track->name }} • {{ $track->artist }}
+ ({{ $track->plays }} plays)
@php $count++ @endphp
@endforeach
diff --git a/resources/views/components/weather.blade.php b/resources/views/components/weather.blade.php
index 2aa2ebb..a5a041f 100644
--- a/resources/views/components/weather.blade.php
+++ b/resources/views/components/weather.blade.php
@@ -1,20 +1,22 @@
@php
- function degreesToCompassDirection($degrees) {
- $cardinalDirections = [
- 'N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE',
- 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW', 'N'
- ];
- return $cardinalDirections[round($degrees*16/360)];
- }
+$api_root = app('config')->get('app')['api_root'];
- $data = json_decode(file_get_contents('http://weather.diskfloppy.me/data/weatherData.json'));
- $updated = gmdate('H:i Y-m-d', intval(rtrim(file_get_contents('http://weather.diskfloppy.me/data/got.txt'))));
- $data = $data->data->conditions[0];
+function degreesToCompassDirection($degrees) {
+ $cardinalDirections = [
+ 'N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE',
+ 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW', 'N'
+ ];
+ return $cardinalDirections[round($degrees*16/360)];
+}
+
+$data = json_decode(file_get_contents($api_root.'/weather'));
+$updated = gmdate('H:i Y-m-d', $data->updated);
+$data = $data->data;
@endphp
Local Weather (Last Update: {{ $updated }})
- Wind Speed: {{ $data->wind_speed_last }} mph
- Wind Direction: {{ $data->wind_dir_last }}°, {{ degreesToCompassDirection($data->wind_dir_last) }}
- Temperature: {{ round(($data->temp-32)*(5/9), 1) }}°C
- Rain Rate: {{ round($data->rain_rate_last*0.2, 2) }} mm/hr
- Humidity: {{ round($data->hum) }}%
+ Wind Speed: {{ $data->wind->speed }} mph
+ Wind Direction: {{ $data->wind->direction->degrees }}°, {{ $data->wind->direction->cardinal }}
+ Temperature: {{ $data->temperature }}°C
+ Rain Rate: {{ $data->rain_rate }} mm/hr
+ Humidity: {{ $data->humidity }}%
diff --git a/resources/views/pages/misc/badapple.blade.php b/resources/views/pages/misc/badapple.blade.php
new file mode 100644
index 0000000..9da798d
--- /dev/null
+++ b/resources/views/pages/misc/badapple.blade.php
@@ -0,0 +1,58 @@
+@extends('layouts.default')
+@section('title', 'misc / bad apple')
+@section('description', '')
+@section('content')
+Bad Apple Ports
+ Apple II
+ - ekslong
+
+ Vectrex
+ Atari 2600
+ Windows 3.1
+ Gameboy
+ Windows XP
+ Ubuntu
+ IRL
+ TI-84+ SE
+ Sega Megadrive
+ DOS
+ IBM PC/XT
+ Gameboy Color
+ CASIO fx-9750GII
+ Ti-nspire
+ Pokemon Mini
+ IBM PC/AT
+ NEC PC-6601
+ Toshiba T3200
+ BBC Micro (Teletext)
+ Nintendo 64
+ Commodore 64
+ NES
+ Impulse Tracker
+ Neo Geo
+ iPod mini
+ Factorio
+ KY-01L
+ Launchpad
+ ILDA Laser Projector
+ 896-core Processor
+ Threadripper 3990X
+ Desmos
+ MS Word 1.x
+ Apple Watch
+ Intellivision
+ Minecraft Sheep
+ VSCode Auto-formatter
+ ZX Spectrum
+ Oscilloscopes
+ HTML Checkboxes
+ Phosphor Screen
+ CS:GO
+ Hand-drawn RISC-V CPU
+ 3D Printer
+ E-paper display
+ 32K EEPROM
+ UVB-76
+ OS/400 (IBM i)
+ plan9 (rio)
+@stop