diff --git a/dockerfile b/dockerfile index c6220fdd2..87cc75385 100644 --- a/dockerfile +++ b/dockerfile @@ -13,7 +13,6 @@ COPY . . ENV VITE_COMMIT_HASH="" ENV VITE_APP_VERSION="custom" -ENV ENABLE_CLIENT_TAG="false" RUN yarn build FROM nginx:stable-alpine-slim AS main diff --git a/src/components/post-modal/index.tsx b/src/components/post-modal/index.tsx index 514818736..42f72e35f 100644 --- a/src/components/post-modal/index.tsx +++ b/src/components/post-modal/index.tsx @@ -23,6 +23,10 @@ import { SliderFilledTrack, SliderThumb, ModalCloseButton, + Alert, + AlertIcon, + ButtonGroup, + Text, } from "@chakra-ui/react"; import dayjs from "dayjs"; import { useForm } from "react-hook-form"; @@ -55,6 +59,9 @@ import useAppSettings from "../../hooks/use-app-settings"; import { ErrorBoundary } from "../error-boundary"; import { usePublishEvent } from "../../providers/global/publish-provider"; import { TextNoteContents } from "../note/timeline-note/text-note-contents"; +import useSubject from "../../hooks/use-subject"; +import localSettings from "../../services/local-settings"; +import useLocalStorageDisclosure from "../../hooks/use-localstorage-disclosure"; type FormValues = { subject: string; @@ -84,6 +91,8 @@ export default function PostModal({ const publish = usePublishEvent(); const account = useCurrentAccount()!; const { noteDifficulty } = useAppSettings(); + const addClientTag = useSubject(localSettings.addClientTag); + const promptAddClientTag = useLocalStorageDisclosure("prompt-add-client-tag", true); const [miningTarget, setMiningTarget] = useState(0); const [publishAction, setPublishAction] = useState(); const emojis = useContextEmojis(); @@ -303,6 +312,25 @@ export default function PostModal({ {renderContent()} + + {!addClientTag && promptAddClientTag.isOpen && ( + + + + Enable{" "} + + NIP-89 + {" "} + client tags and let other users know what app your using to write notes + + + + + + + )} ); diff --git a/src/const.ts b/src/const.ts index 820dc35cb..8525c29f1 100644 --- a/src/const.ts +++ b/src/const.ts @@ -48,7 +48,6 @@ export const NOSTR_CONNECT_PERMISSIONS = [ ]; export const NEVER_ATTACH_CLIENT_TAG = [kinds.EncryptedDirectMessage]; -export const ENABLE_CLIENT_TAG = import.meta.env.VITE_ENABLE_CLIENT_TAG !== "false"; export const NIP_89_CLIENT_TAG = [ "client", "noStrudel", diff --git a/src/services/local-settings.ts b/src/services/local-settings.ts index 1fdace6a3..5c57dc6b7 100644 --- a/src/services/local-settings.ts +++ b/src/services/local-settings.ts @@ -1,7 +1,7 @@ import { generateSecretKey } from "nostr-tools"; import { bytesToHex, hexToBytes } from "@noble/hashes/utils"; -import { ENABLE_CLIENT_TAG, DEFAULT_SIGNAL_RELAYS } from "../const"; +import { DEFAULT_SIGNAL_RELAYS } from "../const"; import { BooleanLocalStorageEntry, NullableNumberLocalStorageEntry, @@ -45,7 +45,7 @@ const webRtcRecentConnections = new LocalStorageEntry( ); // posting -const addClientTag = new BooleanLocalStorageEntry("add-client-tag", ENABLE_CLIENT_TAG); +const addClientTag = new BooleanLocalStorageEntry("add-client-tag", false); // performance const verifyEventMethod = new LocalStorageEntry("verify-event-method", "wasm"); // wasm, internal, none diff --git a/src/views/settings/post/index.tsx b/src/views/settings/post/index.tsx index 0418e7e03..81b174da0 100644 --- a/src/views/settings/post/index.tsx +++ b/src/views/settings/post/index.tsx @@ -180,7 +180,7 @@ export default function PostSettings() { NIP-89 {" "} - client tag to events + client tags on events