Upload website
This commit is contained in:
353
dist/projects/storagemanager/index.html
vendored
Normal file
353
dist/projects/storagemanager/index.html
vendored
Normal file
@@ -0,0 +1,353 @@
|
||||
<!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">
|
||||
<link rel="stylesheet" href="/css/side-by-side.css">
|
||||
|
||||
<!-- SEO -->
|
||||
<title>Storage Manager - get organized | 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="storagemanager, management, home use, business use" />
|
||||
<meta name="description" content="The perfect utility to keep track of your home or business storage" />
|
||||
<meta name="og:title" content="StorageManager - get organized | janishutz.com" />
|
||||
<meta name="og:image" content="https://static.janishutz.com/projects/storagemanager-title.jpg" />
|
||||
<meta name="og:type" content="website" />
|
||||
<meta name="og:url" content="https://janishutz.com/projects/storagemanager" />
|
||||
<meta name="og:locale" content="en_GB" />
|
||||
<meta property="twitter:card" content="summary_large_image">
|
||||
<meta name="theme-color" content="#152b5c">
|
||||
|
||||
<style>
|
||||
#yt-embed {
|
||||
width: 70vw;
|
||||
height: 40vw;
|
||||
}
|
||||
</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">
|
||||
<img src="https://static.janishutz.com/assets/logos/storagemanager.jpg" alt="storage manager logo"
|
||||
class="project-logo">
|
||||
<h1>Storage Manager</h1>
|
||||
|
||||
<p>Managing storage can be a challenging task, especially when the volume of items stored becomes large. If
|
||||
products in that storage can go bad, you are very likely to produce quite a bit of waste. StorageManager is
|
||||
an iOS app that can send you notifications such that you do not forget about products that are about to
|
||||
expire.</p>
|
||||
|
||||
<a href="https://apps.apple.com/us/app/storagemanager/id6443832297" target="_blank" class="button">Get it today</a>
|
||||
|
||||
<hr class="divider">
|
||||
|
||||
<h2>Features</h2>
|
||||
<div class="side-by-side">
|
||||
<div class="side-by-side-item left">
|
||||
<h3>Notifications</h3>
|
||||
<p>StorageManager can send you notifications when a product is about to expire so you don't forget about
|
||||
the product. Notifications time can be customised in settings.</p>
|
||||
</div>
|
||||
<div class="side-by-side-item right">
|
||||
<h3>Adding products</h3>
|
||||
<p>You can add products by simply scanning the product's barcode and adding some data on the product.
|
||||
The app will remember the product such that the next time you scan it, it will autofill all relevant
|
||||
data.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="side-by-side">
|
||||
<div class="side-by-side-item left">
|
||||
<h3>Editing products</h3>
|
||||
<p>Products can be edited straight from the products details page. You can edit every aspect of the
|
||||
product data to the extent that you can make it an entirely different kind.</p>
|
||||
</div>
|
||||
<div class="side-by-side-item right">
|
||||
<h3>Removing products</h3>
|
||||
<p>You can remove products by simply swiping to delete. Alternatively you can delete products by hitting
|
||||
the delete icon in the details page or even better, by scanning the product's barcode.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="side-by-side">
|
||||
<div class="side-by-side-item left">
|
||||
<h3>Organisation</h3>
|
||||
<p>StorageManager allows you to create product categories and one storage location. If you purchase the
|
||||
full version, you can add an infinite amount of storage locations. The In-App-Purchase is sharable
|
||||
with up to five people in your family.</p>
|
||||
</div>
|
||||
<div class="side-by-side-item right">
|
||||
<h3>Filtering & sorting</h3>
|
||||
<p>You can sort and filter all the data. Many different sorting options and filters are available, as
|
||||
well as a powerful search function, that finds all your products within milliseconds.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="side-by-side">
|
||||
<div class="side-by-side-item left">
|
||||
<h3>iCloud-Sync</h3>
|
||||
<p>StorageManager has iCloud-Sync built in and enabled for ALL users. Simply allow iCloud access for
|
||||
StorageManager and you are off to the races. Your storage data syncs magically between all your
|
||||
Apple-Devices.</p>
|
||||
</div>
|
||||
<div class="side-by-side-item right">
|
||||
<h3>Free <sup>*</sup></h3>
|
||||
<p>You can use StorageManager for free, with one small exception being adding an unlimited amount of
|
||||
storage locations. For this you will need to make an In-App-Purchase. Please check the AppStore for
|
||||
the exact pricing as this is dependent on your country.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="side-by-side">
|
||||
<div class="side-by-side-item left">
|
||||
<h3>Easy setup</h3>
|
||||
<p>StorageManager features an easy to use, guided setup such that you can be up and running within just
|
||||
one or two minutes of downloading the app.</p>
|
||||
</div>
|
||||
<div class="side-by-side-item right">
|
||||
<h3>Display settings</h3>
|
||||
<p>Choose what is displayed on the main page of the app with simple toggles in the app's settings page.
|
||||
This allows you to see everything you want at a glance or have more items on the screen at once.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr class="divider">
|
||||
|
||||
<a href="https://apps.apple.com/us/app/storagemanager/id6443832297" target="_blank" class="button" style="margin-top: 50px;">Get it today</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&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>
|
||||
|
||||
|
||||
<script src="https://static.janishutz.com/js/yt-embed.js"></script>
|
||||
<script src="https://static.janishutz.com/js/slider.js"></script>
|
||||
<script>
|
||||
activateSlider(7500);
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
Reference in New Issue
Block a user