Files
SuperCharged-Claude-Code-Up…/skills/dev-browser/extension/entrypoints/popup/main.ts
uroma 7a491b1548 SuperCharge Claude Code v1.0.0 - Complete Customization Package
Features:
- 30+ Custom Skills (cognitive, development, UI/UX, autonomous agents)
- RalphLoop autonomous agent integration
- Multi-AI consultation (Qwen)
- Agent management system with sync capabilities
- Custom hooks for session management
- MCP servers integration
- Plugin marketplace setup
- Comprehensive installation script

Components:
- Skills: always-use-superpowers, ralph, brainstorming, ui-ux-pro-max, etc.
- Agents: 100+ agents across engineering, marketing, product, etc.
- Hooks: session-start-superpowers, qwen-consult, ralph-auto-trigger
- Commands: /brainstorm, /write-plan, /execute-plan
- MCP Servers: zai-mcp-server, web-search-prime, web-reader, zread
- Binaries: ralphloop wrapper

Installation: ./supercharge.sh
2026-01-22 15:35:55 +00:00

53 lines
1.5 KiB
TypeScript

import type { GetStateMessage, SetStateMessage, StateResponse } from "../../utils/types";
const toggle = document.getElementById("active-toggle") as HTMLInputElement;
const statusText = document.getElementById("status-text") as HTMLSpanElement;
const connectionStatus = document.getElementById("connection-status") as HTMLParagraphElement;
function updateUI(state: StateResponse): void {
toggle.checked = state.isActive;
statusText.textContent = state.isActive ? "Active" : "Inactive";
if (state.isActive) {
connectionStatus.textContent = state.isConnected ? "Connected to relay" : "Connecting...";
connectionStatus.className = state.isConnected
? "connection-status connected"
: "connection-status connecting";
} else {
connectionStatus.textContent = "";
connectionStatus.className = "connection-status";
}
}
function refreshState(): void {
chrome.runtime.sendMessage<GetStateMessage, StateResponse>({ type: "getState" }, (response) => {
if (response) {
updateUI(response);
}
});
}
// Load initial state
refreshState();
// Poll for state updates while popup is open
const pollInterval = setInterval(refreshState, 1000);
// Clean up on popup close
window.addEventListener("unload", () => {
clearInterval(pollInterval);
});
// Handle toggle changes
toggle.addEventListener("change", () => {
const isActive = toggle.checked;
chrome.runtime.sendMessage<SetStateMessage, StateResponse>(
{ type: "setState", isActive },
(response) => {
if (response) {
updateUI(response);
}
}
);
});