diff --git a/appsettings.html b/appsettings.html
new file mode 100644
index 0000000..74b1217
--- /dev/null
+++ b/appsettings.html
@@ -0,0 +1,482 @@
+
+
+
+
+
+ Estimator Job List - Settings
+
+
+
+
+
+
+
+
+
+
+
Estimator Job List Settings
+
Configure table appearance and behavior
+
+
+
+
+
+
+
+
+
Loading settings...
+
+
+
+
+
+
+
+
+
+
+
Column Settings
+
Configure individual column properties, widths, and dropdown choices
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/estimatortable.html b/estimatortable.html
new file mode 100644
index 0000000..8373c1d
--- /dev/null
+++ b/estimatortable.html
@@ -0,0 +1,755 @@
+
+
+
+
+
+ Estimator Table
+
+
+
+
+
+
+
+
+
+
+
+
+
Estimator Table
+
Job Information
+
+
+
+
Sign in with your Microsoft account to access the table
+
+
+
+
+
+
+
+
+
+
+
Estimator Job Table
+
Scroll horizontally and vertically • First two columns are frozen
+
+
+
+
+
+
+
+ | Job Number |
+ Job Full Name |
+ Active |
+ Added To Calendar |
+ Attachment List |
+ Company Client |
+ Contact Person |
+ Docs Uploaded |
+ Due Date |
+ Due Date Counter |
+ Due Date Source |
+ Due Time |
+ Email |
+ Estimate Approved |
+ Estimate Draft |
+ Estimate Reviewed |
+ Estimator |
+ Flag |
+ Has Attachments |
+ Job Address |
+ Job Codes |
+ Job Division |
+ Job Folder Link |
+ Job Name |
+ Job Number Parent |
+ Job QB Link |
+ Job Status |
+ Job Type |
+ Note Ref |
+ Notes |
+ Office Rep |
+ PSwift Uploaded |
+ Phone Number |
+ Project Manager |
+ QB Created |
+ Schedule Confidence |
+ Start Date |
+ Submission Date |
+ Tax Exempt |
+ Tax Exempt Docs Uploaded |
+ Voxer Created |
+ Voxer Link |
+ Last Note At |
+ Latest Note Summary |
+ Note Count |
+ Note Thread Text |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/server.ts b/server.ts
index 81c5d01..b9505a5 100644
--- a/server.ts
+++ b/server.ts
@@ -99,12 +99,27 @@ app.post('/api/submit', async (c) => {
}
});
-// Serve static index.html
+// Serve static files
app.get('/', async (c) => {
const html = await Bun.file('index.html').text();
return c.html(html);
});
+app.get('/estimatortable.html', async (c) => {
+ const html = await Bun.file('estimatortable.html').text();
+ return c.html(html);
+});
+
+app.get('/admin.html', async (c) => {
+ const html = await Bun.file('admin.html').text();
+ return c.html(html);
+});
+
+app.get('/appsettings.html', async (c) => {
+ const html = await Bun.file('appsettings.html').text();
+ return c.html(html);
+});
+
// Admin login endpoint
app.post('/api/admin/login', async (c) => {
try {
@@ -480,9 +495,12 @@ app.get('/api/export/schema', async (c) => {
}
});
-const PORT = Number(process.env.PORT || 7500);
+const PORT = Number(process.env.PORT || 6500);
-console.log(`Idea & Feedback Form server running at http://localhost:${PORT}`);
+console.log(`\n🚀 Server running on port ${PORT}`);
+console.log(`\n📊 Estimator Table: \x1b[36mhttp://localhost:${PORT}/estimatortable.html\x1b[0m`);
+console.log(`📝 Idea & Feedback Form: \x1b[36mhttp://localhost:${PORT}/index.html\x1b[0m`);
+console.log(`👤 Admin Panel: \x1b[36mhttp://localhost:${PORT}/admin.html\x1b[0m\n`);
export default {
port: PORT,