Krzysztof Żuraw
04247d3f95
Migrate from @saleor alias to @dashboard ( #2981 )
2023-01-16 10:45:12 +01:00
Michał Droń
5c1a62171d
🦄 Simple taxes ( #2072 )
...
* Tax configuration - implement channels view (#2048 )
* Add channels view
* Fix channels view import
* Remove legacy stories references
* Fix link in configuration
* Update snapshots
* Remove sample checkboxes props
* Disable hover in country exceptions
* Update snapshots
* Extract country exception rows to seperate component
* Extract components to seperate files
* Remove duplicated section name
* Remove backlink
* Add translations to section names
* Extract messages
* Add ListItemLink component
* Replace navigator with link in TaxChannelsMenu
* Fix horizontal scroll in TaxChannelsMenu
* Change codegen to build from custom schema
* Build types
* Update fragments
* Add fixtures
* Change any to proper types
* Add story for tax channels page
* Replace MUI Skeleton with Saleor Skeleton
* Change clsx import to classnames
* Fix checkboxes shadows in settings card
* Update IDs in fixtures
* Fix offset in TaxChannelsMenu
* Update snapshots
* Remove any from TaxSettings
* Fix todos
* Change relative marginLeft to before pseudoelement
* Extract styles to seperate files
* Change folder structure
* Extract redirect logic to custom hook
* Update snapshots
* Fix comment
* Add early return in channels view
* Tax configuration - implement countries view (#2053 )
* Add channels view
* Remove sample checkboxes props
* Disable hover in country exceptions
* Extract country exception rows to seperate component
* Extract components to seperate files
* Remove duplicated section name
* Remove backlink
* Add translations to section names
* Replace navigator with link in TaxChannelsMenu
* Fix horizontal scroll in TaxChannelsMenu
* Change any to proper types
* Add story for tax channels page
* Replace MUI Skeleton with Saleor Skeleton
* Change clsx import to classnames
* Fix checkboxes shadows in settings card
* Update IDs in fixtures
* Fix offset in TaxChannelsMenu
* Remove any from TaxSettings
* Add countries list view
* Add TaxCountryMenu component
* Add CountryList page
* Change channels menu rows height
* Change countries menu rows height
* Add TaxInput component
* Add tax classes rates to countries page
* Fix search input padding
* Add minmax to TaxInput
* Add searching through tax class rates
* Extract messages
* Add better handlers
* Add fullWidth to TaxInput
* Specify type for TaxInputs
* Remove spinboxes on firefox
* Remove custom spinboxes
* Remove maxHeight from menu rows
* Post-rebase fix
* Change setter to formchagne
* Add TaxConfiguration fragment
* Add isDefault field to taxClass
* Add fixtures
* Shape data
* Replace useEffect with useTaxUrlRedirect
* Fix country names in menu
* Add country page story
* Add early return in countries view
* Unify loading states between channels and countries pages
* Handle special chars and case insensitiveness in local search
* Replace navigate function with ListItemLink
* Move styles to seperate file
* Move styles to seperate file
* Migrate to strict null checks
* Remove unnecessary optional chaining
* Change overflow scroll to Y only
* Add useMemo on finding selected country
* Add useMemo on local search
* Translate labels in page tabs
* Change url from /taxes/classes to /taxes/tax-classes
* Remove capitalization from strings
* Extract messages
* Bump macaw to 0.6.2
* Update snapshots
* Add spinboxes explanation comment
* Handle empty state
* Add tax classes view (#2093 )
* Add TaxClass fragment
* Build types
* Add tax classes to fixtures
* Add tax classes view
* wip Add tax classes page
* Add tax classes menu
* Add TaxRate fragment
* Extract logic
* Handle loading state & add story
* Extract messages
* Update snapshots
* Change schema building from schema back to introspection
* Update schema
* Update fragments
* Build types
* Update fixtures
* Reshape data
* Move styles to seperate file
* Use getById
* Add explicit undefined
* Comment out unfinished modal stories
* Update snapshots
* Taxes - add API calls in channels view (#2106 )
* Build types
* Add TaxRate fragment
* Update snapshots
* Add taxConfigurationList query
* Add taxCountriesList query
* Add TaxClassesList query
* Rename TaxConfigurationsList query
* Handle empty state
* Fix types post-rebase
* Add form to TaxChannelsPage
* wip Add dialog for handling country exceptions
* wip Fix dialog url
* wip Add update exceptions handlers
* Add dialog story
* Fix type errors
* Add mutation support
* Fix types in story
* Add transition state to submit button
* Add notifier
* Extract messages
* Remove unused import
* Add backlink in savebar
* Update snapshots
* Fix link in navigation
* Update snapshots
* Remove message from tax config error fragment
* Add hook description
* Use useStateFromProps
* Remove error handling
* Improve url & path function names
* Use theme.spacing in TaxCountryDialog styles
* Remove redundant key modification
* Revert "Use useStateFromProps"
This reverts commit d3c68b04701cf935e917d7baa3ed1361ca3446d5.
* Move initial map to parent & add open dependency to countries state
* Use useModalDialogOpen
* Fix state update
* Remove scrolls & add ellipsis in side menu
* Center checkboxes
* Update snapshots
* Add fake div for list alignment
* Trigger deployment
* Close modal on submit
* Remove divider on last ListItem
* Align add country button
* Wrap grid child in div to avoid card stretching
* Update snapshots
* Trigger changes in add/delete exceptions
* Trigger change on expcetion checkboxes
* Add trailing commas
* Connect countries view to API (#2178 )
* Add empty states
* Update countries view urls
* Remove unused import
* Add country modal to countries view
* Update schema
* Implement country view mutations & error fragments
* Implement tax class update mutation
* Add sidebar temporary state for new configs
* Remove unused imports
* Wrap in form
* Add savebar & fix search
* Update schema
* Add form wrapper
* Fix types
* Extract messages
* Bump macaw
* Update snapshots
* Fix comma dangles
* Update snapshots
* Notify about mutation success
* Add logic for mixing current and new rates
* Workaround for sending null rates
* Fix filling form with correct data after submitting
* Handle deleting configuration
* Fix selected banner
* Remove leftover comment
* Add handler for country configuration delete
* Trigger deployment
* Clean up useEffects causing infinite render loops
* Sort countries from api by name
* Fix card bottom padding
* Remove bottom divider & fix padding
* Remove scroll wrapper in side menu
* Update snapshots
* Remove scroll wrapper from tax classes menu
* Update snapshots
* Refresh form to initial onSubmit
* Revert "Refresh form to initial onSubmit"
This reverts commit 42414237d35086da63f4aa088c8072411429b1d8.
* Allow only 3 decimal characters in tax inputs
* Update snapshots
* Update schema
* Update types
* Change logic from default tax class to null class
* Fix sorting
* Send empty country rates as nulls in mutation
* Extract messages
* Update lockfile
* Update schema
* Drop default tax classes
* Update snapshots
* Post-rebase fixes
* Connect tax classes view to API (#2334 )
* Add mutations
* Handle empty state
* Wrap page in form
* Update stories
* Build types
* Handle tax class delete
* Handle update tax class
* Update stories
* Handle tax class change name
* Add mutation state to savebar
* Handle creating new tax classes
* Extract messages
* Specify type
* Update stories
* Sort rates
* Fix skeleton rendering
* Remove placeholders
* Fix skeleton rendering on country list
* Update snapshots
* Change initial pagination to 100
* Disallow creating multiple new tax classes
* Disallow creating multiple country configurations
* Fix messages
* Autofocus on new tax class name
* Add country name to header
* Temporarily comment out broken code in tax channels
* Update snapshots
* Update snapshots post-rebase
* Add tax strategies & assigning tax classes (#2369 )
* Update fragments
* Add optional merging in useForm
* Handle tax strategies
* Update snapshots
* Update fixtures
* Extract messages
* Remove unused shop query fields
* Fix breaking bug when fetchMore is used in non-searchable SingleAutocompleteSelectFields
* Migrate product types to tax classes
* Add tax classes to shipping methods
* Use encapsulated logic in product types
* Fix product type stories
* Fix shipping fixtures
* Fix product type type mismatch
* Fix shipping stories
* Fix product type fixtures
* Fix mismatching types
* Extract messages
* Update snapshots
* Update snapshots
* Fix comment
* Drop deprecated graphql fields
* Replace tax types with tax classes in product create view
* Replace tax types with tax classes in product update view
* Fix tests, stories, fixtures
* Extract messages
* Update snapshots
* Move status messages to commonStatusMessages
* Handle empty array case in tax class change handler
* Reuse messages
* Simple taxes bugfixes (#2395 )
* Fix tax channels menu - dense layout
* Change view names to fit convention
* Fix per country exceptions in tax channels view
* Fix skeleton rendering on tax countries card title
* Filter out existing countries from modal
* Update snapshots
* Fix deleting country configuration
* Disallow negative values in tax inputs
* Handle empty tax classes view
* Allow empty options in shipping & product types views tax class assignment field
* Modify undefined rates in tax classes view
* Update macaw-ui
* Fix UI on channels view
* Fix UI on countries view
* Fix UI on countries view
* Align tax class rate label to the right
* Updaste snapshots
* Extract messages
* Fix adding rates on new tax class
* Fix key errors
* Update schema
* Build types
* Allow empty rates in taxClassUpdate mutation
* Extract tax channels change country function as a handler
* Deprecate useStateFromProps
* Change useStateFromProps to useStateUpdate
* Fix dividers
* Delete delete icon on new tax classes
* Update snapshots
* Update lockfile
* Update macaw to 0.6.6
* Update snapshots
* Specify type of input in country change handler
* Extract autofocus logic to custom hook
* Replace alternative with switch statement
* Extract country exclusion logic from JSX
* Update lockfile
* Update lockfile
* Trigger deployment
* Fix invisible select markers
* Fix linter issue
* Fix crashing product details page
* Fix e2e error
* Update snapshots
* Allow view taxes with any staff permissions (#2510 )
* Update after rebase
Co-authored-by: Dawid <tarasiukdawid@gmail.com>
2022-11-17 13:48:50 +01:00
Patryk Andrzejewski
f349bbc86a
prevent duplicated queries (channels, siteinfo) ( #2343 )
2022-10-06 13:46:23 +02:00
Michał Droń
d5c9a3dae8
Add trailing commas ( #2062 )
...
* Require trailing commas
* Add trailing commas
* Add trailing commas in testUtils dir
* Add trailing commas
2022-06-21 11:36:55 +02:00
Dominik Żegleń
5b85d6c086
Use graphql-codegen ( #1874 )
...
* Use generated hooks in apps
* Remove unused files
* Use proper types in apps
* Use generated hooks in attributes
* Use generated hooks in auth module
* Use generated hooks in categories
* Use generated hooks in channels
* Use generated types in collections
* Remove legacy types from background tasks
* Use generated hooks in customers
* Use generated hooks in discounts
* Use generated hook in file upload
* Use generated types in gift cards
* Use generated types in home
* Use generated hooks in navigation
* Use generated hooks in orders
* Use generated hooks in pages
* Use generated hooks in page types
* Use generated hooks in permission groups
* Use generated hooks in plugins
* Use generated hooks in products
* Use fragment to mark product variants
* Improve code a bit
* Use generated hooks in page types
* Use generated types in searches
* Use generated hooks in shipping
* Use generated hooks in site settings
* Use generated hooks in staff members
* Use generated hooks in taxes
* Place all gql generated files in one directory
* Use generated hooks in translations
* Use global types from new generated module
* Use generated hooks in warehouses
* Use generated hooks in webhooks
* Use generated fragment types
* Unclutter types
* Remove hoc components
* Split hooks and types
* Fetch introspection file
* Delete obsolete schema file
* Fix rebase artifacts
* Fix autoreplace
* Fix auth provider tests
* Fix urls
* Remove leftover types
* Fix rebase artifacts
2022-03-09 09:56:55 +01:00
Dominik Żegleń
2a52eb581c
Update apollo to v3 ( #1837 )
...
* Update apollo to v3
* Fix imports
* Add generated file to ignored
* Use proper import
* Tidy up code
* Remove unused packages
* Fix tests
2022-02-21 14:32:38 +01:00
Dawid Tarasiuk
a8f56defe1
Fix rest of the world checkbox on shipping zone create ( #1672 )
...
* Fix rest of the world checkbox on shipping zone create
* Add query to fetch rest of the world countries
* Fix query in shipping zone view
* Remove default shipping zonecountries
* Refactor rest of the world queries
* Refactor rest of the world
* Update shipping zone countries query
* Fix naming
* Handle no rest of the world countries left
2022-02-09 11:47:37 +02:00
Dawid Tarasiuk
4880093f63
Use Auth SDK ( #1474 )
...
* Use Auth SDK
* Update auth provider hook
* Update sdk module mapping
* Update setting password
* Fix no user details on first login
* Update auth tests
* Cleanups
* Update SDK
Update SDK
Update SDK
Update test recordings
Update SDK
* Implement SDK External Auth
Update new password view
Hnalde external logout
Update SDK
Fix logout external redirect
* Fix login page style
* Update SDK
* Auth Provider cleanups
Update and refactor auth
Auth types cleanups and refactor
* Update channel context provider
* Fix login error handling
* Logout immidiatelly non-staff user
* Update test snapshots
* Trigger CI
* Update to SDK v0.4, remove duplicated UserContext hook
* Handle server errors during login
* Fix wrong login page form submition handling
* Update login error messages
Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com>
2021-12-17 12:10:54 +01:00
Jakub Majorek
6e102964a1
Fetch shop data after user is authenticated ( #1427 )
2021-09-21 15:30:41 +02:00
mmarkusik
dae95cb410
Add Gift Cards #1 ( #1291 )
...
* Add gift cards section to menu and add empty list component
* Update messages
* Change styling of app wide page header to match design
* Add gift cards list table wip
* Update prop name for status chip component to make it more consistent with other components
* Replace old trash icon with new one
* Add Size type based on action dialog sizes to be used app wide
* Add delete icon button
* Add new sizes option to status chip component
* Add / update gift cards list components
* Add bulk actions type
* Work on gift cards list WIP
* Small refactor
* Fix styling of gift cards table
* Remove temp files
* Remove unnecessary type
* Add gift cards section to menu and add empty list component
* Update schema and types
* Add link to gift card update page to gift cards list and add route to gift cards index
* Extract order page title with status chip into a separate generic component and use it in order page title
* wip
* Update money component
* Add gift card details card balance section
* Refactor gift card details
* Add vertical spacer component
* Update schema and types
* Add gift card tag input component along with necessary queries
* Add gift card tag input to gift card update page
* Add gift card update details card expiry section WIP
* Add time period select field WIP
* Post rebase refactor
* Add time period select field to gift card update view
* Fixes after review
* Update schema, types and gift cards query
* Add getFullName util function and replace existing manual usages
* Add text with select field component
* Add gift card update info card and refactor
* Fix import
* Add displaying order link in gift card update
* Refactor
* Connect gift card list to api
* refactor
* Add gift card create dialog
* Fix gift card list styles, change location for gift card list query, minor refactor
* Fix menu structure data for gift cards
* Add channel currencies type to shop
* Refactor text with select field
* Add gift card expiry select component
* Add gift card error type and fragment
* Update global types
* Add default prop to getFormErrors function
* Move gift card details provider to providers dir
* Update global utils with mapSingleValueNodeToChoice function
* Update gift card tag input
* Move and refactor time period field
* Update schema
* move format money function to other money ulities
* Update gift card urls
* Add content or skeleton component
* Add gift card create util for extracting expiry settings input data
* Remove content or skeleton component and move displaying logic to existing skeleton
* Move displaying logic of gift card create dialog to list
* Refactor
* Add hooks for gift card bulk actions and gift card list to be used instead of context directly
* Fix types for text with select field + add parsing for number typed field
* Add initial currency to gift card create form
* Fix gift card create dialog closing animation
* Add gift card update info card
* Refactor gift card update details card
* Add gift card balance dialog
* Move gift card update form providers to providers dir
* Connect gift card update page to api, add necessary contexts etc.
* Refactor
* Refactor
* Add hooks to use instead of gift card contexts directly
* Fix types
* Fix text field target name missing in passed event in text with select field
* Add minimal value option to text with select field, add to gift card inputs
* Fix gift card update balance dialog not changing hasChanged prop after submit
* Refactor
* Fix update balance dialog crashing the app when enetered wrong amount
* Fix gift card list table header styles
* Add enable / disable section to gift card update
* Refactor
* Refactor
* Refactor
* Add metadata to gift card update
* Update messages ids
* Refactor
* Refactor
* Refactor
* Refactor
* Update types after rebase
* Fix types
* Fixes after qa
* Fix tests
2021-08-16 15:44:00 +02:00
Dominik Żegleń
07bc522af1
Prevent endless limit refetching ( #1059 )
...
* Fix endless limit refresh loop
* Improve naming
2021-04-14 13:09:13 +02:00
Dominik Żegleń
a3abb9c476
Handle Cloud limits ( #1053 )
...
* Handle limit reached error
* Update changelog
* Move notifications to higher layer
* Handle limits top-level
* Remove unused imports
* Add alert component
* Fetch limits from API
* Display limits in staff list
* Fix disabled text button color
* Display limits in products pages
* Display limits in channel list
* Display limits in warehouse list
* Display limits in order list
* Add stories for limits
* Move alert to corresponding section
* Update schema
* Update changelog
* Fetch only needed limitations
* Fix types
* Fix story
* Display limits in variant creator
* Improve type consistency
* Update snapshots
* Update limit counter after object deletion
* Fix copy
* Improve code readability
* Lint files
* Fix dark mode alerts
* Improve contrast
* Fix sku limit in product variant list
* Update stories
* Update messages
* Extract messages
2021-04-13 11:59:16 +02:00
Damian W
3e0794cb61
Update error type on CollectionBulkDelete
2021-03-29 12:28:59 +02:00
Dominik Żegleń
6f9060144a
Multichannel ( #833 )
...
* add multichannel to configuration view
* create multichannels list view
* create multichannels list view
* add ChannelsCreate view
* update channels in configuration
* add stories
* update default messages
* fix ChannelForm props
* update channels list styles
* update snapshots
* update channel form currency input
* update Channels fragments
* extract messages
* remove tabs from channelsList
* channel details, channel delete modal (#598 )
* create Channel details view
* create ChannelDeleteDialog
* add channels delete dialog to channels list
* update messages and types
* fixes after review
* channels availability (#609 )
* create Channel details view
* update messages and types
* create ChannelsAvailability component
* create more product channels components
* create channels stories, update fixtures, types
* update product views with channels data
* update schema and snapshots
* update defaultMessages
* update ProductUpdate view
* create ChannelsAvailabilityDropdown component
* add product channels to local storage
* update globalTypes
* Update to new schema and resolve issues
* Update messages
* create deleteChannel mutation
* add channels availability component to product create view
* refactor ProductCreate and ProductUpdate views
* CollectionProducts view cleanup
* add disabled prop to ActionDialog
* use updateChannels mutation in ProductCreate view
* ProductCreate - update submit function
* fixes after review
* update snapshots and messages
Co-authored-by: Krzysztof Wolski <krzysztof.k.wolski@gmail.com>
* channels shipping components (#655 )
* create PricingCard, OrderValue and OrderWeight components
* create ShippingZoneRatesPage and DeleteShippingRateDialog
* update ChannelsAvailability component
* updates after review
* channels shipping views (#662 )
* update ChannelsAvailability component
* updates after review
* create PriceRate views, update types
* create weight rates views
* update shipping views, stories, messages
* update snapshots
* update snapshots
* update useChannels hook
* orders channels components (#698 )
* create OrderChannelSectionCard component
* update OrderDetailsPage
* update DraftOrderChannelCard
* update snapshots
* update fixtures
* small change after review, update snapshots
* product pricing (#702 )
* update product types
* update Pricing in simple product view
* use productVariantCreate mutation in simple product view
* update snapshots and messages
* handle create variant (#715 )
* update product types
* update Pricing in simple product view
* handle product create and update errors
* update snapshots and messages
* fix update and create product handlers
* update pricing types
* channels modal - new styles, search input (#717 )
* update product types
* update Pricing in simple product view
* handle product create and update errors
* update pricing types
* add search input in ChannelsAvailabilityDialog
* update ChannelsAvailabilityDialog in all views
* update snapshots
* fix search input label styles
* update toggleAllChannels function
* update variant creator (#724 )
* update product types
* update Pricing in simple product view
* handle product create and update errors
* update pricing types
* add search input in ChannelsAvailabilityDialog
* update ChannelsAvailabilityDialog in all views
* update snapshots
* add channelLisitngs to variant creator
* update variant creator price styles
* update product variant creator reducer tests
* update createVariants tests
* update error handling in product variant creator
* add Skip pricing for now option
* use PriceField instead of TextField in ProductVariantCreatorSummary
* create price validation function
* fix errors handling in ProductVariantPrice component
* fixes after review
* Product List - remove publish/unpublish buttons (#727 )
* ProductList - remove publish and unpublish buttons
* update messages
* update snapshots, messages
* revert changes in ChannelsAvailabilityDropdown
* products/shipping/discount list settings (#739 )
* create ChannelSettingsDialog component
* update snapshots
* ProductList - open settings modal when there is no selected channel
* add settings modal to vouchers list
* add settings dialog to sales list
* add setting modal to shipping list
* update shipping
* update snapshots, messages
* useChannelsSettings - remove selectedChannelSlug
* fix channels update handler in product and shipping view
* messages update in ChannelSettingsDialog
* handle product/discount list when there is no channels
* update onSettingsOpen prop
* collection availability dropdown (#743 )
* add availability dropdown to collection products list
* update channelListingProduct fragment name
* update voucher view/components with channels (#746 )
* update voucher view/components with channels
* update VoucherSummary, remove defaultCurrency from voucher components
* update snapshots
* move getChannelsVariables func to discounts handlers
* update voucher messages
* sale view/components with channels (#750 )
* update sale views with channels
* small fixes in discounts
* order views with channels (#752 )
* update draft orders with channels
* add channel activate/deactivate mutations
* remove sort by total in orders list
* add error notification on channel activate/deactivate
* product variants channel select (#755 )
* add channels selector to ProductVariants component
* remove selectedChannel from ProductUpdate, update messages and snapshots
* update product fragments
* update translations (#762 )
* update translations
* fix translation types
* update messages
* update Availability component (#766 )
* update ChannelsAvailability component
* update product fixtures
* update collection and channel fixtures
* ChannelsAvailability - handle errors
* update product handlers
* update ChannelsAvailability styles
* update ProductVariant
* update snapshots
* fix missing things in multichannel (#785 )
* add availability dropdown to discount products list
* fix error handling in shipping components
* update product views and components
* update messages
* update category view/components
* update CategoryProducts styles
* remove defaultCurrency from shipping components
* create ChannelsSelect component
* update channels error handling after review
* another fixes after review
* Add channels to collection views/components (#791 )
** update collection components and views
* update create collection view
* update error handling in collection
* remove filter bar from collection list
* update products fragments
* small fix in collection create view
* use collectionFragment in useCatalogSearch
* update defaultMessages and snapshots
* update homepage view/drop defaultCurrency (#801 )
* update homepage view
* drop defaultCurrency prop
* fix onChannelChange function in home view
* remove visibility from product list filters
* update export products with channels (#803 )
* update ProductExportDialog with channels
* add new channel error code
* remover VISIBLE from product export dialog Financial information
* fix input size in ProductVariantCreatorSummary (#804 )
* channels currency code select (#806 )
* create select with currency codes
* fix ChannelDeleteDialog
* update defaultMessages, remove unneeded ChannelDetails handlers
* fixes after rebase
* replace channelListing with channelListings
* [multichannel] Update schema]
* Fix product create test
Co-authored-by: AlicjaSzu <alicja.szukuc@gmail.com>
Co-authored-by: Krzysztof Wolski <krzysztof.k.wolski@gmail.com>
Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com>
2020-11-17 17:10:42 +01:00
Dawid Tarasiuk
65e5539173
Remove basePrice from schema
2020-06-10 15:39:10 +02:00
Krzysztof Wolski
a82de30309
Add circleci config and enhance our linters ( #519 )
...
* Add circleci config
* Season linting config
* Apply code style
2020-05-14 11:30:32 +02:00
dominik-zeglen
1ede1a33b1
Update types
2020-04-20 13:11:07 +02:00
dominik-zeglen
4c27d69229
Fix form errors
2020-03-03 14:33:35 +01:00
dominik-zeglen
353490e1a6
Make account permissions and status common
2019-09-30 18:56:30 +02:00
dominik-zeglen
9d7b3533ea
Add favicons
2019-08-12 11:38:01 +02:00
dominik-zeglen
0c53e9883a
Do not use asterisk imports
2019-08-09 12:26:22 +02:00
dominik-zeglen
5d959e6d6e
Initial commit
2019-06-19 16:40:52 +02:00