Files
kopyl.dev/src/components/Projects/projectList.ts
2023-03-27 20:24:53 +03:00

106 lines
3.2 KiB
TypeScript

import type { JSXElement } from 'solid-js';
import flexpatrolPreview from '../../assets/projects/flexpatrolPreview.png';
import gamesPreview from '../../assets/projects/gamesPreview.png';
import warframePreview from '../../assets/projects/warframePreview.png';
import worktimePreview from '../../assets/projects/worktimePreview.png';
import studybuddyPreview from '../../assets/projects/studybuddyPreview.png';
import mockupPreview from '../../assets/projects/mockupPreview.png';
import vkmutePreview from '../../assets/projects/vkmutePreview.png';
import musanthropePreview from '../../assets/projects/musanthropePreview.png';
import RecursivePreview from './RecursivePreview';
import {
Icon, npm, extension, pwa, github
} from './iconList';
export class Project {
name: string;
preview: string | (() => JSXElement);
link: string;
repo?: string;
npm?: string;
descriptionSlug: string;
previewStyle?: string;
halfWidth?: boolean;
icons?: Icon[];
constructor(project: Project) {
this.name = project.name
this.preview = project.preview
this.link = project.link
this.repo = project.repo
this.npm = project.npm
this.descriptionSlug = project.descriptionSlug
this.previewStyle = project.previewStyle
this.halfWidth = project.halfWidth
this.icons = project.icons
}
}
export default [
// new Project({
// name: 'Warframe Center',
// preview: warframePreview,
// link: 'https://warframe.center',
// descriptionSlug: 'warframe_desc'
// }),
new Project({
name: 'Worktime',
preview: worktimePreview,
link: 'https://anatolykopyl.github.io/worktime',
repo: 'https://github.com/anatolykopyl/worktime',
descriptionSlug: 'worktime_desc',
icons: [ pwa, github ]
}),
new Project({
name: 'This website',
preview: RecursivePreview,
link: 'https://kopyl.dev',
descriptionSlug: 'this_desc'
}),
new Project({
name: 'VK Mute',
preview: vkmutePreview,
link: 'https://chrome.google.com/webstore/detail/vk-mute/mcnkfnjggkbenehgfelnnkklpkpjeibl',
repo: 'https://github.com/anatolykopyl/vk-mute',
descriptionSlug: 'vkmute_desc',
halfWidth: true,
icons: [ extension, github ]
}),
new Project({
name: 'Vue 3D Mockup',
preview: mockupPreview,
link: 'https://anatolykopyl.github.io/vue-three-d-mockup/',
repo: 'https://github.com/anatolykopyl/vue-three-d-mockup',
npm: 'https://www.npmjs.com/package/vue-three-d-mockup',
descriptionSlug: 'mockup_desc',
halfWidth: true,
icons: [ npm, github ]
// previewStyle: 'position: absolute; height: 50%;'
}),
new Project({
name: 'Musanthrope X PAYDAY 2',
preview: musanthropePreview,
link: 'https://musanthrope.kopyl.dev',
descriptionSlug: 'musanthrope_desc'
}),
new Project({
name: 'Kopyl Games',
preview: gamesPreview,
link: 'https://games.anatolykopyl.ru',
descriptionSlug: 'games_desc',
}),
// new Project({
// name: 'Studybuddy',
// preview: studybuddyPreview,
// link: 'https://studybuddy.top',
// descriptionSlug: 'studybuddy_desc'
// }),
// new Project({
// name: 'flexpatrol.ru',
// preview: flexpatrolPreview,
// link: 'https://flexpatrol.ru',
// descriptionSlug: 'flexpatrol_desc'
// }),
]