From f146d7369323c29e921828a5c3025435b3626208 Mon Sep 17 00:00:00 2001 From: Pete Bishop Date: Mon, 24 Mar 2025 14:56:56 +0000 Subject: [PATCH 01/42] Add GitHub Retrieved Release Notes Page --- app/Support/GitHub.php | 25 +++++++++++++++++++ .../1/getting-started/release-notes.md | 15 +++++++++++ 2 files changed, 40 insertions(+) create mode 100644 resources/views/docs/desktop/1/getting-started/release-notes.md diff --git a/app/Support/GitHub.php b/app/Support/GitHub.php index d0aa6763..19521e6b 100644 --- a/app/Support/GitHub.php +++ b/app/Support/GitHub.php @@ -2,6 +2,7 @@ namespace App\Support; +use Illuminate\Support\Collection; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Http; @@ -38,6 +39,17 @@ function () { return $version['name'] ?? 'Unknown'; } + public function releases(): Collection + { + return Cache::remember( + $this->getCacheKey('releases'), + now()->addHour(), + function () { + return $this->fetchReleases(); + } + ); + } + private function fetchLatestVersion() { // Make a request to GitHub @@ -55,4 +67,17 @@ private function getCacheKey(string $string): string { return sprintf('%s-%s', $this->package, $string); } + + private function fetchReleases(): ?Collection + { + // Make a request to GitHub + $response = Http::get('https://api.github.com/repos/'.$this->package.'/releases'); + + // Check if the request was successful + if ($response->failed()) { + return null; + } + + return collect($response->json()); + } } diff --git a/resources/views/docs/desktop/1/getting-started/release-notes.md b/resources/views/docs/desktop/1/getting-started/release-notes.md new file mode 100644 index 00000000..c415274b --- /dev/null +++ b/resources/views/docs/desktop/1/getting-started/release-notes.md @@ -0,0 +1,15 @@ +--- +title: Release Notes +order: 1100 +--- + +@forelse (\App\Support\GitHub::electron()->releases() as $release) +## {{ $release['name'] }} +Released: {{ \Carbon\Carbon::parse($release['published_at'])->format('F j, Y') }}** + +{{ str_replace('#', '##', $release['body']) }} +--- +@empty +## We couldn't show you the latest release notes at this time. +Not to worry, you can head over to GitHub to see the [latest release notes](https://github.com/NativePHP/electron/releases). +@endforelse From 164d159c272867a652f0c6fc89356eba3bd35bef Mon Sep 17 00:00:00 2001 From: Pete Bishop Date: Mon, 24 Mar 2025 15:15:19 +0000 Subject: [PATCH 02/42] Add GitHub Release Object with formatting for release notes --- app/Support/GitHub.php | 13 ++- app/Support/GitHub/Release.php | 85 +++++++++++++++++++ .../1/getting-started/release-notes.md | 6 +- 3 files changed, 93 insertions(+), 11 deletions(-) create mode 100644 app/Support/GitHub/Release.php diff --git a/app/Support/GitHub.php b/app/Support/GitHub.php index 19521e6b..537b708c 100644 --- a/app/Support/GitHub.php +++ b/app/Support/GitHub.php @@ -2,6 +2,7 @@ namespace App\Support; +use App\Support\GitHub\Release; use Illuminate\Support\Collection; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Http; @@ -31,9 +32,7 @@ public function latestVersion() $version = Cache::remember( $this->getCacheKey('latest-version'), now()->addHour(), - function () { - return $this->fetchLatestVersion(); - } + fn () => $this->fetchLatestVersion() ); return $version['name'] ?? 'Unknown'; @@ -44,9 +43,7 @@ public function releases(): Collection return Cache::remember( $this->getCacheKey('releases'), now()->addHour(), - function () { - return $this->fetchReleases(); - } + fn () => $this->fetchReleases() ); } @@ -75,9 +72,9 @@ private function fetchReleases(): ?Collection // Check if the request was successful if ($response->failed()) { - return null; + return collect(); } - return collect($response->json()); + return collect($response->json())->map(fn (array $release) => new Release($release)); } } diff --git a/app/Support/GitHub/Release.php b/app/Support/GitHub/Release.php new file mode 100644 index 00000000..73b654e9 --- /dev/null +++ b/app/Support/GitHub/Release.php @@ -0,0 +1,85 @@ +data[$name] ?? null; + } + + public function __isset(string $name): bool + { + return isset($this->data[$name]); + } + + public function getBodyForMarkdown(): string + { + $body = $this->body; + + // Convert any URLs to Markdown links + if ($this->convertLinks) { + $body = preg_replace( + '/(https?:\/\/[^\s]+)/', + '[$1]($1)', + $body + ); + } + + // Change any @ tags to markdown links to GitHub + if ($this->withUserLinks) { + $body = preg_replace( + '/@([a-zA-Z0-9_]+)/', + '[@$1](https://github.com/$1)', + $body + ); + } + + return str_replace('#', '##', $body); + } + + public function withoutUserLinks(bool $withoutUserLinks = true): static + { + $this->withUserLinks = ! $withoutUserLinks; + + return $this; + } + + public function withoutLinkConversion(bool $convertLinks = true): static + { + $this->convertLinks = ! $convertLinks; + + return $this; + } +} diff --git a/resources/views/docs/desktop/1/getting-started/release-notes.md b/resources/views/docs/desktop/1/getting-started/release-notes.md index c415274b..a32390ff 100644 --- a/resources/views/docs/desktop/1/getting-started/release-notes.md +++ b/resources/views/docs/desktop/1/getting-started/release-notes.md @@ -4,10 +4,10 @@ order: 1100 --- @forelse (\App\Support\GitHub::electron()->releases() as $release) -## {{ $release['name'] }} -Released: {{ \Carbon\Carbon::parse($release['published_at'])->format('F j, Y') }}** +## {{ $release->name }} +**Released: {{ \Carbon\Carbon::parse($release->published_at)->format('F j, Y') }}** -{{ str_replace('#', '##', $release['body']) }} +{{ $release->getBodyForMarkdown() }} --- @empty ## We couldn't show you the latest release notes at this time. From c167104706173bb988140adb9468513e2b4f2516 Mon Sep 17 00:00:00 2001 From: Pete Bishop Date: Tue, 25 Mar 2025 12:14:21 +0000 Subject: [PATCH 03/42] Take 10 latest --- app/Support/GitHub.php | 10 +++++----- .../docs/desktop/1/getting-started/release-notes.md | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/Support/GitHub.php b/app/Support/GitHub.php index 537b708c..0006f3e9 100644 --- a/app/Support/GitHub.php +++ b/app/Support/GitHub.php @@ -29,13 +29,13 @@ public static function laravel(): static public function latestVersion() { - $version = Cache::remember( + $release = Cache::remember( $this->getCacheKey('latest-version'), now()->addHour(), fn () => $this->fetchLatestVersion() ); - return $version['name'] ?? 'Unknown'; + return $release?->name ?? 'Unknown'; } public function releases(): Collection @@ -44,10 +44,10 @@ public function releases(): Collection $this->getCacheKey('releases'), now()->addHour(), fn () => $this->fetchReleases() - ); + ) ?? collect(); } - private function fetchLatestVersion() + private function fetchLatestVersion(): ?Release { // Make a request to GitHub $response = Http::get('https://api.github.com/repos/'.$this->package.'/releases/latest'); @@ -57,7 +57,7 @@ private function fetchLatestVersion() return null; } - return $response->json(); + return new Release($response->json()); } private function getCacheKey(string $string): string diff --git a/resources/views/docs/desktop/1/getting-started/release-notes.md b/resources/views/docs/desktop/1/getting-started/release-notes.md index a32390ff..831a6c6a 100644 --- a/resources/views/docs/desktop/1/getting-started/release-notes.md +++ b/resources/views/docs/desktop/1/getting-started/release-notes.md @@ -3,7 +3,7 @@ title: Release Notes order: 1100 --- -@forelse (\App\Support\GitHub::electron()->releases() as $release) +@forelse (\App\Support\GitHub::electron()->releases()->take(10) as $release) ## {{ $release->name }} **Released: {{ \Carbon\Carbon::parse($release->published_at)->format('F j, Y') }}** From 2cca960d4856ae0859ac89ecafb23daa20b95810 Mon Sep 17 00:00:00 2001 From: Pete Bishop Date: Tue, 25 Mar 2025 12:17:57 +0000 Subject: [PATCH 04/42] Appease pint --- app/Support/GitHub/Release.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Support/GitHub/Release.php b/app/Support/GitHub/Release.php index 73b654e9..8b445507 100644 --- a/app/Support/GitHub/Release.php +++ b/app/Support/GitHub/Release.php @@ -26,6 +26,7 @@ class Release { private bool $withUserLinks = true; + private bool $convertLinks = true; public function __construct( From 7f769464821c4e2d8f789e72da9aadcdfccc1efc Mon Sep 17 00:00:00 2001 From: Simon Hamp Date: Tue, 25 Mar 2025 05:30:34 +0000 Subject: [PATCH 05/42] Update docs --- .../docs/mobile/1/digging-deeper/security.md | 4 +- .../views/docs/mobile/1/the-basics/dialogs.md | 4 +- .../docs/mobile/1/the-basics/notifications.md | 4 +- .../views/docs/mobile/1/the-basics/system.md | 49 ++++++++++++++++--- 4 files changed, 48 insertions(+), 13 deletions(-) diff --git a/resources/views/docs/mobile/1/digging-deeper/security.md b/resources/views/docs/mobile/1/digging-deeper/security.md index 61c7a218..6b8254b3 100644 --- a/resources/views/docs/mobile/1/digging-deeper/security.md +++ b/resources/views/docs/mobile/1/digging-deeper/security.md @@ -10,7 +10,7 @@ protect your users. ### Secrets and .env -As your application is being installed on systems outside of your/your organisation's control, it is important to think +As your application is being installed on systems outside your/your organisation's control, it is important to think of the environment that it's in as _potentially_ hostile, which is to say that any secrets, passwords or keys could fall into the hands of someone who might try to abuse them. @@ -22,7 +22,7 @@ application and any API use a robust and secure authentication protocol, such as distribute unique and expiring tokens (an expiration date less than 48 hours in the future is recommended) with a high level of entropy, as this makes them hard to guess and hard to abuse. -Always use HTTPS. +**Always use HTTPS.** If your application allows users to connect _their own_ API keys for a service, you should treat these keys with great care. If you choose to store them anywhere (either in a [File](files) or diff --git a/resources/views/docs/mobile/1/the-basics/dialogs.md b/resources/views/docs/mobile/1/the-basics/dialogs.md index 0efdc80a..74de7725 100644 --- a/resources/views/docs/mobile/1/the-basics/dialogs.md +++ b/resources/views/docs/mobile/1/the-basics/dialogs.md @@ -10,7 +10,7 @@ NativePHP allows you to trigger many native dialogs. Dialogs are created using the `Dialog` facade. ```php -use Native\Laravel\Dialog; +use Native\Ios\Facades\Dialog; ``` ### The Share Dialog @@ -31,7 +31,7 @@ $buttons = [ 'Cancel' ]; -Dialog::share('Title', 'Message', $buttons, fn ($selected) => { +Dialog::alert('Title', 'Message', $buttons, fn ($selected) => { echo "You selected {$buttons[$selected]}"; }); ``` diff --git a/resources/views/docs/mobile/1/the-basics/notifications.md b/resources/views/docs/mobile/1/the-basics/notifications.md index 4c932a2c..57943da9 100644 --- a/resources/views/docs/mobile/1/the-basics/notifications.md +++ b/resources/views/docs/mobile/1/the-basics/notifications.md @@ -6,7 +6,7 @@ order: 500 ## Notifications NativePHP allows you to send system notifications using an elegant PHP API. These notifications are, unlike Laravel's -built-in notifications, actual UI notifications displayed by the device's native notification UI. +built-in notifications, actual device notifications displayed by the device's native notification UI. When used sparingly, notifications can be a great way to inform the user about events that are occurring in your application and to bring their attention back to it, especially if further input from them is required. @@ -14,7 +14,7 @@ application and to bring their attention back to it, especially if further input Notifications are sent using the `Notification` facade. ```php -use Native\Laravel\Facades\Notification; +use Native\Ios\Facades\Notification; ``` ### Sending Notifications diff --git a/resources/views/docs/mobile/1/the-basics/system.md b/resources/views/docs/mobile/1/the-basics/system.md index d2653af1..8dcef6bc 100644 --- a/resources/views/docs/mobile/1/the-basics/system.md +++ b/resources/views/docs/mobile/1/the-basics/system.md @@ -22,12 +22,12 @@ about whether a particular feature is specific to iOS or Android. Most of the system-related features are available through the `System` facade. ```php -use Native\Laravel\Facades\System; +use Native\Ios\Facades\System; ``` ## Camera -You may request the native camera interface to take a photograph by calling: +You may request the native camera interface to take a photograph by calling the `camera` method: ```php $imageData = System::camera() @@ -50,6 +50,40 @@ decline, triggering the camera API will silently fail.** **COMING SOON** +## Vibration + +You may vibrate the user's device by calling the `vibrate` method: + +```php +System::vibrate() +``` + +## Push Notifications + +NativePHP makes it dead simple to enrol your user's device in push notifications from your app. + +Simply use the `enrolForPushNotifications` method to trigger enrolment. If this is the first time that your app tries +to enrol this device for push notifications, the user will be presented with a native alert, allowing them to opt-in. + +Then use the `getPushNotificationsToken` method to retrieve the token. If enrolment was unsuccessful for some reason, +this method will return `null`. + +```php +System::enrolForPushNotifications(); + +// Later... + +if ($token = System::getPushNotificationsToken()) { + // Do something with the token... +} +``` + +Once you have the token, you may use it from your server-based applications to trigger Push Notifications directly to +your user's device. + +Find out more about what's required to use Push Notifications in +[Apple's Developer docs](https://developer.apple.com/notifications/). + ## Accelerometer **COMING SOON** @@ -115,7 +149,7 @@ For devices that support some form of biometric identification, you can use this of your application. ```php -if (System::canPromptBiometricID() && System::promptBiometricID('access your Contacts')) { +if (System::promptForBiometricID()) { // Do your super secret activity here } ``` @@ -123,15 +157,16 @@ if (System::canPromptBiometricID() && System::promptBiometricID('access your Con Using this, you can gate certain parts of your app, allowing you to offer an extra layer of protection for your user's data. -**Note: Biometric identification only gives you greater *confidence* that the person using your app is someone who has -the capacity to unlock the device your app is installed on. It does not allow you to *identify* that user or prove that -they are willingly taking this action.** +**Note: Despite the name, Biometric identification only gives you *greater confidence* that the person using your app +is *someone* who has the capacity to unlock the device your app is installed on. It does not allow you to *identify* +that user or prove that they are willingly taking this action.** ## Time Zones **COMING SOON** -PHP and your Laravel application will be configured to work with the time zone that the device is configured to use. +PHP and your Laravel application are configured to work with the time zone that the device reports it is currently +operating in. This means that, for the most part, any dates and times your show will already be in the appropriate time zone for the user without having to ask your users to manually select their current time zone. From 81baf6badd76cace49271aae437382b21886855e Mon Sep 17 00:00:00 2001 From: HassanZahirnia Date: Tue, 25 Mar 2025 14:30:56 +0330 Subject: [PATCH 06/42] =?UTF-8?q?=E2=9C=A8=20Add=20lazy=20loading=20to=20i?= =?UTF-8?q?mages=20and=20improve=20text=20formatting=20in=20welcome=20view?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/views/welcome.blade.php | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index ead2ddff..53946cd4 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -247,6 +247,7 @@ class="font-normal text-gray-600 dark:text-white/50" class="mt-2 w-40 rounded-xl" width="160" height="90" + loading="lazy" /> @@ -338,6 +339,7 @@ class="size-8" class="w-full max-w-80 rounded-xl" width="320" height="180" + loading="lazy" /> @@ -383,10 +385,13 @@ class="inline-block font-medium text-[#F53003] transition duration-200 will-chan Laravel skills to the world of - desktop & mobile apps. - - Build cross-platform applications effortlessly—no extra - tools, just the stack you love. + + desktop & mobile apps + + . + + Build cross-platform applications effortlessly—no extra tools, just + the stack you love.

{{-- Call to Action Button --}} @@ -998,9 +1003,9 @@ class="pt-3 text-xl font-medium capitalize opacity-0" " class="pt-2 leading-relaxed text-gray-500 opacity-0 dark:text-gray-400" > - Watch Marcel's original NativePHP talk from Laracon US 2023 in Nashville. - Minds were blown as he demonstrated how to use Laravel to build - cross-platform desktop applications. + Watch Marcel's original NativePHP talk from Laracon US 2023 + in Nashville. Minds were blown as he demonstrated how to use + Laravel to build cross-platform desktop applications.

+ + {{-- Right side --}} + From 6507fe9626397d50de11f9ef34957dff76cb9238 Mon Sep 17 00:00:00 2001 From: HassanZahirnia Date: Tue, 25 Mar 2025 15:25:31 +0330 Subject: [PATCH 09/42] =?UTF-8?q?=E2=9C=A8=20Update=20image=20dimensions?= =?UTF-8?q?=20and=20improve=20layout=20in=20welcome=20view?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/views/welcome.blade.php | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index f7d285e1..2c3c49ef 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -368,9 +368,9 @@ class="size-7" Simon Hamp presenting at Laracon EU 2025 on building mobile apps with PHP @@ -967,9 +967,11 @@ class="group grid size-12 place-items-center overflow-hidden rounded-full border class="mx-auto mt-20 max-w-5xl px-5" aria-labelledby="laracon-talk-title" > -
+
{{-- Left side --}} -
+
Where did this come from? @@ -1034,7 +1036,7 @@ class="pt-3 text-xl font-medium capitalize opacity-0" }) } " - class="pt-2 leading-relaxed text-gray-500 opacity-0 dark:text-gray-400" + class="pt-1.5 leading-relaxed text-gray-500 opacity-0 dark:text-gray-400" > Watch Marcel's original NativePHP talk from Laracon US 2023 in Nashville. Minds were blown as he demonstrated how to use @@ -1093,9 +1095,9 @@ class="size-7" Marcel Pociot at Laracon US - Building Desktop Applications with PHP From f2c8005d4a5df01d7119f65ae7311f90adc25d04 Mon Sep 17 00:00:00 2001 From: HassanZahirnia Date: Tue, 25 Mar 2025 15:44:41 +0330 Subject: [PATCH 10/42] =?UTF-8?q?=E2=9C=A8=20Update=20contributor=20images?= =?UTF-8?q?=20scaling=20and=20enhance=20layout=20in=20welcome=20view?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/views/welcome.blade.php | 61 +++++++++++++++++++++++++++---- 1 file changed, 54 insertions(+), 7 deletions(-) diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index 2c3c49ef..7655b545 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -892,7 +892,7 @@ class="group grid size-12 place-items-center overflow-hidden rounded-full opacit Eser DENIZ - NativePHP contributor - 40+ +
+ 40+ +
+ + + +
@@ -1095,7 +1142,7 @@ class="size-7" Marcel Pociot at Laracon US - Building Desktop Applications with PHP Date: Tue, 25 Mar 2025 15:48:40 +0330 Subject: [PATCH 11/42] =?UTF-8?q?=E2=9C=A8=20Replace=20SVG=20play=20button?= =?UTF-8?q?=20with=20reusable=20component=20and=20improve=20layout=20in=20?= =?UTF-8?q?video=20section?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/icons/play-button.blade.php | 13 ++++++ resources/views/welcome.blade.php | 42 +++---------------- 2 files changed, 19 insertions(+), 36 deletions(-) create mode 100644 resources/views/components/icons/play-button.blade.php diff --git a/resources/views/components/icons/play-button.blade.php b/resources/views/components/icons/play-button.blade.php new file mode 100644 index 00000000..760cf936 --- /dev/null +++ b/resources/views/components/icons/play-button.blade.php @@ -0,0 +1,13 @@ + + + diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index 7655b545..e5b80ec9 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -210,7 +210,7 @@ class="-mb-1.5 size-1 rounded-full bg-white ring-[3px] ring-black dark:bg-black/ class="relative -top-5 grid size-10 place-items-center rounded-full bg-black/30 text-white ring-1 ring-white/10 backdrop-blur transition duration-300 ease-in-out will-change-transform group-hover:scale-110 group-hover:text-[#d4fd7d] dark:group-hover:text-[#9c90f0]" aria-label="Watch NativePHP introduction video on YouTube" > - + /> Play introduction video
@@ -332,7 +322,7 @@ class="group relative" class="absolute right-1/2 top-1/2 grid size-16 -translate-y-1/2 translate-x-1/2 place-items-center rounded-full bg-white/10 text-white ring-1 ring-white/10 backdrop-blur transition duration-300 ease-in-out will-change-transform group-hover:scale-110 group-hover:text-[#d4fd7d]" aria-hidden="true" > - + /> Play video
{{-- Image --}} @@ -1106,7 +1086,7 @@ class="group relative" class="absolute right-1/2 top-1/2 grid size-16 -translate-y-1/2 translate-x-1/2 place-items-center rounded-full bg-white/10 text-white ring-1 ring-white/10 backdrop-blur transition duration-300 ease-in-out will-change-transform group-hover:scale-110 group-hover:text-[#d4fd7d]" aria-hidden="true" > - + /> Play video
{{-- Image --}} From 91e9b8a366d95d80275a1f366a0ec5af1e417f69 Mon Sep 17 00:00:00 2001 From: HassanZahirnia Date: Tue, 25 Mar 2025 15:59:45 +0330 Subject: [PATCH 12/42] =?UTF-8?q?=E2=9C=A8=20Refactor=20footer=20and=20wel?= =?UTF-8?q?come=20views=20for=20improved=20layout=20and=20responsiveness?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/views/components/footer.blade.php | 21 +++++++++++---------- resources/views/welcome.blade.php | 4 ++-- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/resources/views/components/footer.blade.php b/resources/views/components/footer.blade.php index 9196668f..a90f720f 100644 --- a/resources/views/components/footer.blade.php +++ b/resources/views/components/footer.blade.php @@ -8,9 +8,11 @@ class="sr-only" > Footer -
+
{{-- Left side --}} -
+
{{-- Logo --}}
diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index e5b80ec9..77df749b 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -1136,7 +1136,7 @@ class="sr-only"
{{-- Featured sponsors --}}

{{-- Corporate sponsors --}}

Date: Tue, 25 Mar 2025 16:02:46 +0330 Subject: [PATCH 13/42] =?UTF-8?q?=E2=9C=A8=20Update=20primary=20color=20fo?= =?UTF-8?q?r=20DocSearch=20and=20add=20rounded=20corners=20to=20the=20form?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/css/app.css | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/css/app.css b/resources/css/app.css index d66f29b8..e3ce6ae6 100644 --- a/resources/css/app.css +++ b/resources/css/app.css @@ -139,7 +139,7 @@ nav > ul > li > ul { :root { --docsearch-container-background: rgba(0, 0, 0, 0.5); - --docsearch-primary-color: #a78bfa; + --docsearch-primary-color: #987af1; } [id='docsearch'] { @@ -202,3 +202,7 @@ nav > ul > li > ul { .DocSearch-Input { @apply focus-visible:outline-none; } + +.DocSearch-Form { + @apply rounded-lg; +} From 3e18722751bd8262d60e0b70604f6f892f071117 Mon Sep 17 00:00:00 2001 From: HassanZahirnia Date: Tue, 25 Mar 2025 16:05:11 +0330 Subject: [PATCH 14/42] =?UTF-8?q?=E2=9C=A8=20Adjust=20gap=20spacing=20in?= =?UTF-8?q?=20navigation=20bar=20for=20improved=20layout=20consistency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/views/components/navigation-bar.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/components/navigation-bar.blade.php b/resources/views/components/navigation-bar.blade.php index 3b5d4bea..362ff009 100644 --- a/resources/views/components/navigation-bar.blade.php +++ b/resources/views/components/navigation-bar.blade.php @@ -29,7 +29,7 @@ class="hidden rounded-full bg-gray-200/60 px-2 py-1 text-xs text-gray-600 lg:blo

{{-- Right side --}} -
+
{{-- Doc search --}}
Date: Tue, 25 Mar 2025 16:10:13 +0330 Subject: [PATCH 15/42] =?UTF-8?q?=E2=9C=A8=20Update=20theme=20toggle=20com?= =?UTF-8?q?ponent=20styles=20for=20improved=20consistency=20and=20responsi?= =?UTF-8?q?veness?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/components/theme-toggle.blade.php | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/resources/views/components/theme-toggle.blade.php b/resources/views/components/theme-toggle.blade.php index ea2d8410..5187bb9b 100644 --- a/resources/views/components/theme-toggle.blade.php +++ b/resources/views/components/theme-toggle.blade.php @@ -1,5 +1,5 @@
@@ -205,7 +199,9 @@ class="grid size-7 place-items-center rounded-xl bg-[#D4FD7D] dark:bg-[#d68ffe] >
-
Your name in NativePHP's history
+
+ Your name in NativePHP's history +
Increases to - $750 - + $750 + after the EAP.

@@ -306,11 +302,9 @@ class="size-5 shrink-0" />
Build - - unlimited - + + unlimited + apps
@@ -321,11 +315,9 @@ class="size-5 shrink-0" />
Release - - 10 - + + 10 + production apps
@@ -335,11 +327,9 @@ class="size-5 shrink-0" aria-hidden="true" />
- - 10 - + + 10 + developer seats
@@ -372,7 +362,9 @@ class="grid size-7 place-items-center rounded-xl bg-[#D4FD7D] dark:bg-[#d68ffe] >
-
Your name in NativePHP's history
+
+ Your name in NativePHP's history +

Increases to - $2,500 - + $2,500 + after the EAP.

@@ -481,11 +473,9 @@ class="size-5 shrink-0" />
Build - - unlimited - + + unlimited + apps
@@ -496,11 +486,9 @@ class="size-5 shrink-0" />
Release - - unlimited - + + unlimited + production apps
@@ -510,11 +498,9 @@ class="size-5 shrink-0" aria-hidden="true" />
- - Unlimited - + + Unlimited + developer seats
@@ -538,7 +524,9 @@ class="grid size-7 place-items-center rounded-xl bg-[#D4FD7D] dark:bg-[#d68ffe] >
-
Exclusive access to private Discord channels
+
+ Exclusive access to private Discord channels +
-
- Business hours support (GMT) -
+
Business hours support (GMT)
Date: Tue, 25 Mar 2025 16:21:24 +0330 Subject: [PATCH 17/42] =?UTF-8?q?=E2=9C=A8=20Refactor=20EAP=20banner=20for?= =?UTF-8?q?=20improved=20text=20animation=20and=20layout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/components/eap-banner.blade.php | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/resources/views/components/eap-banner.blade.php b/resources/views/components/eap-banner.blade.php index c5326835..d9e514bc 100644 --- a/resources/views/components/eap-banner.blade.php +++ b/resources/views/components/eap-banner.blade.php @@ -15,23 +15,27 @@ class="group relative z-30 flex items-center justify-center gap-2 bg-gradient-to {{-- Text --}}
- Join our Mobile Early Access Program +
+ Join our Mobile Early Access Program +
{{-- Arrow --}} From 9345e64804d099b252de18706e1d62a40774ee92 Mon Sep 17 00:00:00 2001 From: HassanZahirnia Date: Tue, 25 Mar 2025 17:03:58 +0330 Subject: [PATCH 18/42] =?UTF-8?q?=E2=9C=A8=20Add=20new=20color=20palette?= =?UTF-8?q?=20and=20update=20components=20for=20dark=20mode=20consistency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/components/alert-beta.blade.php | 2 +- resources/views/components/footer.blade.php | 2 +- .../views/components/icons/pinkary.blade.php | 17 +++- .../views/components/link-button.blade.php | 2 +- .../views/components/mobile-pricing.blade.php | 38 +++---- .../components/platform-switcher.blade.php | 14 +-- .../components/social-networks-all.blade.php | 16 +-- .../lists/docs/corporate-sponsors.blade.php | 10 +- .../lists/docs/featured-sponsors.blade.php | 4 +- .../lists/home/corporate-sponsors.blade.php | 10 +- .../lists/home/featured-sponsors.blade.php | 4 +- .../views/components/testimonial.blade.php | 2 +- resources/views/early-adopter.blade.php | 98 +++++++++---------- resources/views/welcome.blade.php | 2 +- tailwind.config.js | 5 + 15 files changed, 120 insertions(+), 106 deletions(-) diff --git a/resources/views/components/alert-beta.blade.php b/resources/views/components/alert-beta.blade.php index 08783af6..d6502166 100644 --- a/resources/views/components/alert-beta.blade.php +++ b/resources/views/components/alert-beta.blade.php @@ -1,5 +1,5 @@