diff --git a/src/SignsOfAI.UI/Components/TaskEntry.razor b/src/SignsOfAI.UI/Components/TaskEntry.razor new file mode 100644 index 0000000..40579b2 --- /dev/null +++ b/src/SignsOfAI.UI/Components/TaskEntry.razor @@ -0,0 +1,72 @@ +@* The front door, organised by what the reader came to do rather than by which engine runs. + + The pages behind this already speak the right language — the baseline page's own heading is + literally "Does this look like the person who wrote the others?" — but the navigation hid every + one of them behind the name of its machinery: Analyse, Originality, Baseline, Catalogue, Folder. + A teacher does not arrive wanting a baseline. They arrive with thirty essays and one that felt + wrong, and nothing on the page told them which of the five things was theirs. + + Deliberately not a wizard and deliberately not a filter. It routes and it explains; the editor is + still directly below, so the person who came to paste a paragraph loses one short band of page + and nothing else. The current task is shown rather than hidden, because a chooser that omits + where you already are makes the reader wonder what they missed. + + The folder card always links, including in a browser where scanning a folder is impossible: that + page states why and points at the download. Hiding the card would leave the browser visitor + believing the product cannot do it at all, which is the lowest-common-denominator answer + HostCapabilities exists to avoid. *@ +@inherits LocalizedComponent +@inject IFolderBatch Folders + + + +@code { + /// Which of the four the reader is already on. Empty on a page that is none of them. + [Parameter] public string Current { get; set; } = ""; + + private sealed record Task(string Key, string Href); + + // Ordered by how often a teacher's week starts there, not by how the code is arranged: the stack + // of submissions comes before the single text, because the single text is usually the second + // step of the same afternoon. + private static readonly Task[] Tasks = + [ + new("text", ""), + new("folder", "batch"), + new("person", "baseline"), + new("overlap", "originality"), + ]; +} diff --git a/src/SignsOfAI.UI/Layout/MainLayout.razor b/src/SignsOfAI.UI/Layout/MainLayout.razor index ac0c856..8c72654 100644 --- a/src/SignsOfAI.UI/Layout/MainLayout.razor +++ b/src/SignsOfAI.UI/Layout/MainLayout.razor @@ -10,15 +10,16 @@ @L["nav.builtwith"] diff --git a/src/SignsOfAI.UI/Pages/Home.razor b/src/SignsOfAI.UI/Pages/Home.razor index 17ce2c1..49405e8 100644 --- a/src/SignsOfAI.UI/Pages/Home.razor +++ b/src/SignsOfAI.UI/Pages/Home.razor @@ -22,6 +22,11 @@

@L["home.privacy"]

+@* Between the claim and the editor, because the reader who came to paste a paragraph should still + see the box without scrolling, and the one who came with thirty essays should not have to guess + that "Baseline" in the navigation was theirs. *@ + +