79 lines
2.2 KiB
Go
79 lines
2.2 KiB
Go
package theme
|
|
|
|
import (
|
|
"image/color"
|
|
|
|
"fyne.io/fyne/v2"
|
|
"fyne.io/fyne/v2/theme"
|
|
)
|
|
|
|
var (
|
|
OneDarkBackground = color.NRGBA{R: 40, G: 44, B: 52, A: 0xff} // #282c34 (helleres Grau)
|
|
OneDarkCardBackground = color.NRGBA{R: 30, G: 32, B: 40, A: 0xff} // #1e2028 (dunkler für Cards)
|
|
OneDarkText = color.NRGBA{R: 171, G: 178, B: 191, A: 0xff} // #abb2bf (Standard-Text)
|
|
OneDarkSubtleText = color.NRGBA{R: 110, G: 115, B: 141, A: 0xff} // #6e738d (deaktiviert, Placeholder)
|
|
|
|
OneDarkGreen = color.NRGBA{R: 152, G: 195, B: 121, A: 0xff} // #98c379
|
|
OneDarkRed = color.NRGBA{R: 224, G: 108, B: 117, A: 0xff} // #e06c75
|
|
OneDarkYellow = color.NRGBA{R: 229, G: 192, B: 123, A: 0xff} // #e5c07b
|
|
)
|
|
|
|
type KettlebellThemeOneDark struct{}
|
|
|
|
func (t *KettlebellThemeOneDark) Color(name fyne.ThemeColorName, variant fyne.ThemeVariant) color.Color {
|
|
switch name {
|
|
case theme.ColorNameBackground:
|
|
return OneDarkBackground
|
|
case theme.ColorNameButton:
|
|
return OneDarkGreen
|
|
case theme.ColorNameDisabledButton:
|
|
return OneDarkSubtleText
|
|
case theme.ColorNamePrimary:
|
|
return OneDarkGreen
|
|
case theme.ColorNamePlaceHolder:
|
|
return OneDarkSubtleText
|
|
case theme.ColorNameHover:
|
|
return OneDarkYellow
|
|
case theme.ColorNameForeground:
|
|
return OneDarkText
|
|
case theme.ColorNameDisabled:
|
|
return OneDarkSubtleText
|
|
case theme.ColorNameError:
|
|
return OneDarkRed
|
|
case theme.ColorNameInputBackground:
|
|
return OneDarkCardBackground
|
|
case theme.ColorNameSeparator:
|
|
return OneDarkSubtleText
|
|
case theme.ColorNameSelection:
|
|
return OneDarkYellow
|
|
case theme.ColorNameShadow:
|
|
return OneDarkCardBackground
|
|
case theme.ColorNameFocus:
|
|
return OneDarkYellow
|
|
default:
|
|
return theme.DefaultTheme().Color(name, variant)
|
|
}
|
|
}
|
|
|
|
func (t *KettlebellThemeOneDark) Icon(name fyne.ThemeIconName) fyne.Resource {
|
|
return theme.DefaultTheme().Icon(name)
|
|
}
|
|
|
|
func (t *KettlebellThemeOneDark) Font(style fyne.TextStyle) fyne.Resource {
|
|
return theme.DefaultTheme().Font(style)
|
|
}
|
|
|
|
func (t *KettlebellThemeOneDark) Size(name fyne.ThemeSizeName) float32 {
|
|
switch name {
|
|
case theme.SizeNamePadding:
|
|
return 8
|
|
case theme.SizeNameText:
|
|
return 16
|
|
case theme.SizeNameHeadingText:
|
|
return 24
|
|
case theme.SizeNameSubHeadingText:
|
|
return 20
|
|
default:
|
|
return theme.DefaultTheme().Size(name)
|
|
}
|
|
}
|