@page @inject IAntiforgery Antiforgery @using Microsoft.AspNetCore.Antiforgery @using Microsoft.AspNetCore.Http @using RTMPDash.Backend @using RTMPDash.Backend.Database @model DashboardModel @{ ViewData["Title"] = "Dashboard"; var tokenSet = Antiforgery.GetAndStoreTokens(HttpContext); } @if (string.IsNullOrWhiteSpace(HttpContext.Session.GetString("authenticatedUser"))) {

Welcome

If you have an invite, sign up here. If you already have an account, sign back in.

} else { var db = new Database.DbConn(); var user = db.Users.First(p => p.Username == HttpContext.Session.GetString("authenticatedUser")); var stats = StreamUtils.GetStatsObject(); if (StreamUtils.ListLiveUsers().Contains(user.Username) && user.IsPrivate) { } else if (StreamUtils.ListLiveUsers().Contains(user.PrivateAccessKey) && !user.IsPrivate) { }
Profile URL
Player URL
@if (user.IsPrivate) {
} else {
}
Stream key
Stream URL
@* ReSharper disable once ConvertIfStatementToSwitchStatement *@ @if (!user.IsPrivate && StreamUtils.IsLive(user.Username, stats)) { var uptime = TimeSpan.FromMilliseconds(StreamUtils.GetClientTime(user.Username, stats)).StripMilliseconds(); if (user.AllowRestream && !string.IsNullOrWhiteSpace(user.RestreamTargets)) { if (StreamUtils.GetClientTime(user.Username, stats) > 5000) { var restreams = StreamUtils.CountLiveRestreams(user.Username, stats); if (restreams > 0) { } else { } } else { } } else { } } else if (user.IsPrivate && StreamUtils.IsLive(user.PrivateAccessKey, stats)) { var uptime = TimeSpan.FromMilliseconds(StreamUtils.GetClientTime(user.PrivateAccessKey, stats)).StripMilliseconds(); if (user.AllowRestream && !string.IsNullOrWhiteSpace(user.RestreamTargets)) { if (StreamUtils.GetClientTime(user.PrivateAccessKey, stats) > 5000) { var restreams = StreamUtils.CountLiveRestreams(user.Username, user.PrivateAccessKey, stats); if (restreams > 0) { } else { } } else { } } else { } } else { }
Chat URL
Announcement URL
@if (user.AllowRestream) {
Restream targets
@if (!string.IsNullOrWhiteSpace(user.RestreamTargets) && StreamUtils.IsLive(user.Username, stats) && StreamUtils.GetClientTime(user.Username, stats) > 5000) { var restreams = StreamUtils.CountLiveRestreams(user.Username, stats); if (restreams == 1) { } else if (restreams > 1) { } else { } }
Restream URLs
}
Pronoun (subject)
Pronoun (possessive)
Pronoun (plurality)
@if (user.PronounPlural) {
} else {
}
}