diff --git a/src/components/feed-item/index.tsx b/src/components/feed-item/index.tsx
index 250fb664c..bf2d43f5d 100644
--- a/src/components/feed-item/index.tsx
+++ b/src/components/feed-item/index.tsx
@@ -43,8 +43,8 @@ const TokenHover = ({ nft, visible }: { nft: NFT; visible: boolean }) => {
}
export const FeedItem = ({ nft }: { nft: NFT }) => {
- const [nsfwFriendly, photosensitiveFriendly] = useLocalSettings(
- (state) => [state.nsfwFriendly, state.photosensitiveFriendly],
+ const [nsfwFriendly, photosensitiveFriendly, skipModeration] = useLocalSettings(
+ (state) => [state.nsfwFriendly, state.photosensitiveFriendly, state.has_seen_moderation],
shallow
)
const zen = useLocalSettings((st) => st.zen)
@@ -70,7 +70,7 @@ export const FeedItem = ({ nft }: { nft: NFT }) => {
// onMouseLeave={() => setHover(false)}
className={containerClasses}
>
- {nft.isModerated && (
+ {nft.isModerated && !skipModeration && (
MODERATED
diff --git a/src/context/localSettingsStore.ts b/src/context/localSettingsStore.ts
index 2e46bae8e..31793310f 100644
--- a/src/context/localSettingsStore.ts
+++ b/src/context/localSettingsStore.ts
@@ -29,6 +29,7 @@ export type RPC_NODES = (typeof rpc_nodes)[number]
interface LocalSettingsState {
applyTheme: (theme: Theme) => void
has_seen_banner: boolean
+ has_seen_moderation: boolean
nsfwFriendly: boolean
photosensitiveFriendly: boolean
startFeed: FeedType
@@ -46,6 +47,7 @@ interface LocalSettingsState {
setImgproxy: (imgproxy: boolean) => void
setViewMode: (mode: ViewMode) => void
setHasSeenBanner: (seen: boolean) => void
+ setHasSeenModeration: (seen: boolean) => void
setZen: (zen: boolean) => void
theme: Theme
themeDark: Theme
@@ -73,6 +75,7 @@ const defaultValues = {
tilted: false,
imgproxy: true,
has_seen_banner: false,
+ has_seen_moderation: false,
}
// TODO: replace all the "set" methods with one that merges the state with the provided partial object
export const useLocalSettings = create()(
@@ -81,6 +84,7 @@ export const useLocalSettings = create()(
(set, get) => ({
...defaultValues,
setHasSeenBanner: (has_seen_banner) => set({ has_seen_banner }),
+ setHasSeenModeration: (has_seen_moderation) => set({ has_seen_moderation }),
setTilted: (tilted) => set({ tilted }),
setImgproxy: (imgproxy) => set({ imgproxy }),
toggleViewMode: () =>
diff --git a/src/pages/config/Settings.jsx b/src/pages/config/Settings.jsx
index 390bda975..dfc1f7908 100644
--- a/src/pages/config/Settings.jsx
+++ b/src/pages/config/Settings.jsx
@@ -44,6 +44,8 @@ export const Settings = () => {
setImgproxy,
has_seen_banner,
setHasSeenBanner,
+ has_seen_moderation,
+ setHasSeenModeration,
] = useLocalSettings((st) => [
st.nsfwFriendly,
st.setNsfwFriendly,
@@ -61,6 +63,8 @@ export const Settings = () => {
st.setImgproxy,
st.has_seen_banner,
st.setHasSeenBanner,
+ st.has_seen_moderation,
+ st.setHasSeenModeration,
])
return (
@@ -170,6 +174,17 @@ export const Settings = () => {
label={'Hide banner for last announcement'}
/>
)}
+