@quintype/native-components 2.30.1 → 2.30.2-center-align-title-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -152,7 +152,8 @@ export const Story = ({
|
|
|
152
152
|
gaTrigerredTTS,
|
|
153
153
|
commentData,
|
|
154
154
|
commentLoader,
|
|
155
|
-
storyLayout
|
|
155
|
+
storyLayout,
|
|
156
|
+
centerAlignStoryTitle
|
|
156
157
|
}) => {
|
|
157
158
|
const { theme } = useContext(AppTheme);
|
|
158
159
|
const { COLORS, FONT_SIZE, locale, DARK_MODE,translate, enableComments } = theme;
|
|
@@ -376,6 +377,7 @@ export const Story = ({
|
|
|
376
377
|
onAuthorPress={onAuthorPress}
|
|
377
378
|
onSectionPress={onSectionPress}
|
|
378
379
|
storyLayout={storyLayout}
|
|
380
|
+
centerAlignStoryTitle = {centerAlignStoryTitle}
|
|
379
381
|
/>
|
|
380
382
|
{ storyHasAccess === 'granted' && audioS3Key && (!showPlayer ?
|
|
381
383
|
(<TouchableOpacity onPress={async()=>{
|
|
@@ -65,7 +65,7 @@ const getHeroComponent = (props) => {
|
|
|
65
65
|
};
|
|
66
66
|
|
|
67
67
|
export const StoryHeader = (props) => {
|
|
68
|
-
const { story, firstVideoElement, storyLayout } = props;
|
|
68
|
+
const { story, firstVideoElement, storyLayout, centerAlignStoryTitle } = props;
|
|
69
69
|
const sectionData = get(story, ['sections', 0], {});
|
|
70
70
|
const { theme } = useContext(AppTheme);
|
|
71
71
|
|
|
@@ -138,7 +138,7 @@ export const StoryHeader = (props) => {
|
|
|
138
138
|
return (
|
|
139
139
|
<View testID={props.testID}>
|
|
140
140
|
{getSectionName(storyLayout)}
|
|
141
|
-
<StoryTitle title={story.headline} subTitle={story.subheadline} isPremiumStory={isPremiumStory} isHeadLinePriorityLayout={isHeadLinePriorityLayout}/>
|
|
141
|
+
<StoryTitle title={story.headline} subTitle={story.subheadline} isPremiumStory={isPremiumStory} isHeadLinePriorityLayout={isHeadLinePriorityLayout} centerAlignStoryTitle={centerAlignStoryTitle}/>
|
|
142
142
|
{getHeroComponent(props)}
|
|
143
143
|
{showAttribution(storyLayout)}
|
|
144
144
|
<View style={styles.dateBlock}>
|
|
@@ -165,7 +165,7 @@ export const StoryHeader = (props) => {
|
|
|
165
165
|
{getTimeInFormat(story['published-at'], DATE_FORMAT, locale)}
|
|
166
166
|
</Text>
|
|
167
167
|
</View>
|
|
168
|
-
<StoryTitle title={story.headline} subTitle={story.subheadline} isPremiumStory={isPremiumStory}/>
|
|
168
|
+
<StoryTitle title={story.headline} subTitle={story.subheadline} isPremiumStory={isPremiumStory} centerAlignStoryTitle={centerAlignStoryTitle}/>
|
|
169
169
|
{getAuthorRow()}
|
|
170
170
|
{reviewTitle && <RatingLayout reviewTitle={reviewTitle} ratingValue={reviewData?.value} ratingLabel={reviewData?.label}/>}
|
|
171
171
|
</View>
|
|
@@ -7,9 +7,9 @@ import { AppTheme } from '../../utils';
|
|
|
7
7
|
import { COMP_CONTENT_CONSTANTS } from '../../constants/component-constants/content-constants/constants';
|
|
8
8
|
import PremiumIcons from '../../Icons/PremiumIcons/index';
|
|
9
9
|
|
|
10
|
-
export const StoryTitle = ({ title, subTitle, isPremiumStory, isHeadLinePriorityLayout }) => {
|
|
10
|
+
export const StoryTitle = ({ title, subTitle, isPremiumStory, isHeadLinePriorityLayout, centerAlignStoryTitle }) => {
|
|
11
11
|
const { theme } = useContext(AppTheme);
|
|
12
|
-
const styles = storyTitleStyles(theme);
|
|
12
|
+
const styles = storyTitleStyles({...theme, centerAlignStoryTitle});
|
|
13
13
|
const {
|
|
14
14
|
premiumIcon, COLORS, FONT_SIZE
|
|
15
15
|
} = theme;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { StyleSheet } from 'react-native';
|
|
2
2
|
|
|
3
3
|
export const storyTitleStyles = ({
|
|
4
|
-
COLORS, FONT_SIZE, FONT_FAMILY, lineHeightMultiplier,
|
|
4
|
+
COLORS, FONT_SIZE, FONT_FAMILY, lineHeightMultiplier,centerAlignStoryTitle
|
|
5
5
|
}) => StyleSheet.create({
|
|
6
6
|
container: {
|
|
7
7
|
padding: 10,
|
|
@@ -12,6 +12,7 @@ export const storyTitleStyles = ({
|
|
|
12
12
|
fontFamily: FONT_FAMILY.primaryBold,
|
|
13
13
|
lineHeight: FONT_SIZE.title * lineHeightMultiplier,
|
|
14
14
|
color: COLORS.BRAND_BLACK,
|
|
15
|
+
textAlign: centerAlignStoryTitle ? 'center' : 'auto',
|
|
15
16
|
},
|
|
16
17
|
subTitleStyle: {
|
|
17
18
|
fontSize: FONT_SIZE.h3,
|
|
@@ -8,16 +8,34 @@ import { AppTheme } from '../../utils/context';
|
|
|
8
8
|
|
|
9
9
|
export const Text = (props) => {
|
|
10
10
|
const { theme } = useContext(AppTheme);
|
|
11
|
-
const {
|
|
11
|
+
const {
|
|
12
|
+
FONT_FAMILY, COLORS, CAN_COPY_TEXT, lineHeightMultiplier,
|
|
13
|
+
} = theme;
|
|
14
|
+
|
|
15
|
+
// Flatten the style first
|
|
16
|
+
const flattenedStyle = StyleSheet.flatten([props.style]) || {};
|
|
17
|
+
|
|
18
|
+
// Use fontSize from style or fallback, and lineHeight from style or calculate
|
|
19
|
+
const { fontSize } = flattenedStyle;
|
|
20
|
+
let lineHeight;
|
|
21
|
+
if (flattenedStyle.lineHeight != null) {
|
|
22
|
+
lineHeight = flattenedStyle.lineHeight;
|
|
23
|
+
} else if (fontSize != null) {
|
|
24
|
+
lineHeight = fontSize * (lineHeightMultiplier ?? 1.5);
|
|
25
|
+
}
|
|
12
26
|
|
|
13
27
|
const RNStyle = {
|
|
14
28
|
fontFamily: props.primary ? FONT_FAMILY.primary : FONT_FAMILY.secondary,
|
|
15
29
|
writingDirection: I18nManager.isRTL ? 'rtl' : 'ltr',
|
|
30
|
+
...(fontSize != null ? { fontSize } : {}),
|
|
31
|
+
...(lineHeight != null ? { lineHeight } : {}),
|
|
16
32
|
};
|
|
17
|
-
const flattenedStyle = StyleSheet.flatten([RNStyle, props.style]);
|
|
18
33
|
|
|
19
|
-
const
|
|
34
|
+
const mergedStyle = StyleSheet.flatten([RNStyle, props.style]);
|
|
20
35
|
|
|
36
|
+
const {
|
|
37
|
+
ellipsizeMode, numberOfLines, allowFontScaling, testID,
|
|
38
|
+
} = props;
|
|
21
39
|
const textData = I18nManager.isRTL ? `\u200F${props.children}` : props.children;
|
|
22
40
|
|
|
23
41
|
return (
|
|
@@ -29,7 +47,7 @@ export const Text = (props) => {
|
|
|
29
47
|
ellipsizeMode={ellipsizeMode}
|
|
30
48
|
numberOfLines={numberOfLines}
|
|
31
49
|
testID={testID}
|
|
32
|
-
style={
|
|
50
|
+
style={mergedStyle}
|
|
33
51
|
fontFamily={RNStyle.fontFamily}
|
|
34
52
|
allowFontScaling={allowFontScaling}
|
|
35
53
|
>
|