github otatechie/guacpanel-tailwind v3.1.0

latest releases: v3.3.0, v3.2.0
5 hours ago

Builds on the v3.0.0 shadcn-vue foundation. One PR: #69.

Highlights

Charts moved from ApexCharts to Unovis. Area, Bar, Donut, Line, plus Sparkline and a shared legend. Chart theming now runs on --vis-* tokens, so charts follow light/dark with the rest of the app instead of carrying their own palette.

Search and the command palette are one surface. The header field advertised Cmd+K, but Cmd+K opened the palette — a different overlay searching a superset of the same data. The header is now a trigger for the palette.

The admin UI reflects the permissions the server enforces. Three controllers check per-action permissions with abort_unless, but no page reflected that, so a view-only admin was shown Edit, Delete, Restore and Save and got a 403 on click.

Login-history bulk delete. The permission, middleware and table support already existed; this adds the route, method and wiring.

Breaking

  • Components/Charts/Apex*.vue are removed. If you referenced them directly, switch to the Unovis equivalents. apexcharts is no longer a dependency.
  • Components/ui/card is removed, along with Typesense/Search.vue and Typesense/SearchResults.vue. FederatedSearch.vue remains.
  • A migration drops the access-dashboard permission. It duplicated view-dashboard and gated no route. Run php artisan migrate.
  • Laravel Pint is removed. It and prettier-plugin-php were both configured and disagreed; Pint ran in no CI job or composer script. npm run format now covers PHP.
  • FormCheckbox labels are normal weight and the whole row is a click target — app-wide, not just where it was introduced.

Fixes worth calling out

Five routes pointed at controller methods that don't exist and would 500 on contact — Route::resource(...)->except('show') generating create/edit for roles and permissions, plus admin.user.create, api/dashboard/financial-metrics and notifications/expire. A test was concealing one of them by fetching the route, capturing the status and asserting nothing on it.

The command palette declared aria-modal="true" with nothing trapping Tab, and a role="listbox" its input never pointed at, so arrowing through results was silent to a screen reader. Both fixed, along with focus restore on close.

"Select all" in the role picker applied to the whole permission set while showing a filtered one — filter to five, click it, grant thirty including delete and impersonation.

Full Changelog: v3.0.0...v3.1.0

Don't miss a new guacpanel-tailwind release

NewReleases is sending notifications on new releases.