diff --git a/composer.json b/composer.json index a8a151f..7ac7e9b 100644 --- a/composer.json +++ b/composer.json @@ -31,12 +31,12 @@ "laravel/boost": "^2.0", "laravel/framework": "^13.0", "laravel/tinker": "^3.0", - "nativephp/mobile": "dev-combined/dev-null-app as 4.6.0", + "nativephp/mobile": "dev-main as 4.6.0", "nativephp/mobile-browser": "^1.2", "nativephp/mobile-camera": "^1.1", "nativephp/mobile-secure-storage": "^1.1", "nativephp/mobile-share": "^1.1", - "nativephp/mobile-ui": "dev-combined/dev-null-app as 0.8.0", + "nativephp/mobile-ui": "dev-main as 0.8.0", "s2br/nativephp-mobile-splashscreen": "^1.4" }, "require-dev": { diff --git a/composer.lock b/composer.lock index 87386cd..ddc2f31 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "009b62d2b9630b1cb607353263f57b5c", + "content-hash": "8bcaeeb71989e08fe920116ba3e08bcd", "packages": [ { "name": "bacon/bacon-qr-code", @@ -2717,16 +2717,16 @@ }, { "name": "nativephp/mobile", - "version": "dev-combined/dev-null-app", + "version": "dev-main", "source": { "type": "git", "url": "https://github.com/NativePHP/mobile-air.git", - "reference": "0f0587bb3a92324d15cb9707a852d643a7729e82" + "reference": "2eda16dd1a84fd67b67b413df7e2f751b0a841bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/NativePHP/mobile-air/zipball/0f0587bb3a92324d15cb9707a852d643a7729e82", - "reference": "0f0587bb3a92324d15cb9707a852d643a7729e82", + "url": "https://api.github.com/repos/NativePHP/mobile-air/zipball/2eda16dd1a84fd67b67b413df7e2f751b0a841bb", + "reference": "2eda16dd1a84fd67b67b413df7e2f751b0a841bb", "shasum": "" }, "require": { @@ -2766,6 +2766,7 @@ "suggest": { "ext-zip": "Required by native:install to validate and extract the downloaded Android PHP binary archives" }, + "default-branch": true, "type": "library", "extra": { "laravel": { @@ -2833,10 +2834,10 @@ "nativephp" ], "support": { - "source": "https://github.com/NativePHP/mobile-air/tree/combined/dev-null-app", + "source": "https://github.com/NativePHP/mobile-air/tree/main", "issues": "https://github.com/NativePHP/mobile-air/issues" }, - "time": "2026-10-22T00:18:06+00:00" + "time": "2026-10-22T22:24:28+00:00" }, { "name": "nativephp/mobile-browser", @@ -3060,16 +3061,16 @@ }, { "name": "nativephp/mobile-ui", - "version": "dev-combined/dev-null-app", + "version": "dev-main", "source": { "type": "git", "url": "https://github.com/NativePHP/mobile-ui.git", - "reference": "ebbc94b79f489175ab815a69e579c368cd295ff1" + "reference": "b2a8b2ab5979fb217424210740a5aaca268f295d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/NativePHP/mobile-ui/zipball/ebbc94b79f489175ab815a69e579c368cd295ff1", - "reference": "ebbc94b79f489175ab815a69e579c368cd295ff1", + "url": "https://api.github.com/repos/NativePHP/mobile-ui/zipball/b2a8b2ab5979fb217424210740a5aaca268f295d", + "reference": "b2a8b2ab5979fb217424210740a5aaca268f295d", "shasum": "" }, "require": { @@ -3081,6 +3082,7 @@ "orchestra/testbench": "^10.0", "pestphp/pest": "^3.0" }, + "default-branch": true, "type": "nativephp-plugin", "extra": { "laravel": { @@ -3119,7 +3121,7 @@ ], "description": "Native SwiftUI and Jetpack Composer components for NativePHP", "support": { - "source": "https://github.com/NativePHP/mobile-ui/tree/combined/dev-null-app", + "source": "https://github.com/NativePHP/mobile-ui/tree/main", "issues": "https://github.com/NativePHP/mobile-ui/issues" }, "funding": [ @@ -3128,7 +3130,7 @@ "url": "https://nativephp.com/sponsor" } ], - "time": "2026-10-21T15:07:28+00:00" + "time": "2026-10-22T19:20:50+00:00" }, { "name": "nesbot/carbon", @@ -11130,13 +11132,13 @@ "aliases": [ { "package": "nativephp/mobile", - "version": "dev-combined/dev-null-app", + "version": "dev-main", "alias": "4.6.0", "alias_normalized": "4.6.0.0" }, { "package": "nativephp/mobile-ui", - "version": "dev-combined/dev-null-app", + "version": "dev-main", "alias": "0.8.0", "alias_normalized": "0.8.0.0" } diff --git a/resources/views/native/partials/commit-sheet.blade.php b/resources/views/native/partials/commit-sheet.blade.php index 00ce8fb..f656da4 100644 --- a/resources/views/native/partials/commit-sheet.blade.php +++ b/resources/views/native/partials/commit-sheet.blade.php @@ -2,8 +2,9 @@ The sheet under a commit (see OpensCommitSheet). Quote opens it as a composer: a bar of Cancel, the title and Commit, which waits for a body long enough to make, over the field, focused, with the commit being quoted under it as a static card, then the counter. Cancel and Commit are a cross and a check in circles, as Apple draws a sheet's - bar, the same on both platforms (see sheet-bar-button), 16pt in from the sheet's top and sides. Android draws its - handle over the sheet, as iOS does, so the bar starts at the top there too. The title is centred. + bar, the same on both platforms (see sheet-bar-button), 16pt in from the sheet's top and sides. On Android the bar + sits under Material's handle strip, since mobile-ui has no way yet to draw the handle over the content. The title is + centred. Cancel closes it as a swipe does, keeping the draft. If devnull says no, why shows here and the draft stays. The Log's compose button opens the same composer for a new commit, without the card. A draft stashed last time comes back in it, with the web's stash@{0} and drop beside the counter, in the toolbar at the bottom. @@ -29,7 +30,7 @@ It's full height for the forms, and short for the receipts. It's always on the screen, shown or not, so iOS can slide it away and say when it's gone. --}} - + @if ($sheetCommit || in_array($sheetView, ['compose', 'issued'], true)) @if (in_array($sheetView, ['quote', 'compose', 'reply'], true)) @php($quoting = $sheetView === 'quote') diff --git a/tests/Feature/Screens/ComposeSheetTest.php b/tests/Feature/Screens/ComposeSheetTest.php index bbaf7fe..9638209 100644 --- a/tests/Feature/Screens/ComposeSheetTest.php +++ b/tests/Feature/Screens/ComposeSheetTest.php @@ -193,9 +193,7 @@ function sheetCommitDisabled(TestableComponent $screen): bool $bar = findNode($screen->tree(), fn (array $node): bool => in_array('sheet-cancel', array_column($node['children'] ?? [], 'ref'), true)); $size = fn (string $ref): array => [sheetButtonCircle($screen, $ref)['layout']['width'], sheetButtonCircle($screen, $ref)['layout']['height']]; - // Android draws its handle over the content as iOS does, so the bar's padding is its distance from the sheet's edge. - expect(nodeByRef($screen, 'sheet')['props']['handle_over_content'])->toBeTrue() - ->and($bar['layout']['padding'])->toBe(16.0) + expect($bar['layout']['padding'])->toBe(16.0) ->and($size('sheet-cancel'))->toBe([44.0, 44.0]) ->and($size('sheet-commit'))->toBe([44.0, 44.0]) ->and(nodeByRef($screen, 'sheet-cancel')['props']['a11y_label'])->toBe('Cancel')