Skip to content

Commit

Permalink
replace legaldocumentquery with language param, to retrieve legal doc…
Browse files Browse the repository at this point in the history
…ument to spesific lang
  • Loading branch information
anemne committed Sep 26, 2024
1 parent e2602ab commit a57d06c
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 42 deletions.
6 changes: 3 additions & 3 deletions src/app/(main)/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { Navigation } from "studio/lib/interfaces/navigation";
import { SocialMediaProfiles } from "studio/lib/interfaces/socialMedia";
import { BRAND_ASSETS_QUERY } from "studio/lib/queries/brandAssets";
import { COMPANY_INFO_QUERY } from "studio/lib/queries/companyDetails";
import { LEGAL_DOCUMENTS_QUERY } from "studio/lib/queries/legalDocuments";
import { LEGAL_DOCUMENTS_BY_LANG_QUERY } from "studio/lib/queries/legalDocuments";
import { NAV_QUERY } from "studio/lib/queries/navigation";
import { SOMEPROFILES_QUERY } from "studio/lib/queries/socialMediaProfiles";
import { loadStudioQuery } from "studio/lib/store";
Expand Down Expand Up @@ -42,8 +42,8 @@ export default async function Layout({
{ perspective },
),
loadStudioQuery<LegalDocument[]>(
LEGAL_DOCUMENTS_QUERY,
{},
LEGAL_DOCUMENTS_BY_LANG_QUERY,
{ language: "en" }, //TODO: replace this with selected language for the page
{ perspective },
),
loadStudioQuery<BrandAssets>(BRAND_ASSETS_QUERY, {}, { perspective }),
Expand Down
7 changes: 4 additions & 3 deletions src/app/(main)/legal/[id]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import Legal from "src/blog/components/legal/Legal";
import LegalPreview from "src/blog/components/legal/LegalPreview";
import { getDraftModeInfo } from "src/utils/draftmode";
import { LegalDocument } from "studio/lib/interfaces/legalDocuments";
import { LEGAL_DOCUMENT_SLUG_QUERY } from "studio/lib/queries/legalDocuments";
import { LEGAL_DOCUMENTS_BY_SLUG_AND_LANG_QUERY } from "studio/lib/queries/legalDocuments";
import { loadStudioQuery } from "studio/lib/store";

export const dynamic = "force-dynamic";
Expand All @@ -20,8 +20,8 @@ async function Page({ params }: Props) {
const { perspective, isDraftMode } = getDraftModeInfo();

const initialDocument = await loadStudioQuery<LegalDocument>(
LEGAL_DOCUMENT_SLUG_QUERY,
{ slug: id },
LEGAL_DOCUMENTS_BY_SLUG_AND_LANG_QUERY,
{ slug: id, language: "en" }, //TODO: replace this with selected language for the page
{ perspective },
);

Expand All @@ -32,6 +32,7 @@ async function Page({ params }: Props) {
if (isDraftMode) {
return <LegalPreview initialDocument={initialDocument} />;
}

if (initialDocument) {
return <Legal document={initialDocument.data} />;
}
Expand Down
4 changes: 2 additions & 2 deletions src/components/navigation/footer/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ const Footer = ({
{legalData?.map((legal) => {
const path = `legal/${legal.slug.current}`;
const link = {
_key: legal._key,
_key: legal._id,
_type: legal._type,
linkTitle: legal.basicTitle,
linkType: LinkType.Internal,
Expand All @@ -63,7 +63,7 @@ const Footer = ({
},
};
return (
<li key={legal.slug.current}>
<li key={legal._id}>
<CustomLink link={link} type="footerLink" />
</li>
);
Expand Down
12 changes: 10 additions & 2 deletions studio/lib/interfaces/legalDocuments.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,17 @@ import { PortableTextBlock } from "sanity";
import { Slug } from "./global";

export interface LegalDocument {
_key: string;
_id: string;
_type: string;
basicTitle: string;
slug: Slug;
basicTitle: string;
richText: PortableTextBlock[];
_translations: Translations[];
}

interface Translations {
basicTitle: string;
language: string;
richText: PortableTextBlock[];
slug: Slug;
}
8 changes: 2 additions & 6 deletions studio/lib/queries/legalDocuments.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
import { groq } from "next-sanity";

export const LEGAL_DOCUMENTS_QUERY = groq`
*[_type == "legalDocuments"]
`;
export const LEGAL_DOCUMENTS_BY_LANG_QUERY = groq`*[_type == "legalDocument" && language == $language]`;

export const LEGAL_DOCUMENT_SLUG_QUERY = groq`
*[_type == "legalDocuments" && slug.current == $slug][0]
`;
export const LEGAL_DOCUMENTS_BY_SLUG_AND_LANG_QUERY = groq`*[_type == "legalDocument" && language == $language && slug.current == $slug][0]`;
35 changes: 9 additions & 26 deletions studio/studioConfig.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ import { apiVersion, dataset, projectId } from "./env";
import { schema } from "./schema";
import { legalDocumentID } from "./schemas/documents/admin/legalDocuments";

const SUPPORTED_LANGUAGES_QUERY = `*[_type == "languageSettings" && !(_id in path("drafts.*"))].languages[]{id, title}`;

const config: WorkspaceOptions = {
name: "studio",
title: "Studio",
Expand All @@ -22,29 +24,16 @@ const config: WorkspaceOptions = {
basePath: "/studio",
projectId,
dataset,
schema: {
...schema,
templates: (prev) => prev.filter((template) => !template.value.language),
},
schema,
plugins: [
structureTool({
structure: deskStructure,
}),
visionTool({ defaultApiVersion: apiVersion }),
documentInternationalization({
// When async initial value templates are supported by the plugin, we can fetch dynamic languages like:
// (client) => {
// return client.fetch(
// `*[_type == "languageSettings"].languages[]{id, title}`
// );
// }
// Currently, we have to use a static list of supported languages for both Norway and Sweden
// Limitation: Variant Norway and Varaint Sweden will not be able to filter out unsupported languages
supportedLanguages: [
{ id: "no", title: "Norwegian" },
{ id: "se", title: "Swedish" },
{ id: "en", title: "English" },
],
supportedLanguages: (client) => {
return client.fetch(SUPPORTED_LANGUAGES_QUERY);
},
schemaTypes: [legalDocumentID],
languageField: languageID,
apiVersion,
Expand All @@ -53,15 +42,9 @@ const config: WorkspaceOptions = {
// bulkPublish: true,
}),
internationalizedArray({
languages: [
{ id: "no", title: "Norwegian" },
{ id: "se", title: "Swedish" },
{ id: "en", title: "English" },
],
// languages: (client) =>
// client.fetch(
// `*[_type == "languageSettings"].languages[!default]{id, title}`
// ),
languages: (client) => {
return client.fetch(SUPPORTED_LANGUAGES_QUERY);
},
fieldTypes: ["string"],
}),
presentationTool({
Expand Down

0 comments on commit a57d06c

Please sign in to comment.