Xin Zhang commited on
Commit
2d7fc97
·
1 Parent(s): 46eb532

[fix]: update frame.

Browse files
assets/www/assets/{index-DKzNb2N6.css → index-BQwDibJk.css} RENAMED
@@ -1 +1 @@
1
- @charset "UTF-8";html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;height:100%;min-height:auto;color:#333;background:#fff}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}.card{border-bottom:solid 2px lightgray;align-items:center;justify-content:center;margin-top:40px;display:flex;max-width:1024px;width:100%}.seg-title{margin:24px 0;font-size:20px;font-weight:500}.seg-co{width:1022px;text-align:left;border-left:solid 6px midnightblue;padding-left:8px;margin-left:2px;margin-top:36px;line-height:24px}#app{margin:0 auto;padding:0;text-align:center;width:100%;height:100%}.ant-btn{padding:4px 12px}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.ant-card{background:#f5f6fa;height:100%}.ant-card-body{padding:24px 36px 12px!important;border-radius:0 0 8px 8px}.ant-card .ant-card-actions{background-color:#e8e8f8cc!important}.ant-popover{max-width:800px!important}.ant-form-item{background:transparent;margin-bottom:40px!important}.ant-form-item .ant-form-item-explain-error{color:#ff4d4f;text-align:left!important}.ant-form-item-label label{font-size:18px!important;color:#1a1a1a!important;font-weight:500!important}.ant-tooltip{max-width:1022px!important}.ant-page-header-heading{width:1022px!important}.highlight{background:#f8f8ff}.ant-layout-sider-collapsed{width:0!important;min-width:0!important;overflow:hidden}.ant-layout-sider-collapsed .ant-menu-item,.ant-layout-sider-collapsed .ant-menu-submenu-title{display:none}.content[data-v-de47fb80]{background-color:#fff;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.not-found-wrapper[data-v-aef52a59]{height:calc(100vh - 104px)}.languages[data-v-fb660a4b]{margin-top:40px;margin-bottom:8px}.languages p[data-v-fb660a4b]{font-size:16px;font-weight:500;margin-bottom:8px}.welcome-wrapper[data-v-fb660a4b]{width:100%;height:100%;background-image:url(./bg-BmnA8p_e.png);background-repeat:no-repeat;background-attachment:fixed;background-size:cover;background-position:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between;color:#fff}.welcome-wrapper .content[data-v-fb660a4b]{width:100%;height:80vh;display:flex;flex-direction:column;justify-content:space-around;margin-top:64px}.welcome-wrapper .content .inner-content[data-v-fb660a4b]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.welcome-wrapper .content .inner-content .text-box[data-v-fb660a4b]{color:#000;margin-bottom:36px}.welcome-wrapper .content .inner-content .text-box .title[data-v-fb660a4b]{font-size:24px;font-weight:600;margin-bottom:24px}.welcome-wrapper .content .inner-content .text-box .sub-title[data-v-fb660a4b]{font-size:15px;margin-top:10px}.welcome-wrapper .content .inner-content .btn-box[data-v-fb660a4b]{width:224px;height:80px}.welcome-wrapper .actions[data-v-fb660a4b]{width:100%;height:64px;display:flex;justify-content:flex-end}.ball-wrapper[data-v-34c8e583]{width:100%;height:calc(100vh - 100px);display:flex;flex-direction:column;align-items:center;justify-content:space-around}.talk-wrapper[data-v-1f502814]{width:auto;height:calc(100vh - 100px);overflow-y:scroll;padding:20px 240px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.talk-wrapper .cont-left[data-v-1f502814]{width:100%;margin:24px 0;display:flex;justify-content:flex-start;align-items:flex-start}.talk-wrapper .cont-left .text-left[data-v-1f502814]{color:#222;font-size:16px;font-weight:400;text-align:left;line-height:2;margin-left:12px;margin-top:6px}.talk-wrapper .cont-right[data-v-1f502814]{width:100%;margin:24px 0;display:flex;justify-content:flex-end;align-items:flex-start}.talk-wrapper .cont-right .text-right[data-v-1f502814]{color:#444;font-size:16px;font-weight:400;text-align:end;line-height:2;margin-right:12px;background:#ccc;border-radius:8px 0 8px 8px;padding:8px}.chat-wrapper[data-v-803600aa]{width:100%;height:100%;background-image:url(./bg-BmnA8p_e.png);background-repeat:no-repeat;background-attachment:fixed;background-size:cover;background-position:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between;color:#fff}.chat-wrapper .content[data-v-803600aa]{width:100%;height:auto;display:flex;flex-direction:column;justify-content:space-around}.chat-wrapper .content .inner-content[data-v-803600aa]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.chat-wrapper .content .inner-content .text-box[data-v-803600aa]{color:#000;margin-bottom:36px}.chat-wrapper .content .inner-content .text-box .title[data-v-803600aa]{font-size:24px;font-weight:600;margin-bottom:24px}.chat-wrapper .content .inner-content .text-box .sub-title[data-v-803600aa]{font-size:15px;margin-top:10px}.chat-wrapper .content .inner-content .btn-box[data-v-803600aa]{width:224px;height:80px}.chat-wrapper .actions[data-v-803600aa]{width:100%;height:100px;display:flex;justify-content:space-between;align-items:center}.chat-wrapper .actions .holder[data-v-803600aa]{width:64px;height:48px}.chat-wrapper .actions .btns[data-v-803600aa]{width:450px;height:96px;display:flex;justify-content:space-around;align-items:flex-start}.chat-wrapper .actions .download-wrapper[data-v-803600aa]{width:64px;height:64px;display:flex;justify-content:flex-start;align-items:center;margin-right:0}.chat-wrapper .actions .download-wrapper img[data-v-803600aa]{width:24px;height:24px}.content-wrapper[data-v-d41c9ce7]{text-align:left;max-width:800px;min-width:320px;margin-bottom:64px;min-height:calc(100vh - 438px)}.content-wrapper .content-box[data-v-d41c9ce7]{padding:24px;height:240px;background-color:#e8e8e8;border-radius:16px;width:50%;margin:48px auto;min-width:300px}.content-wrapper .video-box[data-v-d41c9ce7]{max-width:800px;min-width:320px;width:90vw;height:auto}
 
