@inject AppState state @inject NavigationManager nav @implements IDisposable
@code { protected override void OnInitialized() { base.OnInitialized(); state.OnChange += StateHasChanged; } /// /// The client ID for Jobs, Jobs, Jobs at No Agenda Social /// // TODO: move to config private readonly string _clientId = "k_06zlMy0N451meL4AqlwMQzs5PYr6g3d2Q_dCT-OjU"; /// /// The authorization URL to which the user should be directed /// private string AuthUrl { get { var client = $"client_id={_clientId}"; var scope = "scope=read:accounts"; var redirect = $"redirect_uri=https://{new Uri(nav.Uri).Authority}/citizen/authorized"; var respType = "response_type=code"; // TODO: move NAS base URL to config return $"https://noagendasocial.com/oauth/authorize?{client}&{scope}&{redirect}&{respType}"; } } private bool collapseNavMenu = true; private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null; private void ToggleNavMenu() { collapseNavMenu = !collapseNavMenu; } public void Dispose() { state.OnChange -= StateHasChanged; } }