From 1c9e1a1191918b0d8217d9079326ff0989a1fcd4 Mon Sep 17 00:00:00 2001 From: quangnhankie Date: Thu, 9 Sep 2021 17:49:32 +0700 Subject: [PATCH] bug: fix bug pagination --- pages/test.tsx | 21 +- report.20210909.162411.14356.0.001.json | 634 ++++++++++++++++++ .../common/MenuFilter/MenuFilter.module.scss | 2 +- .../MenuNavigationProductList.module.scss | 50 +- .../MenuNavigationProductList.tsx | 23 +- .../MenuSort/MenuSort.module.scss | 2 +- .../blog-detail/BlogContent/BlogContent.tsx | 2 +- .../recipes-list/RecipesList/RecipesList.tsx | 65 +- src/utils/constanst.utils.ts | 2 +- 9 files changed, 739 insertions(+), 62 deletions(-) create mode 100644 report.20210909.162411.14356.0.001.json diff --git a/pages/test.tsx b/pages/test.tsx index f9c3465ee..644dc08ed 100644 --- a/pages/test.tsx +++ b/pages/test.tsx @@ -1,13 +1,11 @@ import { - Layout, RecipeDetail + CartDrawer, + Layout } from 'src/components/common'; -import MenuNavigation from 'src/components/common/MenuNavigation/MenuNavigation'; import MenuNavigationProductList from 'src/components/common/MenuNavigationProductList/MenuNavigationProductList'; -import BlogContent from 'src/components/modules/blogs/BlogContent/BlogContent'; // import { RecipeListPage } from 'src/components/modules/recipes'; import { OPTION_ALL, QUERY_KEY, ROUTE } from 'src/utils/constanst.utils'; -import BlogDetailPage from 'src/components/modules/blogs/BlogDetailPage/BlogDetailPage'; - +import { useModalCommon } from 'src/components/hooks'; const CATEGORY = [ { name: 'All', @@ -70,14 +68,23 @@ const FEATURED = [ } ]; export default function Test() { - + const { visible: visibleMenuFilter, openModal, closeModal: closeMenuFilter } = useModalCommon({ initialValue: false }) + const toggle = () => { + if (visibleMenuFilter) { + closeMenuFilter() + } else { + openModal() + } +} return ( <> {/* */} {/* */} {/**/} - + + + {/* */} ) } diff --git a/report.20210909.162411.14356.0.001.json b/report.20210909.162411.14356.0.001.json new file mode 100644 index 000000000..26661c6d8 --- /dev/null +++ b/report.20210909.162411.14356.0.001.json @@ -0,0 +1,634 @@ + +{ + "header": { + "reportVersion": 1, + "event": "Allocation failed - JavaScript heap out of memory", + "trigger": "FatalError", + "filename": "report.20210909.162411.14356.0.001.json", + "dumpEventTime": "2021-09-09T16:24:11Z", + "dumpEventTimeStamp": "1631179451642", + "processId": 14356, + "cwd": "G:\\hoc-fpt-2\\làm việc\\kie\\work\\grocery-vercel-commerce", + "commandLine": [ + "node", + "G:\\hoc-fpt-2\\làm việc\\kie\\work\\grocery-vercel-commerce\\node_modules\\.bin\\\\..\\next\\dist\\bin\\next", + "dev" + ], + "nodejsVersion": "v12.15.0", + "wordSize": 64, + "arch": "x64", + "platform": "win32", + "componentVersions": { + "node": "12.15.0", + "v8": "7.7.299.13-node.16", + "uv": "1.33.1", + "zlib": "1.2.11", + "brotli": "1.0.7", + "ares": "1.15.0", + "modules": "72", + "nghttp2": "1.40.0", + "napi": "5", + "llhttp": "2.0.4", + "http_parser": "2.9.3", + "openssl": "1.1.1d", + "cldr": "35.1", + "icu": "64.2", + "tz": "2019c", + "unicode": "12.1" + }, + "release": { + "name": "node", + "lts": "Erbium", + "headersUrl": "https://nodejs.org/download/release/v12.15.0/node-v12.15.0-headers.tar.gz", + "sourceUrl": "https://nodejs.org/download/release/v12.15.0/node-v12.15.0.tar.gz", + "libUrl": "https://nodejs.org/download/release/v12.15.0/win-x64/node.lib" + }, + "osName": "Windows_NT", + "osRelease": "10.0.19043", + "osVersion": "Windows 10 Pro", + "osMachine": "x86_64", + "cpus": [ + { + "model": "Intel(R) Core(TM) i3-3110M CPU @ 2.40GHz", + "speed": 2395, + "user": 77383734, + "nice": 0, + "sys": 38262234, + "idle": 289301562, + "irq": 4023859 + }, + { + "model": "Intel(R) Core(TM) i3-3110M CPU @ 2.40GHz", + "speed": 2395, + "user": 78754296, + "nice": 0, + "sys": 28849546, + "idle": 297343500, + "irq": 670015 + }, + { + "model": "Intel(R) Core(TM) i3-3110M CPU @ 2.40GHz", + "speed": 2395, + "user": 87811078, + "nice": 0, + "sys": 29829109, + "idle": 287307140, + "irq": 361687 + }, + { + "model": "Intel(R) Core(TM) i3-3110M CPU @ 2.40GHz", + "speed": 2395, + "user": 88812562, + "nice": 0, + "sys": 27906453, + "idle": 288228328, + "irq": 299734 + } + ], + "networkInterfaces": [ + { + "name": "Wi-Fi", + "internal": false, + "mac": "a4:17:31:1d:cc:e5", + "address": "2402:800:6318:9d24:f937:34a5:8214:a074", + "netmask": "ffff:ffff:ffff:ffff::", + "family": "IPv6", + "scopeid": 0 + }, + { + "name": "Wi-Fi", + "internal": false, + "mac": "a4:17:31:1d:cc:e5", + "address": "2402:800:6318:9d24:e935:47df:3dd7:735f", + "netmask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", + "family": "IPv6", + "scopeid": 0 + }, + { + "name": "Wi-Fi", + "internal": false, + "mac": "a4:17:31:1d:cc:e5", + "address": "fe80::f937:34a5:8214:a074", + "netmask": "ffff:ffff:ffff:ffff::", + "family": "IPv6", + "scopeid": 21 + }, + { + "name": "Wi-Fi", + "internal": false, + "mac": "a4:17:31:1d:cc:e5", + "address": "192.168.1.11", + "netmask": "255.255.255.0", + "family": "IPv4" + }, + { + "name": "Loopback Pseudo-Interface 1", + "internal": true, + "mac": "00:00:00:00:00:00", + "address": "::1", + "netmask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", + "family": "IPv6", + "scopeid": 0 + }, + { + "name": "Loopback Pseudo-Interface 1", + "internal": true, + "mac": "00:00:00:00:00:00", + "address": "127.0.0.1", + "netmask": "255.0.0.0", + "family": "IPv4" + } + ], + "host": "DESKTOP-TILU55O" + }, + "javascriptStack": { + "message": "No stack.", + "stack": [ + "Unavailable." + ] + }, + "nativeStack": [ + { + "pc": "0x00007ff7cdbe1759", + "symbol": "std::basic_ostream >::operator<<+10873" + }, + { + "pc": "0x00007ff7cdbe5b7c", + "symbol": "std::basic_ostream >::operator<<+28316" + }, + { + "pc": "0x00007ff7cdbe4b38", + "symbol": "std::basic_ostream >::operator<<+24152" + }, + { + "pc": "0x00007ff7cdcd446b", + "symbol": "v8::base::CPU::has_sse+37723" + }, + { + "pc": "0x00007ff7ce4d8d9e", + "symbol": "v8::Isolate::ReportExternalAllocationLimitReached+94" + }, + { + "pc": "0x00007ff7ce4c0de1", + "symbol": "v8::SharedArrayBuffer::Externalize+833" + }, + { + "pc": "0x00007ff7ce38e6ac", + "symbol": "v8::internal::Heap::EphemeronKeyWriteBarrierFromCode+1436" + }, + { + "pc": "0x00007ff7ce399a50", + "symbol": "v8::internal::Heap::ProtectUnprotectedMemoryChunks+1312" + }, + { + "pc": "0x00007ff7ce396584", + "symbol": "v8::internal::Heap::PageFlagsAreConsistent+3204" + }, + { + "pc": "0x00007ff7ce38be13", + "symbol": "v8::internal::Heap::CollectGarbage+1283" + }, + { + "pc": "0x00007ff7ce38a5e4", + "symbol": "v8::internal::Heap::AddRetainedMap+2356" + }, + { + "pc": "0x00007ff7ce3ab8b5", + "symbol": "v8::internal::Factory::NewFillerObject+53" + }, + { + "pc": "0x00007ff7ce117b89", + "symbol": "v8::internal::interpreter::JumpTableTargetOffsets::iterator::operator=+4057" + }, + { + "pc": "0x00007ff7ce904d3d", + "symbol": "v8::internal::SetupIsolateDelegate::SetupHeap+567949" + }, + { + "pc": "0x000003ec3249fceb", + "symbol": "" + } + ], + "javascriptHeap": { + "totalMemory": 2151399424, + "totalCommittedMemory": 2151399424, + "usedMemory": 2073679128, + "availableMemory": 51804896, + "memoryLimit": 2197815296, + "heapSpaces": { + "read_only_space": { + "memorySize": 262144, + "committedMemory": 262144, + "capacity": 261872, + "used": 32296, + "available": 229576 + }, + "new_space": { + "memorySize": 2097152, + "committedMemory": 2097152, + "capacity": 1047488, + "used": 97208, + "available": 950280 + }, + "old_space": { + "memorySize": 1644802048, + "committedMemory": 1644802048, + "capacity": 1577839984, + "used": 1574678304, + "available": 3161680 + }, + "code_space": { + "memorySize": 5144576, + "committedMemory": 5144576, + "capacity": 4272640, + "used": 4272640, + "available": 0 + }, + "map_space": { + "memorySize": 8130560, + "committedMemory": 8130560, + "capacity": 4150160, + "used": 4150160, + "available": 0 + }, + "large_object_space": { + "memorySize": 489766912, + "committedMemory": 489766912, + "capacity": 489351272, + "used": 489351272, + "available": 0 + }, + "code_large_object_space": { + "memorySize": 1196032, + "committedMemory": 1196032, + "capacity": 1097248, + "used": 1097248, + "available": 0 + }, + "new_large_object_space": { + "memorySize": 0, + "committedMemory": 0, + "capacity": 1047488, + "used": 0, + "available": 1047488 + } + } + }, + "resourceUsage": { + "userCpuSeconds": 3948.5, + "kernelCpuSeconds": 161.609, + "cpuConsumptionPercent": 15.0548, + "maxRss": 3016343552, + "pageFaults": { + "IORequired": 18788222, + "IONotRequired": 0 + }, + "fsActivity": { + "reads": 42626, + "writes": 632648 + } + }, + "libuv": [ + ], + "environmentVariables": { + "=G:": "G:\\hoc-fpt-2\\làm việc\\kie\\work\\grocery-vercel-commerce", + "ALLUSERSPROFILE": "C:\\ProgramData", + "ANDROID_HOME": "G:\\ASDK", + "ANDROID_SDK_ROOT": "G:\\ASDK", + "APPDATA": "C:\\Users\\nhan\\AppData\\Roaming", + "ChocolateyInstall": "C:\\ProgramData\\chocolatey", + "ChocolateyLastPathUpdate": "132608575831335062", + "CHROME_CRASHPAD_PIPE_NAME": "\\\\.\\pipe\\crashpad_16216_SBAEYTWYVPQDZSNO", + "CLASSPATH": "C:\\Program Files\\Java\\jdk1.8.0_231\\bin", + "COLORTERM": "truecolor", + "COMMERCE_CUSTOMERAUTH_ENABLED": "true", + "COMMERCE_PROVIDER": "vendure", + "CommonProgramFiles": "C:\\Program Files\\Common Files", + "CommonProgramFiles(x86)": "C:\\Program Files (x86)\\Common Files", + "CommonProgramW6432": "C:\\Program Files\\Common Files", + "COMPUTERNAME": "DESKTOP-TILU55O", + "ComSpec": "C:\\WINDOWS\\system32\\cmd.exe", + "dp0": "G:\\hoc-fpt-2\\làm việc\\kie\\work\\grocery-vercel-commerce\\node_modules\\.bin\\", + "DriverData": "C:\\Windows\\System32\\Drivers\\DriverData", + "FPS_BROWSER_APP_PROFILE_STRING": "Internet Explorer", + "FPS_BROWSER_USER_PROFILE_STRING": "Default", + "GIT_ASKPASS": "c:\\Users\\nhan\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\extensions\\git\\dist\\askpass.sh", + "GIT_LFS_PATH": "C:\\Program Files\\Git LFS", + "HOME": "C:\\Users\\nhan", + "HOMEDRIVE": "C:", + "HOMEPATH": "\\Users\\nhan", + "INIT_CWD": "G:\\hoc-fpt-2\\làm việc\\kie\\work\\grocery-vercel-commerce", + "JAVA_HOME": "C:\\Program Files\\Java\\jdk1.8.0_281", + "LANG": "en_US.UTF-8", + "LOCALAPPDATA": "C:\\Users\\nhan\\AppData\\Local", + "LOGONSERVER": "\\\\DESKTOP-TILU55O", + "NEXT_PUBLIC_VENDURE_LOCAL_URL": "/vendure-shop-api", + "NEXT_PUBLIC_VENDURE_SHOP_API_URL": "https://demo.vendure.io/shop-api", + "NODE": "C:\\Program Files\\nodejs\\node.exe", + "NODE_ENV": "development", + "NODE_EXE": "C:\\Program Files\\nodejs\\\\node.exe", + "NODE_OPTIONS": "'--inspect' ", + "NPM_CLI_JS": "C:\\Program Files\\nodejs\\\\node_modules\\npm\\bin\\npm-cli.js", + "npm_config_access": "", + "npm_config_allow_same_version": "", + "npm_config_also": "", + "npm_config_always_auth": "", + "npm_config_argv": "{\"remain\":[],\"cooked\":[\"run\",\"dev-windows\"],\"original\":[\"run\",\"dev-windows\"]}", + "npm_config_audit": "true", + "npm_config_audit_level": "low", + "npm_config_auth_type": "legacy", + "npm_config_before": "", + "npm_config_bin_links": "true", + "npm_config_browser": "", + "npm_config_ca": "", + "npm_config_cache": "C:\\Users\\nhan\\AppData\\Roaming\\npm-cache", + "npm_config_cache_lock_retries": "10", + "npm_config_cache_lock_stale": "60000", + "npm_config_cache_lock_wait": "10000", + "npm_config_cache_max": "Infinity", + "npm_config_cache_min": "10", + "npm_config_cafile": "", + "npm_config_cert": "", + "npm_config_cidr": "", + "npm_config_color": "true", + "npm_config_commit_hooks": "true", + "npm_config_depth": "Infinity", + "npm_config_description": "true", + "npm_config_dev": "", + "npm_config_dry_run": "", + "npm_config_editor": "notepad.exe", + "npm_config_engine_strict": "", + "npm_config_fetch_retries": "2", + "npm_config_fetch_retry_factor": "10", + "npm_config_fetch_retry_maxtimeout": "60000", + "npm_config_fetch_retry_mintimeout": "10000", + "npm_config_force": "", + "npm_config_format_package_lock": "true", + "npm_config_fund": "true", + "npm_config_git": "git", + "npm_config_git_tag_version": "true", + "npm_config_global": "", + "npm_config_globalconfig": "C:\\Users\\nhan\\AppData\\Roaming\\npm\\etc\\npmrc", + "npm_config_globalignorefile": "C:\\Users\\nhan\\AppData\\Roaming\\npm\\etc\\npmignore", + "npm_config_global_style": "", + "npm_config_group": "", + "npm_config_ham_it_up": "", + "npm_config_heading": "npm", + "npm_config_https_proxy": "", + "npm_config_if_present": "", + "npm_config_ignore_prepublish": "", + "npm_config_ignore_scripts": "", + "npm_config_init_author_email": "", + "npm_config_init_author_name": "", + "npm_config_init_author_url": "", + "npm_config_init_license": "ISC", + "npm_config_init_module": "C:\\Users\\nhan\\.npm-init.js", + "npm_config_init_version": "1.0.0", + "npm_config_json": "", + "npm_config_key": "", + "npm_config_legacy_bundling": "", + "npm_config_link": "", + "npm_config_local_address": "", + "npm_config_loglevel": "notice", + "npm_config_logs_max": "10", + "npm_config_long": "", + "npm_config_maxsockets": "50", + "npm_config_message": "%s", + "npm_config_metrics_registry": "https://registry.npmjs.org/", + "npm_config_node_gyp": "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js", + "npm_config_node_options": "", + "npm_config_node_version": "12.15.0", + "npm_config_noproxy": "", + "npm_config_offline": "", + "npm_config_onload_script": "", + "npm_config_only": "", + "npm_config_optional": "true", + "npm_config_otp": "", + "npm_config_package_lock": "true", + "npm_config_package_lock_only": "", + "npm_config_parseable": "", + "npm_config_prefer_offline": "", + "npm_config_prefer_online": "", + "npm_config_prefix": "C:\\Users\\nhan\\AppData\\Roaming\\npm", + "npm_config_preid": "", + "npm_config_production": "", + "npm_config_progress": "true", + "npm_config_proxy": "", + "npm_config_read_only": "", + "npm_config_rebuild_bundle": "true", + "npm_config_registry": "https://registry.npmjs.org/", + "npm_config_rollback": "true", + "npm_config_save": "true", + "npm_config_save_bundle": "", + "npm_config_save_dev": "", + "npm_config_save_exact": "", + "npm_config_save_optional": "", + "npm_config_save_prefix": "^", + "npm_config_save_prod": "", + "npm_config_scope": "", + "npm_config_scripts_prepend_node_path": "warn-only", + "npm_config_script_shell": "", + "npm_config_searchexclude": "", + "npm_config_searchlimit": "20", + "npm_config_searchopts": "", + "npm_config_searchstaleness": "900", + "npm_config_send_metrics": "", + "npm_config_shell": "C:\\WINDOWS\\system32\\cmd.exe", + "npm_config_shrinkwrap": "true", + "npm_config_sign_git_commit": "", + "npm_config_sign_git_tag": "", + "npm_config_sso_poll_frequency": "500", + "npm_config_sso_type": "oauth", + "npm_config_strict_ssl": "true", + "npm_config_tag": "latest", + "npm_config_tag_version_prefix": "v", + "npm_config_timing": "", + "npm_config_tmp": "C:\\Users\\nhan\\AppData\\Local\\Temp", + "npm_config_umask": "0000", + "npm_config_unicode": "", + "npm_config_unsafe_perm": "true", + "npm_config_update_notifier": "true", + "npm_config_usage": "", + "npm_config_user": "", + "npm_config_userconfig": "C:\\Users\\nhan\\.npmrc", + "npm_config_user_agent": "npm/6.13.4 node/v12.15.0 win32 x64", + "npm_config_version": "", + "npm_config_versions": "", + "npm_config_viewer": "browser", + "npm_execpath": "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js", + "npm_lifecycle_event": "dev-windows", + "npm_lifecycle_script": "set NODE_OPTIONS='--inspect' && set PORT=3005 && next dev", + "npm_node_execpath": "C:\\Program Files\\nodejs\\node.exe", + "npm_package_dependencies_autoprefixer": "^10.2.6", + "npm_package_dependencies_body_scroll_lock": "^3.1.5", + "npm_package_dependencies_classnames": "^2.3.1", + "npm_package_dependencies_cookie": "^0.4.1", + "npm_package_dependencies_email_validator": "^2.0.4", + "npm_package_dependencies_eslint": "^7.32.0", + "npm_package_dependencies_eslint_config_next": "^11.1.2", + "npm_package_dependencies_immutability_helper": "^3.1.1", + "npm_package_dependencies_js_cookie": "^2.2.1", + "npm_package_dependencies_keen_slider": "^5.5.1", + "npm_package_dependencies_lodash_debounce": "^4.0.8", + "npm_package_dependencies_lodash_random": "^3.2.0", + "npm_package_dependencies_lodash_throttle": "^4.1.1", + "npm_package_dependencies_next": "^11.0.0", + "npm_package_dependencies_next_seo": "^4.26.0", + "npm_package_dependencies_next_themes": "^0.0.14", + "npm_package_dependencies_postcss": "^8.3.5", + "npm_package_dependencies_postcss_nesting": "^8.0.1", + "npm_package_dependencies_react": "^17.0.2", + "npm_package_dependencies_react_dom": "^17.0.2", + "npm_package_dependencies_react_fast_marquee": "^1.1.4", + "npm_package_dependencies_react_merge_refs": "^1.1.0", + "npm_package_dependencies_react_player": "^2.9.0", + "npm_package_dependencies_react_use_measure": "^2.0.4", + "npm_package_dependencies_sass": "^1.38.0", + "npm_package_dependencies_swell_js": "^4.0.0-next.0", + "npm_package_dependencies_swr": "^0.5.6", + "npm_package_dependencies_tabbable": "^5.2.0", + "npm_package_dependencies_tailwindcss": "^2.2.2", + "npm_package_dependencies_uuidv4": "^6.2.10", + "npm_package_dependencies__react_spring_web": "^9.2.1", + "npm_package_dependencies__vercel_fetch": "^6.1.0", + "npm_package_description": "[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https%3A%2F%2Fgithub.com%2Fvercel%2Fcommerce&project-name=commerce&repo-name=commerce&demo-title=Next.js%20Commerce&demo-description=An%20all-in-one%20starter%20kit%20for%20high-performance%20e-commerce%20sites.&demo-url=https%3A%2F%2Fdemo.vercel.store&demo-image=https%3A%2F%2Fbigcommerce-demo-asset-ksvtgfvnd.vercel.app%2Fbigcommerce.png&integration-ids=oac_MuWZiE4jtmQ2ejZQaQ7ncuDT)", + "npm_package_devDependencies_deepmerge": "^4.2.2", + "npm_package_devDependencies_eslint_config_prettier": "^8.3.0", + "npm_package_devDependencies_graphql": "^15.5.1", + "npm_package_devDependencies_husky": "^6.0.0", + "npm_package_devDependencies_lint_staged": "^11.0.0", + "npm_package_devDependencies_postcss_flexbugs_fixes": "^5.0.2", + "npm_package_devDependencies_postcss_import": "^14.0.2", + "npm_package_devDependencies_postcss_preset_env": "^6.7.0", + "npm_package_devDependencies_prettier": "^2.3.0", + "npm_package_devDependencies_typescript": "4.3.4", + "npm_package_devDependencies__graphql_codegen_cli": "^1.21.5", + "npm_package_devDependencies__graphql_codegen_schema_ast": "^1.18.3", + "npm_package_devDependencies__graphql_codegen_typescript": "^1.22.2", + "npm_package_devDependencies__graphql_codegen_typescript_operations": "^1.18.1", + "npm_package_devDependencies__next_bundle_analyzer": "^10.2.3", + "npm_package_devDependencies__types_body_scroll_lock": "^2.6.1", + "npm_package_devDependencies__types_cookie": "^0.4.0", + "npm_package_devDependencies__types_js_cookie": "^2.2.6", + "npm_package_devDependencies__types_lodash_debounce": "^4.0.6", + "npm_package_devDependencies__types_lodash_random": "^3.2.6", + "npm_package_devDependencies__types_lodash_throttle": "^4.1.6", + "npm_package_devDependencies__types_node": "^15.12.4", + "npm_package_devDependencies__types_react": "^17.0.8", + "npm_package_engines_node": ">=14.x", + "npm_package_gitHead": "d6a0c41e9987f3d0af8a69c4404152e0ddc1345f", + "npm_package_license": "MIT", + "npm_package_lint_staged_______js_jsx_ts_tsx__0": "prettier --write", + "npm_package_lint_staged_______js_jsx_ts_tsx__1": "git add", + "npm_package_lint_staged_______md_mdx_json__0": "prettier --write", + "npm_package_lint_staged_______md_mdx_json__1": "git add", + "npm_package_name": "nextjs-commerce", + "npm_package_next_unused_alias__assets___0": "assets/*", + "npm_package_next_unused_alias__components___0": "components/*", + "npm_package_next_unused_alias__config___0": "config/*", + "npm_package_next_unused_alias__lib___0": "lib/*", + "npm_package_next_unused_alias__utils___0": "utils/*", + "npm_package_next_unused_debug": "true", + "npm_package_next_unused_entrypoints_0": "pages", + "npm_package_next_unused_include_0": "components", + "npm_package_next_unused_include_1": "lib", + "npm_package_next_unused_include_2": "pages", + "npm_package_readmeFilename": "README.md", + "npm_package_scripts_analyze": "BUNDLE_ANALYZE=both yarn build", + "npm_package_scripts_build": "next build", + "npm_package_scripts_dev": "NODE_OPTIONS='--inspect' PORT=3005 next dev", + "npm_package_scripts_dev_windows": "set NODE_OPTIONS='--inspect' && set PORT=3005 && next dev", + "npm_package_scripts_find_unused": "npx next-unused", + "npm_package_scripts_generate": "graphql-codegen", + "npm_package_scripts_generate_definitions": "node framework/bigcommerce/scripts/generate-definitions.js", + "npm_package_scripts_generate_shopify": "DOTENV_CONFIG_PATH=./.env.local graphql-codegen -r dotenv/config --config framework/shopify/codegen.json", + "npm_package_scripts_generate_vendure": "graphql-codegen --config framework/vendure/codegen.json", + "npm_package_scripts_prettier_fix": "prettier --write .", + "npm_package_scripts_start": "next start", + "npm_package_sideEffects": "false", + "npm_package_version": "1.0.0", + "NPM_PREFIX_NPM_CLI_JS": "C:\\Users\\nhan\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js", + "NUMBER_OF_PROCESSORS": "4", + "OneDrive": "C:\\Users\\nhan\\OneDrive", + "OneDriveConsumer": "C:\\Users\\nhan\\OneDrive", + "OPENSSL_CONF": "C:\\Program Files\\PostgreSQL\\psqlODBC\\etc\\openssl.cnf", + "ORIGINAL_XDG_CURRENT_DESKTOP": "undefined", + "OS": "Windows_NT", + "Path": "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\npm-lifecycle\\node-gyp-bin;G:\\hoc-fpt-2\\làm việc\\kie\\work\\grocery-vercel-commerce\\node_modules\\.bin;C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files\\Java\\jdk1.8.0_231\\bin;C:\\Program Files\\nodejs\\;C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin;C:\\Program Files\\Git\\cmd;C:\\Program Files\\MongoDB\\Server\\4.2\\bin;;C:\\Program Files\\Git LFS;D:\\hoc-fpt\\code-tren-lop\\php\\xampp3\\php;C:\\ProgramData\\ComposerSetup\\bin;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files\\AdoptOpenJDK\\jdk8u192-b12\\bin;C:\\Program Files\\Java\\jdk1.8.0_211\\bin;C:\\Android\\android-sdk\\tools;C:\\Android\\android-sdk\\platform-tools;C:\\Android\\android-sdk\\tools\\bin;C:\\Program Files\\MySQL\\MySQL Shell 8.0\\bin\\;C:\\Program Files\\Java\\jdk1.8.0_231\\bin;C:\\Users\\nhan\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Users\\nhan\\AppData\\Roaming\\npm;C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin;C:\\Program Files\\heroku\\bin;C:\\Users\\nhan\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\nhan\\AppData\\Roaming\\Composer\\vendor\\bin", + "PATHEXT": ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JSE;.WSF;.WSH;.MSC;.CPL", + "PORT": "3005 ", + "PROCESSOR_ARCHITECTURE": "AMD64", + "PROCESSOR_IDENTIFIER": "Intel64 Family 6 Model 58 Stepping 9, GenuineIntel", + "PROCESSOR_LEVEL": "6", + "PROCESSOR_REVISION": "3a09", + "ProgramData": "C:\\ProgramData", + "ProgramFiles": "C:\\Program Files", + "ProgramFiles(x86)": "C:\\Program Files (x86)", + "ProgramW6432": "C:\\Program Files", + "PROMPT": "$P$G", + "PSModulePath": "C:\\Users\\nhan\\Documents\\WindowsPowerShell\\Modules;C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules", + "PUBLIC": "C:\\Users\\Public", + "SESSIONNAME": "Console", + "SystemDrive": "C:", + "SystemRoot": "C:\\WINDOWS", + "TEMP": "C:\\Users\\nhan\\AppData\\Local\\Temp", + "TERM_PROGRAM": "vscode", + "TERM_PROGRAM_VERSION": "1.60.0", + "TMP": "C:\\Users\\nhan\\AppData\\Local\\Temp", + "TRACE_ID": "9bcaa92ba218c9e0", + "USERDOMAIN": "DESKTOP-TILU55O", + "USERDOMAIN_ROAMINGPROFILE": "DESKTOP-TILU55O", + "USERNAME": "nhan", + "USERPROFILE": "C:\\Users\\nhan", + "VSCODE_GIT_ASKPASS_MAIN": "c:\\Users\\nhan\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\extensions\\git\\dist\\askpass-main.js", + "VSCODE_GIT_ASKPASS_NODE": "C:\\Users\\nhan\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe", + "VSCODE_GIT_IPC_HANDLE": "\\\\.\\pipe\\vscode-git-d5d8071aa9-sock", + "windir": "C:\\WINDOWS", + "_prog": "node", + "__NEXT_PROCESSED_ENV": "true" + }, + "sharedObjects": [ + "C:\\Program Files\\nodejs\\node.exe", + "C:\\WINDOWS\\SYSTEM32\\ntdll.dll", + "C:\\WINDOWS\\System32\\KERNEL32.DLL", + "C:\\WINDOWS\\System32\\KERNELBASE.dll", + "C:\\WINDOWS\\System32\\WS2_32.dll", + "C:\\WINDOWS\\System32\\RPCRT4.dll", + "C:\\WINDOWS\\System32\\ADVAPI32.dll", + "C:\\WINDOWS\\System32\\msvcrt.dll", + "C:\\WINDOWS\\System32\\sechost.dll", + "C:\\WINDOWS\\System32\\USER32.dll", + "C:\\WINDOWS\\System32\\win32u.dll", + "C:\\WINDOWS\\System32\\GDI32.dll", + "C:\\WINDOWS\\System32\\gdi32full.dll", + "C:\\WINDOWS\\System32\\msvcp_win.dll", + "C:\\WINDOWS\\System32\\ucrtbase.dll", + "C:\\WINDOWS\\System32\\PSAPI.DLL", + "C:\\WINDOWS\\System32\\CRYPT32.dll", + "C:\\WINDOWS\\System32\\bcrypt.dll", + "C:\\WINDOWS\\SYSTEM32\\dbghelp.dll", + "C:\\WINDOWS\\SYSTEM32\\IPHLPAPI.DLL", + "C:\\WINDOWS\\SYSTEM32\\USERENV.dll", + "C:\\WINDOWS\\SYSTEM32\\WINMM.dll", + "C:\\WINDOWS\\System32\\IMM32.DLL", + "C:\\WINDOWS\\SYSTEM32\\powrprof.dll", + "C:\\WINDOWS\\SYSTEM32\\UMPDC.dll", + "C:\\WINDOWS\\SYSTEM32\\CRYPTBASE.DLL", + "C:\\WINDOWS\\system32\\uxtheme.dll", + "C:\\WINDOWS\\System32\\combase.dll", + "C:\\WINDOWS\\system32\\mswsock.dll", + "C:\\WINDOWS\\SYSTEM32\\kernel.appcore.dll", + "C:\\WINDOWS\\System32\\bcryptprimitives.dll", + "C:\\WINDOWS\\System32\\NSI.dll", + "C:\\WINDOWS\\SYSTEM32\\dhcpcsvc6.DLL", + "C:\\WINDOWS\\SYSTEM32\\dhcpcsvc.DLL", + "C:\\WINDOWS\\SYSTEM32\\DNSAPI.dll", + "C:\\WINDOWS\\system32\\napinsp.dll", + "C:\\WINDOWS\\system32\\pnrpnsp.dll", + "C:\\WINDOWS\\system32\\wshbth.dll", + "C:\\WINDOWS\\system32\\NLAapi.dll", + "C:\\WINDOWS\\System32\\winrnr.dll", + "C:\\Windows\\System32\\rasadhlp.dll", + "C:\\WINDOWS\\System32\\fwpuclnt.dll" + ] +} \ No newline at end of file diff --git a/src/components/common/MenuFilter/MenuFilter.module.scss b/src/components/common/MenuFilter/MenuFilter.module.scss index ecea2e119..359ea28a8 100644 --- a/src/components/common/MenuFilter/MenuFilter.module.scss +++ b/src/components/common/MenuFilter/MenuFilter.module.scss @@ -1,6 +1,6 @@ @import "../../../styles/utilities"; .menuFilterWrapper{ - + @apply spacing-horizontal; @screen md { @apply hidden; } diff --git a/src/components/common/MenuNavigationProductList/MenuNavigationProductList.module.scss b/src/components/common/MenuNavigationProductList/MenuNavigationProductList.module.scss index aa3f5e6c3..84b93efa1 100644 --- a/src/components/common/MenuNavigationProductList/MenuNavigationProductList.module.scss +++ b/src/components/common/MenuNavigationProductList/MenuNavigationProductList.module.scss @@ -5,14 +5,12 @@ } } .menuNavigationProductListMobile{ - @apply hidden; - &.isShow{ - @apply block; - @screen md { - @apply hidden; - } - } + + // transform: translateY(-20%); + .menuNavigationProductModal{ + @apply transition-all duration-200; + background: rgba(0, 0, 0, 0.5); position: fixed; left: 0; @@ -20,22 +18,52 @@ width: 100%; height: 100%; z-index: 10000; + + transform: translateY(100%); + height: 100%; + &.isShow{ + transform: translateY(0%); + height: 100vh; + @screen md { + @apply hidden; + } + } + + .content{ - @apply spacing-horizontal; + @apply relative w-full; margin-top: 3rem; - padding-top: 2rem ; + padding-top: 8rem ; padding-bottom: 5rem; background-color: white; - overflow: auto; + overflow-x: hidden; + overflow-y: auto; + width: 100%; height: 100%; border-radius: 2.4rem 2.4rem 0 0; .head{ - @apply flex justify-between; + @apply flex justify-between fixed; + top:0; + left:0; + margin-top: 3rem; + border-radius: 2.4rem 2.4rem 0 0; + padding: 3rem 2rem 1rem 2rem; + width: 100%; + background-color: white; + z-index: 10000; h3{ @apply heading-3 font-bold; color:var(--text-base); } } + .foot{ + @apply fixed; + bottom: 0; + left:0; + width: 100%; + background-color: white; + padding: 0 1rem 2rem 1rem; + } button{ margin-top: 2rem; width: 100%; diff --git a/src/components/common/MenuNavigationProductList/MenuNavigationProductList.tsx b/src/components/common/MenuNavigationProductList/MenuNavigationProductList.tsx index d9ac2aa26..e6222eb56 100644 --- a/src/components/common/MenuNavigationProductList/MenuNavigationProductList.tsx +++ b/src/components/common/MenuNavigationProductList/MenuNavigationProductList.tsx @@ -12,12 +12,13 @@ interface Props{ categories:{name:string,link:string}[], brands:{name:string,link:string}[], featured:{name:string,link:string}[], + visible: boolean, + onClose: () => void } -const MenuNavigationProductList = ({categories,brands,featured}:Props)=>{ +const MenuNavigationProductList = ({categories,brands,featured,visible,onClose}:Props)=>{ const [dataSort,setDataSort] = useState({}); - const [isShow,setIsShow] = useState(true); function handleValue(value:Object){ setDataSort({...dataSort,...value}); @@ -25,12 +26,6 @@ const MenuNavigationProductList = ({categories,brands,featured}:Props)=>{ function filter(){ console.log(dataSort) } - - function hideMenu(){ - if(isShow === true){ - setIsShow(false); - } - } return( <>
@@ -38,18 +33,20 @@ const MenuNavigationProductList = ({categories,brands,featured}:Props)=>{
-
-
-
+
+
+

FILTER

-
+
- {LANGUAGE.BUTTON_LABEL.CONFIRM} +
+ {LANGUAGE.BUTTON_LABEL.CONFIRM} +
diff --git a/src/components/common/MenuNavigationProductList/MenuSort/MenuSort.module.scss b/src/components/common/MenuNavigationProductList/MenuSort/MenuSort.module.scss index a25752901..c018a57b3 100644 --- a/src/components/common/MenuNavigationProductList/MenuSort/MenuSort.module.scss +++ b/src/components/common/MenuNavigationProductList/MenuSort/MenuSort.module.scss @@ -1,6 +1,6 @@ @import "../../../../styles/utilities"; .menuSortWrapper{ - + @apply spacing-horizontal; @screen md { @apply hidden; } diff --git a/src/components/modules/blog-detail/BlogContent/BlogContent.tsx b/src/components/modules/blog-detail/BlogContent/BlogContent.tsx index 04f4cb4ff..17d8555ae 100644 --- a/src/components/modules/blog-detail/BlogContent/BlogContent.tsx +++ b/src/components/modules/blog-detail/BlogContent/BlogContent.tsx @@ -55,7 +55,7 @@ const BlogContent = ({}:BlogContentProps) => { You can eat broccoli stems. In fact, they are delicious. Just use a peeler to peel off the outsides and then trim the stalks into small 1/4”-1/2” cubes.


- blog-detail + blog-detail diff --git a/src/components/modules/recipes-list/RecipesList/RecipesList.tsx b/src/components/modules/recipes-list/RecipesList/RecipesList.tsx index 0788e1a47..c061b9edb 100644 --- a/src/components/modules/recipes-list/RecipesList/RecipesList.tsx +++ b/src/components/modules/recipes-list/RecipesList/RecipesList.tsx @@ -1,42 +1,53 @@ import React from 'react'; +import { SelectCommon } from 'src/components/common'; import BreadcrumbCommon from 'src/components/common/BreadcrumbCommon/BreadcrumbCommon'; import MenuNavigation from 'src/components/common/MenuNavigation/MenuNavigation'; import PaginationCommon from 'src/components/common/PaginationCommon/PaginationCommon'; import { RecipeCardProps } from 'src/components/common/RecipeCard/RecipeCard'; -import image12 from "../../../../../public/assets/images/image12.png"; -import image13 from "../../../../../public/assets/images/image13.png"; -import image14 from "../../../../../public/assets/images/image14.png"; -import RecipesItem from './RecipesItem/RecipesItem'; -import HeadingCommon from "../../../common/HeadingCommon/HeadingCommon"; -import s from './RecipesList.module.scss'; import { OPTION_ALL, QUERY_KEY, ROUTE } from 'src/utils/constanst.utils'; -import { SelectCommon } from 'src/components/common'; +import HeadingCommon from "../../../common/HeadingCommon/HeadingCommon"; +import RecipesItem from './RecipesItem/RecipesItem'; +import s from './RecipesList.module.scss'; -const recipe:RecipeCardProps[] = [{ +const recipe:RecipeCardProps[] = [ +{ title: "Special Recipe of Vietnamese Phở", - description:"Alright, before we get to the actual recipe, let’s chat for a sec about the ingredients. To make this pho soup recipe, you will need:", - imageSrc: image12.src - },{ + description: "Alright, before we get to the actual recipe, let’s chat for a sec about the ingredients. To make this pho soup recipe, you will need:", + imageSrc: 'https://user-images.githubusercontent.com/76729908/132159257-f92574c7-d00d-4142-8ea7-0ca9515fb737.png', + slug: "special-recipe-of-vietnamese-pho" +}, +{ title: "Original Recipe of Curry", - description:"Chicken curry is common to several countries including India, countries in Asia and the Caribbean. My favorite of them though is this aromatic Indian...", - imageSrc: image13.src - },{ + description: "Chicken curry is common to several countries including India, countries in Asia and the Caribbean. My favorite of them though is this aromatic Indian...", + imageSrc: 'https://user-images.githubusercontent.com/76729908/132159259-ae4c986d-ab53-4758-9137-d06bafdd15d0.png', + slug:"original-recipe-of-curry" +}, +{ title: "The Best Recipe of Beef Noodle Soup", - description:"The broth for Bun Bo Hue is prepared by slowly simmering various types of beef and pork bones (ox tail, beef shank, pork neck bones, pork feet,...", - imageSrc: image14.src - },{ + description: "The broth for Bun Bo Hue is prepared by slowly simmering various types of beef and pork bones (ox tail, beef shank, pork neck bones, pork feet,...", + imageSrc: 'https://user-images.githubusercontent.com/76729908/132159262-f28a9fb9-4852-47e6-80b5-d600521b548a.png', + slug:"the-best-recipe-of-beef-noodle-soup" +}, +{ title: "Special Recipe of Vietnamese Phở", - description:"Alright, before we get to the actual recipe, let’s chat for a sec about the ingredients. To make this pho soup recipe, you will need:", - imageSrc: image12.src - },{ + description: "Alright, before we get to the actual recipe, let’s chat for a sec about the ingredients. To make this pho soup recipe, you will need:", + imageSrc: 'https://user-images.githubusercontent.com/76729908/132159257-f92574c7-d00d-4142-8ea7-0ca9515fb737.png', + slug: "special-recipe-of-vietnamese-pho" +}, +{ title: "Original Recipe of Curry", - description:"Chicken curry is common to several countries including India, countries in Asia and the Caribbean. My favorite of them though is this aromatic Indian...", - imageSrc: image13.src - },{ + description: "Chicken curry is common to several countries including India, countries in Asia and the Caribbean. My favorite of them though is this aromatic Indian...", + imageSrc: 'https://user-images.githubusercontent.com/76729908/132159259-ae4c986d-ab53-4758-9137-d06bafdd15d0.png', + slug:"original-recipe-of-curry" +}, +{ title: "The Best Recipe of Beef Noodle Soup", - description:"The broth for Bun Bo Hue is prepared by slowly simmering various types of beef and pork bones (ox tail, beef shank, pork neck bones, pork feet,...", - imageSrc: image14.src -}]; + description: "The broth for Bun Bo Hue is prepared by slowly simmering various types of beef and pork bones (ox tail, beef shank, pork neck bones, pork feet,...", + imageSrc: 'https://user-images.githubusercontent.com/76729908/132159262-f28a9fb9-4852-47e6-80b5-d600521b548a.png', + slug:"the-best-recipe-of-beef-noodle-soup" +},]; +const DEFAULT_PAGESIZE_RECIPELIST = 6; + const BREADCRUMB = [ { name: 'Special Recipes', @@ -203,7 +214,7 @@ const RecipesList = ({ data =recipe}:Props) => {
- +
diff --git a/src/utils/constanst.utils.ts b/src/utils/constanst.utils.ts index 1522e477f..8bee59103 100644 --- a/src/utils/constanst.utils.ts +++ b/src/utils/constanst.utils.ts @@ -50,4 +50,4 @@ export const KEY = { } export const OPTION_ALL = 'all'; -export const DEFAULT_PAGE_SIZE=20 \ No newline at end of file +export const DEFAULT_PAGE_SIZE=20;