mirror of
https://github.com/TandoorRecipes/recipes.git
synced 2026-01-01 20:28:46 -05:00
improved startpage
This commit is contained in:
@@ -62,6 +62,12 @@
|
||||
{{ $t('Messages') }}
|
||||
<message-list-dialog></message-list-dialog>
|
||||
</v-list-item>
|
||||
<v-list-item :href="getDjangoUrl('admin')" target="_blank" v-if="useUserPreferenceStore().userSettings.user.isSuperuser">
|
||||
<template #prepend>
|
||||
<v-icon icon="fa-solid fa-shield"></v-icon>
|
||||
</template>
|
||||
{{ $t('Admin') }}
|
||||
</v-list-item>
|
||||
<v-list-item :href="getDjangoUrl('accounts/logout')" link>
|
||||
<template #prepend>
|
||||
<v-icon icon="fa-solid fa-arrow-right-from-bracket"></v-icon>
|
||||
|
||||
@@ -44,6 +44,7 @@ import {DisplayBreakpoint, useDisplay} from "vuetify";
|
||||
import {ApiApi, ApiRecipeListRequest, Keyword, Recipe, RecipeOverview} from "@/openapi";
|
||||
import {homePageCols} from "@/utils/breakpoint_utils";
|
||||
import {useI18n} from "vue-i18n";
|
||||
import {DateTime} from "luxon";
|
||||
|
||||
//TODO mode ideas "last year/month/cooked long ago"
|
||||
const props = defineProps(
|
||||
@@ -116,7 +117,7 @@ function loadRecipes() {
|
||||
switch (props.mode) {
|
||||
case 'recent':
|
||||
// TODO implement correct parameter
|
||||
requestParameters._new = 'true'
|
||||
requestParameters.numRecent = 16
|
||||
break;
|
||||
case 'new':
|
||||
requestParameters._new = 'true'
|
||||
@@ -147,7 +148,13 @@ function doRecipeRequest(params: ApiRecipeListRequest) {
|
||||
let api = new ApiApi()
|
||||
|
||||
api.apiRecipeList(params).then((r) => {
|
||||
recipes.value = r.results
|
||||
if (props.mode == 'new') {
|
||||
recipes.value = r.results.filter(r => r._new)
|
||||
} else if (props.mode == 'recent') {
|
||||
recipes.value = r.results.filter(r => r.recent != "0")
|
||||
} else {
|
||||
recipes.value = r.results
|
||||
}
|
||||
}).finally(() => {
|
||||
loading.value = false
|
||||
})
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
"Added_To_Shopping_List": "",
|
||||
"Added_by": "",
|
||||
"Added_on": "",
|
||||
"Admin": "",
|
||||
"Advanced": "",
|
||||
"App": "",
|
||||
"Are_You_Sure": "",
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
"Added_To_Shopping_List": "Добавено към списъка за пазаруване",
|
||||
"Added_by": "Добавено от",
|
||||
"Added_on": "Добавено",
|
||||
"Admin": "",
|
||||
"Advanced": "Разширено",
|
||||
"App": "Приложение",
|
||||
"Are_You_Sure": "Сигурен ли си?",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "",
|
||||
"Added_by": "",
|
||||
"Added_on": "",
|
||||
"Admin": "",
|
||||
"Advanced": "",
|
||||
"Alignment": "",
|
||||
"Amount": "Quantitat",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "Přidáno na nákupní seznam",
|
||||
"Added_by": "Přidáno uživatelem",
|
||||
"Added_on": "Přidáno v",
|
||||
"Admin": "",
|
||||
"Advanced": "Rozšířené",
|
||||
"Alignment": "Zarovnání",
|
||||
"Amount": "Množství",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "Tilføjet til indkøbslisten",
|
||||
"Added_by": "Tilføjet af",
|
||||
"Added_on": "Tilføjet den",
|
||||
"Admin": "",
|
||||
"Advanced": "Avanceret",
|
||||
"Alignment": "Justering",
|
||||
"Amount": "Mængde",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"Added_To_Shopping_List": "Zur Einkaufsliste hinzugefügt",
|
||||
"Added_by": "Hinzugefügt durch",
|
||||
"Added_on": "Hinzugefügt am",
|
||||
"Admin": "Admin",
|
||||
"Advanced": "Erweitert",
|
||||
"Alignment": "Ausrichtung",
|
||||
"Amount": "Menge",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "Προστέθηκε στη λίστα αγορών",
|
||||
"Added_by": "Προστέθηκε από",
|
||||
"Added_on": "Προστέθηκε στις",
|
||||
"Admin": "",
|
||||
"Advanced": "Για προχωρημένους",
|
||||
"Amount": "Ποσότητα",
|
||||
"App": "Εφαρμογή",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "Added to shopping list",
|
||||
"Added_by": "Added By",
|
||||
"Added_on": "Added On",
|
||||
"Admin": "Admin",
|
||||
"Advanced": "Advanced",
|
||||
"Alignment": "Alignment",
|
||||
"Amount": "Amount",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "Añadido a la lista de la compra",
|
||||
"Added_by": "Añadido por",
|
||||
"Added_on": "Añadido el",
|
||||
"Admin": "",
|
||||
"Advanced": "Avanzado",
|
||||
"Alignment": "Alineación",
|
||||
"Amount": "Cantidad",
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"Add_to_Plan": "Lisää suunnitelmaan",
|
||||
"Add_to_Shopping": "Lisää ostoksiin",
|
||||
"Added_To_Shopping_List": "Lisätty ostoslistaan",
|
||||
"Admin": "",
|
||||
"Advanced Search Settings": "Tarkennetun Haun Asetukset",
|
||||
"Auto_Planner": "Automaattinen Suunnittelija",
|
||||
"Automate": "Automatisoi",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "Ajouté à la liste de courses",
|
||||
"Added_by": "Ajouté par",
|
||||
"Added_on": "Ajouté le",
|
||||
"Admin": "",
|
||||
"Advanced": "Avancé",
|
||||
"Advanced Search Settings": "Paramètres de recherche avancée",
|
||||
"Alignment": "Alignement",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "נוסף לרשימת הקניות",
|
||||
"Added_by": "נוסף ע\"י",
|
||||
"Added_on": "נוסף ב",
|
||||
"Admin": "",
|
||||
"Advanced": "מתקדם",
|
||||
"Alignment": "יישור",
|
||||
"Amount": "כמות",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "Hozzáadva a bevásárlólistához",
|
||||
"Added_by": "Hozzádta",
|
||||
"Added_on": "Hozzáadva",
|
||||
"Admin": "",
|
||||
"Advanced": "Haladó",
|
||||
"Alignment": "Igazítás",
|
||||
"Amount": "Összeg",
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
"Add_to_Book": "",
|
||||
"Add_to_Plan": "Ավելացնել պլանին",
|
||||
"Add_to_Shopping": "Ավելացնել գնումներին",
|
||||
"Admin": "",
|
||||
"Advanced Search Settings": "Ընդլայնված փնտրման կարգավորումներ",
|
||||
"Automate": "Ավտոմատացնել",
|
||||
"Available": "",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "",
|
||||
"Added_by": "",
|
||||
"Added_on": "",
|
||||
"Admin": "",
|
||||
"Advanced": "",
|
||||
"App": "",
|
||||
"Are_You_Sure": "",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "",
|
||||
"Added_by": "",
|
||||
"Added_on": "",
|
||||
"Admin": "",
|
||||
"Advanced": "",
|
||||
"Alignment": "",
|
||||
"Amount": "",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "Aggiunto alla lista della spesa",
|
||||
"Added_by": "Aggiunto da",
|
||||
"Added_on": "Aggiunto il",
|
||||
"Admin": "",
|
||||
"Advanced": "Avanzate",
|
||||
"Advanced Search Settings": "Impostazioni avanzate di ricerca",
|
||||
"Amount": "Quantità",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "",
|
||||
"Added_by": "",
|
||||
"Added_on": "",
|
||||
"Admin": "",
|
||||
"Advanced": "",
|
||||
"Alignment": "",
|
||||
"Amount": "Suma",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "Lagt til i handlelisten",
|
||||
"Added_by": "Lagt til av",
|
||||
"Added_on": "Lagt til",
|
||||
"Admin": "",
|
||||
"Advanced": "Avansert",
|
||||
"Alignment": "Justering",
|
||||
"Amount": "Mengde",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"Added_To_Shopping_List": "Toegevoegd aan boodschappenlijst",
|
||||
"Added_by": "Toegevoegd door",
|
||||
"Added_on": "Toegevoegd op",
|
||||
"Admin": "",
|
||||
"Advanced": "Geavanceerd",
|
||||
"Advanced Search Settings": "Geavanceerde zoekinstellingen",
|
||||
"Amount": "Hoeveelheid",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "Dodano do listy zakupów",
|
||||
"Added_by": "Dodane przez",
|
||||
"Added_on": "Dodano dnia",
|
||||
"Admin": "",
|
||||
"Advanced": "Zaawansowany",
|
||||
"Advanced Search Settings": "Ustawienia zaawansowanego wyszukiwania",
|
||||
"Alignment": "Wyrównanie",
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
"Added_To_Shopping_List": "Adicionado à lista de compras",
|
||||
"Added_by": "Adicionado por",
|
||||
"Added_on": "Adicionado a",
|
||||
"Admin": "",
|
||||
"Advanced": "Avançado",
|
||||
"Amount": "Quantidade",
|
||||
"Auto_Planner": "",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "Incluído na lista de compras",
|
||||
"Added_by": "Incluído Por",
|
||||
"Added_on": "Incluído Em",
|
||||
"Admin": "",
|
||||
"Advanced": "Avançado",
|
||||
"Alignment": "Alinhamento",
|
||||
"Amount": "Quantidade",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "Adăugat la lista de cumpărături",
|
||||
"Added_by": "Adăugat de",
|
||||
"Added_on": "Adăugat la",
|
||||
"Admin": "",
|
||||
"Advanced": "Avansat",
|
||||
"Advanced Search Settings": "",
|
||||
"Amount": "Cantitate",
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
"Added_To_Shopping_List": "Добавлено в список покупок",
|
||||
"Added_by": "Добавлено",
|
||||
"Added_on": "Добавлено на",
|
||||
"Admin": "",
|
||||
"Advanced": "Расширенный",
|
||||
"Advanced Search Settings": "",
|
||||
"Are_You_Sure": "Вы уверены?",
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
"Add_to_Shopping": "Dodaj v nakupovalni listek",
|
||||
"Added_To_Shopping_List": "Dodano v nakupovalni listek",
|
||||
"Added_by": "Dodano s strani",
|
||||
"Admin": "",
|
||||
"Advanced Search Settings": "",
|
||||
"Amount": "Količina",
|
||||
"Auto_Planner": "Avto-planer",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"Added_To_Shopping_List": "Lades till i inköpslistan",
|
||||
"Added_by": "Tillagd av",
|
||||
"Added_on": "Tillagd på",
|
||||
"Admin": "",
|
||||
"Advanced": "Avancerat",
|
||||
"Alignment": "Orientering",
|
||||
"Amount": "Mängd",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "Alışveriş listesine eklendi",
|
||||
"Added_by": "Ekleyen",
|
||||
"Added_on": "Eklenme Zamanı",
|
||||
"Admin": "",
|
||||
"Advanced": "Gelişmiş",
|
||||
"Alignment": "Hizalama",
|
||||
"Amount": "Miktar",
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
"Added_To_Shopping_List": "Додано до списку покупок",
|
||||
"Added_by": "Додано",
|
||||
"Added_on": "Додано На",
|
||||
"Admin": "",
|
||||
"Advanced": "",
|
||||
"Amount": "Кількість",
|
||||
"App": "",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"Added_To_Shopping_List": "添加到购物清单",
|
||||
"Added_by": "添加者",
|
||||
"Added_on": "添加到",
|
||||
"Admin": "",
|
||||
"Advanced": "高级",
|
||||
"Alignment": "校准",
|
||||
"Amount": "数量",
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
"Add_nutrition_recipe": "為食譜添加營養資訊",
|
||||
"Add_to_Plan": "加入計劃",
|
||||
"Add_to_Shopping": "加入購物清單",
|
||||
"Admin": "",
|
||||
"Available": "",
|
||||
"AvailableCategories": "",
|
||||
"BaseUnit": "",
|
||||
|
||||
@@ -1201,6 +1201,7 @@ export interface ApiRecipeListRequest {
|
||||
keywordsOrNot?: Array<number>;
|
||||
makenow?: boolean;
|
||||
_new?: string;
|
||||
numRecent?: number;
|
||||
page?: number;
|
||||
pageSize?: number;
|
||||
query?: string;
|
||||
@@ -8763,6 +8764,10 @@ export class ApiApi extends runtime.BaseAPI {
|
||||
queryParameters['new'] = requestParameters['_new'];
|
||||
}
|
||||
|
||||
if (requestParameters['numRecent'] != null) {
|
||||
queryParameters['num_recent'] = requestParameters['numRecent'];
|
||||
}
|
||||
|
||||
if (requestParameters['page'] != null) {
|
||||
queryParameters['page'] = requestParameters['page'];
|
||||
}
|
||||
|
||||
@@ -49,6 +49,24 @@ export interface PatchedUser {
|
||||
* @memberof PatchedUser
|
||||
*/
|
||||
readonly displayName?: string;
|
||||
/**
|
||||
* Designates whether the user can log into this admin site.
|
||||
* @type {boolean}
|
||||
* @memberof PatchedUser
|
||||
*/
|
||||
isStaff?: boolean;
|
||||
/**
|
||||
* Designates that this user has all permissions without explicitly assigning them.
|
||||
* @type {boolean}
|
||||
* @memberof PatchedUser
|
||||
*/
|
||||
isSuperuser?: boolean;
|
||||
/**
|
||||
* Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
|
||||
* @type {boolean}
|
||||
* @memberof PatchedUser
|
||||
*/
|
||||
isActive?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -73,6 +91,9 @@ export function PatchedUserFromJSONTyped(json: any, ignoreDiscriminator: boolean
|
||||
'firstName': json['first_name'] == null ? undefined : json['first_name'],
|
||||
'lastName': json['last_name'] == null ? undefined : json['last_name'],
|
||||
'displayName': json['display_name'] == null ? undefined : json['display_name'],
|
||||
'isStaff': json['is_staff'] == null ? undefined : json['is_staff'],
|
||||
'isSuperuser': json['is_superuser'] == null ? undefined : json['is_superuser'],
|
||||
'isActive': json['is_active'] == null ? undefined : json['is_active'],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -90,6 +111,9 @@ export function PatchedUserToJSONTyped(value?: Omit<PatchedUser, 'username'|'dis
|
||||
'id': value['id'],
|
||||
'first_name': value['firstName'],
|
||||
'last_name': value['lastName'],
|
||||
'is_staff': value['isStaff'],
|
||||
'is_superuser': value['isSuperuser'],
|
||||
'is_active': value['isActive'],
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -49,6 +49,24 @@ export interface User {
|
||||
* @memberof User
|
||||
*/
|
||||
readonly displayName: string;
|
||||
/**
|
||||
* Designates whether the user can log into this admin site.
|
||||
* @type {boolean}
|
||||
* @memberof User
|
||||
*/
|
||||
isStaff?: boolean;
|
||||
/**
|
||||
* Designates that this user has all permissions without explicitly assigning them.
|
||||
* @type {boolean}
|
||||
* @memberof User
|
||||
*/
|
||||
isSuperuser?: boolean;
|
||||
/**
|
||||
* Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
|
||||
* @type {boolean}
|
||||
* @memberof User
|
||||
*/
|
||||
isActive?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -75,6 +93,9 @@ export function UserFromJSONTyped(json: any, ignoreDiscriminator: boolean): User
|
||||
'firstName': json['first_name'] == null ? undefined : json['first_name'],
|
||||
'lastName': json['last_name'] == null ? undefined : json['last_name'],
|
||||
'displayName': json['display_name'],
|
||||
'isStaff': json['is_staff'] == null ? undefined : json['is_staff'],
|
||||
'isSuperuser': json['is_superuser'] == null ? undefined : json['is_superuser'],
|
||||
'isActive': json['is_active'] == null ? undefined : json['is_active'],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -92,6 +113,9 @@ export function UserToJSONTyped(value?: Omit<User, 'username'|'display_name'> |
|
||||
'id': value['id'],
|
||||
'first_name': value['firstName'],
|
||||
'last_name': value['lastName'],
|
||||
'is_staff': value['isStaff'],
|
||||
'is_superuser': value['isSuperuser'],
|
||||
'is_active': value['isActive'],
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import {defineComponent, onMounted, ref, watch} from 'vue'
|
||||
import {ApiApi, Recipe} from "@/openapi";
|
||||
import {ApiApi, Recipe, ViewLog} from "@/openapi";
|
||||
import RecipeView from "@/components/display/RecipeView.vue";
|
||||
import {useDisplay} from "vuetify";
|
||||
|
||||
@@ -33,6 +33,12 @@ function refreshData(recipeId: string) {
|
||||
api.apiRecipeRetrieve({id: Number(recipeId)}).then(r => {
|
||||
recipe.value = r
|
||||
})
|
||||
|
||||
api.apiViewLogCreate({
|
||||
viewLog: {
|
||||
recipe: Number(recipeId)
|
||||
} as ViewLog
|
||||
})
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<v-list-item :to="{name: 'view_settings_cosmetic'}" prepend-icon="fa-solid fa-palette">{{ $t('Cosmetic') }}</v-list-item>
|
||||
<v-list-item :to="{name: 'view_settings_shopping'}" prepend-icon="$shopping">{{ $t('Shopping_list') }}</v-list-item>
|
||||
<v-list-item :to="{name: 'view_settings_mealplan'}" prepend-icon="$mealplan">{{ $t('Meal_Plan') }}</v-list-item>
|
||||
<!-- <v-list-item prepend-icon="$search">{{ $t('Search') }}</v-list-item>-->
|
||||
<v-list-item :href="getDjangoUrl('settings-shopping/')" target="_blank" prepend-icon="$search">{{ $t('Search') }}</v-list-item>
|
||||
<v-divider></v-divider>
|
||||
<v-list-subheader>Space</v-list-subheader>
|
||||
<v-list-item :to="{name: 'view_settings_user_space'}" prepend-icon="$spaces">{{ $t('YourSpaces') }}</v-list-item>
|
||||
|
||||
@@ -12,8 +12,9 @@
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
|
||||
<!-- <horizontal-recipe-scroller :skeletons="4" mode="recent"></horizontal-recipe-scroller>-->
|
||||
<horizontal-recipe-scroller :skeletons="4" mode="recent"></horizontal-recipe-scroller>
|
||||
<horizontal-recipe-scroller :skeletons="4" mode="new"></horizontal-recipe-scroller>
|
||||
<horizontal-recipe-scroller :skeletons="4" mode="keyword"></horizontal-recipe-scroller>
|
||||
<horizontal-recipe-scroller :skeletons="2" mode="rating"></horizontal-recipe-scroller>
|
||||
<horizontal-recipe-scroller :skeletons="4" mode="keyword"></horizontal-recipe-scroller>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user