Skip to content

Commit 4658460

Browse files
author
Archith
committed
Fix CSS and asset paths for local viewing
1 parent 7853705 commit 4658460

4 files changed

Lines changed: 104 additions & 30 deletions

File tree

app.html

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,23 @@
66
<meta name="author" content="Bernie Perez">
77
<meta name="viewport" content="width=device-width, initial-scale=1.0">
88
<title>OpenCollab - Collaborative Code Editor</title>
9-
<link rel="apple-touch-icon" sizes="57x57" href="/images/favicon/apple-touch-icon-57x57.png">
10-
<link rel="apple-touch-icon" sizes="60x60" href="/images/favicon/apple-touch-icon-60x60.png">
11-
<link rel="apple-touch-icon" sizes="72x72" href="/images/favicon/apple-touch-icon-72x72.png">
12-
<link rel="apple-touch-icon" sizes="76x76" href="/images/favicon/apple-touch-icon-76x76.png">
13-
<link rel="apple-touch-icon" sizes="114x114" href="/images/favicon/apple-touch-icon-114x114.png">
14-
<link rel="apple-touch-icon" sizes="120x120" href="/images/favicon/apple-touch-icon-120x120.png">
15-
<link rel="apple-touch-icon" sizes="144x144" href="/images/favicon/apple-touch-icon-144x144.png">
16-
<link rel="apple-touch-icon" sizes="152x152" href="/images/favicon/apple-touch-icon-152x152.png">
17-
<link rel="icon" type="image/png" sizes="196x196" href="/images/favicon/favicon-196x196.png">
18-
<link rel="icon" type="image/png" sizes="128x128" href="/images/favicon/favicon-128x128.png">
19-
<link rel="icon" type="image/png" sizes="96x96" href="/images/favicon/favicon-96x96.png">
20-
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon/favicon-32x32.png">
21-
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon/favicon-16x16.png">
9+
<link rel="apple-touch-icon" sizes="57x57" href="images/favicon/apple-touch-icon-57x57.png">
10+
<link rel="apple-touch-icon" sizes="60x60" href="images/favicon/apple-touch-icon-60x60.png">
11+
<link rel="apple-touch-icon" sizes="72x72" href="images/favicon/apple-touch-icon-72x72.png">
12+
<link rel="apple-touch-icon" sizes="76x76" href="images/favicon/apple-touch-icon-76x76.png">
13+
<link rel="apple-touch-icon" sizes="114x114" href="images/favicon/apple-touch-icon-114x114.png">
14+
<link rel="apple-touch-icon" sizes="120x120" href="images/favicon/apple-touch-icon-120x120.png">
15+
<link rel="apple-touch-icon" sizes="144x144" href="images/favicon/apple-touch-icon-144x144.png">
16+
<link rel="apple-touch-icon" sizes="152x152" href="images/favicon/apple-touch-icon-152x152.png">
17+
<link rel="icon" type="image/png" sizes="196x196" href="images/favicon/favicon-196x196.png">
18+
<link rel="icon" type="image/png" sizes="128x128" href="images/favicon/favicon-128x128.png">
19+
<link rel="icon" type="image/png" sizes="96x96" href="images/favicon/favicon-96x96.png">
20+
<link rel="icon" type="image/png" sizes="32x32" href="images/favicon/favicon-32x32.png">
21+
<link rel="icon" type="image/png" sizes="16x16" href="images/favicon/favicon-16x16.png">
2222

2323
<!-- styling -->
2424
<!-- Custom style -->
25-
<link rel="stylesheet" href="/styles/main.css?v=5">
25+
<link rel="stylesheet" href="styles/main.css?v=5">
2626
<!-- Firepad -->
2727
<link rel="stylesheet" href="https://cdn.firebase.com/libs/firepad/1.4.0/firepad.css" />
2828

@@ -35,16 +35,16 @@
3535
<!-- scripts -->
3636
<!-- Firebase -->
3737
<script src="https://www.gstatic.com/firebasejs/3.5.2/firebase.js"></script>
38-
<script src="/lib/firebase-sdk.js"></script>
38+
<script src="lib/firebase-sdk.js"></script>
3939
<!-- ACE and its JavaScript mode and theme files - Updated to latest -->
4040
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.33.2/ace.js"></script>
4141
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.33.2/ext-language_tools.js"></script>
4242
<!-- Firepad -->
4343
<script src="https://cdn.firebase.com/libs/firepad/1.4.0/firepad.min.js"></script>
4444
<!-- Code Executor -->
45-
<script src="/scripts/code-executor.js?v=2"></script>
45+
<script src="scripts/code-executor.js?v=2"></script>
4646
<!-- Authentication -->
47-
<script src="/scripts/auth-api.js"></script>
47+
<script src="scripts/auth-api.js"></script>
4848

