💄 GameAccount Page UI

This commit is contained in:
RMBGAME
2023-06-12 08:10:53 +08:00
parent 344288d38d
commit a2cd06df38
15 changed files with 169 additions and 36 deletions
@@ -92,4 +92,8 @@
<Import Project="..\TFM_NETX_WITH_DESKTOP.props" />
<ItemGroup>
<UpToDateCheckInput Remove="UI\Views\Pages\ScriptPage.axaml" />
</ItemGroup>
</Project>
@@ -24,7 +24,7 @@ sealed class Plugin : PluginBase<Plugin>
yield return new MenuTabItemViewModel()
{
ResourceKeyOrName = "ScriptConfig",
PageType = typeof(DemoPage),
PageType = typeof(ScriptPage),
IsResourceGet = true,
IconKey = "DuplexPortraitOneSided",
};
@@ -1,18 +0,0 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace BD.WTTS.UI.Views.Pages;
public partial class DemoPage : UserControl
{
public DemoPage()
{
InitializeComponent();
}
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
}
}
@@ -3,6 +3,6 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="BD.WTTS.UI.Views.Pages.DemoPage">
BD.WTTS.Client.Plugins.Accelerator
x:Class="BD.WTTS.UI.Views.Pages.ScriptPage">
Welcome to Avalonia!
</UserControl>
@@ -0,0 +1,11 @@
using Avalonia.Controls;
namespace BD.WTTS.UI.Views.Pages;
public partial class ScriptPage : UserControl
{
public ScriptPage()
{
InitializeComponent();
}
}
@@ -87,4 +87,6 @@
<Import Project="..\TFM_NETX_WITH_DESKTOP.props" />
<ProjectExtensions><VisualStudio><UserProperties /></VisualStudio></ProjectExtensions>
</Project>
@@ -8,12 +8,15 @@ public sealed partial class PlatformAccount : ReactiveObject
public ThirdpartyPlatform Platform { get; init; }
[Reactive]
[Reactive, S_JsonIgnore, MP2Ignore, N_JsonIgnore]
public ObservableCollection<IAccount>? Accounts { get; set; }
[Reactive]
[Reactive, S_JsonIgnore, MP2Ignore, N_JsonIgnore]
public bool IsEnable { get; set; }
[Reactive, S_JsonIgnore, MP2Ignore, N_JsonIgnore]
public bool IsLoading { get; set; }
public bool IsExitBeforeInteract { get; set; }
public string? ExeExtraArgs { get; set; }
@@ -1,5 +1,4 @@
using BD.WTTS.UI.Views;
using Microsoft.Extensions.DependencyInjection;
using BD.WTTS.UI.Views.Pages;
namespace BD.WTTS.Plugins;
@@ -90,5 +90,43 @@
"UniqueIdPath": "%LocalAppData%\\Electronic Arts\\EA Desktop\\telemetry.ini",
"UniqueIdRegex": "(?<=\\=).*",
"UniqueIdType": 3
},
{
"FullName": "Origin",
"Icon": "Origin",
"Platform": 8,
"IsExitBeforeInteract": true,
"DefaultExePath": "%ProgramFiles(x86)%\\Origin\\Origin.exe",
"ExeExtraArgs": null,
"PlatformIds": [ "o", "origin" ],
"ExesToEnd": [ "Origin.exe", "OriginWebHelperService.exe" ],
"ClearPaths": [ "SAME_AS_LOGIN_FILES" ],
"LoginFiles": [
"%AppData%\\Origin\\ConsolidatedCache\\",
"%AppData%\\Origin\\Logs\\",
"%AppData%\\Origin\\NucleusCache\\",
"%AppData%\\Origin\\*.xml",
"%AppData%\\Origin\\Logs\\dserrors.data",
"%ProgramData%\\Origin\\AchievementCache\\",
"%ProgramData%\\Origin\\Subscription\\",
"%ProgramData%\\Origin\\local.xml",
"%ProgramData%\\Origin\\*.olc",
"%ProgramData%\\Origin\\TcNoAccSwitcher-ID.instance"
],
"CachePaths": [
"%ProgramData%\\Origin\\DownloadCache",
"%LocalAppData%\\Origin\\Origin\\cache\\QtWebEngine\\Default\\Cache",
"%LocalAppData%\\Origin\\Origin\\QtWebEngine\\Default\\Application Cache\\Cache"
],
"BackupPaths": [
"%ProgramData%\\Origin\\LocalContent\\",
"%ProgramData%\\Origin\\local.xml"
],
"BackupFileTypesIgnore": null,
"BackupFileTypesInclude": null,
"ClosingMethod": null,
"StartingMethod": null,
"UniqueIdPath": "%ProgramData%\\Origin\\TcNoAccSwitcher-ID.instance",
"UniqueIdType": 1
}
]
@@ -1,9 +1,10 @@
<UserControl
x:Class="BD.WTTS.UI.Views.AccountItems"
x:Class="BD.WTTS.UI.Views.Controls.AccountItems"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:s="https://steampp.net/services"
xmlns:spp="https://steampp.net/ui"
xmlns:ui="using:FluentAvalonia.UI.Controls"
d:DesignHeight="450"
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace BD.WTTS.UI.Views;
namespace BD.WTTS.UI.Views.Controls;
public partial class AccountItems : UserControl
{
@@ -1,9 +1,10 @@
<UserControl
x:Class="BD.WTTS.UI.Views.GameAccountPage"
<spp:PageBase
x:Class="BD.WTTS.UI.Views.Pages.GameAccountPage"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:s="https://steampp.net/services"
xmlns:spp="https://steampp.net/ui"
xmlns:ui="using:FluentAvalonia.UI.Controls"
x:Name="u"
@@ -12,6 +13,94 @@
x:CompileBindings="True"
x:DataType="spp:GameAccountPageViewModel"
mc:Ignorable="d">
<spp:PageBase.PreviewImage>
<ui:FontIconSource FontFamily="{StaticResource SymbolThemeFontFamily}" Glyph="{StaticResource SwitchUser}" />
</spp:PageBase.PreviewImage>
<spp:PageBase.TabContent>
<TabStrip
Margin="4"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Background="{DynamicResource ControlOnImageFillColorDefaultBrush}"
CornerRadius="{StaticResource ControlCornerRadius}"
ItemContainerTheme="{StaticResource TabItemStyle}">
<TabStripItem Content="多平台账号切换" />
<TabStripItem Content="Steam 家庭共享库管理" />
</TabStrip>
</spp:PageBase.TabContent>
<spp:PageBase.ActionContent>
<StackPanel Orientation="Horizontal" Spacing="2">
<Button
Padding="8,4"
DockPanel.Dock="Right"
Theme="{StaticResource TransparentButton}">
<Panel>
<Viewbox
Width="16"
Height="16"
HorizontalAlignment="Left">
<ui:SymbolIcon Symbol="Add" />
</Viewbox>
<TextBlock
Margin="28,4,0,4"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{ReflectionBinding Path=Res.UserChange_LoginNewAccount,
Mode=OneWay,
Source={x:Static s:ResourceService.Current}}" />
</Panel>
</Button>
<Button
Padding="8,4"
DockPanel.Dock="Right"
Theme="{StaticResource TransparentButton}">
<Panel>
<Viewbox
Width="16"
Height="16"
HorizontalAlignment="Left">
<ui:SymbolIcon Symbol="Refresh" />
</Viewbox>
<TextBlock
Margin="28,4,0,4"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Text="{ReflectionBinding Path=Res.Refresh,
Mode=OneWay,
Source={x:Static s:ResourceService.Current}}" />
</Panel>
</Button>
<DropDownButton
Padding="8"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="{StaticResource More}"
FontFamily="{StaticResource SymbolThemeFontFamily}"
FontSize="20"
Theme="{StaticResource TransparentButton}">
<DropDownButton.Flyout>
<ui:FAMenuFlyout Placement="BottomEdgeAlignedRight">
<ui:MenuFlyoutItem IsEnabled="False" Text="版本号: 0.1">
<!--<ui:MenuFlyoutItem.Text>
<MultiBinding StringFormat="{}版本号: {0}">
<Binding
Mode="OneWay"
Path="User.NickName"
Source="{x:Static service:UserService.Current}" />
</MultiBinding>
</ui:MenuFlyoutItem.Text>-->
</ui:MenuFlyoutItem>
<ui:MenuFlyoutItem Text="{ReflectionBinding Path=Res.AccountChange_Title, Mode=OneWay, Source={x:Static s:ResourceService.Current}}" />
<ui:MenuFlyoutItem Text="插件设置" />
<ui:MenuFlyoutSeparator />
<ui:MenuFlyoutItem Text="在 Steam++ 插件商店中查看" />
<ui:MenuFlyoutItem Text="使用帮助" />
<ui:MenuFlyoutItem Text="关于此插件" />
</ui:FAMenuFlyout>
</DropDownButton.Flyout>
</DropDownButton>
</StackPanel>
</spp:PageBase.ActionContent>
<ui:TabView
Padding="0"
VerticalAlignment="Stretch"
@@ -102,4 +191,4 @@
</DataTemplate>
</ui:TabView.TabItemTemplate>
</ui:TabView>
</UserControl>
</spp:PageBase>
@@ -1,14 +1,18 @@
using Avalonia.Controls;
using Avalonia.ReactiveUI;
using FluentAvalonia.UI.Controls;
using BD.WTTS.Client.Resources;
namespace BD.WTTS.UI.Views;
public partial class GameAccountPage : ReactiveUserControl<GameAccountPageViewModel>
namespace BD.WTTS.UI.Views.Pages;
public partial class GameAccountPage : PageBase<GameAccountPageViewModel>
{
public GameAccountPage()
{
InitializeComponent();
DataContext = new GameAccountPageViewModel();
Title = Strings.UserFastChange;
Subtitle = "插件作者: Steam++ 官方";
Description = "可支持自行添加多平台账号快速切换功能,Steam 可自动读取账号信息,其它平台请手动添加账号信息。 ";
}
private void TabView_TabCloseRequested(TabView sender, TabViewTabCloseRequestedEventArgs args)
@@ -1,5 +1,5 @@
<UserControl
x:Class="BD.WTTS.UI.Views.GameListPage"
x:Class="BD.WTTS.UI.Views.Pages.GameListPage"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace BD.WTTS.UI.Views;
namespace BD.WTTS.UI.Views.Pages;
public partial class GameListPage : UserControl
{