From ad48d0801b20e79889549b66e640e694d17d34f5 Mon Sep 17 00:00:00 2001 From: Andrew Tavis McAllister Date: Fri, 3 May 2024 22:25:07 +0200 Subject: [PATCH] #869 apply layouts to directories via files and clean up route checks --- frontend/app.vue | 9 +- .../footer/{Footer.vue => FooterWebsite.vue} | 0 .../mobile/MenuMobileNavigationDropdown.vue | 8 +- .../components/sidebar/left/SidebarLeft.vue | 108 ++-------- frontend/composables/useRouteToName.ts | 11 -- frontend/error.vue | 2 +- frontend/i18n/en-US.json | 3 - frontend/layouts/auth.vue | 2 +- frontend/layouts/default.vue | 4 +- frontend/layouts/sidebar.vue | 61 ++++++ frontend/layouts/sidebar/Sidebar.vue | 78 -------- frontend/layouts/sidebar/SidebarHome.vue | 0 frontend/layouts/sidebar/SidebarSearch.vue | 0 .../sidebar/event/SidebarEventFilter.vue | 0 .../sidebar/event/SidebarEventPage.vue | 0 .../SidebarOrganizationFilter.vue | 0 .../organization/SidebarOrganizationPage.vue | 0 .../resource/SidebarResourceFilter.vue | 0 .../layouts/sidebar/user/SidebarUsersPage.vue | 0 frontend/pages/about/activist.vue | 4 - frontend/pages/about/imprint.vue | 4 - frontend/pages/about/index.vue | 4 - frontend/pages/about/network.vue | 7 - frontend/pages/about/roadmap.vue | 4 - frontend/pages/auth/sign-in.vue | 4 - frontend/pages/auth/sign-up.vue | 4 - frontend/pages/blog/index.vue | 16 -- frontend/pages/careers/index.vue | 16 -- frontend/pages/docs/get-active.vue | 4 - frontend/pages/docs/get-organized.vue | 4 - frontend/pages/docs/grow-organization.vue | 4 - frontend/pages/docs/index.vue | 4 - frontend/pages/events.vue | 11 ++ frontend/pages/events/[id]/about.vue | 8 - frontend/pages/events/[id]/discussion.vue | 8 - frontend/pages/events/[id]/index.vue | 8 - frontend/pages/events/[id]/resources.vue | 8 - frontend/pages/events/[id]/settings.vue | 9 - frontend/pages/events/[id]/tasks.vue | 8 - frontend/pages/events/[id]/team.vue | 8 - frontend/pages/events/create.vue | 11 -- frontend/pages/events/index.vue | 9 - frontend/pages/events/search.vue | 11 -- frontend/pages/finances/index.vue | 16 -- frontend/pages/groups.vue | 11 ++ frontend/pages/groups/create.vue | 9 - frontend/pages/groups/index.vue | 9 - frontend/pages/help/contact.vue | 4 - frontend/pages/help/faq.vue | 4 - frontend/pages/help/index.vue | 4 - frontend/pages/help/press.vue | 7 - frontend/pages/help/status.vue | 7 - frontend/pages/home.vue | 11 ++ frontend/pages/home/index.vue | 8 - frontend/pages/index.vue | 7 - frontend/pages/legal/index.vue | 4 - frontend/pages/legal/privacy-policy.vue | 7 - frontend/pages/legal/support.vue | 7 - frontend/pages/legal/trademark-policy.vue | 7 - frontend/pages/organizations.vue | 11 ++ frontend/pages/organizations/[id]/about.vue | 8 - .../pages/organizations/[id]/affiliates.vue | 8 - .../[id]/discussions/[id]/index.vue | 11 -- .../organizations/[id]/discussions/index.vue | 8 - frontend/pages/organizations/[id]/events.vue | 8 - frontend/pages/organizations/[id]/faq.vue | 8 - .../organizations/[id]/groups/[id]/about.vue | 8 - .../organizations/[id]/groups/[id]/events.vue | 8 - .../organizations/[id]/groups/[id]/faq.vue | 8 - .../organizations/[id]/groups/[id]/index.vue | 8 - .../[id]/groups/[id]/resources.vue | 8 - .../pages/organizations/[id]/groups/index.vue | 8 - frontend/pages/organizations/[id]/index.vue | 8 - .../pages/organizations/[id]/resources.vue | 8 - .../pages/organizations/[id]/settings.vue | 8 - frontend/pages/organizations/[id]/tasks.vue | 8 - frontend/pages/organizations/[id]/team.vue | 8 - frontend/pages/organizations/create.vue | 9 - frontend/pages/organizations/index.vue | 9 - frontend/pages/organizations/search.vue | 11 -- frontend/pages/resources.vue | 11 ++ frontend/pages/resources/create.vue | 9 - frontend/pages/resources/index.vue | 9 - frontend/pages/search.vue | 11 ++ frontend/pages/search/index.vue | 11 -- frontend/pages/supporters/index.vue | 4 - frontend/pages/supporters/join.vue | 4 - frontend/pages/supporters/showcase.vue | 4 - frontend/utils/routeUtils.ts | 3 +- frontend/utils/sidebarUtils.ts | 37 ++++ frontend/yarn.lock | 184 ++++++++++++++++-- 91 files changed, 354 insertions(+), 698 deletions(-) rename frontend/components/footer/{Footer.vue => FooterWebsite.vue} (100%) delete mode 100644 frontend/composables/useRouteToName.ts create mode 100644 frontend/layouts/sidebar.vue delete mode 100644 frontend/layouts/sidebar/Sidebar.vue delete mode 100644 frontend/layouts/sidebar/SidebarHome.vue delete mode 100644 frontend/layouts/sidebar/SidebarSearch.vue delete mode 100644 frontend/layouts/sidebar/event/SidebarEventFilter.vue delete mode 100644 frontend/layouts/sidebar/event/SidebarEventPage.vue delete mode 100644 frontend/layouts/sidebar/organization/SidebarOrganizationFilter.vue delete mode 100644 frontend/layouts/sidebar/organization/SidebarOrganizationPage.vue delete mode 100644 frontend/layouts/sidebar/resource/SidebarResourceFilter.vue delete mode 100644 frontend/layouts/sidebar/user/SidebarUsersPage.vue delete mode 100644 frontend/pages/blog/index.vue delete mode 100644 frontend/pages/careers/index.vue create mode 100644 frontend/pages/events.vue delete mode 100644 frontend/pages/finances/index.vue create mode 100644 frontend/pages/groups.vue create mode 100644 frontend/pages/home.vue create mode 100644 frontend/pages/organizations.vue create mode 100644 frontend/pages/resources.vue create mode 100644 frontend/pages/search.vue create mode 100644 frontend/utils/sidebarUtils.ts diff --git a/frontend/app.vue b/frontend/app.vue index b77e2ecee..765340146 100644 --- a/frontend/app.vue +++ b/frontend/app.vue @@ -1,7 +1,7 @@ @@ -67,9 +67,4 @@ whenever(ctrl_k, () => { doWhenever(); } }); - -const routeToPageType = ref(""); -const updateRouteTo = (route: string) => { - routeToPageType.value = route; -}; diff --git a/frontend/components/footer/Footer.vue b/frontend/components/footer/FooterWebsite.vue similarity index 100% rename from frontend/components/footer/Footer.vue rename to frontend/components/footer/FooterWebsite.vue diff --git a/frontend/components/menu/mobile/MenuMobileNavigationDropdown.vue b/frontend/components/menu/mobile/MenuMobileNavigationDropdown.vue index 3373c758d..3da7278b9 100644 --- a/frontend/components/menu/mobile/MenuMobileNavigationDropdown.vue +++ b/frontend/components/menu/mobile/MenuMobileNavigationDropdown.vue @@ -82,16 +82,10 @@ import { isCurrentRoutePathSubpageOf, } from "~/utils/routeUtils"; -const props = defineProps<{ - pageType?: string; -}>(); - const { currentRoute } = useRouter(); const routeName = computed(() => { - if (props.pageType) { - return props.pageType; - } else if (currentRoute.value.name) { + if (currentRoute.value.name) { return currentRoute.value.name; } return ""; diff --git a/frontend/components/sidebar/left/SidebarLeft.vue b/frontend/components/sidebar/left/SidebarLeft.vue index 02179e6b5..ac9ee1e7f 100644 --- a/frontend/components/sidebar/left/SidebarLeft.vue +++ b/frontend/components/sidebar/left/SidebarLeft.vue @@ -32,6 +32,8 @@ !sidebar.collapsed || sidebar.collapsedSwitch == false, }" > +

