mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-18 02:26:21 +08:00
135 lines
3.2 KiB
TypeScript
135 lines
3.2 KiB
TypeScript
import { displayFlex, styled, textEllipsis } from '@/styles';
|
|
import Link from 'next/link';
|
|
|
|
export const StyledSliderBar = styled.div<{ show: boolean }>(
|
|
({ theme, show }) => {
|
|
return {
|
|
width: show ? '320px' : '0',
|
|
height: '100vh',
|
|
background: theme.mode === 'dark' ? '#272727' : '#FBFBFC',
|
|
boxShadow: theme.shadow.modal,
|
|
transition: 'width .15s',
|
|
position: 'relative',
|
|
zIndex: theme.zIndex.modal,
|
|
padding: show ? '24px 12px' : '24px 0',
|
|
overflowX: 'hidden',
|
|
flexShrink: 0,
|
|
};
|
|
}
|
|
);
|
|
|
|
export const StyledArrowButton = styled.button<{ isShow: boolean }>(
|
|
({ theme, isShow }) => {
|
|
return {
|
|
width: '32px',
|
|
height: '32px',
|
|
...displayFlex('center', 'center'),
|
|
color: theme.colors.primaryColor,
|
|
backgroundColor: theme.colors.hoverBackground,
|
|
borderRadius: '50%',
|
|
transition: 'all .15s',
|
|
position: 'fixed',
|
|
top: '34px',
|
|
left: isShow ? '304px' : '-8px',
|
|
zIndex: theme.zIndex.modal,
|
|
svg: {
|
|
transform: isShow ? 'rotate(180deg)' : 'unset',
|
|
},
|
|
':hover': {
|
|
color: '#fff',
|
|
backgroundColor: theme.colors.primaryColor,
|
|
},
|
|
};
|
|
}
|
|
);
|
|
|
|
export const StyledListItem = styled.button<{
|
|
active?: boolean;
|
|
disabled?: boolean;
|
|
}>(({ theme, active, disabled }) => {
|
|
return {
|
|
width: '296px',
|
|
height: '32px',
|
|
marginTop: '12px',
|
|
fontSize: theme.font.sm,
|
|
color: active ? theme.colors.primaryColor : theme.colors.popoverColor,
|
|
paddingLeft: '12px',
|
|
borderRadius: '5px',
|
|
...displayFlex('flex-start', 'center'),
|
|
...(disabled
|
|
? {
|
|
cursor: 'not-allowed',
|
|
color: theme.colors.borderColor,
|
|
}
|
|
: {}),
|
|
|
|
'>svg': {
|
|
fontSize: '20px',
|
|
marginRight: '12px',
|
|
},
|
|
':hover:not([disabled])': {
|
|
color: theme.colors.primaryColor,
|
|
backgroundColor: theme.colors.hoverBackground,
|
|
},
|
|
};
|
|
});
|
|
|
|
export const StyledListItemForWorkspace = styled(StyledListItem)({
|
|
height: '52px',
|
|
});
|
|
|
|
export const StyledLink = styled(Link)(({ theme }) => {
|
|
return {
|
|
flexGrow: 1,
|
|
textAlign: 'left',
|
|
color: 'inherit',
|
|
...displayFlex('flex-start', 'center'),
|
|
':visited': {
|
|
color: 'inherit',
|
|
},
|
|
'>svg': {
|
|
fontSize: '20px',
|
|
marginRight: '12px',
|
|
},
|
|
};
|
|
});
|
|
export const StyledNewPageButton = styled(StyledListItem)(({ theme }) => {
|
|
return {
|
|
position: 'absolute',
|
|
bottom: '24px',
|
|
left: '0',
|
|
right: '0',
|
|
margin: 'auto',
|
|
};
|
|
});
|
|
|
|
export const StyledSubListItem = styled.button<{
|
|
disable?: boolean;
|
|
active?: boolean;
|
|
}>(({ theme, disable, active }) => {
|
|
return {
|
|
width: '296px',
|
|
height: '32px',
|
|
marginTop: '4px',
|
|
fontSize: theme.font.sm,
|
|
color: disable
|
|
? theme.colors.iconColor
|
|
: active
|
|
? theme.colors.primaryColor
|
|
: theme.colors.popoverColor,
|
|
backgroundColor: active ? theme.colors.hoverBackground : 'unset',
|
|
|
|
cursor: disable ? 'not-allowed' : 'pointer',
|
|
paddingLeft: '45px',
|
|
lineHeight: '32px',
|
|
textAlign: 'start',
|
|
...textEllipsis(1),
|
|
':hover': disable
|
|
? {}
|
|
: {
|
|
color: theme.colors.primaryColor,
|
|
backgroundColor: theme.colors.hoverBackground,
|
|
},
|
|
};
|
|
});
|