Тематизація
Тематизація
Використання та налаштування тем
Ви можете налаштувати інтерфейс RainbowKit відповідно до вашого бренду. Ви можете обрати з кількох попередньо визначених акцентних кольорів і конфігурацій радіусу межі.
Існує 3 вбудовані функції теми:
Функція теми повертає об'єкт теми. Ви можете передати об'єкт у властивість theme
провайдера RainbowKitProvider
.
import { RainbowKitProvider , darkTheme } from '@rainbow-me/rainbowkit' ;
export const App = ( ) => (
< RainbowKitProvider theme = { darkTheme ( ) } { ... etc} >
{ }
</ RainbowKitProvider >
) ;
Якщо хочете, ви можете передати accentColor
, accentColorForeground
, borderRadius
, fontStack
та overlayBlur
для їх налаштування.
import { RainbowKitProvider , darkTheme } from '@rainbow-me/rainbowkit' ;
export const App = ( ) => (
< RainbowKitProvider
theme = { darkTheme ( {
accentColor : '#7b3fe4' ,
accentColorForeground : 'white' ,
borderRadius : 'small' ,
fontStack : 'system' ,
overlayBlur : 'small' ,
} ) }
{ ... etc}
>
{ }
</ RainbowKitProvider >
) ;
Вбудовані функції теми також приймають об'єкт опцій, що дозволяє вам вибрати з кількох різних візуальних стилів.
Prop Type Default accentColor
Information string
"#0E76FD"
accentColorForeground
Information string
"white"
borderRadius
Information enum
Information large
fontStack
Information enum
Information rounded
overlayBlur
Information enum
Information none
Наприклад, щоб налаштувати темну тему з акцентним фіолетовим кольором та радіусом границі medium
:
import { RainbowKitProvider , darkTheme } from '@rainbow-me/rainbowkit' ;
const App = ( ) => {
return (
< RainbowKitProvider
theme = { darkTheme ( {
accentColor: '#7b3fe4' ,
accentColorForeground: 'white' ,
borderRadius: 'medium' ,
} ) }
{ ... etc}
>
{ }
</ RainbowKitProvider >
) ;
} ;
Кожна тема також надає кілька попередньо встановлених кольорів акценту (blue
, green
, orange
, pink
, purple
, red
), які можна використовувати у об'єкті параметрів. Наприклад, щоб використовувати встановлений акцентний колір pink
:
import { RainbowKitProvider , darkTheme } from '@rainbow-me/rainbowkit' ;
const App = ( ) => {
return (
< RainbowKitProvider
theme = { darkTheme ( {
... darkTheme. accentColors . pink ,
} ) }
{ ... etc}
>
{ }
</ RainbowKitProvider >
) ;
} ;
Ось кілька різних способів використання властивості theme
.
Використовуйте тему darkTheme
.
import { RainbowKitProvider , darkTheme } from '@rainbow-me/rainbowkit' ;
export const App = ( ) => (
< RainbowKitProvider theme = { darkTheme ( ) } { ... etc} >
{ }
</ RainbowKitProvider >
) ;
Використовуйте тему midnightTheme
.
import {
RainbowKitProvider ,
midnightTheme,
} from '@rainbow-me/rainbowkit' ;
export const App = ( ) => (
< RainbowKitProvider theme = { midnightTheme ( ) } { ... etc} >
{ }
</ RainbowKitProvider >
) ;
Ось кілька різних способів використання конфігурації accentColor
.
Встановіть акцентний колір на користувацьке фіолетове значення.
import { RainbowKitProvider , darkTheme } from '@rainbow-me/rainbowkit' ;
const App = ( ) => {
return (
< RainbowKitProvider
theme = { darkTheme ( {
accentColor: '#7b3fe4' ,
accentColorForeground: 'white' ,
} ) }
{ ... etc}
>
{ }
</ RainbowKitProvider >
) ;
} ;
Встановіть акцентний колір на вбудований пресет green
.
import { RainbowKitProvider , darkTheme } from '@rainbow-me/rainbowkit' ;
const App = ( ) => {
return (
< RainbowKitProvider
theme = { darkTheme ( {
... darkTheme. accentColors . green ,
} ) }
{ ... etc}
>
{ }
</ RainbowKitProvider >
) ;
} ;
Ось кілька різних способів використання конфігурації borderRadius
.
Встановіть радіус кордону на medium
.
import { RainbowKitProvider , darkTheme } from '@rainbow-me/rainbowkit' ;
const App = ( ) => {
return (
< RainbowKitProvider
theme = { darkTheme ( {
borderRadius: 'medium' ,
} ) }
{ ... etc}
>
{ }
</ RainbowKitProvider >
) ;
} ;
Встановіть радіус кордону на none
.
import { RainbowKitProvider , darkTheme } from '@rainbow-me/rainbowkit' ;
const App = ( ) => {
return (
< RainbowKitProvider
theme = { darkTheme ( {
borderRadius: 'none' ,
} ) }
{ ... etc}
>
{ }
</ RainbowKitProvider >
) ;
} ;
Нагадування: доступні значення радіусу кордону: large
(за замовчуванням), medium
, small
та none
.
За замовчуванням, fontStack
встановлено в rounded
. Але ось як ви можете використовувати конфігурацію fontStack
.
Встановіть шрифтовий стек на system
.
import { RainbowKitProvider , darkTheme } from '@rainbow-me/rainbowkit' ;
const App = ( ) => {
return (
< RainbowKitProvider
theme = { darkTheme ( {
fontStack: 'system' ,
} ) }
{ ... etc}
>
{ }
</ RainbowKitProvider >
) ;
} ;
За замовчуванням, overlayBlur
встановлено в none
. Але ось як ви можете використовувати конфігурацію overlayBlur
.
Встановіть розмиття оверлею на small
.
import { RainbowKitProvider , darkTheme } from '@rainbow-me/rainbowkit' ;
const App = ( ) => {
return (
< RainbowKitProvider
theme = { darkTheme ( {
overlayBlur: 'small' ,
} ) }
{ ... etc}
>
{ }
</ RainbowKitProvider >
) ;
} ;
Ось кілька різних способів, як ви можете використовувати різні теми з пропсами accentColor
, borderRadius
та fontStack
разом.
Використовуйте тему lightTheme
Встановіть акцентний колір на користувацьке фіолетове значення
Встановіть радіус краю на medium
Встановіть шрифтовий стек на system
import { RainbowKitProvider , lightTheme } from '@rainbow-me/rainbowkit' ;
const App = ( ) => {
return (
< RainbowKitProvider
theme = { lightTheme ( {
accentColor: '#7b3fe4' ,
accentColorForeground: 'white' ,
borderRadius: 'medium' ,
fontStack: 'system' ,
} ) }
{ ... etc}
>
{ }
</ RainbowKitProvider >
) ;
} ;
Використовуйте тему midnightTheme
Встановіть акцентний колір на вбудований пресет pink
.
Встановіть радіус границі на small
Встановіть шрифтовий стек на system
import {
RainbowKitProvider ,
midnightTheme,
} from '@rainbow-me/rainbowkit' ;
const App = ( ) => {
return (
< RainbowKitProvider
theme = { midnightTheme ( {
... midnightTheme. accentColors . pink ,
borderRadius: 'small' ,
fontStack: 'system' ,
} ) }
{ ... etc}
>
{ }
</ RainbowKitProvider >
) ;
} ;
Якщо ваш додаток використовує стандартний медіа-запит prefers-color-scheme: dark
для перемикання між світлим і темним режимами, ви можете додатково надати динамічний об'єкт теми, що містить значення lightMode
та darkMode
.
import {
RainbowKitProvider ,
lightTheme,
darkTheme,
} from '@rainbow-me/rainbowkit' ;
const App = ( ) => (
< RainbowKitProvider
theme = { {
lightMode: lightTheme ( ) ,
darkMode: darkTheme ( ) ,
} }
{ ... etc}
>
{ }
</ RainbowKitProvider >
) ;