Compare commits

...

4 Commits

Author SHA1 Message Date
Henit Chobisa
4aac7ffac1 chore: added varaible enable OAuth 2023-09-06 06:33:01 +00:00
Henit Chobisa
260b752ae4 chore: removed husky prepare script 2023-09-06 06:28:09 +00:00
Henit Chobisa
b0eee08499 chore: added publicRuntimeConfig 2023-09-06 06:27:49 +00:00
Henit Chobisa
a718056b93 chore: update services with publicRuntimeConfig 2023-09-06 06:25:47 +00:00
33 changed files with 98 additions and 39 deletions

View File

@ -8,7 +8,6 @@
"packages/*" "packages/*"
], ],
"scripts": { "scripts": {
"prepare": "husky install",
"build": "turbo run build", "build": "turbo run build",
"dev": "turbo run dev", "dev": "turbo run dev",
"start": "turbo run start", "start": "turbo run start",

View File

@ -4,6 +4,8 @@ import { useRouter } from "next/router";
import useSWRInfinite from "swr/infinite"; import useSWRInfinite from "swr/infinite";
import getConfig from "next/config";
// services // services
import projectService from "services/project.service"; import projectService from "services/project.service";
// ui // ui
@ -31,11 +33,13 @@ export const SelectRepository: React.FC<Props> = ({
const router = useRouter(); const router = useRouter();
const { workspaceSlug } = router.query; const { workspaceSlug } = router.query;
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const getKey = (pageIndex: number) => { const getKey = (pageIndex: number) => {
if (!workspaceSlug || !integration) return; if (!workspaceSlug || !integration) return;
return `${ return `${
process.env.NEXT_PUBLIC_API_BASE_URL NEXT_PUBLIC_API_BASE_URL
}/api/workspaces/${workspaceSlug}/workspace-integrations/${ }/api/workspaces/${workspaceSlug}/workspace-integrations/${
integration.id integration.id
}/github-repositories/?page=${++pageIndex}`; }/github-repositories/?page=${++pageIndex}`;

View File

@ -6,6 +6,7 @@ import { Controller, useForm } from "react-hook-form";
// headless ui // headless ui
import { Dialog, Transition } from "@headlessui/react"; import { Dialog, Transition } from "@headlessui/react";
// ui components // ui components
import getConfig from "next/config";
import { import {
ToggleSwitch, ToggleSwitch,
PrimaryButton, PrimaryButton,
@ -63,9 +64,11 @@ export const PublishProjectModal: React.FC<Props> = observer(() => {
const [isUnpublishing, setIsUnpublishing] = useState(false); const [isUnpublishing, setIsUnpublishing] = useState(false);
const [isUpdateRequired, setIsUpdateRequired] = useState(false); const [isUpdateRequired, setIsUpdateRequired] = useState(false);
const plane_deploy_url = process.env.NEXT_PUBLIC_DEPLOY_URL ?? "http://localhost:4000"; const { publicRuntimeConfig: { NEXT_PUBLIC_DEPLOY_URL } } = getConfig();
const router = useRouter(); const plane_deploy_url = NEXT_PUBLIC_DEPLOY_URL ?? "http://localhost:4000";
const router = useRouter()
const { workspaceSlug } = router.query; const { workspaceSlug } = router.query;
const store: RootStore = useMobxStore(); const store: RootStore = useMobxStore();

View File

@ -8,6 +8,8 @@ import { Tooltip } from "components/ui";
// hooks // hooks
import useProjectDetails from "hooks/use-project-details"; import useProjectDetails from "hooks/use-project-details";
import getConfig from "next/config";
type Props = { type Props = {
breadcrumbs?: JSX.Element; breadcrumbs?: JSX.Element;
left?: JSX.Element; left?: JSX.Element;
@ -16,7 +18,7 @@ type Props = {
noHeader: boolean; noHeader: boolean;
}; };
const { NEXT_PUBLIC_DEPLOY_URL } = process.env; const { publicRuntimeConfig: { NEXT_PUBLIC_DEPLOY_URL } } = getConfig();
const plane_deploy_url = NEXT_PUBLIC_DEPLOY_URL ? NEXT_PUBLIC_DEPLOY_URL : "http://localhost:3001"; const plane_deploy_url = NEXT_PUBLIC_DEPLOY_URL ? NEXT_PUBLIC_DEPLOY_URL : "http://localhost:3001";
const Header: React.FC<Props> = ({ breadcrumbs, left, right, setToggleSidebar, noHeader }) => { const Header: React.FC<Props> = ({ breadcrumbs, left, right, setToggleSidebar, noHeader }) => {

View File

@ -1,4 +1,5 @@
// cookies // cookies
import getConfig from "next/config";
import { convertCookieStringToObject } from "./cookie"; import { convertCookieStringToObject } from "./cookie";
// types // types
import type { IProjectMember, IUser, IWorkspace, IWorkspaceMember } from "types"; import type { IProjectMember, IUser, IWorkspace, IWorkspaceMember } from "types";
@ -9,7 +10,9 @@ export const requiredAuth = async (cookie?: string) => {
if (!token) return null; if (!token) return null;
const baseUrl = process.env.NEXT_PUBLIC_API_BASE_URL || "https://api.plane.so"; const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const baseUrl = NEXT_PUBLIC_API_BASE_URL || "https://api.plane.so";
let user: IUser | null = null; let user: IUser | null = null;
@ -41,7 +44,9 @@ export const requiredAdmin = async (workspaceSlug: string, projectId: string, co
const cookies = convertCookieStringToObject(cookie); const cookies = convertCookieStringToObject(cookie);
const token = cookies?.accessToken; const token = cookies?.accessToken;
const baseUrl = process.env.NEXT_PUBLIC_API_BASE_URL || "https://api.plane.so"; const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const baseUrl = NEXT_PUBLIC_API_BASE_URL || "https://api.plane.so";
let memberDetail: IProjectMember | null = null; let memberDetail: IProjectMember | null = null;
@ -75,7 +80,9 @@ export const requiredWorkspaceAdmin = async (workspaceSlug: string, cookie?: str
const cookies = convertCookieStringToObject(cookie); const cookies = convertCookieStringToObject(cookie);
const token = cookies?.accessToken; const token = cookies?.accessToken;
const baseUrl = process.env.NEXT_PUBLIC_API_BASE_URL || "https://api.plane.so"; const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const baseUrl = NEXT_PUBLIC_API_BASE_URL || "https://api.plane.so";
let memberDetail: IWorkspaceMember | null = null; let memberDetail: IWorkspaceMember | null = null;
@ -119,7 +126,8 @@ export const homePageRedirect = async (cookie?: string) => {
let workspaces: IWorkspace[] = []; let workspaces: IWorkspace[] = [];
const baseUrl = process.env.NEXT_PUBLIC_API_BASE_URL || "https://api.plane.so"; const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const baseUrl = NEXT_PUBLIC_API_BASE_URL || "https://api.plane.so";
const cookies = convertCookieStringToObject(cookie); const cookies = convertCookieStringToObject(cookie);
const token = cookies?.accessToken; const token = cookies?.accessToken;

View File

@ -9,6 +9,10 @@ const extraImageDomains = (process.env.NEXT_PUBLIC_EXTRA_IMAGE_DOMAINS ?? "")
const nextConfig = { const nextConfig = {
reactStrictMode: false, reactStrictMode: false,
swcMinify: true, swcMinify: true,
publicRuntimeConfig: {
NEXT_PUBLIC_DEPLOY_URL: process.env.NEXT_PUBLIC_DEPLOY_URL,
NEXT_PUBLIC_API_BASE_URL: process.env.NEXT_PUBLIC_API_BASE_URL
},
images: { images: {
domains: [ domains: [
"vinci-web.s3.amazonaws.com", "vinci-web.s3.amazonaws.com",

View File

@ -2,6 +2,7 @@
import Head from "next/head"; import Head from "next/head";
import dynamic from "next/dynamic"; import dynamic from "next/dynamic";
import Router from "next/router"; import Router from "next/router";
import App, { AppContext, AppProps } from 'next/app'
// themes // themes
import { ThemeProvider } from "next-themes"; import { ThemeProvider } from "next-themes";
@ -20,8 +21,6 @@ import NProgress from "nprogress";
import { UserProvider } from "contexts/user.context"; import { UserProvider } from "contexts/user.context";
import { ToastContextProvider } from "contexts/toast.context"; import { ToastContextProvider } from "contexts/toast.context";
import { ThemeContextProvider } from "contexts/theme.context"; import { ThemeContextProvider } from "contexts/theme.context";
// types
import type { AppProps } from "next/app";
// constants // constants
import { THEMES } from "constants/themes"; import { THEMES } from "constants/themes";
// constants // constants
@ -45,6 +44,12 @@ Router.events.on("routeChangeStart", NProgress.start);
Router.events.on("routeChangeError", NProgress.done); Router.events.on("routeChangeError", NProgress.done);
Router.events.on("routeChangeComplete", NProgress.done); Router.events.on("routeChangeComplete", NProgress.done);
MyApp.getInitialProps = async (appContext: AppContext) => {
const appProps = await App.getInitialProps(appContext)
return { ...appProps }
}
function MyApp({ Component, pageProps }: AppProps) { function MyApp({ Component, pageProps }: AppProps) {
return ( return (
// <UserProvider> // <UserProvider>

View File

@ -29,6 +29,7 @@ import { useMobxStore } from "lib/mobx/store-provider";
// next themes // next themes
import { useTheme } from "next-themes"; import { useTheme } from "next-themes";
import { IUser } from "types"; import { IUser } from "types";
import getConfig from "next/config";
// types // types
type EmailPasswordFormValues = { type EmailPasswordFormValues = {
@ -41,6 +42,10 @@ const HomePage: NextPage = observer(() => {
const store: any = useMobxStore(); const store: any = useMobxStore();
const { setTheme } = useTheme(); const { setTheme } = useTheme();
const {
publicRuntimeConfig: { NEXT_PUBLIC_ENABLE_OAUTH },
} = getConfig()
const { isLoading, mutateUser } = useUserAuth("sign-in"); const { isLoading, mutateUser } = useUserAuth("sign-in");
const { setToastAlert } = useToast(); const { setToastAlert } = useToast();
@ -173,10 +178,10 @@ const HomePage: NextPage = observer(() => {
</> </>
<div className="grid place-items-center h-full overflow-y-auto py-5 px-7"> <div className="grid place-items-center h-full overflow-y-auto py-5 px-7">
<div> <div>
{parseInt(process.env.NEXT_PUBLIC_ENABLE_OAUTH || "0") ? ( {parseInt(NEXT_PUBLIC_ENABLE_OAUTH || "0") ? (
<> <>
<h1 className="text-center text-2xl sm:text-2.5xl font-semibold text-custom-text-100"> <h1 className="text-center text-2xl sm:text-2.5xl font-semibold text-custom-text-100">
Sign in to Plane { `Sign in to Plane` }
</h1> </h1>
<div className="flex flex-col divide-y divide-custom-border-200"> <div className="flex flex-col divide-y divide-custom-border-200">
<div className="pb-7"> <div className="pb-7">
@ -192,7 +197,7 @@ const HomePage: NextPage = observer(() => {
<EmailPasswordForm onSubmit={handlePasswordSignIn} /> <EmailPasswordForm onSubmit={handlePasswordSignIn} />
)} )}
{parseInt(process.env.NEXT_PUBLIC_ENABLE_OAUTH || "0") ? ( {parseInt(NEXT_PUBLIC_ENABLE_OAUTH || "0") ? (
<p className="pt-16 text-custom-text-200 text-sm text-center"> <p className="pt-16 text-custom-text-200 text-sm text-center">
By signing up, you agree to the{" "} By signing up, you agree to the{" "}
<a <a

View File

@ -19,6 +19,7 @@ import { Input, PrimaryButton, Spinner } from "components/ui";
import BluePlaneLogoWithoutText from "public/plane-logos/blue-without-text.png"; import BluePlaneLogoWithoutText from "public/plane-logos/blue-without-text.png";
// types // types
import type { NextPage } from "next"; import type { NextPage } from "next";
import getConfig from "next/config";
type FormData = { type FormData = {
password: string; password: string;
@ -28,6 +29,8 @@ type FormData = {
const ResetPasswordPage: NextPage = () => { const ResetPasswordPage: NextPage = () => {
const [isLoading, setIsLoading] = useState(true); const [isLoading, setIsLoading] = useState(true);
const { publicRuntimeConfig: { NEXT_PUBLIC_ENABLE_OAUTH } } = getConfig();
const router = useRouter(); const router = useRouter();
const { uidb64, token } = router.query; const { uidb64, token } = router.query;
@ -85,7 +88,7 @@ const ResetPasswordPage: NextPage = () => {
}, [setTheme]); }, [setTheme]);
useEffect(() => { useEffect(() => {
if (parseInt(process.env.NEXT_PUBLIC_ENABLE_OAUTH || "0")) router.push("/"); if (parseInt(NEXT_PUBLIC_ENABLE_OAUTH || "0")) router.push("/");
else setIsLoading(false); else setIsLoading(false);
}, [router]); }, [router]);

View File

@ -18,6 +18,7 @@ import { EmailPasswordForm } from "components/account";
import { Spinner } from "components/ui"; import { Spinner } from "components/ui";
// images // images
import BluePlaneLogoWithoutText from "public/plane-logos/blue-without-text.png"; import BluePlaneLogoWithoutText from "public/plane-logos/blue-without-text.png";
import getConfig from "next/config";
// types // types
import type { NextPage } from "next"; import type { NextPage } from "next";
type EmailPasswordFormValues = { type EmailPasswordFormValues = {
@ -29,6 +30,8 @@ type EmailPasswordFormValues = {
const SignUp: NextPage = () => { const SignUp: NextPage = () => {
const [isLoading, setIsLoading] = useState(true); const [isLoading, setIsLoading] = useState(true);
const { publicRuntimeConfig: { NEXT_PUBLIC_ENABLE_OAUTH } } = getConfig();
const router = useRouter(); const router = useRouter();
const { setToastAlert } = useToast(); const { setToastAlert } = useToast();
@ -71,7 +74,7 @@ const SignUp: NextPage = () => {
}, [setTheme]); }, [setTheme]);
useEffect(() => { useEffect(() => {
if (parseInt(process.env.NEXT_PUBLIC_ENABLE_OAUTH || "0")) router.push("/"); if (parseInt(NEXT_PUBLIC_ENABLE_OAUTH || "0")) router.push("/");
else setIsLoading(false); else setIsLoading(false);
}, [router]); }, [router]);

View File

@ -1,11 +1,12 @@
// services // services
import getConfig from "next/config";
import APIService from "services/api.service"; import APIService from "services/api.service";
import trackEventServices from "services/track-event.service"; import trackEventServices from "services/track-event.service";
// types // types
import { ICurrentUserResponse, IGptResponse } from "types"; import { ICurrentUserResponse, IGptResponse } from "types";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const trackEvent = const trackEvent =
process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1"; process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1";

View File

@ -9,7 +9,8 @@ import {
ISaveAnalyticsFormData, ISaveAnalyticsFormData,
} from "types"; } from "types";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
class AnalyticsServices extends APIService { class AnalyticsServices extends APIService {
constructor() { constructor() {

View File

@ -2,7 +2,8 @@
import axios from "axios"; import axios from "axios";
import APIService from "services/api.service"; import APIService from "services/api.service";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
class AppInstallationsService extends APIService { class AppInstallationsService extends APIService {
constructor() { constructor() {

View File

@ -2,7 +2,8 @@
import APIService from "services/api.service"; import APIService from "services/api.service";
import { ICurrentUserResponse } from "types"; import { ICurrentUserResponse } from "types";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
class AuthService extends APIService { class AuthService extends APIService {
constructor() { constructor() {

View File

@ -5,7 +5,8 @@ import trackEventServices from "services/track-event.service";
// types // types
import type { CycleDateCheckData, ICurrentUserResponse, ICycle, IIssue } from "types"; import type { CycleDateCheckData, ICurrentUserResponse, ICycle, IIssue } from "types";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const trackEvent = const trackEvent =
process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1"; process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1";

View File

@ -4,7 +4,8 @@ import APIService from "services/api.service";
import type { ICurrentUserResponse, IEstimate, IEstimateFormData } from "types"; import type { ICurrentUserResponse, IEstimate, IEstimateFormData } from "types";
import trackEventServices from "services/track-event.service"; import trackEventServices from "services/track-event.service";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const trackEvent = const trackEvent =
process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1"; process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1";

View File

@ -1,7 +1,8 @@
// services // services
import APIService from "services/api.service"; import APIService from "services/api.service";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
interface UnSplashImage { interface UnSplashImage {
id: string; id: string;

View File

@ -1,7 +1,8 @@
import APIService from "services/api.service"; import APIService from "services/api.service";
import trackEventServices from "services/track-event.service"; import trackEventServices from "services/track-event.service";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const trackEvent = const trackEvent =
process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1"; process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1";

View File

@ -3,7 +3,8 @@ import trackEventServices from "services/track-event.service";
import { ICurrentUserResponse } from "types"; import { ICurrentUserResponse } from "types";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const trackEvent = const trackEvent =
process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1"; process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1";

View File

@ -3,7 +3,8 @@ import trackEventServices from "services/track-event.service";
import { ICurrentUserResponse, IGithubRepoInfo, IGithubServiceImportFormData } from "types"; import { ICurrentUserResponse, IGithubRepoInfo, IGithubServiceImportFormData } from "types";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const trackEvent = const trackEvent =
process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1"; process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1";

View File

@ -10,7 +10,8 @@ import {
IExportServiceResponse, IExportServiceResponse,
} from "types"; } from "types";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const trackEvent = const trackEvent =
process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1"; process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1";

View File

@ -4,7 +4,8 @@ import trackEventServices from "services/track-event.service";
// types // types
import { IJiraMetadata, IJiraResponse, IJiraImporterForm, ICurrentUserResponse } from "types"; import { IJiraMetadata, IJiraResponse, IJiraImporterForm, ICurrentUserResponse } from "types";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const trackEvent = const trackEvent =
process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1"; process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1";

View File

@ -12,7 +12,8 @@ import type {
ISubIssueResponse, ISubIssueResponse,
} from "types"; } from "types";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const trackEvent = const trackEvent =
process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1"; process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1";

View File

@ -5,7 +5,8 @@ import trackEventServices from "./track-event.service";
// types // types
import type { IIssueViewOptions, IModule, IIssue, ICurrentUserResponse } from "types"; import type { IIssueViewOptions, IModule, IIssue, ICurrentUserResponse } from "types";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const trackEvent = const trackEvent =
process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1"; process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1";

View File

@ -1,7 +1,8 @@
// services // services
import APIService from "services/api.service"; import APIService from "services/api.service";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
// types // types
import type { import type {

View File

@ -5,7 +5,8 @@ import trackEventServices from "services/track-event.service";
// types // types
import { IPage, IPageBlock, RecentPagesResponse, IIssue, ICurrentUserResponse } from "types"; import { IPage, IPageBlock, RecentPagesResponse, IIssue, ICurrentUserResponse } from "types";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const trackEvent = const trackEvent =
process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1"; process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1";

View File

@ -5,7 +5,8 @@ import trackEventServices from "services/track-event.service";
import { ICurrentUserResponse } from "types"; import { ICurrentUserResponse } from "types";
import { IProjectPublishSettings } from "store/project-publish"; import { IProjectPublishSettings } from "store/project-publish";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const trackEvent = const trackEvent =
process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1"; process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1";

View File

@ -16,7 +16,8 @@ import type {
TProjectIssuesSearchParams, TProjectIssuesSearchParams,
} from "types"; } from "types";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const trackEvent = const trackEvent =
process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1"; process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1";

View File

@ -11,7 +11,8 @@ import type {
IssueCommentReactionForm, IssueCommentReactionForm,
} from "types"; } from "types";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const trackEvent = const trackEvent =
process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1"; process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1";

View File

@ -2,7 +2,8 @@
import APIService from "services/api.service"; import APIService from "services/api.service";
import trackEventServices from "services/track-event.service"; import trackEventServices from "services/track-event.service";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const trackEvent = const trackEvent =
process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1"; process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1";

View File

@ -12,7 +12,8 @@ import type {
IUserWorkspaceDashboard, IUserWorkspaceDashboard,
} from "types"; } from "types";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const trackEvent = const trackEvent =
process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1"; process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1";

View File

@ -6,7 +6,8 @@ import { ICurrentUserResponse } from "types";
// types // types
import { IView } from "types/views"; import { IView } from "types/views";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
const trackEvent = const trackEvent =
process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1"; process.env.NEXT_PUBLIC_TRACK_EVENTS === "true" || process.env.NEXT_PUBLIC_TRACK_EVENTS === "1";

View File

@ -2,7 +2,8 @@
import APIService from "services/api.service"; import APIService from "services/api.service";
import trackEventServices from "services/track-event.service"; import trackEventServices from "services/track-event.service";
const { NEXT_PUBLIC_API_BASE_URL } = process.env; import getConfig from "next/config";
const { publicRuntimeConfig: { NEXT_PUBLIC_API_BASE_URL } } = getConfig();
// types // types
import { import {