FIX: mpa, nuxt4 future, improvements in intro and services

Added mpa support, nuxt4 future compatibility, improvements in intro and services
This commit is contained in:
webfussel 2025-02-12 13:18:55 +01:00
parent 078d4bfd82
commit 9642496e5a
35 changed files with 324 additions and 172 deletions

3
app/utils/image.ts Normal file
View file

@ -0,0 +1,3 @@
export const getImage =
(path: string, img: string) => (size: "1x" | "2x" | "3x", set: boolean) =>
`${path}${img}@${size}.webp${set ? ` ${size}` : ""}`;

44
app/utils/skills.ts Normal file
View file

@ -0,0 +1,44 @@
const jsImg = '/img/skills/javascript.svg'
const tsImg = '/img/skills/typescript.svg'
const vueImg = '/img/skills/vue.svg'
const reactImg = '/img/skills/react.svg'
const postCssImg = '/img/skills/postcss.svg'
const scssImg = '/img/skills/sass.svg'
const cssImg = '/img/skills/css.svg'
const htmlImg = '/img/skills/html.svg'
const glImg = '/img/skills/gitlab.svg'
const vitestImg = '/img/skills/vitest.svg'
const njsImg = '/img/skills/nodejs.svg'
const webstormImg = '/img/skills/webstorm.svg'
const nuxtImg = '/img/skills/nuxt.svg'
const twImg = '/img/skills/tw.svg'
const rustImg = '/img/skills/rust.svg'
const flutterImg = '/img/skills/flutter.svg'
const dartImg = '/img/skills/dart.svg'
const androidImg = '/img/skills/android.svg'
export type ISkill = {
name: string
img: string
link ?: string
width ?: number
}
export const android: ISkill = {name: 'Android', img: androidImg, link: 'https://www.android.com', width: 88}
export const css: ISkill = {name: 'CSS', img: cssImg }
export const dart: ISkill = {name: 'Dart', img: dartImg, link: 'https://dart.dev'}
export const flutter: ISkill = {name: 'Flutter', img: flutterImg, link: 'https://flutter.dev', width: 40}
export const gl: ISkill = {name: 'GitLab', img: glImg, link: 'https://gitlab.com', width: 55}
export const html: ISkill = {name: 'HTML', img: htmlImg, width: 44}
export const js: ISkill = {name: 'JavaScript', img: jsImg}
export const njs: ISkill = {name: 'Nodejs', img: njsImg, link: 'https://nodejs.org/en', width: 46}
export const nuxt: ISkill = {name: 'Nuxt', img: nuxtImg, link: 'https://nuxt.com', width: 75}
export const pcss: ISkill = {name: 'PostCSS', img: postCssImg, link: 'https://postcss.org'}
export const react: ISkill = {name: 'React', img: reactImg, link: 'https://reactjs.org', width: 56}
export const rust: ISkill = {name: 'Rust', img: rustImg, link: 'https://www.rust-lang.org'}
export const scss: ISkill = {name: 'SCSS', img: scssImg, width: 67}
export const tw: ISkill = {name: 'Tailwind', img: twImg, width: 84}
export const ts: ISkill = {name: 'TypeScript', img: tsImg, link: 'https://www.typescriptlang.org'}
export const vitest: ISkill = {name: 'Vitest', img: vitestImg, link: 'https://vitest.dev', width: 55}
export const vue: ISkill = {name: 'Vue', img: vueImg, link: 'https://vuejs.org', width: 58}
export const webstorm: ISkill = {name: 'JetBrains IDEs', img: webstormImg, link: 'https://www.jetbrains.com/webstorm'}