Simplify first time set my stories privacy

This commit is contained in:
Josh Perez 2023-01-02 13:11:21 -05:00 committed by GitHub
parent 53fbc85b5a
commit 943f765d73
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -251,18 +251,9 @@ export function SendStoryModal({
[i18n, ogMyStories] [i18n, ogMyStories]
); );
const initialMyStoriesMemberUuids = useMemo(
() => (ogMyStories?.members || []).map(({ uuid }) => uuid).filter(isNotNil),
[ogMyStories]
);
const [stagedMyStories, setStagedMyStories] = const [stagedMyStories, setStagedMyStories] =
useState<StoryDistributionListWithMembersDataType>(initialMyStories); useState<StoryDistributionListWithMembersDataType>(initialMyStories);
const [stagedMyStoriesMemberUuids, setStagedMyStoriesMemberUuids] = useState<
Array<UUIDStringType>
>(initialMyStoriesMemberUuids);
let selectedNames: string | undefined; let selectedNames: string | undefined;
if (page === Page.ChooseGroups) { if (page === Page.ChooseGroups) {
selectedNames = chosenGroupNames.join(', '); selectedNames = chosenGroupNames.join(', ');
@ -309,14 +300,18 @@ export function SendStoryModal({
</Button> </Button>
<Button <Button
onClick={() => { onClick={() => {
const uuids = stagedMyStories.members
.map(convo => convo.uuid)
.filter(isNotNil);
if (stagedMyStories.isBlockList) { if (stagedMyStories.isBlockList) {
if (stagedMyStories.members.length) { if (stagedMyStories.members.length) {
onHideMyStoriesFrom(stagedMyStoriesMemberUuids); onHideMyStoriesFrom(uuids);
} else { } else {
setMyStoriesToAllSignalConnections(); setMyStoriesToAllSignalConnections();
} }
} else { } else {
onViewersUpdated(MY_STORY_ID, stagedMyStoriesMemberUuids); onViewersUpdated(MY_STORY_ID, uuids);
} }
setSelectedContacts([]); setSelectedContacts([]);
@ -442,7 +437,14 @@ export function SendStoryModal({
onHideMyStoriesFrom(uuids); onHideMyStoriesFrom(uuids);
setPage(Page.SendStory); setPage(Page.SendStory);
} else if (page === Page.HideStoryFrom || page === Page.AddViewer) { } else if (page === Page.HideStoryFrom || page === Page.AddViewer) {
setStagedMyStoriesMemberUuids(uuids); const uuidsSet = new Set(uuids);
const members = candidateConversations.filter(convo =>
convo.uuid ? uuidsSet.has(convo.uuid) : false
);
setStagedMyStories(myStories => ({
...myStories,
members,
}));
setPage(Page.SetMyStoriesPrivacy); setPage(Page.SetMyStoriesPrivacy);
} else { } else {
setPage(Page.SendStory); setPage(Page.SendStory);
@ -465,7 +467,6 @@ export function SendStoryModal({
} else if (page === Page.HideStoryFrom || page === Page.AddViewer) { } else if (page === Page.HideStoryFrom || page === Page.AddViewer) {
setSelectedContacts([]); setSelectedContacts([]);
setStagedMyStories(initialMyStories); setStagedMyStories(initialMyStories);
setStagedMyStoriesMemberUuids(initialMyStoriesMemberUuids);
setPage(Page.SetMyStoriesPrivacy); setPage(Page.SetMyStoriesPrivacy);
} else if (page === Page.ChooseViewers) { } else if (page === Page.ChooseViewers) {
setSelectedContacts([]); setSelectedContacts([]);