This commit is contained in:
mgabdev
2020-04-11 18:29:19 -04:00
parent 7249143d9f
commit 595208780e
160 changed files with 1678 additions and 2103 deletions

View File

@@ -3,14 +3,14 @@
import { HotKeys } from 'react-hotkeys'
import { defineMessages, injectIntl } from 'react-intl'
import { Switch, Redirect, withRouter } from 'react-router-dom'
import { debounce } from 'lodash'
import debounce from 'lodash.debounce'
import { uploadCompose, resetCompose } from '../../actions/compose'
import { expandHomeTimeline } from '../../actions/timelines'
import {
initializeNotifications,
expandNotifications,
} from '../../actions/notifications'
import LoadingBarContainer from '../../containers/loading_bar_container'
import LoadingBar from '../../components/loading_bar'
import { fetchFilters } from '../../actions/filters'
import { clearHeight } from '../../actions/height_cache'
import { openModal } from '../../actions/modal'
@@ -37,9 +37,9 @@ import SettingsPage from '../../pages/settings_page'
import {
AccountGallery,
AccountTimeline,
Blocks,
BlockedAccounts,
BlockedDomains,
CommunityTimeline,
DomainBlocks,
// Favorites,
// Filters,
Followers,
@@ -78,7 +78,7 @@ const messages = defineMessages({
publish: { id: 'compose_form.publish', defaultMessage: 'Gab' },
})
const mapStateToProps = state => ({
const mapStateToProps = (state) => ({
isComposing: state.getIn(['compose', 'is_composing']),
hasComposingText: state.getIn(['compose', 'text']).trim().length !== 0,
hasMediaAttachments: state.getIn(['compose', 'media_attachments']).size > 0,
@@ -182,8 +182,8 @@ class SwitchingArea extends PureComponent {
<WrappedRoute path='/settings/billing' exact page={SettingsPage} component={Billing} content={children} />
*/ }
<WrappedRoute path='/settings/blocks' exact page={SettingsPage} component={Blocks} content={children} componentParams={{ title: 'Blocked Accounts' }} />
<WrappedRoute path='/settings/domain-blocks' exact page={SettingsPage} component={DomainBlocks} content={children} componentParams={{ title: 'Domain Blocks' }} />
<WrappedRoute path='/settings/blocks' exact page={SettingsPage} component={BlockedAccounts} content={children} componentParams={{ title: 'Blocked Accounts' }} />
<WrappedRoute path='/settings/domain-blocks' exact page={SettingsPage} component={BlockedDomains} content={children} componentParams={{ title: 'Blocked Domains' }} />
{ /* <WrappedRoute path='/settings/filters' exact page={SettingsPage} component={Filters} content={children} componentParams={{ title: 'Muted Words' }} /> */ }
<WrappedRoute path='/settings/mutes' exact page={SettingsPage} component={Mutes} content={children} componentParams={{ title: 'Muted Accounts' }} />
@@ -496,7 +496,7 @@ class UI extends PureComponent {
return (
<div ref={this.setRef}>
<LoadingBarContainer className={[_s.height1PX, _s.z3, _s.backgroundColorBrandLight].join(' ')} />
<LoadingBar className={[_s.height1PX, _s.z3, _s.backgroundColorBrandLight].join(' ')} />
<SwitchingArea location={location} onLayoutChange={this.handleLayoutChange}>
{children}

View File

@@ -1,135 +1,34 @@
export function AccountTimeline() {
return import(/* webpackChunkName: "features/account_timeline" */'../../account_timeline')
}
export function AccountGallery() {
return import(/* webpackChunkName: "features/account_gallery" */'../../account_gallery')
}
export function Blocks() {
return import(/* webpackChunkName: "features/blocks" */'../../blocked_accounts')
}
export function CommunityTimeline() {
return import(/* webpackChunkName: "features/community_timeline" */'../../community_timeline')
}
export function Compose() {
return import(/* webpackChunkName: "features/compose" */'../../compose')
}
export function DomainBlocks() {
return import(/* webpackChunkName: "features/domain_blocks" */'../../blocked_domains')
}
export function EmbedModal() {
return import(/* webpackChunkName: "modals/embed_modal" */'../../../components/modal/embed_modal')
}
export function EmojiPicker() {
return import(/* webpackChunkName: "emoji_picker" */'../../../components/emoji/emoji_picker')
}
export function Followers() {
return import(/* webpackChunkName: "features/followers" */'../../followers')
}
export function Following() {
return import(/* webpackChunkName: "features/following" */'../../following')
}
export function FollowRequests() {
return import(/* webpackChunkName: "features/follow_requests" */'../../follow_requests')
}
export function LikedStatuses() {
return import(/* webpackChunkName: "features/liked_statuses" */'../../liked_statuses')
}
export function GenericNotFound() {
return import(/* webpackChunkName: "features/generic_not_found" */'../../generic_not_found')
}
export function GroupsCollection() {
return import(/* webpackChunkName: "features/groups_collection" */'../../g../../groups_collection')
}
export function GroupCreate() {
return import(/* webpackChunkName: "features/group_create" */'../../group_create')
}
export function GroupMembers() {
return import(/* webpackChunkName: "features/group_members" */'../../group_members')
}
export function GroupRemovedAccounts() {
return import(/* webpackChunkName: "features/group_removed_accounts" */'../../group_removed_accounts')
}
export function GroupTimeline() {
return import(/* webpackChunkName: "features/group_timeline" */'../../group_timeline')
}
export function HashtagTimeline() {
return import(/* webpackChunkName: "features/hashtag_timeline" */'../../hashtag_timeline')
}
export function HomeTimeline() {
return import(/* webpackChunkName: "features/home_timeline" */'../../home_timeline')
}
export function ListCreate() {
return import(/* webpackChunkName: "features/list_create" */'../../list_create')
}
export function ListsDirectory() {
return import(/* webpackChunkName: "features/lists_directory" */'../../lists_directory')
}
export function ListEdit() {
return import(/* webpackChunkName: "features/list_editor" */'../../list_edit')
}
export function ListTimeline() {
return import(/* webpackChunkName: "features/list_timeline" */'../../list_timeline')
}
export function MediaGallery() {
return import(/* webpackChunkName: "status/media_gallery" */'../../../components/media_gallery')
}
export function Mutes() {
return import(/* webpackChunkName: "features/mutes" */'../../mutes')
}
export function MuteModal() {
return import(/* webpackChunkName: "modals/mute_modal" */'../../../components/modal/mute_modal')
}
export function Notifications() {
return import(/* webpackChunkName: "features/notifications" */'../../notifications')
}
export function Reposts() {
return import(/* webpackChunkName: "features/reposts" */'../../reposts')
}
export function ReportModal() {
return import(/* webpackChunkName: "modals/report_modal" */'../../../components/modal/report_modal')
}
export function Search() {
return import(/*webpackChunkName: "features/search" */'../../search')
}
export function Status() {
return import(/* webpackChunkName: "features/status" */'../../status')
}
export function StatusRevisionsModal() {
return import(/* webpackChunkName: "modals/status_revisions_modal" */'../../../components/modal/status_revisions_modal')
}
export function Video() {
return import(/* webpackChunkName: "features/video" */'../../../components/video')
}
export function AccountTimeline() { return import(/* webpackChunkName: "features/account_timeline" */'../../account_timeline') }
export function AccountGallery() { return import(/* webpackChunkName: "features/account_gallery" */'../../account_gallery') }
export function BlockedAccounts() { return import(/* webpackChunkName: "features/blocked_accounts" */'../../blocked_accounts') }
export function BlockedDomains() { return import(/* webpackChunkName: "features/blocked_domains" */'../../blocked_domains') }
export function CommunityTimeline() { return import(/* webpackChunkName: "features/community_timeline" */'../../community_timeline') }
export function Compose() { return import(/* webpackChunkName: "features/compose" */'../../compose') }
export function EmbedModal() { return import(/* webpackChunkName: "modals/embed_modal" */'../../../components/modal/embed_modal') }
export function EmojiPicker() { return import(/* webpackChunkName: "emoji_picker" */'../../../components/emoji/emoji_picker') }
export function Followers() { return import(/* webpackChunkName: "features/followers" */'../../followers') }
export function Following() { return import(/* webpackChunkName: "features/following" */'../../following') }
export function FollowRequests() { return import(/* webpackChunkName: "features/follow_requests" */'../../follow_requests') }
export function LikedStatuses() { return import(/* webpackChunkName: "features/liked_statuses" */'../../liked_statuses') }
export function GenericNotFound() { return import(/* webpackChunkName: "features/generic_not_found" */'../../generic_not_found') }
export function GroupsCollection() { return import(/* webpackChunkName: "features/groups_collection" */'../../groups_collection') }
export function GroupCreate() { return import(/* webpackChunkName: "features/group_create" */'../../group_create') }
export function GroupMembers() { return import(/* webpackChunkName: "features/group_members" */'../../group_members') }
export function GroupRemovedAccounts() { return import(/* webpackChunkName: "features/group_removed_accounts" */'../../group_removed_accounts') }
export function GroupTimeline() { return import(/* webpackChunkName: "features/group_timeline" */'../../group_timeline') }
export function HashtagTimeline() { return import(/* webpackChunkName: "features/hashtag_timeline" */'../../hashtag_timeline') }
export function HomeTimeline() { return import(/* webpackChunkName: "features/home_timeline" */'../../home_timeline') }
export function ListCreate() { return import(/* webpackChunkName: "features/list_create" */'../../list_create') }
export function ListsDirectory() { return import(/* webpackChunkName: "features/lists_directory" */'../../lists_directory') }
export function ListEdit() { return import(/* webpackChunkName: "features/list_editor" */'../../list_edit') }
export function ListTimeline() { return import(/* webpackChunkName: "features/list_timeline" */'../../list_timeline') }
export function MediaGallery() { return import(/* webpackChunkName: "components/media_gallery" */'../../../components/media_gallery') }
export function Mutes() { return import(/* webpackChunkName: "features/mutes" */'../../mutes') }
export function MuteModal() { return import(/* webpackChunkName: "modals/mute_modal" */'../../../components/modal/mute_modal') }
export function Notifications() { return import(/* webpackChunkName: "features/notifications" */'../../notifications') }
export function Reposts() { return import(/* webpackChunkName: "features/reposts" */'../../reposts') }
export function ReportModal() { return import(/* webpackChunkName: "modals/report_modal" */'../../../components/modal/report_modal') }
export function Search() { return import(/*webpackChunkName: "features/search" */'../../search') }
export function Status() { return import(/* webpackChunkName: "features/status" */'../../status') }
export function StatusRevisionsModal() { return import(/* webpackChunkName: "modals/status_revisions_modal" */'../../../components/modal/status_revisions_modal') }
export function Video() { return import(/* webpackChunkName: "components/video" */'../../../components/video') }

View File

@@ -4,7 +4,7 @@ import {
fetchBundleFail
} from '../../../actions/bundles'
const mapDispatchToProps = dispatch => ({
const mapDispatchToProps = (dispatch) => ({
onFetch() {
dispatch(fetchBundleRequest())
},

View File

@@ -0,0 +1,41 @@
import isEqual from 'lodash.isequal'
export default class PageTitle extends PureComponent {
static propTypes = {
badge: PropTypes.oneOf([
PropTypes.number,
PropTypes.string,
]),
path: PropTypes.oneOf([
PropTypes.sting,
PropTypes.array,
]),
}
componentDidMount() {
this.updatePageTitle(this.props)
}
componentDidUpdate(prevProps) {
if (this.props.badge !== prevProps.badge || !isEqual(this.props.path, prevProps.path)) {
this.updatePageTitle(this.props)
}
}
updatePageTitle = ({ badge, path}) => {
const site = 'Gab'
let realPath = Array.isArray(path) ? path.join(' / ') : path
realPath = realPath.trim()
const realBadge = !!badge ? `(${badge})` : ''
const title = `${realBadge} ${realPath} / ${site}`.trim()
document.title = title
}
render() {
return null
}
}