extend default preferences from config
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
parent
6657161a32
commit
1aaff4f553
@ -23,6 +23,9 @@
|
|||||||
"moderation": true,
|
"moderation": true,
|
||||||
"defaultFollows": ["npub1sn0rtcjcf543gj4wsg7fa59s700d5ztys5ctj0g69g2x6802npjqhjjtws"]
|
"defaultFollows": ["npub1sn0rtcjcf543gj4wsg7fa59s700d5ztys5ctj0g69g2x6802npjqhjjtws"]
|
||||||
},
|
},
|
||||||
|
"defaultPreferences": {
|
||||||
|
"hideMutedNotes": false
|
||||||
|
},
|
||||||
"media": {
|
"media": {
|
||||||
"bypassImgProxyError": false,
|
"bypassImgProxyError": false,
|
||||||
"preferLargeMedia": true
|
"preferLargeMedia": true
|
||||||
|
@ -19,6 +19,9 @@
|
|||||||
"notificationGraph": false,
|
"notificationGraph": false,
|
||||||
"communityLeaders": true
|
"communityLeaders": true
|
||||||
},
|
},
|
||||||
|
"defaultPreferences": {
|
||||||
|
"hideMutedNotes": true
|
||||||
|
},
|
||||||
"signUp": {
|
"signUp": {
|
||||||
"moderation": false,
|
"moderation": false,
|
||||||
"defaultFollows": ["npub1wnwwcv0a8wx0m9stck34ajlwhzuua68ts8mw3kjvspn42dcfyjxs4n95l8"]
|
"defaultFollows": ["npub1wnwwcv0a8wx0m9stck34ajlwhzuua68ts8mw3kjvspn42dcfyjxs4n95l8"]
|
||||||
|
2
packages/app/custom.d.ts
vendored
2
packages/app/custom.d.ts
vendored
@ -61,7 +61,7 @@ declare const CONFIG: {
|
|||||||
communityLeaders: boolean;
|
communityLeaders: boolean;
|
||||||
};
|
};
|
||||||
defaultPreferences: {
|
defaultPreferences: {
|
||||||
checkSigs: boolean;
|
hideMutedNotes: boolean;
|
||||||
};
|
};
|
||||||
signUp: {
|
signUp: {
|
||||||
moderation: boolean;
|
moderation: boolean;
|
||||||
|
@ -99,6 +99,10 @@
|
|||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.reaction-pill {
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
.reaction-pill:not(.reacted):not(:hover) {
|
.reaction-pill:not(.reacted):not(:hover) {
|
||||||
color: var(--font-secondary-color);
|
color: var(--font-secondary-color);
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@ import messages from "./messages";
|
|||||||
|
|
||||||
const PreferencesPage = () => {
|
const PreferencesPage = () => {
|
||||||
const { formatMessage } = useIntl();
|
const { formatMessage } = useIntl();
|
||||||
const { id, perf } = useLogin(s => ({ id: s.id, perf: s.appData.item.preferences }));
|
const { id, pref } = useLogin(s => ({ id: s.id, pref: s.appData.item.preferences }));
|
||||||
const { lang } = useLocale();
|
const { lang } = useLocale();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@ -31,7 +31,7 @@ const PreferencesPage = () => {
|
|||||||
value={lang}
|
value={lang}
|
||||||
onChange={e =>
|
onChange={e =>
|
||||||
updatePreferences(id, {
|
updatePreferences(id, {
|
||||||
...perf,
|
...pref,
|
||||||
language: e.target.value,
|
language: e.target.value,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -52,10 +52,10 @@ const PreferencesPage = () => {
|
|||||||
</h4>
|
</h4>
|
||||||
<div>
|
<div>
|
||||||
<select
|
<select
|
||||||
value={perf.theme}
|
value={pref.theme}
|
||||||
onChange={e =>
|
onChange={e =>
|
||||||
updatePreferences(id, {
|
updatePreferences(id, {
|
||||||
...perf,
|
...pref,
|
||||||
theme: e.target.value,
|
theme: e.target.value,
|
||||||
} as UserPreferences)
|
} as UserPreferences)
|
||||||
}>
|
}>
|
||||||
@ -77,10 +77,10 @@ const PreferencesPage = () => {
|
|||||||
</h4>
|
</h4>
|
||||||
<div>
|
<div>
|
||||||
<select
|
<select
|
||||||
value={perf.defaultRootTab}
|
value={pref.defaultRootTab}
|
||||||
onChange={e =>
|
onChange={e =>
|
||||||
updatePreferences(id, {
|
updatePreferences(id, {
|
||||||
...perf,
|
...pref,
|
||||||
defaultRootTab: e.target.value,
|
defaultRootTab: e.target.value,
|
||||||
} as UserPreferences)
|
} as UserPreferences)
|
||||||
}>
|
}>
|
||||||
@ -108,8 +108,8 @@ const PreferencesPage = () => {
|
|||||||
<div>
|
<div>
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
checked={perf.telemetry ?? true}
|
checked={pref.telemetry ?? true}
|
||||||
onChange={e => updatePreferences(id, { ...perf, telemetry: e.target.checked })}
|
onChange={e => updatePreferences(id, { ...pref, telemetry: e.target.checked })}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -124,10 +124,10 @@ const PreferencesPage = () => {
|
|||||||
<div className="w-max">
|
<div className="w-max">
|
||||||
<select
|
<select
|
||||||
className="w-max"
|
className="w-max"
|
||||||
value={perf.autoLoadMedia}
|
value={pref.autoLoadMedia}
|
||||||
onChange={e =>
|
onChange={e =>
|
||||||
updatePreferences(id, {
|
updatePreferences(id, {
|
||||||
...perf,
|
...pref,
|
||||||
autoLoadMedia: e.target.value,
|
autoLoadMedia: e.target.value,
|
||||||
} as UserPreferences)
|
} as UserPreferences)
|
||||||
}>
|
}>
|
||||||
@ -156,8 +156,8 @@ const PreferencesPage = () => {
|
|||||||
<div>
|
<div>
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
checked={perf.checkSigs}
|
checked={pref.checkSigs}
|
||||||
onChange={e => updatePreferences(id, { ...perf, checkSigs: e.target.checked })}
|
onChange={e => updatePreferences(id, { ...pref, checkSigs: e.target.checked })}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -173,8 +173,8 @@ const PreferencesPage = () => {
|
|||||||
<div>
|
<div>
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
checked={perf.autoTranslate}
|
checked={pref.autoTranslate}
|
||||||
onChange={e => updatePreferences(id, { ...perf, autoTranslate: e.target.checked })}
|
onChange={e => updatePreferences(id, { ...pref, autoTranslate: e.target.checked })}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -190,9 +190,9 @@ const PreferencesPage = () => {
|
|||||||
<div>
|
<div>
|
||||||
<input
|
<input
|
||||||
type="number"
|
type="number"
|
||||||
defaultValue={perf.pow}
|
defaultValue={pref.pow}
|
||||||
min={0}
|
min={0}
|
||||||
onChange={e => updatePreferences(id, { ...perf, pow: parseInt(e.target.value || "0") })}
|
onChange={e => updatePreferences(id, { ...pref, pow: parseInt(e.target.value || "0") })}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -203,9 +203,9 @@ const PreferencesPage = () => {
|
|||||||
<div>
|
<div>
|
||||||
<input
|
<input
|
||||||
type="number"
|
type="number"
|
||||||
defaultValue={perf.defaultZapAmount}
|
defaultValue={pref.defaultZapAmount}
|
||||||
min={1}
|
min={1}
|
||||||
onChange={e => updatePreferences(id, { ...perf, defaultZapAmount: parseInt(e.target.value || "0") })}
|
onChange={e => updatePreferences(id, { ...pref, defaultZapAmount: parseInt(e.target.value || "0") })}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -221,8 +221,8 @@ const PreferencesPage = () => {
|
|||||||
<div>
|
<div>
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
checked={perf.showBadges ?? false}
|
checked={pref.showBadges ?? false}
|
||||||
onChange={e => updatePreferences(id, { ...perf, showBadges: e.target.checked })}
|
onChange={e => updatePreferences(id, { ...pref, showBadges: e.target.checked })}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -238,8 +238,8 @@ const PreferencesPage = () => {
|
|||||||
<div>
|
<div>
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
checked={perf.showStatus ?? true}
|
checked={pref.showStatus ?? true}
|
||||||
onChange={e => updatePreferences(id, { ...perf, showStatus: e.target.checked })}
|
onChange={e => updatePreferences(id, { ...pref, showStatus: e.target.checked })}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -255,8 +255,8 @@ const PreferencesPage = () => {
|
|||||||
<div>
|
<div>
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
checked={perf.autoZap}
|
checked={pref.autoZap}
|
||||||
onChange={e => updatePreferences(id, { ...perf, autoZap: e.target.checked })}
|
onChange={e => updatePreferences(id, { ...pref, autoZap: e.target.checked })}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -273,17 +273,17 @@ const PreferencesPage = () => {
|
|||||||
<div>
|
<div>
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
checked={perf.imgProxyConfig !== null}
|
checked={pref.imgProxyConfig !== null}
|
||||||
onChange={e =>
|
onChange={e =>
|
||||||
updatePreferences(id, {
|
updatePreferences(id, {
|
||||||
...perf,
|
...pref,
|
||||||
imgProxyConfig: e.target.checked ? DefaultImgProxy : undefined,
|
imgProxyConfig: e.target.checked ? DefaultImgProxy : undefined,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{perf.imgProxyConfig && (
|
{pref.imgProxyConfig && (
|
||||||
<div className="w-max form">
|
<div className="w-max form">
|
||||||
<div className="form-group">
|
<div className="form-group">
|
||||||
<div>
|
<div>
|
||||||
@ -292,7 +292,7 @@ const PreferencesPage = () => {
|
|||||||
<div className="w-max">
|
<div className="w-max">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value={perf.imgProxyConfig?.url}
|
value={pref.imgProxyConfig?.url}
|
||||||
placeholder={formatMessage({
|
placeholder={formatMessage({
|
||||||
defaultMessage: "URL..",
|
defaultMessage: "URL..",
|
||||||
id: "cQfLWb",
|
id: "cQfLWb",
|
||||||
@ -300,9 +300,9 @@ const PreferencesPage = () => {
|
|||||||
})}
|
})}
|
||||||
onChange={e =>
|
onChange={e =>
|
||||||
updatePreferences(id, {
|
updatePreferences(id, {
|
||||||
...perf,
|
...pref,
|
||||||
imgProxyConfig: {
|
imgProxyConfig: {
|
||||||
...unwrap(perf.imgProxyConfig),
|
...unwrap(pref.imgProxyConfig),
|
||||||
url: e.target.value,
|
url: e.target.value,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@ -317,7 +317,7 @@ const PreferencesPage = () => {
|
|||||||
<div className="w-max">
|
<div className="w-max">
|
||||||
<input
|
<input
|
||||||
type="password"
|
type="password"
|
||||||
value={perf.imgProxyConfig?.key}
|
value={pref.imgProxyConfig?.key}
|
||||||
placeholder={formatMessage({
|
placeholder={formatMessage({
|
||||||
defaultMessage: "Hex Key..",
|
defaultMessage: "Hex Key..",
|
||||||
id: "H+vHiz",
|
id: "H+vHiz",
|
||||||
@ -325,9 +325,9 @@ const PreferencesPage = () => {
|
|||||||
})}
|
})}
|
||||||
onChange={e =>
|
onChange={e =>
|
||||||
updatePreferences(id, {
|
updatePreferences(id, {
|
||||||
...perf,
|
...pref,
|
||||||
imgProxyConfig: {
|
imgProxyConfig: {
|
||||||
...unwrap(perf.imgProxyConfig),
|
...unwrap(pref.imgProxyConfig),
|
||||||
key: e.target.value,
|
key: e.target.value,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@ -342,7 +342,7 @@ const PreferencesPage = () => {
|
|||||||
<div className="w-max">
|
<div className="w-max">
|
||||||
<input
|
<input
|
||||||
type="password"
|
type="password"
|
||||||
value={perf.imgProxyConfig?.salt}
|
value={pref.imgProxyConfig?.salt}
|
||||||
placeholder={formatMessage({
|
placeholder={formatMessage({
|
||||||
defaultMessage: "Hex Salt..",
|
defaultMessage: "Hex Salt..",
|
||||||
id: "TpgeGw",
|
id: "TpgeGw",
|
||||||
@ -350,9 +350,9 @@ const PreferencesPage = () => {
|
|||||||
})}
|
})}
|
||||||
onChange={e =>
|
onChange={e =>
|
||||||
updatePreferences(id, {
|
updatePreferences(id, {
|
||||||
...perf,
|
...pref,
|
||||||
imgProxyConfig: {
|
imgProxyConfig: {
|
||||||
...unwrap(perf.imgProxyConfig),
|
...unwrap(pref.imgProxyConfig),
|
||||||
salt: e.target.value,
|
salt: e.target.value,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@ -375,8 +375,8 @@ const PreferencesPage = () => {
|
|||||||
<div>
|
<div>
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
checked={perf.enableReactions}
|
checked={pref.enableReactions}
|
||||||
onChange={e => updatePreferences(id, { ...perf, enableReactions: e.target.checked })}
|
onChange={e => updatePreferences(id, { ...pref, enableReactions: e.target.checked })}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -389,11 +389,11 @@ const PreferencesPage = () => {
|
|||||||
</small>
|
</small>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value={perf.reactionEmoji}
|
value={pref.reactionEmoji}
|
||||||
onChange={e => {
|
onChange={e => {
|
||||||
const split = e.target.value.match(/[\p{L}\S]{1}/u);
|
const split = e.target.value.match(/[\p{L}\S]{1}/u);
|
||||||
updatePreferences(id, {
|
updatePreferences(id, {
|
||||||
...perf,
|
...pref,
|
||||||
reactionEmoji: split?.[0] ?? "",
|
reactionEmoji: split?.[0] ?? "",
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
@ -411,8 +411,8 @@ const PreferencesPage = () => {
|
|||||||
<div>
|
<div>
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
checked={perf.confirmReposts}
|
checked={pref.confirmReposts}
|
||||||
onChange={e => updatePreferences(id, { ...perf, confirmReposts: e.target.checked })}
|
onChange={e => updatePreferences(id, { ...pref, confirmReposts: e.target.checked })}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -428,8 +428,8 @@ const PreferencesPage = () => {
|
|||||||
<div>
|
<div>
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
checked={perf.autoShowLatest}
|
checked={pref.autoShowLatest}
|
||||||
onChange={e => updatePreferences(id, { ...perf, autoShowLatest: e.target.checked })}
|
onChange={e => updatePreferences(id, { ...pref, autoShowLatest: e.target.checked })}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -441,10 +441,10 @@ const PreferencesPage = () => {
|
|||||||
<FormattedMessage {...messages.FileUploadHelp} />
|
<FormattedMessage {...messages.FileUploadHelp} />
|
||||||
</small>
|
</small>
|
||||||
<select
|
<select
|
||||||
value={perf.fileUploader}
|
value={pref.fileUploader}
|
||||||
onChange={e =>
|
onChange={e =>
|
||||||
updatePreferences(id, {
|
updatePreferences(id, {
|
||||||
...perf,
|
...pref,
|
||||||
fileUploader: e.target.value,
|
fileUploader: e.target.value,
|
||||||
} as UserPreferences)
|
} as UserPreferences)
|
||||||
}>
|
}>
|
||||||
@ -469,8 +469,8 @@ const PreferencesPage = () => {
|
|||||||
<div>
|
<div>
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
checked={perf.showDebugMenus}
|
checked={pref.showDebugMenus}
|
||||||
onChange={e => updatePreferences(id, { ...perf, showDebugMenus: e.target.checked })}
|
onChange={e => updatePreferences(id, { ...pref, showDebugMenus: e.target.checked })}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -486,8 +486,8 @@ const PreferencesPage = () => {
|
|||||||
<div>
|
<div>
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
checked={perf.hideMutedNotes}
|
checked={pref.hideMutedNotes}
|
||||||
onChange={e => updatePreferences(id, { ...perf, hideMutedNotes: e.target.checked })}
|
onChange={e => updatePreferences(id, { ...pref, hideMutedNotes: e.target.checked })}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -122,4 +122,5 @@ export const DefaultPreferences = {
|
|||||||
checkSigs: true,
|
checkSigs: true,
|
||||||
autoTranslate: true,
|
autoTranslate: true,
|
||||||
hideMutedNotes: false,
|
hideMutedNotes: false,
|
||||||
|
...CONFIG.defaultPreferences
|
||||||
} as UserPreferences;
|
} as UserPreferences;
|
||||||
|
Loading…
Reference in New Issue
Block a user