frontend/src/components/CreatePodMethodSelector.vue
<!-- CreatePodMethodSelector.vue -->
<template>
<div v-if="show" class="modal-overlay" @click="closeModal">
<div class="modal-content" @click.stop>
<div class="modal-header">
<h3>Create Pod</h3>
<button class="close-button" @click="closeModal">×</button>
</div>
<div class="modal-body">
<div class="method-option" @click="selectedMethod = 'guided'">
<div class="radio-container">
<div class="radio-button">
<div class="radio-outer">
<div class="radio-inner" v-if="selectedMethod === 'guided'"></div>
</div>
</div>
<div class="method-text">
<div class="method-label">Guided Creation</div>
</div>
</div>
</div>
<div class="method-option" @click="selectedMethod = 'yaml'">
<div class="radio-container">
<div class="radio-button">
<div class="radio-outer">
<div class="radio-inner" v-if="selectedMethod === 'yaml'"></div>
</div>
</div>
<div class="method-text">
<div class="method-label">YAML Creation</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button class="cancel-button" @click="closeModal">
Cancel
</button>
<button
class="continue-button"
@click="continueToSelected"
:disabled="!selectedMethod"
>
Continue
</button>
</div>
</div>
</div>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
export default defineComponent({
name: 'CreatePodMethodSelector',
props: {
show: {
type: Boolean,
default: false
},
namespace: {
type: String,
default: 'default'
}
},
data() {
return {
selectedMethod: 'guided'
}
},
methods: {
closeModal() {
this.$emit('close')
},
continueToSelected() {
this.$emit('method-selected', this.selectedMethod)
}
}
});
</script>
<style src="@/assets/css/CreatePodMethodSelector.css" scoped></style>