diff --git a/.dockerignore b/.dockerignore
index 978c1b2..2ee1c20 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -7,7 +7,6 @@ apps/jadwal-sholat/cypress.config.ts
.husky
.vscode
apps/jadwal-sholat/node_modules
-apps/jadwal-sholat/.next
packages/eslint-config/node_modules
.turbo
node_modules
diff --git a/Dockerfile b/Dockerfile
index 021681c..72d148f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -19,6 +19,7 @@ RUN pnpm install --filter jadwal-sholat
COPY . ./
RUN pnpm run build
+COPY apps/jadwal-sholat/.next ./apps/jadwal-sholat/.next
# run dev
CMD ["pnpm", "run", "dev"]
diff --git a/LICENSE b/LICENSE
index 2cb25f1..afb2dc1 100644
--- a/LICENSE
+++ b/LICENSE
@@ -6,4 +6,4 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/apps/jadwal-sholat/package.json b/apps/jadwal-sholat/package.json
index 3a7817b..a0fe2bf 100644
--- a/apps/jadwal-sholat/package.json
+++ b/apps/jadwal-sholat/package.json
@@ -23,6 +23,7 @@
"@radix-ui/react-slot": "^1.1.0",
"@t3-oss/env-nextjs": "^0.10.1",
"@tanstack/react-query": "^5.50.1",
+ "@urql/next": "^1.1.1",
"axios": "^1.7.2",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
diff --git a/apps/jadwal-sholat/src/app/(data)/asmaul-husna/client.tsx b/apps/jadwal-sholat/src/app/(pages)/asmaul-husna/client.tsx
similarity index 100%
rename from apps/jadwal-sholat/src/app/(data)/asmaul-husna/client.tsx
rename to apps/jadwal-sholat/src/app/(pages)/asmaul-husna/client.tsx
diff --git a/apps/jadwal-sholat/src/app/(data)/asmaul-husna/page.tsx b/apps/jadwal-sholat/src/app/(pages)/asmaul-husna/page.tsx
similarity index 73%
rename from apps/jadwal-sholat/src/app/(data)/asmaul-husna/page.tsx
rename to apps/jadwal-sholat/src/app/(pages)/asmaul-husna/page.tsx
index ed5fd0e..80f5521 100644
--- a/apps/jadwal-sholat/src/app/(data)/asmaul-husna/page.tsx
+++ b/apps/jadwal-sholat/src/app/(pages)/asmaul-husna/page.tsx
@@ -1,11 +1,12 @@
+import { cacheExchange, createClient, fetchExchange } from "@urql/next";
+import { registerUrql } from "@urql/next/rsc";
import dynamic from "next/dynamic";
import TransitionLayout from "~components/transition-layout";
import { env } from "~env.mjs";
-import { AsmaulHusnaProps } from "~interfaces";
-import { getData } from "~lib/utils/axios-config";
import { cn } from "~lib/utils/cn";
import { MetaUrl } from "~lib/utils/enums";
import { bitter } from "~lib/utils/fonts";
+import { GetAllAsmaulHusnaQuery } from "~lib/utils/graphql";
const AsmaulHusnaClient = dynamic(() => import("./client"));
@@ -44,19 +45,19 @@ export const metadata = {
metadataBase: new URL(url),
};
-async function getAsmaulHusna(): Promise {
- try {
- const response: { data: AsmaulHusnaProps[] } = await getData(
- `${NEXT_PUBLIC_ASMAUL_HUSNA_API}/api/all`
- );
- return response.data;
- } catch (err: any) {
- throw new Error(err.message);
- }
-}
+/**
+ * @see https://commerce.nearform.com/open-source/urql/docs/advanced/server-side-rendering/#invalidating-data-from-a-server-component
+ */
+const urqlClient = () =>
+ createClient({
+ url: `${NEXT_PUBLIC_ASMAUL_HUSNA_API}/api/graphql`,
+ exchanges: [cacheExchange, fetchExchange],
+ });
+
+const { getClient } = registerUrql(urqlClient);
export default async function AsmaulHusna() {
- const asmaulHusna = await getAsmaulHusna();
+ const asmaulHusna = await getClient().query(GetAllAsmaulHusnaQuery, {});
return (
-
+
);
}
diff --git a/apps/jadwal-sholat/src/app/(data)/doa-harian/client.tsx b/apps/jadwal-sholat/src/app/(pages)/doa-harian/client.tsx
similarity index 100%
rename from apps/jadwal-sholat/src/app/(data)/doa-harian/client.tsx
rename to apps/jadwal-sholat/src/app/(pages)/doa-harian/client.tsx
diff --git a/apps/jadwal-sholat/src/app/(data)/doa-harian/page.tsx b/apps/jadwal-sholat/src/app/(pages)/doa-harian/page.tsx
similarity index 96%
rename from apps/jadwal-sholat/src/app/(data)/doa-harian/page.tsx
rename to apps/jadwal-sholat/src/app/(pages)/doa-harian/page.tsx
index b4873af..da8b70d 100644
--- a/apps/jadwal-sholat/src/app/(data)/doa-harian/page.tsx
+++ b/apps/jadwal-sholat/src/app/(pages)/doa-harian/page.tsx
@@ -80,7 +80,7 @@ export default async function DoaHarian() {
bitter.className
)}
>
- Do'a Harian
+ Do'a Harian
- Berikut daftar do'a harian yang tersedia
+ Berikut daftar do'a harian yang tersedia
diff --git a/apps/jadwal-sholat/src/app/(data)/quran/client.tsx b/apps/jadwal-sholat/src/app/(pages)/quran/client.tsx
similarity index 100%
rename from apps/jadwal-sholat/src/app/(data)/quran/client.tsx
rename to apps/jadwal-sholat/src/app/(pages)/quran/client.tsx
diff --git a/apps/jadwal-sholat/src/app/(data)/quran/page.tsx b/apps/jadwal-sholat/src/app/(pages)/quran/page.tsx
similarity index 100%
rename from apps/jadwal-sholat/src/app/(data)/quran/page.tsx
rename to apps/jadwal-sholat/src/app/(pages)/quran/page.tsx
diff --git a/apps/jadwal-sholat/src/app/(data)/quran/surat/[number]/client.tsx b/apps/jadwal-sholat/src/app/(pages)/quran/surat/[number]/client.tsx
similarity index 78%
rename from apps/jadwal-sholat/src/app/(data)/quran/surat/[number]/client.tsx
rename to apps/jadwal-sholat/src/app/(pages)/quran/surat/[number]/client.tsx
index 23b0ef7..940a528 100644
--- a/apps/jadwal-sholat/src/app/(data)/quran/surat/[number]/client.tsx
+++ b/apps/jadwal-sholat/src/app/(pages)/quran/surat/[number]/client.tsx
@@ -12,11 +12,93 @@ import { env } from "~env.mjs";
import { useFetch } from "~hooks";
import { cn } from "~lib/utils/cn";
import { bitter } from "~lib/utils/fonts";
-import { qoriOptions } from "~lib/utils/qori-options";
import useGlobalStore from "~store";
const { NEXT_PUBLIC_QURAN_API } = env;
+export const qoriOptions: Array<{ id: number; name: string }> = [
+ {
+ id: 1,
+ name: "Abdul Basit Murattal",
+ },
+ {
+ id: 2,
+ name: "Abdul Basit Mujawwad",
+ },
+ {
+ id: 3,
+ name: "Abdullah Basfar",
+ },
+ {
+ id: 4,
+ name: "Abdurrahmaan As-Sudais",
+ },
+ {
+ id: 5,
+ name: "Abu Bakr Ash-Shaatri",
+ },
+ {
+ id: 6,
+ name: "Ahmed ibn Ali al-Ajamy",
+ },
+ {
+ id: 7,
+ name: "Mishari Rashid Al-Afasy",
+ },
+ {
+ id: 8,
+ name: "Saad Al-Ghamidi",
+ },
+ {
+ id: 9,
+ name: "Hani Ar-Rifai",
+ },
+ {
+ id: 10,
+ name: "Mahmoud Khalil Al-Hussary",
+ },
+ {
+ id: 11,
+ name: "Mahmoud Khalil Al-Hussary Mujawwad",
+ },
+ {
+ id: 12,
+ name: "Al Hudhaify",
+ },
+ {
+ id: 13,
+ name: "Ibrahim Akhdar",
+ },
+ {
+ id: 14,
+ name: "Maher Al Muaiqly",
+ },
+ {
+ id: 15,
+ name: "Menshawi",
+ },
+ {
+ id: 16,
+ name: "Minshawy Mujawwad",
+ },
+ {
+ id: 17,
+ name: "Mohammad al Tablaway",
+ },
+ {
+ id: 18,
+ name: "Muhammad Ayyoub",
+ },
+ {
+ id: 19,
+ name: "Muhammad Jibreel",
+ },
+ {
+ id: 20,
+ name: "Saood bin Ibraaheem Ash-Shuraym",
+ },
+];
+
export default function Client({ number }: { number: string }) {
const {
audio,
diff --git a/apps/jadwal-sholat/src/app/(data)/quran/surat/[number]/page.tsx b/apps/jadwal-sholat/src/app/(pages)/quran/surat/[number]/page.tsx
similarity index 100%
rename from apps/jadwal-sholat/src/app/(data)/quran/surat/[number]/page.tsx
rename to apps/jadwal-sholat/src/app/(pages)/quran/surat/[number]/page.tsx
diff --git a/apps/jadwal-sholat/src/components/map.tsx b/apps/jadwal-sholat/src/components/map.tsx
index a73e203..5c4af1e 100644
--- a/apps/jadwal-sholat/src/components/map.tsx
+++ b/apps/jadwal-sholat/src/components/map.tsx
@@ -18,20 +18,19 @@ import useGlobalStore from "~store";
function SearchField() {
const provider = new OpenStreetMapProvider();
-
- // @ts-ignore
- const searchControl = new GeoSearchControl({
- provider: provider,
- style: "bar",
- });
-
const map = useMap();
// @ts-ignore
useEffect(() => {
+ // @ts-ignore
+ const searchControl = new GeoSearchControl({
+ provider: provider,
+ style: "bar",
+ });
+
map.addControl(searchControl);
return () => map.removeControl(searchControl);
- }, [map, searchControl]);
+ }, [map]);
return null;
}
diff --git a/apps/jadwal-sholat/src/components/previous-or-next.tsx b/apps/jadwal-sholat/src/components/previous-or-next.tsx
index 0e25eac..b4c844b 100644
--- a/apps/jadwal-sholat/src/components/previous-or-next.tsx
+++ b/apps/jadwal-sholat/src/components/previous-or-next.tsx
@@ -1,7 +1,6 @@
import { ArrowLeft, ArrowRight } from "lucide-react";
import Link from "next/link";
import { P, match } from "ts-pattern";
-import { SuratProps } from "~interfaces";
import { removeSelectedSurat } from "~lib/helpers";
import { cn } from "~lib/utils/cn";
diff --git a/apps/jadwal-sholat/src/components/ui/card.tsx b/apps/jadwal-sholat/src/components/ui/card.tsx
index 2210edf..c1d6a24 100644
--- a/apps/jadwal-sholat/src/components/ui/card.tsx
+++ b/apps/jadwal-sholat/src/components/ui/card.tsx
@@ -4,7 +4,7 @@ import { cn } from "~lib/utils/cn";
const Card = React.forwardRef<
HTMLDivElement,
React.HTMLAttributes
->(({ className, ...props }, ref) => (
+>(({ className, children, ...props }, ref) => (
+ >
+ {children}
+
));
Card.displayName = "Card";
const CardHeader = React.forwardRef<
HTMLDivElement,
React.HTMLAttributes
->(({ className, ...props }, ref) => (
+>(({ className, children, ...props }, ref) => (
+ >
+ {children}
+
));
CardHeader.displayName = "CardHeader";
const CardTitle = React.forwardRef<
HTMLParagraphElement,
React.HTMLAttributes
->(({ className, ...props }, ref) => (
+>(({ className, children, ...props }, ref) => (
+ >
+ {children}
+
));
CardTitle.displayName = "CardTitle";
const CardDescription = React.forwardRef<
HTMLParagraphElement,
React.HTMLAttributes
->(({ className, ...props }, ref) => (
+>(({ className, children, ...props }, ref) => (
+ >
+ {children}
+
));
CardDescription.displayName = "CardDescription";
@@ -66,12 +74,14 @@ CardContent.displayName = "CardContent";
const CardFooter = React.forwardRef<
HTMLDivElement,
React.HTMLAttributes
->(({ className, ...props }, ref) => (
+>(({ className, children, ...props }, ref) => (
+ >
+ {children}
+
));
CardFooter.displayName = "CardFooter";
diff --git a/apps/jadwal-sholat/src/hooks/use-ascending.ts b/apps/jadwal-sholat/src/hooks/use-ascending.ts
index 45d5eaa..c9e7b07 100644
--- a/apps/jadwal-sholat/src/hooks/use-ascending.ts
+++ b/apps/jadwal-sholat/src/hooks/use-ascending.ts
@@ -1,5 +1,3 @@
-"use client";
-
import { Dispatch, SetStateAction, useDeferredValue, useState } from "react";
interface UseAscendingProps {
diff --git a/apps/jadwal-sholat/src/hooks/use-fetch.ts b/apps/jadwal-sholat/src/hooks/use-fetch.ts
index 4d3fd2c..21362b1 100644
--- a/apps/jadwal-sholat/src/hooks/use-fetch.ts
+++ b/apps/jadwal-sholat/src/hooks/use-fetch.ts
@@ -1,5 +1,3 @@
-"use client";
-
import {
UseQueryResult,
keepPreviousData,
diff --git a/apps/jadwal-sholat/src/hooks/use-geolocation.ts b/apps/jadwal-sholat/src/hooks/use-geolocation.ts
index ec396ae..203ae0e 100644
--- a/apps/jadwal-sholat/src/hooks/use-geolocation.ts
+++ b/apps/jadwal-sholat/src/hooks/use-geolocation.ts
@@ -1,5 +1,3 @@
-"use client";
-
import { useEffect } from "react";
import useGlobalStore from "~store";
diff --git a/apps/jadwal-sholat/src/hooks/use-play-next-audio.ts b/apps/jadwal-sholat/src/hooks/use-play-next-audio.ts
index 9171fd5..a012bc9 100644
--- a/apps/jadwal-sholat/src/hooks/use-play-next-audio.ts
+++ b/apps/jadwal-sholat/src/hooks/use-play-next-audio.ts
@@ -1,5 +1,3 @@
-"use client";
-
import { useRouter } from "next/navigation";
import { Dispatch, SetStateAction, useState } from "react";
import { AudioLoadOptions, useAudioPlayer } from "react-use-audio-player";
diff --git a/apps/jadwal-sholat/src/hooks/use-scroll-ayat.ts b/apps/jadwal-sholat/src/hooks/use-scroll-ayat.ts
index 42d0dcd..b0c6e12 100644
--- a/apps/jadwal-sholat/src/hooks/use-scroll-ayat.ts
+++ b/apps/jadwal-sholat/src/hooks/use-scroll-ayat.ts
@@ -1,5 +1,3 @@
-"use client";
-
import { useEffect } from "react";
import { LastReadProps } from "~interfaces";
@@ -19,17 +17,14 @@ interface ScrollAyatProps {
* @param {boolean} param0.isAudioEnded
* @param {(isAudioEnded: boolean) => void} param0.setIsAudioEnded
*/
-export function useScrollAyat({
- lastRead,
- ayat,
- isAudioEnded,
- setIsAudioEnded,
-}: ScrollAyatProps) {
+export function useScrollAyat(
+ { lastRead, ayat, isAudioEnded, setIsAudioEnded }: ScrollAyatProps
+) {
useEffect(() => {
+ const ayatId = document.getElementById(ayat);
const lastReadId = document.getElementById(
- `ayat-${lastRead.ayat?.toString()}`
+ `ayat-${lastRead.ayat?.toString() as string}`
);
- const ayatId = document.getElementById(ayat);
if (
lastReadId &&
@@ -38,7 +33,10 @@ export function useScrollAyat({
lastReadId.scrollIntoView({ behavior: "smooth" });
}
- if (isAudioEnded) ayatId?.scrollIntoView({ behavior: "smooth" });
+ if (isAudioEnded) {
+ ayatId?.scrollIntoView({ behavior: "smooth" });
+ }
+
setIsAudioEnded(false);
}, [lastRead, isAudioEnded, setIsAudioEnded, ayat]);
}
diff --git a/apps/jadwal-sholat/src/hooks/use-scroll.ts b/apps/jadwal-sholat/src/hooks/use-scroll.ts
index 174ac99..b79dad3 100644
--- a/apps/jadwal-sholat/src/hooks/use-scroll.ts
+++ b/apps/jadwal-sholat/src/hooks/use-scroll.ts
@@ -1,5 +1,3 @@
-"use client";
-
import { useCallback, useEffect } from "react";
import useGlobalStore from "~store";
diff --git a/apps/jadwal-sholat/src/interfaces/index.ts b/apps/jadwal-sholat/src/interfaces/index.ts
index f1ca99a..80ad98e 100644
--- a/apps/jadwal-sholat/src/interfaces/index.ts
+++ b/apps/jadwal-sholat/src/interfaces/index.ts
@@ -30,7 +30,10 @@ export interface ScrollSliceProps {
}
export interface LocationPositionProps {
- position: { lat: number; lng: number };
+ position: {
+ lat: number;
+ lng: number;
+ };
setPosition: (pos: { lat: number; lng: number }) => void;
}
diff --git a/apps/jadwal-sholat/src/lib/utils/axios-config.ts b/apps/jadwal-sholat/src/lib/utils/axios-config.ts
index 19a5cbf..018a3e4 100644
--- a/apps/jadwal-sholat/src/lib/utils/axios-config.ts
+++ b/apps/jadwal-sholat/src/lib/utils/axios-config.ts
@@ -8,7 +8,7 @@ const config: AxiosRequestConfig = {
},
};
-const axios = Axios.create(config);
+export const axios = Axios.create(config);
export async function getData(url: string): Promise {
try {
diff --git a/apps/jadwal-sholat/src/lib/utils/graphql.ts b/apps/jadwal-sholat/src/lib/utils/graphql.ts
new file mode 100644
index 0000000..588ced9
--- /dev/null
+++ b/apps/jadwal-sholat/src/lib/utils/graphql.ts
@@ -0,0 +1,12 @@
+export const GetAllAsmaulHusnaQuery: string = `
+ query {
+ allAsmaulHusna {
+ data {
+ urutan
+ latin
+ arti
+ arab
+ }
+ }
+ }
+`;
diff --git a/docker-compose.yaml b/docker-compose.yaml
index 7943c40..d37ad35 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -2,10 +2,10 @@ version: "3.5"
services:
app:
+ container_name: jadwal-sholat
build:
context: .
dockerfile: Dockerfile
- container_name: jadwal_sholat
ports:
- 3000:3000
volumes:
@@ -13,10 +13,3 @@ services:
- /app/node_modules
- /app/apps/jadwal-sholat/node_modules
- /app/packages/eslint-config-custom/node_modules
- - /app/apps/jadwal-sholat/.next
- environment:
- - NEXT_PUBLIC_QURAN_API=${NEXT_PUBLIC_QURAN_API}
- - NEXT_PUBLIC_PUASA_SUNNAH_API=${NEXT_PUBLIC_PUASA_SUNNAH_API}
- - NEXT_PUBLIC_JADWAL_SHOLAT_API=${NEXT_PUBLIC_JADWAL_SHOLAT_API}
- - NEXT_PUBLIC_ASMAUL_HUSNA_API=${NEXT_PUBLIC_ASMAUL_HUSNA_API}
- - NEXT_PUBLIC_DOA_HARIAN_API=${NEXT_PUBLIC_DOA_HARIAN_API}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index e512b7e..5575119 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -53,6 +53,9 @@ importers:
'@tanstack/react-query':
specifier: ^5.50.1
version: 5.50.1(react@18.3.1)
+ '@urql/next':
+ specifier: ^1.1.1
+ version: 1.1.1(next@14.2.4)(react@18.3.1)(urql@4.1.0)
axios:
specifier: ^1.7.2
version: 1.7.2
@@ -200,6 +203,15 @@ importers:
packages:
+ /@0no-co/graphql.web@1.0.7:
+ resolution: {integrity: sha512-E3Qku4mTzdrlwVWGPxklDnME5ANrEGetvYw4i2GCRlppWXXE4QD66j7pwb8HelZwS6LnqEChhrSOGCXpbiu6MQ==}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0
+ peerDependenciesMeta:
+ graphql:
+ optional: true
+ dev: false
+
/@alloc/quick-lru@5.2.0:
resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
engines: {node: '>=10'}
@@ -2398,6 +2410,27 @@ packages:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: true
+ /@urql/core@5.0.6:
+ resolution: {integrity: sha512-38rgSDqVNihFDauw1Pm9V7XLWIKuK8V9CKgrUF7/xEKinze8ENKP1ZeBhkG+dxWzJan7CHK+SLl46kAdvZwIlA==}
+ dependencies:
+ '@0no-co/graphql.web': 1.0.7
+ wonka: 6.3.4
+ transitivePeerDependencies:
+ - graphql
+ dev: false
+
+ /@urql/next@1.1.1(next@14.2.4)(react@18.3.1)(urql@4.1.0):
+ resolution: {integrity: sha512-dLk4npLZeWDCevua3gM5f8WS1IyyJUsjOvUU9tnFRSjTSn2fQcgYAYZbLfpneLTg+1rYNCLgSMJMuBr95PofTQ==}
+ peerDependencies:
+ next: '>=13.0.0'
+ react: '>=18.0.0'
+ urql: ^4.0.0
+ dependencies:
+ next: 14.2.4(@babel/core@7.24.7)(react-dom@18.3.1)(react@18.3.1)
+ react: 18.3.1
+ urql: 4.1.0(@urql/core@5.0.6)(react@18.3.1)
+ dev: false
+
/@webassemblyjs/ast@1.12.1:
resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==}
dependencies:
@@ -7091,6 +7124,17 @@ packages:
requires-port: 1.0.0
dev: true
+ /urql@4.1.0(@urql/core@5.0.6)(react@18.3.1):
+ resolution: {integrity: sha512-NfbfTvxy1sM89EQAJWm89qJZihUWk7BSMfrWgfljFXLOf+e7RK7DtV/Tbg2+82HnCG2x3LcEOJenxiFSYEC+bw==}
+ peerDependencies:
+ '@urql/core': ^5.0.0
+ react: '>= 16.8.0'
+ dependencies:
+ '@urql/core': 5.0.6
+ react: 18.3.1
+ wonka: 6.3.4
+ dev: false
+
/use-clipboard-copy@0.2.0(react@18.3.1):
resolution: {integrity: sha512-f0PMMwZ2/Hh9/54L12capx4s6ASdd6edNJxg2OcqWVNM8BPvtOSmNFIN1Dg/q//fPp8MpUZceHfr7cnWOS0RxA==}
peerDependencies:
@@ -7273,6 +7317,10 @@ packages:
dependencies:
isexe: 2.0.0
+ /wonka@6.3.4:
+ resolution: {integrity: sha512-CjpbqNtBGNAeyNS/9W6q3kSkKE52+FjIj7AkFlLr11s/VWGUu6a2CdYSdGxocIhIVjaW/zchesBQUKPVU69Cqg==}
+ dev: false
+
/word-wrap@1.2.5:
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
engines: {node: '>=0.10.0'}
diff --git a/turbo.json b/turbo.json
index f009b45..ec28969 100644
--- a/turbo.json
+++ b/turbo.json
@@ -14,12 +14,5 @@
"persistent": true
}
},
- "globalEnv": [
- "NODE_ENV",
- "NEXT_PUBLIC_QURAN_API",
- "NEXT_PUBLIC_PUASA_SUNNAH_API",
- "NEXT_PUBLIC_JADWAL_SHOLAT_API",
- "NEXT_PUBLIC_ASMAUL_HUSNA_API",
- "NEXT_PUBLIC_NOMINATIM_API"
- ]
+ "globalEnv": ["NODE_ENV"]
}