Skip to content

Instantly share code, notes, and snippets.

View neverything's full-sized avatar
🍀
Good vibes for you

Silvan Hagen neverything

🍀
Good vibes for you
View GitHub Profile
@neverything
neverything / functions.php
Created July 15, 2024 09:24
GenerateBlocks Accordion Block as Mega Menu in WordPress: https://silvanhagen.com/writing/wordpress-mega-menu-blocks
<?php
namespace TTF_WP_Mega_Menu;
function setup(): void {
// Stylesheet in the editor.
add_editor_style( 'style.css' );
}
add_action( 'after_setup_theme', __NAMESPACE__ . '\setup' );
@neverything
neverything / style.css
Created July 15, 2024 09:21
GenerateBlocks Accordion Block as Mega Menu in WordPress: https://silvanhagen.com/writing/wordpress-mega-menu-blocks
.navigation-overlay {
position: fixed;
top: 150px;
left: 0;
right: 0;
bottom: 0;
height: calc(100dvh - 150px);
max-width: 100% !important;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
@neverything
neverything / functions.js
Created July 15, 2024 09:18
GenerateBlocks Accordion Block as Mega Menu in WordPress: https://silvanhagen.com/writing/wordpress-mega-menu-blocks
document.addEventListener('DOMContentLoaded', function () {
// Get all accordion items
const allItems = document.querySelectorAll('header .gb-accordion__item');
// Function to close all other accordion items
function closeOtherAccordionItems() {
allItems.forEach(item => {
item.classList.remove('gb-accordion__item-open');
let toggle = item.querySelector('.gb-accordion__toggle');
toggle.setAttribute('aria-expanded', 'false');
<!-- wp:generateblocks/container {"uniqueId":"32f74817","isDynamic":true,"blockVersion":4,"variantRole":"accordion","display":"flex","accordionToggleType":"container"} -->
<!-- wp:generateblocks/container {"uniqueId":"d61846ac","isDynamic":true,"blockVersion":4,"variantRole":"accordion-item","display":"flex","flexDirection":"column"} -->
<!-- wp:generateblocks/container {"uniqueId":"180ef9ea","textColor":"#3e2723","linkColorHover":"#d8613c","isDynamic":true,"blockVersion":4,"variantRole":"accordion-toggle","flexDirection":"row","alignItems":"center","justifyContent":"space-between","columnGap":"0.5em","sizing":{"width":""},"typography":{"textAlign":"left"},"spacing":{"paddingTop":"15px","paddingRight":"20px","paddingBottom":"15px","paddingLeft":"20px"},"textColorHover":"#d8613c","textColorCurrent":"#d8613c"} -->
<!-- wp:generateblocks/headline {"uniqueId":"b1e610b6","element":"p","blockVersion":3,"typography":{"fontWeight":"500","fontSizeTablet":"18px","fontSizeMobile":"16px"}} -->
<p class="gb-headline gb-he
<?php
use App\Filament\Resources\MilestoneResource;
use App\Filament\Resources\TaskResource;
use Filament\Navigation\NavigationBuilder;
use Filament\Navigation\NavigationGroup;
use Filament\Navigation\NavigationItem;
use Filament\Panel;
public function panel(Panel $panel): Panel
<?php
namespace App\Models;
use AshAllenDesign\FaviconFetcher\Facades\Favicon;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Support\Facades\Storage;
<?php
use AshAllenDesign\FaviconFetcher\Facades\Favicon;
// Returns my twitter avatar
Favicon::driver("unavatar-services")
->fetch("https://x.com/neverything");
// Returns my github profile avatar
Favicon::driver("unavatar-services")
<?php
namespace App\Providers;
use App\FaviconFetcher\Drivers\UnavatarServices;
use AshAllenDesign\FaviconFetcher\Facades\Favicon;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
<?php
declare(strict_types=1);
namespace App\FaviconFetcher\Drivers;
use AshAllenDesign\FaviconFetcher\Collections\FaviconCollection;
use AshAllenDesign\FaviconFetcher\Concerns\HasDefaultFunctionality;
use AshAllenDesign\FaviconFetcher\Concerns\MakesHttpRequests;
use AshAllenDesign\FaviconFetcher\Concerns\ValidatesUrls;
@neverything
neverything / User.php
Last active June 16, 2024 19:50
Filament: Get default tenant when using Jetstream https://silvanhagen.com/writing/filament-get-default-tenant-for-user/
<?php
class User extends Authenticatable implements HasDefaultTenant // and more stuff like FilamentUser, HasTenants, ...
{
public function getDefaultTenant(Panel $panel): ?Model
{
return $this->currentTeam ?? $this->allTeams()->first();
}
}