Commit Graph

814 Commits

Author SHA1 Message Date
javayhu
5f6e75fe93 Merge branch 'main' of github.com:MkSaaSHQ/mksaas-template 2025-05-31 00:42:54 +08:00
javayhu
5fae666b70 fix: set dynamic to force-static in blog post page 2025-05-31 00:42:14 +08:00
javayhu
f589fa2d00 refactor: update blog url path & components & sitemap 2025-05-31 00:07:25 +08:00
javayhu
c23fdee88f chore: optimize blog page metadata 2025-05-30 18:27:22 +08:00
javayhu
707399057e Merge branch 'main' of github.com:MkSaaSHQ/mksaas-template 2025-05-30 15:12:06 +08:00
javayhu
ce7978a572 chore: add affonso script to layout 2025-05-30 15:11:02 +08:00
javayhu
8dd3e12824 feat: support affonso affiliate 2025-05-30 14:05:45 +08:00
javayhu
1a4917c874 chore: optimize upgrade card config 2025-05-30 13:28:03 +08:00
javayhu
e27a7a081c chore: optimize discord widget config 2025-05-30 13:26:42 +08:00
javayhu
3ea18fcade chore: support config for enable upgrade card 2025-05-27 23:47:05 +08:00
javayhu
38bb93fa4f chore: support config for discord widget feature 2025-05-27 23:17:49 +08:00
javayhu
1e203f4e87 fix: do not show upgrade card when sidebar collapses 2025-05-27 23:09:47 +08:00
javayhu
5824e7489c fix: show post image as og image 2025-05-25 22:26:14 +08:00
javayhu
02df9d134f fix: change og:site_name to metadata name instead of title 2025-05-25 22:19:06 +08:00
javayhu
82f40d7dc6 fix: fix canonicalUrl in block pages 2025-05-22 22:53:29 +08:00
javayhu
28ad92e101 fix: fix canonicalUrl 2025-05-22 22:30:35 +08:00
javayhu
2db79a871a chore: show discord widget in homepage only 2025-05-18 23:58:58 +08:00
javayhu
3c1f1a60a3 fix: fix logo light config 2025-05-16 10:24:55 +08:00
javayhu
999ba40bba chore: udpate short link to roadmap 2025-05-16 10:20:33 +08:00
javayhu
48e188b0da chore: update social links 2025-05-16 10:17:15 +08:00
javayhu
b7808adee5 Merge branch 'main' of github.com:MkSaaSHQ/mksaas-template 2025-05-15 23:58:54 +08:00
javayhu
0585fb3253 chore: set baseURL in better auth 2025-05-15 23:58:48 +08:00
javayhu
136a123a56 chore: optimize discord widget for mobile 2025-05-15 09:31:17 +08:00
javayhu
50d6e2b069 Merge branch 'main' of github.com:MkSaaSHQ/mksaas-template 2025-05-15 00:43:56 +08:00
javayhu
ecc7952340 feat: support discord notification when successful one time payment 2025-05-15 00:43:45 +08:00
javayhu
036ea72b30 feat: show discord widget on the website 2025-05-15 00:24:26 +08:00
javayhu
cd44d3ae67 feat: support discord bot on website 2025-05-14 23:56:01 +08:00
javayhu
e5d3e9144d chore: optimize faking user data when in demo website 2025-05-14 22:48:54 +08:00
javayhu
0476d696de fix: remove version in ogImage 2025-05-14 07:29:58 +08:00
javayhu
c661dd60d7 custom: update og image version 2025-05-13 01:45:52 +08:00
javayhu
15c39fde7f
Merge branch 'main' into user-table 2025-05-11 14:58:49 +08:00
javayhu
e284de79a8 chore: support show admin user page in demo website 2025-05-11 14:50:13 +08:00
javayhu
29af46fa28
Merge pull request #35 from MkSaaSHQ/user-table
feat: user management
2025-05-11 14:04:12 +08:00
javayhu
dc86cfacd8 chore: i18n user table messages 2025-05-11 13:57:26 +08:00
javayhu
70d35e5fd5 chore: update default ban reason 2025-05-11 11:51:54 +08:00
javayhu
245dfaa6e1 chore: refresh table after ban or unban user 2025-05-11 11:46:43 +08:00
javayhu
bcb1e0ef9d chore: update user detail viewer date picker component 2025-05-11 11:26:50 +08:00
javayhu
f764bcb627 chore: update calendar component and downgrade react-date-picker 2025-05-11 11:21:55 +08:00
javayhu
5f6205c150 chore: define type User and use it in users-table 2025-05-11 10:52:11 +08:00
javayhu
78681df65f chore: call ban/unban user by authClient.admin 2025-05-11 10:44:48 +08:00
javayhu
d889cdf2b7 chore: update user detail viewer 2025-05-11 09:55:21 +08:00
javayhu
4e6496adc0 chore: optimize get users logic for sorting 2025-05-11 08:55:46 +08:00
javayhu
fd1bc9ee00 chore: support sort by ban reason and expires column 2025-05-11 08:52:41 +08:00
javayhu
3bb6d089fe chore: remove column emailVerified 2025-05-11 08:47:48 +08:00
javayhu
7248750277 chore: support sort by role and banned 2025-05-11 08:38:13 +08:00
javayhu
6cace107e5 chore: add doc link to analytics components 2025-05-11 07:49:10 +08:00
javayhu
3042894e13 feat: support ahrefs analytics 2025-05-11 07:36:09 +08:00
javayhu
4b6fb7beed chore: copy email when click it 2025-05-11 00:53:34 +08:00
javayhu
061b304aa8 feat: support ban and unban user & show user detailed information 2025-05-11 00:47:05 +08:00
javayhu
71e9e33fd7 chore: optimize email and status column cell ui 2025-05-11 00:04:20 +08:00
javayhu
b57edf9bf5 chore: navigate to stripe customer page when click customer id 2025-05-10 23:36:53 +08:00
javayhu
83cfbd4980 chore: optimize status/emailverified/role cell UI 2025-05-10 23:29:00 +08:00
javayhu
959e49b01b chore: support sort table by name/email/createdAt 2025-05-10 23:08:48 +08:00
javayhu
08a3fbf704 feat: get users and show users in table 2025-05-10 20:55:22 +08:00
javayhu
4dd36ed9c4 custom: add UserTable component 2025-05-10 14:14:00 +08:00
javayhu
b1ea926aa6 fix: update logos in logo-cloud block component 2025-05-10 13:04:05 +08:00
javayhu
bd39dac6ec fix: mode switcher background color 2025-05-10 12:56:36 +08:00
javayhu
fbd764c76f chore: remove param includeFumadocsComponents in CustomMDXContent 2025-05-10 07:16:38 +08:00
javayhu
d9dee949ef chore: add new ImageWrapper component 2025-05-10 07:13:16 +08:00
javayhu
4b36baad92 chore: add YoutubeVideo component for mdx 2025-05-10 07:03:16 +08:00
javayhu
121353ae3d chore: support telegram in social links 2025-05-09 23:26:21 +08:00
javayhu
ca654b02bd chore: remove ai tools pages in navbar for now 2025-05-06 23:23:32 +08:00
javayhu
d46a79097a chore: optimize email config 2025-05-06 23:21:13 +08:00
javayhu
c71d4e6b57 chore: update payment readme doc 2025-05-05 22:34:43 +08:00
javayhu
304530a58a chore: optimize discord util function param 2025-05-05 19:57:25 +08:00
javayhu
2df67a1075 fix: revert getSessionCookie in middleware 2025-05-04 10:00:02 +08:00
javayhu
3664d0920b chore: optimize integration and calltoaction components 2025-05-04 09:14:29 +08:00
javayhu
9728511d75 chore: optimize middleware by using getSessionCookie instead of calling /api/auth/get-session as recommended by Better Auth 2025-05-04 09:09:44 +08:00
javayhu
fd72608dd4 chore: optimize NewsletterCard 2025-05-04 00:44:07 +08:00
javayhu
065dc1c71e chore: optimize newsletter card & add newsletter card to homepage 2025-05-04 00:39:02 +08:00
javayhu
c1dbad14ec chore: update pages layout & move container into pages 2025-05-04 00:04:14 +08:00
javayhu
80fe789b9d chore: add more disallow paths for robots 2025-05-03 20:27:57 +08:00
javayhu
6367405870 chore: optimize about page & add follow me and image section 2025-05-02 23:16:10 +08:00
javayhu
84dcf8cea8 fix: set default title in metadata 2025-05-02 22:45:17 +08:00
javayhu
b43a05c03c chore: add comment to PlausibleAnalytics for 404 error pages 2025-05-02 22:12:58 +08:00
javayhu
6dd00094eb Merge branch 'main' of github.com:MkSaaSHQ/mksaas-template 2025-05-01 23:59:59 +08:00
javayhu
57e32f397f chore: update roadmap link 2025-05-01 23:59:55 +08:00
javayhu
dd8b74b096 chore: use Session defined in auth-types 2025-05-01 21:55:11 +08:00
javayhu
4ef52c2c02 chore: update homepage faqs & testimonials sections 2025-05-01 16:02:17 +08:00
javayhu
033ff64139 chore: update homepage pricing section 2025-05-01 15:51:08 +08:00
javayhu
532de654e2 chore: optimize homepage features sections 2025-05-01 15:46:53 +08:00
javayhu
9e7b7ea25a chore: optimize homepage features section 2025-05-01 15:30:50 +08:00
javayhu
a950bc36c3 chore: update homepage integration section 2025-05-01 14:52:14 +08:00
javayhu
9b0e19049d chore: optimize homepage hero and stats sections 2025-05-01 14:47:00 +08:00
javayhu
ddbaa7b6cc fix: fix seo error in hero title h1 tag 2025-05-01 14:37:02 +08:00
javayhu
268085f37a fix: fix auth page ui bugs 2025-05-01 12:20:19 +08:00
javayhu
9c28c451e4 fix: hide scrollbar for layout shift when using the theme selector 2025-04-30 21:24:15 +08:00
javayhu
f607bae96e refactor: optimize newsletter subscribe and check status logic 2025-04-29 22:22:26 +08:00
javayhu
d94e777dde chore: update font in hero section 2025-04-29 08:07:38 +08:00
javayhu
94e38f751a fix: update CardFooter background color & fix login wrapper dialog ui bug 2025-04-29 00:23:15 +08:00
javayhu
299b8a3957 Merge branch 'main' of github.com:MkSaaSHQ/mksaas-template 2025-04-28 22:58:00 +08:00
javayhu
b27a7627b5 sync: update tailark to 20250427
18c66f051b
2025-04-28 22:57:48 +08:00
javayhu
460dae64e3 chore: refactor middleware for better session handling 2025-04-28 19:08:52 +08:00
javayhu
a73493a042 chore: refactor database connection 2025-04-28 15:20:14 +08:00
javayhu
a24eeaccc8 Revert "chore: refactor database connection"
This reverts commit c93170119f.
2025-04-28 15:17:45 +08:00
javayhu
c93170119f chore: refactor database connection 2025-04-28 12:27:40 +08:00
javayhu
e86e1ece9c fix: fix hydration errors in dashboard 2025-04-28 12:11:59 +08:00
javayhu
9f240d9595 feat: support send message to discrod 2025-04-28 11:41:05 +08:00
javayhu
0877003cdf chore: remove bluesky social link 2025-04-28 00:50:37 +08:00
javayhu
3df4ec5cf7 feat: add new social link of mastodon 2025-04-28 00:22:14 +08:00
javayhu
a119a86e78 chore: update fumadocs domain 2025-04-27 22:23:56 +08:00
javayhu
9eaacfff8d chore: update default theme to Clean Slate 2025-04-27 00:50:46 +08:00
javayhu
0a314a22f1 feat: integrate react-tweet library and add AvatarCircles and TweetImages components to enhance MagicuiPage 2025-04-26 15:36:57 +08:00
javayhu
d0b3e069d9 feat: add BlurFadeDemo component and integrate it into MagicuiPage for enhanced visual effects 2025-04-26 14:42:52 +08:00
javayhu
6a17e6f29f fix: update Confetti ButtonProps to extend React.ComponentPropsWithRef for improved type safety in Magicui 2025-04-26 12:54:26 +08:00
javayhu
0fd6af8ed0 feat: enhance Magicui with new demo components including BoxReveal, FlipText, and various animated buttons and text effects 2025-04-26 11:53:40 +08:00
javayhu
797cfbd57f feat: update BoxRevealProps to accept React.ReactNode and add multiple example components for animated text, buttons, and effects to Magicui 2025-04-26 11:30:38 +08:00
javayhu
29b225c1eb feat: add various animated text components including AnimatedGradientText, AnimatedShinyText, TypingAnimation, MorphingText, and others to Magicui 2025-04-26 10:39:11 +08:00
javayhu
1cecd22213 feat: add AnimatedBeam, BlurFade, MagicCard, Meteors components and their styles to Magicui 2025-04-26 10:35:25 +08:00
javayhu
35005ea725 feat: add multiple magic ui button components including AnimatedSubscribeButton, InteractiveHoverButton, PulsatingButton, RippleButton, ShimmerButton, and ShinyButton to Magicui 2025-04-26 10:32:09 +08:00
javayhu
3fff508728 feat: add AnimatedGrid and InteractiveGridPattern components and their demo examples to MagicuiPage 2025-04-26 10:24:06 +08:00
javayhu
625bee14ef feat: add Ripple component and its demo example to MagicuiPage 2025-04-26 10:19:44 +08:00
javayhu
fd6126f0c1 feat: add GridPattern component and its demo example to MagicuiPage 2025-04-26 10:17:30 +08:00
javayhu
b6e36365f2 feat: add DotPattern component and its demo example to MagicuiPage 2025-04-26 10:14:40 +08:00
javayhu
efba35272d feat: add AnimatedList component and its demo example to MagicuiPage 2025-04-26 10:11:43 +08:00
javayhu
e626f57aac feat: add BentoDemo component and integrate it into the MagicuiPage 2025-04-26 10:06:36 +08:00
javayhu
938bfafe72 feat: add HeroVideoDialog component and its demo example 2025-04-26 10:04:38 +08:00
javayhu
c9eca9c76c chore: add new page for showing magicui components 2025-04-26 09:50:14 +08:00
javayhu
a2f97802f2 feat: add Marquee component and its example component 2025-04-26 09:49:53 +08:00
javayhu
d66306f890 fix: fix hydration caused by navbar mobile 2025-04-25 20:57:10 +08:00
javayhu
ded1d6bf49 fix: fix hydration caused by register button 2025-04-25 20:49:30 +08:00
javayhu
05014da6c7 fix: fix hydration mismatch error caused by login wrapper 2025-04-25 20:35:51 +08:00
javayhu
b0ebee8633 refactor: update email configuration to use fromEmail and supportEmail in website settings 2025-04-25 00:30:04 +08:00
javayhu
222154397a fix: update default login redirect to use fallback route if not defined 2025-04-24 23:34:17 +08:00
javayhu
b16a1918de feat: add routes configuration in website settings for default login redirect 2025-04-24 23:00:37 +08:00
javayhu
9046645006 fix: update social login button to use enableGoogleLogin and enableGithubLogin configuration options 2025-04-24 00:55:18 +08:00
javayhu
48270b17ee feat: add documentation link to footer 2025-04-23 09:17:38 +08:00
javayhu
38865a6069 fix: enable Google and GitHub login options in website configuration 2025-04-23 01:03:30 +08:00
javayhu
b461f2f079 feat: add configuration options to disable Google and GitHub login in social login button 2025-04-23 01:00:52 +08:00
javayhu
603c09eeb1 fix: disable Vercel and Speed Insights analytics options in website configuration 2025-04-23 00:43:56 +08:00
javayhu
e298910b4b feat: enhance analytics component with configurable Vercel and Speed Insights options 2025-04-23 00:21:33 +08:00
javayhu
d4b385f5a2 feat: add vercel speed-insights package and integrate into analytics component 2025-04-23 00:15:21 +08:00
javayhu
bd45821dae feat: addvercel analytics 2025-04-22 23:50:24 +08:00
javayhu
35bcbb7a06 docs: add documentation links to various components and configurations 2025-04-21 09:49:43 +08:00
javayhu
a985063032 docs: update font and theme documentation with links and formatting improvements 2025-04-21 01:19:43 +08:00
javayhu
8325a649d7 chore: remove unused 'geist' dependency and delete unused font files 2025-04-20 10:46:20 +08:00
javayhu
85978fc0a2 fix: fix doc page og metadata 2025-04-19 20:34:25 +08:00
javayhu
865a4c1c0f chore: refine README documentation for mail and newsletter modules 2025-04-19 20:16:18 +08:00
javayhu
0570725353 chore: update mail readme file 2025-04-19 20:16:12 +08:00
javayhu
689b9b7926 refactor: update price plan references to use new price-config file 2025-04-19 13:40:21 +08:00
javayhu
c6b0b260ef refactor: add price config and update related references 2025-04-19 13:38:16 +08:00
javayhu
9c385b11a7 chore: update env.example and NestedMenuItem in index.d.ts 2025-04-19 11:54:05 +08:00
javayhu
eff72bee91 refactor: unify email configuration by replacing 'from' and 'to' with 'contact' 2025-04-19 10:04:11 +08:00
javayhu
16dc11bb88 chore: support Step and Steps 2025-04-19 08:59:06 +08:00
javayhu
85c23e673b chore: update resend 2025-04-18 23:45:37 +08:00
javayhu
bbb22f8438 refactor: biome lint part 5 2025-04-18 22:23:07 +08:00
javayhu
f1a0d5c9b5 refactor: biome lint part 4 2025-04-18 22:19:45 +08:00
javayhu
9f58d025d0 refactor: biome lint part 3 2025-04-18 22:12:41 +08:00
javayhu
27bc59354f refator: biome lint part 2 2025-04-18 21:53:21 +08:00
javayhu
23cd59bbac refactor: biome lint part 1 2025-04-18 21:47:14 +08:00
javayhu
e8c4bf3406 chore: support icon in docs mdx 2025-04-18 01:41:22 +08:00
javayhu
5504a3fae8 chore: remove blog link from docs page 2025-04-18 01:41:18 +08:00
javayhu
aecdfd1054 chore: add discord to social config 2025-04-17 09:48:36 +08:00
javayhu
61fbc0e2fb chore: update social links configuration to use optional chaining 2025-04-17 01:30:02 +08:00
javayhu
4b1d888845 chore: refactor website configuration structure and update related components 2025-04-17 01:18:57 +08:00
javayhu
377f22c693 chore: rename webMetadata to metadataConfig 2025-04-17 00:33:39 +08:00
javayhu
743ef4aef7 chore: disable locale switch if only one locale defined 2025-04-17 00:24:30 +08:00
javayhu
d9e25b39af chore: optimize umami and plausible analytics 2025-04-16 23:53:58 +08:00
javayhu
13889cfd2a feat: send welcome email upon newsletter subscription 2025-04-16 01:00:12 +08:00
javayhu
dca25ac784 chore: enable auto subscribe user to newsletter after sign up by default 2025-04-15 17:00:45 +08:00
javayhu
c5bde173a0 fix: check newsletter subscribe status bug 2025-04-15 01:42:29 +08:00
javayhu
a1e9621195 fix: hydration error in upgrade card component 2025-04-15 01:42:19 +08:00
javayhu
731dd41de1 chore: set stripe customer name from user name 2025-04-15 01:42:09 +08:00
javayhu
5cca961668 chore: change the bg of newsletter card 2025-04-14 23:49:39 +08:00
javayhu
df3d3a3caf Merge branch 'main' of https://github.com/MkSaaSHQ/mksaas-template 2025-04-14 23:41:52 +08:00
javayhu
18cbd059be fix: screen width bug when having posts and no post 2025-04-14 23:41:47 +08:00
javayhu
3a0126c74c chore: update comments for seline analytics 2025-04-14 13:24:37 +08:00
javayhu
2d035a91e3 feat: support seline analytics 2025-04-14 13:24:37 +08:00
javayhu
9c5e7db748 feat: support auto subscribe to newsletter after sign up 2025-04-14 01:29:59 +08:00
javayhu
3ff522cff2 chore: update readme files of modules 2025-04-14 01:29:42 +08:00
javayhu
f0d89970ee refactor: optimize billing card hooks order 2025-04-13 17:46:31 +08:00
javayhu
a4ed6368db chore: optimize billing card for the case of no any plan 2025-04-13 17:17:24 +08:00
javayhu
1b67b4d93d chore: optimize pricing table for 1 or 2 plans show in center 2025-04-13 16:19:19 +08:00
javayhu
f1b2d39f1f chore: update payment config and intl message keys 2025-04-13 15:50:30 +08:00
javayhu
c3e9b480bd fix: fix errorCode 429 bug in newsletter 2025-04-13 14:36:10 +08:00
javayhu
e879c88e87 fix: fix logo hydration error 2025-04-13 14:26:21 +08:00
javayhu
f92e685ca6 chore: optimize UI button style 2025-04-13 13:24:32 +08:00
javayhu
7fe491f50f chore: clean hero section code 2025-04-13 10:22:48 +08:00
javayhu
728f89f109 chore: set ai pages working in progress 2025-04-13 09:35:38 +08:00
javayhu
14798b1660 chore: update readme file 2025-04-13 02:10:26 +08:00
javayhu
04caa38112 feat: update UI elements and add og image
- Changed the secondary button text in the English JSON file from "Book Demo" to "See Demo" for improved clarity.
- Added a new Open Graph image to enhance social media sharing capabilities.
- Adjusted grid gap properties in Features2Section and FeaturesSection components for better layout consistency.
- Simplified the BlogCard component by removing unnecessary border classes and updating text color for improved readability.
- Modified the Navbar component to change the background color to transparent when scrolled, enhancing visual appeal.
2025-04-13 01:55:58 +08:00
javayhu
2d21d4989e feat: add pricing section to homepage
- Introduced a new PricingSection component to display pricing options, enhancing user engagement and decision-making.
- Updated English and Chinese JSON files to include titles and descriptions for the pricing section.
- Refactored the homepage layout to integrate the new PricingSection, improving overall user experience.
- Renamed CallToAction component to CallToActionSection for consistency in naming conventions.
- Adjusted image sources in Features4Section for improved asset management.
2025-04-13 00:54:39 +08:00
javayhu
97a24727d1 feat: enhance homepage with new integration and features sections
- Introduced Integration2Section and Features5Section components to showcase integrations and additional product features, improving user engagement and workflow.
- Updated English and Chinese JSON files to include new titles, descriptions, and buttons for the integration and features sections.
- Refactored the homepage layout to integrate the new sections, enhancing overall user experience.
- Adjusted existing FeaturesSection and Features2Section components for consistency and clarity in feature presentation.
2025-04-13 00:42:29 +08:00
javayhu
9f6b1493d4 feat: add call-to-action section to homepage
- Introduced a new CallToAction component to encourage user engagement with clear action prompts.
- Updated English and Chinese JSON files to include titles, descriptions, and buttons for the call-to-action section.
- Refactored the homepage layout to integrate the new CallToAction section, enhancing overall user experience.
2025-04-13 00:19:11 +08:00
javayhu
50aacbed11 feat: add testimonials section to homepage
- Introduced a new TestimonialsSection component to display customer testimonials, enhancing user engagement and trust.
- Updated English and Chinese JSON files to include testimonials titles, descriptions, and individual customer quotes.
- Refactored the homepage layout to integrate the new testimonials section, improving overall user experience.
2025-04-13 00:06:31 +08:00
javayhu
5c48725110 feat: add integration section and features4 component to homepage
- Introduced a new IntegrationSection component to showcase integrations with popular tools, enhancing user workflow.
- Updated English and Chinese JSON files to include integration titles and descriptions.
- Added a new Features4Section component with a different layout for product features, improving presentation and user engagement.
- Refactored homepage layout to integrate the new sections, enhancing overall user experience.
2025-04-12 23:23:04 +08:00
javayhu
19f6457d6d feat: expand features sections on homepage
- Updated English and Chinese JSON files to include additional product features and descriptions, enhancing user engagement.
- Introduced a new Features3Section component to showcase more product features on the homepage.
- Refactored the homepage layout to integrate the new Features3Section, improving overall user experience.
- Adjusted existing FeaturesSection and Features2Section components for consistency and clarity in feature presentation.
2025-04-12 22:36:54 +08:00
javayhu
ea0c0cf027 feat: enhance homepage with new features sections
- Added FeaturesSection and Features2Section components to showcase product features on the homepage, improving user engagement and information accessibility.
- Updated English and Chinese JSON files to include new feature descriptions and titles for both features sections.
- Refactored the homepage layout to integrate the new features sections, enhancing overall user experience.
- Made adjustments to the LogoCloud section for improved styling and consistency.
2025-04-12 22:26:03 +08:00
javayhu
43777b5989 feat: add LogoCloud section to homepage
- Introduced a new LogoCloudSection component to showcase partner logos on the homepage, enhancing brand visibility.
- Updated English and Chinese JSON files to include a title for the LogoCloud section.
- Refactored the homepage to integrate the new LogoCloudSection, improving overall layout and user engagement.
- Added multiple SVG logos to the public/svg directory for use in the LogoCloud section.
2025-04-12 21:22:30 +08:00
javayhu
144eb7a39c feat: enhance homepage and footer with new hero section and tagline
- Introduced a new HeroSection component to the homepage, featuring an engaging introduction, title, and action buttons to improve user engagement.
- Updated the English and Chinese JSON files to include a hero section with descriptive content.
- Refactored the FAQ component to FaqSection for consistency and updated its usage in both the homepage and pricing page.
- Added a tagline to the footer for better branding visibility.
2025-04-12 20:49:43 +08:00
javayhu
d0dc072324 refactor: replace getBaseUrlWithLocale with getUrlWithLocale
- Updated multiple files to replace the deprecated getBaseUrlWithLocale function with the new getUrlWithLocale function for generating localized URLs.
- Ensured consistency across the application by standardizing URL generation methods in checkout, customer portal, and various marketing pages.
2025-04-12 20:04:40 +08:00
javayhu
fd11648d98 feat: update FAQ block
- Modified the FAQ section in both English and Chinese JSON files to enhance user support with clearer descriptions and additional contact information.
- Updated the layout of the PricingPage to include the FAQs component, improving information accessibility.
- Introduced new components for the hero section and pricing table, enhancing the overall user experience and engagement.
- Refactored the pricing layout to streamline the presentation of pricing options and improve maintainability.
2025-04-12 19:55:27 +08:00
javayhu
c43d423aa3 chore: optimize code 2025-04-12 17:42:08 +08:00
javayhu
3c72dd7098 chore: optimize login wrapper component & fix Hydration error
Hydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:

