diff --git a/Client/Shared/Cells.razor b/Client/Pages/Notebook/Cells.razor
similarity index 95%
rename from Client/Shared/Cells.razor
rename to Client/Pages/Notebook/Cells.razor
index 0f236b0..45539ce 100644
--- a/Client/Shared/Cells.razor
+++ b/Client/Pages/Notebook/Cells.razor
@@ -24,7 +24,7 @@
@code {
[Parameter]
public string NotebookId { get; set; }
- private Notebook notebook;
+ private blazoract.Shared.Notebook notebook;
protected override async Task OnInitializedAsync()
{
diff --git a/Client/Shared/Cells.razor.css b/Client/Pages/Notebook/Cells.razor.css
similarity index 100%
rename from Client/Shared/Cells.razor.css
rename to Client/Pages/Notebook/Cells.razor.css
diff --git a/Client/Shared/CodeCell.razor b/Client/Pages/Notebook/CodeCell.razor
similarity index 96%
rename from Client/Shared/CodeCell.razor
rename to Client/Pages/Notebook/CodeCell.razor
index ea55994..f832af3 100644
--- a/Client/Shared/CodeCell.razor
+++ b/Client/Pages/Notebook/CodeCell.razor
@@ -1,65 +1,65 @@
-@using System.Net.Http
-@using MonacoRazor
-
-@inject HttpClient Http
-
-
-
-@code {
- [Parameter]
- public Cell Cell { get; set; }
-
- [Parameter]
- public Func OnCodeChange { get; set; }
-
- private ExecuteResult result;
- private bool isEvaluating;
-
- private string CellContent
- {
- get => Cell.Content;
- set
- {
- Cell.Content = value;
- OnCodeChange();
- }
- }
-
- private async Task RunCell()
- {
- try
- {
- isEvaluating = true;
- var request = new ExecuteRequest(Cell.NotebookId, Cell.Content);
- var response = await Http.PostAsJsonAsync("api/code/run", request);
- result = await response.Content.ReadFromJsonAsync();
- }
- finally
- {
- isEvaluating = false;
- }
- }
-
- private async Task GetCompletionsAsync(string value, Position position)
- {
- var response = await Http.PostAsJsonAsync("api/code/completions", new GetCompletionsRequest
- {
- NotebookId = Cell.NotebookId,
- Code = value,
- Column = position.Column,
- LineNumber = position.LineNumber
- });
-
- return await response.Content.ReadFromJsonAsync();
- }
-}
+@using System.Net.Http
+@using MonacoRazor
+
+@inject HttpClient Http
+
+
+
+@code {
+ [Parameter]
+ public Cell Cell { get; set; }
+
+ [Parameter]
+ public Func OnCodeChange { get; set; }
+
+ private ExecuteResult result;
+ private bool isEvaluating;
+
+ private string CellContent
+ {
+ get => Cell.Content;
+ set
+ {
+ Cell.Content = value;
+ OnCodeChange();
+ }
+ }
+
+ private async Task RunCell()
+ {
+ try
+ {
+ isEvaluating = true;
+ var request = new ExecuteRequest(Cell.NotebookId, Cell.Content);
+ var response = await Http.PostAsJsonAsync("api/code/run", request);
+ result = await response.Content.ReadFromJsonAsync();
+ }
+ finally
+ {
+ isEvaluating = false;
+ }
+ }
+
+ private async Task GetCompletionsAsync(string value, Position position)
+ {
+ var response = await Http.PostAsJsonAsync("api/code/completions", new GetCompletionsRequest
+ {
+ NotebookId = Cell.NotebookId,
+ Code = value,
+ Column = position.Column,
+ LineNumber = position.LineNumber
+ });
+
+ return await response.Content.ReadFromJsonAsync();
+ }
+}
diff --git a/Client/Shared/CodeCell.razor.css b/Client/Pages/Notebook/CodeCell.razor.css
similarity index 93%
rename from Client/Shared/CodeCell.razor.css
rename to Client/Pages/Notebook/CodeCell.razor.css
index 9c8e925..7cb604f 100644
--- a/Client/Shared/CodeCell.razor.css
+++ b/Client/Pages/Notebook/CodeCell.razor.css
@@ -1,63 +1,63 @@
-.code-cell {
- margin: 10px;
- border: 1px solid #bfbfbf;
-}
-
-.top {
- display: flex;
-}
-
-input {
- flex-grow: 1;
- padding: 10px;
- border: 0;
- outline: 0;
- font-family: monospace;
-}
-
-::deep .editor {
- flex-grow: 1;
- border: none;
- margin: 0;
- min-height: 150px;
-}
-
-.output {
- background-color: #eee;
- min-height: 20px;
- transition: filter 0.5s ease-in-out;
-}
- .output > ::deep div {
- padding: 10px;
- animation-name: yellowfade;
- animation-duration: 1s;
- background-color: var(--bgcol);
- }
-
-@keyframes yellowfade {
- from {
- background-color: #f5ea7f;
- }
-
- to {
- background-color: var(--bgcol);
- }
-}
-
-.loading {
- filter: brightness(0.5);
-}
-
-.toolbar {
- flex-grow: 0;
- padding: 0 10px;
-}
-
-button {
- border: none;
- background: white;
-}
-
- button:hover {
- color: #19b5fe;
- }
+.code-cell {
+ margin: 10px;
+ border: 1px solid #bfbfbf;
+}
+
+.top {
+ display: flex;
+}
+
+input {
+ flex-grow: 1;
+ padding: 10px;
+ border: 0;
+ outline: 0;
+ font-family: monospace;
+}
+
+::deep .editor {
+ flex-grow: 1;
+ border: none;
+ margin: 0;
+ min-height: 150px;
+}
+
+.output {
+ background-color: #eee;
+ min-height: 20px;
+ transition: filter 0.5s ease-in-out;
+}
+ .output > ::deep div {
+ padding: 10px;
+ animation-name: yellowfade;
+ animation-duration: 1s;
+ background-color: var(--bgcol);
+ }
+
+@keyframes yellowfade {
+ from {
+ background-color: #f5ea7f;
+ }
+
+ to {
+ background-color: var(--bgcol);
+ }
+}
+
+.loading {
+ filter: brightness(0.5);
+}
+
+.toolbar {
+ flex-grow: 0;
+ padding: 0 10px;
+}
+
+button {
+ border: none;
+ background: white;
+}
+
+ button:hover {
+ color: #19b5fe;
+ }
diff --git a/Client/Shared/NewCell.razor b/Client/Pages/Notebook/NewCell.razor
similarity index 100%
rename from Client/Shared/NewCell.razor
rename to Client/Pages/Notebook/NewCell.razor
diff --git a/Client/Shared/NewCell.razor.css b/Client/Pages/Notebook/NewCell.razor.css
similarity index 100%
rename from Client/Shared/NewCell.razor.css
rename to Client/Pages/Notebook/NewCell.razor.css
diff --git a/Client/Pages/Notebook.razor b/Client/Pages/Notebook/Notebook.razor
similarity index 100%
rename from Client/Pages/Notebook.razor
rename to Client/Pages/Notebook/Notebook.razor
diff --git a/Client/Shared/OutputDisplays/ArrayDisplay.razor b/Client/Pages/Notebook/OutputDisplays/ArrayDisplay.razor
similarity index 100%
rename from Client/Shared/OutputDisplays/ArrayDisplay.razor
rename to Client/Pages/Notebook/OutputDisplays/ArrayDisplay.razor
diff --git a/Client/Shared/OutputDisplays/ArrayDisplay.razor.css b/Client/Pages/Notebook/OutputDisplays/ArrayDisplay.razor.css
similarity index 100%
rename from Client/Shared/OutputDisplays/ArrayDisplay.razor.css
rename to Client/Pages/Notebook/OutputDisplays/ArrayDisplay.razor.css
diff --git a/Client/Shared/OutputDisplays/ErrorDisplay.razor b/Client/Pages/Notebook/OutputDisplays/ErrorDisplay.razor
similarity index 100%
rename from Client/Shared/OutputDisplays/ErrorDisplay.razor
rename to Client/Pages/Notebook/OutputDisplays/ErrorDisplay.razor
diff --git a/Client/Shared/OutputDisplays/ErrorDisplay.razor.css b/Client/Pages/Notebook/OutputDisplays/ErrorDisplay.razor.css
similarity index 100%
rename from Client/Shared/OutputDisplays/ErrorDisplay.razor.css
rename to Client/Pages/Notebook/OutputDisplays/ErrorDisplay.razor.css
diff --git a/Client/Shared/OutputDisplays/FallbackDisplay.razor b/Client/Pages/Notebook/OutputDisplays/FallbackDisplay.razor
similarity index 100%
rename from Client/Shared/OutputDisplays/FallbackDisplay.razor
rename to Client/Pages/Notebook/OutputDisplays/FallbackDisplay.razor
diff --git a/Client/Shared/OutputDisplays/OutputDisplay.razor b/Client/Pages/Notebook/OutputDisplays/OutputDisplay.razor
similarity index 88%
rename from Client/Shared/OutputDisplays/OutputDisplay.razor
rename to Client/Pages/Notebook/OutputDisplays/OutputDisplay.razor
index 6033e34..20e8809 100644
--- a/Client/Shared/OutputDisplays/OutputDisplay.razor
+++ b/Client/Pages/Notebook/OutputDisplays/OutputDisplay.razor
@@ -2,19 +2,19 @@
{
if (Result.OutputType == "error")
{
-
+
}
else if (_deserializedOutput is ICollection