feat(appearance Management): System appearance settings
@@ -1,3 +1,3 @@
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9 1.125C13.3492 1.125 16.875 4.65076 16.875 9C16.875 13.3492 13.3492 16.875 9 16.875H1.875C1.46079 16.875 1.125 16.5392 1.125 16.125V9C1.125 4.65076 4.65076 1.125 9 1.125ZM5.625 10.125C5.41789 10.125 5.25 10.2929 5.25 10.5V11.25C5.25 11.4571 5.41789 11.625 5.625 11.625H9.375C9.58211 11.625 9.75 11.4571 9.75 11.25V10.5C9.75 10.2929 9.58211 10.125 9.375 10.125H5.625ZM5.625 7.125C5.41789 7.125 5.25 7.29289 5.25 7.5V8.25C5.25 8.45711 5.41789 8.625 5.625 8.625H12.375C12.5821 8.625 12.75 8.45711 12.75 8.25V7.5C12.75 7.29289 12.5821 7.125 12.375 7.125H5.625Z" fill="#1CBA90"/>
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9 1.125C13.3492 1.125 16.875 4.65076 16.875 9C16.875 13.3492 13.3492 16.875 9 16.875H1.875C1.46079 16.875 1.125 16.5392 1.125 16.125V9C1.125 4.65076 4.65076 1.125 9 1.125ZM5.625 10.125C5.41789 10.125 5.25 10.2929 5.25 10.5V11.25C5.25 11.4571 5.41789 11.625 5.625 11.625H9.375C9.58211 11.625 9.75 11.4571 9.75 11.25V10.5C9.75 10.2929 9.58211 10.125 9.375 10.125H5.625ZM5.625 7.125C5.41789 7.125 5.25 7.29289 5.25 7.5V8.25C5.25 8.45711 5.41789 8.625 5.625 8.625H12.375C12.5821 8.625 12.75 8.45711 12.75 8.25V7.5C12.75 7.29289 12.5821 7.125 12.375 7.125H5.625Z" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 689 B After Width: | Height: | Size: 663 B |
@@ -1,6 +1,6 @@
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1.5 15.375C1.5 15.1679 1.66789 15 1.875 15H16.125C16.3321 15 16.5 15.1679 16.5 15.375V16.125C16.5 16.3321 16.3321 16.5 16.125 16.5H1.875C1.66789 16.5 1.5 16.3321 1.5 16.125V15.375Z" fill="#1CBA90"/>
|
||||
<path d="M2.25 8.625C2.25 8.41789 2.41789 8.25 2.625 8.25H4.875C5.08211 8.25 5.25 8.41789 5.25 8.625V13.125C5.25 13.3321 5.08211 13.5 4.875 13.5H2.625C2.41789 13.5 2.25 13.3321 2.25 13.125V8.625Z" fill="#1CBA90"/>
|
||||
<path d="M7.5 2.625C7.5 2.41789 7.66789 2.25 7.875 2.25H10.125C10.3321 2.25 10.5 2.41789 10.5 2.625V13.125C10.5 13.3321 10.3321 13.5 10.125 13.5H7.875C7.66789 13.5 7.5 13.3321 7.5 13.125V2.625Z" fill="#1CBA90"/>
|
||||
<path d="M12.75 6.375C12.75 6.16789 12.9179 6 13.125 6H15.375C15.5821 6 15.75 6.16789 15.75 6.375V13.125C15.75 13.3321 15.5821 13.5 15.375 13.5H13.125C12.9179 13.5 12.75 13.3321 12.75 13.125V6.375Z" fill="#1CBA90"/>
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1.5 15.375C1.5 15.1679 1.66789 15 1.875 15H16.125C16.3321 15 16.5 15.1679 16.5 15.375V16.125C16.5 16.3321 16.3321 16.5 16.125 16.5H1.875C1.66789 16.5 1.5 16.3321 1.5 16.125V15.375Z" />
|
||||
<path d="M2.25 8.625C2.25 8.41789 2.41789 8.25 2.625 8.25H4.875C5.08211 8.25 5.25 8.41789 5.25 8.625V13.125C5.25 13.3321 5.08211 13.5 4.875 13.5H2.625C2.41789 13.5 2.25 13.3321 2.25 13.125V8.625Z" />
|
||||
<path d="M7.5 2.625C7.5 2.41789 7.66789 2.25 7.875 2.25H10.125C10.3321 2.25 10.5 2.41789 10.5 2.625V13.125C10.5 13.3321 10.3321 13.5 10.125 13.5H7.875C7.66789 13.5 7.5 13.3321 7.5 13.125V2.625Z" />
|
||||
<path d="M12.75 6.375C12.75 6.16789 12.9179 6 13.125 6H15.375C15.5821 6 15.75 6.16789 15.75 6.375V13.125C15.75 13.3321 15.5821 13.5 15.375 13.5H13.125C12.9179 13.5 12.75 13.3321 12.75 13.125V6.375Z" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 954 B After Width: | Height: | Size: 886 B |
@@ -1,5 +1,5 @@
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1.875 4.125C1.875 4.42047 2.05929 4.71306 2.41736 4.98604C2.77542 5.25902 3.30025 5.50706 3.96186 5.71599C4.62348 5.92492 5.40894 6.09066 6.27338 6.20373C7.13783 6.3168 8.06433 6.375 9 6.375C9.93567 6.375 10.8622 6.3168 11.7266 6.20373C12.5911 6.09066 13.3765 5.92492 14.0381 5.71599C14.6998 5.50706 15.2246 5.25902 15.5826 4.98604C15.9407 4.71306 16.125 4.42047 16.125 4.125C16.125 3.52826 15.3743 2.95597 14.0381 2.53401C12.7019 2.11205 10.8897 1.875 9 1.875C7.11033 1.875 5.29806 2.11205 3.96186 2.53401C2.62567 2.95597 1.875 3.52826 1.875 4.125Z" fill="#1CBA90"/>
|
||||
<path d="M9 12.375C5.86875 12.375 3.21 11.7375 2.25375 10.8525C2.22216 10.822 2.18229 10.8015 2.13911 10.7935C2.09593 10.7855 2.05135 10.7904 2.01095 10.8076C1.97055 10.8248 1.93611 10.8536 1.91193 10.8902C1.88775 10.9269 1.87491 10.9698 1.875 11.0138V13.875C1.875 15.1163 5.06625 16.125 9 16.125C12.9338 16.125 16.125 15.1163 16.125 13.875V11.0138C16.125 10.815 15.8925 10.7175 15.7463 10.8525C14.79 11.7375 12.1313 12.375 9 12.375Z" fill="#1CBA90"/>
|
||||
<path d="M9 7.5C5.86875 7.5 3.21 6.8625 2.25375 5.9775C2.22216 5.947 2.18229 5.92648 2.13911 5.9185C2.09593 5.91052 2.05135 5.91544 2.01095 5.93264C1.97055 5.94984 1.93611 5.97856 1.91193 6.01522C1.88775 6.05187 1.87491 6.09484 1.875 6.13875V9C1.875 10.2413 5.06625 11.25 9 11.25C12.9338 11.25 16.125 10.2413 16.125 9V6.13875C16.125 5.94 15.8925 5.8425 15.7463 5.9775C14.79 6.8625 12.1313 7.5 9 7.5Z" fill="#1CBA90"/>
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1.875 4.125C1.875 4.42047 2.05929 4.71306 2.41736 4.98604C2.77542 5.25902 3.30025 5.50706 3.96186 5.71599C4.62348 5.92492 5.40894 6.09066 6.27338 6.20373C7.13783 6.3168 8.06433 6.375 9 6.375C9.93567 6.375 10.8622 6.3168 11.7266 6.20373C12.5911 6.09066 13.3765 5.92492 14.0381 5.71599C14.6998 5.50706 15.2246 5.25902 15.5826 4.98604C15.9407 4.71306 16.125 4.42047 16.125 4.125C16.125 3.52826 15.3743 2.95597 14.0381 2.53401C12.7019 2.11205 10.8897 1.875 9 1.875C7.11033 1.875 5.29806 2.11205 3.96186 2.53401C2.62567 2.95597 1.875 3.52826 1.875 4.125Z" />
|
||||
<path d="M9 12.375C5.86875 12.375 3.21 11.7375 2.25375 10.8525C2.22216 10.822 2.18229 10.8015 2.13911 10.7935C2.09593 10.7855 2.05135 10.7904 2.01095 10.8076C1.97055 10.8248 1.93611 10.8536 1.91193 10.8902C1.88775 10.9269 1.87491 10.9698 1.875 11.0138V13.875C1.875 15.1163 5.06625 16.125 9 16.125C12.9338 16.125 16.125 15.1163 16.125 13.875V11.0138C16.125 10.815 15.8925 10.7175 15.7463 10.8525C14.79 11.7375 12.1313 12.375 9 12.375Z" />
|
||||
<path d="M9 7.5C5.86875 7.5 3.21 6.8625 2.25375 5.9775C2.22216 5.947 2.18229 5.92648 2.13911 5.9185C2.09593 5.91052 2.05135 5.91544 2.01095 5.93264C1.97055 5.94984 1.93611 5.97856 1.91193 6.01522C1.88775 6.05187 1.87491 6.09484 1.875 6.13875V9C1.875 10.2413 5.06625 11.25 9 11.25C12.9338 11.25 16.125 10.2413 16.125 9V6.13875C16.125 5.94 15.8925 5.8425 15.7463 5.9775C14.79 6.8625 12.1313 7.5 9 7.5Z" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -1,3 +1,3 @@
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M0.75 6.73664C0.75 6.37645 1.11935 6.13442 1.4496 6.27821L7.86626 9.07196C8.04869 9.15139 8.16666 9.33142 8.16666 9.53039V16.4223C8.16666 16.7985 7.76697 17.0399 7.43402 16.8649L1.02937 13.4984C0.945878 13.4526 0.876167 13.3864 0.827168 13.3062C0.778169 13.2261 0.75159 13.1349 0.750073 13.0416L0.75 13.0332V6.73664ZM16.5478 6.27003C16.8783 6.12387 17.25 6.3659 17.25 6.72732V13.0332C17.25 13.1279 17.2241 13.2209 17.175 13.3026C17.1259 13.3844 17.0554 13.4519 16.9706 13.4984L10.566 16.8649C10.233 17.0399 9.83332 16.7985 9.83333 16.4223L9.83334 9.56461C9.83334 9.36667 9.95011 9.18737 10.1311 9.10732L16.5478 6.27003ZM8.72991 1.56903C8.81234 1.52381 8.90537 1.50005 9 1.50005C9.09463 1.50005 9.18766 1.52381 9.27009 1.56903L15.374 4.2802C15.7722 4.45707 15.7694 5.02318 15.3694 5.19609L9.19843 7.86421C9.07181 7.91895 8.92819 7.91895 8.80157 7.86421L2.63054 5.19609C2.23061 5.02318 2.2278 4.45707 2.626 4.2802L8.72991 1.56903Z" fill="#1CBA90"/>
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M0.75 6.73664C0.75 6.37645 1.11935 6.13442 1.4496 6.27821L7.86626 9.07196C8.04869 9.15139 8.16666 9.33142 8.16666 9.53039V16.4223C8.16666 16.7985 7.76697 17.0399 7.43402 16.8649L1.02937 13.4984C0.945878 13.4526 0.876167 13.3864 0.827168 13.3062C0.778169 13.2261 0.75159 13.1349 0.750073 13.0416L0.75 13.0332V6.73664ZM16.5478 6.27003C16.8783 6.12387 17.25 6.3659 17.25 6.72732V13.0332C17.25 13.1279 17.2241 13.2209 17.175 13.3026C17.1259 13.3844 17.0554 13.4519 16.9706 13.4984L10.566 16.8649C10.233 17.0399 9.83332 16.7985 9.83333 16.4223L9.83334 9.56461C9.83334 9.36667 9.95011 9.18737 10.1311 9.10732L16.5478 6.27003ZM8.72991 1.56903C8.81234 1.52381 8.90537 1.50005 9 1.50005C9.09463 1.50005 9.18766 1.52381 9.27009 1.56903L15.374 4.2802C15.7722 4.45707 15.7694 5.02318 15.3694 5.19609L9.19843 7.86421C9.07181 7.91895 8.92819 7.91895 8.80157 7.86421L2.63054 5.19609C2.23061 5.02318 2.2278 4.45707 2.626 4.2802L8.72991 1.56903Z"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@@ -1,3 +1,3 @@
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1.5 1.5C1.08579 1.5 0.75 1.83579 0.75 2.25V15.75C0.75 16.1642 1.08579 16.5 1.5 16.5H16.5C16.9142 16.5 17.25 16.1642 17.25 15.75V2.25C17.25 1.83579 16.9142 1.5 16.5 1.5H1.5ZM15 14.25H3V6.75H15V14.25ZM5.25 4.125C5.25 4.74632 4.74632 5.25 4.125 5.25C3.50368 5.25 3 4.74632 3 4.125C3 3.50368 3.50368 3 4.125 3C4.74632 3 5.25 3.50368 5.25 4.125ZM7.875 5.25C7.25368 5.25 6.75 4.74632 6.75 4.125C6.75 3.50368 7.25368 3 7.875 3C8.49632 3 9 3.50368 9 4.125C9 4.74632 8.49632 5.25 7.875 5.25Z" fill="#1CBA90"/>
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1.5 1.5C1.08579 1.5 0.75 1.83579 0.75 2.25V15.75C0.75 16.1642 1.08579 16.5 1.5 16.5H16.5C16.9142 16.5 17.25 16.1642 17.25 15.75V2.25C17.25 1.83579 16.9142 1.5 16.5 1.5H1.5ZM15 14.25H3V6.75H15V14.25ZM5.25 4.125C5.25 4.74632 4.74632 5.25 4.125 5.25C3.50368 5.25 3 4.74632 3 4.125C3 3.50368 3.50368 3 4.125 3C4.74632 3 5.25 3.50368 5.25 4.125ZM7.875 5.25C7.25368 5.25 6.75 4.74632 6.75 4.125C6.75 3.50368 7.25368 3 7.875 3C8.49632 3 9 3.50368 9 4.125C9 4.74632 8.49632 5.25 7.875 5.25Z"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 614 B After Width: | Height: | Size: 587 B |
@@ -1,4 +1,4 @@
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11.25 9.75H6.75C4.67893 9.75 2.25 11.1986 2.25 13.8V15.825C2.25 16.1978 2.58579 16.5 3 16.5H15C15.4142 16.5 15.75 16.1978 15.75 15.825V13.8C15.75 11.1964 13.3211 9.75 11.25 9.75Z" fill="#1CBA90"/>
|
||||
<path d="M5.25 5.25C5.25 7.32107 6.92893 9 9 9C11.0711 9 12.75 7.32107 12.75 5.25C12.75 3.17893 11.0711 1.5 9 1.5C6.92893 1.5 5.25 3.17893 5.25 5.25Z" fill="#1CBA90"/>
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11.25 9.75H6.75C4.67893 9.75 2.25 11.1986 2.25 13.8V15.825C2.25 16.1978 2.58579 16.5 3 16.5H15C15.4142 16.5 15.75 16.1978 15.75 15.825V13.8C15.75 11.1964 13.3211 9.75 11.25 9.75Z"/>
|
||||
<path d="M5.25 5.25C5.25 7.32107 6.92893 9 9 9C11.0711 9 12.75 7.32107 12.75 5.25C12.75 3.17893 11.0711 1.5 9 1.5C6.92893 1.5 5.25 3.17893 5.25 5.25Z"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 478 B After Width: | Height: | Size: 436 B |
@@ -1,4 +1,4 @@
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9.20133 2.00312L16.7528 6.80862C16.9844 6.95598 16.9844 7.29401 16.7528 7.44137L9.20133 12.2469C9.07849 12.325 8.92151 12.325 8.79867 12.2469L1.24716 7.44137C1.0156 7.29401 1.0156 6.95598 1.24716 6.80862L8.79867 2.00312C8.92151 1.92495 9.07849 1.92495 9.20133 2.00312Z" fill="#1CBA90"/>
|
||||
<path d="M1.94733 10.4146C1.77077 10.3063 1.53988 10.3617 1.43162 10.5383L1.03958 11.1776C0.931327 11.3542 0.986698 11.5851 1.16326 11.6933L8.02962 15.9034C8.5114 16.1988 9.11357 16.1988 9.59535 15.9034L16.4617 11.6933C16.6383 11.5851 16.6936 11.3542 16.5854 11.1776L16.1933 10.5383C16.0851 10.3617 15.8542 10.3063 15.6776 10.4146L8.91049 14.5638C8.85036 14.6007 8.77461 14.6007 8.71447 14.5638L1.94733 10.4146Z" fill="#1CBA90"/>
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9.20133 2.00312L16.7528 6.80862C16.9844 6.95598 16.9844 7.29401 16.7528 7.44137L9.20133 12.2469C9.07849 12.325 8.92151 12.325 8.79867 12.2469L1.24716 7.44137C1.0156 7.29401 1.0156 6.95598 1.24716 6.80862L8.79867 2.00312C8.92151 1.92495 9.07849 1.92495 9.20133 2.00312Z"/>
|
||||
<path d="M1.94733 10.4146C1.77077 10.3063 1.53988 10.3617 1.43162 10.5383L1.03958 11.1776C0.931327 11.3542 0.986698 11.5851 1.16326 11.6933L8.02962 15.9034C8.5114 16.1988 9.11357 16.1988 9.59535 15.9034L16.4617 11.6933C16.6383 11.5851 16.6936 11.3542 16.5854 11.1776L16.1933 10.5383C16.0851 10.3617 15.8542 10.3063 15.6776 10.4146L8.91049 14.5638C8.85036 14.6007 8.77461 14.6007 8.71447 14.5638L1.94733 10.4146Z"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 830 B After Width: | Height: | Size: 788 B |
@@ -1,3 +1,3 @@
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M2.93782 14.5935C2.1193 13.7061 1.49299 12.6387 1.125 11.4573L2.43707 9.66437C2.72657 9.26876 2.72657 8.73124 2.43707 8.33563L1.125 6.54267C1.49299 5.36128 2.1193 4.29386 2.93782 3.40655L5.14275 3.6464C5.63031 3.69944 6.09604 3.43052 6.29385 2.98174L7.18964 0.949401C7.77221 0.818869 8.37806 0.75 9 0.75C9.62194 0.75 10.2278 0.818869 10.8104 0.949401L11.7062 2.98174C11.904 3.43052 12.3697 3.69944 12.8573 3.6464L15.0622 3.40655C15.8807 4.29386 16.507 5.36128 16.875 6.54267L15.5629 8.33563C15.2734 8.73124 15.2734 9.26876 15.5629 9.66437L16.875 11.4573C16.507 12.6387 15.8807 13.7061 15.0622 14.5935L12.8573 14.3536C12.3697 14.3006 11.904 14.5695 11.7062 15.0183L10.8104 17.0506C10.2278 17.1811 9.62194 17.25 9 17.25C8.37806 17.25 7.77221 17.1811 7.18964 17.0506L6.29385 15.0183C6.09604 14.5695 5.63031 14.3006 5.14275 14.3536L2.93782 14.5935ZM9 12C10.6569 12 12 10.6569 12 9C12 7.34315 10.6569 6 9 6C7.34315 6 6 7.34315 6 9C6 10.6569 7.34315 12 9 12Z" fill="#1CBA90"/>
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M2.93782 14.5935C2.1193 13.7061 1.49299 12.6387 1.125 11.4573L2.43707 9.66437C2.72657 9.26876 2.72657 8.73124 2.43707 8.33563L1.125 6.54267C1.49299 5.36128 2.1193 4.29386 2.93782 3.40655L5.14275 3.6464C5.63031 3.69944 6.09604 3.43052 6.29385 2.98174L7.18964 0.949401C7.77221 0.818869 8.37806 0.75 9 0.75C9.62194 0.75 10.2278 0.818869 10.8104 0.949401L11.7062 2.98174C11.904 3.43052 12.3697 3.69944 12.8573 3.6464L15.0622 3.40655C15.8807 4.29386 16.507 5.36128 16.875 6.54267L15.5629 8.33563C15.2734 8.73124 15.2734 9.26876 15.5629 9.66437L16.875 11.4573C16.507 12.6387 15.8807 13.7061 15.0622 14.5935L12.8573 14.3536C12.3697 14.3006 11.904 14.5695 11.7062 15.0183L10.8104 17.0506C10.2278 17.1811 9.62194 17.25 9 17.25C8.37806 17.25 7.77221 17.1811 7.18964 17.0506L6.29385 15.0183C6.09604 14.5695 5.63031 14.3006 5.14275 14.3536L2.93782 14.5935ZM9 12C10.6569 12 12 10.6569 12 9C12 7.34315 10.6569 6 9 6C7.34315 6 6 7.34315 6 9C6 10.6569 7.34315 12 9 12Z"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.0 KiB |
@@ -3,7 +3,7 @@ import { ref, computed } from 'vue'
|
||||
import Default_avatar from '@/assets/workspace/default_avatar.png'
|
||||
import icon_admin_outlined from '@/assets/svg/icon_admin_outlined.svg'
|
||||
import icon_info_outlined_1 from '@/assets/svg/icon_info_outlined_1.svg'
|
||||
|
||||
import { useAppearanceStoreWithOut } from '@/stores/appearance'
|
||||
import icon_maybe_outlined from '@/assets/svg/icon-maybe_outlined.svg'
|
||||
import icon_key_outlined from '@/assets/svg/icon-key_outlined.svg'
|
||||
import icon_translate_outlined from '@/assets/svg/icon_translate_outlined.svg'
|
||||
@@ -18,6 +18,7 @@ import { useUserStore } from '@/stores/user'
|
||||
import { userApi } from '@/api/auth'
|
||||
|
||||
const router = useRouter()
|
||||
const appearanceStore = useAppearanceStoreWithOut()
|
||||
const userStore = useUserStore()
|
||||
const pwdFormRef = ref()
|
||||
const { t, locale } = useI18n()
|
||||
@@ -62,7 +63,7 @@ const changeLanguage = (lang: string) => {
|
||||
}
|
||||
|
||||
const openHelp = () => {
|
||||
window.open('https://dataease.cn/sqlbot/', '_blank')
|
||||
window.open(appearanceStore.getHelp || 'https://dataease.cn/sqlbot/', '_blank')
|
||||
}
|
||||
|
||||
const openPwd = () => {
|
||||
@@ -138,13 +139,13 @@ const logout = () => {
|
||||
</div>
|
||||
</div>
|
||||
</el-popover>
|
||||
<div class="popover-item" @click="toAbout">
|
||||
<div v-if="appearanceStore.getShowAbout" class="popover-item" @click="toAbout">
|
||||
<el-icon size="16">
|
||||
<icon_info_outlined_1></icon_info_outlined_1>
|
||||
</el-icon>
|
||||
<div class="datasource-name">{{ $t('about.title') }}</div>
|
||||
</div>
|
||||
<div class="popover-item" @click="openHelp">
|
||||
<div v-if="appearanceStore.getShowDoc" class="popover-item" @click="openHelp">
|
||||
<el-icon size="16">
|
||||
<icon_maybe_outlined></icon_maybe_outlined>
|
||||
</el-icon>
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { store } from '@/stores/index'
|
||||
// import { defaultFont, list } from '@/api/font'
|
||||
// import { uiLoadApi } from '@/api/login'
|
||||
import { request } from '@/utils/request'
|
||||
import colorFunctions from 'less/lib/less/functions/color.js'
|
||||
import colorTree from 'less/lib/less/tree/color.js'
|
||||
import { setTitle } from '@/utils/utils'
|
||||
|
||||
const basePath = import.meta.env.VITE_API_BASEPATH
|
||||
const baseUrl = basePath + '/appearance/image/'
|
||||
const basePath = import.meta.env.VITE_API_BASE_URL
|
||||
const baseUrl = basePath + '/system/appearance/picture/'
|
||||
import { isBtnShow } from '@/utils/utils'
|
||||
import type { LinkHTMLAttributes } from 'vue'
|
||||
interface AppearanceState {
|
||||
@@ -248,17 +248,15 @@ export const useAppearanceStore = defineStore('appearanceStore', {
|
||||
// if (!isDataEaseBi) {
|
||||
// document.title = ''
|
||||
// }
|
||||
// const res = await uiLoadApi()
|
||||
const res = { data: [] }
|
||||
const resData = await request.get('/system/appearance')
|
||||
this.loaded = true
|
||||
const resData = res.data
|
||||
// if (!resData?.length) {
|
||||
// if (!isDataEaseBi) {
|
||||
// document.title = 'SQLBot'
|
||||
// setLinkIcon()
|
||||
// }
|
||||
// return
|
||||
// }
|
||||
if (!resData?.length) {
|
||||
if (!isDataEaseBi) {
|
||||
document.title = 'SQLBot'
|
||||
setLinkIcon()
|
||||
}
|
||||
return
|
||||
}
|
||||
const data: AppearanceState = { loaded: false, community: true }
|
||||
let isCommunity = false
|
||||
resData.forEach((item: KeyValue) => {
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
<template>
|
||||
<div class="login-container">
|
||||
<div class="login-left">
|
||||
<img :src="login_image" alt="" />
|
||||
<img :src="appearanceStore.getBg || login_image" alt="" />
|
||||
</div>
|
||||
<div class="login-content">
|
||||
<div class="login-right">
|
||||
<img width="227" height="52" :src="aboutBg" alt="" />
|
||||
<div class="welcome">{{ $t('common.intelligent_questioning_platform') }}</div>
|
||||
<img width="227" height="52" :src="appearanceStore.getLogin || aboutBg" alt="" />
|
||||
<div class="welcome">
|
||||
{{ appearanceStore.slogan || $t('common.intelligent_questioning_platform') }}
|
||||
</div>
|
||||
<div class="login-form">
|
||||
<h2 class="title">{{ $t('common.login') }}</h2>
|
||||
<el-form
|
||||
@@ -53,9 +55,11 @@ import { useUserStore } from '@/stores/user'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import aboutBg from '@/assets/embedded/LOGO-about.png'
|
||||
import login_image from '@/assets/embedded/login_image.png'
|
||||
import { useAppearanceStoreWithOut } from '@/stores/appearance'
|
||||
|
||||
const router = useRouter()
|
||||
const userStore = useUserStore()
|
||||
const appearanceStore = useAppearanceStoreWithOut()
|
||||
const { t } = useI18n()
|
||||
|
||||
const loginForm = ref({
|
||||
@@ -93,8 +97,10 @@ const submitForm = () => {
|
||||
.login-left {
|
||||
display: flex;
|
||||
height: 100%;
|
||||
max-width: 50vh;
|
||||
img {
|
||||
height: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -100,8 +100,9 @@ import { propTypes } from '@/utils/propTypes'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { computed, ref, onMounted, nextTick } from 'vue'
|
||||
import elementResizeDetectorMaker from 'element-resize-detector'
|
||||
const basePath = import.meta.env.VITE_API_BASEPATH
|
||||
const baseUrl = basePath + '/appearance/image/'
|
||||
const basePath = import.meta.env.VITE_API_BASE_URL
|
||||
const baseUrl = basePath + '/system/appearance/picture/'
|
||||
|
||||
const { t } = useI18n()
|
||||
const props = defineProps({
|
||||
web: propTypes.string.def(''),
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
{{ $t('system.default_turquoise') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
:class="[themeColor === 'technologyBlue' && 'is-active']"
|
||||
:class="[themeColor === 'blue' && 'is-active']"
|
||||
text
|
||||
@click="themeColorChange('technologyBlue')"
|
||||
@click="themeColorChange('blue')"
|
||||
>
|
||||
{{ $t('system.tech_blue') }}
|
||||
</el-button>
|
||||
@@ -168,8 +168,8 @@
|
||||
<div class="bottom-sql">
|
||||
<Person
|
||||
:is-blue="isBlue"
|
||||
:show-about="showAbout"
|
||||
:show-doc="showDoc"
|
||||
:show-about="topForm.showAbout === '0'"
|
||||
:show-doc="topForm.showDoc === '0'"
|
||||
></Person>
|
||||
<el-icon size="20" class="fold">
|
||||
<icon_side_fold_outlined></icon_side_fold_outlined>
|
||||
@@ -184,10 +184,15 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="config-list">
|
||||
<el-checkbox v-model="showDoc" :label="$t('system.help_documentation')" />
|
||||
<el-checkbox
|
||||
v-model="topForm.showDoc"
|
||||
true-value="0"
|
||||
false-value="1"
|
||||
:label="$t('system.help_documentation')"
|
||||
/>
|
||||
<div class="doc-input">
|
||||
<el-input
|
||||
v-model="input"
|
||||
v-model="topForm.help"
|
||||
style="width: 100%"
|
||||
:placeholder="
|
||||
$t('datasource.please_enter') +
|
||||
@@ -196,7 +201,12 @@
|
||||
"
|
||||
/>
|
||||
</div>
|
||||
<el-checkbox v-model="showAbout" :label="$t('system.show_about')" />
|
||||
<el-checkbox
|
||||
v-model="topForm.showAbout"
|
||||
true-value="0"
|
||||
false-value="1"
|
||||
:label="$t('system.show_about')"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -214,7 +224,7 @@
|
||||
|
||||
<script lang="ts" setup>
|
||||
import logo from '@/assets/LOGO.svg'
|
||||
import { ref, reactive, onMounted, onUnmounted, nextTick, computed } from 'vue'
|
||||
import { ref, unref, reactive, onMounted, onUnmounted, nextTick, computed } from 'vue'
|
||||
import {
|
||||
type FormInstance,
|
||||
type FormRules,
|
||||
@@ -243,12 +253,9 @@ interface LoginForm {
|
||||
interface ConfigItem {
|
||||
pkey: string
|
||||
pval: string
|
||||
type: string
|
||||
ptype: string
|
||||
sort: number
|
||||
}
|
||||
const showAbout = ref(true)
|
||||
const showDoc = ref(true)
|
||||
const input = ref('')
|
||||
const COLOR_PANEL = [
|
||||
'#FF4500',
|
||||
'#FF8C00',
|
||||
@@ -262,7 +269,7 @@ const COLOR_PANEL = [
|
||||
'#FFFFFF',
|
||||
]
|
||||
const basePath = import.meta.env.VITE_API_BASEPATH
|
||||
const baseUrl = basePath + '/appearance/image/'
|
||||
const baseUrl = basePath + '/system/appearance/image/'
|
||||
const fileList = ref<(UploadUserFile & { flag: string })[]>([])
|
||||
const navigateBg = ref('dark')
|
||||
const themeColor = ref('default')
|
||||
@@ -304,35 +311,20 @@ const rules = reactive<FormRules>({
|
||||
],
|
||||
})
|
||||
|
||||
const defaultTopForm = {
|
||||
help: 'https://dataease.cn/sqlbot/v1/',
|
||||
showDoc: '0',
|
||||
showAbout: '0',
|
||||
}
|
||||
|
||||
const topForm = reactive<{
|
||||
help: string
|
||||
showAi: string
|
||||
showCopilot: string
|
||||
showDoc: string
|
||||
showAbout: string
|
||||
}>({
|
||||
help: 'https://dataease.io/docs/',
|
||||
showAi: '0',
|
||||
showCopilot: '0',
|
||||
showDoc: '0',
|
||||
showAbout: '0',
|
||||
})
|
||||
}>(cloneDeep(defaultTopForm))
|
||||
|
||||
const defaultTopForm = reactive<{
|
||||
help: string
|
||||
showAi: string
|
||||
showCopilot: string
|
||||
showDoc: string
|
||||
showAbout: string
|
||||
}>({
|
||||
help: 'https://dataease.io/docs/',
|
||||
showAi: '0',
|
||||
showCopilot: '0',
|
||||
showDoc: '0',
|
||||
showAbout: '0',
|
||||
})
|
||||
const isBlue = computed(() => {
|
||||
return themeColor.value === 'technologyBlue'
|
||||
return themeColor.value === 'blue'
|
||||
})
|
||||
const configList = [
|
||||
{
|
||||
@@ -358,34 +350,29 @@ const giveUp = () => {
|
||||
resetMobileForm(false)
|
||||
init()
|
||||
}
|
||||
const topFormRef = ref()
|
||||
const showSaveButton = ref(true)
|
||||
const saveHandler = () => {
|
||||
topFormRef.value.validate((val: any) => {
|
||||
if (val) {
|
||||
loginFormRef.value?.validate((valLogin) => {
|
||||
if (valLogin) {
|
||||
const param = buildParam()
|
||||
const url = '/appearance/save'
|
||||
request
|
||||
.post(url, param, {
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data',
|
||||
},
|
||||
loginFormRef.value?.validate((valLogin) => {
|
||||
if (valLogin) {
|
||||
const param = buildParam()
|
||||
const url = '/system/appearance'
|
||||
request
|
||||
.post(url, param, {
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data',
|
||||
},
|
||||
})
|
||||
.then((res) => {
|
||||
if (!res) {
|
||||
ElMessage.success(t('system.setting_successfully'))
|
||||
appearanceStore.setLoaded(false)
|
||||
appearanceStore.setAppearance()
|
||||
showSaveButton.value = false
|
||||
nextTick(() => {
|
||||
showSaveButton.value = true
|
||||
})
|
||||
.then((res) => {
|
||||
if (!res.msg) {
|
||||
ElMessage.success(t('system.setting_successfully'))
|
||||
appearanceStore.setLoaded(false)
|
||||
appearanceStore.setAppearance()
|
||||
showSaveButton.value = false
|
||||
nextTick(() => {
|
||||
showSaveButton.value = true
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -393,7 +380,7 @@ const buildParam = () => {
|
||||
for (const key in loginForm) {
|
||||
const item = loginForm[key as keyof typeof loginForm]
|
||||
if (key === 'footContent') {
|
||||
addChangeArray(key, item!, 'blob')
|
||||
addChangeArray(key, item!, 'file')
|
||||
} else {
|
||||
addChangeArray(key, item!)
|
||||
}
|
||||
@@ -411,22 +398,17 @@ const buildParam = () => {
|
||||
formData.append('files', newfile)
|
||||
})
|
||||
}
|
||||
formData.append(
|
||||
'request',
|
||||
new Blob([JSON.stringify(changedItemArray.value)], {
|
||||
type: 'application/json',
|
||||
})
|
||||
)
|
||||
formData.append('data', JSON.stringify(unref(changedItemArray)))
|
||||
return formData
|
||||
}
|
||||
const init = () => {
|
||||
const url = '/appearance/query'
|
||||
const url = '/system/appearance'
|
||||
changedItemArray.value = []
|
||||
fileList.value = []
|
||||
request
|
||||
.get(url)
|
||||
.then((res) => {
|
||||
const list = res.data
|
||||
const list = res || []
|
||||
if (!list.length) {
|
||||
return
|
||||
}
|
||||
@@ -463,7 +445,7 @@ const init = () => {
|
||||
if (themeColor.value === 'custom') {
|
||||
setPageCustomColor(customColor.value)
|
||||
} else {
|
||||
setPageCustomColor('#3370FF')
|
||||
setPageCustomColor(isBlue.value ? '#3370FF' : '#1CBA90')
|
||||
}
|
||||
})
|
||||
})
|
||||
@@ -477,7 +459,7 @@ const addChangeArray = (key: string, val: string, type?: string) => {
|
||||
changedItemArray.value[len] = {
|
||||
pkey: key,
|
||||
pval: val,
|
||||
type: type || 'text',
|
||||
ptype: type || 'str',
|
||||
sort: 1,
|
||||
}
|
||||
match = true
|
||||
@@ -487,7 +469,7 @@ const addChangeArray = (key: string, val: string, type?: string) => {
|
||||
changedItemArray.value.push({
|
||||
pkey: key,
|
||||
pval: val,
|
||||
type: type || 'text',
|
||||
ptype: type || 'str',
|
||||
sort: 1,
|
||||
})
|
||||
}
|
||||
@@ -498,10 +480,8 @@ const themeColorChange = (val: any) => {
|
||||
addChangeArray('themeColor', val)
|
||||
if (themeColor.value === 'custom') {
|
||||
setPageCustomColor(customColor.value)
|
||||
} else if (isBlue.value) {
|
||||
setPageCustomColor('#3370FF')
|
||||
} else {
|
||||
setPageCustomColor('#1CBA90')
|
||||
setPageCustomColor(isBlue.value ? '#3370FF' : '#1CBA90')
|
||||
}
|
||||
}
|
||||
const customColorChange = (val: any) => {
|
||||
@@ -621,7 +601,7 @@ const getHeight = () => {
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
// init()
|
||||
init()
|
||||
nextTick(() => {
|
||||
getHeight()
|
||||
})
|
||||
|
||||