diff --git a/src/App.tsx b/src/App.tsx index a7e5903..294215f 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,152 +1,124 @@ import "@mantine/core/styles.css"; import { Accordion, Anchor, Badge, Button, Container, - Flex, Group, List, MantineProvider, - Space, Stack, Text, Title, - VisuallyHidden + Flex, + Group, + List, + MantineProvider, + Space, + Stack, Text, Title } from "@mantine/core"; import { theme } from "./theme"; export default function App() { const changes = [ { - text: 'v1.0.14', + version: 'v1.0.14', sha: '...', isLatest: false, isUpcoming: true, details: [ { - system: "All Platforms", - download: '', - last: true, - items: [ - { - primaryText: 'Added support for booting the initial setup screen via -setup (on Linux, macOS, Windows)', - secondaryText: 'Only partial support for now, will be improved in the future' - }, - { - primaryText: 'Added several missing functions to allow the initial setup screen to be launched', - secondaryText: null - }, - { - primaryText: 'Fixed an issue with mm:u where Get and GetOld would not return after pushing a found session\'s minimum value', - secondaryText: null - }, - { - primaryText: 'Started rewrite of caps, caps:a and caps:su to improve accuracy', - secondaryText: null - } + title: 'Added support for booting the initial setup screen via -setup', + subtitles: [ + 'Only available on Linux, macOS and Windows via Terminal or Tools > Open Initial Setup', + 'Only partial support for now, will be improved in the future' ] + }, + { + title: 'Added several missing functions to allow the initial setup screen to be launched', + subtitles: [] + }, + { + title: 'Fixed an issue with mm:u where Get and GetOld would not return after pushing a found session\'s minimum value', + subtitles: [] + }, + { + title: 'Started rewrite of caps, caps:a and caps:su to improve accuracy', + subtitles: [] } ], - url: '' + downloads: [ + { + color: 'green', + platform: 'Android', + url: '' + }, + { + color: 'orange', + platform: 'Linux', + url: '' + }, + { + color: 'violet', + platform: 'macOS', + url: '' + }, + { + color: 'blue', + platform: 'Windows', + url: '' + }, + { + color: 'gray', + platform: 'Source Code', + url: '' + } + ] }, { - text: 'v1.0.13', + version: 'v1.0.13', sha: 'c5aff15', isLatest: true, isUpcoming: false, details: [ { - system: "Android", - download: 'https://github.com/emuplace/sudachi.emuplace.app/releases/download/v1.0.13/app-mainline-release.apk', - last: false, - items: [ - { - primaryText: 'Changed mm:u to be more accurate to documentation', - secondaryText: null - }, - { - primaryText: 'Removed ability to install games to the NAND', - secondaryText: null - } - ] + title: 'Changed mm:u to be more accurate to documentation', + subtitles: [] }, { - system: "Windows", - download: 'https://github.com/emuplace/sudachi.emuplace.app/releases/download/v1.0.13/sudachi-windows-v1.0.13.7z', - last: true, - items: [ - { - primaryText: 'Added support for booting to QLaunch via -qlaunch', - secondaryText: null - }, - { - primaryText: 'Changed mm:u to be more accurate to documentation', - secondaryText: null - }, - { - primaryText: 'Removed ability to install games to the NAND', - secondaryText: null - } - ] + title: 'Removed ability to install games to the NAND', + subtitles: [] } ], - url: 'https://github.com/emuplace/sudachi.emuplace.app/releases/download/v1.0.13/latest.zip' + downloads: [ + { + color: 'green', + platform: 'Android', + url: 'https://github.com/emuplace/sudachi.emuplace.app/releases/download/v1.0.13/app-mainline-release.apk' + }, + { + color: 'orange', + platform: 'Linux', + url: '' + }, + { + color: 'violet', + platform: 'macOS', + url: 'https://github.com/emuplace/sudachi.emuplace.app/releases/download/v1.0.13/sudachi-macos-v1.0.13.7z' + }, + { + color: 'blue', + platform: 'Windows', + url: 'https://github.com/emuplace/sudachi.emuplace.app/releases/download/v1.0.13/sudachi-windows-v1.0.13.7z' + }, + { + color: 'gray', + platform: 'Source Code', + url: 'https://github.com/emuplace/sudachi.emuplace.app/releases/download/v1.0.13/latest.zip' + } + ] } - ]; + ] const items = changes.map((item) => { - const listItems = item.details.map((detail) => { - const detailItems = detail.items.map((item) => ( - <> - - {item.primaryText} - - - - )); - - const button = function () { - if (!detail.last) { - return ( - - - - - - ); - } else { - return ( - - - - ); - } - } - - return ( - <> - - {detail.system} - - - {detailItems} - - - - - {button()} - - - ); - }); - return ( - + - {item.text} + {item.version} {`(${item.sha})`} @@ -158,13 +130,39 @@ export default function App() { - {...listItems} + + {item.details.map((detail) => ( + + + {detail.title} + + + {detail.subtitles.map((subtitle) => ( + + + {subtitle} + + + ))} + + + ))} + + + + {item.downloads.map((download) => ( + + ))} + - ); - }); + ) + }) - const date = new Date(); + const date = new Date() return ( = 7 && date.getHours() <= 19 ? "light" : "dark"}> @@ -179,42 +177,6 @@ export default function App() { Nintendo Switch emulation without the iffy bits and support for more games - {/* - - - - - - - - - iOS, iPadOS - }> - iPad - - }> - iPhone - - - macOS - } disabled> - Apple Silicon - - } disabled> - Intel - - - visionOS - } disabled> - Apple Vision Pro - - - - - - - - */} Changes @@ -224,5 +186,5 @@ export default function App() { - ); -} + ) +} \ No newline at end of file