/// <summary>
        /// Check whether the showdown text is supposed to be loaded via a text file. If so, set the clipboard to its contents.
        /// </summary>
        /// <returns>output boolean that tells if the data provided is valid or not</returns>
        private static string?GetTextShowdownData()
        {
            bool skipClipboardCheck = (Control.ModifierKeys & Keys.Shift) == Keys.Shift;

            if (!skipClipboardCheck && Clipboard.ContainsText())
            {
                var txt = Clipboard.GetText();
                if (ShowdownUtil.IsTextShowdownData(txt))
                {
                    return(txt);
                }
            }

            if (!WinFormsUtil.OpenSAVPKMDialog(new[] { "txt" }, out var path))
            {
                WinFormsUtil.Alert("No data provided.");
                return(null);
            }

            var text = File.ReadAllText(path).TrimEnd();

            if (ShowdownUtil.IsTextShowdownData(text))
            {
                return(text);
            }

            WinFormsUtil.Alert("Text file with invalid data provided. Please provide a text file with proper Showdown data");
            return(null);
        }
        private static void Export()
        {
            if (!WinFormsUtil.OpenSAVPKMDialog(new[] { ".bnk" }, out var path))
            {
                return;
            }

            var bank = File.ReadAllBytes(path !);

            using var fbd = new FolderBrowserDialog();
            if (fbd.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            var count = PKSMUtil.ExportBank(bank, fbd.SelectedPath, out var previews);

            PKMPreview.ExportCSV(previews, fbd.SelectedPath);
            WinFormsUtil.Alert("Bank Exported!", $"Dumped {count} Pokémon!");
        }