@saluzi/saluzi-edu 0.1.76 → 0.1.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -201,20 +201,17 @@ function buildSessionRow(s, kind) {
201
201
  } else {
202
202
  text.textContent = promptText || '(running)'
203
203
  }
204
- row.appendChild(text)
205
-
206
- // Jump-to-terminal icon — appears on hover, sends focus request via WS
204
+ // Jump-to-terminal dot — placed at left indicator, morphs into ▸ on hover
207
205
  var jump = document.createElement('span')
208
206
  jump.className = 'session-jump'
209
- jump.textContent = '\u25B8' // ▸
210
- jump.title = 'Jump to terminal'
211
207
  jump.addEventListener('click', function (e) {
212
208
  e.stopPropagation()
213
209
  if (ws && ws.readyState === WebSocket.OPEN) {
214
210
  ws.send(JSON.stringify({ type: 'focus', pid: s.pid }))
215
211
  }
216
212
  })
217
- row.appendChild(jump)
213
+ row.appendChild(text)
214
+ row.insertBefore(jump, row.firstChild)
218
215
 
219
216
  return row
220
217
  }
@@ -244,6 +241,7 @@ if (window.parade && typeof window.parade.startDrag === 'function') {
244
241
  if (e.button !== 0) return // left button only
245
242
  if (e.target.closest('#ctx-menu')) return // don't drag from menu
246
243
  if (e.target.closest('#close-btn')) return // don't drag from close btn
244
+ if (e.target.closest('.session-jump')) return // don't drag from jump dot
247
245
  var cornerEl = e.target.closest('[data-corner]')
248
246
  if (cornerEl && typeof window.parade.startResize === 'function') {
249
247
  window.parade.startResize(cornerEl.dataset.corner)
@@ -127,7 +127,7 @@
127
127
  font-size: 10.5px;
128
128
  line-height: 1.35;
129
129
  color: var(--text-dim);
130
- padding: 2px 0 2px 9px;
130
+ padding: 2px 0 2px 14px;
131
131
  position: relative;
132
132
  font-variant-numeric: tabular-nums;
133
133
  display: flex;
@@ -140,25 +140,51 @@
140
140
  white-space: nowrap;
141
141
  min-width: 0;
142
142
  }
143
- .session-row::before {
144
- content: '';
143
+ .session-jump {
145
144
  position: absolute;
146
145
  left: 0; top: 50%;
147
146
  transform: translateY(-50%);
147
+ width: 12px; height: 12px;
148
+ cursor: pointer;
149
+ display: flex;
150
+ align-items: center;
151
+ justify-content: center;
152
+ color: transparent;
153
+ font-size: 0;
154
+ transition: all 0.15s ease;
155
+ }
156
+ .session-jump::before {
157
+ content: '';
148
158
  width: 4px; height: 4px;
149
159
  border-radius: 50%;
150
160
  background: var(--purple);
161
+ transition: all 0.15s ease;
151
162
  }
152
- .session-row.running::before { background: var(--purple); }
153
- .session-row.blocked::before { background: var(--amber); }
163
+ .session-jump:hover {
164
+ color: var(--purple-soft);
165
+ font-size: 12px;
166
+ left: -3px;
167
+ }
168
+ .session-jump:hover::before {
169
+ content: '\25B8';
170
+ width: auto; height: auto;
171
+ border-radius: 0;
172
+ background: none;
173
+ color: inherit;
174
+ font-size: inherit;
175
+ }
176
+ .session-row.blocked .session-jump::before { background: var(--amber); }
177
+ .session-row.blocked .session-jump:hover { color: #c9a96a; }
178
+ .session-row.idle .session-jump::before { background: var(--text-faint); opacity: 0.5; }
179
+ .session-row.idle .session-jump:hover { color: var(--purple-soft); opacity: 1; }
180
+ .session-row.idle .session-jump:hover::before { opacity: 1; }
154
181
  .session-row.blocked { color: #c9a96a; }
155
- .session-row.idle::before { background: var(--text-faint); opacity: 0.5; }
156
182
  .session-row.idle { color: var(--text-faint); font-style: italic; }
157
183
  .session-empty {
158
184
  font-size: 10px;
159
185
  color: var(--text-faint);
160
186
  font-style: italic;
161
- padding-left: 9px;
187
+ padding-left: 14px;
162
188
  }
163
189
 
164
190
  #more-line {
@@ -251,20 +277,6 @@
251
277
  transform: scale(1.15);
252
278
  }
253
279
 
254
- /* ---- Session jump icon ---- */
255
- .session-jump {
256
- display: inline-block;
257
- margin-left: auto;
258
- padding-left: 4px;
259
- cursor: pointer;
260
- opacity: 0;
261
- color: var(--purple-soft);
262
- font-size: 9px;
263
- transition: opacity 0.15s;
264
- flex-shrink: 0;
265
- }
266
- .session-row:hover .session-jump { opacity: 0.7; }
267
- .session-row:hover .session-jump:hover { opacity: 1; }
268
280
  </style>
269
281
  </head>
270
282
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saluzi/saluzi-edu",
3
- "version": "0.1.76",
3
+ "version": "0.1.78",
4
4
  "description": "Saluzi CLI - interactive AI coding assistant in the terminal",
5
5
  "license": "MIT",
6
6
  "type": "module",