2025-03-02 16:19:51 +08:00
|
|
|
import type { MouseEventHandler } from 'react'
|
2025-03-02 16:15:24 +08:00
|
|
|
import { Link } from 'react-router'
|
|
|
|
|
|
2025-03-07 09:04:11 +08:00
|
|
|
import type { TUserResponse } from '~/apis/news/get-user'
|
2025-03-03 08:59:06 +08:00
|
|
|
|
2025-03-02 16:15:24 +08:00
|
|
|
type TGetPremiumAttribute = {
|
|
|
|
|
isPremium?: boolean
|
|
|
|
|
slug: string
|
2025-03-02 16:19:51 +08:00
|
|
|
onClick: MouseEventHandler<HTMLElement>
|
2025-03-07 09:04:11 +08:00
|
|
|
userData?: TUserResponse['data']
|
2025-03-02 16:15:24 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const getPremiumAttribute = (parameters: TGetPremiumAttribute) => {
|
2025-03-03 08:59:06 +08:00
|
|
|
const { isPremium, slug, onClick, userData } = parameters
|
2025-03-06 22:49:56 +07:00
|
|
|
if (
|
|
|
|
|
isPremium &&
|
|
|
|
|
(!userData || userData?.subscribe.subscribe_plan.code === 'basic')
|
|
|
|
|
) {
|
2025-03-02 16:15:24 +08:00
|
|
|
return {
|
|
|
|
|
onClick,
|
|
|
|
|
to: '',
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
as: Link,
|
|
|
|
|
to: `/detail/${slug}`,
|
|
|
|
|
}
|
|
|
|
|
}
|