From 89f710d171c279fe93fe160c5ef27ffecfadbc81 Mon Sep 17 00:00:00 2001 From: Frances Coronel Date: Sun, 21 Jul 2024 01:15:30 -0400 Subject: [PATCH] Add Prettier + Import Organizer + Bump Next (#159) - adds Prettier config - adds Prettier plugin to organize imports automatically on save - update storybook + sentry + nextjs to latest versions --------- Signed-off-by: Frances Coronel --- .eslintrc.json | 9 +- .github/CONTRIBUTING.md | 2 +- .github/ISSUE_TEMPLATE/Bug_report.md | 84 +- .github/ISSUE_TEMPLATE/Feature_request.md | 41 +- .github/ISSUE_TEMPLATE/Question.md | 6 + .github/dependabot.yml | 3 +- .github/labeler.yml | 2 +- .github/workflows/codeql.yml | 63 +- .github/workflows/dependency-review.yml | 6 +- .github/workflows/greetings.yml | 10 +- .github/workflows/label.yml | 7 +- .github/workflows/stale.yml | 22 +- .gitignore | 3 + .prettierrc | 27 + .storybook/LatinaDevTheme.ts | 2 +- .storybook/main.ts | 23 +- .storybook/manager.ts | 3 +- .storybook/preview.html | 2 +- .storybook/preview.ts | 14 +- .vscode/settings.json | 5 +- README.md | 8 +- app/api/sentry-example-api/route.ts | 9 + app/global-error.tsx | 23 + app/layout.tsx | 14 +- app/members/[slug]/page.tsx | 29 +- app/members/page.tsx | 3 + app/page.tsx | 3 + components/ButtonLink/ButtonLink.stories.ts | 7 +- components/ButtonLink/ButtonLink.tsx | 4 +- .../CountryFlags/CountryFlags.stories.ts | 10 +- components/CountryFlags/CountryFlags.tsx | 3 +- components/Footer/Footer.stories.ts | 4 +- components/Footer/Footer.tsx | 8 +- .../GitHubCorner/GitHubCorner.stories.ts | 4 +- components/GitHubCorner/GitHubCorner.tsx | 3 +- components/Homepage/About/About.tsx | 9 +- components/Homepage/Hero/Hero.tsx | 7 +- .../Homepage/Maintainers/Maintainers.tsx | 1 + .../Homepage/MemberPreview/MemberPreview.tsx | 5 +- components/Layout/MetaTags.tsx | 5 +- components/Logo/Logo.stories.tsx | 4 +- components/MemberCard/MemberCard.stories.tsx | 10 +- components/MemberCard/MemberCard.tsx | 6 +- components/Navbar/Navbar.module.css | 1 - components/Navbar/Navbar.stories.tsx | 4 +- components/Navbar/Navbar.tsx | 1 + components/SocialLinks/SocialLinks.stories.ts | 10 +- components/SocialLinks/SocialLinks.tsx | 9 +- data/members/amandha-wingert-barok.md | 2 +- data/members/chislaine-cruz.md | 1 - data/members/clarissa-jaime.md | 2 +- data/members/elizabeth-ponce.md | 2 +- data/members/fernanda-perez-gutierrez.md | 8 +- data/members/frances-coronel.md | 2 +- data/members/megan-rodriguez.md | 2 +- data/members/melisa-im.md | 2 +- docs/index.html | 199 +- docs/pages/opening-pr.md | 1 - docs/pages/questions.md | 8 +- docs/pages/welcome.md | 6 +- instrumentation.ts | 9 + lib/getMembers.ts | 7 +- next.config.js | 32 +- package-lock.json | 11858 ++++++++-------- package.json | 43 +- postcss.config.js | 6 +- sentry.client.config.ts | 4 +- sentry.edge.config.ts | 2 +- sentry.server.config.ts | 6 +- styles/typography.css | 24 +- tailwind.config.js | 6 +- types/links.ts | 2 +- types/members.ts | 2 +- 73 files changed, 6196 insertions(+), 6578 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/Question.md create mode 100644 .prettierrc create mode 100644 app/api/sentry-example-api/route.ts create mode 100644 app/global-error.tsx create mode 100644 instrumentation.ts diff --git a/.eslintrc.json b/.eslintrc.json index a88499d..946bc1b 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -13,11 +13,6 @@ } ] }, - "extends": [ - "next/core-web-vitals", - "plugin:storybook/recommended" - ], - "plugins": [ - "unused-imports" - ] + "extends": ["next/core-web-vitals", "plugin:storybook/recommended"], + "plugins": ["unused-imports"] } diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 187d324..1447ac0 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -6,4 +6,4 @@ We walk you through the process of contributing to our project, from setting up We will also share a lot more information about our project, and how you can help us. -We look forward to reviewing your first PR! πŸ¦‰ \ No newline at end of file +We look forward to reviewing your first PR! πŸ¦‰ diff --git a/.github/ISSUE_TEMPLATE/Bug_report.md b/.github/ISSUE_TEMPLATE/Bug_report.md index b9e3e33..d0acb6d 100644 --- a/.github/ISSUE_TEMPLATE/Bug_report.md +++ b/.github/ISSUE_TEMPLATE/Bug_report.md @@ -1,42 +1,42 @@ ---- -name: Bug report -about: Create a report to help us improve ---- - -## Describe the bug - -A clear and concise description of what the bug is. - -## To Reproduce - -Steps to reproduce the behavior: - -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -## Expected behavior - -A clear and concise description of what you expected to happen. - -## Screenshots - -If applicable, add screenshots to help explain your problem. - -## Desktop (please complete the following information): - - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] - -## Smartphone (please complete the following information): - - - Device: [e.g. iPhone6] - - OS: [e.g. iOS8.1] - - Browser [e.g. stock browser, safari] - - Version [e.g. 22] - -## Additional context - -Add any other context about the problem here. +--- +name: Bug report +about: Create a report to help us improve +--- + +## Describe the bug + +A clear and concise description of what the bug is. + +## To Reproduce + +Steps to reproduce the behavior: + +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +## Expected behavior + +A clear and concise description of what you expected to happen. + +## Screenshots + +If applicable, add screenshots to help explain your problem. + +## Desktop (please complete the following information): + +- OS: [e.g. iOS] +- Browser [e.g. chrome, safari] +- Version [e.g. 22] + +## Smartphone (please complete the following information): + +- Device: [e.g. iPhone6] +- OS: [e.g. iOS8.1] +- Browser [e.g. stock browser, safari] +- Version [e.g. 22] + +## Additional context + +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/Feature_request.md b/.github/ISSUE_TEMPLATE/Feature_request.md index d9dd772..4d167c8 100644 --- a/.github/ISSUE_TEMPLATE/Feature_request.md +++ b/.github/ISSUE_TEMPLATE/Feature_request.md @@ -1,21 +1,20 @@ ---- -name: Feature request -about: Suggest an idea for this project - ---- - -## Is your feature request related to a problem? Please describe. - -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -## Describe the solution you'd like - -A clear and concise description of what you want to happen. - -## Describe alternatives you've considered - -A clear and concise description of any alternative solutions or features you've considered. - -## Additional context - -Add any other context or screenshots about the feature request here. +--- +name: Feature request +about: Suggest an idea for this project +--- + +## Is your feature request related to a problem? Please describe. + +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +## Describe the solution you'd like + +A clear and concise description of what you want to happen. + +## Describe alternatives you've considered + +A clear and concise description of any alternative solutions or features you've considered. + +## Additional context + +Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/Question.md b/.github/ISSUE_TEMPLATE/Question.md new file mode 100644 index 0000000..358cfa8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/Question.md @@ -0,0 +1,6 @@ +--- +name: Question +about: Ask a question about this project +--- + +Share your question here. If you have a code snippet, please include it. \ No newline at end of file diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 2d78567..f1ceddb 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -11,4 +11,5 @@ updates: interval: "monthly" ignore: - dependency-name: "*" - update-types: ["version-update:semver-minor", "version-update:semver-patch"] + update-types: + ["version-update:semver-minor", "version-update:semver-patch"] diff --git a/.github/labeler.yml b/.github/labeler.yml index c690b29..ba76794 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -1,4 +1,4 @@ -repo: '*' +repo: "*" app: app/**/* components: components/**/* public: public/**/* diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index dfcb7fa..cb85980 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -13,12 +13,12 @@ name: "CodeQL" on: push: - branches: [ "main" ] + branches: ["main"] pull_request: # The branches below must be a subset of the branches above - branches: [ "main" ] + branches: ["main"] schedule: - - cron: '21 6 * * 0' + - cron: "21 6 * * 0" jobs: analyze: @@ -32,45 +32,44 @@ jobs: strategy: fail-fast: false matrix: - language: [ 'javascript' ] + language: ["javascript"] # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] # Use only 'java' to analyze code written in Java, Kotlin or both # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support steps: - - name: Checkout repository - uses: actions/checkout@v3 + - name: Checkout repository + uses: actions/checkout@v3 - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. - # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality + # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v2 - # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 + # ℹ️ Command-line programs to run using the OS shell. + # πŸ“š See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - # ℹ️ Command-line programs to run using the OS shell. - # πŸ“š See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + # If the Autobuild fails above, remove it and uncomment the following three lines. + # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. - # If the Autobuild fails above, remove it and uncomment the following three lines. - # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. + # - run: | + # echo "Run, Build Application using script" + # ./location_of_script_within_repo/buildscript.sh - # - run: | - # echo "Run, Build Application using script" - # ./location_of_script_within_repo/buildscript.sh - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 - with: - category: "/language:${{matrix.language}}" + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + with: + category: "/language:${{matrix.language}}" diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index fe461b4..b183822 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -4,7 +4,7 @@ # # Source repository: https://github.com/actions/dependency-review-action # Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement -name: 'Dependency Review' +name: "Dependency Review" on: [pull_request] permissions: @@ -14,7 +14,7 @@ jobs: dependency-review: runs-on: ubuntu-latest steps: - - name: 'Checkout Repository' + - name: "Checkout Repository" uses: actions/checkout@v3 - - name: 'Dependency Review' + - name: "Dependency Review" uses: actions/dependency-review-action@v2 diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml index b553f50..140e355 100644 --- a/.github/workflows/greetings.yml +++ b/.github/workflows/greetings.yml @@ -9,8 +9,8 @@ jobs: issues: write pull-requests: write steps: - - uses: actions/first-interaction@v1 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - issue-message: "Thank you for raising an issue! Please make sure you have given us enough context and we will review it as soon as possible. ⏲️ If you don't hear back from anyone within the next week, feel free to reach out to one of the maintainers. πŸ’›" - pr-message: "Thanks for opening this pull request! Please make sure you have followed our contributing guidelines and we will review it as soon as possible. ⏲️ If you don't hear back from anyone within the next week, feel free to reach out to one of the maintainers. πŸ’›" + - uses: actions/first-interaction@v1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + issue-message: "Thank you for raising an issue! Please make sure you have given us enough context and we will review it as soon as possible. ⏲️ If you don't hear back from anyone within the next week, feel free to reach out to one of the maintainers. πŸ’›" + pr-message: "Thanks for opening this pull request! Please make sure you have followed our contributing guidelines and we will review it as soon as possible. ⏲️ If you don't hear back from anyone within the next week, feel free to reach out to one of the maintainers. πŸ’›" diff --git a/.github/workflows/label.yml b/.github/workflows/label.yml index 4613569..92b13d0 100644 --- a/.github/workflows/label.yml +++ b/.github/workflows/label.yml @@ -10,13 +10,12 @@ on: [pull_request_target] jobs: label: - runs-on: ubuntu-latest permissions: contents: read pull-requests: write steps: - - uses: actions/labeler@v4 - with: - repo-token: "${{ secrets.GITHUB_TOKEN }}" + - uses: actions/labeler@v4 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 04e2d41..6582d94 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -7,24 +7,22 @@ name: Mark stale issues and pull requests on: schedule: - - cron: '23 5 * * *' + - cron: "23 5 * * *" jobs: stale: - runs-on: ubuntu-latest permissions: issues: write pull-requests: write steps: - - uses: actions/stale@v5 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - stale-issue-message: 'This issue is now stale since there have not been any new conversations within the last 3 months. This PR will automatically close in 1 week.' - stale-pr-message: 'This PR is now stale since there have not been any new conversations within the last 3 months. This PR will automatically close in 1 week.' - stale-issue-label: 'stale' - stale-pr-label: 'stale' - days-before-stale: 90 - days-before-close: 7 - + - uses: actions/stale@v5 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-message: "This issue is now stale since there have not been any new conversations within the last 3 months. This PR will automatically close in 1 week." + stale-pr-message: "This PR is now stale since there have not been any new conversations within the last 3 months. This PR will automatically close in 1 week." + stale-issue-label: "stale" + stale-pr-label: "stale" + days-before-stale: 90 + days-before-close: 7 diff --git a/.gitignore b/.gitignore index 65d82cc..577d838 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,6 @@ next-env.d.ts # Sentry Auth Token .sentryclirc + +# Sentry Config File +.env.sentry-build-plugin diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..5059e87 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,27 @@ +{ + "trailingComma": "none", + "tabWidth": 2, + "plugins": ["@ianvs/prettier-plugin-sort-imports"], + "importOrder": [ + "^react$", + "^next/(.*)$", + "app/(.*)$", + "", + "^@vercel/(.*)$", + "", + "", + "^@fortawesome/(.*)$", + "", + "^@/components/(.*)$", + "", + "^@/lib/(.*)$", + "", + "", + "^@/types/(.*)$", + "", + "^[.]", + "", + "^(?!.*[.]css$)[./].*$", + ".css$" + ] +} diff --git a/.storybook/LatinaDevTheme.ts b/.storybook/LatinaDevTheme.ts index 8488056..56ef655 100644 --- a/.storybook/LatinaDevTheme.ts +++ b/.storybook/LatinaDevTheme.ts @@ -39,5 +39,5 @@ export default create({ inputBg: "#ffffff", inputBorder: "#151515", inputTextColor: "#151515", - inputBorderRadius: 8, + inputBorderRadius: 8 }); diff --git a/.storybook/main.ts b/.storybook/main.ts index 38fd237..a5dae7c 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -1,4 +1,5 @@ import type { StorybookConfig } from "@storybook/nextjs"; + const config: StorybookConfig = { stories: [ { @@ -7,7 +8,7 @@ const config: StorybookConfig = { // πŸ‘‡ Storybook will load all files that match this glob files: "**/*.mdx", // πŸ‘‡ Used when generating automatic titles for your stories - titlePrefix: "Docs", + titlePrefix: "Docs" }, { // πŸ‘‡ Sets the directory containing your stories @@ -15,23 +16,27 @@ const config: StorybookConfig = { // πŸ‘‡ Storybook will load all files that match this glob files: "**/*.stories.@(js|jsx|ts|tsx)", // πŸ‘‡ Used when generating automatic titles for your stories - titlePrefix: "Components", - }, + titlePrefix: "Components" + } ], + addons: [ - "@storybook/addon-links", + "@chromatic-com/storybook", + "@storybook/addon-a11y", "@storybook/addon-essentials", "@storybook/addon-interactions", + "@storybook/addon-links", "@storybook/addon-storysource", - "@storybook/addon-a11y", + "@storybook/addon-styling", ], + framework: { name: "@storybook/nextjs", - options: {}, + options: {} }, + staticDirs: ["../public"], - docs: { - autodocs: "tag", - }, + + docs: {}, }; export default config; diff --git a/.storybook/manager.ts b/.storybook/manager.ts index b7b2ff9..010ea04 100644 --- a/.storybook/manager.ts +++ b/.storybook/manager.ts @@ -1,6 +1,7 @@ import { addons } from "@storybook/manager-api"; + import LatinaDevTheme from "./LatinaDevTheme"; addons.setConfig({ - theme: LatinaDevTheme, + theme: LatinaDevTheme }); diff --git a/.storybook/preview.html b/.storybook/preview.html index 127256d..9c76f88 100644 --- a/.storybook/preview.html +++ b/.storybook/preview.html @@ -2,4 +2,4 @@ - \ No newline at end of file + diff --git a/.storybook/preview.ts b/.storybook/preview.ts index f1c4262..d006a57 100644 --- a/.storybook/preview.ts +++ b/.storybook/preview.ts @@ -1,23 +1,23 @@ import type { Preview } from "@storybook/react"; + import "../styles/_styles.css"; const preview: Preview = { parameters: { - actions: { argTypesRegex: "^on[A-Z].*" }, controls: { matchers: { color: /(background|color)$/i, - date: /Date$/, - }, + date: /Date$/ + } }, layout: "centered", options: { storySort: { method: "alphabetical", - order: ["Docs", "Components"], - }, - }, - }, + order: ["Docs", "Components"] + } + } + } }; export default preview; diff --git a/.vscode/settings.json b/.vscode/settings.json index 2fd681b..8f39472 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,8 +1,5 @@ { "typescript.tsdk": "node_modules/typescript/lib", "typescript.enablePromptUseWorkspaceTsdk": true, - "editor.formatOnSave": true, - "editor.codeActionsOnSave": { - "source.organizeImports": true - } + "editor.formatOnSave": true } diff --git a/README.md b/README.md index 53ef877..6025f65 100644 --- a/README.md +++ b/README.md @@ -18,16 +18,10 @@ Our goal is to increase visibility and access to valuable opportunities. πŸ“š [Documentation](https://docs.latina.dev) -πŸ‘Ύ [Slack](https://latinadev.slack.com) +πŸ‘Ύ [Slack](https://latinadev.slack.com) ([Request an invite](mailto:hello@latina.dev)) 🎨 [Storybook](https://www.chromatic.com/library?appId=6472ce8643c60096810af8c0) -🎯 [GitHub Milestones](https://github.com/Latina-Dev/latina-dev/milestones) - -πŸ› οΈ [GitHub Project Board](https://github.com/orgs/Latina-Dev/projects/1) - -πŸ’¬ [GitHub Discussions](https://github.com/orgs/Latina-Dev/discussions) - ## Contributing > To get started... diff --git a/app/api/sentry-example-api/route.ts b/app/api/sentry-example-api/route.ts new file mode 100644 index 0000000..f486f3d --- /dev/null +++ b/app/api/sentry-example-api/route.ts @@ -0,0 +1,9 @@ +import { NextResponse } from "next/server"; + +export const dynamic = "force-dynamic"; + +// A faulty API route to test Sentry's error monitoring +export function GET() { + throw new Error("Sentry Example API Route Error"); + return NextResponse.json({ data: "Testing Sentry Error..." }); +} diff --git a/app/global-error.tsx b/app/global-error.tsx new file mode 100644 index 0000000..9bda5fe --- /dev/null +++ b/app/global-error.tsx @@ -0,0 +1,23 @@ +"use client"; + +import * as Sentry from "@sentry/nextjs"; +import NextError from "next/error"; +import { useEffect } from "react"; + +export default function GlobalError({ error }: { error: Error & { digest?: string } }) { + useEffect(() => { + Sentry.captureException(error); + }, [error]); + + return ( + + + {/* `NextError` is the default Next.js error page component. Its type + definition requires a `statusCode` prop. However, since the App Router + does not expose status codes for errors, we simply pass 0 to render a + generic error message. */} + + + + ); +} \ No newline at end of file diff --git a/app/layout.tsx b/app/layout.tsx index 4300f14..d450b39 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -2,25 +2,30 @@ import Footer from "@/components/Footer/Footer"; import GitHubCorner from "@/components/GitHubCorner/GitHubCorner"; import MetaTags from "@/components/Layout/MetaTags"; import Navbar from "@/components/Navbar/Navbar"; + import "@fortawesome/fontawesome-svg-core/styles.css"; + import { Analytics } from "@vercel/analytics/react"; +import { SpeedInsights } from "@vercel/speed-insights/next"; + import styles from "./layout.module.css"; + import "/styles/_styles.css"; export const metadata = { title: { default: "Latina Dev", - template: "%s | Latina Dev", + template: "%s | Latina Dev" }, description: "Latina Dev is an open-source directory of Latina software engineers at the student, IC, and leadership levels. Our goal is to increase visibility and access to valuable opportunities.", icons: { - shortcut: "/favicon.png", - }, + shortcut: "/favicon.png" + } }; export default function RootLayout({ - children, + children }: { children: React.ReactNode; }) { @@ -35,6 +40,7 @@ export default function RootLayout({
{children} +