diff --git a/web/messages/en/components.json b/web/messages/en/components.json
index 5237298d31..5c9ca7845a 100644
--- a/web/messages/en/components.json
+++ b/web/messages/en/components.json
@@ -27,6 +27,7 @@
"cmp_nav_item_overview": "VPN Overview",
"cmp_nav_item_settings": "Settings",
"cmp_nav_item_edges": "Edge Components",
+ "cmp_nav_item_support": "Support",
"cmp_nav_item_activity_log": "Activity log",
"cmp_webhook_event_user_delete": "User deleted",
"cmp_webhook_event_user_add": "New user created",
diff --git a/web/messages/en/support.json b/web/messages/en/support.json
new file mode 100644
index 0000000000..003f4ef53f
--- /dev/null
+++ b/web/messages/en/support.json
@@ -0,0 +1,25 @@
+{
+ "$schema": "https://inlang.com/schema/inlang-message-format",
+ "support_page_title": "Support",
+ "support_page_subtitle": "When you need support or must supply diagnostic information to our team, please use one of the options below.",
+ "support_page_docs_title": "Have questions? Check our documentation first.",
+ "support_page_docs_desc": "Before contacting or submitting any issues to GitHub, please get familiar with Defguard documentation.",
+ "support_page_docs_btn": "Go to documentation",
+ "support_page_bug_title": "Report a bug",
+ "support_page_bug_desc_before": "We aim to respond to all bug reports as quickly as possible and prioritize them based on severity before adding them to our development backlog. To give us more context, ",
+ "support_page_bug_desc_bold": "you can optionally download",
+ "support_page_bug_desc_after": " the support data and/or log file and attach it to your bug report.",
+ "support_page_bug_btn_report": "Report on Github",
+ "support_page_bug_btn_download": "Download",
+ "support_page_bug_btn_download_support_data": "Download support data",
+ "support_page_bug_btn_download_logs": "Download logs",
+ "support_page_feature_title": "Request feature",
+ "support_page_feature_desc": "We grow with the help of our community. If you have an idea or a missing feature to suggest, please share it – we'll review it.",
+ "support_page_feature_btn": "Submit on Github",
+ "support_page_email_title": "Contact us by email",
+ "support_page_email_desc": "For any additional requests, reach out to us at",
+ "support_page_assistance_title": "Need Assistance?",
+ "support_page_assistance_desc": "Let us know your issue or arrange a meeting with our support team.",
+ "support_page_assistance_btn_ticket": "Open a support ticket",
+ "support_page_assistance_btn_call": "Schedule a call with our support team"
+}
diff --git a/web/project.inlang/settings.json b/web/project.inlang/settings.json
index 862e3ed1fb..ded05da087 100644
--- a/web/project.inlang/settings.json
+++ b/web/project.inlang/settings.json
@@ -29,7 +29,8 @@
"./messages/{locale}/initial_wizard.json",
"./messages/{locale}/migration_wizard.json",
"./messages/{locale}/api-error.json",
- "./messages/{locale}/flow_end.json"
+ "./messages/{locale}/flow_end.json",
+ "./messages/{locale}/support.json"
]
}
}
diff --git a/web/src/pages/SupportPage/SupportPage.tsx b/web/src/pages/SupportPage/SupportPage.tsx
new file mode 100644
index 0000000000..0a02fe26b3
--- /dev/null
+++ b/web/src/pages/SupportPage/SupportPage.tsx
@@ -0,0 +1,190 @@
+import './styles.scss';
+import { m } from '../../paraglide/messages';
+import api from '../../shared/api/api';
+import { Page } from '../../shared/components/Page/Page';
+import { SettingsCard } from '../../shared/components/SettingsCard/SettingsCard';
+import { SettingsHeader } from '../../shared/components/SettingsHeader/SettingsHeader';
+import { SettingsLayout } from '../../shared/components/SettingsLayout/SettingsLayout';
+import { externalLink } from '../../shared/constants';
+import { AppText } from '../../shared/defguard-ui/components/AppText/AppText';
+import { Button } from '../../shared/defguard-ui/components/Button/Button';
+import { ButtonMenu } from '../../shared/defguard-ui/components/ButtonMenu/MenuButton';
+import { ButtonsGroup } from '../../shared/defguard-ui/components/ButtonsGroup/ButtonsGroup';
+import { Divider } from '../../shared/defguard-ui/components/Divider/Divider';
+import { MarkedSection } from '../../shared/defguard-ui/components/MarkedSection/MarkedSection';
+import { MarkedSectionHeader } from '../../shared/defguard-ui/components/MarkedSectionHeader/MarkedSectionHeader';
+import docIllustration from '../../shared/defguard-ui/components/SectionSelect/assets/manual-user.png';
+import { SizedBox } from '../../shared/defguard-ui/components/SizedBox/SizedBox';
+import { TextStyle, ThemeSpacing, ThemeVariable } from '../../shared/defguard-ui/types';
+import { downloadFile, downloadText } from '../../shared/utils/download';
+
+export const SupportPage = () => {
+ return (
+
+
+
+
+
+
+ {m.support_page_docs_title()}
+
+
+