fix: resolve background not shown

This commit is contained in:
2026-02-04 09:39:55 +05:00
parent 1e314392af
commit 50f3930bf1
3 changed files with 26 additions and 10 deletions
+10 -9
View File
@@ -34,7 +34,7 @@
#### 5. Просмотр панелей #### 5. Просмотр панелей
- Единое фоновое изображение в боковой панели (один раз вверху) - Единое фоновое изображение в боковой панели (один раз вверху)
- Превью всех созданных панелей с текстом на прозрачном фоне - Превью всех созданных панелей с текстом на фоне
- Превью только для просмотра - Превью только для просмотра
- Скачивание отдельной панели - Скачивание отдельной панели
- Массовое скачивание всех панелей - Массовое скачивание всех панелей
@@ -51,11 +51,12 @@
3. Пользователь видит экран добавления текстов 3. Пользователь видит экран добавления текстов
### Шаг 2: Настройка фона (опционально) ### Шаг 2: Настройка фона (опционально)
1. Пользователь может загрузить собственное фоновое изображение 1. Фоновое изображение отображается в боковой панели с кнопкой "Загрузить"
2. При необходимости обрезает изображение 2. Пользователь может загрузить собственное фоновое изображение
3. Фон отображается один раз в боковой панели 3. При необходимости обрезает изображение
4. Фон применяется ко всем создаваемым панелям 4. Фон отображается один раз в боковой панели с правильными размерами (максимальная ширина 320px)
5. Превью панелей показывают только текст на прозрачном фоне 5. Фон применяется ко всем создаваемым панелям
6. Превью панелей показывают финальный результат с текстом на фоне
### Шаг 3: Создание и редактирование текстов ### Шаг 3: Создание и редактирование текстов
1. Пользователь вводит текст для первой панели (например: "links") 1. Пользователь вводит текст для первой панели (например: "links")
@@ -81,7 +82,7 @@
### Шаг 5: Просмотр панелей ### Шаг 5: Просмотр панелей
1. В боковой панели отображается фоновое изображение (один раз вверху) 1. В боковой панели отображается фоновое изображение (один раз вверху)
2. Ниже отображаются превью всех созданных панелей 2. Ниже отображаются превью всех созданных панелей
3. Превью панелей показывают только текст на прозрачном фоне 3. Превью панелей показывают финальный результат с текстом на фоне
4. Превью только для просмотра, редактирование происходит в списке текстов 4. Превью только для просмотра, редактирование происходит в списке текстов
### Шаг 6: Экспорт панелей ### Шаг 6: Экспорт панелей
@@ -171,8 +172,8 @@
## Ограничения MVP ## Ограничения MVP
- Один фоновый рисунок для всех панелей - Один фоновый рисунок для всех панелей
- Фон отображается один раз в боковой панели - Фон отображается один раз в боковой панели (максимальная ширина 320px)
- Превью панелей показывают только текст на прозрачном фоне - Превью панелей показывают финальный результат с текстом на фоне
- Один текстовый элемент на панель - Один текстовый элемент на панель
- Фиксированная ширина панели (320px) - Фиксированная ширина панели (320px)
- Только экспорт в PNG - Только экспорт в PNG
+3
View File
@@ -69,6 +69,9 @@
<div class="canvas-container"> <div class="canvas-container">
<Stage width={320} height={panel.height}> <Stage width={320} height={panel.height}>
<Layer> <Layer>
{#if backgroundImage}
<Image image={backgroundImage} width={320} height={panel.height} />
{/if}
{#each panel.texts || [] as textItem (textItem.id)} {#each panel.texts || [] as textItem (textItem.id)}
{@const textPosition = getTextPosition(textItem)} {@const textPosition = getTextPosition(textItem)}
<Text <Text
+13 -1
View File
@@ -154,7 +154,10 @@
<div class="sidebar"> <div class="sidebar">
{#if $uiStore.currentStep === "text" && backgroundImage} {#if $uiStore.currentStep === "text" && backgroundImage}
<div class="background-preview"> <div class="background-preview">
<h3>Фоновое изображение</h3> <div class="background-header">
<h3>Фоновое изображение</h3>
<Button variant="secondary" size="sm" onclick={handleUploadNewImage}>Загрузить</Button>
</div>
<img src={backgroundImage} alt="Фон" /> <img src={backgroundImage} alt="Фон" />
</div> </div>
{/if} {/if}
@@ -248,6 +251,13 @@
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
} }
.background-header {
display: flex;
justify-content: space-between;
align-items: center;
gap: 0.5rem;
}
.background-preview h3 { .background-preview h3 {
margin: 0; margin: 0;
color: #333; color: #333;
@@ -257,6 +267,8 @@
.background-preview img { .background-preview img {
width: 100%; width: 100%;
max-width: 320px;
height: auto;
border-radius: 4px; border-radius: 4px;
} }