Merge branch 'development' of github.com:threefoldtech/www_partners_v2 into development

This commit is contained in:
samaradel
2020-11-26 13:34:40 +02:00
3 changed files with 111 additions and 7 deletions

54
src/components/Group.vue Normal file
View File

@@ -0,0 +1,54 @@
<template>
<section class="py-12 px-4 text-center">
<h2 class="text-4xl mb-2 leading-tight font-semibold font-heading">{{title}}</h2>
<p class="max-w-xl mx-auto mb-12 text-gray-400">{{description}}</p>
<div class="flex max-w-lg mb-12 mx-auto text-center border-b-2">
<div v-for="(tag, index) in tags" :key="tag" class="w-1/3 pb-2">
<button @click="setSelected('')" v-if="index == 0" class="w-1/3 pb-2 border-b-4 border-indigo-600">{{ tag }}</button>
<button @click="setSelected(tag)" v-if="index != 0" class="hover:text-indigo-600">{{ tag }}</button>
</div>
</div>
<div class="flex flex-wrap -mx-4">
<div v-for="obj in filter(selected)" :key="obj.id" class="w-1/2 lg:w-1/4 p-4">
<g-link :to="obj.path" class="post-card-image-link">
<g-image
:src="obj.image"
:alt="obj.name"
class="w-1/2 mx-auto mb-4 rounded-full"
></g-image>
</g-link>
<h3 class="text-xl mb-1 font-semibold font-heading font-semibold">{{ obj.name }}</h3>
<!-- <span>{{ edge.node.title }}</span> -->
</div>
</div>
</section>
</template>
<script>
export default {
data() {
return {
selected: "",
}
},
props: {
title: String,
description: String,
objects: {},
tags: {},
filter: Function
},
methods: {
setSelected: function(tag){
this.selected = tag
}
},
}
</script>

View File

@@ -56,21 +56,21 @@
created. Below are the three pillars that ThreeFold is built on: created. Below are the three pillars that ThreeFold is built on:
</p> </p>
<h3>EQUALITY</h3> <h6>EQUALITY</h6>
<p> <p>
Equality is the foundation for a fair world where everyone is Equality is the foundation for a fair world where everyone is
given the opportunity to be empowered and to achieve their full given the opportunity to be empowered and to achieve their full
potential. potential.
</p> </p>
<h3>AUTONOMY</h3> <h6>AUTONOMY</h6>
<p> <p>
Being empowered to learn, partake, dream and succeed is Being empowered to learn, partake, dream and succeed is
fundamental to achieve peace and fulfillment of humankind's fundamental to achieve peace and fulfillment of humankind's
potential potential
</p> </p>
<h3>SUSTAINABILITY</h3> <h6>SUSTAINABILITY</h6>
<p> <p>
Sustainability ensures the future of life on earth. It is about Sustainability ensures the future of life on earth. It is about
adopting the behavior and mindset to minimize our footprint. adopting the behavior and mindset to minimize our footprint.
@@ -148,6 +148,12 @@
</p> </p>
</div> </div>
</div> </div>
<br />
<br />
<br />
<br />
<br />
<br />
</div> </div>
<vue-markdown> </vue-markdown> <vue-markdown> </vue-markdown>

View File

@@ -2,14 +2,13 @@
<Layout> <Layout>
<div class="container sm:pxi-0 mx-auto overflow-x-hidden"> <div class="container sm:pxi-0 mx-auto overflow-x-hidden">
<div class="flex flex-wrap with-large pt-8 pb-8 mx-4 sm:-mx-4"> <div class="flex flex-wrap with-large pt-8 pb-8 mx-4 sm:-mx-4">
<PostListItem v-for="edge in $page.entries.edges" :key="edge.node.id" :record="edge.node" /> <Group title="THREEFOLD TEAM" description="The heartbeat behind the ThreeFold Movement." :objects="people" :tags="memberships" :filter="filter" />
</div> </div>
</div> </div>
</Layout> </Layout>
</template> </template>
<page-query> <page-query>
query ($private: Int){ query ($private: Int){
entries: allPerson (sortBy: "rank", order: DESC, filter: { private: { ne: $private }}){ entries: allPerson (sortBy: "rank", order: DESC, filter: { private: { ne: $private }}){
totalCount totalCount
@@ -35,23 +34,68 @@ query ($private: Int){
} }
} }
} }
memberships: allMembership{
edges{
node{
id
title
path
}
}
}
} }
</page-query> </page-query>
<script> <script>
import Pagination from "~/components/Pagination.vue"; import Pagination from "~/components/Pagination.vue";
import PostListItem from '~/components/PostListItem.vue'; import Group from '~/components/Group.vue';
export default { export default {
metaInfo: { metaInfo: {
title: "People" title: "People"
}, },
components: { components: {
PostListItem, Group,
Pagination Pagination
}, },
methods: {
filter: function(tag){
if (tag == '')
return this.people
var result = []
for(var i=0; i < this.people.length; i++){
var person = this.people[i];
for (var j=0; j<person.memberships.length; j++){
var membership = person.memberships[j];
if (membership.title == tag){
result.push(person);
break
}
}
}
return result;
},
},
computed: { computed: {
people: function(){
var result = []
for (var i=0; i < this.$page.entries.edges.length; i++){
result.push(this.$page.entries.edges[i].node)
}
return result
},
memberships: function(){
var result = []
for (var i=0; i < this.$page.memberships.edges.length; i++){
result.push(this.$page.memberships.edges[i].node.title)
}
return result
},
baseurl: function() { baseurl: function() {
return "/people/" return "/people/"
} }