From 7b5fc0cf3e0e573ee9ece3284084ce3ba222de8f Mon Sep 17 00:00:00 2001 From: "xan.lol" Date: Mon, 1 Dec 2025 16:03:37 -0800 Subject: [PATCH] change Github mentions to Tangled & add files missing from PR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit add preferences for disable metrics (tangled 💢) --- src/screens/Signup/index.tsx | 2 +- .../disable-followed-by-metrics.tsx | 52 +++++++++++++++++++ .../preferences/disable-followers-metrics.tsx | 52 +++++++++++++++++++ .../preferences/disable-following-metrics.tsx | 52 +++++++++++++++++++ .../preferences/disable-posts-metrics.tsx | 50 ++++++++++++++++++ src/view/com/auth/SplashScreen.web.tsx | 2 +- witchsky-static-about/index.html | 2 +- 7 files changed, 209 insertions(+), 3 deletions(-) create mode 100644 src/state/preferences/disable-followed-by-metrics.tsx create mode 100644 src/state/preferences/disable-followers-metrics.tsx create mode 100644 src/state/preferences/disable-following-metrics.tsx create mode 100644 src/state/preferences/disable-posts-metrics.tsx diff --git a/src/screens/Signup/index.tsx b/src/screens/Signup/index.tsx index 3085eb63d..50ec0b9d9 100644 --- a/src/screens/Signup/index.tsx +++ b/src/screens/Signup/index.tsx @@ -231,7 +231,7 @@ export function Signup({ label={_(msg`Contact support`)} to={FEEDBACK_FORM_URL({email: state.email})} style={[!gtMobile && a.text_md]}> - Open a Github Issue + Open a Tangled Issue diff --git a/src/state/preferences/disable-followed-by-metrics.tsx b/src/state/preferences/disable-followed-by-metrics.tsx new file mode 100644 index 000000000..be1f7e442 --- /dev/null +++ b/src/state/preferences/disable-followed-by-metrics.tsx @@ -0,0 +1,52 @@ +import React from 'react' + +import * as persisted from '#/state/persisted' + +// Preference: disableFollowedByMetrics – when true, disables following metrics on profiles + +type StateContext = persisted.Schema['disableFollowedByMetrics'] +// Same setter signature used across other preference modules +type SetContext = (v: persisted.Schema['disableFollowedByMetrics']) => void + +const stateContext = React.createContext( + persisted.defaults.disableFollowedByMetrics, +) +const setContext = React.createContext( + (_: persisted.Schema['disableFollowedByMetrics']) => {}, +) + +export function Provider({children}: React.PropsWithChildren<{}>) { + const [state, setState] = React.useState( + persisted.get('disableFollowedByMetrics'), + ) + + const setStateWrapped = React.useCallback( + (value: persisted.Schema['disableFollowedByMetrics']) => { + setState(value) + persisted.write('disableFollowedByMetrics', value) + }, + [setState], + ) + + React.useEffect(() => { + return persisted.onUpdate('disableFollowedByMetrics', next => { + setState(next) + }) + }, [setStateWrapped]) + + return ( + + + {children} + + + ) +} + +export function useDisableFollowedByMetrics() { + return React.useContext(stateContext) +} + +export function useSetDisableFollowedByMetrics() { + return React.useContext(setContext) +} diff --git a/src/state/preferences/disable-followers-metrics.tsx b/src/state/preferences/disable-followers-metrics.tsx new file mode 100644 index 000000000..0c7f36998 --- /dev/null +++ b/src/state/preferences/disable-followers-metrics.tsx @@ -0,0 +1,52 @@ +import React from 'react' + +import * as persisted from '#/state/persisted' + +// Preference: disableFollowersMetrics – when true, disables followers metrics on profiles + +type StateContext = persisted.Schema['disableFollowersMetrics'] +// Same setter signature used across other preference modules +type SetContext = (v: persisted.Schema['disableFollowersMetrics']) => void + +const stateContext = React.createContext( + persisted.defaults.disableFollowersMetrics, +) +const setContext = React.createContext( + (_: persisted.Schema['disableFollowersMetrics']) => {}, +) + +export function Provider({children}: React.PropsWithChildren<{}>) { + const [state, setState] = React.useState( + persisted.get('disableFollowersMetrics'), + ) + + const setStateWrapped = React.useCallback( + (value: persisted.Schema['disableFollowersMetrics']) => { + setState(value) + persisted.write('disableFollowersMetrics', value) + }, + [setState], + ) + + React.useEffect(() => { + return persisted.onUpdate('disableFollowersMetrics', next => { + setState(next) + }) + }, [setStateWrapped]) + + return ( + + + {children} + + + ) +} + +export function useDisableFollowersMetrics() { + return React.useContext(stateContext) +} + +export function useSetDisableFollowersMetrics() { + return React.useContext(setContext) +} diff --git a/src/state/preferences/disable-following-metrics.tsx b/src/state/preferences/disable-following-metrics.tsx new file mode 100644 index 000000000..e4da9d4fb --- /dev/null +++ b/src/state/preferences/disable-following-metrics.tsx @@ -0,0 +1,52 @@ +import React from 'react' + +import * as persisted from '#/state/persisted' + +// Preference: disableFollowingMetrics – when true, disables following metrics on profiles + +type StateContext = persisted.Schema['disableFollowingMetrics'] +// Same setter signature used across other preference modules +type SetContext = (v: persisted.Schema['disableFollowingMetrics']) => void + +const stateContext = React.createContext( + persisted.defaults.disableFollowingMetrics, +) +const setContext = React.createContext( + (_: persisted.Schema['disableFollowingMetrics']) => {}, +) + +export function Provider({children}: React.PropsWithChildren<{}>) { + const [state, setState] = React.useState( + persisted.get('disableFollowingMetrics'), + ) + + const setStateWrapped = React.useCallback( + (value: persisted.Schema['disableFollowingMetrics']) => { + setState(value) + persisted.write('disableFollowingMetrics', value) + }, + [setState], + ) + + React.useEffect(() => { + return persisted.onUpdate('disableFollowingMetrics', next => { + setState(next) + }) + }, [setStateWrapped]) + + return ( + + + {children} + + + ) +} + +export function useDisableFollowingMetrics() { + return React.useContext(stateContext) +} + +export function useSetDisableFollowingMetrics() { + return React.useContext(setContext) +} diff --git a/src/state/preferences/disable-posts-metrics.tsx b/src/state/preferences/disable-posts-metrics.tsx new file mode 100644 index 000000000..e4bd0b178 --- /dev/null +++ b/src/state/preferences/disable-posts-metrics.tsx @@ -0,0 +1,50 @@ +import React from 'react' + +import * as persisted from '#/state/persisted' + +// Preference: disablePostsMetrics – when true, disables posts metrics on profiles + +type StateContext = persisted.Schema['disablePostsMetrics'] +// Same setter signature used across other preference modules +type SetContext = (v: persisted.Schema['disablePostsMetrics']) => void + +const stateContext = React.createContext( + persisted.defaults.disablePostsMetrics, +) +const setContext = React.createContext( + (_: persisted.Schema['disablePostsMetrics']) => {}, +) + +export function Provider({children}: React.PropsWithChildren<{}>) { + const [state, setState] = React.useState(persisted.get('disablePostsMetrics')) + + const setStateWrapped = React.useCallback( + (value: persisted.Schema['disablePostsMetrics']) => { + setState(value) + persisted.write('disablePostsMetrics', value) + }, + [setState], + ) + + React.useEffect(() => { + return persisted.onUpdate('disablePostsMetrics', next => { + setState(next) + }) + }, [setStateWrapped]) + + return ( + + + {children} + + + ) +} + +export function useDisablePostsMetrics() { + return React.useContext(stateContext) +} + +export function useSetDisablePostsMetrics() { + return React.useContext(setContext) +} diff --git a/src/view/com/auth/SplashScreen.web.tsx b/src/view/com/auth/SplashScreen.web.tsx index 9246e8a18..ae7ca2494 100644 --- a/src/view/com/auth/SplashScreen.web.tsx +++ b/src/view/com/auth/SplashScreen.web.tsx @@ -171,7 +171,7 @@ function Footer() { - Github + Tangled diff --git a/witchsky-static-about/index.html b/witchsky-static-about/index.html index 59ca84ad8..0b67870b4 100644 --- a/witchsky-static-about/index.html +++ b/witchsky-static-about/index.html @@ -19,6 +19,6 @@ window.location.href = "https://tangled.org/jollywhoppers.com/witchsky.app/"; -

Redirecting to GitHub README...

+

Redirecting to Tangled README...

-- 2.51.2