filamentphp / filament

A collection of beautiful full-stack components for Laravel. The perfect starting point for your next app. Using Livewire, Alpine.js and Tailwind CSS.
https://filamentphp.com
MIT License
18.08k stars 2.83k forks source link

DatePicker Date day decreasing if timezon is set #9239

Closed markosole closed 11 months ago

markosole commented 11 months ago

Package

filament/forms

Package Version

v3.0

Laravel Version

v10

Livewire Version

v3.0@beta

PHP Version

PHP 8.2

Problem description

I have found issue with DatePicker which is decreasing "d" (day) when record is edited and saved. Per documentation, https://filamentphp.com/docs/3.x/forms/fields/date-time-picker#enabling-the-javascript-date-picker Date picker allows setting Timezone and in my case that would be "Europe/Zagreb", which looks like this:

 DatePicker::make('date_of_birth')
     ->timezone('Europe/Zagreb')
     ->native(true)
     ->displayFormat('d/m/Y')
     ->label(__('Date of birth')),

If timezon is set to particular settings, form is changing date on every Save by decreasing Day by one.

Expected behavior

Timezone settings should not affect and modify date in that way. It does not happen when TimeZone is removed OR set to Europe/London for example.

Steps to reproduce

Create form and set timezone to Europe/Zagreb or Europe/Sarajevo. I have not tested others.

 DatePicker::make('date_of_birth')
     ->timezone('Europe/Zagreb')
     ->native(true)
     ->displayFormat('d/m/Y')
     ->label(__('Date of birth')),

Reproduction repository

https://github.com

Relevant log output

No response

github-actions[bot] commented 11 months ago

Hey @markosole! We're sorry to hear that you've hit this issue. 💛

However, it looks like you forgot to fill in the reproduction repository URL. Can you edit your original post and then we'll look at your issue?

We need a public GitHub repository which contains a Laravel app with the minimal amount of Filament code to reproduce the problem. Please do not link to your actual project, what we need instead is a minimal reproduction in a fresh project without any unnecessary code. This means it doesn't matter if your real project is private / confidential, since we want a link to a separate, isolated reproduction. That would allow us to download it and review your bug much easier, so it can be fixed quicker. Please make sure to include a database seeder with everything we need to set the app up quickly.