|
- <template>
- <div class="support-section" id="main">
-
- <h2>Support</h2>
-
- <loading v-if="loading"></loading>
-
- <div v-if="!loading && complete" class="dialog">
- <img class="icon" src="../../images/checked2.svg" alt="">
- <h3>Ticket sent. An administrator will contact you soon.</h3>
- </div>
-
- <div v-if="!loading && !complete" id="support-form">
-
- <label for="">Topic</label>
- <select id="support-topic" name="" v-model="topic">
- <option value="order">Order</option>
- <option value="service">Service</option>
- <option value="credits">Credits</option>
- <option value="payment">Payment</option>
- <option value="other">Other</option>
- </select>
-
- <label for="">Details</label>
- <textarea id="" name="" cols="30" rows="10" v-model="message"></textarea>
- <span class="note-grey">Include any relevant information like the order number,
- service name, etc</span>
-
- <button @click="send">Submit</button>
-
- <p class="error-message">{{errorMessage}}</p>
-
- </div>
-
- </div>
- </template>
-
-
- <script>
- import Loading from '../icons/loading.vue'
-
- function send() {
- this.errorMessage = ''
-
- if (!this.topic || !this.message) {
- this.errorMessage = 'Topic and details cannot be blank.'
- return
- }
-
- this.loading = true
-
- fetch("/panel/support", {
- method: 'POST',
- headers: {'Content-Type': 'application/json',
- 'Accept': 'application/json',
- 'X-XSRF-TOKEN': this.token},
- body: JSON.stringify({'topic': this.topic, 'message': this.message})}).
- then(response => {
- if (response.ok) {
- this.complete = true
- } else {
- this.complete = false
- this.error = true
- this.errorMessage = `${response.status}:
- ${response.statusText}`
- }
-
- this.loading = false
- })
-
- }
-
- export default {
- components: {Loading},
- props: ['user', 'token'],
- data() {
- return {loading: false, complete: false, error: false, errorMessage:
- '', topic: null, message: ''}
- },
- methods: {send}
- }
- </script>
|