Upgrade to Laravel 10, new design

This commit is contained in:
2023-05-26 00:35:18 +02:00
parent d3a477d9f0
commit 77ecf180a0
5 changed files with 438 additions and 355 deletions

View File

@ -5,20 +5,20 @@
"license": "MIT",
"require": {
"php": "^8.2",
"guzzlehttp/guzzle": "^7.2",
"laravel/framework": "^9.19",
"laravel/sanctum": "^3.0",
"laravel/tinker": "^2.7",
"guzzlehttp/guzzle": "^7.7",
"laravel/framework": "^10.12",
"laravel/sanctum": "^3.2.5",
"laravel/tinker": "^2.8.1",
"league/commonmark": "^2.4"
},
"require-dev": {
"fakerphp/faker": "^1.9.1",
"laravel/pint": "^1.0",
"laravel/sail": "^1.0.1",
"mockery/mockery": "^1.4.4",
"nunomaduro/collision": "^6.1",
"phpunit/phpunit": "^9.5.10",
"spatie/laravel-ignition": "^1.0"
"fakerphp/faker": "^1.22",
"laravel/pint": "^1.10",
"laravel/sail": "^1.22",
"mockery/mockery": "^1.5.1",
"nunomaduro/collision": "^7.1",
"phpunit/phpunit": "^9.6.8",
"spatie/laravel-ignition": "^2.1.3"
},
"autoload": {
"psr-4": {
@ -61,6 +61,6 @@
"pestphp/pest-plugin": true
}
},
"minimum-stability": "dev",
"minimum-stability": "stable",
"prefer-stable": true
}

710
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -33,13 +33,13 @@
</head>
<body class="font-sans antialiased">
<div>
<div class="bg-blue-50 flex">
<div class="bg-blue-900 flex">
<header class="flex flex-col m-auto max-w-xl py-5 md:py-8 lg:py-10 p-4">
<div>
<x-logo size="100"></x-logo>
<h1 class="text-5xl font-bold mb-3">
<h1 class="text-5xl font-bold mb-3 text-white">
PHP Monitor<br/>
<span class="text-blue-800">Early Access</span>
<span class="text-blue-400">Early Access</span>
</h1>
</div>
</header>

View File

