update editor

This commit is contained in:
2026-07-24 19:18:38 +07:00
parent 16a107827a
commit 91ac1a43c8
8 changed files with 302 additions and 188 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -5,8 +5,8 @@
<link rel="icon" href="/favicon.ico"> <link rel="icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Вечерний детектив</title> <title>Вечерний детектив</title>
<script type="module" crossorigin src="/assets/index-BLlCl_NS.js"></script> <script type="module" crossorigin src="/assets/index-CjBYIuuQ.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-Brba20IB.css"> <link rel="stylesheet" crossorigin href="/assets/index-BlF9CL1O.css">
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>
+7
View File
@@ -15,6 +15,13 @@
--vt-c-text-light-2: rgb(60 60 60 / 66%); --vt-c-text-light-2: rgb(60 60 60 / 66%);
--vt-c-text-dark-1: var(--vt-c-white); --vt-c-text-dark-1: var(--vt-c-white);
--vt-c-text-dark-2: rgb(235 235 235 / 64%); --vt-c-text-dark-2: rgb(235 235 235 / 64%);
/* Главный цвет */
--main-color: rgba(34, 50, 60, 1);
/* --second-color: rgb(97, 74, 22); */
--second-color: burlywood;
--main-back-color: rgba(240, 240, 240, 1);
--main-back-item-color: rgba(254, 254, 254, 1);
} }
/* semantic color variables for this project */ /* semantic color variables for this project */
Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

+65
View File
@@ -0,0 +1,65 @@
<script setup lang="ts">
/* код */
</script>
<template>
<div class="main">
<div class="message-cloud-3"></div>
<div class="message-cloud-2"></div>
<div class="message-cloud">
<slot></slot>
</div>
</div>
</template>
<style scoped>
.main {
position: relative;
}
.message-cloud, .message-cloud-2, .message-cloud-3 {
background-color: bisque;
}
.message-cloud {
margin: 15px 0;
padding: 16px;
font-family: main;
color: black;
line-height: 20px;
font-size: 18px;
font-weight: 900;
position: relative;
}
.message-cloud,
.message-cloud-2,
.message-cloud-3 {
border-radius: 5px;
background-image: url("@/assets/images/paper.jpg");
background-size: cover;
display: flow-root;
box-shadow: 0px 0 5px black;
}
.message-cloud-2,
.message-cloud-3 {
position: absolute;
top: 0;
left: 0;
}
.message-cloud-2 {
transform: rotate(-3deg);
filter: brightness(50%);
height: 100%;
width: 100%;
}
.message-cloud-3 {
transform: rotate(2deg);
filter: brightness(80%);
height: 100%;
width: 100%;
}
</style>
+45 -3
View File
@@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { NDynamicInput, NInput, NInputGroup, NSpace, NSwitch, NText, NUpload, NUploadDragger } from 'naive-ui' import { NDynamicInput, NInput, NInputGroup, NSpace, NSwitch, NText, NUpload, NUploadDragger, NButton } from 'naive-ui'
import type { PropType } from 'vue' import type { PropType } from 'vue'
import { LockOutlined } from '@vicons/material' import { LockOutlined } from '@vicons/material'
import { Icon } from '@vicons/utils' import { Icon } from '@vicons/utils'
@@ -86,7 +86,10 @@ function onCreateKey(): Key {
</div> </div>
<div v-if="mode == 'show-editor'" class="place-block-hover show-editor-block" @click="updateMode('edit')"> <div v-if="mode == 'show-editor'" class="place-block-hover show-editor-block" @click="updateMode('edit')">
<p>[{{ props.place.code }}] - {{ props.place.name }}</p> <div class="message-header">
{{ props.place.code }}: {{ props.place.name }}
</div>
<hr class="hr" />
<div class="message-content"> <div class="message-content">
<div v-if="props.place.image"> <div v-if="props.place.image">
<div class="message-image-border"> <div class="message-image-border">
@@ -104,7 +107,9 @@ function onCreateKey(): Key {
</span> </span>
</div> </div>
<div v-for="application in props.place.applications" v-bind:key="application.name" class="application-block"> <hr class="hr" v-if="props.place.applications.length" />
<div class="message-footer application-block" v-for="application in props.place.applications"
v-bind:key="application.name">
Приложение: {{ application.name }} Приложение: {{ application.name }}
</div> </div>
@@ -130,6 +135,13 @@ function onCreateKey(): Key {
placeholder="В начале было слово..." /> placeholder="В начале было слово..." />
<p class="settings-header">Картинка</p> <p class="settings-header">Картинка</p>
<div>
<n-space>
<n-space vertical>
<img :src="props.place.image" class="message-edit-image">
<n-button @click="props.place.image = '', props.place.fileList = null">Убрать картинку</n-button>
</n-space>
<n-space vertical>
<n-input v-model:value="props.place.image" type="text" placeholder="Не задано" disabled /> <n-input v-model:value="props.place.image" type="text" placeholder="Не задано" disabled />
<n-upload directory-dnd :max="1" v-model:file-list="props.place.fileList"> <n-upload directory-dnd :max="1" v-model:file-list="props.place.fileList">
<n-upload-dragger> <n-upload-dragger>
@@ -138,6 +150,11 @@ function onCreateKey(): Key {
</n-text> </n-text>
</n-upload-dragger> </n-upload-dragger>
</n-upload> </n-upload>
</n-space>
</n-space>
</div>
<p class="settings-header">Видимость точки</p>
<n-switch v-model:value="props.place.hidden"> <n-switch v-model:value="props.place.hidden">
<template #checked> <template #checked>
Скрытая точка Скрытая точка
@@ -210,6 +227,13 @@ function onCreateKey(): Key {
</template> </template>
<style scoped> <style scoped>
.hr {
margin: 10px 0;
border: dashed 1px;
/* border-color: black; */
border-color: #eee;
}
.place-block-hover, .place-block-hover,
.place-block { .place-block {
margin: 10px 0; margin: 10px 0;
@@ -234,6 +258,7 @@ function onCreateKey(): Key {
} }
.message-content { .message-content {
font-weight: 500;
white-space: pre-wrap; white-space: pre-wrap;
} }
@@ -316,4 +341,21 @@ function onCreateKey(): Key {
.message-image { .message-image {
width: 100%; width: 100%;
} }
.message-edit-image {
width: 135px;
height: 135px;
}
.message-header {
font-size: 20px;
padding-right: 50px;
}
.message-footer {
padding-right: 50px;
font-weight: 400;
color: var(--second-color);
position: relative;
}
</style> </style>