feat(03-01): install deps, migrate site config, add SMTP runtimeConfig, wrap UApp

- Install nodemailer, zod, @types/nodemailer
- Create app/data/site.ts with migrated siteConfig from src/config/site.ts
- Add SiteConfig, ContactInfo, SocialLink, FiverrService, FiverrConfig to shared/types
- Add smtpHost/smtpUser/smtpPass/smtpTo to private runtimeConfig
- Wrap app.vue with UApp for useToast() support
This commit is contained in:
2026-04-08 18:32:24 +02:00
parent b5420b3902
commit 222fa069fd
6 changed files with 356 additions and 753 deletions
+5 -3
View File
@@ -10,7 +10,9 @@ useHead({
</script>
<template>
<NuxtLayout>
<NuxtPage />
</NuxtLayout>
<UApp>
<NuxtLayout>
<NuxtPage />
</NuxtLayout>
</UApp>
</template>
+112
View File
@@ -0,0 +1,112 @@
import type { SiteConfig, ContactInfo, SocialLink, FiverrService, FiverrConfig } from '~~/shared/types'
export type { SiteConfig, ContactInfo, SocialLink, FiverrService, FiverrConfig }
export const siteConfig: SiteConfig = {
name: 'Killian',
title: 'Killian - Full Stack Developer | Vue.js, React, Node.js Expert',
description:
'Professional Full Stack Developer specializing in modern web development with Vue.js, React, Node.js. Expert in Discord bots, web applications, and custom software solutions.',
author: 'Killian',
url: 'https://killiandalcin.fr',
contact: {
email: 'contact@killiandalcin.fr',
phone: '+33 6 49 19 38 16',
location: 'France',
},
social: [
{
name: 'Gitea',
url: 'https://gitea.kamisama.ovh/kayjaydee',
icon: 'i-simple-icons-gitea',
username: 'kayjaydee',
},
{
name: 'LinkedIn',
url: 'https://linkedin.com/in/killian-dal-cin',
icon: 'i-simple-icons-linkedin',
username: 'killian-dalcin',
},
{
name: 'Discord',
url: 'https://discord.com/users/370940770225618954',
icon: 'i-simple-icons-discord',
username: 'kayjaydee',
},
{
name: 'Email',
url: 'mailto:contact@killiandalcin.fr',
icon: 'i-lucide-mail',
},
],
fiverr: {
profileUrl: 'https://www.fiverr.com/users/mr_kayjaydee',
services: [
{
id: 'discord-bot',
url: 'https://www.fiverr.com/s/rEDa84j',
image: '/images/fiverr/discord_bot.webp',
price: '$25',
},
{
id: 'minecraft-plugin',
url: 'https://www.fiverr.com/s/xXVY20Q',
image: '/images/fiverr/minecraft_plugin.webp',
price: '$50',
},
{
id: 'telegram-bot',
url: '#',
image: '/images/fiverr/telegram_bot.webp',
price: '$20',
},
{
id: 'website-development',
url: '#',
image: '/images/fiverr/website.webp',
price: '$50',
},
],
},
seo: {
defaultImage: '/portfolio-preview.webp',
twitterHandle: '@killiandalcin',
locale: 'en_US',
alternateLocales: ['fr_FR'],
internalLinks: {
priority: [
{ url: '/fiverr', text: 'Services Fiverr', priority: 0.9 },
{ url: '/projects', text: 'Portfolio', priority: 0.8 },
{ url: '/contact', text: 'Contact', priority: 0.8 },
],
services: [
{ url: '/fiverr#discord-bot', text: 'Bot Discord' },
{ url: '/fiverr#minecraft-plugin', text: 'Plugin Minecraft' },
{ url: '/fiverr#telegram-bot', text: 'Bot Telegram' },
{ url: '/fiverr#website-development', text: 'Developpement Web' },
],
},
organization: {
'@type': 'ProfessionalService',
name: 'Killian Dalcin - Developpeur Full Stack',
logo: 'https://killiandalcin.fr/logo.webp',
priceRange: '$$$',
aggregateRating: {
ratingValue: '5',
reviewCount: '50',
},
},
},
performance: {
enablePrefetch: true,
enablePreconnect: true,
criticalCSS: true,
lazyLoadImages: true,
webpSupport: true,
},
}