Skip to content

Instantly share code, notes, and snippets.

View shanerbaner82's full-sized avatar
🎯
Focusing

Shane Rosenthal shanerbaner82

🎯
Focusing
View GitHub Profile
<script setup lang="ts">
import { Head } from '@inertiajs/vue3';
import { router } from '@inertiajs/vue3'
import { onMounted, ref } from 'vue';
import Native from '../../../public/vendor/nativephp-mobile/native';
import { storeAudio } from '@/actions/App/Http/Controllers/StoreMediaController';
const results = ref<Record<string, any>>({});
const loading = ref<Record<string, boolean>>({});
<?php
namespace Native\Mobile\Http\Controllers;
use Illuminate\Http\Request;
class NativeCallController
{
public function __invoke(Request $request)
{
<!DOCTYPE html>
<html lang="en" class="bg-red-500">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>TeslaFido</title>
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
<style>
:root {
<div class="mt-8">
<h2 class="text-xl font-bold mb-4">Real API Lazy Loading Test</h2>
<p class="text-sm text-gray-600 mb-4">This test fetches real data from restful-api.dev API, similar to the Discord example. Watch for red skeleton placeholders followed by actual product data.</p>
<div class="grid grid-cols-1 gap-6">
{{-- Immediate Lazy Load --}}
<div class="space-y-3">
<h3 class="text-lg font-semibold text-green-700">🎬 Immediate Lazy Load</h3>
<p class="text-sm text-gray-600">Should show red skeleton placeholders, then load movie list immediately</p>
<div class="space-y-4">
@if($error)
<div class="p-4 bg-red-50 border border-red-200 rounded-lg">
<h3 class="text-lg font-semibold text-red-800 mb-2">❌ API Error</h3>
<p class="text-sm text-red-600">{{ $error }}</p>
</div>
@elseif($loaded)
<h3 class="text-lg font-semibold mb-4">📱 Tech Products (Real API Data)</h3>
@foreach($products as $product)
<?php
namespace App\Livewire;
use Livewire\Component;
use Illuminate\Support\Facades\Http;
class MovieList extends Component
{
public $products = [];

Last Call: Early Access for NativePHP Ends This Week

As we enter the final week of Early Access pricing for NativePHP, we’re reflecting on how far we’ve come — and what’s still ahead.

To every developer who believed in this mission from the beginning: thank you. Your support gave us the space to build something bold — a way for Laravel and PHP developers to build real mobile apps, with the tools they already know and love.

About a month ago, we crossed a huge milestone: over $100,000 in revenue from Early Access sales. That’s not just a number — it’s proof that this community believes in the future we’re building together.

And just days ago, we hit another milestone: 1,000 licenses sold!

$excludedDirs = PHP_OS_FAMILY === 'Darwin'
? array_merge(config('nativephp.cleanup_exclude_files'), ['.git', 'node_modules'])
: array_merge(config('nativephp.cleanup_exclude_files'), ['.git', 'node_modules', 'nativephp', 'vendor/nativephp/mobile/resources']);
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
@props([
'leadingAddOn' => false,
])
<div class="flex rounded-md shadow-sm">
@if ($leadingAddOn)
<span class="inline-flex items-center px-3 rounded-l-md border border-r-0 border-gray-300 bg-gray-50 text-gray-500 sm:text-sm">
{{ $leadingAddOn }}
</span>
@endif