- A server/client branch `if (typeof window !== 'undefined')`.
- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.
- Date formatting in a user's locale which doesn't match the server.
- External changing data without sending a snapshot of it along with the HTML.
- Invalid HTML tag nesting.
2025-04-12 17:30:59 +08:00
javayhu
086eb5ab8e chore: optimize faqs block 2025-04-12 17:21:19 +08:00
javayhu
0a8934a6cf feat: add nav menus for integrations blocks and forgot-password blocks 2025-04-12 17:13:44 +08:00
javayhu
d5ae61d481 feat: add getUrlWithLocaleInCallbackUrl helper function 2025-04-12 15:26:43 +08:00
javayhu
74404eb0c6 feat: add FAQ block to pricing page
- Updated HomePage title and description to reflect new branding.
- Added a comprehensive FAQ section with questions and answers to improve user support.
- Modified the PricingPage layout to include the new FAQs component for better information accessibility.
2025-04-12 15:10:28 +08:00
javayhu
5026fb3b4d refactor: migrate blocks folder to nsui directory
- Updated import paths for various components to use the new nsui directory structure, enhancing organization and maintainability.
- Refactored layout and page components to align with the new structure, ensuring consistency across the codebase.
- Introduced new components such as BlockPreview and BlocksNav to improve modularity and reusability.
2025-04-12 14:18:08 +08:00
javayhu
78d5d9977b refactor: replace UserButton with UserButtonMobile in NavbarMobile & fix hydration error caused by UserButton
- Updated NavbarMobile to use UserButtonMobile for mobile user interactions.
- Introduced UserButtonMobile component to handle user actions in a mobile-friendly manner, including sign-out functionality and user avatar display.
- Removed unused drawer-related imports from UserButton component to streamline the codebase.
2025-04-12 14:08:50 +08:00
javayhu
5c85d80f81 feat: add FAQ and integration blocks from NSUI
- Introduced multiple FAQ pages (two, three, four) to enhance user support and information accessibility.
- Added integration sections (one, two, three, four, five, six, seven, eight) to showcase various tools and services.
- Implemented a development toolbar for easier debugging and page reloading during development.
- Removed the loading component as it was no longer needed.
- Updated the layout to conditionally render the development toolbar in development mode.
2025-04-12 13:53:37 +08:00
javayhu
1f4bec8eb2 chore: remove docs/components/tabs.client 2025-04-12 13:26:05 +08:00
javayhu
10c7646fb1 chore: remove docs/theme.client 2025-04-12 13:24:13 +08:00
javayhu
c0f4721d49 refactor: simplify theme management and localization
- Removed scaled and mono theme options from the theme selector and related components to streamline theme management.
- Updated localization files to reflect the removal of unused theme translations.
- Cleaned up CSS by eliminating unnecessary theme styles, enhancing maintainability and performance.
- Adjusted the WebsiteMetadata interface to remove references to obsolete themes, improving code clarity.
2025-04-12 13:14:39 +08:00
javayhu
44179984e5 refactor: update theme and payment providers
- Renamed and reorganized the ActiveThemeProvider and PaymentProvider components for better clarity and structure.
- Introduced the ActiveThemeProvider component to manage the active theme and set cookies accordingly.
- Implemented the PaymentProvider component to initialize payment state based on the user's session.
- Updated imports in related components to reflect the new file structure.
2025-04-12 13:03:06 +08:00
javayhu
751b015c04 refactor: remove unused marketing sections and components
- Deleted multiple marketing section files including call-to-action, content, FAQ, features, hero, pricing, stats, and testimonials to streamline the codebase.
- This cleanup enhances maintainability by removing obsolete components that are no longer in use.
2025-04-12 12:46:42 +08:00
javayhu
79dde803b4 refactor: update canonical URLs for legal pages
- Changed canonical URLs for cookie, privacy, and terms pages to remove unnecessary suffixes, enhancing SEO and URL consistency.
- Renamed the layout component for better clarity regarding its purpose in the marketing blocks structure.
2025-04-12 12:44:38 +08:00
javayhu
961163305a refactor: integrate website configuration for localization
- Replaced hardcoded locale data with a centralized website configuration structure, enhancing maintainability and consistency across components.
- Updated various components to utilize the new websiteConfig for locale flags and names, improving code clarity and reducing redundancy.
- Removed obsolete LOCALE_LIST and streamlined routing logic to align with the new configuration approach.
2025-04-12 11:54:45 +08:00
javayhu
8a0f396810 refactor: update price plan retrieval and configuration structure
- Renamed variables in the pricing table and billing card components for clarity, changing 'paymentConfig' to 'pricePlans'.
- Updated the getPricePlans function to return a more explicit Record type for better type safety and maintainability.
- Enhanced the structure of price plans by consolidating translation logic within the returned plans object, improving code organization and readability.
2025-04-12 11:03:27 +08:00
javayhu
b5de0fb940 refactor: optimize website configs
- Updated sidebar, footer, navbar, and user button components to use new naming conventions for configuration retrieval functions, enhancing code clarity and consistency.
- Renamed functions from getSidebarConfig, getFooterConfig, getNavbarConfig, and getAvatarConfig to getSidebarLinks, getFooterLinks, getNavbarLinks, and getAvatarLinks respectively.
- Adjusted the website configuration structure to include metadata for logos and social links, improving maintainability and organization of configuration data.
2025-04-12 10:46:58 +08:00
javayhu
6e1189afc4 feat: add admin user management page and support authroizeOnly for nav item
- Introduced a new admin section with user management capabilities, including a dedicated AdminUsersPage.
- Updated localization files to support new admin titles in English and Chinese.
- Added routing for the admin users page and integrated it into the sidebar configuration.
- Created necessary layout and loading components for the admin section.
- Implemented a data structure for user management, enhancing the overall admin functionality.
2025-04-12 09:54:55 +08:00
javayhu
dd6fb4df85 chore: rename dashboard components prefix with sidebar-
- Added descriptive comments for the DashboardPage, DashboardHeader, DashboardSidebar, SidebarMain, and SidebarUser components to improve code readability and maintainability.
- Enhanced understanding of component purposes and functionalities through clear documentation.
2025-04-12 08:35:05 +08:00
javayhu
f6bec8b78c refactor: restructure sitemap and robots handling
- Removed the old sitemap implementation and replaced it with a new one that generates dynamic routes for categories, posts, and documentation.
- Introduced a new robots.txt handler to manage crawling rules and specify the sitemap location.
- Updated URL handling functions to improve locale support in callback URLs.
- Enhanced the content-collections.ts file by reorganizing documentation comments and reintroducing the extractLocaleAndBase function for better clarity and maintainability.
2025-04-12 08:16:47 +08:00
javayhu
b951f92ff1 chore: optimize some component layouts 2025-04-12 01:01:46 +08:00
javayhu
e5840fe0f4 refactor: remove icons.tsx & update loading icons 2025-04-12 00:31:29 +08:00
javayhu
ad0eae7d62 feat: support showing limits for price plans 2025-04-12 00:16:51 +08:00
javayhu
c04499a353 feat: support analytics (google/umami/plausible/datafast/openpanel) 2025-04-11 23:54:05 +08:00
javayhu
257feba5bd fix: redirect to localized dashboard url after login
- Updated login-form.tsx, register-form.tsx, and social-login-button.tsx to utilize useLocale for dynamic callback URL generation based on the user's locale.
- Adjusted the default callback URL to include the locale, improving user experience and localization support in authentication flows.
2025-04-11 12:41:50 +08:00
javayhu
72326403a0 feat: implement middleware for route protection and localization
- Enhanced middleware functionality to manage access for protected routes based on user authentication status.
- Added logic to redirect users to the login page if they attempt to access protected routes while not logged in.
- Implemented a utility function to strip locale from the pathname for better route handling.
- Updated route definitions to categorize routes that are not accessible to logged-in users and those that require authentication.
- Improved comments and logging for better traceability and understanding of middleware operations.
2025-04-11 12:33:31 +08:00
javayhu
313625577c feat: remove planId from payment and subscription schema
- Created new SQL tables for account, payment, session, user, and verification to support user management and payment processing.
- Added foreign key constraints to link account, payment, and session tables to the user table for data integrity.
- Updated journal and snapshot metadata to reflect the new schema changes.
2025-04-11 01:23:13 +08:00
javayhu
f982e1b01a refactor: enhance logging and update comments for clarity
- Added detailed logging for active subscription retrieval in get-active-subscription.ts to improve traceability.
- Updated comments in pricing-table.tsx and billing-card.tsx to better describe the purpose of price plan retrieval.
- Modified payment types in types.ts to include 'incomplete_expired' for better status handling.
- Improved logging messages in stripe.ts for clearer debugging information during payment processing.
2025-04-11 00:39:32 +08:00
javayhu
60d68e059c refactor: update price plan functions and imports for consistency
- Replaced getPlanById with findPlanByPlanId in create-checkout-session.ts and stripe.ts for improved clarity.
- Removed unused getAllPricePlans import in pricing/layout.tsx to streamline the code.
- Updated price-plan.ts to enhance the findPlanByPlanId function and added error handling in findPriceInPlan.
- Adjusted payment-store.ts to reflect the updated price plan retrieval method.
2025-04-10 23:49:46 +08:00
javayhu
3cdb93bfc4 refactor: reorganize price plan imports and create price-plan module
- Updated import paths for price plan functions to use the new price-plan module for better modularity and maintainability.
- Removed redundant price plan functions from the payment module to streamline the codebase.
- Introduced a new price-plan.ts file to encapsulate price plan logic and improve code organization.
2025-04-10 23:37:21 +08:00
javayhu
876eb01506 chore: add TODO comments for future enhancements
- Added TODO comments in middleware.ts, routes.ts, sitemap.ts, and routing.ts to indicate areas for future improvements, including middleware rules for protected routes, route configuration, and sitemap entries.
- Included a comment in globals.css for reference to shadcn UI theming documentation.
2025-04-10 10:07:34 +08:00
javayhu
2cb95d8a1a refactor: update translation keys in configuration files
- Modified translation keys in avatar, footer, navbar, sidebar, and social configuration files to enhance modularity and maintainability.
- Removed redundant 'Marketing' prefix from translation keys for improved clarity and consistency across the application.
2025-04-10 09:56:43 +08:00
javayhu
643cbbef9b refactor: remove deprecated config.tsx and update import paths
- Deleted the config.tsx file as it is no longer needed for backward compatibility.
- Updated import paths in blog-card.tsx to reference the new location of PLACEHOLDER_IMAGE in constants.ts.
- Introduced a new constants.ts file to define PLACEHOLDER_IMAGE for improved modularity and maintainability.
2025-04-10 09:56:21 +08:00
javayhu
710dbe00b6 refactor: modularize configuration files and update imports
- Introduced new configuration files for navbar, footer, avatar, sidebar, social links, and payment plans to enhance modularity and maintainability.
- Updated import paths across the codebase to reference the new configuration files.
- Removed deprecated functions and streamlined the config.tsx file for better organization.
2025-04-10 00:58:14 +08:00
javayhu
4d47201ce3 refactor: reorganize website configuration and update imports
- Moved website configuration to a new file for better modularity and maintainability.
- Updated import paths across the codebase to reference the new website configuration location.
- Removed the old website configuration from the config.tsx file to streamline the codebase.
2025-04-10 00:43:52 +08:00
javayhu
165673a998 feat: add pricing plans and enhance payment configuration
- Introduced new pricing plans (Free, Pro, Lifetime) with detailed descriptions and features in both English and Chinese.
- Updated payment configuration to include new plans and their pricing structures.
- Refactored payment-related functions to retrieve pricing plans consistently across the application.
- Enhanced the PricingTable component to dynamically display available plans based on the new configuration.
- Removed deprecated payment configuration file to streamline the codebase.
2025-04-10 00:26:55 +08:00
javayhu
31a4823b54 refactor: update storage imports and improve function naming
- Changed import paths for StorageError to use the correct types module across storage-related API routes.
- Renamed functions in storage/index.ts for clarity, updating getStorageProvider and initializeStorageProvider to better reflect their functionality.
- Streamlined API endpoint constants for improved readability and maintainability in storage operations.
2025-04-09 23:50:57 +08:00
javayhu
41a2380791 refactor: reorganize mail and newsletter provider logic for clarity
- Updated mail provider functions to improve naming consistency and clarity, renaming initializeMailProvider to getMailProvider and vice versa.
- Enhanced README documentation for both mail and newsletter modules to reflect structural changes and clarify usage.
- Streamlined imports and exports in mail and newsletter files for better organization.
- Added error handling in ResendNewsletterProvider constructor to ensure required environment variables are set.
- Removed deprecated code and unnecessary type exports to simplify the codebase.
2025-04-09 23:44:11 +08:00
javayhu
d491835ef1 refactor: consolidate email sending logic and update template handling
- Merged sendTemplate and sendRawEmail functions into a single sendEmail function for improved clarity and maintainability.
- Introduced getTemplate function to handle rendering of email templates with context and locale.
- Updated EmailTemplates export to include all available templates directly in types.ts.
- Removed deprecated mail.ts and templates/index.ts files to streamline the codebase.
2025-04-09 23:28:57 +08:00
javayhu
9dca440d91 refactor: rename send function to sendEmail for clarity
- Updated references from send to sendEmail in send-message.ts and auth.ts for consistency.
- Adjusted exports in mail/index.ts to reflect the new function name.
- Removed unused mail-config.ts file to streamline the mail configuration process.
2025-04-09 23:18:01 +08:00
javayhu
2779eb9d5f refactor: update email templates and types for improved clarity
- Renamed Template type to EmailTemplate for consistency across the codebase.
- Updated email template functions to use simplified translation keys.
- Removed unused MailConfig interface and adjusted default mail configuration.
- Enhanced imports in mail-related files for better organization and readability.
2025-04-09 23:13:27 +08:00
javayhu
7b5754514c chore: rename email templates folder 2025-04-09 23:04:17 +08:00
javayhu
da67593e27 refactor: enhance pricing table logic
- Changed button class in ForgotPasswordForm and ResetPasswordForm to improve user interaction.
- Updated PricingCard to replace Check icon with CheckCircleIcon for better visual representation.
- Enhanced PricingTable logic to filter out disabled plans and prices, ensuring only available options are displayed.
- Added comments in payment types to clarify when to disable plans and prices for existing users.
2025-04-09 22:15:59 +08:00
javayhu
3c05657fe0 feat: add userId handling and enhance payment actions & optimize the whole payment process
- Introduced userId parameter in createCheckoutAction and createPortalAction for improved user-specific session management.
- Updated components to pass userId instead of customerId, aligning with the new payment structure.
- Added new actions to retrieve active subscription and lifetime status, ensuring users can check their subscription details securely.
- Created SQL migration for new payment-related tables, establishing a robust foundation for payment management.
- Enhanced error handling and logging in payment actions for better debugging and user feedback.
2025-04-09 14:31:08 +08:00
javayhu
e45d2504e6 refactor: clean up billing components and improve session handling
- Removed commented-out code in BillingPage to enhance readability.
- Updated CheckoutButton to always refetch session data for accurate user information.
- Streamlined console log statements in BillingCard for better clarity.
- Adjusted comments in BillingCard to provide clearer context on button visibility based on user status.
- Refactored usePayment hook to fetch payment data whenever the user session changes, improving data accuracy.
2025-04-09 01:19:07 +08:00
javayhu
ced7f41af2 refactor: update subscription handling and use payment & payment store
- Enhanced getCustomerSubscriptionAction to return the most recent active or trialing subscription when multiple subscriptions exist.
- Simplified UpgradeCard component by removing the user prop and directly utilizing the payment hook for current plan checks.
- Updated CustomerPortalButton to use 'default' variant instead of 'outline'.
- Refactored PricingTable to accept currentPlan instead of currentPlanId for improved clarity.
- Adjusted BillingCard to streamline error handling and utilize currentPlan for determining user status.
2025-04-09 00:22:19 +08:00
javayhu
097c1343be refactor: rename and update subscription handling methods
- Renamed ListCustomerSubscriptionsParams to getCustomerSubscriptionsParams for clarity.
- Updated listCustomerSubscriptions method in StripeProvider to getCustomerSubscriptions, improving consistency in naming.
- Adjusted method implementations to reflect the new naming conventions, enhancing code readability and maintainability.
2025-04-08 23:13:02 +08:00
javayhu
f34ee11df8 refactor: update payment schema and improve subscription handling
- Made customerId in the payment schema mandatory to ensure data integrity.
- Updated Subscription interface to make currentPeriodStart optional and replaced canceledAt with trialStartDate for better clarity.
- Refactored listCustomerSubscriptions method in StripeProvider to fetch subscriptions from the database instead of Stripe API, enhancing performance and maintainability.
- Added a new private method to map Stripe subscription status to the application's PaymentStatus for improved status handling.
2025-04-08 23:04:42 +08:00
javayhu
5753b1c28f feat: introduce payment management system and refactor related components
- Added new SQL migration to create "account", "payment", "user", and "verification" tables, establishing a foundational structure for payment management.
- Updated existing codebase to replace subscription references with payment, including hooks, providers, and actions.
- Refactored components to utilize the new payment system, enhancing clarity and maintainability.
- Removed deprecated subscription provider and related logic, streamlining the payment handling process.
- Enhanced error handling and logging for improved debugging in payment management.
2025-04-08 01:48:51 +08:00
javayhu
76e618bbea refactor: update payment types and improve subscription handling
- Renamed SubscriptionTypes to PaymentTypes to better reflect the payment model.
- Updated references in getUserLifetimeStatus action and StripeProvider to use the new PaymentTypes enum.
- Adjusted type definitions in payment/types.ts for clarity and consistency in payment handling.
- Enhanced comments to clarify the purpose of payment types and their usage in the codebase.
2025-04-08 01:10:25 +08:00
javayhu
e59824c97b feat: add subscription type handling and update related SQL migrations
- Introduced a new column "type" in the "subscription" table to differentiate between subscription types (one-time and recurring).
- Updated existing records to set the "type" based on the presence of "subscription_id".
- Modified the "interval" column to allow null values.
- Updated SQL snapshots and journal to reflect the new migration versions.
- Enhanced the getUserLifetimeStatus action to utilize the new subscription type logic for better membership status checks.
2025-04-08 01:04:23 +08:00
javayhu
c4fdcddf0a feat: enhance checkout session metadata and payment status handling
- Added userId to metadata in createCheckoutAction for improved webhook event processing.
- Updated StripeProvider to handle userId and planId from session metadata, enhancing subscription management.
- Introduced 'paused' status in PaymentStatus type for better subscription state representation.
- Improved comments for clarity in metadata handling and subscription status conversion.
2025-04-08 00:27:42 +08:00
javayhu
49a9de1a05 refactor: standardize session handling and clean up payment-related code
- Replaced instances of `authSession` with `session` for consistency across actions.
- Removed unused `getCustomer` function and related types from payment module to streamline codebase.
- Enhanced `createOrGetCustomer` method to simplify customer creation logic.
- Updated metadata handling in checkout session creation for improved clarity and maintainability.
2025-04-08 00:15:08 +08:00
javayhu
52559865ca feat: remove lifetimeMember from user schema && update fetch subscription
- Created SQL migration to drop unique constraint and columns from the user table.
- Updated journal and snapshot metadata to reflect the new migration version.
- Refactored user schema to remove the lifetimeMember field, aligning with the new subscription management logic.
- Enhanced getUserLifetimeStatus action to utilize updated subscription data structure.
2025-04-07 23:35:15 +08:00
javayhu
a4075c4728 feat: add getUserLifetimeStatus action and integrate with subscription store
- Implemented getUserLifetimeStatus action to retrieve user's lifetime membership status from the database.
- Updated subscription store to check lifetime membership status against the database if session data is outdated.
- Enhanced error handling and logging for better debugging in the subscription management process.
- Added console logs for tracking user session and lifetime status checks in billing components.
2025-04-07 01:28:36 +08:00
javayhu
7a5cf227c4 feat: implement subscription management features
- Added SubscriptionProvider to manage subscription state and initialize it on app load.
- Integrated useSubscription hook for accessing subscription data across components.
- Updated NavUser and UserButton components to reset subscription state on sign out.
- Refactored BillingCard to utilize the new subscription logic, improving clarity and performance.
- Enhanced UpgradeCard to conditionally render based on subscription status.
2025-04-06 23:59:48 +08:00
javayhu
be82337924 refactor: update billing card logic and localization
- Renamed variables for clarity, changing `isLifetimeMember` to `isLifetimePlan` and `canUpgrade` logic to improve readability.
- Added localization support for the price label in both English and Chinese.
- Optimized the UI to conditionally display messages for free and lifetime plans, enhancing user experience.
2025-04-06 23:08:53 +08:00