|
- <template>
- <div id="overlay" v-if="selected">
-
- <img @click="$emit('close')" class="cancel icon"
- src="../../images/cancel-icon2.svg" alt=""/>
- <div class="overlay-item">
- <img v-if="selected.service.site == 'youtube'" class="icon"
- src="../../images/youtube-icon.svg" alt=""/>
- <img v-if="selected.service.site == 'instagram'" class="icon"
- src="../../images/instagram-icon.svg" alt=""/>
- <img v-if="selected.service.site == 'twitter'" class="icon"
- src="../../images/twitter.svg" alt=""/>
- <img v-if="selected.service.site == 'tiktok'" class="icon"
- src="../../images/tik-tok.svg" alt=""/>
- <h3>{{selected.service.name}}</h3>
-
- <div class="details">
- <ul>
- <li><b>Status:</b> <span>{{selected.status.charAt(0).toUpperCase() +
- selected.status.slice(1)}}</span></li>
- <li><b>Quantity:</b> <span>{{selected.quantity}}</span></li>
- <li><b>Remaining:</b> <span>{{selected.remaining}}</span></li>
- <li><b>URL:</b> <span>{{selected.url}}</span></li>
- </ul>
- </div>
-
- <div v-if="selected.status == 'processing' || selected.status ==
- 'error'" class="change-url">
- <h4>URL</h4>
- <div><input v-model="url" type="url" id="url"></div>
- <button @click="saveURL" :disabled="loading">Save
- <loading-icon v-if="loading"></loading-icon></button>
- <p id="overlay-error">{{errorMessage}}</p>
- </div>
-
- </div>
-
- </div>
- </template>
-
- <script>
- import LoadingIcon from '../icons/loading.vue'
-
- function saveURL() {
- fetch('/panel/save-url', {
- method: 'POST',
- headers: {'Content-Type': 'application/json',
- 'Accept': 'application/json',
- 'X-XSRF-TOKEN': this.token},
- body: JSON.stringify({'url': this.url, 'order': this.selected.id})
- }).then(response => {
- if (response.ok) {
- this.errorMessage = 'Saved'
- this.$emit('changeUrl', this.url)
- } else {
- this.errorMessage = 'An error occured'
- }
- })
-
- }
-
- export default {
- data() {
- return {loading: false, errorMessage: '', url: this.selected.url}
- },
- components: {LoadingIcon},
- methods: {saveURL},
- props: ['selected', 'token'],
- emits: ['changeUrl', 'close']
- }
- </script>
|