feat(privacy): support nobody option for group invites
Some checks are pending
CI / test (push) Has started running
Some checks are pending
CI / test (push) Has started running
This commit is contained in:
@@ -17,7 +17,7 @@ interface UserProfileUpdatePayload {
|
||||
privacy_private_messages?: "everyone" | "contacts" | "nobody";
|
||||
privacy_last_seen?: "everyone" | "contacts" | "nobody";
|
||||
privacy_avatar?: "everyone" | "contacts" | "nobody";
|
||||
privacy_group_invites?: "everyone" | "contacts";
|
||||
privacy_group_invites?: "everyone" | "contacts" | "nobody";
|
||||
}
|
||||
|
||||
export async function updateMyProfile(payload: UserProfileUpdatePayload): Promise<AuthUser> {
|
||||
|
||||
@@ -86,7 +86,7 @@ export interface AuthUser {
|
||||
privacy_private_messages?: "everyone" | "contacts" | "nobody";
|
||||
privacy_last_seen?: "everyone" | "contacts" | "nobody";
|
||||
privacy_avatar?: "everyone" | "contacts" | "nobody";
|
||||
privacy_group_invites?: "everyone" | "contacts";
|
||||
privacy_group_invites?: "everyone" | "contacts" | "nobody";
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ export function SettingsPanel({ open, onClose }: Props) {
|
||||
const [recoveryCodes, setRecoveryCodes] = useState<string[]>([]);
|
||||
const [privacyLastSeen, setPrivacyLastSeen] = useState<"everyone" | "contacts" | "nobody">("everyone");
|
||||
const [privacyAvatar, setPrivacyAvatar] = useState<"everyone" | "contacts" | "nobody">("everyone");
|
||||
const [privacyGroupInvites, setPrivacyGroupInvites] = useState<"everyone" | "contacts">("everyone");
|
||||
const [privacyGroupInvites, setPrivacyGroupInvites] = useState<"everyone" | "contacts" | "nobody">("everyone");
|
||||
const [notificationItems, setNotificationItems] = useState<NotificationItem[]>([]);
|
||||
const [notificationItemsLoading, setNotificationItemsLoading] = useState(false);
|
||||
const [profileDraft, setProfileDraft] = useState({
|
||||
@@ -501,10 +501,11 @@ export function SettingsPanel({ open, onClose }: Props) {
|
||||
<select
|
||||
className="w-full rounded bg-slate-800 px-2 py-1 text-xs"
|
||||
value={privacyGroupInvites}
|
||||
onChange={(e) => setPrivacyGroupInvites(e.target.value as "everyone" | "contacts")}
|
||||
onChange={(e) => setPrivacyGroupInvites(e.target.value as "everyone" | "contacts" | "nobody")}
|
||||
>
|
||||
<option value="everyone">Everybody</option>
|
||||
<option value="contacts">My contacts</option>
|
||||
<option value="nobody">Nobody</option>
|
||||
</select>
|
||||
</div>
|
||||
<button
|
||||
|
||||
Reference in New Issue
Block a user