diff --git a/src/lang/en.ts b/src/lang/en.ts index 602a998..4024c98 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -7,6 +7,7 @@ export default { contactDesc: 'For questions on eligibility, competition rules,\n judging criteria, or any other enquiries,\n feel free to reach out via our official email.', sendEmail: 'Send Email', + copyMailAddress: 'Copy Email Address', copyMail: 'Successfully copied to clipboard!', sendEmailFailed: 'Failed to open email client, we have copied the email to your clipboard.', applicationDeadline: 'Application Deadline:\n15th July 2026', diff --git a/src/lang/zh-cn.ts b/src/lang/zh-cn.ts index 48d297c..b7ada41 100644 --- a/src/lang/zh-cn.ts +++ b/src/lang/zh-cn.ts @@ -8,6 +8,7 @@ export default { '无论是报名资格、参赛细则、评审标准,还是其他比赛相关问题,欢迎通过以下邮箱联络我们:', sendEmail: '发送邮件', copyMail: '已成功复制到剪贴板', + copyMailAddress: '复制邮件地址', sendEmailFailed: '无法打开邮件客户端,我们已将邮箱地址复制到您的剪贴板。', applicationDeadline: '申请期限:\n2026年7月15日', howToApply: '申请方法', diff --git a/src/views/AwardPage/container.vue b/src/views/AwardPage/container.vue index 56716ce..b6e6826 100644 --- a/src/views/AwardPage/container.vue +++ b/src/views/AwardPage/container.vue @@ -70,26 +70,43 @@ -
+
-
- {{ $t('AwardsPage.contactHeader') }} +
+ + {{ $t('AwardsPage.contactHeader') }} + +
+
awards2026@code-createcom.hk
{{ $t('AwardsPage.contactDesc') }}
-
+
awards2026@code-createcom.hk
{{ $t('AwardsPage.sendEmail') }}
+
+ {{ $t('AwardsPage.copyMailAddress') }} +
@@ -101,9 +118,10 @@ import { useRoute, useRouter } from 'vue-router' import { useI18n } from 'vue-i18n' import { getCookie, setCookie } from '@/utils/cookie' import { useMessage } from '@/components/Message/message' -import { useIsMobile } from '@/utils/isMobile' +import { useIsMobile, useIsTablet } from '@/utils/isMobile' const { isMobile } = useIsMobile() +const { isTablet } = useIsTablet() const { success, error } = useMessage() const route = useRoute() @@ -162,7 +180,7 @@ watch( } ) -const showContactModal = ref(false) +const showContactModal = ref(true) const handleContactClick = () => { showContactModal.value = true } @@ -399,6 +417,7 @@ const handleBtnClick = () => { bottom: 0; background-color: rgba(0, 0, 0, 0.45); z-index: 9; + .contact-modal-wrapper { width: 60rem; height: 49.4rem; @@ -459,6 +478,48 @@ const handleBtnClick = () => { cursor: pointer; } } + &.mobile { + align-items: flex-end; + .contact-modal-wrapper { + width: 100%; + height: auto; + padding: 0 3.2rem 3.2rem; + border-radius: 0; + border-top-left-radius: 2.4rem; + border-top-right-radius: 2.4rem; + .header { + border-bottom: 1px solid #e0e0e0; + // height: 9.6rem; + padding-top: 4.8rem; + padding-bottom: 1.6rem; + font-size: 2.4rem; + text-align: left; + margin-bottom: 9rem; + .close { + width: 3.2rem; + height: 3.2rem; + } + } + .mobile-mail { + text-align: center; + font-family: 'ArialBold'; + font-weight: 700; + font-size: 2.8rem; + color: #232323; + margin-bottom: 2rem; + } + .desc { + font-size: 2.2rem; + line-height: 3rem; + margin-bottom: 11rem; + } + .send-btn.copy { + background-color: #f1f1f1; + color: #969696; + margin-top: 1.2rem; + } + } + } } @media screen and (max-width: 1200px) {