5htp-core 0.0.9 → 0.1.1

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.
Files changed (56) hide show
  1. package/package.json +7 -5
  2. package/src/client/assets/css/components/button.less +54 -45
  3. package/src/client/assets/css/components/card.less +67 -18
  4. package/src/client/assets/css/components/components.less +27 -0
  5. package/src/client/assets/css/components/lists.less +30 -15
  6. package/src/client/assets/css/components/other.less +9 -5
  7. package/src/client/assets/css/components/table.less +2 -1
  8. package/src/client/assets/css/core.less +1 -0
  9. package/src/client/assets/css/layouts.less +14 -0
  10. package/src/client/assets/css/medias.less +27 -2
  11. package/src/client/assets/css/spacing.less +2 -1
  12. package/src/client/assets/css/text/icons.less +1 -1
  13. package/src/client/assets/css/text/text.less +6 -5
  14. package/src/client/assets/css/text/titres.less +10 -6
  15. package/src/client/assets/css/theme.less +19 -15
  16. package/src/client/components/Card/index.less +0 -0
  17. package/src/client/components/Card/index.tsx +87 -0
  18. package/src/client/components/Dialog/card.tsx +1 -1
  19. package/src/client/components/Dialog/index.less +4 -3
  20. package/src/client/components/Form/index.tsx +2 -2
  21. package/src/client/components/Row/index.less +65 -0
  22. package/src/client/components/Row/index.tsx +72 -0
  23. package/src/client/components/Table/index.tsx +26 -25
  24. package/src/client/components/button.tsx +1 -1
  25. package/src/client/components/chart/base.tsx +1 -1
  26. package/src/client/components/containers/Scrollbar/index.less +1 -1
  27. package/src/client/components/containers/tabs/index.tsx +2 -2
  28. package/src/client/components/data/progressbar/index.less +1 -1
  29. package/src/client/components/data/progressbar/index.tsx +3 -3
  30. package/src/client/components/input/BaseV2/index.less +4 -3
  31. package/src/client/components/input/Slider/index.less +1 -1
  32. package/src/client/components/input/UploadImage/index.less +1 -1
  33. package/src/client/context/index.ts +0 -1
  34. package/src/client/router/index.tsx +10 -3
  35. package/src/common/data/input/validate.ts +2 -2
  36. package/src/common/data/input/validators/basic.ts +18 -18
  37. package/src/common/data/input/validators/build.ts +2 -2
  38. package/src/common/errors/index.ts +17 -13
  39. package/src/server/data/Token.olg.ts +2 -2
  40. package/src/server/data/aes.ts +2 -2
  41. package/src/server/routes/auth.ts +9 -3
  42. package/src/server/services/auth/base.ts +42 -20
  43. package/src/server/services/console/bugReporter.ts +103 -24
  44. package/src/server/services/console/index.ts +21 -0
  45. package/src/server/services/cron/index.ts +2 -2
  46. package/src/server/services/database/index.ts +9 -11
  47. package/src/server/services/email/index.ts +26 -16
  48. package/src/server/services/router/index.ts +6 -7
  49. package/src/server/services/router/request/index.ts +1 -1
  50. package/src/server/services/router/request/services/auth.ts +75 -37
  51. package/src/server/services/router/request/services/detect.ts +4 -4
  52. package/src/server/services/router/request/services/tracking.ts +3 -3
  53. package/src/server/services/router/response/index.ts +3 -3
  54. package/src/server/services/email/transports/local.ts +0 -102
  55. package/src/server/services/email/transports/mailjet.ts +0 -75
  56. package/src/server/services/email/transports/sendgrid.ts +0 -44
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "5htp-core",
3
3
  "description": "5-HTP, scientifically called 5-Hydroxytryptophan, is the precursor of happiness neurotransmitter.",
4
- "version": "0.0.9",
4
+ "version": "0.1.1",
5
5
  "author": "Gaetan Le Gac (https://github.com/gaetanlegac)",
6
6
  "repository": "git://github.com/gaetanlegac/5htp-core.git",
