A Login section in Settings changes the root's password (the current one given) and deletes the whole login, every persona with it, after its password and an explicit "I understand"; the client then signs out. Both use PrivaPub's existing /clientapi/user routes. The e2e signs up a login of its own, changes its password and deletes it, checking each against PrivaPub's login. Signing in now waits for either the feed or an enabled persona chooser, so a login with one persona (which goes on by itself) and a new persona's empty feed both sign in. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
48 lines
1.7 KiB
Plaintext
48 lines
1.7 KiB
Plaintext
@using System.IO
|
|
@using System.Net.Http
|
|
@using System.Net.Http.Json
|
|
@using System.Security.Claims
|
|
@using Microsoft.AspNetCore.Components.Forms
|
|
@using Microsoft.AspNetCore.Components.Routing
|
|
@using Microsoft.AspNetCore.Components.Web
|
|
@using Microsoft.AspNetCore.Components.Web.Virtualization
|
|
@using Microsoft.AspNetCore.Components.WebAssembly.Http
|
|
@using Microsoft.AspNetCore.Components.Authorization
|
|
@using Microsoft.AspNetCore.Authorization
|
|
@using Microsoft.Extensions.Localization
|
|
@using Microsoft.Extensions.Logging
|
|
@using Microsoft.JSInterop
|
|
@using Toolbelt.Blazor.HeadElement
|
|
@using Blazored.LocalStorage
|
|
@using Blazor.DownloadFileFast.Interfaces
|
|
@using Markdig
|
|
@using decePubClient
|
|
@using decePubClient.Services
|
|
@using collAnon.Client.Services
|
|
@using decePubClient.Shared
|
|
@using decePubClient.Models
|
|
@using decePubClient.Models.Types
|
|
@using decePubClient.Models.Mastodon
|
|
@using decePubClient.Helpers
|
|
@using decePubClient.Resources
|
|
@using decePubClient.Extensions
|
|
@using decePubClient.Components
|
|
@using decePubClient.Components.Feed
|
|
@using decePubClient.Components.Nerd
|
|
@using decePubClient.Components.Settings
|
|
@using decePubClient.Components.Admin
|
|
@using decePubClient.Components.Daisy
|
|
@using decePubClient.Components.Daisy.Actions
|
|
@using decePubClient.Components.Daisy.DataDisplay
|
|
@using decePubClient.Components.Daisy.DataInput
|
|
@using decePubClient.Components.Daisy.Feedback
|
|
@using decePubClient.Components.Daisy.Layout
|
|
@using decePubClient.Components.Daisy.Mockup
|
|
@using decePubClient.Components.Daisy.Navigation
|
|
@using decePubClient.LayerComponents
|
|
@using PrivaPub.ClientModels
|
|
@using PrivaPub.ClientModels.Admin
|
|
@using PrivaPub.ClientModels.Group
|
|
@using PrivaPub.ClientModels.User
|
|
@using PrivaPub.ClientModels.User.Avatar
|