Command Platform
Authorized Access Only
Invalid credentials. Access denied.
This platform is restricted to authorized Empower Capital personnel only.
All access is logged and monitored.
EC
Empower Capital
Performance
Content Calendar
Document Terminal
Clients
Saved
EC
user
Empower Capital — Trading
Performance Dashboard
Saved
Balance
Initial: —
Total Return
— sessions
Win Rate
—W / —L
Max Drawdown
Limit: —
AI Performance Intelligence
Create an account and log sessions to activate insights.
Total Fund Allocation
Total Funds In
$0.00
0 deposits
Total Funds Out
$0.00
0 withdrawals
Net Allocation
$0.00
Net deployed capital
$0 deployed$0 total raised
No allocation entries yet. Click + Add Entry to log funds.
Target Progress
Set targets to track progress.
Equity Curve
Recent Sessions
DateBalanceP&LReturnW/LRiskStatus
No sessions logged.
Log Trading Session
Session History
DateAccountP&LReturnW/L
No sessions yet.
This Month
This Week
All Time
Total Trades
Avg Risk
Profit Factor
Best Session
Equity Curve
Daily P&L
Drawdown
Win Rate Trend
Monthly Returns
Empower Capital — Content
Calendar
Empower Capital — Documents
All Files
All
PDF
PPT
Excel
Doc
Empower Capital — Clients
Client Portal Management
Each client gets access to their own portal at portal.empowercapital.pro/client-portal.html. When you add sessions or update performance, click Sync to Portal — or it syncs automatically every 30 seconds. Clients log in with their own email & password and see only their data.
Document

No preview available

Download the file to view it
function openSyncSettings() { document.getElementById('syncSettingsModal').classList.add('open'); const u = document.getElementById('sb-url'), k = document.getElementById('sb-key'); if(u) u.value = localStorage.getItem('ec-sb-url')||''; if(k) k.value = localStorage.getItem('ec-sb-key')||''; } function closeSyncSettings() { document.getElementById('syncSettingsModal').classList.remove('open'); } function fillCredentials() { const u = document.getElementById('sb-url'), k = document.getElementById('sb-key'); if(u) u.value = 'https://yliwpelriwmqrpatsgxv.supabase.co'; if(k) k.value = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InlsaXdwZWxyaXdtcXJwYXRzZ3h2Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3Nzc1NzU3NjMsImV4cCI6MjA5MzE1MTc2M30.7jZgRIDqpi0_Yptj28PtulTQhXkiDNLuaVUU5YLFVvU'; testAndSync(); } async function testAndSync() { const url = (document.getElementById('sb-url')||{}).value||''; const key = (document.getElementById('sb-key')||{}).value||''; const status = document.getElementById('sbConnectStatus'); if (!url || !key) { if(status){status.textContent='⚠ Enter URL and key'; status.style.color='var(--am)';} return; } try { localStorage.setItem('ec-sb-url', url); localStorage.setItem('ec-sb-key', key); } catch(e) {} if(status){status.textContent='Connecting...'; status.style.color='var(--dim)';} if (!initSupabase()) { if(status){status.textContent='✗ Failed to init client'; status.style.color='var(--ru)';} return; } const u2 = await sbSignIn(currentUser.email, currentUser.sbpass||currentUser.password); if (!u2) { if(status){status.textContent='✗ Auth failed — add user in Supabase Auth first'; status.style.color='var(--ru)';} return; } if(status){status.textContent='Uploading data...'; status.style.color='var(--am)';} await syncToCloud(); if(status){status.textContent='✓ Connected & synced!'; status.style.color='var(--em)';} const badge = document.getElementById('cloudSyncBadge'); if(badge){badge.style.display='inline'; badge.style.color='var(--em)'; badge.style.borderColor='rgba(58,154,106,0.3)';} const sbStatus = document.getElementById('sbSyncStatus'); if(sbStatus){sbStatus.textContent='☁ Connected'; sbStatus.style.color='var(--em)';} const ss = document.getElementById('syncStatus'); if(ss){ss.textContent='Cloud sync ✓'; setTimeout(()=>{ss.textContent='';},4000);} showToast('Cloud sync active — data syncs across all devices','ok'); } function copySchema() { const schema = `-- Run this in Supabase SQL Editor (supabase.com → your project → SQL Editor → New Query) CREATE TABLE ec_perf (id UUID DEFAULT gen_random_uuid() PRIMARY KEY, user_id UUID REFERENCES auth.users ON DELETE CASCADE NOT NULL UNIQUE, data TEXT, updated_at TIMESTAMPTZ DEFAULT NOW()); CREATE TABLE ec_cal (id UUID DEFAULT gen_random_uuid() PRIMARY KEY, user_id UUID REFERENCES auth.users ON DELETE CASCADE NOT NULL UNIQUE, data TEXT, updated_at TIMESTAMPTZ DEFAULT NOW()); CREATE TABLE ec_alloc (id UUID DEFAULT gen_random_uuid() PRIMARY KEY, user_id UUID REFERENCES auth.users ON DELETE CASCADE NOT NULL UNIQUE, data TEXT, updated_at TIMESTAMPTZ DEFAULT NOW()); CREATE TABLE ec_term (id UUID DEFAULT gen_random_uuid() PRIMARY KEY, user_id UUID REFERENCES auth.users ON DELETE CASCADE NOT NULL UNIQUE, data TEXT, updated_at TIMESTAMPTZ DEFAULT NOW()); ALTER TABLE ec_perf ENABLE ROW LEVEL SECURITY; ALTER TABLE ec_cal ENABLE ROW LEVEL SECURITY; ALTER TABLE ec_alloc ENABLE ROW LEVEL SECURITY; ALTER TABLE ec_term ENABLE ROW LEVEL SECURITY; CREATE POLICY "own" ON ec_perf FOR ALL USING (auth.uid()=user_id) WITH CHECK (auth.uid()=user_id); CREATE POLICY "own" ON ec_cal FOR ALL USING (auth.uid()=user_id) WITH CHECK (auth.uid()=user_id); CREATE POLICY "own" ON ec_alloc FOR ALL USING (auth.uid()=user_id) WITH CHECK (auth.uid()=user_id); CREATE POLICY "own" ON ec_term FOR ALL USING (auth.uid()=user_id) WITH CHECK (auth.uid()=user_id); -- Storage RLS (run after creating ec-files bucket): CREATE POLICY "own_files" ON storage.objects FOR ALL TO authenticated USING (bucket_id='ec-files' AND auth.uid()::text=(storage.foldername(name))[1]);`; navigator.clipboard.writeText(schema) .then(()=>showToast('SQL schema copied — paste in Supabase SQL Editor','ok')) .catch(()=>showToast('Copy failed — use the setup guide below','warn')); }