Latest Updates

Documenting code, one commit at a time.

Dynamic Pricing: Empowering Plan Management with Filament

The devlog-ist/landing project recently underwent a significant enhancement to its subscription and pricing infrastructure. Traditionally, managing different pricing tiers can become a bottleneck when hardcoded, leading to slow updates and lack of flexibility. Our goal was to create a robust, easily manageable system for defining and presenting various subscription plans.

The Challenge:

Read more
PHP UX UI

Enhancing User Profiles: Increasing Highlight Capacity in Landing

This post details a recent update to the landing project, focusing on improving user profile customization.

The Feature: Expanded Profile Highlights

We've increased the maximum number of profile highlights users can showcase, expanding it from 8 to 12. This provides users with greater flexibility in presenting key aspects of their professional or personal brand.

The Rationale

Read more
PHP UI admin

Improving Admin UI with Collapsed Actions in Brenia

Introduction

The Brenia project is focused on providing streamlined administrative interfaces. A key goal is to make these interfaces more efficient and less visually cluttered. This post details the effort to consolidate less frequently used admin actions into a more compact menu, while ensuring critical actions remain easily accessible.

The Problem

The original admin interface had

Read more

Solving Livewire Rendering Glitches with wire:key and PHP Styling in Breniapp

This post discusses how we addressed a rendering issue in the Breniapp project related to dynamically updating canvas aspect ratios. The problem stemmed from using Alpine.js to manage the aspect ratio of a canvas element within a Blade template that conditionally rendered based on Livewire state.

The Problem

Initially, Alpine.js was used to dynamically update the aspect ratio of a canvas

Read more

Mitigating XSS Vulnerabilities in Livewire/Alpine.js with @js()

The Problem

In the landing project, we encountered a subtle but significant security issue related to how data was being passed from PHP to JavaScript within our Blade templates. Specifically, when using Livewire and Alpine.js, values containing special characters (like apostrophes in names such as "O'Brien") could break the JavaScript context, leading to unexpected behavior or, worse,

Read more

Improving Theme Selection in Landing Pages

The landing project provides customizable landing pages. Recently, we addressed an issue with the theme selection process that was causing cross-origin errors on tenant subdomains.

The Problem

Previously, the theme selector used the route() function to generate URLs. This resulted in the main domain URL being generated, which caused cross-origin failures when the landing page was accessed

Read more

Refactoring Module Selectors for Enhanced UX in Laravel Filament

When working with Laravel Filament on the Reimpact platform, small UI refinements can have a significant impact on user experience. Recently, we addressed an issue concerning the module selector's icon sizing and positioning, particularly its integration with the platform's logo.

The Problem

The original implementation relied on Tailwind CSS classes for styling the module selector icon.

Read more

Taming Blade Component Quirks with Blade UI Kit in Laravel

When working with Laravel projects like Reimpact/platform, you sometimes encounter unexpected behavior when integrating different packages. Recently, we ran into an issue where Filament's DisableBladeIconComponents middleware was preventing Heroicon components from resolving correctly in our module selector.

The Problem

Filament, a popular admin panel package for Laravel, includes a

Read more

Unifying Branding Across Filament Panels in Reimpact Platform

Introduction

Maintaining a consistent brand identity across multiple admin panels can be a challenge. In the Reimpact platform, we faced this issue with our eight Filament panels, each serving different modules. The goal was to ensure a unified look and feel while streamlining maintenance and updates.

The Problem

Previously, each Filament panel had its own branding configuration, leading

Read more