7
7
  "license": "MIT",
@@ -72,9 +72,7 @@
72
72
  "uuid-by-string": "^3.0.4",
73
73
  "validator": "^13.7.0",
74
74
  "ws": "^8.2.2",
75
- "yaml": "^1.10.2",
76
- "preact": "^10.5.15",
77
- "preact-render-to-string": "^5.1.19"
75
+ "yaml": "^1.10.2"
78
76
  },
79
77
  "devDependencies": {
80
78
  "@types/cookie": "^0.4.1",
@@ -85,5 +83,9 @@
85
83
  "@types/universal-analytics": "^0.4.5",
86
84
  "@types/webpack-env": "^1.16.2",
87
85
  "@types/ws": "^7.4.7"
88
- }
86
+ },
87
+ "peerDependencies": {
88
+ "preact": "^10.5.15",
89
+ "preact-render-to-string": "^5.1.19"
90
+ }
89
91
  }
@@ -1,3 +1,12 @@
1
+ /*----------------------------------
2
+ - CONFIG
3
+ ----------------------------------*/
4
+
5
+ @sizeActiveIndicator: 0.3rem;
6
+
7
+ /*----------------------------------
8
+ - BUTTON
9
+ ----------------------------------*/
1
10
  .btn {
2
11
 
3
12
  // Layout
@@ -18,8 +27,26 @@
18
27
  font-weight: 600;
19
28
 
20
29
  // Colors
21
- background: transparent;
22
- color: var(--cTxtBase);
30
+ color: var(--cTxtAccent);
31
+
32
+ // Hover
33
+ transition: all .5s linear;
34
+ &:hover,
35
+ &.selected,
36
+ li:hover > & {
37
+
38
+ color: var(--cTxtImportant);
39
+ transition: all .1s linear;
40
+
41
+ > i {
42
+ color: var(--cAccent)
43
+ }
44
+ }
45
+
46
+ // Click
47
+ &.pressed {
48
+ transform: scale(0.9);
49
+ }
23
50
 
24
51
  &,
25
52
  > .label {
@@ -44,12 +71,9 @@
44
71
  }
45
72
  }
46
73
 
47
- &:not(.color):not(.icon) > i {
48
- color: var(--c2);
49
- }
50
-
51
74
  > i {
52
75
  font-size: 1.2em;
76
+ color: inherit;
53
77
  }
54
78
 
