1
0
This commit is contained in:
Michael Gordeev
2019-10-17 20:29:59 +03:00
parent bd376feb9a
commit 6fcc621f20
5 changed files with 75 additions and 39 deletions
@@ -1,10 +1,21 @@
using Microsoft.AspNetCore.Mvc;
using MyWebsite.Models;
using Newtonsoft.Json;
using System.Collections.Generic;
using System.Linq;
using System.Net;
namespace MyWebsite.Controllers
{
public class ContactsController : Controller
{
public IActionResult Index() =>
View();
public IActionResult Index()
{
Dictionary<string, Link> links = JsonConvert.DeserializeObject<Dictionary<string, Link>>(new WebClient().DownloadString($"https://{Request.Host}/Links.json"));
ViewData["contactLinks"] = links.Values.ToList().FindAll(i => i.CanContactMe);
ViewData["otherLinks"] = links.Values.ToList().FindAll(i => !i.CanContactMe);
return View();
}
}
}
+1
View File
@@ -11,5 +11,6 @@ namespace MyWebsite.Models
public string Socicon { get; set; }
public string Username { get; set; }
public string Url { get; set; }
public bool CanContactMe { get; set; }
}
}
+16 -10
View File
@@ -9,18 +9,24 @@
<article>
<p>
<a class="socicon-outlook"></a> Email: <a href="mailto:michael.xfox@outlook.com">michael.xfox@outlook.com</a><br>
<a class="socicon-linkedin"></a> LinkedIn: <a href="//linkedin.com/in/xfox" target="_blank">@@xfox</a><br>
<!--<a class="socicon-facebook"></a> Facebook: <a href="//facebook.com/xfox111" target="_blank">@@xfox111</a><br/>-->
<a class="socicon-vkontakte"></a> Vkontakte: <a href="//vk.com/xfox.mike" target="_blank">@@xfox.mike</a><br>
<a class="socicon-telegram"></a> Telegram: <a href="//t.me/xfox111" target="_blank">@@xfox111</a><br />
<a class="socicon-skype"></a> Skype: <a href="//join.skype.com/invite/eVp6BISfcmNz" target="_blank">@@mag48gordeev</a>
@foreach(Link link in ViewData["contactLinks"] as List<Link>)
{
<a class="socicon-@(link.Socicon)"></a> @(link.Title) <a href="@(link.Url)">@(link.Username)</a>
@if((ViewData["contactLinks"] as List<Link>).LastOrDefault() != link)
{
<br />
}
}
</p>
<p>
<a class="socicon-twitter"></a> Twitter: <a href="//twitter.com/xfox111" target="_blank">@@xfox111</a><br>
<a class="socicon-twitch"></a> Twitch: <a href="//twitch.com/xfox111" target="_blank">@@xfox111</a><br>
<a class="socicon-youtube"></a> YouTube: <a href="//www.youtube.com/channel/UC3H2q5Ss_CR3wP_S1zV8joA" target="_blank">@@UC3H2q5Ss_CR3wP_S1zV8joA</a><br>
<a class="socicon-github"></a> GitHub: <a href="//github.com/xfox111" target="_blank">@@xfox111</a><br>
@foreach (Link link in ViewData["otherLinks"] as List<Link>)
{
<a class="socicon-@(link.Socicon)"></a> @(link.Title) <a href="@(link.Url)">@(link.Username)</a>
@if ((ViewData["otherLinks"] as List<Link>).LastOrDefault() != link)
{
<br />
}
}
</p>
</article>
@@ -1,4 +1,10 @@
<!DOCTYPE html>
@using Newtonsoft.Json
@using System.Net
@{
Dictionary<string, Link> links = JsonConvert.DeserializeObject<Dictionary<string, Link>>(new WebClient().DownloadString("Links.json"));
}
<!DOCTYPE html>
<html>
<head>
<title>@ViewData["Title"] - XFox111.NET</title>
@@ -54,9 +60,12 @@
<footer>
<span class="comment">// Copyright &copy;2019 <b>Michael "XFox" Gordeev</b></span>
<a class="socicon-mailru" href="mailto:michael.xfox@outlook.com" target="_blank" title="E-mail"></a>
<a class="socicon-linkedin" href="https://linkedin.com/in/xfox" target="_blank" title="LinkedIn"></a>
<a class="socicon-github" href="https://github.com/xfox111" target="_blank" title="GitHub"></a>
@{
foreach (Link link in new List<Link> { links["email"], links["linkedin"], links["github"] })
{
<a class="socicon-@(link.Socicon)" href="@(link.Url)" target="_blank" title="@(link.Title)"></a>
}
}
</footer>
</body>
</html>
+32 -23
View File
@@ -3,54 +3,63 @@
"Title": "Email",
"Socicon": "outlook",
"Username": "michael.xfox@outlook.com",
"Url": "mailto:michael.xfox@outlook.com"
"Url": "mailto:michael.xfox@outlook.com",
"CanContactMe": "true"
},
"linkedin": {
"Title": "LinkedIn",
"Socicon": "linkedin",
"Username": "@xfox",
"Url": "//linkedin.com/in/xfox"
"Url": "//linkedin.com/in/xfox",
"CanContactMe": "true"
},
"vk": {
"Title": "Vkontakte",
"Socicon": "linkedin",
"Username": "@xfox",
"Url": "//linkedin.com/in/xfox"
"Socicon": "vkontakte",
"Username": "@xfox.mike",
"Url": "//vk.com/xfox.mike",
"CanContactMe": "true"
},
"telegram": {
"Title": "Telegram",
"Socicon": "linkedin",
"Username": "@xfox",
"Url": "//linkedin.com/in/xfox"
"Socicon": "telegram",
"Username": "@xfox111",
"Url": "//t.me/xfox111",
"CanContactMe": "true"
},
"skype": {
"Title": "Skype",
"Socicon": "linkedin",
"Username": "@xfox",
"Url": "//linkedin.com/in/xfox"
"Socicon": "skype",
"Username": "@mag48gordeev",
"Url": "//join.skype.com/invite/eVp6BISfcmNz",
"CanContactMe": "true"
},
"twitter": {
"Title": "Twitter",
"Socicon": "linkedin",
"Username": "@xfox",
"Url": "//linkedin.com/in/xfox"
"Socicon": "twitter",
"Username": "@xfox111",
"Url": "//twitter.com/xfox111",
"CanContactMe": "false"
},
"twitch": {
"Title": "Twitch",
"Socicon": "linkedin",
"Username": "@xfox",
"Url": "//linkedin.com/in/xfox"
"Socicon": "twitch",
"Username": "@xfox111",
"Url": "//twitch.com/xfox111",
"CanContactMe": "false"
},
"youtube": {
"Title": "YouTube",
"Socicon": "linkedin",
"Username": "@xfox",
"Url": "//linkedin.com/in/xfox"
"Socicon": "youtube",
"Username": "@UC3H2q5Ss_CR3wP_S1zV8joA",
"Url": "//www.youtube.com/channel/UC3H2q5Ss_CR3wP_S1zV8joA",
"CanContactMe": "false"
},
"github": {
"Title": "GitHub",
"Socicon": "linkedin",
"Username": "@xfox",
"Url": "//linkedin.com/in/xfox"
"Socicon": "github",
"Username": "@xfox111",
"Url": "//github.com/xfox111",
"CanContactMe": "false"
}
}