Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
cf3dee4
Update package.json
nusnuga Feb 19, 2026
6c5e4ca
Update tsconfig.json
nusnuga Feb 19, 2026
89b59e3
Update vite.config.ts
nusnuga Feb 19, 2026
f27b4fc
Update index.html
nusnuga Feb 19, 2026
510e5f4
Create index.js
nusnuga Feb 19, 2026
3172144
Create tokenCatalog.ts
nusnuga Feb 19, 2026
bdd7135
Create format.ts
nusnuga Feb 19, 2026
8a8a226
Create PriceTicker.tsx
nusnuga Feb 19, 2026
5c58341
Create MarketChart.tsx
nusnuga Feb 19, 2026
1d8b6c5
Create DexScanner.tsx
nusnuga Feb 19, 2026
74df96a
Delete ui/collin/src/App.tsx
nusnuga Feb 19, 2026
73bb753
Create App.tsx
nusnuga Feb 19, 2026
19a110f
Create styles.css
nusnuga Feb 19, 2026
3149673
Update vite.config.ts
nusnuga Feb 19, 2026
ac93c71
Update vite.config.ts
nusnuga Feb 19, 2026
b5efa73
Delete ui/collin/server/index.js
nusnuga Feb 19, 2026
42ee998
Create index.js
nusnuga Feb 19, 2026
a4613e5
Update vite.config.ts
nusnuga Feb 19, 2026
802c6d4
Delete ui/collin/src/App.tsx
nusnuga Feb 19, 2026
23d9e3b
Create App.tsx
nusnuga Feb 19, 2026
aa49c6f
Update styles.css
nusnuga Feb 19, 2026
f0d848f
Update PriceTicker.tsx
nusnuga Feb 19, 2026
e6e6dad
Update MarketChart.tsx
nusnuga Feb 19, 2026
cd9aa5a
Update DexScanner.tsx
nusnuga Feb 19, 2026
3b60913
Update index.html
nusnuga Feb 19, 2026
29736bd
Update main.tsx
nusnuga Feb 19, 2026
61d4062
Update package.json
nusnuga Feb 19, 2026
60eed3f
Update App.tsx
nusnuga Feb 19, 2026
49aa2f1
Update PriceTicker.tsx
nusnuga Feb 19, 2026
d6e5b43
Update MarketChart.tsx
nusnuga Feb 19, 2026
41b9330
Update DexScanner.tsx
nusnuga Feb 19, 2026
eacca01
Update app.css
nusnuga Feb 19, 2026
c3669e1
Update package.json
nusnuga Feb 19, 2026
dd5b711
Update App.tsx
nusnuga Feb 19, 2026
e9f97ac
Update app.css
nusnuga Feb 19, 2026
2724579
Update index.js
nusnuga Feb 19, 2026
25c3e09
Update index.js
nusnuga Feb 19, 2026
72250b0
Update README.md
nusnuga Feb 19, 2026
e9ac051
Update README.md
nusnuga Feb 19, 2026
4c7360c
Update SKILL.md
nusnuga Feb 19, 2026
5cb572b
Create .keep
nusnuga Feb 19, 2026
8bc4efb
Update README.md
nusnuga Feb 19, 2026
43629cb
Add files via upload
nusnuga Feb 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,088 changes: 79 additions & 1,009 deletions README.md

Large diffs are not rendered by default.

1,807 changes: 61 additions & 1,746 deletions SKILL.md

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions assets/.keep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Binary file added assets/1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/3.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 1 addition & 2 deletions ui/collin/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>collin</title>
<title>SC-BRIDGE TERMINAL</title>
</head>
<body>
<div id="root"></div>
Expand Down
11 changes: 6 additions & 5 deletions ui/collin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,22 @@
"dependencies": {
"@tanstack/react-virtual": "^3.13.18",
"idb": "^8.0.3",
"react": "^19.2.0",
"react-dom": "^19.2.0"
"lightweight-charts": "^4.2.0",
"react": "18.3.1",
"react-dom": "18.3.1"
},
"devDependencies": {
"@eslint/js": "^9.39.1",
"@types/node": "^24.10.1",
"@types/react": "^19.2.5",
"@types/react-dom": "^19.2.3",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"@vitejs/plugin-react": "^5.1.1",
"eslint": "^9.39.1",
"eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-react-refresh": "^0.4.24",
"globals": "^16.5.0",
"typescript": "~5.9.3",
"typescript-eslint": "^8.46.4",
"vite": "^7.2.4"
"vite": "^6.4.1"
}
}
68 changes: 68 additions & 0 deletions ui/collin/server/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
import http from "http";
import { URL } from "url";

const PORT = 8787;
const HOST = "127.0.0.1";

async function fetchJSON(url) {
const r = await fetch(url, {
headers: {
"accept": "application/json"
}
});
return await r.json();
}

function send(res, code, obj) {
res.writeHead(code, {
"content-type": "application/json",
"access-control-allow-origin": "*"
});
res.end(JSON.stringify(obj));
}

const server = http.createServer(async (req, res) => {
try {
const url = new URL(req.url, `http://${req.headers.host}`);

// ✅ HEALTH
if (url.pathname === "/api/health") {
return send(res, 200, { ok: true });
}

// ✅ SIMPLE PRICE
if (url.pathname === "/api/coingecko/simple_price") {
const ids = url.searchParams.get("ids");
const vs = url.searchParams.get("vs") || "usd";

const data = await fetchJSON(
`https://api.coingecko.com/api/v3/simple/price?ids=${ids}&vs_currencies=${vs}&include_24hr_change=true`
);

return send(res, 200, { ok: true, data });
}

// ✅ MARKET CHART
if (url.pathname === "/api/coingecko/market_chart") {
const id = url.searchParams.get("id");
const vs = url.searchParams.get("vs") || "usd";
const days = url.searchParams.get("days") || "7";

const data = await fetchJSON(
`https://api.coingecko.com/api/v3/coins/${id}/market_chart?vs_currency=${vs}&days=${days}`
);

return send(res, 200, { ok: true, data });
}

// ❌ fallback
return send(res, 404, { ok: false, error: "Not found" });

} catch (e) {
return send(res, 500, { ok: false, error: String(e.message) });
}
});

server.listen(PORT, HOST, () => {
console.log(`[SC-BRIDGE] API listening on http://${HOST}:${PORT}`);
});
Loading