Home page is really serving. Also, we have found THE bootswatch that I'm happy with for the entirety of the webpage so that has been adjusted.

This commit is contained in:
Kira Jiroux 2025-06-20 17:11:35 -04:00
parent b8bc2fdfbe
commit a4a22ed586
19 changed files with 13978 additions and 225 deletions

View File

@ -1,6 +1,7 @@
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Identity.Client;
using Portfolio.Application.Services.Articles; using Portfolio.Application.Services.Articles;
using Portfolio.Application.Services.NWSWeatherService; using Portfolio.Application.Services.NWSWeatherService;
using Portfolio.Application.Services.PokemonService; using Portfolio.Application.Services.PokemonService;

View File

@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<base href="/" /> <base href="/" />
<link rel="stylesheet" href="bootstrap/bootstrap-brite.css" /> <!-- app.css --> <link rel="stylesheet" href="bootstrap/bootstrap-pulse.css" /> <!-- app.css -->
<link rel="stylesheet" href="Portfolio.WebUI.Server.styles.css" /> <link rel="stylesheet" href="Portfolio.WebUI.Server.styles.css" />
<link rel="icon" type="image/png" href="favicon.png" /> <link rel="icon" type="image/png" href="favicon.png" />

View File

@ -78,7 +78,7 @@
<div class="row align-items-center mb-2 ms-1"> <div class="row align-items-center mb-2 ms-1">
<div class="col-6 text-end pe-2"> <div class="col-6 text-end pe-2">
<label class="form-label mb-0"> <label class="form-label mb-0 text-nowrap">
@TempRanges[i].Min&deg; @TempRanges[i].Max&deg; @TempRanges[i].Min&deg; @TempRanges[i].Max&deg;
</label> </label>
</div> </div>

View File

@ -15,7 +15,7 @@
<div class="text-center position-relative"> <div class="text-center position-relative">
<input class="form-control position-absolute top-0 start-0 border-0 w-25" placeholder="Search Pokémon..." @bind="SearchTerm" @oninput="HandleSearch" /> <input class="form-control position-absolute top-0 start-0 border-0 w-25" placeholder="Search Pokémon..." @bind="SearchTerm" @oninput="HandleSearch" />
<h2 class="text-info text-decoration-underline">Available Pokémon</h2> <h2 class="text-white text-decoration-underline">Available Pokémon</h2>
<div class="m-1 badge bg-info position-absolute top-0 end-0 border-0"><p class="statText">@(pokemons.Count()) Pokémon</p></div> <div class="m-1 badge bg-info position-absolute top-0 end-0 border-0"><p class="statText">@(pokemons.Count()) Pokémon</p></div>
</div> </div>
</div> </div>

View File

