From 720d752748b793a2f5cf3cc14cb75ad86e8919c0 Mon Sep 17 00:00:00 2001 From: sillylaird Date: Tue, 3 Feb 2026 21:27:57 -0500 Subject: First commit --- startpage/.htaccess | 8 + startpage/amazon.png | Bin 0 -> 40952 bytes startpage/basedlii.png | Bin 0 -> 42930 bytes startpage/belleville.png | Bin 0 -> 99209 bytes startpage/buyvm.png | Bin 0 -> 4693 bytes startpage/ctvnews.png | Bin 0 -> 9930 bytes startpage/cytube.png | Bin 0 -> 9027 bytes startpage/ebay.png | Bin 0 -> 68914 bytes startpage/gitlogo.png | Bin 0 -> 91512 bytes startpage/heyuri.png | Bin 0 -> 28769 bytes startpage/index.html | 463 ++++++++++++++++++++++++++++++++++++++ startpage/lain.png | Bin 0 -> 118394 bytes startpage/liivid.png | Bin 0 -> 19502 bytes startpage/news.png | Bin 0 -> 13477 bytes startpage/newspaper.png | Bin 0 -> 793 bytes startpage/noteback.gif | Bin 0 -> 89 bytes startpage/old-youtube-icon-75.png | Bin 0 -> 78193 bytes startpage/roundcube.png | Bin 0 -> 21377 bytes startpage/shoppingcart.png | Bin 0 -> 49558 bytes startpage/sm_logo.png | Bin 0 -> 6879 bytes startpage/somethingawful.png | Bin 0 -> 36511 bytes startpage/sonemic.png | Bin 0 -> 26546 bytes startpage/sonymp3.png | Bin 0 -> 24258 bytes startpage/startpage.css | 272 ++++++++++++++++++++++ startpage/startpage.js | 87 +++++++ startpage/test.html | 54 +++++ startpage/test.old | 129 +++++++++++ startpage/tf2.png | Bin 0 -> 35302 bytes startpage/tilde.png | Bin 0 -> 1909 bytes startpage/videogame.png | Bin 0 -> 1209330 bytes startpage/wallpaper.jpg | Bin 0 -> 215198 bytes 31 files changed, 1013 insertions(+) create mode 100644 startpage/.htaccess create mode 100644 startpage/amazon.png create mode 100644 startpage/basedlii.png create mode 100644 startpage/belleville.png create mode 100644 startpage/buyvm.png create mode 100644 startpage/ctvnews.png create mode 100644 startpage/cytube.png create mode 100644 startpage/ebay.png create mode 100644 startpage/gitlogo.png create mode 100644 startpage/heyuri.png create mode 100644 startpage/index.html create mode 100644 startpage/lain.png create mode 100644 startpage/liivid.png create mode 100644 startpage/news.png create mode 100644 startpage/newspaper.png create mode 100644 startpage/noteback.gif create mode 100644 startpage/old-youtube-icon-75.png create mode 100644 startpage/roundcube.png create mode 100644 startpage/shoppingcart.png create mode 100644 startpage/sm_logo.png create mode 100644 startpage/somethingawful.png create mode 100644 startpage/sonemic.png create mode 100644 startpage/sonymp3.png create mode 100644 startpage/startpage.css create mode 100644 startpage/startpage.js create mode 100644 startpage/test.html create mode 100644 startpage/test.old create mode 100644 startpage/tf2.png create mode 100644 startpage/tilde.png create mode 100644 startpage/videogame.png create mode 100644 startpage/wallpaper.jpg (limited to 'startpage') diff --git a/startpage/.htaccess b/startpage/.htaccess new file mode 100644 index 0000000..3f07952 --- /dev/null +++ b/startpage/.htaccess @@ -0,0 +1,8 @@ + + + Header set X-Content-Type-Options "nosniff" + Header set Referrer-Policy "strict-origin-when-cross-origin" + Header set Permissions-Policy "geolocation=(), microphone=(), camera=(), payment=(), usb=()" + Header set Content-Security-Policy "default-src 'self'; base-uri 'self'; script-src 'self'; style-src 'self' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src 'self' https://sirocco.accuweather.com; form-action 'self' https://www.google.com https://www.google.ca; object-src 'none'" + + diff --git a/startpage/amazon.png b/startpage/amazon.png new file mode 100644 index 0000000..9be01b5 Binary files /dev/null and b/startpage/amazon.png differ diff --git a/startpage/basedlii.png b/startpage/basedlii.png new file mode 100644 index 0000000..db0451b Binary files /dev/null and b/startpage/basedlii.png differ diff --git a/startpage/belleville.png b/startpage/belleville.png new file mode 100644 index 0000000..3d2eab0 Binary files /dev/null and b/startpage/belleville.png differ diff --git a/startpage/buyvm.png b/startpage/buyvm.png new file mode 100644 index 0000000..3e18331 Binary files /dev/null and b/startpage/buyvm.png differ diff --git a/startpage/ctvnews.png b/startpage/ctvnews.png new file mode 100644 index 0000000..87d7065 Binary files /dev/null and b/startpage/ctvnews.png differ diff --git a/startpage/cytube.png b/startpage/cytube.png new file mode 100644 index 0000000..6f47350 Binary files /dev/null and b/startpage/cytube.png differ diff --git a/startpage/ebay.png b/startpage/ebay.png new file mode 100644 index 0000000..9a75110 Binary files /dev/null and b/startpage/ebay.png differ diff --git a/startpage/gitlogo.png b/startpage/gitlogo.png new file mode 100644 index 0000000..34cd85c Binary files /dev/null and b/startpage/gitlogo.png differ diff --git a/startpage/heyuri.png b/startpage/heyuri.png new file mode 100644 index 0000000..46510d5 Binary files /dev/null and b/startpage/heyuri.png differ diff --git a/startpage/index.html b/startpage/index.html new file mode 100644 index 0000000..976de31 --- /dev/null +++ b/startpage/index.html @@ -0,0 +1,463 @@ + + + + + + SillyLaird // Terminal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+
+

