@griddo/ax 1.60.9 → 1.61.2

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 (147) hide show
  1. package/package.json +4 -2
  2. package/public/fonts/fonts.css +48 -660
  3. package/public/index.html +19 -16
  4. package/public/templates/template-redirects.csv +2 -0
  5. package/src/GlobalStore.tsx +3 -0
  6. package/src/Style/fonts.tsx +98 -72
  7. package/src/api/analytics.tsx +78 -0
  8. package/src/api/index.tsx +2 -0
  9. package/src/api/redirects.tsx +30 -2
  10. package/src/components/Button/style.tsx +1 -0
  11. package/src/components/ConfigPanel/Form/ConnectedField/PageConnectedField/Field/index.tsx +1 -1
  12. package/src/components/ConfigPanel/Form/ConnectedField/PageConnectedField/TemplateManager/index.tsx +4 -3
  13. package/src/components/ConfigPanel/Form/ConnectedField/PageConnectedField/index.tsx +6 -1
  14. package/src/components/FieldContainer/index.tsx +2 -2
  15. package/src/components/Fields/AnalyticsField/PageAnalytics/atoms.tsx +75 -0
  16. package/src/components/Fields/AnalyticsField/PageAnalytics/index.tsx +139 -0
  17. package/src/components/Fields/AnalyticsField/StructuredDataAnalytics/atoms.tsx +77 -0
  18. package/src/components/Fields/AnalyticsField/StructuredDataAnalytics/index.tsx +89 -0
  19. package/src/components/Fields/AnalyticsField/index.tsx +38 -0
  20. package/src/components/Fields/AnalyticsField/style.tsx +13 -0
  21. package/src/components/Fields/AnalyticsField/utils.tsx +13 -0
  22. package/src/components/Fields/FieldGroup/style.tsx +1 -1
  23. package/src/components/Fields/ImageField/index.tsx +1 -1
  24. package/src/components/Fields/MultiCheckSelect/index.tsx +23 -6
  25. package/src/components/Fields/MultiCheckSelect/style.tsx +1 -0
  26. package/src/components/Fields/NoteField/index.tsx +1 -1
  27. package/src/components/Fields/RadioGroup/index.tsx +4 -3
  28. package/src/components/Fields/RadioGroup/style.tsx +8 -3
  29. package/src/components/Fields/RichText/index.tsx +13 -8
  30. package/src/components/Fields/TextArea/index.tsx +1 -3
  31. package/src/components/Fields/TextArea/style.tsx +3 -3
  32. package/src/components/Fields/UrlField/style.tsx +1 -0
  33. package/src/components/Fields/index.tsx +2 -0
  34. package/src/components/Modal/index.tsx +1 -1
  35. package/src/components/Modal/style.tsx +5 -1
  36. package/src/components/Notification/style.tsx +2 -5
  37. package/src/components/TableFilters/LiveFilter/index.tsx +4 -0
  38. package/src/components/TableFilters/NameFilter/style.tsx +1 -0
  39. package/src/components/TableFilters/TypeFilter/index.tsx +7 -2
  40. package/src/containers/Analytics/actions.tsx +58 -0
  41. package/src/containers/Analytics/constants.tsx +5 -0
  42. package/src/containers/Analytics/index.tsx +4 -0
  43. package/src/containers/Analytics/interfaces.tsx +9 -0
  44. package/src/containers/Analytics/reducer.tsx +26 -0
  45. package/src/containers/PageEditor/actions.tsx +1 -0
  46. package/src/containers/Redirects/actions.tsx +49 -3
  47. package/src/containers/Redirects/constants.tsx +12 -1
  48. package/src/containers/Redirects/interfaces.tsx +11 -1
  49. package/src/containers/Redirects/reducer.tsx +12 -1
  50. package/src/containers/Sites/actions.tsx +3 -0
  51. package/src/global.d.ts +2 -0
  52. package/src/helpers/index.tsx +4 -0
  53. package/src/helpers/requests.tsx +12 -7
  54. package/src/helpers/strings.tsx +13 -0
  55. package/src/hooks/forms.tsx +1 -1
  56. package/src/modules/Analytics/DimensionItem/index.tsx +71 -0
  57. package/src/modules/Analytics/DimensionItem/style.tsx +59 -0
  58. package/src/modules/Analytics/DimensionPanel/index.tsx +110 -0
  59. package/src/modules/Analytics/DimensionPanel/style.tsx +14 -0
  60. package/src/modules/Analytics/GroupItem/index.tsx +75 -0
  61. package/src/modules/Analytics/GroupItem/style.tsx +80 -0
  62. package/src/modules/Analytics/GroupPanel/index.tsx +178 -0
  63. package/src/modules/Analytics/GroupPanel/style.tsx +67 -0
  64. package/src/modules/Analytics/GroupPanel/utils.tsx +29 -0
  65. package/src/modules/Analytics/index.tsx +207 -0
  66. package/src/modules/Analytics/style.tsx +68 -0
  67. package/src/modules/Content/BulkHeader/TableHeader/index.tsx +1 -1
  68. package/src/modules/Content/PageItem/index.tsx +3 -3
  69. package/src/modules/Content/PageItem/style.tsx +1 -1
  70. package/src/modules/Content/hooks.tsx +2 -2
  71. package/src/modules/Content/index.tsx +22 -20
  72. package/src/modules/GlobalEditor/index.tsx +1 -1
  73. package/src/modules/Navigation/Defaults/DefaultsEditor/index.tsx +2 -2
  74. package/src/modules/PageEditor/index.tsx +1 -1
  75. package/src/modules/Redirects/RedirectItem/index.tsx +6 -2
  76. package/src/modules/Redirects/RedirectPanel/index.tsx +2 -0
  77. package/src/modules/Redirects/atoms.tsx +212 -0
  78. package/src/modules/Redirects/index.tsx +85 -27
  79. package/src/modules/Redirects/style.tsx +124 -3
  80. package/src/modules/Settings/ContentTypes/DataPacks/index.tsx +1 -1
  81. package/src/modules/StructuredData/StructuredDataList/BulkHeader/TableHeader/index.tsx +1 -1
  82. package/src/modules/StructuredData/StructuredDataList/GlobalPageItem/index.tsx +12 -3
  83. package/src/modules/StructuredData/StructuredDataList/index.tsx +17 -2
  84. package/src/routes/multisite.tsx +20 -2
  85. package/src/schemas/pages/GlobalPage.tsx +75 -64
  86. package/src/schemas/pages/Page.tsx +79 -67
  87. package/src/types/index.tsx +25 -3
  88. package/public/fonts/Source_Sans_Pro-200-cyrillic-ext107.woff2 +0 -0
  89. package/public/fonts/Source_Sans_Pro-200-cyrillic-ext149.woff2 +0 -0
  90. package/public/fonts/Source_Sans_Pro-200-cyrillic108.woff2 +0 -0
  91. package/public/fonts/Source_Sans_Pro-200-cyrillic150.woff2 +0 -0
  92. package/public/fonts/Source_Sans_Pro-200-greek-ext109.woff2 +0 -0
  93. package/public/fonts/Source_Sans_Pro-200-greek-ext151.woff2 +0 -0
  94. package/public/fonts/Source_Sans_Pro-200-greek110.woff2 +0 -0
  95. package/public/fonts/Source_Sans_Pro-200-greek152.woff2 +0 -0
  96. package/public/fonts/Source_Sans_Pro-200-vietnamese111.woff2 +0 -0
  97. package/public/fonts/Source_Sans_Pro-200-vietnamese153.woff2 +0 -0
  98. package/public/fonts/Source_Sans_Pro-300-cyrillic-ext114.woff2 +0 -0
  99. package/public/fonts/Source_Sans_Pro-300-cyrillic-ext156.woff2 +0 -0
  100. package/public/fonts/Source_Sans_Pro-300-cyrillic115.woff2 +0 -0
  101. package/public/fonts/Source_Sans_Pro-300-cyrillic157.woff2 +0 -0
  102. package/public/fonts/Source_Sans_Pro-300-greek-ext116.woff2 +0 -0
  103. package/public/fonts/Source_Sans_Pro-300-greek-ext158.woff2 +0 -0
  104. package/public/fonts/Source_Sans_Pro-300-greek117.woff2 +0 -0
  105. package/public/fonts/Source_Sans_Pro-300-greek159.woff2 +0 -0
  106. package/public/fonts/Source_Sans_Pro-300-vietnamese118.woff2 +0 -0
  107. package/public/fonts/Source_Sans_Pro-300-vietnamese160.woff2 +0 -0
  108. package/public/fonts/Source_Sans_Pro-400-cyrillic-ext121.woff2 +0 -0
  109. package/public/fonts/Source_Sans_Pro-400-cyrillic-ext163.woff2 +0 -0
  110. package/public/fonts/Source_Sans_Pro-400-cyrillic122.woff2 +0 -0
  111. package/public/fonts/Source_Sans_Pro-400-cyrillic164.woff2 +0 -0
  112. package/public/fonts/Source_Sans_Pro-400-greek-ext123.woff2 +0 -0
  113. package/public/fonts/Source_Sans_Pro-400-greek-ext165.woff2 +0 -0
  114. package/public/fonts/Source_Sans_Pro-400-greek124.woff2 +0 -0
  115. package/public/fonts/Source_Sans_Pro-400-greek166.woff2 +0 -0
  116. package/public/fonts/Source_Sans_Pro-400-vietnamese125.woff2 +0 -0
  117. package/public/fonts/Source_Sans_Pro-400-vietnamese167.woff2 +0 -0
  118. package/public/fonts/Source_Sans_Pro-600-cyrillic-ext128.woff2 +0 -0
  119. package/public/fonts/Source_Sans_Pro-600-cyrillic-ext170.woff2 +0 -0
  120. package/public/fonts/Source_Sans_Pro-600-cyrillic129.woff2 +0 -0
  121. package/public/fonts/Source_Sans_Pro-600-cyrillic171.woff2 +0 -0
  122. package/public/fonts/Source_Sans_Pro-600-greek-ext130.woff2 +0 -0
  123. package/public/fonts/Source_Sans_Pro-600-greek-ext172.woff2 +0 -0
  124. package/public/fonts/Source_Sans_Pro-600-greek131.woff2 +0 -0
  125. package/public/fonts/Source_Sans_Pro-600-greek173.woff2 +0 -0
  126. package/public/fonts/Source_Sans_Pro-600-vietnamese132.woff2 +0 -0
  127. package/public/fonts/Source_Sans_Pro-600-vietnamese174.woff2 +0 -0
  128. package/public/fonts/Source_Sans_Pro-700-cyrillic-ext135.woff2 +0 -0
  129. package/public/fonts/Source_Sans_Pro-700-cyrillic-ext177.woff2 +0 -0
  130. package/public/fonts/Source_Sans_Pro-700-cyrillic136.woff2 +0 -0
  131. package/public/fonts/Source_Sans_Pro-700-cyrillic178.woff2 +0 -0
  132. package/public/fonts/Source_Sans_Pro-700-greek-ext137.woff2 +0 -0
  133. package/public/fonts/Source_Sans_Pro-700-greek-ext179.woff2 +0 -0
  134. package/public/fonts/Source_Sans_Pro-700-greek138.woff2 +0 -0
  135. package/public/fonts/Source_Sans_Pro-700-greek180.woff2 +0 -0
  136. package/public/fonts/Source_Sans_Pro-700-vietnamese139.woff2 +0 -0
  137. package/public/fonts/Source_Sans_Pro-700-vietnamese181.woff2 +0 -0
  138. package/public/fonts/Source_Sans_Pro-900-cyrillic-ext142.woff2 +0 -0
  139. package/public/fonts/Source_Sans_Pro-900-cyrillic-ext184.woff2 +0 -0
  140. package/public/fonts/Source_Sans_Pro-900-cyrillic143.woff2 +0 -0
  141. package/public/fonts/Source_Sans_Pro-900-cyrillic185.woff2 +0 -0
  142. package/public/fonts/Source_Sans_Pro-900-greek-ext144.woff2 +0 -0
  143. package/public/fonts/Source_Sans_Pro-900-greek-ext186.woff2 +0 -0
  144. package/public/fonts/Source_Sans_Pro-900-greek145.woff2 +0 -0
  145. package/public/fonts/Source_Sans_Pro-900-greek187.woff2 +0 -0
  146. package/public/fonts/Source_Sans_Pro-900-vietnamese146.woff2 +0 -0
  147. package/public/fonts/Source_Sans_Pro-900-vietnamese188.woff2 +0 -0