@ -1,33 +1,33 @@
<div class="navbar navbar-expand bg-primary border-0"> <div class="navbar navbar-expand bg-primary border-0">
<div class="d-flex align-items-center mb-3 mb-md-0 me-md-auto link-light text-decoration-none px-2"> <div class="d-flex align-items-center mb-3 mb-md-0 me-md-auto link-light text-decoration-none px-3">
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#FFFFFF" class="bi bi-arrow-through-heart" viewBox="0 0 16 16" style="cursor: pointer;"> <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#FFFFFF" class="bi bi-arrow-through-heart" viewBox="0 0 16 16" style="cursor: pointer;">
<path fill-rule="evenodd" d="M2.854 15.854A.5.5 0 0 1 2 15.5V14H.5a.5.5 0 0 1-.354-.854l1.5-1.5A.5.5 0 0 1 2 11.5h1.793l.53-.53c-.771-.802-1.328-1.58-1.704-2.32-.798-1.575-.775-2.996-.213-4.092C3.426 2.565 6.18 1.809 8 3.233c1.25-.98 2.944-.928 4.212-.152L13.292 2 12.147.854A.5.5 0 0 1 12.5 0h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.854.354L14 2.707l-1.006 1.006c.236.248.44.531.6.845.562 1.096.585 2.517-.213 4.092-.793 1.563-2.395 3.288-5.105 5.08L8 13.912l-.276-.182a22 22 0 0 1-2.685-2.062l-.539.54V14a.5.5 0 0 1-.146.354zm2.893-4.894A20.4 20.4 0 0 0 8 12.71c2.456-1.666 3.827-3.207 4.489-4.512.679-1.34.607-2.42.215-3.185-.817-1.595-3.087-2.054-4.346-.761L8 4.62l-.358-.368c-1.259-1.293-3.53-.834-4.346.761-.392.766-.464 1.845.215 3.185.323.636.815 1.33 1.519 2.065l1.866-1.867a.5.5 0 1 1 .708.708z" /> <path fill-rule="evenodd" d="M2.854 15.854A.5.5 0 0 1 2 15.5V14H.5a.5.5 0 0 1-.354-.854l1.5-1.5A.5.5 0 0 1 2 11.5h1.793l.53-.53c-.771-.802-1.328-1.58-1.704-2.32-.798-1.575-.775-2.996-.213-4.092C3.426 2.565 6.18 1.809 8 3.233c1.25-.98 2.944-.928 4.212-.152L13.292 2 12.147.854A.5.5 0 0 1 12.5 0h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.854.354L14 2.707l-1.006 1.006c.236.248.44.531.6.845.562 1.096.585 2.517-.213 4.092-.793 1.563-2.395 3.288-5.105 5.08L8 13.912l-.276-.182a22 22 0 0 1-2.685-2.062l-.539.54V14a.5.5 0 0 1-.146.354zm2.893-4.894A20.4 20.4 0 0 0 8 12.71c2.456-1.666 3.827-3.207 4.489-4.512.679-1.34.607-2.42.215-3.185-.817-1.595-3.087-2.054-4.346-.761L8 4.62l-.358-.368c-1.259-1.293-3.53-.834-4.346.761-.392.766-.464 1.845.215 3.185.323.636.815 1.33 1.519 2.065l1.866-1.867a.5.5 0 1 1 .708.708z" />
</svg> </svg>
<span class="fs-4 mx-1 text-white">Kira Jiroux</span> <span class="fs-4 mx-2 text-white">Kira Jiroux</span>
</div> </div>
<ul class="navbar-nav"> <ul class="navbar-nav">
<li class="nav-item"> <li class="nav-item">
<NavLink class="nav-link" href="" Match="NavLinkMatch.All"> <NavLink class="nav-link d-flex align-items-center" href="" Match="NavLinkMatch.All">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-house-heart-fill mb-1" viewBox="0 0 16 16"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="#FFFFFF" class="bi bi-house-heart-fill" viewBox="0 0 16 16">
<path d="M7.293 1.5a1 1 0 0 1 1.414 0L11 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l2.354 2.353a.5.5 0 0 1-.708.707L8 2.207 1.354 8.853a.5.5 0 1 1-.708-.707z" /> <path d="M7.293 1.5a1 1 0 0 1 1.414 0L11 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l2.354 2.353a.5.5 0 0 1-.708.707L8 2.207 1.354 8.853a.5.5 0 1 1-.708-.707z" />
<path d="m14 9.293-6-6-6 6V13.5A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5zm-6-.811c1.664-1.673 5.825 1.254 0 5.018-5.825-3.764-1.664-6.691 0-5.018" /> <path d="m14 9.293-6-6-6 6V13.5A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5zm-6-.811c1.664-1.673 5.825 1.254 0 5.018-5.825-3.764-1.664-6.691 0-5.018" />
</svg> <span class="mx-2 mt-0">Home</span> </svg> <span class="mx-2 mt-0 text-white">Home</span>
</NavLink> </NavLink>
</li> </li>
<li> <li>
<NavLink class="nav-link" href="temperature-blanket"> <NavLink class="nav-link d-flex align-items-center" href="temperature-blanket">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-border-outer" viewBox="0 0 16 16"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="#FFFFFF" class="bi bi-border-outer" viewBox="0 0 16 16">
<path d="M7.5 1.906v.938h1v-.938zm0 1.875v.938h1V3.78h-1zm0 1.875v.938h1v-.938zM1.906 8.5h.938v-1h-.938zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5zm.937 0h.938v-1h-.938zm1.875 0h.938v-1h-.938zm1.875 0h.938v-1h-.938zM7.5 9.406v.938h1v-.938zm0 1.875v.938h1v-.938zm0 1.875v.938h1v-.938z" /> <path d="M7.5 1.906v.938h1v-.938zm0 1.875v.938h1V3.78h-1zm0 1.875v.938h1v-.938zM1.906 8.5h.938v-1h-.938zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5zm.937 0h.938v-1h-.938zm1.875 0h.938v-1h-.938zm1.875 0h.938v-1h-.938zM7.5 9.406v.938h1v-.938zm0 1.875v.938h1v-.938zm0 1.875v.938h1v-.938z" />
<path d="M0 0v16h16V0zm1 1h14v14H1z" /> <path d="M0 0v16h16V0zm1 1h14v14H1z" />
</svg><span class="mx-2 mt-0">Crochet</span> </svg><span class="mx-2 mt-0 text-white">Crochet</span>
</NavLink> </NavLink>
</li> </li>
<li> <li>
<NavLink class="nav-link" href="pokemonsleep"> <NavLink class="nav-link d-flex align-items-center" href="pokemonsleep">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-p-circle-fill" viewBox="0 0 16 16"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="#FFFFFF" class="bi bi-p-circle-fill" viewBox="0 0 16 16">
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M5.5 4.002V12h1.283V9.164h1.668C10.033 9.164 11 8.08 11 6.586c0-1.482-.955-2.584-2.538-2.584zm2.77 4.072c.893 0 1.419-.545 1.419-1.488s-.526-1.482-1.42-1.482H6.778v2.97z" /> <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M5.5 4.002V12h1.283V9.164h1.668C10.033 9.164 11 8.08 11 6.586c0-1.482-.955-2.584-2.538-2.584zm2.77 4.072c.893 0 1.419-.545 1.419-1.488s-.526-1.482-1.42-1.482H6.778v2.97z" />
</svg> <span class="mx-2 mt-0">Pokémon Sleep</span> </svg> <span class="mx-2 mt-0 text-white">Pokémon Sleep</span>
</NavLink> </NavLink>
</li> </li>

