bx-1379-redesign #15

Merged
ksenia_mikhailova merged 124 commits from bx-1379-redesign into dev 2024-09-06 15:39:13 +03:00
5 changed files with 21 additions and 36 deletions
Showing only changes of commit a38d1133b5 - Show all commits

View File

@ -36,7 +36,7 @@ class Element3D(models.Model):
description = models.TextField(blank=True, null=True)
is_enabled = models.BooleanField(default=True)
can_not_disable = models.BooleanField(default=False)
x_pos = models.IntegerField(default=0)
y_pos = models.IntegerField(default=0)
z_pos = models.IntegerField(default=0)
@ -47,6 +47,7 @@ class Element3D(models.Model):
class Scene3D(models.Model):
name = models.CharField(max_length=120)
description = models.TextField(blank=True, null=True)
elements = models.ManyToManyField(Element3D)
env = models.ForeignKey(Environment, models.RESTRICT, blank=True, null=True)
@ -73,33 +74,33 @@ def maximum_size_validator(image):
class ClickableArea(models.Model):
name = models.CharField("название", max_length=255)
description = models.TextField("описание")
object_name = models.CharField("название объекта", max_length=255)
target_name = models.CharField(
max_length=200,
blank=True,
null=True,
name = models.CharField(
"Название",
max_length=255,
help_text="Название кликабельной области",
)
description = models.TextField(
"Описание",
help_text="Описание кликабельной области",
)
target = models.ForeignKey(
Scene3D,
on_delete=models.PROTECT,
related_name="clickable_areas",
blank=True,
null=True,
help_text="На какую сцену ведет клик",
)
source = models.ForeignKey(
Element3D,
on_delete=models.PROTECT,
help_text="В каком элементе искать object_name",
)
image = models.ImageField(
"Картинка",
upload_to=group_based_upload_to,
validators=[
maximum_size_validator,
],
blank=True,
null=True,
object_name = models.CharField(
"Название объекта",
max_length=255,
help_text="Имя mesh или group в элементе 3D",
)
def __str__(self):

View File

@ -23,21 +23,9 @@ console.log(router)
<i-mdi:video-3d />
</RouterLink>
</span>
<span class="nav-icon" style="font-size: 1.375rem;" v-if="false">
<i-mdi:vector-arrange-below />
</span>
</div>
<div class="nav-group">
<span class="nav-icon" :class="[{ disabled: router.options.history.state.back == null }]">
<RouterLink :to="(router.options.history.state.back as string) ?? '/'"
@click.native.prevent="router.back">
<i-mdi:arrow-left />
</RouterLink>
</span>
<span class="nav-icon" :class="[{ disabled: router.options.history.state.forward == null }]">
<RouterLink :to="(router.options.history.state.forward as string) ?? '/'"
@click.native.prevent="router.forward">
<i-mdi:arrow-right />
<span class="nav-icon" style="font-size: 1.375rem;">
<RouterLink :to="`/${page.slug}/gallery`">
<i-mdi:vector-arrange-below />
</RouterLink>
</span>
</div>

View File

@ -53,13 +53,11 @@ interface clickableAreaType {
image?: string;
source: number;
target: number;
target_name?: string
}
interface PromoSidebarData {
title?: string
description?: string
target?: string
target_name?: string
}
interface PromoSidebar extends PromoSidebarData {
id_clickable?: number

View File

@ -10,7 +10,7 @@ import PromoMain from './components/Promo/main.vue'
const routes = [
{ path: '/', component: Promo, name: 'home_no' },
{ path: '/:item', component: Promo, name: 'home' },
{ path: '/:item/gallery', component: Promo, name: 'gallery' },
{ path: '/:item/:target', component: PromoMain, name: 'scene' },
]

View File

@ -8,7 +8,6 @@ export const usePromoSidebar = defineStore('promo_sidebar', {
title: undefined,
description: undefined,
target: undefined,
target_name: undefined,
loading: true,
is_open: false,
accordions: [],
@ -28,7 +27,6 @@ export const usePromoSidebar = defineStore('promo_sidebar', {
} as PromoSidebarData
if (target?.target) {
sidebar_data.target = target.target.toString()
sidebar_data.target_name = target.target_name
}
this.accordions.push('desc')
this.setData(sidebar_data)