@screenpipe-ui/tui 0.1.0 → 0.1.2
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.
- package/README.md +38 -0
- package/dist/index.js +14 -3
- package/package.json +8 -3
package/README.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# @screenpipe-ui/tui
|
|
2
|
+
|
|
3
|
+
Interactive terminal UI for [screenpipe](https://github.com/screenpipe/screenpipe), built with Ink (React for terminals).
|
|
4
|
+
|
|
5
|
+
## Quick start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# No install needed
|
|
9
|
+
npx @screenpipe-ui/tui
|
|
10
|
+
bunx @screenpipe-ui/tui
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Keyboard shortcuts
|
|
14
|
+
|
|
15
|
+
| Key | Action |
|
|
16
|
+
|-----|--------|
|
|
17
|
+
| `Tab` | Switch between Search / Timeline / Meetings |
|
|
18
|
+
| `j` / `k` | Navigate down / up |
|
|
19
|
+
| `/` | Focus search input |
|
|
20
|
+
| `Enter` | Expand / select item |
|
|
21
|
+
| `q` | Quit |
|
|
22
|
+
|
|
23
|
+
## Views
|
|
24
|
+
|
|
25
|
+
- **Search** — full-text search across screen captures and audio transcriptions
|
|
26
|
+
- **Timeline** — browse recent activity chronologically
|
|
27
|
+
- **Meetings** — view detected meetings and transcripts
|
|
28
|
+
|
|
29
|
+
## Configuration
|
|
30
|
+
|
|
31
|
+
Connects to `http://localhost:3030` by default. Override with:
|
|
32
|
+
|
|
33
|
+
- `--url <url>` — e.g. `bunx @screenpipe-ui/tui --url http://custom:3030`
|
|
34
|
+
- `SCREENPIPE_BASE_URL` — environment variable
|
|
35
|
+
|
|
36
|
+
## License
|
|
37
|
+
|
|
38
|
+
MIT
|
package/dist/index.js
CHANGED
|
@@ -385,9 +385,12 @@ function StatusBar({ client }) {
|
|
|
385
385
|
// src/app.tsx
|
|
386
386
|
import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
387
387
|
var TABS = ["Search", "Timeline", "Meetings"];
|
|
388
|
-
function App() {
|
|
388
|
+
function App({ baseUrl }) {
|
|
389
389
|
const app = useApp();
|
|
390
|
-
const client = useMemo(
|
|
390
|
+
const client = useMemo(
|
|
391
|
+
() => createClient(baseUrl ? { baseUrl } : void 0),
|
|
392
|
+
[baseUrl]
|
|
393
|
+
);
|
|
391
394
|
const [activeTab, setActiveTab] = useState4("Search");
|
|
392
395
|
useInput4((input, key) => {
|
|
393
396
|
if (input === "q" && !key.ctrl) {
|
|
@@ -425,7 +428,15 @@ function App() {
|
|
|
425
428
|
] });
|
|
426
429
|
}
|
|
427
430
|
|
|
431
|
+
// src/get-base-url.ts
|
|
432
|
+
var DEFAULT = "http://localhost:3030";
|
|
433
|
+
function getBaseUrl(argv = process.argv, env = process.env) {
|
|
434
|
+
const idx = argv.indexOf("--url");
|
|
435
|
+
if (idx !== -1 && argv[idx + 1]) return argv[idx + 1];
|
|
436
|
+
return env.SCREENPIPE_BASE_URL || DEFAULT;
|
|
437
|
+
}
|
|
438
|
+
|
|
428
439
|
// src/index.tsx
|
|
429
440
|
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
430
|
-
var { waitUntilExit } = render(/* @__PURE__ */ jsx7(App, {}));
|
|
441
|
+
var { waitUntilExit } = render(/* @__PURE__ */ jsx7(App, { baseUrl: getBaseUrl() }));
|
|
431
442
|
await waitUntilExit();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@screenpipe-ui/tui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -12,12 +12,17 @@
|
|
|
12
12
|
"dev": "bun run src/index.tsx",
|
|
13
13
|
"build": "tsup src/index.tsx --format esm --target node18 --clean && chmod +x dist/index.js"
|
|
14
14
|
},
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "https://github.com/remoun/screenpipe-ui",
|
|
18
|
+
"directory": "packages/tui"
|
|
19
|
+
},
|
|
15
20
|
"publishConfig": {
|
|
16
21
|
"access": "public"
|
|
17
22
|
},
|
|
18
23
|
"dependencies": {
|
|
19
|
-
"@screenpipe-ui/core": "
|
|
20
|
-
"@screenpipe-ui/react": "
|
|
24
|
+
"@screenpipe-ui/core": "0.1.0",
|
|
25
|
+
"@screenpipe-ui/react": "0.1.0",
|
|
21
26
|
"ink": "^5.1.0",
|
|
22
27
|
"ink-text-input": "^6.0.0",
|
|
23
28
|
"ink-spinner": "^5.0.0",
|