using System.ComponentModel;
using System.Runtime.CompilerServices;

namespace AxCopilot.ViewModels;

public class AppShortcutModel : INotifyPropertyChanged
{
	private string _key = "";

	private string _description = "";

	private string _target = "";

	private string _type = "app";

	public string Key
	{
		get
		{
			return _key;
		}
		set
		{
			_key = value;
			OnPropertyChanged("Key");
		}
	}

	public string Description
	{
		get
		{
			return _description;
		}
		set
		{
			_description = value;
			OnPropertyChanged("Description");
		}
	}

	public string Target
	{
		get
		{
			return _target;
		}
		set
		{
			_target = value;
			OnPropertyChanged("Target");
		}
	}

	public string Type
	{
		get
		{
			return _type;
		}
		set
		{
			_type = value;
			OnPropertyChanged("Type");
			OnPropertyChanged("TypeSymbol");
			OnPropertyChanged("TypeLabel");
		}
	}

	public string TypeSymbol
	{
		get
		{
			string type = Type;
			if (1 == 0)
			{
			}
			string result = ((type == "url") ? "\ue774" : ((!(type == "folder")) ? "\uecaa" : "\ue8b7"));
			if (1 == 0)
			{
			}
			return result;
		}
	}

	public string TypeLabel
	{
		get
		{
			string type = Type;
			if (1 == 0)
			{
			}
			string result = ((type == "url") ? "URL" : ((!(type == "folder")) ? "앱" : "폴더"));
			if (1 == 0)
			{
			}
			return result;
		}
	}

	public event PropertyChangedEventHandler? PropertyChanged;

	protected void OnPropertyChanged([CallerMemberName] string? n = null)
	{
		this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(n));
	}
}
