From 7cb38e9df84eef1cfee70c74a666b092a67b7b28 Mon Sep 17 00:00:00 2001 From: Noelia Date: Sun, 28 Jan 2024 21:05:13 +0100 Subject: [PATCH] improvements and fixes (#35) * refactor: robots, sizes, improvements * refactor: some improvements * fix: card test * fix: text --- app/globals.css | 53 ++-- components/badge/badge.test.tsx | 4 +- components/card/card-body.tsx | 50 ++-- components/card/card-information.tsx | 14 ++ components/card/card-title.tsx | 13 +- components/card/card.tsx | 74 +++--- components/card/test/card-title.test.tsx | 10 +- components/card/test/card.test.tsx | 84 +++---- components/figure/figure.tsx | 46 ++-- docs/backend/deploys.mdx | 4 +- docs/backend/streamers.mdx | 2 +- docs/conferences/espana.mdx | 2 +- docs/menu.mdx | 2 +- docs/testing/streamers.mdx | 2 +- docs/vscode/extensions.mdx | 300 +++++++++++------------ lib/constants.ts | 2 +- lib/mdx/get-menu.test.ts | 212 ++++++++-------- public/ui/imgnotfound.svg | 14 +- robots.ts | 10 + robots.txt | 3 + tailwind.config.js | 49 ++-- 21 files changed, 476 insertions(+), 474 deletions(-) create mode 100644 components/card/card-information.tsx create mode 100644 robots.ts create mode 100644 robots.txt diff --git a/app/globals.css b/app/globals.css index 1b97bf3..ab57d97 100644 --- a/app/globals.css +++ b/app/globals.css @@ -2,26 +2,27 @@ @tailwind components; @tailwind utilities; -@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;300;400;700&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;700&display=swap'); :root { - color-scheme: light; + --font-popi: 'Poppins', sans-serif; + color-scheme: light; } :root[data-theme='synthwave'] { - color-scheme: synthwave; + color-scheme: synthwave; } :root[data-theme='synthwave'] img#svg { - filter: invert(1); + filter: invert(1); } :root[data-theme='light'] img#svg.commitconf { - filter: invert(1); + filter: invert(1); } :root[data-theme='light'] img#svg.youtube, :root[data-theme='light'] img#svg.vitest { - filter: none; + filter: none; } :root[data-theme='synthwave'] img#svg.youtube, @@ -31,38 +32,34 @@ :root[data-theme='synthwave'] img#svg.jest, :root[data-theme='synthwave'] img#svg.vitest, :root[data-theme='synthwave'] img#svg.playwright { - filter: none; + filter: none; } img.bilbostack { - border-radius: inherit; + border-radius: inherit; } * { - --font-popi: 'Poppins', sans-serif; - --font-weight-light: 100; - --font-weight-regular: 400; - --font-weight-bold: 700; - min-width: 0; + min-width: 0; } *, *::before, *::after { - box-sizing: border-box; + box-sizing: border-box; } img, video, svg { - display: block; - height: auto; - max-width: 100%; + display: block; + height: auto; + max-width: 100%; } body { - margin: 0; - min-height: 100dvh; + margin: 0; + min-height: 100dvh; } h1, @@ -71,21 +68,21 @@ h3, h4, h5, h6 { - text-wrap: balance; + text-wrap: balance; } p { - text-wrap: pretty; + text-wrap: pretty; } svg { - fill: 'red'; + fill: 'red'; } .icon-svg { - mask-size: 100%; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - mask-position: center; - width: 24px; - height: 24px; + mask-size: 100%; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + mask-position: center; + width: 24px; + height: 24px; } diff --git a/components/badge/badge.test.tsx b/components/badge/badge.test.tsx index f2e28ca..aee66cb 100644 --- a/components/badge/badge.test.tsx +++ b/components/badge/badge.test.tsx @@ -6,9 +6,7 @@ describe('', () => { const today = new Date().toISOString() const yesterday = new Date(Date.now() - 86400000).toISOString() const lastWeek = new Date(Date.now() - 604800000).toISOString() - console.log(today) - console.log(yesterday) - console.log(lastWeek) + test('renders the new badge', () => { const { getByText } = render( diff --git a/components/card/card-body.tsx b/components/card/card-body.tsx index d24ade1..2e2e21c 100644 --- a/components/card/card-body.tsx +++ b/components/card/card-body.tsx @@ -3,35 +3,29 @@ import { Figure as CoverType } from '@/lib/mdx/get-menu-item' import { Figure } from '../figure/figure' type CardBodyProps = { - cover: CoverType - imgPlaceholder: string + cover: CoverType + imgPlaceholder: string } export const CardBody = ({ cover, imgPlaceholder }: CardBodyProps) => { - const hasCover = Boolean(cover.src) - const isSvg = cover.src.includes('.svg') - const coverName = isSvg - ? cover.src.replace('.svg', '').split('/')[2] - : cover.src.replace('.png', '').split('/')[2] - return ( -
-
- {hasCover ? ( -
- ) : ( -

- {imgPlaceholder} -

- )} -
-
- ) + const isSvg = cover.src ? cover.src.includes('.svg') : true + const coverName = isSvg + ? cover.src.replace('.svg', '').split('/')[2] + : cover.src.replace('.png', '').split('/')[2] + + return ( +
+
+
+
+
+ ) } diff --git a/components/card/card-information.tsx b/components/card/card-information.tsx new file mode 100644 index 0000000..efa4380 --- /dev/null +++ b/components/card/card-information.tsx @@ -0,0 +1,14 @@ +import { InfoExtra } from '@/lib/mdx/get-menu-item' + +import { getConferenceInfo } from './card-utils' + +type CardTitleProps = { + title?: string + infoExtra?: InfoExtra +} + +export const CardInformation = ({ title, infoExtra }: CardTitleProps) => ( +

+ {infoExtra ? getConferenceInfo(infoExtra) : title} +

+) diff --git a/components/card/card-title.tsx b/components/card/card-title.tsx index c6c5e86..8244e91 100644 --- a/components/card/card-title.tsx +++ b/components/card/card-title.tsx @@ -1,14 +1,7 @@ -import { InfoExtra } from '@/lib/mdx/get-menu-item' - -import { getConferenceInfo } from './card-utils' - type CardTitleProps = { - title?: string - infoExtra?: InfoExtra + title: string } -export const CardTitle = ({ title, infoExtra }: CardTitleProps) => ( -

- {infoExtra ? getConferenceInfo(infoExtra) : title} -

+export const CardTitle = ({ title }: CardTitleProps) => ( +

{title}

) diff --git a/components/card/card.tsx b/components/card/card.tsx index 4a59db4..ae3ea87 100644 --- a/components/card/card.tsx +++ b/components/card/card.tsx @@ -3,48 +3,50 @@ import { Video } from '@/components/video/video' import { WebLink } from '../web-link/web-link' import { CardBody } from './card-body' +import { CardInformation } from './card-information' import { CardTitle } from './card-title' import { CardItem } from './card-types' type CardProps = { - item: CardItem + item: CardItem } export const Card = ({ item }: CardProps) => { - const { - cover, - imgPlaceholder, - titleCard, - infoExtra, - links, - videos, - createdAt, - updatedAt, - } = item + const { + cover, + imgPlaceholder, + titleCard, + infoExtra, + links, + videos, + createdAt, + updatedAt, + } = item - return ( -
- - - <> -
- -
- {links?.map(({ url, type }, index) => ( - - {type} - - ))} - {videos?.map((video, index) =>
- -
- ) + return ( +
+ + + <> + +
+ +
+ {links?.map(({ url, type }, index) => ( + + {type} + + ))} + {videos?.map((video, index) =>
+ +
+ ) } diff --git a/components/card/test/card-title.test.tsx b/components/card/test/card-title.test.tsx index 3afa86a..9777e6c 100644 --- a/components/card/test/card-title.test.tsx +++ b/components/card/test/card-title.test.tsx @@ -3,9 +3,9 @@ import { render } from '@/lib/test-utils' import { CardTitle } from '../card-title' describe('', () => { - test('renders correctly', () => { - const title = 'test' - const { getByText } = render() - expect(getByText('test')).toBeInTheDocument() - }) + test('renders correctly', () => { + const title = 'test' + const { getByText } = render() + expect(getByText('test')).toBeInTheDocument() + }) }) diff --git a/components/card/test/card.test.tsx b/components/card/test/card.test.tsx index 1176772..695fe7a 100644 --- a/components/card/test/card.test.tsx +++ b/components/card/test/card.test.tsx @@ -4,52 +4,52 @@ import { Card } from '../card' import { CardItem } from '../card-types' const itemMock: CardItem = { - titleCard: 'Card Title', - infoExtra: undefined, - cover: { - src: '/frontend/vercel.svg', - width: 100, - height: 100, - }, - imgPlaceholder: 'vercel placeholder', - links: [ - { - url: 'https://vercel.com', - type: 'Web', - }, - ], - videos: [ - { - url: 'https://vercel.com', - tooltip: 'Vercel', - }, - ], - createdAt: '2024-01-14T00:00:00Z', - updatedAt: '2024-01-14T00:00:00Z', + titleCard: 'Card Title', + infoExtra: undefined, + cover: { + src: '/frontend/vercel.svg', + width: 100, + height: 100, + }, + imgPlaceholder: 'vercel placeholder', + links: [ + { + url: 'https://vercel.com', + type: 'Web', + }, + ], + videos: [ + { + url: 'https://vercel.com', + tooltip: 'Vercel', + }, + ], + createdAt: '2024-01-14T00:00:00Z', + updatedAt: '2024-01-14T00:00:00Z', } describe('', () => { - test('renders correctly', () => { - render() + test('renders correctly', () => { + render() - // TODO: add testId to Icon component so we can use it here - // const svg = screen.getByRole('svg') - // expect(svg).toBeInTheDocument() - expect(screen.getByText('Web')).toBeInTheDocument() - expect(screen.getByText('Card Title')).toBeInTheDocument() - expect(screen.queryByText('vercel placeholder')).not.toBeInTheDocument() - }) + // TODO: add testId to Icon component so we can use it here + // const svg = screen.getByRole('svg') + // expect(svg).toBeInTheDocument() + expect(screen.getByText('Web')).toBeInTheDocument() + expect(screen.getByText('Card Title')).toBeInTheDocument() + expect(screen.getByText('vercel placeholder')).toBeInTheDocument() + }) - test('renders image placeholder when has no cover', () => { - const itemWithoutCover = { - ...itemMock, - cover: { - ...itemMock.cover, - src: '', - }, - } - render() + test('renders image placeholder when has no cover', () => { + const itemWithoutCover = { + ...itemMock, + cover: { + ...itemMock.cover, + src: '', + }, + } + render() - expect(screen.queryByText('vercel placeholder')).toBeInTheDocument() - }) + expect(screen.queryByText('vercel placeholder')).toBeInTheDocument() + }) }) diff --git a/components/figure/figure.tsx b/components/figure/figure.tsx index 9de829e..b49c228 100644 --- a/components/figure/figure.tsx +++ b/components/figure/figure.tsx @@ -1,34 +1,34 @@ -import { WidthIcon } from '@radix-ui/react-icons' import Image from 'next/image' import { Figure as CoverType } from '@/lib/mdx/get-menu-item' import { cn } from '@/lib/utils' type FigureProps = { - cover: CoverType - placeholder: string - className?: string - isSvg?: boolean + cover: CoverType + placeholder: string + className?: string + isSvg?: boolean } export const Figure = ({ - cover, - placeholder, - className, - isSvg = true, + cover, + placeholder, + className, + isSvg = true, }: FigureProps) => { - return ( -
- {placeholder} -
- ) + const hasCover = cover.src !== '' + return ( +
+ {placeholder} +
+ ) } diff --git a/docs/backend/deploys.mdx b/docs/backend/deploys.mdx index 03d7cf2..f1d5166 100644 --- a/docs/backend/deploys.mdx +++ b/docs/backend/deploys.mdx @@ -1,7 +1,7 @@ --- title: Deploys en backend description: 'Para el despliegue (deploy) de aplicaciones backend, existen diversas herramientas que facilitan la implementación y gestión eficiente de los servicios en entornos de producción. -La elección de la herramienta dependerá de factores como las necesidades específicas del proyecto, la infraestructura preferida y la familiaridad del equipo de desarrollo con la plataforma seleccionada. +La elección de la herramienta dependerá de factores como las necesidades específicas del proyecto, la infraestructura preferida y la familiaridad del equipo de desarrollo con la plataforma seleccionada.
Algunas de las herramientas más populares son:' contributors: @@ -15,7 +15,7 @@ submenu: url: 'https://www.render.com/' cover: src: '/backend/render.png' - height: 80 + height: 110 width: 110 createdAt: '2024-01-14T00:00:00Z' updatedAt: '2024-01-14T00:00:00Z' diff --git a/docs/backend/streamers.mdx b/docs/backend/streamers.mdx index 9b97585..7125ff3 100644 --- a/docs/backend/streamers.mdx +++ b/docs/backend/streamers.mdx @@ -13,7 +13,7 @@ submenu: url: 'https://www.twitch.tv/todocode' - type: 'Ig' url: 'https://www.instagram.com/todo_code' - - type:' Web' + - type: 'Web' url: 'https://todocodeacademy.com/' - type: 'Discord' url: 'https://discord.com/invite/MqVqXD2MfR' diff --git a/docs/conferences/espana.mdx b/docs/conferences/espana.mdx index f3b7050..f548727 100644 --- a/docs/conferences/espana.mdx +++ b/docs/conferences/espana.mdx @@ -39,7 +39,7 @@ submenu: videos: [] infoExtra: country: '🇪🇸' - city: 'Bilbao' + city: 'Madrid' date: month: 'Marzo' days: ['14', '15'] diff --git a/docs/menu.mdx b/docs/menu.mdx index e92619f..9cddffc 100644 --- a/docs/menu.mdx +++ b/docs/menu.mdx @@ -1,7 +1,7 @@ --- menu: -- name: 'Introduction' +- name: 'Inicio' items: [] - name: 'Recursos' diff --git a/docs/testing/streamers.mdx b/docs/testing/streamers.mdx index ee78799..c9ceb0e 100644 --- a/docs/testing/streamers.mdx +++ b/docs/testing/streamers.mdx @@ -1,6 +1,6 @@ --- title: Streamers -description: 'Personas del mundo tech que hacen streaming en vivo sobre testing etc.' +description: 'Personas del mundo tech que hacen streaming en vivo sobre temas relacionados con testing.' contributors: - github_username: 'nsdonato' diff --git a/docs/vscode/extensions.mdx b/docs/vscode/extensions.mdx index a6890ad..fb2d297 100644 --- a/docs/vscode/extensions.mdx +++ b/docs/vscode/extensions.mdx @@ -12,8 +12,8 @@ submenu: titleCard: '' cover: src: '/vscode/prettier.svg' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-14T00:00:00Z' updatedAt: '2024-01-14T00:00:00Z' links: @@ -29,8 +29,8 @@ submenu: titleCard: '' cover: src: '' - height: 80 - width: 190 + height: 50 + width: 50 links: - type: 'Web' url: 'https://eslint.org/' @@ -48,8 +48,8 @@ submenu: titleCard: '' cover: src: '' - height: 80 - width: 190 + height: 50 + width: 50 createdAt: '2024-01-14T00:00:00Z' updatedAt: '2024-01-14T00:00:00Z' links: @@ -61,8 +61,8 @@ submenu: titleCard: '' cover: src: '' - height: 80 - width: 190 + height: 50 + width: 50 createdAt: '2024-01-14T00:00:00Z' updatedAt: '2024-01-14T00:00:00Z' links: @@ -74,8 +74,8 @@ submenu: titleCard: '' cover: src: '' - height: 80 - width: 190 + height: 50 + width: 50 createdAt: '2024-01-14T00:00:00Z' updatedAt: '2024-01-14T00:00:00Z' links: @@ -87,8 +87,8 @@ submenu: titleCard: '' cover: src: '' - height: 80 - width: 190 + height: 50 + width: 50 createdAt: '2024-01-14T00:00:00Z' updatedAt: '2024-01-26T00:00:00Z' links: @@ -100,8 +100,8 @@ submenu: titleCard: '' cover: src: '' - height: 80 - width: 190 + height: 50 + width: 50 createdAt: '2024-01-14T00:00:00Z' updatedAt: '2024-01-26T00:00:00Z' links: @@ -113,8 +113,8 @@ submenu: titleCard: '' cover: src: '' - height: 80 - width: 190 + height: 50 + width: 50 createdAt: '2024-01-14T00:00:00Z' updatedAt: '2024-01-26T00:00:00Z' links: @@ -126,8 +126,8 @@ submenu: titleCard: '' cover: src: '' - height: 80 - width: 190 + height: 50 + width: 50 createdAt: '2024-01-14T00:00:00Z' updatedAt: '2024-01-14T00:00:00Z' links: @@ -139,8 +139,8 @@ submenu: titleCard: '' cover: src: '' - height: 80 - width: 190 + height: 50 + width: 50 createdAt: '2024-01-14T00:00:00Z' updatedAt: '2024-01-14T00:00:00Z' links: @@ -152,8 +152,8 @@ submenu: titleCard: '' cover: src: '' - height: 80 - width: 190 + height: 50 + width: 50 createdAt: '2024-01-14T00:00:00Z' updatedAt: '2024-01-14T00:00:00Z' links: @@ -165,8 +165,8 @@ submenu: titleCard: '' cover: src: '' - height: 80 - width: 190 + height: 50 + width: 50 createdAt: '2024-01-14T00:00:00Z' updatedAt: '2024-01-14T00:00:00Z' links: @@ -178,8 +178,8 @@ submenu: titleCard: '' cover: src: '' - height: 80 - width: 190 + height: 50 + width: 50 createdAt: '2024-01-14T00:00:00Z' updatedAt: '2024-01-26T00:00:00Z' links: @@ -191,8 +191,8 @@ submenu: titleCard: '' cover: src: '' - height: 80 - width: 190 + height: 50 + width: 50 createdAt: '2024-01-14T00:00:00Z' updatedAt: '2024-01-26T00:00:00Z' links: @@ -204,8 +204,8 @@ submenu: titleCard: '' cover: src: '' - height: 80 - width: 190 + height: 50 + width: 50 createdAt: '2024-01-27T16:52:25.000Z' updatedAt: '2024-01-27T16:52:25.000Z' links: @@ -213,14 +213,14 @@ submenu: url: 'https://marketplace.visualstudio.com/items?itemName=chrmarti.regex' videos: - tooltip: 'Regex Previewer' - url: ''https://www.youtube.com/watch?v=u6Eesv7aqHo&ab_channel=CoolITHelp' + url: 'https://www.youtube.com/watch?v=u6Eesv7aqHo&ab_channel=CoolITHelp' - imgPlaceholder: 'Turbo Console Log' titleCard: '' cover: src: '' - height: 80 - width: 190 + height: 50 + width: 50 createdAt: '2024-01-27T16:52:25.000Z' updatedAt: '2024-01-27T16:52:25.000Z' links: @@ -228,14 +228,14 @@ submenu: url: 'https://marketplace.visualstudio.com/items?itemName=ChakrounAnas.turbo-console-log' videos: - tooltip: 'Turbo Console Log' - url: ''https://www.youtube.com/shorts/97ZuQdLauNU' + url: 'https://www.youtube.com/shorts/97ZuQdLauNU' - imgPlaceholder: 'Code Spell Checker' titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -247,8 +247,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -260,8 +260,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -272,8 +272,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -284,8 +284,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -296,8 +296,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -308,8 +308,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -320,8 +320,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -332,8 +332,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -344,8 +344,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -356,8 +356,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -368,8 +368,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -380,8 +380,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -392,8 +392,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -404,8 +404,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -416,8 +416,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -428,8 +428,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -440,8 +440,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -452,8 +452,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -464,8 +464,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -476,8 +476,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -488,8 +488,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -500,8 +500,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -512,8 +512,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -524,8 +524,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -536,8 +536,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -548,8 +548,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -560,8 +560,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -572,8 +572,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -584,8 +584,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -596,8 +596,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -608,8 +608,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -620,8 +620,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -632,8 +632,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -644,8 +644,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -656,8 +656,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -668,8 +668,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -680,8 +680,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -692,8 +692,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -704,8 +704,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -716,8 +716,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -728,8 +728,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -740,8 +740,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -752,8 +752,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -764,8 +764,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -776,8 +776,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -788,8 +788,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -800,8 +800,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -812,8 +812,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -824,8 +824,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -836,8 +836,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -848,8 +848,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -860,8 +860,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -872,8 +872,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -886,8 +886,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -898,8 +898,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -910,8 +910,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: @@ -922,8 +922,8 @@ submenu: titleCard: '' cover: src: '' - height: 40 - width: 40 + height: 50 + width: 50 createdAt: '2024-01-27T17:49:00Z' updatedAt: '2024-01-27T17:49:00Z' links: diff --git a/lib/constants.ts b/lib/constants.ts index 26efa2b..c24b98f 100644 --- a/lib/constants.ts +++ b/lib/constants.ts @@ -1,5 +1,5 @@ export const widthIconIndex: number = 30 export const heightIconIndex: number = 30 -export const MAIN_MENU = 'Introduction' +export const MAIN_MENU = 'Inicio' export const DARK_THEME = 'synthwave' export const LIGHT_THEME = 'light' diff --git a/lib/mdx/get-menu.test.ts b/lib/mdx/get-menu.test.ts index 3fd98c8..62670a7 100644 --- a/lib/mdx/get-menu.test.ts +++ b/lib/mdx/get-menu.test.ts @@ -1,114 +1,114 @@ import { getMenu } from './get-menu' const mockData = { - data: { - contributors: [{ github_username: 'nsdonato' }], - menu: [ - { name: 'Introduction', items: [] }, - { - name: 'Recursos', - items: [ - { - name: 'Front', - items: [ - { - name: 'Deploys', - url: '/docs/frontend/deploys', - createdAt: '2024-01-14T00:00:00Z', - updatedAt: '2024-01-14T00:00:00Z', - }, - { - name: 'Colores', - url: '/docs/frontend/colors_palette', - createdAt: '2024-01-14T00:00:00Z', - updatedAt: '2024-01-14T00:00:00Z', - }, - { - name: 'Iconos', - url: '/docs/frontend/icons', - createdAt: '2024-01-14T00:00:00Z', - updatedAt: '2024-01-14T00:00:00Z', - }, - { - name: 'Fuentes', - url: '/docs/frontend/fonts', - createdAt: '2024-01-14T00:00:00Z', - updatedAt: '2024-01-14T00:00:00Z', - }, - { - name: 'Forms', - url: '/docs/frontend/forms', - createdAt: '2024-01-14T00:00:00Z', - updatedAt: '2024-01-14T00:00:00Z', - }, - { - name: 'Streamers', - url: '/docs/frontend/streamers', - createdAt: '2024-01-14T00:00:00Z', - updatedAt: '2024-01-14T00:00:00Z', - }, - ], - }, - { - name: 'Back', - items: [ - { - name: 'Deploys', - url: '/docs/backend/deploys', - createdAt: '2024-01-14T00:00:00Z', - updatedAt: '2024-01-14T00:00:00Z', - }, - { - name: 'Streamers', - url: '/docs/backend/streamers', - createdAt: '2024-01-14T00:00:00Z', - updatedAt: '2024-01-14T00:00:00Z', - }, - ], - }, - { - name: 'Testing', - items: [ - { - name: 'Herramientas', - url: '/docs/testing/tools', - createdAt: '2024-01-14T00:00:00Z', - updatedAt: '2024-01-14T00:00:00Z', - }, - ], - }, - { - name: 'VSCode', - items: [ - { - name: 'Extensiones', - url: '/docs/vscode/extensions', - createdAt: '2024-01-14T00:00:00Z', - updatedAt: '2024-01-14T00:00:00Z', - }, - ], - }, - { - name: 'Conferencias', - items: [ - { - name: 'Conferencias', - url: '/docs/conferences/conferences', - createdAt: '2024-01-14T00:00:00Z', - updatedAt: '2024-01-14T00:00:00Z', - }, - ], - }, - ], - }, - ], - }, + data: { + contributors: [{ github_username: 'nsdonato' }], + menu: [ + { name: 'Inicio', items: [] }, + { + name: 'Recursos', + items: [ + { + name: 'Front', + items: [ + { + name: 'Deploys', + url: '/docs/frontend/deploys', + createdAt: '2024-01-14T00:00:00Z', + updatedAt: '2024-01-14T00:00:00Z', + }, + { + name: 'Colores', + url: '/docs/frontend/colors_palette', + createdAt: '2024-01-14T00:00:00Z', + updatedAt: '2024-01-14T00:00:00Z', + }, + { + name: 'Iconos', + url: '/docs/frontend/icons', + createdAt: '2024-01-14T00:00:00Z', + updatedAt: '2024-01-14T00:00:00Z', + }, + { + name: 'Fuentes', + url: '/docs/frontend/fonts', + createdAt: '2024-01-14T00:00:00Z', + updatedAt: '2024-01-14T00:00:00Z', + }, + { + name: 'Forms', + url: '/docs/frontend/forms', + createdAt: '2024-01-14T00:00:00Z', + updatedAt: '2024-01-14T00:00:00Z', + }, + { + name: 'Streamers', + url: '/docs/frontend/streamers', + createdAt: '2024-01-14T00:00:00Z', + updatedAt: '2024-01-14T00:00:00Z', + }, + ], + }, + { + name: 'Back', + items: [ + { + name: 'Deploys', + url: '/docs/backend/deploys', + createdAt: '2024-01-14T00:00:00Z', + updatedAt: '2024-01-14T00:00:00Z', + }, + { + name: 'Streamers', + url: '/docs/backend/streamers', + createdAt: '2024-01-14T00:00:00Z', + updatedAt: '2024-01-14T00:00:00Z', + }, + ], + }, + { + name: 'Testing', + items: [ + { + name: 'Herramientas', + url: '/docs/testing/tools', + createdAt: '2024-01-14T00:00:00Z', + updatedAt: '2024-01-14T00:00:00Z', + }, + ], + }, + { + name: 'VSCode', + items: [ + { + name: 'Extensiones', + url: '/docs/vscode/extensions', + createdAt: '2024-01-14T00:00:00Z', + updatedAt: '2024-01-14T00:00:00Z', + }, + ], + }, + { + name: 'Conferencias', + items: [ + { + name: 'Conferencias', + url: '/docs/conferences/conferences', + createdAt: '2024-01-14T00:00:00Z', + updatedAt: '2024-01-14T00:00:00Z', + }, + ], + }, + ], + }, + ], + }, } // TODO: mock correctly getMenu function describe('getMenu', () => { - test.skip('returns correct data', async () => { - const { data } = await getMenu() - expect(data).toEqual(mockData.data) - }) + test.skip('returns correct data', async () => { + const { data } = await getMenu() + expect(data).toEqual(mockData.data) + }) }) diff --git a/public/ui/imgnotfound.svg b/public/ui/imgnotfound.svg index b13a678..22f2a86 100644 --- a/public/ui/imgnotfound.svg +++ b/public/ui/imgnotfound.svg @@ -1,10 +1,6 @@ - - + + + + + \ No newline at end of file diff --git a/robots.ts b/robots.ts new file mode 100644 index 0000000..9957cc1 --- /dev/null +++ b/robots.ts @@ -0,0 +1,10 @@ +import { MetadataRoute } from 'next' + +export default function robots(): MetadataRoute.Robots { + return { + rules: { + userAgent: '*', + allow: '/', + }, + } +} diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..7f4904e --- /dev/null +++ b/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Allow: / \ No newline at end of file diff --git a/tailwind.config.js b/tailwind.config.js index 358e04a..4774702 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,30 +1,25 @@ /** @type {import('tailwindcss').Config} */ module.exports = { - content: [ - './pages/**/*.{ts,tsx}', - './components/**/*.{ts,tsx}', - './app/**/*.{ts,tsx}', - './src/**/*.{ts,tsx}', - ], - darkMode: 'class', - daisyui: { - themes: ['light', 'synthwave'], - }, - theme: { - extend: { - fontFamily: { - popi: ['var(--font-popi)'], - }, - fontWeight: { - 'popi-light': ['var(--font-weight-light)'], - 'popi-regular': ['var(--font-weight-regular)'], - 'popi-bold': ['var(--font-weight-bold)'], - }, - height: { - 38: '9rem', - 40: '11rem', - }, - }, - }, - plugins: [require('daisyui')], + content: [ + './pages/**/*.{ts,tsx}', + './components/**/*.{ts,tsx}', + './app/**/*.{ts,tsx}', + './src/**/*.{ts,tsx}', + ], + darkMode: 'class', + daisyui: { + themes: ['light', 'synthwave'], + }, + theme: { + extend: { + fontFamily: { + popi: ['var(--font-popi)'], + }, + height: { + 38: '9rem', + 40: '11rem', + }, + }, + }, + plugins: [require('daisyui')], }