diff --git a/src/state/models/profile-ui.ts b/src/state/models/profile-ui.ts index fb90fb694e..d2c441a117 100644 --- a/src/state/models/profile-ui.ts +++ b/src/state/models/profile-ui.ts @@ -8,17 +8,9 @@ import {FeedModel} from './feed-view' export enum Sections { Posts = 'Posts', PostsWithReplies = 'Posts & replies', - Scenes = 'Scenes', - Trending = 'Trending', - Members = 'Members', } -const USER_SELECTOR_ITEMS = [ - Sections.Posts, - Sections.PostsWithReplies, - Sections.Scenes, -] -const SCENE_SELECTOR_ITEMS = [Sections.Trending, Sections.Members] +const USER_SELECTOR_ITEMS = [Sections.Posts, Sections.PostsWithReplies] export interface ProfileUiParams { user: string @@ -28,8 +20,6 @@ export class ProfileUiModel { // data profile: ProfileViewModel feed: FeedModel - memberships: MembershipsViewModel - members: MembersViewModel // ui state selectedViewIndex = 0 @@ -51,24 +41,15 @@ export class ProfileUiModel { author: params.user, limit: 10, }) - this.memberships = new MembershipsViewModel(rootStore, {actor: params.user}) - this.members = new MembersViewModel(rootStore, {actor: params.user}) } get currentView(): FeedModel | MembershipsViewModel | MembersViewModel { if ( this.selectedView === Sections.Posts || - this.selectedView === Sections.PostsWithReplies || - this.selectedView === Sections.Trending + this.selectedView === Sections.PostsWithReplies ) { return this.feed } - if (this.selectedView === Sections.Scenes) { - return this.memberships - } - if (this.selectedView === Sections.Members) { - return this.members - } throw new Error(`Invalid selector value: ${this.selectedViewIndex}`) } @@ -85,15 +66,9 @@ export class ProfileUiModel { return this.profile.isUser } - get isScene() { - return this.profile.isScene - } - get selectorItems() { if (this.isUser) { return USER_SELECTOR_ITEMS - } else if (this.isScene) { - return SCENE_SELECTOR_ITEMS } else { return USER_SELECTOR_ITEMS } @@ -119,16 +94,6 @@ export class ProfileUiModel { .setup() .catch(err => this.rootStore.log.error('Failed to fetch feed', err)), ]) - if (this.isUser) { - await this.memberships - .setup() - .catch(err => this.rootStore.log.error('Failed to fetch members', err)) - } - if (this.isScene) { - await this.members - .setup() - .catch(err => this.rootStore.log.error('Failed to fetch members', err)) - } } async update() { diff --git a/src/state/models/profile-view.ts b/src/state/models/profile-view.ts index 2670627c3f..a3af7b553f 100644 --- a/src/state/models/profile-view.ts +++ b/src/state/models/profile-view.ts @@ -13,7 +13,6 @@ import {RootStoreModel} from './root-store' import * as apilib from '../lib/api' export const ACTOR_TYPE_USER = 'app.bsky.system.actorUser' -export const ACTOR_TYPE_SCENE = 'app.bsky.system.actorScene' export class ProfileViewMyStateModel { follow?: string @@ -85,10 +84,6 @@ export class ProfileViewModel { return this.declaration.actorType === ACTOR_TYPE_USER } - get isScene() { - return this.declaration.actorType === ACTOR_TYPE_SCENE - } - // public api // = diff --git a/src/view/com/profile/ProfileHeader.tsx b/src/view/com/profile/ProfileHeader.tsx index a4d7c7a922..06683cac33 100644 --- a/src/view/com/profile/ProfileHeader.tsx +++ b/src/view/com/profile/ProfileHeader.tsx @@ -1,15 +1,12 @@ -import React, {useMemo} from 'react' +import React from 'react' import {observer} from 'mobx-react-lite' import {StyleSheet, TouchableOpacity, View} from 'react-native' import LinearGradient from 'react-native-linear-gradient' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' -import {AtUri} from '../../../third-party/uri' import {ProfileViewModel} from '../../../state/models/profile-view' import {useStores} from '../../../state' import { - ConfirmModal, EditProfileModal, - InviteToSceneModal, ReportAccountModal, ProfileImageLightbox, } from '../../../state/models/shell-ui' @@ -23,7 +20,6 @@ import {Text} from '../util/text/Text' import {RichText} from '../util/text/RichText' import {UserAvatar} from '../util/UserAvatar' import {UserBanner} from '../util/UserBanner' -import {UserInfoText} from '../util/UserInfoText' import {usePalette} from '../../lib/hooks/usePalette' export const ProfileHeader = observer(function ProfileHeader({ @@ -35,10 +31,6 @@ export const ProfileHeader = observer(function ProfileHeader({ }) { const pal = usePalette('default') const store = useStores() - const isMember = useMemo( - () => view.isScene && view.myState.member, - [view.myState.member], - ) const onPressAvi = () => { store.shell.openLightbox(new ProfileImageLightbox(view)) @@ -64,31 +56,6 @@ export const ProfileHeader = observer(function ProfileHeader({ const onPressFollows = () => { store.nav.navigate(`/profile/${view.handle}/follows`) } - const onPressMembers = () => { - store.nav.navigate(`/profile/${view.handle}/members`) - } - const onPressInviteMembers = () => { - store.shell.openModal(new InviteToSceneModal(view)) - } - const onPressLeaveScene = () => { - store.shell.openModal( - new ConfirmModal( - 'Leave this scene?', - `You'll be able to come back unless your invite is revoked.`, - onPressConfirmLeaveScene, - ), - ) - } - const onPressConfirmLeaveScene = async () => { - if (view.myState.member) { - await store.api.app.bsky.graph.confirmation.delete({ - did: store.me.did || '', - rkey: new AtUri(view.myState.member).rkey, - }) - Toast.show(`Scene left`) - } - onRefreshAll() - } const onPressMuteAccount = async () => { try { await view.muteAccount() @@ -157,7 +124,6 @@ export const ProfileHeader = observer(function ProfileHeader({ // = const gradient = getGradient(view.handle) const isMe = store.me.did === view.did - const isCreator = view.isScene && view.creator === store.me.did let dropdownItems: DropdownItem[] | undefined if (!isMe) { dropdownItems = dropdownItems || [] @@ -170,21 +136,6 @@ export const ProfileHeader = observer(function ProfileHeader({ onPress: onPressReportAccount, }) } - if (isCreator || isMember) { - dropdownItems = dropdownItems || [] - if (isCreator) { - dropdownItems.push({ - label: 'Edit Profile', - onPress: onPressEditProfile, - }) - } - if (isMember) { - dropdownItems.push({ - label: 'Leave Scene...', - onPress: onPressLeaveScene, - }) - } - } return ( @@ -244,15 +195,6 @@ export const ProfileHeader = observer(function ProfileHeader({ - {view.isScene ? ( - - Scene - - ) : undefined} @{view.handle} @@ -278,18 +220,6 @@ export const ProfileHeader = observer(function ProfileHeader({ ) : undefined} - {view.isScene ? ( - - - {view.membersCount} - - - {pluralize(view.membersCount, 'member')} - - - ) : undefined} {view.postsCount} @@ -307,35 +237,6 @@ export const ProfileHeader = observer(function ProfileHeader({ entities={view.descriptionEntities} /> ) : undefined} - {view.isScene && view.creator ? ( - - - - Created by - - - - ) : undefined} - {view.isScene && view.myState.member ? ( - - - - You are a member - - - ) : undefined} {view.myState.muted ? ( ) : undefined} - {view.isScene && view.creator === store.me.did ? ( - - - - - - Invite Members - - - - - ) : undefined} @@ -435,15 +316,6 @@ const styles = StyleSheet.create({ flexDirection: 'row', marginBottom: 8, }, - typeLabelWrapper: { - paddingHorizontal: 4, - borderRadius: 4, - marginRight: 5, - }, - typeLabel: { - fontSize: 15, - fontWeight: 'bold', - }, metricsLine: { flexDirection: 'row', @@ -459,14 +331,4 @@ const styles = StyleSheet.create({ alignItems: 'center', marginBottom: 5, }, - - sceneAdminContainer: { - borderTopWidth: 1, - borderBottomWidth: 1, - paddingVertical: 12, - paddingHorizontal: 12, - }, - sceneAdminBtn: { - paddingVertical: 8, - }, })