@chainplatform/layout 0.1.3 → 0.1.6

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/README.md CHANGED
@@ -1,20 +1,20 @@
1
- # ChainSDK
2
- @chainplatform/sdk is a React Native library implement for react-native and react-native-web. Require crypto-js and react-native-mmkv packages.
1
+ # Chain Platform Layout
2
+ @chainplatform/layout is a React Native library implement for react-native and react-native-web.
3
3
 
4
4
  <p align="center">
5
- <a href="https://github.com/ChainPlatform/ChainSDK/blob/HEAD/LICENSE">
5
+ <a href="https://github.com/ChainPlatform/react-native-layout/blob/HEAD/LICENSE">
6
6
  <img src="https://img.shields.io/badge/license-MIT-blue.svg" />
7
7
  </a>
8
- <a href="https://www.npmjs.com/package/@chainplatform/sdk">
9
- <img src="https://img.shields.io/npm/v/@chainplatform/sdk?color=brightgreen&label=npm%20package" alt="Current npm package version." />
8
+ <a href="https://www.npmjs.com/package/@chainplatform/layout">
9
+ <img src="https://img.shields.io/npm/v/@chainplatform/layout?color=brightgreen&label=npm%20package" alt="Current npm package version." />
10
10
  </a>
11
- <a href="https://www.npmjs.com/package/@chainplatform/sdk">
12
- <img src="https://img.shields.io/npm/dt/@chainplatform/sdk.svg"></img>
11
+ <a href="https://www.npmjs.com/package/@chainplatform/layout">
12
+ <img src="https://img.shields.io/npm/dt/@chainplatform/layout.svg"></img>
13
13
  </a>
14
- <a href="https://www.npmjs.com/package/@chainplatform/sdk">
14
+ <a href="https://www.npmjs.com/package/@chainplatform/layout">
15
15
  <img src="https://img.shields.io/badge/platform-android%20%7C%20ios%20%7C%20web-blue"></img>
16
16
  </a>
17
- <a href="https://github.com/ChainPlatform/ChainSDK/pulls">
17
+ <a href="https://github.com/ChainPlatform/react-native-layout/pulls">
18
18
  <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" alt="PRs welcome!" />
19
19
  </a>
20
20
  <a href="https://twitter.com/intent/follow?screen_name=doansan">
@@ -24,11 +24,11 @@
24
24
 
25
25
  ### Install
26
26
  ```
27
- npm install @chainplatform/sdk --save
27
+ npm install @chainplatform/layout --save
28
28
  ```
29
29
  or
30
30
  ```
31
- yarn add @chainplatform/sdk
31
+ yarn add @chainplatform/layout
32
32
  ```
33
33
 
34
34
 
@@ -36,7 +36,7 @@ yarn add @chainplatform/sdk
36
36
 
