@@ -46,9 +46,38 @@ export default function Support() {
subtitle="Find answers, get in touch, or schedule a demo"
/>
-
+
+
+
+
+
+
+
+ Schedule a demo
+
+ Want to know more about PrairieLearn or PrairieTest?
+
+
+ Schedule a demo
+
+
+
+
+
+ Request a course
+
+ Ready to start creating your own course?
+
+
+
+
-
-
-
-
-
-
-
-
-
-
- Schedule a demo
-
- Want to know more about PrairieLearn or PrairieTest?
-
-
- Schedule a demo
-
-
-
-
-
- Request a course
-
- Ready to start creating your own course?
-
-
-
-
-
-
-
-
-
setShowRequestCourseModal(false)}
From e97f96c95c97f538862865d74b954cf26b33368d Mon Sep 17 00:00:00 2001
From: Nathan Sarang-Walters
Date: Thu, 1 Oct 2026 10:15:54 -0700
Subject: [PATCH 3/4] Link directly to support without contact fragment
---
next.config.ts | 2 +-
src/pages/pricing/index.tsx | 6 +++---
src/pages/security/index.mdx | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/next.config.ts b/next.config.ts
index 19797fec..c9a2dc7c 100644
--- a/next.config.ts
+++ b/next.config.ts
@@ -25,7 +25,7 @@ const nextConfig: NextConfig = {
return [
{
source: "/contact",
- destination: "/support#contact",
+ destination: "/support",
permanent: true,
},
{
diff --git a/src/pages/pricing/index.tsx b/src/pages/pricing/index.tsx
index 4380f824..e81e8854 100644
--- a/src/pages/pricing/index.tsx
+++ b/src/pages/pricing/index.tsx
@@ -89,8 +89,8 @@ const FAQS = [
Yes! PrairieLearn is always free for instructors, and the full platform
is always free for courses with up to 20 students in each term, with no
limit on the number of terms. If you have more than that,{" "}
- contact us to arrange a free trial
- for one term.
+ contact us to arrange a free trial for one
+ term.
),
},
@@ -146,7 +146,7 @@ const FAQS = [
function ContactUsButton({ className }: { className?: string }) {
return (
Contact us
diff --git a/src/pages/security/index.mdx b/src/pages/security/index.mdx
index dc45a596..e0649b71 100644
--- a/src/pages/security/index.mdx
+++ b/src/pages/security/index.mdx
@@ -8,7 +8,7 @@ The PrairieLearn team takes the security of our products and services seriously.
## Third-party audits
-- **SOC 2 Type I**: PrairieLearn, Inc. has a SOC 2 Type I attestation for Security in accordance with the AICPA Trust Service Criteria. [Contact us](/support#contact) for access to our report.
+- **SOC 2 Type I**: PrairieLearn, Inc. has a SOC 2 Type I attestation for Security in accordance with the AICPA Trust Service Criteria. [Contact us](/support) for access to our report.
## Product security
From 6e5fa84d31f520e7c5bfb7583dec8e4358a68eeb Mon Sep 17 00:00:00 2001
From: Nathan Sarang-Walters
Date: Thu, 1 Oct 2026 10:20:54 -0700
Subject: [PATCH 4/4] Simplify support card and make contact redirect temporary
---
next.config.ts | 3 ++-
src/components/EmailContact.module.scss | 19 ---------------
src/components/EmailContact.tsx | 31 -------------------------
src/pages/support/index.module.scss | 9 +++++++
src/pages/support/index.tsx | 24 ++++++++++++++++---
5 files changed, 32 insertions(+), 54 deletions(-)
delete mode 100644 src/components/EmailContact.module.scss
delete mode 100644 src/components/EmailContact.tsx
diff --git a/next.config.ts b/next.config.ts
index c9a2dc7c..245e98d6 100644
--- a/next.config.ts
+++ b/next.config.ts
@@ -26,7 +26,8 @@ const nextConfig: NextConfig = {
{
source: "/contact",
destination: "/support",
- permanent: true,
+ // Keep this temporary so /contact can be restored without cached redirects.
+ permanent: false,
},
{
source: "/slack",
diff --git a/src/components/EmailContact.module.scss b/src/components/EmailContact.module.scss
deleted file mode 100644
index a22adac5..00000000
--- a/src/components/EmailContact.module.scss
+++ /dev/null
@@ -1,19 +0,0 @@
-@import "~bootstrap/scss/_functions.scss";
-@import "~bootstrap/scss/_variables.scss";
-
-.card {
- height: 100%;
- border-color: $blue-100;
- background: linear-gradient(135deg, $blue-100, $white 75%);
-}
-
-.address {
- width: fit-content;
- color: $blue-700;
- overflow-wrap: anywhere;
- text-underline-offset: 0.2em;
-
- &:hover {
- color: $blue-900;
- }
-}
diff --git a/src/components/EmailContact.tsx b/src/components/EmailContact.tsx
deleted file mode 100644
index f4f0c90a..00000000
--- a/src/components/EmailContact.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-import classnames from "classnames";
-
-import { Heading } from "./Heading";
-import styles from "./EmailContact.module.scss";
-
-export function EmailContact() {
- return (
-
-
- Contact us
-
- Have a question about pricing, getting started, or using PrairieLearn
- or PrairieTest? Our team is here to help.
-
-
- Email support
-
-
-
- support@prairielearn.com
-
-
-
- );
-}
diff --git a/src/pages/support/index.module.scss b/src/pages/support/index.module.scss
index 58f16b68..50178f9a 100644
--- a/src/pages/support/index.module.scss
+++ b/src/pages/support/index.module.scss
@@ -1,3 +1,12 @@
+@import "~bootstrap/scss/_functions.scss";
+@import "~bootstrap/scss/_variables.scss";
+
+.contact {
+ height: 100%;
+ border-color: $blue-100;
+ background: linear-gradient(135deg, $blue-100, $white 75%);
+}
+
.grid {
display: grid;
grid-template-columns: minmax(0, 1fr);
diff --git a/src/pages/support/index.tsx b/src/pages/support/index.tsx
index 3c36fdab..4602bbd1 100644
--- a/src/pages/support/index.tsx
+++ b/src/pages/support/index.tsx
@@ -3,7 +3,6 @@ import React from "react";
import Link from "next/link";
import classnames from "classnames";
import { Heading } from "../../components/Heading";
-import { EmailContact } from "../../components/EmailContact";
import styles from "./index.module.scss";
import { RequestCourseModal } from "../../components/RequestCourseModal";
@@ -49,8 +48,27 @@ export default function Support() {
-
-
+
+
+ Contact us
+
+ Have a question about pricing, getting started, or using
+ PrairieLearn or PrairieTest? Our team is here to help.
+
+
+ Email support
+
+
+
+ support@prairielearn.com
+
+
+ Want to know more about PrairieLearn or PrairieTest? +
+ + Schedule a demo + ++ Ready to start creating your own course? +
+ +- Want to know more about PrairieLearn or PrairieTest? -
- - Schedule a demo - -- Ready to start creating your own course? -
- -- Have a question about pricing, getting started, or using PrairieLearn - or PrairieTest? Our team is here to help. -
- - Email support - - - - support@prairielearn.com - -+ Have a question about pricing, getting started, or using + PrairieLearn or PrairieTest? Our team is here to help. +
+ + Email support + + + + support@prairielearn.com + +