1
+ @charset "UTF-8";html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;height:100%;min-height:auto;color:#333;background:#fff}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}.card{border-bottom:solid 2px lightgray;align-items:center;justify-content:center;margin-top:40px;display:flex;max-width:1024px;width:100%}.seg-title{margin:24px 0;font-size:20px;font-weight:500}.seg-co{width:1022px;text-align:left;border-left:solid 6px midnightblue;padding-left:8px;margin-left:2px;margin-top:36px;line-height:24px}#app{margin:0 auto;padding:0;text-align:center;width:100%;height:100%}.ant-btn{padding:4px 12px}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.ant-card{background:#f5f6fa;height:100%}.ant-card-body{padding:24px 36px 12px!important;border-radius:0 0 8px 8px}.ant-card .ant-card-actions{background-color:#e8e8f8cc!important}.ant-popover{max-width:800px!important}.ant-form-item{background:transparent;margin-bottom:40px!important}.ant-form-item .ant-form-item-explain-error{color:#ff4d4f;text-align:left!important}.ant-form-item-label label{font-size:18px!important;color:#1a1a1a!important;font-weight:500!important}.ant-tooltip{max-width:1022px!important}.ant-page-header-heading{width:1022px!important}.highlight{background:#f8f8ff}.ant-layout-sider-collapsed{width:0!important;min-width:0!important;overflow:hidden}.ant-layout-sider-collapsed .ant-menu-item,.ant-layout-sider-collapsed .ant-menu-submenu-title{display:none}.header-nav[data-v-07594418]{display:flex;align-items:flex-start;justify-content:space-between;width:100vw;height:40px;align-items:center;position:absolute;top:0;left:0;z-index:99;-webkit-app-region:drag;cursor:move}.header-nav .window-controls[data-v-07594418],.header-nav button[data-v-07594418],.header-nav .ant-input-search[data-v-07594418],.header-nav img[data-v-07594418],.header-nav .anticon[data-v-07594418]{-webkit-app-region:no-drag;cursor:pointer}.header-nav .window-controls[data-v-07594418]{top:0;right:0;display:flex;z-index:1000;margin-left:12px}.header-nav .window-controls .window-control-btn[data-v-07594418]{width:46px;height:32px;border:none;background:transparent;color:#666;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.header-nav .window-controls .window-control-btn[data-v-07594418]:hover{background-color:#0000001a}.header-nav .window-controls .window-control-btn.close[data-v-07594418]:hover{background-color:#e81123;color:#fff}.header-nav .window-controls .close-icon.focus[data-v-07594418]{display:none}.header-nav .window-controls:hover .close-icon.default[data-v-07594418],.header-nav .window-controls:focus-within .close-icon.default[data-v-07594418]{display:none}.header-nav .window-controls:hover .close-icon.focus[data-v-07594418],.header-nav .window-controls:focus-within .close-icon.focus[data-v-07594418]{display:inline}.content[data-v-874ca48f]{background-color:#fff;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.not-found-wrapper[data-v-aef52a59]{height:calc(100vh - 104px)}.languages[data-v-fb660a4b]{margin-top:40px;margin-bottom:8px}.languages p[data-v-fb660a4b]{font-size:16px;font-weight:500;margin-bottom:8px}.welcome-wrapper[data-v-fb660a4b]{width:100%;height:100%;background-image:url(./bg-BmnA8p_e.png);background-repeat:no-repeat;background-attachment:fixed;background-size:cover;background-position:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between;color:#fff}.welcome-wrapper .content[data-v-fb660a4b]{width:100%;height:80vh;display:flex;flex-direction:column;justify-content:space-around;margin-top:64px}.welcome-wrapper .content .inner-content[data-v-fb660a4b]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.welcome-wrapper .content .inner-content .text-box[data-v-fb660a4b]{color:#000;margin-bottom:36px}.welcome-wrapper .content .inner-content .text-box .title[data-v-fb660a4b]{font-size:24px;font-weight:600;margin-bottom:24px}.welcome-wrapper .content .inner-content .text-box .sub-title[data-v-fb660a4b]{font-size:15px;margin-top:10px}.welcome-wrapper .content .inner-content .btn-box[data-v-fb660a4b]{width:224px;height:80px}.welcome-wrapper .actions[data-v-fb660a4b]{width:100%;height:64px;display:flex;justify-content:flex-end}.ball-wrapper[data-v-34c8e583]{width:100%;height:calc(100vh - 100px);display:flex;flex-direction:column;align-items:center;justify-content:space-around}.talk-wrapper[data-v-1f502814]{width:auto;height:calc(100vh - 100px);overflow-y:scroll;padding:20px 240px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.talk-wrapper .cont-left[data-v-1f502814]{width:100%;margin:24px 0;display:flex;justify-content:flex-start;align-items:flex-start}.talk-wrapper .cont-left .text-left[data-v-1f502814]{color:#222;font-size:16px;font-weight:400;text-align:left;line-height:2;margin-left:12px;margin-top:6px}.talk-wrapper .cont-right[data-v-1f502814]{width:100%;margin:24px 0;display:flex;justify-content:flex-end;align-items:flex-start}.talk-wrapper .cont-right .text-right[data-v-1f502814]{color:#444;font-size:16px;font-weight:400;text-align:end;line-height:2;margin-right:12px;background:#ccc;border-radius:8px 0 8px 8px;padding:8px}.chat-wrapper[data-v-803600aa]{width:100%;height:100%;background-image:url(./bg-BmnA8p_e.png);background-repeat:no-repeat;background-attachment:fixed;background-size:cover;background-position:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between;color:#fff}.chat-wrapper .content[data-v-803600aa]{width:100%;height:auto;display:flex;flex-direction:column;justify-content:space-around}.chat-wrapper .content .inner-content[data-v-803600aa]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.chat-wrapper .content .inner-content .text-box[data-v-803600aa]{color:#000;margin-bottom:36px}.chat-wrapper .content .inner-content .text-box .title[data-v-803600aa]{font-size:24px;font-weight:600;margin-bottom:24px}.chat-wrapper .content .inner-content .text-box .sub-title[data-v-803600aa]{font-size:15px;margin-top:10px}.chat-wrapper .content .inner-content .btn-box[data-v-803600aa]{width:224px;height:80px}.chat-wrapper .actions[data-v-803600aa]{width:100%;height:100px;display:flex;justify-content:space-between;align-items:center}.chat-wrapper .actions .holder[data-v-803600aa]{width:64px;height:48px}.chat-wrapper .actions .btns[data-v-803600aa]{width:450px;height:96px;display:flex;justify-content:space-around;align-items:flex-start}.chat-wrapper .actions .download-wrapper[data-v-803600aa]{width:64px;height:64px;display:flex;justify-content:flex-start;align-items:center;margin-right:0}.chat-wrapper .actions .download-wrapper img[data-v-803600aa]{width:24px;height:24px}.content-wrapper[data-v-d41c9ce7]{text-align:left;max-width:800px;min-width:320px;margin-bottom:64px;min-height:calc(100vh - 438px)}.content-wrapper .content-box[data-v-d41c9ce7]{padding:24px;height:240px;background-color:#e8e8e8;border-radius:16px;width:50%;margin:48px auto;min-width:300px}.content-wrapper .video-box[data-v-d41c9ce7]{max-width:800px;min-width:320px;width:90vw;height:auto}
assets/www/assets/{index-DGIHaoal.js → index-C9GRPLo1.js} RENAMED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:e14fb4ea0f651f627d1a3700bce22e0c11ec8673c4dc90b533645a853e56aedb
3
- size 2197704
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:490de2fc40ff55d8992066d7cb62c2b9d9f1553eaab1e822435b6779f444a578
3
+ size 2206173
assets/www/index.html CHANGED
@@ -5,8 +5,8 @@
5
  <link rel="icon" type="image/svg+xml" href="./favicon.ico" />
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
  <title>VoiceDialogue</title>
