diff --git a/Oqtane.Client/UI/ModuleInstance.razor b/Oqtane.Client/UI/ModuleInstance.razor
index 4fd08426..e2dbbbb5 100644
--- a/Oqtane.Client/UI/ModuleInstance.razor
+++ b/Oqtane.Client/UI/ModuleInstance.razor
@@ -1,19 +1,18 @@
@namespace Oqtane.UI
@inject SiteState SiteState
-@if (PageState.RenderMode == RenderModes.Interactive || ModuleState.RenderMode == RenderModes.Static)
+@if (PageState.RenderMode == RenderModes.Interactive || ModuleState.RenderMode == RenderModes.Interactive)
{
-
+
}
else
{
-
+
}
@code {
// this component is on the static side of the render mode boundary
// it passes state as serializable parameters across the boundary
- // this enables the state to be used by downstream interactive components
[CascadingParameter]
protected PageState PageState { get; set; }
diff --git a/Oqtane.Client/UI/RenderModeBoundary.razor b/Oqtane.Client/UI/RenderModeBoundary.razor
index 4e83b473..56833e47 100644
--- a/Oqtane.Client/UI/RenderModeBoundary.razor
+++ b/Oqtane.Client/UI/RenderModeBoundary.razor
@@ -36,6 +36,9 @@
@code {
+ // this component is on the interactive side of the render mode boundary
+ // it receives state as serializable parameters so that the state can be made available to downstream components
+
private Type ModuleType { get; set; }
RenderFragment DynamicComponent { get; set; }
diff --git a/Oqtane.Client/UI/StreamRenderingDisabled.razor b/Oqtane.Client/UI/StreamRenderingDisabled.razor
new file mode 100644
index 00000000..9b161585
--- /dev/null
+++ b/Oqtane.Client/UI/StreamRenderingDisabled.razor
@@ -0,0 +1,21 @@
+@attribute [StreamRendering(false)]
+
+@if (PageState.RenderMode == RenderModes.Interactive || ModuleState.RenderMode == RenderModes.Static)
+{
+
+}
+else
+{
+
+}
+
+@code {
+ [Parameter]
+ public SiteState SiteState { get; set; }
+
+ [Parameter]
+ public PageState PageState { get; set; }
+
+ [Parameter]
+ public Module ModuleState { get; set; }
+}
diff --git a/Oqtane.Client/UI/StreamRenderingEnabled.razor b/Oqtane.Client/UI/StreamRenderingEnabled.razor
new file mode 100644
index 00000000..a48bb967
--- /dev/null
+++ b/Oqtane.Client/UI/StreamRenderingEnabled.razor
@@ -0,0 +1,21 @@
+@attribute [StreamRendering(true)]
+
+@if (PageState.RenderMode == RenderModes.Interactive || ModuleState.RenderMode == RenderModes.Static)
+{
+
+}
+else
+{
+
+}
+
+@code {
+ [Parameter]
+ public SiteState SiteState { get; set; }
+
+ [Parameter]
+ public PageState PageState { get; set; }
+
+ [Parameter]
+ public Module ModuleState { get; set; }
+}