55
79
  > img {
@@ -68,36 +92,11 @@
68
92
  /*----------------------------------
69
93
  - THEME
70
94
  ----------------------------------*/
71
-
72
- // Hover / Click
73
- transition: all .5s linear;
74
- &:not([disabled]) {
75
-
76
- &:hover,
77
- &.selected,
78
- li:hover > & {
79
- background: var(--cBgHover);
80
- color: var(--cTxtImportant);
81
- transition: all .1s linear;
82
- }
83
-
84
- &.pressed {
85
- transform: scale(0.9);
86
- }
87
- }
88
-
89
- // On donne moins d'importance à chaque bouton lorsqu'ils sont dans une liste (ex: menu)
90
- /*li > &,
91
- .menu > & {
92
95
 
93
- &:not(.primary):not(.selected) {
94
- color: inherit;
95
- }
96
- }*/
97
-
98
- &.primary {
96
+ &.bg {
99
97
 
100
98
  background: var(--cBg);
99
+ color: var(--cTxtBase);
101
100
 
102
101
  &:not(:disabled) {
103
102
  &:hover,
@@ -126,13 +125,6 @@
126
125
 
127
126
  cursor: pointer;
128
127
 
129
- &:not(.primary):hover,
130
- &:not(.primary).selected {
131
- &, & > i {
132
- color: var(--cTxtImportant);
133
- }
134
- }
135
-
136
128
  &:not(.primary).selected {
137
129
 
138
130
  &.col {
@@ -202,11 +194,17 @@
202
194
  height: auto;
203
195
  width: auto;
204
196
  padding: 0;
197
+
198
+ &,
199
+ &:hover {
200
+ background: none;
201
+ box-shadow: none;
202
+ }
205
203
  }
206
204
  }
207
205
 
208
206
  /*----------------------------------
209
- - sHOW BUBBLE ON HOVER
207
+ - BUTTON IN LISTS
210
208
  ----------------------------------*/
211
209
 
212
210
  ul.col,
@@ -215,9 +213,20 @@ ul.row {
215
213
  &.menu > .btn,
216
214
  &.menu > li > .btn {
217
215
 
216
+ // Give less imortance to buttons which are in lists
217
+ color: var(--cTxtBase);
218
218
  box-shadow: none;
219
- width: 100%;
219
+ border: none;
220
+ //width: 100%;
221
+ background: transparent;
222
+
223
+ &.selected,
224
+ &:hover {
225
+ background: var(--cBg2);
226
+ color: var(--cTxtImportant);
227
+ }
220
228
 
229
+ // All the list items label must be aligned
221
230
  > .label {
222
231
  justify-content: flex-start;
223
232
  }
@@ -327,8 +336,8 @@ ul.col {
327
336
  position: absolute;
328
337
 
329
338
  top: -@sizeComponent;
330
- left: calc(0em - @spacingComponent);
331
- right: calc(0em - @spacingComponent);
339
+ left: calc(0em - @spacing);
340
+ right: calc(0em - @spacing);
332
341
 
333
342
  height: 100%;
334
343
  }
@@ -345,7 +354,7 @@ ul.col {
345
354
  left: auto;
346
355
  margin-left: 0;
347
356
  right: 100%;
348
- margin-right: @spacingComponent;
357
+ margin-right: @spacing;
349
358
  }
350
359
  }
351
360
  }
@@ -1,18 +1,42 @@
1
- .card {
2
-
1
+ /*----------------------------------
2
+ - CONFIG
3
+ ----------------------------------*/
4
+ @import (reference) "../theme.less";
5
+
6
+ @cardPadding: @spacing * 1.5;
7
+ @cardPaddingLong: @spacing * 2;
8
+
9
+ /*----------------------------------
10
+ - COMPONENTS
11
+ ----------------------------------*/
12
+ .card,
13
+ .msg {
3
14
  position: relative; // For .overlay
4
- padding: @spacing;
5
- background-color: var(--cBg);
6
15
  color: var(--cTxtBase);
7
16
  border-radius: @radius;
17
+ }
18
+
19
+ .card {
20
+
21
+ background-color: var(--cBg);
22
+ padding: @cardPadding;
23
+
24
+ &.row {
25
+ padding: @cardPadding @cardPaddingLong;
26
+ }
27
+
28
+ &.col {
29
+ padding: @cardPaddingLong @cardPadding;
30
+ }
8
31
 
9
- &.clickable {
10
- cursor: pointer;
32
+ &.bg {
33
+ --cBg: difference(@cBgPage, #0a0a0a);
34
+ --cBg2: difference(@cBgPage, #111);
35
+ background: var(--cBg);
11
36
 
12
- &:hover {
13
- > * {
14
- --cTxtImportant: @c1;
15
- }
37
+ &.img {
38
+ background-position: center;
39
+ background-size: cover;
16
40
  }
17
41
  }
18
42
 
@@ -36,7 +60,7 @@
36
60
  ----------------------------------*/
37
61
 
38
62
  &.menu {
39
- padding: @spacing * 2;
63
+ padding: @cardPaddingLong;
40
64
  }
41
65
 
42
66
  /*----------------------------------
@@ -52,25 +76,28 @@
52
76
 
53
77
  > .cov-t {
54
78
 
55
- margin-top: calc( -1 * @spacingComponent );
79
+ margin-top: -1 * @spacing;
56
80
  }
57
81
 
58
- > .cover,
59
- > .table {
82
+ &.col > .cover {
60
83
 
61
- margin-left: calc( -1 * @spacingComponent );
62
- margin-right: calc( -1 * @spacingComponent );
84
+ margin-left: -1 * @cardPadding;
85
+ margin-right: -1 * @cardPadding;
86
+ padding-left: @cardPadding;
87
+ padding-right: @cardPadding;
63
88
 
64
89
  &:first-child {
65
90
  border-top-left-radius: @radius;
66
91
  border-top-right-radius: @radius;
67
- margin-top: calc( -1 * @spacingComponent );
92
+ margin-top: -1 * @cardPaddingLong;
93
+ padding-top: @cardPaddingLong;
68
94
  }
69
95
 
70
96
  &:last-child {
71
97
  border-bottom-left-radius: @radius;
72
98
  border-bottom-right-radius: @radius;
73
- margin-bottom: calc( -1 * @spacingComponent );
99
+ margin-bottom: -1 * @cardPaddingLong;
100
+ padding-bottom: @cardPaddingLong;
74
101
  }
75
102
  }
76
103
 
@@ -81,6 +108,28 @@
81
108
  }
82
109
  }
83
110
 
111
+ .msg, .card.bg.info {
112
+
113
+ padding: @spacing @cardPaddingLong;
114
+
115
+ .build-theme-bg( lighten(@cInfo, 35%), darken(@cInfo, 20%));
116
+
117
+ }
118
+
119
+ .msg, .card.bg {
120
+ &.error {
121
+ .build-theme-bg( lighten(@cInfo, 35%), darken(@cInfo, 20%));
122
+ }
123
+
124
+ &.warn {
125
+ .build-theme-bg( lighten(@cWarn, 25%), darken(@cWarn, 30%));
126
+ }
127
+
128
+ &.success {
129
+ .build-theme-bg( lighten(@cSuccess, 50%), darken(@cSuccess, 30%));
130
+ }
131
+ }
132
+
84
133
  iframe {
85
134
  border: none;
86
135
  }
@@ -0,0 +1,27 @@
1
+ .card,
2
+ .input.text,
3
+ .btn,
4
+ .table,
5
+ i.solid {
6
+
7
+ .build-theme-bg( #fff, #8E8E8E);
8
+
9
+ &:not(.bg) {
10
+ background: white;
11
+ box-shadow: 0 3px 2px fade(#000, 10%);
12
+ border: solid 1px fade(#000, 10%);
13
+ border-radius: @radius;
14
+ }
15
+
16
+ .bg & {
17
+ box-shadow: none;
18
+ border: none;
19
+ }
20
+ }
21
+
22
+ //.card.clickable:hover,
23
+ .btn:hover,
24
+ .input.text.focus {
25
+ z-index: 5;
26
+ box-shadow: 0 10px 50px fade(#000, 15%);
27
+ }
@@ -1,4 +1,14 @@
1
- ul {
1
+ /*----------------------------------
2
+ - CONFIG
3
+ ----------------------------------*/
4
+
5
+ @sizeStep: 2.2em;
6
+ @itemLineHeight: 1.5em;
7
+
8
+ /*----------------------------------
9
+ - BASIC LISTS
10
+ ----------------------------------*/
11
+ ul, ol {
2
12
  list-style: none;
3
13
  margin: 0;
4
14
  padding: 0;
@@ -10,11 +20,8 @@ ul {
10
20
  }*/
11
21
  }
12
22
 
13
- /*----------------------------------
14
- - Liste classique
15
- ----------------------------------*/
16
23
  ul.liste,
17
- ol.liste {
24
+ ol.steps {
18
25
  // Doit hériter des parents
19
26
  //line-height: 1.5em;
20
27
  text-align: left;
@@ -41,7 +48,7 @@ ul.liste {
41
48
  &:before {
42
49
  content: '➜';
43
50
  font-size: 1.4em;
44
- color: var(--c2);
51
+ color: var(--cAccent);
45
52
  }
46
53
  }
47
54
 
@@ -71,7 +78,6 @@ ul.liste {
71
78
  }
72
79
  }
73
80
 
74
- @sizeStep: 3rem;
75
81
  ol.steps {
76
82
 
77
83
  counter-reset: step-counter;
@@ -81,11 +87,19 @@ ol.steps {
81
87
 
82
88
  &:before {
83
89
  content: counter(step-counter);
90
+ font-size: 0.8em;
84
91
  }
85
92
 
86
- li.row {
93
+ &.active::before {
94
+ background-color: var(--cAccent);
95
+ }
96
+
97
+ // Stepnumber = at the left
98
+ &:not(.col) {
87
99
 
88
- padding-left: 30px;
100
+ padding-left: @sizeStep + (@spacing / 2);
101
+ padding-top: (@sizeStep - @itemLineHeight) / 2;
102
+ line-height: @itemLineHeight;
89
103
  margin: 5px 0;
90
104
 
91
105
  &:before {
@@ -93,7 +107,8 @@ ol.steps {
93
107
  }
94
108
  }
95
109
 
96
- li.col {
110
+ // Step number = at the top
111
+ &.col {
97
112
 
98
113
  /*padding-left: 30px;
99
114
  margin: 5px 0;*/
@@ -107,14 +122,14 @@ ol.steps {
107
122
 
108
123
  ol.steps > li:before,
109
124
  strong.step {
110
- color: var(--c1);
111
- font-weight: 700;
125
+
112
126
  background: @c1SuperLight;
127
+ color: @c1;
113
128
 
114
129
  text-align: center;
115
- width: @sizeStep;
116
- height: @sizeStep;
117
- line-height: @sizeStep;
130
+ width: @sizeStep * 1.2;
131
+ height: @sizeStep * 1.2;
132
+ line-height: @sizeStep * 1.2;
118
133
  border-radius: 50%;
119
134
  }
120
135
 
@@ -52,9 +52,8 @@ img.bg-cover {
52
52
  height: @t_pastille;
53
53
  border-radius: 50%;
54
54
 
55
- --color: #e243bc;
56
- background: var(--color);
57
- box-shadow: 0 0 25px var(--color);
55
+ background: var(--cBg);
56
+ box-shadow: 0 0 25px var(--cBg);
58
57
 
59
58
  &.l {
60
59
  width: 2rem;
@@ -117,7 +116,12 @@ strong.placeholder {
117
116
  }
118
117
 
119
118
  hr {
119
+
120
120
  border: none;
121
- border-top: solid 1px var(--cLine2);
122
- margin: 1.65rem 0;
121
+
122
+ &::before {
123
+ display: block;
124
+ content: '• • •';
125
+ color: var(--cTxtDesc);
126
+ }
123
127
  }
@@ -1,8 +1,9 @@
1
1
  table {
2
2
 
3
3
  width: 100%;
4
- border-collapse: separate;
5
4
  padding: 0;
5
+ border-collapse: separate;
6
+ border-spacing: 0 0.5em;
6
7
 
7
8
  // By default, chrome disables text inherits
8
9
  line-height: inherit;
@@ -7,6 +7,7 @@
7
7
  @import './text/icons.less';
8
8
  @import './text/titres.less';
9
9
 
10
+ @import './components/components.less';
10
11
  @import './components/input.less';
11
12
  @import './components/button.less';
12
13
  @import './components/lists.less';
@@ -83,6 +83,20 @@
83
83
  }
84
84
  }
85
85
  }
86
+
87
+ &.unibody {
88
+
89
+ gap: 0;
90
+
91
+ > :not(:first-child) {
92
+ border-top-left-radius: 0;
93
+ border-bottom-left-radius: 0;
94
+ }
95
+ > :not(:last-child) {
96
+ border-top-right-radius: 0;
97
+ border-bottom-right-radius: 0;
98
+ }
99
+ }
86
100
  }
87
101
 
88
102
  .row.champs {
@@ -1,11 +1,36 @@
1
1
  @import (reference) "~@/client/assets/theme.less";
2
2
 
3
+ img.img,
4
+ .bg.img {
5
+ background: @cBgPage - #101010;
6
+ }
7
+
8
+ .bg.img {
9
+ .build-theme-bg(#000, #fff);
10
+ text-shadow: 0 0 10px fade(#000, 20%);
11
+ }
12
+
3
13
  img {
4
14
  max-width: 100%;
5
15
  display: block;
6
16
 
7
- &.image {
17
+ &.img {
8
18
  border-radius: @radius;
9
- background: @cBgPage - #101010;
10
19
  }
20
+ }
21
+
22
+ /*----------------------------------
23
+ - IMAGE CONFIG
24
+ ----------------------------------*/
25
+
26
+ // Default: cover
27
+ .bg.img {
28
+ background-size: cover;
29
+ background-repeat: no-repeat;
30
+ background-position: center;
31
+ }
32
+
33
+ img.img {
34
+ object-fit: cover;
35
+ object-position: center;
11
36
  }
@@ -6,8 +6,9 @@
6
6
  &.sp-0 { gap: 0px; }
7
7
  &.sp-05 { gap: @spacing / 2; }
8
8
  &, &.sp-1 { gap: @spacing }
9
- &.sp-2 { gap: @spacingLayout; }
9
+ &.sp-2 { gap: @spacing * 2; }
10
10
  &.sp-3 { gap: @spacing * 3; }
11
+ &.sp-4 { gap: @spacing * 4; }
11
12
  }
12
13
 
13
14
  .pd { padding: @spacing; }
@@ -32,7 +32,7 @@ i {
32
32
  }
33
33
 
34
34
  &.solid {
35
- color: var(--c2);
35
+ color: var(--cAccent2);
36
36
 
37
37
  width: @sizeComponent;
38
38
  flex: 0 0 @sizeComponent;
@@ -32,7 +32,7 @@ a {
32
32
  }
33
33
 
34
34
  p, .p {
35
- text-align: center;
35
+ text-align: justify;
36
36
  line-height: 1.8em;
37
37
  margin: 0; // Overwrite browser defaults
38
38
  }
@@ -75,10 +75,10 @@ p, .p {
75
75
  .txt-blanc { color: #fff !important; }
76
76
 
77
77
  .txtPrimary, .txtC1 {
78
- color: var(--c1);
78
+ color: var(--cAccent);
79
79
  }
80
80
 
81
- .txtC2 { color: var(--c2); }
81
+ .txtC2 { color: var(--cAccent2); }
82
82
 
83
83
  /*----------------------------------
84
84
  - TAILLE
@@ -147,11 +147,12 @@ em {
147
147
  content: ' ';
148
148
  display: block;
149
149
  height: 0.5em;
150
- background: var(--c2);
150
+ border-radius: 0.25em;
151
+ background: var(--cAccent2);
151
152
 
152
153
  position: absolute;
153
154
  z-index: -1;
154
- bottom: 0.15em;
155
+ bottom: 0.05em;
155
156
  left: -0.1em;
156
157
  right: -0.1em;
157
158
  }
@@ -2,7 +2,6 @@ h1, .h1,
2
2
  h2,
3
3
  h3 {
4
4
 
5
- font-family: "Rubik";
6
5
  font-weight: 600;
7
6
  text-align: inherit;
8
7
  color: var(--cTxtImportant);
@@ -18,24 +17,29 @@ h3 {
18
17
  }
19
18
 
20
19
  strong {
21
- color: var(--c1);
20
+ color: var(--cAccent);
22
21
  font-weight: inherit;
23
22
  }
24
23
  }
25
24
 
25
+ h1,
26
+ h2 {
27
+ font-family: "Rubik";
28
+ }
29
+
26
30
  // sans input.h1, .h1 seul ne peut pas override le style par défaut des champs
27
31
  h1, .h1 {
28
- font-size: 1.8rem;
32
+ font-size: @h1Size;
29
33
  line-height: 1.3em;
30
34
  }
31
35
 
32
36
  h2, .h2 {
33
- font-size: 1.3rem;
37
+ font-size: @h2Size;
34
38
  line-height: 1.6em;
35
39
  }
36
40
 
37
41
  h3,
38
42
  fieldset > legend {
39
- font-size: 1.16rem;
40
- line-height: 2rem;
43
+ font-size: @h3Size;
44
+ line-height: 1.5em;
41
45
  }