8
- <script type="module" crossorigin src="./assets/index-DGIHaoal.js"></script>
9
- <link rel="stylesheet" crossorigin href="./assets/index-DKzNb2N6.css">
10
  </head>
11
  <body>
12
  <div id="app"></div>
 
5
  <link rel="icon" type="image/svg+xml" href="./favicon.ico" />
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
  <title>VoiceDialogue</title>
8
+ <script type="module" crossorigin src="./assets/index-C9GRPLo1.js"></script>
9
+ <link rel="stylesheet" crossorigin href="./assets/index-BQwDibJk.css">
10
  </head>
11
  <body>
12
  <div id="app"></div>
electron-app/icons/close.png ADDED

Git LFS Details

  • SHA256: 1ea8e4db9ccc72d93e6eff5da120cd3ea177aa1f96cfbf5ec510c0da8e548c0c
  • Pointer size: 128 Bytes
  • Size of remote file: 883 Bytes
electron-app/icons/green.png ADDED

Git LFS Details

  • SHA256: a9a7c8482dd0f476beb467ba5ec457024e38705a40009ee43b6a87dbda118ade
  • Pointer size: 128 Bytes
  • Size of remote file: 680 Bytes
electron-app/icons/max.png ADDED

Git LFS Details

  • SHA256: 0eb50fe3130036f4a37723b47a6b9970ba98ccc32fb9d3c2bda5812d05ac005a
  • Pointer size: 128 Bytes
  • Size of remote file: 803 Bytes