View File

@ -4,9 +4,7 @@
@rendermode InteractiveServer @rendermode InteractiveServer
<PageTitle>Crochet Tools</PageTitle> <PageTitle>Crochet Tools</PageTitle>
<head>
<link rel="stylesheet" href="bootstrap/bootstrap-cosmo.css" /> <!-- app.css -->
</head>
<h3 class="text-xl font-bold mb-4">Crochet</h3> <h3 class="text-xl font-bold mb-4">Crochet</h3>
<div class=""> <div class="">

View File

@ -1,52 +1,64 @@
@page "/" @page "/"
@inject IHttpClientFactory ClientFactory
@attribute [StreamRendering]
@rendermode InteractiveServer
<PageTitle>Home</PageTitle> <PageTitle>Home</PageTitle>
<div class="container d-none d-md-block mt-5 pt-3 pb-5 ps-5 pe-5 "> <div class="container d-none d-lg-block mt-5 pt-3 pb-5 ps-5 pe-5 ">
<h1 class="fst-italic fw-light fs-1 font-monospace">Hello, World!</h1> <h1 class="fst-italic fw-light fs-1 font-monospace">Hello, World!</h1>
<div class="row">
<div class="col-auto"> <!-- Start of Grid -->
<div class="card" style="width: 18em;"> <div class="row mb-3">
<img class="card-img" src="https://i.pinimg.com/736x/54/63/ed/5463ed9471053712a76c0dd0b301a7ea.jpg" /> <div class="col-auto ">
<img class="card-img rounded-3" style="width: 18em;" src="https://i.pinimg.com/736x/54/63/ed/5463ed9471053712a76c0dd0b301a7ea.jpg" />
</div> </div>
</div> <div class="col ">
<div class="col"> <!-- About Me-->
<div class="row card fs-4 mb-3 p-2 ps-3 pe-3 border-0"> <div class="row card rounded fs-5 mb-3 p-2 ps-3 pe-3 border-0">
I am a full-stack web developer with additional I am a full-stack web developer with additional
experience in Data Analysis and Visualization, as well as experience in Data Analysis and Visualization, as well as
Simulation/ VR development, and AI/ ML programming. Simulation/VR development, and AI/ML programming.
I am a friendly team worker with strong analytical, math I am a friendly team worker with strong analytical, math
and problem-solving skills that adapts well to an and problem-solving skills that adapts well to an
Agile/SCRUM environment and development lifecycle. Agile/SCRUM environment and development lifecycle.
</div> </div>
<div class="row ">
<div class="col"> <div class="row">
<div class="card mb-3 p-2 ps-3 pe-3 border border-1 border-primary"> <!-- School Experience -->
<p class="fs-6 fw-lighter card-subtitle m-0">September 2018 March 2022</p> <div class="col ">
<p class="fs-4 card-title m-0">B.S. in Computer Science</p> <div class="card rounded p-2 ps-3 pe-3 border border-1 border-primary">
<p class="fs-6 fw-lighter card-subtitle p-0">September 2018 March 2022</p>
<p class="fs-5 card-title m-0">B.S. in Computer Science</p>
<p class="fs-6 fw-lighter card-subtitle">Oregon State University</p> <p class="fs-6 fw-lighter card-subtitle">Oregon State University</p>
<p class="fs-6 fw-lighter card-subtitle">Graduated Cum Laude</p> <p class="fs-6 fw-lighter card-subtitle">Graduated Cum Laude</p>
<p class="fs-6 fw-lighter card-subtitle">Deans List: Fall 2020, Fall 2021</p> <p class="fs-6 fw-lighter card-subtitle">Deans List: Fall 2020, Fall 2021</p>
<p class="fs-6 fw-lighter card-subtitle">Final GPA: 3.33</p> <p class="fs-6 fw-lighter card-subtitle">Final GPA: 3.33</p>
@* <label>Courses</label> <!-- Courses -->
<label class="text-decoration-underline fw-semibold">Courses</label>
<div class="overflow-auto" style="height: auto; max-height: 12rem">
<ul class="list-group list-group-flush"> <ul class="list-group list-group-flush">
<li class="list-group-item fs-6 fw-lighter">Advanced Web Development</li> @if (courses == null)
<li class="list-group-item fs-6 fw-lighter">Operating Systems</li> {
<li class="list-group-item fs-6 fw-lighter">Game Development</li> <div>Loading...</div>
<li class="list-group-item fs-6 fw-lighter">Parallel Programming</li> }
<li class="list-group-item fs-6 fw-lighter">VR \ AR Development</li> else
<li class="list-group-item fs-6 fw-lighter">Artificial Intelligence</li> {
<li class="list-group-item fs-6 fw-lighter">Machine Learning</li> <ul class="list-group list-group-flush">
<li class="list-group-item fs-6 fw-lighter">Computer Graphics</li> @foreach (var course in courses)
<li class="list-group-item fs-6 fw-lighter">Data Visualization</li> {
<li class="list-group-item fs-6 fw-lighter">Database Management</li> <li class="list-group-item">@course</li>
<li class="list-group-item fs-6 fw-lighter">Analysis of Algorithms</li> }
<li class="list-group-item fs-6 fw-lighter">VR \ AR Development</li> </ul>
</ul> *@ }
</ul>
</div>
</div> </div>
<div class="ps-3 pe-3"> @* <div class="ps-3 pe-3">
<ul class="list-group list-group-flush"> <ul class="list-group list-group-flush">
<li class="">Organized</li> <li class="">Organized</li>
<li class="">Responsible</li> <li class="">Responsible</li>
@ -54,62 +66,200 @@
<li class="">Analytical</li> <li class="">Analytical</li>
<li class="">Self-motivating</li> <li class="">Self-motivating</li>
</ul> </ul>
</div> *@
</div> </div>
</div>
<div class="col ">
<div class="bg-white rounded p-2 border border-1 border-primary">
<div class="card-header fs-3">
Skills \ Languages
</div>
<div class="overflow-auto" style="max-height: 15rem">
<ul class="list-group list-group-flush">
<li class="list-group-item">C# / C++ / C</li>
<li class="list-group-item">ASP.NET / .NET Core</li>
<li class="list-group-item">Blazor WASM</li>
<li class="list-group-item">React</li>
<li class="list-group-item">Java</li>
<li class="list-group-item">JavaScript</li>
<li class="list-group-item">HTML / CSS</li>
<li class="list-group-item">SQL / MYSQL / MSSQL</li>
<li class="list-group-item">JSON / XML</li>
<li class="list-group-item">Python</li>
<li class="list-group-item">Swift</li>
<li class="list-group-item">TypeScript</li>
<li class="list-group-item">MATLAB</li>
<li class="list-group-item">R</li>
<li class="list-group-item">LaTeX</li>
</ul> <!--Skills \ Languages-->
</div>
</div>
</div>
<div class="col "> <div class="col ">
<div class="bg-white rounded p-2 border border-1 border-primary"> <div class="bg-white rounded p-2 border border-1 border-primary" >
<div class="card-header fs-3"> <div class="card-header">
Technology <label class="text-decoration-underline fw-semibold">Skills \ Languages</label>
</div> </div>
<div class="overflow-auto" style="max-height: 15rem"> <div class="overflow-auto" style="max-height: 20rem">
@if (skills == null)
{
<div>Loading...</div>
}
else
{
<ul class="list-group list-group-flush"> <ul class="list-group list-group-flush">
<li class="list-group-item">MS Visual Studio 2022</li> @foreach (var skill in skills)
<li class="list-group-item">Git / GitHub / GitLab</li> {
<li class="list-group-item">RESTful API</li> <li class="list-group-item">@skill</li>
<li class="list-group-item">Docker</li> }
<li class="list-group-item">Terraform</li>
<li class="list-group-item">Jira</li>
<li class="list-group-item">Linux / UNIX</li>
<li class="list-group-item">SQL / MYSQL / MSSQL</li>
<li class="list-group-item">Unreal Engine</li>
<li class="list-group-item">Unity</li>
<li class="list-group-item">Blendr</li>
<li class="list-group-item">Windows, Android & iOS</li>
<li class="list-group-item">Gephi</li>
<li class="list-group-item">Excel / Microsoft Office Suite</li>
<li class="list-group-item">Figma</li>
</ul> </ul>
}
</div> </div>
</div> </div>
</div> </div>
<!-- Tools -->
<div class="col ">
<div class="bg-white rounded p-2 border border-1 border-primary">
<div class="card-header">
<label class="text-decoration-underline fw-semibold">Tools</label>
</div>
<div class="overflow-auto" style="max-height: 20rem">
@if (tools == null)
{
<div>Loading...</div>
}
else
{
<ul class="list-group list-group-flush">
@foreach (var tool in tools)
{
<li class="list-group-item">@tool</li>
}
</ul>
}
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row ">
<div class="col card border-0 rounded rounded-4 pt-3 pb-3">
<!-- Button Bay-->
<div class="row ">
<div class="d-grid gap-2 d-md-flex justify-content-md-around">
<button class="btn rounded-4 w-25 @(isExperience ? "btn-primary" : "btn-outline-primary")" type="button" @onclick="() => ToggleExperience()">Experience</button>
<button class="btn rounded-4 w-25 @(isProjects ? "btn-primary" : "btn-outline-primary")" type="button" @onclick="() => ToggleProjects()">Projects</button>
</div>
</div>
<div class="row">
<div class="col">
@if (isExperience)
{
<div class="row justify-content-md-center fst-italic fs-1">Experience</div>
<div class="row card">
<div>Stuff</div>
</div>
}
else if (isProjects)
{
<div class="row justify-content-md-center fst-italic fs-1">Projects</div>
<div class="row card">
<div>Stuff</div>
</div>
}
</div>
</div>
</div>
</div>
</div>
<!-- Desktop B: Tablet View -->
<div class="container d-none d-md-block d-lg-none mt-4 pt-3 pb-4 ">
<h1 class="fst-italic fw-light fs-1 font-monospace">Hello, World!</h1>
<div class="row">
<div class="card rounded p-3 border-0">
<div class="clearfix">
<img src="https://i.pinimg.com/736x/54/63/ed/5463ed9471053712a76c0dd0b301a7ea.jpg"
class="mobile-profile float-start me-3 mb-2"
style="width: 10em;
height: 10em;
object-fit: cover;
border-radius: 0.5rem;" />
<p class="fs-6 mb-0">
I am a full-stack web developer with additional experience in Data Analysis and Visualization,
as well as Simulation/ VR development, and AI/ ML programming. I am a friendly team worker with
strong analytical, math and problem-solving skills that adapts well to an Agile/SCRUM environment
and development lifecycle.
</p>
</div>
</div>
</div>
<div class="row mt-3">
<!-- School Experience -->
<div class="col me-1">
<div class="row bg-white rounded p-2 ps-3 pe-3 border border-1 border-primary">
<p class="fs-6 fw-lighter card-subtitle p-0">September 2018 March 2022</p>
<p class="fs-5 card-title m-0 p-0">B.S. in Computer Science</p>
<p class="fs-6 fw-lighter card-subtitle p-0">Oregon State University</p>
<p class="fs-6 fw-lighter card-subtitle p-0">Graduated Cum Laude</p>
<p class="fs-6 fw-lighter card-subtitle p-0">Deans List: Fall 2020, Fall 2021</p>
<p class="fs-6 fw-lighter card-subtitle p-0">Final GPA: 3.33</p>
<!-- Courses -->
<label class="text-decoration-underline p-0">Courses</label>
<div class="overflow-auto p-0" style="max-height: 10rem">
<ul class="list-group list-group-flush">
@if (courses == null)
{
<div>Loading...</div>
}
else
{
<ul class="list-group list-group-flush">
@foreach (var course in courses)
{
<li class="list-group-item">@course</li>
}
</ul>
}
</ul>
</div>
</div
</div>
<div class="col ms-1">
<!--Skills \ Languages-->
<div class="row bg-white rounded p-2 border border-1 border-primary mb-2">
<div class="card-header">
<label class="text-decoration-underline">Skills \ Languages</label>
</div>
<div class="overflow-auto p-0" style="max-height: 8rem">
@if (skills == null)
{
<div>Loading...</div>
}
else
{
<ul class="list-group list-group-flush">
@foreach (var skill in skills)
{
<li class="list-group-item">@skill</li>
}
</ul>
}
</div>
</div>
<!-- Tools -->
<div class="row bg-white rounded p-2 border border-1 border-primary">
<div class="card-header">
<label class="text-decoration-underline">Tools</label>
</div>
<div class="overflow-auto p-0" style="max-height: 8rem">
@if (tools == null)
{
<div>Loading...</div>
}
else
{
<ul class="list-group list-group-flush">
@foreach (var tool in tools)
{
<li class="list-group-item">@tool</li>
}
</ul>
}
</div>
</div> </div>
</div> </div>
</div> </div>
@ -117,38 +267,35 @@
<!-- Desktop B: Mobile View --> <!-- Desktop C: Mobile View -->
<div class="container card border-0 d-block d-md-none mx-auto mt-4 shadow-sm pb-2"> <div class="container card border-0 d-block d-md-none mx-auto mt-4 shadow-sm pb-2">
<h1 class="fst-italic fw-light fs-1 font-monospace">Hello, World!</h1> <h1 class="fst-italic fw-light fs-1 font-monospace">Hello, World!</h1>
<div class="row"> <div class="row">
<div class="col-auto"> <div class="card p-3 border-0">
<div class="card" style="width: 10em;"> <div class="clearfix">
<img class="card-img" src="https://i.pinimg.com/736x/54/63/ed/5463ed9471053712a76c0dd0b301a7ea.jpg" /> <img src="https://i.pinimg.com/736x/54/63/ed/5463ed9471053712a76c0dd0b301a7ea.jpg"
</div> class="mobile-profile float-start me-3 mb-2" />
</div>
<div class="col"> <p class="fs-6 mb-0">
<div class="card fs-6 mb-3 p-2 ps-1 pe-1 border-0"> I am a full-stack web developer with additional experience in Data Analysis and Visualization,
I am a full-stack web developer with additional as well as Simulation/ VR development, and AI/ ML programming. I am a friendly team worker with
experience in Data Analysis and Visualization, as well as strong analytical, math and problem-solving skills that adapts well to an Agile/SCRUM environment
Simulation/ VR development, and AI/ ML programming. and development lifecycle.
I am a friendly team worker with strong analytical, math </p>
and problem-solving skills that adapts well to an
Agile/SCRUM environment and development lifecycle.
</div> </div>
</div> </div>
</div> </div>
<div class="row mb-3 bg-info rounded rounded-5 pt-1 pb-1"> @* <div class="row mb-3 bg-info rounded rounded-5 pt-1 pb-1">
<p class="fw-lighter fs-6 text-nowrap p-0 m-auto text-center text-white"> <p class="fw-lighter fs-6 text-nowrap p-0 m-auto text-center text-white">
Organized • Responsible • Meticulous • Analytical • Self-motivating Organized • Responsible • Meticulous • Analytical • Self-motivating
</p> </p>
</div> *@
</div>
<hr class="text-primary" /> <hr class="text-primary" />
<div class="row mb-3 ms-2 me-2"> <div class="row mb-3 ms-2 me-2 ">
<div class="card p-2 ps-3 pe-3 border border-1 border-primary"> <div class="card p-2 ps-3 pe-3 border border-1 border-primary">
<p class="fs-6 fw-lighter card-subtitle m-0">September 2018 March 2022</p> <p class="fs-6 fw-lighter card-subtitle m-0">September 2018 March 2022</p>
<p class="fs-4 card-title m-0">B.S. in Computer Science</p> <p class="fs-4 card-title m-0">B.S. in Computer Science</p>
@ -160,56 +307,47 @@
</div> </div>
<div class="row mb-3 ms-2 me-2"> <div class="row mb-3 ms-2 me-2">
<div class="bg-white rounded p-2 border border-1 border-primary"> <div class="bg-primary-subtle rounded p-2 border-0">
<div class="card-header fs-3"> <div class="card-header text-bg-primary text-light fs-3">
Skills \ Languages Skills \ Languages
</div> </div>
<div class="overflow-auto" style="max-height: 15rem"> <div class="overflow-auto" style="max-height: 15rem">
@if (skills == null)
{
<div>Loading...</div>
}
else
{
<ul class="list-group list-group-flush"> <ul class="list-group list-group-flush">
<li class="list-group-item">C# / C++ / C</li> @foreach (var skill in skills)
<li class="list-group-item">ASP.NET / .NET Core</li> {
<li class="list-group-item">Blazor WASM</li> <li class="list-group-item">@skill</li>
<li class="list-group-item">React</li> }
<li class="list-group-item">Java</li>
<li class="list-group-item">JavaScript</li>
<li class="list-group-item">HTML / CSS</li>
<li class="list-group-item">SQL / MYSQL / MSSQL</li>
<li class="list-group-item">JSON / XML</li>
<li class="list-group-item">Python</li>
<li class="list-group-item">Swift</li>
<li class="list-group-item">TypeScript</li>
<li class="list-group-item">MATLAB</li>
<li class="list-group-item">R</li>
<li class="list-group-item">LaTeX</li>
</ul> </ul>
}
</div> </div>
</div> </div>
</div> </div>
<div class="row mb-3 ms-2 me-2"> <div class="row mb-3 ms-2 me-2">
<div class="bg-white rounded p-2 border border-1 border-primary"> <div class="bg-primary-subtle rounded p-2 border-0">
<div class="card-header fs-3"> <div class="card-header text-bg-primary text-light fs-3">
Technology Technology
</div> </div>
<div class="overflow-auto" style="max-height: 15rem"> <div class="overflow-auto" style="max-height: 15rem">
@if (tools == null)
{
<div>Loading...</div>
}
else
{
<ul class="list-group list-group-flush"> <ul class="list-group list-group-flush">
<li class="list-group-item">MS Visual Studio 2022</li> @foreach (var tool in tools)
<li class="list-group-item">Git / GitHub / GitLab</li> {
<li class="list-group-item">RESTful API</li> <li class="list-group-item">@tool</li>
<li class="list-group-item">Docker</li> }
<li class="list-group-item">Terraform</li>
<li class="list-group-item">Jira</li>
<li class="list-group-item">Linux / UNIX</li>
<li class="list-group-item">SQL / MYSQL / MSSQL</li>
<li class="list-group-item">Unreal Engine</li>
<li class="list-group-item">Unity</li>
<li class="list-group-item">Blendr</li>
<li class="list-group-item">Windows, Android & iOS</li>
<li class="list-group-item">Gephi</li>
<li class="list-group-item">Excel / Microsoft Office Suite</li>
<li class="list-group-item">Figma</li>
</ul> </ul>
}
</div> </div>
</div> </div>
</div> </div>