@ -1 +1 @@
<svg width="{{ $size }}" height="{{ $size }}" viewbox="0 0 22 22" xmlns="http://www.w3.org/2000/svg"><path d="M8.975 8.375H8.3V6.844a.223.223 0 00-.225-.219h-.45a.223.223 0 00-.225.219V9.03c0 .12.101.219.225.219h1.35a.223.223 0 00.225-.219v-.437a.223.223 0 00-.225-.219zm10.575 5.25h-.45v-2.956c0-.347-.143-.68-.397-.927l-2.81-2.731a1.37 1.37 0 00-.953-.386H13.7V5.312C13.7 4.588 13.095 4 12.35 4h-9C2.605 4 2 4.588 2 5.313v8.75c0 .724.605 1.312 1.35 1.312h.45C3.8 16.825 5.01 18 6.5 18c1.49 0 2.7-1.176 2.7-2.625h3.6c0 1.45 1.21 2.625 2.7 2.625 1.49 0 2.7-1.176 2.7-2.625h1.35c.247 0 .45-.197.45-.438v-.874a.445.445 0 00-.45-.438zM6.5 16.688c-.745 0-1.35-.588-1.35-1.313s.605-1.313 1.35-1.313c.745 0 1.35.588 1.35 1.313s-.605 1.313-1.35 1.313zm1.35-4.813c-1.74 0-3.15-1.37-3.15-3.063C4.7 7.12 6.11 5.75 7.85 5.75S11 7.12 11 8.813c0 1.692-1.41 3.062-3.15 3.062zm7.65 4.813c-.745 0-1.35-.588-1.35-1.313s.605-1.313 1.35-1.313c.745 0 1.35.588 1.35 1.313s-.605 1.313-1.35 1.313zM17.75 11H13.7V7.937h1.24l2.81 2.732V11z" fill="rgb(30 64 175)" fill-rule="nonzero"></path></svg>
<svg width="{{ $size }}" height="{{ $size }}" viewbox="0 0 22 22" xmlns="http://www.w3.org/2000/svg"><path d="M8.975 8.375H8.3V6.844a.223.223 0 00-.225-.219h-.45a.223.223 0 00-.225.219V9.03c0 .12.101.219.225.219h1.35a.223.223 0 00.225-.219v-.437a.223.223 0 00-.225-.219zm10.575 5.25h-.45v-2.956c0-.347-.143-.68-.397-.927l-2.81-2.731a1.37 1.37 0 00-.953-.386H13.7V5.312C13.7 4.588 13.095 4 12.35 4h-9C2.605 4 2 4.588 2 5.313v8.75c0 .724.605 1.312 1.35 1.312h.45C3.8 16.825 5.01 18 6.5 18c1.49 0 2.7-1.176 2.7-2.625h3.6c0 1.45 1.21 2.625 2.7 2.625 1.49 0 2.7-1.176 2.7-2.625h1.35c.247 0 .45-.197.45-.438v-.874a.445.445 0 00-.45-.438zM6.5 16.688c-.745 0-1.35-.588-1.35-1.313s.605-1.313 1.35-1.313c.745 0 1.35.588 1.35 1.313s-.605 1.313-1.35 1.313zm1.35-4.813c-1.74 0-3.15-1.37-3.15-3.063C4.7 7.12 6.11 5.75 7.85 5.75S11 7.12 11 8.813c0 1.692-1.41 3.062-3.15 3.062zm7.65 4.813c-.745 0-1.35-.588-1.35-1.313s.605-1.313 1.35-1.313c.745 0 1.35.588 1.35 1.313s-.605 1.313-1.35 1.313zM17.75 11H13.7V7.937h1.24l2.81 2.732V11z" fill="rgb(255 255 255)" fill-rule="nonzero"></path></svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -34,44 +34,41 @@
</head>
<body class="font-sans antialiased">
<div>
<div class="bg-blue-50 flex">
<div class="bg-blue-900 flex">
<header class="flex flex-col m-auto max-w-xl py-5 md:py-8 lg:py-10 p-4">
<div>
<x-logo size="100"></x-logo>
<h1 class="text-5xl font-bold mb-3 text-blue-800">
Monitor and manage<br/>your PHP installations<br/> <span class="text-black">with ease</span>.
<h1 class="text-5xl font-bold mb-3 text-white">
Monitor and manage<br/>your PHP installations<br/> <span class="text-blue-400">with ease</span>.
</h1>
<p class="text-2xl leading-9 mt-8"><b>PHP Monitor</b> is a lightweight, native Mac menu bar app that works best when accompanied by <a href="https://github.com/laravel/valet" class="underline">Laravel Valet</a> (but it also works without it).</p>
<p class="text-xl mt-8 leading-8">
<span class="inline-block bg-blue-800 rounded-lg px-2 text-white">Version 6.0 now available!</span>
With the latest big update, PHP Monitor now comes with <b>PHP Version Manager</b>, <b>Standalone Mode</b>, and more. I hope you all enjoy!
</p>
<p class="text-2xl leading-9 mt-8 text-white"><b>PHP Monitor</b> is a lightweight, native Mac menu bar app that works best when accompanied by <a href="https://github.com/laravel/valet" class="underline">Laravel Valet</a> (but it also works without it).</p>
<div class="flex md:space-x-3 mt-6 flex-col md:flex-row">
<a href="{{ url()->route('releases') }}" class="mt-4 text-lg md:text-xl px-3 py-2 inline-block bg-white hover:bg-blue-200 text-black rounded-lg shadow-md flex">
<a href="{{ url()->route('releases') }}" class="mt-4 text-lg md:text-xl px-4 py-2 bg-green-400 hover:bg-green-500 text-black hover:text-gray-900 rounded-lg shadow-md flex">
<svg width="28" height="28" viewBox="0 0 24 24"><path fill="currentColor" d="M13 13v5.585l1.828-1.828l1.415 1.415L12 22.414l-4.243-4.242l1.415-1.415L11 18.585V13h2zM12 2a7.001 7.001 0 0 1 6.954 6.194a5.5 5.5 0 0 1-.953 10.784v-2.014a3.5 3.5 0 1 0-1.112-6.91a5 5 0 1 0-9.777 0a3.5 3.5 0 0 0-1.292 6.88l.18.03v2.014a5.5 5.5 0 0 1-.954-10.784A7 7 0 0 1 12 2z"/></svg>
<span class="ml-2">Download</span>
</a>
<a href="{{ url()->route('github') }}" class="mt-4 text-lg md:text-xl px-3 py-2 inline-block bg-white hover:bg-blue-200 text-black rounded-lg shadow-md flex">
<a href="{{ url()->route('github') }}" class="mt-4 text-lg md:text-xl px-3 py-2 bg-white hover:bg-blue-200 text-black rounded-lg shadow-md flex">
<svg width="28" height="28" viewBox="0 0 24 24"><path fill="currentColor" d="M13 21v2.5l-3-2l-3 2V21h-.5A3.5 3.5 0 0 1 3 17.5V5a3 3 0 0 1 3-3h14a1 1 0 0 1 1 1v17a1 1 0 0 1-1 1h-7zm0-2h6v-3H6.5a1.5 1.5 0 0 0 0 3H7v-2h6v2zm6-5V4H6v10.035A3.53 3.53 0 0 1 6.5 14H19zM7 5h2v2H7V5zm0 3h2v2H7V8zm0 3h2v2H7v-2z"/></svg>
<span class="ml-2">GitHub</span>
</a>
<a href="{{ url()->route('sponsor') }}" class="mt-4 text-lg md:text-xl px-3 py-2 inline-block bg-white hover:bg-blue-200 text-black rounded-lg shadow-md flex">
<a href="{{ url()->route('sponsor') }}" class="mt-4 text-lg md:text-xl px-3 py-2 bg-white hover:bg-blue-200 text-black rounded-lg shadow-md flex">
<svg width="28" height="28" viewBox="0 0 24 24"><path fill="rgb(191, 57, 137)" d="M17.625 1.499c-2.32 0-4.354 1.203-5.625 3.03c-1.271-1.827-3.305-3.03-5.625-3.03C3.129 1.499 0 4.253 0 8.249c0 4.275 3.068 7.847 5.828 10.227a33.14 33.14 0 0 0 5.616 3.876l.028.017l.008.003l-.001.003c.163.085.342.126.521.125c.179.001.358-.041.521-.125l-.001-.003l.008-.003l.028-.017a33.14 33.14 0 0 0 5.616-3.876C20.932 16.096 24 12.524 24 8.249c0-3.996-3.129-6.75-6.375-6.75zm-.919 15.275a30.766 30.766 0 0 1-4.703 3.316l-.004-.002l-.004.002a30.955 30.955 0 0 1-4.703-3.316c-2.677-2.307-5.047-5.298-5.047-8.523c0-2.754 2.121-4.5 4.125-4.5c2.06 0 3.914 1.479 4.544 3.684c.143.495.596.797 1.086.796c.49.001.943-.302 1.085-.796c.63-2.205 2.484-3.684 4.544-3.684c2.004 0 4.125 1.746 4.125 4.5c0 3.225-2.37 6.216-5.048 8.523z"/></svg>
<span class="ml-2">Sponsor</span>
</a>
</div>
</div>
<span class="absolute text-white tracking-tight rotate-12 font-bold"
style="font-size: 700px; left: -100px; top: -150px;
user-select: none; opacity: 3%;">6</span>
</header>
</div>
<div class="px-4">
<div class="flex flex-col m-auto max-w-3xl py-4 md:py-10">
<div class="max-w-3xl m-auto" style="position: relative;">
<img src="{{ url('/images/phpmon.jpg?v=ventura+5.8') }}" alt="PHP Monitor" class="m-auto max-w-3xl max-w-full bg-gray-100 rounded-xl shadow-lg">
<img src="{{ url('/images/phpmon.jpg?v=ventura+5.8') }}" alt="PHP Monitor" class="m-auto max-w-full bg-gray-100 rounded-xl shadow-lg">
</div>
<div class="max-w-2xl m-auto mt-12">
<p class="text-2xl leading-9 mb-6"><b>PHP Monitor</b> helps you set up and develop <span class="text-blue-800">Laravel</span> and <span class="text-blue-800">Symfony</span> projects. It's also great for <span class="text-blue-800">WordPress</span> or <span class="text-blue-800">Drupal</span> sites. In fact, it's a great companion for all kinds of projects, no matter the framework or CMS.</p>
<p class="mb-6 text-lg">This app is made with <span class="text-red-500"></span> by <a href="https://nicoverbruggen.be" class="text-blue-800">Nico Verbruggen</a>. It is open source and entirely free to use. Further development of this app is supported by <a class="text-blue-800" href="https://nicoverbruggen.be/sponsor">your donations</a>. You are also encouraged to <a href="{{ url()->route('github') }}" class="text-blue-800">star the repository</a> on GitHub.
</p>
</div>
@if (Cache::has('stargazers') && Cache::has('downloads'))
<div class="max-w-2xl m-auto mt-6 pb-6 space-y-3 border border-b-gray-200 rounded-lg px-8 py-4 shadow-lg">
@ -93,14 +90,33 @@
</div>
</div>
@endif
<div class="max-w-2xl m-auto mt-12">
<p class="mb-6 text-lg">This app is made with <span class="text-red-500"></span> by <a href="https://nicoverbruggen.be" class="text-blue-800">Nico Verbruggen</a>. It is open source and entirely free to use. Further development of this app is supported by <a class="text-blue-800" href="https://nicoverbruggen.be/sponsor">your donations</a>. You are also encouraged to <a href="{{ url()->route('github') }}" class="text-blue-800">star the repository</a> on GitHub.</p><p class="text-gray-500 leading-7">Your stars and sponsorships very much appreciated. Thanks to your support, the app has seen a steady stream of updates with new features and bugfixes over the last two years, and will continue to be supported as long as it makes sense to do so.
</p>
</div>
</div>
</div>
<div class="bg-blue-50 flex p-5 py-10 my-6">
<div class="flex flex-col m-auto max-w-xl space-y-2 py-8">
<h2 class="text-3xl mb-3">
<span class="inline-block bg-blue-800 px-2 py-1 text-white text-2xl rounded">
PHP Monitor 6.0 is now available.
</span>
</h2>
<div class="text-xl mt-8 leading-8">
<p class="mb-4">With the latest major update, PHP Monitor now comes with the hotly anticipated <b>PHP Version Manager</b>, the often requested <b>Standalone Mode</b>, and additional improvements.</p>
<p class="text-base">Learn more in the <a href="https://nicoverbruggen.be/blog/phpmon-6.0-release" class="text-blue-800">dedicated blog post</a> on my personal website, or explore all of PHP Monitor's features below.</p>
</div>
</div>
</div>
<div class="px-4">
<x-feature feature-title="Works great with Laravel Valet." img-src="/images/valet.png">
PHP Monitor can interact with your local <b>Laravel Valet</b> installation. That means that PHP Monitor builds upon a solid and trusted foundation. If you've already got that installed, it's very easy to get started.
</x-feature>
<x-feature feature-title="Also works standalone." img-src="/images/standalone.jpg" class="lg:flex-row-reverse" y-position="top" new="true">
<x-feature feature-title="Also works standalone." img-src="/images/standalone.jpg" class="lg:flex-row-reverse" y-position="top" new>
PHP Monitor <b>can also be used without</b> Laravel Valet. With the introduction of Standalone Mode some features will not be available, but I'm sure that you'll find the app a real help to your workflow if you don't use Laravel Valet.
</x-feature>
<x-feature feature-title="A GUI for managing PHP versions." img-src="/images/version-manager.jpg" new="true" y-position="top">
<x-feature feature-title="A GUI for managing PHP versions." img-src="/images/version-manager.jpg" new y-position="top">
With the new PHP Version Manager, you can easily <b>install, upgrade and remove</b> individual PHP versions without needing to manually type or copy Homebrew commands. The app will also attempt to <b>automatically fix</b> broken PHP versions.
</x-feature>
<x-feature feature-title="Information at a glance." img-src="/images/menu-bar.jpg" y-position="top" class="lg:flex-row-reverse">
@ -121,10 +137,9 @@
<x-feature feature-title="Determine compatibility." img-src="/images/phpinfo.jpg" y-position="top">
PHP Monitor will help you figure out if your sites are <b>compatible</b> with the <b>currently linked version of PHP</b>. You will receive suggestions when <b>site isolation</b> may be of use for a given domain.
</x-feature>
<x-feature feature-title="Small, fast and easy updates." img-src="/images/updater.jpg" y-position="bottom" class="lg:flex-row-reverse">
<x-feature feature-title="Small, fast and easy updates." img-src="/images/updater.jpg" y-position="bottom" class="lg:flex-row-reverse" new>
The app also comes with an optional (but very fast) <b>built-in updater</b>, which allows you to stay up-to-date with the latest developments and bug fixes, so you can have a seamless PHP switching experience.
</x-feature>
<div class="flex lg:flex-row flex-col m-auto max-w-5xl py-4 md:py-8 gap-x-10">
<x-single-feature feature-title="A tiny footprint.">
Laravel Valet is a lightweight solution that is much leaner than Docker, and PHP Monitor as a companion tool uses equally few system resources. It is light on RAM and its CPU usage is negligible.