refactor: add tc role

pull/13/head
moonrailgun 3 years ago
parent b45437bd0b
commit e697527caf

@ -35,7 +35,7 @@ export const Sidebar: React.FC = React.memo(() => {
);
return (
<div>
<div data-tc-role="sidebar-group">
<GroupHeader groupId={groupId} />
<div className="p-2 space-y-1">

@ -7,7 +7,7 @@ import { Sidebar } from './Sidebar';
export const Group: React.FC = React.memo(() => {
return (
<PageContent sidebar={<Sidebar />}>
<PageContent data-tc-role="content-group" sidebar={<Sidebar />}>
<Switch>
<Route
path="/main/group/:groupId/:panelId"

@ -9,10 +9,6 @@ const PageContentRoot: React.FC = (props) => (
<div className="flex flex-row flex-1 overflow-hidden">{props.children}</div>
);
interface PageContentProps {
sidebar?: React.ReactNode;
}
const PageGestureWrapper: React.FC = React.memo((props) => {
const { setShowSidebar } = useSidebarContext();
@ -36,6 +32,10 @@ const PageGestureWrapper: React.FC = React.memo((props) => {
});
PageGestureWrapper.displayName = 'PageGestureWrapper';
interface PageContentProps {
sidebar?: React.ReactNode;
'data-tc-role'?: string;
}
/**
*
*/
@ -85,7 +85,10 @@ export const PageContent: React.FC<PageContentProps> = React.memo((props) => {
<>
{sidebarEl}
<div className="flex flex-auto bg-content-light dark:bg-content-dark relative overflow-auto">
<div
className="flex flex-auto bg-content-light dark:bg-content-dark relative overflow-auto"
data-tc-role={props['data-tc-role']}
>
{contentMaskEl}
{contentEl}
</div>

@ -32,7 +32,7 @@ export const PersonalSidebar: React.FC = React.memo(() => {
const userInfo = useUserInfo();
return (
<div>
<div data-tc-role="sidebar-personal">
<SectionHeader>{userInfo?.nickname}</SectionHeader>
<div className="p-2">

@ -8,7 +8,7 @@ import { PersonalSidebar } from './Sidebar';
export const Personal: React.FC = React.memo(() => {
return (
<PageContent sidebar={<PersonalSidebar />}>
<PageContent data-tc-role="content-personal" sidebar={<PersonalSidebar />}>
<Switch>
<Route path="/main/personal/friends" component={FriendPanel} />

@ -38,7 +38,7 @@ export const GroupNav: React.FC = React.memo(() => {
}, []);
return (
<div className="space-y-2">
<div className="space-y-2" data-tc-role="navbar-groups">
{Array.isArray(groups) &&
groups.map((group) => (
<div key={group._id}>

@ -16,19 +16,21 @@ export const PersonalNav: React.FC = React.memo(() => {
const unread = usePersonalUnread();
return (
<NavbarNavItem
name={t('我')}
to={'/main/personal'}
showPill={true}
badge={unread}
>
<Avatar
shape="square"
size={48}
name={userInfo?.nickname}
src={userInfo?.avatar}
/>
</NavbarNavItem>
<div data-tc-role="navbar-personal">
<NavbarNavItem
name={t('我')}
to={'/main/personal'}
showPill={true}
badge={unread}
>
<Avatar
shape="square"
size={48}
name={userInfo?.nickname}
src={userInfo?.avatar}
/>
</NavbarNavItem>
</div>
);
});
PersonalNav.displayName = 'PersonalNav';

@ -10,7 +10,10 @@ import { PersonalNav } from './PersonalNav';
*/
export const Navbar: React.FC = React.memo(() => {
return (
<div className="w-18 bg-navbar-light dark:bg-navbar-dark flex flex-col justify-start items-center pt-4 pb-4">
<div
data-tc-role="navbar"
className="w-18 bg-navbar-light dark:bg-navbar-dark flex flex-col justify-start items-center pt-4 pb-4"
>
<MobileMenuBtn />
{/* Navbar */}
@ -24,7 +27,7 @@ export const Navbar: React.FC = React.memo(() => {
<GroupNav />
</div>
<div>
<div data-tc-role="navbar-settings">
<SettingBtn />
</div>
</div>

Loading…
Cancel
Save