import { defineMessages } from '@vintl/vintl'

export const commonMessages = defineMessages({
	analyticsButton: {
		id: 'button.analytics',
		defaultMessage: 'Analytics',
	},
	betaRelease: {
		id: 'badge.beta-release',
		defaultMessage: 'Beta Release',
	},
	allProjectType: {
		id: 'project-type.all',
		defaultMessage: 'All',
	},
	backButton: {
		id: 'button.back',
		defaultMessage: 'Back',
	},
	cancelButton: {
		id: 'button.cancel',
		defaultMessage: 'Cancel',
	},
	changesSavedLabel: {
		id: 'label.changes-saved',
		defaultMessage: 'Changes saved',
	},
	collectionsLabel: {
		id: 'label.collections',
		defaultMessage: 'Collections',
	},
	continueButton: {
		id: 'button.continue',
		defaultMessage: 'Continue',
	},
	copyIdButton: {
		id: 'button.copy-id',
		defaultMessage: 'Copy ID',
	},
	copyPermalinkButton: {
		id: 'button.copy-permalink',
		defaultMessage: 'Copy permanent link',
	},
	createAProjectButton: {
		id: 'button.create-a-project',
		defaultMessage: 'Create a project',
	},
	createdAgoLabel: {
		id: 'label.created-ago',
		defaultMessage: 'Created {ago}',
	},
	dashboardLabel: {
		id: 'label.dashboard',
		defaultMessage: 'Dashboard',
	},
	dateAtTimeTooltip: {
		id: 'tooltip.date-at-time',
		defaultMessage: '{date, date, long} at {time, time, short}',
	},
	deleteLabel: {
		id: 'label.delete',
		defaultMessage: 'Delete',
	},
	descriptionLabel: {
		id: 'label.description',
		defaultMessage: 'Description',
	},
	downloadButton: {
		id: 'button.download',
		defaultMessage: 'Download',
	},
	downloadingButton: {
		id: 'button.downloading',
		defaultMessage: 'Downloading',
	},
	editButton: {
		id: 'button.edit',
		defaultMessage: 'Edit',
	},
	errorLabel: {
		id: 'label.error',
		defaultMessage: 'Error',
	},
	errorNotificationTitle: {
		id: 'notification.error.title',
		defaultMessage: 'An error occurred',
	},
	followButton: {
		id: 'button.follow',
		defaultMessage: 'Follow',
	},
	followedProjectsLabel: {
		id: 'label.followed-projects',
		defaultMessage: 'Followed projects',
	},
	galleryInputView: {
		id: 'input.view.gallery',
		defaultMessage: 'Gallery view',
	},
	gridInputView: {
		id: 'input.view.grid',
		defaultMessage: 'Grid view',
	},
	listInputView: {
		id: 'input.view.list',
		defaultMessage: 'Rows view',
	},
	loadingLabel: {
		id: 'label.loading',
		defaultMessage: 'Loading...',
	},
	moderationLabel: {
		id: 'label.moderation',
		defaultMessage: 'Moderation',
	},
	moreOptionsButton: {
		id: 'button.more-options',
		defaultMessage: 'More options',
	},
	newBadge: {
		id: 'badge.new',
		defaultMessage: 'New',
	},
	nextButton: {
		id: 'button.next',
		defaultMessage: 'Next',
	},
	notificationsLabel: {
		id: 'label.notifications',
		defaultMessage: 'Notifications',
	},
	openFolderButton: {
		id: 'button.open-folder',
		defaultMessage: 'Open folder',
	},
	orLabel: {
		id: 'label.or',
		defaultMessage: 'or',
	},
	passwordLabel: {
		id: 'label.password',
		defaultMessage: 'Password',
	},
	paymentMethodCardDisplay: {
		id: 'omorphia.component.purchase_modal.payment_method_card_display',
		defaultMessage: '{card_brand} ending in {last_four}',
	},
	playButton: {
		id: 'button.play',
		defaultMessage: 'Play',
	},
	playedLabel: {
		id: 'label.played',
		defaultMessage: 'Played {time}',
	},
	privateLabel: {
		id: 'collection.label.private',
		defaultMessage: 'Private',
	},
	publicLabel: {
		id: 'label.public',
		defaultMessage: 'Public',
	},
	refreshButton: {
		id: 'button.refresh',
		defaultMessage: 'Refresh',
	},
	rejectedLabel: {
		id: 'label.rejected',
		defaultMessage: 'Rejected',
	},
	removeButton: {
		id: 'button.remove',
		defaultMessage: 'Remove',
	},
	removeImageButton: {
		id: 'button.remove-image',
		defaultMessage: 'Remove image',
	},
	reportButton: {
		id: 'button.report',
		defaultMessage: 'Report',
	},
	resetButton: {
		id: 'button.reset',
		defaultMessage: 'Reset',
	},
	saveButton: {
		id: 'button.save',
		defaultMessage: 'Save',
	},
	saveChangesButton: {
		id: 'button.save-changes',
		defaultMessage: 'Save changes',
	},
	savedLabel: {
		id: 'label.saved',
		defaultMessage: 'Saved',
	},
	savingButton: {
		id: 'button.saving',
		defaultMessage: 'Saving',
	},
	scopesLabel: {
		id: 'label.scopes',
		defaultMessage: 'Scopes',
	},
	searchPlaceholder: {
		id: 'input.search.placeholder',
		defaultMessage: 'Search...',
	},
	serverLabel: {
		id: 'label.server',
		defaultMessage: 'Server',
	},
	serversLabel: {
		id: 'label.servers',
		defaultMessage: 'Servers',
	},
	settingsLabel: {
		id: 'label.settings',
		defaultMessage: 'Settings',
	},
	signInButton: {
		id: 'button.sign-in',
		defaultMessage: 'Sign in',
	},
	signOutButton: {
		id: 'button.sign-out',
		defaultMessage: 'Sign out',
	},
	signUpButton: {
		id: 'button.sign-up',
		defaultMessage: 'Sign up',
	},
	singleplayerLabel: {
		id: 'label.singleplayer',
		defaultMessage: 'Singleplayer',
	},
	stopButton: {
		id: 'button.stop',
		defaultMessage: 'Stop',
	},
	titleLabel: {
		id: 'label.title',
		defaultMessage: 'Title',
	},
	unfollowButton: {
		id: 'button.unfollow',
		defaultMessage: 'Unfollow',
	},
	unlistedLabel: {
		id: 'label.unlisted',
		defaultMessage: 'Unlisted',
	},
	uploadImageButton: {
		id: 'button.upload-image',
		defaultMessage: 'Upload image',
	},
	visibilityLabel: {
		id: 'label.visibility',
		defaultMessage: 'Visibility',
	},
	visitYourProfile: {
		id: 'label.visit-your-profile',
		defaultMessage: 'Visit your profile',
	},
})

export const commonSettingsMessages = defineMessages({
	account: {
		id: 'settings.account.title',
		defaultMessage: 'Account and security',
	},
	appearance: {
		id: 'settings.appearance.title',
		defaultMessage: 'Appearance',
	},
	applications: {
		id: 'settings.applications.title',
		defaultMessage: 'Your applications',
	},
	authorizedApps: {
		id: 'settings.authorized-apps.title',
		defaultMessage: 'Authorized apps',
	},
	billing: {
		id: 'settings.billing.title',
		defaultMessage: 'Billing and subscriptions',
	},
	language: {
		id: 'settings.language.title',
		defaultMessage: 'Language',
	},
	pats: {
		id: 'settings.pats.title',
		defaultMessage: 'Personal access tokens',
	},
	profile: {
		id: 'settings.profile.title',
		defaultMessage: 'Public profile',
	},
	sessions: {
		id: 'settings.sessions.title',
		defaultMessage: 'Sessions',
	},
})

export const commonProjectSettingsMessages = defineMessages({
	analytics: {
		id: 'project.settings.analytics.title',
		defaultMessage: 'Analytics',
	},
	description: {
		id: 'project.settings.description.title',
		defaultMessage: 'Description',
	},
	environment: {
		id: 'project.settings.environment.title',
		defaultMessage: 'Environment',
	},
	gallery: {
		id: 'project.settings.gallery.title',
		defaultMessage: 'Gallery',
	},
	general: {
		id: 'project.settings.general.title',
		defaultMessage: 'General',
	},
	license: {
		id: 'project.settings.license.title',
		defaultMessage: 'License',
	},
	links: {
		id: 'project.settings.links.title',
		defaultMessage: 'Links',
	},
	members: {
		id: 'project.settings.members.title',
		defaultMessage: 'Members',
	},
	noPermissionDescription: {
		id: 'project.settings.notice.no-permission.description',
		defaultMessage: `You don't have permission to edit this.`,
	},
	noPermissionTitle: {
		id: 'project.settings.notice.no-permission.title',
		defaultMessage: 'No permission',
	},
	tags: {
		id: 'project.settings.tags.title',
		defaultMessage: 'Tags',
	},
	upload: {
		id: 'project.settings.upload.title',
		defaultMessage: 'Upload',
	},
	versions: {
		id: 'project.settings.versions.title',
		defaultMessage: 'Versions',
	},
	view: {
		id: 'project.settings.view.title',
		defaultMessage: 'View',
	},
})

export const paymentMethodMessages = defineMessages({
	amazon_pay: {
		id: 'omorphia.component.purchase_modal.payment_method_type.amazon_pay',
		defaultMessage: 'Amazon Pay',
	},
	amex: {
		id: 'omorphia.component.purchase_modal.payment_method_type.amex',
		defaultMessage: 'American Express',
	},
	cashapp: {
		id: 'omorphia.component.purchase_modal.payment_method_type.cashapp',
		defaultMessage: 'Cash App',
	},
	diners: {
		id: 'omorphia.component.purchase_modal.payment_method_type.diners',
		defaultMessage: 'Diners Club',
	},
	discover: {
		id: 'omorphia.component.purchase_modal.payment_method_type.discover',
		defaultMessage: 'Discover',
	},
	eftpos: {
		id: 'omorphia.component.purchase_modal.payment_method_type.eftpos',
		defaultMessage: 'EFTPOS',
	},
	jcb: {
		id: 'omorphia.component.purchase_modal.payment_method_type.jcb',
		defaultMessage: 'JCB',
	},
	mastercard: {
		id: 'omorphia.component.purchase_modal.payment_method_type.mastercard',
		defaultMessage: 'MasterCard',
	},
	paypal: {
		id: 'omorphia.component.purchase_modal.payment_method_type.paypal',
		defaultMessage: 'PayPal',
	},
	unionpay: {
		id: 'omorphia.component.purchase_modal.payment_method_type.unionpay',
		defaultMessage: 'UnionPay',
	},
	unknown: {
		id: 'omorphia.component.purchase_modal.payment_method_type.unknown',
		defaultMessage: 'Unknown payment method',
	},
	visa: {
		id: 'omorphia.component.purchase_modal.payment_method_type.visa',
		defaultMessage: 'Visa',
	},
})
