Skip to content

Instantly share code, notes, and snippets.

View innocenzi's full-sized avatar
🦋

Enzo Innocenzi innocenzi

🦋
View GitHub Profile
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Str;
/**
* Generates a JSON file with all translations.
@innocenzi
innocenzi / package.json
Last active April 1, 2023 13:01
Laravel + Vite + Inertia SSR
{
"scripts": {
"dev": "npx esno server.ts",
"build": "vite build",
"build:ssr": "vite build --ssr",
"build:all": "npm run build && npm run build:ssr"
}
}
<?php
namespace Tests;
/** @mixin TestCase */
trait BenchmarksTests
{
protected static array $tests = [];
protected function setUpBenchmark(): void
@innocenzi
innocenzi / README.md
Last active May 12, 2022 11:35
Karabiner elements

command and option should be inverted as a simple modification in Karabiner

@innocenzi
innocenzi / some-page.vue
Last active June 24, 2022 13:14
Dealing with cached visits with Inertia
<script setup lang="ts">
import { useBackForward } from '@/scripts/use-back-forward'
const { reloadOnBackForward } = useBackForward()
// When the page component is loaded, if it's a visit made with the "back" or "forward"
// browser functionality, the page will reload. You can optionally pass options to Inertia.
reloadOnBackForward({
only: ['quotations'],
})
import { VisitOptions } from '../router'
import { useForm as useSlimeForm, UseFormBuilder, UseFormRule } from 'slimeform'
import { reactive, readonly, ref, UnwrapNestedRefs } from 'vue'
import { router } from '../router'
type SubmitFunctionParameters = Omit<VisitOptions, 'data'>
interface FormOptions<FormT extends {}> extends Omit<VisitOptions, 'data'> {
timeout?: number
/** Target URL. */
@innocenzi
innocenzi / inertia-layout.ts
Last active April 5, 2025 13:08
Laravel domain-driven front-end with Vite
import type { Plugin } from 'vite'
const PLUGIN_NAME = 'vite:inertia:layout'
const TEMPLATE_LAYOUT_REGEX = /<template +layout(?: *= *['"](?:(?:(\w+):)?(\w+))['"] *)?>/
export default (): Plugin => ({
name: PLUGIN_NAME,
transform: (code: string) => {
if (!TEMPLATE_LAYOUT_REGEX.test(code)) {
return
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\File;
use Tightenco\Ziggy\Ziggy;
class GenerateRoutesCommand extends Command
{
<script setup lang="ts">
import { useNotifications } from '~/ts/notifications/notifications'
const { notifications, dismiss } = useNotifications()
</script>
<template>
<div aria-live="assertive" class="flex fixed inset-0 z-40 items-end py-6 px-4 pointer-events-none sm:items-start sm:p-6">
<div class="flex flex-col items-center space-y-4 w-full sm:items-end">
<TransitionGroup
{
"description": "The settings in this file are persisted server-side. This file is generated automatically. Editing it is not recommended. Modify SettingsToPersist.json to specify which settings are persisted.",
"files": [
{
"name": "Game.cfg",
"sections": [
{
"name": "Accessibility",
"settings": [
{