@@ -41,11 +41,13 @@ const ViewProfile: NextPage = () => {
41
41
AccountFeedType . Collects . toLowerCase ( )
42
42
] ;
43
43
44
- const feedType = type
45
- ? lowerCaseAccountFeedType . includes ( type as string )
46
- ? type . toString ( ) . toUpperCase ( )
47
- : AccountFeedType . Feed
48
- : AccountFeedType . Feed ;
44
+ const getFeedType = ( type : string | undefined ) => {
45
+ return type && lowerCaseAccountFeedType . includes ( type . toLowerCase ( ) )
46
+ ? type . toUpperCase ( )
47
+ : AccountFeedType . Feed ;
48
+ } ;
49
+
50
+ const feedType = getFeedType ( Array . isArray ( type ) ? type [ 0 ] : type ) ;
49
51
50
52
const { data, error, loading } = useAccountQuery ( {
51
53
skip : address ? ! address : ! username ,
@@ -81,14 +83,30 @@ const ViewProfile: NextPage = () => {
81
83
const isSuspended = isStaff ? false : accountDetails ?. isSuspended ;
82
84
const isDeleted = isAccountDeleted ( account ) ;
83
85
86
+ const renderAccountDetails = ( ) => {
87
+ if ( isDeleted ) return < DeletedDetails account = { account } /> ;
88
+ if ( isSuspended ) return < SuspendedDetails account = { account } /> ;
89
+ return (
90
+ < Details
91
+ isSuspended = { accountDetails ?. isSuspended || false }
92
+ account = { account }
93
+ />
94
+ ) ;
95
+ } ;
96
+
97
+ const renderEmptyState = ( ) => (
98
+ < EmptyState
99
+ icon = { < NoSymbolIcon className = "size-8" /> }
100
+ message = { isDeleted ? "Account Deleted" : "Account Suspended" }
101
+ />
102
+ ) ;
103
+
84
104
return (
85
105
< >
86
106
< MetaTags
87
107
creator = { getAccount ( account ) . name }
88
108
description = { account . metadata ?. bio || "" }
89
- title = { `${ getAccount ( account ) . name } (${
90
- getAccount ( account ) . usernameWithPrefix
91
- } ) • ${ APP_NAME } `}
109
+ title = { `${ getAccount ( account ) . name } (${ getAccount ( account ) . usernameWithPrefix } ) • ${ APP_NAME } ` }
92
110
/>
93
111
< Cover
94
112
cover = {
@@ -99,46 +117,25 @@ const ViewProfile: NextPage = () => {
99
117
}
100
118
/>
101
119
< GridLayout >
102
- < GridItemFour >
103
- { isDeleted ? (
104
- < DeletedDetails account = { account } />
105
- ) : isSuspended ? (
106
- < SuspendedDetails account = { account } />
107
- ) : (
108
- < Details
109
- isSuspended = { accountDetails ?. isSuspended || false }
110
- account = { account }
111
- />
112
- ) }
113
- </ GridItemFour >
120
+ < GridItemFour > { renderAccountDetails ( ) } </ GridItemFour >
114
121
< GridItemEight className = "space-y-5" >
115
- { isDeleted ? (
116
- < EmptyState
117
- icon = { < NoSymbolIcon className = "size-8" /> }
118
- message = "Account Deleted"
119
- />
120
- ) : isSuspended ? (
121
- < EmptyState
122
- icon = { < NoSymbolIcon className = "size-8" /> }
123
- message = "Account Suspended"
124
- />
122
+ { isDeleted || isSuspended ? (
123
+ renderEmptyState ( )
125
124
) : (
126
125
< >
127
126
< FeedType feedType = { feedType as AccountFeedType } />
128
- { currentAccount ?. address === account ?. address ? (
129
- < NewPost />
130
- ) : null }
131
- { feedType === AccountFeedType . Feed ||
132
- feedType === AccountFeedType . Replies ||
133
- feedType === AccountFeedType . Media ||
134
- feedType === AccountFeedType . Collects ? (
127
+ { currentAccount ?. address === account ?. address && < NewPost /> }
128
+ { ( feedType === AccountFeedType . Feed ||
129
+ feedType === AccountFeedType . Replies ||
130
+ feedType === AccountFeedType . Media ||
131
+ feedType === AccountFeedType . Collects ) && (
135
132
< AccountFeed
136
133
handle = { getAccount ( account ) . usernameWithPrefix }
137
134
accountDetailsLoading = { accountDetailsLoading }
138
135
address = { account . address }
139
136
type = { feedType }
140
137
/>
141
- ) : null }
138
+ ) }
142
139
</ >
143
140
) }
144
141
</ GridItemEight >
0 commit comments