From fec81695e8230c367958b92c0e7e23313ebf3b06 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Mon, 29 Jan 2024 03:15:22 -0800 Subject: [PATCH] Updated website, team and user save. --- .../settings/teams/[id]/TeamSettings.tsx | 3 +- .../(main)/settings/users/UsersDataTable.tsx | 2 +- .../settings/users/[id]/UserSettings.tsx | 3 +- .../settings/websites/WebsiteAddForm.tsx | 5 +- .../settings/websites/WebsiteSettings.tsx | 42 ++++------- .../settings/websites/WebsitesDataTable.tsx | 21 +++--- .../settings/websites/WebsitesTable.tsx | 2 +- .../settings/websites/[id]/ShareUrl.tsx | 72 ++++++++++--------- .../settings/websites/[id]/WebsiteData.tsx | 22 +++--- .../websites/[id]/WebsiteDeleteForm.tsx | 5 +- .../websites/[id]/WebsiteEditForm.tsx | 34 +++++---- .../teams/[id]/websites/[websiteId]/page.tsx | 5 ++ .../(main)/websites/[id]/WebsiteContext.tsx | 6 ++ src/components/layout/PageHeader.module.css | 5 ++ src/components/layout/PageHeader.tsx | 18 +++-- 15 files changed, 128 insertions(+), 117 deletions(-) create mode 100644 src/app/(main)/teams/[id]/websites/[websiteId]/page.tsx create mode 100644 src/app/(main)/websites/[id]/WebsiteContext.tsx diff --git a/src/app/(main)/settings/teams/[id]/TeamSettings.tsx b/src/app/(main)/settings/teams/[id]/TeamSettings.tsx index ca45f0da..21aafbc4 100644 --- a/src/app/(main)/settings/teams/[id]/TeamSettings.tsx +++ b/src/app/(main)/settings/teams/[id]/TeamSettings.tsx @@ -4,6 +4,7 @@ import { Item, Loading, Tabs, Flexbox } from 'react-basics'; import TeamsContext from 'app/(main)/teams/TeamsContext'; import PageHeader from 'components/layout/PageHeader'; import { ROLES } from 'lib/constants'; +import Icons from 'components/icons'; import { useLogin, useTeam, useMessages } from 'components/hooks'; import TeamEditForm from './TeamEditForm'; import TeamMembers from './TeamMembers'; @@ -27,7 +28,7 @@ export function TeamSettings({ teamId }: { teamId: string }) { return ( - + } /> setTab(value)} diff --git a/src/app/(main)/settings/users/UsersDataTable.tsx b/src/app/(main)/settings/users/UsersDataTable.tsx index 54fae59d..a8e46cda 100644 --- a/src/app/(main)/settings/users/UsersDataTable.tsx +++ b/src/app/(main)/settings/users/UsersDataTable.tsx @@ -1,7 +1,7 @@ 'use client'; import DataTable from 'components/common/DataTable'; +import { useUsers } from 'components/hooks'; import UsersTable from './UsersTable'; -import useUsers from 'components/hooks/queries/useUsers'; export function UsersDataTable({ showActions }: { showActions?: boolean }) { const queryResult = useUsers(); diff --git a/src/app/(main)/settings/users/[id]/UserSettings.tsx b/src/app/(main)/settings/users/[id]/UserSettings.tsx index a43587d7..eda38089 100644 --- a/src/app/(main)/settings/users/[id]/UserSettings.tsx +++ b/src/app/(main)/settings/users/[id]/UserSettings.tsx @@ -1,6 +1,7 @@ 'use client'; import { Key, useState } from 'react'; import { Item, Loading, Tabs } from 'react-basics'; +import Icons from 'components/icons'; import UserEditForm from '../UserEditForm'; import PageHeader from 'components/layout/PageHeader'; import { useMessages, useUser } from 'components/hooks'; @@ -17,7 +18,7 @@ export function UserSettings({ userId }: { userId: string }) { return ( <> - + } /> {formatMessage(labels.details)} {formatMessage(labels.websites)} diff --git a/src/app/(main)/settings/websites/WebsiteAddForm.tsx b/src/app/(main)/settings/websites/WebsiteAddForm.tsx index 64c457d1..fe8420f9 100644 --- a/src/app/(main)/settings/websites/WebsiteAddForm.tsx +++ b/src/app/(main)/settings/websites/WebsiteAddForm.tsx @@ -10,8 +10,6 @@ import { import { useApi } from 'components/hooks'; import { DOMAIN_REGEX } from 'lib/constants'; import { useMessages } from 'components/hooks'; -import { useContext } from 'react'; -import SettingsContext from '../SettingsContext'; export function WebsiteAddForm({ teamId, @@ -23,10 +21,9 @@ export function WebsiteAddForm({ onClose?: () => void; }) { const { formatMessage, labels, messages } = useMessages(); - const { websitesUrl } = useContext(SettingsContext); const { post, useMutation } = useApi(); const { mutate, error, isPending } = useMutation({ - mutationFn: (data: any) => post(websitesUrl, { ...data, teamId }), + mutationFn: (data: any) => post('/websites', { ...data, teamId }), }); const handleSubmit = async (data: any) => { diff --git a/src/app/(main)/settings/websites/WebsiteSettings.tsx b/src/app/(main)/settings/websites/WebsiteSettings.tsx index 791f7e4b..55037cee 100644 --- a/src/app/(main)/settings/websites/WebsiteSettings.tsx +++ b/src/app/(main)/settings/websites/WebsiteSettings.tsx @@ -1,39 +1,23 @@ 'use client'; import { useState, Key } from 'react'; -import { Item, Tabs, useToasts, Button, Text, Icon, Icons, Loading } from 'react-basics'; -import { useRouter } from 'next/navigation'; +import { Item, Tabs, Button, Text, Icon, Loading } from 'react-basics'; import Link from 'next/link'; +import Icons from 'components/icons'; import PageHeader from 'components/layout/PageHeader'; import WebsiteEditForm from './[id]/WebsiteEditForm'; import WebsiteData from './[id]/WebsiteData'; import TrackingCode from './[id]/TrackingCode'; import ShareUrl from './[id]/ShareUrl'; import { useWebsite, useMessages } from 'components/hooks'; -import { touch } from 'store/cache'; +import WebsiteContext from 'app/(main)/websites/[id]/WebsiteContext'; export function WebsiteSettings({ websiteId, openExternal = false }) { - const router = useRouter(); - const { formatMessage, labels, messages } = useMessages(); - const { showToast } = useToasts(); - - const { data: website, isLoading } = useWebsite(websiteId, { gcTime: 0 }); + const { formatMessage, labels } = useMessages(); + const { data: website, isLoading, refetch } = useWebsite(websiteId, { gcTime: 0 }); const [tab, setTab] = useState('details'); - const showSuccess = () => { - showToast({ message: formatMessage(messages.saved), variant: 'success' }); - }; - const handleSave = () => { - showSuccess(); - touch('websites'); - }; - - const handleReset = async (value: string) => { - if (value === 'delete') { - router.push('/settings/websites'); - } else if (value === 'reset') { - showSuccess(); - } + refetch(); }; if (isLoading) { @@ -41,8 +25,8 @@ export function WebsiteSettings({ websiteId, openExternal = false }) { } return ( - <> - + + }>