Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a page for tag/creator/source views #2774

Closed
3 tasks done
obulat opened this issue Aug 3, 2023 · 1 comment · Fixed by #3140
Closed
3 tasks done

Create a page for tag/creator/source views #2774

obulat opened this issue Aug 3, 2023 · 1 comment · Fixed by #3140
Assignees
Labels
💻 aspect: code Concerns the software code in the repository 🌟 goal: addition Addition of new feature 🟨 priority: medium Not blocking but should be addressed soon 🧱 stack: frontend Related to the Nuxt frontend 🔧 tech: vue Involves Vue.js

Comments

@obulat
Copy link
Contributor

obulat commented Aug 3, 2023

Problem

We need a new page for the Additional search views projects. We should handle the following paths:
/pages/_mediaType/tag/_tag
/pages/_mediaType/source/_source
/pages/_mediaType/source/_source/creator/_creator (this page might not be needed as it might be handled by the source page)

Description

To make sure that the mediaType, source and creator parameters are valid, this page should use the validate method to make sure that and show an error page if necessary.

function validate({ params, $pinia }): boolean {
  const { collection, mediaType, term } = params
  // Check that collection is one of ["tag", "creator" or "source"],
  // and mediaType is one of `supportedMediaTypes`.
  // Check that `term` is correctly escaped.
  // If the params are not valid, return `false` to show the error page.
  return isValid ? true : false
}

This page should also update the state (searchType, searchTerm and searchBy and provider filters) in the search store and handle fetching using mediaStore’s fetchMedia method in the useFetch hook.

Since it is not possible to change the path or query parameters from this page client-side, fetching can be much simpler than on the current search page (that has to watch for changes in the route and fetch if necessary).

This page should use VCollectionHeader and the image grid or the audio collection.

Dependencies

Issue is blocked on the following dependencies:

@obulat obulat added 🟨 priority: medium Not blocking but should be addressed soon 🌟 goal: addition Addition of new feature 💻 aspect: code Concerns the software code in the repository 🧱 stack: frontend Related to the Nuxt frontend labels Aug 3, 2023
@obulat obulat added the ⛔ status: blocked Blocked & therefore, not ready for work label Aug 3, 2023
@sarayourfriend
Copy link
Contributor

See #2734 (comment) for a discussion about the sub-heading complexity and potential alternative formats that avoid translation issues.

@sarayourfriend sarayourfriend removed the ⛔ status: blocked Blocked & therefore, not ready for work label Sep 18, 2023
@obulat obulat added ⛔ status: blocked Blocked & therefore, not ready for work labels Sep 18, 2023
@obulat obulat removed the ⛔ status: blocked Blocked & therefore, not ready for work label Sep 18, 2023
@dhruvkb dhruvkb added the 🔧 tech: vue Involves Vue.js label Dec 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💻 aspect: code Concerns the software code in the repository 🌟 goal: addition Addition of new feature 🟨 priority: medium Not blocking but should be addressed soon 🧱 stack: frontend Related to the Nuxt frontend 🔧 tech: vue Involves Vue.js
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants