From 7450b76e6d4dde625fc449427f9876887b5bd408 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Mon, 9 Jan 2023 23:59:26 -0800 Subject: [PATCH] Refactored settings components. --- assets/lock.svg | 1 + assets/user.svg | 2 +- components/common/DateFilter.js | 2 +- components/common/EventDataButton.js | 2 +- components/common/HamburgerButton.js | 5 +- components/forms/Form.module.css | 63 ----------- components/forms/TrackingCodeForm.js | 23 ---- components/layout/Header.js | 14 --- components/layout/Layout.js | 12 --- components/layout/Page.js | 2 +- .../{forms => metrics}/DatePickerForm.js | 0 .../DatePickerForm.module.css | 0 .../{forms => metrics}/EventDataForm.js | 2 +- .../EventDataForm.module.css | 0 components/nav/Nav.js | 8 +- components/pages/{ => console}/TestConsole.js | 0 .../{ => console}/TestConsole.module.css | 0 components/pages/{ => dashboard}/Dashboard.js | 4 +- .../pages/{ => dashboard}/DashboardEdit.js | 0 .../{ => dashboard}/DashboardEdit.module.css | 0 .../{forms => pages/login}/LoginForm.js | 7 +- .../login}/LoginForm.module.css | 0 .../pages/{ => realtime}/RealtimeDashboard.js | 0 .../RealtimeDashboard.module.css | 0 .../SettingsLayout.js} | 4 +- .../SettingsLayout.module.css} | 0 .../pages/settings/account/AccountDetails.js | 69 ++++++++++++ .../pages/settings/account/AccountEditForm.js | 39 +++++++ .../settings/account/ApiKeyDeleteForm.js | 29 +++++ .../pages/settings/account/ApiKeysList.js | 46 ++++++++ .../pages/settings/account/ApiKeysTable.js | 100 ++++++++++++++++++ .../settings/account/ApiKeysTable.module.css | 31 ++++++ .../settings/account/PasswordEditForm.js | 67 ++++++++++++ .../settings/account/PasswordResetForm.js | 50 +++++++++ .../{ => settings/profile}/ProfileSettings.js | 2 +- .../settings/teams}/TeamAddForm.js | 6 +- .../pages/{ => settings/teams}/TeamDetails.js | 17 ++- .../settings/teams}/TeamEditForm.js | 35 +++++- .../pages/settings/teams/TeamMembers.js | 16 +++ .../settings/teams}/TeamMembersTable.js | 27 +++-- .../pages/{ => settings/teams}/TeamsList.js | 27 ++--- .../settings/teams}/TeamsTable.js | 11 +- .../settings/teams}/TeamsTable.module.css | 0 .../pages/{ => settings/users}/UserDelete.js | 2 +- .../settings/users}/UserDeleteForm.js | 7 +- .../settings/users}/UserEditForm.js | 0 .../settings/users}/UserForm.module.css | 0 .../settings/users}/UserPasswordForm.js | 0 .../users}/UserPasswordForm.module.css | 0 .../{ => settings/users}/UserSettings.js | 6 +- .../pages/{ => settings/users}/UsersList.js | 2 +- .../settings/users}/UsersTable.js | 0 .../settings/users}/UsersTable.module.css | 0 .../settings/websites/ShareUrl.js} | 4 +- .../pages/settings/websites/TrackingCode.js | 16 +++ .../settings/websites}/WebsiteAddForm.js | 6 +- .../settings/websites}/WebsiteDeleteForm.js | 10 +- .../websites/WebsiteDetails.js} | 27 +++-- .../settings/websites}/WebsiteEditForm.js | 3 +- .../settings/websites}/WebsiteReset.js | 4 +- .../settings/websites}/WebsiteResetForm.js | 10 +- .../{ => settings/websites}/WebsitesList.js | 28 +++-- .../settings/websites}/WebsitesTable.js | 6 +- .../websites}/WebsitesTable.module.css | 0 .../pages/{ => websites}/WebsiteChartList.js | 0 .../pages/{ => websites}/WebsiteDetails.js | 6 +- .../{ => websites}/WebsiteDetails.module.css | 0 .../{ => websites}/WebsiteList.module.css | 0 lib/constants.ts | 1 + package.json | 2 +- pages/404.js | 12 ++- pages/_app.js | 16 +++ pages/console/[[...id]].js | 2 +- pages/dashboard/[[...id]].js | 2 +- pages/login.js | 2 +- pages/profile/index.js | 17 --- pages/realtime.js | 2 +- pages/settings/index.js | 10 ++ pages/settings/profile/index.js | 10 ++ pages/{ => settings}/teams/[...id].js | 8 +- pages/settings/teams/index.js | 17 +++ pages/{ => settings}/users/[...id].js | 8 +- pages/{ => settings}/users/index.js | 8 +- .../websites/[id]/index.js} | 10 +- pages/{ => settings}/websites/index.js | 8 +- pages/share/[...id].js | 2 +- pages/teams/index.js | 17 --- pages/websites/[id]/index.js | 2 +- styles/index.css | 36 +------ styles/locale.css | 29 +++++ yarn.lock | 8 +- 91 files changed, 736 insertions(+), 353 deletions(-) create mode 100644 assets/lock.svg delete mode 100644 components/forms/Form.module.css delete mode 100644 components/forms/TrackingCodeForm.js rename components/{forms => metrics}/DatePickerForm.js (100%) rename components/{forms => metrics}/DatePickerForm.module.css (100%) rename components/{forms => metrics}/EventDataForm.js (99%) rename components/{forms => metrics}/EventDataForm.module.css (100%) rename components/pages/{ => console}/TestConsole.js (100%) rename components/pages/{ => console}/TestConsole.module.css (100%) rename components/pages/{ => dashboard}/Dashboard.js (92%) rename components/pages/{ => dashboard}/DashboardEdit.js (100%) rename components/pages/{ => dashboard}/DashboardEdit.module.css (100%) rename components/{forms => pages/login}/LoginForm.js (85%) rename components/{forms => pages/login}/LoginForm.module.css (100%) rename components/pages/{ => realtime}/RealtimeDashboard.js (100%) rename components/pages/{ => realtime}/RealtimeDashboard.module.css (100%) rename components/pages/{Settings.js => settings/SettingsLayout.js} (80%) rename components/pages/{Settings.module.css => settings/SettingsLayout.module.css} (100%) create mode 100644 components/pages/settings/account/AccountDetails.js create mode 100644 components/pages/settings/account/AccountEditForm.js create mode 100644 components/pages/settings/account/ApiKeyDeleteForm.js create mode 100644 components/pages/settings/account/ApiKeysList.js create mode 100644 components/pages/settings/account/ApiKeysTable.js create mode 100644 components/pages/settings/account/ApiKeysTable.module.css create mode 100644 components/pages/settings/account/PasswordEditForm.js create mode 100644 components/pages/settings/account/PasswordResetForm.js rename components/pages/{ => settings/profile}/ProfileSettings.js (94%) rename components/{forms => pages/settings/teams}/TeamAddForm.js (81%) rename components/pages/{ => settings/teams}/TeamDetails.js (73%) rename components/{forms => pages/settings/teams}/TeamEditForm.js (51%) create mode 100644 components/pages/settings/teams/TeamMembers.js rename components/{tables => pages/settings/teams}/TeamMembersTable.js (69%) rename components/pages/{ => settings/teams}/TeamsList.js (63%) rename components/{tables => pages/settings/teams}/TeamsTable.js (82%) rename components/{tables => pages/settings/teams}/TeamsTable.module.css (100%) rename components/pages/{ => settings/users}/UserDelete.js (91%) rename components/{forms => pages/settings/users}/UserDeleteForm.js (78%) rename components/{forms => pages/settings/users}/UserEditForm.js (100%) rename components/{forms => pages/settings/users}/UserForm.module.css (100%) rename components/{forms => pages/settings/users}/UserPasswordForm.js (100%) rename components/{forms => pages/settings/users}/UserPasswordForm.module.css (100%) rename components/pages/{ => settings/users}/UserSettings.js (91%) rename components/pages/{ => settings/users}/UsersList.js (94%) rename components/{tables => pages/settings/users}/UsersTable.js (100%) rename components/{tables => pages/settings/users}/UsersTable.module.css (100%) rename components/{forms/ShareUrlForm.js => pages/settings/websites/ShareUrl.js} (93%) create mode 100644 components/pages/settings/websites/TrackingCode.js rename components/{forms => pages/settings/websites}/WebsiteAddForm.js (86%) rename components/{forms => pages/settings/websites}/WebsiteDeleteForm.js (72%) rename components/pages/{WebsiteSettings.js => settings/websites/WebsiteDetails.js} (67%) rename components/{forms => pages/settings/websites}/WebsiteEditForm.js (94%) rename components/{forms => pages/settings/websites}/WebsiteReset.js (89%) rename components/{forms => pages/settings/websites}/WebsiteResetForm.js (72%) rename components/pages/{ => settings/websites}/WebsitesList.js (64%) rename components/{tables => pages/settings/websites}/WebsitesTable.js (92%) rename components/{tables => pages/settings/websites}/WebsitesTable.module.css (100%) rename components/pages/{ => websites}/WebsiteChartList.js (100%) rename components/pages/{ => websites}/WebsiteDetails.js (97%) rename components/pages/{ => websites}/WebsiteDetails.module.css (100%) rename components/pages/{ => websites}/WebsiteList.module.css (100%) delete mode 100644 pages/profile/index.js create mode 100644 pages/settings/index.js create mode 100644 pages/settings/profile/index.js rename pages/{ => settings}/teams/[...id].js (61%) create mode 100644 pages/settings/teams/index.js rename pages/{ => settings}/users/[...id].js (61%) rename pages/{ => settings}/users/index.js (60%) rename pages/{websites/[id]/settings.js => settings/websites/[id]/index.js} (54%) rename pages/{ => settings}/websites/index.js (62%) delete mode 100644 pages/teams/index.js create mode 100644 styles/locale.css diff --git a/assets/lock.svg b/assets/lock.svg new file mode 100644 index 00000000..c13fb7c7 --- /dev/null +++ b/assets/lock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/user.svg b/assets/user.svg index 62df2c42..133b1bc1 100644 --- a/assets/user.svg +++ b/assets/user.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/components/common/DateFilter.js b/components/common/DateFilter.js index e48a7925..3c0431c4 100644 --- a/components/common/DateFilter.js +++ b/components/common/DateFilter.js @@ -1,5 +1,5 @@ import Calendar from 'assets/calendar-alt.svg'; -import DatePickerForm from 'components/forms/DatePickerForm'; +import DatePickerForm from 'components/metrics/DatePickerForm'; import { endOfYear, isSameDay } from 'date-fns'; import useLocale from 'hooks/useLocale'; import { dateFormat } from 'lib/date'; diff --git a/components/common/EventDataButton.js b/components/common/EventDataButton.js index 66f06871..683bcf20 100644 --- a/components/common/EventDataButton.js +++ b/components/common/EventDataButton.js @@ -1,5 +1,5 @@ import List from 'assets/list-ul.svg'; -import EventDataForm from 'components/forms/EventDataForm'; +import EventDataForm from 'components/metrics/EventDataForm'; import PropTypes from 'prop-types'; import { useState } from 'react'; import { Button, Icon, Modal } from 'react-basics'; diff --git a/components/common/HamburgerButton.js b/components/common/HamburgerButton.js index 67a1c83a..cb362297 100644 --- a/components/common/HamburgerButton.js +++ b/components/common/HamburgerButton.js @@ -12,7 +12,10 @@ const menuItems = [ value: '/dashboard', }, { label: , value: '/realtime' }, - { label: , value: '/settings' }, + { + label: , + value: '/settings', + }, { label: , value: '/settings/profile', diff --git a/components/forms/Form.module.css b/components/forms/Form.module.css deleted file mode 100644 index 9185da43..00000000 --- a/components/forms/Form.module.css +++ /dev/null @@ -1,63 +0,0 @@ -.form { - display: flex; - flex-direction: column; - gap: 30px; - width: 300px; - margin: 0 auto; -} - -.header { - font-size: 24px; - font-weight: 700; - text-align: center; - margin: 30px auto; -} - -.info { - text-align: center; - padding: 30px 0; -} - -.footer { - display: flex; - flex-direction: column; - gap: 20px; - font-size: 14px; - text-align: center; - margin: 30px auto; -} - -.footer a { - font-weight: 600; -} - -.buttons { - justify-content: center; -} - -.button { - flex: 1; - justify-content: center; -} - -.error { - width: 600px; - margin: 0 auto 30px; - background: var(--base50); - padding: 16px; - color: var(--red400); - border: 1px solid var(--red400); - border-radius: 5px; - text-align: center; -} - -.success { - width: 600px; - margin: 60px auto; - background: var(--base50); - padding: 16px; - color: var(--green400); - border: 1px solid var(--green400); - border-radius: 5px; - text-align: center; -} diff --git a/components/forms/TrackingCodeForm.js b/components/forms/TrackingCodeForm.js deleted file mode 100644 index 191248f5..00000000 --- a/components/forms/TrackingCodeForm.js +++ /dev/null @@ -1,23 +0,0 @@ -import useConfig from 'hooks/useConfig'; -import { useRef } from 'react'; -import { Form, FormRow, TextArea } from 'react-basics'; - -export default function TrackingCodeForm({ websiteId }) { - const ref = useRef(null); - const { trackerScriptName } = useConfig(); - const code = ``; - - return ( - <> -
- -

- To track stats for this website, place the following code in the{' '} - <head> section of your HTML. -

-