4949
<!-- Analytics (Optional - Replace with your analytics service) -->
5050
<!--
@@ -66,7 +66,7 @@
6666
<div class="modal-content landing-content atom-card">
6767
<div class="atom-logo-section">
6868
<div class="atom-logo">
69-
<img src="/images/favicon/apple-touch-icon-120x120.png" alt="Atom Tickets" width="80" height="80" style="display: block; margin: 0 auto;">
69+
<img src="images/favicon/apple-touch-icon-120x120.png" alt="Atom Tickets" width="80" height="80" style="display: block; margin: 0 auto;">
7070
</div>
7171
<h1 class="atom-title">OpenCollab Platform</h1>
7272
<p class="atom-subtitle">Real-time Collaborative Coding</p>
@@ -136,7 +136,7 @@ <h3>Login as Interviewer</h3>
136136
<footer class="atom-footer">
137137
<div class="footer-content">
138138
<div style="display: flex; align-items: center; justify-content: center; margin-bottom: 10px;">
139-
<img src="/images/favicon/apple-touch-icon-60x60.png" alt="Atom Tickets" width="30" height="30" style="margin-right: 10px;">
139+
<img src="images/favicon/apple-touch-icon-60x60.png" alt="Atom Tickets" width="30" height="30" style="margin-right: 10px;">
140140
<p style="margin: 0;">Made with ❤️ by <a href="https://www.humancto.com" target="_blank" class="atom-link">HumanCTO</a></p>
141141
</div>
142142
<div class="footer-links">
@@ -706,14 +706,14 @@ <h3 class="custom-modal-title"></h3>
706706
</div>
707707

708708
<!-- Simple Templates (must load before firepad.js) -->
709-
<script src="/scripts/simple-templates.js?v=2"></script>
710-
<script src="/scripts/custom-dialogs.js?v=2"></script>
711-
<script src="/scripts/firepad.js?v=3"></script>
712-
<script src="/scripts/interview-notes.js?v=3"></script>
713-
<script src="/scripts/slack-integration.js?v=4"></script>
714-
<script src="/scripts/posthog-tracking.js?v=2"></script>
715-
<script src="/scripts/session-tracking.js?v=1"></script>
716-
<script src="/scripts/activity-monitor.js?v=1"></script>
717-
<script src="/scripts/app.js?v=3"></script>
709+
<script src="scripts/simple-templates.js?v=2"></script>
710+
<script src="scripts/custom-dialogs.js?v=2"></script>
711+
<script src="scripts/firepad.js?v=3"></script>
712+
<script src="scripts/interview-notes.js?v=3"></script>
713+
<script src="scripts/slack-integration.js?v=4"></script>
714+
<script src="scripts/posthog-tracking.js?v=2"></script>
715+
<script src="scripts/session-tracking.js?v=1"></script>
716+
<script src="scripts/activity-monitor.js?v=1"></script>
717+
<script src="scripts/app.js?v=3"></script>
718718
</body>
719719
</html>

index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
<meta name="description" content="A secure, real-time collaborative coding platform for technical interviews and pair programming. Open source and self-hostable.">
88

99
<!-- Favicons -->
10-
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon/favicon-32x32.png">
11-
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon/favicon-16x16.png">
10+
<link rel="icon" type="image/png" sizes="32x32" href="images/favicon/favicon-32x32.png">
11+
<link rel="icon" type="image/png" sizes="16x16" href="images/favicon/favicon-16x16.png">
1212

1313
<style>
1414
* {

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
"scripts": {
77
"start": "node server.js",
88
"dev": "nodemon server.js",
9+
"serve": "node serve.js",
10+
"preview": "node serve.js",
911
"build": "npm run build:client",
1012
"build:client": "echo 'Client is static, no build needed'",
1113
"deploy": "npm run build && npm start"

serve.js

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
#!/usr/bin/env node
2+
3+
/**
4+
* Simple HTTP server for local development
5+
* This helps view the app with proper CSS and assets loading
6+
*/
7+
8+
const http = require('http');
9+
const fs = require('fs');
10+
const path = require('path');
11+
const url = require('url');
12+
13+
const PORT = 8080;
14+
const MIME_TYPES = {
15+
'.html': 'text/html',
16+
'.css': 'text/css',
17+
'.js': 'text/javascript',
18+
'.json': 'application/json',
19+
'.png': 'image/png',
20+
'.jpg': 'image/jpeg',
21+
'.gif': 'image/gif',
22+
'.svg': 'image/svg+xml',
23+
'.ico': 'image/x-icon'
24+
};
25+
26+
const server = http.createServer((req, res) => {
27+
const parsedUrl = url.parse(req.url);
28+
let pathname = parsedUrl.pathname;
29+
30+
// Default to index.html
31+
if (pathname === '/') {
32+
pathname = '/index.html';
33+
}
34+
35+
const filePath = path.join(__dirname, pathname);
36+
const extname = path.extname(filePath);
37+
const contentType = MIME_TYPES[extname] || 'text/plain';
38+
39+
fs.readFile(filePath, (err, content) => {
40+
if (err) {
41+
if (err.code === 'ENOENT') {
42+
res.writeHead(404);
43+
res.end('File not found');
44+
} else {
45+
res.writeHead(500);
46+
res.end('Server error');
47+
}
48+
} else {
49+
res.writeHead(200, { 'Content-Type': contentType });
50+
res.end(content);
51+
}
52+
});
53+
});
54+
55+
server.listen(PORT, () => {
56+
console.log(`
57+
╔════════════════════════════════════════════════════╗
58+
║ ║
59+
║ 🚀 OpenCollab Development Server ║
60+
║ ║
61+
║ Server running at: ║
62+
║ http://localhost:${PORT}
63+
║ ║
64+
║ Pages: ║
65+
║ • Landing Page: http://localhost:${PORT}/ ║
66+
║ • Application: http://localhost:${PORT}/app.html ║
67+
║ ║
68+
║ Press Ctrl+C to stop ║
69+
║ ║
70+
╚════════════════════════════════════════════════════╝
71+
`);
72+
});

0 commit comments

Comments
 (0)