fix: address PR review UI and syntax feedback

This commit is contained in:
Malcolm Smith 2026-06-19 17:00:04 +00:00
parent 5310bd9d8b
commit f833300ebc
4 changed files with 22 additions and 30 deletions

View File

@ -204,8 +204,7 @@ onMounted(async () => {
ctaVisible.value = true
})
const canDragTasks = computed(() => (canWrite.value || isSavedFilter(project.value)) && !includeSubprojects.value)
const canDragTasks = computed(() => canWrite.value || isSavedFilter(project.value))
const isTouchDevice = ref(false)
if (typeof window !== 'undefined') {
isTouchDevice.value = !window.matchMedia('(hover: hover) and (pointer: fine)').matches

View File

@ -190,21 +190,22 @@ function handleBubbleSave() {
<FilterInputDocs />
</div>
<FancyCheckbox
v-model="view.includeSubprojects"
v-tooltip="$t('project.views.includeSubprojects')"
class="mbe-3"
>
{{ $t('project.views.includeSubprojects') }}
</FancyCheckbox>
<div class="field mbe-3">
<FancyCheckbox
v-model="view.includeSubprojects"
v-tooltip="$t('project.views.includeSubprojects')"
>
{{ $t('project.views.includeSubprojects') }}
</FancyCheckbox>
</div>
<div class="field mbe-3">
<FancyCheckbox
v-model="view.filter.filterIncludeNulls"
>
{{ $t('filters.attributes.includeNulls') }}
</FancyCheckbox>
</div>
<div class="field mbe-3">
<FancyCheckbox
v-model="view.filter.filter_include_nulls"
>
{{ $t('filters.attributes.includeNulls') }}
</FancyCheckbox>
</div>
<div
v-if="view.viewKind === 'kanban'"

View File

@ -153,15 +153,14 @@
/>
<RouterLink
v-if="showProjectSeparately"
v-tooltip="$t('task.detail.belongsToProject', {project: project.title})"
:to="{ name: 'project.index', params: { projectId: task.projectId } }"
class="task-project"
@click.stop
v-if="showProjectSeparately && project"
v-tooltip="$t('task.detail.belongsToProject', {project: project.title})"
:to="{ name: 'project.index', params: { projectId: task.projectId } }"
class="task-project"
@click.stop
>
{{ projectLabel }}
{{ project.title }}
</RouterLink>
<BaseButton
:class="{'is-favorite': task.isFavorite}"
class="favorite"
@ -292,13 +291,7 @@ const currentProject = computed(() => {
} : baseStore.currentProject
})
const projectLabel = computed(() => {
if (!project.value) {
return ''
}
return project.value.title
})
const taskDetailRoute = computed(() => ({
name: 'task.detail',

View File

@ -162,7 +162,6 @@ type ProjectView struct {
// The filter query to match tasks by. Check out https://vikunja.io/docs/filters for a full explanation.
Filter *TaskCollection `xorm:"json null default null" query:"filter" json:"filter" doc:"The filter query used to match tasks shown in this view. See https://vikunja.io/docs/filters."`
// The position of this view in the list. The list of all views will be sorted by this position.
// The position of this view in the list. The list of all views will be sorted by this position.
Position float64 `xorm:"double null" json:"position" doc:"The position of this view in the list. The list of all views will be sorted by this position."`
// If enabled, this view also includes tasks from all descendant subprojects.
IncludeSubprojects bool `xorm:"default false not null" json:"include_subprojects"`