import React from 'react' import { View, Text, ScrollView, StyleSheet } from 'react-native' const bridge = (window as any).mixone || {} function InfoRow({ label, value }: { label: string; value: string }) { return ( {label} {value} ) } export default function About() { return ( โ„น๏ธ About & Packaging App info ยท Shell integration ยท Desktop packaging ๐Ÿ“Š App Info ๐Ÿ”— Shell Integration bridge.shell?.openExternal('https://github.com/qew4/mixone-example')}>๐ŸŒ Open GitHub bridge.shell?.openExternal('https://www.npmjs.com/package/mixone')}>๐Ÿ“ฆ Open npm bridge.shell?.beep()}>๐Ÿ”” System Beep ๐Ÿ“ฆ Desktop Packaging Package as .exe / .dmg / .AppImage, output to release/ directory npm run build:desktop # Disable bytecode: MIXONE_NO_BYTECODE=1 npm run build:desktop โš™๏ธ App Control bridge.app?.relaunch()}>๐Ÿ”„ Relaunch App bridge.app?.quit()}>โœ• Quit App ) } const s = StyleSheet.create({ page: { flex: 1, padding: 24 }, h1: { fontSize: 22, fontWeight: '600', color: '#e2e8f0', marginBottom: 4 }, sub: { fontSize: 13, color: '#94a3b8', marginBottom: 20 }, card: { backgroundColor: '#1e293b', borderWidth: 1, borderColor: '#334155', borderRadius: 12, padding: 20, marginBottom: 16 }, cardTitle: { fontSize: 14, fontWeight: '600', color: '#38bdf8', marginBottom: 16 }, infoRow: { flexDirection: 'row', justifyContent: 'space-between', paddingVertical: 8, borderBottomWidth: 1, borderBottomColor: 'rgba(255,255,255,0.05)' }, infoLabel: { color: '#94a3b8', fontSize: 13 }, infoValue: { fontFamily: 'monospace', fontSize: 12, color: '#e2e8f0' }, desc: { fontSize: 13, color: '#94a3b8', marginBottom: 12 }, hint: { fontSize: 13, color: '#38bdf8', paddingVertical: 6 }, codeBlock: { backgroundColor: '#0f172a', borderWidth: 1, borderColor: '#334155', borderRadius: 8, padding: 14, marginBottom: 12 }, codeLine: { fontFamily: 'monospace', fontSize: 13, color: '#38bdf8', lineHeight: 22 }, codeDim: { color: '#94a3b8', marginTop: 8 } })