
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
52 lines
1.1 KiB
TypeScript
52 lines
1.1 KiB
TypeScript
export interface ProjectHistory {
|
|
id: number;
|
|
}
|
|
|
|
export function getHistory(): ProjectHistory[] {
|
|
const savedHistory = localStorage.getItem('projectHistory')
|
|
if (savedHistory === null) {
|
|
return []
|
|
}
|
|
|
|
return JSON.parse(savedHistory)
|
|
}
|
|
|
|
function saveHistory(history: ProjectHistory[]) {
|
|
if (history.length === 0) {
|
|
localStorage.removeItem('projectHistory')
|
|
return
|
|
}
|
|
|
|
localStorage.setItem('projectHistory', JSON.stringify(history))
|
|
}
|
|
|
|
export function saveProjectToHistory(project: ProjectHistory) {
|
|
const history: ProjectHistory[] = getHistory()
|
|
|
|
// Remove the element if it already exists in history, preventing duplicates and essentially moving it to the beginning
|
|
history.forEach((l, i) => {
|
|
if (l.id === project.id) {
|
|
history.splice(i, 1)
|
|
}
|
|
})
|
|
|
|
// Add the new project to the beginning of the project
|
|
history.unshift(project)
|
|
|
|
if (history.length > 5) {
|
|
history.pop()
|
|
}
|
|
saveHistory(history)
|
|
}
|
|
|
|
export function removeProjectFromHistory(project: ProjectHistory) {
|
|
const history: ProjectHistory[] = getHistory()
|
|
|
|
history.forEach((l, i) => {
|
|
if (l.id === project.id) {
|
|
history.splice(i, 1)
|
|
}
|
|
})
|
|
saveHistory(history)
|
|
}
|