feat: rename list to project everywhere
fix: project table view fix: e2e tests fix: typo in readme fix: list view route fix: don't wait until background is loaded for list to show fix: rename component imports fix: lint fix: parse task text fix: use list card grid fix: use correct class names fix: i18n keys fix: load project fix: task overview fix: list view spacing fix: find project fix: setLoading when updating a project fix: loading saved filter fix: project store loading fix: color picker import fix: cypress tests feat: migrate old list settings chore: add const for project settings fix: wrong projecten rename from lists chore: rename unused variable fix: editor list fix: shortcut list class name fix: pagination list class name fix: notifications list class name fix: list view variable name chore: clarify comment fix: i18n keys fix: router imports fix: comment chore: remove debugging leftover fix: remove duplicate variables fix: change comment fix: list view variable name fix: list view css class name fix: list item property name fix: name update tasks function correctly fix: update comment fix: project create route fix: list view class names fix: list view component name fix: result list class name fix: animation class list name fix: change debug log fix: revert a few navigation changes fix: use @ for imports of all views fix: rename link share list class fix: remove unused css class fix: dynamically import project components again
This commit is contained in:
@ -3,7 +3,7 @@ import type {INamespace} from '@/modelTypes/INamespace'
|
||||
|
||||
export const getNamespaceTitle = (n: INamespace) => {
|
||||
if (n.id === -1) {
|
||||
return i18n.global.t('namespace.pseudo.sharedLists.title')
|
||||
return i18n.global.t('namespace.pseudo.sharedProjects.title')
|
||||
}
|
||||
if (n.id === -2) {
|
||||
return i18n.global.t('namespace.pseudo.favorites.title')
|
||||
|
@ -1,9 +1,9 @@
|
||||
import {i18n} from '@/i18n'
|
||||
import type {IList} from '@/modelTypes/IList'
|
||||
import type {IProject} from '@/modelTypes/IProject'
|
||||
|
||||
export function getListTitle(l: IList) {
|
||||
export function getProjectTitle(l: IProject) {
|
||||
if (l.id === -1) {
|
||||
return i18n.global.t('list.pseudo.favorites.title')
|
||||
return i18n.global.t('project.pseudo.favorites.title')
|
||||
}
|
||||
return l.title
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import {getListFromPrefix} from '@/modules/parseTaskText'
|
||||
import {getProjectFromPrefix} from '@/modules/parseTaskText'
|
||||
|
||||
export interface TaskWithParent {
|
||||
title: string,
|
||||
@ -26,7 +26,7 @@ export function parseSubtasksViaIndention(taskTitles: string): TaskWithParent[]
|
||||
list: null,
|
||||
}
|
||||
|
||||
task.list = getListFromPrefix(task.title)
|
||||
task.list = getProjectFromPrefix(task.title)
|
||||
|
||||
if (index === 0) {
|
||||
return task
|
||||
@ -49,7 +49,7 @@ export function parseSubtasksViaIndention(taskTitles: string): TaskWithParent[]
|
||||
task.parent = task.parent.replace(spaceRegex, '')
|
||||
if (task.list === null) {
|
||||
// This allows to specify a list once for the parent task and inherit it to all subtasks
|
||||
task.list = getListFromPrefix(task.parent)
|
||||
task.list = getProjectFromPrefix(task.parent)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
import type {IBucket} from '@/modelTypes/IBucket'
|
||||
import type {IList} from '@/modelTypes/IList'
|
||||
import type {IProject} from '@/modelTypes/IProject'
|
||||
|
||||
const key = 'collapsedBuckets'
|
||||
|
||||
@ -13,22 +13,22 @@ function getAllState() {
|
||||
}
|
||||
|
||||
export const saveCollapsedBucketState = (
|
||||
listId: IList['id'],
|
||||
projectId: IProject['id'],
|
||||
collapsedBuckets: CollapsedBuckets,
|
||||
) => {
|
||||
const state = getAllState()
|
||||
state[listId] = collapsedBuckets
|
||||
for (const bucketId in state[listId]) {
|
||||
if (!state[listId][bucketId]) {
|
||||
delete state[listId][bucketId]
|
||||
state[projectId] = collapsedBuckets
|
||||
for (const bucketId in state[projectId]) {
|
||||
if (!state[projectId][bucketId]) {
|
||||
delete state[projectId][bucketId]
|
||||
}
|
||||
}
|
||||
localStorage.setItem(key, JSON.stringify(state))
|
||||
}
|
||||
|
||||
export function getCollapsedBucketState(listId : IList['id']) {
|
||||
export function getCollapsedBucketState(projectId : IProject['id']) {
|
||||
const state = getAllState()
|
||||
return typeof state[listId] !== 'undefined'
|
||||
? state[listId]
|
||||
return typeof state[projectId] !== 'undefined'
|
||||
? state[projectId]
|
||||
: {}
|
||||
}
|
||||
|
@ -1,53 +1,63 @@
|
||||
import type { IList } from '@/modelTypes/IList'
|
||||
import type { IProject } from '@/modelTypes/IProject'
|
||||
|
||||
type ListView = Record<IList['id'], string>
|
||||
type ProjectView = Record<IProject['id'], string>
|
||||
|
||||
const DEFAULT_LIST_VIEW = 'list.list' as const
|
||||
const DEFAULT_PROJECT_VIEW = 'project.list' as const
|
||||
const PROJECT_VIEW_SETTINGS_KEY = 'projectView'
|
||||
|
||||
/**
|
||||
* Save the current list view to local storage
|
||||
* Save the current project view to local storage
|
||||
*/
|
||||
export function saveListView(listId: IList['id'], routeName: string) {
|
||||
export function saveProjectView(projectId: IProject['id'], routeName: string) {
|
||||
if (routeName.includes('settings.')) {
|
||||
return
|
||||
}
|
||||
|
||||
if (!listId) {
|
||||
if (!projectId) {
|
||||
return
|
||||
}
|
||||
|
||||
// We use local storage and not the store here to make it persistent across reloads.
|
||||
const savedListView = localStorage.getItem('listView')
|
||||
let savedListViewJson: ListView | false = false
|
||||
if (savedListView !== null) {
|
||||
savedListViewJson = JSON.parse(savedListView) as ListView
|
||||
const savedProjectView = localStorage.getItem(PROJECT_VIEW_SETTINGS_KEY)
|
||||
let savedProjectViewJson: ProjectView | false = false
|
||||
if (savedProjectView !== null) {
|
||||
savedProjectViewJson = JSON.parse(savedProjectView) as ProjectView
|
||||
}
|
||||
|
||||
let listView: ListView = {}
|
||||
if (savedListViewJson) {
|
||||
listView = savedListViewJson
|
||||
let projectView: ProjectView = {}
|
||||
if (savedProjectViewJson) {
|
||||
projectView = savedProjectViewJson
|
||||
}
|
||||
|
||||
listView[listId] = routeName
|
||||
localStorage.setItem('listView', JSON.stringify(listView))
|
||||
projectView[projectId] = routeName
|
||||
localStorage.setItem(PROJECT_VIEW_SETTINGS_KEY, JSON.stringify(projectView))
|
||||
}
|
||||
|
||||
export const getListView = (listId: IList['id']) => {
|
||||
// Remove old stored settings
|
||||
const savedListView = localStorage.getItem('listView')
|
||||
if (savedListView !== null && savedListView.startsWith('list.')) {
|
||||
export const getProjectView = (projectId: IProject['id']) => {
|
||||
// Migrate old setting over
|
||||
// TODO: remove when 1.0 release
|
||||
const oldListViewSettings = localStorage.getItem('listView')
|
||||
if (oldListViewSettings !== null) {
|
||||
localStorage.setItem(PROJECT_VIEW_SETTINGS_KEY, oldListViewSettings)
|
||||
localStorage.removeItem('listView')
|
||||
}
|
||||
|
||||
if (!savedListView) {
|
||||
return DEFAULT_LIST_VIEW
|
||||
|
||||
// Remove old stored settings
|
||||
// TODO: remove when 1.0 release
|
||||
const savedProjectView = localStorage.getItem(PROJECT_VIEW_SETTINGS_KEY)
|
||||
if (savedProjectView !== null && savedProjectView.startsWith('project.')) {
|
||||
localStorage.removeItem(PROJECT_VIEW_SETTINGS_KEY)
|
||||
}
|
||||
|
||||
const savedListViewJson: ListView = JSON.parse(savedListView)
|
||||
|
||||
if (!savedListViewJson[listId]) {
|
||||
return DEFAULT_LIST_VIEW
|
||||
if (!savedProjectView) {
|
||||
return DEFAULT_PROJECT_VIEW
|
||||
}
|
||||
|
||||
return savedListViewJson[listId]
|
||||
const savedProjectViewJson: ProjectView = JSON.parse(savedProjectView)
|
||||
|
||||
if (!savedProjectViewJson[projectId]) {
|
||||
return DEFAULT_PROJECT_VIEW
|
||||
}
|
||||
|
||||
return savedProjectViewJson[projectId]
|
||||
}
|
Reference in New Issue
Block a user