2024-06-08 01:09:15 +02:00
|
|
|
import type { LysandClient } from "@lysand-org/client";
|
2024-04-22 09:38:51 +02:00
|
|
|
|
2024-06-08 01:09:15 +02:00
|
|
|
// Return type of LysandClient.getInstance
|
|
|
|
|
export type Instance = Awaited<ReturnType<LysandClient["getInstance"]>>["data"];
|
2024-06-16 08:34:35 +02:00
|
|
|
export type ExtendedDescription = Awaited<
|
|
|
|
|
ReturnType<LysandClient["getInstanceExtendedDescription"]>
|
|
|
|
|
>["data"];
|
2024-04-27 03:28:12 +02:00
|
|
|
|
2024-05-17 08:25:59 +02:00
|
|
|
export const useInstance = () => {
|
2024-06-15 23:18:58 +02:00
|
|
|
const identity = useCurrentIdentity();
|
2024-04-22 09:38:51 +02:00
|
|
|
|
2024-06-15 23:18:58 +02:00
|
|
|
return computed(() => identity.value?.instance);
|
2024-04-22 09:38:51 +02:00
|
|
|
};
|
2024-06-16 08:34:35 +02:00
|
|
|
|
|
|
|
|
export const useInstanceFromClient = (client: MaybeRef<LysandClient>) => {
|
|
|
|
|
if (!client) {
|
|
|
|
|
return ref(null as Instance | null);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const output = ref(null as Instance | null);
|
|
|
|
|
|
|
|
|
|
watchEffect(() => {
|
|
|
|
|
toValue(client)
|
|
|
|
|
?.getInstance()
|
|
|
|
|
.then((res) => {
|
|
|
|
|
output.value = res.data;
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const useTos = (client: MaybeRef<LysandClient>) => {
|
|
|
|
|
if (!client) {
|
|
|
|
|
return ref(null as ExtendedDescription | null);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const output = ref(null as ExtendedDescription | null);
|
|
|
|
|
|
|
|
|
|
watchEffect(() => {
|
|
|
|
|
toValue(client)
|
|
|
|
|
?.getInstanceTermsOfService()
|
|
|
|
|
.then((res) => {
|
|
|
|
|
output.value = res.data;
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return output;
|
|
|
|
|
};
|