frontend/app/composables/Instance.ts

40 lines
991 B
TypeScript
Raw Normal View History

import type { Client } from "@versia/client";
import type { Instance, TermsOfService } from "@versia/client/schemas";
import type { z } from "zod";
export const useInstanceFromClient = (client: MaybeRef<Client>) => {
if (!client) {
return ref(null as z.infer<typeof Instance> | null);
}
const output = ref(null as z.infer<typeof Instance> | null);
watchEffect(() => {
toValue(client)
?.getInstance()
.then((res) => {
output.value = res.data;
});
});
return output;
};
export const useTos = (client: MaybeRef<Client>) => {
if (!client) {
return ref(null as z.infer<typeof TermsOfService> | null);
}
const output = ref(null as z.infer<typeof TermsOfService> | null);
watchEffect(() => {
toValue(client)
?.getInstanceTermsOfService()
.then((res) => {
output.value = res.data;
});
});
return output;
};