ash lea
dc501c4134
add list title editing
2019-01-06 13:03:57 +01:00
Thibaut Girka
7baf15675f
Add local setting to disable swipe-to-change-columns
2019-01-05 21:47:48 +01:00
Thibaut Girka
e77ceb1b29
[Glitch] Update dependencies for Node.js (2018-12-31)
...
Port compatibility changes from 8f5fdab5bf
to glitch-soc
2019-01-02 16:07:33 +01:00
Thibaut Girka
82088f0d7d
[Glitch] Remove links to bridge.joinmastodon.org (non-functional)
...
Port bb62827c16
to glitch-soc
2018-12-23 11:43:47 +01:00
Thibaut Girka
0605c004a5
Fix incorrect and duplicate onConfirm callback
2018-12-21 20:00:49 +01:00
Thibaut Girka
6166751f9e
[Glitch] Fix that translation is not applied to "joining hashtags"
...
Port bfec030a4e
to glitch-soc
2018-12-21 19:54:54 +01:00
Thibaut Girka
3611ea02e2
[Glitch] Deep compare tags for hashtag column reload
...
Port 4fdefffb99
to glitch-soc
2018-12-21 19:54:54 +01:00
Thibaut Girka
4be7313298
[Glitch] Allow joining several hashtags in a single column
...
Port 4c03e05a4e
to glitch-soc
This introduces new requirements in the API:
`/api/v1/timelines/tag/:tag` now accepts new params: `any`, `all` and `none`
It now returns status matching tag :tag or any of the :any, provided that
they also include all tags in `all` and none of `none`.
2018-12-21 19:54:54 +01:00
Thibaut Girka
6073195a7d
[Glitch] Display customized mascot in web UI
...
Port relevant parts of 9d4541c612
to glitch-soc
2018-12-20 18:39:05 +01:00
Thibaut Girka
fb63941c47
Make drawer markup and styling closer to upstream
...
WARNING: This may break some custom skins!
`.drawer > .contents` has been moved to
`.drawer > .drawer__pager > .drawer__iner`, and the waves have been moved
from `.drawer > .contents` to `.drawer__inner__mastodon`!
2018-12-20 18:39:05 +01:00
Thibaut Girka
1b18eb49e3
Hide negative follower counts from glitch flavour
2018-12-20 14:51:12 +01:00
Thibaut Girka
655da1be20
Reword confirm_before_clearing_draft description
2018-12-18 21:54:34 +01:00
Thibaut Girka
9a7201f2ee
Allow disabling the reply confirmation dialog
2018-12-18 21:54:34 +01:00
Thibaut Girka
056a8a8ee4
Allow disabling media confirmation from the confirmation dialog itself
2018-12-18 21:54:34 +01:00
Thibaut Girka
490d8fff0b
Remove dead code
2018-12-18 21:39:35 +01:00
Thibaut Girka
82b01a6c9f
[Glitch] Put "Media Only" option in column settings instead of content area headline
...
Port 4f42238c29
to glitch-soc
2018-12-18 21:39:35 +01:00
Thibaut Girka
9fc7ad7b9c
[Glitch] Always display tab navigation on local/federated timeline even when empty
...
Port 90b64c0069
to glitch-soc
2018-12-18 21:39:35 +01:00
Thibaut Girka
c644e6ea89
Do not replace history state
...
This is both for consistency with account timelines and to not mess with
the logic used to decide whether going back in the browser's history is
going to make us leave the WebUI.
2018-12-18 21:39:35 +01:00
Thibaut Girka
200a8bdd3a
[Glitch] Enable media timeline
...
Port 8182b61518
to glitch-soc
2018-12-18 21:39:35 +01:00
Thibaut Girka
a693d6e2f2
[Glitch] Hide section headline for timelines in production
...
Port 4eeda67727
to glitch-soc
2018-12-18 21:39:35 +01:00
Thibaut Girka
593f88acb1
[Glitch] Change column params on pinned timeline
...
Port 06252ec71e
to glitch-soc
2018-12-18 21:39:35 +01:00
Thibaut Girka
c03cbb9471
[Glitch] Save onlyMedia prop when pinning column
...
Port 5ea643b279
to glitch-soc
2018-12-18 21:39:35 +01:00
Thibaut Girka
1a9e78b9bc
[Glitch] Add exact attribute to WrappedRoute for community timeline
...
Port 46061dc041
to glitch-soc
2018-12-18 21:39:35 +01:00
Thibaut Girka
1fb4bf87f7
[Glitch] Add media timeline
...
Port 7403e5d306
to glitch-soc
2018-12-18 21:39:35 +01:00
Thibaut Girka
06a7c07eda
[Glitch] Add notification quick-filter bar in the frontend app
...
Port 13dce12665
to glitch-soc
2018-12-18 17:22:01 +01:00
Thibaut Girka
36d27e2891
Sandbox toot embeds in the embed modal
...
It should not be necessary thanks to our Content Security Policy, but best
be sure in case a server's CSP is incorrect. Also, avoids a CSP warning about
loading remote scripts.
2018-12-17 22:22:29 +01:00
Thibaut Girka
30de4e4dfc
[Glitch] Minor scrollable list fixes
...
* Make sure loading indicator has enough vertical space
* Respect reduce_motion setting for loading indicator
Port 4ede51743e
to glitch-soc
2018-12-17 22:14:06 +01:00
Thibaut Girka
8266d224ef
Split out is_changing_upload from is_submitting
...
Fixes #855
2018-12-17 13:01:07 +01:00
Thibaut Girka
89e4ac67c8
[Glitch] Make animated header resoect `auto_play_gif`
...
Port part of 7c48688d85
to glitch-soc
2018-12-16 14:48:15 +01:00
Thibaut Girka
f0505a5b2e
On mobile, go back in browser history upon posting, unless threaded mode is enabled
2018-12-14 23:56:53 +01:00
Thibaut Girka
1e656c3632
[Glitch] Fix “load more” button when no data has been fetched
2018-12-13 15:00:36 +01:00
Thibaut Girka
2d097c10d0
[Glitch] Make account media gallery more consistent with account timeline
...
Display “load more” more consistently, add a loading indicator on first load.
2018-12-13 15:00:36 +01:00
Thibaut Girka
5f581d7c3c
[Glitch] Fix LoadMore usage in account media gallery
...
(Even though that codepath is probably never actually used…)
2018-12-13 15:00:36 +01:00
Thibaut Girka
4167ed375b
Fix mention links in detailed statuses not opening in the WebUI
2018-12-06 15:31:21 +01:00
Thibaut Girka
76320bf6d8
Scroll to selected toot even if the ancestors happen to be loaded
2018-11-30 22:37:38 +01:00
Thibaut Girka
a10fee3c09
Scroll to detailed status when new ancestors get inserted
2018-11-30 22:37:38 +01:00
Thibaut Girka
31599ad91c
[Glitch] Fix bug in order of conversations in web UI
...
Port e18390cfe6
to glitch-soc
2018-11-30 22:37:38 +01:00
Thibaut Girka
837ea32c88
[Glitch] Replace recursion in status mapStateToProps
...
Port dfbadd6837
to glitch-soc
2018-11-30 22:37:38 +01:00
Thibaut Girka
1624a95b2b
[Glitch] Introduce flat layout to contexts reducer
...
Port 023fe5181b
to glitch-soc
2018-11-30 22:37:38 +01:00
Thibaut Girka
6a264c9379
Improve detailed status component lifecycle
...
- Move componentWillMount and componentWillReceiveProps logic to
getDerivedStateFromProps.
- Compute CW auto-unfold status earlier
2018-11-29 18:32:42 +01:00
Thibaut Girka
39c8a71df8
Do not crash the whole UI when loading an invalid column
2018-11-28 22:36:01 +01:00
Thibaut Girka
c18bb5d245
Switch “cycling” reply policy link to set of radio inputs
...
Fixes #832
2018-11-28 22:35:42 +01:00
Thibaut Girka
f17a61a916
Add basic UI to set list replies setting in glitch-soc
2018-11-28 14:46:07 +01:00
Thibaut Girka
3b707bdc12
[Glitch] Volume sliders for videos
...
Port f978afa487
to glitch-soc
2018-11-27 15:21:57 +01:00
Thibaut Girka
6b6e633c09
Update MediaGallery and Video props when folding/unfolding CWs in detailed statuses
2018-11-25 11:29:56 +01:00
Thibaut Girka
b41d60f2d8
Render placeholder when inline video container width isn't known
2018-11-25 11:29:56 +01:00
Thibaut Girka
b3ff35a75c
Move URLs to backend in their own file
2018-11-19 15:56:38 +01:00
Thibaut Girka
c78c80f807
[Glitch] Fix loading indicator inconsistency
...
Port 3cecf3e5b9
to glitch-soc
2018-11-13 15:54:04 +01:00
Thibaut Girka
5ebbaffaa3
[Glitch] Use local instead of global loading indicator for timelines, account timelines
...
Port dd00cd19d2
to glitch-soc
2018-11-13 15:54:04 +01:00
Thibaut Girka
bf92e7aaa6
[Glitch] Implement adding a user to a list from their profile
...
Port bb5558de62
to glitch-soc
2018-11-09 14:50:08 +01:00
Thibaut Girka
2b2facbbdf
[Glitch] Port some of upstream's getting started footer links
2018-10-31 10:07:41 +01:00
Thibaut Girka
7e18e95716
Add a local setting for inline preview cards
2018-10-30 17:51:06 +01:00
Thibaut Girka
b21615e957
[Glitch] Fix dimensions of preview cards, fix crash in web UI, fix warning
...
Port 9c38c5daa3
to glitch-soc
2018-10-30 17:51:06 +01:00
Thibaut Girka
ac9780b844
[Glitch] Include preview cards in status entity in REST API
...
Port 795f0107d2
to glitch-soc
2018-10-30 17:51:06 +01:00
Thibaut Girka
8f4fab65a1
Do not rely on hover for upload form options if touch is used
2018-10-27 19:06:49 +02:00
Thibaut Girka
0c7f710be1
[Glitch] Surround mid-text display names with bdi tags
...
Port 7861c5f108
to glitch-soc
2018-10-22 18:57:20 +02:00
Thibaut Girka
323ae1403a
[Glitch] fix: initial state of PrivacyDropdown is should not be null
...
Port bebe8ec887
to glitch-soc
2018-10-22 18:41:34 +02:00
Thibaut Girka
04bedd237b
Attempt at fixing inline video player
2018-10-21 16:09:07 +02:00
Thibaut Girka
13c3fa8d36
Focus the UI when pressing Escape in the CW field
2018-10-20 15:00:39 +02:00
Thibaut Girka
b13c34de3a
Fix fav/boosts hotkeys not working on detailed statuses
2018-10-18 19:00:59 +02:00
Thibaut Girka
b0527a4ce7
Handle alt+enter in the spoiler input as shortcut for secondary post
...
Fixes #780
2018-10-14 12:00:21 +02:00
Thibaut Girka
bb1103d974
Really fix HotKeys
2018-10-10 17:40:06 +02:00
Thibaut Girka
721aec40cd
Define some local-settings hints
2018-10-09 18:10:54 +02:00
Thibaut Girka
26409f3e8e
Add support for hints (or extended descriptions) in local-settings pages
2018-10-09 18:10:54 +02:00
Thibaut Girka
6cd793f0ac
Change “preferences” icon to match settings page icon
2018-10-09 18:10:54 +02:00
Thibaut Girka
edb9ec8543
Add icons for each of the local-setting pages
2018-10-09 18:10:54 +02:00
Thibaut Girka
d0b1369a85
Fix app-wide hotkeys randomly failing to work
2018-10-09 12:10:51 +02:00
Thibaut Girka
96c3d26870
Move “Show action buttons in collapsed toots” option
2018-10-08 13:49:25 +02:00
Thibaut Girka
faecb35fe0
Switch from selects to radio buttons for local settings, improve styling
2018-10-08 13:49:25 +02:00
Thibaut Girka
a3677a828d
[Glitch] Change documentation URL
...
Port 28401962ca
to glitch-soc
2018-10-07 22:56:24 +02:00
Thibaut Girka
7cc7843109
Do not scroll timelines when *closing* media modals
...
Media modals push an history state so that pressing back on mobile closes them.
We made sure to not scroll when opening them, but not when *closing* them,
which caused some issues in rare cases.
2018-10-07 12:08:32 +02:00
Thibaut Girka
c6e4c48942
[Glitch] Add a confirmation dialog when hitting reply and the compose box isn't empty
2018-10-05 19:08:52 +02:00
Thibaut Girka
a9e8f98a9d
Make hidden media clickable in account media gallery
2018-10-02 22:00:57 +02:00
Thibaut Girka
d82c495c0f
Add media description (or status spoiler) in account media gallery
2018-10-02 22:00:57 +02:00
Thibaut Girka
eb85427576
[Glitch] Honour displayMedia setting in accountMedia gallery
...
Inspired by b79ab15859
2018-10-02 22:00:57 +02:00
Thibaut Girka
6ad7606909
[Glitch] Add support for new display_media setting
...
Port f7a6f9489d
to glitch-soc
[API] [vanilla required] [glitch-soc optional] initial_state show_sensitive_media boolean changed to show_media string with options "default", "hide_all", "show_all"
2018-10-01 16:48:55 +02:00
Spencer Alves
4e60a0d543
Add option to hide action bar in collapsed toots
2018-09-30 08:31:50 +02:00
David Yip
c065717b67
Merge pull request #681 from ThibG/glitch-soc/fixes/accessibility
...
Port various accessibility improvements from upstream
2018-09-29 19:01:19 -05:00
David Yip
2bb3c8c944
Merge pull request #755 from ThibG/glitch-soc/features/optional-reply-selection
...
Make pre-selection of usernames optional when replying to a toot
2018-09-29 19:01:05 -05:00
David Yip
19968912fa
Merge pull request #754 from ThibG/glitch-soc/fixes/scroll-compose-into-view
...
Scroll to textarea when composing a toot
2018-09-29 19:00:31 -05:00
David Yip
5b43d7bcbf
Merge pull request #745 from ThibG/glitch-soc/fixes/grey-out-button
...
Disable the “TOOT” button (and secondary toot button) if the toot text is empty
2018-09-29 19:00:06 -05:00
Thibaut Girka
86b2b009dd
Make pre-selection of usernames optional when replying to a toot
...
Fixes #751
2018-09-28 21:01:09 +02:00
Thibaut Girka
15134beb1e
Fix styling issue in “Compose box options” local settings page
2018-09-28 18:55:44 +02:00
Thibaut Girka
9594c68532
Scroll to textarea when composing a toot
2018-09-28 18:44:55 +02:00
Thibaut Girka
fa18859b20
[Glitch] Adjust beforeUnload conditions
...
Port 05f90e3695
to glitch-soc
2018-09-28 17:09:25 +02:00
Thibaut Girka
d3426ed87a
Disable the “TOOT” button (and secondary toot button) if the toot text is empty
2018-09-21 23:20:06 +02:00
Thibaut Girka
9e8d776a77
[Glitch] Display verified links in glitch flavor
...
Port front-end changes from f4d549d300
to glitch-soc
2018-09-21 12:56:42 +02:00
Thibaut Girka
5833cc41c2
[Glitch] Add edit profile action button to profile
...
Port some parts from 1a7a74ff76
2018-09-21 12:56:42 +02:00
Thibaut Girka
c1701ae2a8
[Glitch] Fix “Toots” tab highlighting for replies and media timelines
...
Port front-end changes from f8b54d229f
2018-09-21 12:56:29 +02:00
Thibaut Girka
925c185ef9
Prevent clicks on video from initiating selections
2018-09-21 12:56:13 +02:00
Thibaut Girka
657805f444
Fix thread CW expansion not being reset when changing threads
2018-09-16 12:41:20 +02:00
Thibaut Girka
cf142e8556
[Glitch] Highlight active tab in action bar
...
Port 7b7c26063e
to glitch-soc
2018-09-13 17:13:29 +02:00
Thibaut Girka
1cb3af21c5
Autofocus comment textarea in report modal
2018-09-13 17:03:48 +02:00
Thibaut Girka
b3c698d6f4
Auto-focus emoji picker's search field
2018-09-13 15:32:23 +02:00
Thibaut Girka
307fb338ee
Fix composer actions modal
2018-09-11 22:04:06 +02:00
Thibaut Girka
59de2868c1
Fix media description in various media modals
2018-09-11 18:29:19 +02:00
Thibaut Girka
65f625cf23
[Glitch] Hide floating action button on thread views
...
Port f66a786029
to glitch-soc
2018-09-11 16:29:46 +02:00
Thibaut Girka
d9a92d5040
[Glitch] After click to embed video, autoplay it
...
Port 478ca39e5e
to glitch-soc
2018-09-10 19:53:55 +02:00
Thibaut Girka
bc5009cd45
[Glitch] Click card to embed external content
...
Port front-end changes from f7765acf9d
to glitch-soc
2018-09-10 19:53:55 +02:00
Thibaut Girka
dfa6fb4927
[Glitch] Fix oEmbed image_modal src.
...
Port 25b0d7538e
to glitch-soc
2018-09-10 19:53:55 +02:00
Thibaut Girka
cc58265216
[Glitch] Ensure link thumbnails are not stretched to super low quality
...
Port front-end changes from c36b9cc5a6
to glitch-soc
2018-09-10 19:53:55 +02:00
Thibaut Girka
49eaf72faf
[Glitch] Add embed_url to preview cards
...
Port front-end changes from c083816c24
to glitch-soc
2018-09-10 19:53:55 +02:00
Thibaut Girka
324ce93368
Add preferences for notification badges
2018-09-07 20:37:17 +02:00
Thibaut Girka
ba4521b175
Move compose box options to their own page
2018-09-07 20:37:17 +02:00
Thibaut Girka
b28cbb8b25
Add unread notifications badge to the mobile navbar
2018-09-07 20:37:17 +02:00
Thibaut Girka
2cdc00bc8b
Add unread notifications badge to the navigation bar
2018-09-07 20:37:17 +02:00
Thibaut Girka
0f155af32a
Add notification badge to favicon
2018-09-07 20:37:17 +02:00
Thibaut Girka
d315f1dc02
Count unread notifications when window loses focus
2018-09-07 20:37:17 +02:00
Thibaut Girka
c8875b4d8a
Keep track of unread notifications when the notification column isn't mounted
2018-09-07 20:37:17 +02:00
Thibaut Girka
d8b2f15b23
Pause video playback if toot is collapsed or CWs folded ( fixes #146 )
2018-09-05 11:58:56 +02:00
Thibaut Girka
c0275cdcb2
Fix interactions between CW and sensitive flag when spoilersAlwaysOn is set
2018-09-04 19:40:57 +02:00
Thibaut Girka
b6ce5fa3fb
Fix emoji autosuggest when using a CDN for assets
2018-09-04 15:05:31 +02:00
Thibaut Girka
be644e3b7c
Media gallery styling closer to upstream's
2018-09-04 13:31:55 +02:00
Thibaut Girka
bd437f8077
Add admin links to status and account menus ( fixes #673 )
...
If the current logged-in user is an admin, add quick links to the admin
interface in account and toot dropdown menu. Suggestion by @ashkitten
2018-09-03 18:19:11 +02:00
Thibaut Girka
8e862ecf8d
[Glitch] Add aria-label to floatingActionButton
...
Port 7c12c7b124
to glitch-soc
2018-09-03 18:18:39 +02:00
Thibaut Girka
e915bc3e9e
Fixes columns scrolling to top when opening media modal
...
Fixes #700
2018-09-03 14:24:10 +02:00
Thibaut Girka
530da545a5
[Glitch] Give focused status a sensible aria-label for screen readers
...
Port 248df68c36
to glitch-soc
2018-08-31 19:49:51 +02:00
Thibaut Girka
d8fbd74c47
[Glitch] Add aria-label to column regions
...
Port 66dbb59aa1
to glitch-soc
2018-08-31 19:49:29 +02:00
Thibaut Girka
c6942a5283
Add option to not automatically unfold content warnings matching a regexp
...
Fixes #678
2018-08-31 18:35:03 +02:00
Thibaut Girka
5c400a2842
Allow text inputs in local settings dialog
2018-08-31 18:35:03 +02:00
Thibaut Girka
9d2739d74d
Add a setting to automatically unfold all content warnings
2018-08-31 18:35:03 +02:00
Thibaut Girka
130bdb5ee8
[Glitch] Show compose form on delete & redraft when in mobile layout
...
Port 025fbb8285
to glitch-soc
2018-08-31 18:33:46 +02:00
Thibaut Girka
0f1db47a7e
Fix search results on compose box
2018-08-31 18:33:46 +02:00
Thibaut Girka
b4f548fa18
Fix account header showing on search page
2018-08-31 18:33:46 +02:00
Thibaut Girka
4a686ddf8a
[Glitch] On the mobile UI, move the search column to the right
...
Port 20bb90ced6
to glitch-soc
2018-08-31 18:33:46 +02:00
Thibaut Girka
4686b3fa76
[Glitch] Hide search from Compose on mobile devices
...
Port 0893b16695
to glitch-soc
2018-08-31 18:33:46 +02:00
Thibaut Girka
37a00d4c1d
[Glitch] Add search item to tab bar for mobile devices
...
Port c9cbb8de70
to glitch-soc
2018-08-31 18:33:46 +02:00
Thibaut Girka
76a3f373e3
[Glitch] Use withRouter for TabsBar
...
Port 61e6275781
to glitch-soc
2018-08-31 18:33:46 +02:00
Thibaut Girka
5f035a2a1a
[Glitch] Move "compose" on mobile to floating action button
...
Port e72db6d9dd
to glitch-soc
2018-08-31 18:33:46 +02:00
Thibaut Girka
70c308c4aa
[Glitch] When search enabled, display hint in search popout
...
Port 7901f9f63e
to glitch-soc
2018-08-31 18:33:46 +02:00
Thibaut Girka
c20b27a9f4
Restrict querySelectorAll to the upload form component
2018-08-30 13:20:37 +02:00
Thibaut Girka
1544ac4e27
Add confirmation dialog when posting media without description
...
Fixes #211
2018-08-30 13:20:37 +02:00
Thibaut Girka
171e54eb46
Add opt-in feature to have the spoilers field always on ( fixes #634 )
2018-08-29 14:29:36 +02:00
Thibaut Girka
24b6811a6e
[Glitch] Implement tag auto-completion by history
...
Port 460e380d38
to glitch-soc
2018-08-28 19:52:28 +02:00
Thibaut Girka
937cd03a9a
[Glitch] Add missing video descriptions
...
Port ac092d03e7
to glitch-soc
2018-08-27 20:21:23 +02:00
Thibaut Girka
3106c81b1e
[Glitch] Wait until relationship is loaded before showing follow button
...
Port cd049454be
to glitch-soc
2018-08-27 20:21:12 +02:00
Thibaut Girka
3c49daeb8d
Add glitch-soc local setting to display reply counters
...
Defaults to false.
2018-08-22 20:29:55 +02:00
Thibaut Girka
d62ea55d51
Move layout options to their own section
2018-08-22 20:29:55 +02:00
Thibaut Girka
801919fc9b
Add hashtag trendline support to glitch-soc flavour
...
Port Mastodon's hashtag stats thing to glitch-soc.
This doesn't change how hashtags are ordered, and doesn't add a trending
hashtags section, but it does change how hashtag searches are rendered,
displaying a trend line alongside each hashtag.
2018-08-22 19:27:06 +02:00
Thibaut Girka
360fbf1bd4
Add pinned accounts editor
2018-08-22 16:18:23 +02:00
Thibaut Girka
9fbaaefe59
Split list editor into components and containers
2018-08-22 16:18:23 +02:00
Thibaut Girka
d69f045681
Fix ColumnLink keys in getting_started_misc
2018-08-22 16:18:23 +02:00
Thibaut Girka
c789181626
[Glitch] Add hotkey for follow requests
...
Port 25f6f41052
to glitch-soc
2018-08-20 21:25:02 +02:00
Thibaut Girka
b230c04e00
Make the privacy dropdown button not look strange when using top placement
...
Inspired by 8fe1f8d4ce
2018-08-20 20:10:53 +02:00
Thibaut Girka
0c091475df
Make non-link ColumnLinks behave as links
2018-08-20 20:08:13 +02:00
Thibaut Girka
432f6b88b0
Focus CW field when enabling it, focus compose textarea when disabling it
...
Port a99179d31f
and 09147186b7
to glitch-soc
2018-08-19 16:56:31 +02:00
Thibaut Girka
7423c0c130
Various minor upload description fixes
2018-08-18 17:53:20 +02:00
Thibaut Girka
534439e73b
Add focal points support in the composer
2018-08-18 17:53:20 +02:00
Thibaut Girka
9782ac017b
Refactor in preparation for focal points modal
2018-08-18 17:53:20 +02:00
Thibaut Girka
4a6bc2482a
[Glitch] Defer scrollIntoView after DOM is drawn
2018-08-17 14:46:37 +02:00