site-libsoc/Server/app/svelte/src/communities-component.svelte

113 lines
3.1 KiB
Svelte
Raw Normal View History

2023-06-24 04:39:41 +07:00
<svelte:options tag="communities-component" />
<script>
// Import statements
import { onMount } from 'svelte'
2023-06-24 20:44:16 +07:00
import { communities, addMarkersCommunities } from '/js/communities.js'
2023-06-24 04:39:41 +07:00
// Import components
2023-06-24 20:44:16 +07:00
import "/js/components/map-component.js"
2023-06-24 04:39:41 +07:00
// Main code
2023-06-24 20:44:16 +07:00
function mapCallbackCommunities(createMap) {
let map = createMap([51.505, -0.09],3)
addMarkersCommunities(map)
}
2023-06-24 04:39:41 +07:00
onMount(() => {
})
</script>
2023-06-24 20:44:16 +07:00
<div id="container">
<!--<img src="img/crowd.png" id="crowd" alt="crowd">-->
<div id="text-container">
<h1>Communities</h1>
2023-06-25 02:29:07 +07:00
<img id="communities-img" src="/img/common/communities.svg" alt="communities">
2023-06-26 00:39:06 +07:00
<p>We establish libertarian socialist communities by buying land, housing and the means of production which are then owned by the members of these communities. There is no private property within the communities and, therefore, exploitation and suffering that comes with it. Decisions are made using direct democracy with a focus on consensus, ensuring that each community member has power over decisions that affect their life. Communities try to establish their own cooperatives in order to finance their development becoming financially independent and sustainable, which allows for their survival and growth. Within communities the gift economy is utilized whenever possible. Each community is a small beacon of socialism within the dark capitalist world showing us how good life can be if only we achieve our goal.</p>
2023-06-24 20:44:16 +07:00
<h3>Our communities</h3>
<map-component id="map" callback={mapCallbackCommunities}></map-component>
<h4>Europe</h4>
{#each communities as community}
<div class="location-info">
<p><b>Location: </b>{community.location[0]}</p>
<p><b>Status: </b>{community.status}</p>
<p><b>Members: </b>{community.members}</p>
<p><b>Contact: </b><a href={community.contact[0]} target=;_blank; rel=noreferrer>{community.contact[1]}</a></p>
</div>
{/each}
</div>
</div>
2023-06-24 04:39:41 +07:00
<style>
@import '/css/common.css';
2023-06-25 02:29:07 +07:00
#communities-img {
position: absolute;
width: 11rem;
left: 50%;
transform: translate(-50%);
z-index: 0;
opacity: 0.2;
}
#text-container>:nth-child(3) {
margin-top: 8rem;
}
2023-06-24 20:44:16 +07:00
h4 {
margin-bottom: 2rem;
}
.location-info {
position: relative;
margin-bottom: 2rem;
}
.location-info p {
margin-bottom: 0;
}
a {
color: #DD1C1A;
}
#map {
--height: 30rem;
--width: 100%;
--margin-bottom: 3rem;
}
#text-container {
max-width: calc(100vw - 4rem);
margin: auto;
}
h1 {
margin-bottom: 1rem;
2023-06-28 18:00:41 +07:00
font-size: 2.2rem;
2023-06-24 20:44:16 +07:00
text-align: center;
}
h3 {
margin-bottom: 1rem;
}
#container {
margin: auto;
max-width: 1200px;
margin-top: 1rem;
margin-bottom: 4rem;
}
#container>div>p {
margin-bottom: 1rem;
}
#container p {
text-align: justify;
}
2023-06-24 04:39:41 +07:00
</style>