Added Timeline Injections
• Added: - Timeline Injections - FeaturedGroupsInjection, GroupCategoriesInjection, ProUpgradeInjection, PWAInjection, ShopInjection, TimelineInjectionBase, TimelineInjectionLayout, TimelineInjectionRoot, UserSuggestionsInjection - Constants - Redux for timeline_injections - settings for setting - popover for dismissing and saving weight
This commit is contained in:
32
app/javascript/gabsocial/actions/timeline_injections.js
Normal file
32
app/javascript/gabsocial/actions/timeline_injections.js
Normal file
@@ -0,0 +1,32 @@
|
||||
import {
|
||||
TIMELINE_INJECTION_WEIGHT_DEFAULT,
|
||||
TIMELINE_INJECTION_WEIGHT_MULTIPLIER,
|
||||
TIMELINE_INJECTION_WEIGHT_SUBTRACTOR,
|
||||
TIMELINE_INJECTION_WEIGHT_MIN,
|
||||
} from '../constants'
|
||||
import { changeSetting } from './settings'
|
||||
|
||||
export const TIMELINE_INJECTION_SHOW = 'TIMELINE_INJECTION_SHOW'
|
||||
export const TIMELINE_INJECTION_HIDE = 'TIMELINE_INJECTION_HIDE'
|
||||
|
||||
export const showTimelineInjection = (injectionId) => (dispatch) => {
|
||||
dispatch({
|
||||
type: TIMELINE_INJECTION_SHOW,
|
||||
injectionId,
|
||||
})
|
||||
}
|
||||
|
||||
export const hideTimelineInjection = (injectionId) => (dispatch, getState) => {
|
||||
const existingInjectionWeight = getState().getIn(['settings', 'injections', injectionId], null)
|
||||
|
||||
if (!existingInjectionWeight) return false
|
||||
|
||||
const newInjectionWeight = Math.max(existingInjectionWeight - 0.005, 0.01)
|
||||
|
||||
dispatch(changeSetting(['injections', injectionId], newInjectionWeight))
|
||||
|
||||
dispatch({
|
||||
type: TIMELINE_INJECTION_HIDE,
|
||||
injectionId,
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user