Оформление тематического оформления
Оформление тематического оформления
Использование и настройка тем
Вы можете настроить интерфейс 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 accentColorInformation string "#0E76FD"accentColorForegroundInformation string "white"borderRadiusInformation enum Information largefontStackInformation enum Information roundedoverlayBlurInformation 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.
По умолчанию стек шрифтов настроен на rounded. Вот как вы можете использовать конфигурацию fontStack.
Установите стек шрифтов на system.
import { RainbowKitProvider , darkTheme } from '@rainbow-me/rainbowkit' ;
const App = ( ) => {
return (
< RainbowKitProvider
theme = { darkTheme ( {
fontStack: 'system' ,
} ) }
{ ... etc}
>
{ }
</ RainbowKitProvider >
) ;
} ;
По умолчанию размытие наложения установлено в 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 >
) ;