style(core): update pro plan card style (#4960)
This commit is contained in:
@@ -13,6 +13,10 @@ export const scrollArea = style({
|
|||||||
overflowX: 'auto',
|
overflowX: 'auto',
|
||||||
scrollSnapType: 'x mandatory',
|
scrollSnapType: 'x mandatory',
|
||||||
paddingBottom: '21px',
|
paddingBottom: '21px',
|
||||||
|
|
||||||
|
/** Avoid box-shadow clipping */
|
||||||
|
paddingTop: '21px',
|
||||||
|
marginTop: '-21px',
|
||||||
});
|
});
|
||||||
|
|
||||||
export const scrollBar = style({
|
export const scrollBar = style({
|
||||||
|
|||||||
@@ -134,16 +134,19 @@ export const PlanCard = (props: PlanCardProps) => {
|
|||||||
const currentPlan = subscription?.plan ?? SubscriptionPlan.Free;
|
const currentPlan = subscription?.plan ?? SubscriptionPlan.Free;
|
||||||
|
|
||||||
const isCurrent = loggedIn && detail.plan === currentPlan;
|
const isCurrent = loggedIn && detail.plan === currentPlan;
|
||||||
|
const isPro = detail.plan === SubscriptionPlan.Pro;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
data-current={isCurrent}
|
data-current={isCurrent}
|
||||||
key={detail.plan}
|
key={detail.plan}
|
||||||
className={isCurrent ? styles.currentPlanCard : styles.planCard}
|
className={isPro ? styles.proPlanCard : styles.planCard}
|
||||||
>
|
>
|
||||||
<div className={styles.planTitle}>
|
<div className={styles.planTitle}>
|
||||||
<p>
|
<p>
|
||||||
{detail.plan}{' '}
|
<span className={isCurrent ? styles.proPlanTitle : ''}>
|
||||||
|
{detail.plan}
|
||||||
|
</span>{' '}
|
||||||
{'discount' in detail &&
|
{'discount' in detail &&
|
||||||
recurring === SubscriptionRecurring.Yearly && (
|
recurring === SubscriptionRecurring.Yearly && (
|
||||||
<span className={styles.discountLabel}>
|
<span className={styles.discountLabel}>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ export const recurringRadioGroup = style({
|
|||||||
|
|
||||||
export const radioButtonDiscount = style({
|
export const radioButtonDiscount = style({
|
||||||
marginLeft: '4px',
|
marginLeft: '4px',
|
||||||
color: 'var(--affine-primary-color)',
|
color: 'var(--affine-brand-color)',
|
||||||
fontWeight: 400,
|
fontWeight: 400,
|
||||||
});
|
});
|
||||||
export const radioButtonText = style({
|
export const radioButtonText = style({
|
||||||
@@ -46,23 +46,41 @@ export const planCard = style({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
export const currentPlanCard = style([
|
export const proPlanCard = style([
|
||||||
planCard,
|
planCard,
|
||||||
{
|
{
|
||||||
borderWidth: '2px',
|
borderWidth: '1px',
|
||||||
borderColor: 'var(--affine-primary-color)',
|
borderColor: 'var(--affine-brand-color)',
|
||||||
boxShadow: 'var(--affine-shadow-2)',
|
boxShadow: 'var(--affine-shadow-2)',
|
||||||
|
position: 'relative',
|
||||||
|
'::after': {
|
||||||
|
content: '',
|
||||||
|
position: 'absolute',
|
||||||
|
inset: '-1px',
|
||||||
|
borderRadius: 'inherit',
|
||||||
|
boxShadow: '0px 0px 0px 2px var(--affine-brand-color)',
|
||||||
|
opacity: 0.3,
|
||||||
|
zIndex: 1,
|
||||||
|
pointerEvents: 'none',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
export const proPlanTitle = style({
|
||||||
|
backgroundColor: 'var(--affine-brand-color)',
|
||||||
|
color: 'var(--affine-white)',
|
||||||
|
padding: '0px 6px',
|
||||||
|
borderRadius: '4px',
|
||||||
|
height: '24px',
|
||||||
|
display: 'inline-block',
|
||||||
|
});
|
||||||
|
|
||||||
export const discountLabel = style({
|
export const discountLabel = style({
|
||||||
color: 'var(--affine-primary-color)',
|
color: 'var(--affine-text-emphasis-color)',
|
||||||
marginLeft: '8px',
|
marginLeft: '8px',
|
||||||
lineHeight: '20px',
|
lineHeight: '20px',
|
||||||
fontSize: 'var(--affine-font-xs)',
|
fontSize: 'var(--affine-font-xs)',
|
||||||
fontWeight: 500,
|
fontWeight: 500,
|
||||||
padding: '0 4px',
|
|
||||||
backgroundColor: 'var(--affine-blue-50)',
|
|
||||||
borderRadius: '4px',
|
borderRadius: '4px',
|
||||||
display: 'inline-block',
|
display: 'inline-block',
|
||||||
height: '100%',
|
height: '100%',
|
||||||
|
|||||||
Reference in New Issue
Block a user