Skip to content

Commit 4302ce9

Browse files
committed
Added project links
1 parent e5017e3 commit 4302ce9

2 files changed

Lines changed: 37 additions & 9 deletions

File tree

src/components/Projects/ProjectCard.vue

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
<article class="project-card">
33
<div class="project-header">
44
<p v-if="category" class="project-category"> {{ category }} </p>
5-
<h3 class="project-title"> {{ title }} </h3>
5+
<h3 class="project-title"> {{ title }}</h3>
66
<p v-if="description" class="project-description"> {{ description }} </p>
7+
<a v-if="link" :href="link" target="_blank" class="project-link">Check it out here ↗</a>
78

89
<ul v-if="technologies.length" class="technology-list">
910
<li v-for="technology in technologies" :key="technology" class="technology-pill"> {{ technology }} </li>
@@ -60,6 +61,10 @@ export default {
6061
type: String,
6162
default: '',
6263
},
64+
link: {
65+
type: String,
66+
default: '',
67+
},
6368
technologies: {
6469
type: Array,
6570
default: () => [],
@@ -110,7 +115,7 @@ export default {
110115
color: hsl(17, 41%, 20%);
111116
display: grid;
112117
gap: 1.5rem;
113-
grid-template-columns: minmax(0, 1.4fr) minmax(260px, 2fr);
118+
grid-template-columns: minmax(0, 1.5fr) minmax(260px, 2fr);
114119
align-items: center;
115120
padding: 1.75rem;
116121
}
@@ -134,6 +139,11 @@ export default {
134139
margin: 0;
135140
}
136141
142+
.project-link {
143+
color: hsl(13, 42%, 24%);
144+
text-decoration: underline;
145+
}
146+
137147
.project-description {
138148
color: hsl(20, 29%, 31%);
139149
font-size: 1rem;

src/pages/Projects.vue

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
<template>
2-
<div class="home-container">
2+
<div class="container">
3+
<h3 class="header">Check out more of my work on my Github
4+
<a class="link" href="https://github.com/kabbagepatch" target="_blank">@kabbagepatch</a>
5+
</h3>
36
<div class="projects-grid">
47
<ProjectCard
58
v-for="project in projects"
69
:key="project.title"
710
:title="project.title"
811
:category="project.category"
912
:description="project.description"
13+
:link="project.link"
1014
:technologies="project.technologies"
1115
:media="project.media"
1216
/>
@@ -33,6 +37,7 @@ const projects = [
3337
{
3438
title: 'Pokemon Assistant',
3539
category: 'Tauri Development',
40+
link: 'http://pokemon-ai.netlify.app/',
3641
description: 'Desktop app that lets users analyze Pokémon type match-ups, manage teams, and leverage AI-'
3742
+ 'powered recommendations and chat assistance to determine the best counters against opponent Pokémon.',
3843
technologies: ['Tauri', 'Rust', 'Claude'],
@@ -44,7 +49,8 @@ const projects = [
4449
{
4550
title: 'Focus Coffee',
4651
category: 'Tauri Development',
47-
description: 'Desktop drink companion and pomodoro timer with an added simple task list. '
52+
link: 'http://focus-coffee.netlify.app/',
53+
description: 'Desktop drink companion and pomodoro timer with an additional simple task list. '
4854
+ 'Change themes to match your favourite drink. Sits on top of your windows to help you focus',
4955
technologies: ['Tauri'],
5056
media: {
@@ -55,6 +61,7 @@ const projects = [
5561
{
5662
title: 'Hex to HSL',
5763
category: 'Development',
64+
link: 'https://marketplace.visualstudio.com/items?itemName=kavish.hex-to-hsl',
5865
description: 'A simple extension that converts any hex and rgb colours in your files to the hsl format, and back to hex',
5966
technologies: ['TypeScript'],
6067
media: {
@@ -107,6 +114,7 @@ const projects = [
107114
{
108115
title: 'Priority Tracker',
109116
category: 'Web Development',
117+
link: 'https://prioritytracker.netlify.app/',
110118
description: 'A JIRA-like app I built to track all my projects. You can add and categorize your projects, prioritize'
111119
+ ' them. Log tasks to the projects you want to focus on. Move tasks between Active, Up Next and Backlog.'
112120
+ 'Developed using Nuxt and Vue.js on the front-end and a Node.js API using Serverless on the backend.',
@@ -142,10 +150,10 @@ const projects = [
142150
title: 'Spotify Data Explorer',
143151
category: 'Tauri Development',
144152
description: 'Desktop app, written in Vue, to analyze Spotify listening history and generate user'
145-
+ 'trends from large JSON datasets. Displays your yearly and monthly history, along with'
153+
+ ' trends from large JSON datasets. Displays your yearly and monthly history, along with'
146154
+ ' individual artist and song stats. Additionally includes a custom Spotify player UI'
147155
+ ' (which sadly doesn\'t work anymore since Spotify changes their API terms to require'
148-
+ ' a Premium subscription',
156+
+ ' a Premium subscription)',
149157
technologies: ['Vue', 'Tauri', 'TypeScript'],
150158
media: {
151159
src: spotifyExplorer,
@@ -155,7 +163,8 @@ const projects = [
155163
{
156164
title: 'Vinyl Tracker',
157165
category: 'Web Development',
158-
description: 'A web app to track your vinyls catalog and activity.',
166+
link: 'https://vinylstracker.netlify.app/',
167+
description: 'A progressive web app to track your vinyls catalog and activity. Powered by the Discogs API',
159168
technologies: ['Vue', 'PWA', 'TypeScript'],
160169
media: {
161170
src: vinylTracker,
@@ -178,7 +187,7 @@ export default {
178187
</script>
179188

180189
<style scoped>
181-
.home-container {
190+
.container {
182191
color: hsl(355, 35%, 28%);
183192
max-width: 1800px;
184193
margin: 0 auto;
@@ -191,8 +200,17 @@ export default {
191200
grid-template-columns: auto auto;
192201
}
193202
203+
.header {
204+
margin-top: 0;
205+
}
206+
207+
.link {
208+
color: hsl(13, 42%, 24%);
209+
text-decoration: none;
210+
}
211+
194212
@media screen and (max-width: 1500px) {
195-
.home-container {
213+
.container {
196214
max-width: 1100px;
197215
}
198216

0 commit comments

Comments
 (0)