balibabu commited on
Commit
9ba804f
·
1 Parent(s): 12b6347

feat: Add background colors such as inverse-strong #3221 (#3346)

Browse files

### What problem does this PR solve?

feat: Add background colors such as inverse-strong #3221

### Type of change


- [x] New Feature (non-breaking change which adds functionality)

web/src/components/ui/segmented .tsx CHANGED
@@ -25,9 +25,19 @@ export interface SegmentedProps
25
  motionName?: string;
26
  }
27
 
28
- export function Segmented({ options, value, onChange }: SegmentedProps) {
 
 
 
 
 
29
  return (
30
- <div className="flex items-center rounded-sm p-1 gap-2 bg-zinc-200">
 
 
 
 
 
31
  {options.map((option) => {
32
  const isObject = typeof option === 'object';
33
  const actualValue = isObject ? option.value : option;
@@ -36,9 +46,9 @@ export function Segmented({ options, value, onChange }: SegmentedProps) {
36
  <div
37
  key={actualValue}
38
  className={cn(
39
- 'inline-flex items-center px-2 py-1 text-sm font-medium rounded-sm cursor-pointer',
40
 
41
- { 'bg-indigo-400': value === actualValue },
42
  )}
43
  onClick={() => onChange?.(actualValue)}
44
  >
 
25
  motionName?: string;
26
  }
27
 
28
+ export function Segmented({
29
+ options,
30
+ value,
31
+ onChange,
32
+ className,
33
+ }: SegmentedProps) {
34
  return (
35
+ <div
36
+ className={cn(
37
+ 'flex items-center rounded-sm p-1 gap-2 bg-zinc-200',
38
+ className,
39
+ )}
40
+ >
41
  {options.map((option) => {
42
  const isObject = typeof option === 'object';
43
  const actualValue = isObject ? option.value : option;
 
46
  <div
47
  key={actualValue}
48
  className={cn(
49
+ 'inline-flex items-center px-3 py-2 text-sm font-medium rounded-sm cursor-pointer',
50
 
51
+ { 'bg-backgroundCoreStandard': value === actualValue },
52
  )}
53
  onClick={() => onChange?.(actualValue)}
54
  >
web/src/pages/home/header.tsx CHANGED
@@ -5,6 +5,7 @@ import { Segmented, SegmentedValue } from '@/components/ui/segmented ';
5
  import { useTranslate } from '@/hooks/common-hooks';
6
  import { useNavigateWithFromState } from '@/hooks/route-hook';
7
  import {
 
8
  Cpu,
9
  Github,
10
  Library,
@@ -63,7 +64,7 @@ export function HomeHeader() {
63
  }, [navigate]);
64
 
65
  return (
66
- <section className="px-[60px] py-[12px] flex justify-between">
67
  <div className="flex items-center gap-4">
68
  <img
69
  src={'/logo.svg'}
@@ -82,11 +83,17 @@ export function HomeHeader() {
82
  options={options}
83
  value={currentPath}
84
  onChange={handleChange}
 
85
  ></Segmented>
86
  </div>
87
  <div className="flex items-center gap-4">
88
- <Button variant="secondary">V 0.13.0</Button>
89
  <Container>
 
 
 
 
 
 
90
  <Avatar className="w-[30px] h-[30px]">
91
  <AvatarImage src="https://github.com/shadcn.png" />
92
  <AvatarFallback>CN</AvatarFallback>
 
5
  import { useTranslate } from '@/hooks/common-hooks';
6
  import { useNavigateWithFromState } from '@/hooks/route-hook';
7
  import {
8
+ ChevronDown,
9
  Cpu,
10
  Github,
11
  Library,
 
64
  }, [navigate]);
65
 
66
  return (
67
+ <section className="px-[60px] py-[12px] flex justify-between items-center">
68
  <div className="flex items-center gap-4">
69
  <img
70
  src={'/logo.svg'}
 
83
  options={options}
84
  value={currentPath}
85
  onChange={handleChange}
86
+ className="bg-backgroundInverseStandard text-backgroundInverseStandard-foreground"
87
  ></Segmented>
88
  </div>
89
  <div className="flex items-center gap-4">
 
90
  <Container>
91
+ V 0.13.0
92
+ <Button variant="secondary" className="size-8">
93
+ <ChevronDown />
94
+ </Button>
95
+ </Container>
96
+ <Container className="px-3 py-2">
97
  <Avatar className="w-[30px] h-[30px]">
98
  <AvatarImage src="https://github.com/shadcn.png" />
99
  <AvatarFallback>CN</AvatarFallback>
web/tailwind.config.js CHANGED
@@ -22,15 +22,15 @@ module.exports = {
22
  border: 'hsl(var(--border))',
23
  input: 'hsl(var(--input))',
24
  ring: 'hsl(var(--ring))',
25
- background: 'hsl(var(--background))',
26
  foreground: 'hsl(var(--foreground))',
27
  primary: {
28
  DEFAULT: 'hsl(var(--primary))',
29
  foreground: 'hsl(var(--primary-foreground))',
30
  },
31
  secondary: {
32
- DEFAULT: 'hsl(var(--secondary))',
33
- foreground: 'hsl(var(--secondary-foreground))',
34
  },
35
  destructive: {
36
  DEFAULT: 'hsl(var(--destructive))',
@@ -49,13 +49,21 @@ module.exports = {
49
  foreground: 'hsl(var(--popover-foreground))',
50
  },
51
  card: {
52
- DEFAULT: 'hsl(var(--card))',
53
- foreground: 'hsl(var(--card-foreground))',
54
  },
55
  backgroundInverseStandard: {
56
  DEFAULT: 'var(--background-inverse-standard)',
57
  foreground: 'var(--background-inverse-standard-foreground)',
58
  },
 
 
 
 
 
 
 
 
59
  },
60
  borderRadius: {
61
  lg: `var(--radius)`,
 
22
  border: 'hsl(var(--border))',
23
  input: 'hsl(var(--input))',
24
  ring: 'hsl(var(--ring))',
25
+ background: 'var(--background)',
26
  foreground: 'hsl(var(--foreground))',
27
  primary: {
28
  DEFAULT: 'hsl(var(--primary))',
29
  foreground: 'hsl(var(--primary-foreground))',
30
  },
31
  secondary: {
32
+ DEFAULT: 'var(--background-inverse-strong)',
33
+ foreground: 'var(--background-inverse-strong-foreground)',
34
  },
35
  destructive: {
36
  DEFAULT: 'hsl(var(--destructive))',
 
49
  foreground: 'hsl(var(--popover-foreground))',
50
  },
51
  card: {
52
+ DEFAULT: 'var(--background-inverse-standard)',
53
+ foreground: 'var(--background-inverse-standard-foreground)',
54
  },
55
  backgroundInverseStandard: {
56
  DEFAULT: 'var(--background-inverse-standard)',
57
  foreground: 'var(--background-inverse-standard-foreground)',
58
  },
59
+ backgroundInverseWeak: {
60
+ DEFAULT: 'var(--background-inverse-weak)',
61
+ foreground: 'var(--background-inverse-weak-foreground)',
62
+ },
63
+ backgroundCoreStandard: {
64
+ DEFAULT: 'var(--background-core-standard)',
65
+ foreground: 'var(--background-core-standard-foreground)',
66
+ },
67
  },
68
  borderRadius: {
69
  lg: `var(--radius)`,
web/tailwind.css CHANGED
@@ -40,7 +40,7 @@
40
  }
41
 
42
  .dark {
43
- --background: 224 71% 4%;
44
  --foreground: 213 31% 91%;
45
 
46
  --muted: 223 47% 11%;
@@ -73,6 +73,15 @@
73
 
74
  --background-inverse-standard: rgba(230, 227, 246, 0.15);
75
  --background-inverse-standard-foreground: rgba(255, 255, 255, 1);
 
 
 
 
 
 
 
 
 
76
  }
77
  }
78
 
 
40
  }
41
 
42
  .dark {
43
+ --background: rgba(11, 10, 18, 1);
44
  --foreground: 213 31% 91%;
45
 
46
  --muted: 223 47% 11%;
 
73
 
74
  --background-inverse-standard: rgba(230, 227, 246, 0.15);
75
  --background-inverse-standard-foreground: rgba(255, 255, 255, 1);
76
+
77
+ --background-inverse-weak: rgba(184, 181, 203, 0.15);
78
+ --background-inverse-weak-foreground: rgba(255, 255, 255, 1);
79
+
80
+ --background-core-standard: rgba(137, 126, 255, 1);
81
+ --background-core-standard-foreground: rgba(255, 255, 255, 1);
82
+
83
+ --background-inverse-strong: rgba(255, 255, 255, 0.15);
84
+ --background-inverse-strong-foreground: rgba(255, 255, 255, 1);
85
  }
86
  }
87