diff --git a/app/lish/[did]/[publication]/dashboard/Actions.tsx b/app/lish/[did]/[publication]/dashboard/Actions.tsx index fbd807a0..66ca4065 100644 --- a/app/lish/[did]/[publication]/dashboard/Actions.tsx +++ b/app/lish/[did]/[publication]/dashboard/Actions.tsx @@ -1,7 +1,7 @@ "use client"; import { NewDraftActionButton } from "./NewDraftButton"; -import { PublicationSettingsButton } from "./PublicationSettings"; +import { PublicationSettingsButton } from "./settings/PublicationSettings"; import { ActionButton } from "components/ActionBar/ActionButton"; import { ShareSmall } from "components/Icons/ShareSmall"; import { Menu } from "components/Layout"; diff --git a/app/lish/[did]/[publication]/dashboard/settings/PostOptions.tsx b/app/lish/[did]/[publication]/dashboard/settings/PostOptions.tsx new file mode 100644 index 00000000..ad10c9bf --- /dev/null +++ b/app/lish/[did]/[publication]/dashboard/settings/PostOptions.tsx @@ -0,0 +1,27 @@ +import { PubSettingsHeader } from "./PublicationSettings"; + +export const PostOptions = (props: { + backToMenu: () => void; + loading: boolean; + setLoading: (l: boolean) => void; +}) => { + return ( +
+ + Post Options + +

Layout

+
Post Width
+
Show Prev Next Buttons
+
+

Interactions

+
Show Comments
+
Show Mentions
+
+ ); +}; diff --git a/app/lish/[did]/[publication]/dashboard/PublicationSettings.tsx b/app/lish/[did]/[publication]/dashboard/settings/PublicationSettings.tsx similarity index 81% rename from app/lish/[did]/[publication]/dashboard/PublicationSettings.tsx rename to app/lish/[did]/[publication]/dashboard/settings/PublicationSettings.tsx index c9acf387..6b632938 100644 --- a/app/lish/[did]/[publication]/dashboard/PublicationSettings.tsx +++ b/app/lish/[did]/[publication]/dashboard/settings/PublicationSettings.tsx @@ -12,10 +12,13 @@ import { theme } from "tailwind.config"; import { ButtonPrimary } from "components/Buttons"; import { DotLoader } from "components/utils/DotLoader"; import { ArrowRightTiny } from "components/Icons/ArrowRightTiny"; +import { PostOptions } from "./PostOptions"; + +type menuState = "menu" | "general" | "theme" | "post-options"; export function PublicationSettingsButton(props: { publication: string }) { let isMobile = useIsMobile(); - let [state, setState] = useState<"menu" | "general" | "theme">("menu"); + let [state, setState] = useState("menu"); let [loading, setLoading] = useState(false); return ( @@ -46,6 +49,12 @@ export function PublicationSettingsButton(props: { publication: string }) { loading={loading} setLoading={setLoading} /> + ) : state === "post-options" ? ( + setState("menu")} + loading={loading} + setLoading={setLoading} + /> ) : ( void; + state: menuState; + setState: (s: menuState) => void; loading: boolean; setLoading: (l: boolean) => void; }) => { @@ -73,7 +82,9 @@ const PubSettingsMenu = (props: { loading={props.loading} setLoadingAction={props.setLoading} state={"menu"} - /> + > + Settings + + @@ -97,20 +116,15 @@ const PubSettingsMenu = (props: { }; export const PubSettingsHeader = (props: { - state: "menu" | "general" | "theme"; + state: menuState; backToMenuAction?: () => void; loading: boolean; setLoadingAction: (l: boolean) => void; + children: React.ReactNode; }) => { return (
- {props.state === "menu" - ? "Settings" - : props.state === "general" - ? "General" - : props.state === "theme" - ? "Publication Theme" - : ""} + {props.children} {props.state !== "menu" && (