diff --git a/src/components/default-listing.astro b/src/components/default-listing.astro index 7424d4e..1e6ec79 100644 --- a/src/components/default-listing.astro +++ b/src/components/default-listing.astro @@ -9,6 +9,7 @@ import Aliases from '~/src/components/listing-parts/aliases.astro' import RelatedLinks from '~/src/components/listing-parts/related-links.astro' import Devices from '~/src/components/listing-parts/devices.astro' import RelatedVideos from '~/src/components/listing-parts/related-videos.astro' +import Bundles from '~/src/components/listing-parts/bundles.astro' import AllUpdatesSubscribe from '~/components/all-updates-subscribe.vue' @@ -57,6 +58,10 @@ const details = new ListingDetails( listing ) listing={ listing } /> + + diff --git a/src/components/listing-parts/bundles.astro b/src/components/listing-parts/bundles.astro new file mode 100644 index 0000000..55960ca --- /dev/null +++ b/src/components/listing-parts/bundles.astro @@ -0,0 +1,85 @@ +--- +import { getStatusOfScan } from '~/helpers/statuses.js' +import { supportedArchitectures } from '~/helpers/bundles.js' + +import Heading from './heading.astro' + +const { + listing +} = Astro.props + +const hasBundleIdentifiers = Array.isArray( listing.bundles ) +--- +{ hasBundleIdentifiers && ( + +
+ + + +
+ +
+ + { listing.bundles.map( ( [bundleIdentifier, versions] ) => ( + + )) } + +
+ + +
+ { listing.bundles.map( ( [bundleIdentifier, versions] ) => ( +
+

{ bundleIdentifier }

+ +
+ +
+ + { Object.entries(versions) + .sort((a, b) => new Date(b[1]['Date']) - new Date(a[1]['Date'])) + .map( ( [ version, report ] ) => ( +
+
v{ version }
+
+
+ { getStatusOfScan( report, false ) } +
+
+ 🖥 Supported Architectures { supportedArchitectures( report ).join(', ') } +
+
+
+ Full Info Plist +
{ JSON.stringify(report['Info Plist'], undefined, 2) }
+
+
+ Full Meta Details +
{ JSON.stringify(report['Macho Meta'], undefined, 2) }
+
+
+ )) } + +
+ +
+
+ )) } +
+ +
+ + +
+ +)}