55 lines
1.3 KiB
TypeScript
55 lines
1.3 KiB
TypeScript
import { readSingleton } from '@directus/sdk';
|
|
|
|
export const useHomepage = () => {
|
|
const { $directus } = useNuxtApp();
|
|
const { getDirectusLocale } = useLocalizations();
|
|
const locale = getDirectusLocale();
|
|
|
|
return useAsyncData(`homepage-${locale}`, async () => {
|
|
return await $directus.request(
|
|
readSingleton('homepage', {
|
|
fields: [
|
|
'id',
|
|
{
|
|
carousel: ['id', 'directus_files_id'],
|
|
},
|
|
{
|
|
recommend_products: [
|
|
'id',
|
|
{
|
|
translations: ['id', 'name', 'summary'],
|
|
},
|
|
'cover',
|
|
],
|
|
},
|
|
{
|
|
recommend_solutions: [
|
|
'id',
|
|
{
|
|
translations: ['id', 'title', 'summary'],
|
|
},
|
|
'cover',
|
|
],
|
|
},
|
|
],
|
|
deep: {
|
|
recommend_products: {
|
|
translations: {
|
|
_filter: {
|
|
languages_code: { _eq: locale },
|
|
},
|
|
},
|
|
},
|
|
recommend_solutions: {
|
|
translations: {
|
|
_filter: {
|
|
languages_code: { _eq: locale },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
})
|
|
);
|
|
});
|
|
};
|