using System.ComponentModel;

namespace EliteBGS.Util {
    public class AppConfig : INotifyPropertyChanged {
        private static readonly string default_journal_location = "%UserProfile%\\Saved Games\\Frontier Developments\\Elite Dangerous";
        private string journal_location = default_journal_location;
        private string lastdiscordlog;

        public string DefaultJournalLocation => default_journal_location;

        public string LastUsedDiscordTemplate {
            get => lastdiscordlog;
            set {
                lastdiscordlog = value;
                FirePropertyChanged("LastUsedDiscordTemplate");
            }
        }

        public string JournalLocation {
            get {
                if (journal_location == null) {
                    return DefaultJournalLocation;
                }
                return journal_location;
            }
            set {
                journal_location = value;
                FirePropertyChanged("JournalLocation");
            }
        }

        private void FirePropertyChanged(string property) {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(property));
        }

        public event PropertyChangedEventHandler PropertyChanged;
    }
}
