about summary refs log tree commit diff
path: root/src/view/com/profile/ProfileHeader.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/view/com/profile/ProfileHeader.tsx')
-rw-r--r--src/view/com/profile/ProfileHeader.tsx143
1 files changed, 1 insertions, 142 deletions
diff --git a/src/view/com/profile/ProfileHeader.tsx b/src/view/com/profile/ProfileHeader.tsx
index 4fd766952..663290a2b 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 (
     <View style={pal.view}>
       <UserBanner handle={view.handle} banner={view.banner} />
@@ -247,15 +198,6 @@ export const ProfileHeader = observer(function ProfileHeader({
           </Text>
         </View>
         <View style={styles.handleLine}>
-          {view.isScene ? (
-            <View
-              style={[
-                styles.typeLabelWrapper,
-                {backgroundColor: pal.colors.backgroundLight},
-              ]}>
-              <Text style={[styles.typeLabel, pal.textLight]}>Scene</Text>
-            </View>
-          ) : undefined}
           <Text style={pal.textLight}>@{view.handle}</Text>
         </View>
         <View style={styles.metricsLine}>
@@ -283,19 +225,6 @@ export const ProfileHeader = observer(function ProfileHeader({
               </Text>
             </TouchableOpacity>
           ) : undefined}
-          {view.isScene ? (
-            <TouchableOpacity
-              testID="profileHeaderMembersButton"
-              style={[s.flexRow, s.mr10]}
-              onPress={onPressMembers}>
-              <Text type="body2" style={[s.bold, s.mr2, pal.text]}>
-                {view.membersCount}
-              </Text>
-              <Text type="body2" style={[pal.textLight]}>
-                {pluralize(view.membersCount, 'member')}
-              </Text>
-            </TouchableOpacity>
-          ) : undefined}
           <View style={[s.flexRow, s.mr10]}>
             <Text type="body2" style={[s.bold, s.mr2, pal.text]}>
               {view.postsCount}
@@ -313,35 +242,6 @@ export const ProfileHeader = observer(function ProfileHeader({
             entities={view.descriptionEntities}
           />
         ) : undefined}
-        {view.isScene && view.creator ? (
-          <View style={styles.detailLine}>
-            <FontAwesomeIcon
-              icon={['far', 'user']}
-              style={[pal.textLight, s.mr5]}
-            />
-            <Text type="body2" style={[s.mr2, pal.textLight]}>
-              Created by
-            </Text>
-            <UserInfoText
-              type="body2"
-              style={[pal.link]}
-              did={view.creator}
-              prefix="@"
-              asLink
-            />
-          </View>
-        ) : undefined}
-        {view.isScene && view.myState.member ? (
-          <View style={styles.detailLine}>
-            <FontAwesomeIcon
-              icon={['far', 'circle-check']}
-              style={[pal.textLight, s.mr5]}
-            />
-            <Text type="body2" style={[s.mr2, pal.textLight]}>
-              You are a member
-            </Text>
-          </View>
-        ) : undefined}
         {view.myState.muted ? (
           <View style={[styles.detailLine, pal.btn, s.p5]}>
             <FontAwesomeIcon
@@ -354,28 +254,6 @@ export const ProfileHeader = observer(function ProfileHeader({
           </View>
         ) : undefined}
       </View>
-      {view.isScene && view.creator === store.me.did ? (
-        <View style={[styles.sceneAdminContainer, pal.border]}>
-          <TouchableOpacity
-            testID="profileHeaderInviteMembersButton"
-            onPress={onPressInviteMembers}>
-            <LinearGradient
-              colors={[gradient[1], gradient[0]]}
-              start={{x: 0, y: 0}}
-              end={{x: 1, y: 1}}
-              style={[styles.btn, styles.gradientBtn, styles.sceneAdminBtn]}>
-              <FontAwesomeIcon
-                icon="user-plus"
-                style={[s.mr5, s.white]}
-                size={15}
-              />
-              <Text type="button" style={[s.bold, s.white]}>
-                Invite Members
-              </Text>
-            </LinearGradient>
-          </TouchableOpacity>
-        </View>
-      ) : undefined}
       <TouchableOpacity
         testID="profileHeaderAviButton"
         style={[pal.view, {borderColor: pal.colors.background}, styles.avi]}
@@ -444,15 +322,6 @@ const styles = StyleSheet.create({
     flexDirection: 'row',
     marginBottom: 8,
   },
-  typeLabelWrapper: {
-    paddingHorizontal: 4,
-    borderRadius: 4,
-    marginRight: 5,
-  },
-  typeLabel: {
-    fontSize: 15,
-    fontWeight: 'bold',
-  },
 
   metricsLine: {
     flexDirection: 'row',
@@ -468,14 +337,4 @@ const styles = StyleSheet.create({
     alignItems: 'center',
     marginBottom: 5,
   },
-
-  sceneAdminContainer: {
-    borderTopWidth: 1,
-    borderBottomWidth: 1,
-    paddingVertical: 12,
-    paddingHorizontal: 12,
-  },
-  sceneAdminBtn: {
-    paddingVertical: 8,
-  },
 })