1import PublicLayout from '../components/Layout/PublicLayout';
2import './Documentation.css';
3import { apiFetch } from '../lib/api';
5function Documentation() {
8 <div className="docs-container">
9 <aside className="docs-sidebar">
10 <nav className="docs-nav">
11 <div className="nav-section">
12 <h3>Getting Started</h3>
14 <li><a href="#overview">Overview</a></li>
15 <li><a href="#quick-start">Quick Start</a></li>
16 <li><a href="#installation">Installation</a></li>
19 <div className="nav-section">
22 <li><a href="#dashboard">Dashboard</a></li>
23 <li><a href="#tickets">Tickets</a></li>
24 <li><a href="#customers">Customers</a></li>
25 <li><a href="#knowledge-base">Knowledge Base</a></li>
26 <li><a href="#products">Products</a></li>
27 <li><a href="#invoices">Invoices</a></li>
28 <li><a href="#purchase-orders">Purchase Orders</a></li>
29 <li><a href="#contracts">Contracts</a></li>
30 <li><a href="#monitoring">Monitoring</a></li>
31 <li><a href="#agents">Agents</a></li>
32 <li><a href="#reports">Reports</a></li>
33 <li><a href="#integrations">Integrations</a></li>
34 <li><a href="#settings">Settings</a></li>
37 <div className="nav-section">
40 <li><a href="#faq">FAQ</a></li>
41 <li><a href="#contact">Contact Support</a></li>
42 <li><a href="#troubleshooting">Troubleshooting</a></li>
48 <main className="docs-content">
49 <section id="overview" className="doc-section">
50 <h1><span className="material-symbols-outlined" style={{verticalAlign:'-6px',marginRight:8}}>menu_book</span>Documentation</h1>
52 Welcome to the IBG MSP Platform documentation.
56 <section id="quick-start" className="doc-section">
57 <h2><span className="material-symbols-outlined" style={{verticalAlign:'-6px',marginRight:8}}>rocket_launch</span>Quick Start Guide</h2>
58 <ol className="step-list">
59 <li><strong>Create Your Account</strong><p>Sign up or log in.</p></li>
60 <li><strong>Set Up Organization</strong><p>Configure your profile.</p></li>
61 <li><strong>Deploy Agents</strong><p>Install monitoring agents.</p></li>
65 {/* Per-page documentation (public, read-only) */}
67 <section id="dashboard" className="doc-section">
68 <h2><span className="material-symbols-outlined" style={{verticalAlign:'-6px',marginRight:8}}>space_dashboard</span>Dashboard</h2>
69 <p>The Dashboard gives you a high-level overview of your MSP operations.</p>
70 <figure className="doc-screenshot">
71 <img src="/images/docs/dashboard-real.png" alt="Dashboard overview screenshot" />
72 <figcaption>Actual dashboard overview with active tickets, alerts, and metrics.</figcaption>
75 <li><strong>Active Tickets</strong>: Open or in-progress support requests.</li>
76 <li><strong>Critical Alerts</strong>: Unread alerts from agents and systems.</li>
77 <li><strong>Online Agents</strong>: Monitored endpoints reporting in.</li>
78 <li><strong>Invoiced/Payments This Month</strong>: Billing snapshot (voided invoices excluded).</li>
80 <p>Use the refresh button <span className="material-symbols-outlined">refresh</span> to fetch the latest metrics.</p>
83 <section id="tickets" className="doc-section">
84 <h2><span className="material-symbols-outlined" style={{verticalAlign:'-6px',marginRight:8}}>confirmation_number</span>Tickets</h2>
85 <p>Create, triage, and resolve customer support tickets.</p>
86 <figure className="doc-screenshot">
87 <img src="/images/docs/dashboard-tickets.png" alt="Tickets list and filters screenshot" />
88 <figcaption>Tickets page with filters, search, and status badges as seen in the app.</figcaption>
90 <ol className="step-list">
91 <li><strong>Create a ticket</strong><p>Go to Tickets → New. Enter title, description, priority, and customer.</p></li>
92 <li><strong>Update status</strong><p>Edit the ticket to assign, change priority, or close it when resolved.</p></li>
93 <li><strong>Search & filter</strong><p>Use the search bar and filters for status/priority/date.</p></li>
95 <p>Tip: Link tickets to customers for context and reporting.</p>
98 <section id="customers" className="doc-section">
99 <h2><span className="material-symbols-outlined" style={{verticalAlign:'-6px',marginRight:8}}>groups</span>Customers</h2>
100 <p>Manage customer records and view related tickets and invoices.</p>
101 <figure className="doc-screenshot">
102 <img src="/images/docs/customers-real.png" alt="Customers list screenshot" />
103 <figcaption>Customer management page showing customer details and related tickets.</figcaption>
106 <li><strong>Add a customer</strong>: Customers → New, then fill in contact details.</li>
107 <li><strong>Search</strong>: Filter by name, email, or tags.</li>
108 <li><strong>Profile</strong>: View associated tickets, invoices, and contracts.</li>
112 <section id="knowledge-base" className="doc-section">
113 <h2><span className="material-symbols-outlined" style={{verticalAlign:'-6px',marginRight:8}}>menu_book</span>Knowledge Base</h2>
114 <p>Create and maintain internal or customer-facing documentation.</p>
115 <figure className="doc-screenshot">
116 <img src="/images/docs/knowledge-base-real.png" alt="Knowledge base articles screenshot" />
117 <figcaption>Knowledge Base with searchable articles and rich text editor.</figcaption>
120 <li><strong>New article</strong>: Knowledge Base → New. Use the editor to write and format content.</li>
121 <li><strong>Edit</strong>: Open an article and choose Edit. Save changes to update.</li>
122 <li><strong>Search</strong>: Quickly find articles by title or content.</li>
126 <section id="products" className="doc-section">
127 <h2><span className="material-symbols-outlined" style={{verticalAlign:'-6px',marginRight:8}}>inventory_2</span>Products</h2>
128 <p>Maintain a catalog of billable items and stock-managed products.</p>
129 <figure className="doc-screenshot">
130 <img src="/images/docs/products-real.png" alt="Products catalog screenshot" />
131 <figcaption>Products catalog with pricing, stock, and supplier info.</figcaption>
134 <li><strong>Add product</strong>: Set price (ex GST), whether it tracks stock, and minimum stock alerts.</li>
135 <li><strong>Search</strong>: Filter by name or supplier. Low stock triggers notifications.</li>
136 <li><strong>Use in invoices</strong>: Add products to invoice line items for consistent pricing.</li>
140 <section id="invoices" className="doc-section">
141 <h2><span className="material-symbols-outlined" style={{verticalAlign:'-6px',marginRight:8}}>receipt_long</span>Invoices</h2>
142 <p>Create, edit, view, void, and delete invoices.</p>
143 <figure className="doc-screenshot">
144 <img src="/images/docs/invoices-real.png" alt="Invoices list screenshot" />
145 <figcaption>Invoices page showing invoice status, totals, and actions.</figcaption>
147 <ol className="step-list">
148 <li><strong>Create</strong><p>Invoices → New. Select customer, add line items (products or custom), and save.</p></li>
149 <li><strong>Edit</strong><p>From the list or detail page, update items and dates; totals update automatically.</p></li>
150 <li><strong>Void</strong><p>On the detail page, choose Void, enter a reason. Stock is restocked and reports exclude voided invoices.</p></li>
151 <li><strong>Delete</strong><p>Allowed for Draft or Voided invoices (not Paid). Deletes items and restocks if needed.</p></li>
153 <p>Tip: Company info (ABN, address) is configured in Settings and appears on printed invoices.</p>
156 <section id="purchase-orders" className="doc-section">
157 <h2><span className="material-symbols-outlined" style={{verticalAlign:'-6px',marginRight:8}}>shopping_cart</span>Purchase Orders</h2>
158 <p>Track purchase orders to suppliers and the received items.</p>
159 <figure className="doc-screenshot">
160 <img src="/images/docs/purchase-orders-real.png" alt="Purchase orders screenshot" />
161 <figcaption>Purchase Orders page with supplier, items, and status columns.</figcaption>
164 <li><strong>Create PO</strong>: Add supplier, items, and expected dates.</li>
165 <li><strong>Edit/Receive</strong>: Update lines as goods arrive; maintain accurate stock.</li>
166 <li><strong>Search</strong>: Filter by PO number, supplier, or date.</li>
170 <section id="contracts" className="doc-section">
171 <h2><span className="material-symbols-outlined" style={{verticalAlign:'-6px',marginRight:8}}>contract_edit</span>Contracts</h2>
172 <p>Define service contracts, SLAs, and entitlements per customer.</p>
173 <figure className="doc-screenshot">
174 <img src="/images/docs/contracts-real.png" alt="Contracts list screenshot" />
175 <figcaption>Contracts management with SLA hours and billing terms.</figcaption>
178 <li><strong>Create/Edit</strong>: Set start/end dates, SLA hours, and billing terms.</li>
179 <li><strong>Tenant visibility</strong>: Root admins can see tenant context in lists.</li>
180 <li><strong>Reporting</strong>: Contracts integrate with tickets and billing.</li>
184 <section id="monitoring" className="doc-section">
185 <h2><span className="material-symbols-outlined" style={{verticalAlign:'-6px',marginRight:8}}>monitor_heart</span>Monitoring</h2>
186 <p>View metrics from deployed agents and set alert thresholds.</p>
187 <figure className="doc-screenshot">
188 <img src="/images/docs/monitoring-real.png" alt="Monitoring metrics screenshot" />
189 <figcaption>Monitoring dashboard with agent metrics and alert thresholds.</figcaption>
192 <li><strong>Agents</strong>: Deploy agents to endpoints to report CPU, memory, disk, and more.</li>
193 <li><strong>Alerts</strong>: Configure thresholds in Settings → Notifications.</li>
194 <li><strong>Incidents</strong>: Critical alerts appear on the Dashboard.</li>
198 <section id="agents" className="doc-section">
199 <h2><span className="material-symbols-outlined" style={{verticalAlign:'-6px',marginRight:8}}>smart_toy</span>Agents</h2>
200 <p>See agent status, last seen, and assigned tickets.</p>
201 <figure className="doc-screenshot">
202 <img src="/images/docs/agents-real.png" alt="Agents list screenshot" />
203 <figcaption>Agents page showing online status, last seen, and assignments.</figcaption>
206 <li><strong>Status</strong>: Online agents report in within the last 5 minutes.</li>
207 <li><strong>Assignments</strong>: View tickets linked to agents for troubleshooting.</li>
211 <section id="reports" className="doc-section">
212 <h2><span className="material-symbols-outlined" style={{verticalAlign:'-6px',marginRight:8}}>insights</span>Reports</h2>
213 <p>Analyze revenue, customer activity, and invoice aging.</p>
214 <figure className="doc-screenshot">
215 <img src="/images/docs/reports-real.png" alt="Reports dashboard screenshot" />
216 <figcaption>Reports dashboard with revenue, top customers, and invoice aging.</figcaption>
219 <li><strong>Revenue</strong>: Monthly totals (voided invoices excluded).</li>
220 <li><strong>Top Customers</strong>: By revenue and ticket count.</li>
221 <li><strong>Invoice Aging</strong>: Overdue breakdown across time buckets.</li>
225 <section id="integrations" className="doc-section">
226 <h2><span className="material-symbols-outlined" style={{verticalAlign:'-6px',marginRight:8}}>extension</span>Integrations</h2>
227 <p>Connect to third-party services like Slack, Xero, Mailgun, and Splashtop.</p>
228 <figure className="doc-screenshot">
229 <img src="/images/docs/integrations-real.png" alt="Integrations page screenshot" />
230 <figcaption>Integrations page with provider list and credential setup.</figcaption>
233 <li><strong>Enable</strong>: Open Integrations, choose a provider, and configure credentials.</li>
234 <li><strong>Per-tenant</strong>: Root admins can manage integrations for any tenant.</li>
238 <section id="settings" className="doc-section">
239 <h2><span className="material-symbols-outlined" style={{verticalAlign:'-6px',marginRight:8}}>tune</span>Settings</h2>
240 <p>Customize general, company, tax, notifications, and display preferences.</p>
241 <figure className="doc-screenshot">
242 <img src="/images/docs/settings-real.png" alt="Settings page screenshot" />
243 <figcaption>Settings page with company info, tax, notifications, and theme selection.</figcaption>
246 <li><strong>General</strong>: Company name, timezone, date format.</li>
247 <li><strong>Company</strong>: ABN, address, phone, email (used on invoices).</li>
248 <li><strong>Tax</strong>: Default GST rate.</li>
249 <li><strong>Notifications</strong>: Email/Slack and alert thresholds.</li>
250 <li><strong>Display</strong>: Theme and items per page.</li>
251 <li><strong>Tenant control</strong>: Root admins select a tenant to load/save tenant-specific settings.</li>
255 <section id="faq" className="doc-section">
257 <div className="faq-item">
258 <h3>How many tenants can I manage?</h3>
259 <p>Unlimited tenants supported.</p>
263 <section id="contact" className="doc-section">
264 <h2><span className="material-symbols-outlined" style={{verticalAlign:'-6px',marginRight:8}}>mail</span>Contact Support</h2>
265 <p>Need help? Reach out to our support team:</p>
267 <li>Email: <a href="mailto:support@independentbusinessgroup.com.au">support@independentbusinessgroup.com.au</a></li>
268 <li>Phone: <a href="tel:+611300123456">1300 123 456</a></li>
270 <form className="contact-form" onSubmit={e => { e.preventDefault(); alert('Message sent! (demo)'); }} style={{maxWidth:400,marginTop:24}}>
271 <div className="form-group">
272 <label htmlFor="contact-name">Name</label>
273 <input id="contact-name" name="name" type="text" required />
275 <div className="form-group">
276 <label htmlFor="contact-email">Email</label>
277 <input id="contact-email" name="email" type="email" required />
279 <div className="form-group">
280 <label htmlFor="contact-message">Message</label>
281 <textarea id="contact-message" name="message" rows="4" required />
283 <button type="submit" className="login-button">Send Message</button>
292export default Documentation;