diff --git a/src/components/invite-operations-banner/index.less b/src/components/invite-operations-banner/index.less new file mode 100644 index 0000000..b98e1b1 --- /dev/null +++ b/src/components/invite-operations-banner/index.less @@ -0,0 +1,22 @@ +@import '@/styles/variables.less'; +@import '@/styles/common.less'; + +.invite-operations-fragment-banner { + width: 100%; + height: 90px; + position: relative; + margin-bottom: 24px; + + &__image { + width: 100%; + height: 100%; + } + + &__close { + width: 64px; + height: 38px; + position: absolute; + right: 0; + top: 0; + } +} diff --git a/src/components/invite-operations-banner/index.tsx b/src/components/invite-operations-banner/index.tsx new file mode 100644 index 0000000..cbcee24 --- /dev/null +++ b/src/components/invite-operations-banner/index.tsx @@ -0,0 +1,40 @@ +import { Image } from '@tarojs/components'; + +import { useCallback, useState } from 'react'; + +import { PageUrl } from '@/constants/app'; +import { getPartnerBannerClose, setPartnerBannerClose } from '@/utils/partner'; +import { navigateTo } from '@/utils/route'; +import './index.less'; + +const PREFIX = 'invite-operations-fragment-banner'; + +export default function InviteOperationsBanner() { + const [bannerClose, setBannerClose] = useState(getPartnerBannerClose()); + + const handlePartnerBannerClose = useCallback(e => { + e.preventDefault(); + e.stopPropagation(); + setBannerClose(true); + setPartnerBannerClose(); + }, []); + + const handleClick = useCallback(async () => { + navigateTo(PageUrl.InviteOperations); + }, []); + + if (bannerClose) { + return null; + } + + return ( +
+ +
+
+ ); +} diff --git a/src/components/prejob-popup/index.tsx b/src/components/prejob-popup/index.tsx index 212588b..3e75fe5 100644 --- a/src/components/prejob-popup/index.tsx +++ b/src/components/prejob-popup/index.tsx @@ -44,7 +44,7 @@ const GET_CONTACT_TYPE_OPTIONS = [ // }, { type: GET_CONTACT_TYPE.INVITE, - icon: '', + icon: 'https://publiccdn.neighbourhood.com.cn/img/invite-operations.png', title: '邀请运营进群(进会员)', desc: '每邀请进一个主播群送一个日会员', btnText: '邀请', diff --git a/src/fragments/job/base/index.tsx b/src/fragments/job/base/index.tsx index 294c4fc..9fdaee4 100644 --- a/src/fragments/job/base/index.tsx +++ b/src/fragments/job/base/index.tsx @@ -9,7 +9,7 @@ import { useCallback, useEffect, useState } from 'react'; import EmployTypeSelect from '@/components/employ-type-select'; import JobList, { IJobListProps } from '@/components/job-list'; import Overlay from '@/components/overlay'; -import PartnerBanner from '@/components/partner-banner'; +// import PartnerBanner from '@/components/partner-banner'; import SalarySelect from '@/components/salary-select'; import SearchInput from '@/components/search'; import { APP_TAB_BAR_ID, PageUrl } from '@/constants/app'; @@ -30,6 +30,7 @@ import { Coordinate } from '@/types/location'; import { logWithPrefix } from '@/utils/common'; import { navigateTo } from '@/utils/route'; import './index.less'; +import InviteOperationsBanner from '@/components/invite-operations-banner'; interface IProps { cityCode: string; @@ -173,7 +174,8 @@ function JobFragment(props: IProps) { {JOB_TABS.map(tab => ( - + {/**/} +