37
37
  ```js
38
38
  import React from 'react';
39
- import * as ChainSDK from '@chainplatform/sdk';
39
+ import { getScreenLanding } from '@chainplatform/layout';
40
40
 
41
41
  class App extends React.Component {
42
42
 
package/index.js CHANGED
@@ -9,13 +9,13 @@ import {
9
9
  getCourseLearingLayout,
10
10
  getScreenWebinarSize
11
11
  } from "./src/Layout";
12
+ import { getScreenLanding } from "./src/Landing";
12
13
  import sdkStyles, { setSize } from "./src/styles";
13
14
  import sdkColors from "./src/colors";
14
15
  import mobileCheck from "./src/DeviceDetect";
15
16
 
16
17
  export default sdkStyles;
17
18
  export {
18
- setSize,
19
19
  getLayoutAdmin,
20
20
  getScreenSizeAdmin,
21
21
  getScreenSize,
@@ -26,6 +26,8 @@ export {
26
26
  getUserOrderLayout,
27
27
  getCourseLearingLayout,
28
28
  getScreenWebinarSize,
29
+ getScreenLanding,
29
30
  sdkColors,
31
+ setSize,
30
32
  mobileCheck
31
33
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chainplatform/layout",
3
- "version": "0.1.3",
3
+ "version": "0.1.6",
4
4
  "description": "@chainplatform/layout",
5
5
  "main": "index.js",
6
6
  "devDependencies": {
package/src/Landing.js ADDED
@@ -0,0 +1,169 @@
1
+ import sdkStyles, { setSize } from "./styles";
2
+
3
+ export function getScreenLanding(layoutWidth, isDesktop) {
4
+ const viewPadding = setSize(0);
5
+ let menuViewWidth = setSize(0);
6
+ let bannerViewWidth = setSize(0);
7
+ let splitPadding = setSize(0);
8
+ let sideBarWidth = setSize(0);
9
+ let courseViewWidth = setSize(0);
10
+ let newsViewWidth = setSize(0);
11
+ let bannerOnScreen = 1;
12
+ //Menu
13
+ let imageMenuSize = setSize(45);
14
+ let fontMenuSize = setSize(9.5);
15
+ let menuTotalItem = 5;
16
+ let menuSpace = 4 * setSize(5);
17
+ // Course
18
+ let courseTotalItem = 2;
19
+ let newsTotalItem = 2;
20
+ let courseSpace = 0;
21
+ let newsSpace = 0;
22
+ // News
23
+ let newsItem = 1;
24
+ let newsPadding = 0;
25
+ // New Course
26
+ let courseItem = 1;
27
+ let coursePadding = 0;
28
+ if (isDesktop) {
29
+ courseSpace = setSize(30) + setSize(15);
30
+ newsSpace = setSize(30) + setSize(15);
31
+ } else {
32
+ courseSpace = setSize(15);
33
+ newsSpace = setSize(15);
34
+ }
35
+ let drawerType = "back";
36
+ if (layoutWidth > sdkStyles.base_desktop) {
37
+ drawerType = "permanent";
38
+ }
39
+ if (isDesktop && layoutWidth > sdkStyles.base_desktop) {
40
+ sideBarWidth = setSize(0);
41
+ // Menu
42
+ imageMenuSize = setSize(55);
43
+ fontMenuSize = setSize(12);
44
+ // Course
45
+ courseTotalItem = 3;
46
+ newsTotalItem = 3;
47
+ courseSpace = setSize(60);
48
+ newsSpace = setSize(60);
49
+ // News
50
+ newsItem = 2;
51
+ newsPadding = setSize(15);
52
+ // New Course
53
+ courseItem = 3;
54
+ coursePadding = setSize(30);
55
+ }
56
+ let viewWidth = setSize(345);
57
+ let viewHeight = setSize(195);
58
+ if (isDesktop) {
59
+ if (layoutWidth >= sdkStyles.split_desktop) {
60
+ bannerOnScreen = 2;
61
+ splitPadding = setSize(15);
62
+ // Menu
63
+ menuTotalItem = 10;
64
+ menuSpace = 9 * setSize(5);
65
+ fontMenuSize = setSize(13);
66
+ // Course
67
+ courseTotalItem = 4;
68
+ newsTotalItem = 4;
69
+ courseSpace = setSize(75);
70
+ newsSpace = setSize(75);
71
+ // News
72
+ newsItem = 3;
73
+ newsPadding = setSize(30);
74
+ // New Course
75
+ courseItem = 4;
76
+ coursePadding = setSize(45);
77
+ }
78
+ if (layoutWidth >= sdkStyles.wide_split_desktop) {
79
+ // Course
80
+ courseTotalItem = 5;
81
+ courseSpace = setSize(75) + setSize(15);
82
+ //
83
+ courseItem = 5;
84
+ coursePadding = setSize(60);
85
+ }
86
+ bannerViewWidth = layoutWidth - sideBarWidth - 2 * viewPadding - splitPadding;
87
+ viewWidth = bannerViewWidth / bannerOnScreen;
88
+ viewHeight = setSize(195) * (viewWidth / setSize(345));
89
+ }
90
+ // Menu
91
+ menuViewWidth = layoutWidth - sideBarWidth - 2 * viewPadding - menuSpace;
92
+ const menuWidth = menuViewWidth / menuTotalItem;
93
+ // Course
94
+ courseViewWidth = layoutWidth - sideBarWidth - 2 * viewPadding - courseSpace;
95
+ const courseWidth = courseViewWidth / courseTotalItem;
96
+ // News
97
+ newsViewWidth = layoutWidth - sideBarWidth - 2 * viewPadding - newsSpace;
98
+ const newsWidth = newsViewWidth / newsTotalItem;
99
+ //
100
+ let numberChart = 1;
101
+ let padding = setSize(30);
102
+ if (layoutWidth > 460 && layoutWidth < sdkStyles.base_desktop) {
103
+ numberChart = 2;
104
+ padding = setSize(45);
105
+ }
106
+ if (layoutWidth >= sdkStyles.base_desktop && layoutWidth < sdkStyles.split_desktop) {
107
+ numberChart = 3;
108
+ padding = setSize(60);
109
+ }
110
+ if (layoutWidth >= sdkStyles.split_desktop) {
111
+ numberChart = 5;
112
+ padding = setSize(90);
113
+ }
114
+ let packageWidth = (layoutWidth - padding - sideBarWidth) / numberChart;
115
+ if (packageWidth < setSize(232)) {
116
+ packageWidth = setSize(232);
117
+ }
118
+ if (packageWidth > setSize(280)) {
119
+ packageWidth = setSize(280);
120
+ }
121
+
122
+ let numberwebinarChart = 1;
123
+ let webinarPadding = setSize(0);
124
+ if (layoutWidth - sideBarWidth - 2 * viewPadding >= 500) {
125
+ numberwebinarChart = 2;
126
+ webinarPadding = setSize(15);
127
+ }
128
+ if (layoutWidth >= sdkStyles.split_desktop) {
129
+ numberwebinarChart = 3;
130
+ webinarPadding = setSize(15);
131
+ }
132
+
133
+ let newsItemViewWidth = layoutWidth - sideBarWidth - 2 * viewPadding - newsPadding;
134
+ const newsItemWidth = newsItemViewWidth / newsItem;
135
+
136
+ let courseItemViewWidth = layoutWidth - sideBarWidth - 2 * viewPadding - coursePadding;
137
+ const courseItemWidth = courseItemViewWidth / courseItem;
138
+
139
+ let webinarViewWidth = layoutWidth - sideBarWidth - 2 * viewPadding - (numberwebinarChart - 1) * webinarPadding;
140
+ const webinarWidth = webinarViewWidth / numberwebinarChart;
141
+
142
+ const layout = layoutWidth - sideBarWidth - (sideBarWidth > 0 ? 2 : 2) * viewPadding;
143
+
144
+ let view = {};
145
+ view.courseItemWidth = courseItemWidth;
146
+ view.courseItem = courseItem;
147
+ view.coursePadding = coursePadding;
148
+ view.newsItemWidth = newsItemWidth;
149
+ view.newsItem = newsItem;
150
+ view.newsPadding = newsPadding;
151
+ view.webinarWidth = webinarWidth;
152
+ view.webinarPadding = webinarPadding;
153
+ view.numberWebinar = numberwebinarChart;
154
+ view.viewPadding = viewPadding;
155
+ view.sideBarWidth = sideBarWidth;
156
+ view.layout = layout;
157
+ view.bannerOnScreen = bannerOnScreen;
158
+ view.imageMenuSize = imageMenuSize;
159
+ view.fontMenuSize = fontMenuSize;
160
+ view.viewWidth = viewWidth;
161
+ view.viewHeight = viewHeight;
162
+ view.menuWidth = menuWidth;
163
+ view.courseWidth = courseWidth;
164
+ view.newsWidth = newsWidth;
165
+ view.splitPadding = splitPadding;
166
+ view.packageWidth = packageWidth;
167
+ view.drawerType = drawerType;
168
+ return view;
169
+ }