diff --git a/packages/fakeyou.com/src/components/providers/SessionProvider/SessionProvider.tsx b/packages/fakeyou.com/src/components/providers/SessionProvider/SessionProvider.tsx
index 200f6c5796..a6c0154325 100644
--- a/packages/fakeyou.com/src/components/providers/SessionProvider/SessionProvider.tsx
+++ b/packages/fakeyou.com/src/components/providers/SessionProvider/SessionProvider.tsx
@@ -12,13 +12,26 @@ interface Props {
sessionWrapper?: any;
}
-export default function SessionProvider({ children, querySession, querySubscriptions, sessionFetched, sessionWrapper }: Props) {
- const sessionResponse = sessionWrapper?.sessionStateResponse || { logged_in: false };
+export default function SessionProvider({
+ children,
+ querySession,
+ querySubscriptions,
+ sessionFetched,
+ sessionWrapper,
+}: Props) {
+ const sessionResponse = sessionWrapper?.sessionStateResponse || {
+ logged_in: false,
+ };
const { logged_in: loggedIn, user } = sessionResponse;
- const [view,viewSet] = useState(ModalView.Closed);
+ const [view, viewSet] = useState(ModalView.Closed);
const open = () => viewSet(ModalView.Signup);
- const close = () => { viewSet(ModalView.Closed);};
- const viewSwitch = () => view === ModalView.Signup ? viewSet(ModalView.Login) : viewSet(ModalView.Signup);
+ const close = () => {
+ viewSet(ModalView.Closed);
+ };
+ const viewSwitch = () =>
+ view === ModalView.Signup
+ ? viewSet(ModalView.Login)
+ : viewSet(ModalView.Signup);
const check = () => {
if (user) {
return true;
@@ -27,31 +40,45 @@ export default function SessionProvider({ children, querySession, querySubscript
return false;
}
};
- const userTokenMatch = (otherUserToken: string) => !otherUserToken || !user?.user_token ? false : user.user_token === otherUserToken;
- const canEditTtsModel = (userToken: string) => user?.canEditOtherUsersTtsModels || userTokenMatch(userToken);
+ const userTokenMatch = (otherUserToken: string) =>
+ !otherUserToken || !user?.user_token
+ ? false
+ : user.user_token === otherUserToken;
+ const canEditTtsModel = (userToken: string) =>
+ user?.canEditOtherUsersTtsModels || userTokenMatch(userToken);
+ const canBanUsers = () => user?.can_ban_users || false;
- return
- { children }
- {
- 0,
- showButtons: false,
- // title: "You need to login",
- }}/>
- }
-
-};
\ No newline at end of file
+ return (
+
+ {children}
+ {
+ 0,
+ showButtons: false,
+ // title: "You need to login",
+ }}
+ />
+ }
+
+ );
+}
diff --git a/packages/fakeyou.com/src/context/SessionContext.tsx b/packages/fakeyou.com/src/context/SessionContext.tsx
index 0e08199c3b..04be5c22b4 100644
--- a/packages/fakeyou.com/src/context/SessionContext.tsx
+++ b/packages/fakeyou.com/src/context/SessionContext.tsx
@@ -3,29 +3,31 @@ import { createContext } from "react";
export enum ModalView {
Closed,
Signup,
- Login
+ Login,
}
interface ModalProps {
- close: () => void,
- open: () => void,
- view: ModalView
+ close: () => void;
+ open: () => void;
+ view: ModalView;
}
interface SessionContextType {
- canEditTtsModel: (token:string) => boolean,
- check: () => boolean,
- loggedIn: boolean,
- modal: ModalProps,
- querySession?: any,
- querySubscriptions?: any,
- sessionFetched: boolean,
- user?: any,
- userTokenMatch: (token:string) => boolean
+ canEditTtsModel: (token: string) => boolean;
+ canBanUsers: () => boolean;
+ check: () => boolean;
+ loggedIn: boolean;
+ modal: ModalProps;
+ querySession?: any;
+ querySubscriptions?: any;
+ sessionFetched: boolean;
+ user?: any;
+ userTokenMatch: (token: string) => boolean;
}
export default createContext({
canEditTtsModel: () => false,
+ canBanUsers: () => false,
check: () => false,
loggedIn: false,
sessionFetched: false,
@@ -34,5 +36,5 @@ export default createContext({
open: () => {},
view: ModalView.Closed,
},
- userTokenMatch: () => false
-});
\ No newline at end of file
+ userTokenMatch: () => false,
+});
diff --git a/packages/fakeyou.com/src/v2/view/pages/weight/WeightPage.tsx b/packages/fakeyou.com/src/v2/view/pages/weight/WeightPage.tsx
index eae5df337d..dd1d7f65f1 100644
--- a/packages/fakeyou.com/src/v2/view/pages/weight/WeightPage.tsx
+++ b/packages/fakeyou.com/src/v2/view/pages/weight/WeightPage.tsx
@@ -66,7 +66,7 @@ export default function WeightPage({
enqueueTtsJob,
inferenceJobsByCategory,
}: WeightProps) {
- const { canEditTtsModel, user } = useSession();
+ const { canEditTtsModel, canBanUsers, user } = useSession();
const { search } = useLocation();
const { weight_token } = useParams<{ weight_token: string }>();
const source = search ? new URLSearchParams(search).get("source") : "";
@@ -572,7 +572,8 @@ export default function WeightPage({
- {canEditTtsModel(weight.creator?.user_token) && (
+ {(canEditTtsModel(weight.creator?.user_token) ||
+ canBanUsers()) && (