diff --git a/.gitignore b/.gitignore index 91281782d..a0cb576a4 100644 --- a/.gitignore +++ b/.gitignore @@ -37,8 +37,9 @@ bld/ [Ll]ogs/ # Exclude View[Model]s/Repositories/Releases contents -!src/FluentHub.Uwp/Views/** -!src/FluentHub.Uwp/ViewModels/** +!src/FluentHub.App/Views/** +!src/FluentHub.App/ViewModels/** +!src/FluentHub.App/Assets/AppTiles/** # Visual Studio 2015/2017 cache/options directory .vs/ @@ -367,4 +368,4 @@ MigrationBackup/ .ionide/ # Fody - auto-generated XML schema -FodyWeavers.xsd \ No newline at end of file +FodyWeavers.xsd diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index fc6de0807..000000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "lib/octokit.graphql.net"] - path = lib/octokit.graphql.net - url = https://github.com/FluentHub/octokit.graphql.net.git diff --git a/FluentHub.sln b/FluentHub.sln index 9ed1f7db8..2968acb2f 100644 --- a/FluentHub.sln +++ b/FluentHub.sln @@ -7,22 +7,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C6265587-732 EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FluentHub.Octokit", "src\FluentHub.Octokit\FluentHub.Octokit.csproj", "{893EDCC9-4345-4F49-A13F-1A426A7BA432}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FluentHub.Octokit.Generation", "src\FluentHub.Octokit.Generation\FluentHub.Octokit.Generation.csproj", "{2219FA42-F8D3-4951-9578-76E000BB86D7}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FluentHub.Octokit.ModelGenerator", "src\FluentHub.Octokit.ModelGenerator\FluentHub.Octokit.ModelGenerator.csproj", "{2219FA42-F8D3-4951-9578-76E000BB86D7}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FluentHub.Uwp", "src\FluentHub.Uwp\FluentHub.Uwp.csproj", "{3B8F7422-E2C0-4BDF-9A95-EA59FFE277E8}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FluentHub.App", "src\FluentHub.App\FluentHub.App.csproj", "{3B8F7422-E2C0-4BDF-9A95-EA59FFE277E8}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FluentHub.Core", "src\FluentHub.Core\FluentHub.Core.csproj", "{CCD6A838-6E6F-424F-BEE3-60C46F4B5308}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "lib", "lib", "{CF82C68E-A7C3-48C7-B319-AF270EC350AB}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Octokit.GraphQL", "lib\octokit.graphql.net\Octokit.GraphQL\Octokit.GraphQL.csproj", "{66F5A0DF-F449-4D6E-922D-0AD17B813A3B}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Octokit.GraphQL.Core", "lib\octokit.graphql.net\Octokit.GraphQL.Core\Octokit.GraphQL.Core.csproj", "{AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FluentHub.Primer.Octicon.Generation", "src\FluentHub.Primer.Octicon.Generation\FluentHub.Primer.Octicon.Generation.csproj", "{615C4102-586C-48A0-B147-554AD5FD8822}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "generators", "generators", "{EBF23B98-C2E9-46A1-A965-2BF4AF16479D}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -63,8 +53,8 @@ Global {893EDCC9-4345-4F49-A13F-1A426A7BA432}.Sideload|x64.Build.0 = Sideload|x64 {893EDCC9-4345-4F49-A13F-1A426A7BA432}.Sideload|x86.ActiveCfg = Sideload|x86 {893EDCC9-4345-4F49-A13F-1A426A7BA432}.Sideload|x86.Build.0 = Sideload|x86 - {2219FA42-F8D3-4951-9578-76E000BB86D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2219FA42-F8D3-4951-9578-76E000BB86D7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2219FA42-F8D3-4951-9578-76E000BB86D7}.Debug|Any CPU.ActiveCfg = Debug|x64 + {2219FA42-F8D3-4951-9578-76E000BB86D7}.Debug|Any CPU.Build.0 = Debug|x64 {2219FA42-F8D3-4951-9578-76E000BB86D7}.Debug|arm64.ActiveCfg = Debug|Any CPU {2219FA42-F8D3-4951-9578-76E000BB86D7}.Debug|arm64.Build.0 = Debug|Any CPU {2219FA42-F8D3-4951-9578-76E000BB86D7}.Debug|x64.ActiveCfg = Debug|x64 @@ -87,9 +77,9 @@ Global {2219FA42-F8D3-4951-9578-76E000BB86D7}.Sideload|x64.Build.0 = Sideload|Any CPU {2219FA42-F8D3-4951-9578-76E000BB86D7}.Sideload|x86.ActiveCfg = Sideload|Any CPU {2219FA42-F8D3-4951-9578-76E000BB86D7}.Sideload|x86.Build.0 = Sideload|Any CPU - {3B8F7422-E2C0-4BDF-9A95-EA59FFE277E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3B8F7422-E2C0-4BDF-9A95-EA59FFE277E8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3B8F7422-E2C0-4BDF-9A95-EA59FFE277E8}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {3B8F7422-E2C0-4BDF-9A95-EA59FFE277E8}.Debug|Any CPU.ActiveCfg = Debug|x86 + {3B8F7422-E2C0-4BDF-9A95-EA59FFE277E8}.Debug|Any CPU.Build.0 = Debug|x86 + {3B8F7422-E2C0-4BDF-9A95-EA59FFE277E8}.Debug|Any CPU.Deploy.0 = Debug|x86 {3B8F7422-E2C0-4BDF-9A95-EA59FFE277E8}.Debug|arm64.ActiveCfg = Debug|arm64 {3B8F7422-E2C0-4BDF-9A95-EA59FFE277E8}.Debug|arm64.Build.0 = Debug|arm64 {3B8F7422-E2C0-4BDF-9A95-EA59FFE277E8}.Debug|arm64.Deploy.0 = Debug|arm64 @@ -123,8 +113,8 @@ Global {3B8F7422-E2C0-4BDF-9A95-EA59FFE277E8}.Sideload|x86.ActiveCfg = Sideload|x86 {3B8F7422-E2C0-4BDF-9A95-EA59FFE277E8}.Sideload|x86.Build.0 = Sideload|x86 {3B8F7422-E2C0-4BDF-9A95-EA59FFE277E8}.Sideload|x86.Deploy.0 = Sideload|x86 - {CCD6A838-6E6F-424F-BEE3-60C46F4B5308}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CCD6A838-6E6F-424F-BEE3-60C46F4B5308}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CCD6A838-6E6F-424F-BEE3-60C46F4B5308}.Debug|Any CPU.ActiveCfg = Debug|x86 + {CCD6A838-6E6F-424F-BEE3-60C46F4B5308}.Debug|Any CPU.Build.0 = Debug|x86 {CCD6A838-6E6F-424F-BEE3-60C46F4B5308}.Debug|arm64.ActiveCfg = Debug|arm64 {CCD6A838-6E6F-424F-BEE3-60C46F4B5308}.Debug|arm64.Build.0 = Debug|arm64 {CCD6A838-6E6F-424F-BEE3-60C46F4B5308}.Debug|x64.ActiveCfg = Debug|x64 @@ -147,91 +137,15 @@ Global {CCD6A838-6E6F-424F-BEE3-60C46F4B5308}.Sideload|x64.Build.0 = Sideload|Any CPU {CCD6A838-6E6F-424F-BEE3-60C46F4B5308}.Sideload|x86.ActiveCfg = Sideload|Any CPU {CCD6A838-6E6F-424F-BEE3-60C46F4B5308}.Sideload|x86.Build.0 = Sideload|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Debug|arm64.ActiveCfg = Debug|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Debug|arm64.Build.0 = Debug|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Debug|x64.ActiveCfg = Debug|x64 - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Debug|x64.Build.0 = Debug|x64 - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Debug|x86.ActiveCfg = Debug|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Debug|x86.Build.0 = Debug|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Release|Any CPU.Build.0 = Release|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Release|arm64.ActiveCfg = Release|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Release|arm64.Build.0 = Release|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Release|x64.ActiveCfg = Release|x64 - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Release|x64.Build.0 = Release|x64 - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Release|x86.ActiveCfg = Release|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Release|x86.Build.0 = Release|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Sideload|Any CPU.ActiveCfg = Sideload|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Sideload|Any CPU.Build.0 = Sideload|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Sideload|arm64.ActiveCfg = Sideload|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Sideload|arm64.Build.0 = Sideload|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Sideload|x64.ActiveCfg = Sideload|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Sideload|x64.Build.0 = Sideload|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Sideload|x86.ActiveCfg = Sideload|Any CPU - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B}.Sideload|x86.Build.0 = Sideload|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Debug|arm64.ActiveCfg = Debug|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Debug|arm64.Build.0 = Debug|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Debug|x64.ActiveCfg = Debug|x64 - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Debug|x64.Build.0 = Debug|x64 - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Debug|x86.ActiveCfg = Debug|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Debug|x86.Build.0 = Debug|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Release|Any CPU.Build.0 = Release|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Release|arm64.ActiveCfg = Release|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Release|arm64.Build.0 = Release|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Release|x64.ActiveCfg = Release|x64 - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Release|x64.Build.0 = Release|x64 - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Release|x86.ActiveCfg = Release|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Release|x86.Build.0 = Release|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Sideload|Any CPU.ActiveCfg = Sideload|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Sideload|Any CPU.Build.0 = Sideload|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Sideload|arm64.ActiveCfg = Sideload|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Sideload|arm64.Build.0 = Sideload|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Sideload|x64.ActiveCfg = Sideload|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Sideload|x64.Build.0 = Sideload|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Sideload|x86.ActiveCfg = Sideload|Any CPU - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279}.Sideload|x86.Build.0 = Sideload|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Debug|Any CPU.Build.0 = Debug|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Debug|arm64.ActiveCfg = Debug|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Debug|arm64.Build.0 = Debug|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Debug|x64.ActiveCfg = Debug|x64 - {615C4102-586C-48A0-B147-554AD5FD8822}.Debug|x64.Build.0 = Debug|x64 - {615C4102-586C-48A0-B147-554AD5FD8822}.Debug|x86.ActiveCfg = Debug|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Debug|x86.Build.0 = Debug|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Release|Any CPU.ActiveCfg = Release|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Release|Any CPU.Build.0 = Release|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Release|arm64.ActiveCfg = Release|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Release|arm64.Build.0 = Release|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Release|x64.ActiveCfg = Release|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Release|x64.Build.0 = Release|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Release|x86.ActiveCfg = Release|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Release|x86.Build.0 = Release|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Sideload|Any CPU.ActiveCfg = Debug|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Sideload|Any CPU.Build.0 = Debug|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Sideload|arm64.ActiveCfg = Debug|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Sideload|arm64.Build.0 = Debug|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Sideload|x64.ActiveCfg = Debug|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Sideload|x64.Build.0 = Debug|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Sideload|x86.ActiveCfg = Debug|Any CPU - {615C4102-586C-48A0-B147-554AD5FD8822}.Sideload|x86.Build.0 = Debug|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution {893EDCC9-4345-4F49-A13F-1A426A7BA432} = {C6265587-7328-4B9E-AF1F-69F0E7301C5F} - {2219FA42-F8D3-4951-9578-76E000BB86D7} = {EBF23B98-C2E9-46A1-A965-2BF4AF16479D} + {2219FA42-F8D3-4951-9578-76E000BB86D7} = {C6265587-7328-4B9E-AF1F-69F0E7301C5F} {3B8F7422-E2C0-4BDF-9A95-EA59FFE277E8} = {C6265587-7328-4B9E-AF1F-69F0E7301C5F} {CCD6A838-6E6F-424F-BEE3-60C46F4B5308} = {C6265587-7328-4B9E-AF1F-69F0E7301C5F} - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B} = {CF82C68E-A7C3-48C7-B319-AF270EC350AB} - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279} = {CF82C68E-A7C3-48C7-B319-AF270EC350AB} - {615C4102-586C-48A0-B147-554AD5FD8822} = {EBF23B98-C2E9-46A1-A965-2BF4AF16479D} - {EBF23B98-C2E9-46A1-A965-2BF4AF16479D} = {C6265587-7328-4B9E-AF1F-69F0E7301C5F} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {69E4A07A-D627-48B2-A72B-25F6082E0684} diff --git a/README.md b/README.md index 4d3ccfa1b..775ceb90e 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ If you are interested in fixing issues and contributing directly to the code bas ├──lib // Library for submodules. | └──octokit.graphql.net // Official library for GitHub GraphQL API. └──src // The source code. - ├──FluentHub.Uwp // Code for most front-end elements of the app. + ├──FluentHub.App // Code for most front-end elements of the app. ├──FluentHub.Core // Core elements of the app. ├──FluentHub.Octokit // Code for most back-end and API-related elements of the app such as mutations and queries. └──FluentHub.Octokit.Generation // GitHub GraphQL API model generator. @@ -142,8 +142,8 @@ See [the documentation](docs/credentials.md). ### 4. Build the project - Open `FluentHub.sln`. -- Hit 'Set as Startup item' on `FluentHub.Uwp` in the Solution Explorer. -- Build with `DEBUG|x64|FluentHub.Uwp (Universal Windows)`. +- Hit 'Set as Startup item' on `FluentHub.App` in the Solution Explorer. +- Build with `DEBUG|x64|FluentHub.App (Universal Windows)`. ## 💳 Credit diff --git a/builds/ci-pr.yml b/builds/ci-pr.yml index 2e3994c45..950d78226 100644 --- a/builds/ci-pr.yml +++ b/builds/ci-pr.yml @@ -33,12 +33,12 @@ jobs: inputs: targetType: 'inline' script: | - [xml]$xmlDoc = Get-Content $(Build.SourcesDirectory)\src\FluentHub.Uwp\Package.appxmanifest + [xml]$xmlDoc = Get-Content $(Build.SourcesDirectory)\src\FluentHub.App\Package.appxmanifest $xmlDoc.Package.Identity.Name="49462fluenthub-uwp.FluentHub" $xmlDoc.Package.Identity.Publisher="CN=4E3C0825-4D00-4ECC-89F8-528E9200B125" $xmlDoc.Package.Properties.DisplayName="FluentHub DEV" $xmlDoc.Package.Applications.Application.VisualElements.DisplayName="FluentHub DEV" - $xmlDoc.Save('$(Build.SourcesDirectory)\src\FluentHub.Uwp\Package.appxmanifest') + $xmlDoc.Save('$(Build.SourcesDirectory)\src\FluentHub.App\Package.appxmanifest') failOnStderr: true - task: DownloadSecureFile@1 @@ -51,7 +51,7 @@ jobs: inputs: SourceFolder: '$(Agent.TempDirectory)' Contents: '$(CredentialSecureFile.secureFilePath)' - TargetFolder: '$(Build.SourcesDirectory)\src\FluentHub.Uwp' + TargetFolder: '$(Build.SourcesDirectory)\src\FluentHub.App' - task: DownloadSecureFile@1 name: caCertificate @@ -113,12 +113,12 @@ jobs: inputs: targetType: 'inline' script: | - [xml]$xmlDoc = Get-Content $(Build.SourcesDirectory)\src\FluentHub.Uwp\Package.appxmanifest + [xml]$xmlDoc = Get-Content $(Build.SourcesDirectory)\src\FluentHub.App\Package.appxmanifest $xmlDoc.Package.Identity.Name="FluentHubSideload" $xmlDoc.Package.Identity.Publisher="FluentHub Team" $xmlDoc.Package.Properties.DisplayName="FluentHub" $xmlDoc.Package.Applications.Application.VisualElements.DisplayName="FluentHub Dev" - $xmlDoc.Save('$(Build.SourcesDirectory)\src\FluentHub.Uwp\Package.appxmanifest') + $xmlDoc.Save('$(Build.SourcesDirectory)\src\FluentHub.App\Package.appxmanifest') failOnStderr: true - task: DownloadSecureFile@1 @@ -132,7 +132,7 @@ jobs: inputs: SourceFolder: '$(Agent.TempDirectory)' Contents: '$(CredentialSecureFile.secureFilePath)' - TargetFolder: '$(Build.SourcesDirectory)\src\FluentHub.Uwp' + TargetFolder: '$(Build.SourcesDirectory)\src\FluentHub.App' - task: DownloadSecureFile@1 name: caCertificate @@ -189,12 +189,12 @@ jobs: inputs: targetType: 'inline' script: | - [xml]$xmlDoc = Get-Content $(Build.SourcesDirectory)\src\FluentHub.Uwp\Package.appxmanifest + [xml]$xmlDoc = Get-Content $(Build.SourcesDirectory)\src\FluentHub.App\Package.appxmanifest $xmlDoc.Package.Identity.Name="49462fluenthub-uwp.FluentHub" $xmlDoc.Package.Identity.Publisher="CN=4E3C0825-4D00-4ECC-89F8-528E9200B125" $xmlDoc.Package.Properties.DisplayName="FluentHub Dev" $xmlDoc.Package.Applications.Application.VisualElements.DisplayName="FluentHub Dev" - $xmlDoc.Save('$(Build.SourcesDirectory)\src\FluentHub.Uwp\Package.appxmanifest') + $xmlDoc.Save('$(Build.SourcesDirectory)\src\FluentHub.App\Package.appxmanifest') failOnStderr: true - task: DownloadSecureFile@1 @@ -208,7 +208,7 @@ jobs: inputs: SourceFolder: '$(Agent.TempDirectory)' Contents: '$(CredentialSecureFile.secureFilePath)' - TargetFolder: '$(Build.SourcesDirectory)\src\FluentHub.Uwp' + TargetFolder: '$(Build.SourcesDirectory)\src\FluentHub.App' - task: DownloadSecureFile@1 name: caCertificate diff --git a/builds/ci.yml b/builds/ci.yml index acd7eb289..e0a3463d9 100644 --- a/builds/ci.yml +++ b/builds/ci.yml @@ -34,12 +34,12 @@ jobs: inputs: targetType: 'inline' script: | - [xml]$xmlDoc = Get-Content $(Build.SourcesDirectory)\src\FluentHub.Uwp\Package.appxmanifest + [xml]$xmlDoc = Get-Content $(Build.SourcesDirectory)\src\FluentHub.App\Package.appxmanifest $xmlDoc.Package.Identity.Name="49462fluenthub-uwp.FluentHub" $xmlDoc.Package.Identity.Publisher="CN=4E3C0825-4D00-4ECC-89F8-528E9200B125" $xmlDoc.Package.Properties.DisplayName="FluentHub DEV" $xmlDoc.Package.Applications.Application.VisualElements.DisplayName="FluentHub DEV" - $xmlDoc.Save('$(Build.SourcesDirectory)\src\FluentHub.Uwp\Package.appxmanifest') + $xmlDoc.Save('$(Build.SourcesDirectory)\src\FluentHub.App\Package.appxmanifest') failOnStderr: true - task: DownloadSecureFile@1 @@ -52,7 +52,7 @@ jobs: inputs: SourceFolder: '$(Agent.TempDirectory)' Contents: '$(CredentialSecureFile.secureFilePath)' - TargetFolder: '$(Build.SourcesDirectory)\src\FluentHub.Uwp' + TargetFolder: '$(Build.SourcesDirectory)\src\FluentHub.App' - task: DownloadSecureFile@1 name: caCertificate @@ -114,12 +114,12 @@ jobs: inputs: targetType: 'inline' script: | - [xml]$xmlDoc = Get-Content $(Build.SourcesDirectory)\src\FluentHub.Uwp\Package.appxmanifest + [xml]$xmlDoc = Get-Content $(Build.SourcesDirectory)\src\FluentHub.App\Package.appxmanifest $xmlDoc.Package.Identity.Name="FluentHubSideload" $xmlDoc.Package.Identity.Publisher="FluentHub Team" $xmlDoc.Package.Properties.DisplayName="FluentHub" $xmlDoc.Package.Applications.Application.VisualElements.DisplayName="FluentHub Dev" - $xmlDoc.Save('$(Build.SourcesDirectory)\src\FluentHub.Uwp\Package.appxmanifest') + $xmlDoc.Save('$(Build.SourcesDirectory)\src\FluentHub.App\Package.appxmanifest') failOnStderr: true - task: DownloadSecureFile@1 @@ -133,7 +133,7 @@ jobs: inputs: SourceFolder: '$(Agent.TempDirectory)' Contents: '$(CredentialSecureFile.secureFilePath)' - TargetFolder: '$(Build.SourcesDirectory)\src\FluentHub.Uwp' + TargetFolder: '$(Build.SourcesDirectory)\src\FluentHub.App' - task: DownloadSecureFile@1 name: caCertificate @@ -190,12 +190,12 @@ jobs: inputs: targetType: 'inline' script: | - [xml]$xmlDoc = Get-Content $(Build.SourcesDirectory)\src\FluentHub.Uwp\Package.appxmanifest + [xml]$xmlDoc = Get-Content $(Build.SourcesDirectory)\src\FluentHub.App\Package.appxmanifest $xmlDoc.Package.Identity.Name="49462fluenthub-uwp.FluentHub" $xmlDoc.Package.Identity.Publisher="CN=4E3C0825-4D00-4ECC-89F8-528E9200B125" $xmlDoc.Package.Properties.DisplayName="FluentHub Dev" $xmlDoc.Package.Applications.Application.VisualElements.DisplayName="FluentHub Dev" - $xmlDoc.Save('$(Build.SourcesDirectory)\src\FluentHub.Uwp\Package.appxmanifest') + $xmlDoc.Save('$(Build.SourcesDirectory)\src\FluentHub.App\Package.appxmanifest') failOnStderr: true - task: DownloadSecureFile@1 @@ -209,7 +209,7 @@ jobs: inputs: SourceFolder: '$(Agent.TempDirectory)' Contents: '$(CredentialSecureFile.secureFilePath)' - TargetFolder: '$(Build.SourcesDirectory)\src\FluentHub.Uwp' + TargetFolder: '$(Build.SourcesDirectory)\src\FluentHub.App' - task: DownloadSecureFile@1 name: caCertificate diff --git a/crowdin.yml b/crowdin.yml index 9819b0a2f..76d7904e6 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -1,4 +1,4 @@ commit_message: 'Updated app translations by Crowdin' files: - - source: /src/FluentHub.Uwp/Strings/en-US/*.resw - translation: /src/FluentHub.Uwp/Strings/%locale%/%original_file_name% + - source: /src/FluentHub.App/Strings/en-US/*.resw + translation: /src/FluentHub.App/Strings/%locale%/%original_file_name% diff --git a/lib/octokit.graphql.net b/lib/octokit.graphql.net deleted file mode 160000 index a0f763923..000000000 --- a/lib/octokit.graphql.net +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a0f7639234385cd4b01557cccc6d9cca0efce2fd diff --git a/src/FluentHub.Uwp/App.xaml b/src/FluentHub.App/App.xaml similarity index 59% rename from src/FluentHub.Uwp/App.xaml rename to src/FluentHub.App/App.xaml index b0c38f3a6..26f4e3219 100644 --- a/src/FluentHub.Uwp/App.xaml +++ b/src/FluentHub.App/App.xaml @@ -1,14 +1,17 @@  + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + /Assets/Glyphs/Octicons.ttf#Octions + - + + + @@ -63,6 +66,7 @@ + @@ -72,94 +76,13 @@ + + + - - - - - #0d1017 - #151b22 - #21262e - #30373d - #484f58 - #6e7681 - #8b939e - #afbac5 - #c9d1d9 - #f0f6fc - #051d4d - #0d2d6b - #0d419d - #1158c7 - #206feb - #388bfd - #58a6ff - #79c0ff - #a5d6ff - #cae8ff - #271051 - #3c1e70 - #553098 - #6e40c9 - #8957e5 - #a371f7 - #bc8cff - #d2a8ff - #e2c5ff - #edddff - #42062b - #5d103e - #7d2457 - #9e3670 - #bf4b8a - #db61a2 - #f778ba - #ff9bce - #ffbedd - #ffdaec - #490402 - #67090d - #8e1619 - #b62324 - #da3633 - #f85149 - #ff7b72 - #ffa198 - #ffc1ba - #ffdad5 - #3d1300 - #5a1e02 - #752d09 - #9b4216 - #bd561d - #db6d28 - #f0883e - #ffa657 - #ffc680 - #ffdeb3 - #341a00 - #4b2a00 - #693e00 - #825303 - #9e6a03 - #bb800a - #d29922 - #e3b341 - #f2cc60 - #f8e3a1 - #04260f - #053a15 - #0f5322 - #186c2e - #228636 - #2ea043 - #3fb950 - #56d364 - #7ee787 - #aff5b4 - + diff --git a/src/FluentHub.App/App.xaml.cs b/src/FluentHub.App/App.xaml.cs new file mode 100644 index 000000000..e833d2e8b --- /dev/null +++ b/src/FluentHub.App/App.xaml.cs @@ -0,0 +1,249 @@ +using CommunityToolkit.Mvvm.DependencyInjection; +using CommunityToolkit.WinUI; +using CommunityToolkit.WinUI.Helpers; +using CommunityToolkit.WinUI.Notifications; +using FluentHub.App; +using FluentHub.App.Utils; +using FluentHub.App.Services; +using FluentHub.App.Services.Navigation; +using FluentHub.App.ViewModels; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.UI; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Navigation; +using Microsoft.UI.Windowing; +using Microsoft.Windows.AppLifecycle; +using Serilog; +using System; +using System.IO; +using System.Linq; +using Windows.ApplicationModel; +using Windows.Storage; + +namespace FluentHub.App +{ + public partial class App : Application + { + public new static App Current + => (App)Application.Current; + + public IServiceProvider Services { get; } + + public static SettingsViewModel AppSettings { get; set; } + + public static string AppVersion = + $"{Windows.ApplicationModel.Package.Current.Id.Version.Major}." + + $"{Windows.ApplicationModel.Package.Current.Id.Version.Minor}." + + $"{Windows.ApplicationModel.Package.Current.Id.Version.Build}." + + $"{Windows.ApplicationModel.Package.Current.Id.Version.Revision}"; + + public App() + { + InitializeComponent(); + + UnhandledException += OnUnhandledException; + TaskScheduler.UnobservedTaskException += OnUnobservedException; + + Services = ConfigureServices(); + } + + private IServiceProvider ConfigureServices() + { + return new ServiceCollection() + .AddSingleton() + .AddSingleton(new SerilogWrapperLogger(Serilog.Log.Logger)) + .AddSingleton() + .AddSingleton(StrongReferenceMessenger.Default) + // ViewModels + .AddSingleton() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .AddTransient() + .BuildServiceProvider(); + } + + private static Serilog.ILogger GetSerilogLogger() + { + string logFilePath = Path.Combine(ApplicationData.Current.LocalFolder.Path, "FluentHub.Logs/Log.log"); + + var logger = new Serilog.LoggerConfiguration() + .MinimumLevel +#if DEBUG + .Verbose() +#else + .Error() +#endif + .WriteTo + .File(logFilePath, rollingInterval: Serilog.RollingInterval.Day) + .CreateLogger(); + + return logger; + } + + private static void EnsureSettingsAndConfigurationAreBootstrapped() + { + AppSettings ??= new SettingsViewModel(); + } + + private static async Task StartAppCenter() + { + //try + //{ + // if (!AppCenter.Configured) + // { + // var file = await StorageFile.GetFileFromApplicationUriAsync(new Uri(@"ms-appx:///Resources/AppCenterKey.txt")); + // var lines = await FileIO.ReadTextAsync(file); + // using var document = System.Text.Json.JsonDocument.Parse(lines); + // var obj = document.RootElement; + // AppCenter.Start(obj.GetProperty("key").GetString(), typeof(Analytics), typeof(Crashes)); + // } + //} + //catch (Exception ex) + //{ + // Logger.Warn(ex, "AppCenter could not be started."); + //} + } + + protected override async void OnLaunched(LaunchActivatedEventArgs e) + { + var mainInstance = Microsoft.Windows.AppLifecycle.AppInstance.FindOrRegisterForKey("main"); + var activatedEventArgs = Microsoft.Windows.AppLifecycle.AppInstance.GetCurrent().GetActivatedEventArgs(); + + //if (!mainInstance.IsCurrent) + //{ + // // Redirect the activation (and args) to the "main" instance, and exit. + // await mainInstance.RedirectActivationToAsync(activatedEventArgs); + // System.Diagnostics.Process.GetCurrentProcess().Kill(); + // return; + //} + + EnsureSettingsAndConfigurationAreBootstrapped(); + + // Initialize MainWindow here + EnsureWindowIsInitialized(); + + await Window.InitializeApplication(activatedEventArgs); + } + + public async Task OnActivated(AppActivationArguments activatedEventArgs) + { + await Window.InitializeApplication(activatedEventArgs); + } + + private void EnsureWindowIsInitialized() + { + Window = new MainWindow(); + //Window.Activated += Window_Activated; + //Window.Closed += Window_Closed; + WindowHandle = WinRT.Interop.WindowNative.GetWindowHandle(Window); + } + + void OnNavigationFailed(object sender, NavigationFailedEventArgs e) + => throw new Exception("Failed to load Page " + e.SourcePageType.FullName); + + private void OnSuspending(object sender, SuspendingEventArgs e) + { + var deferral = e.SuspendingOperation.GetDeferral(); + //TODO: Save application state and stop any background activity + deferral.Complete(); + } + + private async void OnUnhandledException(object sender, Microsoft.UI.Xaml.UnhandledExceptionEventArgs e) + => await AppUnhandledException(e.Exception); + + private async void OnUnobservedException(object sender, UnobservedTaskExceptionEventArgs e) + => await AppUnhandledException(e.Exception); + + private async Task AppUnhandledException(Exception ex) + { + Services.GetService()?.Fatal("Unhandled exception", ex); + + try + { + await new Microsoft.UI.Xaml.Controls.ContentDialog + { + Title = "Unhandled exception", + Content = ex.Message, + CloseButtonText = "Close" + } + .ShowAsync(); + } + catch (Exception ex2) + { + Services.GetService()?.Error("Failed to display unhandled exception", ex2); + } + } + + public static TEnum GetEnum(string text) where TEnum : struct + { + if (!typeof(TEnum).GetType().IsEnum) + { + throw new InvalidOperationException("Generic parameter 'TEnum' must be an enum."); + } + return (TEnum)Enum.Parse(typeof(TEnum), text); + } + + public static void CloseApp() + => Window.Close(); + + public static AppWindow GetAppWindow(Window w) + { + var hWnd = WinRT.Interop.WindowNative.GetWindowHandle(w); + + Microsoft.UI.WindowId windowId = Win32Interop.GetWindowIdFromWindow(hWnd); + + return AppWindow.GetFromWindowId(windowId); + } + + public static MainWindow Window { get; private set; } = null!; + + public static IntPtr WindowHandle { get; private set; } + } +} diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/LargeTile.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Beta/LargeTile.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/LargeTile.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Beta/LargeTile.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/LargeTile.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Beta/LargeTile.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/LargeTile.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Beta/LargeTile.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/LargeTile.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Beta/LargeTile.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/LargeTile.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Beta/LargeTile.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/LargeTile.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Beta/LargeTile.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/LargeTile.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Beta/LargeTile.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/LargeTile.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Beta/LargeTile.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/LargeTile.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Beta/LargeTile.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/SmallTile.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Beta/SmallTile.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/SmallTile.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Beta/SmallTile.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/SmallTile.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Beta/SmallTile.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/SmallTile.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Beta/SmallTile.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/SmallTile.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Beta/SmallTile.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/SmallTile.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Beta/SmallTile.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/SmallTile.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Beta/SmallTile.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/SmallTile.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Beta/SmallTile.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/SmallTile.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Beta/SmallTile.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/SmallTile.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Beta/SmallTile.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/SplashScreen.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Beta/SplashScreen.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/SplashScreen.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Beta/SplashScreen.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/SplashScreen.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Beta/SplashScreen.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/SplashScreen.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Beta/SplashScreen.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/SplashScreen.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Beta/SplashScreen.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/SplashScreen.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Beta/SplashScreen.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/SplashScreen.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Beta/SplashScreen.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/SplashScreen.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Beta/SplashScreen.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/SplashScreen.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Beta/SplashScreen.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/SplashScreen.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Beta/SplashScreen.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square150x150Logo.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square150x150Logo.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square150x150Logo.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square150x150Logo.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square150x150Logo.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square150x150Logo.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square150x150Logo.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square150x150Logo.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square150x150Logo.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square150x150Logo.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square150x150Logo.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square150x150Logo.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square150x150Logo.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square150x150Logo.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square150x150Logo.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square150x150Logo.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square150x150Logo.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square150x150Logo.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square150x150Logo.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square150x150Logo.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-lightunplated_targetsize-16.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-lightunplated_targetsize-16.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-lightunplated_targetsize-16.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-lightunplated_targetsize-16.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-lightunplated_targetsize-24.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-lightunplated_targetsize-24.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-lightunplated_targetsize-24.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-lightunplated_targetsize-24.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-lightunplated_targetsize-256.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-lightunplated_targetsize-256.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-lightunplated_targetsize-256.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-lightunplated_targetsize-256.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-lightunplated_targetsize-32.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-lightunplated_targetsize-32.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-lightunplated_targetsize-32.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-lightunplated_targetsize-32.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-lightunplated_targetsize-48.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-lightunplated_targetsize-48.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-lightunplated_targetsize-48.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-lightunplated_targetsize-48.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-unplated_targetsize-16.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-unplated_targetsize-16.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-unplated_targetsize-16.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-unplated_targetsize-16.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-unplated_targetsize-24.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-unplated_targetsize-24.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-unplated_targetsize-24.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-unplated_targetsize-24.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-unplated_targetsize-256.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-unplated_targetsize-256.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-unplated_targetsize-256.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-unplated_targetsize-256.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-unplated_targetsize-32.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-unplated_targetsize-32.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-unplated_targetsize-32.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-unplated_targetsize-32.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-unplated_targetsize-48.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-unplated_targetsize-48.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.altform-unplated_targetsize-48.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.altform-unplated_targetsize-48.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.targetsize-16.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.targetsize-16.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.targetsize-16.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.targetsize-16.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.targetsize-24.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.targetsize-24.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.targetsize-24.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.targetsize-24.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.targetsize-256.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.targetsize-256.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.targetsize-256.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.targetsize-256.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.targetsize-32.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.targetsize-32.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.targetsize-32.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.targetsize-32.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.targetsize-48.png b/src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.targetsize-48.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Square44x44Logo.targetsize-48.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Square44x44Logo.targetsize-48.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/StoreLogo.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Beta/StoreLogo.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/StoreLogo.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Beta/StoreLogo.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/StoreLogo.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Beta/StoreLogo.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/StoreLogo.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Beta/StoreLogo.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/StoreLogo.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Beta/StoreLogo.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/StoreLogo.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Beta/StoreLogo.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/StoreLogo.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Beta/StoreLogo.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/StoreLogo.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Beta/StoreLogo.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/StoreLogo.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Beta/StoreLogo.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/StoreLogo.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Beta/StoreLogo.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Wide310x150Logo.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Beta/Wide310x150Logo.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Wide310x150Logo.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Wide310x150Logo.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Wide310x150Logo.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Beta/Wide310x150Logo.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Wide310x150Logo.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Wide310x150Logo.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Wide310x150Logo.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Beta/Wide310x150Logo.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Wide310x150Logo.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Wide310x150Logo.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Wide310x150Logo.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Beta/Wide310x150Logo.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Wide310x150Logo.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Wide310x150Logo.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesBeta/Wide310x150Logo.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Beta/Wide310x150Logo.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesBeta/Wide310x150Logo.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Beta/Wide310x150Logo.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/LargeTile.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Dev/LargeTile.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/LargeTile.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Dev/LargeTile.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/LargeTile.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Dev/LargeTile.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/LargeTile.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Dev/LargeTile.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/LargeTile.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Dev/LargeTile.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/LargeTile.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Dev/LargeTile.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/LargeTile.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Dev/LargeTile.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/LargeTile.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Dev/LargeTile.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/LargeTile.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Dev/LargeTile.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/LargeTile.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Dev/LargeTile.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/SmallTile.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Dev/SmallTile.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/SmallTile.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Dev/SmallTile.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/SmallTile.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Dev/SmallTile.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/SmallTile.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Dev/SmallTile.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/SmallTile.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Dev/SmallTile.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/SmallTile.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Dev/SmallTile.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/SmallTile.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Dev/SmallTile.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/SmallTile.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Dev/SmallTile.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/SmallTile.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Dev/SmallTile.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/SmallTile.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Dev/SmallTile.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/SplashScreen.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Dev/SplashScreen.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/SplashScreen.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Dev/SplashScreen.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/SplashScreen.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Dev/SplashScreen.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/SplashScreen.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Dev/SplashScreen.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/SplashScreen.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Dev/SplashScreen.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/SplashScreen.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Dev/SplashScreen.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/SplashScreen.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Dev/SplashScreen.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/SplashScreen.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Dev/SplashScreen.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/SplashScreen.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Dev/SplashScreen.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/SplashScreen.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Dev/SplashScreen.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square150x150Logo.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square150x150Logo.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square150x150Logo.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square150x150Logo.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square150x150Logo.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square150x150Logo.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square150x150Logo.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square150x150Logo.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square150x150Logo.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square150x150Logo.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square150x150Logo.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square150x150Logo.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square150x150Logo.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square150x150Logo.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square150x150Logo.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square150x150Logo.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square150x150Logo.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square150x150Logo.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square150x150Logo.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square150x150Logo.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-lightunplated_targetsize-16.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-lightunplated_targetsize-16.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-lightunplated_targetsize-16.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-lightunplated_targetsize-16.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-lightunplated_targetsize-24.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-lightunplated_targetsize-24.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-lightunplated_targetsize-24.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-lightunplated_targetsize-24.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-lightunplated_targetsize-256.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-lightunplated_targetsize-256.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-lightunplated_targetsize-256.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-lightunplated_targetsize-256.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-lightunplated_targetsize-32.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-lightunplated_targetsize-32.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-lightunplated_targetsize-32.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-lightunplated_targetsize-32.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-lightunplated_targetsize-48.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-lightunplated_targetsize-48.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-lightunplated_targetsize-48.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-lightunplated_targetsize-48.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-unplated_targetsize-16.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-unplated_targetsize-16.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-unplated_targetsize-16.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-unplated_targetsize-16.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-unplated_targetsize-24.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-unplated_targetsize-24.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-unplated_targetsize-24.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-unplated_targetsize-24.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-unplated_targetsize-256.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-unplated_targetsize-256.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-unplated_targetsize-256.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-unplated_targetsize-256.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-unplated_targetsize-32.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-unplated_targetsize-32.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-unplated_targetsize-32.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-unplated_targetsize-32.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-unplated_targetsize-48.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-unplated_targetsize-48.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.altform-unplated_targetsize-48.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.altform-unplated_targetsize-48.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.targetsize-16.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.targetsize-16.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.targetsize-16.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.targetsize-16.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.targetsize-24.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.targetsize-24.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.targetsize-24.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.targetsize-24.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.targetsize-256.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.targetsize-256.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.targetsize-256.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.targetsize-256.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.targetsize-32.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.targetsize-32.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.targetsize-32.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.targetsize-32.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.targetsize-48.png b/src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.targetsize-48.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Square44x44Logo.targetsize-48.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Square44x44Logo.targetsize-48.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/StoreLogo.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Dev/StoreLogo.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/StoreLogo.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Dev/StoreLogo.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/StoreLogo.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Dev/StoreLogo.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/StoreLogo.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Dev/StoreLogo.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/StoreLogo.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Dev/StoreLogo.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/StoreLogo.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Dev/StoreLogo.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/StoreLogo.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Dev/StoreLogo.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/StoreLogo.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Dev/StoreLogo.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/StoreLogo.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Dev/StoreLogo.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/StoreLogo.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Dev/StoreLogo.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Wide310x150Logo.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Dev/Wide310x150Logo.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Wide310x150Logo.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Wide310x150Logo.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Wide310x150Logo.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Dev/Wide310x150Logo.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Wide310x150Logo.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Wide310x150Logo.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Wide310x150Logo.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Dev/Wide310x150Logo.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Wide310x150Logo.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Wide310x150Logo.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Wide310x150Logo.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Dev/Wide310x150Logo.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Wide310x150Logo.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Wide310x150Logo.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTilesDev/Wide310x150Logo.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Dev/Wide310x150Logo.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTilesDev/Wide310x150Logo.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Dev/Wide310x150Logo.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/LargeTile.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Release/LargeTile.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/LargeTile.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Release/LargeTile.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/LargeTile.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Release/LargeTile.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/LargeTile.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Release/LargeTile.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/LargeTile.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Release/LargeTile.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/LargeTile.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Release/LargeTile.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/LargeTile.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Release/LargeTile.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/LargeTile.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Release/LargeTile.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/LargeTile.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Release/LargeTile.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/LargeTile.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Release/LargeTile.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/SmallTile.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Release/SmallTile.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/SmallTile.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Release/SmallTile.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/SmallTile.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Release/SmallTile.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/SmallTile.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Release/SmallTile.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/SmallTile.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Release/SmallTile.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/SmallTile.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Release/SmallTile.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/SmallTile.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Release/SmallTile.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/SmallTile.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Release/SmallTile.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/SmallTile.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Release/SmallTile.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/SmallTile.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Release/SmallTile.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/SplashScreen.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Release/SplashScreen.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/SplashScreen.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Release/SplashScreen.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/SplashScreen.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Release/SplashScreen.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/SplashScreen.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Release/SplashScreen.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/SplashScreen.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Release/SplashScreen.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/SplashScreen.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Release/SplashScreen.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/SplashScreen.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Release/SplashScreen.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/SplashScreen.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Release/SplashScreen.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/SplashScreen.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Release/SplashScreen.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/SplashScreen.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Release/SplashScreen.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square150x150Logo.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Release/Square150x150Logo.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square150x150Logo.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square150x150Logo.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square150x150Logo.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Release/Square150x150Logo.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square150x150Logo.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square150x150Logo.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square150x150Logo.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Release/Square150x150Logo.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square150x150Logo.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square150x150Logo.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square150x150Logo.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Release/Square150x150Logo.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square150x150Logo.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square150x150Logo.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square150x150Logo.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Release/Square150x150Logo.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square150x150Logo.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square150x150Logo.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-lightunplated_targetsize-16.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-lightunplated_targetsize-16.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-lightunplated_targetsize-16.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-lightunplated_targetsize-16.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-lightunplated_targetsize-24.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-lightunplated_targetsize-24.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-lightunplated_targetsize-24.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-lightunplated_targetsize-24.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-lightunplated_targetsize-256.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-lightunplated_targetsize-256.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-lightunplated_targetsize-256.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-lightunplated_targetsize-256.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-lightunplated_targetsize-32.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-lightunplated_targetsize-32.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-lightunplated_targetsize-32.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-lightunplated_targetsize-32.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-lightunplated_targetsize-48.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-lightunplated_targetsize-48.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-lightunplated_targetsize-48.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-lightunplated_targetsize-48.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-unplated_targetsize-16.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-unplated_targetsize-16.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-unplated_targetsize-16.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-unplated_targetsize-16.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-unplated_targetsize-24.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-unplated_targetsize-24.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-unplated_targetsize-24.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-unplated_targetsize-24.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-unplated_targetsize-256.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-unplated_targetsize-256.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-unplated_targetsize-256.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-unplated_targetsize-256.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-unplated_targetsize-32.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-unplated_targetsize-32.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-unplated_targetsize-32.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-unplated_targetsize-32.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-unplated_targetsize-48.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-unplated_targetsize-48.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.altform-unplated_targetsize-48.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.altform-unplated_targetsize-48.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.targetsize-16.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.targetsize-16.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.targetsize-16.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.targetsize-16.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.targetsize-24.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.targetsize-24.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.targetsize-24.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.targetsize-24.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.targetsize-256.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.targetsize-256.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.targetsize-256.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.targetsize-256.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.targetsize-32.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.targetsize-32.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.targetsize-32.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.targetsize-32.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.targetsize-48.png b/src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.targetsize-48.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Square44x44Logo.targetsize-48.png rename to src/FluentHub.App/Assets/AppTiles/Release/Square44x44Logo.targetsize-48.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/StoreLogo.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Release/StoreLogo.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/StoreLogo.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Release/StoreLogo.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/StoreLogo.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Release/StoreLogo.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/StoreLogo.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Release/StoreLogo.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/StoreLogo.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Release/StoreLogo.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/StoreLogo.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Release/StoreLogo.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/StoreLogo.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Release/StoreLogo.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/StoreLogo.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Release/StoreLogo.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/StoreLogo.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Release/StoreLogo.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/StoreLogo.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Release/StoreLogo.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Wide310x150Logo.scale-100.png b/src/FluentHub.App/Assets/AppTiles/Release/Wide310x150Logo.scale-100.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Wide310x150Logo.scale-100.png rename to src/FluentHub.App/Assets/AppTiles/Release/Wide310x150Logo.scale-100.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Wide310x150Logo.scale-125.png b/src/FluentHub.App/Assets/AppTiles/Release/Wide310x150Logo.scale-125.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Wide310x150Logo.scale-125.png rename to src/FluentHub.App/Assets/AppTiles/Release/Wide310x150Logo.scale-125.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Wide310x150Logo.scale-150.png b/src/FluentHub.App/Assets/AppTiles/Release/Wide310x150Logo.scale-150.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Wide310x150Logo.scale-150.png rename to src/FluentHub.App/Assets/AppTiles/Release/Wide310x150Logo.scale-150.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Wide310x150Logo.scale-200.png b/src/FluentHub.App/Assets/AppTiles/Release/Wide310x150Logo.scale-200.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Wide310x150Logo.scale-200.png rename to src/FluentHub.App/Assets/AppTiles/Release/Wide310x150Logo.scale-200.png diff --git a/src/FluentHub.Uwp/Assets/AppTiles/Wide310x150Logo.scale-400.png b/src/FluentHub.App/Assets/AppTiles/Release/Wide310x150Logo.scale-400.png similarity index 100% rename from src/FluentHub.Uwp/Assets/AppTiles/Wide310x150Logo.scale-400.png rename to src/FluentHub.App/Assets/AppTiles/Release/Wide310x150Logo.scale-400.png diff --git a/src/FluentHub.Uwp/Assets/Glyphs/Octicons.ttf b/src/FluentHub.App/Assets/Glyphs/Octicons.ttf similarity index 100% rename from src/FluentHub.Uwp/Assets/Glyphs/Octicons.ttf rename to src/FluentHub.App/Assets/Glyphs/Octicons.ttf diff --git a/src/FluentHub.Uwp/Assets/Glyphs/SegoeFluentIconsNormal.ttf b/src/FluentHub.App/Assets/Glyphs/SegoeFluentIconsNormal.ttf similarity index 100% rename from src/FluentHub.Uwp/Assets/Glyphs/SegoeFluentIconsNormal.ttf rename to src/FluentHub.App/Assets/Glyphs/SegoeFluentIconsNormal.ttf diff --git a/src/FluentHub.Uwp/Assets/Icons/About.png b/src/FluentHub.App/Assets/Icons/About.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/About.png rename to src/FluentHub.App/Assets/Icons/About.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Accounts.png b/src/FluentHub.App/Assets/Icons/Accounts.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Accounts.png rename to src/FluentHub.App/Assets/Icons/Accounts.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Activities.png b/src/FluentHub.App/Assets/Icons/Activities.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Activities.png rename to src/FluentHub.App/Assets/Icons/Activities.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Appearance.png b/src/FluentHub.App/Assets/Icons/Appearance.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Appearance.png rename to src/FluentHub.App/Assets/Icons/Appearance.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Code.png b/src/FluentHub.App/Assets/Icons/Code.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Code.png rename to src/FluentHub.App/Assets/Icons/Code.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Commits.png b/src/FluentHub.App/Assets/Icons/Commits.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Commits.png rename to src/FluentHub.App/Assets/Icons/Commits.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Discussions.png b/src/FluentHub.App/Assets/Icons/Discussions.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Discussions.png rename to src/FluentHub.App/Assets/Icons/Discussions.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Document.png b/src/FluentHub.App/Assets/Icons/Document.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Document.png rename to src/FluentHub.App/Assets/Icons/Document.png diff --git a/src/FluentHub.Uwp/Assets/Icons/FolderNoContent.png b/src/FluentHub.App/Assets/Icons/FolderNoContent.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/FolderNoContent.png rename to src/FluentHub.App/Assets/Icons/FolderNoContent.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Home.png b/src/FluentHub.App/Assets/Icons/Home.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Home.png rename to src/FluentHub.App/Assets/Icons/Home.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Insights.png b/src/FluentHub.App/Assets/Icons/Insights.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Insights.png rename to src/FluentHub.App/Assets/Icons/Insights.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Issues.png b/src/FluentHub.App/Assets/Icons/Issues.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Issues.png rename to src/FluentHub.App/Assets/Icons/Issues.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Marketplace.png b/src/FluentHub.App/Assets/Icons/Marketplace.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Marketplace.png rename to src/FluentHub.App/Assets/Icons/Marketplace.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Notifications.png b/src/FluentHub.App/Assets/Icons/Notifications.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Notifications.png rename to src/FluentHub.App/Assets/Icons/Notifications.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Organizations.png b/src/FluentHub.App/Assets/Icons/Organizations.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Organizations.png rename to src/FluentHub.App/Assets/Icons/Organizations.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Packages.png b/src/FluentHub.App/Assets/Icons/Packages.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Packages.png rename to src/FluentHub.App/Assets/Icons/Packages.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Private.png b/src/FluentHub.App/Assets/Icons/Private.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Private.png rename to src/FluentHub.App/Assets/Icons/Private.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Profile.png b/src/FluentHub.App/Assets/Icons/Profile.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Profile.png rename to src/FluentHub.App/Assets/Icons/Profile.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Projects.png b/src/FluentHub.App/Assets/Icons/Projects.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Projects.png rename to src/FluentHub.App/Assets/Icons/Projects.png diff --git a/src/FluentHub.Uwp/Assets/Icons/PullRequests.png b/src/FluentHub.App/Assets/Icons/PullRequests.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/PullRequests.png rename to src/FluentHub.App/Assets/Icons/PullRequests.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Repositories.png b/src/FluentHub.App/Assets/Icons/Repositories.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Repositories.png rename to src/FluentHub.App/Assets/Icons/Repositories.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Search.png b/src/FluentHub.App/Assets/Icons/Search.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Search.png rename to src/FluentHub.App/Assets/Icons/Search.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Settings.png b/src/FluentHub.App/Assets/Icons/Settings.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Settings.png rename to src/FluentHub.App/Assets/Icons/Settings.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Starred.png b/src/FluentHub.App/Assets/Icons/Starred.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Starred.png rename to src/FluentHub.App/Assets/Icons/Starred.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Topic.png b/src/FluentHub.App/Assets/Icons/Topic.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Topic.png rename to src/FluentHub.App/Assets/Icons/Topic.png diff --git a/src/FluentHub.Uwp/Assets/Icons/Wiki.png b/src/FluentHub.App/Assets/Icons/Wiki.png similarity index 100% rename from src/FluentHub.Uwp/Assets/Icons/Wiki.png rename to src/FluentHub.App/Assets/Icons/Wiki.png diff --git a/src/FluentHub.Uwp/Assets/OOBE/Hero.jpg b/src/FluentHub.App/Assets/OOBE/Hero.jpg similarity index 100% rename from src/FluentHub.Uwp/Assets/OOBE/Hero.jpg rename to src/FluentHub.App/Assets/OOBE/Hero.jpg diff --git a/src/FluentHub.Uwp/Assets/Octicons/accessibility-16.svg b/src/FluentHub.App/Assets/Octicons/accessibility-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/accessibility-16.svg rename to src/FluentHub.App/Assets/Octicons/accessibility-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/alert-16.svg b/src/FluentHub.App/Assets/Octicons/alert-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/alert-16.svg rename to src/FluentHub.App/Assets/Octicons/alert-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/alert-24.svg b/src/FluentHub.App/Assets/Octicons/alert-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/alert-24.svg rename to src/FluentHub.App/Assets/Octicons/alert-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/alert-fill-12.svg b/src/FluentHub.App/Assets/Octicons/alert-fill-12.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/alert-fill-12.svg rename to src/FluentHub.App/Assets/Octicons/alert-fill-12.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/apps-16.svg b/src/FluentHub.App/Assets/Octicons/apps-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/apps-16.svg rename to src/FluentHub.App/Assets/Octicons/apps-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/archive-16.svg b/src/FluentHub.App/Assets/Octicons/archive-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/archive-16.svg rename to src/FluentHub.App/Assets/Octicons/archive-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/archive-24.svg b/src/FluentHub.App/Assets/Octicons/archive-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/archive-24.svg rename to src/FluentHub.App/Assets/Octicons/archive-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/arrow-both-16.svg b/src/FluentHub.App/Assets/Octicons/arrow-both-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/arrow-both-16.svg rename to src/FluentHub.App/Assets/Octicons/arrow-both-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/arrow-both-24.svg b/src/FluentHub.App/Assets/Octicons/arrow-both-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/arrow-both-24.svg rename to src/FluentHub.App/Assets/Octicons/arrow-both-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/arrow-down-16.svg b/src/FluentHub.App/Assets/Octicons/arrow-down-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/arrow-down-16.svg rename to src/FluentHub.App/Assets/Octicons/arrow-down-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/arrow-down-24.svg b/src/FluentHub.App/Assets/Octicons/arrow-down-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/arrow-down-24.svg rename to src/FluentHub.App/Assets/Octicons/arrow-down-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/arrow-down-left-24.svg b/src/FluentHub.App/Assets/Octicons/arrow-down-left-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/arrow-down-left-24.svg rename to src/FluentHub.App/Assets/Octicons/arrow-down-left-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/arrow-down-right-24.svg b/src/FluentHub.App/Assets/Octicons/arrow-down-right-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/arrow-down-right-24.svg rename to src/FluentHub.App/Assets/Octicons/arrow-down-right-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/arrow-left-16.svg b/src/FluentHub.App/Assets/Octicons/arrow-left-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/arrow-left-16.svg rename to src/FluentHub.App/Assets/Octicons/arrow-left-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/arrow-left-24.svg b/src/FluentHub.App/Assets/Octicons/arrow-left-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/arrow-left-24.svg rename to src/FluentHub.App/Assets/Octicons/arrow-left-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/arrow-right-16.svg b/src/FluentHub.App/Assets/Octicons/arrow-right-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/arrow-right-16.svg rename to src/FluentHub.App/Assets/Octicons/arrow-right-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/arrow-right-24.svg b/src/FluentHub.App/Assets/Octicons/arrow-right-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/arrow-right-24.svg rename to src/FluentHub.App/Assets/Octicons/arrow-right-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/arrow-switch-16.svg b/src/FluentHub.App/Assets/Octicons/arrow-switch-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/arrow-switch-16.svg rename to src/FluentHub.App/Assets/Octicons/arrow-switch-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/arrow-switch-24.svg b/src/FluentHub.App/Assets/Octicons/arrow-switch-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/arrow-switch-24.svg rename to src/FluentHub.App/Assets/Octicons/arrow-switch-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/arrow-up-16.svg b/src/FluentHub.App/Assets/Octicons/arrow-up-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/arrow-up-16.svg rename to src/FluentHub.App/Assets/Octicons/arrow-up-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/arrow-up-24.svg b/src/FluentHub.App/Assets/Octicons/arrow-up-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/arrow-up-24.svg rename to src/FluentHub.App/Assets/Octicons/arrow-up-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/arrow-up-left-24.svg b/src/FluentHub.App/Assets/Octicons/arrow-up-left-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/arrow-up-left-24.svg rename to src/FluentHub.App/Assets/Octicons/arrow-up-left-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/arrow-up-right-24.svg b/src/FluentHub.App/Assets/Octicons/arrow-up-right-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/arrow-up-right-24.svg rename to src/FluentHub.App/Assets/Octicons/arrow-up-right-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/beaker-16.svg b/src/FluentHub.App/Assets/Octicons/beaker-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/beaker-16.svg rename to src/FluentHub.App/Assets/Octicons/beaker-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/beaker-24.svg b/src/FluentHub.App/Assets/Octicons/beaker-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/beaker-24.svg rename to src/FluentHub.App/Assets/Octicons/beaker-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/bell-16.svg b/src/FluentHub.App/Assets/Octicons/bell-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/bell-16.svg rename to src/FluentHub.App/Assets/Octicons/bell-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/bell-24.svg b/src/FluentHub.App/Assets/Octicons/bell-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/bell-24.svg rename to src/FluentHub.App/Assets/Octicons/bell-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/bell-fill-16.svg b/src/FluentHub.App/Assets/Octicons/bell-fill-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/bell-fill-16.svg rename to src/FluentHub.App/Assets/Octicons/bell-fill-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/bell-fill-24.svg b/src/FluentHub.App/Assets/Octicons/bell-fill-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/bell-fill-24.svg rename to src/FluentHub.App/Assets/Octicons/bell-fill-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/bell-slash-16.svg b/src/FluentHub.App/Assets/Octicons/bell-slash-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/bell-slash-16.svg rename to src/FluentHub.App/Assets/Octicons/bell-slash-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/bell-slash-24.svg b/src/FluentHub.App/Assets/Octicons/bell-slash-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/bell-slash-24.svg rename to src/FluentHub.App/Assets/Octicons/bell-slash-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/blocked-16.svg b/src/FluentHub.App/Assets/Octicons/blocked-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/blocked-16.svg rename to src/FluentHub.App/Assets/Octicons/blocked-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/blocked-24.svg b/src/FluentHub.App/Assets/Octicons/blocked-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/blocked-24.svg rename to src/FluentHub.App/Assets/Octicons/blocked-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/bold-16.svg b/src/FluentHub.App/Assets/Octicons/bold-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/bold-16.svg rename to src/FluentHub.App/Assets/Octicons/bold-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/bold-24.svg b/src/FluentHub.App/Assets/Octicons/bold-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/bold-24.svg rename to src/FluentHub.App/Assets/Octicons/bold-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/book-16.svg b/src/FluentHub.App/Assets/Octicons/book-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/book-16.svg rename to src/FluentHub.App/Assets/Octicons/book-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/book-24.svg b/src/FluentHub.App/Assets/Octicons/book-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/book-24.svg rename to src/FluentHub.App/Assets/Octicons/book-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/bookmark-16.svg b/src/FluentHub.App/Assets/Octicons/bookmark-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/bookmark-16.svg rename to src/FluentHub.App/Assets/Octicons/bookmark-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/bookmark-24.svg b/src/FluentHub.App/Assets/Octicons/bookmark-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/bookmark-24.svg rename to src/FluentHub.App/Assets/Octicons/bookmark-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/bookmark-fill-24.svg b/src/FluentHub.App/Assets/Octicons/bookmark-fill-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/bookmark-fill-24.svg rename to src/FluentHub.App/Assets/Octicons/bookmark-fill-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/bookmark-slash-16.svg b/src/FluentHub.App/Assets/Octicons/bookmark-slash-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/bookmark-slash-16.svg rename to src/FluentHub.App/Assets/Octicons/bookmark-slash-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/bookmark-slash-24.svg b/src/FluentHub.App/Assets/Octicons/bookmark-slash-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/bookmark-slash-24.svg rename to src/FluentHub.App/Assets/Octicons/bookmark-slash-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/bookmark-slash-fill-24.svg b/src/FluentHub.App/Assets/Octicons/bookmark-slash-fill-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/bookmark-slash-fill-24.svg rename to src/FluentHub.App/Assets/Octicons/bookmark-slash-fill-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/briefcase-16.svg b/src/FluentHub.App/Assets/Octicons/briefcase-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/briefcase-16.svg rename to src/FluentHub.App/Assets/Octicons/briefcase-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/briefcase-24.svg b/src/FluentHub.App/Assets/Octicons/briefcase-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/briefcase-24.svg rename to src/FluentHub.App/Assets/Octicons/briefcase-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/broadcast-16.svg b/src/FluentHub.App/Assets/Octicons/broadcast-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/broadcast-16.svg rename to src/FluentHub.App/Assets/Octicons/broadcast-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/broadcast-24.svg b/src/FluentHub.App/Assets/Octicons/broadcast-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/broadcast-24.svg rename to src/FluentHub.App/Assets/Octicons/broadcast-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/browser-16.svg b/src/FluentHub.App/Assets/Octicons/browser-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/browser-16.svg rename to src/FluentHub.App/Assets/Octicons/browser-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/browser-24.svg b/src/FluentHub.App/Assets/Octicons/browser-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/browser-24.svg rename to src/FluentHub.App/Assets/Octicons/browser-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/bug-16.svg b/src/FluentHub.App/Assets/Octicons/bug-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/bug-16.svg rename to src/FluentHub.App/Assets/Octicons/bug-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/bug-24.svg b/src/FluentHub.App/Assets/Octicons/bug-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/bug-24.svg rename to src/FluentHub.App/Assets/Octicons/bug-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/cache-16.svg b/src/FluentHub.App/Assets/Octicons/cache-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/cache-16.svg rename to src/FluentHub.App/Assets/Octicons/cache-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/calendar-16.svg b/src/FluentHub.App/Assets/Octicons/calendar-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/calendar-16.svg rename to src/FluentHub.App/Assets/Octicons/calendar-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/calendar-24.svg b/src/FluentHub.App/Assets/Octicons/calendar-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/calendar-24.svg rename to src/FluentHub.App/Assets/Octicons/calendar-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/check-16.svg b/src/FluentHub.App/Assets/Octicons/check-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/check-16.svg rename to src/FluentHub.App/Assets/Octicons/check-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/check-24.svg b/src/FluentHub.App/Assets/Octicons/check-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/check-24.svg rename to src/FluentHub.App/Assets/Octicons/check-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/check-circle-16.svg b/src/FluentHub.App/Assets/Octicons/check-circle-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/check-circle-16.svg rename to src/FluentHub.App/Assets/Octicons/check-circle-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/check-circle-24.svg b/src/FluentHub.App/Assets/Octicons/check-circle-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/check-circle-24.svg rename to src/FluentHub.App/Assets/Octicons/check-circle-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/check-circle-fill-12.svg b/src/FluentHub.App/Assets/Octicons/check-circle-fill-12.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/check-circle-fill-12.svg rename to src/FluentHub.App/Assets/Octicons/check-circle-fill-12.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/check-circle-fill-16.svg b/src/FluentHub.App/Assets/Octicons/check-circle-fill-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/check-circle-fill-16.svg rename to src/FluentHub.App/Assets/Octicons/check-circle-fill-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/check-circle-fill-24.svg b/src/FluentHub.App/Assets/Octicons/check-circle-fill-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/check-circle-fill-24.svg rename to src/FluentHub.App/Assets/Octicons/check-circle-fill-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/checkbox-16.svg b/src/FluentHub.App/Assets/Octicons/checkbox-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/checkbox-16.svg rename to src/FluentHub.App/Assets/Octicons/checkbox-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/checkbox-24.svg b/src/FluentHub.App/Assets/Octicons/checkbox-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/checkbox-24.svg rename to src/FluentHub.App/Assets/Octicons/checkbox-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/checklist-16.svg b/src/FluentHub.App/Assets/Octicons/checklist-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/checklist-16.svg rename to src/FluentHub.App/Assets/Octicons/checklist-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/checklist-24.svg b/src/FluentHub.App/Assets/Octicons/checklist-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/checklist-24.svg rename to src/FluentHub.App/Assets/Octicons/checklist-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/chevron-down-16.svg b/src/FluentHub.App/Assets/Octicons/chevron-down-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/chevron-down-16.svg rename to src/FluentHub.App/Assets/Octicons/chevron-down-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/chevron-down-24.svg b/src/FluentHub.App/Assets/Octicons/chevron-down-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/chevron-down-24.svg rename to src/FluentHub.App/Assets/Octicons/chevron-down-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/chevron-left-16.svg b/src/FluentHub.App/Assets/Octicons/chevron-left-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/chevron-left-16.svg rename to src/FluentHub.App/Assets/Octicons/chevron-left-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/chevron-left-24.svg b/src/FluentHub.App/Assets/Octicons/chevron-left-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/chevron-left-24.svg rename to src/FluentHub.App/Assets/Octicons/chevron-left-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/chevron-right-16.svg b/src/FluentHub.App/Assets/Octicons/chevron-right-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/chevron-right-16.svg rename to src/FluentHub.App/Assets/Octicons/chevron-right-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/chevron-right-24.svg b/src/FluentHub.App/Assets/Octicons/chevron-right-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/chevron-right-24.svg rename to src/FluentHub.App/Assets/Octicons/chevron-right-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/chevron-up-16.svg b/src/FluentHub.App/Assets/Octicons/chevron-up-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/chevron-up-16.svg rename to src/FluentHub.App/Assets/Octicons/chevron-up-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/chevron-up-24.svg b/src/FluentHub.App/Assets/Octicons/chevron-up-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/chevron-up-24.svg rename to src/FluentHub.App/Assets/Octicons/chevron-up-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/circle-16.svg b/src/FluentHub.App/Assets/Octicons/circle-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/circle-16.svg rename to src/FluentHub.App/Assets/Octicons/circle-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/circle-24.svg b/src/FluentHub.App/Assets/Octicons/circle-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/circle-24.svg rename to src/FluentHub.App/Assets/Octicons/circle-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/circle-slash-16.svg b/src/FluentHub.App/Assets/Octicons/circle-slash-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/circle-slash-16.svg rename to src/FluentHub.App/Assets/Octicons/circle-slash-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/circle-slash-24.svg b/src/FluentHub.App/Assets/Octicons/circle-slash-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/circle-slash-24.svg rename to src/FluentHub.App/Assets/Octicons/circle-slash-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/clock-16.svg b/src/FluentHub.App/Assets/Octicons/clock-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/clock-16.svg rename to src/FluentHub.App/Assets/Octicons/clock-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/clock-24.svg b/src/FluentHub.App/Assets/Octicons/clock-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/clock-24.svg rename to src/FluentHub.App/Assets/Octicons/clock-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/cloud-16.svg b/src/FluentHub.App/Assets/Octicons/cloud-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/cloud-16.svg rename to src/FluentHub.App/Assets/Octicons/cloud-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/cloud-24.svg b/src/FluentHub.App/Assets/Octicons/cloud-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/cloud-24.svg rename to src/FluentHub.App/Assets/Octicons/cloud-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/cloud-offline-16.svg b/src/FluentHub.App/Assets/Octicons/cloud-offline-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/cloud-offline-16.svg rename to src/FluentHub.App/Assets/Octicons/cloud-offline-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/cloud-offline-24.svg b/src/FluentHub.App/Assets/Octicons/cloud-offline-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/cloud-offline-24.svg rename to src/FluentHub.App/Assets/Octicons/cloud-offline-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/code-16.svg b/src/FluentHub.App/Assets/Octicons/code-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/code-16.svg rename to src/FluentHub.App/Assets/Octicons/code-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/code-24.svg b/src/FluentHub.App/Assets/Octicons/code-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/code-24.svg rename to src/FluentHub.App/Assets/Octicons/code-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/code-of-conduct-16.svg b/src/FluentHub.App/Assets/Octicons/code-of-conduct-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/code-of-conduct-16.svg rename to src/FluentHub.App/Assets/Octicons/code-of-conduct-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/code-of-conduct-24.svg b/src/FluentHub.App/Assets/Octicons/code-of-conduct-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/code-of-conduct-24.svg rename to src/FluentHub.App/Assets/Octicons/code-of-conduct-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/code-review-16.svg b/src/FluentHub.App/Assets/Octicons/code-review-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/code-review-16.svg rename to src/FluentHub.App/Assets/Octicons/code-review-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/code-review-24.svg b/src/FluentHub.App/Assets/Octicons/code-review-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/code-review-24.svg rename to src/FluentHub.App/Assets/Octicons/code-review-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/code-square-16.svg b/src/FluentHub.App/Assets/Octicons/code-square-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/code-square-16.svg rename to src/FluentHub.App/Assets/Octicons/code-square-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/code-square-24.svg b/src/FluentHub.App/Assets/Octicons/code-square-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/code-square-24.svg rename to src/FluentHub.App/Assets/Octicons/code-square-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/codescan-16.svg b/src/FluentHub.App/Assets/Octicons/codescan-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/codescan-16.svg rename to src/FluentHub.App/Assets/Octicons/codescan-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/codescan-24.svg b/src/FluentHub.App/Assets/Octicons/codescan-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/codescan-24.svg rename to src/FluentHub.App/Assets/Octicons/codescan-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/codescan-checkmark-16.svg b/src/FluentHub.App/Assets/Octicons/codescan-checkmark-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/codescan-checkmark-16.svg rename to src/FluentHub.App/Assets/Octicons/codescan-checkmark-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/codescan-checkmark-24.svg b/src/FluentHub.App/Assets/Octicons/codescan-checkmark-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/codescan-checkmark-24.svg rename to src/FluentHub.App/Assets/Octicons/codescan-checkmark-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/codespaces-16.svg b/src/FluentHub.App/Assets/Octicons/codespaces-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/codespaces-16.svg rename to src/FluentHub.App/Assets/Octicons/codespaces-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/codespaces-24.svg b/src/FluentHub.App/Assets/Octicons/codespaces-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/codespaces-24.svg rename to src/FluentHub.App/Assets/Octicons/codespaces-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/columns-16.svg b/src/FluentHub.App/Assets/Octicons/columns-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/columns-16.svg rename to src/FluentHub.App/Assets/Octicons/columns-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/columns-24.svg b/src/FluentHub.App/Assets/Octicons/columns-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/columns-24.svg rename to src/FluentHub.App/Assets/Octicons/columns-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/command-palette-16.svg b/src/FluentHub.App/Assets/Octicons/command-palette-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/command-palette-16.svg rename to src/FluentHub.App/Assets/Octicons/command-palette-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/command-palette-24.svg b/src/FluentHub.App/Assets/Octicons/command-palette-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/command-palette-24.svg rename to src/FluentHub.App/Assets/Octicons/command-palette-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/comment-16.svg b/src/FluentHub.App/Assets/Octicons/comment-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/comment-16.svg rename to src/FluentHub.App/Assets/Octicons/comment-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/comment-24.svg b/src/FluentHub.App/Assets/Octicons/comment-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/comment-24.svg rename to src/FluentHub.App/Assets/Octicons/comment-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/comment-discussion-16.svg b/src/FluentHub.App/Assets/Octicons/comment-discussion-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/comment-discussion-16.svg rename to src/FluentHub.App/Assets/Octicons/comment-discussion-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/comment-discussion-24.svg b/src/FluentHub.App/Assets/Octicons/comment-discussion-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/comment-discussion-24.svg rename to src/FluentHub.App/Assets/Octicons/comment-discussion-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/commit-24.svg b/src/FluentHub.App/Assets/Octicons/commit-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/commit-24.svg rename to src/FluentHub.App/Assets/Octicons/commit-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/container-16.svg b/src/FluentHub.App/Assets/Octicons/container-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/container-16.svg rename to src/FluentHub.App/Assets/Octicons/container-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/container-24.svg b/src/FluentHub.App/Assets/Octicons/container-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/container-24.svg rename to src/FluentHub.App/Assets/Octicons/container-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/copilot-16.svg b/src/FluentHub.App/Assets/Octicons/copilot-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/copilot-16.svg rename to src/FluentHub.App/Assets/Octicons/copilot-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/copilot-24.svg b/src/FluentHub.App/Assets/Octicons/copilot-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/copilot-24.svg rename to src/FluentHub.App/Assets/Octicons/copilot-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/copilot-48.svg b/src/FluentHub.App/Assets/Octicons/copilot-48.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/copilot-48.svg rename to src/FluentHub.App/Assets/Octicons/copilot-48.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/copilot-96.svg b/src/FluentHub.App/Assets/Octicons/copilot-96.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/copilot-96.svg rename to src/FluentHub.App/Assets/Octicons/copilot-96.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/copilot-error-16.svg b/src/FluentHub.App/Assets/Octicons/copilot-error-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/copilot-error-16.svg rename to src/FluentHub.App/Assets/Octicons/copilot-error-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/copilot-warning-16.svg b/src/FluentHub.App/Assets/Octicons/copilot-warning-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/copilot-warning-16.svg rename to src/FluentHub.App/Assets/Octicons/copilot-warning-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/copy-16.svg b/src/FluentHub.App/Assets/Octicons/copy-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/copy-16.svg rename to src/FluentHub.App/Assets/Octicons/copy-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/copy-24.svg b/src/FluentHub.App/Assets/Octicons/copy-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/copy-24.svg rename to src/FluentHub.App/Assets/Octicons/copy-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/cpu-16.svg b/src/FluentHub.App/Assets/Octicons/cpu-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/cpu-16.svg rename to src/FluentHub.App/Assets/Octicons/cpu-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/cpu-24.svg b/src/FluentHub.App/Assets/Octicons/cpu-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/cpu-24.svg rename to src/FluentHub.App/Assets/Octicons/cpu-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/credit-card-16.svg b/src/FluentHub.App/Assets/Octicons/credit-card-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/credit-card-16.svg rename to src/FluentHub.App/Assets/Octicons/credit-card-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/credit-card-24.svg b/src/FluentHub.App/Assets/Octicons/credit-card-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/credit-card-24.svg rename to src/FluentHub.App/Assets/Octicons/credit-card-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/cross-reference-16.svg b/src/FluentHub.App/Assets/Octicons/cross-reference-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/cross-reference-16.svg rename to src/FluentHub.App/Assets/Octicons/cross-reference-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/cross-reference-24.svg b/src/FluentHub.App/Assets/Octicons/cross-reference-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/cross-reference-24.svg rename to src/FluentHub.App/Assets/Octicons/cross-reference-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/dash-16.svg b/src/FluentHub.App/Assets/Octicons/dash-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/dash-16.svg rename to src/FluentHub.App/Assets/Octicons/dash-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/dash-24.svg b/src/FluentHub.App/Assets/Octicons/dash-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/dash-24.svg rename to src/FluentHub.App/Assets/Octicons/dash-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/database-16.svg b/src/FluentHub.App/Assets/Octicons/database-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/database-16.svg rename to src/FluentHub.App/Assets/Octicons/database-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/database-24.svg b/src/FluentHub.App/Assets/Octicons/database-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/database-24.svg rename to src/FluentHub.App/Assets/Octicons/database-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/dependabot-16.svg b/src/FluentHub.App/Assets/Octicons/dependabot-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/dependabot-16.svg rename to src/FluentHub.App/Assets/Octicons/dependabot-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/dependabot-24.svg b/src/FluentHub.App/Assets/Octicons/dependabot-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/dependabot-24.svg rename to src/FluentHub.App/Assets/Octicons/dependabot-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/desktop-download-16.svg b/src/FluentHub.App/Assets/Octicons/desktop-download-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/desktop-download-16.svg rename to src/FluentHub.App/Assets/Octicons/desktop-download-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/desktop-download-24.svg b/src/FluentHub.App/Assets/Octicons/desktop-download-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/desktop-download-24.svg rename to src/FluentHub.App/Assets/Octicons/desktop-download-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/device-camera-16.svg b/src/FluentHub.App/Assets/Octicons/device-camera-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/device-camera-16.svg rename to src/FluentHub.App/Assets/Octicons/device-camera-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/device-camera-video-16.svg b/src/FluentHub.App/Assets/Octicons/device-camera-video-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/device-camera-video-16.svg rename to src/FluentHub.App/Assets/Octicons/device-camera-video-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/device-camera-video-24.svg b/src/FluentHub.App/Assets/Octicons/device-camera-video-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/device-camera-video-24.svg rename to src/FluentHub.App/Assets/Octicons/device-camera-video-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/device-desktop-16.svg b/src/FluentHub.App/Assets/Octicons/device-desktop-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/device-desktop-16.svg rename to src/FluentHub.App/Assets/Octicons/device-desktop-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/device-desktop-24.svg b/src/FluentHub.App/Assets/Octicons/device-desktop-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/device-desktop-24.svg rename to src/FluentHub.App/Assets/Octicons/device-desktop-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/device-mobile-16.svg b/src/FluentHub.App/Assets/Octicons/device-mobile-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/device-mobile-16.svg rename to src/FluentHub.App/Assets/Octicons/device-mobile-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/device-mobile-24.svg b/src/FluentHub.App/Assets/Octicons/device-mobile-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/device-mobile-24.svg rename to src/FluentHub.App/Assets/Octicons/device-mobile-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/diamond-16.svg b/src/FluentHub.App/Assets/Octicons/diamond-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/diamond-16.svg rename to src/FluentHub.App/Assets/Octicons/diamond-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/diamond-24.svg b/src/FluentHub.App/Assets/Octicons/diamond-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/diamond-24.svg rename to src/FluentHub.App/Assets/Octicons/diamond-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/diff-16.svg b/src/FluentHub.App/Assets/Octicons/diff-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/diff-16.svg rename to src/FluentHub.App/Assets/Octicons/diff-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/diff-24.svg b/src/FluentHub.App/Assets/Octicons/diff-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/diff-24.svg rename to src/FluentHub.App/Assets/Octicons/diff-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/diff-added-16.svg b/src/FluentHub.App/Assets/Octicons/diff-added-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/diff-added-16.svg rename to src/FluentHub.App/Assets/Octicons/diff-added-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/diff-ignored-16.svg b/src/FluentHub.App/Assets/Octicons/diff-ignored-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/diff-ignored-16.svg rename to src/FluentHub.App/Assets/Octicons/diff-ignored-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/diff-modified-16.svg b/src/FluentHub.App/Assets/Octicons/diff-modified-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/diff-modified-16.svg rename to src/FluentHub.App/Assets/Octicons/diff-modified-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/diff-removed-16.svg b/src/FluentHub.App/Assets/Octicons/diff-removed-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/diff-removed-16.svg rename to src/FluentHub.App/Assets/Octicons/diff-removed-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/diff-renamed-16.svg b/src/FluentHub.App/Assets/Octicons/diff-renamed-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/diff-renamed-16.svg rename to src/FluentHub.App/Assets/Octicons/diff-renamed-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/dot-16.svg b/src/FluentHub.App/Assets/Octicons/dot-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/dot-16.svg rename to src/FluentHub.App/Assets/Octicons/dot-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/dot-24.svg b/src/FluentHub.App/Assets/Octicons/dot-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/dot-24.svg rename to src/FluentHub.App/Assets/Octicons/dot-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/dot-fill-16.svg b/src/FluentHub.App/Assets/Octicons/dot-fill-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/dot-fill-16.svg rename to src/FluentHub.App/Assets/Octicons/dot-fill-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/dot-fill-24.svg b/src/FluentHub.App/Assets/Octicons/dot-fill-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/dot-fill-24.svg rename to src/FluentHub.App/Assets/Octicons/dot-fill-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/download-16.svg b/src/FluentHub.App/Assets/Octicons/download-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/download-16.svg rename to src/FluentHub.App/Assets/Octicons/download-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/download-24.svg b/src/FluentHub.App/Assets/Octicons/download-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/download-24.svg rename to src/FluentHub.App/Assets/Octicons/download-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/duplicate-16.svg b/src/FluentHub.App/Assets/Octicons/duplicate-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/duplicate-16.svg rename to src/FluentHub.App/Assets/Octicons/duplicate-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/duplicate-24.svg b/src/FluentHub.App/Assets/Octicons/duplicate-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/duplicate-24.svg rename to src/FluentHub.App/Assets/Octicons/duplicate-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/ellipsis-16.svg b/src/FluentHub.App/Assets/Octicons/ellipsis-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/ellipsis-16.svg rename to src/FluentHub.App/Assets/Octicons/ellipsis-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/eye-16.svg b/src/FluentHub.App/Assets/Octicons/eye-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/eye-16.svg rename to src/FluentHub.App/Assets/Octicons/eye-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/eye-24.svg b/src/FluentHub.App/Assets/Octicons/eye-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/eye-24.svg rename to src/FluentHub.App/Assets/Octicons/eye-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/eye-closed-16.svg b/src/FluentHub.App/Assets/Octicons/eye-closed-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/eye-closed-16.svg rename to src/FluentHub.App/Assets/Octicons/eye-closed-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/eye-closed-24.svg b/src/FluentHub.App/Assets/Octicons/eye-closed-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/eye-closed-24.svg rename to src/FluentHub.App/Assets/Octicons/eye-closed-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/feed-discussion-16.svg b/src/FluentHub.App/Assets/Octicons/feed-discussion-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/feed-discussion-16.svg rename to src/FluentHub.App/Assets/Octicons/feed-discussion-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/feed-forked-16.svg b/src/FluentHub.App/Assets/Octicons/feed-forked-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/feed-forked-16.svg rename to src/FluentHub.App/Assets/Octicons/feed-forked-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/feed-heart-16.svg b/src/FluentHub.App/Assets/Octicons/feed-heart-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/feed-heart-16.svg rename to src/FluentHub.App/Assets/Octicons/feed-heart-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/feed-merged-16.svg b/src/FluentHub.App/Assets/Octicons/feed-merged-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/feed-merged-16.svg rename to src/FluentHub.App/Assets/Octicons/feed-merged-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/feed-person-16.svg b/src/FluentHub.App/Assets/Octicons/feed-person-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/feed-person-16.svg rename to src/FluentHub.App/Assets/Octicons/feed-person-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/feed-repo-16.svg b/src/FluentHub.App/Assets/Octicons/feed-repo-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/feed-repo-16.svg rename to src/FluentHub.App/Assets/Octicons/feed-repo-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/feed-rocket-16.svg b/src/FluentHub.App/Assets/Octicons/feed-rocket-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/feed-rocket-16.svg rename to src/FluentHub.App/Assets/Octicons/feed-rocket-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/feed-star-16.svg b/src/FluentHub.App/Assets/Octicons/feed-star-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/feed-star-16.svg rename to src/FluentHub.App/Assets/Octicons/feed-star-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/feed-tag-16.svg b/src/FluentHub.App/Assets/Octicons/feed-tag-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/feed-tag-16.svg rename to src/FluentHub.App/Assets/Octicons/feed-tag-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/feed-trophy-16.svg b/src/FluentHub.App/Assets/Octicons/feed-trophy-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/feed-trophy-16.svg rename to src/FluentHub.App/Assets/Octicons/feed-trophy-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-16.svg b/src/FluentHub.App/Assets/Octicons/file-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-16.svg rename to src/FluentHub.App/Assets/Octicons/file-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-24.svg b/src/FluentHub.App/Assets/Octicons/file-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-24.svg rename to src/FluentHub.App/Assets/Octicons/file-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-added-16.svg b/src/FluentHub.App/Assets/Octicons/file-added-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-added-16.svg rename to src/FluentHub.App/Assets/Octicons/file-added-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-badge-16.svg b/src/FluentHub.App/Assets/Octicons/file-badge-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-badge-16.svg rename to src/FluentHub.App/Assets/Octicons/file-badge-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-binary-16.svg b/src/FluentHub.App/Assets/Octicons/file-binary-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-binary-16.svg rename to src/FluentHub.App/Assets/Octicons/file-binary-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-binary-24.svg b/src/FluentHub.App/Assets/Octicons/file-binary-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-binary-24.svg rename to src/FluentHub.App/Assets/Octicons/file-binary-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-code-16.svg b/src/FluentHub.App/Assets/Octicons/file-code-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-code-16.svg rename to src/FluentHub.App/Assets/Octicons/file-code-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-code-24.svg b/src/FluentHub.App/Assets/Octicons/file-code-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-code-24.svg rename to src/FluentHub.App/Assets/Octicons/file-code-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-diff-16.svg b/src/FluentHub.App/Assets/Octicons/file-diff-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-diff-16.svg rename to src/FluentHub.App/Assets/Octicons/file-diff-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-diff-24.svg b/src/FluentHub.App/Assets/Octicons/file-diff-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-diff-24.svg rename to src/FluentHub.App/Assets/Octicons/file-diff-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-directory-16.svg b/src/FluentHub.App/Assets/Octicons/file-directory-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-directory-16.svg rename to src/FluentHub.App/Assets/Octicons/file-directory-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-directory-24.svg b/src/FluentHub.App/Assets/Octicons/file-directory-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-directory-24.svg rename to src/FluentHub.App/Assets/Octicons/file-directory-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-directory-fill-16.svg b/src/FluentHub.App/Assets/Octicons/file-directory-fill-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-directory-fill-16.svg rename to src/FluentHub.App/Assets/Octicons/file-directory-fill-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-directory-fill-24.svg b/src/FluentHub.App/Assets/Octicons/file-directory-fill-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-directory-fill-24.svg rename to src/FluentHub.App/Assets/Octicons/file-directory-fill-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-directory-open-fill-16.svg b/src/FluentHub.App/Assets/Octicons/file-directory-open-fill-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-directory-open-fill-16.svg rename to src/FluentHub.App/Assets/Octicons/file-directory-open-fill-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-media-24.svg b/src/FluentHub.App/Assets/Octicons/file-media-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-media-24.svg rename to src/FluentHub.App/Assets/Octicons/file-media-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-moved-16.svg b/src/FluentHub.App/Assets/Octicons/file-moved-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-moved-16.svg rename to src/FluentHub.App/Assets/Octicons/file-moved-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-removed-16.svg b/src/FluentHub.App/Assets/Octicons/file-removed-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-removed-16.svg rename to src/FluentHub.App/Assets/Octicons/file-removed-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-submodule-16.svg b/src/FluentHub.App/Assets/Octicons/file-submodule-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-submodule-16.svg rename to src/FluentHub.App/Assets/Octicons/file-submodule-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-submodule-24.svg b/src/FluentHub.App/Assets/Octicons/file-submodule-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-submodule-24.svg rename to src/FluentHub.App/Assets/Octicons/file-submodule-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-symlink-file-16.svg b/src/FluentHub.App/Assets/Octicons/file-symlink-file-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-symlink-file-16.svg rename to src/FluentHub.App/Assets/Octicons/file-symlink-file-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-symlink-file-24.svg b/src/FluentHub.App/Assets/Octicons/file-symlink-file-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-symlink-file-24.svg rename to src/FluentHub.App/Assets/Octicons/file-symlink-file-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-zip-16.svg b/src/FluentHub.App/Assets/Octicons/file-zip-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-zip-16.svg rename to src/FluentHub.App/Assets/Octicons/file-zip-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/file-zip-24.svg b/src/FluentHub.App/Assets/Octicons/file-zip-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/file-zip-24.svg rename to src/FluentHub.App/Assets/Octicons/file-zip-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/filter-16.svg b/src/FluentHub.App/Assets/Octicons/filter-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/filter-16.svg rename to src/FluentHub.App/Assets/Octicons/filter-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/filter-24.svg b/src/FluentHub.App/Assets/Octicons/filter-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/filter-24.svg rename to src/FluentHub.App/Assets/Octicons/filter-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/flame-16.svg b/src/FluentHub.App/Assets/Octicons/flame-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/flame-16.svg rename to src/FluentHub.App/Assets/Octicons/flame-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/flame-24.svg b/src/FluentHub.App/Assets/Octicons/flame-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/flame-24.svg rename to src/FluentHub.App/Assets/Octicons/flame-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/fold-16.svg b/src/FluentHub.App/Assets/Octicons/fold-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/fold-16.svg rename to src/FluentHub.App/Assets/Octicons/fold-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/fold-24.svg b/src/FluentHub.App/Assets/Octicons/fold-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/fold-24.svg rename to src/FluentHub.App/Assets/Octicons/fold-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/fold-down-16.svg b/src/FluentHub.App/Assets/Octicons/fold-down-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/fold-down-16.svg rename to src/FluentHub.App/Assets/Octicons/fold-down-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/fold-down-24.svg b/src/FluentHub.App/Assets/Octicons/fold-down-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/fold-down-24.svg rename to src/FluentHub.App/Assets/Octicons/fold-down-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/fold-up-16.svg b/src/FluentHub.App/Assets/Octicons/fold-up-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/fold-up-16.svg rename to src/FluentHub.App/Assets/Octicons/fold-up-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/fold-up-24.svg b/src/FluentHub.App/Assets/Octicons/fold-up-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/fold-up-24.svg rename to src/FluentHub.App/Assets/Octicons/fold-up-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/gear-16.svg b/src/FluentHub.App/Assets/Octicons/gear-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/gear-16.svg rename to src/FluentHub.App/Assets/Octicons/gear-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/gear-24.svg b/src/FluentHub.App/Assets/Octicons/gear-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/gear-24.svg rename to src/FluentHub.App/Assets/Octicons/gear-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/gift-16.svg b/src/FluentHub.App/Assets/Octicons/gift-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/gift-16.svg rename to src/FluentHub.App/Assets/Octicons/gift-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/gift-24.svg b/src/FluentHub.App/Assets/Octicons/gift-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/gift-24.svg rename to src/FluentHub.App/Assets/Octicons/gift-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/git-branch-16.svg b/src/FluentHub.App/Assets/Octicons/git-branch-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/git-branch-16.svg rename to src/FluentHub.App/Assets/Octicons/git-branch-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/git-branch-24.svg b/src/FluentHub.App/Assets/Octicons/git-branch-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/git-branch-24.svg rename to src/FluentHub.App/Assets/Octicons/git-branch-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/git-commit-16.svg b/src/FluentHub.App/Assets/Octicons/git-commit-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/git-commit-16.svg rename to src/FluentHub.App/Assets/Octicons/git-commit-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/git-commit-24.svg b/src/FluentHub.App/Assets/Octicons/git-commit-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/git-commit-24.svg rename to src/FluentHub.App/Assets/Octicons/git-commit-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/git-compare-16.svg b/src/FluentHub.App/Assets/Octicons/git-compare-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/git-compare-16.svg rename to src/FluentHub.App/Assets/Octicons/git-compare-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/git-compare-24.svg b/src/FluentHub.App/Assets/Octicons/git-compare-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/git-compare-24.svg rename to src/FluentHub.App/Assets/Octicons/git-compare-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/git-merge-16.svg b/src/FluentHub.App/Assets/Octicons/git-merge-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/git-merge-16.svg rename to src/FluentHub.App/Assets/Octicons/git-merge-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/git-merge-24.svg b/src/FluentHub.App/Assets/Octicons/git-merge-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/git-merge-24.svg rename to src/FluentHub.App/Assets/Octicons/git-merge-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/git-merge-queue-16.svg b/src/FluentHub.App/Assets/Octicons/git-merge-queue-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/git-merge-queue-16.svg rename to src/FluentHub.App/Assets/Octicons/git-merge-queue-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/git-pull-request-16.svg b/src/FluentHub.App/Assets/Octicons/git-pull-request-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/git-pull-request-16.svg rename to src/FluentHub.App/Assets/Octicons/git-pull-request-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/git-pull-request-24.svg b/src/FluentHub.App/Assets/Octicons/git-pull-request-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/git-pull-request-24.svg rename to src/FluentHub.App/Assets/Octicons/git-pull-request-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/git-pull-request-closed-16.svg b/src/FluentHub.App/Assets/Octicons/git-pull-request-closed-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/git-pull-request-closed-16.svg rename to src/FluentHub.App/Assets/Octicons/git-pull-request-closed-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/git-pull-request-closed-24.svg b/src/FluentHub.App/Assets/Octicons/git-pull-request-closed-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/git-pull-request-closed-24.svg rename to src/FluentHub.App/Assets/Octicons/git-pull-request-closed-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/git-pull-request-draft-16.svg b/src/FluentHub.App/Assets/Octicons/git-pull-request-draft-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/git-pull-request-draft-16.svg rename to src/FluentHub.App/Assets/Octicons/git-pull-request-draft-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/git-pull-request-draft-24.svg b/src/FluentHub.App/Assets/Octicons/git-pull-request-draft-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/git-pull-request-draft-24.svg rename to src/FluentHub.App/Assets/Octicons/git-pull-request-draft-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/globe-16.svg b/src/FluentHub.App/Assets/Octicons/globe-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/globe-16.svg rename to src/FluentHub.App/Assets/Octicons/globe-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/globe-24.svg b/src/FluentHub.App/Assets/Octicons/globe-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/globe-24.svg rename to src/FluentHub.App/Assets/Octicons/globe-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/grabber-16.svg b/src/FluentHub.App/Assets/Octicons/grabber-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/grabber-16.svg rename to src/FluentHub.App/Assets/Octicons/grabber-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/grabber-24.svg b/src/FluentHub.App/Assets/Octicons/grabber-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/grabber-24.svg rename to src/FluentHub.App/Assets/Octicons/grabber-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/graph-16.svg b/src/FluentHub.App/Assets/Octicons/graph-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/graph-16.svg rename to src/FluentHub.App/Assets/Octicons/graph-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/graph-24.svg b/src/FluentHub.App/Assets/Octicons/graph-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/graph-24.svg rename to src/FluentHub.App/Assets/Octicons/graph-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/hash-16.svg b/src/FluentHub.App/Assets/Octicons/hash-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/hash-16.svg rename to src/FluentHub.App/Assets/Octicons/hash-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/hash-24.svg b/src/FluentHub.App/Assets/Octicons/hash-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/hash-24.svg rename to src/FluentHub.App/Assets/Octicons/hash-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/heading-16.svg b/src/FluentHub.App/Assets/Octicons/heading-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/heading-16.svg rename to src/FluentHub.App/Assets/Octicons/heading-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/heading-24.svg b/src/FluentHub.App/Assets/Octicons/heading-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/heading-24.svg rename to src/FluentHub.App/Assets/Octicons/heading-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/heart-16.svg b/src/FluentHub.App/Assets/Octicons/heart-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/heart-16.svg rename to src/FluentHub.App/Assets/Octicons/heart-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/heart-24.svg b/src/FluentHub.App/Assets/Octicons/heart-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/heart-24.svg rename to src/FluentHub.App/Assets/Octicons/heart-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/heart-fill-16.svg b/src/FluentHub.App/Assets/Octicons/heart-fill-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/heart-fill-16.svg rename to src/FluentHub.App/Assets/Octicons/heart-fill-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/heart-fill-24.svg b/src/FluentHub.App/Assets/Octicons/heart-fill-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/heart-fill-24.svg rename to src/FluentHub.App/Assets/Octicons/heart-fill-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/history-16.svg b/src/FluentHub.App/Assets/Octicons/history-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/history-16.svg rename to src/FluentHub.App/Assets/Octicons/history-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/history-24.svg b/src/FluentHub.App/Assets/Octicons/history-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/history-24.svg rename to src/FluentHub.App/Assets/Octicons/history-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/home-16.svg b/src/FluentHub.App/Assets/Octicons/home-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/home-16.svg rename to src/FluentHub.App/Assets/Octicons/home-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/home-24.svg b/src/FluentHub.App/Assets/Octicons/home-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/home-24.svg rename to src/FluentHub.App/Assets/Octicons/home-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/home-fill-24.svg b/src/FluentHub.App/Assets/Octicons/home-fill-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/home-fill-24.svg rename to src/FluentHub.App/Assets/Octicons/home-fill-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/horizontal-rule-16.svg b/src/FluentHub.App/Assets/Octicons/horizontal-rule-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/horizontal-rule-16.svg rename to src/FluentHub.App/Assets/Octicons/horizontal-rule-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/horizontal-rule-24.svg b/src/FluentHub.App/Assets/Octicons/horizontal-rule-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/horizontal-rule-24.svg rename to src/FluentHub.App/Assets/Octicons/horizontal-rule-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/hourglass-16.svg b/src/FluentHub.App/Assets/Octicons/hourglass-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/hourglass-16.svg rename to src/FluentHub.App/Assets/Octicons/hourglass-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/hourglass-24.svg b/src/FluentHub.App/Assets/Octicons/hourglass-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/hourglass-24.svg rename to src/FluentHub.App/Assets/Octicons/hourglass-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/hubot-16.svg b/src/FluentHub.App/Assets/Octicons/hubot-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/hubot-16.svg rename to src/FluentHub.App/Assets/Octicons/hubot-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/hubot-24.svg b/src/FluentHub.App/Assets/Octicons/hubot-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/hubot-24.svg rename to src/FluentHub.App/Assets/Octicons/hubot-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/id-badge-16.svg b/src/FluentHub.App/Assets/Octicons/id-badge-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/id-badge-16.svg rename to src/FluentHub.App/Assets/Octicons/id-badge-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/image-16.svg b/src/FluentHub.App/Assets/Octicons/image-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/image-16.svg rename to src/FluentHub.App/Assets/Octicons/image-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/image-24.svg b/src/FluentHub.App/Assets/Octicons/image-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/image-24.svg rename to src/FluentHub.App/Assets/Octicons/image-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/inbox-16.svg b/src/FluentHub.App/Assets/Octicons/inbox-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/inbox-16.svg rename to src/FluentHub.App/Assets/Octicons/inbox-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/inbox-24.svg b/src/FluentHub.App/Assets/Octicons/inbox-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/inbox-24.svg rename to src/FluentHub.App/Assets/Octicons/inbox-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/infinity-16.svg b/src/FluentHub.App/Assets/Octicons/infinity-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/infinity-16.svg rename to src/FluentHub.App/Assets/Octicons/infinity-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/infinity-24.svg b/src/FluentHub.App/Assets/Octicons/infinity-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/infinity-24.svg rename to src/FluentHub.App/Assets/Octicons/infinity-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/info-16.svg b/src/FluentHub.App/Assets/Octicons/info-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/info-16.svg rename to src/FluentHub.App/Assets/Octicons/info-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/info-24.svg b/src/FluentHub.App/Assets/Octicons/info-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/info-24.svg rename to src/FluentHub.App/Assets/Octicons/info-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/issue-closed-16.svg b/src/FluentHub.App/Assets/Octicons/issue-closed-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/issue-closed-16.svg rename to src/FluentHub.App/Assets/Octicons/issue-closed-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/issue-closed-24.svg b/src/FluentHub.App/Assets/Octicons/issue-closed-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/issue-closed-24.svg rename to src/FluentHub.App/Assets/Octicons/issue-closed-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/issue-draft-16.svg b/src/FluentHub.App/Assets/Octicons/issue-draft-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/issue-draft-16.svg rename to src/FluentHub.App/Assets/Octicons/issue-draft-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/issue-draft-24.svg b/src/FluentHub.App/Assets/Octicons/issue-draft-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/issue-draft-24.svg rename to src/FluentHub.App/Assets/Octicons/issue-draft-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/issue-opened-16.svg b/src/FluentHub.App/Assets/Octicons/issue-opened-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/issue-opened-16.svg rename to src/FluentHub.App/Assets/Octicons/issue-opened-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/issue-opened-24.svg b/src/FluentHub.App/Assets/Octicons/issue-opened-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/issue-opened-24.svg rename to src/FluentHub.App/Assets/Octicons/issue-opened-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/issue-reopened-16.svg b/src/FluentHub.App/Assets/Octicons/issue-reopened-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/issue-reopened-16.svg rename to src/FluentHub.App/Assets/Octicons/issue-reopened-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/issue-reopened-24.svg b/src/FluentHub.App/Assets/Octicons/issue-reopened-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/issue-reopened-24.svg rename to src/FluentHub.App/Assets/Octicons/issue-reopened-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/italic-16.svg b/src/FluentHub.App/Assets/Octicons/italic-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/italic-16.svg rename to src/FluentHub.App/Assets/Octicons/italic-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/italic-24.svg b/src/FluentHub.App/Assets/Octicons/italic-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/italic-24.svg rename to src/FluentHub.App/Assets/Octicons/italic-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/iterations-16.svg b/src/FluentHub.App/Assets/Octicons/iterations-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/iterations-16.svg rename to src/FluentHub.App/Assets/Octicons/iterations-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/iterations-24.svg b/src/FluentHub.App/Assets/Octicons/iterations-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/iterations-24.svg rename to src/FluentHub.App/Assets/Octicons/iterations-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/kebab-horizontal-16.svg b/src/FluentHub.App/Assets/Octicons/kebab-horizontal-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/kebab-horizontal-16.svg rename to src/FluentHub.App/Assets/Octicons/kebab-horizontal-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/kebab-horizontal-24.svg b/src/FluentHub.App/Assets/Octicons/kebab-horizontal-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/kebab-horizontal-24.svg rename to src/FluentHub.App/Assets/Octicons/kebab-horizontal-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/key-16.svg b/src/FluentHub.App/Assets/Octicons/key-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/key-16.svg rename to src/FluentHub.App/Assets/Octicons/key-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/key-24.svg b/src/FluentHub.App/Assets/Octicons/key-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/key-24.svg rename to src/FluentHub.App/Assets/Octicons/key-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/key-asterisk-16.svg b/src/FluentHub.App/Assets/Octicons/key-asterisk-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/key-asterisk-16.svg rename to src/FluentHub.App/Assets/Octicons/key-asterisk-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/law-16.svg b/src/FluentHub.App/Assets/Octicons/law-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/law-16.svg rename to src/FluentHub.App/Assets/Octicons/law-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/law-24.svg b/src/FluentHub.App/Assets/Octicons/law-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/law-24.svg rename to src/FluentHub.App/Assets/Octicons/law-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/light-bulb-16.svg b/src/FluentHub.App/Assets/Octicons/light-bulb-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/light-bulb-16.svg rename to src/FluentHub.App/Assets/Octicons/light-bulb-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/light-bulb-24.svg b/src/FluentHub.App/Assets/Octicons/light-bulb-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/light-bulb-24.svg rename to src/FluentHub.App/Assets/Octicons/light-bulb-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/link-16.svg b/src/FluentHub.App/Assets/Octicons/link-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/link-16.svg rename to src/FluentHub.App/Assets/Octicons/link-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/link-24.svg b/src/FluentHub.App/Assets/Octicons/link-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/link-24.svg rename to src/FluentHub.App/Assets/Octicons/link-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/link-external-16.svg b/src/FluentHub.App/Assets/Octicons/link-external-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/link-external-16.svg rename to src/FluentHub.App/Assets/Octicons/link-external-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/link-external-24.svg b/src/FluentHub.App/Assets/Octicons/link-external-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/link-external-24.svg rename to src/FluentHub.App/Assets/Octicons/link-external-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/list-ordered-16.svg b/src/FluentHub.App/Assets/Octicons/list-ordered-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/list-ordered-16.svg rename to src/FluentHub.App/Assets/Octicons/list-ordered-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/list-ordered-24.svg b/src/FluentHub.App/Assets/Octicons/list-ordered-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/list-ordered-24.svg rename to src/FluentHub.App/Assets/Octicons/list-ordered-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/list-unordered-16.svg b/src/FluentHub.App/Assets/Octicons/list-unordered-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/list-unordered-16.svg rename to src/FluentHub.App/Assets/Octicons/list-unordered-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/list-unordered-24.svg b/src/FluentHub.App/Assets/Octicons/list-unordered-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/list-unordered-24.svg rename to src/FluentHub.App/Assets/Octicons/list-unordered-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/location-16.svg b/src/FluentHub.App/Assets/Octicons/location-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/location-16.svg rename to src/FluentHub.App/Assets/Octicons/location-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/location-24.svg b/src/FluentHub.App/Assets/Octicons/location-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/location-24.svg rename to src/FluentHub.App/Assets/Octicons/location-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/lock-16.svg b/src/FluentHub.App/Assets/Octicons/lock-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/lock-16.svg rename to src/FluentHub.App/Assets/Octicons/lock-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/lock-24.svg b/src/FluentHub.App/Assets/Octicons/lock-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/lock-24.svg rename to src/FluentHub.App/Assets/Octicons/lock-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/log-16.svg b/src/FluentHub.App/Assets/Octicons/log-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/log-16.svg rename to src/FluentHub.App/Assets/Octicons/log-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/logo-gist-16.svg b/src/FluentHub.App/Assets/Octicons/logo-gist-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/logo-gist-16.svg rename to src/FluentHub.App/Assets/Octicons/logo-gist-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/logo-github-16.svg b/src/FluentHub.App/Assets/Octicons/logo-github-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/logo-github-16.svg rename to src/FluentHub.App/Assets/Octicons/logo-github-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/mail-16.svg b/src/FluentHub.App/Assets/Octicons/mail-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/mail-16.svg rename to src/FluentHub.App/Assets/Octicons/mail-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/mail-24.svg b/src/FluentHub.App/Assets/Octicons/mail-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/mail-24.svg rename to src/FluentHub.App/Assets/Octicons/mail-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/mark-github-16.svg b/src/FluentHub.App/Assets/Octicons/mark-github-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/mark-github-16.svg rename to src/FluentHub.App/Assets/Octicons/mark-github-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/markdown-16.svg b/src/FluentHub.App/Assets/Octicons/markdown-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/markdown-16.svg rename to src/FluentHub.App/Assets/Octicons/markdown-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/megaphone-16.svg b/src/FluentHub.App/Assets/Octicons/megaphone-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/megaphone-16.svg rename to src/FluentHub.App/Assets/Octicons/megaphone-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/megaphone-24.svg b/src/FluentHub.App/Assets/Octicons/megaphone-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/megaphone-24.svg rename to src/FluentHub.App/Assets/Octicons/megaphone-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/mention-16.svg b/src/FluentHub.App/Assets/Octicons/mention-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/mention-16.svg rename to src/FluentHub.App/Assets/Octicons/mention-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/mention-24.svg b/src/FluentHub.App/Assets/Octicons/mention-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/mention-24.svg rename to src/FluentHub.App/Assets/Octicons/mention-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/meter-16.svg b/src/FluentHub.App/Assets/Octicons/meter-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/meter-16.svg rename to src/FluentHub.App/Assets/Octicons/meter-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/milestone-16.svg b/src/FluentHub.App/Assets/Octicons/milestone-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/milestone-16.svg rename to src/FluentHub.App/Assets/Octicons/milestone-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/milestone-24.svg b/src/FluentHub.App/Assets/Octicons/milestone-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/milestone-24.svg rename to src/FluentHub.App/Assets/Octicons/milestone-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/mirror-16.svg b/src/FluentHub.App/Assets/Octicons/mirror-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/mirror-16.svg rename to src/FluentHub.App/Assets/Octicons/mirror-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/mirror-24.svg b/src/FluentHub.App/Assets/Octicons/mirror-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/mirror-24.svg rename to src/FluentHub.App/Assets/Octicons/mirror-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/moon-16.svg b/src/FluentHub.App/Assets/Octicons/moon-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/moon-16.svg rename to src/FluentHub.App/Assets/Octicons/moon-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/moon-24.svg b/src/FluentHub.App/Assets/Octicons/moon-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/moon-24.svg rename to src/FluentHub.App/Assets/Octicons/moon-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/mortar-board-16.svg b/src/FluentHub.App/Assets/Octicons/mortar-board-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/mortar-board-16.svg rename to src/FluentHub.App/Assets/Octicons/mortar-board-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/mortar-board-24.svg b/src/FluentHub.App/Assets/Octicons/mortar-board-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/mortar-board-24.svg rename to src/FluentHub.App/Assets/Octicons/mortar-board-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/multi-select-16.svg b/src/FluentHub.App/Assets/Octicons/multi-select-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/multi-select-16.svg rename to src/FluentHub.App/Assets/Octicons/multi-select-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/multi-select-24.svg b/src/FluentHub.App/Assets/Octicons/multi-select-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/multi-select-24.svg rename to src/FluentHub.App/Assets/Octicons/multi-select-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/mute-16.svg b/src/FluentHub.App/Assets/Octicons/mute-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/mute-16.svg rename to src/FluentHub.App/Assets/Octicons/mute-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/mute-24.svg b/src/FluentHub.App/Assets/Octicons/mute-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/mute-24.svg rename to src/FluentHub.App/Assets/Octicons/mute-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/no-entry-16.svg b/src/FluentHub.App/Assets/Octicons/no-entry-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/no-entry-16.svg rename to src/FluentHub.App/Assets/Octicons/no-entry-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/no-entry-24.svg b/src/FluentHub.App/Assets/Octicons/no-entry-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/no-entry-24.svg rename to src/FluentHub.App/Assets/Octicons/no-entry-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/no-entry-fill-12.svg b/src/FluentHub.App/Assets/Octicons/no-entry-fill-12.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/no-entry-fill-12.svg rename to src/FluentHub.App/Assets/Octicons/no-entry-fill-12.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/north-star-16.svg b/src/FluentHub.App/Assets/Octicons/north-star-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/north-star-16.svg rename to src/FluentHub.App/Assets/Octicons/north-star-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/north-star-24.svg b/src/FluentHub.App/Assets/Octicons/north-star-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/north-star-24.svg rename to src/FluentHub.App/Assets/Octicons/north-star-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/note-16.svg b/src/FluentHub.App/Assets/Octicons/note-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/note-16.svg rename to src/FluentHub.App/Assets/Octicons/note-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/note-24.svg b/src/FluentHub.App/Assets/Octicons/note-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/note-24.svg rename to src/FluentHub.App/Assets/Octicons/note-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/number-16.svg b/src/FluentHub.App/Assets/Octicons/number-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/number-16.svg rename to src/FluentHub.App/Assets/Octicons/number-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/number-24.svg b/src/FluentHub.App/Assets/Octicons/number-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/number-24.svg rename to src/FluentHub.App/Assets/Octicons/number-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/organization-16.svg b/src/FluentHub.App/Assets/Octicons/organization-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/organization-16.svg rename to src/FluentHub.App/Assets/Octicons/organization-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/organization-24.svg b/src/FluentHub.App/Assets/Octicons/organization-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/organization-24.svg rename to src/FluentHub.App/Assets/Octicons/organization-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/package-16.svg b/src/FluentHub.App/Assets/Octicons/package-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/package-16.svg rename to src/FluentHub.App/Assets/Octicons/package-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/package-24.svg b/src/FluentHub.App/Assets/Octicons/package-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/package-24.svg rename to src/FluentHub.App/Assets/Octicons/package-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/package-dependencies-16.svg b/src/FluentHub.App/Assets/Octicons/package-dependencies-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/package-dependencies-16.svg rename to src/FluentHub.App/Assets/Octicons/package-dependencies-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/package-dependencies-24.svg b/src/FluentHub.App/Assets/Octicons/package-dependencies-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/package-dependencies-24.svg rename to src/FluentHub.App/Assets/Octicons/package-dependencies-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/package-dependents-16.svg b/src/FluentHub.App/Assets/Octicons/package-dependents-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/package-dependents-16.svg rename to src/FluentHub.App/Assets/Octicons/package-dependents-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/package-dependents-24.svg b/src/FluentHub.App/Assets/Octicons/package-dependents-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/package-dependents-24.svg rename to src/FluentHub.App/Assets/Octicons/package-dependents-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/paintbrush-16.svg b/src/FluentHub.App/Assets/Octicons/paintbrush-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/paintbrush-16.svg rename to src/FluentHub.App/Assets/Octicons/paintbrush-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/paper-airplane-16.svg b/src/FluentHub.App/Assets/Octicons/paper-airplane-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/paper-airplane-16.svg rename to src/FluentHub.App/Assets/Octicons/paper-airplane-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/paper-airplane-24.svg b/src/FluentHub.App/Assets/Octicons/paper-airplane-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/paper-airplane-24.svg rename to src/FluentHub.App/Assets/Octicons/paper-airplane-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/paperclip-16.svg b/src/FluentHub.App/Assets/Octicons/paperclip-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/paperclip-16.svg rename to src/FluentHub.App/Assets/Octicons/paperclip-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/paperclip-24.svg b/src/FluentHub.App/Assets/Octicons/paperclip-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/paperclip-24.svg rename to src/FluentHub.App/Assets/Octicons/paperclip-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/paste-16.svg b/src/FluentHub.App/Assets/Octicons/paste-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/paste-16.svg rename to src/FluentHub.App/Assets/Octicons/paste-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/paste-24.svg b/src/FluentHub.App/Assets/Octicons/paste-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/paste-24.svg rename to src/FluentHub.App/Assets/Octicons/paste-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/pencil-16.svg b/src/FluentHub.App/Assets/Octicons/pencil-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/pencil-16.svg rename to src/FluentHub.App/Assets/Octicons/pencil-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/pencil-24.svg b/src/FluentHub.App/Assets/Octicons/pencil-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/pencil-24.svg rename to src/FluentHub.App/Assets/Octicons/pencil-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/people-16.svg b/src/FluentHub.App/Assets/Octicons/people-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/people-16.svg rename to src/FluentHub.App/Assets/Octicons/people-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/people-24.svg b/src/FluentHub.App/Assets/Octicons/people-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/people-24.svg rename to src/FluentHub.App/Assets/Octicons/people-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/person-16.svg b/src/FluentHub.App/Assets/Octicons/person-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/person-16.svg rename to src/FluentHub.App/Assets/Octicons/person-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/person-24.svg b/src/FluentHub.App/Assets/Octicons/person-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/person-24.svg rename to src/FluentHub.App/Assets/Octicons/person-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/person-add-16.svg b/src/FluentHub.App/Assets/Octicons/person-add-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/person-add-16.svg rename to src/FluentHub.App/Assets/Octicons/person-add-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/person-add-24.svg b/src/FluentHub.App/Assets/Octicons/person-add-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/person-add-24.svg rename to src/FluentHub.App/Assets/Octicons/person-add-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/person-fill-16.svg b/src/FluentHub.App/Assets/Octicons/person-fill-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/person-fill-16.svg rename to src/FluentHub.App/Assets/Octicons/person-fill-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/person-fill-24.svg b/src/FluentHub.App/Assets/Octicons/person-fill-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/person-fill-24.svg rename to src/FluentHub.App/Assets/Octicons/person-fill-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/pin-16.svg b/src/FluentHub.App/Assets/Octicons/pin-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/pin-16.svg rename to src/FluentHub.App/Assets/Octicons/pin-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/pin-24.svg b/src/FluentHub.App/Assets/Octicons/pin-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/pin-24.svg rename to src/FluentHub.App/Assets/Octicons/pin-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/play-16.svg b/src/FluentHub.App/Assets/Octicons/play-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/play-16.svg rename to src/FluentHub.App/Assets/Octicons/play-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/play-24.svg b/src/FluentHub.App/Assets/Octicons/play-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/play-24.svg rename to src/FluentHub.App/Assets/Octicons/play-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/plug-16.svg b/src/FluentHub.App/Assets/Octicons/plug-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/plug-16.svg rename to src/FluentHub.App/Assets/Octicons/plug-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/plug-24.svg b/src/FluentHub.App/Assets/Octicons/plug-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/plug-24.svg rename to src/FluentHub.App/Assets/Octicons/plug-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/plus-16.svg b/src/FluentHub.App/Assets/Octicons/plus-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/plus-16.svg rename to src/FluentHub.App/Assets/Octicons/plus-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/plus-24.svg b/src/FluentHub.App/Assets/Octicons/plus-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/plus-24.svg rename to src/FluentHub.App/Assets/Octicons/plus-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/plus-circle-16.svg b/src/FluentHub.App/Assets/Octicons/plus-circle-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/plus-circle-16.svg rename to src/FluentHub.App/Assets/Octicons/plus-circle-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/plus-circle-24.svg b/src/FluentHub.App/Assets/Octicons/plus-circle-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/plus-circle-24.svg rename to src/FluentHub.App/Assets/Octicons/plus-circle-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/project-16.svg b/src/FluentHub.App/Assets/Octicons/project-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/project-16.svg rename to src/FluentHub.App/Assets/Octicons/project-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/project-24.svg b/src/FluentHub.App/Assets/Octicons/project-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/project-24.svg rename to src/FluentHub.App/Assets/Octicons/project-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/pulse-16.svg b/src/FluentHub.App/Assets/Octicons/pulse-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/pulse-16.svg rename to src/FluentHub.App/Assets/Octicons/pulse-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/pulse-24.svg b/src/FluentHub.App/Assets/Octicons/pulse-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/pulse-24.svg rename to src/FluentHub.App/Assets/Octicons/pulse-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/question-16.svg b/src/FluentHub.App/Assets/Octicons/question-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/question-16.svg rename to src/FluentHub.App/Assets/Octicons/question-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/question-24.svg b/src/FluentHub.App/Assets/Octicons/question-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/question-24.svg rename to src/FluentHub.App/Assets/Octicons/question-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/quote-16.svg b/src/FluentHub.App/Assets/Octicons/quote-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/quote-16.svg rename to src/FluentHub.App/Assets/Octicons/quote-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/quote-24.svg b/src/FluentHub.App/Assets/Octicons/quote-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/quote-24.svg rename to src/FluentHub.App/Assets/Octicons/quote-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/reply-16.svg b/src/FluentHub.App/Assets/Octicons/reply-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/reply-16.svg rename to src/FluentHub.App/Assets/Octicons/reply-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/reply-24.svg b/src/FluentHub.App/Assets/Octicons/reply-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/reply-24.svg rename to src/FluentHub.App/Assets/Octicons/reply-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/repo-16.svg b/src/FluentHub.App/Assets/Octicons/repo-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/repo-16.svg rename to src/FluentHub.App/Assets/Octicons/repo-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/repo-24.svg b/src/FluentHub.App/Assets/Octicons/repo-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/repo-24.svg rename to src/FluentHub.App/Assets/Octicons/repo-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/repo-clone-16.svg b/src/FluentHub.App/Assets/Octicons/repo-clone-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/repo-clone-16.svg rename to src/FluentHub.App/Assets/Octicons/repo-clone-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/repo-deleted-16.svg b/src/FluentHub.App/Assets/Octicons/repo-deleted-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/repo-deleted-16.svg rename to src/FluentHub.App/Assets/Octicons/repo-deleted-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/repo-forked-16.svg b/src/FluentHub.App/Assets/Octicons/repo-forked-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/repo-forked-16.svg rename to src/FluentHub.App/Assets/Octicons/repo-forked-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/repo-forked-24.svg b/src/FluentHub.App/Assets/Octicons/repo-forked-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/repo-forked-24.svg rename to src/FluentHub.App/Assets/Octicons/repo-forked-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/repo-locked-16.svg b/src/FluentHub.App/Assets/Octicons/repo-locked-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/repo-locked-16.svg rename to src/FluentHub.App/Assets/Octicons/repo-locked-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/repo-locked-24.svg b/src/FluentHub.App/Assets/Octicons/repo-locked-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/repo-locked-24.svg rename to src/FluentHub.App/Assets/Octicons/repo-locked-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/repo-pull-16.svg b/src/FluentHub.App/Assets/Octicons/repo-pull-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/repo-pull-16.svg rename to src/FluentHub.App/Assets/Octicons/repo-pull-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/repo-push-16.svg b/src/FluentHub.App/Assets/Octicons/repo-push-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/repo-push-16.svg rename to src/FluentHub.App/Assets/Octicons/repo-push-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/repo-push-24.svg b/src/FluentHub.App/Assets/Octicons/repo-push-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/repo-push-24.svg rename to src/FluentHub.App/Assets/Octicons/repo-push-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/repo-template-16.svg b/src/FluentHub.App/Assets/Octicons/repo-template-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/repo-template-16.svg rename to src/FluentHub.App/Assets/Octicons/repo-template-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/repo-template-24.svg b/src/FluentHub.App/Assets/Octicons/repo-template-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/repo-template-24.svg rename to src/FluentHub.App/Assets/Octicons/repo-template-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/report-16.svg b/src/FluentHub.App/Assets/Octicons/report-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/report-16.svg rename to src/FluentHub.App/Assets/Octicons/report-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/report-24.svg b/src/FluentHub.App/Assets/Octicons/report-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/report-24.svg rename to src/FluentHub.App/Assets/Octicons/report-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/rocket-16.svg b/src/FluentHub.App/Assets/Octicons/rocket-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/rocket-16.svg rename to src/FluentHub.App/Assets/Octicons/rocket-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/rocket-24.svg b/src/FluentHub.App/Assets/Octicons/rocket-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/rocket-24.svg rename to src/FluentHub.App/Assets/Octicons/rocket-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/rows-16.svg b/src/FluentHub.App/Assets/Octicons/rows-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/rows-16.svg rename to src/FluentHub.App/Assets/Octicons/rows-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/rows-24.svg b/src/FluentHub.App/Assets/Octicons/rows-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/rows-24.svg rename to src/FluentHub.App/Assets/Octicons/rows-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/rss-16.svg b/src/FluentHub.App/Assets/Octicons/rss-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/rss-16.svg rename to src/FluentHub.App/Assets/Octicons/rss-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/rss-24.svg b/src/FluentHub.App/Assets/Octicons/rss-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/rss-24.svg rename to src/FluentHub.App/Assets/Octicons/rss-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/ruby-16.svg b/src/FluentHub.App/Assets/Octicons/ruby-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/ruby-16.svg rename to src/FluentHub.App/Assets/Octicons/ruby-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/ruby-24.svg b/src/FluentHub.App/Assets/Octicons/ruby-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/ruby-24.svg rename to src/FluentHub.App/Assets/Octicons/ruby-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/screen-full-16.svg b/src/FluentHub.App/Assets/Octicons/screen-full-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/screen-full-16.svg rename to src/FluentHub.App/Assets/Octicons/screen-full-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/screen-full-24.svg b/src/FluentHub.App/Assets/Octicons/screen-full-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/screen-full-24.svg rename to src/FluentHub.App/Assets/Octicons/screen-full-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/screen-normal-16.svg b/src/FluentHub.App/Assets/Octicons/screen-normal-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/screen-normal-16.svg rename to src/FluentHub.App/Assets/Octicons/screen-normal-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/screen-normal-24.svg b/src/FluentHub.App/Assets/Octicons/screen-normal-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/screen-normal-24.svg rename to src/FluentHub.App/Assets/Octicons/screen-normal-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/search-16.svg b/src/FluentHub.App/Assets/Octicons/search-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/search-16.svg rename to src/FluentHub.App/Assets/Octicons/search-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/search-24.svg b/src/FluentHub.App/Assets/Octicons/search-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/search-24.svg rename to src/FluentHub.App/Assets/Octicons/search-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/server-16.svg b/src/FluentHub.App/Assets/Octicons/server-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/server-16.svg rename to src/FluentHub.App/Assets/Octicons/server-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/server-24.svg b/src/FluentHub.App/Assets/Octicons/server-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/server-24.svg rename to src/FluentHub.App/Assets/Octicons/server-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/share-16.svg b/src/FluentHub.App/Assets/Octicons/share-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/share-16.svg rename to src/FluentHub.App/Assets/Octicons/share-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/share-24.svg b/src/FluentHub.App/Assets/Octicons/share-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/share-24.svg rename to src/FluentHub.App/Assets/Octicons/share-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/share-android-16.svg b/src/FluentHub.App/Assets/Octicons/share-android-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/share-android-16.svg rename to src/FluentHub.App/Assets/Octicons/share-android-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/share-android-24.svg b/src/FluentHub.App/Assets/Octicons/share-android-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/share-android-24.svg rename to src/FluentHub.App/Assets/Octicons/share-android-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/shield-16.svg b/src/FluentHub.App/Assets/Octicons/shield-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/shield-16.svg rename to src/FluentHub.App/Assets/Octicons/shield-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/shield-24.svg b/src/FluentHub.App/Assets/Octicons/shield-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/shield-24.svg rename to src/FluentHub.App/Assets/Octicons/shield-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/shield-check-16.svg b/src/FluentHub.App/Assets/Octicons/shield-check-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/shield-check-16.svg rename to src/FluentHub.App/Assets/Octicons/shield-check-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/shield-check-24.svg b/src/FluentHub.App/Assets/Octicons/shield-check-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/shield-check-24.svg rename to src/FluentHub.App/Assets/Octicons/shield-check-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/shield-lock-16.svg b/src/FluentHub.App/Assets/Octicons/shield-lock-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/shield-lock-16.svg rename to src/FluentHub.App/Assets/Octicons/shield-lock-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/shield-lock-24.svg b/src/FluentHub.App/Assets/Octicons/shield-lock-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/shield-lock-24.svg rename to src/FluentHub.App/Assets/Octicons/shield-lock-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/shield-x-16.svg b/src/FluentHub.App/Assets/Octicons/shield-x-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/shield-x-16.svg rename to src/FluentHub.App/Assets/Octicons/shield-x-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/shield-x-24.svg b/src/FluentHub.App/Assets/Octicons/shield-x-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/shield-x-24.svg rename to src/FluentHub.App/Assets/Octicons/shield-x-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/sidebar-collapse-16.svg b/src/FluentHub.App/Assets/Octicons/sidebar-collapse-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/sidebar-collapse-16.svg rename to src/FluentHub.App/Assets/Octicons/sidebar-collapse-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/sidebar-collapse-24.svg b/src/FluentHub.App/Assets/Octicons/sidebar-collapse-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/sidebar-collapse-24.svg rename to src/FluentHub.App/Assets/Octicons/sidebar-collapse-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/sidebar-expand-16.svg b/src/FluentHub.App/Assets/Octicons/sidebar-expand-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/sidebar-expand-16.svg rename to src/FluentHub.App/Assets/Octicons/sidebar-expand-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/sidebar-expand-24.svg b/src/FluentHub.App/Assets/Octicons/sidebar-expand-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/sidebar-expand-24.svg rename to src/FluentHub.App/Assets/Octicons/sidebar-expand-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/sign-in-16.svg b/src/FluentHub.App/Assets/Octicons/sign-in-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/sign-in-16.svg rename to src/FluentHub.App/Assets/Octicons/sign-in-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/sign-in-24.svg b/src/FluentHub.App/Assets/Octicons/sign-in-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/sign-in-24.svg rename to src/FluentHub.App/Assets/Octicons/sign-in-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/sign-out-16.svg b/src/FluentHub.App/Assets/Octicons/sign-out-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/sign-out-16.svg rename to src/FluentHub.App/Assets/Octicons/sign-out-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/sign-out-24.svg b/src/FluentHub.App/Assets/Octicons/sign-out-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/sign-out-24.svg rename to src/FluentHub.App/Assets/Octicons/sign-out-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/single-select-16.svg b/src/FluentHub.App/Assets/Octicons/single-select-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/single-select-16.svg rename to src/FluentHub.App/Assets/Octicons/single-select-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/single-select-24.svg b/src/FluentHub.App/Assets/Octicons/single-select-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/single-select-24.svg rename to src/FluentHub.App/Assets/Octicons/single-select-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/skip-16.svg b/src/FluentHub.App/Assets/Octicons/skip-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/skip-16.svg rename to src/FluentHub.App/Assets/Octicons/skip-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/skip-24.svg b/src/FluentHub.App/Assets/Octicons/skip-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/skip-24.svg rename to src/FluentHub.App/Assets/Octicons/skip-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/sliders-16.svg b/src/FluentHub.App/Assets/Octicons/sliders-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/sliders-16.svg rename to src/FluentHub.App/Assets/Octicons/sliders-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/smiley-16.svg b/src/FluentHub.App/Assets/Octicons/smiley-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/smiley-16.svg rename to src/FluentHub.App/Assets/Octicons/smiley-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/smiley-24.svg b/src/FluentHub.App/Assets/Octicons/smiley-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/smiley-24.svg rename to src/FluentHub.App/Assets/Octicons/smiley-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/sort-asc-16.svg b/src/FluentHub.App/Assets/Octicons/sort-asc-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/sort-asc-16.svg rename to src/FluentHub.App/Assets/Octicons/sort-asc-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/sort-asc-24.svg b/src/FluentHub.App/Assets/Octicons/sort-asc-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/sort-asc-24.svg rename to src/FluentHub.App/Assets/Octicons/sort-asc-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/sort-desc-16.svg b/src/FluentHub.App/Assets/Octicons/sort-desc-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/sort-desc-16.svg rename to src/FluentHub.App/Assets/Octicons/sort-desc-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/sort-desc-24.svg b/src/FluentHub.App/Assets/Octicons/sort-desc-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/sort-desc-24.svg rename to src/FluentHub.App/Assets/Octicons/sort-desc-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/square-16.svg b/src/FluentHub.App/Assets/Octicons/square-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/square-16.svg rename to src/FluentHub.App/Assets/Octicons/square-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/square-24.svg b/src/FluentHub.App/Assets/Octicons/square-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/square-24.svg rename to src/FluentHub.App/Assets/Octicons/square-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/square-fill-16.svg b/src/FluentHub.App/Assets/Octicons/square-fill-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/square-fill-16.svg rename to src/FluentHub.App/Assets/Octicons/square-fill-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/square-fill-24.svg b/src/FluentHub.App/Assets/Octicons/square-fill-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/square-fill-24.svg rename to src/FluentHub.App/Assets/Octicons/square-fill-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/squirrel-16.svg b/src/FluentHub.App/Assets/Octicons/squirrel-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/squirrel-16.svg rename to src/FluentHub.App/Assets/Octicons/squirrel-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/squirrel-24.svg b/src/FluentHub.App/Assets/Octicons/squirrel-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/squirrel-24.svg rename to src/FluentHub.App/Assets/Octicons/squirrel-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/stack-16.svg b/src/FluentHub.App/Assets/Octicons/stack-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/stack-16.svg rename to src/FluentHub.App/Assets/Octicons/stack-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/stack-24.svg b/src/FluentHub.App/Assets/Octicons/stack-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/stack-24.svg rename to src/FluentHub.App/Assets/Octicons/stack-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/star-16.svg b/src/FluentHub.App/Assets/Octicons/star-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/star-16.svg rename to src/FluentHub.App/Assets/Octicons/star-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/star-24.svg b/src/FluentHub.App/Assets/Octicons/star-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/star-24.svg rename to src/FluentHub.App/Assets/Octicons/star-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/star-fill-16.svg b/src/FluentHub.App/Assets/Octicons/star-fill-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/star-fill-16.svg rename to src/FluentHub.App/Assets/Octicons/star-fill-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/star-fill-24.svg b/src/FluentHub.App/Assets/Octicons/star-fill-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/star-fill-24.svg rename to src/FluentHub.App/Assets/Octicons/star-fill-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/stop-16.svg b/src/FluentHub.App/Assets/Octicons/stop-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/stop-16.svg rename to src/FluentHub.App/Assets/Octicons/stop-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/stop-24.svg b/src/FluentHub.App/Assets/Octicons/stop-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/stop-24.svg rename to src/FluentHub.App/Assets/Octicons/stop-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/stopwatch-16.svg b/src/FluentHub.App/Assets/Octicons/stopwatch-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/stopwatch-16.svg rename to src/FluentHub.App/Assets/Octicons/stopwatch-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/stopwatch-24.svg b/src/FluentHub.App/Assets/Octicons/stopwatch-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/stopwatch-24.svg rename to src/FluentHub.App/Assets/Octicons/stopwatch-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/strikethrough-16.svg b/src/FluentHub.App/Assets/Octicons/strikethrough-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/strikethrough-16.svg rename to src/FluentHub.App/Assets/Octicons/strikethrough-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/strikethrough-24.svg b/src/FluentHub.App/Assets/Octicons/strikethrough-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/strikethrough-24.svg rename to src/FluentHub.App/Assets/Octicons/strikethrough-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/sun-16.svg b/src/FluentHub.App/Assets/Octicons/sun-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/sun-16.svg rename to src/FluentHub.App/Assets/Octicons/sun-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/sun-24.svg b/src/FluentHub.App/Assets/Octicons/sun-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/sun-24.svg rename to src/FluentHub.App/Assets/Octicons/sun-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/sync-16.svg b/src/FluentHub.App/Assets/Octicons/sync-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/sync-16.svg rename to src/FluentHub.App/Assets/Octicons/sync-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/sync-24.svg b/src/FluentHub.App/Assets/Octicons/sync-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/sync-24.svg rename to src/FluentHub.App/Assets/Octicons/sync-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/tab-24.svg b/src/FluentHub.App/Assets/Octicons/tab-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/tab-24.svg rename to src/FluentHub.App/Assets/Octicons/tab-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/tab-external-16.svg b/src/FluentHub.App/Assets/Octicons/tab-external-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/tab-external-16.svg rename to src/FluentHub.App/Assets/Octicons/tab-external-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/table-16.svg b/src/FluentHub.App/Assets/Octicons/table-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/table-16.svg rename to src/FluentHub.App/Assets/Octicons/table-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/table-24.svg b/src/FluentHub.App/Assets/Octicons/table-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/table-24.svg rename to src/FluentHub.App/Assets/Octicons/table-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/tag-16.svg b/src/FluentHub.App/Assets/Octicons/tag-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/tag-16.svg rename to src/FluentHub.App/Assets/Octicons/tag-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/tag-24.svg b/src/FluentHub.App/Assets/Octicons/tag-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/tag-24.svg rename to src/FluentHub.App/Assets/Octicons/tag-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/tasklist-16.svg b/src/FluentHub.App/Assets/Octicons/tasklist-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/tasklist-16.svg rename to src/FluentHub.App/Assets/Octicons/tasklist-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/tasklist-24.svg b/src/FluentHub.App/Assets/Octicons/tasklist-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/tasklist-24.svg rename to src/FluentHub.App/Assets/Octicons/tasklist-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/telescope-16.svg b/src/FluentHub.App/Assets/Octicons/telescope-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/telescope-16.svg rename to src/FluentHub.App/Assets/Octicons/telescope-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/telescope-24.svg b/src/FluentHub.App/Assets/Octicons/telescope-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/telescope-24.svg rename to src/FluentHub.App/Assets/Octicons/telescope-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/telescope-fill-16.svg b/src/FluentHub.App/Assets/Octicons/telescope-fill-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/telescope-fill-16.svg rename to src/FluentHub.App/Assets/Octicons/telescope-fill-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/telescope-fill-24.svg b/src/FluentHub.App/Assets/Octicons/telescope-fill-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/telescope-fill-24.svg rename to src/FluentHub.App/Assets/Octicons/telescope-fill-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/terminal-16.svg b/src/FluentHub.App/Assets/Octicons/terminal-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/terminal-16.svg rename to src/FluentHub.App/Assets/Octicons/terminal-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/terminal-24.svg b/src/FluentHub.App/Assets/Octicons/terminal-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/terminal-24.svg rename to src/FluentHub.App/Assets/Octicons/terminal-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/three-bars-16.svg b/src/FluentHub.App/Assets/Octicons/three-bars-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/three-bars-16.svg rename to src/FluentHub.App/Assets/Octicons/three-bars-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/thumbsdown-16.svg b/src/FluentHub.App/Assets/Octicons/thumbsdown-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/thumbsdown-16.svg rename to src/FluentHub.App/Assets/Octicons/thumbsdown-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/thumbsdown-24.svg b/src/FluentHub.App/Assets/Octicons/thumbsdown-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/thumbsdown-24.svg rename to src/FluentHub.App/Assets/Octicons/thumbsdown-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/thumbsup-16.svg b/src/FluentHub.App/Assets/Octicons/thumbsup-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/thumbsup-16.svg rename to src/FluentHub.App/Assets/Octicons/thumbsup-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/thumbsup-24.svg b/src/FluentHub.App/Assets/Octicons/thumbsup-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/thumbsup-24.svg rename to src/FluentHub.App/Assets/Octicons/thumbsup-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/tools-16.svg b/src/FluentHub.App/Assets/Octicons/tools-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/tools-16.svg rename to src/FluentHub.App/Assets/Octicons/tools-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/tools-24.svg b/src/FluentHub.App/Assets/Octicons/tools-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/tools-24.svg rename to src/FluentHub.App/Assets/Octicons/tools-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/trash-16.svg b/src/FluentHub.App/Assets/Octicons/trash-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/trash-16.svg rename to src/FluentHub.App/Assets/Octicons/trash-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/trash-24.svg b/src/FluentHub.App/Assets/Octicons/trash-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/trash-24.svg rename to src/FluentHub.App/Assets/Octicons/trash-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/triangle-down-16.svg b/src/FluentHub.App/Assets/Octicons/triangle-down-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/triangle-down-16.svg rename to src/FluentHub.App/Assets/Octicons/triangle-down-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/triangle-down-24.svg b/src/FluentHub.App/Assets/Octicons/triangle-down-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/triangle-down-24.svg rename to src/FluentHub.App/Assets/Octicons/triangle-down-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/triangle-left-16.svg b/src/FluentHub.App/Assets/Octicons/triangle-left-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/triangle-left-16.svg rename to src/FluentHub.App/Assets/Octicons/triangle-left-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/triangle-left-24.svg b/src/FluentHub.App/Assets/Octicons/triangle-left-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/triangle-left-24.svg rename to src/FluentHub.App/Assets/Octicons/triangle-left-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/triangle-right-16.svg b/src/FluentHub.App/Assets/Octicons/triangle-right-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/triangle-right-16.svg rename to src/FluentHub.App/Assets/Octicons/triangle-right-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/triangle-right-24.svg b/src/FluentHub.App/Assets/Octicons/triangle-right-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/triangle-right-24.svg rename to src/FluentHub.App/Assets/Octicons/triangle-right-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/triangle-up-16.svg b/src/FluentHub.App/Assets/Octicons/triangle-up-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/triangle-up-16.svg rename to src/FluentHub.App/Assets/Octicons/triangle-up-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/triangle-up-24.svg b/src/FluentHub.App/Assets/Octicons/triangle-up-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/triangle-up-24.svg rename to src/FluentHub.App/Assets/Octicons/triangle-up-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/trophy-16.svg b/src/FluentHub.App/Assets/Octicons/trophy-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/trophy-16.svg rename to src/FluentHub.App/Assets/Octicons/trophy-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/trophy-24.svg b/src/FluentHub.App/Assets/Octicons/trophy-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/trophy-24.svg rename to src/FluentHub.App/Assets/Octicons/trophy-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/typography-16.svg b/src/FluentHub.App/Assets/Octicons/typography-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/typography-16.svg rename to src/FluentHub.App/Assets/Octicons/typography-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/typography-24.svg b/src/FluentHub.App/Assets/Octicons/typography-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/typography-24.svg rename to src/FluentHub.App/Assets/Octicons/typography-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/unfold-16.svg b/src/FluentHub.App/Assets/Octicons/unfold-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/unfold-16.svg rename to src/FluentHub.App/Assets/Octicons/unfold-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/unfold-24.svg b/src/FluentHub.App/Assets/Octicons/unfold-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/unfold-24.svg rename to src/FluentHub.App/Assets/Octicons/unfold-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/unlock-16.svg b/src/FluentHub.App/Assets/Octicons/unlock-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/unlock-16.svg rename to src/FluentHub.App/Assets/Octicons/unlock-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/unlock-24.svg b/src/FluentHub.App/Assets/Octicons/unlock-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/unlock-24.svg rename to src/FluentHub.App/Assets/Octicons/unlock-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/unmute-16.svg b/src/FluentHub.App/Assets/Octicons/unmute-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/unmute-16.svg rename to src/FluentHub.App/Assets/Octicons/unmute-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/unmute-24.svg b/src/FluentHub.App/Assets/Octicons/unmute-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/unmute-24.svg rename to src/FluentHub.App/Assets/Octicons/unmute-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/unverified-16.svg b/src/FluentHub.App/Assets/Octicons/unverified-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/unverified-16.svg rename to src/FluentHub.App/Assets/Octicons/unverified-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/unverified-24.svg b/src/FluentHub.App/Assets/Octicons/unverified-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/unverified-24.svg rename to src/FluentHub.App/Assets/Octicons/unverified-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/upload-16.svg b/src/FluentHub.App/Assets/Octicons/upload-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/upload-16.svg rename to src/FluentHub.App/Assets/Octicons/upload-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/upload-24.svg b/src/FluentHub.App/Assets/Octicons/upload-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/upload-24.svg rename to src/FluentHub.App/Assets/Octicons/upload-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/verified-16.svg b/src/FluentHub.App/Assets/Octicons/verified-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/verified-16.svg rename to src/FluentHub.App/Assets/Octicons/verified-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/verified-24.svg b/src/FluentHub.App/Assets/Octicons/verified-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/verified-24.svg rename to src/FluentHub.App/Assets/Octicons/verified-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/versions-16.svg b/src/FluentHub.App/Assets/Octicons/versions-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/versions-16.svg rename to src/FluentHub.App/Assets/Octicons/versions-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/versions-24.svg b/src/FluentHub.App/Assets/Octicons/versions-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/versions-24.svg rename to src/FluentHub.App/Assets/Octicons/versions-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/video-16.svg b/src/FluentHub.App/Assets/Octicons/video-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/video-16.svg rename to src/FluentHub.App/Assets/Octicons/video-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/video-24.svg b/src/FluentHub.App/Assets/Octicons/video-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/video-24.svg rename to src/FluentHub.App/Assets/Octicons/video-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/webhook-16.svg b/src/FluentHub.App/Assets/Octicons/webhook-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/webhook-16.svg rename to src/FluentHub.App/Assets/Octicons/webhook-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/workflow-16.svg b/src/FluentHub.App/Assets/Octicons/workflow-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/workflow-16.svg rename to src/FluentHub.App/Assets/Octicons/workflow-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/workflow-24.svg b/src/FluentHub.App/Assets/Octicons/workflow-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/workflow-24.svg rename to src/FluentHub.App/Assets/Octicons/workflow-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/x-16.svg b/src/FluentHub.App/Assets/Octicons/x-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/x-16.svg rename to src/FluentHub.App/Assets/Octicons/x-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/x-24.svg b/src/FluentHub.App/Assets/Octicons/x-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/x-24.svg rename to src/FluentHub.App/Assets/Octicons/x-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/x-circle-16.svg b/src/FluentHub.App/Assets/Octicons/x-circle-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/x-circle-16.svg rename to src/FluentHub.App/Assets/Octicons/x-circle-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/x-circle-24.svg b/src/FluentHub.App/Assets/Octicons/x-circle-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/x-circle-24.svg rename to src/FluentHub.App/Assets/Octicons/x-circle-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/x-circle-fill-12.svg b/src/FluentHub.App/Assets/Octicons/x-circle-fill-12.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/x-circle-fill-12.svg rename to src/FluentHub.App/Assets/Octicons/x-circle-fill-12.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/x-circle-fill-16.svg b/src/FluentHub.App/Assets/Octicons/x-circle-fill-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/x-circle-fill-16.svg rename to src/FluentHub.App/Assets/Octicons/x-circle-fill-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/x-circle-fill-24.svg b/src/FluentHub.App/Assets/Octicons/x-circle-fill-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/x-circle-fill-24.svg rename to src/FluentHub.App/Assets/Octicons/x-circle-fill-24.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/zap-16.svg b/src/FluentHub.App/Assets/Octicons/zap-16.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/zap-16.svg rename to src/FluentHub.App/Assets/Octicons/zap-16.svg diff --git a/src/FluentHub.Uwp/Assets/Octicons/zap-24.svg b/src/FluentHub.App/Assets/Octicons/zap-24.svg similarity index 100% rename from src/FluentHub.Uwp/Assets/Octicons/zap-24.svg rename to src/FluentHub.App/Assets/Octicons/zap-24.svg diff --git a/src/FluentHub.Uwp/Assets/WebView/github-markdown-dark.css b/src/FluentHub.App/Assets/WebView/github-markdown-dark.css similarity index 100% rename from src/FluentHub.Uwp/Assets/WebView/github-markdown-dark.css rename to src/FluentHub.App/Assets/WebView/github-markdown-dark.css diff --git a/src/FluentHub.Uwp/Assets/WebView/github-markdown-light.css b/src/FluentHub.App/Assets/WebView/github-markdown-light.css similarity index 100% rename from src/FluentHub.Uwp/Assets/WebView/github-markdown-light.css rename to src/FluentHub.App/Assets/WebView/github-markdown-light.css diff --git a/src/FluentHub.Uwp/Assets/WebView/github-markdown.css b/src/FluentHub.App/Assets/WebView/github-markdown.css similarity index 100% rename from src/FluentHub.Uwp/Assets/WebView/github-markdown.css rename to src/FluentHub.App/Assets/WebView/github-markdown.css diff --git a/src/FluentHub.Uwp/Assets/WebView/index.html b/src/FluentHub.App/Assets/WebView/index.html similarity index 81% rename from src/FluentHub.Uwp/Assets/WebView/index.html rename to src/FluentHub.App/Assets/WebView/index.html index 259d0fdfe..ed1f53e6f 100644 --- a/src/FluentHub.Uwp/Assets/WebView/index.html +++ b/src/FluentHub.App/Assets/WebView/index.html @@ -3,8 +3,8 @@ - - + + + + diff --git a/src/FluentHub.Uwp/ResourceDictionaries/DefaultGridSplitterStyle.xaml b/src/FluentHub.App/ResourceDictionaries/DefaultGridSplitterStyle.xaml similarity index 93% rename from src/FluentHub.Uwp/ResourceDictionaries/DefaultGridSplitterStyle.xaml rename to src/FluentHub.App/ResourceDictionaries/DefaultGridSplitterStyle.xaml index ddb20cad6..6bfd5d52a 100644 --- a/src/FluentHub.Uwp/ResourceDictionaries/DefaultGridSplitterStyle.xaml +++ b/src/FluentHub.App/ResourceDictionaries/DefaultGridSplitterStyle.xaml @@ -1,9 +1,9 @@  + xmlns:toolkit="using:CommunityToolkit.WinUI.UI.Controls"> - @@ -68,4 +68,5 @@ + diff --git a/src/FluentHub.Uwp/ResourceDictionaries/TabViewItem_shared.xaml b/src/FluentHub.App/ResourceDictionaries/TabViewItem_shared.xaml similarity index 99% rename from src/FluentHub.Uwp/ResourceDictionaries/TabViewItem_shared.xaml rename to src/FluentHub.App/ResourceDictionaries/TabViewItem_shared.xaml index 8aba58173..6383a8dca 100644 --- a/src/FluentHub.Uwp/ResourceDictionaries/TabViewItem_shared.xaml +++ b/src/FluentHub.App/ResourceDictionaries/TabViewItem_shared.xaml @@ -60,7 +60,7 @@ - + \ No newline at end of file diff --git a/src/FluentHub.Uwp/ResourceDictionaries/TabView_themeresources.xaml b/src/FluentHub.App/ResourceDictionaries/TabView_themeresources.xaml similarity index 98% rename from src/FluentHub.Uwp/ResourceDictionaries/TabView_themeresources.xaml rename to src/FluentHub.App/ResourceDictionaries/TabView_themeresources.xaml index 6801b11e0..bc0836402 100644 --- a/src/FluentHub.Uwp/ResourceDictionaries/TabView_themeresources.xaml +++ b/src/FluentHub.App/ResourceDictionaries/TabView_themeresources.xaml @@ -1,5 +1,4 @@ - - + @@ -181,4 +180,5 @@ 1,1,1,1 -1,0,-1,0 + \ No newline at end of file diff --git a/src/FluentHub.Uwp/ResourceDictionaries/TextBlockStyles.xaml b/src/FluentHub.App/ResourceDictionaries/TextBlockStyles.xaml similarity index 100% rename from src/FluentHub.Uwp/ResourceDictionaries/TextBlockStyles.xaml rename to src/FluentHub.App/ResourceDictionaries/TextBlockStyles.xaml diff --git a/src/FluentHub.Uwp/Services/AccountService.cs b/src/FluentHub.App/Services/AccountService.cs similarity index 64% rename from src/FluentHub.Uwp/Services/AccountService.cs rename to src/FluentHub.App/Services/AccountService.cs index 6269d6821..896a1d2ca 100644 --- a/src/FluentHub.Uwp/Services/AccountService.cs +++ b/src/FluentHub.App/Services/AccountService.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace FluentHub.Uwp.Services +namespace FluentHub.App.Services { /// /// This class is used to reflect new data in the app configuration and does not retrieve any GitHub data. @@ -16,32 +10,32 @@ public static void AddAccount(string login) // Avoid duplication RemoveAccount(login); - var logins = App.Settings.SignedInUserLogins; + var logins = App.AppSettings.SignedInUserLogins; if (string.IsNullOrEmpty(logins)) logins += $"{login}"; // comma-divided else logins += $",{login}"; // comma-divided - App.Settings.SignedInUserLogins = logins; + App.AppSettings.SignedInUserLogins = logins; } public static void RemoveAccount(string login) { - var loginsDividedWithComma = App.Settings.SignedInUserLogins.Split(",").ToList(); + var loginsDividedWithComma = App.AppSettings.SignedInUserLogins.Split(",").ToList(); loginsDividedWithComma.Remove(login); var joinedNewValues = string.Join(",", loginsDividedWithComma); - App.Settings.SignedInUserLogins = joinedNewValues; + App.AppSettings.SignedInUserLogins = joinedNewValues; } public static void RemoveAllAccount() { // Anticipate using only when deleting all accounts and re-signing in. - App.Settings.SignedInUserLogins = ""; + App.AppSettings.SignedInUserLogins = ""; } public static bool IsAlreadySignedIn(string login) { - var loginsDividedWithComma = App.Settings.SignedInUserLogins.Split(",").ToList(); + var loginsDividedWithComma = App.AppSettings.SignedInUserLogins.Split(",").ToList(); var isContain = loginsDividedWithComma.Contains(login); return isContain; diff --git a/src/FluentHub.Uwp/Services/BadgeGlyphType.cs b/src/FluentHub.App/Services/BadgeGlyphType.cs similarity index 85% rename from src/FluentHub.Uwp/Services/BadgeGlyphType.cs rename to src/FluentHub.App/Services/BadgeGlyphType.cs index 3e449e9ef..eebcc833e 100644 --- a/src/FluentHub.Uwp/Services/BadgeGlyphType.cs +++ b/src/FluentHub.App/Services/BadgeGlyphType.cs @@ -1,20 +1,33 @@ -namespace FluentHub.Uwp.Services +namespace FluentHub.App.Services { public enum BadgeGlyphType { None, + Activity, + Alarm, + Alert, + Attention, + Available, + Away, + Busy, + Error, + NewMessage, + Paused, + Playing, + Unavailable, + Number } } diff --git a/src/FluentHub.Uwp/Services/MarkdownApiHandler.cs b/src/FluentHub.App/Services/MarkdownApiHandler.cs similarity index 92% rename from src/FluentHub.Uwp/Services/MarkdownApiHandler.cs rename to src/FluentHub.App/Services/MarkdownApiHandler.cs index 0d04e4ada..7fa3bedcd 100644 --- a/src/FluentHub.Uwp/Services/MarkdownApiHandler.cs +++ b/src/FluentHub.App/Services/MarkdownApiHandler.cs @@ -1,7 +1,7 @@ -using FluentHub.Octokit.Queries.Repositories; +using FluentHub.Octokit.Queries.Repositories; using Windows.Storage; -namespace FluentHub.Uwp.Services +namespace FluentHub.App.Services { public class MarkdownApiHandler { diff --git a/src/FluentHub.Uwp/Services/Navigation/INavigationService.cs b/src/FluentHub.App/Services/Navigation/INavigationService.cs similarity index 56% rename from src/FluentHub.Uwp/Services/Navigation/INavigationService.cs rename to src/FluentHub.App/Services/Navigation/INavigationService.cs index db5805338..35bafd165 100644 --- a/src/FluentHub.Uwp/Services/Navigation/INavigationService.cs +++ b/src/FluentHub.App/Services/Navigation/INavigationService.cs @@ -1,25 +1,38 @@ -using FluentHub.Uwp.Services.Navigation; -using System; -using Windows.UI.Xaml.Controls; +using FluentHub.App.Services.Navigation; +using Microsoft.UI.Xaml.Controls; -namespace FluentHub.Uwp.Services +namespace FluentHub.App.Services { public interface INavigationService { Type CurrentPage { get; set; } + ITabView TabView { get; } + bool IsConfigured { get; } + void Configure(ITabView tabView); + void Disconnect(); - void Navigate(Type page, object parameter = null, Windows.UI.Xaml.Media.Animation.NavigationTransitionInfo transitionInfo = null); - void Navigate(object parameter = null, Windows.UI.Xaml.Media.Animation.NavigationTransitionInfo transitionInfo = null) where T : Page; + + void Navigate(Type page, object parameter = null, Microsoft.UI.Xaml.Media.Animation.NavigationTransitionInfo transitionInfo = null); + + void Navigate(object parameter = null, Microsoft.UI.Xaml.Media.Animation.NavigationTransitionInfo transitionInfo = null) where T : Page; + Guid OpenTab(Type page, object parameter = null); + Guid OpenTab(object parameter = null) where T : Page; + void CloseTab(Guid tabId); + void GoToTab(Guid tabId); + void GoBack(); + void GoForward(); + bool CanGoBack(); + bool CanGoForward(); } -} \ No newline at end of file +} diff --git a/src/FluentHub.Uwp/Services/Navigation/ITabView.cs b/src/FluentHub.App/Services/Navigation/ITabView.cs similarity index 82% rename from src/FluentHub.Uwp/Services/Navigation/ITabView.cs rename to src/FluentHub.App/Services/Navigation/ITabView.cs index 973ec0485..dabc87e73 100644 --- a/src/FluentHub.Uwp/Services/Navigation/ITabView.cs +++ b/src/FluentHub.App/Services/Navigation/ITabView.cs @@ -1,18 +1,23 @@ -using System; -using System.Collections.ObjectModel; - -namespace FluentHub.Uwp.Services.Navigation +namespace FluentHub.App.Services.Navigation { public interface ITabView - { + { ITabViewItem SelectedItem { get; set; } + int SelectedIndex { get; set; } + Type NewTabPage { get; set; } + ReadOnlyObservableCollection Items { get; } + ITabViewItem OpenTab(Type page = null, object parameter = null, bool setAsSelected = true); + bool CloseTab(ITabViewItem tab); + bool CloseTab(Guid tabId); + bool CloseTab(int tabIndex); + event EventHandler SelectionChanged; } -} \ No newline at end of file +} diff --git a/src/FluentHub.Uwp/Services/Navigation/ITabViewItem.cs b/src/FluentHub.App/Services/Navigation/ITabViewItem.cs similarity index 65% rename from src/FluentHub.Uwp/Services/Navigation/ITabViewItem.cs rename to src/FluentHub.App/Services/Navigation/ITabViewItem.cs index 5335837e0..ce1f3bf11 100644 --- a/src/FluentHub.Uwp/Services/Navigation/ITabViewItem.cs +++ b/src/FluentHub.App/Services/Navigation/ITabViewItem.cs @@ -1,14 +1,15 @@ -using FluentHub.Uwp.Utils; -using System; +using FluentHub.App.Utils; +using Microsoft.UI.Xaml.Controls; using System.ComponentModel; -using Windows.UI.Xaml.Controls; -namespace FluentHub.Uwp.Services.Navigation +namespace FluentHub.App.Services.Navigation { public interface ITabViewItem : INotifyPropertyChanged { Guid Guid { get; } + Frame Frame { get; } + NavigationHistory NavigationHistory { get; } } -} \ No newline at end of file +} diff --git a/src/FluentHub.Uwp/Services/Navigation/NavigationService.cs b/src/FluentHub.App/Services/Navigation/NavigationService.cs similarity index 93% rename from src/FluentHub.Uwp/Services/Navigation/NavigationService.cs rename to src/FluentHub.App/Services/Navigation/NavigationService.cs index b554ffd2e..4faadd928 100644 --- a/src/FluentHub.Uwp/Services/Navigation/NavigationService.cs +++ b/src/FluentHub.App/Services/Navigation/NavigationService.cs @@ -1,9 +1,8 @@ -using FluentHub.Uwp.Services; -using FluentHub.Uwp.Utils; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Media.Animation; +using FluentHub.App.Utils; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Media.Animation; -namespace FluentHub.Uwp.Services.Navigation +namespace FluentHub.App.Services.Navigation { public class NavigationService : INavigationService { @@ -14,7 +13,7 @@ public class NavigationService : INavigationService #region Fields and Properties private readonly ILogger _logger; - public System.Type CurrentPage { get; set; } + public Type CurrentPage { get; set; } public ITabView TabView { get; private set; } public bool IsConfigured { get; private set; } #endregion @@ -76,6 +75,7 @@ public void GoBack() { throw new InvalidOperationException("No tab selected"); } + tab.Frame.GoBack(); } @@ -88,6 +88,7 @@ public void GoForward() { throw new InvalidOperationException("No tab selected"); } + tab.Frame.GoForward(); } diff --git a/src/FluentHub.Uwp/Services/Navigation/PageNavigationEntry.cs b/src/FluentHub.App/Services/Navigation/PageNavigationEntry.cs similarity index 76% rename from src/FluentHub.Uwp/Services/Navigation/PageNavigationEntry.cs rename to src/FluentHub.App/Services/Navigation/PageNavigationEntry.cs index 62445ef7f..7c288e689 100644 --- a/src/FluentHub.Uwp/Services/Navigation/PageNavigationEntry.cs +++ b/src/FluentHub.App/Services/Navigation/PageNavigationEntry.cs @@ -1,13 +1,16 @@ -using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Controls; -namespace FluentHub.Uwp.Services.Navigation +namespace FluentHub.App.Services.Navigation { public class PageNavigationEntry : ObservableObject { - public PageNavigationEntry() { } + public PageNavigationEntry() + { + } #if DEBUG - ~PageNavigationEntry() => System.Diagnostics.Debug.WriteLine("~PageNavigationEntry"); + ~PageNavigationEntry() + => System.Diagnostics.Debug.WriteLine("~PageNavigationEntry"); #endif #region Fields and Properties @@ -27,4 +30,4 @@ public PageNavigationEntry() { } public IconSource Icon { get => _icon; set => SetProperty(ref _icon, value); } #endregion } -} \ No newline at end of file +} diff --git a/src/FluentHub.Uwp/Services/Navigation/TabViewSelectionChangedEventArgs.cs b/src/FluentHub.App/Services/Navigation/TabViewSelectionChangedEventArgs.cs similarity index 74% rename from src/FluentHub.Uwp/Services/Navigation/TabViewSelectionChangedEventArgs.cs rename to src/FluentHub.App/Services/Navigation/TabViewSelectionChangedEventArgs.cs index 48904a42d..02eb5cfac 100644 --- a/src/FluentHub.Uwp/Services/Navigation/TabViewSelectionChangedEventArgs.cs +++ b/src/FluentHub.App/Services/Navigation/TabViewSelectionChangedEventArgs.cs @@ -1,7 +1,6 @@ -using System; -using Windows.UI.Xaml.Media.Animation; +using Microsoft.UI.Xaml.Media.Animation; -namespace FluentHub.Uwp.Services.Navigation +namespace FluentHub.App.Services.Navigation { public class TabViewSelectionChangedEventArgs : EventArgs { @@ -9,19 +8,20 @@ public TabViewSelectionChangedEventArgs(ITabViewItem newSelectedItem) { NewSelectedItem = newSelectedItem; } + public TabViewSelectionChangedEventArgs(ITabViewItem newSelectedItem, ITabViewItem oldSelectedItem) { NewSelectedItem = newSelectedItem; OldSelectedItem = oldSelectedItem; } - public TabViewSelectionChangedEventArgs(ITabViewItem newSelectedItem, - ITabViewItem oldSelectedItem, - NavigationTransitionInfo recommendedNavigationTransitionInfo) + + public TabViewSelectionChangedEventArgs(ITabViewItem newSelectedItem, ITabViewItem oldSelectedItem, NavigationTransitionInfo recommendedNavigationTransitionInfo) { NewSelectedItem = newSelectedItem; OldSelectedItem = oldSelectedItem; RecommendedNavigationTransitionInfo = recommendedNavigationTransitionInfo; } + public ITabViewItem NewSelectedItem { get; } public ITabViewItem OldSelectedItem { get; } public NavigationTransitionInfo RecommendedNavigationTransitionInfo { get; } diff --git a/src/FluentHub.Uwp/Services/OctokitSecretsService.cs b/src/FluentHub.App/Services/OctokitSecretsService.cs similarity index 90% rename from src/FluentHub.Uwp/Services/OctokitSecretsService.cs rename to src/FluentHub.App/Services/OctokitSecretsService.cs index 28433d0f4..4932c3bd6 100644 --- a/src/FluentHub.Uwp/Services/OctokitSecretsService.cs +++ b/src/FluentHub.App/Services/OctokitSecretsService.cs @@ -1,8 +1,7 @@ -using Windows.Data.Xml.Dom; +using Windows.Data.Xml.Dom; using Windows.Storage; -using Windows.System; -namespace FluentHub.Uwp.Services +namespace FluentHub.App.Services { public static class OctokitSecretsService { diff --git a/src/FluentHub.Uwp/Services/ToastService.cs b/src/FluentHub.App/Services/ToastService.cs similarity index 76% rename from src/FluentHub.Uwp/Services/ToastService.cs rename to src/FluentHub.App/Services/ToastService.cs index f90bd4fd0..02031ab34 100644 --- a/src/FluentHub.Uwp/Services/ToastService.cs +++ b/src/FluentHub.App/Services/ToastService.cs @@ -1,12 +1,10 @@ -using FluentHub.Uwp.Utils; -using Microsoft.Toolkit; -using Microsoft.Toolkit.Uwp.Notifications; -using System; +using CommunityToolkit.WinUI.Notifications; +using FluentHub.App.Utils; using System.Globalization; using Windows.Data.Xml.Dom; using Windows.UI.Notifications; -namespace FluentHub.Uwp.Services +namespace FluentHub.App.Services { public class ToastService { @@ -14,20 +12,15 @@ public class ToastService private readonly ILogger _logger; - public void ShowToastNotification(string title, - string text, - string activationArgs = "", - string appLogoOverrideImage = null, - string heroImage = null, - string inlineImage = null) + public void ShowToastNotification(string title, string text, string activationArgs = "", string appLogoOverrideImage = null, string heroImage = null, string inlineImage = null) { try { var builder = new ToastContentBuilder() - .SetToastScenario(ToastScenario.Default) - .AddToastActivationInfo(activationArgs, ToastActivationType.Foreground) - .AddText(title.Truncate(50, true)) - .AddText(text.Truncate(100, true)); + .SetToastScenario(ToastScenario.Default) + .AddToastActivationInfo(activationArgs, ToastActivationType.Foreground) + .AddText(title.Truncate(50)) + .AddText(text.Truncate(100)); /*builder.Content.Audio = new ToastAudio() { @@ -54,6 +47,7 @@ public void UpdateBadgeGlyph(BadgeGlyphType glyphType, int? number) { XmlDocument badgeXml; string badgeGlyphValue; + if (glyphType == BadgeGlyphType.Number) { if (number is null) @@ -73,7 +67,7 @@ public void UpdateBadgeGlyph(BadgeGlyphType glyphType, int? number) badgeElement.SetAttribute("value", badgeGlyphValue); // Create the badge notification - BadgeNotification badge = new BadgeNotification(badgeXml); + BadgeNotification badge = new(badgeXml); // Create the badge updater for the application BadgeUpdater badgeUpdater = BadgeUpdateManager.CreateBadgeUpdaterForApplication(); @@ -88,13 +82,7 @@ public string GetBadgeString() return content.GetContent(); } - public void ShowToastNotificationWithProgress(string tag, - string group, - string title, - string progressTitle, - string leftText, - string rightText, - double progress) + public void ShowToastNotificationWithProgress(string tag, string group, string title, string progressTitle, string leftText, string rightText, double progress) { // Define a tag (and optionally a group) to uniquely identify the notification, in order update the notification data later; //string tag = "weekly-playlist"; @@ -141,6 +129,7 @@ public void ShowToastNotificationWithProgress(string tag, // Values must be of type string Data = new NotificationData() }; + toast.Data.Values["progress"] = progress.ToString(new CultureInfo("en-US")); toast.Data.Values["leftText"] = leftText; toast.Data.Values["rightText"] = rightText; @@ -152,12 +141,7 @@ public void ShowToastNotificationWithProgress(string tag, ToastNotificationManager.CreateToastNotifier().Show(toast); } - public void UpdateToastWithProgress(string tag, - string group, - string leftText, - string rightText, - double progress, - uint sequenceNumber) + public void UpdateToastWithProgress(string tag, string group, string leftText, string rightText, double progress, uint sequenceNumber) { // Construct a NotificationData object; //string tag = "weekly-playlist"; diff --git a/src/FluentHub.Uwp/Strings/af-ZA/Resources.resw b/src/FluentHub.App/Strings/af-ZA/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/af-ZA/Resources.resw rename to src/FluentHub.App/Strings/af-ZA/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/ar-SA/Resources.resw b/src/FluentHub.App/Strings/ar-SA/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/ar-SA/Resources.resw rename to src/FluentHub.App/Strings/ar-SA/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/bg-BG/Resources.resw b/src/FluentHub.App/Strings/bg-BG/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/bg-BG/Resources.resw rename to src/FluentHub.App/Strings/bg-BG/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/de-DE/Resources.resw b/src/FluentHub.App/Strings/de-DE/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/de-DE/Resources.resw rename to src/FluentHub.App/Strings/de-DE/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/el-GR/Resources.resw b/src/FluentHub.App/Strings/el-GR/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/el-GR/Resources.resw rename to src/FluentHub.App/Strings/el-GR/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/en-GB/Resources.resw b/src/FluentHub.App/Strings/en-GB/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/en-GB/Resources.resw rename to src/FluentHub.App/Strings/en-GB/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/en-US/Resources.resw b/src/FluentHub.App/Strings/en-US/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/en-US/Resources.resw rename to src/FluentHub.App/Strings/en-US/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/es-419/Resources.resw b/src/FluentHub.App/Strings/es-419/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/es-419/Resources.resw rename to src/FluentHub.App/Strings/es-419/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/es-ES/Resources.resw b/src/FluentHub.App/Strings/es-ES/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/es-ES/Resources.resw rename to src/FluentHub.App/Strings/es-ES/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/fil-PH/Resources.resw b/src/FluentHub.App/Strings/fil-PH/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/fil-PH/Resources.resw rename to src/FluentHub.App/Strings/fil-PH/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/fr-FR/Resources.resw b/src/FluentHub.App/Strings/fr-FR/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/fr-FR/Resources.resw rename to src/FluentHub.App/Strings/fr-FR/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/he-IL/Resources.resw b/src/FluentHub.App/Strings/he-IL/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/he-IL/Resources.resw rename to src/FluentHub.App/Strings/he-IL/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/hi-IN/Resources.resw b/src/FluentHub.App/Strings/hi-IN/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/hi-IN/Resources.resw rename to src/FluentHub.App/Strings/hi-IN/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/hu-HU/Resources.resw b/src/FluentHub.App/Strings/hu-HU/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/hu-HU/Resources.resw rename to src/FluentHub.App/Strings/hu-HU/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/id-ID/Resources.resw b/src/FluentHub.App/Strings/id-ID/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/id-ID/Resources.resw rename to src/FluentHub.App/Strings/id-ID/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/it-IT/Resources.resw b/src/FluentHub.App/Strings/it-IT/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/it-IT/Resources.resw rename to src/FluentHub.App/Strings/it-IT/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/ja-JP/Resources.resw b/src/FluentHub.App/Strings/ja-JP/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/ja-JP/Resources.resw rename to src/FluentHub.App/Strings/ja-JP/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/ka-GE/Resources.resw b/src/FluentHub.App/Strings/ka-GE/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/ka-GE/Resources.resw rename to src/FluentHub.App/Strings/ka-GE/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/ko-KR/Resources.resw b/src/FluentHub.App/Strings/ko-KR/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/ko-KR/Resources.resw rename to src/FluentHub.App/Strings/ko-KR/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/lv-LV/Resources.resw b/src/FluentHub.App/Strings/lv-LV/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/lv-LV/Resources.resw rename to src/FluentHub.App/Strings/lv-LV/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/nb-NO/Resources.resw b/src/FluentHub.App/Strings/nb-NO/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/nb-NO/Resources.resw rename to src/FluentHub.App/Strings/nb-NO/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/nl-NL/Resources.resw b/src/FluentHub.App/Strings/nl-NL/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/nl-NL/Resources.resw rename to src/FluentHub.App/Strings/nl-NL/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/nn-NO/Resources.resw b/src/FluentHub.App/Strings/nn-NO/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/nn-NO/Resources.resw rename to src/FluentHub.App/Strings/nn-NO/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/no-NO/Resources.resw b/src/FluentHub.App/Strings/no-NO/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/no-NO/Resources.resw rename to src/FluentHub.App/Strings/no-NO/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/pl-PL/Resources.resw b/src/FluentHub.App/Strings/pl-PL/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/pl-PL/Resources.resw rename to src/FluentHub.App/Strings/pl-PL/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/pt-BR/Resources.resw b/src/FluentHub.App/Strings/pt-BR/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/pt-BR/Resources.resw rename to src/FluentHub.App/Strings/pt-BR/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/pt-PT/Resources.resw b/src/FluentHub.App/Strings/pt-PT/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/pt-PT/Resources.resw rename to src/FluentHub.App/Strings/pt-PT/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/ru-RU/Resources.resw b/src/FluentHub.App/Strings/ru-RU/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/ru-RU/Resources.resw rename to src/FluentHub.App/Strings/ru-RU/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/sk-SK/Resources.resw b/src/FluentHub.App/Strings/sk-SK/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/sk-SK/Resources.resw rename to src/FluentHub.App/Strings/sk-SK/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/sv-SE/Resources.resw b/src/FluentHub.App/Strings/sv-SE/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/sv-SE/Resources.resw rename to src/FluentHub.App/Strings/sv-SE/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/ta-IN/Resources.resw b/src/FluentHub.App/Strings/ta-IN/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/ta-IN/Resources.resw rename to src/FluentHub.App/Strings/ta-IN/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/th-TH/Resources.resw b/src/FluentHub.App/Strings/th-TH/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/th-TH/Resources.resw rename to src/FluentHub.App/Strings/th-TH/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/tr-TR/Resources.resw b/src/FluentHub.App/Strings/tr-TR/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/tr-TR/Resources.resw rename to src/FluentHub.App/Strings/tr-TR/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/uk-UA/Resources.resw b/src/FluentHub.App/Strings/uk-UA/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/uk-UA/Resources.resw rename to src/FluentHub.App/Strings/uk-UA/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/vi-VN/Resources.resw b/src/FluentHub.App/Strings/vi-VN/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/vi-VN/Resources.resw rename to src/FluentHub.App/Strings/vi-VN/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/zh-CN/Resources.resw b/src/FluentHub.App/Strings/zh-CN/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/zh-CN/Resources.resw rename to src/FluentHub.App/Strings/zh-CN/Resources.resw diff --git a/src/FluentHub.Uwp/Strings/zh-TW/Resources.resw b/src/FluentHub.App/Strings/zh-TW/Resources.resw similarity index 100% rename from src/FluentHub.Uwp/Strings/zh-TW/Resources.resw rename to src/FluentHub.App/Strings/zh-TW/Resources.resw diff --git a/src/FluentHub.Uwp/Themes/FluentHub Default.xaml b/src/FluentHub.App/Themes/FluentHub Default.xaml similarity index 98% rename from src/FluentHub.Uwp/Themes/FluentHub Default.xaml rename to src/FluentHub.App/Themes/FluentHub Default.xaml index f969299c3..d26099264 100644 --- a/src/FluentHub.Uwp/Themes/FluentHub Default.xaml +++ b/src/FluentHub.App/Themes/FluentHub Default.xaml @@ -1,9 +1,7 @@ - + + + @@ -200,6 +198,7 @@ Color="#ff80c8" /> + @@ -423,5 +422,7 @@ Opacity="0.15" Color="#db61a2" /> + + diff --git a/src/FluentHub.Uwp/Themes/GitHub Default.xaml b/src/FluentHub.App/Themes/GitHub Default.xaml similarity index 98% rename from src/FluentHub.Uwp/Themes/GitHub Default.xaml rename to src/FluentHub.App/Themes/GitHub Default.xaml index f969299c3..d26099264 100644 --- a/src/FluentHub.Uwp/Themes/GitHub Default.xaml +++ b/src/FluentHub.App/Themes/GitHub Default.xaml @@ -1,9 +1,7 @@ - + + + @@ -200,6 +198,7 @@ Color="#ff80c8" /> + @@ -423,5 +422,7 @@ Opacity="0.15" Color="#db61a2" /> + + diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/CodeBlockButton.xaml b/src/FluentHub.App/UserControls/BlockButtons/CodeBlockButton.xaml similarity index 79% rename from src/FluentHub.Uwp/UserControls/BlockButtons/CodeBlockButton.xaml rename to src/FluentHub.App/UserControls/BlockButtons/CodeBlockButton.xaml index dd23c4721..0c4c60f17 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/CodeBlockButton.xaml +++ b/src/FluentHub.App/UserControls/BlockButtons/CodeBlockButton.xaml @@ -1,13 +1,12 @@  diff --git a/src/FluentHub.App/UserControls/BlockButtons/CodeBlockButton.xaml.cs b/src/FluentHub.App/UserControls/BlockButtons/CodeBlockButton.xaml.cs new file mode 100644 index 000000000..cc07d5716 --- /dev/null +++ b/src/FluentHub.App/UserControls/BlockButtons/CodeBlockButton.xaml.cs @@ -0,0 +1,15 @@ +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.UserControls.BlockButtons; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; + +namespace FluentHub.App.UserControls.BlockButtons +{ + public sealed partial class CodeBlockButton : UserControl + { + public CodeBlockButton() + => InitializeComponent(); + } +} diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/CommitBlockButton.xaml b/src/FluentHub.App/UserControls/BlockButtons/CommitBlockButton.xaml similarity index 92% rename from src/FluentHub.Uwp/UserControls/BlockButtons/CommitBlockButton.xaml rename to src/FluentHub.App/UserControls/BlockButtons/CommitBlockButton.xaml index 14f53f5ab..aa75f4654 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/CommitBlockButton.xaml +++ b/src/FluentHub.App/UserControls/BlockButtons/CommitBlockButton.xaml @@ -1,15 +1,14 @@  diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/CommitBlockButton.xaml.cs b/src/FluentHub.App/UserControls/BlockButtons/CommitBlockButton.xaml.cs similarity index 83% rename from src/FluentHub.Uwp/UserControls/BlockButtons/CommitBlockButton.xaml.cs rename to src/FluentHub.App/UserControls/BlockButtons/CommitBlockButton.xaml.cs index a331e914b..70611ade2 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/CommitBlockButton.xaml.cs +++ b/src/FluentHub.App/UserControls/BlockButtons/CommitBlockButton.xaml.cs @@ -1,11 +1,11 @@ -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.UserControls.BlockButtons; +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.UserControls.BlockButtons; using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; -namespace FluentHub.Uwp.UserControls.BlockButtons +namespace FluentHub.App.UserControls.BlockButtons { public sealed partial class CommitBlockButton : UserControl { @@ -24,7 +24,8 @@ public CommitBlockButtonViewModel ViewModel } #endregion - public CommitBlockButton() => InitializeComponent(); + public CommitBlockButton() + => InitializeComponent(); private void CommitItemButton_Click(object sender, RoutedEventArgs e) { diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/DiscussionBlockButton.xaml b/src/FluentHub.App/UserControls/BlockButtons/DiscussionBlockButton.xaml similarity index 91% rename from src/FluentHub.Uwp/UserControls/BlockButtons/DiscussionBlockButton.xaml rename to src/FluentHub.App/UserControls/BlockButtons/DiscussionBlockButton.xaml index ea3aec8e3..f957a16b3 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/DiscussionBlockButton.xaml +++ b/src/FluentHub.App/UserControls/BlockButtons/DiscussionBlockButton.xaml @@ -1,14 +1,13 @@  diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/DiscussionBlockButton.xaml.cs b/src/FluentHub.App/UserControls/BlockButtons/DiscussionBlockButton.xaml.cs similarity index 79% rename from src/FluentHub.Uwp/UserControls/BlockButtons/DiscussionBlockButton.xaml.cs rename to src/FluentHub.App/UserControls/BlockButtons/DiscussionBlockButton.xaml.cs index c0000d9b3..f18fe3189 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/DiscussionBlockButton.xaml.cs +++ b/src/FluentHub.App/UserControls/BlockButtons/DiscussionBlockButton.xaml.cs @@ -1,12 +1,11 @@ -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.UserControls.BlockButtons; -using FluentHub.Uwp.Views.Repositories.Discussions; +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.UserControls.BlockButtons; using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; -namespace FluentHub.Uwp.UserControls.BlockButtons +namespace FluentHub.App.UserControls.BlockButtons { public sealed partial class DiscussionBlockButton : UserControl { @@ -30,7 +29,8 @@ public DiscussionBlockButtonViewModel ViewModel } #endregion - public DiscussionBlockButton() => InitializeComponent(); + public DiscussionBlockButton() + => InitializeComponent(); private void Button_Click(object sender, RoutedEventArgs e) { diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/IssueBlockButton.xaml b/src/FluentHub.App/UserControls/BlockButtons/IssueBlockButton.xaml similarity index 91% rename from src/FluentHub.Uwp/UserControls/BlockButtons/IssueBlockButton.xaml rename to src/FluentHub.App/UserControls/BlockButtons/IssueBlockButton.xaml index f960b341d..daf41a4f3 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/IssueBlockButton.xaml +++ b/src/FluentHub.App/UserControls/BlockButtons/IssueBlockButton.xaml @@ -1,15 +1,14 @@  - - - - + + + - + InitializeComponent(); + public IssueBlockButton() + => InitializeComponent(); private void OnClick(object sender, RoutedEventArgs e) { diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/NotificationBlockButton.xaml b/src/FluentHub.App/UserControls/BlockButtons/NotificationBlockButton.xaml similarity index 84% rename from src/FluentHub.Uwp/UserControls/BlockButtons/NotificationBlockButton.xaml rename to src/FluentHub.App/UserControls/BlockButtons/NotificationBlockButton.xaml index d6510ed24..dda5abcef 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/NotificationBlockButton.xaml +++ b/src/FluentHub.App/UserControls/BlockButtons/NotificationBlockButton.xaml @@ -1,15 +1,14 @@  diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/NotificationBlockButton.xaml.cs b/src/FluentHub.App/UserControls/BlockButtons/NotificationBlockButton.xaml.cs similarity index 86% rename from src/FluentHub.Uwp/UserControls/BlockButtons/NotificationBlockButton.xaml.cs rename to src/FluentHub.App/UserControls/BlockButtons/NotificationBlockButton.xaml.cs index 68f83ee1f..b7f82a2b2 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/NotificationBlockButton.xaml.cs +++ b/src/FluentHub.App/UserControls/BlockButtons/NotificationBlockButton.xaml.cs @@ -1,13 +1,11 @@ -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels; -using FluentHub.Uwp.ViewModels.UserControls.BlockButtons; -using FluentHub.Uwp.Views.Repositories; +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.UserControls.BlockButtons; using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; -namespace FluentHub.Uwp.UserControls.BlockButtons +namespace FluentHub.App.UserControls.BlockButtons { public sealed partial class NotificationBlockButton : UserControl { @@ -27,7 +25,8 @@ public NotificationBlockButtonViewModel ViewModel } #endregion - public NotificationBlockButton() => InitializeComponent(); + public NotificationBlockButton() + => InitializeComponent(); private void OnClick(object sender, RoutedEventArgs e) { diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/OrgBlockButton.xaml b/src/FluentHub.App/UserControls/BlockButtons/OrgBlockButton.xaml similarity index 88% rename from src/FluentHub.Uwp/UserControls/BlockButtons/OrgBlockButton.xaml rename to src/FluentHub.App/UserControls/BlockButtons/OrgBlockButton.xaml index b4e3eebf9..722f5727a 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/OrgBlockButton.xaml +++ b/src/FluentHub.App/UserControls/BlockButtons/OrgBlockButton.xaml @@ -1,13 +1,12 @@  InitializeComponent(); + public OrgBlockButton() + => InitializeComponent(); private void OrganizationOverviewButton_Click(object sender, RoutedEventArgs e) { diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/PackageBlockButton.xaml b/src/FluentHub.App/UserControls/BlockButtons/PackageBlockButton.xaml similarity index 79% rename from src/FluentHub.Uwp/UserControls/BlockButtons/PackageBlockButton.xaml rename to src/FluentHub.App/UserControls/BlockButtons/PackageBlockButton.xaml index 7439d97b2..37696cff8 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/PackageBlockButton.xaml +++ b/src/FluentHub.App/UserControls/BlockButtons/PackageBlockButton.xaml @@ -1,13 +1,12 @@  diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/PackageBlockButton.xaml.cs b/src/FluentHub.App/UserControls/BlockButtons/PackageBlockButton.xaml.cs similarity index 58% rename from src/FluentHub.Uwp/UserControls/BlockButtons/PackageBlockButton.xaml.cs rename to src/FluentHub.App/UserControls/BlockButtons/PackageBlockButton.xaml.cs index 612aaae16..6caf7fdf8 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/PackageBlockButton.xaml.cs +++ b/src/FluentHub.App/UserControls/BlockButtons/PackageBlockButton.xaml.cs @@ -1,21 +1,11 @@ -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels; -using FluentHub.Uwp.ViewModels.UserControls.BlockButtons; -using FluentHub.Uwp.Views.Repositories.Projects; +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.UserControls.BlockButtons; using Microsoft.Extensions.DependencyInjection; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.Foundation; -using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; -namespace FluentHub.Uwp.UserControls.BlockButtons +namespace FluentHub.App.UserControls.BlockButtons { public sealed partial class PackageBlockButton : UserControl { @@ -40,9 +30,7 @@ public PackageBlockButtonViewModel ViewModel #endregion public PackageBlockButton() - { - InitializeComponent(); - } + => InitializeComponent(); private void Button_Click(object sender, RoutedEventArgs e) { diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/ProjectBlockButton.xaml b/src/FluentHub.App/UserControls/BlockButtons/ProjectBlockButton.xaml similarity index 93% rename from src/FluentHub.Uwp/UserControls/BlockButtons/ProjectBlockButton.xaml rename to src/FluentHub.App/UserControls/BlockButtons/ProjectBlockButton.xaml index 1d8296fe8..c93ea5b12 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/ProjectBlockButton.xaml +++ b/src/FluentHub.App/UserControls/BlockButtons/ProjectBlockButton.xaml @@ -1,13 +1,12 @@  InitializeComponent(); + public ProjectBlockButton() + => InitializeComponent(); private void Button_Click(object sender, RoutedEventArgs e) { diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/PullBlockButton.xaml b/src/FluentHub.App/UserControls/BlockButtons/PullBlockButton.xaml similarity index 95% rename from src/FluentHub.Uwp/UserControls/BlockButtons/PullBlockButton.xaml rename to src/FluentHub.App/UserControls/BlockButtons/PullBlockButton.xaml index 4b66203a1..467eb9413 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/PullBlockButton.xaml +++ b/src/FluentHub.App/UserControls/BlockButtons/PullBlockButton.xaml @@ -1,15 +1,14 @@ --> - - - - + + + + - + diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/PullBlockButton.xaml.cs b/src/FluentHub.App/UserControls/BlockButtons/PullBlockButton.xaml.cs similarity index 80% rename from src/FluentHub.Uwp/UserControls/BlockButtons/PullBlockButton.xaml.cs rename to src/FluentHub.App/UserControls/BlockButtons/PullBlockButton.xaml.cs index 468b63d86..ce0807c74 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/PullBlockButton.xaml.cs +++ b/src/FluentHub.App/UserControls/BlockButtons/PullBlockButton.xaml.cs @@ -1,12 +1,11 @@ -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.UserControls.BlockButtons; -using FluentHub.Uwp.Views.Repositories; +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.UserControls.BlockButtons; using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; -namespace FluentHub.Uwp.UserControls.BlockButtons +namespace FluentHub.App.UserControls.BlockButtons { public sealed partial class PullBlockButton : UserControl { @@ -30,7 +29,8 @@ public PullBlockButtonViewModel ViewModel } #endregion - public PullBlockButton() => InitializeComponent(); + public PullBlockButton() + => InitializeComponent(); private void OnClick(object sender, RoutedEventArgs e) { diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/RepoBlockButton.xaml b/src/FluentHub.App/UserControls/BlockButtons/RepoBlockButton.xaml similarity index 97% rename from src/FluentHub.Uwp/UserControls/BlockButtons/RepoBlockButton.xaml rename to src/FluentHub.App/UserControls/BlockButtons/RepoBlockButton.xaml index 71ec76086..790d5dc5f 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/RepoBlockButton.xaml +++ b/src/FluentHub.App/UserControls/BlockButtons/RepoBlockButton.xaml @@ -1,12 +1,11 @@  diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/RepoBlockButton.xaml.cs b/src/FluentHub.App/UserControls/BlockButtons/RepoBlockButton.xaml.cs similarity index 70% rename from src/FluentHub.Uwp/UserControls/BlockButtons/RepoBlockButton.xaml.cs rename to src/FluentHub.App/UserControls/BlockButtons/RepoBlockButton.xaml.cs index 813d8d6b8..c4bddb72d 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/RepoBlockButton.xaml.cs +++ b/src/FluentHub.App/UserControls/BlockButtons/RepoBlockButton.xaml.cs @@ -1,10 +1,11 @@ -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.UserControls.BlockButtons; +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.UserControls.BlockButtons; using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; -namespace FluentHub.Uwp.UserControls.BlockButtons +namespace FluentHub.App.UserControls.BlockButtons { public sealed partial class RepoBlockButton : UserControl { @@ -26,6 +27,7 @@ public RepoBlockButtonViewModel ViewModel } #endregion - public RepoBlockButton() => InitializeComponent(); + public RepoBlockButton() + => InitializeComponent(); } } diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/UserBlockButton.xaml b/src/FluentHub.App/UserControls/BlockButtons/UserBlockButton.xaml similarity index 90% rename from src/FluentHub.Uwp/UserControls/BlockButtons/UserBlockButton.xaml rename to src/FluentHub.App/UserControls/BlockButtons/UserBlockButton.xaml index a26fb165b..98f3674f4 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/UserBlockButton.xaml +++ b/src/FluentHub.App/UserControls/BlockButtons/UserBlockButton.xaml @@ -1,13 +1,12 @@  diff --git a/src/FluentHub.Uwp/UserControls/BlockButtons/UserBlockButton.xaml.cs b/src/FluentHub.App/UserControls/BlockButtons/UserBlockButton.xaml.cs similarity index 82% rename from src/FluentHub.Uwp/UserControls/BlockButtons/UserBlockButton.xaml.cs rename to src/FluentHub.App/UserControls/BlockButtons/UserBlockButton.xaml.cs index b5ed23811..14c6bdaf9 100644 --- a/src/FluentHub.Uwp/UserControls/BlockButtons/UserBlockButton.xaml.cs +++ b/src/FluentHub.App/UserControls/BlockButtons/UserBlockButton.xaml.cs @@ -1,10 +1,11 @@ -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.UserControls.BlockButtons; +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.UserControls.BlockButtons; using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; -namespace FluentHub.Uwp.UserControls.BlockButtons +namespace FluentHub.App.UserControls.BlockButtons { public sealed partial class UserBlockButton : UserControl { @@ -27,7 +28,8 @@ public UserBlockButtonViewModel ViewModel } #endregion - public UserBlockButton() => InitializeComponent(); + public UserBlockButton() + => InitializeComponent(); private void UserBlockButtonButton_Click(object sender, RoutedEventArgs e) { diff --git a/src/FluentHub.Uwp/UserControls/BranchName.xaml b/src/FluentHub.App/UserControls/BranchName.xaml similarity index 78% rename from src/FluentHub.Uwp/UserControls/BranchName.xaml rename to src/FluentHub.App/UserControls/BranchName.xaml index a0801518c..8890ededa 100644 --- a/src/FluentHub.Uwp/UserControls/BranchName.xaml +++ b/src/FluentHub.App/UserControls/BranchName.xaml @@ -1,9 +1,9 @@  this.InitializeComponent(); + public BranchName() + => InitializeComponent(); } } diff --git a/src/FluentHub.Uwp/UserControls/DiffBlock.xaml b/src/FluentHub.App/UserControls/DiffBlock.xaml similarity index 95% rename from src/FluentHub.Uwp/UserControls/DiffBlock.xaml rename to src/FluentHub.App/UserControls/DiffBlock.xaml index 35bffa601..4f9ceddf2 100644 --- a/src/FluentHub.Uwp/UserControls/DiffBlock.xaml +++ b/src/FluentHub.App/UserControls/DiffBlock.xaml @@ -1,13 +1,12 @@  @@ -156,13 +155,13 @@ Margin="0,-2,0,0" VerticalAlignment="Top" /> - - - - + + + @@ -188,7 +187,7 @@ - + InitializeComponent(); + public DiffBlock() + => InitializeComponent(); private void OnToggleExpandCollapseButton(object sender, RoutedEventArgs e) { diff --git a/src/FluentHub.Uwp/UserControls/FeedBlocks/ActivityBlock.xaml b/src/FluentHub.App/UserControls/FeedBlocks/ActivityBlock.xaml similarity index 98% rename from src/FluentHub.Uwp/UserControls/FeedBlocks/ActivityBlock.xaml rename to src/FluentHub.App/UserControls/FeedBlocks/ActivityBlock.xaml index cd0b1911d..0518eec98 100644 --- a/src/FluentHub.Uwp/UserControls/FeedBlocks/ActivityBlock.xaml +++ b/src/FluentHub.App/UserControls/FeedBlocks/ActivityBlock.xaml @@ -1,16 +1,15 @@  diff --git a/src/FluentHub.Uwp/UserControls/FeedBlocks/ActivityBlock.xaml.cs b/src/FluentHub.App/UserControls/FeedBlocks/ActivityBlock.xaml.cs similarity index 56% rename from src/FluentHub.Uwp/UserControls/FeedBlocks/ActivityBlock.xaml.cs rename to src/FluentHub.App/UserControls/FeedBlocks/ActivityBlock.xaml.cs index d643f5e77..7b4fb18fd 100644 --- a/src/FluentHub.Uwp/UserControls/FeedBlocks/ActivityBlock.xaml.cs +++ b/src/FluentHub.App/UserControls/FeedBlocks/ActivityBlock.xaml.cs @@ -1,19 +1,15 @@ -using FluentHub.Uwp.ViewModels.UserControls.FeedBlocks; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.Foundation; -using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.UserControls.FeedBlocks; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; -namespace FluentHub.Uwp.UserControls.FeedBlocks +namespace FluentHub.App.UserControls.FeedBlocks { public sealed partial class ActivityBlock : UserControl { + #region propdp public static readonly DependencyProperty ViewModelProperty = DependencyProperty.Register( nameof(ViewModel), @@ -30,7 +26,9 @@ public ActivityBlockViewModel ViewModel ViewModel?.LoadContentsAsync(); } } + #endregion - public ActivityBlock() => InitializeComponent(); + public ActivityBlock() + => InitializeComponent(); } } diff --git a/src/FluentHub.Uwp/UserControls/FeedBlocks/SingleCommentBlock.xaml b/src/FluentHub.App/UserControls/FeedBlocks/SingleCommentBlock.xaml similarity index 70% rename from src/FluentHub.Uwp/UserControls/FeedBlocks/SingleCommentBlock.xaml rename to src/FluentHub.App/UserControls/FeedBlocks/SingleCommentBlock.xaml index 749823c3f..24d69db47 100644 --- a/src/FluentHub.Uwp/UserControls/FeedBlocks/SingleCommentBlock.xaml +++ b/src/FluentHub.App/UserControls/FeedBlocks/SingleCommentBlock.xaml @@ -1,14 +1,13 @@  diff --git a/src/FluentHub.Uwp/UserControls/FeedBlocks/SingleCommentBlock.xaml.cs b/src/FluentHub.App/UserControls/FeedBlocks/SingleCommentBlock.xaml.cs similarity index 58% rename from src/FluentHub.Uwp/UserControls/FeedBlocks/SingleCommentBlock.xaml.cs rename to src/FluentHub.App/UserControls/FeedBlocks/SingleCommentBlock.xaml.cs index 3cd37b429..6c9c5042e 100644 --- a/src/FluentHub.Uwp/UserControls/FeedBlocks/SingleCommentBlock.xaml.cs +++ b/src/FluentHub.App/UserControls/FeedBlocks/SingleCommentBlock.xaml.cs @@ -1,16 +1,11 @@ -using FluentHub.Uwp.ViewModels.UserControls.FeedBlocks; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.Foundation; -using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.UserControls.FeedBlocks; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; -namespace FluentHub.Uwp.UserControls.FeedBlocks +namespace FluentHub.App.UserControls.FeedBlocks { public sealed partial class SingleCommentBlock : UserControl { @@ -33,6 +28,7 @@ public SingleCommentBlockViewModel ViewModel } #endregion - public SingleCommentBlock() => InitializeComponent(); + public SingleCommentBlock() + => InitializeComponent(); } } diff --git a/src/FluentHub.Uwp/UserControls/FeedBlocks/SingleCommitBlock.xaml b/src/FluentHub.App/UserControls/FeedBlocks/SingleCommitBlock.xaml similarity index 76% rename from src/FluentHub.Uwp/UserControls/FeedBlocks/SingleCommitBlock.xaml rename to src/FluentHub.App/UserControls/FeedBlocks/SingleCommitBlock.xaml index 1e33ff5b9..82d7105af 100644 --- a/src/FluentHub.Uwp/UserControls/FeedBlocks/SingleCommitBlock.xaml +++ b/src/FluentHub.App/UserControls/FeedBlocks/SingleCommitBlock.xaml @@ -1,16 +1,15 @@  @@ -30,10 +29,10 @@ - - - - + + + + - + diff --git a/src/FluentHub.Uwp/UserControls/FeedBlocks/SingleCommitBlock.xaml.cs b/src/FluentHub.App/UserControls/FeedBlocks/SingleCommitBlock.xaml.cs similarity index 58% rename from src/FluentHub.Uwp/UserControls/FeedBlocks/SingleCommitBlock.xaml.cs rename to src/FluentHub.App/UserControls/FeedBlocks/SingleCommitBlock.xaml.cs index d57699eec..1c271c2e6 100644 --- a/src/FluentHub.Uwp/UserControls/FeedBlocks/SingleCommitBlock.xaml.cs +++ b/src/FluentHub.App/UserControls/FeedBlocks/SingleCommitBlock.xaml.cs @@ -1,16 +1,11 @@ -using FluentHub.Uwp.ViewModels.UserControls.FeedBlocks; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.Foundation; -using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.UserControls.FeedBlocks; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; -namespace FluentHub.Uwp.UserControls.FeedBlocks +namespace FluentHub.App.UserControls.FeedBlocks { public sealed partial class SingleCommitBlock : UserControl { @@ -33,6 +28,7 @@ public SingleCommitBlockViewModel ViewModel } #endregion - public SingleCommitBlock() => InitializeComponent(); + public SingleCommitBlock() + => InitializeComponent(); } } diff --git a/src/FluentHub.Uwp/UserControls/FeedBlocks/SingleReleaseBlock.xaml b/src/FluentHub.App/UserControls/FeedBlocks/SingleReleaseBlock.xaml similarity index 81% rename from src/FluentHub.Uwp/UserControls/FeedBlocks/SingleReleaseBlock.xaml rename to src/FluentHub.App/UserControls/FeedBlocks/SingleReleaseBlock.xaml index 5c584b22d..ad6f57d01 100644 --- a/src/FluentHub.Uwp/UserControls/FeedBlocks/SingleReleaseBlock.xaml +++ b/src/FluentHub.App/UserControls/FeedBlocks/SingleReleaseBlock.xaml @@ -1,9 +1,9 @@  InitializeComponent(); + public SingleReleaseBlock() + => InitializeComponent(); } } diff --git a/src/FluentHub.Uwp/UserControls/FileContentBlock.xaml b/src/FluentHub.App/UserControls/FileContentBlock.xaml similarity index 97% rename from src/FluentHub.Uwp/UserControls/FileContentBlock.xaml rename to src/FluentHub.App/UserControls/FileContentBlock.xaml index 87f9df348..c4d88c627 100644 --- a/src/FluentHub.Uwp/UserControls/FileContentBlock.xaml +++ b/src/FluentHub.App/UserControls/FileContentBlock.xaml @@ -1,10 +1,10 @@  @@ -101,25 +100,25 @@ Content="Go to file" IsEnabled="False" /> - - + - - + + - - + @@ -128,27 +127,27 @@ - - - + - - + + - + - + @@ -165,11 +164,11 @@ Style="{StaticResource SubtitleTextBlockStyle}" Text="{helpers:ResourceString Name=FeedsPageHeader/Text}" /> - + - + diff --git a/src/FluentHub.Uwp/Views/Home/FeedsPage.xaml.cs b/src/FluentHub.App/Views/Home/FeedsPage.xaml.cs similarity index 78% rename from src/FluentHub.Uwp/Views/Home/FeedsPage.xaml.cs rename to src/FluentHub.App/Views/Home/FeedsPage.xaml.cs index ab8196510..519038f23 100644 --- a/src/FluentHub.Uwp/Views/Home/FeedsPage.xaml.cs +++ b/src/FluentHub.App/Views/Home/FeedsPage.xaml.cs @@ -1,14 +1,12 @@ -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.Home; +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.Home; using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Media.Imaging; -using Windows.UI.Xaml.Navigation; -using muxc = Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Navigation; -namespace FluentHub.Uwp.Views.Home +namespace FluentHub.App.Views.Home { public sealed partial class ActivitiesPage : Page { @@ -41,7 +39,7 @@ private void OnHomeRepositoriesListItemClick(object sender, ItemClickEventArgs e Name = item.Name, }; - if (App.Settings.UseDetailsView) + if (App.AppSettings.UseDetailsView) _navigation.Navigate(parameter); else _navigation.Navigate(parameter); diff --git a/src/FluentHub.Uwp/Views/Home/NotificationsPage.xaml b/src/FluentHub.App/Views/Home/NotificationsPage.xaml similarity index 88% rename from src/FluentHub.Uwp/Views/Home/NotificationsPage.xaml rename to src/FluentHub.App/Views/Home/NotificationsPage.xaml index 16a06793e..4e56e0273 100644 --- a/src/FluentHub.Uwp/Views/Home/NotificationsPage.xaml +++ b/src/FluentHub.App/Views/Home/NotificationsPage.xaml @@ -1,16 +1,15 @@  @@ -96,7 +95,7 @@ FontSize="14" Foreground="{ThemeResource ApplicationSecondaryForegroundThemeBrush}" Glyph="" /> - + @@ -105,8 +104,8 @@ --> - - + + - - + + @@ -133,16 +132,16 @@ - - + + - - + + - - + + @@ -163,21 +162,21 @@ - - + + - - - - + + + + - + @@ -32,7 +31,7 @@ 0,0,0,0 0 - @@ -47,7 +46,7 @@ @@ -171,30 +170,30 @@ - - + - + - - + - - + - - + + - - - - + + + + - - + - + - + - - + + - - + - + - + @@ -347,7 +346,7 @@ @@ -355,7 +354,7 @@ @@ -363,7 +362,7 @@ @@ -371,7 +370,7 @@ @@ -379,7 +378,7 @@ @@ -387,7 +386,7 @@ @@ -395,7 +394,7 @@ @@ -403,7 +402,7 @@ @@ -495,8 +494,8 @@ - - + + diff --git a/src/FluentHub.Uwp/Views/Home/UserHomePage.xaml.cs b/src/FluentHub.App/Views/Home/UserHomePage.xaml.cs similarity index 64% rename from src/FluentHub.Uwp/Views/Home/UserHomePage.xaml.cs rename to src/FluentHub.App/Views/Home/UserHomePage.xaml.cs index 832b91997..4e2a7549a 100644 --- a/src/FluentHub.Uwp/Views/Home/UserHomePage.xaml.cs +++ b/src/FluentHub.App/Views/Home/UserHomePage.xaml.cs @@ -1,14 +1,12 @@ -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.Home; +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.Home; using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Media.Imaging; -using Windows.UI.Xaml.Navigation; -using muxc = Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Navigation; -namespace FluentHub.Uwp.Views.Home +namespace FluentHub.App.Views.Home { public sealed partial class UserHomePage : Page { @@ -35,71 +33,46 @@ private void OnHomeRepositoriesListItemClick(object sender, ItemClickEventArgs e { var clickedItem = e.ClickedItem as Repository; - var param = new Models.FrameNavigationArgs() + var param = new FrameNavigationArgs() { Login = clickedItem.Owner.Login, Name = clickedItem.Name, }; - if (App.Settings.UseDetailsView) - _navigation.Navigate(param); + if (App.AppSettings.UseDetailsView) + _navigation.Navigate(param); else - _navigation.Navigate(param); + _navigation.Navigate(param); } private void OnOneFolderCardClick(object sender, RoutedEventArgs e) { var clickedButton = sender as Button; + var param = new FrameNavigationArgs() + { + Login = App.AppSettings.SignedInUserName, + Parameters = new() { "AsViewer" }, + }; switch (clickedButton.Tag) { case "issues": - _navigation.Navigate( - new FrameNavigationArgs() - { - Login = App.Settings.SignedInUserName, - Parameters = new() { "AsViewer" }, - }); + _navigation.Navigate(param); break; case "pullrequests": - _navigation.Navigate( - new FrameNavigationArgs() - { - Login = App.Settings.SignedInUserName, - Parameters = new() { "AsViewer" }, - }); + _navigation.Navigate(param); break; case "discussions": - _navigation.Navigate( - new FrameNavigationArgs() - { - Login = App.Settings.SignedInUserName, - Parameters = new() { "AsViewer" }, - }); + _navigation.Navigate(param); break; case "repositories": - _navigation.Navigate( - new FrameNavigationArgs() - { - Login = App.Settings.SignedInUserName, - Parameters = new() { "AsViewer" }, - }); + _navigation.Navigate(param); break; case "organizations": - _navigation.Navigate( - new FrameNavigationArgs() - { - Login = App.Settings.SignedInUserName, - Parameters = new() { "AsViewer" }, - }); + _navigation.Navigate(param); break; case "stars": - _navigation.Navigate( - new FrameNavigationArgs() - { - Login = App.Settings.SignedInUserName, - Parameters = new() { "AsViewer" }, - }); + _navigation.Navigate(param); break; } } diff --git a/src/FluentHub.Uwp/Views/MainPage.xaml b/src/FluentHub.App/Views/MainPage.xaml similarity index 74% rename from src/FluentHub.Uwp/Views/MainPage.xaml rename to src/FluentHub.App/Views/MainPage.xaml index 480018f23..f682759a9 100644 --- a/src/FluentHub.Uwp/Views/MainPage.xaml +++ b/src/FluentHub.App/Views/MainPage.xaml @@ -1,21 +1,18 @@  @@ -91,22 +88,12 @@ - - - @@ -115,16 +102,13 @@ - - - - - + VerticalAlignment="Center" /> @@ -139,14 +123,14 @@ BorderThickness="0" Click="OnSearchGitHubButtonButtonClick" ToolTipService.ToolTip="{helpers:ResourceString Name=SearchBarButton/ToolTipService/Tooltip}"> - - + + - - - - - + + + + + @@ -220,14 +204,14 @@ - - + + - - - - - + + + + + - - + - + - - + + @@ -383,9 +365,9 @@ - - + 4 24 2 0 - + - + - + Tag="{x:Bind Name}"> - + + + + + + + - - - - + - + - + - + @@ -469,21 +445,7 @@ - - - diff --git a/src/FluentHub.Uwp/Views/MainPage.xaml.cs b/src/FluentHub.App/Views/MainPage.xaml.cs similarity index 68% rename from src/FluentHub.Uwp/Views/MainPage.xaml.cs rename to src/FluentHub.App/Views/MainPage.xaml.cs index 3d2760739..4feda75a2 100644 --- a/src/FluentHub.Uwp/Views/MainPage.xaml.cs +++ b/src/FluentHub.App/Views/MainPage.xaml.cs @@ -1,21 +1,23 @@ -using FluentHub.Uwp.Dialogs; -using FluentHub.Uwp.Helpers; -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Services; -using FluentHub.Uwp.Services.Navigation; -using FluentHub.Uwp.ViewModels; -using FluentHub.Uwp.Utils; +using FluentHub.App.Dialogs; +using FluentHub.App.Helpers; +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.Services.Navigation; +using FluentHub.App.ViewModels; +using FluentHub.App.Utils; using Microsoft.Extensions.DependencyInjection; +using Microsoft.UI; +using Microsoft.UI.Windowing; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Input; +using Microsoft.UI.Xaml.Navigation; using Windows.ApplicationModel.Core; +using Windows.Graphics; using Windows.System; using Windows.UI.Core; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Navigation; -using muxc = Microsoft.UI.Xaml.Controls; -using Windows.UI.Xaml.Input; -namespace FluentHub.Uwp.Views +namespace FluentHub.App.Views { public sealed partial class MainPage : Page { @@ -38,26 +40,20 @@ public MainPage() #region Methods private void SubscribeEvents() { - var titleBar = CoreApplication.GetCurrentView().TitleBar; - SystemNavigationManager.GetForCurrentView().BackRequested += OnAppBackRequested; - Window.Current.CoreWindow.PointerPressed += OnWindowPointerPressed; } private void UnsubscribeEvents() { - var titleBar = CoreApplication.GetCurrentView().TitleBar; - SystemNavigationManager.GetForCurrentView().BackRequested -= OnAppBackRequested; - Window.Current.CoreWindow.PointerPressed -= OnWindowPointerPressed; } - private muxc.InfoBarSeverity UserNotificationToInfoBarSeverity(UserNotificationType type) + private InfoBarSeverity UserNotificationToInfoBarSeverity(UserNotificationType type) { return type switch { - UserNotificationType.Info => muxc.InfoBarSeverity.Informational, - UserNotificationType.Success => muxc.InfoBarSeverity.Success, - UserNotificationType.Warning => muxc.InfoBarSeverity.Warning, - UserNotificationType.Error => muxc.InfoBarSeverity.Error, + UserNotificationType.Info => InfoBarSeverity.Informational, + UserNotificationType.Success => InfoBarSeverity.Success, + UserNotificationType.Warning => InfoBarSeverity.Warning, + UserNotificationType.Error => InfoBarSeverity.Error, _ => throw new ArgumentOutOfRangeException(nameof(type), type, null), }; } @@ -66,9 +62,14 @@ private muxc.InfoBarSeverity UserNotificationToInfoBarSeverity(UserNotificationT #region Event handlers protected override async void OnNavigatedTo(NavigationEventArgs e) { + // Initialize the static theme helper to capture a reference to this window + // to handle theme changes without restarting the app + ThemeHelpers.Initialize(); + SubscribeEvents(); - TabView.NewTabPage = typeof(Home.UserHomePage); - navService.Configure(TabView); + + CustomTabViewControl.NewTabPage = typeof(Home.UserHomePage); + navService.Configure(CustomTabViewControl); navService.Navigate(); var command = ViewModel.LoadSignedInUserCommand; @@ -76,7 +77,7 @@ protected override async void OnNavigatedTo(NavigationEventArgs e) command.Execute(null); // Configure Jumplist - await JumpListHelper.ConfigureDefaultJumpListAsync(); + await JumpListHelpers.ConfigureDefaultJumpListAsync(); } protected override void OnNavigatingFrom(NavigatingCancelEventArgs e) @@ -85,6 +86,55 @@ protected override void OnNavigatingFrom(NavigatingCancelEventArgs e) navService.Disconnect(); } + private void OnCustomTabViewControlLoaded(object sender, RoutedEventArgs e) + { + // https://learn.microsoft.com/en-us/windows/apps/develop/title-bar?tabs=winui3#interactive-content + // It is no longer recognized by the title bar element and its child elements. The rectangular area occupied by the title bar element acts + // as the title bar for pointer purposes, even if the element is blocked by another element, or the element is transparent. + // However, keyboard input is recognized and child elements can receive keyboard focus. + + // WINUI3: bad workaround to be removed asap + // SetDragRectangles() does not work on windows 10 with winappsdk "1.2.220902.1-preview1" + if (System.Environment.OSVersion.Version.Build >= 22000) + { + CustomTabViewControl.DragArea.SizeChanged += (_, _) => SetRectDragRegion(); + } + else + { + App.Window.AppWindow.TitleBar.ExtendsContentIntoTitleBar = false; + App.Window.ExtendsContentIntoTitleBar = true; + App.Window.SetTitleBar(CustomTabViewControl.DragArea); + } + } + + private void SetRectDragRegion() + { + const uint MDT_Effective_DPI = 0; + + var displayArea = DisplayArea.GetFromWindowId(App.Window.AppWindow.Id, DisplayAreaFallback.Primary); + var hMonitor = Win32Interop.GetMonitorFromDisplayId(displayArea.DisplayId); + var hr = NativeWinApiHelper.GetDpiForMonitor(hMonitor, MDT_Effective_DPI, out var dpiX, out _); + if (hr != 0) + return; + + var scaleAdjustment = XamlRoot.RasterizationScale; + var dragArea = CustomTabViewControl.DragArea; + + var offset = CustomTabViewControl.ActualOffset; + + var x = (int)(((double)offset.X + CustomTabViewControl.ActualWidth - dragArea.ActualWidth) * scaleAdjustment); + var y = 0; + var width = (int)(dragArea.ActualWidth * scaleAdjustment); + var height = (int)(CustomTabViewControl.TitlebarArea.ActualHeight * scaleAdjustment); + + var dragRect = new RectInt32(x, y, width, height); + + // WinUI3: Need to track this issue https://github.com/microsoft/WindowsAppSDK/issues/2574 + // They is not fixed in latest stable version v1.5 However, it has been fixed in latest preview version v1.2.220930.4-preview2 + // So we have no choice but to use unstable version of WASDK. Should use latest stable version. + App.Window.AppWindow.TitleBar.SetDragRectangles(new[] { new(0, 0, (int)MainPageTitleBar.ActualWidth, 44), dragRect }); + } + private void OnSearchGitHubButtonButtonClick(object sender, RoutedEventArgs e) { SearchGitHubAutoSuggestBox.Visibility = Visibility.Visible; @@ -179,53 +229,11 @@ private void OnSearchGitHubAutoSuggestBoxTextChanged(AutoSuggestBox sender, Auto } } - private void OnAppBackRequested(object sender, BackRequestedEventArgs e) + private void OnTabViewSelectionChanged(object sender, TabViewSelectionChangedEventArgs e) { - if (navService.CanGoBack()) - { - navService.GoBack(); - e.Handled = true; - } - - Logger?.Debug("SystemNavigationManager.GetForCurrentView().BackRequested fired, [handled: {0}]", e.Handled); + RootFrameBorder.Content = e.NewSelectedItem?.Frame; } - private void OnWindowPointerPressed(CoreWindow sender, PointerEventArgs e) - { - // Mouse back button pressed - if (e.CurrentPoint.Properties.IsXButton1Pressed) - { - bool canGoBack = navService.CanGoBack(); - if (canGoBack) - { - navService.GoBack(); - e.Handled = true; - } - Logger?.Debug("CoreWindow.PointerPressed [button: {0}, canGoBack: {1}]", - e.CurrentPoint.Properties.PointerUpdateKind, - canGoBack); - } - // Mouse forward button pressed - else if (e.CurrentPoint.Properties.IsXButton2Pressed) - { - bool canGoForward = navService.CanGoForward(); - if (canGoForward) - { - navService.GoForward(); - e.Handled = true; - } - Logger?.Debug("CoreWindow.PointerPressed [button: {0}, CanGoForward: {1}]", - e.CurrentPoint.Properties.PointerUpdateKind, - canGoForward); - } - } - - private void OnDragAreaLoaded(object sender, RoutedEventArgs e) - => Window.Current.SetTitleBar(DragArea); - - private void OnTabViewSelectionChanged(object sender, TabViewSelectionChangedEventArgs e) - => RootFrameBorder.Child = e.NewSelectedItem?.Frame; - private void OnMenuFlyoutItemClick(object sender, RoutedEventArgs e) { var item = sender as MenuFlyoutItem; @@ -240,14 +248,14 @@ private void OnMenuFlyoutItemClick(object sender, RoutedEventArgs e) navService.Navigate( new FrameNavigationArgs() { - Login = App.Settings.SignedInUserName, + Login = App.AppSettings.SignedInUserName, }); break; case "Repositories": navService.Navigate( new FrameNavigationArgs() { - Login = App.Settings.SignedInUserName, + Login = App.AppSettings.SignedInUserName, Parameters = new() { "AsViewer" }, }); break; @@ -255,7 +263,7 @@ private void OnMenuFlyoutItemClick(object sender, RoutedEventArgs e) navService.Navigate( new Models.FrameNavigationArgs() { - Login = App.Settings.SignedInUserName, + Login = App.AppSettings.SignedInUserName, Parameters = new() { "AsViewer" }, }); break; @@ -263,7 +271,7 @@ private void OnMenuFlyoutItemClick(object sender, RoutedEventArgs e) navService.Navigate( new Models.FrameNavigationArgs() { - Login = App.Settings.SignedInUserName, + Login = App.AppSettings.SignedInUserName, Parameters = new() { "AsViewer" }, }); break; @@ -271,7 +279,7 @@ private void OnMenuFlyoutItemClick(object sender, RoutedEventArgs e) navService.Navigate( new Models.FrameNavigationArgs() { - Login = App.Settings.SignedInUserName, + Login = App.AppSettings.SignedInUserName, Parameters = new() { "AsViewer" }, }); break; @@ -279,7 +287,7 @@ private void OnMenuFlyoutItemClick(object sender, RoutedEventArgs e) navService.Navigate( new Models.FrameNavigationArgs() { - Login = App.Settings.SignedInUserName, + Login = App.AppSettings.SignedInUserName, Parameters = new() { "AsViewer" }, }); break; @@ -287,7 +295,7 @@ private void OnMenuFlyoutItemClick(object sender, RoutedEventArgs e) navService.Navigate( new Models.FrameNavigationArgs() { - Login = App.Settings.SignedInUserName, + Login = App.AppSettings.SignedInUserName, Parameters = new() { "AsViewer" }, }); break; @@ -298,13 +306,13 @@ private void OnMenuFlyoutItemClick(object sender, RoutedEventArgs e) navService.Navigate(); break; case "SignOut": - Frame rootFrame = (Frame)Window.Current.Content; + Frame rootFrame = (Frame)App.Window.Content; rootFrame.Navigate(typeof(SignIn.IntroPage)); break; } } - private void OnMainNavViewItemInvoked(muxc.NavigationView sender, muxc.NavigationViewItemInvokedEventArgs args) + private void OnMainNavViewItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args) { if (args.InvokedItemContainer == null) { @@ -338,7 +346,7 @@ private void OnMainNavViewItemInvoked(muxc.NavigationView sender, muxc.Navigatio navService.Navigate( new FrameNavigationArgs() { - Login = App.Settings.SignedInUserName, + Login = App.AppSettings.SignedInUserName, }); break; } diff --git a/src/FluentHub.Uwp/Views/Organizations/DiscussionsPage.xaml b/src/FluentHub.App/Views/Organizations/DiscussionsPage.xaml similarity index 72% rename from src/FluentHub.Uwp/Views/Organizations/DiscussionsPage.xaml rename to src/FluentHub.App/Views/Organizations/DiscussionsPage.xaml index f51049451..ad9c7ec0d 100644 --- a/src/FluentHub.Uwp/Views/Organizations/DiscussionsPage.xaml +++ b/src/FluentHub.App/Views/Organizations/DiscussionsPage.xaml @@ -1,9 +1,9 @@  diff --git a/src/FluentHub.App/Views/Organizations/DiscussionsPage.xaml.cs b/src/FluentHub.App/Views/Organizations/DiscussionsPage.xaml.cs new file mode 100644 index 000000000..7817a6cb8 --- /dev/null +++ b/src/FluentHub.App/Views/Organizations/DiscussionsPage.xaml.cs @@ -0,0 +1,13 @@ +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; + +namespace FluentHub.App.Views.Organizations +{ + public sealed partial class DiscussionsPage : Page + { + public DiscussionsPage() + { + this.InitializeComponent(); + } + } +} diff --git a/src/FluentHub.Uwp/Views/Organizations/MembershipPage.xaml b/src/FluentHub.App/Views/Organizations/MembershipPage.xaml similarity index 77% rename from src/FluentHub.Uwp/Views/Organizations/MembershipPage.xaml rename to src/FluentHub.App/Views/Organizations/MembershipPage.xaml index 126104b10..638b9b9de 100644 --- a/src/FluentHub.Uwp/Views/Organizations/MembershipPage.xaml +++ b/src/FluentHub.App/Views/Organizations/MembershipPage.xaml @@ -1,11 +1,10 @@  diff --git a/src/FluentHub.App/Views/Organizations/MembershipPage.xaml.cs b/src/FluentHub.App/Views/Organizations/MembershipPage.xaml.cs new file mode 100644 index 000000000..2a353b793 --- /dev/null +++ b/src/FluentHub.App/Views/Organizations/MembershipPage.xaml.cs @@ -0,0 +1,14 @@ +using Microsoft.Extensions.DependencyInjection; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; + +namespace FluentHub.App.Views.Organizations +{ + public sealed partial class MembershipPage : Page + { + public MembershipPage() + { + InitializeComponent(); + } + } +} diff --git a/src/FluentHub.Uwp/Views/Organizations/OverviewPage.xaml b/src/FluentHub.App/Views/Organizations/OverviewPage.xaml similarity index 89% rename from src/FluentHub.Uwp/Views/Organizations/OverviewPage.xaml rename to src/FluentHub.App/Views/Organizations/OverviewPage.xaml index e977e6b65..b4035591c 100644 --- a/src/FluentHub.Uwp/Views/Organizations/OverviewPage.xaml +++ b/src/FluentHub.App/Views/Organizations/OverviewPage.xaml @@ -1,18 +1,17 @@  @@ -67,9 +66,9 @@ - - - + + - + - + - - - - + + + + - + diff --git a/src/FluentHub.App/Views/Organizations/PackagesPage.xaml.cs b/src/FluentHub.App/Views/Organizations/PackagesPage.xaml.cs new file mode 100644 index 000000000..0e9f07e14 --- /dev/null +++ b/src/FluentHub.App/Views/Organizations/PackagesPage.xaml.cs @@ -0,0 +1,13 @@ +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; + +namespace FluentHub.App.Views.Organizations +{ + public sealed partial class PackagesPage : Page + { + public PackagesPage() + { + InitializeComponent(); + } + } +} diff --git a/src/FluentHub.Uwp/Views/Organizations/ProjectsPage.xaml b/src/FluentHub.App/Views/Organizations/ProjectsPage.xaml similarity index 73% rename from src/FluentHub.Uwp/Views/Organizations/ProjectsPage.xaml rename to src/FluentHub.App/Views/Organizations/ProjectsPage.xaml index 44896848c..386e45a4c 100644 --- a/src/FluentHub.Uwp/Views/Organizations/ProjectsPage.xaml +++ b/src/FluentHub.App/Views/Organizations/ProjectsPage.xaml @@ -1,9 +1,9 @@  diff --git a/src/FluentHub.App/Views/Organizations/ProjectsPage.xaml.cs b/src/FluentHub.App/Views/Organizations/ProjectsPage.xaml.cs new file mode 100644 index 000000000..ce2e1cc9e --- /dev/null +++ b/src/FluentHub.App/Views/Organizations/ProjectsPage.xaml.cs @@ -0,0 +1,13 @@ +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; + +namespace FluentHub.App.Views.Organizations +{ + public sealed partial class ProjectsPage : Page + { + public ProjectsPage() + { + InitializeComponent(); + } + } +} diff --git a/src/FluentHub.Uwp/Views/Organizations/RepositoriesPage.xaml b/src/FluentHub.App/Views/Organizations/RepositoriesPage.xaml similarity index 84% rename from src/FluentHub.Uwp/Views/Organizations/RepositoriesPage.xaml rename to src/FluentHub.App/Views/Organizations/RepositoriesPage.xaml index 2bc24cded..ff6a8bf5b 100644 --- a/src/FluentHub.Uwp/Views/Organizations/RepositoriesPage.xaml +++ b/src/FluentHub.App/Views/Organizations/RepositoriesPage.xaml @@ -1,18 +1,17 @@  @@ -62,8 +61,8 @@ Orientation="Horizontal" Spacing="8"> - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + - + diff --git a/src/FluentHub.Uwp/Views/Organizations/Settings/GeneralPage.xaml.cs b/src/FluentHub.App/Views/Organizations/Settings/GeneralPage.xaml.cs similarity index 67% rename from src/FluentHub.Uwp/Views/Organizations/Settings/GeneralPage.xaml.cs rename to src/FluentHub.App/Views/Organizations/Settings/GeneralPage.xaml.cs index 559e40cae..11d8d56a8 100644 --- a/src/FluentHub.Uwp/Views/Organizations/Settings/GeneralPage.xaml.cs +++ b/src/FluentHub.App/Views/Organizations/Settings/GeneralPage.xaml.cs @@ -1,21 +1,21 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices.WindowsRuntime; using Windows.Foundation; using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Controls.Primitives; +using Microsoft.UI.Xaml.Data; +using Microsoft.UI.Xaml.Input; +using Microsoft.UI.Xaml.Media; +using Microsoft.UI.Xaml.Navigation; // 空白ページの項目テンプレートについては、https://go.microsoft.com/fwlink/?LinkId=234238 を参照してください -namespace FluentHub.Uwp.Views.Organizations.Settings +namespace FluentHub.App.Views.Organizations.Settings { /// /// それ自体で使用できる空白ページまたはフレーム内に移動できる空白ページ。 diff --git a/src/FluentHub.Uwp/Views/Repositories/Code/Layouts/DetailsLayoutView.xaml b/src/FluentHub.App/Views/Repositories/Code/Layouts/DetailsLayoutView.xaml similarity index 94% rename from src/FluentHub.Uwp/Views/Repositories/Code/Layouts/DetailsLayoutView.xaml rename to src/FluentHub.App/Views/Repositories/Code/Layouts/DetailsLayoutView.xaml index a02e35946..328ec5190 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Code/Layouts/DetailsLayoutView.xaml +++ b/src/FluentHub.App/Views/Repositories/Code/Layouts/DetailsLayoutView.xaml @@ -1,19 +1,18 @@  @@ -204,14 +203,14 @@ Background="Transparent" BorderThickness="0" IsEnabled="False"> - - + + - - - - - + + + + + diff --git a/src/FluentHub.Uwp/Views/Repositories/Code/Layouts/DetailsLayoutView.xaml.cs b/src/FluentHub.App/Views/Repositories/Code/Layouts/DetailsLayoutView.xaml.cs similarity index 83% rename from src/FluentHub.Uwp/Views/Repositories/Code/Layouts/DetailsLayoutView.xaml.cs rename to src/FluentHub.App/Views/Repositories/Code/Layouts/DetailsLayoutView.xaml.cs index 6e866e896..64e2befe2 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Code/Layouts/DetailsLayoutView.xaml.cs +++ b/src/FluentHub.App/Views/Repositories/Code/Layouts/DetailsLayoutView.xaml.cs @@ -1,17 +1,16 @@ -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Services; -using FluentHub.Uwp.Services.Navigation; -using FluentHub.Uwp.ViewModels; -using FluentHub.Uwp.ViewModels.Repositories.Code.Layouts; +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.Services.Navigation; +using FluentHub.App.ViewModels; +using FluentHub.App.ViewModels.Repositories.Code.Layouts; using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Navigation; -using Windows.UI.Xaml.Media.Imaging; -using muxc = Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Input; +using Microsoft.UI.Xaml.Navigation; +using Microsoft.UI.Xaml.Media.Imaging; -namespace FluentHub.Uwp.Views.Repositories.Code.Layouts +namespace FluentHub.App.Views.Repositories.Code.Layouts { public sealed partial class DetailsLayoutView : Page { diff --git a/src/FluentHub.Uwp/Views/Repositories/Code/Layouts/TreeLayoutView.xaml b/src/FluentHub.App/Views/Repositories/Code/Layouts/TreeLayoutView.xaml similarity index 91% rename from src/FluentHub.Uwp/Views/Repositories/Code/Layouts/TreeLayoutView.xaml rename to src/FluentHub.App/Views/Repositories/Code/Layouts/TreeLayoutView.xaml index 07ced5496..6b7a3683f 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Code/Layouts/TreeLayoutView.xaml +++ b/src/FluentHub.App/Views/Repositories/Code/Layouts/TreeLayoutView.xaml @@ -1,23 +1,22 @@  - - + - + - + - 2) + if (pathSegments.Count > 2) { isFile = pathSegments[2] == "blob" ? true : false; isDir = pathSegments[2] == "tree" ? true : false; branchName = pathSegments[3]; - if (pathSegments.Count() == 4) isRootDir = true; + if (pathSegments.Count == 4) isRootDir = true; // URL has path - if (pathSegments.Count() > 4) + if (pathSegments.Count > 4) { pathSegments.RemoveRange(0, 4); path = string.Join("/", pathSegments); @@ -120,7 +119,7 @@ protected async override void OnNavigatedTo(NavigationEventArgs e) currentItem.DisplayUrl = displayurl; - currentItem.Icon = new muxc.ImageIconSource + currentItem.Icon = new ImageIconSource { ImageSource = new BitmapImage(new Uri("ms-appx:///Assets/Icons/Repositories.png")) }; @@ -131,7 +130,7 @@ protected async override void OnNavigatedTo(NavigationEventArgs e) command2.Execute(url); } - private async void OnDirTreeViewExpanding(muxc.TreeView sender, muxc.TreeViewExpandingEventArgs args) + private async void OnDirTreeViewExpanding(TreeView sender, TreeViewExpandingEventArgs args) { if (args.Node.HasUnrealizedChildren && !(args.Item as TreeLayoutPageModel).IsBolb) { @@ -147,7 +146,7 @@ private async void OnDirTreeViewExpanding(muxc.TreeView sender, muxc.TreeViewExp } } - private void OnDirTreeViewItemInvoked(muxc.TreeView sender, muxc.TreeViewItemInvokedEventArgs args) + private void OnDirTreeViewItemInvoked(TreeView sender, TreeViewItemInvokedEventArgs args) { var item = args.InvokedItem as TreeLayoutPageModel; diff --git a/src/FluentHub.Uwp/Views/Repositories/Commits/CommitPage.xaml b/src/FluentHub.App/Views/Repositories/Commits/CommitPage.xaml similarity index 92% rename from src/FluentHub.Uwp/Views/Repositories/Commits/CommitPage.xaml rename to src/FluentHub.App/Views/Repositories/Commits/CommitPage.xaml index 55c9ace86..774c1afbd 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Commits/CommitPage.xaml +++ b/src/FluentHub.App/Views/Repositories/Commits/CommitPage.xaml @@ -1,17 +1,16 @@  @@ -187,14 +186,14 @@ - - - - + + + + - + diff --git a/src/FluentHub.Uwp/Views/Repositories/Commits/CommitPage.xaml.cs b/src/FluentHub.App/Views/Repositories/Commits/CommitPage.xaml.cs similarity index 70% rename from src/FluentHub.Uwp/Views/Repositories/Commits/CommitPage.xaml.cs rename to src/FluentHub.App/Views/Repositories/Commits/CommitPage.xaml.cs index 69b41d8b0..7f8a68f35 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Commits/CommitPage.xaml.cs +++ b/src/FluentHub.App/Views/Repositories/Commits/CommitPage.xaml.cs @@ -1,16 +1,15 @@ -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.Repositories; -using FluentHub.Uwp.ViewModels.Repositories.Commits; +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.Repositories; +using FluentHub.App.ViewModels.Repositories.Commits; using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Navigation; -using Windows.UI.Xaml.Media.Imaging; -using muxc = Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Input; +using Microsoft.UI.Xaml.Navigation; +using Microsoft.UI.Xaml.Media.Imaging; -namespace FluentHub.Uwp.Views.Repositories.Commits +namespace FluentHub.App.Views.Repositories.Commits { public sealed partial class CommitPage : Page { diff --git a/src/FluentHub.Uwp/Views/Repositories/Commits/CommitsPage.xaml b/src/FluentHub.App/Views/Repositories/Commits/CommitsPage.xaml similarity index 77% rename from src/FluentHub.Uwp/Views/Repositories/Commits/CommitsPage.xaml rename to src/FluentHub.App/Views/Repositories/Commits/CommitsPage.xaml index 5153446e3..6bede7efb 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Commits/CommitsPage.xaml +++ b/src/FluentHub.App/Views/Repositories/Commits/CommitsPage.xaml @@ -1,18 +1,17 @@  @@ -46,14 +45,14 @@ - - - - + + + + - + diff --git a/src/FluentHub.Uwp/Views/Repositories/Commits/CommitsPage.xaml.cs b/src/FluentHub.App/Views/Repositories/Commits/CommitsPage.xaml.cs similarity index 71% rename from src/FluentHub.Uwp/Views/Repositories/Commits/CommitsPage.xaml.cs rename to src/FluentHub.App/Views/Repositories/Commits/CommitsPage.xaml.cs index bee039f85..69074c55e 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Commits/CommitsPage.xaml.cs +++ b/src/FluentHub.App/Views/Repositories/Commits/CommitsPage.xaml.cs @@ -1,16 +1,15 @@ -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.Repositories; -using FluentHub.Uwp.ViewModels.Repositories.Commits; +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.Repositories; +using FluentHub.App.ViewModels.Repositories.Commits; using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Navigation; -using Windows.UI.Xaml.Media.Imaging; -using muxc = Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Input; +using Microsoft.UI.Xaml.Navigation; +using Microsoft.UI.Xaml.Media.Imaging; -namespace FluentHub.Uwp.Views.Repositories.Commits +namespace FluentHub.App.Views.Repositories.Commits { public sealed partial class CommitsPage : Page { diff --git a/src/FluentHub.Uwp/Views/Repositories/Discussions/DiscussionPage.xaml b/src/FluentHub.App/Views/Repositories/Discussions/DiscussionPage.xaml similarity index 93% rename from src/FluentHub.Uwp/Views/Repositories/Discussions/DiscussionPage.xaml rename to src/FluentHub.App/Views/Repositories/Discussions/DiscussionPage.xaml index 087a9231e..94612e703 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Discussions/DiscussionPage.xaml +++ b/src/FluentHub.App/Views/Repositories/Discussions/DiscussionPage.xaml @@ -1,15 +1,14 @@  diff --git a/src/FluentHub.Uwp/Views/Repositories/Discussions/DiscussionPage.xaml.cs b/src/FluentHub.App/Views/Repositories/Discussions/DiscussionPage.xaml.cs similarity index 75% rename from src/FluentHub.Uwp/Views/Repositories/Discussions/DiscussionPage.xaml.cs rename to src/FluentHub.App/Views/Repositories/Discussions/DiscussionPage.xaml.cs index 06a163f50..fb85d552d 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Discussions/DiscussionPage.xaml.cs +++ b/src/FluentHub.App/Views/Repositories/Discussions/DiscussionPage.xaml.cs @@ -1,13 +1,12 @@ -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.Repositories.Discussions; +using FluentHub.App.Models; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.Repositories.Discussions; using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Media.Imaging; -using Windows.UI.Xaml.Navigation; -using muxc = Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Media.Imaging; +using Microsoft.UI.Xaml.Navigation; -namespace FluentHub.Uwp.Views.Repositories.Discussions +namespace FluentHub.App.Views.Repositories.Discussions { public sealed partial class DiscussionPage : Page { diff --git a/src/FluentHub.Uwp/Views/Repositories/Discussions/DiscussionsPage.xaml b/src/FluentHub.App/Views/Repositories/Discussions/DiscussionsPage.xaml similarity index 78% rename from src/FluentHub.Uwp/Views/Repositories/Discussions/DiscussionsPage.xaml rename to src/FluentHub.App/Views/Repositories/Discussions/DiscussionsPage.xaml index 84949dd7c..26be543ec 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Discussions/DiscussionsPage.xaml +++ b/src/FluentHub.App/Views/Repositories/Discussions/DiscussionsPage.xaml @@ -1,18 +1,17 @@  @@ -56,8 +55,8 @@ Orientation="Horizontal" Spacing="8"> - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + - + diff --git a/src/FluentHub.App/Views/Repositories/Insights/CodeFrequencyPage.xaml.cs b/src/FluentHub.App/Views/Repositories/Insights/CodeFrequencyPage.xaml.cs new file mode 100644 index 000000000..cb2a4088c --- /dev/null +++ b/src/FluentHub.App/Views/Repositories/Insights/CodeFrequencyPage.xaml.cs @@ -0,0 +1,17 @@ +using FluentHub.App.Services; +using FluentHub.App.ViewModels.Repositories; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Media.Imaging; +using Microsoft.UI.Xaml.Navigation; + +namespace FluentHub.App.Views.Repositories.Insights +{ + public sealed partial class CodeFrequencyPage : Page + { + public CodeFrequencyPage() + { + InitializeComponent(); + } + } +} diff --git a/src/FluentHub.Uwp/Views/Repositories/Insights/CommitsPage.xaml b/src/FluentHub.App/Views/Repositories/Insights/CommitsPage.xaml similarity index 71% rename from src/FluentHub.Uwp/Views/Repositories/Insights/CommitsPage.xaml rename to src/FluentHub.App/Views/Repositories/Insights/CommitsPage.xaml index 9e746f691..e9cabb822 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Insights/CommitsPage.xaml +++ b/src/FluentHub.App/Views/Repositories/Insights/CommitsPage.xaml @@ -1,9 +1,9 @@  diff --git a/src/FluentHub.App/Views/Repositories/Insights/CommitsPage.xaml.cs b/src/FluentHub.App/Views/Repositories/Insights/CommitsPage.xaml.cs new file mode 100644 index 000000000..d1c0ca14f --- /dev/null +++ b/src/FluentHub.App/Views/Repositories/Insights/CommitsPage.xaml.cs @@ -0,0 +1,17 @@ +using FluentHub.App.Services; +using FluentHub.App.ViewModels.Repositories; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Media.Imaging; +using Microsoft.UI.Xaml.Navigation; + +namespace FluentHub.App.Views.Repositories.Insights +{ + public sealed partial class CommitsPage : Page + { + public CommitsPage() + { + InitializeComponent(); + } + } +} diff --git a/src/FluentHub.Uwp/Views/Repositories/Insights/ContributorsPage.xaml b/src/FluentHub.App/Views/Repositories/Insights/ContributorsPage.xaml similarity index 72% rename from src/FluentHub.Uwp/Views/Repositories/Insights/ContributorsPage.xaml rename to src/FluentHub.App/Views/Repositories/Insights/ContributorsPage.xaml index 3ea9aa58e..cbba37ae0 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Insights/ContributorsPage.xaml +++ b/src/FluentHub.App/Views/Repositories/Insights/ContributorsPage.xaml @@ -1,9 +1,9 @@  diff --git a/src/FluentHub.App/Views/Repositories/Insights/ContributorsPage.xaml.cs b/src/FluentHub.App/Views/Repositories/Insights/ContributorsPage.xaml.cs new file mode 100644 index 000000000..1283e6d81 --- /dev/null +++ b/src/FluentHub.App/Views/Repositories/Insights/ContributorsPage.xaml.cs @@ -0,0 +1,17 @@ +using FluentHub.App.Services; +using FluentHub.App.ViewModels.Repositories; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Media.Imaging; +using Microsoft.UI.Xaml.Navigation; + +namespace FluentHub.App.Views.Repositories.Insights +{ + public sealed partial class ContributorsPage : Page + { + public ContributorsPage() + { + InitializeComponent(); + } + } +} diff --git a/src/FluentHub.Uwp/Views/Repositories/Insights/InsightsPage.xaml b/src/FluentHub.App/Views/Repositories/Insights/InsightsPage.xaml similarity index 68% rename from src/FluentHub.Uwp/Views/Repositories/Insights/InsightsPage.xaml rename to src/FluentHub.App/Views/Repositories/Insights/InsightsPage.xaml index 9f1e4cac3..f984ea20c 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Insights/InsightsPage.xaml +++ b/src/FluentHub.App/Views/Repositories/Insights/InsightsPage.xaml @@ -1,12 +1,11 @@  @@ -25,7 +24,7 @@ BorderBrush="{ThemeResource CardStrokeColorDefaultBrush}" BorderThickness="1" CornerRadius="4"> - - - - - - - - - + + + + + + + + diff --git a/src/FluentHub.Uwp/Views/Repositories/Insights/InsightsPage.xaml.cs b/src/FluentHub.App/Views/Repositories/Insights/InsightsPage.xaml.cs similarity index 80% rename from src/FluentHub.Uwp/Views/Repositories/Insights/InsightsPage.xaml.cs rename to src/FluentHub.App/Views/Repositories/Insights/InsightsPage.xaml.cs index 47d353ef3..1e5b263ed 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Insights/InsightsPage.xaml.cs +++ b/src/FluentHub.App/Views/Repositories/Insights/InsightsPage.xaml.cs @@ -1,12 +1,11 @@ -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.Repositories; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.Repositories; using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Media.Imaging; -using Windows.UI.Xaml.Navigation; -using muxc = Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Media.Imaging; +using Microsoft.UI.Xaml.Navigation; -namespace FluentHub.Uwp.Views.Repositories.Insights +namespace FluentHub.App.Views.Repositories.Insights { public sealed partial class InsightsPage : Page { @@ -25,13 +24,13 @@ protected override void OnNavigatedTo(NavigationEventArgs e) var currentItem = navigationService.TabView.SelectedItem.NavigationHistory.CurrentItem; currentItem.Header = "Insights"; currentItem.Description = "Insights"; - currentItem.Icon = new muxc.ImageIconSource + currentItem.Icon = new ImageIconSource { ImageSource = new BitmapImage(new Uri("ms-appx:///Assets/Icons/Insights.png")) }; } - private void OnInsightsNavViewItemInvoked(muxc.NavigationView sender, muxc.NavigationViewItemInvokedEventArgs args) + private void OnInsightsNavViewItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args) => OnInsightsNavViewItemSelected(args.InvokedItemContainer.Tag.ToString().ToLower()); private void OnInsightsNavViewItemSelected(string tag) diff --git a/src/FluentHub.Uwp/Views/Repositories/Insights/OverviewPage.xaml b/src/FluentHub.App/Views/Repositories/Insights/OverviewPage.xaml similarity index 86% rename from src/FluentHub.Uwp/Views/Repositories/Insights/OverviewPage.xaml rename to src/FluentHub.App/Views/Repositories/Insights/OverviewPage.xaml index cd51100c2..fe8fc66b8 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Insights/OverviewPage.xaml +++ b/src/FluentHub.App/Views/Repositories/Insights/OverviewPage.xaml @@ -1,11 +1,10 @@  @@ -22,7 +21,7 @@ Pull Requests --> - + 5 Active Pull Requests @@ -31,7 +30,7 @@ Issues --> - + 5 Active Issues diff --git a/src/FluentHub.App/Views/Repositories/Insights/OverviewPage.xaml.cs b/src/FluentHub.App/Views/Repositories/Insights/OverviewPage.xaml.cs new file mode 100644 index 000000000..e87d8e6bf --- /dev/null +++ b/src/FluentHub.App/Views/Repositories/Insights/OverviewPage.xaml.cs @@ -0,0 +1,19 @@ +using FluentHub.App.Services; +using FluentHub.App.ViewModels; +using FluentHub.App.ViewModels.Repositories; +using Microsoft.Extensions.DependencyInjection; +using Windows.Services.Maps; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Media.Imaging; +using Microsoft.UI.Xaml.Navigation; + +namespace FluentHub.App.Views.Repositories.Insights +{ + public sealed partial class OverviewPage : Page + { + public OverviewPage() + { + InitializeComponent(); + } + } +} diff --git a/src/FluentHub.Uwp/Views/Repositories/Insights/TrafficPage.xaml b/src/FluentHub.App/Views/Repositories/Insights/TrafficPage.xaml similarity index 71% rename from src/FluentHub.Uwp/Views/Repositories/Insights/TrafficPage.xaml rename to src/FluentHub.App/Views/Repositories/Insights/TrafficPage.xaml index 5fb563321..7acf082e5 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Insights/TrafficPage.xaml +++ b/src/FluentHub.App/Views/Repositories/Insights/TrafficPage.xaml @@ -1,9 +1,9 @@  diff --git a/src/FluentHub.App/Views/Repositories/Insights/TrafficPage.xaml.cs b/src/FluentHub.App/Views/Repositories/Insights/TrafficPage.xaml.cs new file mode 100644 index 000000000..7fff1a4e2 --- /dev/null +++ b/src/FluentHub.App/Views/Repositories/Insights/TrafficPage.xaml.cs @@ -0,0 +1,17 @@ +using FluentHub.App.Services; +using FluentHub.App.ViewModels.Repositories; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Media.Imaging; +using Microsoft.UI.Xaml.Navigation; + +namespace FluentHub.App.Views.Repositories.Insights +{ + public sealed partial class TrafficPage : Page + { + public TrafficPage() + { + InitializeComponent(); + } + } +} diff --git a/src/FluentHub.Uwp/Views/Repositories/Issues/IssuePage.xaml b/src/FluentHub.App/Views/Repositories/Issues/IssuePage.xaml similarity index 75% rename from src/FluentHub.Uwp/Views/Repositories/Issues/IssuePage.xaml rename to src/FluentHub.App/Views/Repositories/Issues/IssuePage.xaml index d90ce6d75..e84d4b6dc 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Issues/IssuePage.xaml +++ b/src/FluentHub.App/Views/Repositories/Issues/IssuePage.xaml @@ -1,20 +1,19 @@  @@ -22,6 +21,7 @@ + @@ -32,7 +32,7 @@ Glyph="" /> - + @@ -46,12 +46,13 @@ @@ -68,7 +69,7 @@ Glyph="" /> - + @@ -84,12 +85,12 @@ VerticalAlignment="Center" IsTextSelectionEnabled="True" Style="{StaticResource BodyTextBlockStyle}"> - + @@ -109,7 +110,7 @@ Glyph="" /> - + @@ -123,11 +124,13 @@ @@ -143,7 +146,7 @@ Glyph="" /> - + @@ -160,12 +163,14 @@ Spacing="4"> @@ -185,7 +190,7 @@ Glyph="" /> - + @@ -199,13 +204,17 @@ - - + + @@ -222,7 +231,7 @@ Glyph="" /> - + @@ -239,12 +248,14 @@ Spacing="4"> @@ -262,7 +273,7 @@ Glyph="" /> - + @@ -276,14 +287,15 @@ - + - + @@ -300,7 +312,7 @@ Glyph="" /> - + @@ -314,11 +326,13 @@ @@ -335,7 +349,7 @@ Glyph="" /> - + @@ -356,6 +370,8 @@ Spacing="4"> @@ -547,7 +563,7 @@ Glyph="" /> - + @@ -563,12 +579,12 @@ VerticalAlignment="Center" IsTextSelectionEnabled="True" Style="{StaticResource BodyTextBlockStyle}"> - + @@ -585,7 +601,7 @@ Glyph="" /> - + @@ -602,12 +618,14 @@ Spacing="4"> @@ -645,7 +663,7 @@ Glyph="" /> - + @@ -662,17 +680,21 @@ Spacing="4"> @@ -690,7 +712,7 @@ Glyph="" /> - + @@ -705,26 +727,21 @@ Grid.Column="1" Orientation="Horizontal" Spacing="4"> - - + + + - @@ -741,7 +758,7 @@ Glyph="" /> - + @@ -758,6 +775,8 @@ Spacing="4"> @@ -794,7 +813,7 @@ Glyph="" /> - + @@ -812,7 +831,7 @@ Text="mentioned" /> @@ -829,7 +848,7 @@ Glyph="" /> - + @@ -845,12 +864,12 @@ VerticalAlignment="Center" IsTextSelectionEnabled="True" Style="{StaticResource BodyTextBlockStyle}"> - + @@ -867,7 +886,7 @@ Glyph="" /> - + @@ -881,11 +900,13 @@ @@ -902,7 +923,7 @@ Glyph="" /> - + @@ -916,11 +937,13 @@ @@ -937,7 +960,7 @@ Glyph="" /> - + @@ -954,15 +977,15 @@ Spacing="4"> - - - + @@ -977,7 +1000,7 @@ Glyph="" /> - + @@ -991,14 +1014,15 @@ - - - + @@ -1013,7 +1037,7 @@ Glyph="" /> - + @@ -1030,17 +1054,16 @@ IsTextSelectionEnabled="True" Style="{StaticResource BodyTextBlockStyle}" TextWrapping="Wrap"> - + - + - - - + @@ -1055,7 +1078,7 @@ Glyph="" /> - + @@ -1072,15 +1095,16 @@ Spacing="4"> - - - + @@ -1095,7 +1119,7 @@ Glyph="" /> - + @@ -1113,7 +1137,7 @@ Text="subscribed" /> @@ -1130,7 +1154,7 @@ Glyph="" /> - + @@ -1147,6 +1171,8 @@ Spacing="4"> - - - + @@ -1183,7 +1209,7 @@ Glyph="" /> - + @@ -1200,19 +1226,17 @@ Spacing="4"> - - - - + IsTextSelectionEnabled="True" + Style="{StaticResource BodyTextBlockStyle}"> + + + + @@ -1227,7 +1251,7 @@ Glyph="" /> - + @@ -1244,20 +1268,23 @@ Spacing="4"> - - - + @@ -1273,7 +1300,7 @@ Glyph="" /> - + @@ -1287,14 +1314,15 @@ - - - + @@ -1309,7 +1337,7 @@ Glyph="" /> - + @@ -1326,6 +1354,8 @@ Spacing="4"> - - - + @@ -1363,7 +1392,7 @@ Glyph="" /> - + @@ -1377,14 +1406,15 @@ - - - + @@ -1399,7 +1429,7 @@ Glyph="" /> - + @@ -1413,11 +1443,13 @@ @@ -1434,7 +1466,7 @@ Glyph="" /> - + @@ -1451,27 +1483,19 @@ Spacing="4"> - - - - - - + IsTextSelectionEnabled="True" + Style="{StaticResource BodyTextBlockStyle}"> + + + + + + @@ -1486,6 +1510,7 @@ SubscribedEventDataTemplate="{StaticResource SubscribedEventDataTemplate}" UnsubscribedEventDataTemplate="{StaticResource UnsubscribedEventDataTemplate}" --> + - + @@ -1532,13 +1557,13 @@ - + @@ -1547,88 +1572,76 @@ - - - - - - - - - - - - - - - - + + + + - + - + + + + + @@ -1641,7 +1654,11 @@ HorizontalAlignment="Left" Background="{ThemeResource PrimerBorderMuted}" /> - + + - - - - - - - - - - - - - - @@ -1685,15 +1683,27 @@ Text="Assignees" /> + - + + + + + + + + - - + Text="No assignees" /> + @@ -1707,15 +1717,27 @@ Text="Labels" /> + - + + + + + + + + - - + @@ -1733,9 +1755,9 @@ + Text="No projects" /> @@ -1748,18 +1770,39 @@ + Text="Milestone" /> + + + + + + + + + - - - + Text="No milestone" /> + @@ -1777,7 +1820,7 @@ @@ -1798,7 +1841,10 @@ - - - - - - - - - - - - - - - + + + + + + + + + - + - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + - + - - - + diff --git a/src/FluentHub.App/Views/Repositories/Releases/ReleasesPage.xaml.cs b/src/FluentHub.App/Views/Repositories/Releases/ReleasesPage.xaml.cs new file mode 100644 index 000000000..308dca4f6 --- /dev/null +++ b/src/FluentHub.App/Views/Repositories/Releases/ReleasesPage.xaml.cs @@ -0,0 +1,71 @@ +using FluentHub.Octokit.Queries.Repositories; +using FluentHub.App.Extensions; +using FluentHub.App.Helpers; +using FluentHub.App.Services; +using FluentHub.App.Models; +using FluentHub.App.ViewModels.Repositories.Releases; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.UI.Xaml; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Input; +using Microsoft.UI.Xaml.Navigation; +using Microsoft.UI.Xaml.Media.Imaging; + +namespace FluentHub.App.Views.Repositories.Releases +{ + public sealed partial class ReleasesPage : Page + { + public ReleasesPage() + { + InitializeComponent(); + + var provider = App.Current.Services; + ViewModel = provider.GetRequiredService(); + _navigation = App.Current.Services.GetRequiredService(); + } + + public ReleasesViewModel ViewModel { get; } + private readonly INavigationService _navigation; + + protected override void OnNavigatedTo(NavigationEventArgs e) + { + var param = e.Parameter as FrameNavigationArgs; + ViewModel.Login = param.Login; + ViewModel.Name = param.Name; + + var command = ViewModel.LoadRepositoryReleasesPageCommand; + if (command.CanExecute(null)) + command.Execute(null); + } + + //private async void OnLatestReleaseWebView2NavigationCompleted(WebView2 sender, Microsoft.Web.WebView2.Core.CoreWebView2NavigationCompletedEventArgs args) + // => await sender.HandleResize(); + + //private async void OnLatestReleaseWebView2SizeChanged(object sender, SizeChangedEventArgs e) + // => await ((WebView2)sender).HandleResize(); + + private async void OnLatestReleaseWebView2Loaded(object sender, RoutedEventArgs e) + { + string missedPath = "https://raw.githubusercontent.com/" + ViewModel.Repository.Owner.Login + "/" + ViewModel.Repository.Name + "/" + ViewModel.Repository.DefaultBranchRef.Name + "/"; + + MarkdownApiHandler mdHandler = new(); + var html = await mdHandler.GetHtmlAsync(ViewModel.LatestRelease.DescriptionHTML ?? "No description provided", missedPath, ThemeHelpers.RootTheme.ToString().ToLower()); + + // https://github.com/microsoft/microsoft-ui-xaml/issues/3714 + await LatestReleaseWebView2.EnsureCoreWebView2Async(); + + // https://github.com/microsoft/microsoft-ui-xaml/issues/1967 + // It is no longer the plan for WebView2 to support ms-appx-web:/// and ms-appx-data:///. + // Instead of using these proprietary protocols the SetVirtualHostNameToFolderMapping API is recommended. + var CoreWebView2 = LatestReleaseWebView2.CoreWebView2; + if (CoreWebView2 != null) + { + CoreWebView2.SetVirtualHostNameToFolderMapping( + "fluenthub.app", "Assets/", + Microsoft.Web.WebView2.Core.CoreWebView2HostResourceAccessKind.Allow); + } + + LatestReleaseWebView2.NavigateToString(html); + } + } +} diff --git a/src/FluentHub.Uwp/Views/Repositories/Settings/GeneralPage.xaml b/src/FluentHub.App/Views/Repositories/Settings/GeneralPage.xaml similarity index 97% rename from src/FluentHub.Uwp/Views/Repositories/Settings/GeneralPage.xaml rename to src/FluentHub.App/Views/Repositories/Settings/GeneralPage.xaml index d8b00555b..f1ae2b3cb 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Settings/GeneralPage.xaml +++ b/src/FluentHub.App/Views/Repositories/Settings/GeneralPage.xaml @@ -1,11 +1,11 @@  diff --git a/src/FluentHub.Uwp/Views/Repositories/Settings/GeneralPage.xaml.cs b/src/FluentHub.App/Views/Repositories/Settings/GeneralPage.xaml.cs similarity index 67% rename from src/FluentHub.Uwp/Views/Repositories/Settings/GeneralPage.xaml.cs rename to src/FluentHub.App/Views/Repositories/Settings/GeneralPage.xaml.cs index f4ca96edc..a7e3c4261 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Settings/GeneralPage.xaml.cs +++ b/src/FluentHub.App/Views/Repositories/Settings/GeneralPage.xaml.cs @@ -1,13 +1,12 @@ -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.Repositories.Discussions; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.Repositories.Discussions; using Microsoft.Extensions.DependencyInjection; using System; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Media.Imaging; -using Windows.UI.Xaml.Navigation; -using muxc = Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Media.Imaging; +using Microsoft.UI.Xaml.Navigation; -namespace FluentHub.Uwp.Views.Repositories.Settings +namespace FluentHub.App.Views.Repositories.Settings { public sealed partial class GeneralPage : Page { @@ -31,10 +30,7 @@ protected override void OnNavigatedTo(NavigationEventArgs e) currentItem.Header = "Settings"; currentItem.Description = "Settings"; - currentItem.Url = url; - currentItem.DisplayUrl = $"{pathSegments[0]} / {pathSegments[1]} / Settings / General"; - - currentItem.Icon = new muxc.ImageIconSource + currentItem.Icon = new ImageIconSource { ImageSource = new BitmapImage(new Uri("ms-appx:///Assets/Icons/Settings.png")) }; diff --git a/src/FluentHub.Uwp/Views/Repositories/Settings/SettingsPage.xaml b/src/FluentHub.App/Views/Repositories/Settings/SettingsPage.xaml similarity index 97% rename from src/FluentHub.Uwp/Views/Repositories/Settings/SettingsPage.xaml rename to src/FluentHub.App/Views/Repositories/Settings/SettingsPage.xaml index e129033bb..d6eed9f29 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Settings/SettingsPage.xaml +++ b/src/FluentHub.App/Views/Repositories/Settings/SettingsPage.xaml @@ -1,12 +1,11 @@  diff --git a/src/FluentHub.Uwp/Views/Repositories/Settings/SettingsPage.xaml.cs b/src/FluentHub.App/Views/Repositories/Settings/SettingsPage.xaml.cs similarity index 70% rename from src/FluentHub.Uwp/Views/Repositories/Settings/SettingsPage.xaml.cs rename to src/FluentHub.App/Views/Repositories/Settings/SettingsPage.xaml.cs index b7af26530..e5713823e 100644 --- a/src/FluentHub.Uwp/Views/Repositories/Settings/SettingsPage.xaml.cs +++ b/src/FluentHub.App/Views/Repositories/Settings/SettingsPage.xaml.cs @@ -1,12 +1,11 @@ -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.Repositories.Discussions; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.Repositories.Discussions; using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Media.Imaging; -using Windows.UI.Xaml.Navigation; -using muxc = Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Media.Imaging; +using Microsoft.UI.Xaml.Navigation; -namespace FluentHub.Uwp.Views.Repositories.Settings +namespace FluentHub.App.Views.Repositories.Settings { public sealed partial class SettingsPage : Page { @@ -25,7 +24,7 @@ protected override void OnNavigatedTo(NavigationEventArgs e) var currentItem = navigationService.TabView.SelectedItem.NavigationHistory.CurrentItem; currentItem.Header = "Settings"; currentItem.Description = "Settings"; - currentItem.Icon = new muxc.ImageIconSource + currentItem.Icon = new ImageIconSource { ImageSource = new BitmapImage(new Uri("ms-appx:///Assets/Icons/Settings.png")) }; diff --git a/src/FluentHub.Uwp/Views/Searches/CodePage.xaml b/src/FluentHub.App/Views/Searches/CodePage.xaml similarity index 87% rename from src/FluentHub.Uwp/Views/Searches/CodePage.xaml rename to src/FluentHub.App/Views/Searches/CodePage.xaml index 4dc09df99..f8f21df17 100644 --- a/src/FluentHub.Uwp/Views/Searches/CodePage.xaml +++ b/src/FluentHub.App/Views/Searches/CodePage.xaml @@ -1,18 +1,17 @@  @@ -60,10 +59,10 @@ - - - - + + + + - + @@ -59,14 +58,14 @@ - - - - + + + + - + @@ -59,14 +58,14 @@ - - - - + + + + - + @@ -59,14 +58,14 @@ - - - - + + + + - + @@ -26,7 +24,7 @@ - - + - + Source="ms-appx:///Assets/AppTiles/Release/StoreLogo.scale-400.png" /> - - - + + - - + + @@ -128,11 +127,11 @@ - - + + - - + + - - + + @@ -151,11 +150,11 @@ - - + + - - + + - - + + @@ -174,22 +173,22 @@ - - + + - - - - + + + + - + @@ -95,14 +94,14 @@ - - - - + + + + - + @@ -95,14 +94,14 @@ - - - - + + + + - + @@ -93,8 +92,8 @@ Orientation="Horizontal" Spacing="8"> - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + - + @@ -91,14 +90,14 @@ - - - - + + + + - + @@ -82,14 +81,14 @@ Command="{x:Bind ViewModel.ShowPinnedRepositoriesEditorDialogCommand}" Visibility="{x:Bind ViewModel.User.IsViewer, Converter={StaticResource ObjectToBoolConverter}, Mode=OneWay}"> - - + + - - - - - + + + + + - - - + + - + - + @@ -160,14 +159,14 @@ Command="{x:Bind ViewModel.ShowPinnedRepositoriesEditorDialogCommand}" Visibility="{x:Bind ViewModel.User.IsViewer, Converter={StaticResource ObjectToBoolConverter}, Mode=OneWay}"> - - + + - - - - - + + + + + - - - + + - + - + @@ -202,6 +201,7 @@ + diff --git a/src/FluentHub.Uwp/Views/Users/OverviewPage.xaml.cs b/src/FluentHub.App/Views/Users/OverviewPage.xaml.cs similarity index 81% rename from src/FluentHub.Uwp/Views/Users/OverviewPage.xaml.cs rename to src/FluentHub.App/Views/Users/OverviewPage.xaml.cs index 7ad3c328e..46acf11b8 100644 --- a/src/FluentHub.Uwp/Views/Users/OverviewPage.xaml.cs +++ b/src/FluentHub.App/Views/Users/OverviewPage.xaml.cs @@ -1,12 +1,11 @@ -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.Users; +using FluentHub.App.Services; +using FluentHub.App.ViewModels.Users; using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Media.Imaging; -using Windows.UI.Xaml.Navigation; -using muxc = Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Controls; +using Microsoft.UI.Xaml.Media.Imaging; +using Microsoft.UI.Xaml.Navigation; -namespace FluentHub.Uwp.Views.Users +namespace FluentHub.App.Views.Users { public sealed partial class OverviewPage : Page { diff --git a/src/FluentHub.Uwp/Views/Users/PackagesPage.xaml b/src/FluentHub.App/Views/Users/PackagesPage.xaml similarity index 83% rename from src/FluentHub.Uwp/Views/Users/PackagesPage.xaml rename to src/FluentHub.App/Views/Users/PackagesPage.xaml index ce2d377b8..b128a3602 100644 --- a/src/FluentHub.Uwp/Views/Users/PackagesPage.xaml +++ b/src/FluentHub.App/Views/Users/PackagesPage.xaml @@ -1,18 +1,17 @@  @@ -94,8 +93,8 @@ Orientation="Horizontal" Spacing="8"> - - + + - - + + @@ -114,11 +113,11 @@ - - + + - - + + - - + + @@ -137,11 +136,11 @@ - - + + - - + + - - + + @@ -160,22 +159,22 @@ - - + + - - - - + + + + - + @@ -94,8 +93,8 @@ Orientation="Horizontal" Spacing="8"> - - + + - - + + @@ -114,11 +113,11 @@ - - + + - - + + - - + + @@ -137,11 +136,11 @@ - - + + - - + + - - + + @@ -160,22 +159,22 @@ - - + + - - - - + + + + - + @@ -93,8 +92,8 @@ Orientation="Horizontal" Spacing="8"> - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + - + @@ -93,8 +92,8 @@ Orientation="Horizontal" Spacing="8"> - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + - + @@ -93,8 +92,8 @@ Orientation="Horizontal" Spacing="8"> - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + - + + + + + + + + true/PM + PerMonitorV2, PerMonitor + + + diff --git a/src/FluentHub.Core/FluentHub.Core.csproj b/src/FluentHub.Core/FluentHub.Core.csproj index 050cbffcf..807f47cfa 100644 --- a/src/FluentHub.Core/FluentHub.Core.csproj +++ b/src/FluentHub.Core/FluentHub.Core.csproj @@ -1,4 +1,4 @@ - + netstandard2.0 @@ -10,4 +10,12 @@ Debug;Release;Sideload + + + + + + + + diff --git a/src/FluentHub.Octokit.Generation/AttributeGenerator.cs b/src/FluentHub.Octokit.ModelGenerator/AttributeGenerator.cs similarity index 87% rename from src/FluentHub.Octokit.Generation/AttributeGenerator.cs rename to src/FluentHub.Octokit.ModelGenerator/AttributeGenerator.cs index 9ac906811..0b0aac195 100644 --- a/src/FluentHub.Octokit.Generation/AttributeGenerator.cs +++ b/src/FluentHub.Octokit.ModelGenerator/AttributeGenerator.cs @@ -1,4 +1,4 @@ -namespace FluentHub.Octokit.Generation +namespace FluentHub.Octokit.ModelGenerator { internal static class AttributeGenerator { diff --git a/src/FluentHub.Octokit.Generation/CodeGenerator.cs b/src/FluentHub.Octokit.ModelGenerator/CodeGenerator.cs similarity index 95% rename from src/FluentHub.Octokit.Generation/CodeGenerator.cs rename to src/FluentHub.Octokit.ModelGenerator/CodeGenerator.cs index 9d424b817..fee5a1fe2 100644 --- a/src/FluentHub.Octokit.Generation/CodeGenerator.cs +++ b/src/FluentHub.Octokit.ModelGenerator/CodeGenerator.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; using System.IO; -using FluentHub.Octokit.Generation.Models; +using FluentHub.Octokit.ModelGenerator.Models; using Octokit.GraphQL.Core.Introspection; -namespace FluentHub.Octokit.Generation +namespace FluentHub.Octokit.ModelGenerator { public static class CodeGenerator { diff --git a/src/FluentHub.Octokit.Generation/DocCommentGenerator.cs b/src/FluentHub.Octokit.ModelGenerator/DocCommentGenerator.cs similarity index 96% rename from src/FluentHub.Octokit.Generation/DocCommentGenerator.cs rename to src/FluentHub.Octokit.ModelGenerator/DocCommentGenerator.cs index 38446cad4..481b444ff 100644 --- a/src/FluentHub.Octokit.Generation/DocCommentGenerator.cs +++ b/src/FluentHub.Octokit.ModelGenerator/DocCommentGenerator.cs @@ -2,7 +2,7 @@ using System.Text; using System.Xml; -namespace FluentHub.Octokit.Generation +namespace FluentHub.Octokit.ModelGenerator { internal static class DocCommentGenerator { diff --git a/src/FluentHub.Octokit.Generation/EntityGenerator.cs b/src/FluentHub.Octokit.ModelGenerator/EntityGenerator.cs similarity index 98% rename from src/FluentHub.Octokit.Generation/EntityGenerator.cs rename to src/FluentHub.Octokit.ModelGenerator/EntityGenerator.cs index 36f162e38..cf10df91d 100644 --- a/src/FluentHub.Octokit.Generation/EntityGenerator.cs +++ b/src/FluentHub.Octokit.ModelGenerator/EntityGenerator.cs @@ -2,11 +2,11 @@ using System.Collections.Generic; using System.Linq; using System.Text; -using FluentHub.Octokit.Generation.Models; -using FluentHub.Octokit.Generation.Utilities; +using FluentHub.Octokit.ModelGenerator.Models; +using FluentHub.Octokit.ModelGenerator.Utilities; using Octokit.GraphQL.Core.Introspection; -namespace FluentHub.Octokit.Generation +namespace FluentHub.Octokit.ModelGenerator { internal static class EntityGenerator { diff --git a/src/FluentHub.Octokit.Generation/EnumGenerator.cs b/src/FluentHub.Octokit.ModelGenerator/EnumGenerator.cs similarity index 94% rename from src/FluentHub.Octokit.Generation/EnumGenerator.cs rename to src/FluentHub.Octokit.ModelGenerator/EnumGenerator.cs index 55cdf5e26..6b7532f28 100644 --- a/src/FluentHub.Octokit.Generation/EnumGenerator.cs +++ b/src/FluentHub.Octokit.ModelGenerator/EnumGenerator.cs @@ -2,10 +2,10 @@ using System.Globalization; using System.Text; using Octokit.GraphQL.Core.Utilities; -using FluentHub.Octokit.Generation.Models; -using FluentHub.Octokit.Generation.Utilities; +using FluentHub.Octokit.ModelGenerator.Models; +using FluentHub.Octokit.ModelGenerator.Utilities; -namespace FluentHub.Octokit.Generation +namespace FluentHub.Octokit.ModelGenerator { public static class EnumGenerator { diff --git a/src/FluentHub.Octokit.Generation/FluentHub.Octokit.Generation.csproj b/src/FluentHub.Octokit.ModelGenerator/FluentHub.Octokit.ModelGenerator.csproj similarity index 54% rename from src/FluentHub.Octokit.Generation/FluentHub.Octokit.Generation.csproj rename to src/FluentHub.Octokit.ModelGenerator/FluentHub.Octokit.ModelGenerator.csproj index 42e333b95..16600ee9e 100644 --- a/src/FluentHub.Octokit.Generation/FluentHub.Octokit.Generation.csproj +++ b/src/FluentHub.Octokit.ModelGenerator/FluentHub.Octokit.ModelGenerator.csproj @@ -3,13 +3,15 @@ Exe netcoreapp3.1 + FluentHub.Octokit.ModelGenerator + FluentHub.Octokit.ModelGenerator latest x64 - AnyCPU;x64 + x64 - + diff --git a/src/FluentHub.Octokit.Generation/GeneratedFile.cs b/src/FluentHub.Octokit.ModelGenerator/GeneratedFile.cs similarity index 87% rename from src/FluentHub.Octokit.Generation/GeneratedFile.cs rename to src/FluentHub.Octokit.ModelGenerator/GeneratedFile.cs index 20e39cdec..23ba1db46 100644 --- a/src/FluentHub.Octokit.Generation/GeneratedFile.cs +++ b/src/FluentHub.Octokit.ModelGenerator/GeneratedFile.cs @@ -1,7 +1,7 @@ using System; using IoPath = System.IO.Path; -namespace FluentHub.Octokit.Generation +namespace FluentHub.Octokit.ModelGenerator { public class GeneratedFile { diff --git a/src/FluentHub.Octokit.Generation/InputObjectGenerator.cs b/src/FluentHub.Octokit.ModelGenerator/InputObjectGenerator.cs similarity index 94% rename from src/FluentHub.Octokit.Generation/InputObjectGenerator.cs rename to src/FluentHub.Octokit.ModelGenerator/InputObjectGenerator.cs index f61e10503..4d1ad5571 100644 --- a/src/FluentHub.Octokit.Generation/InputObjectGenerator.cs +++ b/src/FluentHub.Octokit.ModelGenerator/InputObjectGenerator.cs @@ -1,10 +1,10 @@ using System; using System.Text; -using FluentHub.Octokit.Generation.Models; -using FluentHub.Octokit.Generation.Utilities; +using FluentHub.Octokit.ModelGenerator.Models; +using FluentHub.Octokit.ModelGenerator.Utilities; using Octokit.GraphQL.Core.Introspection; -namespace FluentHub.Octokit.Generation +namespace FluentHub.Octokit.ModelGenerator { internal static class InputObjectGenerator { diff --git a/src/FluentHub.Octokit.Generation/InterfaceGenerator.cs b/src/FluentHub.Octokit.ModelGenerator/InterfaceGenerator.cs similarity index 97% rename from src/FluentHub.Octokit.Generation/InterfaceGenerator.cs rename to src/FluentHub.Octokit.ModelGenerator/InterfaceGenerator.cs index 16a35f2b5..7930623ac 100644 --- a/src/FluentHub.Octokit.Generation/InterfaceGenerator.cs +++ b/src/FluentHub.Octokit.ModelGenerator/InterfaceGenerator.cs @@ -1,10 +1,10 @@ using System; using System.Text; -using FluentHub.Octokit.Generation.Models; -using FluentHub.Octokit.Generation.Utilities; +using FluentHub.Octokit.ModelGenerator.Models; +using FluentHub.Octokit.ModelGenerator.Utilities; using Octokit.GraphQL.Core.Introspection; -namespace FluentHub.Octokit.Generation +namespace FluentHub.Octokit.ModelGenerator { internal static class InterfaceGenerator { diff --git a/src/FluentHub.Octokit.Generation/Models/DirectiveModel.cs b/src/FluentHub.Octokit.ModelGenerator/Models/DirectiveModel.cs similarity index 87% rename from src/FluentHub.Octokit.Generation/Models/DirectiveModel.cs rename to src/FluentHub.Octokit.ModelGenerator/Models/DirectiveModel.cs index e145b18af..7ae91d9a0 100644 --- a/src/FluentHub.Octokit.Generation/Models/DirectiveModel.cs +++ b/src/FluentHub.Octokit.ModelGenerator/Models/DirectiveModel.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using Octokit.GraphQL.Core.Introspection; -namespace FluentHub.Octokit.Generation.Models +namespace FluentHub.Octokit.ModelGenerator.Models { public class DirectiveModel { diff --git a/src/FluentHub.Octokit.Generation/Models/EnumValueModel.cs b/src/FluentHub.Octokit.ModelGenerator/Models/EnumValueModel.cs similarity index 83% rename from src/FluentHub.Octokit.Generation/Models/EnumValueModel.cs rename to src/FluentHub.Octokit.ModelGenerator/Models/EnumValueModel.cs index 0f3c7a94d..32b48471a 100644 --- a/src/FluentHub.Octokit.Generation/Models/EnumValueModel.cs +++ b/src/FluentHub.Octokit.ModelGenerator/Models/EnumValueModel.cs @@ -1,6 +1,6 @@ using System; -namespace FluentHub.Octokit.Generation.Models +namespace FluentHub.Octokit.ModelGenerator.Models { public class EnumValueModel { diff --git a/src/FluentHub.Octokit.Generation/Models/FieldModel.cs b/src/FluentHub.Octokit.ModelGenerator/Models/FieldModel.cs similarity index 88% rename from src/FluentHub.Octokit.Generation/Models/FieldModel.cs rename to src/FluentHub.Octokit.ModelGenerator/Models/FieldModel.cs index f8d95d0b4..3a850a92e 100644 --- a/src/FluentHub.Octokit.Generation/Models/FieldModel.cs +++ b/src/FluentHub.Octokit.ModelGenerator/Models/FieldModel.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; -namespace FluentHub.Octokit.Generation.Models +namespace FluentHub.Octokit.ModelGenerator.Models { public class FieldModel { diff --git a/src/FluentHub.Octokit.Generation/Models/InputValueModel.cs b/src/FluentHub.Octokit.ModelGenerator/Models/InputValueModel.cs similarity index 83% rename from src/FluentHub.Octokit.Generation/Models/InputValueModel.cs rename to src/FluentHub.Octokit.ModelGenerator/Models/InputValueModel.cs index 4b0a3c2aa..61e20fd88 100644 --- a/src/FluentHub.Octokit.Generation/Models/InputValueModel.cs +++ b/src/FluentHub.Octokit.ModelGenerator/Models/InputValueModel.cs @@ -1,6 +1,6 @@ using System; -namespace FluentHub.Octokit.Generation.Models +namespace FluentHub.Octokit.ModelGenerator.Models { public class InputValueModel { diff --git a/src/FluentHub.Octokit.Generation/Models/SchemaModel.cs b/src/FluentHub.Octokit.ModelGenerator/Models/SchemaModel.cs similarity index 85% rename from src/FluentHub.Octokit.Generation/Models/SchemaModel.cs rename to src/FluentHub.Octokit.ModelGenerator/Models/SchemaModel.cs index 552e44a49..e15c72ea5 100644 --- a/src/FluentHub.Octokit.Generation/Models/SchemaModel.cs +++ b/src/FluentHub.Octokit.ModelGenerator/Models/SchemaModel.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; -namespace FluentHub.Octokit.Generation.Models +namespace FluentHub.Octokit.ModelGenerator.Models { public class SchemaModel { diff --git a/src/FluentHub.Octokit.Generation/Models/TypeModel.cs b/src/FluentHub.Octokit.ModelGenerator/Models/TypeModel.cs similarity index 98% rename from src/FluentHub.Octokit.Generation/Models/TypeModel.cs rename to src/FluentHub.Octokit.ModelGenerator/Models/TypeModel.cs index f680eb4e7..f75d0c3db 100644 --- a/src/FluentHub.Octokit.Generation/Models/TypeModel.cs +++ b/src/FluentHub.Octokit.ModelGenerator/Models/TypeModel.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using Octokit.GraphQL.Core.Introspection; -namespace FluentHub.Octokit.Generation.Models +namespace FluentHub.Octokit.ModelGenerator.Models { public class TypeModel { diff --git a/src/FluentHub.Octokit.Generation/Program.cs b/src/FluentHub.Octokit.ModelGenerator/Program.cs similarity index 97% rename from src/FluentHub.Octokit.Generation/Program.cs rename to src/FluentHub.Octokit.ModelGenerator/Program.cs index 9c8531c57..45f13325a 100644 --- a/src/FluentHub.Octokit.Generation/Program.cs +++ b/src/FluentHub.Octokit.ModelGenerator/Program.cs @@ -4,7 +4,7 @@ using System.IO; using System.Linq; -namespace FluentHub.Octokit.Generation +namespace FluentHub.Octokit.ModelGenerator { public class Program { diff --git a/src/FluentHub.Octokit.Generation/SchemaReader.cs b/src/FluentHub.Octokit.ModelGenerator/SchemaReader.cs similarity index 98% rename from src/FluentHub.Octokit.Generation/SchemaReader.cs rename to src/FluentHub.Octokit.ModelGenerator/SchemaReader.cs index 6417a144c..9edc16b10 100644 --- a/src/FluentHub.Octokit.Generation/SchemaReader.cs +++ b/src/FluentHub.Octokit.ModelGenerator/SchemaReader.cs @@ -1,9 +1,9 @@ using System.Threading.Tasks; -using FluentHub.Octokit.Generation.Models; +using FluentHub.Octokit.ModelGenerator.Models; using Octokit.GraphQL; using Octokit.GraphQL.Core.Introspection; -namespace FluentHub.Octokit.Generation +namespace FluentHub.Octokit.ModelGenerator { public static class SchemaReader { diff --git a/src/FluentHub.Octokit.Generation/UnionGenerator.cs b/src/FluentHub.Octokit.ModelGenerator/UnionGenerator.cs similarity index 94% rename from src/FluentHub.Octokit.Generation/UnionGenerator.cs rename to src/FluentHub.Octokit.ModelGenerator/UnionGenerator.cs index 9cd599cb0..74cc2f94e 100644 --- a/src/FluentHub.Octokit.Generation/UnionGenerator.cs +++ b/src/FluentHub.Octokit.ModelGenerator/UnionGenerator.cs @@ -1,9 +1,9 @@ using System; using System.Text; -using FluentHub.Octokit.Generation.Models; -using FluentHub.Octokit.Generation.Utilities; +using FluentHub.Octokit.ModelGenerator.Models; +using FluentHub.Octokit.ModelGenerator.Utilities; -namespace FluentHub.Octokit.Generation +namespace FluentHub.Octokit.ModelGenerator { internal static class UnionGenerator { diff --git a/src/FluentHub.Octokit.Generation/Utilities/BuildUtilities.cs b/src/FluentHub.Octokit.ModelGenerator/Utilities/BuildUtilities.cs similarity index 94% rename from src/FluentHub.Octokit.Generation/Utilities/BuildUtilities.cs rename to src/FluentHub.Octokit.ModelGenerator/Utilities/BuildUtilities.cs index 5748a3e35..0820871b4 100644 --- a/src/FluentHub.Octokit.Generation/Utilities/BuildUtilities.cs +++ b/src/FluentHub.Octokit.ModelGenerator/Utilities/BuildUtilities.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; using System.Linq; -using FluentHub.Octokit.Generation.Models; +using FluentHub.Octokit.ModelGenerator.Models; using Octokit.GraphQL.Core.Introspection; -namespace FluentHub.Octokit.Generation.Utilities +namespace FluentHub.Octokit.ModelGenerator.Utilities { internal static class BuildUtilities { diff --git a/src/FluentHub.Octokit.Generation/Utilities/TypeUtilities.cs b/src/FluentHub.Octokit.ModelGenerator/Utilities/TypeUtilities.cs similarity index 98% rename from src/FluentHub.Octokit.Generation/Utilities/TypeUtilities.cs rename to src/FluentHub.Octokit.ModelGenerator/Utilities/TypeUtilities.cs index 1a19768ad..d535686a6 100644 --- a/src/FluentHub.Octokit.Generation/Utilities/TypeUtilities.cs +++ b/src/FluentHub.Octokit.ModelGenerator/Utilities/TypeUtilities.cs @@ -1,9 +1,9 @@ using System; -using FluentHub.Octokit.Generation.Models; +using FluentHub.Octokit.ModelGenerator.Models; using Octokit.GraphQL.Core.Introspection; using Octokit.GraphQL.Core.Utilities; -namespace FluentHub.Octokit.Generation.Utilities +namespace FluentHub.Octokit.ModelGenerator.Utilities { internal static class TypeUtilities { diff --git a/src/FluentHub.Octokit/Authorization/AuthorizationService.cs b/src/FluentHub.Octokit/Authorization/AuthorizationService.cs index 07d5cd59e..cde9ce1a1 100644 --- a/src/FluentHub.Octokit/Authorization/AuthorizationService.cs +++ b/src/FluentHub.Octokit/Authorization/AuthorizationService.cs @@ -35,9 +35,9 @@ public string RequestGitHubIdentityAsync(OctokitSecrets secrets) return oauthLoginUrl.ToString(); } - public async Task RequestOAuthTokenAsync(string code) + public async Task RequestOAuthTokenAsync(string code, OctokitSecrets secrets) { - if (Secrets == null) return null; + Secrets = secrets; var request = new OctokitV3.OauthTokenRequest(Secrets.ClientId, Secrets.ClientSecret, code); var token = await App.Client.Oauth.CreateAccessToken(request); diff --git a/src/FluentHub.Octokit/FluentHub.Octokit.csproj b/src/FluentHub.Octokit/FluentHub.Octokit.csproj index a1ae44dbd..07ae3dc91 100644 --- a/src/FluentHub.Octokit/FluentHub.Octokit.csproj +++ b/src/FluentHub.Octokit/FluentHub.Octokit.csproj @@ -11,18 +11,15 @@ + + - - + - - - - diff --git a/src/FluentHub.Octokit/Queries/Repositories/IssueEventQueries.cs b/src/FluentHub.Octokit/Queries/Repositories/IssueEventQueries.cs index bb0eb0027..4bcbb6d81 100644 --- a/src/FluentHub.Octokit/Queries/Repositories/IssueEventQueries.cs +++ b/src/FluentHub.Octokit/Queries/Repositories/IssueEventQueries.cs @@ -464,20 +464,21 @@ public async Task> GetAllAsync(string owner, string name, int numbe }) .SingleOrDefault(), - //Reactions = y.Reactions(6, null, null, null, null, null).Select(reactions => new ReactionConnection - //{ - // Nodes = reactions.Nodes.Select(reaction => new Reaction - // { - // Content = (ReactionContent)reaction.Content, - // User = reaction.User.Select(user => new User - // { - // Login = user.Login, - // }) - // .SingleOrDefault(), - // }) - // .ToList(), - //}) - //.SingleOrDefault(), + Reactions = y.Reactions(100, null, null, null, null, null).Select(reactions => new ReactionConnection + { + Nodes = reactions.Nodes.Select(reaction => new Reaction + { + Content = (ReactionContent)reaction.Content, + + User = reaction.User.Select(user => new User + { + Login = user.Login, + }) + .SingleOrDefault(), + }) + .ToList(), + }) + .SingleOrDefault(), }) .LabeledEvent(y => new LabeledEvent { diff --git a/src/FluentHub.Octokit/Queries/Repositories/IssueQueries.cs b/src/FluentHub.Octokit/Queries/Repositories/IssueQueries.cs index 63e849220..20dd74fa3 100644 --- a/src/FluentHub.Octokit/Queries/Repositories/IssueQueries.cs +++ b/src/FluentHub.Octokit/Queries/Repositories/IssueQueries.cs @@ -73,17 +73,14 @@ public async Task GetAsync(string owner, string name, int number) Title = x.Title, UpdatedAt = x.UpdatedAt, - Repository = x.Repository.Select(repo => new Repository + Assignees = x.Assignees(6, null, null, null).Select(assignees => new UserConnection { - Name = repo.Name, - - Owner = repo.Owner.Select(owner => new RepositoryOwner + Nodes = assignees.Nodes.Select(y => new User { - AvatarUrl = owner.AvatarUrl(100), - Id = owner.Id, - Login = owner.Login, + AvatarUrl = y.AvatarUrl(100), + Login = y.Login, }) - .SingleOrDefault(), + .ToList(), }) .SingleOrDefault(), @@ -104,94 +101,101 @@ public async Task GetAsync(string owner, string name, int number) .ToList(), }) .SingleOrDefault(), - }) - .Compile(); - var response = await App.Connection.Run(query); - - return response; - } + Milestone = x.Milestone.Select(y => new Milestone + { + Title = y.Title, + ProgressPercentage = y.ProgressPercentage, + }) + .SingleOrDefault(), - public async Task GetDetailsAsync(string owner, string name, int number) - { - #region query - var query = new Query() - .Repository(name, owner) - .Issue(number) - .Select(x => new - { - Assignees = x.Assignees(6, null, null, null).Nodes.Select(assignees => new { - assignees.Login, - AvatarUrl = assignees.AvatarUrl(100), - }), + Participants = x.Participants(6, null, null, null).Select(participants => new UserConnection + { + Nodes = participants.Nodes.Select(y => new User + { + AvatarUrl = y.AvatarUrl(100), + Login = y.Login, + }) + .ToList(), + }) + .SingleOrDefault(), - Labels = x.Labels(10, null, null, null, null).Nodes.Select(labels => new + ProjectCards = x.ProjectCards(6, null, null, null, null).Select(projects => new ProjectCardConnection { - labels.Name, - labels.Description, - labels.Color, - }), + Nodes = projects.Nodes.Select(y => new ProjectCard + { + Note = y.Note, + }) + .ToList(), + }) + .SingleOrDefault(), - Projects = x.ProjectCards(6, null, null, null, null).Nodes.Select(projects => new + Repository = x.Repository.Select(repo => new Repository { - projects.Note, - }), + Name = repo.Name, - x.Milestone, + Owner = repo.Owner.Select(owner => new RepositoryOwner + { + AvatarUrl = owner.AvatarUrl(100), + Id = owner.Id, + Login = owner.Login, + }) + .SingleOrDefault(), + }) + .SingleOrDefault(), }) .Compile(); - #endregion var response = await App.Connection.Run(query); - return null; + return response; } public async Task GetBodyAsync(string owner, string name, int number) { - #region queries var query = new Query() .Repository(name, owner) .Issue(number) .Select(x => new IssueComment { + AuthorAssociation = (CommentAuthorAssociation)x.AuthorAssociation, + Body = x.Body, + BodyHTML = x.BodyHTML, + CreatedAt = x.CreatedAt, + CreatedAtHumanized = x.CreatedAt.Humanize(null, null), + Id = x.Id, + LastEditedAt = x.LastEditedAt, + UpdatedAt = x.UpdatedAt, + UpdatedAtHumanized = x.UpdatedAt.Humanize(null, null), + Url = x.Url, + ViewerCanReact = x.ViewerCanReact, + ViewerCanUpdate = x.ViewerCanUpdate, + ViewerDidAuthor = x.ViewerDidAuthor, + Author = x.Author.Select(author => new Actor { Login = author.Login, AvatarUrl = author.AvatarUrl(100), }) - .Single(), + .SingleOrDefault(), - Reactions = new() + Reactions = x.Reactions(100, null, null, null, null, null).Select(reactions => new ReactionConnection { - Nodes = x.Reactions(6, null, null, null, null, null).Nodes.Select(reaction => new Reaction + Nodes = reactions.Nodes.Select(reaction => new Reaction { Content = (ReactionContent)reaction.Content, + User = reaction.User.Select(user => new User { Login = user.Login, }) - .Single(), + .SingleOrDefault(), }) .ToList(), - }, - - AuthorAssociation = (CommentAuthorAssociation)x.AuthorAssociation, - Body = x.Body, - BodyHTML = x.BodyHTML, - LastEditedAt = x.LastEditedAt, - UpdatedAt = x.UpdatedAt, - UpdatedAtHumanized = x.UpdatedAt.Humanize(null, null), - ViewerCanReact = x.ViewerCanReact, - ViewerCanUpdate = x.ViewerCanUpdate, - ViewerDidAuthor = x.ViewerDidAuthor, - Url = x.Url, - Id = x.Id, - CreatedAt = x.CreatedAt, - CreatedAtHumanized = x.CreatedAt.Humanize(null, null), + }) + .SingleOrDefault(), }) .Compile(); - #endregion var response = await App.Connection.Run(query); diff --git a/src/FluentHub.Octokit/Queries/Repositories/PullRequestEventQueries.cs b/src/FluentHub.Octokit/Queries/Repositories/PullRequestEventQueries.cs index 9af2954f5..2a575429b 100644 --- a/src/FluentHub.Octokit/Queries/Repositories/PullRequestEventQueries.cs +++ b/src/FluentHub.Octokit/Queries/Repositories/PullRequestEventQueries.cs @@ -490,44 +490,46 @@ public async Task> GetAllAsync(string owner, string name, int numbe }) .IssueComment(y => new IssueComment { - Author = y.Author.Select(author => new Actor - { - AvatarUrl = author.AvatarUrl(100), - Login = author.Login, - }) - .SingleOrDefault(), - AuthorAssociation = (CommentAuthorAssociation)y.AuthorAssociation, Body = y.Body, BodyHTML = y.BodyHTML, CreatedAt = y.CreatedAt, + CreatedAtHumanized = y.CreatedAt.Humanize(null, null), + Id = y.Id, + IsMinimized = y.IsMinimized, LastEditedAt = y.LastEditedAt, MinimizedReason = y.MinimizedReason, - IsMinimized = y.IsMinimized, + UpdatedAt = y.UpdatedAt, + UpdatedAtHumanized = y.UpdatedAt.Humanize(null, null), + Url = y.Url, + ViewerCanDelete = y.ViewerCanDelete, + ViewerCanMinimize = y.ViewerCanMinimize, + ViewerCanReact = y.ViewerCanReact, + ViewerCanUpdate = y.ViewerCanUpdate, + ViewerDidAuthor = y.ViewerDidAuthor, + + Author = y.Author.Select(author => new Actor + { + AvatarUrl = author.AvatarUrl(100), + Login = author.Login, + }) + .SingleOrDefault(), - Reactions = y.Reactions(6, null, null, null, null, null).Select(reaction => new ReactionConnection + Reactions = y.Reactions(100, null, null, null, null, null).Select(reactions => new ReactionConnection { - Nodes = reaction.Nodes.Select(z => new Reaction + Nodes = reactions.Nodes.Select(reaction => new Reaction { - Content = (ReactionContent)z.Content, + Content = (ReactionContent)reaction.Content, - User = z.User.Select(user => new User + User = reaction.User.Select(user => new User { Login = user.Login, }) .SingleOrDefault(), }) - .ToList().DefaultIfEmpty().ToList(), + .ToList(), }) .SingleOrDefault(), - - UpdatedAt = y.UpdatedAt, - Url = y.Url, - ViewerCanDelete = y.ViewerCanDelete, - ViewerCanMinimize = y.ViewerCanMinimize, - ViewerCanReact = y.ViewerCanReact, - ViewerCanUpdate = y.ViewerCanUpdate, - ViewerDidAuthor = y.ViewerDidAuthor, }) .LabeledEvent(y => new LabeledEvent { diff --git a/src/FluentHub.Octokit/Queries/Repositories/PullRequestQueries.cs b/src/FluentHub.Octokit/Queries/Repositories/PullRequestQueries.cs index 5edce470c..7968ea965 100644 --- a/src/FluentHub.Octokit/Queries/Repositories/PullRequestQueries.cs +++ b/src/FluentHub.Octokit/Queries/Repositories/PullRequestQueries.cs @@ -122,17 +122,38 @@ public async Task GetAsync(string owner, string name, int number) Title = x.Title, UpdatedAt = x.UpdatedAt, - Repository = x.Repository.Select(repo => new Repository + Assignees = x.Assignees(6, null, null, null).Select(assignees => new UserConnection { - Name = repo.Name, + Nodes = assignees.Nodes.Select(y => new User + { + AvatarUrl = y.AvatarUrl(100), + Login = y.Login, + }) + .ToList(), + }) + .SingleOrDefault(), - Owner = repo.Owner.Select(owner => new RepositoryOwner + Comments = x.Comments(null, null, null, null, null).Select(comments => new IssueCommentConnection + { + TotalCount = comments.TotalCount, + }) + .SingleOrDefault(), + + Commits = x.Commits(null, null, 1, null).Select(commits => new PullRequestCommitConnection + { + Nodes = commits.Nodes.Select(y => new PullRequestCommit { - AvatarUrl = owner.AvatarUrl(100), - Id = owner.Id, - Login = owner.Login, + Commit = y.Commit.Select(commit => new Commit + { + StatusCheckRollup = commit.StatusCheckRollup.Select(rollup => new StatusCheckRollup + { + State = (StatusState)rollup.State, + }) + .SingleOrDefault(), + }) + .SingleOrDefault(), }) - .SingleOrDefault(), + .ToList().DefaultIfEmpty().ToList(), }) .SingleOrDefault(), @@ -149,12 +170,6 @@ public async Task GetAsync(string owner, string name, int number) }) .SingleOrDefault(), - Comments = x.Comments(null, null, null, null, null).Select(comments => new IssueCommentConnection - { - TotalCount = comments.TotalCount, - }) - .SingleOrDefault(), - Labels = x.Labels(10, null, null, null, null).Select(labels => new LabelConnection { Nodes = labels.Nodes.Select(y => new Label @@ -167,30 +182,88 @@ public async Task GetAsync(string owner, string name, int number) }) .SingleOrDefault(), - Reviews = x.Reviews(null, null, 1, null, null, null).Select(reviews => new PullRequestReviewConnection + LatestReviews = x.LatestReviews(15, null, null, null).Select(latestReviews => new PullRequestReviewConnection { - Nodes = reviews.Nodes.Select(y => new PullRequestReview + Nodes = latestReviews.Nodes.Select(latestReview => new PullRequestReview { - State = (PullRequestReviewState)y.State, + Author = latestReview.Author.Select(author => new Actor + { + AvatarUrl = author.AvatarUrl(100), + Login = author.Login, + }) + .SingleOrDefault(), }) - .ToList().DefaultIfEmpty().ToList(), + .ToList(), }) .SingleOrDefault(), - Commits = x.Commits(null, null, 1, null).Select(commits => new PullRequestCommitConnection + Milestone = x.Milestone.Select(y => new Milestone { - Nodes = commits.Nodes.Select(y => new PullRequestCommit + Title = y.Title, + ProgressPercentage = y.ProgressPercentage, + }) + .SingleOrDefault(), + + Participants = x.Participants(6, null, null, null).Select(participants => new UserConnection + { + Nodes = participants.Nodes.Select(y => new User { - Commit = y.Commit.Select(commit => new Commit + AvatarUrl = y.AvatarUrl(100), + Login = y.Login, + }) + .ToList(), + }) + .SingleOrDefault(), + + ProjectCards = x.ProjectCards(6, null, null, null, null).Select(projects => new ProjectCardConnection + { + Nodes = projects.Nodes.Select(y => new ProjectCard + { + Note = y.Note, + }) + .ToList(), + }) + .SingleOrDefault(), + + Repository = x.Repository.Select(repo => new Repository + { + Name = repo.Name, + + Owner = repo.Owner.Select(owner => new RepositoryOwner + { + AvatarUrl = owner.AvatarUrl(100), + Id = owner.Id, + Login = owner.Login, + }) + .SingleOrDefault(), + }) + .SingleOrDefault(), + + ReviewRequests = x.ReviewRequests(15, null, null, null).Select(reviewRequests => new ReviewRequestConnection + { + Nodes = reviewRequests.Nodes.Select(reviewRequest => new ReviewRequest + { + RequestedReviewer = reviewRequest.RequestedReviewer.Select(requestedReviewer => new RequestedReviewer { - StatusCheckRollup = commit.StatusCheckRollup.Select(rollup => new StatusCheckRollup + User = requestedReviewer.Switch(whenUser => whenUser + .User(user => new User { - State = (StatusState)rollup.State, - }) - .SingleOrDefault(), + AvatarUrl = user.AvatarUrl(100), + Login = user.Login, + })), }) .SingleOrDefault(), }) + .ToList(), + }) + .SingleOrDefault(), + + Reviews = x.Reviews(null, null, 1, null, null, null).Select(reviews => new PullRequestReviewConnection + { + Nodes = reviews.Nodes.Select(y => new PullRequestReview + { + State = (PullRequestReviewState)y.State, + }) .ToList().DefaultIfEmpty().ToList(), }) .SingleOrDefault(), @@ -209,37 +282,42 @@ public async Task GetBodyAsync(string owner, string name, int numb .PullRequest(number) .Select(x => new IssueComment { + AuthorAssociation = (CommentAuthorAssociation)x.AuthorAssociation, + Body = x.Body, + BodyHTML = x.BodyHTML, + CreatedAt = x.CreatedAt, + CreatedAtHumanized = x.CreatedAt.Humanize(null, null), + Id = x.Id, + LastEditedAt = x.LastEditedAt, + UpdatedAt = x.UpdatedAt, + UpdatedAtHumanized = x.UpdatedAt.Humanize(null, null), + Url = x.Url, + ViewerCanReact = x.ViewerCanReact, + ViewerCanUpdate = x.ViewerCanUpdate, + ViewerDidAuthor = x.ViewerDidAuthor, + Author = x.Author.Select(author => new Actor { Login = author.Login, AvatarUrl = author.AvatarUrl(100), }) - .Single(), + .SingleOrDefault(), - Reactions = new() + Reactions = x.Reactions(100, null, null, null, null, null).Select(reactions => new ReactionConnection { - Nodes = x.Reactions(6, null, null, null, null, null).Nodes.Select(reaction => new Reaction + Nodes = reactions.Nodes.Select(reaction => new Reaction { Content = (ReactionContent)reaction.Content, + User = reaction.User.Select(user => new User { Login = user.Login, }) - .Single(), + .SingleOrDefault(), }) .ToList(), - }, - - AuthorAssociation = (CommentAuthorAssociation)x.AuthorAssociation, - Body = x.Body, - BodyHTML = x.BodyHTML, - LastEditedAt = x.LastEditedAt, - UpdatedAt = x.UpdatedAt, - ViewerCanReact = x.ViewerCanReact, - ViewerCanUpdate = x.ViewerCanUpdate, - ViewerDidAuthor = x.ViewerDidAuthor, - Url = x.Url, - CreatedAt = x.CreatedAt, + }) + .SingleOrDefault(), }) .Compile(); diff --git a/src/FluentHub.Octokit/Queries/Users/UserQueries.cs b/src/FluentHub.Octokit/Queries/Users/UserQueries.cs index fb063e3fa..6f6d7e1cc 100644 --- a/src/FluentHub.Octokit/Queries/Users/UserQueries.cs +++ b/src/FluentHub.Octokit/Queries/Users/UserQueries.cs @@ -4,7 +4,6 @@ public class UserQueries { public async Task GetAsync(string login) { - #region queries var query = new Query() .User(login) .Select(x => new User @@ -47,7 +46,6 @@ public async Task GetAsync(string login) .SingleOrDefault(), }) .Compile(); - #endregion var response = await App.Connection.Run(query); @@ -56,7 +54,6 @@ public async Task GetAsync(string login) public async Task GetViewerLogin() { - #region query var query = new Query() .Viewer .Select(x => new @@ -64,7 +61,6 @@ public async Task GetViewerLogin() x.Login, }) .Compile(); - #endregion var response = await App.Connection.Run(query); diff --git a/src/FluentHub.Primer.Octicon.Generation/FluentHub.Primer.Octicon.Generation.csproj b/src/FluentHub.Primer.Octicon.Generation/FluentHub.Primer.Octicon.Generation.csproj deleted file mode 100644 index d31266a4b..000000000 --- a/src/FluentHub.Primer.Octicon.Generation/FluentHub.Primer.Octicon.Generation.csproj +++ /dev/null @@ -1,11 +0,0 @@ - - - - Exe - netcoreapp3.1 - latest - x64 - AnyCPU;x64 - - - diff --git a/src/FluentHub.Primer.Octicon.Generation/Program.cs b/src/FluentHub.Primer.Octicon.Generation/Program.cs deleted file mode 100644 index cbab2e878..000000000 --- a/src/FluentHub.Primer.Octicon.Generation/Program.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System; -using System.Threading.Tasks; -using System.IO; -using System.Linq; -using System.Globalization; -using System.Text; - -namespace FluentHub.Primer.Octicon.Generation -{ - public class Program - { - static void Main(string[] args) - { - if (args.Length != 2) - { - Console.WriteLine("Error: Invalid arguments."); - return; - } - Console.WriteLine("Where's root dir of FluentHub.Uwp on your local:"); - string root = Console.ReadLine().TrimEnd('\\'); - - GenerateEnum(root); - } - - private static void GenerateEnum(string root) - { - // Get all SVGs - var files = Directory.EnumerateFiles($"{root}\\Assets\\Octicons\\", "*.svg"); - StringBuilder builder = new(); - - builder.AppendLine("using System;"); - builder.AppendLine("using System.Collections.Generic;"); - builder.AppendLine("using System.Linq;"); - builder.AppendLine("using System.Text;"); - builder.AppendLine("using System.Threading.Tasks;"); - - builder.AppendLine(); - builder.AppendLine("namespace FluentHub.Uwp.Models"); - builder.AppendLine("{"); - builder.AppendLine(" public enum ValidOcticonNames"); - builder.AppendLine(" {"); - - int index = 0; - - foreach (var file in files) - { - var normalizedFileName = file.ToLower().Replace("-", " "); - TextInfo info = CultureInfo.CurrentCulture.TextInfo; - normalizedFileName = info.ToTitleCase(normalizedFileName).Replace(" ", string.Empty); - Console.WriteLine(normalizedFileName); - builder.AppendLine($" {normalizedFileName},"); - - index += 1; - - if (files.Count() == index) - continue; - - builder.AppendLine(); - } - - builder.AppendLine(" }"); - builder.AppendLine("}"); - - Console.Write(builder.ToString()); - } - } -} diff --git a/src/FluentHub.Uwp/App.xaml.cs b/src/FluentHub.Uwp/App.xaml.cs deleted file mode 100644 index 05f54d917..000000000 --- a/src/FluentHub.Uwp/App.xaml.cs +++ /dev/null @@ -1,389 +0,0 @@ -using FluentHub.Uwp.Helpers; -using FluentHub.Uwp.Utils; -using FluentHub.Octokit.Authorization; -using FluentHub.Uwp.Services; -using FluentHub.Uwp.Services.Navigation; -using FluentHub.Uwp.ViewModels; -using FluentHub.Uwp.Views; -using FluentHub.Uwp.Views.SignIn; -using Microsoft.Extensions.DependencyInjection; -using Serilog; -using System.IO; -using System.Reflection; -using Windows.ApplicationModel; -using Windows.ApplicationModel.Activation; -using Windows.ApplicationModel.Core; -using Windows.Foundation; -using Windows.Storage; -using Windows.UI; -using Windows.UI.ViewManagement; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Navigation; - -namespace FluentHub.Uwp -{ - sealed partial class App : Application - { - Frame rootFrame = Window.Current.Content as Frame; - - public static SettingsViewModel Settings { get; set; } = new SettingsViewModel(); - - public static string AppVersion = - $"{Windows.ApplicationModel.Package.Current.Id.Version.Major}." + - $"{Windows.ApplicationModel.Package.Current.Id.Version.Minor}." + - $"{Windows.ApplicationModel.Package.Current.Id.Version.Build}." + - $"{Windows.ApplicationModel.Package.Current.Id.Version.Revision}"; - - public readonly static string DefaultGitHubDomain = "https://github.com"; - - public App() - { - InitializeComponent(); - - Suspending += OnSuspending; - - UnhandledException += async (s, e) => - { - Services.GetService()?.Fatal("Unhandled exception", e.Exception); - - e.Handled = true; - - try - { - await new ContentDialog - { - Title = "Unhandled exception", - Content = e.Message, - CloseButtonText = "Close" - }.ShowAsync(); - } - catch { } - }; - - Serilog.Log.Logger = GetSerilogLogger(); - Services = ConfigureServices(); - } - - /// - /// Gets the current instance in use - /// - public new static App Current => (App)Application.Current; - - /// - /// Gets the instance to resolve application services. - /// - public IServiceProvider Services { get; } - - /// - /// Configures the services for the application. - /// - private static IServiceProvider ConfigureServices() - { - return new ServiceCollection() - .AddSingleton() - .AddSingleton(new SerilogWrapperLogger(Log.Logger)) - .AddSingleton() - .AddSingleton(StrongReferenceMessenger.Default) - // ViewModels - .AddSingleton() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .AddTransient() - .BuildServiceProvider(); - } - - private static Serilog.ILogger GetSerilogLogger() - { - string logFilePath = Path.Combine(ApplicationData.Current.LocalFolder.Path, "FluentHub.Logs/Log.log"); - - var logger = new Serilog.LoggerConfiguration() - .MinimumLevel -#if DEBUG - .Verbose() -#else - .Error() -#endif - .WriteTo - .File(logFilePath, rollingInterval: Serilog.RollingInterval.Day) - .CreateLogger(); - - return logger; - } - - private void Initialize(LaunchActivatedEventArgs args = null) - { - CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true; - ApplicationView.GetForCurrentView().TitleBar.ButtonBackgroundColor = Colors.Transparent; - ApplicationView.GetForCurrentView().TitleBar.ButtonInactiveBackgroundColor = Colors.Transparent; - - if (rootFrame == null) - { - rootFrame = new Frame(); - - rootFrame.NavigationFailed += OnNavigationFailed; - - Window.Current.Content = rootFrame; - } - - if (args != null) - { - if (!args.PrelaunchActivated) - { - CoreApplication.EnablePrelaunch(true); - - if (rootFrame.Content == null) - { - if (Settings.SetupCompleted == true) - { - InitializeOctokit.InitializeApiConnections(Settings.AccessToken); - - rootFrame.Navigate(typeof(MainPage)); - } - else - { - Settings.SetupProgress = false; - Settings.SetupCompleted = false; - - rootFrame.Navigate(typeof(IntroPage)); - } - } - } - } - else if (rootFrame.Content == null) - { - if (Settings.SetupCompleted == true) - { - InitializeOctokit.InitializeApiConnections(Settings.AccessToken); - - rootFrame.Navigate(typeof(MainPage)); - } - else - { - Settings.SetupProgress = false; - Settings.SetupCompleted = false; - - rootFrame.Navigate(typeof(IntroPage)); - } - } - - ThemeHelper.Initialize(); - Window.Current.Activate(); - - var logger = Services.GetService(); - logger?.Debug("App.Initialize() done"); - } - - protected override async void OnLaunched(LaunchActivatedEventArgs args) - { - bool openInNewTab = false; - - if (rootFrame is null) - { - openInNewTab = true; - } - - Initialize(args); - - if (!string.IsNullOrWhiteSpace(args.Arguments) && Uri.TryCreate(args.Arguments, UriKind.RelativeOrAbsolute, out var uri)) - { - await HandleUriActivationAsync(uri, openInNewTab); - } - } - - protected async override void OnActivated(IActivatedEventArgs args) - { - Initialize(); - - switch (args.Kind) - { - case ActivationKind.Protocol: - var protocolArgs = (ProtocolActivatedEventArgs)args; - await HandleUriActivationAsync(protocolArgs.Uri, true); - break; - } - } - - private async Task HandleUriActivationAsync(Uri uri, bool openInNewTab) - { - var logger = Services.GetService(); - logger?.Debug("App.HandleUriActivationAsync(): {uri}", uri); - - Type page = null; - object param = null; - switch (uri.Authority.ToLower()) - { - case "profile": - page = typeof(Views.Users.OverviewPage); - break; - case "notifications": - page = typeof(Views.Home.NotificationsPage); - break; - case "activities": - page = typeof(Views.Home.ActivitiesPage); - break; - case "issues": - page = typeof(Views.Repositories.Issues.IssuesPage); - break; - case "pullrequests": - page = typeof(Views.Repositories.PullRequests.PullRequestsPage); - break; - case "discussions": - page = typeof(Views.Repositories.Discussions.DiscussionsPage); - break; - case "repositories": - page = App.Settings.UseDetailsView ? - typeof(Views.Repositories.Code.Layouts.DetailsLayoutView) : - typeof(Views.Repositories.Code.Layouts.TreeLayoutView); - break; - case "organizations": - page = typeof(Views.Organizations.OverviewPage); - break; - case "stars": - page = typeof(Views.Users.StarredReposPage); - param = uri.AbsoluteUri; - break; - //case "settings": - // page = typeof(Views.AppSettings.MainSettingsPage); - // param = uri.AbsoluteUri; - // break; - case "reset": - page = typeof(Views.SignIn.IntroPage); - // This code should work, but throws a 'Use of unassigned variable 'rootFrame'' error. - // Frame rootFrame = (Frame)Window.Current.Content; - // rootFrame.Navigate(typeof(SignIn.IntroPage)); - param = uri.AbsoluteUri; - break; - // The UI of this feature is slightly broken, therefore - // TODO: Fix logout protocol - case "auth" when uri.Query.Contains("code"): // fluenthub://auth?code=[code] - var code = new WwwFormUrlDecoder(uri.Query).GetFirstValueByName("code"); - bool status; - - try - { - AuthorizationService authService = new(); - var accessToken = await authService.RequestOAuthTokenAsync(code); - logger?.Info("FluentHub is authorized successfully."); - - // Set token and login to App Settings Container - await SetAccountInfo(accessToken); - - status = true; - } - catch (Exception ex) - { - status = false; - logger?.Info("FluentHub failed to authorize.", ex); - } - - if (status) - { - Settings.SetupProgress = true; - Settings.SetupCompleted = true; - rootFrame.Navigate(typeof(MainPage)); - } - - return; - } - - var ns = Services.GetRequiredService(); - if (ns.IsConfigured) - { - if (page != null) - { - if (openInNewTab) - ns.OpenTab(page, param); - else - ns.Navigate(page, param); - } - } - } - - private async Task SetAccountInfo(string accessToken) - { - Settings.AccessToken = accessToken; - - Octokit.Queries.Users.UserQueries queries = new(); - string login = await queries.GetViewerLogin(); - Settings.SignedInUserName = login; - - AccountService.AddAccount(login); - } - - void OnNavigationFailed(object sender, NavigationFailedEventArgs e) - { - throw new Exception("Failed to load Page " + e.SourcePageType.FullName); - } - - private void OnSuspending(object sender, SuspendingEventArgs e) - { - var deferral = e.SuspendingOperation.GetDeferral(); - //TODO: Save application state and stop any background activity - deferral.Complete(); - } - - public static TEnum GetEnum(string text) where TEnum : struct - { - if (!typeof(TEnum).GetTypeInfo().IsEnum) - { - throw new InvalidOperationException("Generic parameter 'TEnum' must be an enum."); - } - return (TEnum)Enum.Parse(typeof(TEnum), text); - } - - public static async void CloseApp() - { - if (!await ApplicationView.GetForCurrentView().TryConsolidateAsync()) - { - Current.Exit(); - } - } - } -} diff --git a/src/FluentHub.Uwp/Converters/IssueCommentToIssueCommentBlockViewModelConverter.cs b/src/FluentHub.Uwp/Converters/IssueCommentToIssueCommentBlockViewModelConverter.cs deleted file mode 100644 index b2e082318..000000000 --- a/src/FluentHub.Uwp/Converters/IssueCommentToIssueCommentBlockViewModelConverter.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Data; - -namespace FluentHub.Uwp.Converters -{ - public class IssueCommentToIssueCommentBlockViewModelConverter : IValueConverter - { - public object Convert(object value, Type targetType, object parameter, string language) - { - if (value is IssueComment ic) - { - var issueCommentBlockViewModel = new ViewModels.UserControls.IssueCommentBlockViewModel() - { - IssueComment = ic, - }; - - return issueCommentBlockViewModel; - } - else - { - return null; - } - } - - public object ConvertBack(object value, Type targetType, object parameter, string language) - => throw new NotImplementedException(); - } -} diff --git a/src/FluentHub.Uwp/Converters/NumberToNumberWithHashtagConverter.cs b/src/FluentHub.Uwp/Converters/NumberToNumberWithHashtagConverter.cs deleted file mode 100644 index 2d3c17ef2..000000000 --- a/src/FluentHub.Uwp/Converters/NumberToNumberWithHashtagConverter.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace FluentHub.Uwp.Converters -{ - public class NumberToNumberWithHashtagConverter - { - } -} diff --git a/src/FluentHub.Uwp/Dialogs/EditUserProfileDialog.xaml b/src/FluentHub.Uwp/Dialogs/EditUserProfileDialog.xaml deleted file mode 100644 index 501b52dd6..000000000 --- a/src/FluentHub.Uwp/Dialogs/EditUserProfileDialog.xaml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/FluentHub.Uwp/Dialogs/EditUserProfileDialog.xaml.cs b/src/FluentHub.Uwp/Dialogs/EditUserProfileDialog.xaml.cs deleted file mode 100644 index 66ca8fb82..000000000 --- a/src/FluentHub.Uwp/Dialogs/EditUserProfileDialog.xaml.cs +++ /dev/null @@ -1,22 +0,0 @@ -using FluentHub.Uwp.Services; -using FluentHub.Uwp.Services.Navigation; -using FluentHub.Uwp.ViewModels.Dialogs; -using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; - -namespace FluentHub.Uwp.Dialogs -{ - public sealed partial class UserProfileEditor : ContentDialog - { - public UserProfileEditor() => InitializeComponent(); - - private void ContentDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args) - { - } - - private void ContentDialog_SecondaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args) - { - } - } -} diff --git a/src/FluentHub.Uwp/Extensions/IEnumerableExt.cs b/src/FluentHub.Uwp/Extensions/IEnumerableExt.cs deleted file mode 100644 index 2b51f2e7f..000000000 --- a/src/FluentHub.Uwp/Extensions/IEnumerableExt.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace FluentHub.Uwp.Extensions -{ - public static class IEnumerableExt - { - public static int IndexOf(this IEnumerable source, Func predicate) - { - var index = 0; - - foreach (var item in source) - { - if (predicate(item)) return index; - - index++; - } - - return -1; - } - } -} diff --git a/src/FluentHub.Uwp/Extensions/StringExtensions.cs b/src/FluentHub.Uwp/Extensions/StringExtensions.cs deleted file mode 100644 index 4a4bf5b1e..000000000 --- a/src/FluentHub.Uwp/Extensions/StringExtensions.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace FluentHub.Uwp.Extensions -{ - public class StringExtensions - { - } -} diff --git a/src/FluentHub.Uwp/Extensions/WebViewExtentions.cs b/src/FluentHub.Uwp/Extensions/WebViewExtentions.cs deleted file mode 100644 index add3ffbf1..000000000 --- a/src/FluentHub.Uwp/Extensions/WebViewExtentions.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Windows.UI.Xaml.Controls; -using muxc = Microsoft.UI.Xaml.Controls; - -namespace FluentHub.Uwp.Extensions -{ - public static class WebViewExtentions - { - public static async Task HandleResize(this WebView webView) - { - try - { - var heightString = await webView.InvokeScriptAsync("eval", new[] { "document.getElementById('container').scrollHeight.toString()" }); - - if (int.TryParse(heightString, out int height)) - { - webView.Height = height; - } - } - catch (Exception ex) - { - - } - } - } -} diff --git a/src/FluentHub.Uwp/FluentHub.Uwp.csproj b/src/FluentHub.Uwp/FluentHub.Uwp.csproj deleted file mode 100644 index 016bae698..000000000 --- a/src/FluentHub.Uwp/FluentHub.Uwp.csproj +++ /dev/null @@ -1,1867 +0,0 @@ - - - - - Debug - x64 - {3B8F7422-E2C0-4BDF-9A95-EA59FFE277E8} - AppContainerExe - Properties - FluentHub.Uwp - FluentHub.Uwp - en-US - UAP - 10.0.22000.0 - 10.0.18362.0 - 14 - 512 - {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - true - false - False - SHA256 - False - False - Always - False - x86|x64|arm64 - 0 - latest - enable - PackageReference - - - true - bin\x86\Debug\ - DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP - ;2008 - full - x86 - false - prompt - true - - - bin\x86\Release\ - TRACE;NETFX_CORE;WINDOWS_UWP - true - ;2008 - pdbonly - x86 - false - prompt - true - true - - - bin\x86\Sideload\ - TRACE;NETFX_CORE;WINDOWS_UWP;SIDELOAD - true - ;2008 - pdbonly - x86 - false - prompt - true - true - true - - - true - TRACE;DEBUG;NETFX_CORE;WINDOWS_UWP;DISABLE_XAML_GENERATED_MAIN - ;2008 - full - arm64 - false - prompt - false - false - true - true - - - TRACE;NETFX_CORE;WINDOWS_UWP;DISABLE_XAML_GENERATED_MAIN - true - ;2008 - pdbonly - arm64 - false - prompt - false - true - true - - - bin\arm64\Sideload\ - TRACE;NETFX_CORE;WINDOWS_UWP;DISABLE_XAML_GENERATED_MAIN;SIDELOAD - true - ;2008 - pdbonly - arm64 - false - prompt - false - true - true - - - true - bin\x64\Debug\ - DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP - ;2008;CS8618;CS8625 - full - x64 - false - prompt - true - - - bin\x64\Release\ - TRACE;NETFX_CORE;WINDOWS_UWP - true - ;2008;CS8618;CS8625 - pdbonly - x64 - false - prompt - true - true - - - bin\x64\Sideload\ - TRACE;NETFX_CORE;WINDOWS_UWP;SIDELOAD - true - ;2008 - pdbonly - x64 - false - prompt - false - true - true - - - - App.xaml - - - - - - - - - - - - - - AccountSwitching.xaml - - - EditPinnedRepositoriesDialog.xaml - - - EditUserProfileDialog.xaml - - - ExceptionStackTraceDialog.xaml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CodeBlockButton.xaml - - - PackageBlockButton.xaml - - - CustomWebView.xaml - - - LoadErrorDisplay.xaml - - - AppSettingsOverview.xaml - - - Avatar.xaml - - - BranchName.xaml - - - SingleCommentBlock.xaml - - - SingleCommitBlock.xaml - - - DiffBlock.xaml - - - SingleReleaseBlock.xaml - - - SearchResultSidebar.xaml - - - UserContributionGraph.xaml - - - CommitBlockButton.xaml - - - ProjectBlockButton.xaml - - - OrganizationProfileOverview.xaml - - - PullRequestOverview.xaml - - - RepositoryOverview.xaml - - - CounterLabel.xaml - - - IssueLabelToken.xaml - - - Label.xaml - - - StateLabel.xaml - - - StyledOcticon.xaml - - - Timeline.xaml - - - ReferencedSubjectButton.xaml - - - - ActivityBlock.xaml - - - FileNavigationBlock.xaml - - - DiscussionBlockButton.xaml - - - IssueBlockButton.xaml - - - NotificationBlockButton.xaml - - - OrgBlockButton.xaml - - - PullBlockButton.xaml - - - RepoBlockButton.xaml - - - UserBlockButton.xaml - - - GitCloneFlyout.xaml - - - CustomTabView.xaml - - - IssueCommentBlock.xaml - - - FileContentBlock.xaml - - - ReadmeContentBlock.xaml - - - LatestCommitBlock.xaml - - - SettingsBlockControl.xaml - - - SettingsDisplayControl.xaml - - - TitleBar.xaml - - - UserProfileOverview.xaml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AboutPage.xaml - - - AccountPage.xaml - - - OtherUsersPage.xaml - - - NotificationsPage.xaml - - - RepositoryPage.xaml - - - AppearancePage.xaml - - - DiscussionsPage.xaml - - - PackagesPage.xaml - - - ProjectsPage.xaml - - - GeneralPage.xaml - - - TreeLayoutView.xaml - PreserveNewest - - - ReleasePage.xaml - - - ReleasesPage.xaml - - - CommitPage.xaml - - - CommitsPage.xaml - - - DiscussionPage.xaml - - - DiscussionsPage.xaml - - - CodeFrequencyPage.xaml - - - CommitsPage.xaml - - - ContributorsPage.xaml - - - InsightsPage.xaml - - - OverviewPage.xaml - - - TrafficPage.xaml - - - ProjectPage.xaml - - - ProjectsPage.xaml - - - CommitPage.xaml - - - CommitsPage.xaml - - - ConversationPage.xaml - - - FileChangesPage.xaml - - - GeneralPage.xaml - - - SettingsPage.xaml - - - CodePage.xaml - - - IssuesPage.xaml - - - RepositoriesPage.xaml - - - UsersPage.xaml - - - ContributionsPage.xaml - - - DiscussionsPage.xaml - - - OrganizationsPage.xaml - - - PackagesPage.xaml - - - ProjectsPage.xaml - - - PullRequestsPage.xaml - - - MainPage.xaml - - - - MembershipPage.xaml - - - OverviewPage.xaml - - - RepositoriesPage.xaml - - - IssuePage.xaml - - - DetailsLayoutView.xaml - - - PullRequestsPage.xaml - - - IssuesPage.xaml - - - UserHomePage.xaml - - - FeedsPage.xaml - - - OverviewPage.xaml - - - FollowersPage.xaml - - - FollowingPage.xaml - - - IssuesPage.xaml - - - NotificationsPage.xaml - - - RepositoriesPage.xaml - - - StarredReposPage.xaml - - - IntroPage.xaml - - - - - Designer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - - - - MSBuild:Compile - Designer - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - MSBuild:Compile - Designer - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - PreserveNewest - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - MSBuild:Compile - Designer - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - - - 2.8.25 - - - 6.0.1 - - - 6.2.14 - - - 7.1.2 - - - 7.1.2 - - - 7.1.2 - - - 7.1.2 - - - 2.8.1 - - - 2.0.1 - - - 5.0.0 - - - 1.1.0 - - - - - - - - - - - - {AEAF7702-4AD2-4B09-BAA1-DCAF0E920279} - Octokit.GraphQL.Core - - - {ccd6a838-6e6f-424f-bee3-60c46f4b5308} - FluentHub.Core - - - {893edcc9-4345-4f49-a13f-1a426a7ba432} - FluentHub.Octokit - - - {66F5A0DF-F449-4D6E-922D-0AD17B813A3B} - Octokit.GraphQL - - - - - - - - - - - 17.0 - - - - \ No newline at end of file diff --git a/src/FluentHub.Uwp/Helpers/BlobDetailsHelpers.cs b/src/FluentHub.Uwp/Helpers/BlobDetailsHelpers.cs deleted file mode 100644 index 28772aead..000000000 --- a/src/FluentHub.Uwp/Helpers/BlobDetailsHelpers.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace FluentHub.Uwp.Helpers -{ - public class BlobDetailsHelpers - { - public static int GetBlobActualLines(ref string text) - { - int line = text.Length - text.Replace("\n", "").Length; - return line; - } - - public static int GetBlobSloc(ref string text) - { - int line = text.Length - text.Replace("\n", "").Length; - - int notsloc = text.Length - text.Replace("\n\n", "").Length; - - // sloc is needed to reduce lines which is not source code(such as comments, black lines) - return line - notsloc; - } - - static readonly string[] suffixes = { "Bytes", "KB", "MB", "GB", "TB", "PB" }; - - public static string FormatSize(long bytes) - { - int counter = 0; - decimal number = bytes; - - while (Math.Round(number / 1024) >= 1) - { - number = number / 1024; - counter++; - } - - return string.Format("{0:n2} {1}", number, suffixes[counter]); - } - } -} diff --git a/src/FluentHub.Uwp/Helpers/ColorHelpers.cs b/src/FluentHub.Uwp/Helpers/ColorHelpers.cs deleted file mode 100644 index 00b1dace0..000000000 --- a/src/FluentHub.Uwp/Helpers/ColorHelpers.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Windows.UI; -using Windows.UI.Xaml.Media; - -namespace FluentHub.Uwp.Helpers -{ - public class ColorHelpers - { - /// - /// Converts from hexadecimal RGB color code to SolidColorBrush. - /// - /// Hexadecimal color code where # may be at the beginning of the string - /// - public static SolidColorBrush HexCodeToSolidColorBrush(string hexColorCode) - { - if (string.IsNullOrEmpty(hexColorCode)) return null; - - string normalizedColorCode; - - // If there's no alpha code, add them - if (hexColorCode.Length == 6 || hexColorCode.Length == 7) - { - if (hexColorCode[0] == '#') - { - normalizedColorCode = $"#FF{hexColorCode.Substring(1, hexColorCode.Length - 1)}"; - } - else - { - normalizedColorCode = $"#FF{hexColorCode}"; - } - } - else - { - normalizedColorCode = hexColorCode; - } - - return new SolidColorBrush( - Color.FromArgb( - Convert.ToByte(normalizedColorCode.Substring(1, 2), 16), - Convert.ToByte(normalizedColorCode.Substring(3, 2), 16), - Convert.ToByte(normalizedColorCode.Substring(5, 2), 16), - Convert.ToByte(normalizedColorCode.Substring(7, 2), 16))); - } - } -} diff --git a/src/FluentHub.Uwp/Helpers/JumpListHelper.cs b/src/FluentHub.Uwp/Helpers/JumpListHelper.cs deleted file mode 100644 index 6fb3b2077..000000000 --- a/src/FluentHub.Uwp/Helpers/JumpListHelper.cs +++ /dev/null @@ -1,143 +0,0 @@ -using FluentHub.Uwp.Extensions; -using System; -using System.Linq; -using System.Threading.Tasks; -using Windows.UI.StartScreen; - -namespace FluentHub.Uwp.Helpers -{ - public static class JumpListHelper - { - public static JumpListItem CreateJumpListItem(string args, string displayName, string logo, string description = "", string groupName = "") - { - var item = JumpListItem.CreateWithArguments(args.ToString(), displayName); - item.Description = description; - item.GroupName = groupName; - item.Logo = new Uri(logo); - return item; - } - - public static async Task RemoveFromJumpListAsync(string args) - { - if (JumpList.IsSupported()) - { - var jumpList = await JumpList.LoadCurrentAsync(); - var jumpListItem = jumpList.Items.FirstOrDefault(x => x.Arguments == args); - if (jumpListItem != null) - { - jumpList.Items.Remove(jumpListItem); - await jumpList.SaveAsync(); - return true; - } - } - return false; - } - - public static async Task ClearJumpListAsync() - { - if (JumpList.IsSupported()) - { - var jumpList = await JumpList.LoadCurrentAsync(); - jumpList.Items.Clear(); - await jumpList.SaveAsync(); - } - } - - public static async Task ConfigureDefaultJumpListAsync() - { - if (JumpList.IsSupported()) - { - var jumpList = await JumpList.LoadCurrentAsync(); - var argsPrefix = "fluenthub:/"; - var iconPrefix = "ms-appx:///Assets/Icons"; - var preferredIndex = 0; - AddOrInsert(jumpList, CreateJumpListItem($"{argsPrefix}/profile", - $"Profile", - $"{iconPrefix}/Profile.png", - "", - "Profile"), - preferredIndex++); - - AddOrInsert(jumpList, CreateJumpListItem($"{argsPrefix}/notifications", - $"Notifications", - $"{iconPrefix}/Notifications.png", - "", - "Profile"), - preferredIndex++); - - AddOrInsert(jumpList, CreateJumpListItem($"{argsPrefix}/activities", - $"Activities", - $"{iconPrefix}/Activities.png", - "", - "Profile"), - preferredIndex++); - - AddOrInsert(jumpList, CreateJumpListItem($"{argsPrefix}/issues", - $"Issues", - $"{iconPrefix}/Issues.png", - "", - "My Work"), - preferredIndex++); - - AddOrInsert(jumpList, CreateJumpListItem($"{argsPrefix}/pullrequests", - $"Pull Requests", - $"{iconPrefix}/PullRequests.png", - "", - "My Work"), - preferredIndex++); - - AddOrInsert(jumpList, CreateJumpListItem($"{argsPrefix}/discussions", - $"Discussions", - $"{iconPrefix}/Discussions.png", - "", - "My Work"), - preferredIndex++); - - AddOrInsert(jumpList, CreateJumpListItem($"{argsPrefix}/repositories", - $"Repositories", - $"{iconPrefix}/Repositories.png", - "", - "My Work"), - preferredIndex++); - - AddOrInsert(jumpList, CreateJumpListItem($"{argsPrefix}/organizations", - $"Organizations", - $"{iconPrefix}/Organizations.png", - "", - "My Work"), - preferredIndex++); - - AddOrInsert(jumpList, CreateJumpListItem($"{argsPrefix}/stars", - $"Starred repositories", - $"{iconPrefix}/Starred.png", - "", - "My Work"), - preferredIndex++); - await jumpList.SaveAsync(); - } - } - - private static void AddOrInsert(JumpList jumpList, JumpListItem item, int preferredIndex = -1) - { - var currentIndex = jumpList - .Items - .IndexOf(x => x.Arguments == item.Arguments); - if (currentIndex >= 0) - { - jumpList.Items[currentIndex] = item; - } - else - { - jumpList.Items.Add(item); - currentIndex = jumpList.Items.Count - 1; - } - - // Move item to preferred index - if (preferredIndex >= 0 && preferredIndex != currentIndex && preferredIndex < jumpList.Items.Count) - { - jumpList.Items.Remove(item); - jumpList.Items.Insert(preferredIndex, item); - } - } - } -} \ No newline at end of file diff --git a/src/FluentHub.Uwp/Helpers/NumberNormalizerHelper.cs b/src/FluentHub.Uwp/Helpers/NumberNormalizerHelper.cs deleted file mode 100644 index eac4fd797..000000000 --- a/src/FluentHub.Uwp/Helpers/NumberNormalizerHelper.cs +++ /dev/null @@ -1,41 +0,0 @@ -namespace FluentHub.Uwp.Helpers -{ - public static class NumberNormalizerHelper - { - private const int Thousand = 1000; - private const int Million = 1000000; - private const int Billion = 1000000000; - - /// - /// This method converts numbers (greater then 999) to a readable form, such as 25.5k, 1.2m, 2.4b - /// - /// Positive integer value that is more than 999 - /// String value of normalized number (e.g. 25.5k) - public static string NormalizeNumber(int number) - { - string normalizedNumber; - - if (number >= Billion) - { - double temp = Math.Round((double)number / Billion, 1); - normalizedNumber = $"{temp}b"; - } - else if (number >= Million) - { - double temp = Math.Round((double)number / Million, 1); - normalizedNumber = $"{temp}m"; - } - else if (number >= Thousand) - { - double temp = Math.Round((double)number / Thousand, 1); - normalizedNumber = $"{temp}k"; - } - else - { - normalizedNumber = number.ToString(); - } - - return normalizedNumber; - } - } -} diff --git a/src/FluentHub.Uwp/Helpers/ThemeHelper.cs b/src/FluentHub.Uwp/Helpers/ThemeHelper.cs deleted file mode 100644 index f19c71205..000000000 --- a/src/FluentHub.Uwp/Helpers/ThemeHelper.cs +++ /dev/null @@ -1,113 +0,0 @@ -using FluentHub.Uwp.ViewModels; -using System; -using Windows.Storage; -using Windows.UI; -using Windows.UI.ViewManagement; -using Windows.UI.Xaml; - -namespace FluentHub.Uwp.Helpers -{ - public static class ThemeHelper - { - private const string SelectedAppThemeKey = "SelectedAppTheme"; - private static Window CurrentApplicationWindow; - // Keep reference so it does not get optimized/garbage collected - private static UISettings uiSettings; - /// - /// Gets the current actual theme of the app based on the requested theme of the - /// root element, or if that value is Default, the requested theme of the Application. - /// - public static ElementTheme ActualTheme - { - get - { - if (Window.Current.Content is FrameworkElement rootElement) - { - if (rootElement.RequestedTheme != ElementTheme.Default) - { - return rootElement.RequestedTheme; - } - } - - return App.GetEnum(App.Current.RequestedTheme.ToString()); - } - } - - /// - /// Gets or sets (with LocalSettings persistence) the RequestedTheme of the root element. - /// - public static ElementTheme RootTheme - { - get - { - if (Window.Current.Content is FrameworkElement rootElement) - { - return rootElement.RequestedTheme; - } - - return ElementTheme.Default; - } - set - { - if (Window.Current.Content is FrameworkElement rootElement) - { - rootElement.RequestedTheme = value; - } - - ApplicationData.Current.LocalSettings.Values[SelectedAppThemeKey] = value.ToString(); - UpdateSystemCaptionButtonColors(); - } - } - - public static void Initialize() - { - // Save reference as this might be null when the user is in another app - CurrentApplicationWindow = Window.Current; - string savedTheme = ApplicationData.Current.LocalSettings.Values[SelectedAppThemeKey]?.ToString(); - - if (savedTheme != null) - { - RootTheme = FluentHub.Uwp.App.GetEnum(savedTheme); - } - - // Registering to color changes, thus we notice when user changes theme system wide - uiSettings = new UISettings(); - uiSettings.ColorValuesChanged += UiSettings_ColorValuesChanged; - } - - private static void UiSettings_ColorValuesChanged(UISettings sender, object args) - { - // Make sure we have a reference to our window so we dispatch a UI change - if (CurrentApplicationWindow != null) - { - // Dispatch on UI thread so that we have a current appbar to access and change - CurrentApplicationWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, () => - { - UpdateSystemCaptionButtonColors(); - }); - } - } - - public static bool IsDarkTheme() - { - if (RootTheme == ElementTheme.Default) - return Application.Current.RequestedTheme == ApplicationTheme.Dark; - - return RootTheme == ElementTheme.Dark; - } - - public static void UpdateSystemCaptionButtonColors() - { - ApplicationViewTitleBar titleBar = ApplicationView.GetForCurrentView().TitleBar; - - if (IsDarkTheme()) - { - titleBar.ButtonForegroundColor = Colors.White; - } - else - { - titleBar.ButtonForegroundColor = Colors.Black; - } - } - } -} diff --git a/src/FluentHub.Uwp/Helpers/WebViewHelpers.cs b/src/FluentHub.Uwp/Helpers/WebViewHelpers.cs deleted file mode 100644 index 4e998db79..000000000 --- a/src/FluentHub.Uwp/Helpers/WebViewHelpers.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Windows.UI.Xaml.Controls; -using muxc = Microsoft.UI.Xaml.Controls; - -namespace FluentHub.Uwp.Helpers -{ - public class WebViewHelpers - { - private static readonly string SetBodyOverFlowHiddenString = @"function SetBodyOverFlowHidden() { document.body.style.overflow = 'hidden'; } SetBodyOverFlowHidden();"; - - public static async Task DisableWebViewVerticalScrollingAsync(WebView webView) - { - _ = await webView.InvokeScriptAsync("eval", new[] { @"function SetBodyOverFlowHidden() { document.body.style.overflow = 'hidden'; } SetBodyOverFlowHidden();" }); - - int width; - int height; - - // get the total width and height - var widthString = await webView.InvokeScriptAsync("eval", new[] { "document.body.scrollWidth.toString()" }); - var heightString = await webView.InvokeScriptAsync("eval", new[] { "document.body.scrollHeight.toString()" }); - - if (!int.TryParse(widthString, out width)) - { - throw new Exception("Unable to get page width"); - } - if (!int.TryParse(heightString, out height)) - { - throw new Exception("Unable to get page height"); - } - - // resize the webview to the content - //webView.Width = width; - webView.Height = height; - } - - public static async Task SyncWebViewSizeAsync(WebView webView) - { - var pageHeightString = await webView.InvokeScriptAsync("eval", new[] { "document.body.scrollHeight.toString()" }); - - if (int.TryParse(pageHeightString, out int pageHeight)) - { - return webView.Height = pageHeight; - } - else return 0d; - } - } -} diff --git a/src/FluentHub.Uwp/Models/AccountModel.cs b/src/FluentHub.Uwp/Models/AccountModel.cs deleted file mode 100644 index 1d57ad5f5..000000000 --- a/src/FluentHub.Uwp/Models/AccountModel.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace FluentHub.Uwp.Models -{ - public class AccountModel - { - public string Login { get; set; } - public bool IsViewer { get; set; } - } -} diff --git a/src/FluentHub.Uwp/Models/PinnableRepository.cs b/src/FluentHub.Uwp/Models/PinnableRepository.cs deleted file mode 100644 index f3f1ea4df..000000000 --- a/src/FluentHub.Uwp/Models/PinnableRepository.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace FluentHub.Uwp.Models -{ - public class PinnableRepository - { - public bool IsPinned { get; set; } - - public Repository PinnableItem { get; set; } - } -} diff --git a/src/FluentHub.Uwp/Package.appxmanifest b/src/FluentHub.Uwp/Package.appxmanifest deleted file mode 100644 index d36c219a5..000000000 --- a/src/FluentHub.Uwp/Package.appxmanifest +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - FluentHub - Dev - Tomoyuki Terashita - Assets\AppTilesDev\StoreLogo.png - - - - - - - - - - - - - - - - - - - - Assets\AppTiles\StoreLogo.png - FluentHub - - - - - Assets\AppTiles\StoreLogo.png - FluentHub - - - - - - - - - - diff --git a/src/FluentHub.Uwp/Properties/AssemblyInfo.cs b/src/FluentHub.Uwp/Properties/AssemblyInfo.cs deleted file mode 100644 index a628bddd7..000000000 --- a/src/FluentHub.Uwp/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("FluentHub.Uwp")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("FluentHub.Uwp")] -[assembly: AssemblyCopyright("Copyright © 2022 FluentHub")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] -[assembly: ComVisible(false)] \ No newline at end of file diff --git a/src/FluentHub.Uwp/ResourceDictionaries/CommonStyles.xaml b/src/FluentHub.Uwp/ResourceDictionaries/CommonStyles.xaml deleted file mode 100644 index c8548b485..000000000 --- a/src/FluentHub.Uwp/ResourceDictionaries/CommonStyles.xaml +++ /dev/null @@ -1,2913 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/FluentHub.Uwp/UserControls/IssueCommentBlock.xaml.cs b/src/FluentHub.Uwp/UserControls/IssueCommentBlock.xaml.cs deleted file mode 100644 index 49321943e..000000000 --- a/src/FluentHub.Uwp/UserControls/IssueCommentBlock.xaml.cs +++ /dev/null @@ -1,52 +0,0 @@ -using FluentHub.Uwp.Extensions; -using FluentHub.Uwp.Helpers; -using FluentHub.Uwp.ViewModels.UserControls; -using Windows.Foundation; -using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; - -namespace FluentHub.Uwp.UserControls -{ - public sealed partial class IssueCommentBlock : UserControl - { - #region propdp - public static readonly DependencyProperty ViewModelProperty = - DependencyProperty.Register( - nameof(ViewModel), - typeof(IssueCommentBlockViewModel), - typeof(IssueCommentBlock), - new PropertyMetadata(null) - ); - - public IssueCommentBlockViewModel ViewModel - { - get => (IssueCommentBlockViewModel)GetValue(ViewModelProperty); - set - { - SetValue(ViewModelProperty, value); - ViewModel?.SetMarkdownCommentToWebViewAsync(CommentWebView); - } - } - #endregion - - public IssueCommentBlock() => InitializeComponent(); - - private bool WebViewIsNavigatedSuccessfully { get; set; } - - private async void OnCommentWebViewNavigationCompleted(WebView sender, WebViewNavigationCompletedEventArgs args) - => await((WebView)sender).HandleResize(); - - private async void OnWebViewSizeChanged(object sender, SizeChangedEventArgs e) - => await ((WebView)sender).HandleResize(); - - private async void OnCommentWebViewLoaded(object sender, RoutedEventArgs e) - { - } - } -} diff --git a/src/FluentHub.Uwp/UserControls/PrimerControls/StyledOcticon.xaml.cs b/src/FluentHub.Uwp/UserControls/PrimerControls/StyledOcticon.xaml.cs deleted file mode 100644 index d5ae69eb7..000000000 --- a/src/FluentHub.Uwp/UserControls/PrimerControls/StyledOcticon.xaml.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.Foundation; -using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; - -// ユーザー コントロールの項目テンプレートについては、https://go.microsoft.com/fwlink/?LinkId=234236 を参照してください - -namespace FluentHub.Uwp.UserControls.PrimerControls -{ - public sealed partial class StyledOcticon : UserControl - { - public StyledOcticon() - { - this.InitializeComponent(); - } - } -} diff --git a/src/FluentHub.Uwp/UserControls/ReadmeContentBlock.xaml.cs b/src/FluentHub.Uwp/UserControls/ReadmeContentBlock.xaml.cs deleted file mode 100644 index d6d6af686..000000000 --- a/src/FluentHub.Uwp/UserControls/ReadmeContentBlock.xaml.cs +++ /dev/null @@ -1,59 +0,0 @@ -using FluentHub.Uwp.Helpers; -using FluentHub.Uwp.ViewModels.Repositories; -using FluentHub.Uwp.ViewModels.UserControls; -using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; - -namespace FluentHub.Uwp.UserControls -{ - public sealed partial class ReadmeContentBlock : UserControl - { - #region propdp - public static readonly DependencyProperty ContextViewModelProperty = - DependencyProperty.Register( - nameof(ContextViewModel), - typeof(RepoContextViewModel), - typeof(ReadmeContentBlock), - null); - - public RepoContextViewModel ContextViewModel - { - get => (RepoContextViewModel)GetValue(ContextViewModelProperty); - set => SetValue(ContextViewModelProperty, value); - } - #endregion - - public ReadmeContentBlock() - { - InitializeComponent(); - - var provider = App.Current.Services; - ViewModel = provider.GetRequiredService(); - } - - public ReadmeContentBlockViewModel ViewModel { get; } - - private async void ReadmeWebView_NavigationCompleted(WebView sender, WebViewNavigationCompletedEventArgs args) - => await WebViewHelpers.DisableWebViewVerticalScrollingAsync(ReadmeWebView); - - private void ReadmeWebView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) - { - if (args.Uri != null) - args.Cancel = true; - } - - private void OnReadmeContentBlockLoaded(object sender, RoutedEventArgs e) - { - ViewModel.ContextViewModel = ContextViewModel; - - var command = ViewModel.LoadReadmeContentBlockCommand; - if (command.CanExecute(ReadmeWebView)) - command.Execute(ReadmeWebView); - } - } -} diff --git a/src/FluentHub.Uwp/UserControls/ReferencedSubjectButton.xaml.cs b/src/FluentHub.Uwp/UserControls/ReferencedSubjectButton.xaml.cs deleted file mode 100644 index 9cb6f65b5..000000000 --- a/src/FluentHub.Uwp/UserControls/ReferencedSubjectButton.xaml.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.Foundation; -using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; - -namespace FluentHub.Uwp.UserControls -{ - public sealed partial class ReferencedSubjectButton : UserControl - { - public ReferencedSubjectButton() - { - InitializeComponent(); - } - } -} diff --git a/src/FluentHub.Uwp/UserControls/SearchResultSidebar.xaml b/src/FluentHub.Uwp/UserControls/SearchResultSidebar.xaml deleted file mode 100644 index aff254736..000000000 --- a/src/FluentHub.Uwp/UserControls/SearchResultSidebar.xaml +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/FluentHub.Uwp/UserControls/TabViewControl/CustomTabView.xaml b/src/FluentHub.Uwp/UserControls/TabViewControl/CustomTabView.xaml deleted file mode 100644 index 0c38b3d32..000000000 --- a/src/FluentHub.Uwp/UserControls/TabViewControl/CustomTabView.xaml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/FluentHub.Uwp/UserControls/TitleBar.xaml.cs b/src/FluentHub.Uwp/UserControls/TitleBar.xaml.cs deleted file mode 100644 index ca4182235..000000000 --- a/src/FluentHub.Uwp/UserControls/TitleBar.xaml.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.Foundation; -using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; - -namespace FluentHub.Uwp.UserControls -{ - public sealed partial class TitleBar : UserControl - { - public TitleBar() => InitializeComponent(); - } -} diff --git a/src/FluentHub.Uwp/ViewModels/Dialogs/EditUserProfileViewModel.cs b/src/FluentHub.Uwp/ViewModels/Dialogs/EditUserProfileViewModel.cs deleted file mode 100644 index 698b7c616..000000000 --- a/src/FluentHub.Uwp/ViewModels/Dialogs/EditUserProfileViewModel.cs +++ /dev/null @@ -1,23 +0,0 @@ -using FluentHub.Uwp.Utils; -using FluentHub.Uwp.Models; -using FluentHub.Octokit.Queries.Users; -using FluentHub.Uwp.ViewModels.UserControls.BlockButtons; - -namespace FluentHub.Uwp.ViewModels.Dialogs -{ - public class EditUserProfileViewModel - { - private async Task LoadUserAsync(string login) - { - try - { - UserQueries queries = new(); - var response = await queries.GetAsync(login); - if (response == null) return; - } - catch (Exception ex) - { - } - } - } -} diff --git a/src/FluentHub.Uwp/ViewModels/UserControls/BlockButtons/IssueBlockButtonViewModel.cs b/src/FluentHub.Uwp/ViewModels/UserControls/BlockButtons/IssueBlockButtonViewModel.cs deleted file mode 100644 index 734655a3a..000000000 --- a/src/FluentHub.Uwp/ViewModels/UserControls/BlockButtons/IssueBlockButtonViewModel.cs +++ /dev/null @@ -1,52 +0,0 @@ -using FluentHub.Uwp.Helpers; -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Utils; -using FluentHub.Uwp.ViewModels.UserControls.Labels; - -namespace FluentHub.Uwp.ViewModels.UserControls.BlockButtons -{ - public class IssueBlockButtonViewModel : ObservableObject - { - public IssueBlockButtonViewModel() - { - _labelViewModels = new(); - LabelViewModels = new(_labelViewModels); - - CommentCountLabel = new() - { - Color = "#36000000", - }; - } - - #region Fields and Properties - private Issue _issueItem; - public Issue IssueItem { get => _issueItem; set => SetProperty(ref _issueItem, value); } - - private bool _compactMode; - public bool CompactMode { get => _compactMode; set => SetProperty(ref _compactMode, value); } - - private readonly ObservableCollection _labelViewModels; - public ReadOnlyObservableCollection LabelViewModels { get; } - - private LabelControlViewModel _commentCountLabel; - public LabelControlViewModel CommentCountLabel { get => _commentCountLabel; set => SetProperty(ref _commentCountLabel, value); } - #endregion - - public void LoadContents() - { - CommentCountLabel.Name = IssueItem.Comments.TotalCount.ToString(); - - _labelViewModels.Clear(); - foreach (var label in IssueItem.Labels.Nodes) - { - LabelControlViewModel viewModel = new() - { - Name = label.Name, - Color = label.Color, - }; - - _labelViewModels.Add(viewModel); - } - } - } -} diff --git a/src/FluentHub.Uwp/ViewModels/UserControls/BlockButtons/PullBlockButtonViewModel.cs b/src/FluentHub.Uwp/ViewModels/UserControls/BlockButtons/PullBlockButtonViewModel.cs deleted file mode 100644 index da3f43b0e..000000000 --- a/src/FluentHub.Uwp/ViewModels/UserControls/BlockButtons/PullBlockButtonViewModel.cs +++ /dev/null @@ -1,67 +0,0 @@ -using FluentHub.Uwp.Helpers; -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Utils; -using FluentHub.Uwp.ViewModels.UserControls.Labels; - -namespace FluentHub.Uwp.ViewModels.UserControls.BlockButtons -{ - public class PullBlockButtonViewModel : ObservableObject - { - public PullBlockButtonViewModel() - { - _labelViewModels = new(); - LabelViewModels = new(_labelViewModels); - - CommentCountLabel = new() - { - Color = "#36000000", - }; - - ReviewStateLabel = new() - { - Name = "Reviews", - Color = "#36000000", - }; - - StatusStateLabel = new() - { - Name = "Status", - Color = "#36000000", - }; - } - - #region Fields and Properties - private PullRequest _pullItem; - public PullRequest PullItem { get => _pullItem; set => SetProperty(ref _pullItem, value); } - - private readonly ObservableCollection _labelViewModels; - public ReadOnlyObservableCollection LabelViewModels { get; } - - private LabelControlViewModel _commentCountLabel; - public LabelControlViewModel CommentCountLabel { get => _commentCountLabel; set => SetProperty(ref _commentCountLabel, value); } - - private LabelControlViewModel _reviewStateLabel; - public LabelControlViewModel ReviewStateLabel { get => _reviewStateLabel; set => SetProperty(ref _reviewStateLabel, value); } - - private LabelControlViewModel _statusStateLabel; - public LabelControlViewModel StatusStateLabel { get => _statusStateLabel; set => SetProperty(ref _statusStateLabel, value); } - #endregion - - public void LoadContents() - { - CommentCountLabel.Name = PullItem.Comments.TotalCount.ToString(); - - _labelViewModels.Clear(); - foreach (var label in _pullItem.Labels.Nodes) - { - LabelControlViewModel viewModel = new() - { - Name = label.Name, - Color = label.Color, - }; - - _labelViewModels.Add(viewModel); - } - } - } -} diff --git a/src/FluentHub.Uwp/ViewModels/UserControls/IssueCommentBlockViewModel.cs b/src/FluentHub.Uwp/ViewModels/UserControls/IssueCommentBlockViewModel.cs deleted file mode 100644 index 1531e7c21..000000000 --- a/src/FluentHub.Uwp/ViewModels/UserControls/IssueCommentBlockViewModel.cs +++ /dev/null @@ -1,77 +0,0 @@ -using FluentHub.Uwp.Helpers; -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.UserControls.Labels; -using Windows.UI.Xaml.Controls; - -namespace FluentHub.Uwp.ViewModels.UserControls -{ - public class IssueCommentBlockViewModel : ObservableObject - { - public IssueCommentBlockViewModel() - { - IsEditedLabel = new() - { - Color = "#36000000", - Name = "Edited", - }; - - AuthorAssociationLabel = new() - { - Color = "#36000000", - }; - } - - #region Fields and Properties - private IssueComment issueComment; - public IssueComment IssueComment { get => issueComment; set => SetProperty(ref issueComment, value); } - - private bool _disabledScrolling; - public bool DisabledScrolling { get => _disabledScrolling; set => SetProperty(ref _disabledScrolling, value); } - - private bool _isContentLoaded; - public bool IsContentLoaded { get => _isContentLoaded; set => SetProperty(ref _isContentLoaded, value); } - - private LabelControlViewModel _isEditedLabel; - public LabelControlViewModel IsEditedLabel { get => _isEditedLabel; set => SetProperty(ref _isEditedLabel, value); } - - private WebView _commentWebView; - public WebView CommentWebView { get => _commentWebView; set => SetProperty(ref _commentWebView, value); } - - private LabelControlViewModel _authorAssociationLabel; - public LabelControlViewModel AuthorAssociationLabel { get => _authorAssociationLabel; set => SetProperty(ref _authorAssociationLabel, value); } - #endregion - - public async Task SetMarkdownCommentToWebViewAsync(WebView webView) - { - if (IsContentLoaded || CommentWebView is not null) - return; - - CommentWebView = webView; - //CommentWebView.NavigationCompleted += OnNavigationCompleted; - - string authorAssociation = IssueComment?.AuthorAssociation.Humanize(); - if (authorAssociation != "None") AuthorAssociationLabel.Name = authorAssociation; - - MarkdownApiHandler markdown = new(); - var html = await markdown.GetHtmlAsync(IssueComment?.BodyHTML, IssueComment?.Url, ThemeHelper.ActualTheme.ToString().ToLower()); - CommentWebView.NavigateToString(html); - IsContentLoaded = true; - } - - private async void OnNavigationCompleted(WebView sender, WebViewNavigationCompletedEventArgs args) - { - if (DisabledScrolling) - return; - - var heightString = await CommentWebView.InvokeScriptAsync("eval", new[] { "document.body.scrollHeight.toString()" }); - - if (!int.TryParse(heightString, out int height)) - { - throw new Exception("Unable to get page height"); - } - - CommentWebView.Height = height; - DisabledScrolling = true; - } - } -} diff --git a/src/FluentHub.Uwp/ViewModels/UserControls/Labels/LabelControlViewModel.cs b/src/FluentHub.Uwp/ViewModels/UserControls/Labels/LabelControlViewModel.cs deleted file mode 100644 index 0f9bbb15b..000000000 --- a/src/FluentHub.Uwp/ViewModels/UserControls/Labels/LabelControlViewModel.cs +++ /dev/null @@ -1,60 +0,0 @@ -using FluentHub.Uwp.Helpers; -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Utils; -using Windows.UI.Xaml.Media; - -namespace FluentHub.Uwp.ViewModels.UserControls.Labels -{ - public class LabelControlViewModel : ObservableObject - { - #region Fields and Properties - private string _name; - public string Name { get => _name; set => SetProperty(ref _name, value); } - - private string _color; - public string Color { get => _color; set => SetProperty(ref _color, value); } - - private SolidColorBrush _colorBrush; - public SolidColorBrush ColorBrush { get => _colorBrush; set => SetProperty(ref _colorBrush, value); } - - private bool outlineEnable; - public bool OutlineEnable { get => outlineEnable; set => SetProperty(ref outlineEnable, value); } - - private string _variant; - public string Variant { get => _variant; set => SetProperty(ref _variant, value); } - - private bool _large; - public bool Large { get => _large; set => SetProperty(ref _large, value); } - #endregion - - public void SetColorBrush() - { - ColorBrush = Helpers.ColorHelpers.HexCodeToSolidColorBrush(Color); - - //switch (Variant) - //{ - // default: - // case "default": - // break; - // case "primary": - // break; - // case "secondary": - // break; - // case "accent": - // break; - // case "success": - // break; - // case "attention": - // break; - // case "severe": - // break; - // case "danger": - // break; - // case "done": - // break; - // case "sponsors": - // break; - //} - } - } -} diff --git a/src/FluentHub.Uwp/ViewModels/UserControls/Labels/StatusLabelViewModel.cs b/src/FluentHub.Uwp/ViewModels/UserControls/Labels/StatusLabelViewModel.cs deleted file mode 100644 index e861dba28..000000000 --- a/src/FluentHub.Uwp/ViewModels/UserControls/Labels/StatusLabelViewModel.cs +++ /dev/null @@ -1,67 +0,0 @@ -using FluentHub.Uwp.Helpers; -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Utils; -using Windows.UI.Xaml.Media; - -namespace FluentHub.Uwp.ViewModels.UserControls.Labels -{ - public class StatusLabelViewModel : ObservableObject - { - #region Fields and Properties - private string _name; - public string Name { get => _name; set => SetProperty(ref _name, value); } - - private string _glyph; - public string Glyph { get => _glyph; set => SetProperty(ref _glyph, value); } - - private SolidColorBrush _colorBackground; - public SolidColorBrush ColorBackground { get => _colorBackground; set => SetProperty(ref _colorBackground, value); } - - private SolidColorBrush _colorForeground; - public SolidColorBrush ColorForeground { get => _colorForeground; set => SetProperty(ref _colorForeground, value); } - #endregion - - public void LoadContents(string subjectType) - { - switch (subjectType) - { - case "IssueOpen": - ColorBackground = ColorHelpers.HexCodeToSolidColorBrush("#347D38"); - ColorForeground = ColorHelpers.HexCodeToSolidColorBrush("#3fb950"); - Glyph = "\uE9EA"; - Name = "Open"; - break; - case "IssueClosed": - ColorBackground = ColorHelpers.HexCodeToSolidColorBrush("#8256D0"); - ColorForeground = ColorHelpers.HexCodeToSolidColorBrush("#bc8cff"); - Glyph = "\uE9E6"; - Name = "Closed"; - break; - case "PullOpen": - ColorBackground = ColorHelpers.HexCodeToSolidColorBrush("#347D39"); - ColorForeground = ColorHelpers.HexCodeToSolidColorBrush("#57AB5A"); - Glyph = "\uE9BF"; - Name = "Open"; - break; - case "PullClosed": - ColorBackground = ColorHelpers.HexCodeToSolidColorBrush("#C93C37"); - ColorForeground = ColorHelpers.HexCodeToSolidColorBrush("#ff7b72"); - Glyph = "\uE9C1"; - Name = "Closed"; - break; - case "PullMerged": - ColorBackground = ColorHelpers.HexCodeToSolidColorBrush("#8256D0"); - ColorForeground = ColorHelpers.HexCodeToSolidColorBrush("#986EE2"); - Glyph = "\uE9BD"; - Name = "Merged"; - break; - case "PullDraft": - ColorBackground = ColorHelpers.HexCodeToSolidColorBrush("#768390"); - ColorForeground = ColorHelpers.HexCodeToSolidColorBrush("#8b939e"); - Glyph = "\uE9C3"; - Name = "Draft"; - break; - } - } - } -} diff --git a/src/FluentHub.Uwp/ViewModels/UserControls/Overview/AppSettingsOverviewViewModel.cs b/src/FluentHub.Uwp/ViewModels/UserControls/Overview/AppSettingsOverviewViewModel.cs deleted file mode 100644 index 431bdfc3d..000000000 --- a/src/FluentHub.Uwp/ViewModels/UserControls/Overview/AppSettingsOverviewViewModel.cs +++ /dev/null @@ -1,30 +0,0 @@ -using FluentHub.Octokit.Queries.Users; -using FluentHub.Uwp.Helpers; -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.Repositories; -using FluentHub.Uwp.ViewModels.UserControls; -using FluentHub.Uwp.ViewModels.UserControls.BlockButtons; -using FluentHub.Uwp.ViewModels.UserControls.Overview; -using FluentHub.Uwp.Utils; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Toolkit.Uwp; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Media.Imaging; -using muxc = Microsoft.UI.Xaml.Controls; - -namespace FluentHub.Uwp.ViewModels.UserControls.Overview -{ - public class AppSettingsOverviewViewModel : ObservableObject - { - #region Fields and Properties - private User _user; - public User User { get => _user; set => SetProperty(ref _user, value); } - - public static User StoredUser; - - private string _selectedTag; - public string SelectedTag { get => _selectedTag; set => SetProperty(ref _selectedTag, value); } - #endregion - } -} diff --git a/src/FluentHub.Uwp/ViewModels/UserControls/ReadmeContentBlockViewModel.cs b/src/FluentHub.Uwp/ViewModels/UserControls/ReadmeContentBlockViewModel.cs deleted file mode 100644 index eff254089..000000000 --- a/src/FluentHub.Uwp/ViewModels/UserControls/ReadmeContentBlockViewModel.cs +++ /dev/null @@ -1,62 +0,0 @@ -using FluentHub.Uwp.Helpers; -using FluentHub.Uwp.Models; -using FluentHub.Uwp.Services; -using FluentHub.Uwp.Utils; -using FluentHub.Uwp.ViewModels.Repositories; -using Windows.UI.Xaml.Controls; - -namespace FluentHub.Uwp.ViewModels.UserControls -{ - public class ReadmeContentBlockViewModel : ObservableObject - { - public ReadmeContentBlockViewModel(IMessenger messenger = null, ILogger logger = null) - { - _messenger = messenger; - _logger = logger; - _messenger = messenger; - - LoadReadmeContentBlockCommand = new AsyncRelayCommand(LoadRepositoryReadmeAsync); - } - - #region Fields and Properties - private readonly ILogger _logger; - private readonly IMessenger _messenger; - - private string _htmlText; - public string HtmlText { get => _htmlText; set => SetProperty(ref _htmlText, value); } - - private RepoContextViewModel contextViewModel; - public RepoContextViewModel ContextViewModel { get => contextViewModel; set => SetProperty(ref contextViewModel, value); } - - public IAsyncRelayCommand LoadReadmeContentBlockCommand { get; } - #endregion - - public async Task LoadRepositoryReadmeAsync(WebView webView) - { - try - { - MarkdownApiHandler queries = new(); - HtmlText = await queries.GetHtmlAsync( - ContextViewModel.Repository.Owner.Login, - ContextViewModel.Repository.Name, - ContextViewModel.BranchName, - ThemeHelper.ActualTheme.ToString().ToLower() - ); - - if (HtmlText == null) return; - - webView.NavigateToString(HtmlText); - } - catch (Exception ex) - { - _logger?.Error(nameof(LoadRepositoryReadmeAsync), ex); - if (_messenger != null) - { - UserNotificationMessage notification = new("Something went wrong", ex.Message, UserNotificationType.Error); - _messenger.Send(notification); - } - throw; - } - } - } -} diff --git a/src/FluentHub.Uwp/Views/Organizations/DiscussionsPage.xaml.cs b/src/FluentHub.Uwp/Views/Organizations/DiscussionsPage.xaml.cs deleted file mode 100644 index 7580930fd..000000000 --- a/src/FluentHub.Uwp/Views/Organizations/DiscussionsPage.xaml.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.Foundation; -using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; - -// 空白ページの項目テンプレートについては、https://go.microsoft.com/fwlink/?LinkId=234238 を参照してください - -namespace FluentHub.Uwp.Views.Organizations -{ - /// - /// それ自体で使用できる空白ページまたはフレーム内に移動できる空白ページ。 - /// - public sealed partial class DiscussionsPage : Page - { - public DiscussionsPage() - { - this.InitializeComponent(); - } - } -} diff --git a/src/FluentHub.Uwp/Views/Organizations/MembershipPage.xaml.cs b/src/FluentHub.Uwp/Views/Organizations/MembershipPage.xaml.cs deleted file mode 100644 index 06a559bc2..000000000 --- a/src/FluentHub.Uwp/Views/Organizations/MembershipPage.xaml.cs +++ /dev/null @@ -1,19 +0,0 @@ -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.Organizations; -using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Media.Imaging; -using Windows.UI.Xaml.Navigation; -using muxc = Microsoft.UI.Xaml.Controls; - -namespace FluentHub.Uwp.Views.Organizations -{ - public sealed partial class MembershipPage : Page - { - public MembershipPage() - { - InitializeComponent(); - } - } -} diff --git a/src/FluentHub.Uwp/Views/Organizations/PackagesPage.xaml.cs b/src/FluentHub.Uwp/Views/Organizations/PackagesPage.xaml.cs deleted file mode 100644 index 150766ef7..000000000 --- a/src/FluentHub.Uwp/Views/Organizations/PackagesPage.xaml.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.Foundation; -using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; - -// 空白ページの項目テンプレートについては、https://go.microsoft.com/fwlink/?LinkId=234238 を参照してください - -namespace FluentHub.Uwp.Views.Organizations -{ - /// - /// それ自体で使用できる空白ページまたはフレーム内に移動できる空白ページ。 - /// - public sealed partial class PackagesPage : Page - { - public PackagesPage() - { - this.InitializeComponent(); - } - } -} diff --git a/src/FluentHub.Uwp/Views/Organizations/ProjectsPage.xaml.cs b/src/FluentHub.Uwp/Views/Organizations/ProjectsPage.xaml.cs deleted file mode 100644 index ee5ed2cb6..000000000 --- a/src/FluentHub.Uwp/Views/Organizations/ProjectsPage.xaml.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.Foundation; -using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; - -// 空白ページの項目テンプレートについては、https://go.microsoft.com/fwlink/?LinkId=234238 を参照してください - -namespace FluentHub.Uwp.Views.Organizations -{ - /// - /// それ自体で使用できる空白ページまたはフレーム内に移動できる空白ページ。 - /// - public sealed partial class ProjectsPage : Page - { - public ProjectsPage() - { - this.InitializeComponent(); - } - } -} diff --git a/src/FluentHub.Uwp/Views/Repositories/Insights/CodeFrequencyPage.xaml.cs b/src/FluentHub.Uwp/Views/Repositories/Insights/CodeFrequencyPage.xaml.cs deleted file mode 100644 index 7e7b3bcc8..000000000 --- a/src/FluentHub.Uwp/Views/Repositories/Insights/CodeFrequencyPage.xaml.cs +++ /dev/null @@ -1,18 +0,0 @@ -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.Repositories; -using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Media.Imaging; -using Windows.UI.Xaml.Navigation; -using muxc = Microsoft.UI.Xaml.Controls; - -namespace FluentHub.Uwp.Views.Repositories.Insights -{ - public sealed partial class CodeFrequencyPage : Page - { - public CodeFrequencyPage() - { - InitializeComponent(); - } - } -} diff --git a/src/FluentHub.Uwp/Views/Repositories/Insights/CommitsPage.xaml.cs b/src/FluentHub.Uwp/Views/Repositories/Insights/CommitsPage.xaml.cs deleted file mode 100644 index bfc91dcd4..000000000 --- a/src/FluentHub.Uwp/Views/Repositories/Insights/CommitsPage.xaml.cs +++ /dev/null @@ -1,18 +0,0 @@ -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.Repositories; -using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Media.Imaging; -using Windows.UI.Xaml.Navigation; -using muxc = Microsoft.UI.Xaml.Controls; - -namespace FluentHub.Uwp.Views.Repositories.Insights -{ - public sealed partial class CommitsPage : Page - { - public CommitsPage() - { - InitializeComponent(); - } - } -} diff --git a/src/FluentHub.Uwp/Views/Repositories/Insights/ContributorsPage.xaml.cs b/src/FluentHub.Uwp/Views/Repositories/Insights/ContributorsPage.xaml.cs deleted file mode 100644 index f4d7afc19..000000000 --- a/src/FluentHub.Uwp/Views/Repositories/Insights/ContributorsPage.xaml.cs +++ /dev/null @@ -1,18 +0,0 @@ -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.Repositories; -using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Media.Imaging; -using Windows.UI.Xaml.Navigation; -using muxc = Microsoft.UI.Xaml.Controls; - -namespace FluentHub.Uwp.Views.Repositories.Insights -{ - public sealed partial class ContributorsPage : Page - { - public ContributorsPage() - { - InitializeComponent(); - } - } -} diff --git a/src/FluentHub.Uwp/Views/Repositories/Insights/OverviewPage.xaml.cs b/src/FluentHub.Uwp/Views/Repositories/Insights/OverviewPage.xaml.cs deleted file mode 100644 index 57c5ccb05..000000000 --- a/src/FluentHub.Uwp/Views/Repositories/Insights/OverviewPage.xaml.cs +++ /dev/null @@ -1,20 +0,0 @@ -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels; -using FluentHub.Uwp.ViewModels.Repositories; -using Microsoft.Extensions.DependencyInjection; -using Windows.Services.Maps; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Media.Imaging; -using Windows.UI.Xaml.Navigation; -using muxc = Microsoft.UI.Xaml.Controls; - -namespace FluentHub.Uwp.Views.Repositories.Insights -{ - public sealed partial class OverviewPage : Page - { - public OverviewPage() - { - InitializeComponent(); - } - } -} diff --git a/src/FluentHub.Uwp/Views/Repositories/Insights/TrafficPage.xaml.cs b/src/FluentHub.Uwp/Views/Repositories/Insights/TrafficPage.xaml.cs deleted file mode 100644 index 5777d8509..000000000 --- a/src/FluentHub.Uwp/Views/Repositories/Insights/TrafficPage.xaml.cs +++ /dev/null @@ -1,18 +0,0 @@ -using FluentHub.Uwp.Services; -using FluentHub.Uwp.ViewModels.Repositories; -using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Media.Imaging; -using Windows.UI.Xaml.Navigation; -using muxc = Microsoft.UI.Xaml.Controls; - -namespace FluentHub.Uwp.Views.Repositories.Insights -{ - public sealed partial class TrafficPage : Page - { - public TrafficPage() - { - InitializeComponent(); - } - } -} diff --git a/src/FluentHub.Uwp/Views/Repositories/Releases/ReleasePage.xaml.cs b/src/FluentHub.Uwp/Views/Repositories/Releases/ReleasePage.xaml.cs deleted file mode 100644 index 71e49bf69..000000000 --- a/src/FluentHub.Uwp/Views/Repositories/Releases/ReleasePage.xaml.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.Foundation; -using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; - -// 空白ページの項目テンプレートについては、https://go.microsoft.com/fwlink/?LinkId=234238 を参照してください - -namespace FluentHub.Uwp.Views.Repositories.Releases -{ - /// - /// それ自体で使用できる空白ページまたはフレーム内に移動できる空白ページ。 - /// - public sealed partial class ReleasePage : Page - { - public ReleasePage() - { - this.InitializeComponent(); - } - } -} diff --git a/src/FluentHub.Uwp/Views/Repositories/Releases/ReleasesPage.xaml.cs b/src/FluentHub.Uwp/Views/Repositories/Releases/ReleasesPage.xaml.cs deleted file mode 100644 index d89ddfdf2..000000000 --- a/src/FluentHub.Uwp/Views/Repositories/Releases/ReleasesPage.xaml.cs +++ /dev/null @@ -1,54 +0,0 @@ -using FluentHub.Octokit.Queries.Repositories; -using FluentHub.Uwp.Extensions; -using FluentHub.Uwp.Helpers; -using FluentHub.Uwp.Services; -using FluentHub.Uwp.Models; -using FluentHub.Uwp.ViewModels.Repositories.Releases; -using Microsoft.Extensions.DependencyInjection; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Navigation; -using Windows.UI.Xaml.Media.Imaging; -using muxc = Microsoft.UI.Xaml.Controls; - -namespace FluentHub.Uwp.Views.Repositories.Releases -{ - public sealed partial class ReleasesPage : Page - { - public ReleasesPage() - { - InitializeComponent(); - - var provider = App.Current.Services; - ViewModel = provider.GetRequiredService(); - _navigation = App.Current.Services.GetRequiredService(); - } - - public ReleasesViewModel ViewModel { get; } - private readonly INavigationService _navigation; - - protected override void OnNavigatedTo(NavigationEventArgs e) - { - var param = e.Parameter as FrameNavigationArgs; - ViewModel.Login = param.Login; - ViewModel.Name = param.Name; - - var command = ViewModel.LoadRepositoryReleasesPageCommand; - if (command.CanExecute(null)) - command.Execute(null); - } - - private async void OnLatestReleaseContentWebViewLoaded(object sender, RoutedEventArgs e) - { - ViewModel.LatestReleaseDescriptionWebView = LatestReleaseContentWebView; - string missedPath = "https://raw.githubusercontent.com/" + ViewModel.Repository.Owner.Login + "/" + ViewModel.Repository.Name + "/" + ViewModel.Repository.DefaultBranchRef.Name + "/"; - - MarkdownApiHandler mdHandler = new(); - var html = await mdHandler.GetHtmlAsync(ViewModel.LatestRelease.DescriptionHTML ?? "No description", missedPath, ThemeHelper.ActualTheme.ToString().ToLower()); - - LatestReleaseContentWebView.NavigateToString(html); - await LatestReleaseContentWebView.HandleResize(); - } - } -} diff --git a/src/FluentHub.Uwp/Views/Users/ContributionsPage.xaml.cs b/src/FluentHub.Uwp/Views/Users/ContributionsPage.xaml.cs deleted file mode 100644 index 5be12ebc3..000000000 --- a/src/FluentHub.Uwp/Views/Users/ContributionsPage.xaml.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.Foundation; -using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; - -namespace FluentHub.Uwp.Views.Users -{ - public sealed partial class ContributionsPage : Page - { - public ContributionsPage() - { - this.InitializeComponent(); - } - } -}