mirror of
https://github.com/ArthurDanjou/artsite.git
synced 2026-01-14 18:59:59 +01:00
185 lines
4.9 KiB
TypeScript
185 lines
4.9 KiB
TypeScript
interface WakatimeData {
|
||
name: string
|
||
percent: number
|
||
}
|
||
|
||
export interface Stats {
|
||
coding: {
|
||
data: {
|
||
grand_total: {
|
||
total_seconds_including_other_language: number
|
||
}
|
||
range: {
|
||
start: string
|
||
}
|
||
}
|
||
}
|
||
editors: {
|
||
data: Array<WakatimeData>
|
||
}
|
||
os: {
|
||
data: Array<WakatimeData>
|
||
}
|
||
languages: {
|
||
data: Array<WakatimeData>
|
||
}
|
||
}
|
||
|
||
interface LanyardActivity {
|
||
name: string
|
||
state: string
|
||
details: string
|
||
timestamps: {
|
||
start: number
|
||
}
|
||
}
|
||
|
||
export interface Activity {
|
||
data: {
|
||
activities: Array<LanyardActivity>
|
||
}
|
||
}
|
||
|
||
export const IDEs = [
|
||
{ name: 'Visual Studio Code', icon: 'i-logos:visual-studio-code' },
|
||
{ name: 'IntelliJ IDEA Ultimate', icon: 'i-logos:intellij-idea' },
|
||
{ name: 'WebStorm', icon: 'i-logos:webstorm' },
|
||
{ name: 'PyCharm Professional', icon: 'i-logos:pycharm' },
|
||
]
|
||
|
||
export const activityMessages = {
|
||
en: {
|
||
justNow: 'just now',
|
||
past: (n: string) => (n.match(/\d/) ? `${n} ago` : n),
|
||
future: (n: string) => (n.match(/\d/) ? `in ${n}` : n),
|
||
month: (n: number, past: boolean) =>
|
||
n === 1 ? (past ? 'last month' : 'next month') : `${n} month${n > 1 ? 's' : ''}`,
|
||
year: (n: number, past: boolean) =>
|
||
n === 1 ? (past ? 'last year' : 'next year') : `${n} year${n > 1 ? 's' : ''}`,
|
||
day: (n: number, past: boolean) =>
|
||
n === 1 ? (past ? 'yesterday' : 'tomorrow') : `${n} day${n > 1 ? 's' : ''}`,
|
||
week: (n: number, past: boolean) =>
|
||
n === 1 ? (past ? 'last week' : 'next week') : `${n} week${n > 1 ? 's' : ''}`,
|
||
hour: (n: number) => `${n} hour${n > 1 ? 's' : ''}`,
|
||
minute: (n: number) => `${n} minute${n > 1 ? 's' : ''}`,
|
||
second: (n: number) => `${n} second${n > 1 ? 's' : ''}`,
|
||
invalid: '',
|
||
},
|
||
fr: {
|
||
justNow: 'à l’instant',
|
||
past: (n: string) => (n.match(/\d/) ? `il y a ${n}` : n),
|
||
future: (n: string) => (n.match(/\d/) ? `dans ${n}` : n),
|
||
month: (n: number, past: boolean) =>
|
||
n === 1 ? (past ? 'le mois dernier' : 'le mois prochain') : `${n} mois`,
|
||
year: (n: number, past: boolean) =>
|
||
n === 1 ? (past ? 'l’année dernière' : 'l’année prochaine') : `${n} ans`,
|
||
day: (n: number, past: boolean) =>
|
||
n === 1 ? (past ? 'hier' : 'demain') : `${n} jours`,
|
||
week: (n: number, past: boolean) =>
|
||
n === 1 ? (past ? 'la semaine dernière' : 'la semaine prochaine') : `${n} semaines`,
|
||
hour: (n: number) => `${n} heure${n > 1 ? 's' : ''}`,
|
||
minute: (n: number) => `${n} minute${n > 1 ? 's' : ''}`,
|
||
second: (n: number) => `${n} seconde${n > 1 ? 's' : ''}`,
|
||
invalid: '',
|
||
},
|
||
es: {
|
||
justNow: 'justo ahora',
|
||
past: (n: string) => (n.match(/\d/) ? `hace ${n}` : n),
|
||
future: (n: string) => (n.match(/\d/) ? `dentro de ${n}` : n),
|
||
month: (n: number, past: boolean) =>
|
||
n === 1 ? (past ? 'el mes pasado' : 'el próximo mes') : `${n} meses`,
|
||
year: (n: number, past: boolean) =>
|
||
n === 1 ? (past ? 'el año pasado' : 'el próximo año') : `${n} años`,
|
||
day: (n: number, past: boolean) =>
|
||
n === 1 ? (past ? 'ayer' : 'mañana') : `${n} días`,
|
||
week: (n: number, past: boolean) =>
|
||
n === 1 ? (past ? 'la semana pasada' : 'la próxima semana') : `${n} semanas`,
|
||
hour: (n: number) => `${n} hora${n > 1 ? 's' : ''}`,
|
||
minute: (n: number) => `${n} minuto${n > 1 ? 's' : ''}`,
|
||
second: (n: number) => `${n} segundo${n > 1 ? 's' : ''}`,
|
||
invalid: '',
|
||
},
|
||
}
|
||
|
||
export interface Tag {
|
||
label: string
|
||
icon: string
|
||
color: string
|
||
title?: string
|
||
translation: string
|
||
}
|
||
|
||
export const TAGS: Array<Tag> = [
|
||
{
|
||
label: 'Article',
|
||
icon: 'i-ph-pencil-line-duotone',
|
||
color: 'red',
|
||
translation: 'tags.article',
|
||
},
|
||
{
|
||
label: 'Project',
|
||
icon: 'i-ph-briefcase-duotone',
|
||
color: 'blue',
|
||
translation: 'tags.project',
|
||
},
|
||
{
|
||
label: 'R',
|
||
icon: 'i-vscode-icons-file-type-r',
|
||
color: 'orange',
|
||
translation: 'tags.r',
|
||
},
|
||
{
|
||
label: 'AI',
|
||
icon: 'i-ph-brain-duotone',
|
||
color: 'green',
|
||
translation: 'tags.ai',
|
||
},
|
||
{
|
||
label: 'Data',
|
||
icon: 'i-ph-database-duotone',
|
||
color: 'purple',
|
||
translation: 'tags.data',
|
||
},
|
||
{
|
||
label: 'Web',
|
||
icon: 'i-ph-globe-duotone',
|
||
color: 'cyan',
|
||
translation: 'tags.web',
|
||
},
|
||
{
|
||
label: 'Python',
|
||
icon: 'i-vscode-icons-file-type-python',
|
||
color: 'amber',
|
||
translation: 'tags.python',
|
||
},
|
||
{
|
||
label: 'Maths',
|
||
icon: 'i-ph-calculator-duotone',
|
||
color: 'pink',
|
||
translation: 'tags.maths',
|
||
},
|
||
]
|
||
|
||
export const socials = [
|
||
{
|
||
icon: 'i-ph:x-logo-duotone',
|
||
label: 'Twitter',
|
||
to: 'https://twitter.com/ArthurDanj',
|
||
},
|
||
{
|
||
icon: 'i-ph:github-logo-duotone',
|
||
label: 'GitHub',
|
||
to: 'https://github.com/ArthurDanjou',
|
||
},
|
||
{
|
||
icon: 'i-ph:linkedin-logo-duotone',
|
||
label: 'LinkedIn',
|
||
to: 'https://www.linkedin.com/in/arthurdanjou/',
|
||
},
|
||
{
|
||
icon: 'i-ph:discord-logo-duotone',
|
||
label: 'Discord',
|
||
to: 'https://discordapp.com/users/179635349100691456',
|
||
},
|
||
]
|