@saluzi/saluzi-edu 0.1.76 → 0.1.77

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
  }
@@ -140,19 +140,45 @@
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: -1px;
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;
@@ -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.77",
4
4
  "description": "Saluzi CLI - interactive AI coding assistant in the terminal",
5
5
  "license": "MIT",
6
6
  "type": "module",