From 9c3a30097221db538ae3093dc5e2d6f16c9b18e4 Mon Sep 17 00:00:00 2001
From: Zhiyuan Zheng
Date: Wed, 10 Mar 2021 11:49:14 +0100
Subject: [PATCH] Try to fix font size does not adapat
---
src/components/Parse/Emojis.tsx | 3 ++-
src/components/Parse/HTML.tsx | 3 ++-
src/i18n/en/screens/meSettingsFontsize.ts | 2 ++
src/i18n/zh-Hans/screens/meSettingsFontsize.ts | 2 ++
src/screens/Tabs/Me/Fontsize.tsx | 7 ++++---
src/utils/styles/constants.ts | 12 ------------
src/utils/styles/scaling.ts | 13 +++++++++++++
7 files changed, 25 insertions(+), 17 deletions(-)
create mode 100644 src/utils/styles/scaling.ts
diff --git a/src/components/Parse/Emojis.tsx b/src/components/Parse/Emojis.tsx
index a9e49152..00ce337c 100644
--- a/src/components/Parse/Emojis.tsx
+++ b/src/components/Parse/Emojis.tsx
@@ -1,5 +1,6 @@
import { getSettingsFontsize } from '@utils/slices/settingsSlice'
-import { adaptiveScale, StyleConstants } from '@utils/styles/constants'
+import { StyleConstants } from '@utils/styles/constants'
+import { adaptiveScale } from '@utils/styles/scaling'
import { useTheme } from '@utils/styles/ThemeManager'
import React, { useMemo } from 'react'
import { StyleSheet, Text } from 'react-native'
diff --git a/src/components/Parse/HTML.tsx b/src/components/Parse/HTML.tsx
index 328b9612..062e8965 100644
--- a/src/components/Parse/HTML.tsx
+++ b/src/components/Parse/HTML.tsx
@@ -5,8 +5,9 @@ import ParseEmojis from '@components/Parse/Emojis'
import { useNavigation, useRoute } from '@react-navigation/native'
import { StackNavigationProp } from '@react-navigation/stack'
import { getSettingsFontsize } from '@utils/slices/settingsSlice'
-import { adaptiveScale, StyleConstants } from '@utils/styles/constants'
+import { StyleConstants } from '@utils/styles/constants'
import layoutAnimation from '@utils/styles/layoutAnimation'
+import { adaptiveScale } from '@utils/styles/scaling'
import { useTheme } from '@utils/styles/ThemeManager'
import { LinearGradient } from 'expo-linear-gradient'
import React, { useCallback, useState } from 'react'
diff --git a/src/i18n/en/screens/meSettingsFontsize.ts b/src/i18n/en/screens/meSettingsFontsize.ts
index fb769473..16a24b55 100644
--- a/src/i18n/en/screens/meSettingsFontsize.ts
+++ b/src/i18n/en/screens/meSettingsFontsize.ts
@@ -2,6 +2,8 @@ export default {
heading: 'Toot font size',
content: {
showcase: 'Example toot',
+ demo:
+ 'This is a demo toot😊. You can choose from several options from below.
This setting only affects the main content of toots, but not other font sizes.
',
availableSizes: 'Available sizes',
sizes: { S: 'S', M: 'M - Default', L: 'L', XL: 'XL', XXL: 'XXL' }
}
diff --git a/src/i18n/zh-Hans/screens/meSettingsFontsize.ts b/src/i18n/zh-Hans/screens/meSettingsFontsize.ts
index 523e5d2a..343f19b5 100644
--- a/src/i18n/zh-Hans/screens/meSettingsFontsize.ts
+++ b/src/i18n/zh-Hans/screens/meSettingsFontsize.ts
@@ -2,6 +2,8 @@ export default {
heading: '嘟文字号',
content: {
showcase: '嘟文示例',
+ demo:
+ '这是一条测试用的嘟文😊。以下是可供选择的字号,从小号至超大号。
这个设置仅会调整嘟文的正文字号,不影响其它字号。
',
availableSizes: '可选字号',
sizes: { S: '小号', M: '默认', L: '大号', XL: '特大号', XXL: '超大号' }
}
diff --git a/src/screens/Tabs/Me/Fontsize.tsx b/src/screens/Tabs/Me/Fontsize.tsx
index cdee5ddf..613ca754 100644
--- a/src/screens/Tabs/Me/Fontsize.tsx
+++ b/src/screens/Tabs/Me/Fontsize.tsx
@@ -8,7 +8,8 @@ import {
getSettingsFontsize,
SettingsState
} from '@utils/slices/settingsSlice'
-import { adaptiveScale, StyleConstants } from '@utils/styles/constants'
+import { StyleConstants } from '@utils/styles/constants'
+import { adaptiveScale } from '@utils/styles/scaling'
import { useTheme } from '@utils/styles/ThemeManager'
import React, { useMemo } from 'react'
import { useTranslation } from 'react-i18next'
@@ -53,8 +54,7 @@ const ScreenMeSettingsFontsize: React.FC- tooot supports multiple accounts
- tooot supports browsing external instance
- tooot aims to support multiple languages
',
+ content: t('content.demo'),
reblog: null,
application: {
name: 'tooot',
@@ -77,6 +77,7 @@ const ScreenMeSettingsFontsize: React.FC
{([-1, 0, 1, 2, 3] as [-1, 0, 1, 2, 3]).map(size => (
(width / guidelineBaseWidth) * size
-// const verticalScale = (size: number) => (height / guidelineBaseHeight) * size
-export const adaptiveScale = (size: number, factor: number = 0) =>
- size + (scale(size) - size) * factor
-
const Base = 4
export const StyleConstants = {
diff --git a/src/utils/styles/scaling.ts b/src/utils/styles/scaling.ts
new file mode 100644
index 00000000..84150604
--- /dev/null
+++ b/src/utils/styles/scaling.ts
@@ -0,0 +1,13 @@
+import { Dimensions } from 'react-native'
+
+const { width } = Dimensions.get('screen')
+
+const guidelineBaseWidth = 375
+// const guidelineBaseHeight = 667
+
+const scale = (size: number) => (width / guidelineBaseWidth) * size
+// const verticalScale = (size: number) => (height / guidelineBaseHeight) * size
+const adaptiveScale = (size: number, factor: number = 0) =>
+ size + (scale(size) - size) * factor
+
+export { adaptiveScale }