diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php
index 7994c2c..e046d58 100644
--- a/app/Http/Controllers/HomeController.php
+++ b/app/Http/Controllers/HomeController.php
@@ -2,6 +2,9 @@
namespace App\Http\Controllers;
+use Illuminate\Support\Facades\Cache;
+use Illuminate\Support\Facades\Config;
+use Illuminate\Support\Facades\Http;
use Illuminate\View\View;
use DateTime;
@@ -24,7 +27,7 @@ function returnAge(): int {
*/
public function show(): View {
return view('home', [
- 'age' => $this->returnAge()
+ 'age' => $this->returnAge(),
]);
}
}
diff --git a/app/View/Components/DiscordStatus.php b/app/View/Components/DiscordStatus.php
new file mode 100644
index 0000000..fac06ae
--- /dev/null
+++ b/app/View/Components/DiscordStatus.php
@@ -0,0 +1,66 @@
+json();
+ $presence = $data["data"];
+ Cache::put('discord_presence', $presence, now()->addSeconds(60));
+ return $presence;
+ }
+
+ public function getOnlineStatus(): array {
+ $presence = $this->getDiscordPresence();
+ return match ($presence["discord_status"]) {
+ "online", "dnd" => [
+ "text" => "online",
+ "color" => "#02c83a"
+ ],
+ "idle" => [
+ "text" => "away",
+ "color" => "#d77c20"
+ ],
+ default => [
+ "text" => "offline",
+ "color" => "#ca3329"
+ ],
+ };
+ }
+
+ /**
+ * Get the view / contents that represent the component.
+ */
+ public function render(): View|Closure|string
+ {
+ return view('components.discord-status', [
+ 'status' => $this->getOnlineStatus(),
+ ]);
+ }
+}
diff --git a/app/View/Components/Weather.php b/app/View/Components/Weather.php
new file mode 100644
index 0000000..69be9fd
--- /dev/null
+++ b/app/View/Components/Weather.php
@@ -0,0 +1,44 @@
+json();
+ $conditions = $data["data"]["conditions"];
+ Cache::put('weather_data', $conditions, now()->addSeconds(60));
+ return $conditions;
+ }
+
+ /**
+ * Get the view / contents that represent the component.
+ */
+ public function render(): View|Closure|string
+ {
+ return view('components.weather', [
+ 'conditions' => $this->getWeatherData(),
+ ]);
+ }
+}
diff --git a/config/quotes.php b/config/quotes.php
index c1261be..9bfd8ad 100644
--- a/config/quotes.php
+++ b/config/quotes.php
@@ -426,9 +426,7 @@
"lines" => [
[
"character" => "KING",
- "line" => "(Rage squeals
-
-)"
+ "line" => "*Rage squeals*"
]
],
"attribution" => "The Owl House, S1E10"
diff --git a/config/services.php b/config/services.php
index 21e97c7..aaad053 100644
--- a/config/services.php
+++ b/config/services.php
@@ -17,5 +17,9 @@
'lastfm' => [
'key' => env('LASTFM_KEY'),
'user' => env('LASTFM_USER'),
- ]
+ ],
+ 'lanyard' => [
+ 'user_id' => env('DISCORD_USER_ID'),
+ ],
+ 'weatherlink' => env('WEATHERLINK_IP')
];
diff --git a/public/css/master.css b/public/css/master.css
index 4da69c1..fff505d 100644
--- a/public/css/master.css
+++ b/public/css/master.css
@@ -239,3 +239,98 @@ .quote {
padding-left: 10px;
border-left: solid 2px var(--foreground);
}
+
+.music-top10 {
+ width: 100%;
+}
+
+.music-top10 td,
+.music-top10 th {
+ border: none;
+ border-left: 1px dotted var(--foreground);
+ padding: 2px 5px
+}
+
+.music-top10 tr:nth-child(1) th {
+ border-bottom: 1px dotted var(--foreground);
+}
+
+.music-top10 tr:nth-child(2) td {
+ padding-top: 5px;
+}
+
+.music-top10 td:first-child,
+.music-top10 th:first-child {
+ border: none;
+}
+
+.music-top10 tr th:first-child {
+ text-align: right;
+}
+
+.music-top10 td {
+ max-width: 200px;
+ white-space: nowrap;
+ text-overflow:ellipsis;
+ overflow: hidden;
+}
+
+.music-top10 tr td:first-child {
+ text-align: right;
+}
+
+.music-top10 tr td:nth-child(2),
+.music-top10 tr td:nth-child(3) {
+}
+
+
+.current-track h2 {
+ margin: 0;
+}
+
+table.computers {
+ table-layout: auto;
+ width: 75%;
+}
+
+table.computers td ul {
+ margin: 0;
+ padding-left: 20px;
+}
+
+table.computers .section-title {
+ text-decoration: underline;
+ font-style: italic;
+ font-weight: bold;
+}
+
+table.computers p.description {
+ font-style: italic;
+ margin: 5px 0 2px 0;
+}
+
+table.computers th {
+ background-color: var(--background-secondary);
+}
+
+table.computers td:first-child {
+ white-space: nowrap;
+}
+
+table.computers td,
+table.computers th {
+ border: var(--foreground) solid 1px;
+ padding: 5px;
+}
+
+.calculator-spec-table td {
+ border: var(--foreground) solid 1px;
+}
+
+.calculator-spec-table td {
+ padding: 5px 10px 5px 5px;
+}
+
+.calculator-spec-table tr td:first-child {
+ background-color: var(--background-secondary);
+}
diff --git a/resources/views/calculators.blade.php b/resources/views/calculators.blade.php
index 7f3603b..e36ac43 100644
--- a/resources/views/calculators.blade.php
+++ b/resources/views/calculators.blade.php
@@ -1,18 +1,20 @@
TBD Pictures TBD Specifications Click images to view full size Pictures TBD Click images to view full size Pictures TBD Click images to view full size Pictures The calculator measures 74.2mm x 135mm x 22.2mm. It weighs 86g without the battery installed, which is a 9v PP3-type battery. Rather than the usual press-stud type holder, the housing has two metal slide clips. There is also what I assume to be a sponge at one end which is supposed to aid in holding the battery in, however it appears to have gone completely hard and I will most likely replace it in the future. There's small adaptor hole at the top, of which the input isn't specified (though it's generally agreed that it's 4.5v centre-positive). The case is black & silvery colored with a thin brushed metallic front panel. The eight-digit bubble display has an absolutely terrible viewing angle, which means you either have to be holding it under your coat or against your face to read it! Specifications Click images to view full size PicturesCASIO fx-CG50
+ CASIO fx-CG50
Pictures
+
+
-
- CASIO fx-120 (1977-78)
+ CASIO fx-120 (1977-78)
Specifications
+
+
-
Size
@@ -43,42 +45,40 @@
12-digit VFD (NEC LD8197A)
Pictures
-
+
-
- CASIO fx-82 (1982-85)
+ CASIO fx-82 (1982-85)
Pictures
-
+
-
- Texas Instruments TI-30 (1976-90)
+ Texas Instruments TI-30 (1976-90)
Pictures
-
+
-
- Texet 880 Executive (1977-78)
+ Texet 880 Executive (1977-78)
[CE]
, [C]
and [CA]
, while the [CS]
button is a Clear Sign button, not another cancel! The keys themselves are particularly stiff, and you really have to push them to get them to register. Many 880s suffered something referred to as the "pseudo fixed decimal bug" where, if you typed in 1 + 1.00 =
, it would display 2.00
instead of the expected 2
- Specifications
+ The keypad is particularly strange in the way that it has 3 cancel buttons, [CE], [C] and [CA], while the [CS] button is a Clear Sign button, not another cancel! The keys themselves are particularly stiff, and you really have to push them to get them to register. Many 880s suffered something referred to as the "pseudo fixed decimal bug" where, if you typed in 1 + 1.00 = , it would display 2.00 instead of the expected 2
+
+
-
Size
@@ -105,10 +105,10 @@
8-digit LED
Pictures
-
Time in Britain:
diff --git a/resources/views/components/layout.blade.php b/resources/views/components/layout.blade.php index 294c153..1d1b22d 100644 --- a/resources/views/components/layout.blade.php +++ b/resources/views/components/layout.blade.php @@ -45,7 +45,7 @@Time in Britain:
diff --git a/resources/views/components/toh-quote.blade.php b/resources/views/components/toh-quote.blade.php index 898b001..d9dfab1 100644 --- a/resources/views/components/toh-quote.blade.php +++ b/resources/views/components/toh-quote.blade.php @@ -1,6 +1,12 @@
@foreach($quote["lines"] as $line)
- {{ $line["character"] }}: "{{ $line["line"] }}"
+ {{ $line["character"] }}:
+ {{-- Literally only one thing will trigger this lmao --}}
+ @if($line["line"] == "*Rage squeals*")
+ {{ $line["line"] }}
+ @else
+ "{{ $line["line"] }}"
+ @endif
@endforeach
({{ $quote["attribution"] }})
Weather:
-
- 69C
- 0mm/hr
- 69%
- 420inHg
-
Weather Conditions:
+Temperature: {{ round(($conditions[0]["temp"] - 32) * (5/9), 1) }} degC
+Rain: {{ ($conditions[0]["rain_rate_last"] * 0.2) }}mm/hr ({{ $conditions[0]["rainfall_daily"] }}mm today)
+@if ($conditions[0]["wind_speed_last"] != 0) +Wind: {{ round($conditions[0]["wind_speed_last"], 1) }}mph ({{ $conditions[0]["wind_dir_last"] }} deg)
+@else +Wind: 0mph
+@endif +Humidity: {{ round($conditions[0]["hum"], 1) }}%
+Pressure: {{ round($conditions[2]["bar_sea_level"], 1) }} inHg
diff --git a/resources/views/computers.blade.php b/resources/views/computers.blade.php index e188ba3..4d3457e 100644 --- a/resources/views/computers.blade.php +++ b/resources/views/computers.blade.php @@ -1,252 +1,253 @@MODEL | -CPU | -GPU | -STORAGE | -RAM | -OS | -
---|---|---|---|---|---|
Random Whitebox (???) |
- 486DX2 | -- | 280MB HDD | -16MB | -MS-DOS 6.22 & Windows for Workgroups 3.11 | -
MacBook Pro 14" (2023) |
- M3 Pro | -500GB SSD | -18GB | -macOS Sonoma | -|
MacBook Pro 13" (2018) |
- Intel i5-8592U (2.3GHz) | -Intel Iris Plus 655 | -250GB SSD | -8GB | -macOS Mojave | -
Lenovo ThinkPad T430 (2012) |
- Intel Core i7 (idk what it is) | -- | - | 16GB | -Windows 7 Pro / NixOS | -
IBM ThinkPad X41T (2005) |
- Intel Pentium M (1.6GHz) | -Mobile Intel Express Chipset (128MB) | -40GB HDD | -1.5GB | -Windows XP Tablet PC Edition | -
Dell OptiPlex GX1 (1999) |
- Intel Pentium II (Deschutes, 400MHz) | -ATI 3D Rage Pro (4MB) | -40GB HDD | -639MB | -Windows 2000 | -
IBM ThinkPad T40 (2003) |
- Intel Pentium M (1.3GHz) | -ATI Mobility Radeon 7500 (32MB) | -N/A | -N/A | -N/A | -
HP Compaq Elite 8100 (2010) |
- Intel Core i7 (something or other) | -- | - | 16GB | -Windows Vista Ultimate (64-bit) | -
Mac mini (2014) |
- Intel Core i5-4278U (2.6GHz) | -Intel Iris Graphics | -1TB HDD | -8GB | -Proxmox VE 8.2 | -
Fujitsu Milan (1996) |
- Intel Pentium | -- | 1215MB HDD | -32MB | -Windows 98 SE | -
Compaq Armada M300 (1999) |
- Intel Pentium III | -- | - | - | - |
SuperMicro X9SCM | -Intel Pentium G850 (2.9GHz) | -Matrox MGA G6200eW | -2TB HDD / 80GB HDD | -16GB | -Proxmox VE 8.2 | -
Main PC | -Intel Core i7-6700K (4GHz) | -NVidia GTX 1060 (3GB) | -(multiple) | -64GB | -Windows 10 Pro / NixOS | -
Toshiba Qosmio F20 (2005) |
- - | - | - | N/A | -N/A | -
MacBook Pro 13" (2009) |
- - | - | - | N/A | -N/A | -
Packard-Bell EasyNote MIT-LYN01 (???) |
- - | - | - | - | Windows XP Home | -
Sony VAIO PCG-3B1M (???) |
- - | - | - | - | Windows Vista | -
Dell OptiPlex 745 USFF (2006) |
- Intel Pentium Dual Core | -Intel Integrated | -(multiple) | -4GB | -(multiple) | -
Dell Inspiron 1525 (2008) |
- - | - | - | N/A | -N/A | -
Random Whitebox 2 | -AMD Phenom II X6-1055T | -- | - | 8GB | -N/A | -
Dell Latitude D531 (2007) |
- - | - | - | - | Windows XP Professional | -
IBM ThinkPad R40 (2003) |
- - | - | - | - | Windows 2000 | -
Dell Latitude CPi (2001) |
- - | - | - | - | Windows 2000 | -
Dell Latitude CPx (1999) |
- - | - | - | - | Windows 98 SE | -
Dell Latitude 4898T (???) |
- - | - | - | N/A | -N/A | -
Time 8375 (???) |
- - | - | - | N/A | -N/A | -
Toshiba Satellite 200CDS (1996) |
- - | - | - | - | - |
HP Compaq NC6000 (2004) |
- - | - | - | N/A | -N/A | -
IBM Personal Computer 330 (1997) |
- Intel Pentium | -- | - | N/A | -N/A | -
Shuttle XPC SN21G5 (2006) |
- AMD Athlon 64 X2 | -- | - | N/A | -N/A | -
TBD
+{{--MODEL | --}} +{{--CPU | --}} +{{--GPU | --}} +{{--STORAGE | --}} +{{--RAM | --}} +{{--OS | --}} +{{--
---|---|---|---|---|---|
Random Whitebox (???) | --}}
+{{-- 486DX2 | --}} +{{----}} +{{-- | 280MB HDD | --}} +{{--16MB | --}} +{{--MS-DOS 6.22 & Windows for Workgroups 3.11 | --}} +{{--
MacBook Pro 14" (2023) | --}}
+{{-- M3 Pro | --}} +{{--500GB SSD | --}} +{{--18GB | --}} +{{--macOS Sonoma | --}} +{{--|
MacBook Pro 13" (2018) | --}}
+{{-- Intel i5-8592U (2.3GHz) | --}} +{{--Intel Iris Plus 655 | --}} +{{--250GB SSD | --}} +{{--8GB | --}} +{{--macOS Mojave | --}} +{{--
Lenovo ThinkPad T430 (2012) | --}}
+{{-- Intel Core i7 (idk what it is) | --}} +{{----}} +{{-- | --}} +{{-- | 16GB | --}} +{{--Windows 7 Pro / NixOS | --}} +{{--
IBM ThinkPad X41T (2005) | --}}
+{{-- Intel Pentium M (1.6GHz) | --}} +{{--Mobile Intel Express Chipset (128MB) | --}} +{{--40GB HDD | --}} +{{--1.5GB | --}} +{{--Windows XP Tablet PC Edition | --}} +{{--
Dell OptiPlex GX1 (1999) | --}}
+{{-- Intel Pentium II (Deschutes, 400MHz) | --}} +{{--ATI 3D Rage Pro (4MB) | --}} +{{--40GB HDD | --}} +{{--639MB | --}} +{{--Windows 2000 | --}} +{{--
IBM ThinkPad T40 (2003) | --}}
+{{-- Intel Pentium M (1.3GHz) | --}} +{{--ATI Mobility Radeon 7500 (32MB) | --}} +{{--N/A | --}} +{{--N/A | --}} +{{--N/A | --}} +{{--
HP Compaq Elite 8100 (2010) | --}}
+{{-- Intel Core i7 (something or other) | --}} +{{----}} +{{-- | --}} +{{-- | 16GB | --}} +{{--Windows Vista Ultimate (64-bit) | --}} +{{--
Mac mini (2014) | --}}
+{{-- Intel Core i5-4278U (2.6GHz) | --}} +{{--Intel Iris Graphics | --}} +{{--1TB HDD | --}} +{{--8GB | --}} +{{--Proxmox VE 8.2 | --}} +{{--
Fujitsu Milan (1996) | --}}
+{{-- Intel Pentium | --}} +{{----}} +{{-- | 1215MB HDD | --}} +{{--32MB | --}} +{{--Windows 98 SE | --}} +{{--
Compaq Armada M300 (1999) | --}}
+{{-- Intel Pentium III | --}} +{{----}} +{{-- | --}} +{{-- | --}} +{{-- | --}} +{{-- |
SuperMicro X9SCM | --}} +{{--Intel Pentium G850 (2.9GHz) | --}} +{{--Matrox MGA G6200eW | --}} +{{--2TB HDD / 80GB HDD | --}} +{{--16GB | --}} +{{--Proxmox VE 8.2 | --}} +{{--
Main PC | --}} +{{--Intel Core i7-6700K (4GHz) | --}} +{{--NVidia GTX 1060 (3GB) | --}} +{{--(multiple) | --}} +{{--64GB | --}} +{{--Windows 10 Pro / NixOS | --}} +{{--
Toshiba Qosmio F20 (2005) | --}}
+{{-- --}} +{{-- | --}} +{{-- | --}} +{{-- | N/A | --}} +{{--N/A | --}} +{{--
MacBook Pro 13" (2009) | --}}
+{{-- --}} +{{-- | --}} +{{-- | --}} +{{-- | N/A | --}} +{{--N/A | --}} +{{--
Packard-Bell EasyNote MIT-LYN01 (???) | --}}
+{{-- --}} +{{-- | --}} +{{-- | --}} +{{-- | --}} +{{-- | Windows XP Home | --}} +{{--
Sony VAIO PCG-3B1M (???) | --}}
+{{-- --}} +{{-- | --}} +{{-- | --}} +{{-- | --}} +{{-- | Windows Vista | --}} +{{--
Dell OptiPlex 745 USFF (2006) | --}}
+{{-- Intel Pentium Dual Core | --}} +{{--Intel Integrated | --}} +{{--(multiple) | --}} +{{--4GB | --}} +{{--(multiple) | --}} +{{--
Dell Inspiron 1525 (2008) | --}}
+{{-- --}} +{{-- | --}} +{{-- | --}} +{{-- | N/A | --}} +{{--N/A | --}} +{{--
Random Whitebox 2 | --}} +{{--AMD Phenom II X6-1055T | --}} +{{----}} +{{-- | --}} +{{-- | 8GB | --}} +{{--N/A | --}} +{{--
Dell Latitude D531 (2007) | --}}
+{{-- --}} +{{-- | --}} +{{-- | --}} +{{-- | --}} +{{-- | Windows XP Professional | --}} +{{--
IBM ThinkPad R40 (2003) | --}}
+{{-- --}} +{{-- | --}} +{{-- | --}} +{{-- | --}} +{{-- | Windows 2000 | --}} +{{--
Dell Latitude CPi (2001) | --}}
+{{-- --}} +{{-- | --}} +{{-- | --}} +{{-- | --}} +{{-- | Windows 2000 | --}} +{{--
Dell Latitude CPx (1999) | --}}
+{{-- --}} +{{-- | --}} +{{-- | --}} +{{-- | --}} +{{-- | Windows 98 SE | --}} +{{--
Dell Latitude 4898T (???) | --}}
+{{-- --}} +{{-- | --}} +{{-- | --}} +{{-- | N/A | --}} +{{--N/A | --}} +{{--
Time 8375 (???) | --}}
+{{-- --}} +{{-- | --}} +{{-- | --}} +{{-- | N/A | --}} +{{--N/A | --}} +{{--
Toshiba Satellite 200CDS (1996) | --}}
+{{-- --}} +{{-- | --}} +{{-- | --}} +{{-- | --}} +{{-- | --}} +{{-- |
HP Compaq NC6000 (2004) | --}}
+{{-- --}} +{{-- | --}} +{{-- | --}} +{{-- | N/A | --}} +{{--N/A | --}} +{{--
IBM Personal Computer 330 (1997) | --}}
+{{-- Intel Pentium | --}} +{{----}} +{{-- | --}} +{{-- | N/A | --}} +{{--N/A | --}} +{{--
Shuttle XPC SN21G5 (2006) | --}}
+{{-- AMD Athlon 64 X2 | --}} +{{----}} +{{-- | --}} +{{-- | N/A | --}} +{{--N/A | --}} +{{--