diff --git a/src/NamesResolver.php b/src/NamesResolver.php
index fdc4f66..85244ac 100644
--- a/src/NamesResolver.php
+++ b/src/NamesResolver.php
@@ -27,6 +27,11 @@ public static function resourceNameSingular(Model $model): string
return static::resourceNameSingularFor(class_basename($model));
}
+ public static function resourceVariableName(Model $model): string
+ {
+ return Str::camel(static::resourceNameSingular($model));
+ }
+
public static function partialNameFor(Model $model): string
{
$root = static::resourceName($model);
diff --git a/src/TurboStreamResponseMacro.php b/src/TurboStreamResponseMacro.php
index fa6cf2d..1997d8b 100644
--- a/src/TurboStreamResponseMacro.php
+++ b/src/TurboStreamResponseMacro.php
@@ -52,7 +52,7 @@ private function renderModelAddedStream(Model $model, string $action = null)
: NamesResolver::partialNameFor($model),
'data' => method_exists($model, 'hotwirePartialData')
? $model->hotwirePartialData()
- : [NamesResolver::resourceNameSingular($model) => $model],
+ : [NamesResolver::resourceVariableName($model) => $model],
]));
}
@@ -62,13 +62,13 @@ private function renderModelUpdatedStream(Model $model)
'target' => method_exists($model, 'hotwireTargetDomId')
? $model->hotwireTargetDomId()
: NamesResolver::resourceId($model::class, $model->id),
- 'action' => 'update',
+ 'action' => 'replace',
'resourcePartialName' => method_exists($model, 'hotwirePartialName')
? $model->hotwirePartialName()
: NamesResolver::partialNameFor($model),
'data' => method_exists($model, 'hotwirePartialData')
? $model->hotwirePartialData()
- : [NamesResolver::resourceNameSingular($model) => $model],
+ : [NamesResolver::resourceVariableName($model) => $model],
]));
}
}
diff --git a/tests/Http/ResponseMacrosTest.php b/tests/Http/ResponseMacrosTest.php
new file mode 100644
index 0000000..6d4c232
--- /dev/null
+++ b/tests/Http/ResponseMacrosTest.php
@@ -0,0 +1,94 @@
+ 'test']);
+
+ $expected = <<
+
+