11'use client' ;
22
33import { NavLink } from '@/components/link' ;
4- import { links } from '@/config/common' ;
4+ import { APP_ENV , links } from '@/config/common' ;
55import Cookies from 'js-cookie' ;
66import { usePathname } from 'next/navigation' ;
77import { useEffect , useState } from 'react' ;
@@ -130,10 +130,16 @@ function DarkModeSelector({
130130 if ( ! defaultTheme ) {
131131 if ( window . matchMedia ( '(prefers-color-scheme: dark)' ) . matches ) {
132132 document . documentElement . classList . add ( 'dark' ) ;
133- Cookies . set ( 'theme' , 'dark' ) ;
133+ Cookies . set ( 'theme' , 'dark' , {
134+ expires : 365 ,
135+ secure : APP_ENV === 'production' ,
136+ } ) ;
134137 } else {
135138 document . documentElement . classList . remove ( 'dark' ) ;
136- Cookies . set ( 'theme' , 'light' ) ;
139+ Cookies . set ( 'theme' , 'light' , {
140+ expires : 365 ,
141+ secure : APP_ENV === 'production' ,
142+ } ) ;
137143 }
138144 }
139145 setTheme ( Cookies . get ( 'theme' ) as Theme ) ;
@@ -144,7 +150,10 @@ function DarkModeSelector({
144150 switch ( t ) {
145151 case 'dark' :
146152 document . documentElement . classList . remove ( 'dark' ) ;
147- Cookies . set ( 'theme' , 'light' ) ;
153+ Cookies . set ( 'theme' , 'light' , {
154+ expires : 365 ,
155+ secure : APP_ENV === 'production' ,
156+ } ) ;
148157 return 'light' ;
149158 case 'light' :
150159 if ( window . matchMedia ( '(prefers-color-scheme: dark)' ) . matches ) {
@@ -156,7 +165,10 @@ function DarkModeSelector({
156165 return ;
157166 default :
158167 document . documentElement . classList . add ( 'dark' ) ;
159- Cookies . set ( 'theme' , 'dark' ) ;
168+ Cookies . set ( 'theme' , 'dark' , {
169+ expires : 365 ,
170+ secure : APP_ENV === 'production' ,
171+ } ) ;
160172 return 'dark' ;
161173 }
162174 } ) ;
0 commit comments