Skip to content
This repository has been archived by the owner on Oct 4, 2023. It is now read-only.

Commit

Permalink
Revert "[PAY-1701] Fix "Share to DMs" to work through InboxUnavailabl…
Browse files Browse the repository at this point in the history
…eModal (#3874)"

This reverts commit 3436c20.
  • Loading branch information
rickyrombo committed Aug 16, 2023
1 parent f9382e9 commit 32aae3e
Show file tree
Hide file tree
Showing 24 changed files with 214 additions and 275 deletions.
9 changes: 1 addition & 8 deletions packages/common/src/store/reducers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,10 +97,6 @@ import deletePlaylistConfirmationReducer from './ui/delete-playlist-confirmation
import { DeletePlaylistConfirmationModalState } from './ui/delete-playlist-confirmation-modal/types'
import duplicateAddConfirmationReducer from './ui/duplicate-add-confirmation-modal/slice'
import { DuplicateAddConfirmationModalState } from './ui/duplicate-add-confirmation-modal/types'
import {
InboxUnavailableModalState,
inboxUnavailableModalReducer
} from './ui/inbox-unavailable-modal'
import {
LeavingAudiusModalState,
leavingAudiusModalReducer
Expand Down Expand Up @@ -204,8 +200,6 @@ export const reducers = () => ({
mobileOverflowModal: mobileOverflowModalReducer,
modals: modalsReducer,
modalsWithState: combineReducers({
createChatModal: createChatModalReducer,
inboxUnavailableModal: inboxUnavailableModalReducer,
leavingAudiusModal: leavingAudiusModalReducer
}),
musicConfetti: musicConfettiReducer,
Expand Down Expand Up @@ -324,6 +318,7 @@ export type CommonState = {
buyAudio: ReturnType<typeof buyAudioReducer>
addToPlaylist: AddToPlaylistState
changePassword: ChangePasswordState
createChatModal: CreateChatModalState
createPlaylistModal: CreatePlaylistModalState
collectibleDetails: CollectibleDetailsState
deletePlaylistConfirmationModal: DeletePlaylistConfirmationModalState
Expand All @@ -332,8 +327,6 @@ export type CommonState = {
mobileOverflowModal: MobileOverflowModalState
modals: ModalsState
modalsWithState: {
createChatModal: CreateChatModalState
inboxUnavailableModal: InboxUnavailableModalState
leavingAudiusModal: LeavingAudiusModalState
}
musicConfetti: MusicConfettiState
Expand Down
7 changes: 1 addition & 6 deletions packages/common/src/store/tipping/slice.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Action, createSlice, PayloadAction } from '@reduxjs/toolkit'
import { createSlice, PayloadAction } from '@reduxjs/toolkit'

import { TipSource } from '../../models/Analytics'
import { ID } from '../../models/Identifiers'
Expand Down Expand Up @@ -104,8 +104,6 @@ const slice = createSlice({
user: User | null
source: TipSource
trackId?: ID
onSuccessActions?: Action[]
onSuccessConfirmedActions?: Action[]
}>
) => {
if (!action.payload.user) {
Expand All @@ -115,9 +113,6 @@ const slice = createSlice({
state.send.source = action.payload.source
state.send.user = action.payload.user
state.send.trackId = action.payload.trackId ?? null
state.send.onSuccessActions = action.payload.onSuccessActions
state.send.onSuccessConfirmedActions =
action.payload.onSuccessConfirmedActions
},
sendTip: (state, action: PayloadAction<{ amount: string }>) => {
if (state.send.status !== 'SEND') {
Expand Down
10 changes: 0 additions & 10 deletions packages/common/src/store/tipping/types.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import type { Action } from '@reduxjs/toolkit'

import { TipSource } from '../../models/Analytics'
import { ID } from '../../models/Identifiers'
import { Supporter, Supporting, UserTip } from '../../models/Tipping'
Expand Down Expand Up @@ -51,14 +49,6 @@ export type TippingState = {
error: Nullable<string>
source: TipSource
trackId: Nullable<number> // in case the user is sending a tip from a gated track page / modal
/**
* Actions to fire when the tip sends successfully
*/
onSuccessActions?: Action[]
/**
* Actions to fire when the tip is confirmed to be indexed by discovery
*/
onSuccessConfirmedActions?: Action[]
}
tipToDisplay: Nullable<UserTip>
showTip: boolean
Expand Down
22 changes: 0 additions & 22 deletions packages/common/src/store/ui/create-chat-modal/index.ts

This file was deleted.

7 changes: 7 additions & 0 deletions packages/common/src/store/ui/create-chat-modal/selectors.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { CommonState } from 'store/index'

export const getPresetMessage = (state: CommonState) =>
state.ui.createChatModal.presetMessage

export const getOnCancelAction = (state: CommonState) =>
state.ui.createChatModal.onCancelAction
29 changes: 29 additions & 0 deletions packages/common/src/store/ui/create-chat-modal/slice.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { Action, createSlice, PayloadAction } from '@reduxjs/toolkit'

export type CreateChatModalState = {
presetMessage?: string
onCancelAction?: Action
}

const initialState: CreateChatModalState = {}

// This is only really relevant on Web, where we don't have the ability to route the URL to the modal
// On mobile, the ChatUserListScreen is a screen and we can pass the presetMessage in as a param,
// and navigation is handled nicely, no need for a cancel action.
const slice = createSlice({
name: 'application/ui/createChatModal',
initialState,
reducers: {
setState: (
state,
action: PayloadAction<{ presetMessage?: string; onCancelAction?: Action }>
) => {
state.presetMessage = action.payload.presetMessage
state.onCancelAction = action.payload.onCancelAction
}
}
})

export const actions = slice.actions

export default slice.reducer
26 changes: 0 additions & 26 deletions packages/common/src/store/ui/inbox-unavailable-modal/index.ts

This file was deleted.

15 changes: 12 additions & 3 deletions packages/common/src/store/ui/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,15 @@ export {
export * as searchUsersModalSelectors from './search-users-modal/selectors'
export { default as searchUsersModalSagas } from './search-users-modal/sagas'

export * from './create-chat-modal'
export * from './leaving-audius-modal'
export * from './inbox-unavailable-modal'
export {
default as createChatModalReducer,
actions as createChatModalActions,
CreateChatModalState
} from './create-chat-modal/slice'
export * as createChatModalSelectors from './create-chat-modal/selectors'

export {
leavingAudiusModalReducer,
useLeavingAudiusModal,
LeavingAudiusModalState
} from './leaving-audius-modal'
5 changes: 2 additions & 3 deletions packages/common/src/store/ui/modals/createModal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ export const createModal = <T>({
name: `modals/${reducerPath}`,
initialState,
reducers: {
open: (_, action: PayloadAction<T>) => {
return { ...action.payload, isOpen: true }
open: (_, action: PayloadAction<T & BaseModalState>) => {
return action.payload
},
close: (state) => {
state.isOpen = 'closing'
Expand Down Expand Up @@ -99,7 +99,6 @@ export const createModal = <T>({

return {
hook: useModal,
actions: slice.actions,
reducer: slice.reducer
}
}
1 change: 1 addition & 0 deletions packages/common/src/store/ui/modals/slice.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ const initialState: ModalsState = {
TransactionDetails: false,
VipDiscord: false,
StripeOnRamp: false,
CreateChat: false,
InboxSettings: false,
LockedContent: false,
PlaybackRate: false,
Expand Down
1 change: 1 addition & 0 deletions packages/common/src/store/ui/modals/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ export type Modals =
| 'TransactionDetails'
| 'VipDiscord'
| 'StripeOnRamp'
| 'CreateChat'
| 'InboxSettings'
| 'LockedContent'
| 'PlaybackRate'
Expand Down
3 changes: 0 additions & 3 deletions packages/common/src/store/ui/search-users-modal/selectors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,3 @@ import { CommonState } from 'store/reducers'

export const getUserList = (state: CommonState) =>
state.ui.searchUsersModal.userList

export const getLastSearchQuery = (state: CommonState) =>
state.ui.searchUsersModal.lastQuery
23 changes: 9 additions & 14 deletions packages/web/src/common/store/tipping/sagas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -272,13 +272,7 @@ function* sendTipAsync() {
}

const sendTipData = yield* select(getSendTipData)
const {
user: recipient,
amount,
source,
trackId,
onSuccessConfirmedActions
} = sendTipData
const { user: recipient, amount, source, trackId } = sendTipData
if (!recipient) {
return
}
Expand Down Expand Up @@ -391,14 +385,15 @@ function* sendTipAsync() {
yield* put(
fetchPermissions({ userIds: [sender.user_id, recipient.user_id] })
)
if (onSuccessConfirmedActions) {
// Spread here to unfreeze the action
// Redux sagas can't "put" frozen actions
for (const action of onSuccessConfirmedActions) {
yield* put({ ...action })
}
}
if (source === 'inboxUnavailableModal') {
console.debug('Creating chat silently...')
// Create the chat but don't navigate
yield* put(
chatActions.createChat({
userIds: [recipient.user_id],
skipNavigation: true
})
)
yield* put(
make(Name.TIP_UNLOCKED_CHAT, {
recipientUserId: recipient.user_id
Expand Down
Loading

0 comments on commit 32aae3e

Please sign in to comment.