Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce svg size & lzay load github.svg and grid.svg #580

Merged
merged 5 commits into from
Dec 22, 2023

Conversation

vlin
Copy link
Collaborator

@vlin vlin commented Dec 20, 2023

  1. fix: remove all unnecessary React imports
    Declare plugin:react/jsx-runtime in .eslintrc.js, no longer have to import React to write JSX.

  2. perf: reduce SVG file size during build

    Use 'vite-plugin-svgr' to optimize all the SVG files, make them smaller.

    Both github.svg and grid.svg are packed in the index.js

    Before:
    distassetsyear_2012-cdd7baf2 js
    After:
    distassetsyear_2012-e71b5e80 js
    Here(https://react-svgr.com/playground/) are more info about svgr.

  3. Split out github.svg and grid.svg from index.js into separate packages during the build. Only import them asynchronously when rendering the Total view, in order to reduce resources loaded on the initial page.
    screen

Copy link

vercel bot commented Dec 20, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
running-page ✅ Ready (Inspect) Visit Preview 💬 Add feedback Dec 21, 2023 4:21am

@yihong0618
Copy link
Owner

@frostming did something similar but seems will break some vercel preview

Copy link
Collaborator

@orionna319 orionna319 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much for your contribution. Nice work!

@orionna319
Copy link
Collaborator

orionna319 commented Dec 20, 2023

Is there anything else you need my help with? I can’t see the error details during Vercel deployment, It should be because I don’t have permission.

@vlin
Copy link
Collaborator Author

vlin commented Dec 21, 2023

@yihong0618
Would you share the Vercel deployment logs? That would help troubleshoot the cause of the failure.

@yihong0618
Copy link
Owner

@yihong0618 Would you share the Vercel deployment logs? That would help troubleshoot the cause of the failure.

image

maybe vercel problem, will also check it

@orionna319
Copy link
Collaborator

orionna319 commented Dec 21, 2023

Cannot install with "frozen-lockfile" on build
Maybe pnpm error, can you deleting the old lockfile(pnpm-lock.yaml) and running pnpm install to generate a new one.
@vlin

@vlin
Copy link
Collaborator Author

vlin commented Dec 21, 2023

Cannot install with "frozen-lockfile" on build Maybe pnpm error, can you deleting the old lockfile(pnpm-lock.yaml) and running pnpm install to generate a new one. @vlin

@orionna319
thx~

@yihong0618
all checks have passed. let's go ahead.

Comment on lines +136 to +154
const handleClick = (e: Event) => {
const target = e.target as HTMLElement;
if (target) {
const tagName = target.tagName.toLowerCase();

// click the github-stat style svg
if (
tagName === 'rect' &&
parseFloat(target.getAttribute('width') || '0.0') === 2.6 &&
parseFloat(target.getAttribute('height') || '0.0') === 2.6 &&
target.getAttribute('fill') !== '#444444'
) {
const [runDate] = target.innerHTML.match(/\d{4}-\d{1,2}-\d{1,2}/) || [
if (target.tagName.toLowerCase() === 'path') {
// Use querySelector to get the <desc> element and the <title> element.
const descEl = target.querySelector('desc');
if (descEl) {
// If the runId exists in the <desc> element, it means that a running route has been clicked.
const runId = Number(descEl.innerHTML);
if (!runId) {
return;
}
locateActivity([runId]);
return;
}

const titleEl = target.querySelector('title');
if (titleEl) {
// If the runDate exists in the <title> element, it means that a date square has been clicked.
const [runDate] = titleEl.innerHTML.match(/\d{4}-\d{1,2}-\d{1,2}/) || [
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice refactor

@yihong0618 yihong0618 merged commit 6d7bd29 into yihong0618:master Dec 22, 2023
5 checks passed
@yihong0618
Copy link
Owner

nice

85Ryan pushed a commit to 85Ryan/gooorun that referenced this pull request Dec 23, 2023
ben-29 added a commit to ben-29/workouts_page that referenced this pull request Jan 6, 2024
* upstream: (23 commits)
  fix readme
  nits
  step 2, generate running page from .fit and .gpx
  fix: yihong0618#584 change fit-tool to garmin-fit-sdk (yihong0618#590)
  remove fake device
  nits
  Refactor: sync garmin cn to global
  fix: lock lxml version
  garmin-cn sync garmin-global tutorial in readme and readme-cn
  fix fit download gpx file (yihong0618#582)
  nits
  nits
  github workflow
  feat: sync garmin cn to garmin global
  Reduce svg size & lzay load github.svg and grid.svg (yihong0618#580)
  Update index.tsx (yihong0618#579)
  添加 (yihong0618#578)
  docs: add runner page (yihong0618#577)
  feat: ✨ Support ga, default off (yihong0618#572)
  docs: add runner (yihong0618#571)
  ...

# Conflicts:
#	src/components/RunMap/index.tsx
J-Cod3r added a commit to J-Cod3r/running_page that referenced this pull request Mar 22, 2024
* doc: todo for 2.0

* fix: vercel and github page both work

* Update gh-pages.yml

* Update README.md

* Update index.jsx

* Update index.jsx

* Update index.jsx

* Update const.js

* Update index.jsx

* Update index.jsx

* Update index.jsx

* Update README-CN.md

my workouts page.

* Update README-CN.md

* Update README-CN.md

* feat: add tulipsport support

* docs: 添加GitHub Pages方案说明文档到README-CN.md中;添加部分代码注视,并修复一个查询区间的时间取值问题

* style: reformatted tulipsport_sync.py by black

* style: reformatted tulipsport_sync.py by black again(indent-size: 2 spaces => 4 spaces)

* fix: 修复被覆盖的start_time_local,设置为end_time_local

* doc: 合并GitHub Pages配置说明,调整郁金香配置文档结构

* feat: tulipsport_sync.py add --with-gpx option

* chore: tulipsport sync add --with-gpx in run_data_sync.yml file

* fix: add the compatible check when activity node lost

* fix: use dict.__contains__ instead of if else.

* style: reformat the code~

* share my Running page

* doc: new runners

* doc: new runner

* Update README.md

* Add Codoon to run_data_sync.yml

* doc: new runner

* fix typo

* chore: update README

* fix: RunTime using `moving_time` from activity instead of `distance * pace`, also fix sorting

* Add: stevenash0822 homepage & Update: calculation of avgPace

* fix: yihong0618#396 yihong0618#403

* f

* style:fix runtable mix-width

Signed-off-by: shaoanianche <github@duanfei.org>

* refactor:cleanup code

* refactor:cleanup code

* refactor:fix dependency conflict warning

* refactor:fix dependency conflict warning

* refactor:fix dependency conflict warning

* refactor:fix dependency conflict warning

* refactor:fix dependency conflict warning

* refactor:fix dependency conflict warning

* refactor:fix dependency conflict warning

* refactor:fix dependency conflict warning

* commit: fix click area problem

* commit: add personal website

* commit: formatting

* fix: yihong0618#412

* fix: eval evil for joyrun and replace string by  install of

Signed-off-by: yihong0618 <zouzou0208@gmail.com>

* fix: lint

* 🏃 share muyids's running page

* doc: new runner

* doc: new runner

* fix: yihong0618#426

* 申请加入

* 城市分割问题修改

* Update utils.js

format code

* 申请加入

* refactor: use event delegation to handle all <rect> & <polyline> in the "Total" view.

* fix: drop useless log

* feat:add garmin device in strava_to_garmin_sync script

feat:add device info toggle

format

update

optimized code

fake

docs:add usage desc for strava_to_garmin

* style:add default value for use_fake_garmin_device

* chore: use <></> instead of the root node of the components to improve rendering performance

* chore: remove unnecessary <div> tags to reduce dom node nesting

* feat(privacy): ignore start, end and choose points

Signed-off-by: EINDEX <snowstarlbk@gmail.com>

* docs: adding eindex workouts page

* fix: catch ValueError for non-number RANGES

Signed-off-by: EINDEX <snowstarlbk@gmail.com>

* fix(privacy): using strava way to hidding polyline

* style: black format

* refactor(privacy): for-loop to list-comprehension and typo fix

* Fix ci (yihong0618#444)

* fix: ci

* fix: strava same logic as garmin

* doc: info only run

* fix: yihong0618#443

* feat:support for download Garmin fit file (yihong0618#446)

* feat:support for download Garmin fit file

* Update README-CN.md (yihong0618#447)

* Update README-CN.md

* fix: url

* fix: ignore device info for origin fit file in strava_to_garmin_sync (yihong0618#448)

* fix: ignore fit file origin device

fix: ignore fit file origin device

* docs: remove redundant English desc

* chore: remove test code

* style: reformat code

* fix: polyline_str maybe None

* fit文件读取 (yihong0618#449)

* feat: parse fit file

* Update README.md (yihong0618#453)

* Update README.md (yihong0618#455)

* Fix Sports Type in codoon_sync.py (yihong0618#457)

Change "Run" to "Running" so when uploading the TCX files to Strava, it won't be recognized as "Ride".

* Update README-CN.md (yihong0618#459)

* Save synced filenams and skip sync next times (yihong0618#454)

* feat: add synced file name in imported.json, then skip those files next time

* chore: add TCX_OUT\FIT_OUT dir in `yarn data:clean` cli

* reformated

* fix: add try except when load json

* save data files to cache

* Revert "save data files to cache"

This reverts commit cd3bcf9.

* fix: new synced_data_file_logger.py

* reformatted

* save GPX/FIT/TCX, activities, accets, data.db to github cache

* Revert "save GPX/FIT/TCX, activities, accets, data.db to github cache"

This reverts commit 55f48cc.

* resolve the code review issues.

* fix: put all types data files record in one json

* add update track data file names in the synced record file

* fix: 457, add TCX_TYPE_DICT (yihong0618#462)

* fix: yihong0618#454, no `file_names` when sync from app (yihong0618#463)

* fix: yihong0618#454, no `file_names` when sync from app

* fix

* 添加保存过程中产生的数据文件到github action cache选项,顺便重新整理了一下github aciton workflow (yihong0618#464)

* 添加保存过程中产生的数据文件到github action cache选项,顺便重新整理了一下github aciton workflow

1. run_data_sync 调用 gh_page方式改成了workflow_call,这样可以传递一些数据过去。可以把设置都放在run_data_sync env中完成。在github后台看来也在一个job中完成了。
2. 缓存默认关闭,添加了文档。
3. 三个workflow中的action版本做了升级。有好几个github action提示版本过低了。
4. python和node准备环境部分做了优化。用了setup python /setup node自带的cache参数。多余的几个step删了。

* node-version: "16" -> node-version: '16'

* feat: add BUILD_GH_PAGES to control build gh pages

* docs: BUILD_GH_PAGES in run_data_sync.yml

* ci: fix typo

Signed-off-by: yihong0618 <zouzou0208@gmail.com>

* readme中node版本修改 (yihong0618#466)

* Update README.md

和package.json同步。

* Update README-CN.md

与package.json同步

* Update README.md

修改成>=

* feat: Typescript! (yihong0618#461)

* feat: Typescript!

Signed-off-by: Frost Ming <me@frostming.com>

* chore: use node 16 as the base

Signed-off-by: Frost Ming <me@frostming.com>

* fix: remove use dependencies

Signed-off-by: Frost Ming <me@frostming.com>

---------

Signed-off-by: Frost Ming <me@frostming.com>

* fix: 同一天有多个运动时选中地图路线显示错误问题 (yihong0618#468)

* Add sync strava data args comment: `--only-run` (yihong0618#471)

* feat: change to SPA and vite (yihong0618#472)

feat: change to react and vite

Signed-off-by: Frost Ming <me@frostming.com>

* fix: set gh page default to true for newbie.......

* Add correction on instruction of build github pages. (yihong0618#476)

* feat: add a new runner's page (yihong0618#482)

* fix: using session to download keep route

* chore: merge example data

* doc: drop vercel cache build doc for newbie

* fix: fix fullscreen css (yihong0618#487)

* chore:upgrade node version and pnpm (yihong0618#474)


Signed-off-by: shaoanianche <github@duanfei.org>

* doc: fix v2.0 doc and actions change (yihong0618#488)

* fix: gh-pages to Actions and fix the path bug (yihong0618#490)

* fix: v2.0 can not zoom (yihong0618#492)

* This commit do these things,
cause react update to 18 there is a serious bug for
react-map-gl, so we deside to update it to v7.
for v7 there's a lot of break change, we fix them as follows:
- bring mapbox css to the file.
- change the api that break
- add two packages in it to fit the change
- change viewport name to viewState to fit the api change

* fix: git ignore

* style:
* line blur to smooth
* mapStyle using dark-v10 to solve the language problem
* FullscreenButton style fix

---------

Co-authored-by: ben_29 <ben_29@live.com>

* fix: gpx encode error maybe

* chore:gnore ./dist (yihong0618#494)

Signed-off-by: friendsa <github@duanfei.org>

* fix: by comments

* doc: v2.0 doc

* chore: my data

* fix wrong path (yihong0618#498)

* yihong0618#484 导出keep接口升级无法获取gpx数据的跑步记录 (yihong0618#496)

* fix: keep interface upgraded, retrieved gpx data maybe failed

* fix: lint

* style: reformat code

---------

Co-authored-by: F4ria <fariacool@gmail.com>

* fix Readme errors about `deploy to Cloudflare` (yihong0618#499)

* doc: chore, change typo

* fix: yihong0618#500

Signed-off-by: yihong0618 <zouzou0208@gmail.com>

* feat: fix garmin down (yihong0618#505)

* fix: garth package

* fix: reverse bug

* fix: use garth package

* Update README.md for 2.0 github pages deployment (yihong0618#506)

* Update README.md for 2.0 github pages deployment

* Update README-CN.md

* doc: bring perssions in page back

* fix: garmin sync cn configure

* fix typo (yihong0618#510)

* Update README.md

* Update README-CN.md

* 更新新版本佳明同步文档 (yihong0618#507)

* update garmin sync readme

* Update run_data_sync.yml

* fix: drop pngs

---------

Co-authored-by: yihong0618 <zouzou0208@gmail.com>

* feat: add IOS Shortcuts in README (yihong0618#513)

* fix: strava to garmin sync

* fix: yihong0618#516 (yihong0618#517)

* doc: new runner

* fix: upload to strava type

* fix: cityMatch (yihong0618#521)

(cherry picked from commit 7c3c05b)

* upd runner's page url (yihong0618#522)

* doc: new runner

* updatereadme (yihong0618#527)

* fix: yihong0618#484 keep gps data decode (yihong0618#524)

* fix: yihong0618#484 keep gps data decode

---------

Co-authored-by: yihong0618 <zouzou0208@gmail.com>

* fix: bring old logic back

* fix: drop useless png

* docs:rewrite docs (yihong0618#514)

docs:rewrite docs

Signed-off-by: shaoanianche <github@duanfei.org>

* doc: runner info fix

* fix: show in firefox

Signed-off-by: yihong0618 <zouzou0208@gmail.com>

* feat: add NavigationControl (yihong0618#534)

* feat:suport heart_rate in export gpx file (yihong0618#529)

* feat:suport heart_rate in export gpx file

* feat: reduce grid svg file size (yihong0618#535)

* upd deploy to github-pages  (yihong0618#537)

* 更新部署 github-pages 说明

* Update Deploy to Github-pages

---------

Co-authored-by: haowei.chen <chenhaowei93@163.com>

* fix: gh-pages build: drop the ref while trigger from Run Data Sync (yihong0618#540)

* fix: gh-pages build: drop the ref while trigger from Run Data Sync

* fix: nrc sync

Signed-off-by: yihong0618 <zouzou0208@gmail.com>

* Master (yihong0618#545)

* Update run_data_sync.yml

* Update run_data_sync.yml

* Update run_data_sync.yml

* add screenshot to show how to get nike refresh token

* add screenshot to show how to get nike refresh token

* refactor

* Update strava_to_garmin_sync.py (yihong0618#544)

Sort the activities downloaded from Strava by their id's thus they are uploaded to Garmin from the oldest to the latest. Otherwise, the latest one is uploaded first, and if the process is interrupted, any activities older than it will never be uploaded because the code before this line gets the latest activity from Garmin and only download those newer than it from Strava.

* doc: add nrc detail written by @angolap

* perf: use auto instead of scroll (yihong0618#550)

Co-authored-by: caojiawen <caojiawen@zmeng123.com>

* feat: `RunRow` toggle selection & cursor pointer (yihong0618#551)

* perf: split `activities.json` from index (yihong0618#552)

* fix a bug in track.py. (yihong0618#559)

* fix: yihong0618#566

* fix: update the year when change by Title & City, otherwise the `SVG` will be displayed and the table will not be shown if the previous status is 'Total' (yihong0618#567)

* fix: dockerfile typo thanks @dywu516

Signed-off-by: yihong0618 <zouzou0208@gmail.com>

* fix: Codoon tcx output use start_time as ID instead of Codoon id (yihong0618#568)

* fix: Codoon tcv output use start_time as ID instead of Codoon id

* fix lint by black

---------

Co-authored-by: anchao <chao.an@fastonetech.com>

* docs: add runner (yihong0618#571)

* feat: ✨ Support ga, default off (yihong0618#572)

* docs: add runner page (yihong0618#577)

add runner page

* 添加 (yihong0618#578)

Co-authored-by: ppz <ppzisgod@gmail.com>

* Update index.tsx (yihong0618#579)

bugfix: BPM Sort Function

* Reduce svg size & lzay load github.svg and grid.svg (yihong0618#580)

* feat: sync garmin cn to garmin global

* github workflow

* nits

* nits

* fix fit download gpx file (yihong0618#582)

* garmin-cn sync garmin-global tutorial in readme and readme-cn

* fix: lock lxml version

Signed-off-by: yihong0618 <zouzou0208@gmail.com>

* Refactor: sync garmin cn to global

Step 1: Sync all activities from Garmin CN to Garmin Global in FIT format.
If the activity is manually imported with a GPX, the GPX file will be synced.
Step 2: Generate track from gpx file.

* nits

* remove fake device

* fix: yihong0618#584 change fit-tool to garmin-fit-sdk (yihong0618#590)

* fix: 584 change fit-tool to garmin-fit-sdk

* feat: garmin - handle gpx(if exist) when sync with fit

* fix import error

* doc: SEMICIRCLE

* fix: wrap_device_info using fit-tool

---------

Co-authored-by: NaturezzZ <naturezzz@outlook.com>

* step 2, generate running page from .fit and .gpx

* nits

* fix readme

* Feat: lights switch (yihong0618#591)

* feat: Lights on and off

* style: Show boundary and line together, combine geoData(only when not combine yet)

* style: disable dash and transparent, stronger line when lights off

* style: Button alignment

* style: Fullscreen Button alignment

* feat: LIGHTS_ON config

* feat: PRIVACY_MODE config

* feat: PRIVACY_MODE config

* doc: note for PRIVACY_MODE (yihong0618#594)

* chore: my data

Signed-off-by: yihong0618 <zouzou0208@gmail.com>

* fix: resolve issue yihong0618#597 (yihong0618#599)

* set country name to chinese

* nits

* nits

* fix: svg not found causes page crash (yihong0618#598)

* Joyrun gpx export fix for pauses and gpx segments (yihong0618#601)

support pause, add segments to gpx

* fix: text position change when map zoom in and zoom out (yihong0618#604)

* set default file_suffix = gpx (yihong0618#609)

* set default file_suffix = gpx

* fix: lint

Signed-off-by: yihong0618 <zouzou0208@gmail.com>

---------

Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Co-authored-by: yihong0618 <zouzou0208@gmail.com>

* add yer1k's running page (yihong0618#608)

* Update ci.yml (yihong0618#610)

Upgrade checkout to v4 from v3 and setup-python from v4 to v5

* Update GitHub Actions and README (yihong0618#611)

* Update GitHub Pages+Custom domain instruction in README.md

* update gh-pages.yml

* update actions version in run_data_sync.yml

* Added zh instrustion for custom domain with github.io and yer1k's running page link

* fix: strava version

Signed-off-by: yihong0618 <zouzou0208@gmail.com>

* fix: stravaweblib version

Signed-off-by: yihong0618 <zouzou0208@gmail.com>

* fix: ts type error (yihong0618#622)

Signed-off-by: yihong0618 <zouzou0208@gmail.com>

* Fix README typo (yihong0618#624)

* feat: coros sync (yihong0618#623)

* feat: coros sync

---------

Co-authored-by: Dingkun Yang <81750079+yer1k@users.noreply.github.com>

* add run.drink.cafe (yihong0618#628)

* Update README.md

* Update README-CN.md

---------

Signed-off-by: shaoanianche <github@duanfei.org>
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Signed-off-by: EINDEX <snowstarlbk@gmail.com>
Signed-off-by: Frost Ming <me@frostming.com>
Signed-off-by: friendsa <github@duanfei.org>
Co-authored-by: yihong0618 <zouzou0208@gmail.com>
Co-authored-by: lingdeyiyicifang <31645840+lingdeyiyicifang@users.noreply.github.com>
Co-authored-by: frhfeng <82604834+frhfeng@users.noreply.github.com>
Co-authored-by: rdshoep <rdshoep@gmail.com>
Co-authored-by: Bob <971822071@qq.com>
Co-authored-by: nxg <73350203+imnxg@users.noreply.github.com>
Co-authored-by: Ziyuan Han <hanziyuan08@outlook.com>
Co-authored-by: tiny656 <tiny656@hotmail.com>
Co-authored-by: DuckTyping <1394466835@qq.com>
Co-authored-by: ben_29 <ben_29@live.com>
Co-authored-by: jojo <stevenash0822@126.com>
Co-authored-by: shaoanianche <github@duanfei.org>
Co-authored-by: linwentao <linwentao@babybus.com>
Co-authored-by: wonderfulest <545984095@qq.com>
Co-authored-by: Ray Wang <56377217+raywangsy@users.noreply.github.com>
Co-authored-by: 2tu <enum@foxmail.com>
Co-authored-by: linjianfeng <vlin@hotmail.com>
Co-authored-by: zhaohongxuan <hxzhenu@gmail.com>
Co-authored-by: EINDEX <snowstarlbk@gmail.com>
Co-authored-by: EINDEX <hi@eindex.me>
Co-authored-by: zhangyulai <zyl@zhangyl.com>
Co-authored-by: Agassi <agassi21@gmail.com>
Co-authored-by: Stefrex <ggwdwhu@gmail.com>
Co-authored-by: deepinwine <jiangjia0907@gmail.com>
Co-authored-by: Chongnuo Ji <hyyz172000@gmail.com>
Co-authored-by: ttkltll <ttkltll@163.com>
Co-authored-by: Frost Ming <mianghong@gmail.com>
Co-authored-by: jqz3.tech <zjq_joker@163.com>
Co-authored-by: Hao Dong <donghao526@gmail.com>
Co-authored-by: F4ria <f4riacool@gmail.com>
Co-authored-by: F4ria <fariacool@gmail.com>
Co-authored-by: Licardo <1014660822@qq.com>
Co-authored-by: Qingyang Li <congel@gmail.com>
Co-authored-by: NaturezzZ <46887061+NaturezzZ@users.noreply.github.com>
Co-authored-by: LeslieeHwang <90857426+LeslieeHwang@users.noreply.github.com>
Co-authored-by: Zetao Feng <fengzetao.zed@foxmail.com>
Co-authored-by: haowei93 <727171008@qq.com>
Co-authored-by: sober <soberzml2333@gmail.com>
Co-authored-by: haowei.chen <chenhaowei93@163.com>
Co-authored-by: Zion <67903793+zlog-in@users.noreply.github.com>
Co-authored-by: Li Peng <lipeng31@gmail.com>
Co-authored-by: orionna319 <85230052+orionna319@users.noreply.github.com>
Co-authored-by: caojiawen <caojiawen@zmeng123.com>
Co-authored-by: conanyangqun <yangqunxinli@163.com>
Co-authored-by: Chao An <andrew881003@qq.com>
Co-authored-by: anchao <chao.an@fastonetech.com>
Co-authored-by: iiiRyan <85ryan.blue@gmail.com>
Co-authored-by: 8824PPZ <36729296+8824PPZ@users.noreply.github.com>
Co-authored-by: ppz <ppzisgod@gmail.com>
Co-authored-by: ElvisZhu <zjb1229@gmail.com>
Co-authored-by: NaturezzZ <naturezzz@outlook.com>
Co-authored-by: Fahrayheit <raym0nd@outlook.com>
Co-authored-by: Sayid He <herq12315@gmail.com>
Co-authored-by: beer <beer5214@126.com>
Co-authored-by: Dingkun Yang <81750079+Yer1k@users.noreply.github.com>
Co-authored-by: tianheg <i@tianheg.co>
Co-authored-by: Garden Yuen <weaming@users.noreply.github.com>
Kugin pushed a commit to Kugin/running_page that referenced this pull request Sep 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants