diff --git a/resources/components/favourites/save.html b/resources/components/favourites/save.html index 3f223e3..544dc83 100644 --- a/resources/components/favourites/save.html +++ b/resources/components/favourites/save.html @@ -6,7 +6,7 @@ :class="{ 'is-invalid': errors.name.length > 0 }" id="favourite_add_name" v-model="name" v-autofocus/>

{{ error }}

diff --git a/resources/components/ui/icon.html b/resources/components/ui/icon.html index 4fd3d67..f9f2d25 100644 --- a/resources/components/ui/icon.html +++ b/resources/components/ui/icon.html @@ -1,4 +1,4 @@ - + diff --git a/resources/ts/components/ui/icon.ts b/resources/ts/components/ui/icon.ts index 0fe37c1..419db53 100644 --- a/resources/ts/components/ui/icon.ts +++ b/resources/ts/components/ui/icon.ts @@ -15,7 +15,7 @@ import { faInfoCircle, faMapMarkerAlt, faMoon, - faQuestionCircle, + faQuestionCircle, faQuestionSquare, faSearch, faSign, faStar, @@ -60,6 +60,7 @@ const messageTypeIcons: Dictionary = { const definitions: Dictionary = { 'favourite': simple(faStar), + 'unknown': simple(faQuestionSquare), 'add': simple(faCheck), 'add-all': simple(faCheckDouble), 'remove-stop': simple(faTimes), @@ -113,14 +114,20 @@ export class UiIcon extends Vue { validator: value => typeof value === "object" || Object.keys(definitions).includes(value), required: true, }) - icon: keyof typeof definitions; + icon: string | IconDefinition; - get definition() { - return {...(typeof this.icon === "string" ? definitions[this.icon] : { icon: this.icon }), ...this.$attrs}; + get definition(): Icon { + return typeof this.icon === "string" + ? definitions[this.icon] || definitions['unknown'] + : { icon: this.icon as IconDefinition, type: "simple" }; + } + + get attrs() { + return { ...this.definition, ...this.$attrs }; } get type() { - return definitions[this.icon].type; + return this.definition.type; } }