Тёмный
Max Programming
Max Programming
Max Programming
Подписаться
Welcome to Max Programming! This channel is focused on providing tutorials, tips, and tricks on web development, JavaScript, Node.js, React.js, Next.js, and TypeScript. I strive to provide useful content that can help you get the most out of these technologies and create the best possible web development projects. Subscribe to the channel to stay up to date on the latest web development trends and techniques!
How to add SEO to your Next.js app
9:13
3 года назад
Комментарии
@codechange75
@codechange75 2 дня назад
Good things take time line clear from this video appreciate bro
@DN-ui3bd
@DN-ui3bd 7 дней назад
Doesn't this script connection block the main thread?
@MaxProgramming
@MaxProgramming 7 дней назад
I don't think they necessarilty block the main thread but they're the first priority. And this script we're adding should load before the page hence we added the `beforeInteractive` strategy nextjs.org/docs/app/api-reference/components/script#beforeinteractive
@mickeykadimov7128
@mickeykadimov7128 7 дней назад
Nicely done and well explained brother I've built it in my app! I would love to see prisma & providers & credentials with Next-Auth. Here's a challenge for you 🤝🤝
@MaxProgramming
@MaxProgramming 7 дней назад
@@mickeykadimov7128 Thanks for the idea. I do have a video on next auth and credentials provider but that was with pages router. Maybe I'll make an updated one for app router ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-fqXC2V-MSV4.html
@ZahmPlays
@ZahmPlays 10 дней назад
a comment just to support ur great work <3
@uniwebr
@uniwebr 13 дней назад
Thanks for the video👌I was able to setup Drizzle ORM in my Next JS project. Drizzle has 2 methods to connect to MySQL. 1. single client connection (await mysql.createConnection) 2. pool (mysql.createPool) I was unable to use single client connection method due to the error "await is only valid in async functions and the top level bodies of modules". So I couldn't use "await mysql.createConnection" method in index.ts file. what worked for me is pool method (mysql.createPool) in index.ts
@MaxProgramming
@MaxProgramming 12 дней назад
Here's a solution if you want to use createConnection: 1̶. I̶n̶ y̶o̶u̶r̶ t̶s̶c̶o̶n̶f̶i̶g̶.j̶s̶o̶n̶, s̶e̶t̶ "t̶a̶r̶g̶e̶t̶" t̶o̶ "e̶s̶2̶0̶1̶7̶", "m̶o̶d̶u̶l̶e̶" t̶o̶ "e̶s̶n̶e̶x̶t̶" a̶n̶d̶ "a̶l̶l̶o̶w̶I̶m̶p̶o̶r̶t̶i̶n̶g̶T̶s̶E̶x̶t̶e̶n̶s̶i̶o̶n̶s̶" t̶o̶ t̶r̶u̶e̶ 2̶. R̶e̶n̶a̶m̶e̶ "i̶n̶d̶e̶x̶.t̶s̶" t̶o̶ "d̶b̶.m̶t̶s̶" 3̶. W̶h̶e̶r̶e̶v̶e̶r̶ y̶o̶u̶ h̶a̶v̶e̶ i̶m̶p̶o̶r̶t̶ {̶ d̶b̶ }̶ f̶r̶o̶m̶ "@̶/d̶b̶", m̶a̶k̶e̶ t̶h̶a̶t̶ i̶m̶p̶o̶r̶t̶ {̶ d̶b̶ }̶ f̶r̶o̶m̶ "@̶/d̶b̶/d̶b̶.m̶t̶s̶" M̶T̶S̶ (̶E̶S̶ M̶o̶d̶u̶l̶e̶ T̶S̶)̶ f̶i̶l̶e̶s̶ c̶a̶n̶ u̶s̶e̶ t̶o̶p̶-̶l̶e̶v̶e̶l̶ a̶w̶a̶i̶t̶ a̶n̶d̶ w̶e̶ s̶i̶m̶p̶l̶y̶ c̶h̶a̶n̶g̶e̶ o̶u̶r̶ T̶S̶ f̶i̶l̶e̶ t̶o̶ a̶n̶ M̶T̶S̶ f̶i̶l̶e̶ 1. In your tsconfig.json, set "target" to "es2017" and "module" to "esnext" 2. Make sure the Next.js version is higher than 13.4.5 3. Restart the dev server, if it errors out, delete the .next folder and then restart the dev server
@uniwebr
@uniwebr 12 дней назад
@@MaxProgramming thanks so much for the solution. I did exactly as you said, but getting this error Build Error Failed to compile Module parse failed: Unexpected token (3:73) You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. again thanks so much for your time bro!
@MaxProgramming
@MaxProgramming 12 дней назад
@@uniwebr Can you restart your server once? And does your nextjs config have anything extra like webpack config?
@MaxProgramming
@MaxProgramming 12 дней назад
@@uniwebr I updated the above solution. No need to use any MTS files as Next.js already supports top-level await
@uniwebr
@uniwebr 12 дней назад
​@@MaxProgramming thanks for the response! I did exactly as your updated solution, and deleted the .next folder, restarted VSCode, restarted dev server but I'm getting the following error Unhandled Runtime Error Error: await is only valid in async functions and the top level bodies of modules thanks for your time bro, I'm trying to find a solution to this. If I find a solution, I will add a comment here.
@hiddenworld8280
@hiddenworld8280 13 дней назад
Easy, to the point tutorial with a standarized implementation. Loved it :)
@davidolufemi9247
@davidolufemi9247 15 дней назад
Make this into an extension
@MaxProgramming
@MaxProgramming 15 дней назад
Maybe VS Code Extension API doesn't allow so much... That's why you need to add a manual css file in VS Code
@benbaker9931
@benbaker9931 16 дней назад
Excellent guide - thank you. This approach really helped to roll-in Recaptcha as a supportive utility within form submissions processes through server actions.
@MaxProgramming
@MaxProgramming 16 дней назад
Yea server actions are definitely a big advantage for this approach
@user-hc7og6ej4k
@user-hc7og6ej4k 20 дней назад
Thanks so much. Do you have a more in depth vid of offline support with next js ? Or even documentation would help.
@MaxProgramming
@MaxProgramming 20 дней назад
@@user-hc7og6ej4k With the app router I don't have a video. But I'll make one soon. Thanks for the idea ✌️
@codearenaofficial
@codearenaofficial 25 дней назад
Well Explained, usman!
@alessandro_carta
@alessandro_carta 26 дней назад
Instructive video, you explain very well, thanks
@YSGTV-ht2se
@YSGTV-ht2se 26 дней назад
Big up bro😊. Abdulrafiu here 😊
@KevinNewcombe
@KevinNewcombe 27 дней назад
This was great! Very concise and easy to follow along with.
@ridloghifary3041
@ridloghifary3041 27 дней назад
looks easy with your tutorial, thanks...
@MaxProgramming
@MaxProgramming 27 дней назад
Glad it was helpful!
@muhammadwaqar1610
@muhammadwaqar1610 29 дней назад
It's the biggest hack like let suppose you miss this thing instead use this one but concept is empty for this one.
@MaxProgramming
@MaxProgramming 29 дней назад
Can you clarify what you mean by "concept was empty" and what you think is wrong with the video?
@canProg
@canProg Месяц назад
Thank you
@mohammedgazi786
@mohammedgazi786 Месяц назад
👍🏻
@mohammedgazi786
@mohammedgazi786 Месяц назад
👍🏻
@boriskoslowski7176
@boriskoslowski7176 Месяц назад
You missed a semicolon
@MaxProgramming
@MaxProgramming Месяц назад
@@boriskoslowski7176 I left it for prettier 😉
@pranupranav5563
@pranupranav5563 Месяц назад
Thanks buddy. I missed it in my search api.😂 Will patch it😂
@pranupranav5563
@pranupranav5563 Месяц назад
Buddy you still working??🔥
@MaxProgramming
@MaxProgramming Месяц назад
@pranupranav5563 Takes just a second to acknowledge the comment. Thanks for commenting 🙂
@rickmotta
@rickmotta Месяц назад
Nice, straight forward explanation 👍🏼
@lyricon4043
@lyricon4043 Месяц назад
thanks man.. it works
@trithiennguyen7400
@trithiennguyen7400 Месяц назад
Thanks a lot lot. Great content and code
@user-rr7fu4lq9k
@user-rr7fu4lq9k Месяц назад
Nice explanations! Easy to understand Thank you😆
@neoswann2143
@neoswann2143 Месяц назад
Did anyone experience layout shifts and scroll issues when implementing this? When I use it to switch tabs on my settings page and let's say I scrolled b4 searchParams finished updating, It causes my layout UI to shift and and hides the top part of the layout. I think it's related more to the tabs components maybe tho....
@MaxProgramming
@MaxProgramming Месяц назад
You're right. The layout shift does happen when navigating from one tab to another. I guess that happens because the page gets re-rendered (as we navigate with Link component to modify the search params) Not sure what could possibly be the solution. But if I find one, I'll reply Thanks for pointing this out!
@dragos.cojocaru
@dragos.cojocaru Месяц назад
Hey, Can you tell me the extension name that adds vertical color to the opening and closing tags?
@MaxProgramming
@MaxProgramming Месяц назад
@@dragos.cojocaru It's called Indent Rainbow. And there are more palettes in other extension called "Indent Rainbow Palettes"
@dragos.cojocaru
@dragos.cojocaru Месяц назад
@@MaxProgramming thanks
@DiogoGraciano-y7q
@DiogoGraciano-y7q Месяц назад
how to integrate with teams?
@MaxProgramming
@MaxProgramming Месяц назад
It's very similar to discord and there are a few minor changes... learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook?tabs=newteams%2Cjavascript
@meka4996
@meka4996 Месяц назад
Why didn't you use TailwindCss to make the SidebarDesktop responsive: className="hidden sm:block" ?
@MaxProgramming
@MaxProgramming Месяц назад
There was a particular reason I don't remember now. Maybe you try making it work without that hook
@meka4996
@meka4996 Месяц назад
You are the Man! Thanks!
@Mary-k2p
@Mary-k2p 2 месяца назад
Just found your channel. You explain things so well, really! Kudos. I'll watch your other videos. I subscribe to this. Thank you.
@MaxProgramming
@MaxProgramming 2 месяца назад
@@Mary-k2p Thank you for your kind words
@Mary-k2p
@Mary-k2p 2 месяца назад
@@MaxProgramming You're welcome. Please don't stop making videos like this; explaining concepts practically.
@AbdulSalam-iq1yf
@AbdulSalam-iq1yf 2 месяца назад
The video i was searching for that.
@dreamsachiever212
@dreamsachiever212 2 месяца назад
thanks. been racking my brain for 2 days about convenient way to implement this
@jasmeetkaur-py6pi
@jasmeetkaur-py6pi 2 месяца назад
Amazing video! thank you!
@zorancepuran1374
@zorancepuran1374 2 месяца назад
Very nice tutorial with clean and professional presentation. Keep up the good work. Thank you.
@DerellPigram
@DerellPigram 2 месяца назад
Short and sweet. Love it.
@yourfellowyoungcoder
@yourfellowyoungcoder 2 месяца назад
thanks
@jmcabc
@jmcabc 3 месяца назад
great vid
@biniyamd4709
@biniyamd4709 3 месяца назад
Can I have your VS code setting.json file. Looks amazing
@MaxProgramming
@MaxProgramming 3 месяца назад
Hey Biniyam! I'm glad you liked the VS Code setup. I'm afraid I can't share the entire settings.json file as there's a ton of useless/old settings there so it's huge and mostly filled with useless settings. But feel free to ask for any settings and I'll help you out with that
@MaxProgramming
@MaxProgramming 3 месяца назад
Sorry for the bad audio quality on this one. For some reason, OBS Studio did not pick up my microphone and I did not realise that this entire stream
@nayana622
@nayana622 3 месяца назад
Thanks for the great video! Your explanation was super clear and really helped me. Looking forward to more content like this! 🙌
@lautaro17
@lautaro17 3 месяца назад
Great video ! Which font do you use ?
@MaxProgramming
@MaxProgramming 3 месяца назад
It's called Monaspace
@malikgenius4u
@malikgenius4u 3 месяца назад
Can you please use shadcn Command component for search, its awesome but commandlist / dropdown pushes other objects down on the page .. i dont know how to avoid that.
@MaxProgramming
@MaxProgramming 3 месяца назад
I'll investigate what you're facing and possibly make a video on it
@amaryadav8703
@amaryadav8703 3 месяца назад
Top quality video, informative and succinct!
@ViashimaGerald-cg5wr
@ViashimaGerald-cg5wr 3 месяца назад
nice
@jmcabc
@jmcabc 3 месяца назад
quality code practice - I learned a lot - thank you.
@jersonarmijo3241
@jersonarmijo3241 3 месяца назад
A pesar de la diferencia de idioma se entiende muy bien, muchas gracias
@MaxProgramming
@MaxProgramming 3 месяца назад
Gracias por sus amables palabras. Me alegro que sea fácil de entender.
@UnitedCodManServices
@UnitedCodManServices 3 месяца назад
Hey buddy could u help me lol Brillant video Very understanding
@MaxProgramming
@MaxProgramming 3 месяца назад
Yeah. What help are you looking for?
@UnitedCodManServices
@UnitedCodManServices 3 месяца назад
@@MaxProgramming let me explain. i have a website and discord and would like to receive notifications when a customer buy some think from my website or click the BUY button is that possible to make a simple webhook please but i dont know how?
@MaxProgramming
@MaxProgramming 3 месяца назад
@@UnitedCodManServices A webhook is a simple Rest API URL where you can send a POST request to call it. In the video, I mentioned how I did it for my website, you can do it similarly for yours 🙂
@akashjena2002
@akashjena2002 3 месяца назад
Thank you brother 🫡🙇
@mitchellejohnlight
@mitchellejohnlight 3 месяца назад
What if I want a notification that says copied once I have clicked the copy icon
@MaxProgramming
@MaxProgramming 3 месяца назад
There are different ways to show a notification. You can show a toast message with react-hot-toast or some popover etc. It's as simple as writing the code for showing the notification right after the copy() function
@mitchellejohnlight
@mitchellejohnlight 3 месяца назад
@@MaxProgramming thank you. This helped. I used the react toast
@canitbeapplied2500
@canitbeapplied2500 4 месяца назад
Very useful video, thank you for taking the time to make it.