FreeDATA/gui/src/components/infoScreen.vue

224 lines
5.4 KiB
Vue
Raw Normal View History

2023-10-25 15:20:39 +00:00
<script setup lang="ts">
2023-10-25 20:04:01 +00:00
import { ref, onMounted } from "vue";
2023-10-25 20:03:02 +00:00
2023-10-25 15:20:39 +00:00
import { setActivePinia } from "pinia";
import pinia from "../store/index";
setActivePinia(pinia);
2023-11-01 21:37:30 +00:00
import infoScreen_updater from "./infoScreen_updater.vue";
2023-10-25 15:20:39 +00:00
function openWebExternal(url) {
open(url);
}
2023-10-25 20:03:02 +00:00
const cards = ref([
2023-10-25 20:04:01 +00:00
{
2023-10-26 11:37:13 +00:00
titleName: "Simon",
titleCall: "DJ2LS",
2023-12-19 03:08:02 +00:00
role: "Founder & Core Developer",
2023-10-25 20:04:01 +00:00
imgSrc: "dj2ls.png",
},
{
titleName: "Alan",
titleCall: "N1QM",
2023-12-19 03:08:02 +00:00
role: "Developer",
imgSrc: "person-fill.svg",
},
{
titleName: "Stefan",
titleCall: "DK5SM",
2023-12-19 03:08:02 +00:00
role: "Tester",
imgSrc: "person-fill.svg",
},
{
titleName: "Wolfgang",
titleCall: "DL4IAZ",
2023-12-19 03:08:02 +00:00
role: "Supporter",
imgSrc: "person-fill.svg",
},
{
titleName: "David",
titleCall: "VK5DGR",
2023-12-19 03:08:02 +00:00
role: "Codec 2 Founder",
2023-10-27 21:43:04 +00:00
imgSrc: "vk5dgr.jpeg",
},
{
titleName: "John",
titleCall: "EI7IG",
2023-12-19 03:08:02 +00:00
role: "Tester",
2023-10-28 08:45:05 +00:00
imgSrc: "ei7ig.jpeg",
},
{
titleName: "Paul",
titleCall: "N2KIQ",
2023-12-19 03:08:02 +00:00
role: "Developer",
imgSrc: "person-fill.svg",
},
{
titleName: "Trip",
titleCall: "KT4WO",
2023-12-19 03:08:02 +00:00
role: "Tester",
2023-10-26 12:04:29 +00:00
imgSrc: "kt4wo.png",
},
{
titleName: "Manuel",
titleCall: "DF7MH",
2023-12-19 03:08:02 +00:00
role: "Tester",
imgSrc: "person-fill.svg",
},
{
titleName: "Darren",
titleCall: "G0HWW",
2023-12-19 03:08:02 +00:00
role: "Tester",
imgSrc: "person-fill.svg",
},
{
titleName: "Kai",
titleCall: "LA3QMA",
2023-12-19 03:08:02 +00:00
role: "Developer",
imgSrc: "person-fill.svg",
},
{
titleName: "Pedro",
titleCall: "F4JAW",
role: "Core Developer",
imgSrc: "person-fill.svg",
},
2023-10-25 20:04:01 +00:00
]);
2023-10-25 20:03:02 +00:00
// Shuffle cards
2023-10-25 20:04:01 +00:00
function shuffleCards() {
cards.value = cards.value.sort(() => Math.random() - 0.5);
}
2023-10-25 20:03:02 +00:00
2023-10-25 20:04:01 +00:00
onMounted(shuffleCards);
2023-10-25 15:20:39 +00:00
</script>
<template>
<!--<infoScreen_updater />-->
2023-10-25 20:04:01 +00:00
<div class="container-fluid">
2023-12-19 03:08:02 +00:00
<div class="row">
2023-10-25 20:04:01 +00:00
<h6>Important URLs</h6>
<div
class="btn-toolbar mx-auto"
role="toolbar"
aria-label="Toolbar with button groups"
>
<div class="btn-group">
<button
class="btn btn-sm bi bi-geo-alt btn-secondary me-2"
id="openExplorer"
type="button"
data-bs-placement="bottom"
@click="openWebExternal('https://explorer.freedata.app')"
>
Explorer map
</button>
</div>
<div class="btn-group">
<button
class="btn btn-sm btn-secondary me-2 bi bi-graph-up"
id="btnStats"
type="button"
data-bs-placement="bottom"
@click="openWebExternal('https://statistics.freedata.app/')"
>
Statistics
</button>
</div>
<div class="btn-group">
<button
class="btn btn-secondary bi bi-bookmarks me-2"
id="fdWww"
data-bs-toggle="tooltip"
data-bs-trigger="hover"
title="FreeDATA website"
role="button"
@click="openWebExternal('https://freedata.app')"
>
Website
</button>
</div>
<div class="btn-group">
<button
class="btn btn-secondary bi bi-github me-2"
id="ghUrl"
data-bs-toggle="tooltip"
data-bs-trigger="hover"
title="Github"
role="button"
@click="openWebExternal('https://github.com/dj2ls/freedata')"
>
Github
</button>
</div>
<div class="btn-group">
<button
class="btn btn-secondary bi bi-wikipedia me-2"
id="wikiUrl"
data-bs-toggle="tooltip"
data-bs-trigger="hover"
title="Wiki"
role="button"
@click="openWebExternal('https://wiki.freedata.app')"
>
Wiki
</button>
</div>
<div class="btn-group">
<button
class="btn btn-secondary bi bi-discord"
id="discordUrl"
data-bs-toggle="tooltip"
data-bs-trigger="hover"
title="Discord"
role="button"
@click="openWebExternal('https://discord.freedata.app')"
>
Discord
</button>
</div>
</div>
</div>
2023-12-19 03:08:02 +00:00
<hr />
<div class="row">
<h6>We would like to especially thank the following</h6>
2023-10-25 20:04:01 +00:00
</div>
2023-10-25 15:20:39 +00:00
2023-12-19 03:09:17 +00:00
<div
class="d-flex flex-nowrap overflow-y-auto w-100"
style="height: calc(100vh - 170px); overflow-x: hidden"
>
2023-12-19 03:08:02 +00:00
<div class="row row-cols-1 row-cols-sm-2 row-cols-md-4 row-cols-lg-6">
2023-10-26 12:05:21 +00:00
<div class="d-inline-block" v-for="card in cards" :key="card.titleName">
2023-10-25 20:04:01 +00:00
<div class="col">
2024-01-28 19:07:15 +00:00
<div class="card border-dark m-1" style="max-width: 10rem">
2023-10-26 12:13:52 +00:00
<img :src="card.imgSrc" class="card-img-top grayscale" />
2023-10-25 20:04:01 +00:00
<div class="card-body">
<p class="card-text text-center">{{ card.role }}</p>
2023-10-25 15:20:39 +00:00
</div>
2023-10-25 20:04:01 +00:00
<div class="card-footer text-body-secondary text-center">
2023-10-26 11:37:13 +00:00
<strong>{{ card.titleCall }}</strong>
</div>
<div class="card-footer text-body-secondary text-center">
<strong>{{ card.titleName }}</strong>
2023-10-25 15:20:39 +00:00
</div>
2023-10-25 20:04:01 +00:00
</div>
</div>
</div>
2023-10-25 20:03:02 +00:00
</div>
</div>
2023-10-25 15:20:39 +00:00
</div>
</template>
2023-10-26 12:13:52 +00:00
<style>
.grayscale {
filter: grayscale(100%);
transition: filter 0.3s ease-in-out;
}
2023-10-26 12:13:52 +00:00
.grayscale:hover {
filter: grayscale(0);
}
</style>