Vuetify-preset-rally
Rally is a personal finance app that uses Material Design components and Material Theming to create an on-brand experience with a data-driven aesthetic.
index.js
require('./overrides.sass')
const preset = {
theme: {
dark: true,
themes: {
dark: {
primary: '#1EB980',
secondary: '#045D56',
tertiary: '#FF6859',
quaternary: '#FFCF44',
quinary: '#B15DFF',
senary: '#72DEFF',
},
},
},
}
module.exports = { preset }
overrides.sass
@import './variables.scss'
.theme--dark
.v-card.v-sheet,
.v-snack > .v-snack__wrapper
box-shadow: $rally-box-shadow
.v-card.v-sheet
> .v-card__text,
.v-card__subtitle
color: $rally-text-color
.v-tabs
.v-tabs-slider
background: $rally-tabs-slider-background
.v-tab.v-tab--active
color: $rally-text-color
.v-navigation-drawer.v-navigation-drawer,
.v-toolbar.v-toolbar
background-color: map-get($material-dark, 'background')
.v-dialog > .theme--dark.v-card.v-sheet
background-color: $rally-dialog-background-color
variables.sass
@import '~vuetify/src/styles/styles.sass';
// Rally specific variables
$rally-box-shadow: none;
$rally-dialog-background-color: #1F1E1F;
$rally-font-size: 16;
$rally-tabs-slider-background: transparent;
$rally-text-color: #FFFFFF;
// Preset variables
$body-font-family: 'Roboto Condensed', sans-serif;
$heading-font-family: 'Eczar', sans-serif;
$border-radius-root: 0;
$btn-font-size: #{14 / $rally-font-size}rem;
$btn-font-weight: 700;
$card-box-shadow: none;
$dialog-card-subtitle-padding: 24px;
$dialog-card-text-padding: 24px;
$dialog-card-title-padding: 24px;
$dialog-elevation: 0;
$headings: (
'h1':(
'font-family': $body-font-family,
'letter-spacing': initial,
'size': #{96 / $rally-font-size}rem,
'weight': 300
),
'h2':(
'font-family': $body-font-family,
'letter-spacing': initial,
'size': #{60 / $rally-font-size}rem,
'weight': 300
),
'h3':(
'font-family': $heading-font-family,
'letter-spacing': initial,
'size': #{48 / $rally-font-size}rem,
'weight': 400
),
'h4':(
'font-family': $body-font-family,
'letter-spacing': initial,
'size': #{34 / $rally-font-size}rem,
'weight': 400
),
'h5':(
'font-family': $body-font-family,
'letter-spacing': initial,
'size': #{24 / $rally-font-size}rem,
'weight': 400
),
'h6':(
'font-family': $body-font-family,
'letter-spacing': initial,
'size': #{20 / $rally-font-size}rem,
'weight': 500
),
'subtitle-1':(
'font-family': $body-font-family,
'letter-spacing': initial,
'size': #{16 / $rally-font-size}rem,
'weight': 400
),
'subtitle-2':(
'font-family': $body-font-family,
'letter-spacing': initial,
'size': #{14 / $rally-font-size}rem,
'weight': 500
),
'body-1':(
'font-family': $heading-font-family,
'letter-spacing': initial,
'size': #{16 / $rally-font-size}rem,
'weight': 400
),
'body-2':(
'font-family': $body-font-family,
'letter-spacing': initial,
'size': #{14 / $rally-font-size}rem,
'weight': 300
),
'caption':(
'font-family': $body-font-family,
'letter-spacing': initial,
'size': #{12 / $rally-font-size}rem,
'weight': 400
),
'overline':(
'font-family': $body-font-family,
'letter-spacing': initial,
'size': #{10 / $rally-font-size}rem,
'weight': 400
)
);
$material-dark: (
'status-bar': (
'regular': #27272f
),
'background': #33333d,
'cards': #373740,
'dividers': #33333d,
'tabs': rgba(255, 255, 255, .3)
);
$material-light: (
'dividers': rgba(255, 255, 255, .12)
);
$navigation-drawer-border-width: 0;
$snackbar-background-color: rgba(39, 39, 47, .9);
$tab-font-size: 1.25rem;
$tab-font-weight: 500;
$tabs-item-min-width: 0;
$tabs-bar-background-color: map-get($material-dark, 'background');
Colors
Rally-color-system.png
Color Theme
Rally-color-theme.png
JavaScript Color Code
const rallyColors = {
green: {
50: '#b6fff2',
100: '#88fee1',
200: '#5df7d2',
300: '#37efba',
400: '#00e5a8',
500: '#1eb980',
600: '#009c68',
700: '#007d51',
800: '#005f35',
900: '#00391e',
},
cyan: /*DarkGreen*/ {
50: '#deeeee',
100: '#b7e1e1',
200: '#8bd8d9',
300: '#56d1ca',
400: '#15d1c6',
500: '#00aea4',
600: '#00837b',
700: '#045d56',
800: '#004940',
900: '#00312a',
},
orange: {
50: '#ffd7d0',
100: '#ffb3a6',
200: '#ff857c',
300: '#ff6859',
400: '#ff3522',
500: '#ff0600',
600: '#df0000',
700: '#b50000',
800: '#8c0000',
900: '#620002',
},
yellow: {
50: '#fff8e5',
100: '#ffebb0',
200: '#ffdc78',
300: '#ffcf44',
400: '#ffbc2b',
500: '#ffac12',
600: '#ff8500',
700: '#ff7000',
800: '#f75500',
900: '#e83400',
},
purple: {
50: '#decaf7',
100: '#cb9af8',
200: '#b15dff',
300: '#a932ff',
400: '#a500ff',
500: '#a000f1',
600: '#9200c8',
700: '#7f009f',
800: '#63007c',
900: '#460052',
},
blue: {
50: '#eafdff',
100: '#b2f2ff',
200: '#72deff',
300: '#5cceff',
400: '#42c6ff',
500: '#24b4ff',
600: '#009bff',
700: '#0082fb',
800: '#0077e5',
900: '#005ccc',
},
};
See also
- Material Design
- vuetify
- vuetify-preset-basil
- vuetify-preset-crane
- vuetify-preset-fortnightly
- vuetify-preset-owl
- vuetify-preset-rally
- vuetify-preset-reply
- vuetify-preset-shrine