+1
-1
@@ -63,5 +63,5 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime"; | ||
| const firstInCategory = index === 0 || catalog[index - 1].category !== item.category; | ||
| const metadata = item.category === "Apps" ? (_jsxs(_Fragment, { children: [item.entry.platforms.map((platform) => PLATFORM_LABELS[platform]).join(" · "), " ", "\u00B7", " ", _jsx(Text, { color: item.entry.status === "beta" ? "#e5b674" : "#ffffff", children: item.entry.status })] })) : null; | ||
| const metadata = item.category === "Apps" ? (_jsxs(_Fragment, { children: [item.entry.platforms.map((platform) => PLATFORM_LABELS[platform]).join(" · "), " ", "\u00B7", " ", _jsx(Text, { color: item.entry.status === "available" ? "#ffffff" : "#e5b674", children: item.entry.status === "coming-soon" ? "coming soon" : item.entry.status })] })) : null; | ||
| return (_jsxs(React.Fragment, { children: [firstInCategory ? (_jsx(Box, { marginTop: index === 0 ? 0 : 1, children: _jsx(Text, { bold: true, color: "whiteBright", children: item.category }) })) : null, _jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: active ? ACCENT : "gray", children: active ? "❯ " : " " }), _jsx(Text, { bold: true, color: active ? ACCENT : "gray", wrap: "truncate-end", children: item.entry.title }), item.category === "Open Source" ? (_jsxs(Text, { color: "gray", children: [" \u2605 ", item.entry.stars.toLocaleString("en-US")] })) : null] }), active ? (_jsxs(Box, { marginLeft: 2, flexDirection: "column", minWidth: 0, children: [_jsx(Text, { color: "gray", dimColor: true, wrap: "truncate-end", children: item.entry.description }), metadata ? (_jsx(Text, { color: "#ffffff", wrap: "truncate-end", children: metadata })) : null] })) : null] })] }, `${item.category}:${item.entry.slug}`)); | ||
| }) })] }), terminalColumns >= 64 ? (_jsx(Box, { width: 28, height: 14, justifyContent: "flex-end", children: _jsx(SignalField, { columns: 26, rows: 14 }) })) : null] }), _jsx(Box, { marginTop: 1, minWidth: 0, children: _jsxs(Text, { color: "gray", dimColor: true, wrap: "truncate-end", children: ["\u2191/\u2193/ctrl+n/p navigate \u00B7 \u21B5 open ", current.entry.url, " \u00B7 q quit"] }) })] })); | ||
| }; |
+3
-3
| const SITE_URL = "https://ecklf.com"; | ||
| const API_URL = `${SITE_URL}/api/portfolio/v1`; | ||
| const PLATFORMS = new Set(["ios", "android", "watchos", "macos"]); | ||
| const APP_STATUSES = new Set(["available", "beta"]); | ||
| const APP_STATUSES = new Set(["available", "beta", "coming-soon"]); | ||
| /** Last-known-good portfolio snapshot, bundled for offline use. */ | ||
@@ -30,3 +30,3 @@ const FALLBACK = { | ||
| platforms: ["ios"], | ||
| status: "beta", | ||
| status: "coming-soon", | ||
| }, | ||
@@ -39,3 +39,3 @@ { | ||
| platforms: ["ios", "watchos", "macos"], | ||
| status: "beta", | ||
| status: "coming-soon", | ||
| }, | ||
@@ -42,0 +42,0 @@ ], |
+1
-1
| { | ||
| "name": "ecklf", | ||
| "version": "1.0.5", | ||
| "version": "1.0.6", | ||
| "description": "A terminal UI for ecklf.com: browse apps and open source projects with an animated Braille signal field.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
21577
0.41%