Refactor frontend workspaces and centralize API contracts
Organize domain APIs and types under common/apis, shared components under named folders, and private workspace logic alongside each page. Use Bearer sessions, explicit response envelopes, session-aware routing and streams, and configurable login captcha presentation for the deployed backend contract. Preserve news, economic calendar, crawler, market, chat, Skills, settings, and demo trading workflows with responsive layouts and explicit configuration saves. Validate with frontend lint, type checking, 22 test groups, production builds, and deployed desktop/mobile page checks.
This commit is contained in:
1 parent
77b33e5e77
commit
bc480fb806
102 files changed
+4716
-1707
No files matched your search
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 16"><rect width="24" height="16"/><path fill="#d00" d="M0 5.33h24v5.34H0z"/><path fill="#ffce00" d="M0 10.67h24V16H0z"/></svg>
|
||||
|
After Width: | Height: | Size: 183 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 16"><rect width="24" height="16" fill="#003399"/><g fill="#fc0"><polygon points="12.000,1.950 12.200,2.525 12.808,2.537 12.323,2.905 12.500,3.488 12.000,3.140 11.500,3.488 11.677,2.905 11.192,2.537 11.800,2.525"/><polygon points="14.600,2.647 14.800,3.222 15.408,3.234 14.923,3.602 15.100,4.184 14.600,3.837 14.100,4.184 14.277,3.602 13.792,3.234 14.400,3.222"/><polygon points="16.503,4.550 16.703,5.125 17.312,5.137 16.827,5.505 17.003,6.088 16.503,5.740 16.004,6.088 16.180,5.505 15.695,5.137 16.303,5.125"/><polygon points="17.200,7.150 17.400,7.725 18.008,7.737 17.523,8.105 17.700,8.688 17.200,8.340 16.700,8.688 16.877,8.105 16.392,7.737 17.000,7.725"/><polygon points="16.503,9.750 16.703,10.325 17.312,10.337 16.827,10.705 17.003,11.288 16.503,10.940 16.004,11.288 16.180,10.705 15.695,10.337 16.303,10.325"/><polygon points="14.600,11.653 14.800,12.228 15.408,12.241 14.923,12.608 15.100,13.191 14.600,12.843 14.100,13.191 14.277,12.608 13.792,12.241 14.400,12.228"/><polygon points="12.000,12.350 12.200,12.925 12.808,12.937 12.323,13.305 12.500,13.888 12.000,13.540 11.500,13.888 11.677,13.305 11.192,12.937 11.800,12.925"/><polygon points="9.400,11.653 9.600,12.228 10.208,12.241 9.723,12.608 9.900,13.191 9.400,12.843 8.900,13.191 9.077,12.608 8.592,12.241 9.200,12.228"/><polygon points="7.497,9.750 7.697,10.325 8.305,10.337 7.820,10.705 7.996,11.288 7.497,10.940 6.997,11.288 7.173,10.705 6.688,10.337 7.297,10.325"/><polygon points="6.800,7.150 7.000,7.725 7.608,7.737 7.123,8.105 7.300,8.688 6.800,8.340 6.300,8.688 6.477,8.105 5.992,7.737 6.600,7.725"/><polygon points="7.497,4.550 7.697,5.125 8.305,5.137 7.820,5.505 7.996,6.088 7.497,5.740 6.997,6.088 7.173,5.505 6.688,5.137 7.297,5.125"/><polygon points="9.400,2.647 9.600,3.222 10.208,3.234 9.723,3.602 9.900,4.184 9.400,3.837 8.900,4.184 9.077,3.602 8.592,3.234 9.200,3.222"/></g></svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 16"><path fill="#002395" d="M0 0h8v16H0z"/><path fill="#fff" d="M8 0h8v16H8z"/><path fill="#ed2939" d="M16 0h8v16h-8z"/></svg>
|
||||
|
After Width: | Height: | Size: 183 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 16"><rect width="24" height="16" fill="#012169"/><path stroke="#fff" stroke-width="3" d="m0 0 24 16M24 0 0 16"/><path stroke="#c8102e" stroke-width="1" d="m0 0 24 16M24 0 0 16"/><path stroke="#fff" stroke-width="5" d="M12 0v16M0 8h24"/><path stroke="#c8102e" stroke-width="3" d="M12 0v16M0 8h24"/></svg>
|
||||
|
After Width: | Height: | Size: 360 B |
@@ -0,0 +1,11 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 247 130">
|
||||
<defs>
|
||||
<path id="star" fill="#fff" d="M0-3.8.85-1.17H3.61L1.38.45l.85 2.63L0 1.45l-2.23 1.63.85-2.63-2.23-1.62h2.76Z"/>
|
||||
<g id="six"><use href="#star" x="8"/><use href="#star" x="24"/><use href="#star" x="40"/><use href="#star" x="56"/><use href="#star" x="72"/><use href="#star" x="88"/></g>
|
||||
<g id="five"><use href="#star" x="16"/><use href="#star" x="32"/><use href="#star" x="48"/><use href="#star" x="64"/><use href="#star" x="80"/></g>
|
||||
</defs>
|
||||
<path fill="#fff" d="M0 0h247v130H0z"/>
|
||||
<path stroke="#b22234" stroke-width="10" d="M0 5h247M0 25h247M0 45h247M0 65h247M0 85h247M0 105h247M0 125h247"/>
|
||||
<path fill="#3c3b6e" d="M0 0h99v70H0z"/>
|
||||
<g transform="translate(1.5)"><use href="#six" y="7"/><use href="#five" y="14"/><use href="#six" y="21"/><use href="#five" y="28"/><use href="#six" y="35"/><use href="#five" y="42"/><use href="#six" y="49"/><use href="#five" y="56"/><use href="#six" y="63"/></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 998 B |
Reference in new issue
Block a user