From b442eac69b92af0acd7bca5f44b7d7fdc94eb540 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 1 Jan 2026 19:31:57 +0100 Subject: [PATCH] [FEAT] Finish auth and project saving --- public/CHANGELOG.md | 4 + src/components/layout/Navbar.vue | 22 +- src/components/layout/navbar/NavbarLogo.vue | 2 +- .../layout/navbar/NavbarMobileMenu.vue | 56 +++-- .../layout/navbar/NavbarProjectActions.vue | 5 +- src/components/project/ProjectList.vue | 226 +++++++++++------- src/composables/useProjectManager.ts | 17 ++ src/stores/useProjectStore.ts | 8 +- src/views/HomeView.vue | 13 +- 9 files changed, 223 insertions(+), 130 deletions(-) diff --git a/public/CHANGELOG.md b/public/CHANGELOG.md index 18d5e2f..d5859ea 100644 --- a/public/CHANGELOG.md +++ b/public/CHANGELOG.md @@ -1,5 +1,9 @@ All notable changes to this project will be documented in this file. +## [2.3.0] - 2026-01-01 +- Add authentication +- You can now save projects and open them + ## [2.2.0] - 2026-01-01 - Add move sprite with arrow keys in preview - Add replace sprite to context menu diff --git a/src/components/layout/Navbar.vue b/src/components/layout/Navbar.vue index 7a5f961..2be1952 100644 --- a/src/components/layout/Navbar.vue +++ b/src/components/layout/Navbar.vue @@ -16,19 +16,14 @@ - + @@ -108,7 +95,7 @@ const saveModalInitialName = computed(() => { if (saveMode.value === 'save-as') { - return (projectStore.currentProject?.name ? projectStore.currentProject.name + ' (copy)' : ''); + return projectStore.currentProject?.name ? projectStore.currentProject.name + ' (copy)' : ''; } return projectStore.currentProject?.name; }); @@ -133,7 +120,6 @@ } }; - const handleCreateNewProject = (config: { width: number; height: number; columns: number; rows: number }) => { createProject(config); }; diff --git a/src/components/layout/navbar/NavbarLogo.vue b/src/components/layout/navbar/NavbarLogo.vue index 520a79b..a5ef266 100644 --- a/src/components/layout/navbar/NavbarLogo.vue +++ b/src/components/layout/navbar/NavbarLogo.vue @@ -4,7 +4,7 @@
- + diff --git a/src/components/layout/navbar/NavbarMobileMenu.vue b/src/components/layout/navbar/NavbarMobileMenu.vue index 376e993..2635e69 100644 --- a/src/components/layout/navbar/NavbarMobileMenu.vue +++ b/src/components/layout/navbar/NavbarMobileMenu.vue @@ -14,26 +14,52 @@ About FAQ FAQ - +
-

Project

- - +

Project

- + - + - + + +
diff --git a/src/components/layout/navbar/NavbarProjectActions.vue b/src/components/layout/navbar/NavbarProjectActions.vue index 53d6b40..301cd03 100644 --- a/src/components/layout/navbar/NavbarProjectActions.vue +++ b/src/components/layout/navbar/NavbarProjectActions.vue @@ -30,13 +30,13 @@ - + - + +
+ + +
@@ -317,14 +322,14 @@ -
+
- +
@@ -462,7 +467,7 @@ useHomeViewSEO(); - const { isEditorActive } = useProjectManager(); + const { isEditorActive, closeProject } = useProjectManager(); const settingsStore = useSettingsStore(); const { layers, visibleLayers, activeLayer, activeLayerId, columns, updateSpritePosition, updateSpriteInLayer, updateSpriteCell, removeSprite, removeSprites, replaceSprite, addSprite, processImageFiles, alignSprites, addLayer, removeLayer, moveLayer, rotateSprite, flipSprite, copySpriteToFrame } = useLayers();