@kitconcept/volto-light-theme 3.0.0-alpha.2 → 3.0.0
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/.github/workflows/acceptance.yml +1 -1
- package/.github/workflows/deploy.yml +1 -1
- package/CHANGELOG.md +34 -0
- package/Makefile +7 -2
- package/README.md +57 -3
- package/acceptance/cypress/tests/main/nav.cy.js +1 -7
- package/acceptance/cypress/tests/main/site-action.cy.js +16 -0
- package/dockerfiles/docker-compose.yml +1 -0
- package/locales/de/LC_MESSAGES/volto.po +79 -62
- package/locales/en/LC_MESSAGES/volto.po +79 -61
- package/locales/pt_BR/volto.po +79 -61
- package/locales/volto.pot +81 -63
- package/package.json +3 -3
- package/src/components/Blocks/EventMetadata/View.jsx +129 -0
- package/src/components/Caption/Caption.jsx +5 -5
- package/src/components/Header/Header.jsx +116 -28
- package/src/components/MobileNavigation/MobileNavigation.jsx +1 -2
- package/src/components/Navigation/Navigation.jsx +37 -41
- package/src/components/SearchWidget/IntranetSearchWidget.jsx +124 -0
- package/src/components/Theme/EventView.jsx +31 -176
- package/src/index.js +33 -1
- package/src/theme/_header.scss +117 -11
- package/src/theme/_layout.scss +2 -0
- package/src/theme/blocks/_eventMetadata.scss +73 -0
- package/src/theme/blocks/_image.scss +1 -1
- package/src/theme/blocks/_introduction.scss +4 -4
- package/src/theme/main.scss +1 -0
package/locales/volto.pot
CHANGED
|
@@ -1,319 +1,337 @@
|
|
|
1
1
|
msgid ""
|
|
2
2
|
msgstr ""
|
|
3
3
|
"Project-Id-Version: Plone\n"
|
|
4
|
-
"POT-Creation-Date:
|
|
4
|
+
"POT-Creation-Date: 2024-02-08T13:36:14.317Z\n"
|
|
5
5
|
"Last-Translator: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
|
|
6
6
|
"Language-Team: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
|
|
7
|
-
"MIME-Version: 1.0\n"
|
|
8
7
|
"Content-Type: text/plain; charset=utf-8\n"
|
|
9
8
|
"Content-Transfer-Encoding: 8bit\n"
|
|
10
9
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
|
10
|
+
"MIME-Version: 1.0\n"
|
|
11
11
|
"Language-Code: en\n"
|
|
12
12
|
"Language-Name: English\n"
|
|
13
13
|
"Preferred-Encodings: utf-8\n"
|
|
14
14
|
"Domain: volto\n"
|
|
15
15
|
|
|
16
|
+
#. Default: "Back"
|
|
16
17
|
#: components/MobileNavigation/MobileNavigation
|
|
17
|
-
# defaultMessage: Back
|
|
18
18
|
msgid "Back"
|
|
19
19
|
msgstr ""
|
|
20
20
|
|
|
21
|
+
#. Default: "Background color"
|
|
21
22
|
#: components/Blocks/schema
|
|
22
|
-
# defaultMessage: Background color
|
|
23
23
|
msgid "Background color"
|
|
24
24
|
msgstr ""
|
|
25
25
|
|
|
26
|
+
#. Default: "Block Width"
|
|
26
27
|
#: components/Blocks/Button/schema
|
|
27
|
-
# defaultMessage: Block Width
|
|
28
28
|
msgid "Block Width"
|
|
29
29
|
msgstr ""
|
|
30
30
|
|
|
31
|
+
#. Default: "Breadcrumbs"
|
|
31
32
|
#: components/Breadcrumbs/Breadcrumbs
|
|
32
|
-
# defaultMessage: Breadcrumbs
|
|
33
33
|
msgid "Breadcrumbs"
|
|
34
34
|
msgstr ""
|
|
35
35
|
|
|
36
|
+
#. Default: "Browse the site, drop an image, or type an URL"
|
|
36
37
|
#: components/Blocks/Image/Edit
|
|
37
|
-
# defaultMessage: Browse the site, drop an image, or type an URL
|
|
38
38
|
msgid "Browse the site, drop an image, or type an URL"
|
|
39
39
|
msgstr ""
|
|
40
40
|
|
|
41
|
+
#. Default: "Button text"
|
|
41
42
|
#: components/Blocks/Slider/schema
|
|
42
|
-
# defaultMessage: Button text
|
|
43
43
|
msgid "Button text"
|
|
44
44
|
msgstr ""
|
|
45
45
|
|
|
46
|
+
#. Default: "Center"
|
|
46
47
|
#: components/Widgets/AlignWidget
|
|
47
|
-
# defaultMessage: Center
|
|
48
48
|
msgid "Center"
|
|
49
49
|
msgstr ""
|
|
50
50
|
|
|
51
|
+
#. Default: "Close menu"
|
|
51
52
|
#: components/MobileNavigation/MobileNavigation
|
|
52
53
|
#: components/Navigation/Navigation
|
|
53
|
-
# defaultMessage: Close menu
|
|
54
54
|
msgid "Close menu"
|
|
55
55
|
msgstr ""
|
|
56
56
|
|
|
57
|
+
#. Default: "Contact"
|
|
57
58
|
#: components/Theme/EventView
|
|
58
|
-
# defaultMessage: Contact
|
|
59
59
|
msgid "Contact"
|
|
60
60
|
msgstr ""
|
|
61
61
|
|
|
62
|
+
#. Default: "Continue reading"
|
|
62
63
|
#: components/Blocks/Slider/DefaultBody
|
|
63
|
-
# defaultMessage: Continue reading
|
|
64
64
|
msgid "Continue reading"
|
|
65
65
|
msgstr ""
|
|
66
66
|
|
|
67
|
+
#. Default: "Copyright"
|
|
67
68
|
#: components/Footer/Footer
|
|
68
|
-
# defaultMessage: Copyright
|
|
69
69
|
msgid "Copyright"
|
|
70
70
|
msgstr ""
|
|
71
71
|
|
|
72
|
+
#. Default: "Description"
|
|
72
73
|
#: components/Blocks/Image/schema
|
|
73
|
-
# defaultMessage: Description
|
|
74
74
|
msgid "Description"
|
|
75
75
|
msgstr ""
|
|
76
76
|
|
|
77
|
+
#. Default: "Distributed under the {license}."
|
|
77
78
|
#: components/Footer/Footer
|
|
78
|
-
# defaultMessage: Distributed under the {license}.
|
|
79
79
|
msgid "Distributed under the {license}."
|
|
80
80
|
msgstr ""
|
|
81
81
|
|
|
82
|
+
#. Default: "End"
|
|
82
83
|
#: components/Theme/EventView
|
|
83
|
-
# defaultMessage: End
|
|
84
84
|
msgid "End"
|
|
85
85
|
msgstr ""
|
|
86
86
|
|
|
87
|
+
#. Default: "Flag align"
|
|
87
88
|
#: components/Blocks/Slider/schema
|
|
88
|
-
# defaultMessage: Flag align
|
|
89
89
|
msgid "Flag align"
|
|
90
90
|
msgstr ""
|
|
91
91
|
|
|
92
|
+
#. Default: "Full"
|
|
92
93
|
#: components/Widgets/AlignWidget
|
|
93
|
-
# defaultMessage: Full
|
|
94
94
|
msgid "Full"
|
|
95
95
|
msgstr ""
|
|
96
96
|
|
|
97
|
+
#. Default: "GNU GPL license"
|
|
97
98
|
#: components/Footer/Footer
|
|
98
|
-
# defaultMessage: GNU GPL license
|
|
99
99
|
msgid "GNU GPL license"
|
|
100
100
|
msgstr ""
|
|
101
101
|
|
|
102
|
+
#. Default: "Hide Button"
|
|
102
103
|
#: components/Blocks/Slider/schema
|
|
103
|
-
# defaultMessage: Hide Button
|
|
104
104
|
msgid "Hide Button"
|
|
105
105
|
msgstr ""
|
|
106
106
|
|
|
107
|
+
#. Default: "Home"
|
|
107
108
|
#: components/Breadcrumbs/Breadcrumbs
|
|
108
109
|
#: components/MobileNavigation/MobileNavigation
|
|
109
|
-
# defaultMessage: Home
|
|
110
110
|
msgid "Home"
|
|
111
111
|
msgstr ""
|
|
112
112
|
|
|
113
|
+
#. Default: "ICS Download"
|
|
113
114
|
#: components/Theme/EventView
|
|
114
|
-
# defaultMessage: ICS Download
|
|
115
115
|
msgid "ICS-Download"
|
|
116
116
|
msgstr ""
|
|
117
117
|
|
|
118
|
+
#. Default: "Image"
|
|
118
119
|
#: components/Blocks/Image/ImageSidebar
|
|
119
|
-
# defaultMessage: Image
|
|
120
120
|
msgid "Image"
|
|
121
121
|
msgstr ""
|
|
122
122
|
|
|
123
|
+
#. Default: "Left"
|
|
123
124
|
#: components/Widgets/AlignWidget
|
|
124
|
-
# defaultMessage: Left
|
|
125
125
|
msgid "Left"
|
|
126
126
|
msgstr ""
|
|
127
127
|
|
|
128
|
+
#. Default: "Location"
|
|
128
129
|
#: components/Theme/EventView
|
|
129
|
-
# defaultMessage: Location
|
|
130
130
|
msgid "Location"
|
|
131
131
|
msgstr ""
|
|
132
132
|
|
|
133
|
+
#. Default: "Log in"
|
|
133
134
|
#: components/Anontools/Anontools
|
|
134
|
-
# defaultMessage: Log in
|
|
135
135
|
msgid "Log in"
|
|
136
136
|
msgstr ""
|
|
137
137
|
|
|
138
|
+
#. Default: "Next Page"
|
|
138
139
|
#: components/Blocks/Listing/ListingBody
|
|
139
|
-
# defaultMessage: Next Page
|
|
140
140
|
msgid "Next Page"
|
|
141
141
|
msgstr ""
|
|
142
142
|
|
|
143
|
+
#. Default: "No date"
|
|
143
144
|
#: components/Theme/EventView
|
|
144
|
-
# defaultMessage: No date
|
|
145
145
|
msgid "No date"
|
|
146
146
|
msgstr ""
|
|
147
147
|
|
|
148
|
+
#. Default: "No image selected"
|
|
148
149
|
#: components/Blocks/Image/ImageSidebar
|
|
149
|
-
# defaultMessage: No image selected
|
|
150
150
|
msgid "No image selected"
|
|
151
151
|
msgstr ""
|
|
152
152
|
|
|
153
|
+
#. Default: "No items found in this container."
|
|
153
154
|
#: components/Blocks/Listing/ListingBody
|
|
154
|
-
# defaultMessage: No items found in this container.
|
|
155
155
|
msgid "No items found in this container."
|
|
156
156
|
msgstr ""
|
|
157
157
|
|
|
158
|
+
#. Default: "Open menu"
|
|
158
159
|
#: components/MobileNavigation/MobileNavigation
|
|
159
|
-
|
|
160
|
+
#: components/Navigation/Navigation
|
|
160
161
|
msgid "Open menu"
|
|
161
162
|
msgstr ""
|
|
162
163
|
|
|
164
|
+
#. Default: "Overview"
|
|
163
165
|
#: components/MobileNavigation/MobileNavigation
|
|
164
|
-
# defaultMessage: Overview
|
|
165
166
|
msgid "Overview"
|
|
166
167
|
msgstr ""
|
|
167
168
|
|
|
169
|
+
#. Default: "Phone"
|
|
168
170
|
#: components/Theme/EventView
|
|
169
|
-
# defaultMessage: Phone
|
|
170
171
|
msgid "Phone"
|
|
171
172
|
msgstr ""
|
|
172
173
|
|
|
174
|
+
#. Default: "Please choose an existing content as source for this element"
|
|
173
175
|
#: components/Blocks/Slider/DefaultBody
|
|
174
|
-
# defaultMessage: Please choose an existing content as source for this element
|
|
175
176
|
msgid "Please choose an existing content as source for this element"
|
|
176
177
|
msgstr ""
|
|
177
178
|
|
|
179
|
+
#. Default: "Plone Foundation"
|
|
178
180
|
#: components/Footer/Footer
|
|
179
|
-
# defaultMessage: Plone Foundation
|
|
180
181
|
msgid "Plone Foundation"
|
|
181
182
|
msgstr ""
|
|
182
183
|
|
|
184
|
+
#. Default: "Plone Site"
|
|
183
185
|
#: components/Logo/Logo
|
|
184
|
-
# defaultMessage: Plone Site
|
|
185
186
|
msgid "Plone Site"
|
|
186
187
|
msgstr ""
|
|
187
188
|
|
|
189
|
+
#. Default: "Plone{reg} Open Source CMS/WCM"
|
|
188
190
|
#: components/Footer/Footer
|
|
189
|
-
# defaultMessage: Plone{reg} Open Source CMS/WCM
|
|
190
191
|
msgid "Plone{reg} Open Source CMS/WCM"
|
|
191
192
|
msgstr ""
|
|
192
193
|
|
|
194
|
+
#. Default: "Powered by Plone & Python"
|
|
193
195
|
#: components/Footer/Footer
|
|
194
|
-
# defaultMessage: Powered by Plone & Python
|
|
195
196
|
msgid "Powered by Plone & Python"
|
|
196
197
|
msgstr ""
|
|
197
198
|
|
|
199
|
+
#. Default: "Press"
|
|
198
200
|
#: index
|
|
199
|
-
# defaultMessage: Press
|
|
200
201
|
msgid "Press"
|
|
201
202
|
msgstr ""
|
|
202
203
|
|
|
204
|
+
#. Default: "Previous Page"
|
|
203
205
|
#: components/Blocks/Listing/ListingBody
|
|
204
|
-
# defaultMessage: Previous Page
|
|
205
206
|
msgid "Previous Page"
|
|
206
207
|
msgstr ""
|
|
207
208
|
|
|
209
|
+
#. Default: "Register"
|
|
208
210
|
#: components/Anontools/Anontools
|
|
209
|
-
# defaultMessage: Register
|
|
210
211
|
msgid "Register"
|
|
211
212
|
msgstr ""
|
|
212
213
|
|
|
214
|
+
#. Default: "Result"
|
|
213
215
|
#: components/Blocks/Listing/ListingBody
|
|
214
|
-
# defaultMessage: Result
|
|
215
216
|
msgid "Result"
|
|
216
217
|
msgstr ""
|
|
217
218
|
|
|
219
|
+
#. Default: "Right"
|
|
218
220
|
#: components/Widgets/AlignWidget
|
|
219
|
-
# defaultMessage: Right
|
|
220
221
|
msgid "Right"
|
|
221
222
|
msgstr ""
|
|
222
223
|
|
|
224
|
+
#. Default: "Search"
|
|
223
225
|
#: components/Blocks/Search/components/SearchInput
|
|
224
226
|
#: components/Blocks/Search/TopSideFacets
|
|
227
|
+
#: components/MobileNavigation/MobileNavigation
|
|
228
|
+
#: components/SearchWidget/IntranetSearchWidget
|
|
225
229
|
#: components/SearchWidget/SearchWidget
|
|
226
|
-
# defaultMessage: Search
|
|
227
230
|
msgid "Search"
|
|
228
231
|
msgstr ""
|
|
229
232
|
|
|
233
|
+
#. Default: "Search Site"
|
|
234
|
+
#: components/SearchWidget/IntranetSearchWidget
|
|
230
235
|
#: components/SearchWidget/SearchWidget
|
|
231
|
-
# defaultMessage: Search Site
|
|
232
236
|
msgid "Search Site"
|
|
233
237
|
msgstr ""
|
|
234
238
|
|
|
239
|
+
#. Default: "Search for People, E-Mail Address, Phone Number, ..."
|
|
240
|
+
#: components/SearchWidget/IntranetSearchWidget
|
|
241
|
+
msgid "Search for People, E-Mail Address, Phone Number, ..."
|
|
242
|
+
msgstr ""
|
|
243
|
+
|
|
244
|
+
#. Default: "Search results"
|
|
235
245
|
#: components/Blocks/Search/components/SearchDetails
|
|
236
|
-
# defaultMessage: Search results
|
|
237
246
|
msgid "Search results"
|
|
238
247
|
msgstr ""
|
|
239
248
|
|
|
249
|
+
#. Default: "Searched for"
|
|
240
250
|
#: components/Blocks/Search/components/SearchDetails
|
|
241
|
-
# defaultMessage: Searched for
|
|
242
251
|
msgid "Searched for"
|
|
243
252
|
msgstr ""
|
|
244
253
|
|
|
254
|
+
#. Default: "Site"
|
|
245
255
|
#: components/Logo/Logo
|
|
246
|
-
# defaultMessage: Site
|
|
247
256
|
msgid "Site"
|
|
248
257
|
msgstr ""
|
|
249
258
|
|
|
250
|
-
|
|
259
|
+
#. Default: "Sitemap"
|
|
251
260
|
#: index
|
|
252
|
-
# defaultMessage: Sitemap
|
|
253
261
|
msgid "Sitemap"
|
|
254
262
|
msgstr ""
|
|
255
263
|
|
|
264
|
+
#. Default: "Sorting"
|
|
256
265
|
#: components/Blocks/Search/TopSideFacets
|
|
257
|
-
# defaultMessage: Sorting
|
|
258
266
|
msgid "Sorting"
|
|
259
267
|
msgstr ""
|
|
260
268
|
|
|
269
|
+
#. Default: "Source"
|
|
261
270
|
#: components/Blocks/Slider/DefaultBody
|
|
262
|
-
# defaultMessage: Source
|
|
263
271
|
msgid "Source"
|
|
264
272
|
msgstr ""
|
|
265
273
|
|
|
274
|
+
#. Default: "Start"
|
|
266
275
|
#: components/Theme/EventView
|
|
267
|
-
# defaultMessage: Start
|
|
268
276
|
msgid "Start"
|
|
269
277
|
msgstr ""
|
|
270
278
|
|
|
279
|
+
#. Default: "Switch to"
|
|
280
|
+
#: components/LanguageSelector/LanguageSelector
|
|
281
|
+
msgid "Switch to"
|
|
282
|
+
msgstr ""
|
|
283
|
+
|
|
284
|
+
#. Default: "The {plonecms} is {copyright} 2000-{current_year} by the {plonefoundation} and friends."
|
|
271
285
|
#: components/Footer/Footer
|
|
272
|
-
# defaultMessage: The {plonecms} is {copyright} 2000-{current_year} by the {plonefoundation} and friends.
|
|
273
286
|
msgid "The {plonecms} is {copyright} 2000-{current_year} by the {plonefoundation} and friends."
|
|
274
287
|
msgstr ""
|
|
275
288
|
|
|
289
|
+
#. Default: "Title"
|
|
276
290
|
#: components/Blocks/Image/schema
|
|
277
|
-
# defaultMessage: Title
|
|
278
291
|
msgid "Title"
|
|
279
292
|
msgstr ""
|
|
280
293
|
|
|
294
|
+
#. Default: "Uploading image"
|
|
281
295
|
#: components/Blocks/Image/Edit
|
|
282
|
-
# defaultMessage: Uploading image
|
|
283
296
|
msgid "Uploading image"
|
|
284
297
|
msgstr ""
|
|
285
298
|
|
|
299
|
+
#. Default: "Website"
|
|
286
300
|
#: components/Theme/EventView
|
|
287
|
-
# defaultMessage: Website
|
|
288
301
|
msgid "Website"
|
|
289
302
|
msgstr ""
|
|
290
303
|
|
|
304
|
+
#. Default: "Wide"
|
|
291
305
|
#: components/Widgets/AlignWidget
|
|
292
|
-
# defaultMessage: Wide
|
|
293
306
|
msgid "Wide"
|
|
294
307
|
msgstr ""
|
|
295
308
|
|
|
309
|
+
#. Default: "Clear image"
|
|
296
310
|
#: components/Blocks/Image/ImageSidebar
|
|
297
|
-
# defaultMessage: Clear image
|
|
298
311
|
msgid "image_block_clear"
|
|
299
312
|
msgstr ""
|
|
300
313
|
|
|
314
|
+
#. Default: "Image preview"
|
|
301
315
|
#: components/Blocks/Image/ImageSidebar
|
|
302
|
-
# defaultMessage: Image preview
|
|
303
316
|
msgid "image_block_preview"
|
|
304
317
|
msgstr ""
|
|
305
318
|
|
|
319
|
+
#. Default: "Loading"
|
|
306
320
|
#: components/Blocks/Listing/ListingBody
|
|
307
|
-
# defaultMessage: Loading
|
|
308
321
|
msgid "loading"
|
|
309
322
|
msgstr ""
|
|
310
323
|
|
|
324
|
+
#. Default: "More info"
|
|
311
325
|
#: components/Blocks/Slider/DefaultBody
|
|
312
|
-
# defaultMessage: More info
|
|
313
326
|
msgid "moreInfo"
|
|
314
327
|
msgstr ""
|
|
315
328
|
|
|
329
|
+
#. Default: "of"
|
|
316
330
|
#: components/Blocks/Listing/ListingBody
|
|
317
|
-
# defaultMessage: of
|
|
318
331
|
msgid "of"
|
|
319
332
|
msgstr ""
|
|
333
|
+
|
|
334
|
+
#. Default: ""
|
|
335
|
+
#: components/Header/Header
|
|
336
|
+
msgid "siteLabel"
|
|
337
|
+
msgstr ""
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kitconcept/volto-light-theme",
|
|
3
|
-
"version": "3.0.0
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Volto Light Theme by kitconcept",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@babel/eslint-parser": "7.22.15",
|
|
37
|
-
"@plone/scripts": "^3.
|
|
37
|
+
"@plone/scripts": "^3.3.2",
|
|
38
38
|
"eslint": "8.49.0",
|
|
39
39
|
"eslint-config-prettier": "9.0.0",
|
|
40
40
|
"eslint-config-react-app": "7.0.1",
|
|
@@ -72,6 +72,6 @@
|
|
|
72
72
|
"@kitconcept/volto-introduction-block": "^1.0.0",
|
|
73
73
|
"@kitconcept/volto-separator-block": "^4.0.0",
|
|
74
74
|
"@kitconcept/volto-slider-block": "^6.1.0",
|
|
75
|
-
"@plone/volto": "^17.
|
|
75
|
+
"@plone/volto": "^17.12.1"
|
|
76
76
|
}
|
|
77
77
|
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FormattedMessage, injectIntl } from 'react-intl';
|
|
3
|
+
import { FormattedDate } from '@plone/volto/components';
|
|
4
|
+
import { UniversalLink } from '@plone/volto/components';
|
|
5
|
+
import { expandToBackendURL } from '@plone/volto/helpers';
|
|
6
|
+
import Container from '../../../components/Atoms/Container/Container';
|
|
7
|
+
const EventMetadataView = (props) => {
|
|
8
|
+
const content = props.properties;
|
|
9
|
+
const dateOptions = {
|
|
10
|
+
year: 'numeric',
|
|
11
|
+
month: 'long',
|
|
12
|
+
day: 'numeric',
|
|
13
|
+
hour: 'numeric',
|
|
14
|
+
minute: 'numeric',
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
return (
|
|
18
|
+
<div className="block eventMetadata ">
|
|
19
|
+
<Container className="details-container">
|
|
20
|
+
<div className="content-container">
|
|
21
|
+
<div className="event-details">
|
|
22
|
+
<div className="event-title">
|
|
23
|
+
<span className="event-heading">
|
|
24
|
+
<FormattedMessage id="Start" defaultMessage="Start" />
|
|
25
|
+
</span>
|
|
26
|
+
<div className="event-detail">
|
|
27
|
+
{' '}
|
|
28
|
+
{content?.start && (
|
|
29
|
+
<FormattedDate date={content?.start} format={dateOptions} />
|
|
30
|
+
)}{' '}
|
|
31
|
+
{props.intl.locale === 'de' ? ' Uhr' : ''}
|
|
32
|
+
</div>
|
|
33
|
+
<div className="separator"></div>
|
|
34
|
+
</div>
|
|
35
|
+
<div className="event-title">
|
|
36
|
+
<span className="event-heading">
|
|
37
|
+
{' '}
|
|
38
|
+
<FormattedMessage id="End" defaultMessage="End" />
|
|
39
|
+
</span>
|
|
40
|
+
<div className="event-detail">
|
|
41
|
+
{' '}
|
|
42
|
+
{content?.end && (
|
|
43
|
+
<FormattedDate date={content?.end} format={dateOptions} />
|
|
44
|
+
)}{' '}
|
|
45
|
+
{props.intl.locale === 'de' ? ' Uhr' : ''}
|
|
46
|
+
</div>
|
|
47
|
+
<div className="separator"></div>
|
|
48
|
+
</div>
|
|
49
|
+
{content?.location && (
|
|
50
|
+
<div className="event-title">
|
|
51
|
+
<span className="event-heading">
|
|
52
|
+
<FormattedMessage id="Location" defaultMessage="Location" />
|
|
53
|
+
</span>
|
|
54
|
+
<div className="event-detail">{content?.location}</div>
|
|
55
|
+
</div>
|
|
56
|
+
)}
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<div className="event-details">
|
|
60
|
+
{content?.event_url && (
|
|
61
|
+
<div className="event-title">
|
|
62
|
+
<span className="event-heading">
|
|
63
|
+
<FormattedMessage id="Website" defaultMessage="Website" />
|
|
64
|
+
</span>
|
|
65
|
+
<div className="event-detail">
|
|
66
|
+
<UniversalLink className="event-url" href={content.event_url}>
|
|
67
|
+
{content.event_url}
|
|
68
|
+
</UniversalLink>
|
|
69
|
+
</div>
|
|
70
|
+
<div className="separator"></div>
|
|
71
|
+
</div>
|
|
72
|
+
)}
|
|
73
|
+
|
|
74
|
+
{(content?.contact_name ||
|
|
75
|
+
content?.contact_email ||
|
|
76
|
+
content?.contact_email) && (
|
|
77
|
+
<div className="event-title">
|
|
78
|
+
<span className="event-heading">
|
|
79
|
+
<FormattedMessage id="Contact" defaultMessage="Contact" />
|
|
80
|
+
</span>
|
|
81
|
+
<div className="event-detail">
|
|
82
|
+
<div>
|
|
83
|
+
{content?.contact_name && <p>{content.contact_name}</p>}
|
|
84
|
+
{content?.contact_email && (
|
|
85
|
+
<p>
|
|
86
|
+
<a href={`mailto:${content.contact_email}`}>
|
|
87
|
+
{content.contact_email}
|
|
88
|
+
</a>
|
|
89
|
+
</p>
|
|
90
|
+
)}
|
|
91
|
+
{content?.contact_phone && (
|
|
92
|
+
<p>
|
|
93
|
+
<FormattedMessage id="Phone" defaultMessage="Phone" />{' '}
|
|
94
|
+
<a href={`tel:${content.contact_phone}`}>
|
|
95
|
+
{content.contact_phone}
|
|
96
|
+
</a>
|
|
97
|
+
</p>
|
|
98
|
+
)}
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
)}
|
|
103
|
+
</div>
|
|
104
|
+
</div>
|
|
105
|
+
<div className="event-button">
|
|
106
|
+
<a
|
|
107
|
+
className="ics-download"
|
|
108
|
+
target="_blank"
|
|
109
|
+
rel="noreferrer"
|
|
110
|
+
href={
|
|
111
|
+
content && content['@id']
|
|
112
|
+
? `${expandToBackendURL(content['@id'])}/ics_view `
|
|
113
|
+
: ''
|
|
114
|
+
}
|
|
115
|
+
>
|
|
116
|
+
<button className="event-btn">
|
|
117
|
+
<FormattedMessage
|
|
118
|
+
id="ICS-Download"
|
|
119
|
+
defaultMessage="ICS Download"
|
|
120
|
+
/>
|
|
121
|
+
</button>
|
|
122
|
+
</a>
|
|
123
|
+
</div>
|
|
124
|
+
</Container>
|
|
125
|
+
</div>
|
|
126
|
+
);
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
export default injectIntl(EventMetadataView);
|
|
@@ -19,15 +19,15 @@ const Caption = ({ as = 'figcaption', title, description, credit }) => {
|
|
|
19
19
|
|
|
20
20
|
return (
|
|
21
21
|
<As>
|
|
22
|
-
{title && <
|
|
22
|
+
{title && <h2 className="title">{title}</h2>}
|
|
23
23
|
{description && (
|
|
24
|
-
<
|
|
24
|
+
<p className="description">
|
|
25
25
|
{description.split('\n').map((line, index) => (
|
|
26
|
-
<
|
|
26
|
+
<p key={index}>{line || '\u00A0'}</p>
|
|
27
27
|
))}
|
|
28
|
-
</
|
|
28
|
+
</p>
|
|
29
29
|
)}
|
|
30
|
-
{credit && <
|
|
30
|
+
{credit && <p className="credits">{credit}</p>}
|
|
31
31
|
</As>
|
|
32
32
|
);
|
|
33
33
|
};
|