1
0
Fork 0
mirror of https://github.com/mealie-recipes/mealie.git synced 2025-08-05 13:35:23 +02:00

Fix more typing issues (#928)

* Fix or comment several ts-ignores

* Fix typing related to BaseOverflowButton

* Remove unused functionality of useCookbooks, fix usage bug

* Fix more typing, add some comments

* Only allow ts-ignore if it has a comment
This commit is contained in:
Philipp Fischbeck 2022-01-16 03:38:11 +01:00 committed by GitHub
parent c4540f1395
commit f794208862
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
45 changed files with 126 additions and 249 deletions

View file

@ -27,11 +27,9 @@
import { defineComponent, useRoute, onMounted, ref } from "@nuxtjs/composition-api";
import GroupPreferencesEditor from "~/components/Domain/Group/GroupPreferencesEditor.vue";
import { useAdminApi } from "~/composables/api";
import { useGroups } from "~/composables/use-groups";
import { alert } from "~/composables/use-toast";
import { useUserForm } from "~/composables/use-users";
import { validators } from "~/composables/use-validators";
import { VForm } from "~/types/vuetify";
import { GroupRead } from "~/api/admin/admin-groups";
export default defineComponent({
components: {
@ -39,8 +37,6 @@ export default defineComponent({
},
layout: "admin",
setup() {
const { userForm } = useUserForm();
const { groups } = useGroups();
const route = useRoute();
const groupId = route.value.params.id;
@ -52,7 +48,7 @@ export default defineComponent({
const adminApi = useAdminApi();
const group = ref({});
const group = ref<GroupRead | null>(null);
const userError = ref(false);
@ -65,20 +61,17 @@ export default defineComponent({
}
if (data) {
// @ts-ignore
group.value = data;
}
});
async function handleSubmit() {
if (!refGroupEditForm.value?.validate()) {
if (!refGroupEditForm.value?.validate() || group.value === null) {
return;
}
// @ts-ignore
const { response, data } = await adminApi.groups.updateOne(group.value.id, group.value);
if (response?.status === 200 && data) {
// @ts-ignore
group.value = data;
}
}
@ -86,11 +79,8 @@ export default defineComponent({
return {
group,
userError,
userForm,
refGroupEditForm,
handleSubmit,
groups,
validators,
};
},
});

View file

@ -45,6 +45,7 @@ import { alert } from "~/composables/use-toast";
import { useUserForm } from "~/composables/use-users";
import { validators } from "~/composables/use-validators";
import { VForm } from "~/types/vuetify";
import { UserOut } from "~/types/api-types/user";
export default defineComponent({
layout: "admin",
@ -62,19 +63,7 @@ export default defineComponent({
const adminApi = useAdminApi();
const user = ref({
username: "",
fullName: "",
email: "",
admin: false,
group: "",
advanced: false,
canInvite: false,
canManage: false,
canOrganize: false,
id: 0,
groupId: 0,
});
const user = ref<UserOut | null>(null);
const userError = ref(false);
@ -87,19 +76,16 @@ export default defineComponent({
}
if (data) {
// @ts-ignore
user.value = data;
}
});
async function handleSubmit() {
if (!refNewUserForm.value?.validate()) return;
if (!refNewUserForm.value?.validate() || user.value === null) return;
// @ts-ignore
const { response, data } = await adminApi.users.updateOne(user.value.id, user.value);
if (response?.status === 200 && data) {
// @ts-ignore
user.value = data;
}
}

View file

@ -71,6 +71,8 @@ import { defineComponent, reactive, ref, toRefs } from "@nuxtjs/composition-api"
import { Confidence, Parser } from "~/api/class-interfaces/recipes/types";
import { useUserApi } from "~/composables/api";
type ConfidenceAttribute = "average" | "comment" | "name" | "unit" | "quantity" | "food";
export default defineComponent({
layout: "admin",
setup() {
@ -85,11 +87,12 @@ export default defineComponent({
const confidence = ref<Confidence>({});
function getColor(attribute: string) {
function getColor(attribute: ConfidenceAttribute) {
const percentage = getConfidence(attribute);
if (percentage === undefined)
return;
// @ts-ignore
const p_as_num = parseFloat(percentage?.replace("%", ""));
const p_as_num = parseFloat(percentage.replace("%", ""));
// Set color based off range
if (p_as_num > 75) {
@ -101,18 +104,16 @@ export default defineComponent({
}
}
function getConfidence(attribute: string) {
attribute = attribute.toLowerCase();
function getConfidence(attribute: ConfidenceAttribute) {
if (!confidence.value) {
return;
}
// @ts-ignore
const property: number = confidence.value[attribute];
if (property) {
const property = confidence.value[attribute];
if (property !== undefined) {
return `${(property * 100).toFixed(0)}%`;
}
return null;
return undefined;
}
const tryText = [
@ -150,18 +151,18 @@ export default defineComponent({
properties.unit.value = data.ingredient?.unit?.name || "";
properties.food.value = data.ingredient?.food?.name || "";
for (const property in properties) {
(["comment", "quantity", "unit", "food"] as ConfidenceAttribute[]).forEach(property => {
const color = getColor(property);
const confidence = getConfidence(property);
if (color) {
// @ts-ignore
// @ts-ignore See above
properties[property].color = color;
}
if (confidence) {
// @ts-ignore
// @ts-ignore See above
properties[property].confidence = confidence;
}
}
});
}
state.loading = false;
}
@ -169,7 +170,7 @@ export default defineComponent({
const properties = reactive({
quantity: {
subtitle: "Quantity",
value: "" as any,
value: "" as string | number,
color: null,
confidence: null,
},

View file

@ -86,7 +86,7 @@ import {
useAsync,
useContext,
} from "@nuxtjs/composition-api";
import { AdminAboutInfo, CheckAppConfig } from "~/api/admin/admin-about";
import { CheckAppConfig } from "~/api/admin/admin-about";
import { useAdminApi, useUserApi } from "~/composables/api";
import { validators } from "~/composables/use-validators";
import { useAsyncKey } from "~/composables/use-utils";
@ -96,6 +96,7 @@ interface SimpleCheck {
text: string;
successText: string;
errorText: string;
warning: boolean;
}
export default defineComponent({
@ -209,8 +210,7 @@ export default defineComponent({
const { $globals, i18n } = useContext();
// @ts-ignore
const rawAppInfo = ref<AdminAboutInfo>({
const rawAppInfo = ref({
version: "null",
versionLatest: "null",
});
@ -220,7 +220,8 @@ export default defineComponent({
const { data } = await adminApi.about.about();
if (data) {
rawAppInfo.value = data;
rawAppInfo.value.version = data.version;
rawAppInfo.value.versionLatest = data.versionLatest;
const prettyInfo = [
{