1
1
mirror of https://github.com/theoludwig/theoludwig.git synced 2025-05-29 22:37:44 +02:00

chore: better Prettier config for easier reviews

This commit is contained in:
2023-10-23 23:11:59 +02:00
parent c7ad15a465
commit e566ef6c38
105 changed files with 2138 additions and 2080 deletions

View File

@ -1,9 +1,9 @@
import Image from 'next/image'
import Image from "next/image"
import { getTheme } from '@/theme/theme.server'
import { getTheme } from "@/theme/theme.server"
import type { SkillName } from './skills'
import { skills } from './skills'
import type { SkillName } from "./skills"
import { skills } from "./skills"
export interface SkillComponentProps {
skill: SkillName
@ -17,10 +17,10 @@ export const SkillComponent = (props: SkillComponentProps): JSX.Element => {
const theme = getTheme()
const getImage = (): string => {
if (typeof skillProperties.image === 'string') {
if (typeof skillProperties.image === "string") {
return skillProperties.image
}
if (theme === 'light') {
if (theme === "light") {
return skillProperties.image.light
}
return skillProperties.image.dark
@ -29,20 +29,20 @@ export const SkillComponent = (props: SkillComponentProps): JSX.Element => {
return (
<a
href={skillProperties.link}
className='mx-2 max-w-xl text-yellow hover:underline dark:text-yellow-dark'
target='_blank'
rel='noopener noreferrer'
className="mx-2 max-w-xl text-yellow hover:underline dark:text-yellow-dark"
target="_blank"
rel="noopener noreferrer"
>
<div className='text-center'>
<div className="text-center">
<Image
className='inline h-16 w-16'
className="inline h-16 w-16"
quality={100}
width={64}
height={64}
alt={skill}
src={getImage()}
/>
<p className='mt-1'>{skill}</p>
<p className="mt-1">{skill}</p>
</div>
</a>
)

View File

@ -1,4 +1,4 @@
import { ShadowContainer } from '@/components/design/ShadowContainer'
import { ShadowContainer } from "@/components/design/ShadowContainer"
export interface SkillsSectionProps {
title: string
@ -10,15 +10,15 @@ export const SkillsSection = (props: SkillsSectionProps): JSX.Element => {
return (
<ShadowContainer>
<div className='mx-auto w-full px-4'>
<div className='flex flex-wrap px-4 py-6'>
<div className='flex-1'>
<div className='mb-8 border-b border-gray-600 dark:border-white dark:border-opacity-10'>
<h3 className='my-3 text-xl font-semibold text-yellow dark:text-yellow-dark'>
<div className="mx-auto w-full px-4">
<div className="flex flex-wrap px-4 py-6">
<div className="flex-1">
<div className="mb-8 border-b border-gray-600 dark:border-white dark:border-opacity-10">
<h3 className="my-3 text-xl font-semibold text-yellow dark:text-yellow-dark">
{title}
</h3>
</div>
<div className='flex flex-wrap justify-around'>{children}</div>
<div className="flex flex-wrap justify-around">{children}</div>
</div>
</div>
</div>

View File

@ -1,40 +1,40 @@
import { getI18n } from '@/i18n/i18n.server'
import { getI18n } from "@/i18n/i18n.server"
import { SkillComponent } from './Skill'
import { SkillsSection } from './SkillsSection'
import { SkillComponent } from "./Skill"
import { SkillsSection } from "./SkillsSection"
export const Skills = (): JSX.Element => {
const i18n = getI18n()
return (
<>
<SkillsSection title={i18n.translate('home.skills.languages')}>
<SkillComponent skill='TypeScript' />
<SkillComponent skill='Python' />
<SkillComponent skill='C/C++' />
<SkillComponent skill='PHP' />
<SkillsSection title={i18n.translate("home.skills.languages")}>
<SkillComponent skill="TypeScript" />
<SkillComponent skill="Python" />
<SkillComponent skill="C/C++" />
<SkillComponent skill="PHP" />
</SkillsSection>
<SkillsSection title='Frontend'>
<SkillComponent skill='HTML' />
<SkillComponent skill='CSS' />
<SkillComponent skill='Tailwind CSS' />
<SkillComponent skill='React.js (+ Next.js)' />
<SkillsSection title="Frontend">
<SkillComponent skill="HTML" />
<SkillComponent skill="CSS" />
<SkillComponent skill="Tailwind CSS" />
<SkillComponent skill="React.js (+ Next.js)" />
</SkillsSection>
<SkillsSection title='Backend'>
<SkillComponent skill='Laravel' />
<SkillComponent skill='Node.js' />
<SkillComponent skill='Fastify' />
<SkillComponent skill='PostgreSQL' />
<SkillsSection title="Backend">
<SkillComponent skill="Laravel" />
<SkillComponent skill="Node.js" />
<SkillComponent skill="Fastify" />
<SkillComponent skill="PostgreSQL" />
</SkillsSection>
<SkillsSection title={i18n.translate('home.skills.software-tools')}>
<SkillComponent skill='GNU/Linux' />
<SkillComponent skill='Arch Linux' />
<SkillComponent skill='Visual Studio Code' />
<SkillComponent skill='Git' />
<SkillComponent skill='Docker' />
<SkillsSection title={i18n.translate("home.skills.software-tools")}>
<SkillComponent skill="GNU/Linux" />
<SkillComponent skill="Arch Linux" />
<SkillComponent skill="Visual Studio Code" />
<SkillComponent skill="Git" />
<SkillComponent skill="Docker" />
</SkillsSection>
</>
)

View File

@ -5,111 +5,111 @@ export interface Skill {
export const skills = {
JavaScript: {
link: 'https://developer.mozilla.org/docs/Web/JavaScript',
image: '/images/skills/JavaScript.png'
link: "https://developer.mozilla.org/docs/Web/JavaScript",
image: "/images/skills/JavaScript.png",
},
TypeScript: {
link: 'https://www.typescriptlang.org/',
image: '/images/skills/TypeScript.png'
link: "https://www.typescriptlang.org/",
image: "/images/skills/TypeScript.png",
},
Python: {
link: 'https://www.python.org/',
image: '/images/skills/Python.png'
link: "https://www.python.org/",
image: "/images/skills/Python.png",
},
'C/C++': {
link: 'https://isocpp.org/',
image: '/images/skills/C-Cpp.png'
"C/C++": {
link: "https://isocpp.org/",
image: "/images/skills/C-Cpp.png",
},
PHP: {
link: 'https://www.php.net/',
image: '/images/skills/PHP.png'
link: "https://www.php.net/",
image: "/images/skills/PHP.png",
},
Laravel: {
link: 'https://laravel.com/',
image: '/images/skills/Laravel.png'
link: "https://laravel.com/",
image: "/images/skills/Laravel.png",
},
Dart: {
link: 'https://dart.dev/',
image: '/images/skills/Dart.png'
link: "https://dart.dev/",
image: "/images/skills/Dart.png",
},
Flutter: {
link: 'https://flutter.dev/',
image: '/images/skills/Flutter.webp'
link: "https://flutter.dev/",
image: "/images/skills/Flutter.webp",
},
HTML: {
link: 'https://developer.mozilla.org/docs/Web/HTML',
image: '/images/skills/HTML.png'
link: "https://developer.mozilla.org/docs/Web/HTML",
image: "/images/skills/HTML.png",
},
CSS: {
link: 'https://developer.mozilla.org/docs/Web/CSS',
image: '/images/skills/CSS.png'
link: "https://developer.mozilla.org/docs/Web/CSS",
image: "/images/skills/CSS.png",
},
'Tailwind CSS': {
link: 'https://tailwindcss.com/',
image: '/images/skills/TailwindCSS.png'
"Tailwind CSS": {
link: "https://tailwindcss.com/",
image: "/images/skills/TailwindCSS.png",
},
SASS: {
link: 'https://sass-lang.com/',
image: '/images/skills/SASS.svg'
link: "https://sass-lang.com/",
image: "/images/skills/SASS.svg",
},
'React.js (+ Next.js)': {
link: 'https://reactjs.org/',
image: '/images/skills/ReactJS.png'
"React.js (+ Next.js)": {
link: "https://reactjs.org/",
image: "/images/skills/ReactJS.png",
},
'Node.js': {
link: 'https://nodejs.org/',
image: '/images/skills/NodeJS.png'
"Node.js": {
link: "https://nodejs.org/",
image: "/images/skills/NodeJS.png",
},
Fastify: {
link: 'https://www.fastify.io/',
link: "https://www.fastify.io/",
image: {
light: '/images/skills/Fastify-light.png',
dark: '/images/skills/Fastify-dark.png'
}
light: "/images/skills/Fastify-light.png",
dark: "/images/skills/Fastify-dark.png",
},
},
Prisma: {
link: 'https://www.prisma.io/',
link: "https://www.prisma.io/",
image: {
light: '/images/skills/Prisma-light.png',
dark: '/images/skills/Prisma-dark.png'
}
light: "/images/skills/Prisma-light.png",
dark: "/images/skills/Prisma-dark.png",
},
},
PostgreSQL: {
link: 'https://www.postgresql.org/',
image: '/images/skills/PostgreSQL.png'
link: "https://www.postgresql.org/",
image: "/images/skills/PostgreSQL.png",
},
MySQL: {
link: 'https://www.mysql.com/',
image: '/images/skills/MySQL.png'
link: "https://www.mysql.com/",
image: "/images/skills/MySQL.png",
},
Strapi: {
link: 'https://strapi.io/',
image: '/images/skills/Strapi.png'
link: "https://strapi.io/",
image: "/images/skills/Strapi.png",
},
'Visual Studio Code': {
link: 'https://code.visualstudio.com/',
image: '/images/skills/VisualStudioCode.png'
"Visual Studio Code": {
link: "https://code.visualstudio.com/",
image: "/images/skills/VisualStudioCode.png",
},
Git: {
link: 'https://git-scm.com/',
image: '/images/skills/Git.png'
link: "https://git-scm.com/",
image: "/images/skills/Git.png",
},
Ubuntu: {
link: 'https://ubuntu.com/',
image: '/images/skills/Ubuntu.png'
link: "https://ubuntu.com/",
image: "/images/skills/Ubuntu.png",
},
'Arch Linux': {
link: 'https://archlinux.org/',
image: '/images/skills/ArchLinux.png'
"Arch Linux": {
link: "https://archlinux.org/",
image: "/images/skills/ArchLinux.png",
},
'GNU/Linux': {
link: 'https://www.gnu.org/',
image: '/images/skills/GNU-Linux.png'
"GNU/Linux": {
link: "https://www.gnu.org/",
image: "/images/skills/GNU-Linux.png",
},
Docker: {
link: 'https://www.docker.com/',
image: '/images/skills/Docker.png'
}
link: "https://www.docker.com/",
image: "/images/skills/Docker.png",
},
} as const
export type SkillName = keyof typeof skills