electron-app/icons/min.png ADDED

Git LFS Details

  • SHA256: 1fd6f23940c0c346f29d0341f6fd5f4011c6042140c728cfa6b79aaea7fa436d
  • Pointer size: 128 Bytes
  • Size of remote file: 750 Bytes
electron-app/icons/red.png ADDED

Git LFS Details

  • SHA256: 086ce191336e6dc7e706045dc553c7387e07ac859b1ebb83744fbda6cb9cd1a3
  • Pointer size: 128 Bytes
  • Size of remote file: 679 Bytes
electron-app/icons/yellow.png ADDED

Git LFS Details

  • SHA256: 047e9437baa96116a8d95af70220805ca72fdf363f1fb1bd92f818744c30b85d
  • Pointer size: 128 Bytes
  • Size of remote file: 688 Bytes
electron-app/loading.html CHANGED
@@ -3,7 +3,7 @@
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Loading...</title>
7
  <style>
8
  :root {
9
  --mac-accent: #0071e3;
@@ -50,34 +50,54 @@
50
 
51
  .window-header {
52
  height: 40px;
53
- background-color: rgba(255, 255, 255, 0.9);
54
- border-bottom: 1px solid rgba(0, 0, 0, 0.05);
55
  display: flex;
56
  align-items: center;
57
- padding: 0 12px;
 
 
 
 
58
  }
59
 
60
  .window-controls {
61
  display: flex;
62
- gap: 8px;
 
63
  }
64
 
65
  .window-button {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  width: 12px;
67
  height: 12px;
68
- border-radius: 50%;
69
  }
70
 
71
- .close-button {
72
- background-color: #ff5f57;
73
  }
74
-
75
- .minimize-button {
76
- background-color: #febc2e;
77
  }
78
 
79
- .maximize-button {
80
- background-color: #28c840;
 
81
  }
82
 
83
  .window-title {
@@ -248,9 +268,34 @@
248
  </style>
249
  </head>
250
  <body>
251
- <div class="">
252
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
253
  </div>
 
254
  <div class="window-content">
255
  <div class="app-icon">
256
  <div class="app-icon-inner"><img width="100" height="100" src="./build/icon.png" alt=""></div>
@@ -300,6 +345,33 @@
300
  </div>
301
 
302
  <script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
303
  // Check if this is the first run and show notification accordingly
304
  async function checkFirstRun() {
305
  try {
 
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Voice Dialogue</title>
7
  <style>
8
  :root {
9
  --mac-accent: #0071e3;
 
50
 
51
  .window-header {
52
  height: 40px;
53
+ width: 100%;
 
54
  display: flex;
55
  align-items: center;
56
+ position: fixed;
57
+ top: 4px;
58
+ left: 12px;
59
+ -webkit-app-region: drag;
60
+ cursor: move;
61
  }
62
 
63
  .window-controls {
64
  display: flex;
65
+ -webkit-app-region: no-drag;
66
+ cursor: pointer;
67
  }
68
 
69
  .window-button {
70
+ width: 24px;
71
+ height: 24px;
72
+ border: none;
73
+ background: transparent;
74
+ border-radius: 4px;
75
+ cursor: pointer;
76
+ display: flex;
77
+ align-items: center;
78
+ justify-content: center;
79
+ transition: background-color 0.2s;
80
+ padding: 0;
81
+ }
82
+
83
+
84
+ .window-button img {
85
  width: 12px;
86
  height: 12px;
87
+ transition: opacity 0.2s;
88
  }
89
 
90
+ .window-button .focus-icon {
91
+ display: none;
92
  }
93
+ .window-controls:hover .window-button .default-icon,
94
+ .window-controls:focus-within .window-button .default-icon {
95
+ display: none;
96
  }
97
 
98
+ .window-controls:hover .window-button .focus-icon,
99
+ .window-controls:focus-within .window-button .focus-icon {
100
+ display: inline;
101
  }
102
 
103
  .window-title {
 
268
  </style>
269
  </head>
270
  <body>
271
+ <div class="window-header">
272
+ <div class="window-controls">
273
+ <button class="window-button close" onclick="closeWindow()">
274
+ <img class="default-icon"
275
+ src="./icons/red.png"
276
+ alt="close">
277
+ <img class="focus-icon"
278
+ src="./icons/close.png"
279
+ alt="close-focus">
280
+ </button>
281
+ <button class="window-button minimize" onclick="minimizeWindow()">
282
+ <img class="default-icon"
283
+ src="./icons/yellow.png"
284
+ alt="minimize">
285
+ <img class="focus-icon"
286
+ src="./icons/min.png"
287
+ alt="minimize-focus">
288
+ </button>
289
+ <button class="window-button maximize" onclick="maximizeWindow()">
290
+ <img class="default-icon"
291
+ src="./icons/green.png"
292
+ alt="maximize">
293
+ <img class="focus-icon"
294
+ src="./icons/max.png"
295
+ alt="maximize-focus">
296
+ </button>
297
  </div>
298
+ </div>
299
  <div class="window-content">
300
  <div class="app-icon">
301
  <div class="app-icon-inner"><img width="100" height="100" src="./build/icon.png" alt=""></div>
 
345
  </div>
346
 
347
  <script>
348
+ // 窗口控制函数
349
+ function minimizeWindow ()
350
+ {
351
+ if (window.electronAPI && window.electronAPI.minimizeWindow) {
352
+ window.electronAPI.minimizeWindow();
353
+ } else {
354
+ console.warn('Electron API not available');
355
+ }
356
+ }
357
+
358
+ function maximizeWindow ()
359
+ {
360
+ if (window.electronAPI && window.electronAPI.maximizeWindow) {
361
+ window.electronAPI.maximizeWindow();
362
+ } else {
363
+ console.warn('Electron API not available');
364
+ }
365
+ }
366
+
367
+ function closeWindow ()
368
+ {
369
+ if (window.electronAPI && window.electronAPI.closeWindow) {
370
+ window.electronAPI.closeWindow();
371
+ } else {
372
+ console.warn('Electron API not available');
373
+ }
374
+ }
375
  // Check if this is the first run and show notification accordingly
376
  async function checkFirstRun() {
377
  try {
electron-app/main.js CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:673ca7b004730c2da12f2d88ea33a5f4d275e91974022ecaa55af9d311352c82
3
- size 6447
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4b10113a08513b026f9207f21db221f368a1f242a821dd54d2d002354a6a2ec2
3
+ size 7039
electron-app/preload.js CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:295e12bf6fb9d9ac34460606fffe1d90278873c77d32a96682f79d680886002e
3
- size 952
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1ff2bc3ec7d655ec2ddc6fe0df3a6b79d5d8369056852370dc3c009613372dad
3
+ size 1331
frontend/package.json CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:f33821c7f31c395ea13fb858f87561c2e01f75eadfb9c07c8036b76ea7875750
3
- size 1213
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dacf967c489997b34b8d718c1d10d7a733e66fcb9ca6e40d374aaf401ac222b4
3
+ size 1250
frontend/src/App.vue CHANGED
@@ -1,5 +1,5 @@
1
  <template>
2
- <!-- <Header/> -->
3
  <router-view class="content" />
4
  <!-- <Footer/> -->
5
 
 
1
  <template>
2
+ <Header/>
3
  <router-view class="content" />
4
  <!-- <Footer/> -->
5
 
frontend/src/assets/icons/close.png ADDED

Git LFS Details

  • SHA256: 1ea8e4db9ccc72d93e6eff5da120cd3ea177aa1f96cfbf5ec510c0da8e548c0c
  • Pointer size: 128 Bytes
  • Size of remote file: 883 Bytes
frontend/src/assets/icons/green.png ADDED

Git LFS Details

  • SHA256: a9a7c8482dd0f476beb467ba5ec457024e38705a40009ee43b6a87dbda118ade
  • Pointer size: 128 Bytes
  • Size of remote file: 680 Bytes
frontend/src/assets/icons/max.png ADDED

Git LFS Details

  • SHA256: 0eb50fe3130036f4a37723b47a6b9970ba98ccc32fb9d3c2bda5812d05ac005a
  • Pointer size: 128 Bytes
  • Size of remote file: 803 Bytes
frontend/src/assets/icons/min.png ADDED

Git LFS Details

  • SHA256: 1fd6f23940c0c346f29d0341f6fd5f4011c6042140c728cfa6b79aaea7fa436d
  • Pointer size: 128 Bytes
  • Size of remote file: 750 Bytes
frontend/src/assets/icons/red.png ADDED

Git LFS Details

  • SHA256: 086ce191336e6dc7e706045dc553c7387e07ac859b1ebb83744fbda6cb9cd1a3
  • Pointer size: 128 Bytes
  • Size of remote file: 679 Bytes
frontend/src/assets/icons/yellow.png ADDED

Git LFS Details

  • SHA256: 047e9437baa96116a8d95af70220805ca72fdf363f1fb1bd92f818744c30b85d
  • Pointer size: 128 Bytes
  • Size of remote file: 688 Bytes
frontend/src/views/Header.vue CHANGED
@@ -1,200 +1,154 @@
1
  <script lang="ts" setup>
2
  import router from "@/router.ts";
3
  import {watch, ref, onMounted, onUnmounted} from "vue";
4
- import {ArrowRightOutlined, DashboardOutlined,
5
- ExperimentOutlined, SettingOutlined} from "@ant-design/icons-vue";
6
-
7
- const windowWidth = ref(window.innerWidth)
8
-
9
- onMounted(() => {
10
- window.addEventListener('resize', () => {
11
- windowWidth.value = window.innerWidth
12
- })
13
- })
14
- onUnmounted(() => {
15
- window.removeEventListener('resize', () => {
16
- windowWidth.value = window.innerWidth
17
- })
18
- })
19
-
20
- const sessionActive = ref(false)
21
- const toolsActive = ref(false)
22
- watch(router.currentRoute, (to, from) => {
23
- console.log('router changed', to, from)
24
-
25
- const sessionActivePath = ['/sessions', '/sessions/', '/form', '/form/', '/output']
26
-
27
- if (sessionActivePath.includes(to.path)) {
28
- sessionActive.value = true
29
- toolsActive.value = false
30
- return
31
- }
32
 
33
- const toolsActivePath = ['/tools', '/tools/', '/benchmark', '/benchmark/', '/benchmark_detail', '/benchmark_detail/']
34
- if (toolsActivePath.includes(to.path)) {
35
- sessionActive.value = false
36
- toolsActive.value = true
37
- return
38
- }
 
39
 
40
- sessionActive.value = false
41
- toolsActive.value = false
42
- })
43
 
44
- const gotoSettings = (e: any) => {
45
- e.preventDefault()
46
- router.push('/settings')
 
 
47
  }
48
 
49
- const gotoProfiling = (e: any) => {
50
- e.preventDefault()
51
- router.push('/profiling')
 
 
 
 
 
 
52
  }
53
 
54
- const gotoHealthcheck = (e: any) => {
55
- e.preventDefault()
56
- router.push('/healthcheck')
 
 
 
 
 
 
 
 
 
 
 
 
 
57
  }
58
 
59
  </script>
60
  <template>
61
- <nav class="header-nav">
62
- <div class="nav-left flex flex-row justify-between items-center">
63
- <router-link to="/" >
64
- <img
65
- alt="logo"
66
- src="/logo.webp"
67
- class="logo"
68
- />
69
- </router-link>
70
-
71
- </div>
72
- <div class="title">
73
- <div v-if="windowWidth >= 1280">
74
- <div class="primary">AVATAR
75
- </div>
76
- <div class="secondary">(power by AI)</div>
77
- </div>
78
- <h3 v-if="windowWidth < 1280"
79
- class="text-3xl font-medium text-primary-dark dark:text-ternary-light hidden sm:block"
80
- style="font-size: 22px; line-height: 60px; font-weight: 600;"
81
- >AVATAR</h3>
82
- </div>
83
- <div class="nav-right flex flex-row justify-between items-center">
84
- <!-- <a-button type="link" href="/">-->
85
- <!-- <span :style="router.currentRoute.value.path == '/' ? 'border-bottom: solid 2px; ' : ''" >Home</span>-->
86
- <!-- </a-button>-->
87
- <!-- <router-link to="/settings" >-->
88
- <!-- <img-->
89
- <!-- alt="logo"-->
90
- <!-- src="/logo.webp"-->
91
- <!-- class="logo"-->
92
- <!-- />-->
93
- <!-- </router-link>-->
94
- <a-button type="ghost" style="margin-right: 12px;"
95
- size="large" @click="gotoProfiling">
96
- <template #icon>
97
- <ExperimentOutlined style="font-size: 24px;"/>
98
- </template>
99
  </a-button>
100
- <a-button type="ghost" style="margin-right: 12px;"
101
- size="large" @click="gotoHealthcheck">
102
- <template #icon>
103
- <DashboardOutlined style="font-size: 24px;"/>
104
- </template>
 
 
105
  </a-button>
106
- <a-button type="ghost" size="large" @click="gotoSettings">
107
- <template #icon>
108
- <SettingOutlined style="font-size: 24px;"/>
109
- </template>
 
 
 
110
  </a-button>
111
- <!-- <a-button type="link" target="_blank" >-->
112
- <!-- <span>Contact</span>-->
113
- <!-- </a-button>-->
114
- </div>
115
- </nav>
116
  </template>
117
  <style scoped lang="scss">
118
  .header-nav {
119
  display: flex;
120
- align-items: center;
121
  justify-content: space-between;
122
  width: 100vw;
123
- height: 72px;
124
- background: aliceblue;
125
- box-shadow: 1px 1px 2px 1px #d9d9d9;
126
  top: 0;
127
- position: sticky;
128
  z-index: 99;
129
- }
130
-
131
- .nav-left {
132
- position: absolute;
133
- left: 20px;
134
- top: 12px;
135
- }
136
-
137
- .nav-right {
138
- .ant-btn {
139
- span {
140
- font-size: 15px;
141
- font-weight: 600;
142
- }
143
  }
144
- }
145
-
146
- .logo {
147
- width: 48px;
148
- height: 48px;
149
- border-radius: 24px;
150
- will-change: filter;
151
- transition: filter 300ms;
152
- }
153
-
154
- .logo:hover {
155
- filter: drop-shadow(0 0 2em #646cffaa);
156
- }
157
-
158
- .logo.vue:hover {
159
- filter: drop-shadow(0 0 2em #42b883aa);
160
- }
161
-
162
- .nav-items {
163
- margin-left: 10px;
164
- }
165
-
166
- .nav-right {
167
- position: absolute;
168
- right: 20px;
169
- height: 64px;
170
- align-items: center;
171
- display: flex;
172
- }
173
 
174
- .title {
175
- margin-left: 84px;
176
- line-height: 48px;
177
- height: 54px;
178
-
179
- .primary {
180
- font-weight: bold;
181
- text-align: left;
182
- font-size: 16px;
183
- letter-spacing: -0.8px;
184
- font-family: Courier,Menlo, monospace, 'SFMono-Regular', Consolas, 'Liberation Mono';
185
- }
186
- .secondary {
187
- font-family: Courier,Menlo, monospace, 'SFMono-Regular', Consolas, 'Liberation Mono';
188
- text-align: left;
189
- font-size: 8px;
190
- letter-spacing: -0.2px;
191
- font-weight: 400;
192
- line-height: 20px;
193
- margin-top: -12px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
194
  }
195
  }
196
 
197
- .switch-icon {
198
- margin-left: 20px;
199
- }
200
  </style>
 
1
  <script lang="ts" setup>
2
  import router from "@/router.ts";
3
  import {watch, ref, onMounted, onUnmounted} from "vue";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
 
5
+ import MinimizeIcon from "@/assets/icons/yellow.png"
6
+ import MaximizeIcon from "@/assets/icons/green.png"
7
+ import CloseIcon from "@/assets/icons/red.png"
8
+ import MinFocusIcon from "@/assets/icons/min.png"
9
+ import MaxFocusIcon from "@/assets/icons/max.png"
10
+ import CloseFocusIcon from "@/assets/icons/close.png"
11
+
12
 
13
+ // 修改electron的导入方式
14
+ let electronAPI: any = null;
 
15
 
16
+ // 检查是否在Electron环境中
17
+ // @ts-ignore
18
+ if (typeof window !== 'undefined' && window.electronAPI) {
19
+ // @ts-ignore
20
+ electronAPI = window.electronAPI;
21
  }
22
 
23
+ // 添加窗口控制函数 - 使用contextBridge API
24
+ const minimizeWindow = () => {
25
+ if (electronAPI) {
26
+ // 通过preload脚本发送事件
27
+ // @ts-ignore
28
+ window.electronAPI?.minimizeWindow?.();
29
+ } else {
30
+ console.warn('Electron API not available');
31
+ }
32
  }
33
 
34
+ const maximizeWindow = () => {
35
+ if (electronAPI) {
36
+ // @ts-ignore
37
+ window.electronAPI?.maximizeWindow?.();
38
+ } else {
39
+ console.warn('Electron API not available');
40
+ }
41
+ }
42
+
43
+ const closeWindow = () => {
44
+ if (electronAPI) {
45
+ // @ts-ignore
46
+ window.electronAPI?.closeWindow?.();
47
+ } else {
48
+ console.warn('Electron API not available');
49
+ }
50
  }
51
 
52
  </script>
53
  <template>
54
+ <div class="header-nav">
55
+ <div class="window-controls">
56
+ <a-button type="link" size="small" @click="closeWindow" style="width:24px; height: 24px; padding: 0;">
57
+ <template #icon>
58
+ <img class="close-icon default" :src="CloseIcon" alt="close" style="width: 12px; height: 12px;">
59
+ <img class="close-icon focus" :src="CloseFocusIcon" alt="close-focus"
60
+ style="width: 12px; height: 12px;">
61
+ </template>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  </a-button>
63
+ <a-button type="link" size="small" @click="minimizeWindow"
64
+ style="width:24px; height: 24px; padding: 0;">
65
+ <template #icon>
66
+ <img class="close-icon default" :src="MinimizeIcon" alt="min" style="width: 12px; height: 12px;">
67
+ <img class="close-icon focus" :src="MinFocusIcon" alt="min-focus"
68
+ style="width: 12px; height: 12px;">
69
+ </template>
70
  </a-button>
71
+ <a-button type="link" size="small" @click="maximizeWindow"
72
+ style="width:24px; height: 24px; padding: 0;">
73
+ <template #icon>
74
+ <img class="close-icon default" :src="MaximizeIcon" alt="max" style="width: 12px; height: 12px;">
75
+ <img class="close-icon focus" :src="MaxFocusIcon" alt="max-focus"
76
+ style="width: 12px; height: 12px;">
77
+ </template>
78
  </a-button>
79
+ </div>
80
+ </div>
 
 
 
81
  </template>
82
  <style scoped lang="scss">
83
  .header-nav {
84
  display: flex;
85
+ align-items: flex-start;
86
  justify-content: space-between;
87
  width: 100vw;
88
+ height: 40px;
89
+ align-items: center;
90
+ position: absolute;
91
  top: 0;
92
+ left: 0;
93
  z-index: 99;
94
+ -webkit-app-region: drag;
95
+ /* 整个header区域可拖拽 */
96
+ cursor: move;
97
+
98
+ /* 确保所有交互元素不可拖拽 */
99
+ .window-controls,
100
+ button,
101
+ .ant-input-search,
102
+ img,
103
+ .anticon {
104
+ -webkit-app-region: no-drag;
105
+ cursor: pointer;
 
 
106
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
 
108
+ .window-controls {
109
+ top: 0;
110
+ right: 0;
111
+ display: flex;
112
+ z-index: 1000;
113
+ margin-left: 12px;
114
+
115
+ .window-control-btn {
116
+ width: 46px;
117
+ height: 32px;
118
+ border: none;
119
+ background: transparent;
120
+ color: #666;
121
+ font-size: 16px;
122
+ cursor: pointer;
123
+ display: flex;
124
+ align-items: center;
125
+ justify-content: center;
126
+ transition: background-color 0.2s;
127
+
128
+ &:hover {
129
+ background-color: rgba(0, 0, 0, 0.1);
130
+ }
131
+
132
+ &.close:hover {
133
+ background-color: #e81123;
134
+ color: white;
135
+ }
136
+ }
137
+
138
+ .close-icon.focus {
139
+ display: none;
140
+ }
141
+
142
+ &:hover .close-icon.default,
143
+ &:focus-within .close-icon.default {
144
+ display: none;
145
+ }
146
+
147
+ &:hover .close-icon.focus,
148
+ &:focus-within .close-icon.focus {
149
+ display: inline;
150
+ }
151
  }
152
  }
153
 
 
 
 
154
  </style>
frontend/yarn.lock ADDED
The diff for this file is too large to render. See raw diff