@@ -8,6 +8,7 @@ import UserCreate from "../modules/Users/UserCreate";
8
8
  import UserEdit from "../modules/Users/UserEdit";
9
9
  import Editor from "./../modules/GlobalEditor";
10
10
  import GlobalSettings from "./../modules/GlobalSettings";
11
+ import AnalyticsSettings from "../modules/Analytics";
11
12
 
12
13
  export default [
13
14
  { path: "/sites", component: Sites, name: "Sites", showInNav: true, icon: "Project" },
@@ -27,11 +28,28 @@ export default [
27
28
  hideNav: true,
28
29
  },
29
30
  {
30
- path: `/settings/robots`,
31
- component: GlobalSettings,
31
+ path: `/settings`,
32
+ component: null,
32
33
  name: "Settings",
33
34
  showInNav: true,
34
35
  icon: "Settings",
36
+ routesGroups: [
37
+ {
38
+ name: "Settings",
39
+ routes: [
40
+ {
41
+ path: `/settings/robots`,
42
+ component: GlobalSettings,
43
+ name: "SEO tools",
44
+ },
45
+ {
46
+ path: `/settings/analytics`,
47
+ component: AnalyticsSettings,
48
+ name: "Analytics tools",
49
+ }
50
+ ]
51
+ }
52
+ ]
35
53
  },
36
54
  {
37
55
  path: `/settings/redirects`,
@@ -43,84 +43,95 @@ export default {
43
43
  ],
44
44
  },
45
45
  {
46
- title: "seo",
46
+ title: "SEO & Analytics",
47
47
  fields: [
48
48
  {
49
- title: "Meta title",
50
- type: "TextField",
51
- key: "metaTitle",
52
- },
53
- {
54
- title: "Meta description",
55
- type: "TextArea",
56
- key: "metaDescription",
57
- },
58
- {
59
- title: "Meta robots index",
60
- type: "RadioGroup",
61
- key: "isIndexed",
62
- options: [
63
- {
64
- value: true,
65
- title: "Index",
66
- name: "index",
67
- },
68
- {
69
- value: false,
70
- title: "No index",
71
- name: "noindex",
72
- },
73
- ],
74
- },
75
- {
76
- title: "Meta robots follow",
77
- type: "RadioGroup",
78
- key: "follow",
79
- options: [
80
- {
81
- value: true,
82
- title: "Follow",
83
- name: "follow",
84
- },
85
- {
86
- value: false,
87
- title: "No follow",
88
- name: "nofollow",
89
- },
90
- ],
91
- },
92
- {
93
- title: "Meta robots advanced",
94
- type: "CheckGroup",
95
- key: "metasAdvanced",
96
- options: [
49
+ title: "SEO Data",
50
+ type: "FieldGroup",
51
+ key: "seoData",
52
+ fields: [
97
53
  {
98
- value: "noimageindex",
99
- title: "No image index",
100
- name: "noimage",
54
+ title: "Meta title",
55
+ type: "TextField",
56
+ key: "metaTitle",
101
57
  },
102
58
  {
103
- value: "nosnippet",
104
- title: "No snippet",
105
- name: "nosnippet",
59
+ title: "Meta description",
60
+ type: "TextArea",
61
+ key: "metaDescription",
106
62
  },
107
63
  {
108
- value: "noodp",
109
- title: "No ODP",
110
- name: "noodp",
64
+ title: "Meta robots index",
65
+ type: "RadioGroup",
66
+ key: "isIndexed",
67
+ options: [
68
+ {
69
+ value: true,
70
+ title: "Index",
71
+ name: "index",
72
+ },
73
+ {
74
+ value: false,
75
+ title: "No index",
76
+ name: "noindex",
77
+ },
78
+ ],
111
79
  },
112
80
  {
113
- value: "noarchive",
114
- title: "No archive",
115
- name: "noarchive",
81
+ title: "Meta robots follow",
82
+ type: "RadioGroup",
83
+ key: "follow",
84
+ options: [
85
+ {
86
+ value: true,
87
+ title: "Follow",
88
+ name: "follow",
89
+ },
90
+ {
91
+ value: false,
92
+ title: "No follow",
93
+ name: "nofollow",
94
+ },
95
+ ],
116
96
  },
117
97
  {
118
- value: "noTranslate",
119
- title: "No translate",
120
- name: "noTranslate",
98
+ title: "Meta robots advanced",
99
+ type: "CheckGroup",
100
+ key: "metasAdvanced",
101
+ options: [
102
+ {
103
+ value: "noimageindex",
104
+ title: "No image index",
105
+ name: "noimage",
106
+ },
107
+ {
108
+ value: "nosnippet",
109
+ title: "No snippet",
110
+ name: "nosnippet",
111
+ },
112
+ {
113
+ value: "noodp",
114
+ title: "No ODP",
115
+ name: "noodp",
116
+ },
117
+ {
118
+ value: "noarchive",
119
+ title: "No archive",
120
+ name: "noarchive",
121
+ },
122
+ {
123
+ value: "noTranslate",
124
+ title: "No translate",
125
+ name: "noTranslate",
126
+ },
127
+ ],
121
128
  },
122
129
  ],
123
130
  },
131
+ {
132
+ type: "AnalyticsField",
133
+ key: "dimensions",
134
+ },
124
135
  {
125
136
  title: "Social Media",
126
137
  type: "FieldGroup",
@@ -51,89 +51,100 @@ export default {
51
51
  ],
52
52
  },
53
53
  {
54
- title: "seo",
54
+ title: "SEO & Analytics",
55
55
  fields: [
56
56
  {
57
- title: "Meta title",
58
- type: "TextField",
59
- key: "metaTitle",
60
- },
61
- {
62
- title: "Meta description",
63
- type: "TextArea",
64
- key: "metaDescription",
65
- },
66
- {
67
- title: "Canonical URL",
68
- type: "TextField",
69
- key: "canonicalURL",
70
- },
71
- {
72
- title: "Meta robots index",
73
- type: "RadioGroup",
74
- key: "isIndexed",
75
- options: [
76
- {
77
- value: true,
78
- title: "Index",
79
- name: "index",
80
- },
81
- {
82
- value: false,
83
- title: "No index",
84
- name: "noindex",
85
- },
86
- ],
87
- },
88
- {
89
- title: "Meta robots follow",
90
- type: "RadioGroup",
91
- key: "follow",
92
- options: [
93
- {
94
- value: true,
95
- title: "Follow",
96
- name: "follow",
97
- },
57
+ title: "SEO Data",
58
+ type: "FieldGroup",
59
+ key: "seoData",
60
+ fields: [
98
61
  {
99
- value: false,
100
- title: "No follow",
101
- name: "nofollow",
62
+ title: "Meta title",
63
+ type: "TextField",
64
+ key: "metaTitle",
102
65
  },
103
- ],
104
- },
105
- {
106
- title: "Meta robots advanced",
107
- type: "CheckGroup",
108
- key: "metasAdvanced",
109
- options: [
110
66
  {
111
- value: "noimageindex",
112
- title: "No image index",
113
- name: "noimage",
67
+ title: "Meta description",
68
+ type: "TextArea",
69
+ key: "metaDescription",
114
70
  },
115
71
  {
116
- value: "nosnippet",
117
- title: "No snippet",
118
- name: "nosnippet",
72
+ title: "Canonical URL",
73
+ type: "TextField",
74
+ key: "canonicalURL",
119
75
  },
120
76
  {
121
- value: "noodp",
122
- title: "No ODP",
123
- name: "noodp",
77
+ title: "Meta robots index",
78
+ type: "RadioGroup",
79
+ key: "isIndexed",
80
+ options: [
81
+ {
82
+ value: true,
83
+ title: "Index",
84
+ name: "index",
85
+ },
86
+ {
87
+ value: false,
88
+ title: "No index",
89
+ name: "noindex",
90
+ },
91
+ ],
124
92
  },
125
93
  {
126
- value: "noarchive",
127
- title: "No archive",
128
- name: "noarchive",
94
+ title: "Meta robots follow",
95
+ type: "RadioGroup",
96
+ key: "follow",
97
+ options: [
98
+ {
99
+ value: true,
100
+ title: "Follow",
101
+ name: "follow",
102
+ },
103
+ {
104
+ value: false,
105
+ title: "No follow",
106
+ name: "nofollow",
107
+ },
108
+ ],
129
109
  },
130
110
  {
131
- value: "noTranslate",
132
- title: "No translate",
133
- name: "noTranslate",
111
+ title: "Meta robots advanced",
112
+ type: "CheckGroup",
113
+ key: "metasAdvanced",
114
+ options: [
115
+ {
116
+ value: "noimageindex",
117
+ title: "No image index",
118
+ name: "noimage",
119
+ },
120
+ {
121
+ value: "nosnippet",
122
+ title: "No snippet",
123
+ name: "nosnippet",
124
+ },
125
+ {
126
+ value: "noodp",
127
+ title: "No ODP",
128
+ name: "noodp",
129
+ },
130
+ {
131
+ value: "noarchive",
132
+ title: "No archive",
133
+ name: "noarchive",
134
+ },
135
+ {
136
+ value: "noTranslate",
137
+ title: "No translate",
138
+ name: "noTranslate",
139
+ },
140
+ ],
134
141
  },
135
142
  ],
136
143
  },
144
+ {
145
+ type: "AnalyticsField",
146
+ key: "dimensions",
147
+ },
137
148
  {
138
149
  title: "Social Media",
139
150
  type: "FieldGroup",
@@ -177,5 +188,6 @@ export default {
177
188
  socialTitle: "",
178
189
  socialDescription: "",
179
190
  socialImage: {},
191
+ dimensions: {},
180
192
  },
181
193
  };
@@ -10,6 +10,7 @@ import { IUsersState } from "@ax/containers/Users/reducer";
10
10
  import { IGalleryState } from "@ax/containers/Gallery/reducer";
11
11
  import { IDomainsState } from "@ax/containers/Domains/reducer";
12
12
  import { IRedirectsState } from "@ax/containers/Redirects/reducer";
13
+ import { IAnalyticsState } from "@ax/containers/Analytics/reducer";
13
14
 
14
15
  export interface IBreadcrumbItem {
15
16
  editorID: number;
@@ -88,7 +89,7 @@ export interface IAPIPage {
88
89
  draftFromPage: number | null;
89
90
  liveChanged: boolean;
90
91
  templateId: string;
91
- structuredDataContent: Record<string, []>
92
+ structuredDataContent: Record<string, []>;
92
93
  }
93
94
 
94
95
  export interface IPage extends IAPIPage {
@@ -185,6 +186,7 @@ export interface IRootState {
185
186
  gallery: IGalleryState;
186
187
  domains: IDomainsState;
187
188
  redirects: IRedirectsState;
189
+ analytics: IAnalyticsState;
188
190
  }
189
191
 
190
192
  export interface IStyledProps {
@@ -618,7 +620,7 @@ export interface IDataPackConfigImport {
618
620
  export interface IModal {
619
621
  isOpen: boolean;
620
622
  toggleModal: () => void;
621
- mainModalAction: { title: string; onClick: () => void };
623
+ mainModalAction?: { title: string; onClick: () => void };
622
624
  secondaryModalAction?: { title: string; onClick: () => void };
623
625
  }
624
626
 
@@ -683,7 +685,27 @@ export interface IRedirect {
683
685
  id?: number;
684
686
  from: string;
685
687
  to: { pageId?: number; url: string; linkTo?: number; href?: string };
686
- site?: { siteId: number | null; siteName: string | null };
688
+ site?: { siteId: number | null; siteName: string | null; siteUrl: string | null };
689
+ domain?: string;
690
+ }
691
+
692
+ export interface IAnalytics {
693
+ scriptCode: string;
694
+ dimensions: IDimension[];
695
+ groups: IDimensionsGroup[];
696
+ }
697
+
698
+ export interface IDimension {
699
+ id?: number;
700
+ name: string;
701
+ values: string;
702
+ }
703
+
704
+ export interface IDimensionsGroup {
705
+ id?: number;
706
+ name: string;
707
+ dimensions: string;
708
+ templates?: string;
687
709
  }
688
710
 
689
711
  export type Field =