Remove unused stuff
|
@ -6,7 +6,7 @@
|
|||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\View\Component;
|
||||
|
||||
class CurrentTrack extends Component
|
||||
class LastFMCurrent extends Component
|
||||
{
|
||||
public $track;
|
||||
/**
|
||||
|
@ -22,6 +22,6 @@ public function __construct($track)
|
|||
*/
|
||||
public function render(): View|Closure|string
|
||||
{
|
||||
return view('components.current-track');
|
||||
return view('components.lasfm-current');
|
||||
}
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\View\Component;
|
||||
|
||||
class TopTracks extends Component
|
||||
class LastFMTop extends Component
|
||||
{
|
||||
public $tracks;
|
||||
/**
|
||||
|
@ -22,6 +22,6 @@ public function __construct($tracks)
|
|||
*/
|
||||
public function render(): View|Closure|string
|
||||
{
|
||||
return view('components.top-tracks');
|
||||
return view('components.lastfm-top');
|
||||
}
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\View\Component;
|
||||
|
||||
class Track extends Component
|
||||
class LastFMTrack extends Component
|
||||
{
|
||||
public $track;
|
||||
public $count;
|
||||
|
@ -24,6 +24,6 @@ public function __construct($track, $count)
|
|||
*/
|
||||
public function render(): View|Closure|string
|
||||
{
|
||||
return view('components.track');
|
||||
return view('components.lastfm-track');
|
||||
}
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "RoscoeDaWah/wah.moe",
|
||||
"name": "roscoedawah/wah.moe",
|
||||
"type": "project",
|
||||
"description": "My personal website, developed using the Laravel framework.",
|
||||
"keywords": ["laravel", "framework"],
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev/svgjs" viewBox="0 0 800 800" preserveAspectRatio="xMidYMid slice"><defs><pattern id="pppixelate-pattern" width="20" height="20" patternUnits="userSpaceOnUse" patternTransform="translate(0 0) scale(8) rotate(0)" shape-rendering="crispEdges">
|
||||
<rect width="1" height="1" x="9" y="0" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="0" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="1" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="1" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="2" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="2" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="3" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="3" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="4" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="4" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="5" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="5" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="6" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="6" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="7" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="7" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="8" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="8" fill="#FFFFFF80"></rect><rect width="1" height="1" x="0" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="1" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="2" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="3" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="4" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="5" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="6" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="7" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="8" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="9" fill="#FFFFFFbf"></rect><rect width="1" height="1" x="10" y="9" fill="#FFFFFFbf"></rect><rect width="1" height="1" x="11" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="12" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="13" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="14" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="15" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="16" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="17" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="18" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="19" y="9" fill="#FFFFFF80"></rect><rect width="1" height="1" x="0" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="1" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="2" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="3" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="4" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="5" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="6" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="7" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="8" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="10" fill="#FFFFFFbf"></rect><rect width="1" height="1" x="10" y="10" fill="#FFFFFFbf"></rect><rect width="1" height="1" x="11" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="12" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="13" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="14" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="15" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="16" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="17" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="18" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="19" y="10" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="11" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="11" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="12" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="12" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="13" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="13" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="14" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="14" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="15" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="15" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="16" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="16" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="17" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="17" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="18" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="18" fill="#FFFFFF80"></rect><rect width="1" height="1" x="9" y="19" fill="#FFFFFF80"></rect><rect width="1" height="1" x="10" y="19" fill="#FFFFFF80"></rect>
|
||||
</pattern></defs><rect width="100%" height="100%" fill="url(#pppixelate-pattern)"></rect></svg>
|
Before Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 1 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 885 B |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 534 B |
Before Width: | Height: | Size: 133 KiB |
Before Width: | Height: | Size: 132 KiB |
Before Width: | Height: | Size: 142 KiB |
Before Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 145 KiB |
Before Width: | Height: | Size: 134 KiB |
Before Width: | Height: | Size: 154 KiB |
Before Width: | Height: | Size: 160 KiB |
Before Width: | Height: | Size: 151 KiB |
Before Width: | Height: | Size: 126 KiB |
Before Width: | Height: | Size: 160 KiB |
Before Width: | Height: | Size: 156 KiB |
Before Width: | Height: | Size: 141 KiB |
Before Width: | Height: | Size: 142 KiB |
Before Width: | Height: | Size: 153 KiB |
Before Width: | Height: | Size: 159 KiB |
Before Width: | Height: | Size: 158 KiB |
Before Width: | Height: | Size: 134 KiB |
Before Width: | Height: | Size: 156 KiB |
Before Width: | Height: | Size: 169 KiB |
Before Width: | Height: | Size: 572 B |
Before Width: | Height: | Size: 463 B |
Before Width: | Height: | Size: 471 B |
Before Width: | Height: | Size: 549 B |
Before Width: | Height: | Size: 561 B |
Before Width: | Height: | Size: 440 B |
Before Width: | Height: | Size: 468 B |
Before Width: | Height: | Size: 380 B |
Before Width: | Height: | Size: 606 B |
Before Width: | Height: | Size: 667 B |
Before Width: | Height: | Size: 644 B |
Before Width: | Height: | Size: 575 B |
Before Width: | Height: | Size: 427 B |
Before Width: | Height: | Size: 458 B |
Before Width: | Height: | Size: 543 B |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 534 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 563 B |
Before Width: | Height: | Size: 705 B |
Before Width: | Height: | Size: 487 B |
Before Width: | Height: | Size: 1 KiB |
Before Width: | Height: | Size: 521 B |
Before Width: | Height: | Size: 490 B |
Before Width: | Height: | Size: 489 B |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 473 B |
Before Width: | Height: | Size: 572 B |
Before Width: | Height: | Size: 483 B |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 459 B |
Before Width: | Height: | Size: 780 B |
Before Width: | Height: | Size: 853 B |
Before Width: | Height: | Size: 1.6 MiB |
Before Width: | Height: | Size: 878 B |
Before Width: | Height: | Size: 137 KiB |
|
@ -1,6 +0,0 @@
|
|||
function time() {
|
||||
var span = document.getElementById("clock");
|
||||
var d = new Date();
|
||||
span.textContent = d.toLocaleString('en-US', {hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false, timeZone: 'Europe/London' })
|
||||
}
|
||||
setInterval(time, 1000);
|
|
@ -1,35 +0,0 @@
|
|||
// Define an array of strings
|
||||
const neverSaid = [
|
||||
"<strong>ASM:</strong> The Director liked all the props we got today.",
|
||||
"<strong>PM:</strong> Ah ha, a revolve. Terrific.",
|
||||
"<strong>Chippie:</strong> I don't know, let's look at the ground plan.",
|
||||
"<strong>Set Designer:</strong> Well, let's just have whatever is cheaper.",
|
||||
"<strong>Sound:</strong> Better turn that down a bit. We don't want to deafen them.",
|
||||
"<strong>Director:</strong> Sorry, my mistake.",
|
||||
"<strong>Electrics:</strong> This equipment is more complicated than we need.",
|
||||
"<strong>Performer:</strong> I really think my big scene should be cut.",
|
||||
"<strong>SM:</strong> Can we do that scene change again please?",
|
||||
"<strong>LX designer:</strong> Bit more light from those big chaps at the side. Yes that's right, the ones on stalks whatever they are called.",
|
||||
"<strong>Electrics:</strong> All the equipment works perfectly.",
|
||||
"<strong>Musicians:</strong> So what if that's the end of a call. Let's just finish this bit off.",
|
||||
"<strong>Wardrobe:</strong> Now, when exactly is the first dress rehearsal?",
|
||||
"<strong>Workshop:</strong> I don't want anyone to know, but if you insist then yes, I admit it, I have just done an all-nighter.",
|
||||
"<strong>Performer:</strong> This costume is so comfortable.",
|
||||
"<strong>Admin:</strong> The level of overtime payments here are simply unacceptable. Our backstage staff deserve better.",
|
||||
"<strong>Box Office:</strong> Comps? No problem.",
|
||||
"<strong>Set Designer:</strong> You're right, it looks dreadful.",
|
||||
"<strong>Flyman:</strong> No, my lips are sealed. What I may or may not have seen remains a secret.",
|
||||
"<strong>Electrics:</strong> That had nothing to do with the computer, it was my fault.",
|
||||
"<strong>Crew:</strong> No, no, I'm sure that's our job.",
|
||||
"<strong>SMgt:</strong> Thanks, but I don't drink",
|
||||
"<strong>Performer:</strong> Let me stand down here with my back to the audience.",
|
||||
"<strong>Chippie:</strong> I can't really manage those big fast power tools myself.",
|
||||
"<strong>Chippie:</strong> I prefer to use these little hand drills.",
|
||||
"<strong>All:</strong> Let's go and ask the Production Manager. He'll know."
|
||||
]
|
||||
|
||||
// Generate a random index into the array
|
||||
const randomIndex = Math.floor(Math.random() * neverSaid.length);
|
||||
|
||||
// Use document.write to output the random string
|
||||
document.write(neverSaid[randomIndex]);
|
|
@ -1 +0,0 @@
|
|||
import './bootstrap';
|
32
resources/js/bootstrap.js
vendored
|
@ -1,32 +0,0 @@
|
|||
/**
|
||||
* We'll load the axios HTTP library which allows us to easily issue requests
|
||||
* to our Laravel back-end. This library automatically handles sending the
|
||||
* CSRF token as a header based on the value of the "XSRF" token cookie.
|
||||
*/
|
||||
|
||||
import axios from 'axios';
|
||||
window.axios = axios;
|
||||
|
||||
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
|
||||
|
||||
/**
|
||||
* Echo exposes an expressive API for subscribing to channels and listening
|
||||
* for events that are broadcast by Laravel. Echo and event broadcasting
|
||||
* allows your team to easily build robust real-time web applications.
|
||||
*/
|
||||
|
||||
// import Echo from 'laravel-echo';
|
||||
|
||||
// import Pusher from 'pusher-js';
|
||||
// window.Pusher = Pusher;
|
||||
|
||||
// window.Echo = new Echo({
|
||||
// broadcaster: 'pusher',
|
||||
// key: import.meta.env.VITE_PUSHER_APP_KEY,
|
||||
// cluster: import.meta.env.VITE_PUSHER_APP_CLUSTER ?? 'mt1',
|
||||
// wsHost: import.meta.env.VITE_PUSHER_HOST ? import.meta.env.VITE_PUSHER_HOST : `ws-${import.meta.env.VITE_PUSHER_APP_CLUSTER}.pusher.com`,
|
||||
// wsPort: import.meta.env.VITE_PUSHER_PORT ?? 80,
|
||||
// wssPort: import.meta.env.VITE_PUSHER_PORT ?? 443,
|
||||
// forceTLS: (import.meta.env.VITE_PUSHER_SCHEME ?? 'https') === 'https',
|
||||
// enabledTransports: ['ws', 'wss'],
|
||||
// });
|
|
@ -1,35 +0,0 @@
|
|||
// Define an array of strings
|
||||
const neverSaid = [
|
||||
"<td style=\"width: 105px\"><strong>ASM:</strong></td> <td>The Director liked all the props we got today.</td>",
|
||||
"<td style=\"width: 105px\"><strong>PM:</strong></td> <td>Ah ha, a revolve. Terrific.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Chippie:</strong></td> <td>I don't know, let's look at the ground plan.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Set Designer:</strong></td> <td>Well, let's just have whatever is cheaper.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Sound:</strong></td> <td>Better turn that down a bit. We don't want to deafen them.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Director:</strong></td> <td>Sorry, my mistake.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Electrics:</strong></td> <td>This equipment is more complicated than we need.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Performer:</strong></td> <td>I really think my big scene should be cut.</td>",
|
||||
"<td style=\"width: 105px\"><strong>SM:</strong></td> <td>Can we doo that scene change again please?",
|
||||
"<td style=\"width: 105px\"><strong>LX designer:</strong></td> <td>Bit more light from those big chaps at the side. Yes that's right, the ones on stalks whatever they are called.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Electrics:</strong></td> <td>All the equipment works perfectly.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Musicians:</strong></td> <td>So what if that's the end of a call. Let's just finish this bit off.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Wardrobe:</strong></td> <td>Now, when exactly is the first dress rehearsal?",
|
||||
"<td style=\"width: 105px\"><strong>Workshop:</strong></td> <td>I don't want anyone to know, but if you insist then yes, I admit it, I have just done an all-nighter.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Performer:</strong></td> <td>This costume is so comfortable.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Admin:</strong></td> <td>The level of overtime payments here are simply unacceptable. Our backstage staff deserve better.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Box Office:</strong></td> <td>Comps? No problem.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Set Designer:</strong></td> <td>You're right, it looks dreadful.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Flyman:</strong></td> <td>No, my lips are sealed. What I may or may not have seen remains a secret.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Electrics:</strong></td> <td>That had nothing to do with the computer, it was my fault.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Crew:</strong></td> <td>No, no, I'm sure that's our job.</td>",
|
||||
"<td style=\"width: 105px\"><strong>SMgt:</strong></td> <td>Thanks, but I don't drink",
|
||||
"<td style=\"width: 105px\"><strong>Performer:</strong></td> <td>Let me stand down here with my back to the audience.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Chippie:</strong></td> <td>I can't really manage those big fast power tools myself.</td>",
|
||||
"<td style=\"width: 105px\"><strong>Chippie:</strong></td> <td>I prefer to use these little hand drills.</td>",
|
||||
"<td style=\"width: 105px\"><strong>All:</strong></td> <td>Let's go and ask the Production Manager. He'll know.</td>"
|
||||
]
|
||||
|
||||
// Generate a random index into the array
|
||||
const randomIndex = Math.floor(Math.random() * neverSaid.length);
|
||||
|
||||
// Use document.write to output the random string
|
||||
document.write(neverSaid[randomIndex]);
|
|
@ -1,70 +0,0 @@
|
|||
/**
|
||||
* Retrieves a cookies value
|
||||
* @param {string} cname Cookie name
|
||||
* @returns {string} Cookie value
|
||||
*/
|
||||
function getCookie(cname) {
|
||||
let name = cname + "=";
|
||||
let decodedCookie = decodeURIComponent(document.cookie);
|
||||
let ca = decodedCookie.split(';');
|
||||
for(let i = 0; i <ca.length; i++) {
|
||||
let c = ca[i];
|
||||
while (c.charAt(0) === ' ') {
|
||||
c = c.substring(1);
|
||||
}
|
||||
if (c.indexOf(name) === 0) {
|
||||
return c.substring(name.length, c.length);
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets/creates a cookie
|
||||
* @param {string} cname Cookie name
|
||||
* @param {string} cvalue Cookie value
|
||||
* @param {number} exdays Cookie lifespan (days)
|
||||
*/
|
||||
function setCookie(cname, cvalue, exdays) {
|
||||
const d = new Date();
|
||||
d.setTime(d.getTime() + (exdays*24*60*60*1000));
|
||||
let expires = "expires="+ d.toUTCString();
|
||||
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/;SameSite=Strict;Domain=.diskfloppy.me";
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if a cookie exists
|
||||
* @param {string} cname Cookie name
|
||||
* @returns {boolean} If cookie exists or not
|
||||
*/
|
||||
function cookieExists(cname) {
|
||||
const cvalue = getCookie(cname);
|
||||
return cvalue !== "";
|
||||
}
|
||||
|
||||
/**
|
||||
* Swaps the colorscheme
|
||||
* @param {string} scheme Color scheme ID
|
||||
*/
|
||||
function swapScheme(scheme) {
|
||||
setCookie("colorscheme", scheme, 90);
|
||||
document.getElementById("css-colorscheme").href = `/css/colorschemes/${scheme}.css`;
|
||||
console.log(`Set colorscheme to ${getCookie("colorscheme")}`)
|
||||
}
|
||||
|
||||
function setSchemeSelector() {
|
||||
if (!cookieExists("colorscheme")) {
|
||||
setCookie("colorscheme", "catppuccin-macchiato", 90);
|
||||
} else {
|
||||
const scheme = getCookie("colorscheme");
|
||||
const scheme_selector = document.getElementById("scheme-selector");
|
||||
if (scheme && scheme_selector) {
|
||||
for (let option of scheme_selector.options) {
|
||||
if (option.value === scheme) {
|
||||
option.selected = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,114 +0,0 @@
|
|||
<x-layout>
|
||||
<x-slot:title>Calculators</x-slot:title>
|
||||
<div class="section">
|
||||
<h2>CASIO fx-CG50</h2>
|
||||
<p>TBD</p>
|
||||
<br>
|
||||
<p><strong>Pictures</strong></p>
|
||||
<img src="{{ asset('images/calculators/casio-fx-cg50/1s.jpeg') }}" width="15%" alt="Casio fx-CG50 Front view">
|
||||
<img src="{{ asset('images/calculators/casio-fx-cg50/2s.jpeg') }}" width="15%" alt="Casio fx-CG50 Rear view (battery cover removed)">
|
||||
<img src="{{ asset('images/calculators/casio-fx-cg50/3s.jpeg') }}" width="15%" alt="Casio fx-CG50 Front view (top half)">
|
||||
<img src="{{ asset('images/calculators/casio-fx-cg50/4s.jpeg') }}" width="15%" alt="Casio fx-CG50 Front view (bottom half)">
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2>CASIO fx-120 (1977-78)</h2>
|
||||
<p>TBD</p>
|
||||
<br>
|
||||
<p><strong>Specifications</strong></p>
|
||||
<table class="calculator-spec-table">
|
||||
<tr>
|
||||
<td><b>Size</b></td>
|
||||
<td>8.4cm x 16.2cm x 2.4cm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Weight (w/ battery)</b></td>
|
||||
<td>209g</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Type</b></td>
|
||||
<td>Scientific</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>CPU</b></td>
|
||||
<td>Hitachi HD38111A</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Registers</b></td>
|
||||
<td>2 standard<br>1 constant<br>4 bracket<br>1 memory</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Features</b></td>
|
||||
<td>%, +/-, RV, F, Sci, a<sup>b</sup>⁄<sub>c</sub>, Sqr, x<sup>2</sup>, pi, <sup>1</sup>⁄<sub>x</sub>, trig,<br>hyp, DMS-DD, log, y<sup>x</sup>, SD, nCr, P-R, n!</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Display</b></td>
|
||||
<td>12-digit VFD (NEC LD8197A)</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<p><strong>Pictures</strong></p>
|
||||
<img src="{{ asset('images/calculators/casio-fx-120/1s.jpeg') }}" width="15%" alt="Casio fx-120 Front view">
|
||||
<img src="{{ asset('images/calculators/casio-fx-120/2s.jpeg') }}" width="15%" alt="Casio fx-120 Front view (top half)">
|
||||
<img src="{{ asset('images/calculators/casio-fx-120/3s.jpeg') }}" width="15%" alt="Casio fx-120 Front view (bottom half)">
|
||||
<img src="{{ asset('images/calculators/casio-fx-120/4s.jpeg') }}" width="15%" alt="Casio fx-120 Rear view (battery and expansion covers removed">
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2>CASIO fx-82 (1982-85)</h2>
|
||||
<p>TBD</p>
|
||||
<br>
|
||||
<p><strong>Pictures</strong></p>
|
||||
<img src="{{ asset('images/calculators/casio-fx-82/1s.jpeg') }}" width="15%" alt="Casio fx-82 Front view">
|
||||
<img src="{{ asset('images/calculators/casio-fx-82/2s.jpeg') }}" width="15%" alt="Casio fx-82 Rear view (battery cover removed)">
|
||||
<img src="{{ asset('images/calculators/casio-fx-82/3s.jpeg') }}" width="15%" alt="Casio fx-82 Front view (top half)">
|
||||
<img src="{{ asset('images/calculators/casio-fx-82/4s.jpeg') }}" width="15%" alt="Casio fx-82 Front view (bottom half)">
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2>Texas Instruments TI-30 (1976-90)</h2>
|
||||
<p>TBD</p>
|
||||
<br>
|
||||
<p><strong>Pictures</strong></p>
|
||||
<img src="{{ asset('images/calculators/ti-30/1s.jpeg') }}" width="15%" alt="Texas Instruments TI-30 Front view (with manual)">
|
||||
<img src="{{ asset('images/calculators/ti-30/2s.jpeg') }}" width="15%" alt="Texas Instruments TI-30 Rear view (battery cover removed)">
|
||||
<img src="{{ asset('images/calculators/ti-30/3s.jpeg') }}" width="15%" alt="Texas Instruments TI-30 Front view (top half)">
|
||||
<img src="{{ asset('images/calculators/ti-30/4s.jpeg') }}" width="15%" alt="Texas Instruments TI-30 Front view (bottom half)">
|
||||
</div>
|
||||
<div class="section">
|
||||
<h2>Texet 880 Executive (1977-78)</h2>
|
||||
<p>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).</p>
|
||||
<p>The case is black & silvery colored with a thin brushed metallic front panel. The eight-digit bubble display has an absolutely <i>terrible</i> viewing angle, which means you either have to be holding it under your coat or against your face to read it!</p>
|
||||
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, <i>not</i> 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
|
||||
<br>
|
||||
<p><strong>Specifications</strong></p>
|
||||
<table class="calculator-spec-table">
|
||||
<tr>
|
||||
<td><b>Size</b></td>
|
||||
<td>7.4cm x 13.5cm x 2.2cm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Weight (w/o battery)</b></td>
|
||||
<td>86</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Type</b></td>
|
||||
<td>Arithmetic</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Logic</b></td>
|
||||
<td>Algebraic</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Power Source</b></td>
|
||||
<td>PP3 9v</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Display</b></td>
|
||||
<td>8-digit LED</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p><strong>Pictures</strong></p>
|
||||
<img src="{{ asset('images/calculators/texet-880/1s.jpeg') }}" width="15%" alt="Texet 880 Executive Front view">
|
||||
<img src="{{ asset('images/calculators/texet-880/2s.jpeg') }}" width="15%" alt="Texet 880 Executive Rear view (battery cover removed)">
|
||||
<img src="{{ asset('images/calculators/texet-880/3s.jpeg') }}" width="15%" alt="Texet 880 Executive Front view (top half)">
|
||||
<img src="{{ asset('images/calculators/texet-880/4s.jpeg') }}" width="15%" alt="Texet 880 Executive Front view (bottom half)">
|
||||
</div>
|
||||
</x-layout>
|
|
@ -1,7 +0,0 @@
|
|||
@if($status == null)
|
||||
<p>Status Unavailable</p>
|
||||
@else
|
||||
<span>I'm</span>
|
||||
<h2 class="online-status" style="color: {{ $status["color"] }};text-shadow: var(--firefox-shadow) {{ $status["color"] }}4f !important">{{ $status["text"] }}!</h2>
|
||||
@endif
|
||||
<p><strong>Time in Britain:</strong> <span id="clock"></span></p>
|
|
@ -1,48 +0,0 @@
|
|||
@php
|
||||
$api_root = app('config')->get('app')['api_root'];
|
||||
|
||||
$commits = json_decode(file_get_contents($api_root.'/gitdata'));
|
||||
$count = 0;
|
||||
|
||||
function formatRelativeTime(DateTime $dateTime) {
|
||||
$currentTimestamp = time();
|
||||
$dateTimeTimestamp = $dateTime->getTimestamp();
|
||||
$difference = $currentTimestamp - $dateTimeTimestamp;
|
||||
|
||||
if ($difference < 60) {
|
||||
return "just now";
|
||||
} elseif ($difference < 3600) {
|
||||
$minutes = floor($difference / 60);
|
||||
$suffix = ($minutes > 1) ? "s" : "";
|
||||
return $minutes . " minute" . $suffix . " ago";
|
||||
} elseif ($difference < 86400) {
|
||||
$hours = floor($difference / 3600);
|
||||
$suffix = ($hours > 1) ? "s" : "";
|
||||
return $hours . " hour" . $suffix . " ago";
|
||||
} elseif ($difference < 604800) {
|
||||
$days = floor($difference / 86400);
|
||||
$suffix = ($days > 1) ? "s" : "";
|
||||
return $days . " day" . $suffix . " ago";
|
||||
} else {
|
||||
return $dateTime->format('Y-m-d H:i:s'); // Fallback to a specific format if desired
|
||||
}
|
||||
}
|
||||
@endphp
|
||||
<h1>Recent Site Updates</h1>
|
||||
<table class="commits">
|
||||
@foreach ($commits as $commit)
|
||||
|
||||
@if ($count >= 5)
|
||||
</table>
|
||||
@break
|
||||
@endif
|
||||
@php
|
||||
$date = DateTime::createFromFormat("Y-m-d\TH:i:s\Z", $commit->author->date)
|
||||
@endphp
|
||||
<tr>
|
||||
<td>•</td>
|
||||
<td>{{ formatRelativeTime($date) }}</td>
|
||||
<td><a href="{{ $commit->url }}">{{ $commit->message }}</a></td>
|
||||
</tr>
|
||||
@php $count++ @endphp
|
||||
@endforeach
|
|
@ -11,6 +11,6 @@
|
|||
@php($count = 0)
|
||||
@foreach ($tracks as $track)
|
||||
@php($count++)
|
||||
<x-track :track="$track" :count="$count"/>
|
||||
<x-lastfm-track :track="$track" :count="$count"/>
|
||||
@endforeach
|
||||
</table>
|
|
@ -1,3 +0,0 @@
|
|||
<p class="quote">
|
||||
<strong>{{ $quote["name"] }}:</strong> "{{ $quote["quote"] }}"<br>
|
||||
</p>
|
|
@ -1,37 +0,0 @@
|
|||
<p><strong>Site Settings:</strong></p>
|
||||
<label for="scheme-selector">Colors:</label>
|
||||
<select id="scheme-selector">
|
||||
{{-- <optgroup label="Misc">--}}
|
||||
{{-- <option value="c64">C64</option>--}}
|
||||
{{-- </optgroup>--}}
|
||||
<optgroup label="Light">
|
||||
<option value="catppuccin-latte">Catppuccin Latte</option>
|
||||
{{-- <option value="gruvbox">Gruvbox</option>--}}
|
||||
{{-- <option value="man-page">Man Page</option>--}}
|
||||
{{-- <option value="papercolor-light">Papercolor Light</option>--}}
|
||||
{{-- <option value="rose-pine-dawn">Rosé Pine Dawn</option>--}}
|
||||
{{-- <option value="solarized-light">Solarized Light</option>--}}
|
||||
{{-- <option value="terminal-basic">Terminal Basic</option>--}}
|
||||
</optgroup>
|
||||
<optgroup label="Dark">
|
||||
<option value="catppuccin-frappe">Catppuccin Frappé</option>
|
||||
<option value="catppuccin-macchiato" selected="selected">Catppuccin Macchiato</option>
|
||||
<option value="catppuccin-mocha">Catppuccin Mocha</option>
|
||||
{{-- <option value="gruvbox-dark">Gruvbox Dark</option>--}}
|
||||
{{-- <option value="gruvbox-material">Gruvbox Material</option>--}}
|
||||
{{-- <option value="maia">Maia</option>--}}
|
||||
{{-- <option value="mono-amber">Mono Amber</option>--}}
|
||||
{{-- <option value="mono-cyan">Mono Cyan</option>--}}
|
||||
{{-- <option value="mono-green">Mono Green</option>--}}
|
||||
{{-- <option value="mono-red">Mono Red</option>--}}
|
||||
{{-- <option value="mono-white">Mono White</option>--}}
|
||||
{{-- <option value="mono-yellow">Mono Yellow</option>--}}
|
||||
{{-- <option value="papercolor-dark">Papercolor Dark</option>--}}
|
||||
{{-- <option value="rose-pine">Rosé Pine</option>--}}
|
||||
{{-- <option value="rose-pine-moon">Rose Pine Moon</option>--}}
|
||||
{{-- <option value="shel">Shel</option>--}}
|
||||
{{-- <option value="slate">Slate</option>--}}
|
||||
{{-- <option value="solarized-dark">Solarized Dark</option>--}}
|
||||
</optgroup>
|
||||
</select><br>
|
||||
<button onclick="swapScheme()">Apply</button>
|