View File

@ -0,0 +1,40 @@
namespace Portfolio.WebUI.Server.Components.Pages
{
partial class Home
{
private List<string> skills;
private List<string> tools;
private List<string> courses;
private bool isExperience = true;
private bool isProjects = false;
protected override async Task OnInitializedAsync()
{
var http = ClientFactory.CreateClient("LocalClient");
skills = await http.GetFromJsonAsync<List<string>>("data/skills.json");
tools = await http.GetFromJsonAsync<List<string>>("data/tools.json");
courses = await http.GetFromJsonAsync<List<string>>("data/courses.json");
}
private void ToggleExperience()
{
if (!isExperience)
{
isExperience = true;
isProjects = false;
StateHasChanged();
}
}
private void ToggleProjects()
{
if (!isProjects)
{
isProjects = true;
isExperience = false;
StateHasChanged();
}
}
}
}

View File

@ -0,0 +1,6 @@
.mobile-profile {
width: 10em;
height: 10em;
object-fit: cover;
border-radius: 0.5rem;
}

View File

@ -8,9 +8,7 @@
<PageTitle>Edit Pokémon</PageTitle> <PageTitle>Edit Pokémon</PageTitle>
<PokemonHeader /> <PokemonHeader />
<head>
<link rel="stylesheet" href="bootstrap/bootstrap-lumen.css" /> <!-- app.css -->
</head>
@if (pokemon == null) @if (pokemon == null)
{ {

View File

@ -8,9 +8,7 @@
@attribute [StreamRendering] @attribute [StreamRendering]
@rendermode InteractiveServer @rendermode InteractiveServer
<head>
<link rel="stylesheet" href="bootstrap/bootstrap-lumen.css" /> <!-- app.css -->
</head>
<PageTitle>Rate Pokémon</PageTitle> <PageTitle>Rate Pokémon</PageTitle>

View File

@ -9,9 +9,6 @@
<PageTitle>Pokémon Sleep</PageTitle> <PageTitle>Pokémon Sleep</PageTitle>
<head>
<link rel="stylesheet" href="bootstrap/bootstrap-lumen.css" /> <!-- app.css -->
</head>
<div class="w-100"> <div class="w-100">
<!-- <PokemonBackground PokemonImages="pokemonImageUrls" ShinyPokemonImages="pokemonShinyImageUrls" /> --> <!-- <PokemonBackground PokemonImages="pokemonImageUrls" ShinyPokemonImages="pokemonShinyImageUrls" /> -->

View File

@ -6,24 +6,17 @@
<PageTitle>Pokémon Sleep</PageTitle> <PageTitle>Pokémon Sleep</PageTitle>
<head>
<link rel="stylesheet" href="bootstrap/bootstrap-lumen.css" /> <!-- app.css -->
</head>
<div class=""> <!-- <PokemonBackground PokemonImages="pokemonImageUrls" ShinyPokemonImages="pokemonShinyImageUrls" /> -->
<div class="row w-100"> <PokemonHeader />
<!-- <PokemonBackground PokemonImages="pokemonImageUrls" ShinyPokemonImages="pokemonShinyImageUrls" /> -->
<div class="row"><PokemonHeader /></div> <!-- Card -->
<div class="container card shadow-sm border-0 p-3 pb-4 mt-4 m-auto w-75 mb-5 bg-white">
<!-- Card -->
<div class="row card shadow-sm border-0 p-3 pb-4 mt-4 m-auto w-75 mb-5 bg-white">
<!-- Top Row--> <!-- Top Row-->
<div class="row d-flex flex-row"> <div class="row d-flex flex-row">
<!-- Image side --> <!-- Image side -->
<div class="col w-50 border-0 "> <div class="col-5 border-0 ">
<div>
</div>
<img class="shadow-sm w-100 m-auto img-fluid" src="images/Pokemon_Sleep_ID.jpg" /> <img class="shadow-sm w-100 m-auto img-fluid" src="images/Pokemon_Sleep_ID.jpg" />
</div> </div>
<!-- Text side --> <!-- Text side -->
@ -39,6 +32,7 @@
</div> </div>
</div> </div>
<!-- Second Row --> <!-- Second Row -->
<div class="row mt-3"> <div class="row mt-3">
<p class="fw-bold fst-italic fs-3">Okay, but why a whole section dedicated to Pokémon Sleep?</p> <p class="fw-bold fst-italic fs-3">Okay, but why a whole section dedicated to Pokémon Sleep?</p>
@ -46,31 +40,28 @@
Well, as it is in any Pokémon game, Natures (and in this case Subskills) matter, amongst other things. This was designed as a helpful tool in assessing new Pokémon acquired from Sleep Research. Well, as it is in any Pokémon game, Natures (and in this case Subskills) matter, amongst other things. This was designed as a helpful tool in assessing new Pokémon acquired from Sleep Research.
</p> </p>
</div> </div>
<!-- Button Row--> <!-- Button Row-->
<div class="row btn-group d-flex flex-row justify-content-around mt-4"> <div class="d-flex justify-content-evenly mt-4 ">
<div class="w-auto"> <button class="btn btn-info rounded-4 d-flex justify-content-center" style="width:12rem;">
<button class="btn btn-info"> <NavLink class="nav-link d-flex align-items-center" href="/pokemon">
<NavLink href="/pokemon"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-table" viewBox="0 0 16 16">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-table mb-1" viewBox="0 0 16 16">
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm15 2h-4v3h4zm0 4h-4v3h4zm0 4h-4v3h3a1 1 0 0 0 1-1zm-5 3v-3H6v3zm-5 0v-3H1v2a1 1 0 0 0 1 1zm-4-4h4V8H1zm0-4h4V4H1zm5-3v3h4V4zm4 4H6v3h4z" /> <path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm15 2h-4v3h4zm0 4h-4v3h4zm0 4h-4v3h3a1 1 0 0 0 1-1zm-5 3v-3H6v3zm-5 0v-3H1v2a1 1 0 0 0 1 1zm-4-4h4V8H1zm0-4h4V4H1zm5-3v3h4V4zm4 4H6v3h4z" />
</svg> </svg>
<span class="ps-1">Available Pokémon</span> <span class="ps-1 text-white">Available Pokémon</span>
</NavLink> </NavLink>
</button> </button>
</div>
<div class="w-auto"> <button class="btn btn-success rounded-4 d-flex justify-content-center" style="width:12rem;">
<button class="btn btn-success link"> <NavLink class="nav-link d-flex align-items-center" href="/rate-pokemon">
<NavLink href="/rate-pokemon"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="#FFF" class="bi bi-award-fill" viewBox="0 0 16 16">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-award-fill mb-1" viewBox="0 0 16 16">
<path d="m8 0 1.669.864 1.858.282.842 1.68 1.337 1.32L13.4 6l.306 1.854-1.337 1.32-.842 1.68-1.858.282L8 12l-1.669-.864-1.858-.282-.842-1.68-1.337-1.32L2.6 6l-.306-1.854 1.337-1.32.842-1.68L6.331.864z" /> <path d="m8 0 1.669.864 1.858.282.842 1.68 1.337 1.32L13.4 6l.306 1.854-1.337 1.32-.842 1.68-1.858.282L8 12l-1.669-.864-1.858-.282-.842-1.68-1.337-1.32L2.6 6l-.306-1.854 1.337-1.32.842-1.68L6.331.864z" />
<path d="M4 11.794V16l4-1 4 1v-4.206l-2.018.306L8 13.126 6.018 12.1z" /> <path d="M4 11.794V16l4-1 4 1v-4.206l-2.018.306L8 13.126 6.018 12.1z" />
</svg> </svg>
<span class="ps-1">Rate Pokémon</span> <span class="ps-1 text-white">Rate Pokémon</span>
</NavLink> </NavLink>
</button> </button>
</div> </div>
</div>
</div>
</div>
</div> </div>

View File

@ -8,9 +8,7 @@
<PokemonHeader /> <PokemonHeader />
<head>
<link rel="stylesheet" href="bootstrap/bootstrap-lumen.css" /> <!-- app.css -->
</head>
@if (_pokemon == null) @if (_pokemon == null)
{ {

View File

@ -8,6 +8,11 @@ var builder = WebApplication.CreateBuilder(args);
builder.Services.AddRazorComponents() builder.Services.AddRazorComponents()
.AddInteractiveServerComponents(); .AddInteractiveServerComponents();
builder.Services.AddHttpClient("LocalClient", client =>
{
client.BaseAddress = new Uri("https://localhost:7189/"); // or whatever your port is
});
builder.Services.AddApplication(); builder.Services.AddApplication();
builder.Services.AddInfrastructure(builder.Configuration); builder.Services.AddInfrastructure(builder.Configuration);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
[
"Adv. Web Development",
"Operating Systems",
"Game Development",
"Parallel Programming",
"VR / AR Development",
"Artificial Intelligence",
"Machine Learning",
"Computer Graphics",
"Data Visualization",
"Database Management",
"Analysis of Algorithms"
]

View File

@ -0,0 +1,17 @@
[
"C# / C++ / C",
"ASP.NET / .NET Core",
"Blazor WASM",
"React",
"Java",
"JavaScript",
"HTML / CSS",
"SQL / MYSQL / MSSQL",
"JSON / XML",
"Python",
"Swift",
"TypeScript",
"MATLAB",
"R",
"LaTeX"
]

View File

@ -0,0 +1,17 @@
[
"MS Visual Studio 2022",
"Git / GitHub / GitLab",
"RESTful API",
"Docker",
"Terraform",
"Jira",
"Linux / UNIX",
"SQL / MYSQL / MSSQL",
"Unreal Engine",
"Unity",
"Blendr",
"Windows, Android & iOS",
"Gephi",
"Excel / Microsoft Office Suite",
"Figma"
]