diff --git a/src/Files.App/Actions/Global/OpenHelpAction.cs b/src/Files.App/Actions/Global/OpenHelpAction.cs index 03d091efc2fd..e76b5a892820 100644 --- a/src/Files.App/Actions/Global/OpenHelpAction.cs +++ b/src/Files.App/Actions/Global/OpenHelpAction.cs @@ -18,7 +18,7 @@ public HotKey HotKey public Task ExecuteAsync() { - var url = new Uri(Constants.GitHub.DocumentationUrl); + var url = new Uri(Constants.ExternalUrl.DocumentationUrl); return Launcher.LaunchUriAsync(url).AsTask(); } } diff --git a/src/Files.App/Constants.cs b/src/Files.App/Constants.cs index 65eb1e53bc87..8c01c0f48350 100644 --- a/src/Files.App/Constants.cs +++ b/src/Files.App/Constants.cs @@ -188,14 +188,16 @@ public static class Filesystem public const string CachedEmptyItemName = "fileicon_cache"; } - public static class GitHub + public static class ExternalUrl { public const string GitHubRepoUrl = @"https://github.com/files-community/Files"; public const string DocumentationUrl = @"https://files.community/docs"; + public const string DiscordUrl = @"https://discord.gg/files"; public const string FeatureRequestUrl = @"https://github.com/files-community/Files/issues/new?labels=feature+request&template=feature_request.yml"; public const string BugReportUrl = @"https://github.com/files-community/Files/issues/new?labels=bug&template=bug_report.yml"; public const string PrivacyPolicyUrl = @"https://github.com/files-community/Files/blob/main/.github/PRIVACY.md"; public const string SupportUsUrl = @"https://github.com/sponsors/yaira2"; + public const string CrowdinUrl = @"https://crowdin.com/project/files-app"; } public static class DocsPath diff --git a/src/Files.App/Helpers/Application/AppLifecycleHelper.cs b/src/Files.App/Helpers/Application/AppLifecycleHelper.cs index 8cf160a3e8c2..5f3c11307bb7 100644 --- a/src/Files.App/Helpers/Application/AppLifecycleHelper.cs +++ b/src/Files.App/Helpers/Application/AppLifecycleHelper.cs @@ -317,7 +317,7 @@ public static void HandleAppUnhandledException(Exception? ex, bool showToastNoti { Buttons = { - new ToastButton("ExceptionNotificationReportButton".GetLocalizedResource(), Constants.GitHub.BugReportUrl) + new ToastButton("ExceptionNotificationReportButton".GetLocalizedResource(), Constants.ExternalUrl.BugReportUrl) { ActivationType = ToastActivationType.Protocol } diff --git a/src/Files.App/Strings/en-US/Resources.resw b/src/Files.App/Strings/en-US/Resources.resw index 8d6a799d07ae..d4a0fb7b8c9d 100644 --- a/src/Files.App/Strings/en-US/Resources.resw +++ b/src/Files.App/Strings/en-US/Resources.resw @@ -3667,4 +3667,7 @@ Where did Files go? + + Questions & discussions + \ No newline at end of file diff --git a/src/Files.App/Utils/Taskbar/SystemTrayIcon.cs b/src/Files.App/Utils/Taskbar/SystemTrayIcon.cs index af10341f2d91..0f5895027598 100644 --- a/src/Files.App/Utils/Taskbar/SystemTrayIcon.cs +++ b/src/Files.App/Utils/Taskbar/SystemTrayIcon.cs @@ -272,7 +272,7 @@ private void OnLeftClicked() private void OnDocumentationClicked() { - Launcher.LaunchUriAsync(new Uri(Constants.GitHub.DocumentationUrl)).AsTask(); + Launcher.LaunchUriAsync(new Uri(Constants.ExternalUrl.DocumentationUrl)).AsTask(); } private void OnRestartClicked() diff --git a/src/Files.App/ViewModels/Settings/AboutViewModel.cs b/src/Files.App/ViewModels/Settings/AboutViewModel.cs index 7d1dec183226..9c7c1f8ffdb2 100644 --- a/src/Files.App/ViewModels/Settings/AboutViewModel.cs +++ b/src/Files.App/ViewModels/Settings/AboutViewModel.cs @@ -19,6 +19,7 @@ public class AboutViewModel : ObservableObject public ICommand SupportUsCommand { get; } public ICommand OpenLogLocationCommand { get; } public ICommand OpenDocumentationCommand { get; } + public ICommand OpenDiscordCommand { get; } public ICommand SubmitFeatureRequestCommand { get; } public ICommand SubmitBugReportCommand { get; } public ICommand OpenGitHubRepoCommand { get; } @@ -38,6 +39,7 @@ public AboutViewModel() CopyWindowsVersionCommand = new RelayCommand(CopyWindowsVersion); SupportUsCommand = new AsyncRelayCommand(SupportUs); OpenDocumentationCommand = new AsyncRelayCommand(DoOpenDocumentation); + OpenDiscordCommand = new AsyncRelayCommand(DoOpenDiscord); SubmitFeatureRequestCommand = new AsyncRelayCommand(DoSubmitFeatureRequest); SubmitBugReportCommand = new AsyncRelayCommand(DoSubmitBugReport); OpenGitHubRepoCommand = new AsyncRelayCommand(DoOpenGitHubRepo); @@ -53,33 +55,38 @@ private Task OpenLogLocation() public Task DoOpenDocumentation() { - return Launcher.LaunchUriAsync(new Uri(Constants.GitHub.DocumentationUrl)).AsTask(); + return Launcher.LaunchUriAsync(new Uri(Constants.ExternalUrl.DocumentationUrl)).AsTask(); + } + + public Task DoOpenDiscord() + { + return Launcher.LaunchUriAsync(new Uri(Constants.ExternalUrl.DiscordUrl)).AsTask(); } public Task DoSubmitFeatureRequest() { - return Launcher.LaunchUriAsync(new Uri($"{Constants.GitHub.FeatureRequestUrl}&{GetVersionsQueryString()}")).AsTask(); + return Launcher.LaunchUriAsync(new Uri($"{Constants.ExternalUrl.FeatureRequestUrl}&{GetVersionsQueryString()}")).AsTask(); } public Task DoSubmitBugReport() { - return Launcher.LaunchUriAsync(new Uri($"{Constants.GitHub.BugReportUrl}&{GetVersionsQueryString()}")).AsTask(); + return Launcher.LaunchUriAsync(new Uri($"{Constants.ExternalUrl.BugReportUrl}&{GetVersionsQueryString()}")).AsTask(); } public Task DoOpenGitHubRepo() { - return Launcher.LaunchUriAsync(new Uri(Constants.GitHub.GitHubRepoUrl)).AsTask(); + return Launcher.LaunchUriAsync(new Uri(Constants.ExternalUrl.GitHubRepoUrl)).AsTask(); } public Task DoOpenPrivacyPolicy() { - return Launcher.LaunchUriAsync(new Uri(Constants.GitHub.PrivacyPolicyUrl)).AsTask(); + return Launcher.LaunchUriAsync(new Uri(Constants.ExternalUrl.PrivacyPolicyUrl)).AsTask(); } public Task DoOpenCrowdin() { - return Launcher.LaunchUriAsync(new Uri("https://crowdin.com/project/files-app")).AsTask(); + return Launcher.LaunchUriAsync(new Uri(Constants.ExternalUrl.CrowdinUrl)).AsTask(); } public void CopyAppVersion() @@ -106,7 +113,7 @@ public void CopyWindowsVersion() public Task SupportUs() { - return Launcher.LaunchUriAsync(new Uri(Constants.GitHub.SupportUsUrl)).AsTask(); + return Launcher.LaunchUriAsync(new Uri(Constants.ExternalUrl.SupportUsUrl)).AsTask(); } public async Task LoadThirdPartyNoticesAsync() diff --git a/src/Files.App/Views/Settings/AboutPage.xaml b/src/Files.App/Views/Settings/AboutPage.xaml index 8cfba9e7a5e7..20e8c7a3e6a4 100644 --- a/src/Files.App/Views/Settings/AboutPage.xaml +++ b/src/Files.App/Views/Settings/AboutPage.xaml @@ -90,6 +90,22 @@ Glyph="" /> + + + + + + + + +