Skip to content

Commit c0472b8

Browse files
committed
Fix some issues if there is no route name
1 parent 881147a commit c0472b8

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

src/TranslateRoute.php

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public static function forName(string $routeName, string $locale = null, array|C
4040
}
4141
}
4242

43-
public static function getAllForNameOrCurrent(string $routeName = null, array $parameters = [], string $fallbackRoute = null): TranslatableRoutesLocaleCollection
43+
public static function getAllForNameOrCurrent(?string $routeName = null, array $parameters = [], ?string $fallbackRoute = null): TranslatableRoutesLocaleCollection
4444
{
4545
if (! $routeName) {
4646
$routeName = request()->route()?->getName();
@@ -60,11 +60,13 @@ public static function getAllForNameOrCurrent(string $routeName = null, array $p
6060
}
6161

6262
return LocaleCollection::mapWithKeys(fn (Locale $locale) => [
63-
$locale->locale() => translate_route(
64-
$routeName,
65-
$locale->locale(),
66-
self::translateParameters($parameters, $locale)
67-
),
63+
$locale->locale() => $routeName
64+
? translate_route(
65+
$routeName,
66+
$locale->locale(),
67+
self::translateParameters($parameters, $locale)
68+
)
69+
: '#',
6870
]);
6971
}
7072

@@ -95,7 +97,7 @@ public static function translateParts(string $uri, string $locale)
9597
private static function translateParameters(array $parameters, Locale $locale): array
9698
{
9799
return array_map(function ($parameter) use ($locale) {
98-
if (! ($parameter instanceof Model) && ! method_exists($parameter, 'setLocale')) {
100+
if (! ($parameter instanceof Model) || ! method_exists($parameter, 'setLocale')) {
99101
return $parameter;
100102
}
101103

src/helpers.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ function translate_route(string $routeName, string $locale = null, array|Collect
1212
}
1313

1414
if (! function_exists('translated_routes')) {
15-
function translated_routes(string $routeName = null, array $parameters = [], string $fallbackRoute = null): LocaleCollection
15+
function translated_routes(?string $routeName = null, array $parameters = [], ?string $fallbackRoute = null): LocaleCollection
1616
{
1717
return TranslateRoute::getAllForNameOrCurrent($routeName, $parameters, $fallbackRoute);
1818
}

0 commit comments

Comments
 (0)