diff --git a/HelloBlazorServer/HelloBlazorServer/Components/Pages/QGGetStarted.razor b/HelloBlazorServer/HelloBlazorServer/Components/Pages/QGGetStarted.razor index abf3c55..6cb833c 100644 --- a/HelloBlazorServer/HelloBlazorServer/Components/Pages/QGGetStarted.razor +++ b/HelloBlazorServer/HelloBlazorServer/Components/Pages/QGGetStarted.razor @@ -1,23 +1,79 @@ @page "/qggetStarted" @rendermode RenderMode.InteractiveServer - - - - - +
+ + +
+ + + @context.LastName, @context.FirstName + +
+
+ + + + + + + + + +
+
+ +

@message

@code { - record Person(int PersonId, string Name, DateOnly BirthDate); + string message = string.Empty; + + record Person(int PersonId, string Name, DateOnly BirthDate, string FlagCode) + { + public string FirstName + { + get + { + string[] tmp = Name.Split(" "); + if (tmp == null || tmp.Length != 2) + return ""; + + return tmp[0]; + } + } + + public string LastName + { + get + { + string[] tmp = Name.Split(" "); + if (tmp == null || tmp.Length != 2) + return ""; + + return tmp[1]; + } + } + } IQueryable people = new[] { - new Person(10895, "Jean Martin", new DateOnly(1985, 3, 16)), - new Person(10944, "António Langa", new DateOnly(1991, 12, 1)), - new Person(11203, "Julie Smith", new DateOnly(1958, 10, 10)), - new Person(11205, "Nur Sari", new DateOnly(1922, 4, 27)), - new Person(11898, "Jose Hernandez", new DateOnly(2011, 5, 3)), - new Person(12130, "Kenji Sato", new DateOnly(2004, 1, 9)), + new Person(10895, "Jean Martin", new DateOnly(1985, 3, 16), "flag1"), + new Person(10944, "António Langa", new DateOnly(1991, 12, 1), "flag2"), + new Person(11203, "Julie Smith", new DateOnly(1958, 10, 10), "flag3"), + new Person(11205, "Nur Sari", new DateOnly(1922, 4, 27), "flag4"), + new Person(11898, "Jose Hernandez", new DateOnly(2011, 5, 3), "flag5"), + new Person(12130, "Kenji Sato", new DateOnly(2004, 1, 9), "flag6"), }.AsQueryable(); + int ComputeAge(DateOnly birthDate) + { + return DateTime.Now.Year - birthDate.Year - (birthDate.DayOfYear < DateTime.Now.DayOfYear ? 0 : 1); + } + + GridSort sortByName = GridSort + .ByAscending(p => p.LastName) + .ThenAscending(p => p.FirstName); + + void Hire(Person p) => message = $"You want to hire {p.FirstName} {p.LastName}"; + void Fire(Person p) => message = $"You want to fire {p.FirstName} {p.LastName}"; } \ No newline at end of file diff --git a/HelloBlazorServer/HelloBlazorServer/Components/Pages/QGGetStarted.razor.css b/HelloBlazorServer/HelloBlazorServer/Components/Pages/QGGetStarted.razor.css new file mode 100644 index 0000000..424f494 --- /dev/null +++ b/HelloBlazorServer/HelloBlazorServer/Components/Pages/QGGetStarted.razor.css @@ -0,0 +1,25 @@ +/* Stripe effect */ +::deep tbody tr { + background-color: rgba(0,0,0,0.04); +} + + ::deep tbody tr:nth-child(even) { + background: rgba(255,255,255,0.4); + } + +/* Button styles*/ +button { + background: #4969ee; + color: white; + padding: 0.2rem 1rem; + border-radius: 0.25rem; + margin: 0.25rem 0.5rem; +} + + button:hover { + background-color: #6884f9; + } + + button:active { + background-color: #192e86; + } diff --git a/HelloBlazorServer/HelloBlazorServer/HelloBlazorServer.csproj b/HelloBlazorServer/HelloBlazorServer/HelloBlazorServer.csproj index 9132424..a08b137 100644 --- a/HelloBlazorServer/HelloBlazorServer/HelloBlazorServer.csproj +++ b/HelloBlazorServer/HelloBlazorServer/HelloBlazorServer.csproj @@ -23,4 +23,17 @@ + + + + + + + + + + + + + diff --git a/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag1.svg b/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag1.svg new file mode 100644 index 0000000..0fb323e --- /dev/null +++ b/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag1.svg @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag2.svg b/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag2.svg new file mode 100644 index 0000000..a1ccd0b --- /dev/null +++ b/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag2.svg @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag3.svg b/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag3.svg new file mode 100644 index 0000000..eeebb79 --- /dev/null +++ b/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag3.svg @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag4.svg b/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag4.svg new file mode 100644 index 0000000..0775089 --- /dev/null +++ b/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag4.svg @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag5.svg b/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag5.svg new file mode 100644 index 0000000..1e1e90c --- /dev/null +++ b/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag5.svg @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag6.svg b/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag6.svg new file mode 100644 index 0000000..ee83cc1 --- /dev/null +++ b/HelloBlazorServer/HelloBlazorServer/wwwroot/flags/flag6.svg @@ -0,0 +1,4 @@ + \ No newline at end of file