eve-indy-job-tracker/index.php

194 lines
8.3 KiB
PHP
Executable file

<?php require_once __DIR__ . "/session_bootstrap.php"; ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>EVE Industry Tracker</title>
<!-- Styles -->
<link rel="stylesheet" href="assets/styles.min.css">
<!-- Meta Description -->
<meta name="description" content="Track and manage your EVE Online industry jobs efficiently. Monitor manufacturing, research, and industry activities across multiple characters in one dashboard.">
<!-- Keywords -->
<meta name="keywords" content="EVE Online, industry tracker, manufacturing, research, industry jobs, EVE Online tools">
<!-- Favicon -->
<link rel="icon" href="/assets/EIJT-FAVICON.png" type="image/png">
<!-- Preload -->
<link rel="preload" href="assets/logo.png" as="image">
<!-- Open Graph (for sharing links) -->
<meta property="og:title" content="EVE Industry Tracker - Manage Your EVE Online Industry">
<meta property="og:description" content="Track and optimize your EVE Online industry jobs across multiple characters. Free tool for manufacturing, research, and blueprint management.">
<meta property="og:image" content="assets/EIJT-FAVICON.png">
<meta property="og:type" content="website">
<meta property="og:url" content="https://your-domain/">
<meta property="og:site_name" content="EVE Industry Tracker">
<meta property="og:locale" content="en_US">
<!-- Canonical URL -->
<link rel="canonical" href="/">
<!-- Twitter Cards -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="EVE Industry Tracker - EVE Online Industry Management">
<meta name="twitter:description" content="Free tool to track and optimize your EVE Online industry jobs. Manage manufacturing, research, and blueprints across multiple characters.">
<meta name="twitter:image" content="assets/logo.png">
<meta name="twitter:site" content="@your-twitter-handle">
<meta name="twitter:creator" content="@your-twitter-handle">
<link rel="preload" href="assets/styles.min.css" as="style">
<!-- Mobile & Theming -->
<meta name="theme-color" content="#1b1b1b">
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- Basic Security -->
<meta http-equiv="X-Content-Type-Options" content="nosniff">
<meta http-equiv="Referrer-Policy" content="no-referrer">
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src * data:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline';">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" media="print" onload="this.media='all'">
<style>
/* Styles moved to styles.css */
</style>
<!-- Schema.org markup for rich snippets -->
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebApplication",
"name": "EVE Industry Tracker",
"applicationCategory": "Game Tool",
"operatingSystem": "Any",
"url": "https://your-domain/",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"description": "Track and manage your EVE Online industry jobs efficiently. Monitor manufacturing, research, and industry activities across multiple characters in one dashboard.",
"browserRequirements": "Requires JavaScript. Any modern web browser.",
"softwareVersion": "1.0",
"applicationSubCategory": "EVE Online Tools",
"featureList": [
"Industry jobs tracking",
"Multi-character support",
"Blueprint management",
"Real-time updates",
"Session export/import"
]
}
</script>
</head>
<body>
<div class="container" style="text-align: center; padding: 2em;">
<img src="assets/logo.png" width="50%" style="max-width: 600px; margin-bottom: 2em;" alt="EVE Jobs Tracker Logo" loading="eager">
<?php if (
!isset($_SESSION["characters"]) ||
count($_SESSION["characters"]) === 0
): ?>
<div class="section">
<a href="login.php">
<button style="padding: 0.75em 1.5em; font-size: 1.1em;">Log In</button>
</a>
</div>
<div class="divider"><span>or</span></div>
<div class="section">
<h3>📂 Import a Saved Session</h3>
<form action="import.php" method="POST" enctype="multipart/form-data" style="margin-top: 1em;">
<input type="file" name="session_file" accept=".json" required style="margin-bottom: 1em;">
<br>
<button type="submit" style="padding: 0.5em 1.2em;">Import Session</button>
</form>
</div>
<?php else: ?>
<div class="buttons" style="margin-top: 0.1em;">
<a href="login.php"><button>Add Another Character</button></a>
<a href="logout.php"><button>Logout All</button></a>
<a href="export.php"><button id="exportButton">Export Save</button></a>
</div>
<div class="dashboard-toggle" style="margin-top: 1em;">
<button id="jobsDashboardButton" class="active">Industry Jobs</button>
<button id="blueprintsDashboardButton">Blueprints</button>
</div>
<div id="jobsDashboard" style="margin-top: 1em;">
<?php include "dashboard.php"; ?>
</div>
<div id="blueprintsDashboard" style="margin-top: 1em; display: none;">
<?php include "blueprints_dashboard.php"; ?>
</div>
<script>
document.addEventListener("DOMContentLoaded", () => {
// Make export button flash only on first page load
const exportButton = document.getElementById("exportButton");
if (exportButton && !sessionStorage.getItem('exportButtonFlashed')) {
exportButton.classList.add('export-flash');
sessionStorage.setItem('exportButtonFlashed', 'true');
}
const jobsButton = document.getElementById("jobsDashboardButton");
const blueprintsButton = document.getElementById("blueprintsDashboardButton");
const jobsDashboard = document.getElementById("jobsDashboard");
const blueprintsDashboard = document.getElementById("blueprintsDashboard");
jobsButton.addEventListener("click", () => {
jobsDashboard.style.display = "block";
blueprintsDashboard.style.display = "none";
jobsButton.classList.add("active");
blueprintsButton.classList.remove("active");
});
blueprintsButton.addEventListener("click", () => {
jobsDashboard.style.display = "none";
blueprintsDashboard.style.display = "block";
blueprintsButton.classList.add("active");
jobsButton.classList.remove("active");
});
});
</script>
<?php endif; ?>
</div>
<!-- Footer -->
<footer style="text-align: center; padding: 2em 0; background-color: #222; color: #d4d4d4;">
<p>If you find this tool useful, please consider donating in-game!</p>
<p>Send ISK to <a href="https://evewho.com/character/95770276" target="_blank" style="color: #00aaff;">Clay's Accountant</a>.</p>
<p>Thank you for your support! <a href="views.php">🙏</a></p>
<p style="text-align: right; font-size: 0.7em; margin-top: 1em; color: #666;">EVE Online and all related materials are trademarks or intellectual property of CCP Games. </p>
</footer>
<!-- stats -->
<?php require_once "track_visits.php"; ?>
</body>
</html>