diff --git a/apps/web/app/(app)/workspaces/[workspaceId]/components/MainNavigation.tsx b/apps/web/app/(app)/workspaces/[workspaceId]/components/MainNavigation.tsx index 9937400f32..bb2f9205e1 100644 --- a/apps/web/app/(app)/workspaces/[workspaceId]/components/MainNavigation.tsx +++ b/apps/web/app/(app)/workspaces/[workspaceId]/components/MainNavigation.tsx @@ -32,6 +32,7 @@ import { getWorkspacesForSwitcherAction, } from "@/app/(app)/workspaces/[workspaceId]/actions"; import { NavigationLink } from "@/app/(app)/workspaces/[workspaceId]/components/NavigationLink"; +import { SettingsSidebarContent } from "@/app/(app)/workspaces/[workspaceId]/components/SettingsSidebarContent"; import { isNewerVersion } from "@/app/(app)/workspaces/[workspaceId]/lib/utils"; import FBLogo from "@/images/formbricks-wordmark.svg"; import { cn } from "@/lib/cn"; @@ -52,6 +53,7 @@ import { DropdownMenuSeparator, DropdownMenuTrigger, } from "@/modules/ui/components/dropdown-menu"; +import { GoBackButton } from "@/modules/ui/components/go-back-button"; import { ModalButton } from "@/modules/ui/components/upgrade-prompt"; import { CreateWorkspaceModal } from "@/modules/workspaces/components/create-workspace-modal"; import { WorkspaceLimitModal } from "@/modules/workspaces/components/workspace-limit-modal"; @@ -73,22 +75,24 @@ interface NavigationProps { } const isActiveWorkspaceSetting = (pathname: string, settingId: string): boolean => { - if (pathname.includes("/settings/")) { - return false; - } - - const pattern = new RegExp(`/workspace/${settingId}(?:/|$)`); - return pattern.test(pathname); + const segment = `/settings/workspace/${settingId}`; + return pathname.includes(segment + "/") || pathname.endsWith(segment); }; const isActiveOrganizationSetting = (pathname: string, settingId: string): boolean => { - const accountSettingsPattern = /\/settings\/(profile|account|notifications|security|appearance)(?:\/|$)/; - if (accountSettingsPattern.test(pathname)) { + const accountPrefixes = [ + "/settings/profile", + "/settings/account", + "/settings/notifications", + "/settings/security", + "/settings/appearance", + ]; + if (accountPrefixes.some((prefix) => pathname.includes(prefix + "/") || pathname.endsWith(prefix))) { return false; } - const pattern = new RegExp(`/settings/${settingId}(?:/|$)`); - return pattern.test(pathname); + const segment = `/settings/${settingId}`; + return pathname.includes(segment + "/") || pathname.endsWith(segment); }; export const MainNavigation = ({ @@ -120,6 +124,7 @@ export const MainNavigation = ({ : t("common.you_are_not_authorized_to_perform_this_action"); const isOwnerOrManager = isManager || isOwner; + const isSettingsMode = pathname?.includes("/settings"); const toggleSidebar = () => { setIsCollapsed(!isCollapsed); @@ -139,13 +144,6 @@ export const MainNavigation = ({ return () => clearTimeout(timeoutId); }, [isCollapsed]); - useEffect(() => { - // Auto collapse workspace navbar on org and account settings - if (pathname?.includes("/settings")) { - setIsCollapsed(true); - } - }, [pathname]); - const mainNavigationSections = useMemo( () => [ { @@ -198,29 +196,21 @@ export const MainNavigation = ({ [t, workspace.id, pathname, isMembershipPending, isBilling] ); - const configurationNavigationItem = useMemo( + const settingsNavigationItem = useMemo( () => ({ - name: t("common.configuration"), - href: `/workspaces/${workspace.id}/general`, - icon: Cog, - isActive: - pathname?.includes("/general") || - pathname?.includes("/look") || - pathname?.includes("/app-connection") || - pathname?.includes("/feedback-sources") || - pathname?.includes("/integrations") || - pathname?.includes("/teams") || - pathname?.includes("/languages") || - pathname?.includes("/tags"), + name: t("common.settings"), + href: `/workspaces/${workspace.id}/settings`, + icon: SettingsIcon, + isActive: isSettingsMode, disabled: isMembershipPending || isBilling, }), - [t, workspace.id, pathname, isMembershipPending, isBilling] + [t, workspace.id, isSettingsMode, isMembershipPending, isBilling] ); const dropdownNavigation = [ { label: t("common.account"), - href: `/workspaces/${workspace.id}/settings/profile`, + href: `/workspaces/${workspace.id}/settings/account/profile`, icon: UserCircleIcon, }, { @@ -263,17 +253,17 @@ export const MainNavigation = ({ { id: "general", label: t("common.general"), - href: `/workspaces/${workspace.id}/general`, + href: `/workspaces/${workspace.id}/settings/workspace/general`, }, { id: "look", - label: t("common.look_and_feel"), - href: `/workspaces/${workspace.id}/look`, + label: t("common.appearance"), + href: `/workspaces/${workspace.id}/settings/workspace/look`, }, { id: "app-connection", - label: t("common.website_and_app_connection"), - href: `/workspaces/${workspace.id}/app-connection`, + label: t("common.connect_your_app"), + href: `/workspaces/${workspace.id}/settings/workspace/app-connection`, }, { id: "feedback-sources", @@ -283,22 +273,22 @@ export const MainNavigation = ({ { id: "integrations", label: t("common.integrations"), - href: `/workspaces/${workspace.id}/integrations`, + href: `/workspaces/${workspace.id}/settings/workspace/integrations`, }, { id: "teams", label: t("common.team_access"), - href: `/workspaces/${workspace.id}/teams`, + href: `/workspaces/${workspace.id}/settings/workspace/teams`, }, { id: "languages", label: t("common.survey_languages"), - href: `/workspaces/${workspace.id}/languages`, + href: `/workspaces/${workspace.id}/settings/workspace/languages`, }, { id: "tags", label: t("common.tags"), - href: `/workspaces/${workspace.id}/tags`, + href: `/workspaces/${workspace.id}/settings/workspace/tags`, }, ]; @@ -310,7 +300,7 @@ export const MainNavigation = ({ }, { id: "teams", - label: t("common.members_and_teams"), + label: t("common.teams"), href: `/workspaces/${workspace.id}/settings/teams`, }, { @@ -528,6 +518,28 @@ export const MainNavigation = ({ ]; }; + const handleSettingsWorkspaceChange = useCallback( + (id: string) => { + startTransition(() => { + router.push(`/workspaces/${id}/settings/workspace/general`); + }); + }, + [router] + ); + + const handleSettingsOrganizationChange = useCallback( + (id: string) => { + startTransition(() => { + if (id === organization.id) { + router.push(`/workspaces/${workspace.id}/settings/organization/general`); + } else { + router.push(`/organizations/${id}/`); + } + }); + }, + [router, organization.id, workspace.id] + ); + const switcherTriggerClasses = cn( "w-full border-t px-3 py-3 text-left transition-colors duration-200 hover:bg-slate-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-500 focus-visible:ring-inset", isCollapsed ? "flex items-center justify-center" : "" @@ -544,353 +556,386 @@ export const MainNavigation = ({ )} {openWorkspaceLimitModal && ( diff --git a/apps/web/app/(app)/workspaces/[workspaceId]/components/SettingsSidebarContent.tsx b/apps/web/app/(app)/workspaces/[workspaceId]/components/SettingsSidebarContent.tsx index 65198a9a6b..0cad5b5b40 100644 --- a/apps/web/app/(app)/workspaces/[workspaceId]/components/SettingsSidebarContent.tsx +++ b/apps/web/app/(app)/workspaces/[workspaceId]/components/SettingsSidebarContent.tsx @@ -255,15 +255,22 @@ export const SettingsSidebarContent = ({ disabled: isBilling, }, { - id: "look", - label: t("common.look_and_feel"), - href: `${basePath}/workspace/look`, - icon: , + id: "teams", + label: t("common.team_access"), + href: `${basePath}/workspace/teams`, + icon: , + disabled: isBilling, + }, + { + id: "languages", + label: t("common.survey_languages"), + href: `${basePath}/workspace/languages`, + icon: , disabled: isBilling, }, { id: "app-connection", - label: t("common.website_and_app_connection"), + label: t("common.connect_your_app"), href: `${basePath}/workspace/app-connection`, icon: , disabled: isBilling, @@ -276,17 +283,17 @@ export const SettingsSidebarContent = ({ disabled: isBilling, }, { - id: "teams", - label: t("common.team_access"), - href: `${basePath}/workspace/teams`, - icon: , + id: "look", + label: t("common.appearance"), + href: `${basePath}/workspace/look`, + icon: , disabled: isBilling, }, { - id: "languages", - label: t("common.survey_languages"), - href: `${basePath}/workspace/languages`, - icon: , + id: "user-actions", + label: t("common.user_actions"), + href: `${basePath}/workspace/user-actions`, + icon: , disabled: isBilling, }, { @@ -308,7 +315,7 @@ export const SettingsSidebarContent = ({ }, { id: "org-teams", - label: t("common.members_and_teams"), + label: t("common.teams"), href: `${basePath}/organization/teams`, icon: , disabled: isBilling, @@ -347,7 +354,7 @@ export const SettingsSidebarContent = ({ const accountItems: NavItem[] = [ { id: "profile", - label: t("common.profile"), + label: t("common.your_profile"), href: `${basePath}/account/profile`, icon: , }, @@ -380,42 +387,48 @@ export const SettingsSidebarContent = ({ }; return ( -
- } - label={t("common.workspace")} - isCollapsed={isCollapsed} - isTextVisible={isTextVisible} - switcherName={workspaceName} - switcherItems={workspaces} - isLoadingSwitcher={isLoadingWorkspaces} - currentId={workspaceId} - onSwitcherChange={onWorkspaceChange} - onSwitcherOpen={onWorkspaceDropdownOpen} - /> - {renderSection(workspaceItems)} +
+
+ } + label={t("common.workspace")} + isCollapsed={isCollapsed} + isTextVisible={isTextVisible} + switcherName={workspaceName} + switcherItems={workspaces} + isLoadingSwitcher={isLoadingWorkspaces} + currentId={workspaceId} + onSwitcherChange={onWorkspaceChange} + onSwitcherOpen={onWorkspaceDropdownOpen} + /> + {renderSection(workspaceItems)} +
- } - label={t("common.organization")} - isCollapsed={isCollapsed} - isTextVisible={isTextVisible} - switcherName={organizationName} - switcherItems={organizations} - isLoadingSwitcher={isLoadingOrganizations} - currentId={organizationId} - onSwitcherChange={onOrganizationChange} - onSwitcherOpen={onOrganizationDropdownOpen} - /> - {renderSection(organizationItems)} +
+ } + label={t("common.organization")} + isCollapsed={isCollapsed} + isTextVisible={isTextVisible} + switcherName={organizationName} + switcherItems={organizations} + isLoadingSwitcher={isLoadingOrganizations} + currentId={organizationId} + onSwitcherChange={onOrganizationChange} + onSwitcherOpen={onOrganizationDropdownOpen} + /> + {renderSection(organizationItems)} +
- } - label={t("common.account")} - isCollapsed={isCollapsed} - isTextVisible={isTextVisible} - /> - {renderSection(accountItems)} +
+ } + label={t("common.account")} + isCollapsed={isCollapsed} + isTextVisible={isTextVisible} + /> + {renderSection(accountItems)} +
); }; diff --git a/apps/web/app/(app)/workspaces/[workspaceId]/components/workspace-breadcrumb.tsx b/apps/web/app/(app)/workspaces/[workspaceId]/components/workspace-breadcrumb.tsx index 394ad076e0..b4966578a6 100644 --- a/apps/web/app/(app)/workspaces/[workspaceId]/components/workspace-breadcrumb.tsx +++ b/apps/web/app/(app)/workspaces/[workspaceId]/components/workspace-breadcrumb.tsx @@ -37,16 +37,6 @@ interface WorkspaceBreadcrumbProps { isMembershipPending: boolean; } -const isActiveWorkspaceSetting = (pathname: string, settingId: string): boolean => { - // Match /{settingId} or /{settingId}/... but exclude settings paths - if (pathname.includes("/settings/")) { - return false; - } - // Check if path matches /workspaces/{id}/{settingId} (with optional trailing path) - const pattern = new RegExp(`/workspaces/[^/]+/${settingId}(?:/|$)`); - return pattern.test(pathname); -}; - export const WorkspaceBreadcrumb = ({ currentWorkspaceId, currentWorkspaceName, @@ -106,17 +96,17 @@ export const WorkspaceBreadcrumb = ({ { id: "general", label: t("common.general"), - href: `${workspaceBasePath}/general`, + href: `${workspaceBasePath}/settings/workspace/general`, }, { id: "look", - label: t("common.look_and_feel"), - href: `${workspaceBasePath}/look`, + label: t("common.appearance"), + href: `${workspaceBasePath}/settings/workspace/look`, }, { id: "app-connection", - label: t("common.website_and_app_connection"), - href: `${workspaceBasePath}/app-connection`, + label: t("common.connect_your_app"), + href: `${workspaceBasePath}/settings/workspace/app-connection`, }, { id: "feedback-sources", @@ -126,27 +116,27 @@ export const WorkspaceBreadcrumb = ({ { id: "integrations", label: t("common.integrations"), - href: `${workspaceBasePath}/integrations`, + href: `${workspaceBasePath}/settings/workspace/integrations`, }, { id: "teams", label: t("common.team_access"), - href: `${workspaceBasePath}/teams`, + href: `${workspaceBasePath}/settings/workspace/teams`, }, { id: "languages", label: t("common.survey_languages"), - href: `${workspaceBasePath}/languages`, + href: `${workspaceBasePath}/settings/workspace/languages`, }, { id: "tags", label: t("common.tags"), - href: `${workspaceBasePath}/tags`, + href: `${workspaceBasePath}/settings/workspace/tags`, }, { id: "unify", label: t("common.unify"), - href: `${workspaceBasePath}/workspace/unify`, + href: `${workspaceBasePath}/settings/workspace/unify`, }, ]; @@ -181,9 +171,9 @@ export const WorkspaceBreadcrumb = ({ setOpenCreateWorkspaceModal(true); }; - const handleWorkspaceSettingsNavigation = (settingId: string) => { + const handleWorkspaceSettingsNavigation = (href: string) => { startTransition(() => { - router.push(`${workspaceBasePath}/${settingId}`); + router.push(href); }); }; @@ -320,8 +310,8 @@ export const WorkspaceBreadcrumb = ({ ) : ( handleWorkspaceSettingsNavigation(setting.id)} + checked={pathname.includes(setting.href)} + onClick={() => handleWorkspaceSettingsNavigation(setting.href)} className="cursor-pointer"> {setting.label} diff --git a/apps/web/app/(app)/workspaces/[workspaceId]/settings/organization/components/OrganizationSettingsNavbar.tsx b/apps/web/app/(app)/workspaces/[workspaceId]/settings/organization/components/OrganizationSettingsNavbar.tsx index ffdb447013..2c25fc809d 100644 --- a/apps/web/app/(app)/workspaces/[workspaceId]/settings/organization/components/OrganizationSettingsNavbar.tsx +++ b/apps/web/app/(app)/workspaces/[workspaceId]/settings/organization/components/OrganizationSettingsNavbar.tsx @@ -38,7 +38,7 @@ export const OrganizationSettingsNavbar = ({ }, { id: "teams", - label: t("common.members_and_teams"), + label: t("common.teams"), href: `${workspaceBasePath}/settings/organization/teams`, current: pathname?.includes("/teams"), }, diff --git a/apps/web/app/(app)/workspaces/[workspaceId]/settings/workspace/(setup)/user-actions/loading.tsx b/apps/web/app/(app)/workspaces/[workspaceId]/settings/workspace/(setup)/user-actions/loading.tsx new file mode 100644 index 0000000000..d51d43ffc0 --- /dev/null +++ b/apps/web/app/(app)/workspaces/[workspaceId]/settings/workspace/(setup)/user-actions/loading.tsx @@ -0,0 +1,3 @@ +import { UserActionsLoading } from "@/modules/workspaces/settings/(setup)/user-actions/loading"; + +export default UserActionsLoading; diff --git a/apps/web/app/(app)/workspaces/[workspaceId]/settings/workspace/(setup)/user-actions/page.tsx b/apps/web/app/(app)/workspaces/[workspaceId]/settings/workspace/(setup)/user-actions/page.tsx new file mode 100644 index 0000000000..f53866ad26 --- /dev/null +++ b/apps/web/app/(app)/workspaces/[workspaceId]/settings/workspace/(setup)/user-actions/page.tsx @@ -0,0 +1,3 @@ +import { UserActionsPage } from "@/modules/workspaces/settings/(setup)/user-actions/page"; + +export default UserActionsPage; diff --git a/apps/web/i18n.lock b/apps/web/i18n.lock index 6dc015ce1a..1eee98b8a1 100644 --- a/apps/web/i18n.lock +++ b/apps/web/i18n.lock @@ -118,6 +118,7 @@ checksums: common/api_keys: f961b547cd312cc8b9b79f0c9e0b2cc3 common/app: 77e32ac4e5a1e01bc9a6a15fdfef9bf8 common/app_survey: f076d131d20bfdadb35fba29c8275232 + common/appearance: cdd8c41c5fb859234e8a603544fce631 common/apply_filters: 6543c1e80038b3da0f4a42848d08d4d1 common/archived: cf5127ecfd7e43a35466a1ba5fe16450 common/are_you_sure: 6d5cd13628a7887711fd0c29f1123652 @@ -152,6 +153,7 @@ checksums: common/confirm: 90930b51154032f119fa75c1bd422d8b common/connect: 8778ee245078a8be4a2ce855c8c56edc common/connect_formbricks: a9dd747575e7e035da69251366df6f95 + common/connect_your_app: 347e3bd3bdfc4a4e9d037ba837f3a48c common/connected: aa0ceca574641de34c74b9e590664230 common/contact: 9afa39bc47019ee6dec6c74b6273967c common/contacts: d5b6c3f890b3904eaf5754081945c03d @@ -269,11 +271,9 @@ checksums: common/loading: c6bc8c380e83336c81a92594d3f23000 common/logo: 47fa6b3978c1c06acc29b6cae393b0c9 common/logout: 07948fdf20705e04a7bf68ab197512bf - common/look_and_feel: 9125503712626d495cedec7a79f1418c common/manage: a3d40c0267b81ae53c9598eaeb05087d common/marketing: fcf0f06f8b64b458c7ca6d95541a3cc8 common/members: 0932e80cba1e3e0a7f52bb67ff31da32 - common/members_and_teams: bf5c3fadcb9fc23533ec1532b805ac08 common/membership: 83c856bbc2af99d8c3d860959d1d2a85 common/membership_not_found: 7ac63584af23396aace9992ad919ffd4 common/meta: 842eac888f134f3525f8ea613d933687 @@ -324,6 +324,7 @@ checksums: common/or: 7b133c38bec0d5ee23cc6bcf9a8de50b common/organization: 3dc8489af7e74121f65ce6d9677bc94d common/organization_id: ef09b71c84a25b5da02a23c77e68a335 + common/organization_settings: 11528aa89ae9935e55dcb54478058775 common/other: 79acaa6cd481262bea4e743a422529d2 common/other_filters: 20b09213c131db47eb8b23e72d0c4bea common/other_placeholder: f3a0fa2eaaf75aa92b290449c928c081 @@ -449,6 +450,7 @@ checksums: common/trial_one_day_remaining: 2d64d39fca9589c4865357817bcc24d5 common/try_again: 33dd8820e743e35a66e6977f69e9d3b5 common/type: f04471a7ddac844b9ad145eb9911ef75 + common/unify: bdb518a1e62f51049ccc4366b909fb0a common/unknown_survey: dd8f6985e17ccf19fac1776e18b2c498 common/unlock_more_workspaces_with_a_higher_plan: fe1590075b855bb4306c9388b65143b0 common/update: 079fc039262fd31b10532929685c2d1b @@ -460,6 +462,7 @@ checksums: common/upload_input_description: 64f59bc339568d52b8464b82546b70ea common/url: ca97457614226960d41dd18c3c29c86b common/user: 61073457a5c3901084b557d065f876be + common/user_actions: 568ddeca3c5969341af83ff43f162233 common/user_id: 37f5ba37f71cb50607af32a6a203b1d4 common/variable: c13db5775ba9791b1522cc55c9c7acce common/variable_ids: 44bf93b70703b7699fa9f21bc6c8eed4 @@ -471,7 +474,6 @@ checksums: common/we_were_unable_to_verify_your_license_because_the_license_server_is_unreachable: f29f2e0286195dab170b9806bcd74fc9 common/webhook: 70f95b2c27f2c3840b500fcaf79ee83c common/webhooks: 0329bc102d3ab3c73410d126e119de12 - common/website_and_app_connection: 60fea5cff5bddb4db3c8a1b0a2f9ec63 common/website_app_survey: 258579927ed3955dcc8e1cbd7f0df17f common/website_survey: 17513d25a07b6361768a15ec622b021b common/weeks: 545de30df4f44d3f6d1d344af6a10815 @@ -493,6 +495,7 @@ checksums: common/you_have_reached_your_monthly_response_limit_of: 3824db23ecc3dcd2b1787b98ccfdd5f9 common/you_will_be_downgraded_to_the_community_edition_on_date: bff35b54c13e2c205dc4c19056261cc0 common/your_license_has_expired_please_renew: 3f21ae4a7deab351b143b407ece58254 + common/your_profile: 955b66d0455e28c805cc462b8f8d1f11 emails/accept: f8cc1de4f5e3c850cfdbbc0ec831ade7 emails/click_or_drag_to_upload_files: 64f59bc339568d52b8464b82546b70ea emails/email_customization_preview_email_heading: 8b798cb8438b3dd356c02dab33b4c897 diff --git a/apps/web/locales/de-DE.json b/apps/web/locales/de-DE.json index 051cda43ad..c49aa20ba7 100644 --- a/apps/web/locales/de-DE.json +++ b/apps/web/locales/de-DE.json @@ -145,6 +145,7 @@ "api_keys": "API-Schlüssel", "app": "App", "app_survey": "App-Umfrage", + "appearance": "Erscheinungsbild", "apply_filters": "Filter anwenden", "archived": "Archiviert", "are_you_sure": "Bist du sicher?", @@ -176,10 +177,10 @@ "collapse_rows": "Zeilen einklappen", "column_n": "Spalte {n}", "completed": "Abgeschlossen", - "configuration": "Konfigurieren", "confirm": "Bestätigen", "connect": "Verbinden", "connect_formbricks": "Formbricks verbinden", + "connect_your_app": "Verbinde deine App", "connected": "Verbunden", "contact": "Kontakt", "contacts": "Kontakte", @@ -297,11 +298,9 @@ "loading": "Lädt", "logo": "Logo", "logout": "Abmelden", - "look_and_feel": "Erscheinungsbild", "manage": "Verwalten", "marketing": "Marketing", "members": "Mitglieder", - "members_and_teams": "Mitglieder & Teams", "membership": "Mitgliedschaft", "membership_not_found": "Mitgliedschaft nicht gefunden", "meta": "Meta", @@ -490,6 +489,7 @@ "upload_input_description": "Klicke oder ziehe Dateien hierher, um sie hochzuladen.", "url": "URL", "user": "Benutzer", + "user_actions": "Benutzeraktionen", "user_id": "Benutzer-ID", "variable": "Variable", "variable_ids": "Variablen-IDs", @@ -501,7 +501,6 @@ "we_were_unable_to_verify_your_license_because_the_license_server_is_unreachable": "Wir konnten deine Lizenz nicht verifizieren, da der Lizenzserver nicht erreichbar ist.", "webhook": "Webhook", "webhooks": "Webhooks", - "website_and_app_connection": "Website- & App-Verbindung", "website_app_survey": "Website- & App-Umfrage", "website_survey": "Website-Umfrage", "weeks": "Wochen", @@ -513,6 +512,7 @@ "workspace_id": "Workspace-ID", "workspace_name": "Workspace-Name", "workspace_name_placeholder": "z. B. Formbricks", + "workspace_settings": "Arbeitsbereich-Einstellungen", "workspaces": "Workspaces", "years": "Jahre", "yes": "Ja", @@ -521,7 +521,8 @@ "you_have_reached_your_limit_of_workspace_limit": "Du hast dein Limit von {workspaceLimit} Workspaces erreicht.", "you_have_reached_your_monthly_response_limit_of": "Du hast dein monatliches Antwortlimit erreicht von", "you_will_be_downgraded_to_the_community_edition_on_date": "Du wirst am {date} auf die Community Edition herabgestuft.", - "your_license_has_expired_please_renew": "Deine Enterprise-Lizenz ist abgelaufen. Bitte erneuere sie, um weiterhin Enterprise-Funktionen nutzen zu können." + "your_license_has_expired_please_renew": "Deine Enterprise-Lizenz ist abgelaufen. Bitte erneuere sie, um weiterhin Enterprise-Funktionen nutzen zu können.", + "your_profile": "Dein Profil" }, "emails": { "accept": "Akzeptieren", diff --git a/apps/web/locales/en-US.json b/apps/web/locales/en-US.json index d01b74df1a..0cf64d8f4e 100644 --- a/apps/web/locales/en-US.json +++ b/apps/web/locales/en-US.json @@ -145,6 +145,7 @@ "api_keys": "API Keys", "app": "App", "app_survey": "App Survey", + "appearance": "Appearance", "apply_filters": "Apply filters", "archived": "Archived", "are_you_sure": "Are you sure?", @@ -179,6 +180,7 @@ "confirm": "Confirm", "connect": "Connect", "connect_formbricks": "Connect Formbricks", + "connect_your_app": "Connect Your App", "connected": "Connected", "contact": "Contact", "contacts": "Contacts", @@ -296,11 +298,9 @@ "loading": "Loading", "logo": "Logo", "logout": "Logout", - "look_and_feel": "Look & Feel", "manage": "Manage", "marketing": "Marketing", "members": "Members", - "members_and_teams": "Members & Teams", "membership": "Membership", "membership_not_found": "Membership not found", "meta": "Meta", @@ -351,6 +351,7 @@ "or": "or", "organization": "Organization", "organization_id": "Organization ID", + "organization_settings": "Organization settings", "other": "Other", "other_filters": "Other Filters", "other_placeholder": "Other Placeholder", @@ -476,6 +477,7 @@ "trial_one_day_remaining": "1 day left in your trial", "try_again": "Try again", "type": "Type", + "unify": "Unify", "unknown_survey": "Unknown survey", "unlock_more_workspaces_with_a_higher_plan": "Unlock more workspaces with a higher plan.", "update": "Update", @@ -487,6 +489,7 @@ "upload_input_description": "Click or drag to upload files.", "url": "URL", "user": "User", + "user_actions": "User Actions", "user_id": "User ID", "variable": "Variable", "variable_ids": "Variable IDs", @@ -498,7 +501,6 @@ "we_were_unable_to_verify_your_license_because_the_license_server_is_unreachable": "We were unable to verify your license because the license server is unreachable.", "webhook": "Webhook", "webhooks": "Webhooks", - "website_and_app_connection": "Website & App Connection", "website_app_survey": "Website & App Survey", "website_survey": "Website Survey", "weeks": "weeks", @@ -519,7 +521,8 @@ "you_have_reached_your_limit_of_workspace_limit": "You have reached your limit of {workspaceLimit} workspaces.", "you_have_reached_your_monthly_response_limit_of": "You have reached your monthly response limit of", "you_will_be_downgraded_to_the_community_edition_on_date": "You will be downgraded to the Community Edition on {date}.", - "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features." + "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features.", + "your_profile": "Your Profile" }, "emails": { "accept": "Accept", diff --git a/apps/web/locales/es-ES.json b/apps/web/locales/es-ES.json index 38ebb5da8f..4cafb87023 100644 --- a/apps/web/locales/es-ES.json +++ b/apps/web/locales/es-ES.json @@ -145,6 +145,7 @@ "api_keys": "Claves API", "app": "Aplicación", "app_survey": "Encuesta de aplicación", + "appearance": "Apariencia", "apply_filters": "Aplicar filtros", "archived": "Archivado", "are_you_sure": "¿Estás seguro?", @@ -176,10 +177,10 @@ "collapse_rows": "Contraer filas", "column_n": "Columna {n}", "completed": "Completado", - "configuration": "Configurar", "confirm": "Confirmar", "connect": "Conectar", "connect_formbricks": "Conectar Formbricks", + "connect_your_app": "Conecta tu aplicación", "connected": "Conectado", "contact": "Contacto", "contacts": "Contactos", @@ -297,11 +298,9 @@ "loading": "Cargando", "logo": "Logo", "logout": "Cerrar sesión", - "look_and_feel": "Apariencia", "manage": "Gestionar", "marketing": "Marketing", "members": "Miembros", - "members_and_teams": "Miembros y equipos", "membership": "Membresía", "membership_not_found": "Membresía no encontrada", "meta": "Meta", @@ -352,7 +351,7 @@ "or": "o", "organization": "Organización", "organization_id": "ID de organización", - "organization_settings": "Ajustes de la organización", + "organization_settings": "Configuración de la organización", "other": "Otro", "other_filters": "Otros Filtros", "other_placeholder": "Otro marcador de posición", @@ -490,6 +489,7 @@ "upload_input_description": "Haz clic o arrastra para subir archivos.", "url": "URL", "user": "Usuario", + "user_actions": "Acciones del usuario", "user_id": "ID de usuario", "variable": "Variable", "variable_ids": "IDs de variables", @@ -501,7 +501,6 @@ "we_were_unable_to_verify_your_license_because_the_license_server_is_unreachable": "No pudimos verificar tu licencia porque el servidor de licencias no está accesible.", "webhook": "Webhook", "webhooks": "Webhooks", - "website_and_app_connection": "Conexión de sitio web y aplicación", "website_app_survey": "Encuesta de sitio web y aplicación", "website_survey": "Encuesta de sitio web", "weeks": "semanas", @@ -513,6 +512,7 @@ "workspace_id": "ID del espacio de trabajo", "workspace_name": "Nombre del espacio de trabajo", "workspace_name_placeholder": "p. ej. Formbricks", + "workspace_settings": "Configuración del espacio de trabajo", "workspaces": "Espacios de trabajo", "years": "años", "yes": "Sí", @@ -521,7 +521,8 @@ "you_have_reached_your_limit_of_workspace_limit": "Has alcanzado tu límite de {workspaceLimit} espacios de trabajo.", "you_have_reached_your_monthly_response_limit_of": "Has alcanzado tu límite mensual de respuestas de", "you_will_be_downgraded_to_the_community_edition_on_date": "Serás degradado a la edición Community el {date}.", - "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features." + "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features.", + "your_profile": "Tu perfil" }, "emails": { "accept": "Aceptar", diff --git a/apps/web/locales/fr-FR.json b/apps/web/locales/fr-FR.json index 43cc6c7037..a5ab6a2bbc 100644 --- a/apps/web/locales/fr-FR.json +++ b/apps/web/locales/fr-FR.json @@ -145,6 +145,7 @@ "api_keys": "Clés API", "app": "Application", "app_survey": "Sondage d'application", + "appearance": "Apparence", "apply_filters": "Appliquer des filtres", "archived": "Archivé", "are_you_sure": "Es-tu sûr ?", @@ -176,10 +177,10 @@ "collapse_rows": "Réduire les lignes", "column_n": "Colonne {n}", "completed": "Terminé", - "configuration": "Configurer", "confirm": "Confirmer", "connect": "Connecter", "connect_formbricks": "Connecter Formbricks", + "connect_your_app": "Connecter votre application", "connected": "Connecté", "contact": "Contact", "contacts": "Contacts", @@ -297,11 +298,9 @@ "loading": "Chargement", "logo": "Logo", "logout": "Déconnexion", - "look_and_feel": "Apparence", "manage": "Gérer", "marketing": "Marketing", "members": "Membres", - "members_and_teams": "Membres & Équipes", "membership": "Adhésion", "membership_not_found": "Abonnement non trouvé", "meta": "Méta", @@ -490,6 +489,7 @@ "upload_input_description": "Cliquez ou faites glisser pour charger un fichier.", "url": "URL", "user": "Utilisateur", + "user_actions": "Actions utilisateur", "user_id": "Identifiant d'utilisateur", "variable": "Variable", "variable_ids": "Identifiants variables", @@ -501,7 +501,6 @@ "we_were_unable_to_verify_your_license_because_the_license_server_is_unreachable": "Nous n'avons pas pu vérifier votre licence car le serveur de licence est inaccessible.", "webhook": "Webhook", "webhooks": "Webhooks", - "website_and_app_connection": "Connexion de sites Web et d'applications", "website_app_survey": "Sondage sur le site Web et l'application", "website_survey": "Sondage de site web", "weeks": "semaines", @@ -513,6 +512,7 @@ "workspace_id": "ID de l'espace de travail", "workspace_name": "Nom de l'espace de travail", "workspace_name_placeholder": "par ex. Formbricks", + "workspace_settings": "Paramètres de l'espace de travail", "workspaces": "Espaces de travail", "years": "années", "yes": "Oui", @@ -521,7 +521,8 @@ "you_have_reached_your_limit_of_workspace_limit": "Vous avez atteint votre limite de {workspaceLimit} espaces de travail.", "you_have_reached_your_monthly_response_limit_of": "Vous avez atteint votre limite de réponses mensuelle de", "you_will_be_downgraded_to_the_community_edition_on_date": "Vous serez rétrogradé à l'édition communautaire le {date}.", - "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features." + "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features.", + "your_profile": "Votre profil" }, "emails": { "accept": "Accepter", diff --git a/apps/web/locales/hu-HU.json b/apps/web/locales/hu-HU.json index bd067ce2a9..48c4ef3e85 100644 --- a/apps/web/locales/hu-HU.json +++ b/apps/web/locales/hu-HU.json @@ -145,6 +145,7 @@ "api_keys": "API-kulcsok", "app": "Alkalmazás", "app_survey": "Alkalmazás-kérdőív", + "appearance": "Megjelenés", "apply_filters": "Szűrők alkalmazása", "archived": "Archivált", "are_you_sure": "Biztos benne?", @@ -179,6 +180,7 @@ "confirm": "Megerősítés", "connect": "Kapcsolódás", "connect_formbricks": "Kapcsolódás a Formbrickshez", + "connect_your_app": "Csatlakoztassa az Alkalmazását", "connected": "Kapcsolódva", "contact": "Kapcsolat", "contacts": "Partnerek", @@ -296,11 +298,9 @@ "loading": "Betöltés", "logo": "Logó", "logout": "Kijelentkezés", - "look_and_feel": "Megjelenés", "manage": "Kezelés", "marketing": "Marketing", "members": "Tagok", - "members_and_teams": "Tagok és csapatok", "membership": "Tagság", "membership_not_found": "A tagság nem található", "meta": "Meta", @@ -351,6 +351,7 @@ "or": "vagy", "organization": "Szervezet", "organization_id": "Szervezetazonosító", + "organization_settings": "Szervezeti beállítások", "other": "Egyéb", "other_filters": "Egyéb szűrők", "other_placeholder": "Egyéb helyőrző", @@ -476,6 +477,7 @@ "trial_one_day_remaining": "1 nap van hátra a próbaidőszakából", "try_again": "Próbálja újra", "type": "Típus", + "unify": "Egyesítés", "unknown_survey": "Ismeretlen kérdőív", "unlock_more_workspaces_with_a_higher_plan": "Több munkaterület feloldása egy magasabb csomaggal.", "update": "Frissítés", @@ -487,6 +489,7 @@ "upload_input_description": "Kattintson vagy húzza ide a fájlok feltöltéséhez.", "url": "URL", "user": "Felhasználó", + "user_actions": "Felhasználói Műveletek", "user_id": "Felhasználó-azonosító", "variable": "Változó", "variable_ids": "Változóazonosítók", @@ -498,7 +501,6 @@ "we_were_unable_to_verify_your_license_because_the_license_server_is_unreachable": "Nem tudtuk ellenőrizni a licencét, mert a licenckiszolgáló nem érhető el.", "webhook": "Webhorog", "webhooks": "Webhorgok", - "website_and_app_connection": "Webhely és alkalmazáskapcsolódás", "website_app_survey": "Webhely és alkalmazás-kérdőív", "website_survey": "Webhely kérdőív", "weeks": "hét", @@ -519,7 +521,8 @@ "you_have_reached_your_limit_of_workspace_limit": "Elérte a munkaterületek {workspaceLimit} darabos korlátját.", "you_have_reached_your_monthly_response_limit_of": "Elérte a havi válaszkorlátját ennek:", "you_will_be_downgraded_to_the_community_edition_on_date": "Vissza lesz állítva a közösségi kiadásra ekkor: {date}.", - "your_license_has_expired_please_renew": "A vállalati licence lejárt. Újítsa meg, hogy továbbra is használhassa a vállalati funkciókat." + "your_license_has_expired_please_renew": "A vállalati licence lejárt. Újítsa meg, hogy továbbra is használhassa a vállalati funkciókat.", + "your_profile": "Az Ön Profilja" }, "emails": { "accept": "Elfogadás", diff --git a/apps/web/locales/ja-JP.json b/apps/web/locales/ja-JP.json index 2cbb992223..2e999aee91 100644 --- a/apps/web/locales/ja-JP.json +++ b/apps/web/locales/ja-JP.json @@ -145,6 +145,7 @@ "api_keys": "APIキー", "app": "アプリ", "app_survey": "アプリ内フォーム", + "appearance": "外観", "apply_filters": "フィルターを適用", "archived": "アーカイブ済み", "are_you_sure": "よろしいですか?", @@ -179,6 +180,7 @@ "confirm": "確認", "connect": "接続", "connect_formbricks": "Formbricksを接続", + "connect_your_app": "アプリを接続", "connected": "接続済み", "contact": "連絡先", "contacts": "連絡先", @@ -296,11 +298,9 @@ "loading": "読み込み中", "logo": "ロゴ", "logout": "ログアウト", - "look_and_feel": "デザイン", "manage": "管理", "marketing": "マーケティング", "members": "メンバー", - "members_and_teams": "メンバー&チーム", "membership": "メンバーシップ", "membership_not_found": "メンバーシップが見つかりません", "meta": "メタ", @@ -351,6 +351,7 @@ "or": "または", "organization": "組織", "organization_id": "組織ID", + "organization_settings": "組織設定", "other": "その他", "other_filters": "その他のフィルター", "other_placeholder": "その他のプレースホルダー", @@ -476,6 +477,7 @@ "trial_one_day_remaining": "トライアル期間の残り1日", "try_again": "もう一度お試しください", "type": "種類", + "unify": "統合", "unknown_survey": "不明なフォーム", "unlock_more_workspaces_with_a_higher_plan": "上位プランでより多くのワークスペースを利用できます。", "update": "更新", @@ -487,6 +489,7 @@ "upload_input_description": "クリックまたはドラッグしてファイルをアップロードしてください。", "url": "URL", "user": "ユーザー", + "user_actions": "ユーザーアクション", "user_id": "ユーザーID", "variable": "変数", "variable_ids": "変数ID", @@ -498,7 +501,6 @@ "we_were_unable_to_verify_your_license_because_the_license_server_is_unreachable": "ライセンスサーバーにアクセスできないため、ライセンスを認証できませんでした。", "webhook": "Webhook", "webhooks": "Webhook", - "website_and_app_connection": "ウェブサイト&アプリ接続", "website_app_survey": "ウェブサイト&アプリフォーム", "website_survey": "ウェブサイトフォーム", "weeks": "週間", @@ -519,7 +521,8 @@ "you_have_reached_your_limit_of_workspace_limit": "ワークスペースの上限である{workspaceLimit}件に達しました。", "you_have_reached_your_monthly_response_limit_of": "月間回答数の上限に達しました", "you_will_be_downgraded_to_the_community_edition_on_date": "コミュニティ版へのダウングレードは {date} に行われます。", - "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features." + "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features.", + "your_profile": "あなたのプロフィール" }, "emails": { "accept": "承認", diff --git a/apps/web/locales/nl-NL.json b/apps/web/locales/nl-NL.json index 0ffd39dc89..5949bd1aa2 100644 --- a/apps/web/locales/nl-NL.json +++ b/apps/web/locales/nl-NL.json @@ -145,6 +145,7 @@ "api_keys": "API-sleutels", "app": "App", "app_survey": "App-enquête", + "appearance": "Weergave", "apply_filters": "Pas filters toe", "archived": "Gearchiveerd", "are_you_sure": "Weet je het zeker?", @@ -176,10 +177,10 @@ "collapse_rows": "Rijen samenvouwen", "column_n": "Kolom {n}", "completed": "Voltooid", - "configuration": "Configureren", "confirm": "Bevestigen", "connect": "Verbinden", "connect_formbricks": "Sluit Formbricks aan", + "connect_your_app": "Verbind je app", "connected": "Aangesloten", "contact": "Contact", "contacts": "Contacten", @@ -297,11 +298,9 @@ "loading": "Laden", "logo": "Logo", "logout": "Uitloggen", - "look_and_feel": "Kijk & voel", "manage": "Beheren", "marketing": "Marketing", "members": "Leden", - "members_and_teams": "Leden & teams", "membership": "Lidmaatschap", "membership_not_found": "Lidmaatschap niet gevonden", "meta": "Meta", @@ -478,7 +477,7 @@ "trial_one_day_remaining": "1 dag over in je proefperiode", "try_again": "Probeer het opnieuw", "type": "Type", - "unify": "Verenigen", + "unify": "Samenvoegen", "unknown_survey": "Onbekende enquête", "unlock_more_workspaces_with_a_higher_plan": "Ontgrendel meer werkruimtes met een hoger abonnement.", "update": "Update", @@ -490,6 +489,7 @@ "upload_input_description": "Klik of sleep om bestanden te uploaden.", "url": "URL", "user": "Gebruiker", + "user_actions": "Gebruikersacties", "user_id": "Gebruikers-ID", "variable": "Variabel", "variable_ids": "Variabele ID's", @@ -501,7 +501,6 @@ "we_were_unable_to_verify_your_license_because_the_license_server_is_unreachable": "We kunnen uw licentie niet verifiëren omdat de licentieserver niet bereikbaar is.", "webhook": "Webhook", "webhooks": "Webhaken", - "website_and_app_connection": "Website- en app-verbinding", "website_app_survey": "Website- en app-enquête", "website_survey": "Website-enquête", "weeks": "weken", @@ -513,6 +512,7 @@ "workspace_id": "Werkruimte-ID", "workspace_name": "Werkruimtenaam", "workspace_name_placeholder": "bijv. Formbricks", + "workspace_settings": "Workspace-instellingen", "workspaces": "Werkruimtes", "years": "jaren", "yes": "Ja", @@ -521,7 +521,8 @@ "you_have_reached_your_limit_of_workspace_limit": "Je hebt je limiet van {workspaceLimit} workspaces bereikt.", "you_have_reached_your_monthly_response_limit_of": "U heeft uw maandelijkse responslimiet bereikt van", "you_will_be_downgraded_to_the_community_edition_on_date": "Je wordt gedowngraded naar de Community-editie op {date}.", - "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features." + "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features.", + "your_profile": "Jouw profiel" }, "emails": { "accept": "Accepteren", diff --git a/apps/web/locales/pt-BR.json b/apps/web/locales/pt-BR.json index 418704c6c4..eee0837f0a 100644 --- a/apps/web/locales/pt-BR.json +++ b/apps/web/locales/pt-BR.json @@ -145,6 +145,7 @@ "api_keys": "Chaves de API", "app": "app", "app_survey": "Pesquisa de App", + "appearance": "Aparência", "apply_filters": "Aplicar filtros", "archived": "Arquivado", "are_you_sure": "Certeza?", @@ -176,10 +177,10 @@ "collapse_rows": "Recolher linhas", "column_n": "Coluna {n}", "completed": "Concluído", - "configuration": "Configurar", "confirm": "Confirmar", "connect": "Conectar", "connect_formbricks": "Conectar Formbricks", + "connect_your_app": "Conecte Seu App", "connected": "conectado", "contact": "Contato", "contacts": "Contatos", @@ -297,11 +298,9 @@ "loading": "Carregando", "logo": "Em breve", "logout": "Sair", - "look_and_feel": "Aparência e Experiência", "manage": "gerenciar", "marketing": "marketing", "members": "Membros", - "members_and_teams": "Membros e equipes", "membership": "Associação", "membership_not_found": "Assinatura não encontrada", "meta": "Meta", @@ -352,7 +351,7 @@ "or": "ou", "organization": "organização", "organization_id": "ID da Organização", - "organization_settings": "Configurações da Organização", + "organization_settings": "Configurações da organização", "other": "outro", "other_filters": "Outros Filtros", "other_placeholder": "Outro espaço reservado", @@ -490,6 +489,7 @@ "upload_input_description": "Clique ou arraste para fazer o upload de arquivos.", "url": "URL", "user": "Usuário", + "user_actions": "Ações do Usuário", "user_id": "ID do usuário", "variable": "variável", "variable_ids": "IDs de variáveis", @@ -501,7 +501,6 @@ "we_were_unable_to_verify_your_license_because_the_license_server_is_unreachable": "Não conseguimos verificar sua licença porque o servidor de licenças está inacessível.", "webhook": "webhook", "webhooks": "webhooks", - "website_and_app_connection": "Conexão de Site e App", "website_app_survey": "Pesquisa de Site e App", "website_survey": "Pesquisa de Site", "weeks": "semanas", @@ -513,6 +512,7 @@ "workspace_id": "ID do Workspace", "workspace_name": "Nome do Workspace", "workspace_name_placeholder": "ex: Formbricks", + "workspace_settings": "Configurações do Workspace", "workspaces": "Workspaces", "years": "anos", "yes": "Sim", @@ -521,7 +521,8 @@ "you_have_reached_your_limit_of_workspace_limit": "Você atingiu o limite de {workspaceLimit} espaços de trabalho.", "you_have_reached_your_monthly_response_limit_of": "Você atingiu o limite mensal de respostas de", "you_will_be_downgraded_to_the_community_edition_on_date": "Você será rebaixado para a Edição Comunitária em {date}.", - "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features." + "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features.", + "your_profile": "Seu Perfil" }, "emails": { "accept": "Aceitar", diff --git a/apps/web/locales/pt-PT.json b/apps/web/locales/pt-PT.json index f815502962..8156d0d2e5 100644 --- a/apps/web/locales/pt-PT.json +++ b/apps/web/locales/pt-PT.json @@ -145,6 +145,7 @@ "api_keys": "Chaves API", "app": "Aplicação", "app_survey": "Inquérito (app)", + "appearance": "Aparência", "apply_filters": "Aplicar filtros", "archived": "Arquivado", "are_you_sure": "Tem a certeza?", @@ -176,10 +177,10 @@ "collapse_rows": "Recolher linhas", "column_n": "Coluna {n}", "completed": "Concluído", - "configuration": "Configurar", "confirm": "Confirmar", "connect": "Conectar", "connect_formbricks": "Ligar Formbricks", + "connect_your_app": "Conecta a Tua App", "connected": "Conectado", "contact": "Contacto", "contacts": "Contactos", @@ -297,11 +298,9 @@ "loading": "A carregar", "logo": "Logótipo", "logout": "Terminar sessão", - "look_and_feel": "Aparência e Sensação", "manage": "Gerir", "marketing": "Marketing", "members": "Membros", - "members_and_teams": "Membros e equipas", "membership": "Subscrição", "membership_not_found": "Associação não encontrada", "meta": "Meta", @@ -352,7 +351,7 @@ "or": "ou", "organization": "Organização", "organization_id": "ID da Organização", - "organization_settings": "Configurações da Organização", + "organization_settings": "Definições da organização", "other": "Outro", "other_filters": "Outros Filtros", "other_placeholder": "Outro espaço reservado", @@ -490,6 +489,7 @@ "upload_input_description": "Clique ou arraste para carregar ficheiros.", "url": "URL", "user": "Utilizador", + "user_actions": "Ações do Utilizador", "user_id": "ID do Utilizador", "variable": "Variável", "variable_ids": "IDs de variáveis", @@ -501,7 +501,6 @@ "we_were_unable_to_verify_your_license_because_the_license_server_is_unreachable": "Não foi possível verificar a sua licença porque o servidor de licenças está inacessível.", "webhook": "Webhook", "webhooks": "Webhooks", - "website_and_app_connection": "Ligação de Website e Aplicação", "website_app_survey": "Inquérito do Website e da Aplicação", "website_survey": "Inquérito do Website", "weeks": "semanas", @@ -513,6 +512,7 @@ "workspace_id": "ID do Espaço de Trabalho", "workspace_name": "Nome do Espaço de Trabalho", "workspace_name_placeholder": "ex. Formbricks", + "workspace_settings": "Definições da Área de Trabalho", "workspaces": "Espaços de Trabalho", "years": "anos", "yes": "Sim", @@ -521,7 +521,8 @@ "you_have_reached_your_limit_of_workspace_limit": "Atingiste o teu limite de {workspaceLimit} espaços de trabalho.", "you_have_reached_your_monthly_response_limit_of": "Atingiu o seu limite mensal de respostas de", "you_will_be_downgraded_to_the_community_edition_on_date": "Será rebaixado para a Edição Comunitária em {date}.", - "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features." + "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features.", + "your_profile": "O Teu Perfil" }, "emails": { "accept": "Aceitar", diff --git a/apps/web/locales/ro-RO.json b/apps/web/locales/ro-RO.json index fa2b736038..ab18918a7d 100644 --- a/apps/web/locales/ro-RO.json +++ b/apps/web/locales/ro-RO.json @@ -145,6 +145,7 @@ "api_keys": "Chei API", "app": "Aplicație", "app_survey": "Sondaj aplicație", + "appearance": "Aspect", "apply_filters": "Aplică filtre", "archived": "Arhivat", "are_you_sure": "Ești sigur?", @@ -179,6 +180,7 @@ "confirm": "Confirmare", "connect": "Conectează", "connect_formbricks": "Conectează Formbricks", + "connect_your_app": "Conectează-ți aplicația", "connected": "Conectat", "contact": "Contact", "contacts": "Contacte", @@ -296,11 +298,9 @@ "loading": "Încărcare", "logo": "Logo", "logout": "Deconectare", - "look_and_feel": "Aspect și Comportament", "manage": "Gestionați", "marketing": "Marketing", "members": "Membri", - "members_and_teams": "Membri și echipe", "membership": "Abonament", "membership_not_found": "Apartenența nu a fost găsită", "meta": "Meta", @@ -351,6 +351,7 @@ "or": "sau", "organization": "Organizație", "organization_id": "ID Organizație", + "organization_settings": "Setări organizație", "other": "Altele", "other_filters": "Alte Filtre", "other_placeholder": "Alt substituent", @@ -476,6 +477,7 @@ "trial_one_day_remaining": "1 zi rămasă în perioada ta de probă", "try_again": "Încearcă din nou", "type": "Tip", + "unify": "Unifică", "unknown_survey": "Chestionar necunoscut", "unlock_more_workspaces_with_a_higher_plan": "Deblochează mai multe workspaces cu un plan superior.", "update": "Actualizare", @@ -487,6 +489,7 @@ "upload_input_description": "Faceți clic sau trageți pentru a încărca fișiere.", "url": "URL", "user": "Utilizator", + "user_actions": "Acțiuni utilizator", "user_id": "ID Utilizator", "variable": "Variabilă", "variable_ids": "ID-uri variabile", @@ -498,7 +501,6 @@ "we_were_unable_to_verify_your_license_because_the_license_server_is_unreachable": "Nu am putut verifica licența dvs. deoarece serverul de licențe este inaccesibil.", "webhook": "Webhook", "webhooks": "Webhook-uri", - "website_and_app_connection": "Conectare site web și aplicație", "website_app_survey": "Chestionar pentru site și aplicație", "website_survey": "Chestionar despre site", "weeks": "săptămâni", @@ -519,7 +521,8 @@ "you_have_reached_your_limit_of_workspace_limit": "Ai atins limita de {workspaceLimit} spații de lucru.", "you_have_reached_your_monthly_response_limit_of": "Ați atins limita lunară de răspunsuri de", "you_will_be_downgraded_to_the_community_edition_on_date": "Vei fi retrogradat la ediția Community pe {date}.", - "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features." + "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features.", + "your_profile": "Profilul tău" }, "emails": { "accept": "Acceptă", diff --git a/apps/web/locales/ru-RU.json b/apps/web/locales/ru-RU.json index 3c3dd6f704..2c446f93ec 100644 --- a/apps/web/locales/ru-RU.json +++ b/apps/web/locales/ru-RU.json @@ -145,6 +145,7 @@ "api_keys": "API-ключи", "app": "Приложение", "app_survey": "Опрос о приложении", + "appearance": "Внешний вид", "apply_filters": "Применить фильтры", "archived": "Архивный", "are_you_sure": "Вы уверены?", @@ -176,10 +177,10 @@ "collapse_rows": "Свернуть строки", "column_n": "Столбец {n}", "completed": "Завершено", - "configuration": "Настроить", "confirm": "Подтвердить", "connect": "Подключить", "connect_formbricks": "Подключить Formbricks", + "connect_your_app": "Подключи своё приложение", "connected": "Подключено", "contact": "Контакт", "contacts": "Контакты", @@ -297,11 +298,9 @@ "loading": "Загрузка", "logo": "Логотип", "logout": "Выйти", - "look_and_feel": "Внешний вид", "manage": "Управление", "marketing": "Маркетинг", "members": "Участники", - "members_and_teams": "Участники и команды", "membership": "Членство", "membership_not_found": "Участие не найдено", "meta": "Мета", @@ -490,6 +489,7 @@ "upload_input_description": "Кликните или перетащите файлы для загрузки.", "url": "URL", "user": "Пользователь", + "user_actions": "Действия пользователя", "user_id": "ID пользователя", "variable": "Переменная", "variable_ids": "ID переменных", @@ -501,7 +501,6 @@ "we_were_unable_to_verify_your_license_because_the_license_server_is_unreachable": "Не удалось проверить вашу лицензию, так как сервер лицензий недоступен.", "webhook": "Webhook", "webhooks": "Webhook-и", - "website_and_app_connection": "Связь сайта и приложения", "website_app_survey": "Опрос сайта и приложения", "website_survey": "Опрос сайта", "weeks": "недели", @@ -513,6 +512,7 @@ "workspace_id": "ID рабочего пространства", "workspace_name": "Название рабочего пространства", "workspace_name_placeholder": "например, Formbricks", + "workspace_settings": "Настройки рабочего пространства", "workspaces": "Рабочие пространства", "years": "годы", "yes": "Да", @@ -521,7 +521,8 @@ "you_have_reached_your_limit_of_workspace_limit": "Вы достигли лимита в {workspaceLimit} рабочих пространств.", "you_have_reached_your_monthly_response_limit_of": "Вы достигли месячного лимита ответов:", "you_will_be_downgraded_to_the_community_edition_on_date": "Ваша версия будет понижена до Community Edition {date}.", - "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features." + "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features.", + "your_profile": "Твой профиль" }, "emails": { "accept": "Принять", diff --git a/apps/web/locales/sv-SE.json b/apps/web/locales/sv-SE.json index 39041dd6bd..6d0e2a50c8 100644 --- a/apps/web/locales/sv-SE.json +++ b/apps/web/locales/sv-SE.json @@ -145,6 +145,7 @@ "api_keys": "API-nycklar", "app": "App", "app_survey": "App-enkät", + "appearance": "Utseende", "apply_filters": "Tillämpa filter", "archived": "Arkiverad", "are_you_sure": "Är du säker?", @@ -179,6 +180,7 @@ "confirm": "Bekräfta", "connect": "Anslut", "connect_formbricks": "Anslut Formbricks", + "connect_your_app": "Anslut din app", "connected": "Ansluten", "contact": "Kontakt", "contacts": "Kontakter", @@ -296,11 +298,9 @@ "loading": "Laddar", "logo": "Logotyp", "logout": "Logga ut", - "look_and_feel": "Utseende", "manage": "Hantera", "marketing": "Marknadsföring", "members": "Medlemmar", - "members_and_teams": "Medlemmar och team", "membership": "Medlemskap", "membership_not_found": "Medlemskap hittades inte", "meta": "Meta", @@ -351,6 +351,7 @@ "or": "eller", "organization": "Organisation", "organization_id": "Organisations-ID", + "organization_settings": "Organisationsinställningar", "other": "Annat", "other_filters": "Andra filter", "other_placeholder": "Annan platshållare", @@ -476,6 +477,7 @@ "trial_one_day_remaining": "1 dag kvar av din provperiod", "try_again": "Försök igen", "type": "Typ", + "unify": "Förena", "unknown_survey": "Okänd enkät", "unlock_more_workspaces_with_a_higher_plan": "Lås upp fler arbetsytor med ett högre abonnemang.", "update": "Uppdatera", @@ -487,6 +489,7 @@ "upload_input_description": "Klicka eller dra för att ladda upp filer.", "url": "URL", "user": "Användare", + "user_actions": "Användaråtgärder", "user_id": "Användar-ID", "variable": "Variabel", "variable_ids": "Variabel-ID:n", @@ -498,7 +501,6 @@ "we_were_unable_to_verify_your_license_because_the_license_server_is_unreachable": "Vi kunde inte verifiera din licens eftersom licensservern inte kan nås.", "webhook": "Webhook", "webhooks": "Webhooks", - "website_and_app_connection": "Webbplats- och appanslutning", "website_app_survey": "Webbplats- och appenkät", "website_survey": "Webbplatsenkät", "weeks": "veckor", @@ -519,7 +521,8 @@ "you_have_reached_your_limit_of_workspace_limit": "Du har nått din gräns på {workspaceLimit} arbetsytor.", "you_have_reached_your_monthly_response_limit_of": "Du har nått din månatliga svarsgräns på", "you_will_be_downgraded_to_the_community_edition_on_date": "Du kommer att nedgraderas till Community Edition den {date}.", - "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features." + "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features.", + "your_profile": "Din profil" }, "emails": { "accept": "Acceptera", diff --git a/apps/web/locales/tr-TR.json b/apps/web/locales/tr-TR.json index ce92b53a12..cfa165b96b 100644 --- a/apps/web/locales/tr-TR.json +++ b/apps/web/locales/tr-TR.json @@ -145,6 +145,7 @@ "api_keys": "API Anahtarları", "app": "Uygulama", "app_survey": "Uygulama Anketi", + "appearance": "Görünüm", "apply_filters": "Filtreleri uygula", "archived": "Arşivlenmiş", "are_you_sure": "Emin misiniz?", @@ -179,6 +180,7 @@ "confirm": "Onayla", "connect": "Bağlan", "connect_formbricks": "Formbricks'i Bağla", + "connect_your_app": "Uygulamanı Bağla", "connected": "Bağlı", "contact": "Kişi", "contacts": "Kişiler", @@ -296,11 +298,9 @@ "loading": "Yükleniyor", "logo": "Logo", "logout": "Çıkış", - "look_and_feel": "Görünüm", "manage": "Yönet", "marketing": "Pazarlama", "members": "Üyeler", - "members_and_teams": "Üyeler ve Takımlar", "membership": "Üyelik", "membership_not_found": "Üyelik bulunamadı", "meta": "Meta", @@ -351,6 +351,7 @@ "or": "veya", "organization": "Organizasyon", "organization_id": "Organizasyon ID", + "organization_settings": "Organizasyon ayarları", "other": "Diğer", "other_filters": "Diğer Filtreler", "other_placeholder": "Diğer Yer Tutucu", @@ -476,6 +477,7 @@ "trial_one_day_remaining": "Deneme sürenizde 1 gün kaldı", "try_again": "Tekrar dene", "type": "Tür", + "unify": "Birleştir", "unknown_survey": "Bilinmeyen anket", "unlock_more_workspaces_with_a_higher_plan": "Daha yüksek bir planla daha fazla çalışma alanının kilidini açın.", "update": "Güncelle", @@ -487,6 +489,7 @@ "upload_input_description": "Dosya yüklemek için tıklayın veya sürükleyin.", "url": "URL", "user": "Kullanıcı", + "user_actions": "Kullanıcı İşlemleri", "user_id": "Kullanıcı ID", "variable": "Değişken", "variable_ids": "Değişken ID'leri", @@ -498,7 +501,6 @@ "we_were_unable_to_verify_your_license_because_the_license_server_is_unreachable": "Lisans sunucusuna erişilemediği için lisansınızı doğrulayamadık.", "webhook": "Webhook", "webhooks": "Webhook'lar", - "website_and_app_connection": "Web Sitesi ve Uygulama Bağlantısı", "website_app_survey": "Web Sitesi ve Uygulama Anketi", "website_survey": "Web Sitesi Anketi", "weeks": "hafta", @@ -519,7 +521,8 @@ "you_have_reached_your_limit_of_workspace_limit": "{workspaceLimit} çalışma alanı limitine ulaştınız.", "you_have_reached_your_monthly_response_limit_of": "Aylık yanıt sınırınıza ulaştınız:", "you_will_be_downgraded_to_the_community_edition_on_date": "{date} tarihinde Topluluk Sürümüne düşürüleceksiniz.", - "your_license_has_expired_please_renew": "Kurumsal lisansınızın süresi doldu. Kurumsal özellikleri kullanmaya devam etmek için lütfen yenileyin." + "your_license_has_expired_please_renew": "Kurumsal lisansınızın süresi doldu. Kurumsal özellikleri kullanmaya devam etmek için lütfen yenileyin.", + "your_profile": "Profilin" }, "emails": { "accept": "Kabul Et", diff --git a/apps/web/locales/zh-Hans-CN.json b/apps/web/locales/zh-Hans-CN.json index 4c37440cae..de09ed8021 100644 --- a/apps/web/locales/zh-Hans-CN.json +++ b/apps/web/locales/zh-Hans-CN.json @@ -145,6 +145,7 @@ "api_keys": "API 密钥", "app": "应用", "app_survey": "应用 程序 调查", + "appearance": "外观", "apply_filters": "应用 筛选", "archived": "已归档", "are_you_sure": "你 确定 吗?", @@ -179,6 +180,7 @@ "confirm": "确认", "connect": "连接", "connect_formbricks": "连接 Formbricks", + "connect_your_app": "连接您的应用", "connected": "已连接", "contact": "联系人", "contacts": "联系人", @@ -296,11 +298,9 @@ "loading": "加载", "logo": "徽标", "logout": "退出登录", - "look_and_feel": "外观 & 感觉", "manage": "管理", "marketing": "市场营销", "members": "成员", - "members_and_teams": "成员和团队", "membership": "会员资格", "membership_not_found": "未找到会员资格", "meta": "元数据", @@ -351,6 +351,7 @@ "or": "或", "organization": "组织", "organization_id": "组织 ID", + "organization_settings": "组织设置", "other": "其他", "other_filters": "其他筛选条件", "other_placeholder": "其他占位符", @@ -476,6 +477,7 @@ "trial_one_day_remaining": "试用期还剩 1 天", "try_again": "再试一次", "type": "类型", + "unify": "统一", "unknown_survey": "未知调查", "unlock_more_workspaces_with_a_higher_plan": "升级套餐以解锁更多工作区。", "update": "更新", @@ -487,6 +489,7 @@ "upload_input_description": "点击 或 拖动 上传 文件", "url": "URL", "user": "用户", + "user_actions": "用户操作", "user_id": "用户 ID", "variable": "变量", "variable_ids": "变量 ID", @@ -498,7 +501,6 @@ "we_were_unable_to_verify_your_license_because_the_license_server_is_unreachable": "我们无法验证您的许可证,因为许可证服务器无法访问。", "webhook": "Webhook", "webhooks": "Webhooks", - "website_and_app_connection": "网站 & 应用程序 连接", "website_app_survey": "网站 & 应用 调查", "website_survey": "网站 调查", "weeks": "周", @@ -519,7 +521,8 @@ "you_have_reached_your_limit_of_workspace_limit": "您已达到 {workspaceLimit} 个工作区的上限。", "you_have_reached_your_monthly_response_limit_of": "您 已经 达到 每月 的 响应 限制", "you_will_be_downgraded_to_the_community_edition_on_date": "您将在 {date} 降级到社区版。", - "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features." + "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features.", + "your_profile": "您的个人资料" }, "emails": { "accept": "接受", diff --git a/apps/web/locales/zh-Hant-TW.json b/apps/web/locales/zh-Hant-TW.json index 5a3564416c..54ec4b01d5 100644 --- a/apps/web/locales/zh-Hant-TW.json +++ b/apps/web/locales/zh-Hant-TW.json @@ -145,6 +145,7 @@ "api_keys": "API 金鑰", "app": "應用程式", "app_survey": "應用程式問卷", + "appearance": "外觀", "apply_filters": "套用篩選器", "archived": "已封存", "are_you_sure": "您確定嗎?", @@ -179,6 +180,7 @@ "confirm": "確認", "connect": "連線", "connect_formbricks": "連線 Formbricks", + "connect_your_app": "連接你的應用程式", "connected": "已連線", "contact": "聯絡人", "contacts": "聯絡人", @@ -296,11 +298,9 @@ "loading": "載入中", "logo": "標誌", "logout": "登出", - "look_and_feel": "外觀與風格", "manage": "管理", "marketing": "行銷", "members": "成員", - "members_and_teams": "成員與團隊", "membership": "會員資格", "membership_not_found": "找不到成員資格", "meta": "Meta", @@ -351,6 +351,7 @@ "or": "或", "organization": "組織", "organization_id": "組織 ID", + "organization_settings": "組織設定", "other": "其他", "other_filters": "其他篩選條件", "other_placeholder": "其他預設文字", @@ -476,6 +477,7 @@ "trial_one_day_remaining": "試用期剩餘 1 天", "try_again": "再試一次", "type": "類型", + "unify": "統一", "unknown_survey": "未知問卷", "unlock_more_workspaces_with_a_higher_plan": "升級方案以解鎖更多工作區。", "update": "更新", @@ -487,6 +489,7 @@ "upload_input_description": "點擊或拖曳以上傳檔案。", "url": "網址", "user": "使用者", + "user_actions": "使用者操作", "user_id": "使用者 ID", "variable": "變數", "variable_ids": "變數 ID", @@ -498,7 +501,6 @@ "we_were_unable_to_verify_your_license_because_the_license_server_is_unreachable": "我們無法驗證您的授權,因為授權伺服器無法連線。", "webhook": "Webhook", "webhooks": "Webhooks", - "website_and_app_connection": "網站與應用程式連線", "website_app_survey": "網站與應用程式問卷", "website_survey": "網站問卷", "weeks": "週", @@ -519,7 +521,8 @@ "you_have_reached_your_limit_of_workspace_limit": "您已達到 {workspaceLimit} 個工作區的上限。", "you_have_reached_your_monthly_response_limit_of": "您已達到每月回應上限:", "you_will_be_downgraded_to_the_community_edition_on_date": "您將於 '{'date'}' 降級至社群版。", - "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features." + "your_license_has_expired_please_renew": "Your enterprise license has expired. Please renew it to continue using enterprise features.", + "your_profile": "你的個人檔案" }, "emails": { "accept": "接受", diff --git a/apps/web/modules/organization/settings/teams/page.tsx b/apps/web/modules/organization/settings/teams/page.tsx index d0402bb8e9..8a1111686f 100644 --- a/apps/web/modules/organization/settings/teams/page.tsx +++ b/apps/web/modules/organization/settings/teams/page.tsx @@ -33,7 +33,7 @@ export const TeamsPage = async (props: { params: Promise<{ workspaceId: string } return ( - + {t("workspace.surveys.edit.adjust_the_theme_in_the")}{" "} - {t("common.look_and_feel")} + {t("common.appearance")} {" "} {t("common.settings")}

diff --git a/apps/web/modules/workspaces/settings/(setup)/app-connection/loading.tsx b/apps/web/modules/workspaces/settings/(setup)/app-connection/loading.tsx index 8f7dda33f6..f595782b93 100644 --- a/apps/web/modules/workspaces/settings/(setup)/app-connection/loading.tsx +++ b/apps/web/modules/workspaces/settings/(setup)/app-connection/loading.tsx @@ -34,7 +34,7 @@ export const AppConnectionLoading = () => { return ( - +
{cards.map((card) => ( diff --git a/apps/web/modules/workspaces/settings/(setup)/app-connection/page.tsx b/apps/web/modules/workspaces/settings/(setup)/app-connection/page.tsx index 2b99e4c206..8f35af278c 100644 --- a/apps/web/modules/workspaces/settings/(setup)/app-connection/page.tsx +++ b/apps/web/modules/workspaces/settings/(setup)/app-connection/page.tsx @@ -3,16 +3,13 @@ import Link from "next/link"; import { WidgetStatusIndicator } from "@/app/(app)/workspaces/[workspaceId]/components/WidgetStatusIndicator"; import { SettingsCard } from "@/app/(app)/workspaces/[workspaceId]/settings/components/SettingsCard"; -import { getActionClasses } from "@/lib/actionClass/service"; -import { DEFAULT_LOCALE, WEBAPP_URL } from "@/lib/constants"; -import { getUserLocale } from "@/lib/user/service"; +import { WEBAPP_URL } from "@/lib/constants"; import { getTranslate } from "@/lingodotdev/server"; import { Alert, AlertButton, AlertDescription, AlertTitle } from "@/modules/ui/components/alert"; import { IdBadge } from "@/modules/ui/components/id-badge"; import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; import { PageHeader } from "@/modules/ui/components/page-header"; import { getWorkspaceAuth } from "@/modules/workspaces/lib/utils"; -import { ActionSettingsCard } from "../components/action-settings-card"; export const AppConnectionPage = async ({ params }: { params: Promise<{ workspaceId: string }> }) => { const t = await getTranslate(); @@ -22,16 +19,11 @@ export const AppConnectionPage = async ({ params }: { params: Promise<{ workspac const workspaceIdMigrationUrl = "https://formbricks.com/docs/xm-and-surveys/surveys/website-app-surveys/workspace-id-migration"; - const { isReadOnly, session, workspace } = await getWorkspaceAuth(workspaceId); - - const [actionClasses, locale] = await Promise.all([ - getActionClasses(workspace.id), - getUserLocale(session.user.id), - ]); + const { workspace } = await getWorkspaceAuth(workspaceId); return ( - +
)} -
); diff --git a/apps/web/modules/workspaces/settings/(setup)/user-actions/loading.tsx b/apps/web/modules/workspaces/settings/(setup)/user-actions/loading.tsx new file mode 100644 index 0000000000..a19a93073f --- /dev/null +++ b/apps/web/modules/workspaces/settings/(setup)/user-actions/loading.tsx @@ -0,0 +1,26 @@ +"use client"; + +import { useTranslation } from "react-i18next"; +import { LoadingCard } from "@/app/(app)/components/LoadingCard"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; + +export const UserActionsLoading = () => { + const { t } = useTranslation(); + const cards = [ + { + title: t("common.actions"), + description: t("common.actions_description"), + skeletonLines: [{ classes: "h-44 max-w-full rounded-lg" }], + }, + ]; + + return ( + + + {cards.map((card) => ( + + ))} + + ); +}; diff --git a/apps/web/modules/workspaces/settings/(setup)/user-actions/page.tsx b/apps/web/modules/workspaces/settings/(setup)/user-actions/page.tsx new file mode 100644 index 0000000000..a8bfe15396 --- /dev/null +++ b/apps/web/modules/workspaces/settings/(setup)/user-actions/page.tsx @@ -0,0 +1,36 @@ +"use server"; + +import { getActionClasses } from "@/lib/actionClass/service"; +import { DEFAULT_LOCALE } from "@/lib/constants"; +import { getUserLocale } from "@/lib/user/service"; +import { getTranslate } from "@/lingodotdev/server"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; +import { getWorkspaceAuth } from "@/modules/workspaces/lib/utils"; +import { ActionSettingsCard } from "../components/action-settings-card"; + +export const UserActionsPage = async ({ params }: { params: Promise<{ workspaceId: string }> }) => { + const t = await getTranslate(); + const { workspaceId } = await params; + + const { isReadOnly, session, workspace } = await getWorkspaceAuth(workspaceId); + + const [actionClasses, locale] = await Promise.all([ + getActionClasses(workspace.id), + getUserLocale(session.user.id), + ]); + + return ( + + +
+ +
+
+ ); +}; diff --git a/apps/web/modules/workspaces/settings/components/workspace-config-navigation.tsx b/apps/web/modules/workspaces/settings/components/workspace-config-navigation.tsx index fcb1a9035b..09ef00761a 100644 --- a/apps/web/modules/workspaces/settings/components/workspace-config-navigation.tsx +++ b/apps/web/modules/workspaces/settings/components/workspace-config-navigation.tsx @@ -35,14 +35,14 @@ export const WorkspaceConfigNavigation = ({ activeId, loading }: WorkspaceConfig }, { id: "look", - label: t("common.look_and_feel"), + label: t("common.appearance"), icon: , href: `${workspaceBasePath}/settings/workspace/look`, current: pathname?.includes("/look"), }, { id: "app-connection", - label: t("common.website_and_app_connection"), + label: t("common.connect_your_app"), icon: , href: `${workspaceBasePath}/settings/workspace/app-connection`, current: pathname?.includes("/app-connection"), diff --git a/apps/web/modules/workspaces/settings/look/loading.tsx b/apps/web/modules/workspaces/settings/look/loading.tsx index c6acd965e6..62f187acef 100644 --- a/apps/web/modules/workspaces/settings/look/loading.tsx +++ b/apps/web/modules/workspaces/settings/look/loading.tsx @@ -23,7 +23,7 @@ export const WorkspaceLookSettingsLoading = () => { ]; return ( - + - + {!IS_STORAGE_CONFIGURED && ( {t("common.storage_not_configured")}