FCLauncher/fclauncher/frontend/src/Testpage.svelte
2024-11-02 00:12:40 +11:00

118 lines
2.4 KiB
Svelte

<script lang="ts">
//import {LaunchInstance} from 'wailsjs/go/main/InstanceManager';
import {instances, loading} from './global'
var testArray = ["test","test2","test3"];
let pack;
//function launchclick(event) {
// $loading = true
// LaunchInstance(pack).then(() => {
// $loading = false
// })
//}
</script>
<main>
<div class="container">
<div class="tile-group">
{#each $instances as i}
<div class="input-container">
<input id={i} type="radio" name="radio" on:click={pack = instances[i]}>
<div class="radio-tile">
<!--icon goes here later-->
<label for={i}>{i}</label>
</div>
</div>
{/each}
</div>
</div>
<div class="options-container">
<button class="launch-button">{pack}</button>
</div>
</main>
<style>
* {
box-sizing: border-box;
font-family: sans-serif;
--text-primary: #b6b6b6;
--text-secondary: #ececec;
--bg-primary: #23232e;
--bg-secondary: #141418;
}
body{
background-color: var(--bg-secondary);
}
main{
display: flex;
flex-direction: row;
justify-content: right;
}
.options-container{
display: flex;
height: 100vh;
width: 20rem;
border: green 2px;
justify-self: right;
justify-content: center;
align-items: center;
}
.launch-button{
height: 3rem;
}
.container{
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
min-width: 70%;
}
.tile-group{
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.input-container{
position: relative;
height: 7rem;
width: 7rem;
margin: 0.5rem;
}
.input-container input{
position: absolute;
height: 100%;
width: 100%;
margin-left: -3.5rem;
z-index: 0;
opacity: 0;
cursor: pointer;
}
.input-container .radio-tile{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
border: 2px solid purple;
border-radius: 8px;
transition: all 300ms ease;
}
.input-container label{
color: purple;
font-size: 1.2rem;
font-weight: 600;
}
input:checked + .radio-tile{
background-color: purple;
box-shadow: 0 0 12px purple;
}
input:hover + .radio-tile{
box-shadow: 0 0 12px purple;
}
input:checked + .radio-tile label{
color: var(--text-primary);
}
</style>