Skip to content

Commit 70244cc

Browse files
Merge pull request #45 from thefirehacker/3.5.0_Playground
3.5.0 playground
2 parents 589259a + 014561b commit 70244cc

File tree

16 files changed

+3349
-92
lines changed

16 files changed

+3349
-92
lines changed

Canvas.html

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
worker-src 'self' blob: data:;
1414
object-src 'none';
1515
">
16-
<title>Playground - TimeCapsule-SLM</title>
16+
<title>Canvas - TimeCapsule-SLM</title>
1717
<link rel="icon" type="image/png" href="lib/Media/TimeCapsule_04.png">
1818
<link rel="shortcut icon" type="image/png" href="lib/Media/TimeCapsule_04.png">
1919
<style>
@@ -1283,9 +1283,21 @@ <h3>🎮 Controls</h3>
12831283
window.AppConfig.initializeGA4();
12841284

12851285
// Track initial page view
1286-
window.AppConfig.trackPageView('Playground - TimeCapsule-SLM', window.location.href);
1286+
window.AppConfig.trackPageView('Canvas Playground - TimeCapsule-SLM', window.location.href);
12871287
}
12881288

1289+
// Initialize second navbar for Canvas page
1290+
setTimeout(() => {
1291+
if (window.SecondNavbar) {
1292+
window.SecondNavbar.init('canvas', true); // Force reload to override auto-detection
1293+
1294+
// Update header AI status after navbar is initialized
1295+
setTimeout(() => {
1296+
updateHeaderAIStatus();
1297+
}, 100);
1298+
}
1299+
}, 300);
1300+
12891301
// Set initial status message for Ollama default
12901302
setTimeout(() => {
12911303
if (typeof updateStatus === 'function') {
@@ -1816,6 +1828,12 @@ <h4 style="color: white; margin-bottom: 10px;">📈 Performance Metrics</h4>
18161828
const connectBtn = document.getElementById('initAIBtn');
18171829
const disconnectBtn = document.getElementById('disconnectAIBtn');
18181830

1831+
// Check if header elements exist (second navbar may not be initialized yet)
1832+
if (!headerStatus) {
1833+
console.log('Header status element not found - second navbar may not be initialized yet');
1834+
return;
1835+
}
1836+
18191837
if (aiSession) {
18201838
if (aiSession.type === 'qwen') {
18211839
headerStatus.textContent = '🧠 Qwen2.5 Connected';
@@ -1830,13 +1848,13 @@ <h4 style="color: white; margin-bottom: 10px;">📈 Performance Metrics</h4>
18301848
headerStatus.textContent = `🦙 Ollama Connected`;
18311849
headerStatus.style.color = '#4CAF50';
18321850
}
1833-
connectBtn.style.display = 'none';
1834-
disconnectBtn.style.display = 'inline-block';
1851+
if (connectBtn) connectBtn.style.display = 'none';
1852+
if (disconnectBtn) disconnectBtn.style.display = 'inline-block';
18351853
} else {
18361854
headerStatus.textContent = 'AI Integration';
18371855
headerStatus.style.color = 'rgba(255,255,255,0.85)';
1838-
connectBtn.style.display = 'inline-block';
1839-
disconnectBtn.style.display = 'none';
1856+
if (connectBtn) connectBtn.style.display = 'inline-block';
1857+
if (disconnectBtn) disconnectBtn.style.display = 'none';
18401858
}
18411859
}
18421860

@@ -4382,8 +4400,8 @@ <h3>🎨 Creative Chat Context</h3>
43824400
window.runSketch(editorInstance.getValue());
43834401
}, 1000);
43844402

4385-
// Initialize header AI status
4386-
updateHeaderAIStatus();
4403+
// Header AI status will be initialized after second navbar loads
4404+
// (moved to second navbar initialization to avoid null reference errors)
43874405

43884406
// Make dev logger globally available
43894407
window.devModeActive = devModeActive;

DeepResearch.html

Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -768,6 +768,195 @@
768768
color: rgba(255, 255, 255, 0.7);
769769
}
770770

