sub stylesheet {
my %styles = map {$_ => $_} @_;
- $style = exists $get{style} && $styles{$get{style}} || $_[0];
+
+ if (exists $get{style}) {
+ $style = $styles{ $get{style} };
+ require CGI::Cookie;
+ AddCookie(CGI::Cookie->new(
+ -name => 'style',
+ -value => $style,
+ -path => '/', # site-wide; current page is confusing to most users
+ -expires => $style ? '+5y' : '-1d',
+ )->as_string);
+ }
+
+ $style ||= exists $cookie{style} && $styles{ $cookie{style} } || $_[0];
+
return join "\n", map { sprintf(
'<link rel="%s" type="text/css" media="all" href="%s" title="%s">',
$_ eq $style ? 'stylesheet' : 'alternate stylesheet', "/$_.css", $_