mirror of
https://github.com/mealie-recipes/mealie.git
synced 2026-04-16 18:05:35 -04:00
fix: Search layout fixes (#7459)
This commit is contained in:
4
.github/copilot-instructions.md
vendored
4
.github/copilot-instructions.md
vendored
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
## Project Overview
|
## Project Overview
|
||||||
|
|
||||||
Mealie is a self-hosted recipe manager, meal planner, and shopping list application with a FastAPI backend (Python 3.12) and Nuxt 3 frontend (Vue 3 + TypeScript). It uses SQLAlchemy ORM with support for SQLite and PostgreSQL databases.
|
Mealie is a self-hosted recipe manager, meal planner, and shopping list application with a FastAPI backend (Python 3.12) and Nuxt 4 frontend (Vue 3 + TypeScript). It uses SQLAlchemy ORM with support for SQLite and PostgreSQL databases.
|
||||||
|
|
||||||
**Development vs Production:**
|
**Development vs Production:**
|
||||||
- **Development:** Frontend (port 3000) and backend (port 9000) run as separate processes
|
- **Development:** Frontend (port 3000) and backend (port 9000) run as separate processes
|
||||||
@@ -51,7 +51,7 @@ Mealie is a self-hosted recipe manager, meal planner, and shopping list applicat
|
|||||||
- Use `useAuthBackend()` for authentication state, `useMealieAuth()` for user management
|
- Use `useAuthBackend()` for authentication state, `useMealieAuth()` for user management
|
||||||
|
|
||||||
**State Management:**
|
**State Management:**
|
||||||
- Nuxt 3 composables for state (no Vuex)
|
- Nuxt 4 composables for state (no Vuex)
|
||||||
- Auth state via `use-mealie-auth.ts` composable
|
- Auth state via `use-mealie-auth.ts` composable
|
||||||
- Prefer composables over global state stores
|
- Prefer composables over global state stores
|
||||||
|
|
||||||
|
|||||||
@@ -7,12 +7,13 @@
|
|||||||
content-class="top-dialog"
|
content-class="top-dialog"
|
||||||
:scrollable="false"
|
:scrollable="false"
|
||||||
>
|
>
|
||||||
<v-app-bar
|
<v-card
|
||||||
sticky
|
|
||||||
dark
|
|
||||||
color="primary-lighten-1 top-0 position-relative left-0"
|
|
||||||
:rounded="!$vuetify.display.xs"
|
:rounded="!$vuetify.display.xs"
|
||||||
style="width: 100%;"
|
:loading="loading"
|
||||||
|
>
|
||||||
|
<v-toolbar
|
||||||
|
dark
|
||||||
|
color="primary-lighten-1"
|
||||||
>
|
>
|
||||||
<v-text-field
|
<v-text-field
|
||||||
id="arrow-search"
|
id="arrow-search"
|
||||||
@@ -41,19 +42,15 @@
|
|||||||
{{ $globals.icons.close }}
|
{{ $globals.icons.close }}
|
||||||
</v-icon>
|
</v-icon>
|
||||||
</v-btn>
|
</v-btn>
|
||||||
</v-app-bar>
|
</v-toolbar>
|
||||||
<v-card
|
|
||||||
class="position-relative mt-1 pa-1 scroll"
|
|
||||||
max-height="700px"
|
|
||||||
relative
|
|
||||||
:loading="loading"
|
|
||||||
>
|
|
||||||
<v-card-actions>
|
<v-card-actions>
|
||||||
<div class="mr-auto">
|
<div class="mr-auto">
|
||||||
{{ $t("search.results") }}
|
{{ $t("search.results") }}
|
||||||
</div>
|
</div>
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
|
|
||||||
|
<div class="scroll pa-1" style="max-height: 700px;">
|
||||||
<RecipeCardMobile
|
<RecipeCardMobile
|
||||||
v-for="(recipe, index) in search.data.value"
|
v-for="(recipe, index) in search.data.value"
|
||||||
:key="index"
|
:key="index"
|
||||||
@@ -67,6 +64,7 @@
|
|||||||
:recipe-id="recipe.id ?? ''"
|
:recipe-id="recipe.id ?? ''"
|
||||||
v-bind="$attrs.selected ? { selected: () => handleSelect(recipe) } : {}"
|
v-bind="$attrs.selected ? { selected: () => handleSelect(recipe) } : {}"
|
||||||
/>
|
/>
|
||||||
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-dialog>
|
</v-dialog>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -79,7 +79,6 @@
|
|||||||
<v-virtual-scroll
|
<v-virtual-scroll
|
||||||
:items="filtered"
|
:items="filtered"
|
||||||
height="300"
|
height="300"
|
||||||
item-height="51"
|
|
||||||
>
|
>
|
||||||
<template #default="{ item }">
|
<template #default="{ item }">
|
||||||
<v-list-item
|
<v-list-item
|
||||||
@@ -108,7 +107,6 @@
|
|||||||
<v-virtual-scroll
|
<v-virtual-scroll
|
||||||
:items="filtered"
|
:items="filtered"
|
||||||
height="300"
|
height="300"
|
||||||
item-height="51"
|
|
||||||
>
|
>
|
||||||
<template #default="{ item }">
|
<template #default="{ item }">
|
||||||
<v-list-item
|
<v-list-item
|
||||||
|
|||||||
Reference in New Issue
Block a user