forked from webxdc/webxdc-dev
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathInfo.tsx
80 lines (77 loc) · 2.3 KB
/
Info.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import { Show, Component } from "solid-js";
import { Anchor, Image, Table, Tbody } from "@hope-ui/solid";
import RecordRow from "./RecordRow";
import { appInfo } from "./store";
const Info: Component = () => {
return (
<Show when={appInfo()} fallback={() => "Loading"}>
{(appInfo) => (
<Table>
<Tbody>
<RecordRow label="Name">{appInfo.name}</RecordRow>
<RecordRow label="Manifest">
{" "}
<Show
when={appInfo.manifestFound}
fallback={
<span>
No <code>manifest.toml</code> found
</span>
}
>
Found
</Show>
</RecordRow>
<RecordRow label="Source code">
<Show
when={appInfo.sourceCodeUrl}
fallback={
<Show
when={appInfo.manifestFound}
fallback={
<span>
No <code>manifest.toml</code> with{" "}
<code>source_code_url</code>
</span>
}
>
<span>
No <code>source_code_url</code> entry found in{" "}
<code>manifest.toml</code>
</span>
</Show>
}
>
{() => (
<Anchor
color="$primary10"
external
href={appInfo.sourceCodeUrl}
>
{appInfo.sourceCodeUrl}
</Anchor>
)}
</Show>
</RecordRow>
<RecordRow label="webxdc-dev version">
{appInfo.toolVersion}
</RecordRow>
<RecordRow label="Icon">
<Show
when={appInfo.iconUrl}
fallback={
<p>
No <code>icon.png</code> or <code>icon.jpg</code> found
</p>
}
>
{(url) => <Image src={url} />}
</Show>
</RecordRow>
</Tbody>
</Table>
)}
</Show>
);
};
export default Info;