-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcode_write.html
More file actions
93 lines (83 loc) · 4.22 KB
/
Copy pathcode_write.html
File metadata and controls
93 lines (83 loc) · 4.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>DevScribe | Editor</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://unpkg.com/lucide@latest"></script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<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=Manrope:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="/css/code_write.css">
</head>
<body>
<div class="main-container">
<div class="sidebar-left">
<div class="sidebar-nav-header px-3 pt-3 pb-2 border-bottom border-secondary mb-3">
<a href="/" class="text-decoration-none d-flex align-items-center gap-2 mb-2 text-secondary hover-white">
<i data-lucide="arrow-left" style="width: 16px;"></i>
<span style="font-size: 0.9rem; font-weight: 600;">Back to Home</span>
</a>
<div class="d-flex align-items-center justify-content-between mt-3">
<span id="project-title-text" class="fw-bold">Project</span>
<span id="math-mode-indicator" style="display: none;" class="math-badge">Math</span>
</div>
</div>
<div class="px-3 mb-3">
<label class="text-secondary mb-1" style="font-size: 0.75rem; text-transform: uppercase;">Switch Project</label>
<select class="form-select form-select-sm bg-dark text-light border-secondary" id="project-switcher">
<option value="" disabled selected>Select project...</option>
</select>
</div>
<div class="loading-spinner" id="loading-spinner">
<i data-lucide="loader-2" style="animation: spin 1s linear infinite;"></i>
</div>
<div class="tree-container" id="folder-tree"></div>
</div>
<div class="editor-section">
<div class="editor-header d-flex justify-content-between align-items-center px-3">
<div class="file-name" id="current-file-name">Select a file</div>
<div class="editor-header-buttons d-flex gap-2">
<button class="btn-voice action-btn" id="save-btn">
<i data-lucide="save" style="width: 14px;"></i> <span>Save</span>
</button>
<button class="btn-voice action-btn btn-preview" id="preview-btn">
<i data-lucide="eye" style="width: 14px;"></i> <span>Preview</span>
</button>
</div>
</div>
<div class="editor-container">
<div class="line-numbers" id="line-numbers">1</div>
<textarea class="code-editor" id="code-editor" placeholder="Select a file..." spellcheck="false"></textarea>
</div>
</div>
<div class="sidebar-right">
<div class="sidebar-title">AI Assistant</div>
<div class="input-section">
<textarea class="voice-textarea" id="voice-input" placeholder="Describe changes..."></textarea>
<div class="controls-container">
<button class="btn-voice" id="mic-btn"><i data-lucide="mic"></i></button>
<button class="btn-send" id="send-btn" disabled><i data-lucide="send"></i></button>
</div>
</div>
</div>
</div>
<div class="modal-overlay" id="preview-modal-overlay" style="display: none">
<div class="modal-content">
<div class="modal-header d-flex justify-content-between p-3 border-bottom border-secondary">
<h5 class="modal-title m-0" id="modal-project-title">Preview</h5>
<button class="btn-close btn-close-white" id="modal-close-btn"></button>
</div>
<div class="modal-body flex-grow-1"><iframe id="preview-iframe"></iframe></div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script src="/js/code_write.js"></script>
<script>
// Initialize icons
lucide.createIcons();
</script>
</body>
</html>