From 35723a4f560f15fe80ee5630a4c0ac57671a2299 Mon Sep 17 00:00:00 2001 From: mydearxym Date: Fri, 23 Jul 2021 22:07:53 +0800 Subject: [PATCH 1/2] feat(share): add telegram share --- public/icons/static/social/telegram-share.png | Bin 0 -> 8078 bytes src/containers/tool/Share/Platforms.tsx | 7 +++++++ src/containers/tool/Share/constant.ts | 1 + src/containers/tool/Share/logic.ts | 6 ++++++ 4 files changed, 14 insertions(+) create mode 100644 public/icons/static/social/telegram-share.png diff --git a/public/icons/static/social/telegram-share.png b/public/icons/static/social/telegram-share.png new file mode 100644 index 0000000000000000000000000000000000000000..cffce179ff4a8e74ee7dd3b8be27fcc8c70cf5bd GIT binary patch literal 8078 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 { // return openShareWindow('https://twitter.com/share', param) } + case SHARE_TYPE.TELEGRAM: { + const param = { url, text: title } + + return openShareWindow('https://telegram.me/share/url', param) + } + case SHARE_TYPE.EMAIL: { const param = { subject: title, body: `${url}\n\n${digest}` } return openShareWindow('mailto:', param) From 3abfba37029fe380d2f480e32f8a80d3d1026d9f Mon Sep 17 00:00:00 2001 From: mydearxym Date: Fri, 23 Jul 2021 22:31:06 +0800 Subject: [PATCH 2/2] refactor(share): add article title to header --- src/containers/tool/Share/Platforms.tsx | 15 ++++++++++++++- src/containers/tool/Share/index.tsx | 4 ++-- src/containers/tool/Share/styles/platform.ts | 19 ++++++++++++++++++- utils/css/media.ts | 2 +- 4 files changed, 35 insertions(+), 5 deletions(-) diff --git a/src/containers/tool/Share/Platforms.tsx b/src/containers/tool/Share/Platforms.tsx index 5c40ac5fb..4a8d5abd9 100644 --- a/src/containers/tool/Share/Platforms.tsx +++ b/src/containers/tool/Share/Platforms.tsx @@ -1,10 +1,14 @@ import { FC, memo } from 'react' import { ICON } from '@/config' +import type { TArticle } from '@/spec' import { SHARE_TYPE } from './constant' import { Wrapper, + Header, + Hint, + Article, InnerWrapper, Media, Logo, @@ -73,9 +77,18 @@ const medias = [ }, ] -const Platforms: FC = () => { +type TProps = { + article: TArticle +} + +const Platforms: FC = ({ article }) => { return ( +
+ 分享 +
{article.title}
+ 到: +
{medias.map((item) => ( toPlatform(item.type)}> diff --git a/src/containers/tool/Share/index.tsx b/src/containers/tool/Share/index.tsx index a4e4db04d..916102a1d 100755 --- a/src/containers/tool/Share/index.tsx +++ b/src/containers/tool/Share/index.tsx @@ -25,13 +25,13 @@ type TProps = { const ShareContainer: FC = ({ share: store, testid }) => { useInit(store) - const { show, siteShareType, linksData } = store + const { show, siteShareType, linksData, viewingArticle } = store return ( - + diff --git a/src/containers/tool/Share/styles/platform.ts b/src/containers/tool/Share/styles/platform.ts index a165c8aa3..0b2f40e20 100644 --- a/src/containers/tool/Share/styles/platform.ts +++ b/src/containers/tool/Share/styles/platform.ts @@ -4,13 +4,30 @@ import { css, theme } from '@/utils' import Img from '@/Img' export const Wrapper = styled.div` - padding: 20px 20px; + padding-left: 20px; + padding-right: 20px; width: 100%; min-height: 220px; background: ${theme('modal.bg')}; filter: drop-shadow(3px 3px 6px #002a34); transition: min-height 0.2s; ` +export const Header = styled.div` + ${css.flex('align-end')}; + margin-top: 15px; + padding-left: 25px; + margin-bottom: 20px; +` +export const Hint = styled.div` + color: ${theme('thread.articleDigest')}; + font-size: 13px; +` +export const Article = styled.div` + color: ${theme('thread.articleTitle')}; + ${css.cutRest('180px')}; + font-size: 14px; + margin-left: 5px; +` export const InnerWrapper = styled.div` ${css.flex()}; flex-wrap: wrap; diff --git a/utils/css/media.ts b/utils/css/media.ts index 4f4d34d07..b40c4fd2c 100644 --- a/utils/css/media.ts +++ b/utils/css/media.ts @@ -10,7 +10,7 @@ export const mediaBreakPoints = { tablet: 768, laptop: 992, laptopM: 1280, - laptopL: 1440, + laptopL: 1400, maxContent: 1520, // WIDTH.COMMUNITY.PAGE desktop: 1600, // currently used as forms of drawer content (slideout/modal)