Upload website

This commit is contained in:
2025-09-29 11:24:54 +02:00
parent 337fb757d5
commit 7fa3715aec
82 changed files with 11586 additions and 2 deletions

400
dist/support/support-status/index.html vendored Normal file
View File

@@ -0,0 +1,400 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- CSS -->
<link rel="stylesheet" href="https://static.janishutz.com/css/slider.css">
<link rel="stylesheet" href="/css/style.css">
<!-- SEO -->
<title>Support Status | janishutz.com</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<meta name="keywords" content="" />
<meta name="description" content="Check which projects are still supported and until when they are" />
<meta name="og:title" content="Support Status | janishutz.com" />
<meta name="og:description" content="Check which projects are still supported and until when" />
<meta name="og:locale" content="en_GB" />
<meta name="theme-color" content="#152b5c">
<style>
.top-bar {
font-size: 1.1rem;
font-weight: bold;
min-width: max-content;
}
.status {
padding-right: 15px;
min-width: max-content;
}
.name {
padding-right: 15px;
min-width: max-content;
}
.eol {
padding-right: 15px;
min-width: max-content;
}
.info {
font-weight: normal;
font-style: italic;
font-size: smaller;
color: var( --color-text-accent );
margin: 10px;
}
.support-status {
margin-bottom: 20px;
}
.support-status-wrapper {
max-width: 100%;
overflow: scroll;
}
</style>
</head>
<body>
<nav><script>
// Themeing
let loadedTheme = localStorage.getItem( 'theme' ) ?? 'auto';
var theme = loadedTheme;
let loadTheme = () => {
loadedTheme = localStorage.getItem( 'theme' ) ?? 'auto';
if ( loadedTheme === 'auto' ) {
if ( window.matchMedia( '(prefers-color-scheme: dark)' ).matches ) {
theme = 'dark_mode';
} else {
theme = 'light_mode';
}
}
if ( theme === 'dark_mode' ) {
document.documentElement.classList.remove( 'light' );
document.documentElement.classList.add( 'dark' );
} else {
document.documentElement.classList.add( 'light' );
document.documentElement.classList.remove( 'dark' );
theme === 'light_mode';
}
}
loadTheme();
setTimeout( () => {
document.querySelector( 'body' ).classList.add( 'loaded' );
}, 500 );
function changeTheme () {
theme = document.getElementById( 'theme-select' ).value;
localStorage.setItem( 'theme', theme );
loadTheme();
}
</script>
<div class="nav-placeholder"></div>
<div class="nav-top-bar">
<a href="/" class="logo-wrapper">
<img src="https://static.janishutz.com/logo.jpg" alt="janishutz.com logo" class="logo">
</a>
<!-- <img src="https://static.janishutz.com/logo.jpg" alt="janishutz.com logo" class="logo"> -->
<div class="nav-toggle" onclick="openMenu( 'toggle' )">
<span class="line" id="line1"></span>
<span class="line" id="line2"></span>
<span class="line" id="line3"></span>
</div>
</div>
<div class="nav-menu">
<div class="nav-link-wrapper">
<a class="nav-link-header" href="/projects">
<span class="material-symbols-outlined nav-icon">lightbulb</span>
<div>Projects</div>
</a>
<div class="nav-link-dropdown">
<a href="/projects">View all</a>
<a href="/projects/storagemanager">StorageManager</a>
<a href="/projects/qrscanner">QR & Barcode Insight</a>
<a href="/projects/libreevent">libreǝvent</a>
<a href="/projects/musicplayer">MusicPlayer</a>
<a href="https://conductorcalc.com" target="_blank">ConductorCalc</a>
</div>
</div>
<div class="nav-link-wrapper">
<a class="nav-link-header" href="/services">
<span class="material-symbols-outlined nav-icon">build</span>
<div>Services</div>
</a>
<div class="nav-link-dropdown">
<a href="https://store.janishutz.com">Store</a>
<a href="https://account.janishutz.com">Account</a>
<a href="https://development.janishutz.com">Custom Websites</a>
</div>
</div>
<a href="/" class="logo-wrapper">
<img src="https://static.janishutz.com/logo.jpg" alt="janishutz.com logo" class="logo">
</a>
<div class="nav-link-wrapper">
<a class="nav-link-header" href="/about">
<span class="material-symbols-outlined nav-icon">info</span>
<div>About</div>
</a>
<div class="nav-link-dropdown">
<a href="/about">About janishutz.com</a>
<a href="/about/aboutme">About Janis Hutz</a>
<a href="https://blog.janishutz.com" target="_blank">Blog</a>
<a href="/legal">Legal</a>
</div>
</div>
<div class="nav-link-wrapper">
<a class="nav-link-header" href="/support">
<span class="material-symbols-outlined nav-icon">support_agent</span>
<div>Support</div>
</a>
<div class="nav-link-dropdown">
<a href="https://support.janishutz.com" target="_blank">Support Hub</a>
<a href="https://support.janishutz.com/knowledgebase.php" target="_blank">Knowledgebase</a>
<a href="/support/old">Old websites</a>
</div>
</div>
</div>
<script>
const toggle = document.getElementsByClassName( 'nav-toggle' )[ 0 ];
const menu = document.getElementsByClassName( 'nav-menu' )[ 0 ];
const bar = document.getElementsByClassName( 'nav-top-bar' )[ 0 ];
function openMenu( action ) {
if ( action === 'toggle' ) {
if ( menu.classList.contains( 'active' ) ) {
openMenu( 'close' );
} else {
openMenu( 'open' );
}
} else if ( action === 'close' ) {
menu.classList.remove( 'active' );
toggle.classList.remove( 'active' );
document.body.classList.remove( 'no-scroll' );
} else if ( action === 'open' ) {
document.body.classList.add( 'no-scroll' );
toggle.classList.add( 'active' );
menu.classList.add( 'active' );
bar.classList.remove( 'slide-up' );
menu.classList.remove( 'slide-up' );
}
}
let oldScroll = 0;
document.addEventListener( 'scroll', () => {
if ( oldScroll < window.scrollY && window.innerHeight * 0.2 < window.scrollY ) {
bar.classList.add( 'slide-up' );
menu.classList.add( 'slide-up' );
} else if ( oldScroll > window.scrollY ) {
bar.classList.remove( 'slide-up' );
menu.classList.remove( 'slide-up' );
}
oldScroll = window.scrollY;
} );
// TODO: Hide menu on when scrolling down
</script>
</nav>
<div class="content">
<h1 class="title">Support Status</h1>
<a href="/support" class="back">&leftarrow; Back to support</a>
<p class="text-center;">View the support status of all my projects, roadmaps and expected End Of Life dates</p>
<div class="support-status-wrapper">
<table class="support-status">
<tr class="top-bar">
<td class="name">Software</td>
<td class="status">Status</td>
<td class="eol">Expected EOL</td>
<td>Roadmap</td>
</tr>
<tr>
<td class="name">ConductorCalc</td>
<td class="status" title="This software has not been completed yet">In Development</td>
<td class="eol">-</td>
<td><a href="https://blog.janishutz.com/posts/2024/06/update-on-projects/#conductorcalc" target="_blank">Roadmap</a></td>
</tr>
<tr>
<td class="name">Dotfiles, Configs</td>
<td class="status">Supported</td>
<td class="eol">-</td>
<td>-</td>
</tr>
<tr>
<td class="name">Website</td>
<td class="status">Supported</td>
<td class="eol">-</td>
<td>-</td>
</tr>
<tr>
<td class="name">Store</td>
<td class="status">Supported</td>
<td class="eol">-</td>
<td>-</td>
</tr>
<tr>
<td class="name">MusicPlayer V3</td>
<td class="status">Supported</td>
<td class="eol">-</td>
<td><a href="https://blog.janishutz.com/posts/2024/06/update-on-projects/#musicplayer" target="_blank">Roadmap</a></td>
</tr>
<tr>
<td class="name">Account Services (previously ID)</td>
<td class="status">Supported</td>
<td class="eol">-</td>
<td>-</td>
</tr>
<tr>
<td class="name">StorageManager</td>
<td class="status">Supported <sup>1</sup></td>
<td class="eol">-</td>
<td>-</td>
</tr>
<tr>
<td class="name">QR & Barcode Insight</td>
<td class="status">Supported</td>
<td class="eol">-</td>
<td>-</td>
</tr>
<tr>
<td class="name">libreevent</td>
<td class="status">Supported</td>
<td class="eol">-</td>
<td><a href="https://github.com/janishutz/libreevent/issues/12" target="_blank">Roadmap</a></td>
</tr>
<tr>
<td class="name">BiogasControllerApp</td>
<td class="status">Supported</td>
<td class="eol">2026-07-01<sup>2</sup></td>
<td>-</td>
</tr>
<tr>
<td class="name">arch-dev-vm</td>
<td class="status">Supported</td>
<td class="eol">-</td>
<td>-</td>
</tr>
<tr>
<td class="name">Colorthief</td>
<td class="status">Supported</td>
<td class="eol">-</td>
<td>-</td>
</tr>
<tr>
<td class="name">smuL (SimpleMediaUpscalerLite)</td>
<td class="status">Unsupported</td>
<td class="eol">2025-06-16</td>
<td>- (EOL)</td>
</tr>
<tr>
<td class="name">MusicPlayer V1</td>
<td class="status">Unsupported</td>
<td class="eol">2023-09-01</td>
<td>- (EOL)</td>
</tr>
<tr>
<td class="name">MusicPlayer V2</td>
<td class="status">Unsupported</td>
<td class="eol">2024-07-01</td>
<td>- (EOL)</td>
</tr>
</table>
</div>
<p class="info">All pieces of software without an expected EOL date do not have one, because it simply hasn't been decided yet. There might be completely rewritten versions of them taking their place in the future or an EOL date may be added</p>
<p class="info">Once a software has reached EOL, it doesn't mean it will stop working, but rather that it will not receive any more updates</p>
<p class="info"><sup>1</sup>There are plans for a big update, coming likely by or in Q3 2026</p>
<p class="info"><sup>2</sup>The stated EOL date is unlikely to be accurate, since the app has been completely rewritten in June 2025</p>
<p style="margin-top: 50px;">Looking for the support page?</p>
<a href="https://support.janishutz.com" class="button" target="_blank">Support</a>
</div>
<footer><div class="footer-container">
<img src="https://static.janishutz.com/logo.jpg" alt="janishutz.com logo" class="logo">
<div class="footer-text-container">
<div class="footer-category">
<h3>Projects</h3>
<a href="/projects">View all</a>
<a href="/projects/storagemanager">StorageManager</a>
<a href="/projects/qrscanner">QR & Barcode Insight</a>
<a href="/projects/libreevent">libreǝvent</a>
<a href="/projects/musicplayer">MusicPlayer</a>
<a href="/projects/biogascontrollerapp">BiogasControllerApp</a>
</div>
<div class="footer-category">
<h3>Info</h3>
<a href="/about">About janishutz.com</a>
<a href="/about/aboutme">About Janis Hutz</a>
<div class="theme-selector">
<span class="material-symbols-outlined" id="theme-switcher-icon">light_mode</span>
<select id="theme-select" onchange="changeTheme()">
<option value="auto">Auto</option>
<option value="light_mode">Light</option>
<option value="dark_mode">Dark</option>
</select>
</div>
</div>
<div class="footer-category">
<h3>Support</h3>
<a href="https://support.janishutz.com">Get support</a>
<a href="https://support.janishutz.com/knowledgebase.php">Knowledgebase</a>
<a href="/support/support-status">Support status</a>
</div>
<div class="footer-category">
<h3>Legal</h3>
<a href="/legal/privacy">Privacy Policy</a>
<a href="/legal/tos">Terms of Service</a>
<a href="/legal/returns">Return policy</a>
<a href="/support/support-status">Support Status</a>
<div onclick="showAnalytics()" style="cursor: pointer;">Analytics</div>
</div>
<div class="analytics-notice" id="analytics">
<h2>Analytics</h2>
<p>This website uses privacy preserving product analytics allowing me to analyze aggregated statistics for this website. All data collected will not allow me to uniquely identify you. <br><a href="/legal/privacy">Privacy Policy</a></p>
<!-- Matomo stuff -->
<div id="matomo-opt-out">
Loading...
</div>
<script src="https://analytics.janishutz.com/index.php?module=CoreAdminHome&action=optOutJS&divId=matomo-opt-out&language=auto&fontColor=000000&fontSize=12px&fontFamily=monospace&showIntro=1"></script>
<!-- Matomo Image Tracker-->
<img referrerpolicy="no-referrer-when-downgrade" src="https://analytics.janishutz.com/matomo.php?idsite=2&amp;rec=1" style="border:0" alt="" />
<!-- End Matomo -->
<button class="analytics-button" onclick="closeAnalytics()"><span class="material-symbols-outlined">close</span></button>
<div class="small-symbol" onclick="showAnalytics()" title="Change your analytics preferences"><span class="material-symbols-outlined">Analytics</span></div>
</div>
</div>
<script>
function closeAnalytics () {
document.getElementById( 'analytics' ).classList.remove( 'show' );
localStorage.setItem( 'analytics-dismissed', 'true' );
}
function showAnalytics () {
document.getElementById( 'analytics' ).classList.add( 'show' );
}
if ( !localStorage.getItem( 'analytics-dismissed' ) ) {
document.getElementById( 'analytics' ).classList.add( 'show' );
}
// Show which theme is loaded
document.getElementById( 'theme-select' ).value = loadedTheme;
</script>
</div>
</footer>
</body>
</html>