Auto-populate name on Remote Control page.

This commit is contained in:
Jared Goodwin 2021-04-16 06:25:36 -07:00
parent 188d331c08
commit 97d8eaf8ff
9 changed files with 45 additions and 11 deletions

View File

@ -1,7 +1,6 @@
@page
@using Remotely.Shared.Models
@inject Remotely.Server.Services.IApplicationConfig AppConfig
@inject UserManager<RemotelyUser> UserManager
@model Remotely.Server.Pages.RemoteControlModel
@{
Layout = null;
@ -30,10 +29,9 @@
<link href="~/css/remote-control-dark.css" rel="stylesheet" asp-append-version="true" />
}
@if (User.Identity.IsAuthenticated)
@if (Model.RemotelyUser is not null)
{
var user = await UserManager.GetUserAsync(User);
switch (user.UserOptions.Theme)
switch (Model.RemotelyUser.UserOptions.Theme)
{
case Remotely.Shared.Enums.Theme.Light:
<link href="~/css/remote-control-light.css" rel="stylesheet" asp-append-version="true" />
@ -214,7 +212,7 @@
<div class="form-block">
<label>Your Name (shown to client): </label>
<br />
<input id="nameInput" type="text" />
<input id="nameInput" type="text" value="@Model.RemotelyUser?.UserOptions?.DisplayName" />
</div>
<div class="form-block">
<label>Session ID: </label>

View File

@ -1,14 +1,27 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Remotely.Server.Auth;
using Remotely.Server.Services;
using Remotely.Shared.Models;
namespace Remotely.Server.Pages
{
[ServiceFilter(typeof(RemoteControlFilterAttribute))]
public class RemoteControlModel : PageModel
{
private readonly IDataService _dataService;
public RemoteControlModel(IDataService dataService)
{
_dataService = dataService;
}
public RemotelyUser RemotelyUser { get; private set; }
public void OnGet()
{
if (User.Identity.IsAuthenticated)
{
RemotelyUser = _dataService.GetUserByNameWithOrg(base.User.Identity.Name);
}
}
}
}

View File

@ -8,7 +8,7 @@ import { MessageSender } from "./MessageSender.js";
import { SessionRecorder } from "./SessionRecorder.js";
import { ApplyInputHandlers } from "./InputEventHandlers.js";
import { ViewerHubConnection } from "./ViewerHubConnection.js";
import { GetSettings } from "./SettingsService.js";
import { GetSettings, SetSettings } from "./SettingsService.js";
var queryString = Utilities.ParseSearchString();
export const ViewerApp = {
ClipboardWatcher: new ClipboardWatcher(),
@ -31,6 +31,13 @@ export const ViewerApp = {
UI.ViewOnlyButton.classList.add("toggled");
}
ApplyInputHandlers();
if (UI.RequesterNameInput.value) {
ViewerApp.RequesterName = UI.RequesterNameInput.value;
}
else if (ViewerApp.Settings.displayName) {
UI.RequesterNameInput.value = ViewerApp.Settings.displayName;
ViewerApp.RequesterName = ViewerApp.Settings.displayName;
}
if (ViewerApp.CasterID) {
ViewerApp.Mode = RemoteControlMode.Unattended;
ViewerApp.ViewerHubConnection.Connect();
@ -53,6 +60,8 @@ export const ViewerApp = {
ViewerApp.Mode = RemoteControlMode.Normal;
ViewerApp.ViewerHubConnection.Connect();
UI.StatusMessage.innerHTML = "Sending connection request...";
ViewerApp.Settings.displayName = ViewerApp.RequesterName;
SetSettings(ViewerApp.Settings);
}
};
window["ViewerApp"] = ViewerApp;

View File

@ -1 +1 @@
{"version":3,"file":"App.js","sourceRoot":"","sources":["App.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"App.js","sourceRoot":"","sources":["App.ts"],"names":[],"mappings":"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"}

View File

@ -8,7 +8,7 @@ import { MessageSender } from "./MessageSender.js";
import { SessionRecorder } from "./SessionRecorder.js";
import { ApplyInputHandlers } from "./InputEventHandlers.js";
import { ViewerHubConnection } from "./ViewerHubConnection.js";
import { GetSettings } from "./SettingsService.js";
import { GetSettings, SetSettings } from "./SettingsService.js";
var queryString = Utilities.ParseSearchString();
@ -37,6 +37,14 @@ export const ViewerApp = {
ApplyInputHandlers();
if (UI.RequesterNameInput.value) {
ViewerApp.RequesterName = UI.RequesterNameInput.value;
}
else if (ViewerApp.Settings.displayName) {
UI.RequesterNameInput.value = ViewerApp.Settings.displayName;
ViewerApp.RequesterName = ViewerApp.Settings.displayName;
}
if (ViewerApp.CasterID) {
ViewerApp.Mode = RemoteControlMode.Unattended;
ViewerApp.ViewerHubConnection.Connect();
@ -60,6 +68,9 @@ export const ViewerApp = {
ViewerApp.Mode = RemoteControlMode.Normal;
ViewerApp.ViewerHubConnection.Connect();
UI.StatusMessage.innerHTML = "Sending connection request...";
ViewerApp.Settings.displayName = ViewerApp.RequesterName;
SetSettings(ViewerApp.Settings);
}
}

View File

@ -1,3 +1,4 @@
export interface Settings {
streamModeEnabled: boolean;
displayName: string;
}

View File

@ -1,5 +1,6 @@
const defaultSettings = {
streamModeEnabled: false
streamModeEnabled: false,
displayName: ""
};
export function GetSettings() {
try {

View File

@ -1 +1 @@
{"version":3,"file":"SettingsService.js","sourceRoot":"","sources":["SettingsService.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG;IACpB,iBAAiB,EAAE,KAAK;CAC3B,CAAC;AAGF,MAAM,UAAU,WAAW;IACvB,IAAI;QACA,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE;YACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC/B;KACJ;IACD,OAAO,EAAE,EAAE;QACP,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACrB;IAED,WAAW,CAAC,eAAe,CAAC,CAAC;IAC7B,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC1C,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtE,CAAC"}
{"version":3,"file":"SettingsService.js","sourceRoot":"","sources":["SettingsService.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG;IACpB,iBAAiB,EAAE,KAAK;IACxB,WAAW,EAAE,EAAE;CAClB,CAAC;AAGF,MAAM,UAAU,WAAW;IACvB,IAAI;QACA,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE;YACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC/B;KACJ;IACD,OAAO,EAAE,EAAE;QACP,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACrB;IAED,WAAW,CAAC,eAAe,CAAC,CAAC;IAC7B,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC1C,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtE,CAAC"}

View File

@ -1,7 +1,8 @@
import { Settings } from "./Interfaces/Settings.js";
const defaultSettings = {
streamModeEnabled: false
streamModeEnabled: false,
displayName: ""
};