@@ -12,7 +12,7 @@ class Wish extends Model
|
|||||||
use HasFactory;
|
use HasFactory;
|
||||||
|
|
||||||
protected $table = 'wishes';
|
protected $table = 'wishes';
|
||||||
protected $fillable = ['title', 'description', 'reward', 'owner_id', 'status', 'agent_id', 'guest_id', 'type', 'rune', 'color'];
|
protected $fillable = ['title', 'description', 'reward', 'owner_id', 'status', 'agent_id', 'guest_id', 'icon_type', 'icon_rune', 'type', 'color'];
|
||||||
|
|
||||||
public function agent(): BelongsTo
|
public function agent(): BelongsTo
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -21,7 +21,8 @@ class WishFactory extends Factory
|
|||||||
'title' => fake()->sentence(),
|
'title' => fake()->sentence(),
|
||||||
'description' => fake()->paragraph(),
|
'description' => fake()->paragraph(),
|
||||||
'reward' => fake()->word(),
|
'reward' => fake()->word(),
|
||||||
'rune' => fake()->numberBetween(0, 3),
|
'icon_rune' => fake()->numberBetween(0, 3),
|
||||||
|
'icon_type' => fake()->numberBetween(0, 3),
|
||||||
'type' => fake()->numberBetween(0, 3),
|
'type' => fake()->numberBetween(0, 3),
|
||||||
'color' => fake()->numberBetween(0, 255),
|
'color' => fake()->numberBetween(0, 255),
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -21,7 +21,8 @@ return new class extends Migration
|
|||||||
$table->foreignUuid('guest_id')->nullable();
|
$table->foreignUuid('guest_id')->nullable();
|
||||||
$table->enum('status', ['open', 'promised', 'disabled', 'granted'])->default('open');
|
$table->enum('status', ['open', 'promised', 'disabled', 'granted'])->default('open');
|
||||||
$table->unsignedTinyInteger('type')->default(0);
|
$table->unsignedTinyInteger('type')->default(0);
|
||||||
$table->unsignedTinyInteger('rune')->default(0);
|
$table->unsignedTinyInteger('icon_type')->default(0);
|
||||||
|
$table->unsignedTinyInteger('icon_rune')->default(0);
|
||||||
$table->unsignedTinyInteger('color')->default(0);
|
$table->unsignedTinyInteger('color')->default(0);
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
User-agent: *
|
User-agent: *
|
||||||
Disallow:
|
Disallow: /
|
||||||
|
|||||||
|
After Width: | Height: | Size: 195 KiB |
|
After Width: | Height: | Size: 222 KiB |
|
After Width: | Height: | Size: 137 KiB |
|
After Width: | Height: | Size: 173 KiB |
|
After Width: | Height: | Size: 169 KiB |
|
After Width: | Height: | Size: 183 KiB |
|
After Width: | Height: | Size: 214 KiB |
|
After Width: | Height: | Size: 202 KiB |
|
After Width: | Height: | Size: 202 KiB |
|
After Width: | Height: | Size: 179 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 783 B After Width: | Height: | Size: 783 B |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 964 B After Width: | Height: | Size: 964 B |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 909 B After Width: | Height: | Size: 909 B |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
@@ -1,42 +1,43 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {ref, onMounted} from 'vue';
|
import {ref, onMounted} from 'vue';
|
||||||
|
import WishPanel from './WishPanel.vue';
|
||||||
|
|
||||||
|
const panelOn = ref(false);
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
type: {
|
||||||
|
type: Number,
|
||||||
|
default: 1,
|
||||||
|
},
|
||||||
|
rune: {
|
||||||
|
type: Number,
|
||||||
|
default: 1,
|
||||||
|
},
|
||||||
|
color: {
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
function openWish() {
|
||||||
|
panelOn.value = true;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="wish-main">
|
<div class="wish-main" @click="openWish">
|
||||||
<img :src="'/skonk/quest_backdrop_' + type + '.png'">
|
<img :src="'/skonk/quest_backdrop_' + type + '.png'">
|
||||||
<div class="wish-sub" v-if="type <= 2">
|
<div class="wish-sub" v-if="type <= 1">
|
||||||
<img :src="'/skonk/quest_backdrop_' + type + '_filter.png'" :style="'filter: hue-rotate(' + color + 'deg) saturate(0.5);'">
|
<img :src="'/skonk/quest_backdrop_' + type + '_filter.png'" :style="'filter: hue-rotate(' + color + 'deg) saturate(0.5);'">
|
||||||
</div>
|
</div>
|
||||||
<div class="wish-sub" v-if="type <= 2">
|
<div class="wish-sub" v-if="type <= 1">
|
||||||
<img :src="'/skonk/quest_rune_' + rune + '.png'">
|
<img :src="'/skonk/quest_rune_' + rune + '.png'" >
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<WishPanel v-model="panelOn"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
|
||||||
const types = ref(['/skonk/quest_backdrop_1.png'], )
|
|
||||||
|
|
||||||
export default {
|
|
||||||
props: {
|
|
||||||
type: {
|
|
||||||
type: Number,
|
|
||||||
default: 1,
|
|
||||||
},
|
|
||||||
rune: {
|
|
||||||
type: Number,
|
|
||||||
default: 1,
|
|
||||||
},
|
|
||||||
color: {
|
|
||||||
type: Number,
|
|
||||||
default: 0,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
setup(props) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.wish-main {
|
.wish-main {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|||||||
@@ -0,0 +1,59 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
import { onMounted } from 'vue';
|
||||||
|
|
||||||
|
const panelOn = defineModel({default: false});
|
||||||
|
|
||||||
|
function handleClose(event:KeyboardEvent) {
|
||||||
|
if (panelOn.value) if (event.key == 'Escape') panelOn.value = false;;
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
window.addEventListener('keydown', handleClose);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template >
|
||||||
|
<template v-if="panelOn">
|
||||||
|
<div class="panel-container background" >
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="panel-container main-panel">
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style lang="css" scoped>
|
||||||
|
|
||||||
|
.background {
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
filter: opacity(30%);
|
||||||
|
|
||||||
|
background-color: black;
|
||||||
|
z-index: 90;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-panel {
|
||||||
|
height: 90%;
|
||||||
|
width: 90%;
|
||||||
|
|
||||||
|
filter: opacity(85%);
|
||||||
|
|
||||||
|
border-radius: 10px;
|
||||||
|
|
||||||
|
background-color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-container {
|
||||||
|
position: absolute;
|
||||||
|
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -17,7 +17,7 @@ const call = () => {
|
|||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
call();
|
call();
|
||||||
interval = setInterval(call, 30000);
|
interval = setInterval(call, 10000);
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||