component Editor(url string, score int, scoreTitle string, scoreTypes map[string]int, user *arn.User)
	EditorTabs(url, user)
	h1.mountable= "Welcome to the Editor Panel, " + user.Nick + "!"

	.feature-cards
		.feature-card.mountable(title=scoreTitle)
			.feature-card-icon.editor-score= score
			p.feature-card-text Your contribution score.
	
	//- .footer
	//- 	for objectType, score := range scoreTypes
	//- 		.mountable
	//- 			span= objectType + ": "
	//- 			span= score
	
	//- .feature-cards.feature-cards-alternative-color
	//- 	for objectType, score := range scoreTypes
	//- 		.feature-card.mountable
	//- 			.feature-card-icon.editor-score= score
	//- 			p.feature-card-text= objectType

component EditorTabs(url string, user *arn.User)
	.tabs
		Tab("Editor", "pencil", "/editor")
		Tab("MAL", "exchange", "/editor/mal/diff/anime" + user.Settings().Editor.Filter.Suffix())
		Tab("Anime", "tv", "/editor/anime/mapping/mal" + user.Settings().Editor.Filter.Suffix())
		Tab("Tracks", "music", "/editor/soundtracks/links")
		Tab("Companies", "building", "/editor/companies/description")
		Tab("Kitsu", "download", "/editor/kitsu/new/anime")
	
	if strings.Contains(url, "/editor/anime/")
		.tabs
			Tab("Mappings", "arrows-h", "/editor/anime/mapping/mal" + user.Settings().Editor.Filter.Suffix())
			Tab("Images", "image", "/editor/anime/image/lowres" + user.Settings().Editor.Filter.Suffix())
			Tab("Companies", "building", "/editor/anime/companies/studios" + user.Settings().Editor.Filter.Suffix())
			Tab("Details", "search-plus", "/editor/anime/details/genres" + user.Settings().Editor.Filter.Suffix())
			Tab("TBA", "question-circle", "/editor/anime/tba" + user.Settings().Editor.Filter.Suffix())
	
	if strings.Contains(url, "/editor/anime/details")
		.tabs
			Tab("Genres", "clone", "/editor/anime/details/genres" + user.Settings().Editor.Filter.Suffix())
			Tab("Synopsis", "align-left", "/editor/anime/details/synopsis" + user.Settings().Editor.Filter.Suffix())
			Tab("Start date", "calendar", "/editor/anime/details/startdate" + user.Settings().Editor.Filter.Suffix())
			Tab("Ep. Length", "clock-o", "/editor/anime/details/episodelength" + user.Settings().Editor.Filter.Suffix())
			Tab("Source", "book", "/editor/anime/details/source" + user.Settings().Editor.Filter.Suffix())
	
	if strings.Contains(url, "/editor/anime/companies")
		.tabs
			Tab("Studios", "building", "/editor/anime/companies/studios" + user.Settings().Editor.Filter.Suffix())
			Tab("Producers", "building", "/editor/anime/companies/producers" + user.Settings().Editor.Filter.Suffix())
			Tab("Licensors", "building", "/editor/anime/companies/licensors" + user.Settings().Editor.Filter.Suffix())

	if strings.Contains(url, "/editor/anime/mapping/")
		.tabs
			Tab("MAL", "arrows-h", "/editor/anime/mapping/mal" + user.Settings().Editor.Filter.Suffix())
			Tab("Shoboi", "arrows-h", "/editor/anime/mapping/shoboi" + user.Settings().Editor.Filter.Suffix())
			Tab("AniList", "arrows-h", "/editor/anime/mapping/anilist" + user.Settings().Editor.Filter.Suffix())
			Tab("Duplicate", "exclamation-circle", "/editor/anime/mapping/duplicate" + user.Settings().Editor.Filter.Suffix())

	if strings.Contains(url, "/editor/anime/image/")
		.tabs
			Tab("Low-Res", "image", "/editor/anime/image/lowres" + user.Settings().Editor.Filter.Suffix())
			Tab("Ultra Low-Res", "image", "/editor/anime/image/ultralowres" + user.Settings().Editor.Filter.Suffix())
	
	if strings.Contains(url, "/editor/anime/") || strings.Contains(url, "/editor/mal/diff/anime")
		.corner-buttons.fixed
			#filter-root(data-url=url)
			ExploreFilters(user.Settings().Editor.Filter.Year, user.Settings().Editor.Filter.Status, user.Settings().Editor.Filter.Type, true)