bug: fix bug pagination

This commit is contained in:
quangnhankie 2021-09-09 17:49:32 +07:00
parent 606f3e5e81
commit 1c9e1a1191
9 changed files with 739 additions and 62 deletions

View File

@ -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 (
<>
{/* <BlogDetailPage /> */}
{/* <RecipeListPage/> */}
{/*<MenuNavigation heading="CATEGORIES" categories={CATEGORY}/>*/}
<MenuNavigationProductList categories={CATEGORY} brands={BRAND} featured={FEATURED}/>
<button onClick={toggle}>toggle menu : {visibleMenuFilter.toString()}</button>
<MenuNavigationProductList categories={CATEGORY} brands={BRAND} featured={FEATURED} visible={visibleMenuFilter} onClose={closeMenuFilter}/>
{/* <CartDrawer /> */}
</>
)
}

View File

@ -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<char,std::char_traits<char> >::operator<<+10873"
},
{
"pc": "0x00007ff7cdbe5b7c",
"symbol": "std::basic_ostream<char,std::char_traits<char> >::operator<<+28316"
},
{
"pc": "0x00007ff7cdbe4b38",
"symbol": "std::basic_ostream<char,std::char_traits<char> >::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"
]
}

View File

@ -1,6 +1,6 @@
@import "../../../styles/utilities";
.menuFilterWrapper{
@apply spacing-horizontal;
@screen md {
@apply hidden;
}

View File

@ -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%;

View File

@ -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(
<>
<div className={s.menuNavigationProductListDesktop}>
@ -38,21 +33,23 @@ const MenuNavigationProductList = ({categories,brands,featured}:Props)=>{
<MenuNavigation categories={brands} heading="Brands"/>
<MenuNavigation categories={featured} heading="Featured"/>
</div>
<div className={classNames({ [s.menuNavigationProductListMobile] :true,[s.isShow]: isShow})}>
<div className={s.menuNavigationProductModal}>
<div className={s.content}>
<div className={s.menuNavigationProductListMobile} >
<div className={classNames({ [s.menuNavigationProductModal] :true,[s.isShow]: visible})}>
<div className={classNames({ [s.content] :true,[s.animation]: visible})}>
<div className={s.head}>
<h3>FILTER</h3>
<div onClick={hideMenu}><IconHide/></div>
<div onClick={onClose}><IconHide/></div>
</div>
<MenuFilter categories={categories} heading="Categories" type="category" onChangeValue={handleValue}/>
<MenuFilter categories={brands} heading="Brand" type="brand" onChangeValue={handleValue}/>
<MenuFilter categories={featured} heading="Featured" type="featured" onChangeValue={handleValue}/>
<MenuSort heading="SORT BY" type="sort" onChangeValue={handleValue}/>
<div className={s.foot}>
<ButtonCommon size="large" onClick={filter}>{LANGUAGE.BUTTON_LABEL.CONFIRM}</ButtonCommon>
</div>
</div>
</div>
</div>
</>
)
}

View File

@ -1,6 +1,6 @@
@import "../../../../styles/utilities";
.menuSortWrapper{
@apply spacing-horizontal;
@screen md {
@apply hidden;
}

View File

@ -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.
</p>
<br/>
<img src="https://i.pinimg.com/236x/f0/bd/a6/f0bda6a9ed04a6c4ac9453be80c95f75.jpg" alt="blog-detail" />
<img src="https://cdn.pastaxi-manager.onepas.vn/content/uploads/articles/An-%C4%91%E1%BA%B7c%20s%E1%BA%A3n%20v%C3%B9ng%20mi%E1%BB%81n/An-2-21%20%C4%91%E1%BA%B7c%20s%E1%BA%A3n%20SG%20ngon%20n%E1%BB%95i%20ti%E1%BA%BFng/tong-hop-21-dac-san-sai-gon-ngon-noi-tieng-khong-an-that-co-loi-2.jpg" alt="blog-detail" />
</section>

View File

@ -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, lets 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, lets 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, lets 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, lets 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) => {
</div>
</div>
<div className={s.recipesPagination}>
<PaginationCommon pageSize={6} total={9}/>
<PaginationCommon pageSize={DEFAULT_PAGESIZE_RECIPELIST} total={data?.length}/>
</div>
</div>

View File

@ -50,4 +50,4 @@ export const KEY = {
}
export const OPTION_ALL = 'all';
export const DEFAULT_PAGE_SIZE=20
export const DEFAULT_PAGE_SIZE=20;