czemu / nova-calendar-tool

A Laravel Nova tool to display a calendar with event management.
MIT License
31 stars 29 forks source link

Nova 4 Compatibility #15

Open wdelfuego opened 2 years ago

wdelfuego commented 2 years ago

Using Laravel 9.7.0 and Nova 4.1.0 under PHP 8.1.4 in a Docker container under MacOS.

After following all installation steps from the readme, I briefly got the following error:

Class Czemu\NovaCalendarTool\NovaCalendarTool contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Laravel\Nova\Tool::menu)

A few refreshes later the page just stays blank when I try to open the Nova interface. No exceptions seem to be generated and no information is written to the log file.

Removing the NovaCalendarTool from the NovaServiceProvider::tools() method directly makes Nova work again.

Not sure if related; I've had to install the NovaCalendarTool using Composer's --with-all-dependencies flag to avoid the problem mentioned in #13 (incompatible dependencies due to google's api libraries not (yet) being compatible with psr/cache 3.x -- see here).

wdelfuego commented 2 years ago

The good news: the compatibility problem with regard to psr/cache 3.x backing Google's api libraries seems to have been solved. I was able to run the install command without the --with-all-dependencies flag and Composer installed this package without a problem.

The bad news: this package doesn't seem Nova 4 compatible; after installation I get the message:

Class Czemu\NovaCalendarTool\NovaCalendarTool contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Laravel\Nova\Tool::menu)

After manually adding the required method the error disappears but Nova only generates blank pages, so something about this package seems to be breaking Nova 4.

roblegaspi commented 2 years ago

up

wdelfuego commented 2 years ago

@roblegaspi I ended up rolling my own Nova 4 compatible event calendar. It now supports multi-day events, too.

You can find it here: https://github.com/wdelfuego/nova-calendar