1
+ import { readItems } from "@directus/sdk" ;
1
2
import { useMediaQuery } from "@mantine/hooks" ;
2
3
import { motion } from "framer-motion" ;
3
4
import { useTranslation } from "react-i18next" ;
@@ -11,6 +12,7 @@ import Integrations from "~/components/landing/sections/integrations";
11
12
import Partners from "~/components/landing/sections/partners" ;
12
13
import PricingPlans from "~/components/landing/sections/pricing-plans" ;
13
14
import Stats from "~/components/landing/stats" ;
15
+ import { type supportedLanguages } from "~/i18next-options" ;
14
16
import i18next from "~/i18next.server" ;
15
17
import { type Partner , getDirectusClient } from "~/lib/directus" ;
16
18
import { getLatestDevices } from "~/models/device.server" ;
@@ -44,26 +46,26 @@ const sections = [
44
46
] ;
45
47
46
48
export const loader = async ( { request } : LoaderFunctionArgs ) => {
47
- let locale = await i18next . getLocale ( request ) ;
48
- const directus = await getDirectusClient ( ) ;
49
+ const locale = await i18next . getLocale ( request ) as typeof supportedLanguages [ number ] ;
50
+ const directus = getDirectusClient ( ) ;
49
51
50
- const useCasesResponse = await directus . items ( "use_cases" ) . readByQuery ( {
52
+ const useCasesResponse = await directus . request ( readItems ( "use_cases" , {
51
53
fields : [ "*" ] ,
52
54
filter : {
53
- language : locale ,
55
+ language : { _eq : locale } ,
54
56
} ,
55
- } ) ;
57
+ } ) ) ;
56
58
57
- const featuresResponse = await directus . items ( "features" ) . readByQuery ( {
59
+ const featuresResponse = await directus . request ( readItems ( "features" , {
58
60
fields : [ "*" ] ,
59
61
filter : {
60
- language : locale ,
62
+ language : { _eq : locale } ,
61
63
} ,
62
- } ) ;
64
+ } ) ) ;
63
65
64
- const partnersResponse = await directus . items ( "partners" ) . readByQuery ( {
66
+ const partnersResponse = await directus . request ( readItems ( "partners" , {
65
67
fields : [ "*" ] ,
66
- } ) ;
68
+ } ) ) ;
67
69
68
70
//* Get user Id from session
69
71
const userId = await getUserId ( request ) ;
@@ -78,9 +80,9 @@ export const loader = async ({ request }: LoaderFunctionArgs) => {
78
80
const latestDevices = await getLatestDevices ( ) ;
79
81
80
82
return data ( {
81
- useCases : useCasesResponse . data ,
82
- features : featuresResponse . data ,
83
- partners : partnersResponse . data ,
83
+ useCases : useCasesResponse ,
84
+ features : featuresResponse ,
85
+ partners : partnersResponse ,
84
86
stats : stats ,
85
87
header : { userId : userId , userName : userName } ,
86
88
locale : locale ,
0 commit comments