assets.dart 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. import 'package:nomo/config/theme/theme_extensions/theme_extension.dart';
  2. class Assets {
  3. // 国旗
  4. static String getCountryFlagImage(String contryCode) {
  5. if (contryCode.isEmpty) {
  6. return 'assets/flags/xx.svg';
  7. } else {
  8. return 'assets/flags/${contryCode.toLowerCase()}.svg';
  9. }
  10. }
  11. // 流媒体图标
  12. static String getStreamingIcon(String code) {
  13. if (code.isEmpty) {
  14. return 'assets/flags/xx.svg';
  15. } else {
  16. return 'assets/images/streaming/${code.toLowerCase()}.png';
  17. }
  18. }
  19. // 默认国旗
  20. static const String defaultFlag = 'assets/flags/xx.svg';
  21. static const String splashLogo = 'assets/images/splash_logo.png';
  22. static const String splashCenterBg = 'assets/images/splash_center_bg.png';
  23. static const String success = 'assets/images/success.png';
  24. static const String error = 'assets/images/error.png';
  25. // 联系我们
  26. static const String discord = 'assets/vectors/social/discord.svg';
  27. static const String facebook = 'assets/vectors/social/facebook.svg';
  28. static const String instagram = 'assets/vectors/social/instagram.svg';
  29. static const String telegram = 'assets/vectors/social/telegram.svg';
  30. static const String tiktok = 'assets/vectors/social/tiktok.svg';
  31. static const String whatsapp = 'assets/vectors/social/whatsapp.svg';
  32. static const String x = 'assets/vectors/social/x.svg';
  33. static const String youtube = 'assets/vectors/social/youtube.svg';
  34. static const String settings = 'assets/vectors/boost/settings.svg';
  35. static const String switchStatusDisconnected =
  36. 'assets/images/switch_status_disconnected.png';
  37. static const String switchStatusConnected =
  38. 'assets/images/switch_status_connected.png';
  39. static const String switchStatusConnecting =
  40. 'assets/images/switch_status_connecting.png';
  41. // 协议
  42. static const String nomoLogo = 'assets/images/nomo_logo.png';
  43. static const String nomo = 'assets/images/nomo.png';
  44. static const String refersh = 'assets/vectors/boost/refersh.svg';
  45. // 错误页
  46. static const String _restrictedDark = 'assets/images/dark/restricted.png';
  47. static const String _oopsDark = 'assets/images/dark/oops.png';
  48. static const String _restrictedLight = 'assets/images/light/restricted.png';
  49. static const String _oopsLight = 'assets/images/light/oops.png';
  50. // 根据主题获取标签资源
  51. static String get restricted =>
  52. ReactiveTheme.isLightTheme ? _restrictedLight : _restrictedDark;
  53. static String get oops => ReactiveTheme.isLightTheme ? _oopsLight : _oopsDark;
  54. // 连接状态
  55. static const String disconnected = 'assets/images/disconnected.png';
  56. static const String connecting = 'assets/images/connecting.png';
  57. static const String connected = 'assets/images/connected.png';
  58. static const String connectingError = 'assets/images/vpn_error.png';
  59. static const String connectionNetworkError = 'assets/images/network.png';
  60. // 标签资源 - Dark 版本
  61. static const String _premiumDark = 'assets/images/dark/premium.png';
  62. static const String _premiumExpiredDark =
  63. 'assets/images/dark/premium_expired.png';
  64. static const String _testDark = 'assets/images/dark/test.png';
  65. static const String _freeDark = 'assets/images/dark/free.png';
  66. // 标签资源 - Light 版本
  67. static const String _premiumLight = 'assets/images/light/premium.png';
  68. static const String _premiumExpiredLight =
  69. 'assets/images/light/premium_expired.png';
  70. static const String _testLight = 'assets/images/light/test.png';
  71. static const String _freeLight = 'assets/images/light/free.png';
  72. // 根据主题获取标签资源
  73. static String get premium =>
  74. ReactiveTheme.isLightTheme ? _premiumLight : _premiumDark;
  75. static String get premiumExpired =>
  76. ReactiveTheme.isLightTheme ? _premiumExpiredLight : _premiumExpiredDark;
  77. static String get test => ReactiveTheme.isLightTheme ? _testLight : _testDark;
  78. static String get free => ReactiveTheme.isLightTheme ? _freeLight : _freeDark;
  79. // 评价
  80. static const String poutingFace = 'assets/vectors/boost/pouting_face.svg';
  81. static const String woozyFace = 'assets/vectors/boost/woozy_face.svg';
  82. static const String yawningFace = 'assets/vectors/boost/yawning_face.svg';
  83. static const String smirkingFace = 'assets/vectors/boost/smirking_face.svg';
  84. static const String smilingFaceWithHearts =
  85. 'assets/vectors/boost/smiling_face_with_hearts.svg';
  86. // 订阅
  87. static const String subscriptionDiamond =
  88. 'assets/images/subscription_diamond.png';
  89. static const String _subscriptionWalletDark =
  90. 'assets/images/dark/subscription_wallet.png';
  91. static const String _subscriptionWalletLight =
  92. 'assets/images/light/subscription_wallet.png';
  93. static String get subscriptionWallet => ReactiveTheme.isLightTheme
  94. ? _subscriptionWalletLight
  95. : _subscriptionWalletDark;
  96. static const String subscriptionGreenShield =
  97. 'assets/images/subscription_green_shield.png';
  98. static const String subscriptionPlanChange1 =
  99. 'assets/images/subscription_plan_change_1.png';
  100. static const String subscriptionPlanChange2 =
  101. 'assets/images/subscription_plan_change_2.png';
  102. static const String subscriptionPlanChange3 =
  103. 'assets/images/subscription_plan_change_3.png';
  104. static const String preCodeEmail = 'assets/images/pre_code_email.png';
  105. static const String preCodeSaveLocal =
  106. 'assets/images/pre_code_save_local.png';
  107. static const String preCodeEmailTipBlue =
  108. 'assets/images/pre_code_email_tip_blue.png';
  109. static const String preCodeEmailTipWhite =
  110. 'assets/images/pre_code_email_tip_white.png';
  111. static const String bannerTest = 'assets/images/banner_test.png';
  112. static const String subscriptionBg = 'assets/images/subscription_bg.mp4';
  113. static const String mediaBg = 'assets/images/media_bg.jpg';
  114. static const String arrowDownCircle = 'assets/vectors/arrow_down_circle.svg';
  115. static const String arrowDownCircleDark =
  116. 'assets/vectors/arrow_down_circle_dark.svg';
  117. static const String refreshCircle = 'assets/vectors/refresh_circle.svg';
  118. static const String refreshCircleDark =
  119. 'assets/vectors/refresh_circle_dark.svg';
  120. static const String successCircle = 'assets/vectors/success_circle.svg';
  121. static const String failedCircle = 'assets/vectors/failed_circle.svg';
  122. static const String pushNotifications =
  123. 'assets/vectors/push_notifications.svg';
  124. static const String update = 'assets/vectors/update.svg';
  125. // 连接按钮中间的图片
  126. static const String darkDisconnected =
  127. 'assets/images/round/dark_disconnected.png';
  128. static const String lightDisconnected =
  129. 'assets/images/round/light_disconnected.png';
  130. static const String darkConnected = 'assets/images/round/dark_connected.png';
  131. static const String lightConnected =
  132. 'assets/images/round/light_connected.png';
  133. static const String darkConnecting =
  134. 'assets/images/round/dark_connecting.png';
  135. static const String lightConnecting =
  136. 'assets/images/round/light_connecting.png';
  137. static const String darkDisconnecting =
  138. 'assets/images/round/dark_disconnecting.png';
  139. static const String settingsTheme = 'assets/vectors/settings_theme.svg';
  140. // windows 托盘图标
  141. static const String trayIconDarkConnectedWin =
  142. 'assets/trayicon/dark/connected.ico';
  143. static const String trayIconDarkUnConnectedWin =
  144. 'assets/trayicon/dark/unconnected.ico';
  145. static const String trayIconLightConnectedWin =
  146. 'assets/trayicon/light/connected.ico';
  147. static const String trayIconLightUnConnectedWin =
  148. 'assets/trayicon/light/unconnected.ico';
  149. // 权益图标
  150. static const String _equity1Dark = 'assets/images/dark/equity1.png';
  151. static const String _equity1Light = 'assets/images/light/equity1.png';
  152. static const String _equity2Dark = 'assets/images/dark/equity2.png';
  153. static const String _equity2Light = 'assets/images/light/equity2.png';
  154. static const String _equity3Dark = 'assets/images/dark/equity3.png';
  155. static const String _equity3Light = 'assets/images/light/equity3.png';
  156. static const String _equity4Dark = 'assets/images/dark/equity4.png';
  157. static const String _equity4Light = 'assets/images/light/equity4.png';
  158. static const String _equity5Dark = 'assets/images/dark/equity5.png';
  159. static const String _equity5Light = 'assets/images/light/equity5.png';
  160. static const String _equity6Dark = 'assets/images/dark/equity6.png';
  161. static const String _equity6Light = 'assets/images/light/equity6.png';
  162. static String get equity1 =>
  163. ReactiveTheme.isLightTheme ? _equity1Light : _equity1Dark;
  164. static String get equity2 =>
  165. ReactiveTheme.isLightTheme ? _equity2Light : _equity2Dark;
  166. static String get equity3 =>
  167. ReactiveTheme.isLightTheme ? _equity3Light : _equity3Dark;
  168. static String get equity4 =>
  169. ReactiveTheme.isLightTheme ? _equity4Light : _equity4Dark;
  170. static String get equity5 =>
  171. ReactiveTheme.isLightTheme ? _equity5Light : _equity5Dark;
  172. static String get equity6 =>
  173. ReactiveTheme.isLightTheme ? _equity6Light : _equity6Dark;
  174. static const String menus = 'assets/images/menus.png';
  175. }