Use composition API for more components, enable more type checking (#914)

* Activate more linting rules from eslint and typescript

* Properly add VForm as type information

* Fix usage of native types

* Fix more linting issues

* Rename vuetify types file, add VTooltip

* Fix some more typing problems

* Use composition API for more components

* Convert RecipeRating

* Convert RecipeNutrition

* Convert more components to composition API

* Fix globals plugin for type checking

* Add missing icon types

* Fix vuetify types in Nuxt context

* Use composition API for RecipeActionMenu

* Convert error.vue to composition API

* Convert RecipeContextMenu to composition API

* Use more composition API and type checking in recipe/create

* Convert AppButtonUpload to composition API

* Fix some type checking in RecipeContextMenu

* Remove unused components BaseAutoForm and BaseColorPicker

* Convert RecipeCategoryTagDialog to composition API

* Convert RecipeCardSection to composition API

* Convert RecipeCategoryTagSelector to composition API

* Properly import vuetify type definitions

* Convert BaseButton to composition API

* Convert AutoForm to composition API

* Remove unused requests API file

* Remove static routes from recipe API

* Fix more type errors

* Convert AppHeader to composition API, fixing some search bar focus problems

* Convert RecipeDialogSearch to composition API

* Update API types from pydantic models, handle undefined values

* Improve more typing problems

* Add types to other plugins

* Properly type the CRUD API access

* Fix typing of static image routes

* Fix more typing stuff

* Fix some more typing problems

* Turn off more rules
This commit is contained in:
Philipp Fischbeck 2022-01-09 07:15:23 +01:00 committed by GitHub
parent d5ab5ec66f
commit 86c99b10a2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
114 changed files with 2218 additions and 2033 deletions

View file

@ -38,7 +38,7 @@
</template>
</v-data-table>
</template>
<script lang="ts">
import { computed, defineComponent, onMounted, ref } from "@nuxtjs/composition-api";
import RecipeChip from "./RecipeChips.vue";
@ -49,13 +49,13 @@ import { UserOut } from "~/types/api-types/user";
const INPUT_EVENT = "input";
interface ShowHeaders {
id: Boolean;
owner: Boolean;
tags: Boolean;
categories: Boolean;
tools: Boolean;
recipeYield: Boolean;
dateAdded: Boolean;
id: boolean;
owner: boolean;
tags: boolean;
categories: boolean;
tools: boolean;
recipeYield: boolean;
dateAdded: boolean;
}
export default defineComponent({
@ -129,7 +129,7 @@ export default defineComponent({
// ============
// Group Members
const api = useUserApi();
const members = ref<UserOut[] | null[]>([]);
const members = ref<UserOut[]>([]);
async function refreshMembers() {
const { data } = await api.groups.fetchMembers();
@ -142,10 +142,9 @@ export default defineComponent({
refreshMembers();
});
function getMember(id: number) {
function getMember(id: string) {
if (members.value[0]) {
// @ts-ignore
return members.value.find((m) => m.id === id).username;
return members.value.find((m) => m.id === id)?.username;
}
return "None";
@ -165,4 +164,4 @@ export default defineComponent({
},
},
});
</script>
</script>