From ea94583a5b6e10b57885357db91dd98427aeac6d Mon Sep 17 00:00:00 2001 From: omg-xtao <100690902+omg-xtao@users.noreply.github.com> Date: Thu, 16 Feb 2023 16:47:48 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Support=20calendar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/base/assets.py | 10 + metadata/scripts/metadatas.py | 2 +- .../apihelper/client/components/calendar.py | 359 +++++++++++ modules/apihelper/models/genshin/calendar.py | 76 +++ plugins/genshin/birthday.py | 8 +- plugins/genshin/calendar.py | 62 ++ resources/bot/help/help.html | 9 +- resources/genshin/calendar/calendar.css | 450 ++++++++++++++ resources/genshin/calendar/calendar.html | 103 ++++ resources/genshin/calendar/calendar.less | 573 ++++++++++++++++++ resources/genshin/calendar/common.css | 521 ++++++++++++++++ resources/genshin/calendar/common.less | 391 ++++++++++++ resources/genshin/calendar/example.html | 199 ++++++ resources/genshin/calendar/img/abyss-icon.png | Bin 0 -> 50508 bytes resources/genshin/calendar/img/abyss.jpg | Bin 0 -> 29944 bytes resources/genshin/calendar/img/card-bg.png | Bin 0 -> 2594 bytes resources/genshin/calendar/img/fetter.png | Bin 0 -> 62810 bytes 17 files changed, 2755 insertions(+), 8 deletions(-) create mode 100644 modules/apihelper/client/components/calendar.py create mode 100644 modules/apihelper/models/genshin/calendar.py create mode 100644 plugins/genshin/calendar.py create mode 100644 resources/genshin/calendar/calendar.css create mode 100644 resources/genshin/calendar/calendar.html create mode 100644 resources/genshin/calendar/calendar.less create mode 100644 resources/genshin/calendar/common.css create mode 100644 resources/genshin/calendar/common.less create mode 100644 resources/genshin/calendar/example.html create mode 100644 resources/genshin/calendar/img/abyss-icon.png create mode 100644 resources/genshin/calendar/img/abyss.jpg create mode 100644 resources/genshin/calendar/img/card-bg.png create mode 100644 resources/genshin/calendar/img/fetter.png diff --git a/core/base/assets.py b/core/base/assets.py index c60fbd93..68210b1d 100644 --- a/core/base/assets.py +++ b/core/base/assets.py @@ -457,8 +457,18 @@ class _NamecardAssets(_AssetsService): def game_name(self) -> str: return NAMECARD_DATA[str(self.id)]["icon"] + @lru_cache + def _get_id_from_avatar_id(self, avatar_id: Union[int, str]) -> int: + avatar_icon_name = AVATAR_DATA[str(avatar_id)]["icon"].replace("AvatarIcon", "NameCardIcon") + for namecard_id, namecard_data in NAMECARD_DATA.items(): + if namecard_data["icon"] == avatar_icon_name: + return int(namecard_id) + raise ValueError(avatar_id) + def __call__(self, target: int) -> "_NamecardAssets": result = _NamecardAssets(self.client) + if target > 10000000: + target = self._get_id_from_avatar_id(target) result.id = target result.enka = DEFAULT_EnkaAssets.namecards(target) return result diff --git a/metadata/scripts/metadatas.py b/metadata/scripts/metadatas.py index 46dc90e1..8f6fde64 100644 --- a/metadata/scripts/metadatas.py +++ b/metadata/scripts/metadatas.py @@ -9,7 +9,7 @@ from httpx import AsyncClient, RemoteProtocolError, Response, URL from utils.const import AMBR_HOST, PROJECT_ROOT from utils.log import logger -__all__ = ["update_metadata_from_ambr", "update_metadata_from_github", "make_github_fast"] +__all__ = ["update_metadata_from_ambr", "update_metadata_from_github", "make_github_fast", "RESOURCE_DEFAULT_PATH"] GENSHIN_PY_DATA_REPO = parse_token("aHR0cHM6Ly9naXRsYWIuY29tL0RpbWJyZWF0aC9nYW1lZGF0YS8tL3Jhdy9tYXN0ZXIv").decode() RESOURCE_REPO = "PaiGramTeam/PaiGram_Resources" RESOURCE_BRANCH = "remote" diff --git a/modules/apihelper/client/components/calendar.py b/modules/apihelper/client/components/calendar.py new file mode 100644 index 00000000..0733fb97 --- /dev/null +++ b/modules/apihelper/client/components/calendar.py @@ -0,0 +1,359 @@ +import re +from datetime import datetime, timedelta +from typing import List, Tuple, Optional, Dict, Union + +from httpx import AsyncClient + +from core.base.assets import AssetsService +from metadata.genshin import AVATAR_DATA +from metadata.scripts.metadatas import RESOURCE_DEFAULT_PATH +from metadata.shortname import roleToId +from modules.apihelper.models.genshin.calendar import Date, FinalAct, ActEnum, ActDetail, ActTime, BirthChar +from modules.wiki.character import Character + + +class Calendar: + """原神活动日历""" + + ANNOUNCEMENT_LIST = "https://hk4e-api.mihoyo.com/common/hk4e_cn/announcement/api/getAnnList" + ANNOUNCEMENT_PARAMS = { + "game": "hk4e", + "game_biz": "hk4e_cn", + "lang": "zh-cn", + "bundle_id": "hk4e_cn", + "platform": "pc", + "region": "cn_gf01", + "level": "55", + "uid": "100000000", + } + MIAO_API = "http://miaoapi.cn/api/calendar" + REMOTE_API = f"https://raw.fastgit.org/{RESOURCE_DEFAULT_PATH}calendar.json" + IGNORE_IDS = [ + 495, # 有奖问卷调查开启! + 1263, # 米游社《原神》专属工具一览 + 423, # 《原神》玩家社区一览 + 422, # 《原神》防沉迷系统说明 + 762, # 《原神》公平运营声明 + 762, # 《原神》公平运营声明 + ] + IGNORE_RE = re.compile(r"(内容专题页|版本更新说明|调研|防沉迷|米游社|专项意见|更新修复与优化|问卷调查|版本更新通知|更新时间说明|预下载功能|周边限时|周边上新|角色演示)") + FULL_TIME_RE = re.compile(r"(魔神任务)") + + def __init__(self): + self.client = AsyncClient() + self.birthday_list = self.gen_birthday_list() + + @staticmethod + def gen_birthday_list() -> Dict[str, List[str]]: + """生成生日列表""" + birthday_list = {} + for value in AVATAR_DATA.values(): + key = "_".join([str(i) for i in value["birthday"]]) + data = birthday_list.get(key, []) + data.append(value["name"]) + birthday_list[key] = data + return birthday_list + + @staticmethod + def get_now_hour() -> datetime: + """获取当前时间""" + return datetime.now().replace(minute=0, second=0, microsecond=0) + + async def req_cal_data(self) -> Tuple[List[List[ActDetail]], Dict[str, ActTime]]: + """请求日历数据""" + list_data = await self.client.get(self.ANNOUNCEMENT_LIST, params=self.ANNOUNCEMENT_PARAMS) + list_data = list_data.json() + + new_list_data = [[], []] + for idx, data in enumerate(list_data.get("data", {}).get("list", [])): + for item in data.get("list", []): + new_list_data[idx].append(ActDetail(**item)) + time_map = {} + req = await self.client.get(self.MIAO_API) + if req.status_code == 200: + miao_data = req.json() + time_map.update({key: ActTime(**value) for key, value in miao_data.get("data", {}).items()}) + req = await self.client.get(self.REMOTE_API) + if req.status_code == 200: + remote_data = req.json() + time_map.update({key: ActTime(**value) for key, value in remote_data.get("data", {}).items()}) + return new_list_data, time_map + + @staticmethod + def date_to_weekday(date_: datetime) -> str: + """日期转换为星期""" + time = ["一", "二", "三", "四", "五", "六", "日"] + return time[date_.weekday()] + + async def get_date_list(self) -> Tuple[List[Date], datetime, datetime, timedelta, float]: + """获取日历数据""" + data_list: List[Date] = [] + today = self.get_now_hour() + temp = today - timedelta(days=7) + month = 0 + date, week, is_today = [], [], [] + start_date, end_date = None, None + for i in range(13): + temp += timedelta(days=1) + m, d, w = temp.month, temp.day, self.date_to_weekday(temp) + if month == 0: + start_date = temp + month = m + if month != m and len(date) > 0: + data_list.append(Date(month=month, date=date, week=week, is_today=is_today)) + date, week, is_today = [], [], [] + month = m + date.append(d) + week.append(w) + is_today.append(temp == today) + if i == 12: + data_list.append(Date(month=month, date=date, week=week, is_today=is_today)) + end_date = temp + start_time = start_date.replace(hour=0, minute=0, second=0, microsecond=0) + end_time = end_date.replace(hour=23, minute=59, second=59, microsecond=999999) + total_range: timedelta = end_time - start_time + now_left: float = (self.get_now_hour() - start_time) / total_range * 100 + return ( + data_list, + start_time, + end_time, + total_range, + now_left, + ) + + @staticmethod + def human_read(d: timedelta) -> str: + """将日期转换为人类可读""" + hour = d.seconds // 3600 + minute = d.seconds // 60 % 60 + if minute >= 59: + hour += 1 + text = "" + if d.days: + text += f"{d.days}天" + if hour: + text += f"{hour}小时" + return text + + @staticmethod + def count_width( + act: FinalAct, + detail: Optional[ActTime], + ds: ActDetail, + start_time: datetime, + end_time: datetime, + total_range: timedelta, + ) -> Tuple[datetime, datetime]: + """计算宽度""" + + def get_date(d1: str, d2: str) -> datetime: + if d1 and len(d1) > 6: + return datetime.strptime(d1, "%Y-%m-%d %H:%M:%S") + return datetime.strptime(d2, "%Y-%m-%d %H:%M:%S") + + s_date = get_date(detail and detail.start, ds.start_time) + e_date = get_date(detail and detail.end, ds.end_time) + s_time = max(s_date, start_time) + e_time = min(e_date, end_time) + + s_range = s_time - start_time + e_range = e_time - start_time + + act.left = s_range / total_range * 100 + act.width = e_range / total_range * 100 - act.left + act.duration = (e_time - s_time).total_seconds() + act.start = s_date.strftime("%m-%d %H:%M") + act.end = e_date.strftime("%m-%d %H:%M") + return s_date, e_date + + def parse_label(self, act: FinalAct, is_act: bool, s_date: datetime, e_date: datetime) -> None: + """解析活动标签""" + now = self.get_now_hour() + label = "" + if self.FULL_TIME_RE.findall(act.title) or e_date - s_date > timedelta(days=365): + label = f"{s_date.strftime('%m-%d %H:%M')} 后永久有效" if s_date < now else "永久有效" + elif s_date < now < e_date: + label = f'{e_date.strftime("%m-%d %H:%M")} ({self.human_read(e_date - now)}后结束)' + if act.width > (38 if is_act else 55): + label = f"{s_date.strftime('%m-%d %H:%M')} ~ {label}" + elif s_date > now: + label = f'{s_date.strftime("%m-%d %H:%M")} ({self.human_read(s_date - now)}后开始)' + elif is_act: + label = f"{s_date.strftime('%m-%d %H:%M')} ~ {e_date.strftime('%m-%d %H:%M')}" + act.label = label + + @staticmethod + async def parse_type(act: FinalAct, assets: AssetsService) -> None: + """解析活动类型""" + if "神铸赋形" in act.title: + act.type = ActEnum.weapon + act.title = re.sub(r"(单手剑|双手剑|长柄武器|弓|法器|·)", "", act.title) + act.sort = 2 + elif "祈愿" in act.title: + act.type = ActEnum.character + if reg_ret := re.search(r"·(.*)\(", act.title): + char_name = reg_ret[1] + char = assets.avatar(roleToId(char_name)) + act.banner = (await assets.namecard(char.id).navbar()).as_uri() + act.face = (await char.icon()).as_uri() + act.sort = 1 + elif "纪行" in act.title: + act.type = ActEnum.no_display + elif act.title == "深渊": + act.type = ActEnum.abyss + + async def get_list( + self, + ds: ActDetail, + start_time: datetime, + end_time: datetime, + total_range: timedelta, + time_map: Dict[str, ActTime], + is_act: bool, + assets: AssetsService, + ) -> Optional[FinalAct]: + """获取活动列表""" + act = FinalAct( + id=ds.ann_id, + type=ActEnum.activity if is_act else ActEnum.normal, + title=ds.title, + banner=ds.banner if is_act else "", + sort=5 if is_act else 10, + icon=ds.tag_icon, + ) + detail: Optional[ActTime] = time_map.get(str(act.id)) + + if act.id in self.IGNORE_IDS or self.IGNORE_RE.findall(act.title) or (detail and not detail.display): + return None + await self.parse_type(act, assets) + s_date, e_date = self.count_width(act, detail, ds, start_time, end_time, total_range) + self.parse_label(act, is_act, s_date, e_date) + + if s_date <= end_time and e_date >= start_time: + act.mergeStatus = 1 if act.type in {ActEnum.activity, ActEnum.normal} else 0 + return act + + @staticmethod + def get_abyss_cal(start_time: datetime, end_time: datetime) -> List[List[Union[datetime, str]]]: + """获取深渊日历""" + last = datetime.now().replace(day=1) - timedelta(days=2) + last_month = last.month + curr = datetime.now() + curr_month = curr.month + next_date = last + timedelta(days=40) + next_month = next_date.month + + def start(date: datetime, up: bool = False): + return date.replace(day=1 if up else 16, hour=4, minute=0, second=0, microsecond=0) + + def end(date: datetime, up: bool = False): + return date.replace(day=1 if up else 16, hour=3, minute=59, second=59, microsecond=999999) + + check = [ + [start(last, False), end(last, True), f"{last_month}月下半"], + [start(curr, True), end(curr, False), f"{curr_month}月上半"], + [start(curr, False), end(next_date, True), f"{curr_month}月下半"], + [start(next_date, True), end(next_date, False), f"{next_month}月上半"], + ] + ret = [] + for ds in check: + s, e, _ = ds + if (s <= start_time <= e) or (s <= end_time <= e): + ret.append(ds) + return ret + + async def get_birthday_char( + self, date_list: List[Date], assets: AssetsService + ) -> Tuple[int, Dict[str, Dict[str, List[BirthChar]]]]: + """获取生日角色""" + birthday_char_line = 0 + birthday_chars = {} + for date in date_list: + birthday_chars[str(date.month)] = {} + for d in date.date: + key = f"{date.month}_{d}" + if char := self.birthday_list.get(key): + birthday_char_line = max(len(char), birthday_char_line) + birthday_chars[str(date.month)][str(d)] = [] + for c in char: + character = await Character.get_by_name(c) + birthday_chars[str(date.month)][str(d)].append( + BirthChar( + name=c, + star=character.rarity, + icon=(await assets.avatar(roleToId(c)).icon()).as_uri(), + ) + ) + return birthday_char_line, birthday_chars + + @staticmethod + def get_merge_next(target: List[FinalAct], li: FinalAct) -> Optional[FinalAct]: + """获取下一个可以合并的活动""" + return next( + (li2 for li2 in target if (li2.mergeStatus == 1) and (li.left + li.width <= li2.left)), + None, + ) + + def merge_list(self, target: List[FinalAct]) -> Tuple[List[List[FinalAct]], int, int]: + """将两个活动合并为一行""" + char_count = 0 + char_old = 0 + ret: List[List[FinalAct]] = [] + for idx, li in enumerate(target): + if li.type == ActEnum.character: + char_count += 1 + if li.left == 0: + char_old += 1 + li.idx = char_count + if li.mergeStatus == 1: + if li2 := self.get_merge_next(target[idx + 1 :], li): + li.mergeStatus = 2 + li2.mergeStatus = 2 + ret.append([li, li2]) + if li.mergeStatus != 2: + li.mergeStatus = 2 + ret.append([li]) + return ret, char_count, char_old + + async def get_photo_data(self, assets: AssetsService) -> Dict: + """获取数据""" + now = self.get_now_hour() + list_data, time_map = await self.req_cal_data() + ( + date_list, + start_time, + end_time, + total_range, + now_left, + ) = await self.get_date_list() + birthday_char_line, birthday_chars = await self.get_birthday_char(date_list, assets) + target: List[FinalAct] = [] + abyss: List[FinalAct] = [] + + for ds in list_data[1]: + if act := await self.get_list(ds, start_time, end_time, total_range, time_map, True, assets): + target.append(act) + for ds in list_data[0]: + if act := await self.get_list(ds, start_time, end_time, total_range, time_map, False, assets): + target.append(act) + abyss_cal = self.get_abyss_cal(start_time, end_time) + for t in abyss_cal: + ds = ActDetail( + title=f"「深境螺旋」· {t[2]}", + start_time=t[0].strftime("%Y-%m-%d %H:%M:%S"), + end_time=t[1].strftime("%Y-%m-%d %H:%M:%S"), + ) + if act := await self.get_list(ds, start_time, end_time, total_range, {}, True, assets): + abyss.append(act) + target.sort(key=lambda x: (x.sort, x.start, x.duration)) + target, char_count, char_old = self.merge_list(target) + return { + "date_list": date_list, + "now_left": now_left, + "list": target, + "abyss": abyss, + "char_mode": f"char-{char_count}-{char_old}", + "now_time": now.strftime("%Y-%m-%d %H 时"), + "birthday_char_line": birthday_char_line, + "birthday_chars": birthday_chars, + } diff --git a/modules/apihelper/models/genshin/calendar.py b/modules/apihelper/models/genshin/calendar.py new file mode 100644 index 00000000..f951c99d --- /dev/null +++ b/modules/apihelper/models/genshin/calendar.py @@ -0,0 +1,76 @@ +from enum import Enum +from typing import List + +from pydantic import BaseModel + + +class Date(BaseModel): + """日历日期""" + + month: int + date: List[int] + week: List[str] + is_today: List[bool] + + +class ActEnum(str, Enum): + """活动类型""" + + character = "character" + weapon = "weapon" + activity = "activity" + normal = "normal" + no_display = "pass" + abyss = "abyss" + + def __str__(self) -> str: + return self.value + + +class FinalAct(BaseModel): + """最终活动数据""" + + id: int + type: ActEnum + title: str + banner: str + mergeStatus: int = 0 + face: str = "" + icon: str = "" + left: float = 0.0 + width: float = 0.0 + label: str = "" + sort: int = 0 + idx: int = 0 + start: str = "" + end: str = "" + duration: int = 0 + + +class ActDetail(BaseModel): + """活动详情""" + + ann_id: int = 0 + banner: str = "" + tag_icon: str = "" + title: str + start_time: str + end_time: str + ... + + +class ActTime(BaseModel): + """活动时间""" + + title: str = "" + start: str = "" + end: str = "" + display: bool = True + + +class BirthChar(BaseModel): + """生日角色""" + + name: str + star: int + icon: str diff --git a/plugins/genshin/birthday.py b/plugins/genshin/birthday.py index 347caf58..831a8de8 100644 --- a/plugins/genshin/birthday.py +++ b/plugins/genshin/birthday.py @@ -19,6 +19,7 @@ from core.user import UserService from core.user.error import UserNotFoundError from metadata.genshin import AVATAR_DATA from metadata.shortname import roleToId, roleToName +from modules.apihelper.client.components.calendar import Calendar from utils.bot import get_args from utils.decorators.error import error_callable from utils.decorators.restricts import restricts @@ -48,12 +49,7 @@ class BirthdayPlugin(Plugin, BasePlugin): cookie_service: CookiesService = None, ): """Load Data.""" - self.birthday_list = {} - for value in AVATAR_DATA.values(): - key = "_".join([str(i) for i in value["birthday"]]) - data = self.birthday_list.get(key, []) - data.append(value["name"]) - self.birthday_list.update({key: data}) + self.birthday_list = Calendar.gen_birthday_list() self.user_service = user_service self.cookie_service = cookie_service diff --git a/plugins/genshin/calendar.py b/plugins/genshin/calendar.py new file mode 100644 index 00000000..77be2a46 --- /dev/null +++ b/plugins/genshin/calendar.py @@ -0,0 +1,62 @@ +from typing import Dict + +from telegram import Update +from telegram.constants import ChatAction +from telegram.ext import CallbackContext, MessageHandler, filters + +from core.base.assets import AssetsService +from core.base.redisdb import RedisDB +from core.baseplugin import BasePlugin +from core.plugin import Plugin, handler +from core.template import TemplateService +from modules.apihelper.client.components.calendar import Calendar +from utils.decorators.error import error_callable +from utils.decorators.restricts import restricts +from utils.log import logger + +try: + import ujson as jsonlib +except ImportError: + import json as jsonlib + + +class CalendarPlugin(Plugin, BasePlugin): + """活动日历查询""" + + def __init__( + self, + template_service: TemplateService = None, + assets_service: AssetsService = None, + redis: RedisDB = None, + ): + self.template_service = template_service + self.assets_service = assets_service + self.calendar = Calendar() + self.cache = redis.client + + async def _fetch_data(self) -> Dict: + if data := await self.cache.get("plugin:calendar"): + return jsonlib.loads(data.decode("utf-8")) + data = await self.calendar.get_photo_data(self.assets_service) + await self.cache.set("plugin:calendar", jsonlib.dumps(data, default=lambda x: x.dict()), ex=1800) + return data + + @handler.command("calendar", block=False) + @handler(MessageHandler, filters=filters.Regex(r"^(活动)+(日历|日历列表)$"), block=False) + @restricts() + @error_callable + async def command_start(self, update: Update, _: CallbackContext) -> None: + user = update.effective_user + message = update.effective_message + mode = "list" if "列表" in message.text else "calendar" + logger.info("用户 %s[%s] 查询日历 | 模式 %s", user.full_name, user.id, mode) + await message.reply_chat_action(ChatAction.TYPING) + data = await self._fetch_data() + data["display_mode"] = mode + image = await self.template_service.render( + "genshin/calendar/calendar.html", + data, + query_selector=".container", + ) + await message.reply_chat_action(ChatAction.UPLOAD_PHOTO) + await image.reply_photo(message) diff --git a/resources/bot/help/help.html b/resources/bot/help/help.html index 9e9ccbeb..d2c233b8 100644 --- a/resources/bot/help/help.html +++ b/resources/bot/help/help.html @@ -146,9 +146,16 @@
角色生日
-
/birthday_card
+
+ /birthday_card + +
领取角色生日画片
+
+
/calendar
+
活动日历
+
diff --git a/resources/genshin/calendar/calendar.css b/resources/genshin/calendar/calendar.css new file mode 100644 index 00000000..04db4eaf --- /dev/null +++ b/resources/genshin/calendar/calendar.css @@ -0,0 +1,450 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; + user-select: none; +} +body { + font-size: 18px; + color: #1e1f20; + transform: scale(1); + transform-origin: 0 0; + width: 996px; +} +.container { + width: 996px; + padding: 10px 0px 10px 0px; + background-size: 100% 100%; +} +.logo { + font-size: 18px; + text-align: center; + color: #fff; + margin: 20px 0 10px 0; +} +.calendar { + min-height: 400px; + position: relative; + padding: 1px 0; + width: 956px; + margin: 20px; + box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.6); + border-radius: 10px; +} +.cal-bg { + position: absolute; + width: 956px; + top: 0; + left: 0; + right: 0; + bottom: 0; + text-align: center; + border-collapse: collapse; + height: 100%; + box-shadow: 0 0 1px 0 #fff inset; + border-radius: 10px; + overflow: hidden; +} +.cal-bg table { + height: 100%; +} +.cal-bg .tr.thead { + background: rgba(0, 0, 0, 0.8); + height: 40px; +} +.cal-bg td { + box-shadow: 0 0 1px 0 #fff; +} +.cal-bg td.date { + width: 7.692%; +} +.cal-bg td.date span { + display: block; + line-height: 18px; +} +.cal-bg td.date span.date-week { + line-height: 12px; + font-size: 12px; + color: #888; +} +.cal-bg td.date.current-date { + background: #d3bc8e; + border: 1px solid #d3bc8e; + color: #000; +} +.cal-bg td.date.current-date span.date-week { + color: #000; +} +.cal-bg td.line { + background: rgba(0, 0, 0, 0.4); + vertical-align: top; +} +.cal-bg td.line.current-date { + background: rgba(211, 188, 142, 0.4); +} +.cal-bg .card { + width: 65px; + height: 76px; + margin: 8px auto -4px; +} +.cal-bg .card .img { + height: 60px; +} +.cal-bg .card .char-name { + position: absolute; + bottom: 0; + left: 0; + right: 0; + line-height: 17px; + font-size: 12px; + background: #e8e2d8; +} +.cal-list { + position: relative; + padding-top: 80px; + overflow: hidden; +} +.cal-list.char-num-0 { + padding-top: 80px; +} +.cal-list.char-num-1 { + padding-top: 160px; +} +.cal-list.char-num-2 { + padding-top: 240px; +} +.cal-list.char-num-3 { + padding-top: 320px; +} +.cal-list .cal-item { + margin-bottom: 15px; + border-radius: 5px; + white-space: nowrap; + text-overflow: ellipsis; + position: relative; + overflow: hidden; + background: #e8e2d8; + z-index: 1; +} +.cal-list .cal-item:after { + content: ""; + display: block; + position: absolute; + left: 3px; + top: 3px; + right: 4px; + bottom: 4px; + box-shadow: 0 0 1px 0 #000 inset, 0 0 2px 0 #222a3b; + border-radius: 4px; +} +.cal-list .cal-item .info { + position: relative; + display: inline-block; + padding: 15px 50px 15px 55px; + min-width: calc(100% - 400px); + border-radius: 5px; + background-image: linear-gradient(to right, #E8E2D8, #E8E2D8 80%, rgba(232, 226, 216, 0) 100%); +} +.cal-list .cal-item .banner { + position: absolute; + width: 100%; + max-width: 500px; + top: 0; + bottom: 0; + right: 0; + background-size: 100% auto; + background-position: left 40%; +} +.cal-list .cal-item strong { + display: block; + font-weight: normal; +} +.cal-list .cal-item span { + display: block; + font-size: 12px; +} +.cal-list .cal-item.type-character { + overflow: visible; + margin-top: 20px; +} +.cal-list .cal-item.type-character .info { + padding-left: 65px; +} +.cal-list .cal-item.type-character .character-img { + height: 75px; + position: absolute; + bottom: 0; + left: 0; + z-index: 10; +} +.cal-list .cal-item.type-normal { + margin-top: 5px; + margin-bottom: 5px; +} +.cal-list .cal-item.type-normal:last-child { + margin-bottom: 15px; +} +.cal-list .cal-item.type-normal:after { + display: none; +} +.cal-list .cal-item.type-normal:first-of-type { + margin-top: 20px; +} +.cal-list .cal-item.type-normal .info { + padding: 8px 20px 8px 15px; + line-height: 16px; + color: #4b5366; +} +.cal-list .cal-item.type-normal .cal-icon { + width: 23px; + height: 23px; + top: 6px; + margin-left: -3px; + margin-right: 5px; +} +.cal-list .cal-item.type-normal strong { + font-size: 16px; +} +.cal-list .cal-item.type-normal .info { + padding-left: 38px; +} +.cal-list .cal-item.type-normal strong, +.cal-list .cal-item.type-normal span { + display: inline; +} +.cal-list .cal-item.type-normal.small-mode span { + display: block; + margin-left: 0; +} +.cal-list .cal-item.type-normal.li-col1 { + margin-top: -40px; +} +.cal-list .cal-item .cal-icon { + position: absolute; + width: 40px; + height: 40px; + left: 10px; + top: 10px; +} +.cal-list .cal-item.li-col1 { + margin-top: -82px; +} +.cal-list.char-2-1 .type-character.li-idx-2, +.cal-list.char-3-1 .type-character.li-idx-2 { + margin-top: -82px; +} +.cal-list.char-3-2 .type-character.li-idx-3 { + margin-top: -82px; +} +.cal-list.char-4-2 .type-character.li-idx-3 { + margin-top: -166px; +} +.cal-list .type-weapon.li-idx-2 { + margin-top: -82px; +} +.calendar .now-line { + position: absolute; + top: 86px; + bottom: -18px; + width: 2px; + box-shadow: 0 0 5px 0 #fff; + background: #fff; + opacity: 0.8; +} +.calendar .now-line:after { + content: ""; + display: block; + width: 0; + height: 0; + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-bottom: 20px solid #fff; + position: absolute; + bottom: -8px; + left: -9px; + transform: scaleY(0.7); + transform-origin: bottom center; +} +.calendar .now-line.line2 { + z-index: 3; + opacity: 0.5; + background: #d3bc8d; + width: 2px; + box-shadow: none; +} +.now-time { + text-align: center; + padding-top: 5px; + margin-bottom: 5px; +} +.now-time span { + color: #fff; + background: rgba(0, 0, 0, 0.6); + border-radius: 30px; + padding: 10px 15px; + border: 1px solid #fff; + display: inline-block; +} +.cal-abyss-cont { + padding-top: 15px; + height: 80px; + position: relative; +} +.cal-abyss-cont .cal-item { + border-radius: 0; + background: url("img/abyss.jpg") #333465 top right no-repeat; + position: absolute; +} +.cal-abyss-cont .cal-item .info { + background: none; + color: #d3bc8d; + background-image: linear-gradient(to right, #333465, #333465 80%, rgba(51, 52, 101, 0) 100%); +} +.cal-abyss-cont .cal-item:before { + content: ""; + display: block; + width: 3px; + left: 0; + top: 1px; + bottom: 1px; + position: absolute; + background: #d3bc8d; + z-index: 8; +} +.cal-abyss-cont .cal-item:after { + box-shadow: 0 0 1px 0 #fff; + border-radius: 0; +} +.calendar-mode .for-list-mode { + display: none; +} +.list-mode .container { + width: 740px; +} +.list-mode .for-calendar-mode { + display: none; +} +.list-mode .cal-bg { + width: initial; +} +.list-mode .cal-list { + padding: 45px 10px 0; +} +.list-mode .calendar { + width: 700px; +} +.list-mode .cal-abyss-cont { + height: initial !important; +} +.list-mode .cal-item { + position: relative; + margin-left: 0 !important; + width: initial !important; + left: 0 !important; +} +.list-mode .now-line { + display: none; +} +.daily-talent { + display: flex; + flex-wrap: wrap; + margin: 5px 10px 0; + background: rgba(0, 0, 0, 0.5); + padding: 10px 9px 10px; + border-radius: 10px; +} +.daily-talent .item-icon { + overflow: visible; +} +.daily-talent .card { + width: 87px; + height: 105px; + margin: 10px 0 15px; +} +.daily-talent .card .item-icon { + width: 77px; + margin: 0 6px; + height: 82px; + padding-top: 5px; +} +.daily-talent .card .img { + width: 77px; + height: 77px; +} +.daily-talent .card .weekly { + position: absolute; + width: 24px; + height: 24px; + border-radius: 50%; + bottom: -10px; + right: -3px; + background-color: rgba(232, 226, 216, 0.9); + box-shadow: 0 0 2px 0 #000; + overflow: visible; +} +.daily-talent .card .weekly .weekly-icon { + width: 30px; + height: 30px; + margin: -3px; + background-size: contain; + background-position: center; + background-repeat: no-repeat; +} +.daily-talent .card .banner { + height: 20px; + padding-top: 1px; + line-height: 20px; + color: #fff; + position: relative; + margin-bottom: 8px; +} +.daily-talent .card .banner .title { + margin-right: -50px; + width: calc(100% + 50px); + display: flex; + position: absolute; + top: 0; + left: 0; + z-index: 2; + text-shadow: 0 0 1px rgba(0, 0, 0, 0.8), 1px 1px 2px rgba(0, 0, 0, 0.8); + padding-left: 45px; + font-size: 18px; +} +.daily-talent .card .banner .icon { + width: 40px; + height: 40px; + background-size: contain; + background-position: center; + background-repeat: no-repeat; + display: inline-block; + position: absolute; + left: 0; + top: -8px; +} +.daily-talent .card .banner .line { + height: 6px; + width: 100%; + margin-top: 13px; +} +.daily-talent .card .banner .line.first { + margin-left: 35%; + width: 65%; + border-radius: 3px 0 0 3px; +} +.daily-talent .card .banner .line.last { + width: 94%; + border-radius: 0 3px 3px 0; +} +.daily-talent .card .banner.city-1 .line { + background: #37c9b8; +} +.daily-talent .card .banner.city-2 .line { + background: #bca244; +} +.daily-talent .card .banner.city-3 .line { + background: #ac60c9; +} +.daily-talent .card .banner.city-4 .line { + background: #54b640; +} +/*# sourceMappingURL=calendar.css.map */ \ No newline at end of file diff --git a/resources/genshin/calendar/calendar.html b/resources/genshin/calendar/calendar.html new file mode 100644 index 00000000..f8ac6def --- /dev/null +++ b/resources/genshin/calendar/calendar.html @@ -0,0 +1,103 @@ + + + + + + + + Calendar + + + +
+
+
+ + + {% for d in date_list %} + + {% endfor %} + + + {% for d in date_list %} + {% for dn in range(d.date.__len__()) %} + + {% endfor %} + {% endfor %} + + + {% for d in date_list %} + {% for dn in range(d.date.__len__()) %} + + {% endfor %} + {% endfor %} + +
{{ d.month }}月
+ {{ d.date[dn] }}日 + 周{{ d.week[dn] }} +
+ {% for char in birthday_chars[d.month|string][d.date[dn]|string] %} +
+
+
+ {{ char.name }}{{ '生日' if char.name.__len__() < 4 else '' }} +
+
+ {% endfor %} +
+
+
+ + + + + + + +
活动列表
+
+
+
+ {% for li in abyss %} +
+
+ + {{ li.title }} + {{ li.label }} +
+
+ {% endfor %} +
+ {% for lis in list %} + {% for li in lis %} +
+ {% if li.banner %} + + {% endif %} +
+ {% if li.type == "character" %} + + {% else %} + + {% endif %} + {{ li.title }} + {{ li.label }} +
+
+ {% endfor %} + {% endfor %} +
+
+
+
+
+ {{ now_time }} +
+ +
+ + \ No newline at end of file diff --git a/resources/genshin/calendar/calendar.less b/resources/genshin/calendar/calendar.less new file mode 100644 index 00000000..ab803cb6 --- /dev/null +++ b/resources/genshin/calendar/calendar.less @@ -0,0 +1,573 @@ +//linear-gradient(to right, rgba(232, 226, 216, 1), rgba(232, 226, 216, 1) 80%, rgba(232, 226, 216, 0) 100%); + +.linear-bg(@color) { + background-image: linear-gradient(to right, @color, @color 80%, fade(@color, 0) 100%); +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + user-select: none; +} + +body { + font-size: 18px; + color: #1e1f20; + transform: scale(1); + transform-origin: 0 0; + width: 996px; +} + +.container { + width: 996px; + padding: 10px 0px 10px 0px; + background-size: 100% 100%; +} + +.logo { + font-size: 18px; + text-align: center; + color: #fff; + margin: 20px 0 10px 0; +} + +.calendar { + min-height: 400px; + position: relative; + padding: 1px 0; + width: 956px; + margin: 20px; + box-shadow: 0 0 0 10px rgba(0, 0, 0, .6); + border-radius: 10px; +} + +.cal-bg { + position: absolute; + width: 956px; + top: 0; + left: 0; + right: 0; + bottom: 0; + text-align: center; + border-collapse: collapse; + height: 100%; + box-shadow: 0 0 1px 0 #fff inset; + border-radius: 10px; + overflow: hidden; + + table { + height: 100%; + } + + + .tr.thead { + background: rgba(0, 0, 0, .8); + height: 40px; + + td { + } + } + + td { + box-shadow: 0 0 1px 0 #fff; + + &.date { + width: 7.692%; + + span { + display: block; + line-height: 18px; + } + + span.date-num { + + } + + span.date-week { + line-height: 12px; + font-size: 12px; + color: #888; + } + + &.current-date { + background: #d3bc8e; + border: 1px solid #d3bc8e; + color: #000; + + span.date-week { + color: #000; + } + } + + + } + + &.line { + background: rgba(0, 0, 0, 0.4); + vertical-align: top; + + &.current-date { + background: rgba(211, 188, 142, .4) + } + } + } + + .card { + width: 65px; + height: 76px; + margin: 8px auto -4px; + + .img { + height: 60px; + } + + .char-name { + position: absolute; + bottom: 0; + left: 0; + right: 0; + line-height: 17px; + font-size: 12px; + background: #e8e2d8; + } + } +} + +.cal-list { + position: relative; + padding-top: 80px; + overflow: hidden; + + &.char-num-0 { + padding-top: 80px; + } + + &.char-num-1 { + padding-top: 160px; + } + + &.char-num-2 { + padding-top: 240px; + } + + &.char-num-3 { + padding-top: 320px; + } + + .cal-item { + margin-bottom: 15px; + border-radius: 5px; + white-space: nowrap; + text-overflow: ellipsis; + position: relative; + overflow: hidden; + background: rgba(232, 226, 216, 1); + z-index: 1; + + &:after { + content: ""; + display: block; + position: absolute; + left: 3px; + top: 3px; + right: 4px; + bottom: 4px; + box-shadow: 0 0 1px 0 #000 inset, 0 0 2px 0 #222a3b; + border-radius: 4px; + } + + .info { + position: relative; + display: inline-block; + padding: 15px 50px 15px 55px; + min-width: calc(100% - 400px); + border-radius: 5px; + .linear-bg(#E8E2D8); + } + + .banner { + position: absolute; + width: 100%; + max-width: 500px; + top: 0; + bottom: 0; + right: 0; + background-size: 100% auto; + background-position: left 40%; + + } + + strong { + display: block; + font-weight: normal; + } + + span { + display: block; + font-size: 12px; + } + + + &.type-character { + overflow: visible; + margin-top: 20px; + + .info { + padding-left: 65px; + + } + + .character-img { + height: 75px; + position: absolute; + bottom: 0; + left: 0; + z-index: 10; + + } + } + + &.type-normal { + margin-top: 5px; + margin-bottom: 5px; + + &:last-child { + margin-bottom: 15px; + } + + &:after { + display: none; + } + + + &:first-of-type { + margin-top: 20px; + } + + .info { + padding: 8px 20px 8px 15px; + line-height: 16px; + color: #4b5366; + } + + .cal-icon { + + width: 23px; + height: 23px; + top: 6px; + margin-left: -3px; + margin-right: 5px; + } + + strong { + font-size: 16px; + } + + .info { + padding-left: 38px; + } + + + strong, + span { + display: inline; + } + + + &.small-mode span { + display: block; + margin-left: 0; + } + + &.li-col1 { + margin-top: -40px; + } + } + + .cal-icon { + position: absolute; + width: 40px; + height: 40px; + left: 10px; + top: 10px; + } + + &.li-col1 { + margin-top: -82px; + } + } + + &.char-2-1, + &.char-3-1 { + .type-character.li-idx-2 { + margin-top: -82px; + } + } + + &.char-3-2 { + .type-character.li-idx-3 { + margin-top: -82px; + } + } + + &.char-4-2 { + .type-character.li-idx-3 { + margin-top: -166px; + } + } + + .type-weapon.li-idx-2 { + margin-top: -82px; + } + + +} + +.calendar .now-line { + position: absolute; + top: 86px; + bottom: -18px; + width: 2px; + box-shadow: 0 0 5px 0 #fff; + background: #fff; + opacity: .8; + + &:after { + content: ""; + display: block; + width: 0; + height: 0; + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-bottom: 20px solid #fff; + position: absolute; + bottom: -8px; + left: -9px; + transform: scaleY(.7); + transform-origin: bottom center; + } + + &.line2 { + z-index: 3; + opacity: .5; + background: rgb(211, 188, 141); + width: 2px; + box-shadow: none; + + &:after { + } + } +} + +.now-time { + text-align: center; + padding-top: 5px; + margin-bottom: 5px; + + span { + color: #fff; + background: rgba(0, 0, 0, 0.6); + border-radius: 30px; + padding: 10px 15px; + border: 1px solid #fff; + display: inline-block; + } +} + +.cal-abyss-cont { + padding-top: 15px; + height: 80px; + position: relative; + + .cal-item { + border-radius: 0; + background: url("img/abyss.jpg") #333465 top right no-repeat; + position: absolute; + + .info { + background: none; + color: rgba(211, 188, 141, 1); + .linear-bg(#333465); + } + + &:before { + content: ""; + display: block; + width: 3px; + left: 0; + top: 1px; + bottom: 1px; + position: absolute; + background: #d3bc8d; + z-index: 8; + + } + + &:after { + box-shadow: 0 0 1px 0 #fff; + border-radius: 0; + } + } +} + +.calendar-mode { + .for-list-mode { + display: none; + } +} + +.list-mode { + + .container { + width: 740px; + } + + .for-calendar-mode { + display: none; + } + + .cal-bg { + width: initial; + } + + .cal-list { + padding: 45px 10px 0; + } + + .calendar { + width: 700px; + } + + .cal-abyss-cont { + height: initial !important; + } + + .cal-item { + position: relative; + margin-left: 0 !important; + width: initial !important; + left: 0 !important; + } + + .now-line { + display: none; + } +} + +@width: 77px; + +.daily-talent { + display: flex; + flex-wrap: wrap; + margin: 5px 10px 0; + background: rgba(0, 0, 0, .5); + padding: 10px 9px 10px; + border-radius: 10px; + + + .item-icon { + overflow: visible; + } + + .card { + width: @width + 10px; + height: @width + 28px; + margin: 10px 0 15px; + + + .item-icon { + width: @width; + margin: 0 6px; + height: @width + 5px; + padding-top: 5px; + } + + .img { + width: @width; + height: @width; + } + + .weekly { + position: absolute; + width: 24px; + height: 24px; + border-radius: 50%; + bottom: -10px; + right: -3px; + background-color: rgba(232, 226, 216, 0.9); + box-shadow: 0 0 2px 0 #000; + overflow: visible; + + .weekly-icon { + width: 30px; + height: 30px; + margin: -3px; + background-size: contain; + background-position: center; + background-repeat: no-repeat; + } + } + + .banner { + height: 20px; + padding-top: 1px; + line-height: 20px; + color: #fff; + position: relative; + margin-bottom: 8px; + + .title { + margin-right: -50px; + width: calc(100% + 50px); + display: flex; + position: absolute; + top: 0; + left: 0; + z-index: 2; + text-shadow: 0 0 1px rgba(0, 0, 0, .8), 1px 1px 2px rgba(0, 0, 0, .8); + padding-left: 45px; + font-size: 18px; + } + + .icon { + width: 40px; + height: 40px; + background-size: contain; + background-position: center; + background-repeat: no-repeat; + display: inline-block; + position: absolute; + left: 0; + top: -8px; + } + + .line { + height: 6px; + width: 100%; + margin-top: 13px; + + &.first { + margin-left: 35%; + width: 65%; + border-radius: 3px 0 0 3px; + } + + &.last { + width: 94%; + border-radius: 0 3px 3px 0; + } + } + + .city(@name, @bg) { + &.city-@{name} .line { + background: @bg; + } + } + .city(1, #37c9b8); + .city(2, #bca244); + .city(3, #ac60c9); + .city(4, #54b640); + } + } +} \ No newline at end of file diff --git a/resources/genshin/calendar/common.css b/resources/genshin/calendar/common.css new file mode 100644 index 00000000..e22541da --- /dev/null +++ b/resources/genshin/calendar/common.css @@ -0,0 +1,521 @@ +@font-face { + font-family: 'Number'; + src: url("../../fonts/tttgbnumber.ttf") format('truetype'); +} + +@font-face { + font-family: 'YS'; + src: url("../../fonts/HYWenHei-65W.ttf") format('truetype'); +} + +.font-ys { + font-family: Number, "汉仪文黑-65W", YS, PingFangSC-Medium, "PingFang SC", sans-serif; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + -webkit-user-select: none; + user-select: none; +} + +body { + font-size: 18px; + color: #1e1f20; + font-family: Number, "汉仪文黑-65W", YS, PingFangSC-Medium, "PingFang SC", sans-serif; + transform: scale(1.4); + transform-origin: 0 0; + width: 600px; +} + +.container { + width: 600px; + padding: 20px 15px 10px 15px; + background-size: contain; +} + +.head-box { + border-radius: 15px; + padding: 10px 20px; + position: relative; + color: #fff; + margin-top: 30px; +} + +.head-box .title { + font-family: Number, "汉仪文黑-65W", YS, PingFangSC-Medium, "PingFang SC", sans-serif; + font-size: 36px; + text-shadow: 0 0 1px #000, 1px 1px 3px rgba(0, 0, 0, 0.9); +} + +.head-box .title .label { + display: inline-block; + margin-left: 10px; +} + +.head-box .genshin_logo { + position: absolute; + top: 1px; + right: 15px; + width: 97px; +} + +.head-box .label { + font-size: 16px; + text-shadow: 0 0 1px #000, 1px 1px 3px rgba(0, 0, 0, 0.9); +} + +.head-box .label span { + color: #d3bc8e; + padding: 0 2px; +} + +.notice { + color: #888; + font-size: 12px; + text-align: right; + padding: 12px 5px 5px; +} + +.notice-center { + color: #fff; + text-align: center; + margin-bottom: 10px; + text-shadow: 1px 1px 1px #333; +} + +.copyright { + font-size: 14px; + text-align: center; + color: #fff; + position: relative; + padding-left: 10px; + text-shadow: 1px 1px 1px #000; + margin: 10px 0; +} + +.copyright .version { + color: #d3bc8e; + display: inline-block; + padding: 0 3px; +} + +/* */ +.cons { + display: inline-block; + vertical-align: middle; + padding: 0 5px; + border-radius: 4px; +} + +.cons-0 { + background: #666; + color: #fff; +} + +.cons-n0 { + background: #404949; + color: #fff; +} + +.cons-1 { + background: #5cbac2; + color: #fff; +} + +.cons-2 { + background: #339d61; + color: #fff; +} + +.cons-3 { + background: #3e95b9; + color: #fff; +} + +.cons-4 { + background: #3955b7; + color: #fff; +} + +.cons-5 { + background: #531ba9cf; + color: #fff; +} + +.cons-6 { + background: #ff5722; + color: #fff; +} + +.cons2-0 { + border-radius: 4px; + background: #666; + color: #fff; +} + +.cons2-1 { + border-radius: 4px; + background: #71b1b7; + color: #fff; +} + +.cons2-2 { + border-radius: 4px; + background: #369961; + color: #fff; +} + +.cons2-3 { + border-radius: 4px; + background: #4596b9; + color: #fff; +} + +.cons2-4 { + border-radius: 4px; + background: #4560b9; + color: #fff; +} + +.cons2-5 { + border-radius: 4px; + background: #531ba9cf; + color: #fff; +} + +.cons2-6 { + border-radius: 4px; + background: #ff5722; + color: #fff; +} + +/******** Fetter ********/ +.fetter { + width: 50px; + height: 50px; + display: inline-block; + background: url('img/fetter.png'); + background-size: auto 100%; +} + +.fetter.fetter1 { + background-position: 0% 0; +} + +.fetter.fetter2 { + background-position: 11.11111111% 0; +} + +.fetter.fetter3 { + background-position: 22.22222222% 0; +} + +.fetter.fetter4 { + background-position: 33.33333333% 0; +} + +.fetter.fetter5 { + background-position: 44.44444444% 0; +} + +.fetter.fetter6 { + background-position: 55.55555556% 0; +} + +.fetter.fetter7 { + background-position: 66.66666667% 0; +} + +.fetter.fetter8 { + background-position: 77.77777778% 0; +} + +.fetter.fetter9 { + background-position: 88.88888889% 0; +} + +.fetter.fetter10 { + background-position: 100% 0; +} + +/******** ELEM ********/ +.elem-hydro .talent-icon { + background-image: url("../player_card/img/talent-hydro.png"); +} + +.elem-hydro .elem-bg, +.hydro-bg { + background-image: url("../player_card/img/bg-hydro.jpg"); +} + +.elem-anemo .talent-icon { + background-image: url("../player_card/img/talent-anemo.png"); +} + +.elem-anemo .elem-bg, +.anemo-bg { + background-image: url("../player_card/img/bg-anemo.jpg"); +} + +.elem-cryo .talent-icon { + background-image: url("../player_card/img/talent-cryo.png"); +} + +.elem-cryo .elem-bg, +.cryo-bg { + background-image: url("../player_card/img/bg-cryo.jpg"); +} + +.elem-electro .talent-icon { + background-image: url("../player_card/img/talent-electro.png"); +} + +.elem-electro .elem-bg, +.electro-bg { + background-image: url("../player_card/img/bg-electro.jpg"); +} + +.elem-geo .talent-icon { + background-image: url("../player_card/img/talent-geo.png"); +} + +.elem-geo .elem-bg, +.geo-bg { + background-image: url("../player_card/img/bg-geo.jpg"); +} + +.elem-pyro .talent-icon { + background-image: url("../player_card/img/talent-pyro.png"); +} + +.elem-pyro .elem-bg, +.pyro-bg { + background-image: url("../player_card/img/bg-pyro.jpg"); +} + +.elem-dendro .talent-icon { + background-image: url("../player_card/img/talent-dendro.png"); +} + +.elem-dendro .elem-bg, +.dendro-bg { + background-image: url("../player_card/img/bg-dendro.jpg"); +} + +/* cont */ +.cont { + border-radius: 10px; + background: url("img/card-bg.png") top left repeat-x; + background-size: auto 100%; + margin: 5px 15px 5px 10px; + position: relative; + box-shadow: 0 0 1px 0 #ccc, 2px 2px 4px 0 rgba(50, 50, 50, 0.8); + overflow: hidden; + color: #fff; + font-size: 16px; +} + +.cont-title { + background: rgba(0, 0, 0, 0.4); + box-shadow: 0 0 1px 0 #fff; + color: #d3bc8e; + padding: 10px 20px; + text-align: left; + border-radius: 10px 10px 0 0; +} + +.cont-title span { + font-size: 12px; + color: #aaa; + margin-left: 10px; + font-weight: normal; +} + +.cont-title.border-less { + background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + box-shadow: none; + padding-bottom: 5px; +} + +.cont-body { + padding: 10px 15px; + font-size: 12px; + background: rgba(0, 0, 0, 0.5); + box-shadow: 0 0 1px 0 #fff; + font-weight: normal; +} + +.cont-footer { + padding: 10px 15px; + font-size: 12px; + background: rgba(0, 0, 0, 0.5); + font-weight: normal; +} + +.cont > ul.cont-msg { + display: block; + padding: 5px 10px; + background: rgba(0, 0, 0, 0.5); +} + +ul.cont-msg, +.cont-footer ul { + padding-left: 15px; +} + +ul.cont-msg li, +.cont-footer ul li { + margin: 5px 0; + margin-left: 15px; +} + +ul.cont-msg li strong, +.cont-footer ul li strong { + font-weight: normal; + margin: 0 2px; + color: #d3bc8e; +} + +.cont-table { + display: table; + width: 100%; +} + +.cont-table .tr { + display: table-row; +} + +.cont-table .tr:nth-child(even) { + background: rgba(0, 0, 0, 0.4); +} + +.cont-table .tr:nth-child(odd) { + background: rgba(50, 50, 50, 0.4); +} + +.cont-table .tr > div, +.cont-table .tr > td { + display: table-cell; + box-shadow: 0 0 1px 0 #fff; +} + +.cont-table .tr > div.value-full { + display: table; + width: 200%; +} + +.cont-table .tr > div.value-none { + box-shadow: none; +} + +.cont-table .thead { + text-align: center; +} + +.cont-table .thead > div, +.cont-table .thead > td { + color: #d3bc8e; + background: rgba(0, 0, 0, 0.4); + line-height: 40px; + height: 40px; +} + +.cont-table .title, +.cont-table .th { + color: #d3bc8e; + padding-right: 15px; + text-align: right; + background: rgba(0, 0, 0, 0.4); + min-width: 100px; + vertical-align: middle; +} + +.logo { + font-size: 18px; + text-align: center; + color: #fff; + margin: 20px 0 10px 0; +} + +/* item-icon */ +.item-icon { + width: 100%; + height: 100%; + border-radius: 4px; + position: relative; + overflow: hidden; +} + +.item-icon .img { + width: 100%; + height: 100%; + display: block; + background-size: contain; + background-position: center; + background-repeat: no-repeat; +} + +.item-icon.artis .img { + width: 84%; + height: 84%; + margin: 8%; +} + +.item-icon.star4 { + background-image: url("../abyss/background/roleStarBg4.png"); +} + +.item-icon.opacity-bg.star4 { + background-image: url("../abyss/background/roleStarBg4.png"); +} + +.item-icon.star5 { + background-image: url("../abyss/background/roleStarBg5.png"); +} + +.item-icon.opacity-bg.star5 { + background-image: url("../abyss/background/roleStarBg5.png"); +} + +.item-list { + display: flex; +} + +.item-list .item-card { + width: 70px; + background: #e7e5d9; +} + +.item-list .item-icon { + border-bottom-left-radius: 0; + border-bottom-right-radius: 12px; +} + +.item-list .item-title { + color: #222; + font-size: 13px; + text-align: center; + padding: 2px; + white-space: nowrap; + overflow: hidden; +} + +.item-list .item-icon { + height: initial; +} + +.item-list .item-badge { + position: absolute; + display: block; + left: 0; + top: 0; + background: rgba(0, 0, 0, 0.6); + font-size: 12px; + color: #fff; + padding: 4px 5px 3px; + border-radius: 0 0 6px 0; +} + +/*# sourceMappingURL=common.css.map */ \ No newline at end of file diff --git a/resources/genshin/calendar/common.less b/resources/genshin/calendar/common.less new file mode 100644 index 00000000..5bd21172 --- /dev/null +++ b/resources/genshin/calendar/common.less @@ -0,0 +1,391 @@ +.font(@name, @file) { + @font-face { + font-family: @name; + src: url("../../fonts/@{file}.ttf") format('truetype'); + } +} + +.font('Number', 'tttgbnumber'); +.font('YS', 'HYWenHei-65W'); + +.font-ys { + font-family: Number, "汉仪文黑-65W", YS, PingFangSC-Medium, "PingFang SC", sans-serif; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + -webkit-user-select: none; + user-select: none; +} + +body { + font-size: 18px; + color: #1e1f20; + font-family: Number, "汉仪文黑-65W", YS, PingFangSC-Medium, "PingFang SC", sans-serif; + transform: scale(1.4); + transform-origin: 0 0; + width: 600px; +} + +.container { + width: 600px; + padding: 20px 15px 10px 15px; + background-size: contain; +} + + +.head-box { + border-radius: 15px; + padding: 10px 20px; + position: relative; + color: #fff; + margin-top: 30px; + + .title { + .font-ys; + font-size: 36px; + text-shadow: 0 0 1px #000, 1px 1px 3px rgba(0, 0, 0, .9); + + .label { + display: inline-block; + margin-left: 10px; + } + } + + .genshin_logo { + position: absolute; + top: 1px; + right: 15px; + width: 97px; + } + + .label { + font-size: 16px; + text-shadow: 0 0 1px #000, 1px 1px 3px rgba(0, 0, 0, .9); + + span { + color: #d3bc8e; + padding: 0 2px; + } + } +} + + +.notice { + color: #888; + font-size: 12px; + text-align: right; + padding: 12px 5px 5px; +} + +.notice-center { + color: #fff; + text-align: center; + margin-bottom: 10px; + text-shadow: 1px 1px 1px #333; +} + +.copyright { + font-size: 14px; + text-align: center; + color: #fff; + position: relative; + padding-left: 10px; + text-shadow: 1px 1px 1px #000; + margin: 10px 0; + + .version { + color: #d3bc8e; + display: inline-block; + padding: 0 3px; + } +} + + +/* */ + +.cons { + display: inline-block; + vertical-align: middle; + padding: 0 5px; + border-radius: 4px; +} + + +.cons(@idx, @bg, @color:#fff) { + .cons-@{idx} { + background: @bg; + color: @color; + } +} + +.cons(0, #666); +.cons(n0, #404949); +.cons(1, #5cbac2); +.cons(2, #339d61); +.cons(3, #3e95b9); +.cons(4, #3955b7); +.cons(5, #531ba9cf); +.cons(6, #ff5722); + +.cons2(@idx, @bg, @color:#fff) { + .cons2-@{idx} { + border-radius: 4px; + background: @bg; + color: @color; + } +} + +.cons2(0, #666); +.cons2(1, #71b1b7); +.cons2(2, #369961); +.cons2(3, #4596b9); +.cons2(4, #4560b9); +.cons2(5, #531ba9cf); +.cons2(6, #ff5722); + +/******** Fetter ********/ + +.fetter { + width: 50px; + height: 50px; + display: inline-block; + background: url('img/fetter.png'); + background-size: auto 100%; + @fetters: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10; + each(@fetters, { + &.fetter@{value} { + background-position: (-100%/9)+(100%/9)*@value 0; + } + }) +} + +/******** ELEM ********/ + +@elems: hydro, anemo, cryo, electro, geo, pyro, dendro; + +each(@elems, { + .elem-@{value} .talent-icon { + background-image: url("../player_card/img/talent-@{value}.png"); + } + + .elem-@{value} .elem-bg, + .@{value}-bg { + background-image: url("../player_card/img/bg-@{value}.jpg"); + } +}) + + +/* cont */ + +.cont { + border-radius: 10px; + background: url("img/card-bg.png") top left repeat-x; + background-size: auto 100%; + // backdrop-filter: blur(3px); + margin: 5px 15px 5px 10px; + position: relative; + box-shadow: 0 0 1px 0 #ccc, 2px 2px 4px 0 rgba(50, 50, 50, .8); + overflow: hidden; + color: #fff; + font-size: 16px; +} + + +.cont-title { + background: rgba(0, 0, 0, .4); + box-shadow: 0 0 1px 0 #fff; + color: #d3bc8e; + padding: 10px 20px; + text-align: left; + border-radius: 10px 10px 0 0; + + span { + font-size: 12px; + color: #aaa; + margin-left: 10px; + font-weight: normal; + } + + &.border-less { + background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, 0)); + box-shadow: none; + padding-bottom: 5px; + } +} + +.cont-body { + padding: 10px 15px; + font-size: 12px; + background: rgba(0, 0, 0, 0.5); + box-shadow: 0 0 1px 0 #fff; + font-weight: normal; +} + + +.cont-footer { + padding: 10px 15px; + font-size: 12px; + background: rgba(0, 0, 0, 0.5); + font-weight: normal; +} + +.cont > ul.cont-msg { + display: block; + padding: 5px 10px; + background: rgba(0, 0, 0, 0.5); +} + +ul.cont-msg, .cont-footer ul { + padding-left: 15px; + + li { + margin: 5px 0; + margin-left: 15px; + + strong { + font-weight: normal; + margin: 0 2px; + color: #d3bc8e; + } + } +} + +.cont-table { + display: table; + width: 100%; +} + +.cont-table .tr { + display: table-row; +} + +.cont-table .tr:nth-child(even) { + background: rgba(0, 0, 0, .4); +} + +.cont-table .tr:nth-child(odd) { + background: rgba(50, 50, 50, .4); +} + +.cont-table .tr > div, +.cont-table .tr > td { + display: table-cell; + box-shadow: 0 0 1px 0 #fff; +} + +.cont-table .tr > div.value-full { + display: table; + width: 200%; +} + +.cont-table .tr > div.value-none { + box-shadow: none; +} + +.cont-table .thead { + text-align: center; +} + +.cont-table .thead > div, +.cont-table .thead > td { + color: #d3bc8e; + background: rgba(0, 0, 0, .4); + line-height: 40px; + height: 40px; +} + + +.cont-table .title, +.cont-table .th { + color: #d3bc8e; + padding-right: 15px; + text-align: right; + background: rgba(0, 0, 0, .4); + min-width: 100px; + vertical-align: middle; +} + +.logo { + font-size: 18px; + text-align: center; + color: #fff; + margin: 20px 0 10px 0; +} + +/* item-icon */ +.item-icon { + width: 100%; + height: 100%; + border-radius: 4px; + position: relative; + overflow: hidden; + + .img { + width: 100%; + height: 100%; + display: block; + background-size: contain; + background-position: center; + background-repeat: no-repeat; + } + + &.artis { + .img { + width: 84%; + height: 84%; + margin: 8%; + } + } + + @stars: 4, 5; + each(@stars, { + &.star@{value} { + background-image: url("../abyss/background/roleStarBg@{value}.png"); + } + &.opacity-bg.star@{value} { + background-image: url("../abyss/background/roleStarBg@{value}.png"); + } + }) +} + +.item-list { + display: flex; + + .item-card { + width: 70px; + background: #e7e5d9; + } + + .item-icon { + border-bottom-left-radius: 0; + border-bottom-right-radius: 12px; + } + + .item-title { + color: #222; + font-size: 13px; + text-align: center; + padding: 2px; + white-space: nowrap; + overflow: hidden; + } + + .item-icon { + height: initial; + } + + .item-badge { + position: absolute; + display: block; + left: 0; + top: 0; + background: rgba(0, 0, 0, 0.6); + font-size: 12px; + color: #fff; + padding: 4px 5px 3px; + border-radius: 0 0 6px 0; + } +} \ No newline at end of file diff --git a/resources/genshin/calendar/example.html b/resources/genshin/calendar/example.html new file mode 100644 index 00000000..2ce6a036 --- /dev/null +++ b/resources/genshin/calendar/example.html @@ -0,0 +1,199 @@ + + + + + + + + miao-plugin + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
2月
+ 9日 + 周四 + + 10日 + 周五 + + 11日 + 周五 + + 12日 + 周五 + + 13日 + 周五 + + 14日 + 周五 + + 15日 + 周五 + + 16日 + 周五 + + 17日 + 周五 + + 18日 + 周五 + + 19日 + 周五 + + 20日 + 周五 + + 21日 + 周五 +
+ + + + + + + + + + + + +
+
+
+ + + + + + + +
活动列表
+
+
+
+
+
+ + 「深境螺旋」· 2月上半 + 02-01 04:00 ~ 02-16 03:59 (5小时2分钟后结束) +
+
+
+
+ + 「深境螺旋」· 2月下半 + 02-16 04:00 (5小时2分钟后开始) +
+
+
+
+ +
+ + 「神铸赋形」祈愿:「护摩之杖」「若水」概率UP! + 02-07 18:00 ~ 02-28 14:59 (12天15小时56分钟后结束) +
+
+
+ +
+ + 「花时来信」神里绫华衣装限时折扣 + 01-18 11:00 ~ 02-27 03:59 (11天4小时56分钟后结束) +
+
+
+ +
+ + 「合韵纪行」活动说明 + 01-18 11:00 ~ 02-27 03:59 (11天4小时56分钟后结束) +
+
+
+ +
+ + 胡桃 + 02-07 18:00 ~ 02-28 14:59 (12天15小时56分钟后结束) +
+
+
+
+ + 【有奖活动】「磬弦奏华夜」3.4版本攻略征集活动 + 01-18 18:00 ~ 02-26 23:59 (11天55分钟后结束) +
+
+
+
+
+
+
+ 当前时间:2023-02-15 23:03 +
+ +
+ + \ No newline at end of file diff --git a/resources/genshin/calendar/img/abyss-icon.png b/resources/genshin/calendar/img/abyss-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f658b5142e066a386ee6903e99d12bbfb69a0cdc GIT binary patch literal 50508 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∓c0UUfD{{XHmA2~Sjy@?6MufTrD$@S>>(4vf(@?y zDp6NJDUgLMfxAy4?MWUhO;scdx5I@-(gw}jo(706PqNh{fm-Ptr0^@Ju?0ZFr*nWU zO8~lFr;1bZv$w?Y{o+pB(-tu=Pjor4CCE`&bx$83(<5rct>bybUzC19tP`PL$oPRcQ0)cT0&?& zyy;#yC@9m*oel7^OD6XOPFEHFTbM!p4m$hRv*C%w!f5OrbWS$**LlXscJ792I*%lW zAqAiU0^Jgv$e`OhGa6qEZbKV(IlE4mZiR13(~%g^I_K`acR3|_dpmz>$bRQE2M5dq zEWV*Pn(fhmTukJ~L$v9{^P*o`?bxkGyDiR^M<+5G+U~i{D*%||;f_#a{H6izMfcW; z&a^)27P+KLi&CX?@t}0&<5~-UCo1p$j+#Wn^=EB4n5;GfH@Eqec)k}nd#k$ki9j*; zJV{_)Pa#-+&H&a3>q&<>bKo*YcDawz#AtU4pED*`PnR6z%{0z0e2;62Z*#6e(60*b zexAne61B|kG55?9D~m+9StLY+03jY8% z`BIV`Ts0bxZ9KKX`#=tOHX$@m3J(t4-Y3V|US)C6uL^Tr$5!y9AlRWwR~vvs61I|r z3xrW`!itV5v>rU^2}I$=d}~`C0_1X_YydwI;qIpGagl7}dmn9XVcZG`-dcs$xD=>t z2zyGDBab>I*6D*Iz__qcPAAM=xzaJ%3^%Y(o-a)8_jCnn;DTS^==;Ubw*rSN7 zT)b`F45pVcuDNZ|3F2*0&TPk!=X(#4{{W3M3U}`_He5W@<{&-f?Q@pE5{A~P;e2i1 z3*6TOVm6a{Qqoq%{1qu%@giuyeKbAAj<({K9wwMsoW}4+3k&gDiShRgf1P5bJP#W6 zH*AgYhR+x=fhOl}jF4QM0S48V2htfB$l)xPcn)}Di%3F9%0N>gTdWbs~ zMrD~WVCii=M04Eop%&>_kCG{v_#Yu@bZ!aqoG)%G#-x#f4i9N`jB?mJq~Z_TOtrup zjVKlP*N++r!nLalQ1IhH1;-izJ+*x_ulVD*H0%St!H+Kmk0?3^1K>mH08X2%J%+o! zJZ#$BZu0jqfKYFcJP-bQ?oqk>S|;4qh4StI>HT%svLt^>8Gfg=zFiz$I1Y`DaxUL7 zAX?&_3k+{>mB8>K$69kttZvrsDJ~Ub`LXr(wS>TX=rj(}c zBVB31jxA^aq5drrgG-B?K=W__jVYzpa29yEQ^xg}=J~o&tDFX)lq6Nn$~Ddko(uTW z1ws@BOP+O{KvVLS-0wta812Uyh0@{J zhc-j;jy6QKWyP7>qR5&Fi)C@#9OiZ4i3~3tXIJNR_ z1nqr|xFM{5=M(x}R=29+ZY6~6MB-e4rDNv?bmQ)jws+`AcpGE|3RsE(%WJoa4+>OG z+7bL(Ed!>~HjiejN6G_@gGPs)K=2jKC{S1}!5;BZNb(xq{Ro7GEAW<|Dsv+Bm)lw- z#Fes1jwKJ1&h#Z3hiGU);)u;(~aG7#6YSzg3zL)v+8RIIEmte#Hek0db(3b4oq_7`Y~T0QlbfF*p8&#=Z? z3qr`mkX&#zC#WUKpAuQH@Za0B7&@Iiu_0o)y1F(r65xx-+y0?ie=Wb2MyQm;)tk2h zQ9&!hl!D+vuqZ|T`Xmj_7hV_PL})k<13-sqLABK`i$LuMf|5d% zzu81Qf?Cx9e54%+Ja0g>?K-sRoT z7UA1UsL^YP-=V#{Pqv?rki#x3$#a;`E2Ag%F!=JQ^Bde8_`^#i#xWkFn&5;KwPoPP zFpw4*@aICkIS{Bk&11(tGiQUK*Uux^mqOx0!W{)eCi9GAFA%(4&4`;6;u`9inK1NQ zk{cAPVNukKAt7`Q8hb0vpNQ2T5t*oTAb47*WLenLu{KKPJ8)rgqLHP=WHqm0d@d6> zwMYzOgJudZz&h6y=vcuN-J(%AEW2F{r)$dzx(6n;waza9hdIG7{Zx8#HP0c=iLOA^ z7YYYGC?+UrLaNtsrtQNHB{qW@34(h{Io0Kb)k_b`g!|A&7G1wYzH01B_7ej zyH|C`fMh|L7|DsQd1P&Ui@eGP^I|w2HIm#$iSeY9b{ve2sOa2|VO8X7)>ysDGS{;c zA1fK80k}ago8i{Zq7)~z@f_<0HkFG%1^C4CacPh7D@GXs5<=q~fbeq;)Ax$!;aXCW zR~pur;V~7XrXs+WaU;<2+0PBl1p!TX)c+Gq-ar*c%+0jz;U~GqIR+}#ZEl_4)XSW%X z;$!Y$e2hm11?GUQZf|mQfrt^a2Va0k3dL@8Z<7Y6e(5qQAVK}o+-%DDoOmP4Fg=D z@%u#qw(cttdC+jviK{pen_SXMKq>IADsWz-9(OsRcU$uDp`#3K4cgm)g$3_qG{i1r zo_w1^>7lg-?NswM&$jg%uZ=|)auPCV+L7i&)p20|0P+qfl;`5g%(gHR7#ilhk742} zEWBioBN&IaMiPUWy*oD+J=n7y(guYwJlwUwXbI5J`Cx7e0MSPaaG=o>cay{*`{@H3 zPTkHVU3@97i~Qcq=Ex8(_#AHE@RMQ4(`3fTYoeTdtXWXC92Fb7#Q0QZd_*C=J?sdL zakwCPP^yZHDeiHfY;iJ1xU6rCosuBcLMZms&& zz9AF5uR1z6U5_3FB{>C+w{qu0l8x<7G^j~73$L(HQ~^-9l)CUWz0ya}m=PlZ{VoXL zp=&p^!b9>qFl6{(rs*;5uBbSDm4%bhZb^VMA0e%f64t%DqAuDzyjq+Ru{(ZrF~Nu5 zA)mH9hZPRUVG)-v_kgEED?oHEF~|+P?K@mO#8jOtP1(p=fWDW+91U021U!4L1b2K=m4kom%6bfCa0KIAKwR)S^c`+k0Q?qtwxO`1v z5@fx<;@Z!3cYf!)=0lF=VzixRlyu_*-sP_2-tqwv_UvbdbLzNRzS1vG4|sc#eA*s& z@T@M@#x?KEiQUU196Ux|GUW_wLym+;8jl)}74S;-M~ex5LtN130?>-v0BypRnOz4q z?QG30Da%A(eHXS)t1OZ*gRct{K>Q712dJ7kxBKb|3|%SRoc)5qW0{+{6u+{`dz#9? z$AOXMVnY=8xs5xVWR5U)y@Vn;Q22k>rF$y%;a3z*el#dMkx*&m{4OQMx`ow1rw{?! z6bA8H7YsK9ofpQ7fe(85mgNST&}cv&P?{m^PZP?Eb^>;SgOIu(?55cbhTQ=piT2cu z3P~xrgwpyQ2&NKR;MZ9Ss{T~Bh_S@&Zol3?WkmH(m6{Ej6HA>B8VxEO^X6ub+o@hv z9GkZWJUE0S%Ah!3+gTWf%xl~kC?69^QSZI$emsUZkU|X*a4kO&@U7E!`1k5$h?w_y z?YN@YG0Z>>u4|ptCy`Pp%Paa=u!MBBI{uapE~saTn<0df%wTNhy3gIrka*Ma7&^lh zGka6ree8AimEsMm2xO96K8yFsjgfulRNhrmnsS6*XKi$haCBr6t#BiiMV4V#x>qxy zF;H0VD_Y^GxclkY{kyT_woq)y<9vvksVEUD2IQEBb_LSR*xCbQBF&8gfOhLgBu3r% z;oVm}8{^1M;cYfJ-@w)`RBvViFlC^3K2xi1A%K9^WQL9HG%=$Za0iTjD4bcvfd>jyBEeA4?bJc7YiV z`m9pj*;wp6PS7N1<{T-mZQ5=P3evwi(zIIsnpTNd7vO8Q`g62JyFa>0BWuX=!x+4i zKa*o>llE6=^xtP@&fnSb+m8wTQW1B^AcwwB}*DCgwZpvogTl9`c2(+$;})Bu)V8l)8$<3zp_D_XnW#dA-A0`-E}R3!0- zM%5aWAoE`ulx!@si$iR0;iak*By4e$CO1Jdo4P|7U{D;sP@_b>Wlrc??EGwLqsN^* z<7n`-P*yU{vn!;i5l zE~0EuoY8E)`j2+)yNaj7xo_{G)A;SPPFCKQ*IJbm^rEiS{Ymev{kki6DsJDgzYph3 zRn%?Kef)LOow-$QqA!IV%e!!1Y2d%nYAvbs8&A>f=lZvQeRck-Jw(^^>sT9?sr3iw zlU|a1-O2h_Pa2zdN2ZPXZ>deI`qTAkP<;m8j>FdJF3rh*i-wh(^*ef>O61pat9EYj z-kMe~TYpP$m!+cdRKLWiv=>j$jX!4p0Eq5X>FwL|)i@{KmD>KBt-ql^?%z?T({FaE zZ8>qL^mg?3J7)b;ca?Z(i&K40&Wa7|w`R{8Z_@PkS#~C#?h8SDHva$@4}D)-Yo%lU z*VF1NexX-)_r1xgR9#-bSL+}92TN~P>6CBXyUVjwU+(d&U)(w$yL1`W-~2!LcP+Q< z_`DLZf7}Vv{lZV#zN7rD`$to5-_XCsWveIbXgXiEf0wrZ03P2yp6cv>N7ViMe1A!` zH?HrNtH+;$*LD8@Y;F2gZ|=PW`cK?H_a95gr@ed^OHlml`luycYTU0wMWM>+Lzj(r z{{W}|0Q*%RxOGu}fqq}pe{*-o$8s%_vVMoB_1!1^7gPMcw%;c21*U%Ozw0`$>UH({ zwexRYDyidL$M;T``*(Z(yZ0~h5pB@jbWJ}`zPs=Hdv{az>A!C4{{ZRwzptXcbwu04 zm3nvR*XcSLKTXuzzpcIfZTqgflWJbFdb@hN+?!W!)d{Z@)hO-XyKfCwf~8__>3vsG uy#!7BxFTO(bpEEz`)&P;`Bp-F9c+Jz7jDMwMY?+{JrO!{s_F3sum9PphHX3m literal 0 HcmV?d00001 diff --git a/resources/genshin/calendar/img/card-bg.png b/resources/genshin/calendar/img/card-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..036d416e692030f7c0a8b07d30c5da5c4598dece GIT binary patch literal 2594 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