|
8 | 8 | </head> |
9 | 9 | <body> |
10 | 10 | <!-- Dashboard View --> |
11 | | - <div id="dashboard" class="view active"> |
| 11 | + <div id="dashboard-view"> |
12 | 12 | <header> |
13 | 13 | <h1>📋 Project Board</h1> |
14 | | - <button id="newProjectBtn" class="btn-primary">+ New Project</button> |
| 14 | + <button id="create-project-btn" class="primary-btn">+ New Project</button> |
15 | 15 | </header> |
16 | | - |
17 | | - <div id="projectsGrid" class="projects-grid"> |
18 | | - <!-- Projects will be rendered here --> |
19 | | - </div> |
20 | | - |
21 | | - <div id="emptyState" class="empty-state"> |
22 | | - <p>No projects yet. Create your first project!</p> |
23 | | - </div> |
| 16 | + <div id="projects-grid" class="projects-grid"></div> |
24 | 17 | </div> |
25 | 18 |
|
26 | 19 | <!-- Whiteboard View --> |
27 | | - <div id="whiteboard" class="view"> |
| 20 | + <div id="whiteboard-view" class="hidden"> |
28 | 21 | <header class="whiteboard-header"> |
29 | | - <button id="backBtn" class="btn-secondary">← Back</button> |
30 | | - <h2 id="projectTitle">Project Name</h2> |
| 22 | + <button id="back-btn" class="secondary-btn">← Back</button> |
| 23 | + <h2 id="project-title-display">Project Name</h2> |
31 | 24 | <div class="toolbar"> |
32 | | - <button id="addNoteBtn" class="btn-tool" title="Add Sticky Note">📝 Note</button> |
33 | | - <button id="addImageBtn" class="btn-tool" title="Add Image">🖼️ Image</button> |
34 | | - <button id="connectModeBtn" class="btn-tool" title="Connect Notes">🔗 Connect</button> |
| 25 | + <button id="add-note-btn" title="Add Sticky Note">📝 Note</button> |
| 26 | + <button id="add-image-btn" title="Add Image">🖼️ Image</button> |
| 27 | + <input type="file" id="image-upload" accept="image/*" class="hidden"> |
| 28 | + <button id="connect-mode-btn" title="Connect Nodes">🔗 Connect</button> |
| 29 | + <button id="bg-settings-btn" title="Background Settings">🎨 Background</button> |
| 30 | + <button id="undo-btn" title="Undo">↩️ Undo</button> |
| 31 | + <button id="redo-btn" title="Redo">↪️ Redo</button> |
| 32 | + <button id="export-btn" title="Export Project">💾 Export</button> |
| 33 | + <input type="file" id="import-file" accept=".json" class="hidden"> |
| 34 | + <button id="import-btn" title="Import Project">📂 Import</button> |
35 | 35 | </div> |
36 | 36 | </header> |
37 | 37 |
|
38 | | - <div id="canvas" class="canvas"> |
39 | | - <!-- Notes and connections will be rendered here --> |
| 38 | + <div id="canvas-container"> |
| 39 | + <div id="canvas"> |
| 40 | + <div id="canvas-content"></div> |
| 41 | + <svg id="connections-layer"></svg> |
| 42 | + </div> |
| 43 | + </div> |
| 44 | + |
| 45 | + <!-- Formatting Toolbar (appears when text selected) --> |
| 46 | + <div id="format-toolbar" class="hidden"> |
| 47 | + <label>Font Size: |
| 48 | + <select id="font-size-select"> |
| 49 | + <option value="12">12px</option> |
| 50 | + <option value="14">14px</option> |
| 51 | + <option value="16" selected>16px</option> |
| 52 | + <option value="18">18px</option> |
| 53 | + <option value="20">20px</option> |
| 54 | + <option value="24">24px</option> |
| 55 | + <option value="28">28px</option> |
| 56 | + <option value="32">32px</option> |
| 57 | + </select> |
| 58 | + </label> |
| 59 | + <label>Color: |
| 60 | + <input type="color" id="text-color-picker" value="#000000"> |
| 61 | + </label> |
| 62 | + <label>Note Color: |
| 63 | + <input type="color" id="note-color-picker" value="#fef3c7"> |
| 64 | + </label> |
| 65 | + <label>Image Position: |
| 66 | + <select id="image-position-select"> |
| 67 | + <option value="top">Image Top</option> |
| 68 | + <option value="bottom">Image Bottom</option> |
| 69 | + </select> |
| 70 | + </label> |
40 | 71 | </div> |
41 | 72 | </div> |
42 | 73 |
|
43 | 74 | <!-- Create/Edit Project Modal --> |
44 | | - <div id="projectModal" class="modal"> |
| 75 | + <div id="project-modal" class="modal hidden"> |
45 | 76 | <div class="modal-content"> |
46 | | - <h3 id="modalTitle">Create New Project</h3> |
47 | | - <form id="projectForm"> |
48 | | - <div class="form-group"> |
49 | | - <label for="projectName">Project Name</label> |
50 | | - <input type="text" id="projectName" required placeholder="Enter project name"> |
51 | | - </div> |
52 | | - <div class="form-group"> |
53 | | - <label for="projectDescription">Description</label> |
54 | | - <textarea id="projectDescription" rows="4" placeholder="Enter project description"></textarea> |
55 | | - </div> |
56 | | - <div class="modal-actions"> |
57 | | - <button type="button" id="cancelBtn" class="btn-secondary">Cancel</button> |
58 | | - <button type="submit" class="btn-primary">Save</button> |
59 | | - </div> |
60 | | - </form> |
| 77 | + <h3 id="modal-title">Create New Project</h3> |
| 78 | + <input type="text" id="project-name-input" placeholder="Project Name" required> |
| 79 | + <textarea id="project-desc-input" placeholder="Project Description" rows="4"></textarea> |
| 80 | + <div class="modal-buttons"> |
| 81 | + <button id="cancel-project-btn" class="secondary-btn">Cancel</button> |
| 82 | + <button id="save-project-btn" class="primary-btn">Save</button> |
| 83 | + </div> |
61 | 84 | </div> |
62 | 85 | </div> |
63 | 86 |
|
64 | | - <!-- Hidden file input for images --> |
65 | | - <input type="file" id="imageInput" accept="image/*" style="display: none;"> |
| 87 | + <!-- Background Settings Modal --> |
| 88 | + <div id="bg-modal" class="modal hidden"> |
| 89 | + <div class="modal-content"> |
| 90 | + <h3>Background Settings</h3> |
| 91 | + <div class="bg-options"> |
| 92 | + <h4>Preset Backgrounds</h4> |
| 93 | + <div class="preset-grids"> |
| 94 | + <button class="bg-preset" data-bg="none">None</button> |
| 95 | + <button class="bg-preset" data-bg="dots">Dots</button> |
| 96 | + <button class="bg-preset" data-bg="grid">Grid</button> |
| 97 | + <button class="bg-preset" data-bg="lines">Lines</button> |
| 98 | + <button class="bg-preset" data-bg="gradient1">Gradient 1</button> |
| 99 | + <button class="bg-preset" data-bg="gradient2">Gradient 2</button> |
| 100 | + <button class="bg-preset" data-bg="gradient3">Gradient 3</button> |
| 101 | + <button class="bg-preset" data-bg="dark">Dark</button> |
| 102 | + </div> |
| 103 | + <h4>Custom Image</h4> |
| 104 | + <input type="file" id="bg-upload" accept="image/*"> |
| 105 | + <button id="clear-bg-btn" class="secondary-btn">Clear Custom BG</button> |
| 106 | + </div> |
| 107 | + <button id="close-bg-btn" class="primary-btn">Close</button> |
| 108 | + </div> |
| 109 | + </div> |
66 | 110 |
|
67 | 111 | <script src="app.js"></script> |
68 | 112 | </body> |
|
0 commit comments