Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion app/lib/directus.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ type DirectusCollection = {

const directus = createDirectus<DirectusCollection>(directusUrl).with(rest());

export function getDirectusClient(): DirectusClient<DirectusCollection> & RestClient<DirectusCollection> {
export function getDirectusClient(): DirectusClient<DirectusCollection> &
RestClient<DirectusCollection> {
return directus;
}
53 changes: 33 additions & 20 deletions app/routes/_index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,12 @@ import { readItems } from "@directus/sdk";
import { useMediaQuery } from "@mantine/hooks";
import { motion } from "framer-motion";
import { useTranslation } from "react-i18next";
import { type LoaderFunctionArgs, data, Link, useLoaderData } from "react-router";
import {
type LoaderFunctionArgs,
data,
Link,
useLoaderData,
} from "react-router";
import Footer from "~/components/landing/footer";
import { GlobeComponent } from "~/components/landing/globe.client";
import Header from "~/components/landing/header/header";
Expand All @@ -14,7 +19,7 @@ import PricingPlans from "~/components/landing/sections/pricing-plans";
import Stats from "~/components/landing/stats";
import { type supportedLanguages } from "~/i18next-options";
import i18next from "~/i18next.server";
import { type Partner, getDirectusClient } from "~/lib/directus";
import { type Partner, getDirectusClient } from "~/lib/directus";
import { getLatestDevices } from "~/models/device.server";
import { getUserId, getUserName } from "~/utils/session.server";

Expand Down Expand Up @@ -46,26 +51,34 @@ const sections = [
];

export const loader = async ({ request }: LoaderFunctionArgs) => {
const locale = await i18next.getLocale(request) as typeof supportedLanguages[number];
const locale = (await i18next.getLocale(
request,
)) as (typeof supportedLanguages)[number];
const directus = getDirectusClient();

const useCasesResponse = await directus.request(readItems("use_cases", {
fields: ["*"],
filter: {
language: {_eq: locale },
},
}));
const useCasesResponse = await directus.request(
readItems("use_cases", {
fields: ["*"],
filter: {
language: { _eq: locale },
},
}),
);

const featuresResponse = await directus.request(readItems("features", {
fields: ["*"],
filter: {
language: {_eq: locale },
},
}));
const featuresResponse = await directus.request(
readItems("features", {
fields: ["*"],
filter: {
language: { _eq: locale },
},
}),
);

const partnersResponse = await directus.request(readItems("partners", {
fields: ["*"],
}));
const partnersResponse = await directus.request(
readItems("partners", {
fields: ["*"],
}),
);

//* Get user Id from session
const userId = await getUserId(request);
Expand Down Expand Up @@ -106,7 +119,7 @@ export default function Index() {
className="h-screen bg-white dark:bg-black"
style={{
scrollSnapType: "y mandatory",
overflowY: "auto"
overflowY: "auto",
}}
>
<header className="z-10">
Expand Down Expand Up @@ -196,7 +209,7 @@ export default function Index() {
</div>
{isDesktop && (
<div className="w-1/3 cursor-pointer">
<GlobeComponent latestDevices={latestDevices}/>
<GlobeComponent latestDevices={latestDevices} />
</div>
)}
</div>
Expand Down
10 changes: 5 additions & 5 deletions app/routes/settings.profile.photo.tsx
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
import { conform, useForm } from "@conform-to/react";
import { getFieldsetConstraint, parse } from "@conform-to/zod";
import { type FileUpload, parseFormData } from '@mjackson/form-data-parser'
import { type FileUpload, parseFormData } from "@mjackson/form-data-parser";
import { eq } from "drizzle-orm";
import { useState } from "react";
import {
import {
type LoaderFunctionArgs,
type ActionFunctionArgs,
data,
redirect,
Form,
useActionData,
useLoaderData,
useNavigate
useNavigate,
} from "react-router";
import { z } from "zod";
import ErrorMessage from "~/components/error-message";
Expand Down Expand Up @@ -69,9 +69,9 @@ export async function action({ request }: ActionFunctionArgs) {
const userId = await requireUserId(request);
const formData = await parseFormData(
request,
async (file: FileUpload) => uploadHandler(file),
{ maxFileSize: MAX_SIZE },
)
async (file: FileUpload) => uploadHandler(file),
);

const submission = parse(formData, { schema: PhotoFormSchema });

Expand Down
Loading
Loading