this repo has no description
1import { WebpackRequireType } from "@moonlight-mod/types";
2import { pageModules } from "..";
3
4export default (require: WebpackRequireType) => {
5 const React = require("common_react");
6 const spacepack = require("spacepack_spacepack").spacepack;
7
8 const Margins = spacepack.findByCode("marginCenterHorz:")[0].exports;
9
10 const { Divider } = spacepack.findByCode(".default.HEADER_BAR")[0].exports
11 .default;
12 const TitleBarClasses = spacepack.findByCode("iconWrapper:", "children:")[0]
13 .exports;
14 const TabBarClasses = spacepack.findByCode("nowPlayingColumn:")[0].exports;
15
16 const pages = pageModules(require);
17
18 return function Moonbase() {
19 const { Text, TabBar } = require("common_components");
20
21 const [selectedTab, setSelectedTab] = React.useState(Object.keys(pages)[0]);
22
23 return (
24 <>
25 <div
26 className={`${TitleBarClasses.children} ${Margins.marginBottom20}`}
27 >
28 <Text
29 className={TitleBarClasses.titleWrapper}
30 variant="heading-lg/semibold"
31 tag="h2"
32 >
33 Moonbase
34 </Text>
35 <Divider />
36 <TabBar
37 selectedItem={selectedTab}
38 onItemSelect={setSelectedTab}
39 type="top-pill"
40 className={TabBarClasses.tabBar}
41 >
42 {Object.entries(pages).map(([id, page]) => (
43 <TabBar.Item key={id} id={id} className={TabBarClasses.item}>
44 {page.name}
45 </TabBar.Item>
46 ))}
47 </TabBar>
48 </div>
49
50 {React.createElement(pages[selectedTab].element)}
51 </>
52 );
53 };
54};