22 lines
1.9 KiB
HTML
22 lines
1.9 KiB
HTML
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>MiniVLESS — UI test fixture</title></head><body><div id="root"></div><script type="module">
|
|
// Development-only IPC fixture. Not referenced by index.html or included in production.
|
|
import { mockIPC, mockWindows } from '@tauri-apps/api/mocks';
|
|
let prefs = {vless_url:'vless://test-fixture',applications:['/usr/bin/telegram-desktop','/opt/discord/Discord'],custom_applications:[],split_tunneling:true};
|
|
let status = {phase:'Disconnected',error:null,split_tunneling:true,applications:[]};
|
|
const apps=[{name:'Telegram',executable:'/usr/bin/telegram-desktop',running:true,pid:1},{name:'Discord',executable:'/opt/discord/Discord',running:true,pid:2},{name:'Firefox',executable:'/usr/lib/firefox/firefox',running:true,pid:3},{name:'Steam',executable:'/usr/bin/steam',running:true,pid:4}];
|
|
mockIPC((cmd,args)=>{
|
|
if(cmd==='load_preferences') return prefs;
|
|
if(cmd==='save_preferences'){prefs=args.preferences;return;}
|
|
if(cmd==='list_applications') return apps;
|
|
if(cmd==='list_installed_applications') return [...apps,{name:'Chromium',executable:'/usr/lib/chromium/chromium',running:false,pid:null}];
|
|
if(cmd==='add_application') return {name:args.path.split('/').pop(),executable:args.path,running:false,pid:null};
|
|
if(cmd==='get_status') return status;
|
|
if(cmd==='get_logs') return ['Tunnel started.','Credentials are redacted.'];
|
|
if(cmd==='connect'){status={...status,phase:'Connecting',split_tunneling:args.request.split_tunneling,applications:args.request.applications};setTimeout(()=>{status={...status,phase:args.request.vless_url==='invalid'?'Error':'Connected',error:args.request.vless_url==='invalid'?'Invalid VLESS URL':null};},700);return;}
|
|
if(cmd==='disconnect'){status={...status,phase:'Disconnected',error:null};return;}
|
|
});
|
|
mockWindows('main');
|
|
window.isTauri = true;
|
|
await import('/src/main.tsx');
|
|
</script></body></html>
|