diff --git a/i18n.json.REMOVED.git-id b/i18n.json.REMOVED.git-id index cff2a35..cb8ae2d 100644 --- a/i18n.json.REMOVED.git-id +++ b/i18n.json.REMOVED.git-id @@ -1 +1 @@ -8c3c12af638d571917342cee642eaad476faca68 \ No newline at end of file +f6a24778b29e3ac4ce40489a30befea649c34fe9 \ No newline at end of file diff --git a/javascript/main.entry.js.REMOVED.git-id b/javascript/main.entry.js.REMOVED.git-id index ebe08d1..1a138bc 100644 --- a/javascript/main.entry.js.REMOVED.git-id +++ b/javascript/main.entry.js.REMOVED.git-id @@ -1 +1 @@ -f0989385b264c03c690ea019a8ce9eeb8653b629 \ No newline at end of file +eee6babe1b0f66667f5d0cc62da24707704274ea \ No newline at end of file diff --git a/javascript/main.entry.js.map.REMOVED.git-id b/javascript/main.entry.js.map.REMOVED.git-id index 69546bc..fef535a 100644 --- a/javascript/main.entry.js.map.REMOVED.git-id +++ b/javascript/main.entry.js.map.REMOVED.git-id @@ -1 +1 @@ -f6e65e80bbbcd4e8f3d757aaa6d79e731fe9fba4 \ No newline at end of file +94f23b71949a9379ef12a4b726fe7babe1ebb494 \ No newline at end of file diff --git a/scripts/get_version.py b/scripts/get_version.py new file mode 100644 index 0000000..1d1f6e4 --- /dev/null +++ b/scripts/get_version.py @@ -0,0 +1,84 @@ +import os +import re +import requests +import subprocess +import hashlib + +def get_git_commit_version(): + extension_dir = os.path.dirname(os.path.abspath(__file__)) + '/../' + extension_dir = os.path.normpath(extension_dir) + git_path = os.path.join(extension_dir, '.git') + if os.path.exists(git_path): + try: + git = os.environ.get('GIT', "git") + if not git: + git = "git" + cmd = [git, 'rev-parse', 'HEAD'] + commit_version = subprocess.check_output(cmd, cwd=extension_dir).decode('utf-8').strip() + if re.match(r'^[0-9a-f]{40}$', commit_version): + return commit_version + except Exception as e: + pass + + try: + ref_path = os.path.join(git_path, 'refs', 'heads', 'main') + with open(ref_path, 'r') as f: + commit_version = f.read().strip() + if re.match(r'^[0-9a-f]{40}$', commit_version): + return commit_version + except Exception as e: + pass + + return '' + +def _handle_versions(response, filter_update_readme=False): + try: + if response.status_code != 200: + return [] + result = response.json() + if not result: + return [] + versions = [] + for item in result: + message = item['commit']['message'] + is_update_readme = False + if message.lower().strip() == 'update readme.md': + if filter_update_readme: + continue + is_update_readme = True + versions.append({ + 'version': item['sha'], + 'message': message, + 'date': item['commit']['committer']['date'], + 'is_update_readme': is_update_readme + }) + return versions + except Exception as e: + return [] + +def get_git_remote_versions(page=1, per_page=100, filter_update_readme=False): + api_urls = [ + 'https://api.github.com/repos/physton/sd-webui-prompt-all-in-one/commits', + 'https://gitee.com/api/v5/repos/physton/sd-webui-prompt-all-in-one/commits' + ] + + for api_url in api_urls: + try: + api_url += f'?page={page}&per_page={per_page}' + key = hashlib.md5(api_url.encode('utf-8')).hexdigest() + response = requests.get(api_url) + versions = _handle_versions(response, filter_update_readme) + return versions + except Exception as e: + pass + + return [] + +def get_latest_version(): + current_version = get_git_commit_version() + # if not current_version: + # return current_version + versions = get_git_remote_versions(1, 10, True) + if len(versions) < 1: + return current_version + return versions[0]['version'] \ No newline at end of file diff --git a/scripts/on_app_started.py b/scripts/on_app_started.py index 4db3c69..3b72db4 100755 --- a/scripts/on_app_started.py +++ b/scripts/on_app_started.py @@ -18,8 +18,7 @@ from scripts.get_extra_networks import get_extra_networks from scripts.packages import get_packages_state, install_package from scripts.gen_openai import gen_openai from scripts.get_lang import get_lang - -VERSION = '0.0.1' +from scripts.get_version import get_git_commit_version, get_git_remote_versions, get_latest_version try: from modules.shared import cmd_opts @@ -59,7 +58,16 @@ def on_app_started(_: gr.Blocks, app: FastAPI): @app.get("/physton_prompt/get_version") async def _get_version(): - return {"version": VERSION} + return { + 'version': get_git_commit_version(), + 'latest_version': get_latest_version(), + } + + @app.get("/physton_prompt/get_remote_versions") + async def _get_remote_versions(page: int = 1, per_page: int = 100): + return { + 'versions': get_git_remote_versions(page, per_page), + } @app.get("/physton_prompt/get_config") async def _get_config(): diff --git a/src/src/App.vue b/src/src/App.vue index fc70fd7..5774a8d 100755 --- a/src/src/App.vue +++ b/src/src/App.vue @@ -36,6 +36,10 @@ :loras="loras" :lycos="lycos" :embeddings="embeddings" + :version="version" + :latest-version="latestVersion" + :is-latest-version="isLatestVersion" + @click:show-about="onShowAbout" > +
@@ -109,10 +116,12 @@ import ExtensionCss from "@/components/extensionCss.vue"; import PromptFormat from "@/components/promptFormat.vue"; import PackagesState from "@/components/packagesState.vue"; import ChatgptPrompt from "@/components/chatgptPrompt.vue"; +import About from "@/components/about.vue"; export default { name: 'App', components: { + About, ChatgptPrompt, PackagesState, PromptFormat, @@ -242,6 +251,10 @@ export default { python: '', packagesState: [], + + version: '', + latestVersion: '', + isLatestVersion: true, } }, watch: { @@ -533,7 +546,14 @@ export default { this.handlePaste() + this.gradioAPI.getVersion().then(res => { + this.version = res.version + this.latestVersion = res.latest_version + this.isLatestVersion = res.version === res.latest_version + }) + // todo: test + // this.$refs.about.open() // this.$refs.chatgptPrompt.open() // this.$refs.promptFormat.open() // this.$refs.translateSetting.open(this.translateApi) @@ -722,6 +742,9 @@ export default { if (!item) return this.$refs[item.id][0].useChatgpt(prompt) }, + onShowAbout() { + this.$refs.about.open() + }, }, } \ No newline at end of file diff --git a/src/src/components/about.vue b/src/src/components/about.vue new file mode 100644 index 0000000..bd2ca32 --- /dev/null +++ b/src/src/components/about.vue @@ -0,0 +1,129 @@ + + \ No newline at end of file diff --git a/src/src/components/favorite.vue b/src/src/components/favorite.vue index 424ae93..3e1f3a9 100644 --- a/src/src/components/favorite.vue +++ b/src/src/components/favorite.vue @@ -117,7 +117,7 @@ export default { }, methods: { formatTime(time) { - return common.formatTime(time, false) + return common.formatTime(time * 1000, false) }, getFavorites(favoriteKey) { if (!favoriteKey) return diff --git a/src/src/components/history.vue b/src/src/components/history.vue index d49c4c4..4c381d7 100644 --- a/src/src/components/history.vue +++ b/src/src/components/history.vue @@ -121,7 +121,7 @@ export default { }, methods: { formatTime(time) { - return common.formatTime(time, false) + return common.formatTime(time * 1000, false) }, getHistories(historyKey) { if (!historyKey) return diff --git a/src/src/components/phystonPrompt.vue.REMOVED.git-id b/src/src/components/phystonPrompt.vue.REMOVED.git-id index 4119df1..e01f16f 100644 --- a/src/src/components/phystonPrompt.vue.REMOVED.git-id +++ b/src/src/components/phystonPrompt.vue.REMOVED.git-id @@ -1 +1 @@ -a0419acb5f80b8b9774051d49ab33a9ef9a776fa \ No newline at end of file +f1925daddc3097ff0dae4b577a8e100bc68fdf77 \ No newline at end of file diff --git a/src/src/utils/common.js b/src/src/utils/common.js index 98897b8..3fd8fc7 100644 --- a/src/src/utils/common.js +++ b/src/src/utils/common.js @@ -416,7 +416,7 @@ export default { * @returns {string} */ formatTime(time, hasYear = true) { - let now = new Date(time * 1000); + let now = new Date(time); let year = now.getFullYear(); let month = now.getMonth() + 1; if (month < 10) month = "0" + month; diff --git a/src/src/utils/gradioAPI.js b/src/src/utils/gradioAPI.js index 4f109bf..d0b6aec 100755 --- a/src/src/utils/gradioAPI.js +++ b/src/src/utils/gradioAPI.js @@ -16,7 +16,11 @@ export default class GradioAPI { } async getVersion() { - return (await this.api.get("/get_version")).data.version + return (await this.api.get("/get_version")).data + } + + async getRemoteVersions(page = 1, per_page = 100) { + return (await this.api.get("/get_remote_versions", {params: {page, per_page}})).data.versions } async getConfig() { diff --git a/styles/extensions/MyStyle-shuai/style.min.css b/styles/extensions/MyStyle-shuai/style.min.css index d4af8b2..ddabb81 100644 --- a/styles/extensions/MyStyle-shuai/style.min.css +++ b/styles/extensions/MyStyle-shuai/style.min.css @@ -55,7 +55,7 @@ fill: #596572; } /*图标尺寸*/ - .physton-gradio-container.dark .physton-prompt .prompt-header .setting-box .icon-svg-api svg,.physton-gradio-container.dark .physton-prompt .prompt-header .setting-box .icon-svg-format svg, .physton-gradio-container.dark .physton-prompt .prompt-header .setting-box .icon-svg-theme svg, .physton-gradio-container.dark .physton-prompt .prompt-header .setting-box .icon-svg-remove-space svg, .physton-gradio-container.dark .physton-prompt .prompt-header .setting-box .icon-svg-tooltip svg { + .physton-gradio-container.dark .physton-prompt .prompt-header .setting-box .icon-svg-api svg,.physton-gradio-container.dark .physton-prompt .prompt-header .setting-box .icon-svg-format svg, .physton-gradio-container.dark .physton-prompt .prompt-header .setting-box .icon-svg-theme svg, .physton-gradio-container.dark .physton-prompt .prompt-header .setting-box .icon-svg-remove-space svg, .physton-gradio-container.dark .physton-prompt .prompt-header .setting-box .icon-svg-tooltip svg, .physton-gradio-container.dark .physton-prompt .prompt-header .setting-box .icon-svg-about svg { width: auto; height: 18px; } @@ -538,7 +538,7 @@ fill: #565656c2; } /*图标尺寸*/ - .physton-gradio-container.light .physton-prompt .prompt-header .setting-box .icon-svg-api svg, .physton-gradio-container.light .physton-prompt .prompt-header .setting-box .icon-svg-format svg, .physton-gradio-container.light .physton-prompt .prompt-header .setting-box .icon-svg-theme svg, .physton-gradio-container.light .physton-prompt .prompt-header .setting-box .icon-svg-remove-space svg, .physton-gradio-container.light .physton-prompt .prompt-header .setting-box .icon-svg-tooltip svg { + .physton-gradio-container.light .physton-prompt .prompt-header .setting-box .icon-svg-api svg, .physton-gradio-container.light .physton-prompt .prompt-header .setting-box .icon-svg-format svg, .physton-gradio-container.light .physton-prompt .prompt-header .setting-box .icon-svg-theme svg, .physton-gradio-container.light .physton-prompt .prompt-header .setting-box .icon-svg-remove-space svg, .physton-gradio-container.light .physton-prompt .prompt-header .setting-box .icon-svg-tooltip svg, .physton-gradio-container.light .physton-prompt .prompt-header .setting-box .icon-svg-about svg { width: auto; height: 18px; } diff --git a/styles/extensions/Webui/style.min.css b/styles/extensions/Webui/style.min.css index a651952..fa6a836 100644 --- a/styles/extensions/Webui/style.min.css +++ b/styles/extensions/Webui/style.min.css @@ -60,6 +60,11 @@ /* 功能设置图标样式*/ fill: var(--body-text-color); } +.physton-prompt .prompt-header .setting-box .icon-svg-about svg path{ + + /* 功能设置图标样式*/ + fill: var(--body-text-color); +} .physton-prompt .prompt-header .setting-box .icon-svg-theme svg path{ fill: var(--body-text-color); @@ -96,6 +101,11 @@ height: auto; width: 22px; } +.physton-prompt .prompt-header .setting-box .icon-svg-about svg { + + height: auto; + width: 22px; +} .physton-prompt .prompt-header .prompt-unfold .icon-svg-unfold svg { diff --git a/styles/extensions/minimalist/style.less b/styles/extensions/minimalist/style.less index 6a4e334..6c8b7ee 100644 --- a/styles/extensions/minimalist/style.less +++ b/styles/extensions/minimalist/style.less @@ -102,6 +102,7 @@ --pp-ph-sb-iconSvgEnglish-color: #4d4f4d; --pp-ph-sb-iconSvgRemoveSpace-color: #4d4f4d; --pp-ph-sb-iconSvgTooltip-color: #4d4f4d; + --pp-ph-sb-iconSvgAbout-color: #4d4f4d; // .physton-prompt .prompt-header --pp-ph-iconSvgInput-color: #4d4f4d; @@ -215,6 +216,7 @@ --pp-ph-sb-iconSvgEnglish-color: #b3b3b3; --pp-ph-sb-iconSvgRemoveSpace-color: #b3b3b3; --pp-ph-sb-iconSvgTooltip-color: #b3b3b3; + --pp-ph-sb-iconSvgAbout-color: #b3b3b3; // .physton-prompt .prompt-header --pp-ph-iconSvgInput-color: #b3b3b3; diff --git a/styles/extensions/minimalist/style.min.css b/styles/extensions/minimalist/style.min.css index 620fec7..5e1370a 100644 --- a/styles/extensions/minimalist/style.min.css +++ b/styles/extensions/minimalist/style.min.css @@ -1 +1 @@ -.physton-gradio-container{--commonPopupClose-background:var(--ppf-fm-formatList-background-color);--commonPopupClose-box-shadow:var(--ppf-fm-formatList-box-shadow);--commonPopupClose-padding:6px;--commonPopupClose-iconSvgClose-height:14px;--commonPopupClose-iconSvgClose-color:#fff;--commonPopupMainBackground-box-shadow:0 0 2px 0 var(--physton-common-blue);--pp-ph-phe-ec-ebg-ebi-settingBox-box-shadow:0 0 2px 0 var(--physton-common-blue);--pp-pt-dsb-ptl-pt-ptmh-pte-btnTagExtend-box-shadow:0 0 2px 0 var(--physton-common-blue);--pp-pt-dsb-ptl-pt-ptm-btnTagExtend-box-shadow:0 0 2px 0 var(--physton-common-blue);--pp-margin:-17px 0 0 0;--pp-pt-dsb-ptl-pt-promptLocalLanguage-margin-top:0;--pp-pt-pll-iconSvgTranslate-height:14px;--pp-pt-pll-iconSvgLoading-height:14px;--pp-pt-dsb-ptl-pt-pll-localLanguage-font-size:12px;--pp-pt-dsb-ptl-promptTag-margin-bottom:4px;--pp-pt-dsb-ptl-promptTag-margin-right:6px;--ppfpph-ptc-cl-clearBtn-border-bottom:#565656;--ppfpph-ptc-cl-ci-ih-ihl-itemHeaderIndex-background:#4b4b4f;--ppfpph-ptc-cl-ci-ih-ihl-ihn-headerNameInput-background:#4a4a4a;--ppfpph-ptc-cl-ci-ih-ihl-ihn-headerNameInput-color:#fff;--pp-pt-pal-pag-tagsDetail-color:#b3b3b3;--pp-pt-pal-pag-td-tl-ti-itemTagValue-background:rgba(255, 255, 255, 0.12);--pp-pt-pal-pag-td-tl-ti-itemTagValue-color:#fff;--ppfpph-popupDetail-color:#b3b3b3;--ppfpph-pd-pit-it-itemTagValue-background:rgba(255, 255, 255, 0.12);--ppfpph-pd-pit-it-itemTagValue-color:#fff}.physton-gradio-container .physton-prompt .prompt-tags .prompt-tags-list .prompt-tag .prompt-tag-main .prompt-tag-edit .prompt-tag-value{border-right:0}.physton-gradio-container .physton-prompt .prompt-append-list .prompt-append-group .tags-detail{background:rgba(30,30,30,.9)}.physton-gradio-container .physton-prompt-favorite .popup-detail,.physton-gradio-container .physton-prompt-history .popup-detail{background:rgba(30,30,30,.9)}.physton-gradio-container.light{--pp-ph-pu-iconSvgUnfold-color:#4d4f4d;--pp-ph-phe-ec-ebg-ebi-settingBox-background:#fefefe;--pp-ph-phe-ec-ebg-ebi-settingBox-box-shadow:0 0 3px 0 #747474;--pp-ph-ebi-iconSvgI18n-color:#4d4f4d;--pp-ph-ebi-iconSvgSetting-color:#4d4f4d;--pp-ph-ebi-iconSvgHistory-color:#4d4f4d;--pp-ph-ebi-iconSvgFavorite-color:#4d4f4d;--pp-ph-ebi-iconSvgTranslate-color:#4d4f4d;--pp-ph-ebi-iconSvgEnglish-color:#4d4f4d;--pp-ph-ebi-iconSvgCopy-color:#4d4f4d;--pp-ph-ebi-iconSvgRemove-color:#4d4f4d;--pp-ph-ebi-iconSvgChatgpt-color:#4d4f4d;--pp-ph-sb-iconSvgApi-color:#4d4f4d;--pp-ph-sb-iconSvgFormat-color:#4d4f4d;--pp-ph-sb-iconSvgTheme-color:#4d4f4d;--pp-ph-sb-iconSvgTranslate-color:#4d4f4d;--pp-ph-sb-iconSvgEnglish-color:#4d4f4d;--pp-ph-sb-iconSvgRemoveSpace-color:#4d4f4d;--pp-ph-sb-iconSvgTooltip-color:#4d4f4d;--pp-ph-iconSvgInput-color:#4d4f4d;--pp-pt-pll-iconSvgTranslate-color:#b9b9b9;--pp-pt-dsb-ptl-pt-pll-localLanguage-color:#b9b9b9;--pp-pt-dsb-iconSvgCopy-color:#ffffff;--pp-pt-dsb-iconSvgDisabled-color:#ffffff;--pp-pt-dsb-iconSvgEnable-color:#ffffff;--pp-pt-dsb-iconSvgFavoriteNo-color:#ffffff;--pp-pt-dsb-iconSvgRemove-color:#ffffff;--pp-pt-dropSelectBtns-background:#7daef3e6;--pp-pt-dropSelectBtns-box-shadow:0 0 3px 0 #006dfe;--pp-pt-dsb-btnsTitle-color:#3c3c3c;--pp-pt-pte-iconSvgWrap-color:#4d4f4d;--pp-pt-dsb-ptl-pt-ptm-pte-promptTagValue-background:transparent;--pp-pt-dsb-ptl-pt-ptm-pte-promptTagValue-color:#3c3c3c;--pp-pt-dsb-ptl-pt-ptm-pte-promptTagValueHover-background:transparent;--pp-pt-dsb-ptl-pt-ptm-pte-promptTagValueHover-border-color:rgba(0, 0, 0, 0.1);--pp-pt-btd-iconSvgClose-color:#565656;--pp-pt-dsb-ptl-pt-ptm-pte-btnTagDelete-background:transparent;--pp-pt-dsb-ptl-pt-ptm-pte-btnTagDeleteHover-bbackground:transparent;--pp-pt-bte-iconSvgWeightParenthesesInc-color:#ffffff;--pp-pt-bte-iconSvgWeightParenthesesDec-color:#ffffff;--pp-pt-bte-iconSvgWeightBracketsInc-color:#ffffff;--pp-pt-bte-iconSvgWeightBracketsDec-color:#ffffff;--pp-pt-bte-iconSvgEnglish-color:#ffffff;--pp-pt-bte-iconSvgCopy-color:#ffffff;--pp-pt-bte-iconSvgDisabled-color:#ffffff;--pp-pt-bte-iconSvgEnable-color:#ffffff;--pp-pt-bte-iconSvgWrap-color:#ffffff;--pp-pt-bte-iconSvgFavoriteNo-color:#ffffff;--pp-pt-dsb-ptl-pt-ptm-btnTagExtend-box-shadow:0 0 3px 0px #006dfe;--pp-pt-dsb-ptl-pt-ptmh-pte-btnTagExtend-box-shadow:0 0 3px 0px #006dfe;--pp-pt-dsb-ptl-pt-ptm-bte-buttonHover-background:#b3d8ff}.physton-gradio-container.light .physton-prompt .prompt-tags .btn-tag-delete:hover{--pp-pt-btd-iconSvgClose-color:#d81e06}.physton-gradio-container.light .physton-prompt .prompt-tags .prompt-tags-list .prompt-tag-main .btn-tag-extend{background:#7daef3e6!important}.physton-gradio-container.dark{--pp-ph-pu-iconSvgUnfold-color:#b3b3b3;--pp-ph-ebi-iconSvgI18n-color:#b3b3b3;--pp-ph-ebi-iconSvgSetting-color:#b3b3b3;--pp-ph-ebi-iconSvgHistory-color:#b3b3b3;--pp-ph-ebi-iconSvgFavorite-color:#b3b3b3;--pp-ph-ebi-iconSvgTranslate-color:#b3b3b3;--pp-ph-ebi-iconSvgEnglish-color:#b3b3b3;--pp-ph-ebi-iconSvgCopy-color:#b3b3b3;--pp-ph-ebi-iconSvgRemove-color:#b3b3b3;--pp-ph-ebi-iconSvgChatgpt-color:#b3b3b3;--pp-ph-sb-iconSvgApi-color:#b3b3b3;--pp-ph-sb-iconSvgFormat-color:#b3b3b3;--pp-ph-sb-iconSvgTheme-color:#b3b3b3;--pp-ph-sb-iconSvgTranslate-color:#b3b3b3;--pp-ph-sb-iconSvgEnglish-color:#b3b3b3;--pp-ph-sb-iconSvgRemoveSpace-color:#b3b3b3;--pp-ph-sb-iconSvgTooltip-color:#b3b3b3;--pp-ph-iconSvgInput-color:#b3b3b3;--pp-pt-pll-iconSvgTranslate-color:#686868;--pp-pt-dsb-ptl-pt-pll-localLanguage-color:#686868;--pp-pt-pte-iconSvgWrap-color:#b3b3b3;--pp-pt-dsb-ptl-pt-ptm-pte-promptTagValue-background:transparent;--pp-pt-dsb-ptl-pt-ptm-pte-promptTagValue-color:#bdc5cf;--pp-pt-dsb-ptl-pt-ptm-pte-promptTagValueHover-background:transparent;--pp-pt-dsb-ptl-pt-ptm-pte-promptTagValueHover-border-color:rgba(0, 0, 0, 0.1);--pp-pt-dsb-ptl-pt-ptm-pte-btnTagDelete-border:1px solid rgba(255, 255, 255, 0.08);--pp-pt-btd-iconSvgClose-color:#bdbdbd;--pp-pt-dsb-ptl-pt-ptm-pte-btnTagDelete-background:transparent;--pp-pt-dsb-ptl-pt-ptm-pte-btnTagDeleteHover-bbackground:transparent;--pp-pt-bte-iconSvgWeightParenthesesInc-color:#efefef;--pp-pt-bte-iconSvgWeightParenthesesDec-color:#efefef;--pp-pt-bte-iconSvgWeightBracketsInc-color:#efefef;--pp-pt-bte-iconSvgWeightBracketsDec-color:#efefef;--pp-pt-bte-iconSvgEnglish-color:#efefef;--pp-pt-bte-iconSvgCopy-color:#efefef;--pp-pt-bte-iconSvgDisabled-color:#efefef;--pp-pt-bte-iconSvgEnable-color:#efefef;--pp-pt-bte-iconSvgWrap-color:#efefef;--pp-pt-bte-iconSvgFavoriteNo-color:#efefef}.physton-gradio-container.dark .physton-prompt .prompt-tags .btn-tag-delete:hover{--pp-pt-btd-iconSvgClose-color:#d81e06}.physton-gradio-container.dark .physton-prompt .prompt-tags .prompt-tags-list .prompt-tag-main .btn-tag-extend{background:rgba(28,28,28,.9)!important} \ No newline at end of file +.physton-gradio-container{--commonPopupClose-background:var(--ppf-fm-formatList-background-color);--commonPopupClose-box-shadow:var(--ppf-fm-formatList-box-shadow);--commonPopupClose-padding:6px;--commonPopupClose-iconSvgClose-height:14px;--commonPopupClose-iconSvgClose-color:#fff;--commonPopupMainBackground-box-shadow:0 0 2px 0 var(--physton-common-blue);--pp-ph-phe-ec-ebg-ebi-settingBox-box-shadow:0 0 2px 0 var(--physton-common-blue);--pp-pt-dsb-ptl-pt-ptmh-pte-btnTagExtend-box-shadow:0 0 2px 0 var(--physton-common-blue);--pp-pt-dsb-ptl-pt-ptm-btnTagExtend-box-shadow:0 0 2px 0 var(--physton-common-blue);--pp-margin:-17px 0 0 0;--pp-pt-dsb-ptl-pt-promptLocalLanguage-margin-top:0;--pp-pt-pll-iconSvgTranslate-height:14px;--pp-pt-pll-iconSvgLoading-height:14px;--pp-pt-dsb-ptl-pt-pll-localLanguage-font-size:12px;--pp-pt-dsb-ptl-promptTag-margin-bottom:4px;--pp-pt-dsb-ptl-promptTag-margin-right:6px;--ppfpph-ptc-cl-clearBtn-border-bottom:#565656;--ppfpph-ptc-cl-ci-ih-ihl-itemHeaderIndex-background:#4b4b4f;--ppfpph-ptc-cl-ci-ih-ihl-ihn-headerNameInput-background:#4a4a4a;--ppfpph-ptc-cl-ci-ih-ihl-ihn-headerNameInput-color:#fff;--pp-pt-pal-pag-tagsDetail-color:#b3b3b3;--pp-pt-pal-pag-td-tl-ti-itemTagValue-background:rgba(255, 255, 255, 0.12);--pp-pt-pal-pag-td-tl-ti-itemTagValue-color:#fff;--ppfpph-popupDetail-color:#b3b3b3;--ppfpph-pd-pit-it-itemTagValue-background:rgba(255, 255, 255, 0.12);--ppfpph-pd-pit-it-itemTagValue-color:#fff}.physton-gradio-container .physton-prompt .prompt-tags .prompt-tags-list .prompt-tag .prompt-tag-main .prompt-tag-edit .prompt-tag-value{border-right:0}.physton-gradio-container .physton-prompt .prompt-append-list .prompt-append-group .tags-detail{background:rgba(30,30,30,.9)}.physton-gradio-container .physton-prompt-favorite .popup-detail,.physton-gradio-container .physton-prompt-history .popup-detail{background:rgba(30,30,30,.9)}.physton-gradio-container.light{--pp-ph-pu-iconSvgUnfold-color:#4d4f4d;--pp-ph-phe-ec-ebg-ebi-settingBox-background:#fefefe;--pp-ph-phe-ec-ebg-ebi-settingBox-box-shadow:0 0 3px 0 #747474;--pp-ph-ebi-iconSvgI18n-color:#4d4f4d;--pp-ph-ebi-iconSvgSetting-color:#4d4f4d;--pp-ph-ebi-iconSvgHistory-color:#4d4f4d;--pp-ph-ebi-iconSvgFavorite-color:#4d4f4d;--pp-ph-ebi-iconSvgTranslate-color:#4d4f4d;--pp-ph-ebi-iconSvgEnglish-color:#4d4f4d;--pp-ph-ebi-iconSvgCopy-color:#4d4f4d;--pp-ph-ebi-iconSvgRemove-color:#4d4f4d;--pp-ph-ebi-iconSvgChatgpt-color:#4d4f4d;--pp-ph-sb-iconSvgApi-color:#4d4f4d;--pp-ph-sb-iconSvgFormat-color:#4d4f4d;--pp-ph-sb-iconSvgTheme-color:#4d4f4d;--pp-ph-sb-iconSvgTranslate-color:#4d4f4d;--pp-ph-sb-iconSvgEnglish-color:#4d4f4d;--pp-ph-sb-iconSvgRemoveSpace-color:#4d4f4d;--pp-ph-sb-iconSvgTooltip-color:#4d4f4d;--pp-ph-sb-iconSvgAbout-color:#4d4f4d;--pp-ph-iconSvgInput-color:#4d4f4d;--pp-pt-pll-iconSvgTranslate-color:#b9b9b9;--pp-pt-dsb-ptl-pt-pll-localLanguage-color:#b9b9b9;--pp-pt-dsb-iconSvgCopy-color:#ffffff;--pp-pt-dsb-iconSvgDisabled-color:#ffffff;--pp-pt-dsb-iconSvgEnable-color:#ffffff;--pp-pt-dsb-iconSvgFavoriteNo-color:#ffffff;--pp-pt-dsb-iconSvgRemove-color:#ffffff;--pp-pt-dropSelectBtns-background:#7daef3e6;--pp-pt-dropSelectBtns-box-shadow:0 0 3px 0 #006dfe;--pp-pt-dsb-btnsTitle-color:#3c3c3c;--pp-pt-pte-iconSvgWrap-color:#4d4f4d;--pp-pt-dsb-ptl-pt-ptm-pte-promptTagValue-background:transparent;--pp-pt-dsb-ptl-pt-ptm-pte-promptTagValue-color:#3c3c3c;--pp-pt-dsb-ptl-pt-ptm-pte-promptTagValueHover-background:transparent;--pp-pt-dsb-ptl-pt-ptm-pte-promptTagValueHover-border-color:rgba(0, 0, 0, 0.1);--pp-pt-btd-iconSvgClose-color:#565656;--pp-pt-dsb-ptl-pt-ptm-pte-btnTagDelete-background:transparent;--pp-pt-dsb-ptl-pt-ptm-pte-btnTagDeleteHover-bbackground:transparent;--pp-pt-bte-iconSvgWeightParenthesesInc-color:#ffffff;--pp-pt-bte-iconSvgWeightParenthesesDec-color:#ffffff;--pp-pt-bte-iconSvgWeightBracketsInc-color:#ffffff;--pp-pt-bte-iconSvgWeightBracketsDec-color:#ffffff;--pp-pt-bte-iconSvgEnglish-color:#ffffff;--pp-pt-bte-iconSvgCopy-color:#ffffff;--pp-pt-bte-iconSvgDisabled-color:#ffffff;--pp-pt-bte-iconSvgEnable-color:#ffffff;--pp-pt-bte-iconSvgWrap-color:#ffffff;--pp-pt-bte-iconSvgFavoriteNo-color:#ffffff;--pp-pt-dsb-ptl-pt-ptm-btnTagExtend-box-shadow:0 0 3px 0px #006dfe;--pp-pt-dsb-ptl-pt-ptmh-pte-btnTagExtend-box-shadow:0 0 3px 0px #006dfe;--pp-pt-dsb-ptl-pt-ptm-bte-buttonHover-background:#b3d8ff}.physton-gradio-container.light .physton-prompt .prompt-tags .btn-tag-delete:hover{--pp-pt-btd-iconSvgClose-color:#d81e06}.physton-gradio-container.light .physton-prompt .prompt-tags .prompt-tags-list .prompt-tag-main .btn-tag-extend{background:#7daef3e6!important}.physton-gradio-container.dark{--pp-ph-pu-iconSvgUnfold-color:#b3b3b3;--pp-ph-ebi-iconSvgI18n-color:#b3b3b3;--pp-ph-ebi-iconSvgSetting-color:#b3b3b3;--pp-ph-ebi-iconSvgHistory-color:#b3b3b3;--pp-ph-ebi-iconSvgFavorite-color:#b3b3b3;--pp-ph-ebi-iconSvgTranslate-color:#b3b3b3;--pp-ph-ebi-iconSvgEnglish-color:#b3b3b3;--pp-ph-ebi-iconSvgCopy-color:#b3b3b3;--pp-ph-ebi-iconSvgRemove-color:#b3b3b3;--pp-ph-ebi-iconSvgChatgpt-color:#b3b3b3;--pp-ph-sb-iconSvgApi-color:#b3b3b3;--pp-ph-sb-iconSvgFormat-color:#b3b3b3;--pp-ph-sb-iconSvgTheme-color:#b3b3b3;--pp-ph-sb-iconSvgTranslate-color:#b3b3b3;--pp-ph-sb-iconSvgEnglish-color:#b3b3b3;--pp-ph-sb-iconSvgRemoveSpace-color:#b3b3b3;--pp-ph-sb-iconSvgTooltip-color:#b3b3b3;--pp-ph-sb-iconSvgAbout-color:#b3b3b3;--pp-ph-iconSvgInput-color:#b3b3b3;--pp-pt-pll-iconSvgTranslate-color:#686868;--pp-pt-dsb-ptl-pt-pll-localLanguage-color:#686868;--pp-pt-pte-iconSvgWrap-color:#b3b3b3;--pp-pt-dsb-ptl-pt-ptm-pte-promptTagValue-background:transparent;--pp-pt-dsb-ptl-pt-ptm-pte-promptTagValue-color:#bdc5cf;--pp-pt-dsb-ptl-pt-ptm-pte-promptTagValueHover-background:transparent;--pp-pt-dsb-ptl-pt-ptm-pte-promptTagValueHover-border-color:rgba(0, 0, 0, 0.1);--pp-pt-dsb-ptl-pt-ptm-pte-btnTagDelete-border:1px solid rgba(255, 255, 255, 0.08);--pp-pt-btd-iconSvgClose-color:#bdbdbd;--pp-pt-dsb-ptl-pt-ptm-pte-btnTagDelete-background:transparent;--pp-pt-dsb-ptl-pt-ptm-pte-btnTagDeleteHover-bbackground:transparent;--pp-pt-bte-iconSvgWeightParenthesesInc-color:#efefef;--pp-pt-bte-iconSvgWeightParenthesesDec-color:#efefef;--pp-pt-bte-iconSvgWeightBracketsInc-color:#efefef;--pp-pt-bte-iconSvgWeightBracketsDec-color:#efefef;--pp-pt-bte-iconSvgEnglish-color:#efefef;--pp-pt-bte-iconSvgCopy-color:#efefef;--pp-pt-bte-iconSvgDisabled-color:#efefef;--pp-pt-bte-iconSvgEnable-color:#efefef;--pp-pt-bte-iconSvgWrap-color:#efefef;--pp-pt-bte-iconSvgFavoriteNo-color:#efefef}.physton-gradio-container.dark .physton-prompt .prompt-tags .btn-tag-delete:hover{--pp-pt-btd-iconSvgClose-color:#d81e06}.physton-gradio-container.dark .physton-prompt .prompt-tags .prompt-tags-list .prompt-tag-main .btn-tag-extend{background:rgba(28,28,28,.9)!important} \ No newline at end of file diff --git a/styles/icons/about.svg b/styles/icons/about.svg new file mode 100644 index 0000000..a31845b --- /dev/null +++ b/styles/icons/about.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/styles/main.less.REMOVED.git-id b/styles/main.less.REMOVED.git-id index c0e85c5..e31877e 100644 --- a/styles/main.less.REMOVED.git-id +++ b/styles/main.less.REMOVED.git-id @@ -1 +1 @@ -abb8af0c0abe043e4cddd9a0f5ecb0d801ccd4f7 \ No newline at end of file +9a31b0506a52effe9cc6312a29f7a494d816eb00 \ No newline at end of file diff --git a/styles/main.min.css.REMOVED.git-id b/styles/main.min.css.REMOVED.git-id index 56c5531..a9f74da 100644 --- a/styles/main.min.css.REMOVED.git-id +++ b/styles/main.min.css.REMOVED.git-id @@ -1 +1 @@ -9f706d1f0e0aa24d899dee1de34e9e416c04392f \ No newline at end of file +7088e9ddf5c4a87b2e5c028f215d500c6f3b7ee1 \ No newline at end of file diff --git a/tests/get_version.py b/tests/get_version.py new file mode 100644 index 0000000..6ce5dad --- /dev/null +++ b/tests/get_version.py @@ -0,0 +1,9 @@ +import os +import sys +sys.path.append(os.path.join(os.path.dirname(__file__), "..")) + +from scripts.get_version import get_git_commit_version, get_git_remote_versions, get_latest_version + +print(get_git_remote_versions()) +print(get_git_commit_version()) +print(get_latest_version()) \ No newline at end of file