diff --git a/apps/user/.env.template b/apps/user/.env.template index 220084d..8b81c94 100644 --- a/apps/user/.env.template +++ b/apps/user/.env.template @@ -4,6 +4,7 @@ NEXT_PUBLIC_DEFAULT_LANGUAGE=en-US # Site URL and API URL NEXT_PUBLIC_SITE_URL=https://user.ppanel.dev NEXT_PUBLIC_API_URL=https://api.ppanel.dev +NEXT_PUBLIC_CDN_URL=https://cdn.jsdelivr.net # Home Page Settings NEXT_PUBLIC_HOME_USER_COUNT=999 diff --git a/apps/user/config/constants.ts b/apps/user/config/constants.ts index ecd6b76..7211d89 100644 --- a/apps/user/config/constants.ts +++ b/apps/user/config/constants.ts @@ -9,6 +9,8 @@ export const NEXT_PUBLIC_DEFAULT_LANGUAGE = export const NEXT_PUBLIC_SITE_URL = env('NEXT_PUBLIC_SITE_URL') ?? process.env.NEXT_PUBLIC_SITE_URL; export const NEXT_PUBLIC_API_URL = env('NEXT_PUBLIC_API_URL') ?? process.env.NEXT_PUBLIC_API_URL; +export const NEXT_PUBLIC_CDN_URL = + env('NEXT_PUBLIC_CDN_URL') || process.env.NEXT_PUBLIC_CDN_URL || 'https://fastly.jsdelivr.net'; export const NEXT_PUBLIC_DEFAULT_USER_EMAIL = env('NEXT_PUBLIC_DEFAULT_USER_EMAIL') ?? process.env.NEXT_PUBLIC_DEFAULT_USER_EMAIL; diff --git a/apps/user/utils/tutorial.ts b/apps/user/utils/tutorial.ts index a635c03..c6dcb4c 100644 --- a/apps/user/utils/tutorial.ts +++ b/apps/user/utils/tutorial.ts @@ -1,14 +1,15 @@ +import { NEXT_PUBLIC_CDN_URL } from '@/config/constants'; import matter from 'gray-matter'; -const BASE_URL = 'https://cdn.jsdelivr.net/gh/perfect-panel/ppanel-tutorial'; +const BASE_URL = `${NEXT_PUBLIC_CDN_URL}/gh/perfect-panel/ppanel-tutorial`; async function getVersion() { // API rate limit: 60 requests per hour const response = await fetch( - 'https://api.github.com/repos/perfect-panel/ppanel-tutorial/commits', + 'https://data.jsdelivr.com/v1/stats/packages/gh/perfect-panel/ppanel-tutorial/versions', ); const json = await response.json(); - return json[0].sha; + return json[0].version; } async function getVersionPath() {