using Bridge.Html5; using FrontendRouting; using LearnBridgeNet.Views.Basic; namespace LearnBridgeNet.Views { [FeRoute("/logoff.html")] internal class LogoffView : AuthRequiredView { private readonly HTMLElement _root; public LogoffView() { _root = new HTMLDivElement(); _root.AppendChild(new HTMLHeadingElement(HeadingType.H1) { TextContent = "Safe exit", }); _root.AppendChild(new HTMLInputElement { Type = InputType.Button, Value = "Login again", OnClick = evt => FeRoutingManager.Go("/", true) }); } public override bool BeforeEnter(FeRoutingView currentView) { if (null == currentView && false == XState.IsLogin) { FeRoutingManager.Go("/"); return false; } if (currentView is LogonView) { FeRoutingManager.Go("/", true); return false; } return base.BeforeEnter(currentView); } public override void Enter(Node parent) { App.NavigateBar.Hidden = true; XState.IsLogin = false; parent.AppendChild(_root); } public override void Leave() { _root.Remove(); App.NavigateBar.Hidden = true; } } }