refactor: add tc role

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

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

@ -7,7 +7,7 @@ import { Sidebar } from './Sidebar';
export const Group: React.FC = React.memo(() => { export const Group: React.FC = React.memo(() => {
return ( return (
<PageContent sidebar={<Sidebar />}> <PageContent data-tc-role="content-group" sidebar={<Sidebar />}>
<Switch> <Switch>
<Route <Route
path="/main/group/:groupId/:panelId" 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> <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 PageGestureWrapper: React.FC = React.memo((props) => {
const { setShowSidebar } = useSidebarContext(); const { setShowSidebar } = useSidebarContext();
@ -36,6 +32,10 @@ const PageGestureWrapper: React.FC = React.memo((props) => {
}); });
PageGestureWrapper.displayName = 'PageGestureWrapper'; 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} {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} {contentMaskEl}
{contentEl} {contentEl}
</div> </div>

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

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

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

@ -16,6 +16,7 @@ export const PersonalNav: React.FC = React.memo(() => {
const unread = usePersonalUnread(); const unread = usePersonalUnread();
return ( return (
<div data-tc-role="navbar-personal">
<NavbarNavItem <NavbarNavItem
name={t('我')} name={t('我')}
to={'/main/personal'} to={'/main/personal'}
@ -29,6 +30,7 @@ export const PersonalNav: React.FC = React.memo(() => {
src={userInfo?.avatar} src={userInfo?.avatar}
/> />
</NavbarNavItem> </NavbarNavItem>
</div>
); );
}); });
PersonalNav.displayName = 'PersonalNav'; PersonalNav.displayName = 'PersonalNav';

@ -10,7 +10,10 @@ import { PersonalNav } from './PersonalNav';
*/ */
export const Navbar: React.FC = React.memo(() => { export const Navbar: React.FC = React.memo(() => {
return ( 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 /> <MobileMenuBtn />
{/* Navbar */} {/* Navbar */}
@ -24,7 +27,7 @@ export const Navbar: React.FC = React.memo(() => {
<GroupNav /> <GroupNav />
</div> </div>
<div> <div data-tc-role="navbar-settings">
<SettingBtn /> <SettingBtn />
</div> </div>
</div> </div>

Loading…
Cancel
Save