mirror of
https://github.com/J3vb/OwnCord.git
synced 2026-09-03 03:50:00 +03:00
- WPF (.NET 8) project targeting net8.0-windows - Models: ServerProfile (record), Channel, Message, User, Role - ViewModels: ViewModelBase (INotifyPropertyChanged), RelayCommand<T>, ConnectViewModel (profiles, login/register toggle, connect command), MainViewModel (channels, messages, typing indicator, send command), SettingsViewModel (dark theme, notifications, PTT key) - Services: IProfileService + ProfileService (AppData JSON, immutable ops), ICredentialService + CredentialService (DPAPI via ProtectedData), IWebSocketService + WebSocketService (ClientWebSocket stub) - Views: ConnectPage (server address, login/register, profile selector), MainPage (3-column: channel list, message area, member list), App.xaml wires converters and startup - Converters: BoolToVisibilityConverter, IntToVisibilityConverter - Tests: ConnectViewModelTests (11 cases), MainViewModelTests (11 cases), ProfileServiceTests (6 cases) — ready to run once NuGet accessible (run: dotnet restore && dotnet test OwnCord.Client.Tests/) Build: dotnet build OwnCord.Client/ succeeds with 0 warnings
29 lines
1.5 KiB
Plaintext
29 lines
1.5 KiB
Plaintext
|
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
|
# Visual Studio Version 17
|
|
VisualStudioVersion = 17.0.31903.59
|
|
MinimumVisualStudioVersion = 10.0.40219.1
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OwnCord.Client", "OwnCord.Client\OwnCord.Client.csproj", "{A25E4856-BF72-4C5C-940C-808B3694F1A1}"
|
|
EndProject
|
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OwnCord.Client.Tests", "OwnCord.Client.Tests\OwnCord.Client.Tests.csproj", "{14D58A32-A395-4278-AC89-88910F1FE2F8}"
|
|
EndProject
|
|
Global
|
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
Debug|Any CPU = Debug|Any CPU
|
|
Release|Any CPU = Release|Any CPU
|
|
EndGlobalSection
|
|
GlobalSection(SolutionProperties) = preSolution
|
|
HideSolutionNode = FALSE
|
|
EndGlobalSection
|
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
{A25E4856-BF72-4C5C-940C-808B3694F1A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
{A25E4856-BF72-4C5C-940C-808B3694F1A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
{A25E4856-BF72-4C5C-940C-808B3694F1A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
{A25E4856-BF72-4C5C-940C-808B3694F1A1}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
{14D58A32-A395-4278-AC89-88910F1FE2F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
{14D58A32-A395-4278-AC89-88910F1FE2F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
{14D58A32-A395-4278-AC89-88910F1FE2F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
{14D58A32-A395-4278-AC89-88910F1FE2F8}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
EndGlobalSection
|
|
EndGlobal
|