{{ routeName }}

+

{{ sidebarType }}

(); - const sidebar = useSidebar(); const route = useRoute(); const { currentRoute } = useRouter(); const routeName = computed(() => { - if (props.pageType) { - return props.pageType; - } else if (currentRoute.value.name) { + if (currentRoute.value.name) { return currentRoute.value.name; } return ""; @@ -128,6 +124,15 @@ const sidebarType = computed(() => { const placeholderName = route.path.split("/").at(-2)?.replaceAll("-", " "); const placeholderLogo = "/images/tech-from-below.svg"; +const topicsArray: { label: string; value: string }[] = []; + +for (const key in Topic) { + if (Object.prototype.hasOwnProperty.call(Topic, key)) { + const value = Topic[key as keyof typeof Topic]; + topicsArray.push({ label: key.toLowerCase(), value }); + } +} + const filters = { daysAhead: { sidebarType: [SidebarType.FILTER_EVENTS], @@ -221,92 +226,7 @@ const filters = { name: "topic", style: "simple", expandable: true, - items: [ - { - label: "Environment", - value: "environment", - }, - { - label: "Housing", - value: "housing", - }, - { - label: "Refugees", - value: "refugees", - }, - { - label: "LGBTQIA+", - value: "lgbtqia+", - }, - { - label: "Racial Justice", - value: "racial justice", - }, - { - label: "Women's Rights", - value: "women's rights", - }, - { - label: "Children's Rights", - value: "children's rights", - }, - { - label: "Elder Rights", - value: "elder rights", - }, - { - label: "Animal Rights", - value: "animal rights", - }, - { - label: "Labor Rights", - value: "labor rights", - }, - { - label: "Education", - value: "education", - }, - { - label: "Democracy", - value: "democracy", - }, - { - label: "Health", - value: "health", - }, - { - label: "Privacy", - value: "privacy", - }, - { - label: "Peace", - value: "peace", - }, - { - label: "Nutrition", - value: "nutrition", - }, - { - label: "Accessibility", - value: "accessibility", - }, - { - label: "Transparency", - value: "transparency", - }, - { - label: "Expression", - value: "expression", - }, - { - label: "Emergency Relief", - value: "emergency relief", - }, - { - label: "Infrastructure", - value: "infrastructure", - }, - ], + items: topicsArray, }, }; diff --git a/frontend/composables/useRouteToName.ts b/frontend/composables/useRouteToName.ts deleted file mode 100644 index 029dff5cf..000000000 --- a/frontend/composables/useRouteToName.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { onBeforeRouteLeave } from "vue-router"; - -export default function useRouteToName(emit: any) { - onBeforeRouteLeave((to) => { - if (to.name) { - const routeToName = to.name.toString().split("___")[0]; - console.log(`Hey routeToName: ${routeToName}`); - emit("routeToName", routeToName); - } - }); -} diff --git a/frontend/error.vue b/frontend/error.vue index 3ed0254ee..cf397432b 100644 --- a/frontend/error.vue +++ b/frontend/error.vue @@ -38,7 +38,7 @@ -