Skip to content

Commit

Permalink
sort by name
Browse files Browse the repository at this point in the history
  • Loading branch information
that70schris committed Aug 18, 2024
1 parent 8063632 commit 966052a
Showing 1 changed file with 59 additions and 56 deletions.
115 changes: 59 additions & 56 deletions extensions/bonjour/src/index.tsx
Original file line number Diff line number Diff line change
@@ -1,69 +1,72 @@
import { Action, ActionPanel, Icon, List } from "@raycast/api";
import Bonjour, { Service } from "bonjour-service";
import { useEffect, useState } from "react";
import { useState } from "react";

const bonjour = new Bonjour();

export default function Command() {
const [items, setItems] = useState<Service[]>();

useEffect(() => {
const services: Service[] = [];

new Bonjour().find({ type: "http" }, (service: Service) => {
services.push(service);
setItems(services);
});
}, []);
const services: Service[] = [];
bonjour.find({ type: "http" }, (service) => {
services.push(service);
setItems(services);
});

return (
<List isLoading={!items} isShowingDetail={true}>
{items?.map((service: Service, index: number) => {
const url = `${service.type}://${service.host}:${service.port}`;
{items
?.sort((a, b) => {
return a.name > b.name ? 1 : -1;
})
.map((service: Service, index: number) => {
const url = `${service.type}://${service.host}:${service.port}`;

return (
<List.Item
key={index}
icon={Icon.Globe}
title={service.name}
detail={
<List.Item.Detail
metadata={
<List.Item.Detail.Metadata>
<List.Item.Detail.Metadata.Link
target={url}
text={url}
title="Location"
/>
<List.Item.Detail.Metadata.Label
title="Host"
text={service.fqdn}
/>
<List.Item.Detail.Metadata.Separator />
<List.Item.Detail.Metadata.TagList title="Addresses">
{service.addresses?.map((address, index) => (
<List.Item.Detail.Metadata.TagList.Item
key={index}
text={address}
/>
))}
</List.Item.Detail.Metadata.TagList>
<List.Item.Detail.Metadata.Separator />
<List.Item.Detail.Metadata.Label
title="Referer"
text={service.referer?.address}
/>
</List.Item.Detail.Metadata>
}
/>
}
actions={
<ActionPanel>
<Action.OpenInBrowser url={url} />
<Action.CopyToClipboard content={url} />
</ActionPanel>
}
/>
);
})}
return (
<List.Item
key={index}
icon={Icon.Globe}
title={service.name}
detail={
<List.Item.Detail
metadata={
<List.Item.Detail.Metadata>
<List.Item.Detail.Metadata.Link
target={url}
text={url}
title="Location"
/>
<List.Item.Detail.Metadata.Label
title="Host"
text={service.fqdn}
/>
<List.Item.Detail.Metadata.Separator />
<List.Item.Detail.Metadata.TagList title="Addresses">
{service.addresses?.map((address, index) => (
<List.Item.Detail.Metadata.TagList.Item
key={index}
text={address}
/>
))}
</List.Item.Detail.Metadata.TagList>
<List.Item.Detail.Metadata.Separator />
<List.Item.Detail.Metadata.Label
title="Referer"
text={service.referer?.address}
/>
</List.Item.Detail.Metadata>
}
/>
}
actions={
<ActionPanel>
<Action.OpenInBrowser url={url} />
<Action.CopyToClipboard content={url} />
</ActionPanel>
}
/>
);
})}
</List>
);
}

0 comments on commit 966052a

Please sign in to comment.