Files
website/website-mockups/maintenance/maintenance-invoices.html

392 lines
24 KiB
HTML
Raw Permalink Normal View History

2025-09-18 22:20:01 +02:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Invoices - HarborSmith Portal</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="../css/portal-styles.css">
<link rel="stylesheet" href="../css/maintenance-enhanced.css">
</head>
<body>
<div class="portal-container">
<!-- Sidebar -->
<aside class="portal-sidebar" id="sidebar">
<a href="maintenance-dashboard.html" class="portal-logo">
<img src="../logo.jpg" alt="HarborSmith">
<span>HarborSmith</span>
</a>
<nav class="portal-nav">
<div class="nav-section">
<div class="nav-section-title">Main</div>
<a href="maintenance-dashboard.html" class="nav-link">
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
</svg>
<span>Dashboard</span>
</a>
<a href="maintenance-vessels.html" class="nav-link">
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 4h13M3 8h9m-9 4h6m4 0l4-4m0 0l4 4m-4-4v12"></path>
</svg>
<span>My Vessels</span>
</a>
<a href="maintenance-schedule.html" class="nav-link">
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
</svg>
<span>Schedule Service</span>
</a>
</div>
<div class="nav-section">
<div class="nav-section-title">Records</div>
<a href="maintenance-documents.html" class="nav-link">
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path>
</svg>
<span>Documents</span>
</a>
<a href="maintenance-reports.html" class="nav-link">
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 17v1a1 1 0 001 1h4a1 1 0 001-1v-1m3-2V8a2 2 0 00-2-2H8a2 2 0 00-2 2v8m5-4h4"></path>
</svg>
<span>Service Reports</span>
</a>
<a href="maintenance-invoices.html" class="nav-link active">
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 9V7a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2m2 4h10a2 2 0 002-2v-6a2 2 0 00-2-2H9a2 2 0 00-2 2v6a2 2 0 002 2zm7-5a2 2 0 11-4 0 2 2 0 014 0z"></path>
</svg>
<span>Invoices</span>
</a>
</div>
<div class="nav-section">
<div class="nav-section-title">Account</div>
<a href="#" class="nav-link">
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"></path>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
</svg>
<span>Settings</span>
</a>
<a href="../portal-login.html" class="nav-link">
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"></path>
</svg>
<span>Logout</span>
</a>
</div>
</nav>
</aside>
<!-- Main Content -->
<main class="portal-main">
<!-- Header -->
<header class="portal-header">
<div class="breadcrumb">
<span>Maintenance Portal</span>
<span>/</span>
<span>Invoices</span>
</div>
<div class="header-actions">
<div class="search-box">
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path>
</svg>
<input type="text" placeholder="Search invoices...">
</div>
<div class="notifications">
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9"></path>
</svg>
<span class="notification-badge">3</span>
</div>
<div class="user-profile">
<div class="user-avatar">JS</div>
<div class="user-info">
<span class="user-name">John Smith</span>
<span class="user-role">Maintenance Client</span>
</div>
</div>
</div>
</header>
<!-- Content -->
<div class="portal-content">
<div class="page-header">
<h1>Invoices & Payments</h1>
<p>Manage your service invoices and payment history</p>
</div>
<!-- Stats Row -->
<div class="stats-row">
<div class="stat-card">
<div class="stat-value">$12,450</div>
<div class="stat-label">Paid This Year</div>
</div>
<div class="stat-card pending">
<div class="stat-value">$2,850</div>
<div class="stat-label">Pending Payment</div>
</div>
<div class="stat-card overdue">
<div class="stat-value">$0</div>
<div class="stat-label">Overdue</div>
</div>
<div class="stat-card">
<div class="stat-value">18</div>
<div class="stat-label">Total Invoices</div>
</div>
</div>
<!-- Auto-pay Settings -->
<div class="autopay-section">
<div class="autopay-header">
<h3 class="autopay-title">🔄 Auto-Pay Settings</h3>
<div class="toggle-switch active"></div>
</div>
<div class="autopay-settings">
<div class="filter-group">
<select class="filter-select" title="Select payment method">
<option>Visa ending in 4242</option>
<option>Bank Account ending in 6789</option>
<option>Add new payment method...</option>
</select>
</div>
<div class="filter-group">
<input type="text" class="filter-select" placeholder="Max amount: $5,000">
</div>
<div class="filter-group">
<select class="filter-select" title="Select notification preference">
<option>Email me before charging</option>
<option>Email me after charging</option>
<option>Both</option>
</select>
</div>
</div>
</div>
<!-- Filters -->
<div class="filters-row">
<div class="filter-group">
<select class="filter-select" title="Filter by invoice status">
<option>All Invoices</option>
<option>Paid</option>
<option>Pending</option>
<option>Overdue</option>
</select>
<select class="filter-select" title="Filter by vessel">
<option>All Vessels</option>
<option>Sea Breeze</option>
<option>Wave Runner</option>
<option>Ocean Spirit</option>
</select>
<select class="filter-select" title="Filter by date range">
<option>Last 30 Days</option>
<option>Last 3 Months</option>
<option>Last 6 Months</option>
<option>This Year</option>
</select>
</div>
<button class="export-btn">
<svg width="20" height="20" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path>
</svg>
Export
</button>
</div>
<!-- Invoices Grid -->
<div class="invoices-grid">
<div class="invoice-card">
<div>
<div class="invoice-header">
<div>
<div class="invoice-number">INV-2024-1247</div>
<div class="invoice-vessel">Sea Breeze</div>
</div>
<span class="invoice-status pending">Pending</span>
</div>
<div class="invoice-details">
<div class="invoice-detail">
<span class="invoice-detail-label">Date</span>
<span class="invoice-detail-value">Nov 15, 2024</span>
</div>
<div class="invoice-detail">
<span class="invoice-detail-label">Service</span>
<span class="invoice-detail-value">Annual Maintenance</span>
</div>
<div class="invoice-detail">
<span class="invoice-detail-label">Amount</span>
<span class="invoice-detail-value">$2,850.00</span>
</div>
<div class="invoice-detail">
<span class="invoice-detail-label">Due Date</span>
<span class="invoice-detail-value">Nov 30, 2024</span>
</div>
</div>
</div>
<div class="invoice-actions">
<button class="action-btn primary">
<svg width="16" height="16" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 9V7a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2m2 4h10a2 2 0 002-2v-6a2 2 0 00-2-2H9a2 2 0 00-2 2v6a2 2 0 002 2zm7-5a2 2 0 11-4 0 2 2 0 014 0z"></path>
</svg>
Pay Now
</button>
<button class="action-btn secondary">
<svg width="16" height="16" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"></path>
</svg>
View
</button>
</div>
</div>
<div class="invoice-card">
<div>
<div class="invoice-header">
<div>
<div class="invoice-number">INV-2024-1235</div>
<div class="invoice-vessel">Wave Runner</div>
</div>
<span class="invoice-status paid">Paid</span>
</div>
<div class="invoice-details">
<div class="invoice-detail">
<span class="invoice-detail-label">Date</span>
<span class="invoice-detail-value">Oct 28, 2024</span>
</div>
<div class="invoice-detail">
<span class="invoice-detail-label">Service</span>
<span class="invoice-detail-value">Hull Cleaning</span>
</div>
<div class="invoice-detail">
<span class="invoice-detail-label">Amount</span>
<span class="invoice-detail-value">$450.00</span>
</div>
<div class="invoice-detail">
<span class="invoice-detail-label">Paid On</span>
<span class="invoice-detail-value">Oct 30, 2024</span>
</div>
</div>
</div>
<div class="invoice-actions">
<button class="action-btn secondary">
<svg width="16" height="16" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path>
</svg>
Receipt
</button>
<button class="action-btn secondary">
<svg width="16" height="16" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"></path>
</svg>
View
</button>
</div>
</div>
<div class="invoice-card">
<div>
<div class="invoice-header">
<div>
<div class="invoice-number">INV-2024-1221</div>
<div class="invoice-vessel">Sea Breeze</div>
</div>
<span class="invoice-status paid">Paid</span>
</div>
<div class="invoice-details">
<div class="invoice-detail">
<span class="invoice-detail-label">Date</span>
<span class="invoice-detail-value">Oct 10, 2024</span>
</div>
<div class="invoice-detail">
<span class="invoice-detail-label">Service</span>
<span class="invoice-detail-value">Engine Service</span>
</div>
<div class="invoice-detail">
<span class="invoice-detail-label">Amount</span>
<span class="invoice-detail-value">$1,200.00</span>
</div>
<div class="invoice-detail">
<span class="invoice-detail-label">Paid On</span>
<span class="invoice-detail-value">Oct 12, 2024</span>
</div>
</div>
</div>
<div class="invoice-actions">
<button class="action-btn secondary">
<svg width="16" height="16" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path>
</svg>
Receipt
</button>
<button class="action-btn secondary">
<svg width="16" height="16" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"></path>
</svg>
View
</button>
</div>
</div>
<div class="invoice-card">
<div>
<div class="invoice-header">
<div>
<div class="invoice-number">INV-2024-1198</div>
<div class="invoice-vessel">Ocean Spirit</div>
</div>
<span class="invoice-status paid">Paid</span>
</div>
<div class="invoice-details">
<div class="invoice-detail">
<span class="invoice-detail-label">Date</span>
<span class="invoice-detail-value">Sep 15, 2024</span>
</div>
<div class="invoice-detail">
<span class="invoice-detail-label">Service</span>
<span class="invoice-detail-value">Electronics Update</span>
</div>
<div class="invoice-detail">
<span class="invoice-detail-label">Amount</span>
<span class="invoice-detail-value">$3,200.00</span>
</div>
<div class="invoice-detail">
<span class="invoice-detail-label">Paid On</span>
<span class="invoice-detail-value">Sep 18, 2024</span>
</div>
</div>
</div>
<div class="invoice-actions">
<button class="action-btn secondary">
<svg width="16" height="16" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path>
</svg>
Receipt
</button>
<button class="action-btn secondary">
<svg width="16" height="16" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"></path>
</svg>
View
</button>
</div>
</div>
</div>
</div>
</main>
</div>
</body>
</html>