+1
-1
src/screens/Signup/index.tsx
+1
-1
src/screens/Signup/index.tsx
+52
src/state/preferences/disable-followed-by-metrics.tsx
+52
src/state/preferences/disable-followed-by-metrics.tsx
···
1
+
import React from 'react'
2
+
3
+
import * as persisted from '#/state/persisted'
4
+
5
+
// Preference: disableFollowedByMetrics – when true, disables following metrics on profiles
6
+
7
+
type StateContext = persisted.Schema['disableFollowedByMetrics']
8
+
// Same setter signature used across other preference modules
9
+
type SetContext = (v: persisted.Schema['disableFollowedByMetrics']) => void
10
+
11
+
const stateContext = React.createContext<StateContext>(
12
+
persisted.defaults.disableFollowedByMetrics,
13
+
)
14
+
const setContext = React.createContext<SetContext>(
15
+
(_: persisted.Schema['disableFollowedByMetrics']) => {},
16
+
)
17
+
18
+
export function Provider({children}: React.PropsWithChildren<{}>) {
19
+
const [state, setState] = React.useState(
20
+
persisted.get('disableFollowedByMetrics'),
21
+
)
22
+
23
+
const setStateWrapped = React.useCallback(
24
+
(value: persisted.Schema['disableFollowedByMetrics']) => {
25
+
setState(value)
26
+
persisted.write('disableFollowedByMetrics', value)
27
+
},
28
+
[setState],
29
+
)
30
+
31
+
React.useEffect(() => {
32
+
return persisted.onUpdate('disableFollowedByMetrics', next => {
33
+
setState(next)
34
+
})
35
+
}, [setStateWrapped])
36
+
37
+
return (
38
+
<stateContext.Provider value={state}>
39
+
<setContext.Provider value={setStateWrapped}>
40
+
{children}
41
+
</setContext.Provider>
42
+
</stateContext.Provider>
43
+
)
44
+
}
45
+
46
+
export function useDisableFollowedByMetrics() {
47
+
return React.useContext(stateContext)
48
+
}
49
+
50
+
export function useSetDisableFollowedByMetrics() {
51
+
return React.useContext(setContext)
52
+
}
+52
src/state/preferences/disable-followers-metrics.tsx
+52
src/state/preferences/disable-followers-metrics.tsx
···
1
+
import React from 'react'
2
+
3
+
import * as persisted from '#/state/persisted'
4
+
5
+
// Preference: disableFollowersMetrics – when true, disables followers metrics on profiles
6
+
7
+
type StateContext = persisted.Schema['disableFollowersMetrics']
8
+
// Same setter signature used across other preference modules
9
+
type SetContext = (v: persisted.Schema['disableFollowersMetrics']) => void
10
+
11
+
const stateContext = React.createContext<StateContext>(
12
+
persisted.defaults.disableFollowersMetrics,
13
+
)
14
+
const setContext = React.createContext<SetContext>(
15
+
(_: persisted.Schema['disableFollowersMetrics']) => {},
16
+
)
17
+
18
+
export function Provider({children}: React.PropsWithChildren<{}>) {
19
+
const [state, setState] = React.useState(
20
+
persisted.get('disableFollowersMetrics'),
21
+
)
22
+
23
+
const setStateWrapped = React.useCallback(
24
+
(value: persisted.Schema['disableFollowersMetrics']) => {
25
+
setState(value)
26
+
persisted.write('disableFollowersMetrics', value)
27
+
},
28
+
[setState],
29
+
)
30
+
31
+
React.useEffect(() => {
32
+
return persisted.onUpdate('disableFollowersMetrics', next => {
33
+
setState(next)
34
+
})
35
+
}, [setStateWrapped])
36
+
37
+
return (
38
+
<stateContext.Provider value={state}>
39
+
<setContext.Provider value={setStateWrapped}>
40
+
{children}
41
+
</setContext.Provider>
42
+
</stateContext.Provider>
43
+
)
44
+
}
45
+
46
+
export function useDisableFollowersMetrics() {
47
+
return React.useContext(stateContext)
48
+
}
49
+
50
+
export function useSetDisableFollowersMetrics() {
51
+
return React.useContext(setContext)
52
+
}
+52
src/state/preferences/disable-following-metrics.tsx
+52
src/state/preferences/disable-following-metrics.tsx
···
1
+
import React from 'react'
2
+
3
+
import * as persisted from '#/state/persisted'
4
+
5
+
// Preference: disableFollowingMetrics – when true, disables following metrics on profiles
6
+
7
+
type StateContext = persisted.Schema['disableFollowingMetrics']
8
+
// Same setter signature used across other preference modules
9
+
type SetContext = (v: persisted.Schema['disableFollowingMetrics']) => void
10
+
11
+
const stateContext = React.createContext<StateContext>(
12
+
persisted.defaults.disableFollowingMetrics,
13
+
)
14
+
const setContext = React.createContext<SetContext>(
15
+
(_: persisted.Schema['disableFollowingMetrics']) => {},
16
+
)
17
+
18
+
export function Provider({children}: React.PropsWithChildren<{}>) {
19
+
const [state, setState] = React.useState(
20
+
persisted.get('disableFollowingMetrics'),
21
+
)
22
+
23
+
const setStateWrapped = React.useCallback(
24
+
(value: persisted.Schema['disableFollowingMetrics']) => {
25
+
setState(value)
26
+
persisted.write('disableFollowingMetrics', value)
27
+
},
28
+
[setState],
29
+
)
30
+
31
+
React.useEffect(() => {
32
+
return persisted.onUpdate('disableFollowingMetrics', next => {
33
+
setState(next)
34
+
})
35
+
}, [setStateWrapped])
36
+
37
+
return (
38
+
<stateContext.Provider value={state}>
39
+
<setContext.Provider value={setStateWrapped}>
40
+
{children}
41
+
</setContext.Provider>
42
+
</stateContext.Provider>
43
+
)
44
+
}
45
+
46
+
export function useDisableFollowingMetrics() {
47
+
return React.useContext(stateContext)
48
+
}
49
+
50
+
export function useSetDisableFollowingMetrics() {
51
+
return React.useContext(setContext)
52
+
}
+50
src/state/preferences/disable-posts-metrics.tsx
+50
src/state/preferences/disable-posts-metrics.tsx
···
1
+
import React from 'react'
2
+
3
+
import * as persisted from '#/state/persisted'
4
+
5
+
// Preference: disablePostsMetrics – when true, disables posts metrics on profiles
6
+
7
+
type StateContext = persisted.Schema['disablePostsMetrics']
8
+
// Same setter signature used across other preference modules
9
+
type SetContext = (v: persisted.Schema['disablePostsMetrics']) => void
10
+
11
+
const stateContext = React.createContext<StateContext>(
12
+
persisted.defaults.disablePostsMetrics,
13
+
)
14
+
const setContext = React.createContext<SetContext>(
15
+
(_: persisted.Schema['disablePostsMetrics']) => {},
16
+
)
17
+
18
+
export function Provider({children}: React.PropsWithChildren<{}>) {
19
+
const [state, setState] = React.useState(persisted.get('disablePostsMetrics'))
20
+
21
+
const setStateWrapped = React.useCallback(
22
+
(value: persisted.Schema['disablePostsMetrics']) => {
23
+
setState(value)
24
+
persisted.write('disablePostsMetrics', value)
25
+
},
26
+
[setState],
27
+
)
28
+
29
+
React.useEffect(() => {
30
+
return persisted.onUpdate('disablePostsMetrics', next => {
31
+
setState(next)
32
+
})
33
+
}, [setStateWrapped])
34
+
35
+
return (
36
+
<stateContext.Provider value={state}>
37
+
<setContext.Provider value={setStateWrapped}>
38
+
{children}
39
+
</setContext.Provider>
40
+
</stateContext.Provider>
41
+
)
42
+
}
43
+
44
+
export function useDisablePostsMetrics() {
45
+
return React.useContext(stateContext)
46
+
}
47
+
48
+
export function useSetDisablePostsMetrics() {
49
+
return React.useContext(setContext)
50
+
}
+1
-1
src/view/com/auth/SplashScreen.web.tsx
+1
-1
src/view/com/auth/SplashScreen.web.tsx