diff --git a/src/assets/img/screenshot-default.jpg b/src/assets/img/screenshots/default.jpg similarity index 100% rename from src/assets/img/screenshot-default.jpg rename to src/assets/img/screenshots/default.jpg diff --git a/src/assets/img/download.jpg b/src/assets/img/screenshots/download.jpg similarity index 100% rename from src/assets/img/download.jpg rename to src/assets/img/screenshots/download.jpg diff --git a/src/assets/img/screenshots/oliver-davies.png b/src/assets/img/screenshots/oliver-davies.png new file mode 100644 index 0000000..d2aa312 Binary files /dev/null and b/src/assets/img/screenshots/oliver-davies.png differ diff --git a/src/assets/img/screenshots/php-south-wales.png b/src/assets/img/screenshots/php-south-wales.png new file mode 100644 index 0000000..136f405 Binary files /dev/null and b/src/assets/img/screenshots/php-south-wales.png differ diff --git a/src/components/ProjectCard.vue b/src/components/ProjectCard.vue index 110560d..7791e70 100644 --- a/src/components/ProjectCard.vue +++ b/src/components/ProjectCard.vue @@ -1,19 +1,36 @@ <template> <article> - <router-link :to="{ name: 'project', params: { id: 1 }}" class="group block hover:no-underline"> + <router-link :to="{ name: 'project', params: { id: project.id }}" class="group block hover:no-underline"> <span class="block bg-gray-100 shadow-lg rounded overflow-hidden"> <span class="block p-6"> - <h2 class="font-bold text-gray-800 group-hover:underline">Drupal Bristol</h2> + <h2 class="font-bold text-gray-800 group-hover:underline">{{ project.name }}</h2> - <p class="text-gray-600">accounts-partners</p> + <p class="text-gray-600">{{ project.owner }}</p> - <img src="../assets/img/screenshot-default.jpg" alt="" class="mt-4 rounded shadow-2xl"> + <img :src="projectImage" alt="" class="mt-4 rounded shadow-2xl"> </span> <span class="block py-5 px-8 -mt-10 relative bg-white"> - <p>Europe (West 1)</p> + <p>{{ project.region }}</p> </span> </span> </router-link> </article> </template> + +<script> +export default { + props: { + project: { + type: Object, + required: true + } + }, + + computed: { + projectImage () { + return require(`@/assets/img/screenshots/${this.project.image}`) + } + } +} +</script> diff --git a/src/views/Projects.vue b/src/views/Projects.vue index 7d38ce1..c961674 100644 --- a/src/views/Projects.vue +++ b/src/views/Projects.vue @@ -15,8 +15,8 @@ <div class="mt-6"> <div v-if="displayMode == 'grid'" class="flex flex-wrap -mt-8 mb-4 -mx-4"> - <div class="w-full px-4 mt-8 sm:w-1/2 lg:w-1/3" v-for="n in 9" :key="n"> - <project-card></project-card> + <div class="w-full px-4 mt-8 sm:w-1/2 lg:w-1/3" v-for="project in projects" :key="project.id"> + <project-card :project="project"/> </div> </div> </div> @@ -31,15 +31,15 @@ </tr> </thead> <tbody> - <tr> + <tr v-for="project in projects" :key="project.id"> <td class="px-6 py-4"> - <router-link :to="{ name: 'project', params: { id: 1 }}" class="font-semibold text-sm hover:underline">Drupal Bristol</router-link> + <router-link :to="{ name: 'project', params: { id: project.id }}" class="font-semibold text-sm hover:underline">{{ project.name }}</router-link> </td> <td class="px-6 py-4"> - <a href="#0" class="font-semibold text-sm hover:underline">accounts-partners</a> + <a href="#0" class="font-semibold text-sm hover:underline">{{ project.owner }}</a> </td> <td class="px-6 py-4"> - <a href="#0" class="font-semibold text-sm hover:underline">Europe (West 1)</a> + <a href="#0" class="font-semibold text-sm hover:underline">{{ project.region }}</a> </td> </tr> </tbody> @@ -65,7 +65,31 @@ export default { data () { return { - displayMode: 'grid' + displayMode: 'grid', + + projects: [ + { + id: 1, + name: 'Drupal Bristol', + owner: 'accounts-partners', + region: 'Europe (West 1)', + image: 'default.jpg' + }, + { + id: 2, + name: 'oliverdavies.uk', + owner: 'Oliver Davies', + region: 'Europe (West 1)', + image: 'oliver-davies.png' + }, + { + id: 3, + name: 'PHP South Wales', + owner: 'PHP South Wales organisers', + region: 'Europe (West 1)', + image: 'php-south-wales.png' + } + ] } },