mirror of
https://github.com/jcreek/WhoAtX.git
synced 2026-07-13 03:03:44 +00:00
Merge pull request #12 from jcreek/3-add-user-details-page
chore(#3): Add user profile page
This commit is contained in:
@@ -18,11 +18,6 @@ public class HomeController : Controller
|
|||||||
return View();
|
return View();
|
||||||
}
|
}
|
||||||
|
|
||||||
public IActionResult Privacy()
|
|
||||||
{
|
|
||||||
return View();
|
|
||||||
}
|
|
||||||
|
|
||||||
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
||||||
public IActionResult Error()
|
public IActionResult Error()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using WhoAtX.Models;
|
||||||
|
|
||||||
|
namespace WhoAtX.Controllers
|
||||||
|
{
|
||||||
|
public class UserController : Controller
|
||||||
|
{
|
||||||
|
// TODO(#8): Get data from database rather than hard-coding it
|
||||||
|
private UserProfileViewModel GetUserProfile()
|
||||||
|
{
|
||||||
|
// Sample user profile data
|
||||||
|
var userProfile = new UserProfileViewModel
|
||||||
|
{
|
||||||
|
Name = "John Doe",
|
||||||
|
Pronouns = "He/Him",
|
||||||
|
NamePronunciationPath = "/audio/john_doe_pronunciation.mp3",
|
||||||
|
// NamePronunciationPath = null,
|
||||||
|
// Add more user profile data here
|
||||||
|
AreasOfKnowledge = "Web Development",
|
||||||
|
Projects = "Project X",
|
||||||
|
Team = "Development Team",
|
||||||
|
WorkingHours = "9:00 AM - 5:00 PM",
|
||||||
|
TimeZone = "UTC-05:00",
|
||||||
|
// Add more professional details here
|
||||||
|
};
|
||||||
|
|
||||||
|
return userProfile;
|
||||||
|
}
|
||||||
|
|
||||||
|
public IActionResult Profile()
|
||||||
|
{
|
||||||
|
// Retrieve user profile data
|
||||||
|
var userProfile = GetUserProfile();
|
||||||
|
|
||||||
|
// Pass the user profile data to the view
|
||||||
|
return View(userProfile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
namespace WhoAtX.Models;
|
||||||
|
|
||||||
|
public class UserProfileViewModel
|
||||||
|
{
|
||||||
|
public string Name { get; set; }
|
||||||
|
public string Pronouns { get; set; }
|
||||||
|
public string NamePronunciationPath { get; set; }
|
||||||
|
|
||||||
|
// Add more personal details here
|
||||||
|
|
||||||
|
public string AreasOfKnowledge { get; set; }
|
||||||
|
public string Projects { get; set; }
|
||||||
|
public string Team { get; set; }
|
||||||
|
public string WorkingHours { get; set; }
|
||||||
|
public string TimeZone { get; set; }
|
||||||
|
|
||||||
|
// Add more professional details here
|
||||||
|
}
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
@{
|
|
||||||
ViewData["Title"] = "Privacy Policy";
|
|
||||||
}
|
|
||||||
<h1>@ViewData["Title"]</h1>
|
|
||||||
|
|
||||||
<p>Use this page to detail your site's privacy policy.</p>
|
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
|
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
|
<a class="nav-link text-dark" asp-area="" asp-controller="User" asp-action="Profile">User Profile</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -0,0 +1,61 @@
|
|||||||
|
@model UserProfileViewModel
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "User Profile";
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<h1>User Profile</h1>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6">
|
||||||
|
<h2>Personal Information</h2>
|
||||||
|
<dl class="row">
|
||||||
|
<dt class="col-sm-4">Name:</dt>
|
||||||
|
<dd class="col-sm-8">@Model.Name</dd>
|
||||||
|
|
||||||
|
<dt class="col-sm-4">Pronouns:</dt>
|
||||||
|
<dd class="col-sm-8">@Model.Pronouns</dd>
|
||||||
|
|
||||||
|
<dt class="col-sm-4">Name Pronunciation:</dt>
|
||||||
|
<dd class="col-sm-8">
|
||||||
|
@if (!string.IsNullOrEmpty(Model.NamePronunciationPath))
|
||||||
|
{
|
||||||
|
<audio controls>
|
||||||
|
<source src="@Model.NamePronunciationPath" type="audio/mpeg">
|
||||||
|
Your browser does not support the audio element.
|
||||||
|
</audio>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<span>No pronunciation available</span>
|
||||||
|
}
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<!-- Add more personal details here -->
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-6">
|
||||||
|
<h2>Professional Information</h2>
|
||||||
|
<dl class="row">
|
||||||
|
<dt class="col-sm-4">Areas of Knowledge:</dt>
|
||||||
|
<dd class="col-sm-8">@Model.AreasOfKnowledge</dd>
|
||||||
|
|
||||||
|
<dt class="col-sm-4">Projects:</dt>
|
||||||
|
<dd class="col-sm-8">@Model.Projects</dd>
|
||||||
|
|
||||||
|
<dt class="col-sm-4">Team:</dt>
|
||||||
|
<dd class="col-sm-8">@Model.Team</dd>
|
||||||
|
|
||||||
|
<dt class="col-sm-4">Working Hours:</dt>
|
||||||
|
<dd class="col-sm-8">@Model.WorkingHours</dd>
|
||||||
|
|
||||||
|
<dt class="col-sm-4">Time Zone:</dt>
|
||||||
|
<dd class="col-sm-8">@Model.TimeZone</dd>
|
||||||
|
|
||||||
|
<!-- Add more professional details here -->
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
Reference in New Issue
Block a user