StyleGuide.qml 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. import QtQuick 2.15
  2. pragma Singleton
  3. QtObject {
  4. id: root
  5. readonly property var palette: ({
  6. "bg": "#071018",
  7. "bgShade": "#061214",
  8. "dim": Qt.rgba(0, 0, 0, 0.45),
  9. "panelBase": "#0E1C1E",
  10. "panelBr": "#0f2430",
  11. "cardBase": "#132526",
  12. "cardBaseA": "#132526AA",
  13. "cardBaseB": "#06141b",
  14. "cardBorder": "#12323a",
  15. "hover": "#184c7a",
  16. "hoverBg": "#184c7a",
  17. "selected": "#1f8bf5",
  18. "selectedBg": "#1f8bf5",
  19. "selectedBr": "#1b74d1",
  20. "thumbBr": "#2A4E56",
  21. "border": "#0f2b34",
  22. "textMain": "#eaf6ff",
  23. "textBright": "#dff0ff",
  24. "textSub": "#86a7b6",
  25. "textSubLite": "#79a6b7",
  26. "textDim": "#4f6a75",
  27. "textHint": "#2a5e6e",
  28. "accent": "#9fd9ff",
  29. "accentBright": "#d0e8ff",
  30. "addColor": "#3A9CA8",
  31. "removeColor": "#D04040",
  32. "dangerColor": "#D04040",
  33. "startColor": "#40D080"
  34. })
  35. readonly property var button: ({
  36. "primary": {
  37. "normalBg": palette.selectedBg,
  38. "hoverBg": "#2a7fe0",
  39. "pressBg": palette.selectedBr,
  40. "disabledBg": "#0a1a24",
  41. "normalBorder": palette.selectedBr,
  42. "hoverBorder": palette.selectedBr,
  43. "disabledBorder": palette.panelBr,
  44. "textColor": "white",
  45. "disabledTextColor": "#6f8793",
  46. "radius": 9,
  47. "height": 40,
  48. "minWidth": 120,
  49. "fontSize": 12,
  50. "hoverFontSize": 13
  51. },
  52. "secondary": {
  53. "normalBg": "transparent",
  54. "hoverBg": palette.cardBase,
  55. "pressBg": palette.hover,
  56. "disabledBg": "transparent",
  57. "normalBorder": palette.cardBorder,
  58. "hoverBorder": palette.thumbBr,
  59. "disabledBorder": palette.panelBr,
  60. "textColor": palette.textBright,
  61. "disabledTextColor": palette.textDim,
  62. "radius": 8,
  63. "height": 38,
  64. "minWidth": 100,
  65. "fontSize": 11,
  66. "hoverFontSize": 12
  67. },
  68. "small": {
  69. "normalBg": palette.addColor,
  70. "hoverBg": Qt.lighter(palette.addColor, 1.2),
  71. "pressBg": Qt.darker(palette.addColor, 1.2),
  72. "disabledBg": palette.cardBase,
  73. "normalBorder": Qt.lighter(palette.addColor, 1.1),
  74. "hoverBorder": Qt.lighter(palette.addColor, 1.3),
  75. "disabledBorder": palette.thumbBr,
  76. "textColor": "white",
  77. "disabledTextColor": palette.textDim,
  78. "radius": 6,
  79. "height": 32,
  80. "minWidth": 80,
  81. "fontSize": 11,
  82. "hoverFontSize": 11
  83. },
  84. "danger": {
  85. "normalBg": "transparent",
  86. "hoverBg": palette.dangerColor,
  87. "pressBg": Qt.darker(palette.dangerColor, 1.2),
  88. "disabledBg": "transparent",
  89. "normalBorder": palette.dangerColor,
  90. "hoverBorder": palette.dangerColor,
  91. "disabledBorder": palette.thumbBr,
  92. "textColor": palette.dangerColor,
  93. "hoverTextColor": "white",
  94. "disabledTextColor": palette.textDim,
  95. "radius": 4,
  96. "height": 32,
  97. "minWidth": 32,
  98. "fontSize": 14,
  99. "hoverFontSize": 14
  100. }
  101. })
  102. readonly property var card: ({
  103. "radius": 8,
  104. "borderWidth": 1,
  105. "bg": palette.cardBase,
  106. "border": palette.cardBorder,
  107. "hoverBg": palette.hover,
  108. "selectedBg": palette.selected,
  109. "selectedBorder": palette.selectedBr
  110. })
  111. readonly property var listItem: ({
  112. "height": 48,
  113. "radius": 6,
  114. "spacing": 10,
  115. "bg": palette.cardBaseB,
  116. "border": palette.thumbBr,
  117. "borderWidth": 1
  118. })
  119. readonly property var animation: ({
  120. "fast": 120,
  121. "normal": 160,
  122. "slow": 200
  123. })
  124. readonly property var unitIcons: ({
  125. "archer": "🏹",
  126. "swordsman": "⚔️",
  127. "spearman": "🛡️",
  128. "horse_swordsman": "🐎⚔️",
  129. "horse_archer": "🏹🐎",
  130. "horse_spearman": "🐎🛡️",
  131. "healer": "✚",
  132. "builder": "🔨",
  133. "catapult": "🛞",
  134. "ballista": "🎯",
  135. "elephant": "🐘",
  136. "defense_tower": "🏰",
  137. "wall": "🧱",
  138. "home": "🏠",
  139. "default": "👤"
  140. })
  141. readonly property var unitIconSources: ({
  142. "archer": ({
  143. "default": root.iconPath("archer_rome.png"),
  144. "roman_republic": root.iconPath("archer_rome.png"),
  145. "carthage": root.iconPath("archer_cartaghe.png")
  146. }),
  147. "swordsman": ({
  148. "default": root.iconPath("swordsman_rome.png"),
  149. "roman_republic": root.iconPath("swordsman_rome.png"),
  150. "carthage": root.iconPath("swordsman_cartaghe.png")
  151. }),
  152. "spearman": ({
  153. "default": root.iconPath("spearman_rome.png"),
  154. "roman_republic": root.iconPath("spearman_rome.png"),
  155. "carthage": root.iconPath("spearman_cartaghe.png")
  156. }),
  157. "horse_swordsman": ({
  158. "default": root.iconPath("horse_swordsman_rome.png"),
  159. "roman_republic": root.iconPath("horse_swordsman_rome.png"),
  160. "carthage": root.iconPath("horse_swordsman_cartaghe.png")
  161. }),
  162. "horse_archer": ({
  163. "default": root.iconPath("horse_archer_rome.png"),
  164. "roman_republic": root.iconPath("horse_archer_rome.png"),
  165. "carthage": root.iconPath("horse_archer_cartaghe.png")
  166. }),
  167. "horse_spearman": ({
  168. "default": root.iconPath("horse_spearman_rome.png"),
  169. "roman_republic": root.iconPath("horse_spearman_rome.png"),
  170. "carthage": root.iconPath("horse_spearman_cartaghe.png")
  171. }),
  172. "healer": ({
  173. "default": root.iconPath("healer_rome.png"),
  174. "roman_republic": root.iconPath("healer_rome.png"),
  175. "carthage": root.iconPath("healer_cartaghe.png")
  176. }),
  177. "builder": ({
  178. "default": root.iconPath("builder_rome.png"),
  179. "roman_republic": root.iconPath("builder_rome.png"),
  180. "carthage": root.iconPath("builder_cartaghe.png")
  181. }),
  182. "catapult": ({
  183. "default": root.iconPath("catapult_rome.png"),
  184. "roman_republic": root.iconPath("catapult_rome.png"),
  185. "carthage": root.iconPath("catapult_cartaghe.png")
  186. }),
  187. "ballista": ({
  188. "default": root.iconPath("ballista_rome.png"),
  189. "roman_republic": root.iconPath("ballista_rome.png"),
  190. "carthage": root.iconPath("ballista_cartaghe.png")
  191. }),
  192. "elephant": ({
  193. "default": root.iconPath("elephant_cartaghe.png"),
  194. "roman_republic": root.iconPath("elephant_cartaghe.png"),
  195. "carthage": root.iconPath("elephant_cartaghe.png")
  196. }),
  197. "defense_tower": ({
  198. "default": root.iconPath("defense_tower_rome.png"),
  199. "roman_republic": root.iconPath("defense_tower_rome.png"),
  200. "carthage": root.iconPath("defense_tower_cartaghe.png")
  201. }),
  202. "wall": ({
  203. "default": root.iconPath("wall_rome.png"),
  204. "roman_republic": root.iconPath("wall_rome.png"),
  205. "carthage": root.iconPath("wall_cartaghe.png")
  206. }),
  207. "home": ({
  208. "default": root.iconPath("house_rome.png"),
  209. "roman_republic": root.iconPath("house_rome.png"),
  210. "carthage": root.iconPath("house_cartaghe.png")
  211. }),
  212. "default": ({
  213. "default": ""
  214. })
  215. })
  216. function iconPath(filename) {
  217. return Qt.resolvedUrl("../../assets/visuals/icons/" + filename);
  218. }
  219. }