diff --git a/app/layouts/default/Sidebar.vue b/app/layouts/default/Sidebar.vue
index eed0477..637c0be 100644
--- a/app/layouts/default/Sidebar.vue
+++ b/app/layouts/default/Sidebar.vue
@@ -1,5 +1,6 @@
@@ -107,7 +116,7 @@ const config = useRuntimeConfig();
-
+
-
+
Log in
diff --git a/package-lock.json b/package-lock.json
index 6f402d4..c53986c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "glowing-fiesta",
- "version": "0.0.5",
+ "version": "0.0.6",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "glowing-fiesta",
- "version": "0.0.5",
+ "version": "0.0.6",
"hasInstallScript": true,
"dependencies": {
"@pinia/nuxt": "^0.11.3",
diff --git a/package.json b/package.json
index 02eca3e..db10a0b 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "glowing-fiesta",
- "version": "0.0.5",
+ "version": "0.0.6",
"type": "module",
"private": true,
"scripts": {
diff --git a/tests/layouts/default/Sidebar.test.ts b/tests/layouts/default/Sidebar.test.ts
index 71ced88..c726ea3 100644
--- a/tests/layouts/default/Sidebar.test.ts
+++ b/tests/layouts/default/Sidebar.test.ts
@@ -267,4 +267,55 @@ describe("SidebarLayout", () => {
// and renders the menu items.
expect(text).toContain("Playground");
});
+
+ it("calls setOpenMobile(false) when clicking a sub-menu item on mobile", async () => {
+ const setOpenMobile = vi.fn();
+ useSidebarMock.mockReturnValue({
+ isMobile: ref(true),
+ state: ref("expanded"),
+ openMobile: ref(true),
+ setOpenMobile,
+ });
+
+ const wrapper = mount({
+ components: { SidebarLayout },
+ template: "",
+ });
+
+ await flushPromises();
+
+ // Find the link containing 'History' (from default data)
+ const link = wrapper.findAll("a").find((el) => el.text().includes("History"));
+
+ expect(link).toBeDefined();
+ await link!.trigger("click");
+
+ expect(setOpenMobile).toHaveBeenCalledTimes(1);
+ expect(setOpenMobile).toHaveBeenCalledWith(false);
+ });
+
+ it("does not call setOpenMobile(false) when clicking a sub-menu item on desktop", async () => {
+ const setOpenMobile = vi.fn();
+ useSidebarMock.mockReturnValue({
+ isMobile: ref(false),
+ state: ref("expanded"),
+ openMobile: ref(true),
+ setOpenMobile,
+ });
+
+ const wrapper = mount({
+ components: { SidebarLayout },
+ template: "",
+ });
+
+ await flushPromises();
+
+ // Find the link containing 'History' (from default data)
+ const link = wrapper.findAll("a").find((el) => el.text().includes("History"));
+
+ expect(link).toBeDefined();
+ await link!.trigger("click");
+
+ expect(setOpenMobile).not.toHaveBeenCalled();
+ });
});