771+
/* Troubleshooting Modal Styles */
772+
.troubleshooting-modal {
773+
position: fixed;
774+
top: 0;
775+
left: 0;
776+
width: 100%;
777+
height: 100%;
778+
background: rgba(0, 0, 0, 0.8);
779+
backdrop-filter: blur(5px);
780+
z-index: 5000;
781+
display: flex;
782+
align-items: center;
783+
justify-content: center;
784+
padding: 20px;
785+
box-sizing: border-box;
786+
opacity: 1;
787+
}
788+
789+
.troubleshooting-content {
790+
background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
791+
backdrop-filter: blur(20px);
792+
border-radius: 20px;
793+
padding: 30px;
794+
max-width: 800px;
795+
max-height: 90vh;
796+
overflow-y: auto;
797+
border: 1px solid rgba(255, 255, 255, 0.2);
798+
box-shadow: 0 8px 32px rgba(31, 38, 135, 0.37);
799+
color: white;
800+
position: relative;
801+
}
802+
803+
.troubleshooting-header {
804+
display: flex;
805+
justify-content: space-between;
806+
align-items: center;
807+
margin-bottom: 20px;
808+
padding-bottom: 15px;
809+
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
810+
}
811+
812+
.troubleshooting-header h2 {
813+
margin: 0;
814+
color: #ff6b6b;
815+
font-size: 24px;
816+
}
817+
818+
.close-modal {
819+
background: rgba(255, 69, 0, 0.7);
820+
color: white;
821+
border: none;
822+
border-radius: 50%;
823+
width: 35px;
824+
height: 35px;
825+
cursor: pointer;
826+
font-size: 18px;
827+
font-weight: bold;
828+
transition: all 0.3s ease;
829+
}
830+
831+
.close-modal:hover {
832+
background: rgba(255, 69, 0, 0.9);
833+
transform: scale(1.1);
834+
}
835+
836+
.error-details {
837+
background: rgba(255, 69, 0, 0.1);
838+
border: 1px solid rgba(255, 69, 0, 0.3);
839+
border-radius: 10px;
840+
padding: 15px;
841+
margin-bottom: 20px;
842+
}
843+
844+
.error-details p {
845+
margin: 0;
846+
color: #ff6b6b;
847+
font-family: monospace;
848+
font-size: 14px;
849+
}
850+
851+
.troubleshooting-steps h3 {
852+
color: #4facfe;
853+
margin-bottom: 15px;
854+
font-size: 18px;
855+
}
856+
857+
.command-group {
858+
margin-bottom: 20px;
859+
padding: 15px;
860+
background: rgba(255, 255, 255, 0.05);
861+
border-radius: 10px;
862+
border: 1px solid rgba(255, 255, 255, 0.1);
863+
}
864+
865+
.command-group h4 {
866+
color: #fff;
867+
margin-bottom: 10px;
868+
font-size: 16px;
869+
}
870+
871+
.command-box {
872+
display: flex;
873+
align-items: center;
874+
gap: 10px;
875+
margin: 10px 0;
876+
padding: 10px;
877+
background: rgba(0, 0, 0, 0.3);
878+
border-radius: 8px;
879+
border: 1px solid rgba(255, 255, 255, 0.1);
880+
}
881+
882+
.command-box code {
883+
flex: 1;
884+
color: #00ff88;
885+
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
886+
font-size: 14px;
887+
background: transparent;
888+
padding: 0;
889+
}
890+
891+
.copy-btn {
892+
background: linear-gradient(45deg, #4facfe 0%, #00f2fe 100%);
893+
color: white;
894+
border: none;
895+
border-radius: 6px;
896+
padding: 6px 12px;
897+
font-size: 12px;
898+
cursor: pointer;
899+
transition: all 0.3s ease;
900+
}
901+
902+
.copy-btn:hover {
903+
transform: translateY(-1px);
904+
box-shadow: 0 4px 8px rgba(79, 172, 254, 0.4);
905+
}
906+
907+
.command-note {
908+
color: rgba(255, 255, 255, 0.7);
909+
font-size: 12px;
910+
margin: 5px 0;
911+
font-style: italic;
912+
}
913+
914+
.troubleshooting-checklist {
915+
margin: 20px 0;
916+
padding: 15px;
917+
background: rgba(76, 175, 80, 0.1);
918+
border: 1px solid rgba(76, 175, 80, 0.3);
919+
border-radius: 10px;
920+
}
921+
922+
.troubleshooting-checklist h3 {
923+
color: #4caf50;
924+
margin-bottom: 10px;
925+
}
926+
927+
.troubleshooting-checklist ul {
928+
list-style: none;
929+
padding: 0;
930+
}
931+
932+
.troubleshooting-checklist li {
933+
color: rgba(255, 255, 255, 0.8);
934+
margin: 8px 0;
935+
font-size: 14px;
936+
}
937+
938+
.troubleshooting-checklist a {
939+
color: #4facfe;
940+
text-decoration: none;
941+
}
942+
943+
.troubleshooting-checklist a:hover {
944+
text-decoration: underline;
945+
}
946+
947+
.troubleshooting-actions {
948+
display: flex;
949+
gap: 10px;
950+
margin-top: 20px;
951+
flex-wrap: wrap;
952+
}
953+
954+
.troubleshooting-actions .btn {
955+
flex: 1;
956+
min-width: 120px;
957+
margin: 0;
958+
}
959+
771960
/* User Agreement Modal Styles */
772961
.user-agreement-modal {
773962
position: fixed;

0 commit comments

Comments
 (0)