LoginSession.feedDisplayAs
This commit is contained in:
@ -1,6 +1,8 @@
|
||||
import Icon from "@/Icons/Icon";
|
||||
import { LoginStore } from "@/Login";
|
||||
import useLogin from "@/Hooks/useLogin";
|
||||
|
||||
export type DisplayAs = "grid" | "feed";
|
||||
export type DisplayAs = "list" | "grid";
|
||||
|
||||
type DisplaySelectorProps = {
|
||||
activeSelection: DisplayAs;
|
||||
@ -9,14 +11,22 @@ type DisplaySelectorProps = {
|
||||
};
|
||||
|
||||
export const DisplayAsSelector = ({ activeSelection, onSelect, show }: DisplaySelectorProps) => {
|
||||
const state = useLogin();
|
||||
|
||||
const myOnSelect = (display: DisplayAs) => {
|
||||
onSelect(display);
|
||||
state.feedDisplayAs = display;
|
||||
LoginStore.updateSession(state);
|
||||
};
|
||||
|
||||
if (show === false) return null;
|
||||
return (
|
||||
<div className="flex mb-4">
|
||||
<div
|
||||
className={`border-highlight cursor-pointer flex justify-center flex-1 p-3 ${
|
||||
activeSelection === "feed" ? "border-b border-1" : "hover:bg-nearly-bg-color text-secondary"
|
||||
activeSelection === "list" ? "border-b border-1" : "hover:bg-nearly-bg-color text-secondary"
|
||||
}`}
|
||||
onClick={() => onSelect("feed")}>
|
||||
onClick={() => myOnSelect("list")}>
|
||||
<span className="rotate-90">
|
||||
<Icon name="deck" />
|
||||
</span>
|
||||
@ -25,7 +35,7 @@ export const DisplayAsSelector = ({ activeSelection, onSelect, show }: DisplaySe
|
||||
className={`border-highlight cursor-pointer flex justify-center flex-1 p-3 ${
|
||||
activeSelection === "grid" ? "border-b border-1" : "hover:bg-nearly-bg-color text-secondary"
|
||||
}`}
|
||||
onClick={() => onSelect("grid")}>
|
||||
onClick={() => myOnSelect("grid")}>
|
||||
<Icon name="media" />
|
||||
</div>
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user