b542583303
* feat(backend): ✨ new meal-planner feature * feat(frontend): ✨ new meal plan feature * refactor(backend): ♻️ refactor base services classes and add mixins for crud * feat(frontend): ✨ add UI/API for mealplanner * feat(backend): ✨ add get_today and get_slice options for mealplanner * test(backend): ✅ add and update group mealplanner tests * fix(backend): 🐛 Fix recipe_id column type for PG Co-authored-by: hay-kot <hay-kot@pm.me>
217 lines
4.7 KiB
TypeScript
217 lines
4.7 KiB
TypeScript
import {
|
|
mdiAccount,
|
|
mdiSilverwareVariant,
|
|
mdiPlus,
|
|
mdiPlusCircle,
|
|
mdiDelete,
|
|
mdiContentSave,
|
|
mdiContentSaveEdit,
|
|
mdiSquareEditOutline,
|
|
mdiClose,
|
|
mdiTagMultipleOutline,
|
|
mdiBookOutline,
|
|
mdiAccountCog,
|
|
mdiAccountGroup,
|
|
mdiHome,
|
|
mdiMagnify,
|
|
mdiTranslate,
|
|
mdiClockTimeFourOutline,
|
|
mdiImport,
|
|
mdiEmail,
|
|
mdiLock,
|
|
mdiEye,
|
|
mdiDrag,
|
|
mdiEyeOff,
|
|
mdiCalendarMinus,
|
|
mdiCalendar,
|
|
mdiDiceMultiple,
|
|
mdiAlertCircle,
|
|
mdiDotsVertical,
|
|
mdiPrinter,
|
|
mdiShareVariant,
|
|
mdiHeart,
|
|
mdiHeartOutline,
|
|
mdiDotsHorizontal,
|
|
mdiCheckboxBlankOutline,
|
|
mdiCommentTextMultipleOutline,
|
|
mdiDownload,
|
|
mdiFile,
|
|
mdiFilePdfBox,
|
|
mdiFileImage,
|
|
mdiCodeJson,
|
|
mdiCog,
|
|
mdiSort,
|
|
mdiOrderAlphabeticalAscending,
|
|
mdiStar,
|
|
mdiNewBox,
|
|
mdiShuffleVariant,
|
|
mdiAlert,
|
|
mdiCheckboxMarkedCircle,
|
|
mdiInformation,
|
|
mdiBellAlert,
|
|
mdiRefreshCircle,
|
|
mdiMenu,
|
|
mdiWeatherSunny,
|
|
mdiWeatherNight,
|
|
mdiLink,
|
|
mdiRobot,
|
|
mdiLinkVariant,
|
|
mdiViewModule,
|
|
mdiViewDashboard,
|
|
mdiTools,
|
|
mdiCalendarWeek,
|
|
mdiCalendarToday,
|
|
mdiCalendarMultiselect,
|
|
mdiFormatListChecks,
|
|
mdiLogout,
|
|
mdiContentCopy,
|
|
mdiClipboardCheck,
|
|
mdiCloudUpload,
|
|
mdiDatabase,
|
|
mdiGithub,
|
|
mdiFolderOutline,
|
|
mdiApi,
|
|
mdiTestTube,
|
|
mdiDevTo,
|
|
mdiBackupRestore,
|
|
mdiNotificationClearAll,
|
|
mdiFood,
|
|
mdiWebhook,
|
|
mdiFilter,
|
|
mdiAccountPlusOutline,
|
|
mdiDesktopTowerMonitor,
|
|
mdiFormatColorFill,
|
|
mdiFormSelect,
|
|
mdiPageLayoutBody,
|
|
mdiCalendarWeekBegin,
|
|
mdiOpenInNew,
|
|
mdiCheck,
|
|
mdiBroom,
|
|
mdiCartCheck,
|
|
mdiArrowLeftBold,
|
|
mdiMinus,
|
|
mdiWindowClose,
|
|
mdiFolderZipOutline,
|
|
mdiFoodApple,
|
|
mdiBeakerOutline,
|
|
mdiArrowLeftBoldOutline,
|
|
mdiArrowRightBoldOutline,
|
|
} from "@mdi/js";
|
|
|
|
const icons = {
|
|
// Primary
|
|
primary: mdiSilverwareVariant,
|
|
|
|
// General
|
|
foods: mdiFoodApple,
|
|
units: mdiBeakerOutline,
|
|
alert: mdiAlert,
|
|
alertCircle: mdiAlertCircle,
|
|
api: mdiApi,
|
|
arrowLeftBold: mdiArrowLeftBold,
|
|
arrowUpDown: mdiDrag,
|
|
backupRestore: mdiBackupRestore,
|
|
bellAlert: mdiBellAlert,
|
|
broom: mdiBroom,
|
|
calendar: mdiCalendar,
|
|
calendarMinus: mdiCalendarMinus,
|
|
calendarMultiselect: mdiCalendarMultiselect,
|
|
calendarToday: mdiCalendarToday,
|
|
calendarWeek: mdiCalendarWeek,
|
|
calendarWeekBegin: mdiCalendarWeekBegin,
|
|
cartCheck: mdiCartCheck,
|
|
check: mdiCheck,
|
|
checkboxBlankOutline: mdiCheckboxBlankOutline,
|
|
checkboxMarkedCircle: mdiCheckboxMarkedCircle,
|
|
clipboardCheck: mdiClipboardCheck,
|
|
clockOutline: mdiClockTimeFourOutline,
|
|
codeBraces: mdiCodeJson,
|
|
codeJson: mdiCodeJson,
|
|
cog: mdiCog,
|
|
commentTextMultipleOutline: mdiCommentTextMultipleOutline,
|
|
contentCopy: mdiContentCopy,
|
|
database: mdiDatabase,
|
|
desktopTowerMonitor: mdiDesktopTowerMonitor,
|
|
devTo: mdiDevTo,
|
|
diceMultiple: mdiDiceMultiple,
|
|
dotsHorizontal: mdiDotsHorizontal,
|
|
dotsVertical: mdiDotsVertical,
|
|
download: mdiDownload,
|
|
email: mdiEmail,
|
|
externalLink: mdiLinkVariant,
|
|
eye: mdiEye,
|
|
eyeOff: mdiEyeOff,
|
|
file: mdiFile,
|
|
fileImage: mdiFileImage,
|
|
filePDF: mdiFilePdfBox,
|
|
filter: mdiFilter,
|
|
folderOutline: mdiFolderOutline,
|
|
food: mdiFood,
|
|
formatColorFill: mdiFormatColorFill,
|
|
formatListCheck: mdiFormatListChecks,
|
|
formSelect: mdiFormSelect,
|
|
github: mdiGithub,
|
|
heart: mdiHeart,
|
|
heartOutline: mdiHeartOutline,
|
|
home: mdiHome,
|
|
import: mdiImport,
|
|
information: mdiInformation,
|
|
link: mdiLink,
|
|
lock: mdiLock,
|
|
logout: mdiLogout,
|
|
menu: mdiMenu,
|
|
newBox: mdiNewBox,
|
|
notificationClearAll: mdiNotificationClearAll,
|
|
openInNew: mdiOpenInNew,
|
|
orderAlphabeticalAscending: mdiOrderAlphabeticalAscending,
|
|
pageLayoutBody: mdiPageLayoutBody,
|
|
printer: mdiPrinter,
|
|
refreshCircle: mdiRefreshCircle,
|
|
robot: mdiRobot,
|
|
search: mdiMagnify,
|
|
shareVariant: mdiShareVariant,
|
|
shuffleVariant: mdiShuffleVariant,
|
|
sort: mdiSort,
|
|
star: mdiStar,
|
|
testTube: mdiTestTube,
|
|
tools: mdiTools,
|
|
translate: mdiTranslate,
|
|
upload: mdiCloudUpload,
|
|
viewDashboard: mdiViewDashboard,
|
|
viewModule: mdiViewModule,
|
|
weatherNight: mdiWeatherNight,
|
|
weatherSunny: mdiWeatherSunny,
|
|
webhook: mdiWebhook,
|
|
windowClose: mdiWindowClose,
|
|
zip: mdiFolderZipOutline,
|
|
|
|
// Crud
|
|
backArrow: mdiArrowLeftBoldOutline,
|
|
createAlt: mdiPlus,
|
|
create: mdiPlusCircle,
|
|
delete: mdiDelete,
|
|
save: mdiContentSave,
|
|
update: mdiContentSaveEdit,
|
|
edit: mdiSquareEditOutline,
|
|
close: mdiClose,
|
|
minus: mdiMinus,
|
|
|
|
// Organization
|
|
tags: mdiTagMultipleOutline,
|
|
pages: mdiBookOutline,
|
|
|
|
// Admin
|
|
user: mdiAccount,
|
|
admin: mdiAccountCog,
|
|
group: mdiAccountGroup,
|
|
accountPlusOutline: mdiAccountPlusOutline,
|
|
|
|
forward: mdiArrowRightBoldOutline,
|
|
back: mdiArrowLeftBoldOutline,
|
|
};
|
|
|
|
// eslint-disable-next-line no-empty-pattern
|
|
export default ({}, inject: any) => {
|
|
// Inject $hello(msg) in Vue, context and store.
|
|
inject("globals", { icons });
|
|
};
|