📑 Added a AirDCPP Settings form WIP
This commit is contained in:
@@ -1,52 +1,71 @@
|
||||
import React, { useState, useEffect, useCallback, ReactElement } from "react";
|
||||
import { AirDCPPSettingsForm } from "./AirDCPPSettingsForm";
|
||||
import settingsObject from "../constants/settings/settingsMenu.json";
|
||||
import { isUndefined, map } from "lodash";
|
||||
|
||||
interface ISettingsProps {}
|
||||
|
||||
export const Settings = (props: ISettingsProps): ReactElement => {
|
||||
const [active, setActive] = useState("gen-db");
|
||||
return (
|
||||
<section className="container">
|
||||
<div className="columns">
|
||||
<div className="section column is-one-quarter">
|
||||
<h1 className="title">Settings</h1>
|
||||
<aside className="menu">
|
||||
<p className="menu-label">General</p>
|
||||
<ul className="menu-list">
|
||||
<li>
|
||||
<a>Dashboard</a>
|
||||
</li>
|
||||
<li>
|
||||
<a>Global Search</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p className="menu-label">Acquisition</p>
|
||||
<ul className="menu-list">
|
||||
<li>
|
||||
<a className="is-active">AirDC++</a>
|
||||
<ul>
|
||||
<li>
|
||||
<a>Connection</a>
|
||||
</li>
|
||||
<li>
|
||||
<a>Hubs</a>
|
||||
</li>
|
||||
<li>
|
||||
<a>Additional Configuration</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p className="menu-label">ComicVine</p>
|
||||
<ul className="menu-list">
|
||||
<li>
|
||||
<a>API</a>
|
||||
</li>
|
||||
<li>
|
||||
<a>Configuration</a>
|
||||
</li>
|
||||
</ul>
|
||||
{map(settingsObject, (settingObject, idx) => {
|
||||
return (
|
||||
<>
|
||||
<p className="menu-label" key={idx}>
|
||||
{settingObject.category}
|
||||
</p>
|
||||
{/* First level children */}
|
||||
{!isUndefined(settingObject.children) ? (
|
||||
<ul className="menu-list" key={settingObject.id}>
|
||||
{map(settingObject.children, (item, idx) => {
|
||||
return (
|
||||
<li key={item.id}>
|
||||
<a
|
||||
className={
|
||||
item.id.toString() === active ? "is-active" : ""
|
||||
}
|
||||
onClick={() => setActive(item.id.toString())}
|
||||
>
|
||||
{item.displayName}
|
||||
</a>
|
||||
{/* Second level children */}
|
||||
{!isUndefined(item.children) ? (
|
||||
<ul>
|
||||
{map(item.children, (item, idx) => (
|
||||
<li key={item.id}>
|
||||
<a
|
||||
className={
|
||||
item.id.toString() === active
|
||||
? "is-active"
|
||||
: ""
|
||||
}
|
||||
onClick={() =>
|
||||
setActive(item.id.toString())
|
||||
}
|
||||
>
|
||||
{item.displayName}
|
||||
</a>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
) : null}
|
||||
</li>
|
||||
);
|
||||
})}
|
||||
</ul>
|
||||
) : null}
|
||||
</>
|
||||
);
|
||||
})}
|
||||
</aside>
|
||||
</div>
|
||||
</div>
|
||||
<AirDCPPSettingsForm />
|
||||
</section>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user