001. Chapter 1. Starting your Blazor journey
002. Chapter 1. Components, a better way to build UI
003. Chapter 1. Blazor, a platform for building modern UIs with C
004. Chapter 1. Blazor WebAssembly
005. Chapter 1. Blazor Server Part 1
006. Chapter 1. Blazor Server Part 2
007. Chapter 2. Your first Blazor app
008. Chapter 2. Building and running the application
009. Chapter 2. Program.cs
010. Chapter 2. Writing your first components
011. Chapter 2. Defining the layout
012. Chapter 2. The Blazing Trails home page
013. Chapter 3. Working with Blazors component model
014. Chapter 3. Component life cycle methods
015. Chapter 3. Working with parent and child components
016. Chapter 3. Styling components
017. Chapter 3. Using CSS preprocessors Part 1
018. Chapter 3. Using CSS preprocessors Part 2
019. Chapter 4. Routing
020. Chapter 4. Navigating between pages programmatically
021. Chapter 4. Handling multiple routes with a single component
022. Chapter 4. Setting query-string values
023. Chapter 5. Forms and validation Part 1 Fundamentals
024. Chapter 5. Collecting data with input components
025. Chapter 5. Validating the model
026. Chapter 5. Configuring Blazor to use Fluent Validation
027. Chapter 5. Submitting data to the server
028. Chapter 5. Creating a request and handler to post the form data to the API
029. Chapter 6. Forms and validation Part 2 Beyond the basics
030. Chapter 6. Building custom input components with InputBase
031. Chapter 6. Working with files
032. Chapter 6. Updating the form to allow editing
033. Chapter 6. Adding the edit trail feature Part 1
034. Chapter 6. Adding the edit trail feature Part 2
035. Chapter 7. Creating more reusable components
036. Chapter 7. Sharing components with Razor class libraries
037. Chapter 8. Integrating with JavaScript libraries
038. Chapter 8. Testing out the RouteMap component
039. Chapter 8. Integrating the RouteMap component with the TrailForm Part 1
040. Chapter 8. Integrating the RouteMap component with the TrailForm Part 2
041. Chapter 9. Securing Blazor applications
042. Chapter 9. Customizing tokens from Auth0
043. Chapter 9. Displaying different UI fragments based on authentication status
044. Chapter 9. Prevent unauthorized users accessing a page
045. Chapter 9. Authorizing users by role
046. Chapter 9. Implementing role-based logic
047. Chapter 10. Managing state
048. Chapter 10. Improving the AppState design to handle more state
049. Chapter 10. Adding and removing trails from thefavorites list
050. Chapter 11. Testing your Blazor application
051. Chapter 11. Adding a bUnit test project
052. Chapter 11. Testing rendered markup
053. Chapter 11. Faking authentication and authorization
054. Chapter 11. Emulating JavaScript interactions