/
githubmirror
/
client
Обзор
Документация
Войти
/
githubmirror
/
client
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
shared/profile/user/shared-teams.tsx
68 строк
2 KB
chrisnojima
refactor(styles): theme via hooks, no android remount (#29515)
08 авг 2026, 02:24
Не верифицирован
08 авг 2026, 02:24
a41d38e
Код
Авторство
О чём код?
import * as C from '@/constants' import * as Kb from '@/common-adapters' import type * as T from '@/constants/types' import {useCurrentUserState} from '@/stores/current-user' import TeamRow from './teams/team-row' import TeamSection from './teams/team-section' import useTeamInfoPopup from './teams/use-team-info-popup' type ItemProps = { team: T.RPCChat.SharedTeam } const SharedTeamItem = ({team}: ItemProps) => { const {loadingTeam, onClick, pendingOpen, popup, popupAnchor} = useTeamInfoPopup({ loadOnDemand: true, teamID: team.teamID, teamname: team.name, }) return ( <TeamRow name={team.name} loading={pendingOpen && loadingTeam} onClick={onClick} popup={popup} popupAnchor={popupAnchor} /> ) } type Props = { sharedTeams?: ReadonlyArray<T.RPCChat.SharedTeam> username: string } const SharedTeams = ({sharedTeams, username}: Props) => { const styles = useStyles() const you = useCurrentUserState(s => s.username) const loading = C.Waiting.useAnyWaiting(C.waitingKeyTrackerSharedTeams(username)) if (!you || username === you) return null if (sharedTeams === undefined && loading) { return ( <TeamSection title="Teams in common"> <Kb.Box2 direction="horizontal" style={styles.loadingRow} gap="tiny"> <Kb.ProgressIndicator /> </Kb.Box2> </TeamSection> ) } if (!sharedTeams?.length) return null return ( <TeamSection title="Teams in common"> {sharedTeams.map(team => ( <SharedTeamItem key={team.teamID} team={team} /> ))} </TeamSection> ) } export default SharedTeams const useStyles = Kb.Styles.createStyleHook(() => ({ loadingRow: Kb.Styles.paddingV(Kb.Styles.globalMargins.tiny), }))