Google Search..

+
+ +
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+
+ + + + + diff --git a/startpage/lain.png b/startpage/lain.png new file mode 100644 index 0000000..792f486 Binary files /dev/null and b/startpage/lain.png differ diff --git a/startpage/liivid.png b/startpage/liivid.png new file mode 100644 index 0000000..6fdb36b Binary files /dev/null and b/startpage/liivid.png differ diff --git a/startpage/news.png b/startpage/news.png new file mode 100644 index 0000000..32d2b8c Binary files /dev/null and b/startpage/news.png differ diff --git a/startpage/newspaper.png b/startpage/newspaper.png new file mode 100644 index 0000000..8ace873 Binary files /dev/null and b/startpage/newspaper.png differ diff --git a/startpage/noteback.gif b/startpage/noteback.gif new file mode 100644 index 0000000..2630a60 Binary files /dev/null and b/startpage/noteback.gif differ diff --git a/startpage/old-youtube-icon-75.png b/startpage/old-youtube-icon-75.png new file mode 100644 index 0000000..b16d3ae Binary files /dev/null and b/startpage/old-youtube-icon-75.png differ diff --git a/startpage/roundcube.png b/startpage/roundcube.png new file mode 100644 index 0000000..d972dbe Binary files /dev/null and b/startpage/roundcube.png differ diff --git a/startpage/shoppingcart.png b/startpage/shoppingcart.png new file mode 100644 index 0000000..fe3f85e Binary files /dev/null and b/startpage/shoppingcart.png differ diff --git a/startpage/sm_logo.png b/startpage/sm_logo.png new file mode 100644 index 0000000..f17bc70 Binary files /dev/null and b/startpage/sm_logo.png differ diff --git a/startpage/somethingawful.png b/startpage/somethingawful.png new file mode 100644 index 0000000..e462ec7 Binary files /dev/null and b/startpage/somethingawful.png differ diff --git a/startpage/sonemic.png b/startpage/sonemic.png new file mode 100644 index 0000000..f266a34 Binary files /dev/null and b/startpage/sonemic.png differ diff --git a/startpage/sonymp3.png b/startpage/sonymp3.png new file mode 100644 index 0000000..b627d5a Binary files /dev/null and b/startpage/sonymp3.png differ diff --git a/startpage/startpage.css b/startpage/startpage.css new file mode 100644 index 0000000..51a1334 --- /dev/null +++ b/startpage/startpage.css @@ -0,0 +1,272 @@ +:root { + --bg: #000; + --text: #ddd; + --accent: #ff0000; + --gold: #C69214; + --border: #222; + --radius: 4px; /* Sharper edges for a retro feel */ + --logo-size: clamp(80px, 10vw, 100px); + --fs-base: clamp(13px, 1vw, 15px); +} + +* { box-sizing: border-box; } +body { + margin: 0; background: var(--bg); color: var(--text); + font: 400 var(--fs-base) 'Source Code Pro', monospace; + line-height: 1.4; display: flex; flex-direction: column; min-height: 100vh; +} + +a { color: var(--accent); text-decoration: none; transition: 0.1s; } +a:hover { background: var(--accent); color: #000 !important; } + +/* Left-Aligned Container */ +header, main, footer { + width: 100%; + max-width: 1200px; /* Constrains width so it doesn't float too far right on wide screens */ + margin: 0; /* Align to left */ + padding: 20px 40px; +} + +/* Header Layout */ +header { + display: flex; + flex-direction: row; + gap: 40px; + align-items: flex-start; + border-bottom: 2px solid var(--border); +} + +.logo a img { + width: var(--logo-size); + height: auto; + border: 2px solid #000; + display: block; +} + +/* Lain border: black normally, red on hover/focus */ +.logo a:hover img, +.logo a:focus-visible img { + border-color: var(--accent); +} + +.nav-columns { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); + gap: 20px; + flex-grow: 1; + text-align: left; +} + +.nav-group h3 { + color: var(--gold); + font-size: 0.8rem; + text-transform: uppercase; + margin: 0 0 10px 0; + letter-spacing: 1px; +} + +.nav-list { display: flex; flex-direction: column; gap: 4px; } +.nav-list a { font-size: 0.85rem; width: fit-content; } + +/* Search Section: Left Aligned */ +.search-section { + padding: 40px 0; + text-align: left; +} + +.search-section h2 { + color: var(--gold); + margin-bottom: 15px; + font-size: 1.2rem; + font-weight: bold; +} + +.search-box { + width: 100%; + max-width: 450px; /* Kept focused for readability */ + background: #000; + border: 1px solid var(--border); + padding: 10px; + color: var(--accent); + font-family: inherit; + outline: none; +} +.search-box:focus { border-color: var(--accent); } + +.clock-container { margin-top: 15px; color: var(--text); font-size: 0.9rem; opacity: 0.8; } +.clock-time { color: var(--accent); letter-spacing: 1px; } + +/* Grid Layout: Left Aligned */ +.grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); + gap: 20px; + padding: 0; +} + +.card { + border: 1px solid var(--border); + background: #050505; + padding: 15px; + display: flex; + flex-direction: column; + align-items: flex-start; /* Items start on the left */ + transition: 0.2s; +} +.card:hover { border-color: var(--accent); } + +.card .thumb { + width: 100%; + height: 70px; + display: flex; + align-items: center; + justify-content: flex-start; /* Align icon to left */ + margin-bottom: 15px; + opacity: 0.7; +} +.card img { max-width: 80px; max-height: 100%; object-fit: contain; } + +.card-links { + font-size: 0.8rem; + border-top: 1px solid var(--border); + width: 100%; + padding-top: 12px; + text-align: left; +} +.card-links a { display: block; padding: 1px 0; } + +footer { border-top: 1px solid var(--border); margin-top: auto; color: #555; } + +/* Age-Restricted Nav Group */ +#age-restricted-content { + position: relative; + cursor: pointer; +} +#age-restricted-content.locked .nav-list { + filter: blur(8px); + opacity: 0.3; + pointer-events: none; + user-select: none; +} +#age-restricted-content.locked::after { + content: '18+ RESTRICTED - CLICK TO VERIFY'; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + color: var(--accent); + font-size: 0.7rem; + white-space: nowrap; + pointer-events: none; + text-align: center; + font-weight: bold; +} +#age-restricted-content.unlocked { cursor: default; } + +/* Age Verification Modal */ +.age-modal { + position: fixed; + top: 0; left: 0; + width: 100%; height: 100%; + background: rgba(0, 0, 0, 0.95); + display: flex; + align-items: center; + justify-content: center; + z-index: 9999; +} +.age-modal.hidden { display: none; } +.age-modal-content { + background: #000; + border: 2px solid var(--accent); + padding: 30px; + max-width: 500px; + text-align: center; +} +.age-modal-content h2 { + color: var(--accent); + margin: 0 0 20px 0; + font-size: 1.3rem; +} +.age-modal-content p { + margin: 0 0 25px 0; + line-height: 1.6; +} +.age-modal-buttons { + display: flex; + gap: 15px; + justify-content: center; +} +.age-modal-btn { + padding: 10px 25px; + border: 1px solid var(--border); + background: #000; + color: var(--text); + font-family: inherit; + font-size: 0.9rem; + cursor: pointer; + transition: 0.2s; +} +.age-modal-btn:hover { + background: var(--accent); + color: #000; + border-color: var(--accent); +} +.age-modal-btn.deny:hover { + background: #555; + border-color: #555; +} + +@media (max-width: 850px) { + header, main, footer { padding: 20px; } + header { flex-direction: column; } + .nav-columns { width: 100%; } + .age-modal-content { margin: 20px; padding: 20px; } +} + +/* Additional styles for modal search box */ +.search-container { + animation: fadeIn 0.5s ease-in; +} + +@keyframes fadeIn { + from { opacity: 0; } + to { opacity: 1; } +} + +.age-modal-content form button:hover { + background: var(--accent); + color: #000; + border-color: var(--accent); +} + +.modal-search { + margin: 20px 0; + border-top: 1px solid var(--border); + padding-top: 20px; +} + +.modal-search-hint { + margin-bottom: 10px; + font-size: 0.9rem; +} + +.modal-search-form { + display: flex; + gap: 10px; +} + +.modal-search-input { + flex-grow: 1; + border: 1px solid var(--border); + padding: 8px; + background: #000; + color: var(--text); +} + +.modal-search-button { + padding: 8px 15px; + border: 1px solid var(--border); + background: #000; + color: var(--text); + cursor: pointer; +} diff --git a/startpage/startpage.js b/startpage/startpage.js new file mode 100644 index 0000000..3fc9701 --- /dev/null +++ b/startpage/startpage.js @@ -0,0 +1,87 @@ +(function () { + function byId(id) { + return document.getElementById(id); + } + + function updateClock() { + const dateEl = byId('realtime-date'); + const timeEl = byId('realtime-clock'); + if (!dateEl || !timeEl) return; + + const now = new Date(); + const options = { weekday: 'short', year: 'numeric', month: 'short', day: 'numeric' }; + dateEl.textContent = now.toLocaleDateString(undefined, options).toUpperCase(); + timeEl.textContent = now.toLocaleTimeString(); + } + + setInterval(updateClock, 1000); + updateClock(); + + // Age Verification System + let isVerified = false; + + const content = byId('age-restricted-content'); + const modal = byId('age-verification-modal'); + const yesBtn = byId('age-verify-yes'); + const noBtn = byId('age-verify-no'); + + function unlockContent() { + if (!content) return; + content.classList.remove('locked'); + content.classList.add('unlocked'); + content.removeEventListener('click', handleContentClick); + isVerified = true; + localStorage.setItem('ageVerified', 'true'); + } + + function showAgeModal() { + if (!modal) return; + modal.classList.remove('hidden'); + } + + function hideAgeModal() { + if (!modal) return; + modal.classList.add('hidden'); + } + + function handleContentClick(e) { + if (isVerified) return; + + e.preventDefault(); + e.stopPropagation(); + showAgeModal(); + } + + function confirmAge(isOfAge) { + if (!modal) return; + + if (isOfAge) { + unlockContent(); + hideAgeModal(); + alert('Age verified. You can now access restricted content.'); + } else { + hideAgeModal(); + window.location.href = 'https://www.google.com'; + } + } + + if (content && modal) { + const storedVerification = localStorage.getItem('ageVerified'); + if (storedVerification === 'true') { + unlockContent(); + } else { + showAgeModal(); + } + + content.addEventListener('click', handleContentClick); + + if (yesBtn) yesBtn.addEventListener('click', function () { confirmAge(true); }); + if (noBtn) noBtn.addEventListener('click', function () { confirmAge(false); }); + + document.addEventListener('keydown', function (e) { + if (e.altKey && e.key === 'a') { + showAgeModal(); + } + }); + } +})(); diff --git a/startpage/test.html b/startpage/test.html new file mode 100644 index 0000000..468bf82 --- /dev/null +++ b/startpage/test.html @@ -0,0 +1,54 @@ + + + + + + Accurate Belleville, Ontario Weather + + + + + + + + + + + + + + + + + + +

Live Weather for Belleville, Ontario

+ +
+
+ + +
+
+ The live weather data above is provided directly from MSN Weather for Belleville, Ontario.
+ For a general weather overview: + CTV News Weather
+ For local flying conditions: + UAV Forecast +
+
+ + + diff --git a/startpage/test.old b/startpage/test.old new file mode 100644 index 0000000..a71ae9c --- /dev/null +++ b/startpage/test.old @@ -0,0 +1,129 @@ + + + + + + Accurate Belleville, Ontario Weather + + + + + + +

Live Weather for Belleville, Ontario

+ +
+
+ + +
+
+ The live weather data above is provided directly from MSN Weather for Belleville, Ontario.
+ For a general weather overview: + CTV News Weather
+ For local flying conditions: + UAV Forecast +
+
+ + + diff --git a/startpage/tf2.png b/startpage/tf2.png new file mode 100644 index 0000000..bd3794a Binary files /dev/null and b/startpage/tf2.png differ diff --git a/startpage/tilde.png b/startpage/tilde.png new file mode 100644 index 0000000..20e1184 Binary files /dev/null and b/startpage/tilde.png differ diff --git a/startpage/videogame.png b/startpage/videogame.png new file mode 100644 index 0000000..3e2adb4 Binary files /dev/null and b/startpage/videogame.png differ diff --git a/startpage/wallpaper.jpg b/startpage/wallpaper.jpg new file mode 100644 index 0000000..d67ac74 Binary files /dev/null and b/startpage/wallpaper.jpg differ -- cgit v1.2.3