* Revise portfolio: warm brown theme, elegant typography, optimized analytics tracking (#55) * Initial plan * Update color theme to warm brown and off-white, add elegant fonts, fix analytics tracking Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com> * Fix 404 page integration with warm theme, update admin console colors, fix font loading Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com> * Address code review feedback: fix navigation, add utils, improve tracking Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com> * Fix accessibility and memory leak issues from code review Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com> * chore: Code cleanup, add Sentry.io monitoring, and documentation (#56) * Initial plan * Remove unused code and clean up console statements Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com> * Remove unused components and fix type issues Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com> * Wrap console.warn in development check Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com> * Integrate Sentry.io monitoring and add text editing documentation Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com> * Initial plan * feat: Add Sentry configuration files and example pages - Add sentry.server.config.ts and sentry.edge.config.ts - Update instrumentation.ts with onRequestError export - Update instrumentation-client.ts with onRouterTransitionStart export - Update global-error.tsx to capture exceptions with Sentry - Create Sentry example page at app/sentry-example-page/page.tsx - Create Sentry example API route at app/api/sentry-example-api/route.ts Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com> * feat: Update middleware to allow Sentry example page and fix deprecated API - Update middleware to exclude /sentry-example-page from locale routing - Remove deprecated startTransaction API from Sentry example page - Use consistent DSN configuration with fallback values Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com> * refactor: Improve Sentry configuration with environment-based sampling - Add comments explaining DSN fallback values - Use environment-based tracesSampleRate (10% in production, 100% in dev) - Address code review feedback for production-safe configuration Co-authored-by: denshooter <44590296+denshooter@users.noreply.github.com> --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
82 lines
2.3 KiB
TypeScript
82 lines
2.3 KiB
TypeScript
"use client";
|
|
|
|
import Head from "next/head";
|
|
import * as Sentry from "@sentry/nextjs";
|
|
|
|
export default function SentryExamplePage() {
|
|
return (
|
|
<div>
|
|
<Head>
|
|
<title>Sentry Onboarding</title>
|
|
<meta name="description" content="Test Sentry for your Next.js app!" />
|
|
</Head>
|
|
|
|
<main
|
|
style={{
|
|
minHeight: "100vh",
|
|
display: "flex",
|
|
flexDirection: "column",
|
|
justifyContent: "center",
|
|
alignItems: "center",
|
|
padding: "2rem",
|
|
}}
|
|
>
|
|
<h1 style={{ fontSize: "2rem", fontWeight: "bold", marginBottom: "1rem" }}>
|
|
Sentry Onboarding
|
|
</h1>
|
|
<p style={{ marginBottom: "1rem" }}>
|
|
Get started by sending us a sample error:
|
|
</p>
|
|
<button
|
|
type="button"
|
|
style={{
|
|
padding: "0.5rem 1rem",
|
|
backgroundColor: "#0070f3",
|
|
color: "white",
|
|
border: "none",
|
|
borderRadius: "0.25rem",
|
|
cursor: "pointer",
|
|
}}
|
|
onClick={async () => {
|
|
Sentry.captureException(new Error("This is your first error!"));
|
|
|
|
try {
|
|
const res = await fetch("/api/sentry-example-api");
|
|
if (!res.ok) {
|
|
throw new Error("Sentry Example API Error");
|
|
}
|
|
} catch (err) {
|
|
Sentry.captureException(err);
|
|
}
|
|
}}
|
|
>
|
|
Throw error!
|
|
</button>
|
|
|
|
<p style={{ marginTop: "2rem", fontSize: "0.875rem", color: "#666" }}>
|
|
Next, look for the error on the{" "}
|
|
<a
|
|
style={{ color: "#0070f3", textDecoration: "underline" }}
|
|
href="https://dk0.sentry.io/issues/?project=4510751388926032"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
>
|
|
Issues Page
|
|
</a>
|
|
</p>
|
|
<p style={{ fontSize: "0.875rem", color: "#666" }}>
|
|
For more information, see{" "}
|
|
<a
|
|
style={{ color: "#0070f3", textDecoration: "underline" }}
|
|
href="https://docs.sentry.io/platforms/javascript/guides/nextjs/"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
>
|
|
https://docs.sentry.io/platforms/javascript/guides/nextjs/
|
|
</a>
|
|
</p>
|
|
</main>
|
|
</div>
|
|
);
|
|
}
|