diff --git a/src/app/(main)/settings/SettingsContext.tsx b/src/app/(main)/settings/SettingsContext.tsx
deleted file mode 100644
index 694bfed0..00000000
--- a/src/app/(main)/settings/SettingsContext.tsx
+++ /dev/null
@@ -1,6 +0,0 @@
-'use client';
-import { createContext } from 'react';
-
-export const SettingsContext = createContext(null);
-
-export default SettingsContext;
diff --git a/src/app/(main)/settings/users/UserAddButton.tsx b/src/app/(main)/settings/users/UserAddButton.tsx
index 571abf5a..5c2c068e 100644
--- a/src/app/(main)/settings/users/UserAddButton.tsx
+++ b/src/app/(main)/settings/users/UserAddButton.tsx
@@ -1,7 +1,7 @@
import { Button, Icon, Text, Modal, Icons, ModalTrigger, useToasts } from 'react-basics';
import UserAddForm from './UserAddForm';
import { useMessages } from 'components/hooks';
-import { setValue } from 'store/cache';
+import { touch } from 'store/cache';
export function UserAddButton({ onSave }: { onSave?: () => void }) {
const { formatMessage, labels, messages } = useMessages();
@@ -9,7 +9,7 @@ export function UserAddButton({ onSave }: { onSave?: () => void }) {
const handleSave = () => {
showToast({ message: formatMessage(messages.saved), variant: 'success' });
- setValue('users', Date.now());
+ touch('users');
onSave?.();
};
diff --git a/src/app/(main)/settings/websites/[id]/ShareUrl.tsx b/src/app/(main)/settings/websites/[id]/ShareUrl.tsx
index 1b5e069d..2ecc16ca 100644
--- a/src/app/(main)/settings/websites/[id]/ShareUrl.tsx
+++ b/src/app/(main)/settings/websites/[id]/ShareUrl.tsx
@@ -10,16 +10,22 @@ import {
LoadingButton,
useToasts,
} from 'react-basics';
-import { useContext, useState } from 'react';
+import { useState } from 'react';
import { getRandomChars } from 'next-basics';
import { useApi, useMessages } from 'components/hooks';
-import SettingsContext from 'app/(main)/settings/SettingsContext';
const generateId = () => getRandomChars(16);
-export function ShareUrl({ website, onSave }: { website: Website; onSave?: () => void }) {
+export function ShareUrl({
+ website,
+ hostUrl,
+ onSave,
+}: {
+ website: Website;
+ hostUrl?: string;
+ onSave?: () => void;
+}) {
const { domain, shareId } = website;
- const { hostUrl } = useContext(SettingsContext);
const { formatMessage, labels, messages } = useMessages();
const [id, setId] = useState(shareId);
const { showToast } = useToasts();
@@ -28,7 +34,7 @@ export function ShareUrl({ website, onSave }: { website: Website; onSave?: () =>
mutationFn: (data: any) => post(`/websites/${website.id}`, data),
});
- const url = `${hostUrl || location.origin}${
+ const url = `${hostUrl || process.env.hostUrl || window?.location.origin}${
process.env.basePath
}/share/${id}/${encodeURIComponent(domain)}`;
diff --git a/src/app/(main)/settings/websites/[id]/TrackingCode.tsx b/src/app/(main)/settings/websites/[id]/TrackingCode.tsx
index 35882733..bf4168d3 100644
--- a/src/app/(main)/settings/websites/[id]/TrackingCode.tsx
+++ b/src/app/(main)/settings/websites/[id]/TrackingCode.tsx
@@ -1,19 +1,18 @@
import { TextArea } from 'react-basics';
import { useMessages, useConfig } from 'components/hooks';
-import { useContext } from 'react';
-import SettingsContext from '../../SettingsContext';
-export function TrackingCode({ websiteId }: { websiteId: string }) {
+export function TrackingCode({ websiteId, hostUrl }: { websiteId: string; hostUrl?: string }) {
const { formatMessage, messages } = useMessages();
const config = useConfig();
- const { trackingCodeUrl } = useContext(SettingsContext);
const trackerScriptName =
- config?.trackerScriptName?.split(',')?.map(n => n.trim())?.[0] || 'script.js';
+ config?.trackerScriptName?.split(',')?.map((n: string) => n.trim())?.[0] || 'script.js';
const url = trackerScriptName?.startsWith('http')
? trackerScriptName
- : `${trackingCodeUrl}${process.env.basePath}/${trackerScriptName}`;
+ : `${hostUrl || process.env.hostUrl || window?.location.origin}${
+ process.env.basePath
+ }/${trackerScriptName}`;
const code = ``;
diff --git a/src/app/Providers.tsx b/src/app/Providers.tsx
index ac2f0401..3b4e52e7 100644
--- a/src/app/Providers.tsx
+++ b/src/app/Providers.tsx
@@ -1,10 +1,8 @@
'use client';
-import { useEffect, useState } from 'react';
import { IntlProvider } from 'react-intl';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { ReactBasicsProvider } from 'react-basics';
import ErrorBoundary from 'components/common/ErrorBoundary';
-import SettingsContext from 'app/(main)/settings/SettingsContext';
import { useLocale } from 'components/hooks';
import 'chartjs-adapter-date-fns';
@@ -26,34 +24,14 @@ function MessagesProvider({ children }) {
);
}
-function SettingsProvider({ children }) {
- const [config, setConfig] = useState({});
-
- useEffect(() => {
- const hostUrl = process.env.hostUrl || window?.location.origin;
-
- setConfig({
- shareUrl: hostUrl,
- trackingCodeUrl: hostUrl,
- websitesUrl: '/websites',
- settingsPath: '/settings/websites',
- websitesPath: `/websites`,
- });
- }, []);
-
- return {children};
-}
-
export function Providers({ children }) {
return (
-
-
-
- {children}
-
-
-
+
+
+ {children}
+
+
);
}
diff --git a/src/index.ts b/src/index.ts
index 9222e5bd..8bea579e 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -48,8 +48,6 @@ export * from 'app/(main)/settings/websites/WebsiteSettings';
export * from 'app/(main)/settings/websites/WebsitesDataTable';
export * from 'app/(main)/settings/websites/WebsitesTable';
-export * from 'app/(main)/settings/SettingsContext';
-
export * from 'components/common/TypeConfirmationForm';
export * from 'components/common/DataTable';
export * from 'components/common/Empty';