mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-09 02:24:16 +00:00
initial commits, interface, models
This commit is contained in:
parent
c5e5ecf576
commit
b2ac69142a
@ -63,12 +63,10 @@ export default {
|
||||
theme: './config/theme.config.js',
|
||||
// Webpack Configuration
|
||||
alias: {
|
||||
sockets: resolve(__dirname, './sockets'),
|
||||
ycore: resolve(__dirname, './src/ycore_worker.tsx'),
|
||||
ycstyle: resolve(__dirname, './src/ycore_style.scss'),
|
||||
api: resolve(__dirname, './src/services/'),
|
||||
components: resolve(__dirname, './src/components'),
|
||||
widgets: resolve(__dirname, './src/widgets'),
|
||||
config: resolve(__dirname, './config/ycore.config.js'),
|
||||
models: resolve(__dirname, './src/models'),
|
||||
routes: resolve(__dirname, './src/routes'),
|
||||
|
23
globals/debug.json
Normal file
23
globals/debug.json
Normal file
@ -0,0 +1,23 @@
|
||||
[
|
||||
{
|
||||
"id": "1",
|
||||
"title": "PINS",
|
||||
"avatar": "https://dl.ragestudio.net/statics/icons/nxkuOJlFJuAUhzlMTCEe.png",
|
||||
"description": "Debug pins functions, create, modify, delete...",
|
||||
"component": "PINS_debugger"
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"title": "SDCP™",
|
||||
"avatar":"https://dl.ragestudio.net/statics/icons/nxkuOJlFJuAUhzlMTCEe.png",
|
||||
"description": "Debug SDCP Controller and data proccess",
|
||||
"component": "SDCP_debugger"
|
||||
},
|
||||
{
|
||||
"id": "3",
|
||||
"title": "API",
|
||||
"avatar": "https://dl.ragestudio.net/statics/icons/nxkuOJlFJuAUhzlMTCEe.png",
|
||||
"description": "Debug API Controller and data proccess",
|
||||
"component": "API_debugger"
|
||||
}
|
||||
]
|
18
globals/services.json
Normal file
18
globals/services.json
Normal file
@ -0,0 +1,18 @@
|
||||
[
|
||||
{
|
||||
"id": "2",
|
||||
"enable": "1",
|
||||
"logo": "https://api.ragestudio.net/branding/svg/Comty-banner-jetblack.png",
|
||||
"title": "Comty",
|
||||
"description": "Discover our social network, very usedfull for develop socialite",
|
||||
"uri": "https://comty.julioworld.club"
|
||||
},
|
||||
{
|
||||
"id": "5",
|
||||
"enable": "1",
|
||||
"logo": "https://api.ragestudio.net/branding/svg/yuliostore_black.png",
|
||||
"title": "JulioStore",
|
||||
"description": "Huilio?",
|
||||
"uri": "https://store.julioworld.club"
|
||||
}
|
||||
]
|
26
globals/settings.json
Normal file
26
globals/settings.json
Normal file
@ -0,0 +1,26 @@
|
||||
[
|
||||
{
|
||||
"SettingID": "strict_lightMode",
|
||||
"title": "Strict Light Mode",
|
||||
"description": "Force the app to apply full light mode theme when the light mode is activated... (Experimental)",
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"SettingID": "force_collapse",
|
||||
"title": "Collapsed Default",
|
||||
"description": "Force the app to apply collapse mode when an component has updated",
|
||||
"value": false
|
||||
},
|
||||
{
|
||||
"SettingID": "force_showDevLogs",
|
||||
"title": "Show Functions Logs",
|
||||
"description": "Show all console logs... [Developer]",
|
||||
"value": true
|
||||
},
|
||||
{
|
||||
"SettingID": "sessions_noexpire",
|
||||
"title": "No expire session",
|
||||
"description": "Force the app to not expire any session... [Developer]",
|
||||
"value": true
|
||||
}
|
||||
]
|
Binary file not shown.
Before Width: | Height: | Size: 116 B After Width: | Height: | Size: 17 KiB |
@ -1,39 +1 @@
|
||||
<svg id="Capa_2" data-name="Capa 2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1391.17 234.17">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: #fff;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
fill: #00fea1;
|
||||
}
|
||||
|
||||
.cls-3 {
|
||||
fill: #00a079;
|
||||
}
|
||||
</style>
|
||||
<symbol id="TM" data-name="TM" viewBox="0 0 46.03 24.05">
|
||||
<path class="cls-1" d="M19.68.52a1.31,1.31,0,0,1,.42,1,1.31,1.31,0,0,1-.42,1A1.7,1.7,0,0,1,18.53,3H11.7l0,19.43a1.54,1.54,0,0,1-.48,1.18A1.71,1.71,0,0,1,10,24a1.72,1.72,0,0,1-1.18-.45,1.51,1.51,0,0,1-.5-1.17l0-19.44H1.57C.52,2.93,0,2.46,0,1.53S.52.13,1.57.13l17,0A1.68,1.68,0,0,1,19.68.52Zm25.93,0A1.65,1.65,0,0,1,46,1.66l0,20.77a1.73,1.73,0,0,1-.39,1.21,1.44,1.44,0,0,1-1.07.41,1.37,1.37,0,0,1-1.06-.42,1.7,1.7,0,0,1-.39-1.2l0-16L36.32,19.34a1.64,1.64,0,0,1-1.57,1.11,1.61,1.61,0,0,1-1.51-1.12L26.48,6.67l0,15.73A1.61,1.61,0,0,1,26,23.61a1.63,1.63,0,0,1-1.12.41,1.39,1.39,0,0,1-1.07-.42,1.7,1.7,0,0,1-.39-1.2l0-20.78A1.58,1.58,0,0,1,23.91.45,1.59,1.59,0,0,1,25.09,0c.6,0,1.1.39,1.51,1.18l8.21,15.69L43,1.2A1.81,1.81,0,0,1,44.52,0,1.42,1.42,0,0,1,45.61.48Z"/>
|
||||
</symbol>
|
||||
<symbol id="Nuevo_símbolo" data-name="Nuevo símbolo" viewBox="0 0 822.09 126.19">
|
||||
<g>
|
||||
<path class="cls-1" d="M1.67,123.38A5.16,5.16,0,0,1,0,119.5V6.34A5.16,5.16,0,0,1,1.67,2.46,5.81,5.81,0,0,1,5.81.88H40q29.4,0,45.5,16t16.1,45.93q0,29.92-16.1,46T40,125H5.81A5.81,5.81,0,0,1,1.67,123.38Zm37.75-7.92q50.7,0,50.69-52.63,0-52.44-50.69-52.45H10.91V115.46Z"/>
|
||||
<path class="cls-1" d="M183.65,45.58q7.66,8.1,7.66,24.47v50.16a5.55,5.55,0,0,1-1.41,4,5.77,5.77,0,0,1-7.74,0,5.55,5.55,0,0,1-1.41-4V109.65A27.59,27.59,0,0,1,170,121.88a30.31,30.31,0,0,1-16.19,4.31,34.05,34.05,0,0,1-15.13-3.34,26.68,26.68,0,0,1-10.83-9.33,23.42,23.42,0,0,1-4-13.2q0-9.51,4.93-14.78T145.2,78q11.43-2.3,31.85-2.29h3.7V69.17q0-11.62-4.75-17t-15-5.36a48.54,48.54,0,0,0-24.82,6.86l-2.73,1.85A7,7,0,0,1,129.71,57a3.67,3.67,0,0,1-2.9-1.32,4.75,4.75,0,0,1-1.15-3.25q0-3.87,6.16-7.57a55.22,55.22,0,0,1,13.73-5.46,60.17,60.17,0,0,1,15-1.93Q176,37.49,183.65,45.58Zm-10.2,63.54q7.29-7.74,7.3-19.71V83.6h-3.34q-16.9,0-25.88,1.41t-12.67,4.84q-3.69,3.44-3.69,9.94A15.4,15.4,0,0,0,140.8,112a20.56,20.56,0,0,0,13.9,4.84Q166.15,116.86,173.45,109.12Z"/>
|
||||
<path class="cls-1" d="M232.4,124.17a46.44,46.44,0,0,1-12.58-5.55,21.46,21.46,0,0,1-4.66-4,5.92,5.92,0,0,1-1.32-3.78,4.2,4.2,0,0,1,1.14-3,3.59,3.59,0,0,1,2.73-1.23q1.57,0,5.45,2.64a57.52,57.52,0,0,0,10.48,5.45,37,37,0,0,0,13.46,2.11q10.38,0,16.19-3.78a12.16,12.16,0,0,0,5.81-10.82,11,11,0,0,0-2.11-7,16.9,16.9,0,0,0-7-4.75,85.62,85.62,0,0,0-14.08-4q-15.68-3.51-22.27-9.06T217,62.66a22.14,22.14,0,0,1,8.8-18.22q8.8-6.94,22.88-6.95a48.33,48.33,0,0,1,13.12,1.76,33.53,33.53,0,0,1,10.82,5.1q6.17,4.23,6.16,8.27a4.55,4.55,0,0,1-1.14,3.08A3.52,3.52,0,0,1,274.91,57c-1.18,0-3-.93-5.46-2.81A53.7,53.7,0,0,0,260,48.84a30,30,0,0,0-11.88-2q-9.16,0-14.61,4.13a13.3,13.3,0,0,0-5.46,11.18,11.41,11.41,0,0,0,1.85,6.69,15,15,0,0,0,6.34,4.66,72.14,72.14,0,0,0,12.93,4q12.15,2.82,18.66,6T277.2,91Q280,95.4,280,102.26,280,113,271,119.59t-24,6.6A53,53,0,0,1,232.4,124.17Z"/>
|
||||
<path class="cls-1" d="M374.17,70.58v49.8a5.51,5.51,0,0,1-1.41,4,5.05,5.05,0,0,1-3.87,1.5,5.14,5.14,0,0,1-5.45-5.46V71.28q0-12.68-5.11-18.48T342.14,47q-12.67,0-20.33,7.75T314.16,75.5v44.88a5.51,5.51,0,0,1-1.41,4,5.05,5.05,0,0,1-3.87,1.5,5.15,5.15,0,0,1-5.46-5.46V5.46a5.32,5.32,0,0,1,1.5-4,5.32,5.32,0,0,1,4-1.5,5.05,5.05,0,0,1,3.87,1.5,5.51,5.51,0,0,1,1.41,4v48.4a28.2,28.2,0,0,1,11.7-12.15,35.69,35.69,0,0,1,17.51-4.22Q374.17,37.49,374.17,70.58Z"/>
|
||||
<path class="cls-1" d="M462.17,42.94a36.27,36.27,0,0,1,13.38,15.4q4.74,9.94,4.75,23.15,0,13.38-4.75,23.49a36.62,36.62,0,0,1-13.38,15.67,36,36,0,0,1-19.89,5.54,34.47,34.47,0,0,1-17.95-4.49,28.13,28.13,0,0,1-11.44-13.11v11.62a5.55,5.55,0,0,1-1.41,4,5.08,5.08,0,0,1-3.87,1.49,5.14,5.14,0,0,1-5.46-5.45V5.46a5.32,5.32,0,0,1,1.5-4,5.35,5.35,0,0,1,4-1.5,5.05,5.05,0,0,1,3.87,1.5,5.51,5.51,0,0,1,1.41,4V55.09A28.13,28.13,0,0,1,424.33,42a34.47,34.47,0,0,1,17.95-4.49A36.47,36.47,0,0,1,462.17,42.94Zm-.44,64.42q7.49-9.33,7.48-25.87t-7.48-25.61q-7.49-9.06-21-9.06-13.38,0-20.59,9.15t-7.22,25.87q0,16.72,7.3,25.78t20.68,9.07Q454.25,116.69,461.73,107.36Z"/>
|
||||
<path class="cls-1" d="M516.29,120.74a36.65,36.65,0,0,1-13.82-15.49q-4.92-10-4.92-23.41t4.92-23.41a36.65,36.65,0,0,1,13.82-15.49,41.79,41.79,0,0,1,41.27,0,35.88,35.88,0,0,1,13.82,15.49q4.83,10,4.84,23.41t-4.84,23.41a35.88,35.88,0,0,1-13.82,15.49,41.79,41.79,0,0,1-41.27,0Zm41.45-13q7.39-9,7.39-25.87,0-16.55-7.48-25.78T537,46.82q-13.38,0-20.77,9.24t-7.39,25.78q0,16.89,7.21,25.87t20.77,9Q550.35,116.69,557.74,107.71Z"/>
|
||||
<path class="cls-1" d="M655.86,45.58q7.65,8.1,7.65,24.47v50.16a5.55,5.55,0,0,1-1.41,4,5.77,5.77,0,0,1-7.74,0,5.55,5.55,0,0,1-1.41-4V109.65a27.62,27.62,0,0,1-10.73,12.23,30.37,30.37,0,0,1-16.2,4.31,34.08,34.08,0,0,1-15.13-3.34,26.75,26.75,0,0,1-10.83-9.33,23.5,23.5,0,0,1-4-13.2q0-9.51,4.93-14.78T617.4,78q11.45-2.3,31.86-2.29H653V69.17q0-11.62-4.75-17t-15-5.36a48.51,48.51,0,0,0-24.81,6.86c-.36.24-1.27.85-2.73,1.85A7.1,7.1,0,0,1,601.91,57,3.67,3.67,0,0,1,599,55.7a4.74,4.74,0,0,1-1.14-3.25q0-3.87,6.15-7.57a55.38,55.38,0,0,1,13.73-5.46,60.28,60.28,0,0,1,15-1.93Q648.2,37.49,655.86,45.58Zm-10.21,63.54q7.3-7.74,7.3-19.71V83.6h-3.34q-16.89,0-25.87,1.41t-12.68,4.84q-3.69,3.44-3.69,9.94A15.4,15.4,0,0,0,613,112a20.59,20.59,0,0,0,13.91,4.84Q638.34,116.86,645.65,109.12Z"/>
|
||||
<path class="cls-1" d="M736,38.72a4.11,4.11,0,0,1,1.41,3.52c0,2.93-1.76,4.58-5.28,4.93l-5.28.53q-12.5,1.23-18.57,9a28.54,28.54,0,0,0-6.07,18.13v45.58a5.48,5.48,0,0,1-1.41,4.05,5.23,5.23,0,0,1-3.87,1.41,5.55,5.55,0,0,1-4-1.41,5.29,5.29,0,0,1-1.5-4.05V43.3a5.29,5.29,0,0,1,1.5-4,5.55,5.55,0,0,1,4-1.41,5,5,0,0,1,3.7,1.41,5.26,5.26,0,0,1,1.4,3.87V54.56Q709.27,39.42,728.81,38l2.46-.18C733.5,37.72,735.08,38,736,38.72Z"/>
|
||||
<path class="cls-1" d="M820.59,1.5a5.32,5.32,0,0,1,1.5,4V120.21a5.14,5.14,0,0,1-5.46,5.45,5.08,5.08,0,0,1-3.87-1.49,5.55,5.55,0,0,1-1.41-4V108.59a28.19,28.19,0,0,1-11.44,13.11A34.49,34.49,0,0,1,782,126.19a36,36,0,0,1-19.89-5.54A36.62,36.62,0,0,1,748.69,105q-4.74-10.11-4.75-23.49,0-13.2,4.75-23.15A35.39,35.39,0,0,1,782,37.49,34.49,34.49,0,0,1,799.91,42a28.19,28.19,0,0,1,11.44,13.11V5.46a5.51,5.51,0,0,1,1.41-4A5.05,5.05,0,0,1,816.63,0,5.35,5.35,0,0,1,820.59,1.5ZM804.05,107.62q7.29-9.06,7.3-25.78T804.13,56q-7.21-9.15-20.59-9.15-13.54,0-20.94,9.06t-7.39,25.61q0,16.73,7.39,26t20.77,9.24Q796.73,116.69,804.05,107.62Z"/>
|
||||
</g>
|
||||
</symbol>
|
||||
</defs>
|
||||
<title>rDashboard-White-TM-T3</title>
|
||||
<use id="TM-3" data-name="TM" width="46.03" height="24.05" transform="translate(1345.14 73.61)" xlink:href="#TM"/>
|
||||
<use id="Dashboard_TEXT" data-name="Dashboard TEXT" width="822.09" height="126.19" transform="translate(514.02 89.17)" xlink:href="#Nuevo_símbolo"/>
|
||||
<path id="RLayer" class="cls-2" d="M664.53,480.3c-1.79-11.1-9.16-47.71-42.06-77.06a144,144,0,0,0-39.93-25.5C567,371.55,545.3,369,540,369c-88.56,0-173.41-.11-262-.17L381.87,480h-154l267,123H585c7.28-.46,27.63,0,45-18,9.86-10.21,12.63-15.37,19.17-25.65h0A119.92,119.92,0,0,0,664.53,480.3Z" transform="translate(-222 -368.83)"/>
|
||||
<polygon id="T1" class="cls-3" points="160 111.17 273 234.17 0 111.17 160 111.17"/>
|
||||
<path class="cls-2" d="M227.92,480" transform="translate(-222 -368.83)"/>
|
||||
</svg>
|
||||
<svg id="Capa_1" data-name="Capa 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 872.96 353.22"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:#f3b425;}</style></defs><title>ComtyNG-Logo</title><path class="cls-1" d="M508.52,166.9c16.74-19.81,45-20.54,63.07-10.8,21,11.33,32.12,29,31.92,54.52q-.35,43.2.06,86.4c0,4.75-1.23,5.91-5.52,5.74-8.89-.37-17.82-.37-26.71,0-4.45.18-5.89-.87-5.84-6,.28-28.61.15-57.23.13-85.85,0-18.45-12.92-27.37-28.67-19.7-6.86,3.35-9.09,9.71-9.09,17.31q0,43.2,0,86.41c0,9,1,7.62-7.16,7.7-8.55.09-17.11-.22-25.66.12-4.26.17-5.6-1-5.57-5.77.22-28.61.12-57.23.09-85.85,0-3.32.19-6.68-.88-9.92-3.89-11.84-17.82-16.77-27.72-9.72-6,4.28-9.29,9.92-9.23,18,.2,29-.06,58,.2,87,.05,5.3-1.5,6.47-6.13,6.29-9.24-.37-18.5-.21-27.75-.05-2.95.05-4.31-.44-4.3-4.16q.18-70.8.11-141.59c0-1.35-.68-3.56,1.14-3.78,3.19-.4,6.65-1.42,9.58.87a31.77,31.77,0,0,1,4,4.41c5,5.79,5,5.82,11.09,1.5a51,51,0,0,1,22.25-9.07C479.9,148.17,495.75,152.45,508.52,166.9Z" transform="translate(-12.17 -6.57)"/><path class="cls-1" d="M843.78,298.68c-3.36-.73-5.31.77-7.29,1.73-17.69,8.66-34.83,5.65-51.27-3.46-22.64-12.54-33.4-33.26-33.78-60-.37-26.38,0-52.77-.19-79.16,0-3.9,1.08-5.11,4.73-5,9.25.24,18.51.31,27.76,0,4.31-.16,5.62,1.13,5.58,5.84-.23,23.23-.13,46.45-.07,69.68,0,4.45.19,8.92.62,13.34,1.19,12.07,7.17,20.39,18.08,24s20.57,1.67,28.89-7.2c6.92-7.36,10-15.85,9.86-26.36-.37-24.53,0-49.06-.2-73.59,0-4.17.73-5.89,5.1-5.72,9.77.36,19.55.22,29.33,0,3.17-.06,4.21,1,4.2,4.44-.1,42.36.13,84.73-.18,127.1-.14,20.42-8.19,38-21.52,52-13.87,14.59-31,23.07-51,23.42-6.63.12-13.27-.12-19.9-.05-2.42,0-3.42-.82-3.4-3.53.1-10.41.15-20.81,0-31.22-.06-3.73,1.94-3.56,4.37-3.62,8-.2,16,.92,24-.77,8.3-1.75,14.8-6.31,20-13.21C839.5,304.66,841.44,301.9,843.78,298.68Z" transform="translate(-12.17 -6.57)"/><path class="cls-1" d="M703.29,153.08c8,0,16.06.12,24.08-.06,3-.06,4.38.63,4.3,4.27-.22,9.83-.2,19.68,0,29.52.07,3.45-1,4.4-4.17,4.37-15.88-.15-31.76.17-47.63-.22-4.8-.12-5.88,1.6-5.79,6.19.24,12.25.85,24.55.08,36.74-1.1,17.26,15.32,31,28.25,30.7,8.38-.17,16.76.13,25.13-.08,3.23-.07,4.19,1.07,4.13,4.45-.18,9.84,0,19.68-.07,29.52,0,2,.44,4.3-2.66,4.17-14.25-.61-28.66,1.8-42.71-2.26-23.79-6.88-39.76-22.35-47.17-47.86a81.94,81.94,0,0,1-2.92-23.32c0-11.33-.09-22.66.06-34,0-3.06-.73-4.16-3.77-4.23-4.42-.09-10.34,2.31-12.85-1.21-2.13-3-.62-8.93-.65-13.57,0-5.57.39-11.18-.12-16.7-.53-5.67,1.57-7.22,6.42-6.49,2,.31,4.2-.16,6.27.1,3.65.45,4.77-1,4.73-4.93-.19-16.53,0-33.06-.17-49.58-.06-4.22.79-5.85,5.12-5.68,9.41.37,18.85.33,28.26,0,4-.13,5,1.32,5,5.38-.19,16.52.05,33-.17,49.55-.06,4.19,1.07,5.45,5,5.3C687.23,152.86,695.27,153.08,703.29,153.08Z" transform="translate(-12.17 -6.57)"/><path class="cls-1" d="M317,305.48c-105.54-6.08-96.87-163.56,7.16-158.23C421.18,156.65,412.92,304.26,317,305.48Zm.91-119.79c-51-.11-49.27,80.52-.75,81.23C368.21,266.19,366.62,186.35,317.88,185.69Z" transform="translate(-12.17 -6.57)"/><path class="cls-1" d="M65.81,201.94a99.4,99.4,0,0,1,22.54-63.18c26.28-32.3,60.3-44.42,100-37.77,16.86,2.82,31.7,10.71,45.55,21,2.2,1.64,1.88,3.34.48,5.1-7,8.81-11.71,19.19-17.44,28.88-1.38,2.34-2.41,2.63-4.29,1-.79-.69-1.8-1.13-2.54-1.87-18.9-19-54.52-20.41-76.11-5-9.33,6.65-15.9,15.06-21.52,25.1-9.14,16.34-9.58,33.62-2.89,50.08,9.07,22.35,25.54,36.66,48.74,40.48,19.38,3.18,37.1-1.07,52.17-15.1,3-2.74,4.91-3.46,7.42,1,5.14,9.19,9.57,18.89,16.3,27,1.57,1.89,1.88,3.67-.52,5.49-20.36,15.43-42.86,23.65-68,22.76A99.34,99.34,0,0,1,114.68,291c-20.59-13.21-34.88-31.53-43.24-55.72C67.74,224.64,66.25,214,65.81,201.94Z" transform="translate(-12.17 -6.57)"/><path class="cls-2" d="M23.86,93.48c-4.66,0-8-2.53-10.15-6.63a11.41,11.41,0,0,1,.44-12.15c9.5-13.91,21.42-25.17,34.6-35A189.69,189.69,0,0,1,71.38,24.93,181.12,181.12,0,0,1,120.11,7c5.25-1.13,10.27-.22,13.68,4.59,5.08,7.19,1.69,17.32-6.7,19.22-14,3.18-27.77,7.38-40.62,14.1A156.19,156.19,0,0,0,51.34,69.77,145.41,145.41,0,0,0,35.11,87.71C31.69,92.24,29.31,93.46,23.86,93.48Z" transform="translate(-12.17 -6.57)"/><path class="cls-2" d="M84.13,72.24c9.54-6.15,15.92-9.6,19.52-11.48A94.55,94.55,0,0,1,121,54c5.56-1.59,7.9-1.7,10.32-1.06.87.23,8.35,2.33,10.14,9.49a13.72,13.72,0,0,1-1.1,9.06c-1.71,3.21-4.94,5.5-9.5,6.47C111.7,82,95.45,92,81,105.43a93.29,93.29,0,0,0-9.2,10.65c-3.59,4.54-8.14,6.54-13.46,5.2a11.63,11.63,0,0,1-5.39-2.93,12.59,12.59,0,0,1-3.75-7.53c-.35-3.17.69-5.54,2-8.41a31.19,31.19,0,0,1,6.9-9.65A202.75,202.75,0,0,1,84.13,72.24Z" transform="translate(-12.17 -6.57)"/></svg>
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 4.3 KiB |
@ -1,16 +1 @@
|
||||
<svg id="Capa_2" data-name="Capa 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 443.92 234.17">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: #00fea1;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
fill: #00a079;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<title>RDSeries-T3</title>
|
||||
<path id="RLayer" class="cls-1" d="M664.53,480.3c-1.79-11.1-9.16-47.71-42.06-77.06a144,144,0,0,0-39.93-25.5C567,371.55,545.3,369,540,369c-88.56,0-173.41-.11-262-.17L381.87,480h-154l.31.44c6,2.26,11.16,5.59,16.79,8.5a180.69,180.69,0,0,0,17.5,7.61c12.18,4.74,24.6,8.82,37.06,12.71,12.1,3.77,23.86,7.24,34.95,13.52.86.49,1.73.94,2.61,1.41,3.95.9,7.77,2.71,11.51,4.13,5.34,2,10.55,4.33,15.78,6.59a273.69,273.69,0,0,1,30.79,15.39,302.11,302.11,0,0,0,31.68,16.38c5.45,2.42,10.91,4.91,16.14,7.77l.22.12a5.2,5.2,0,0,1,6.31,1.78c1.79,2.5,7.26,4.21,9.86,5.84,3.74,2.36,7.78,4.18,11.47,6.62a99.34,99.34,0,0,0,11.11,6,16.43,16.43,0,0,1,4.28,2.86,19.8,19.8,0,0,1,1.64,1.77,20.81,20.81,0,0,1,5.7,3l1.24.56H585c7.28-.46,27.63,0,45-18,9.86-10.21,12.63-15.37,19.17-25.65h0A119.92,119.92,0,0,0,664.53,480.3Z" transform="translate(-222 -368.83)"/>
|
||||
<polygon id="T1" class="cls-2" points="160 111.17 273 234.17 0 111.17 160 111.17"/>
|
||||
</svg>
|
||||
<svg id="Capa_1" data-name="Capa 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 185.74 232.39"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:#feb500;}</style></defs><title>icon_new2019_black</title><path class="cls-1" d="M342.49,451.06c8.28,8.2,16.5,16.44,24.86,24.55,1.85,1.8.6,2.83-.41,4.08-15.56,19.36-35.85,29.16-60.57,27.74-35.91-2.07-63-26.9-67.73-62.51-5.41-40.92,21.42-78.11,59-85.47,25.83-5.05,55.39,7.3,69.51,29.39,1.07,1.68,2.31,2.94.15,5-8.15,7.85-16.08,15.91-24.21,24-.37-.34-.84-.57-1-.93C334.77,401.49,322.76,394,307,395c-13.74.89-25.63,11.25-30.41,26.51-7,22.32,3.85,43.55,25,48.88C317.7,474.46,332.28,467.59,342.49,451.06Z" transform="translate(-182.77 -275.17)"/><path class="cls-2" d="M192.52,352.88c-3.43-.21-6.6-2.45-8.51-6.25a10.13,10.13,0,0,1,1-11.27,152.39,152.39,0,0,1,33-32.36,159,159,0,0,1,61.51-27.38c8-1.68,13.53,1.45,15.06,8.26,1.48,6.53-2.47,11.86-10.49,13.61-33,7.21-59.84,24.16-80.78,50.57C200.76,351.35,197.56,352.84,192.52,352.88Z" transform="translate(-182.77 -275.17)"/><path class="cls-2" d="M228.48,378.16c-5.69.06-9-2.26-11.2-6.11a9.71,9.71,0,0,1,.8-11.28c17.71-23.09,41-37.62,69.2-44.2,5.59-1.3,11.28,2.58,12.63,8,1.59,6.42-1.53,12.16-8.11,13.87a110.09,110.09,0,0,0-24.27,9,100.52,100.52,0,0,0-31.21,26C234,376.28,231.31,378.28,228.48,378.16Z" transform="translate(-182.77 -275.17)"/></svg>
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.3 KiB |
@ -5,16 +5,11 @@ import { Ellipsis } from 'ant-design-pro'
|
||||
import classnames from 'classnames'
|
||||
import PropTypes from 'prop-types'
|
||||
import styles from './Header.less'
|
||||
import { config } from 'utils'
|
||||
|
||||
import * as ycore from 'ycore'
|
||||
import router from 'umi/router'
|
||||
import moment from 'moment'
|
||||
import Bread from './Bread'
|
||||
|
||||
|
||||
let userData = ycore.SDCP()
|
||||
|
||||
|
||||
|
||||
|
||||
@withI18n()
|
||||
class Header extends PureComponent {
|
||||
@ -38,10 +33,7 @@ class Header extends PureComponent {
|
||||
onAllNotificationsRead,
|
||||
} = this.props
|
||||
|
||||
|
||||
|
||||
|
||||
const menuContent = (
|
||||
const notificationIcon = (
|
||||
<Popover
|
||||
placement="bottomRight"
|
||||
trigger="click"
|
||||
@ -68,9 +60,8 @@ class Header extends PureComponent {
|
||||
description={moment(item.date).fromNow()}
|
||||
/>
|
||||
<Icon
|
||||
style={{ fontSize: 10, color: '#ccc' }}
|
||||
style={{ fontSize: '15px', color: '#ccc' }}
|
||||
type="right"
|
||||
theme="outlined"
|
||||
/>
|
||||
</List.Item>
|
||||
)}
|
||||
@ -98,31 +89,16 @@ class Header extends PureComponent {
|
||||
)
|
||||
|
||||
return (
|
||||
<Layout.Header
|
||||
style={{ padding: 0 }}
|
||||
className={classnames(styles.header, {
|
||||
[styles.fixed]: fixed,
|
||||
[styles.collapsed]: collapsed,
|
||||
})}
|
||||
id={this.isDarkMode()? styles.header_dark : styles.header_light}
|
||||
>
|
||||
<div className={styles.button} onClick={onCollapseChange.bind(this, !collapsed)} >
|
||||
<Icon
|
||||
style={{ fontSize: '23px' }}
|
||||
type={classnames({
|
||||
'pic-right': collapsed,
|
||||
'pic-center': !collapsed,
|
||||
})}
|
||||
/>
|
||||
</div>
|
||||
<div className={styles.bread}><Bread theme={theme} routeList={newRouteList} /></div>
|
||||
<div className={styles.rightContainer}>
|
||||
<Tooltip title={'Search'}><a target="_blank" href="" rel="noopener noreferrer"><Icon type="search" className={styles.iconButton} style={{ fontSize: '18px' }} /></a></Tooltip>
|
||||
<Tooltip title={'Help'}><a target="_blank" href="" rel="noopener noreferrer"><Icon type="question-circle-o" className={styles.iconButton} style={{ fontSize: '18px' }} /></a></Tooltip>
|
||||
{menuContent}
|
||||
|
||||
</div>
|
||||
|
||||
<Layout.Header id='layoutHeader' className={classnames(styles.header, {[styles.fixed]: fixed})} >
|
||||
<div className={styles.leftContainer}>
|
||||
<img className={styles.brand} src={config.FullLogoPath} />
|
||||
<Tooltip title={'Main'}><a target="_blank" href="" rel="noopener noreferrer"><Icon type="home" className={styles.iconButton} style={{ fontSize: '15px' }} /></a></Tooltip>
|
||||
<Tooltip title={'Search'}><a target="_blank" href="" rel="noopener noreferrer"><Icon type="search" className={styles.iconButton} style={{ fontSize: '15px' }} /></a></Tooltip>
|
||||
</div>
|
||||
<div className={styles.rightContainer}>
|
||||
<Tooltip title={'New'}><a target="_blank" href="" rel="noopener noreferrer"><Icon type="plus" className={styles.iconButton} style={{ fontSize: '15px' }} /></a></Tooltip>
|
||||
{notificationIcon}
|
||||
</div>
|
||||
</Layout.Header>
|
||||
)
|
||||
}
|
||||
|
@ -1,60 +1,36 @@
|
||||
@import '~themes/vars.less';
|
||||
|
||||
.bread {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.darkmode_btn {
|
||||
margin-bottom: 8px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
margin-top: 4px;
|
||||
padding: 0 16px;
|
||||
overflow: hidden;
|
||||
font-size: 13px;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
#header_dark{
|
||||
background-color: @DarkMode-backgroud_container;
|
||||
color: @DarkMode-color;
|
||||
transition: background-color 200ms linear;
|
||||
|
||||
}
|
||||
#header_light{
|
||||
background-color: @LightMode-backgroud;
|
||||
color: @LightMode-color;
|
||||
transition: background-color 200ms linear;
|
||||
|
||||
}
|
||||
|
||||
.header {
|
||||
padding: 0;
|
||||
position: relative;
|
||||
.brand {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
height: 64px;
|
||||
margin: 0 20px 3px 23px;
|
||||
width: 90px;
|
||||
}
|
||||
:global{
|
||||
.ant-layout-header{
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
.header {
|
||||
-webkit-box-shadow: 0px 9px 15px -6px rgba(158,158,158,0.82);
|
||||
-moz-box-shadow: 0px 9px 15px -6px rgba(158,158,158,0.82);
|
||||
box-shadow: 0px 9px 15px -6px rgba(158,158,158,0.82);
|
||||
display: flex;
|
||||
width: 100%;
|
||||
background-color: @DarkMode-backgroud;
|
||||
height: 45px;
|
||||
z-index: 9;
|
||||
align-items: center;
|
||||
|
||||
&.fixed {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
width: ~'calc(100% - 370px)';
|
||||
z-index: 10;
|
||||
transition: width 0.2s;
|
||||
|
||||
&.collapsed {
|
||||
width: ~'calc(100% - 115px)';
|
||||
}
|
||||
}
|
||||
|
||||
position: fixed;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
z-index: 10;
|
||||
transition: width 0.2s;
|
||||
:global {
|
||||
|
||||
.ant-menu-submenu-title {
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
|
||||
.ant-menu-horizontal {
|
||||
line-height: 40px;
|
||||
|
||||
@ -93,10 +69,19 @@
|
||||
|
||||
.rightContainer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
margin: 0 50px;
|
||||
}
|
||||
.leftContainer {
|
||||
margin: 0 23px;
|
||||
display: flex;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.button {
|
||||
color: #b2b0c7;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
@ -115,6 +100,32 @@
|
||||
|
||||
|
||||
.iconButton {
|
||||
color: #b2b0c7;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 53px;
|
||||
cursor: pointer;
|
||||
.background-hover();
|
||||
|
||||
&:hover {
|
||||
.iconFont {
|
||||
color: @primary-color;
|
||||
}
|
||||
}
|
||||
|
||||
&+.iconButton {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.iconFont {
|
||||
color: #b2b0c7;
|
||||
font-size: 24px;
|
||||
}
|
||||
}
|
||||
.iconButtonADD {
|
||||
color: #b2b0c7;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
@ -135,10 +146,7 @@
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.iconFont {
|
||||
color: #b2b0c7;
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
}
|
||||
.search {
|
||||
padding: 0 12px;
|
||||
|
@ -1,95 +0,0 @@
|
||||
import React, { PureComponent } from 'react'
|
||||
import PropTypes from 'prop-types'
|
||||
import { Icon, Switch, Layout, Tag, Divider} from 'antd'
|
||||
import { withI18n, Trans } from '@lingui/react'
|
||||
import ScrollBar from '../ScrollBar'
|
||||
import { config } from 'utils'
|
||||
import styles from './L_Sider.less'
|
||||
import { ycore_worker, DevOptions } from 'ycore';
|
||||
import SiderMenu from './Menu.js'
|
||||
import { CustomMenu } from './local_components'
|
||||
|
||||
@withI18n()
|
||||
class L_Sider extends PureComponent {
|
||||
|
||||
StrictMode = () =>{
|
||||
const { theme } = this.props;
|
||||
if (DevOptions.StrictLightMode == false) {
|
||||
return "dark"
|
||||
}
|
||||
if (DevOptions.StrictLightMode == true && theme == "light") {
|
||||
return "light"
|
||||
}
|
||||
if (DevOptions.StrictLightMode == true && theme == "dark") {
|
||||
return "dark"
|
||||
}
|
||||
}
|
||||
|
||||
render() {
|
||||
const {
|
||||
i18n,
|
||||
menus,
|
||||
theme,
|
||||
isMobile,
|
||||
collapsed,
|
||||
onThemeChange,
|
||||
onCollapseChange,
|
||||
} = this.props
|
||||
|
||||
return (
|
||||
<div className={styles.siderhandler}>
|
||||
<Layout.Sider
|
||||
width={215}
|
||||
style={{ height: '100%' }}
|
||||
theme={this.StrictMode()}
|
||||
// style={{ backgroundColor: '#2d2d2d' }}
|
||||
breakpoint="lg"
|
||||
trigger={null}
|
||||
collapsible
|
||||
collapsed={collapsed}
|
||||
onBreakpoint={isMobile ? null : onCollapseChange}
|
||||
className={styles.sider}
|
||||
>
|
||||
<div className={styles.brand}>
|
||||
{collapsed? <div className={styles.logo}><img className={styles.logocollapsed} src={config.logoPath} /></div> : <div className={styles.logo}><img className={styles.logonotcollapsed} src={config.logoPath} /></div> }
|
||||
</div>
|
||||
|
||||
<div className={styles.menuContainer}>
|
||||
<ScrollBar
|
||||
options={{
|
||||
// Disabled horizontal scrolling, https://github.com/utatti/perfect-scrollbar#options
|
||||
suppressScrollX: true,
|
||||
}}
|
||||
>
|
||||
<SiderMenu
|
||||
menus={menus}
|
||||
theme={this.StrictMode()}
|
||||
isMobile={isMobile}
|
||||
collapsed={collapsed}
|
||||
onCollapseChange={onCollapseChange}
|
||||
/>
|
||||
<CustomMenu
|
||||
menus={menus}
|
||||
theme={this.StrictMode()}
|
||||
isMobile={isMobile}
|
||||
collapsed={collapsed}
|
||||
onCollapseChange={onCollapseChange}
|
||||
/>
|
||||
</ScrollBar>
|
||||
</div>
|
||||
</Layout.Sider>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
L_Sider.propTypes = {
|
||||
menus: PropTypes.array,
|
||||
theme: PropTypes.string,
|
||||
isMobile: PropTypes.bool,
|
||||
collapsed: PropTypes.bool,
|
||||
onThemeChange: PropTypes.func,
|
||||
onCollapseChange: PropTypes.func,
|
||||
}
|
||||
|
||||
export default L_Sider
|
@ -1,138 +0,0 @@
|
||||
@import '~themes/vars.less';
|
||||
@import (inline) './fonty.css';
|
||||
|
||||
.siderhandler {
|
||||
overflow-x: hidden;
|
||||
height: 100vh;
|
||||
bottom: 0;
|
||||
:global {
|
||||
letter-spacing: 0.6px;
|
||||
font-weight: 500;
|
||||
font-size: 1.4447884416924666vh;
|
||||
.ant-layout-sider-dark {
|
||||
background-color: @DarkMode-backgroud;
|
||||
color: @DarkMode-color;
|
||||
-webkit-box-shadow: 13px 4px 34px 0px rgba(0, 0, 0, 0.05);
|
||||
-moz-box-shadow: 13px 4px 34px 0px rgba(0, 0, 0, 0.05);
|
||||
box-shadow: 13px 4px 34px 0px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
.ant-layout-sider-light {
|
||||
background-color: @LightMode-backgroud;
|
||||
color: @LightMode-color;
|
||||
-webkit-box-shadow: 13px 4px 34px 0px rgba(0, 0, 0, 0.05);
|
||||
-moz-box-shadow: 13px 4px 34px 0px rgba(0, 0, 0, 0.05);
|
||||
box-shadow: 13px 4px 34px 0px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
.ant-menu-dark {
|
||||
background-color: @DarkMode-backgroud;
|
||||
color: @DarkMode-color;
|
||||
-webkit-box-shadow: 13px 4px 34px 0px rgba(0, 0, 0, 0.005);
|
||||
-moz-box-shadow: 13px 4px 34px 0px rgba(0, 0, 0, 0.005);
|
||||
box-shadow: 13px 4px 34px 0px rgba(0, 0, 0, 0.005);
|
||||
:global{
|
||||
color: @DarkMode-color;
|
||||
}
|
||||
}
|
||||
.ant-menu-light {
|
||||
background-color: @LightMode-backgroud;
|
||||
color: @LightMode-color;
|
||||
-webkit-box-shadow: 13px 4px 34px 0px rgba(0, 0, 0, 0.005);
|
||||
-moz-box-shadow: 13px 4px 34px 0px rgba(0, 0, 0, 0.005);
|
||||
box-shadow: 13px 4px 34px 0px rgba(0, 0, 0, 0.005);
|
||||
}
|
||||
.ant-menu-dark .ant-menu-inline .ant-menu-sub {
|
||||
-webkit-box-shadow: 0px 27px 29px -18px rgba(23, 23, 23, 0);
|
||||
-moz-box-shadow: 0px 27px 29px -18px rgba(23, 23, 23, 0);
|
||||
box-shadow: 0px 27px 29px -18px rgba(23, 23, 23, 0);
|
||||
background-color: @DarkMode-backgroud;
|
||||
}
|
||||
.ant-menu-light .ant-menu-inline .ant-menu-sub {
|
||||
-webkit-box-shadow: 0px 27px 29px -18px rgba(23, 23, 23, 0);
|
||||
-moz-box-shadow: 0px 27px 29px -18px rgba(23, 23, 23, 0);
|
||||
box-shadow: 0px 27px 29px -18px rgba(23, 23, 23, 0);
|
||||
background-color: @LightMode-backgroud;
|
||||
}
|
||||
.ant-menu-dark .ant-menu-item::after {
|
||||
border-right: 3px solid #00FEA1;
|
||||
}
|
||||
.ant-menu-light .ant-menu-item::after {
|
||||
border-right: 3px solid #00FEA1;
|
||||
}
|
||||
.ant-menu-dark .ant-menu-item-selected {
|
||||
background: rgb(80, 78, 82);
|
||||
}
|
||||
.ant-menu-light .ant-menu-item-selected {
|
||||
background: rgb(219, 219, 219);
|
||||
}
|
||||
.ant-layout-sider-children {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.sider {
|
||||
.brand {
|
||||
z-index: 1;
|
||||
height: 70px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 0 23px;
|
||||
.logo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
.logocollapsed{
|
||||
width: 68px;
|
||||
transition: width 0.1s;
|
||||
}
|
||||
.logonotcollapsed {
|
||||
width: 90px;
|
||||
transition: width 0.1s;
|
||||
}
|
||||
}
|
||||
}
|
||||
.menuContainer {
|
||||
height: ~'calc(100vh - 120px)';
|
||||
overflow-x: hidden;
|
||||
flex: 1;
|
||||
&::-webkit-scrollbar-thumb {
|
||||
background-color: transparent;
|
||||
}
|
||||
&:hover {
|
||||
&::-webkit-scrollbar-thumb {
|
||||
background-color: rgba(59, 59, 59, 0.2);
|
||||
}
|
||||
}
|
||||
:global {
|
||||
.ant-menu-inline .ant-menu-item {
|
||||
font-size: 14px;
|
||||
}
|
||||
.ant-menu-dark .ant-menu-item a {
|
||||
color: @DarkMode-color;
|
||||
}
|
||||
.ant-menu-light .ant-menu-item a {
|
||||
color: @LightMode-color;
|
||||
}
|
||||
.ant-menu-item a:hover {
|
||||
color: #00FEA1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@keyframes fadeLeftIn {
|
||||
0% {
|
||||
transform: translateX(5px);
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: translateX(0);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
@ -7,6 +7,7 @@ import router from 'umi/router'
|
||||
import { SDCP, LogoutCall, DevOptions} from 'ycore'
|
||||
|
||||
import styles from './R_Sider.less'
|
||||
import ycstyle from 'ycstyle'
|
||||
|
||||
let userData = SDCP()
|
||||
|
||||
@ -57,7 +58,20 @@ class R_Sider extends PureComponent {
|
||||
return "dark"
|
||||
}
|
||||
}
|
||||
UserIsPro(){
|
||||
if (userData.is_pro == 1){
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
UserIsAdmin(){
|
||||
if (userData.admin == 1){
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
render() {
|
||||
|
||||
const { theme, onThemeChange} = this.props;
|
||||
|
||||
return (
|
||||
@ -65,7 +79,7 @@ class R_Sider extends PureComponent {
|
||||
<Layout.Sider
|
||||
collapsedWidth="30"
|
||||
theme={this.StrictMode()}
|
||||
width="140"
|
||||
width="180"
|
||||
collapsed={this.Balancer()}
|
||||
className={styles.sider}
|
||||
style={this.Balancer()? {backgroundColor: 'rgba(0, 0, 0, 0.1)'} : null}
|
||||
@ -74,37 +88,68 @@ class R_Sider extends PureComponent {
|
||||
>
|
||||
|
||||
<div className={styles.siderhead}>
|
||||
<Avatar size={this.Balancer()? "small" : "large"} shape={this.Balancer()? "circle" : "square"} src={userData.avatar} className={styles.avatar} />
|
||||
{this.Balancer()? null : <span>{userData.username}</span>}
|
||||
<Avatar size={this.Balancer()? "small" : "large"} shape={this.Balancer()? "circle" : "square"} src={userData.avatar} className={this.Balancer()? styles.avatar : styles.avatarFull} />
|
||||
</div>
|
||||
{this.Balancer()? <div style={{ height: "100%", textAlign: "center" }} ><Icon onClick={this.hover} type="left" style={{ color: "#2F2E30", position: "absolute", bottom: "50%" }} /></div> :
|
||||
<div className={styles.sidercontainer}>
|
||||
<Menu className={styles.menuItems} mode="vertical" onClick={this.handleClickMenu}>
|
||||
<Menu.Item key="accountpage">
|
||||
<Icon type="idcard" />
|
||||
<Trans>Account</Trans>
|
||||
</Menu.Item>
|
||||
<Menu.Item key="settingpage">
|
||||
<Icon type="setting" />
|
||||
<Trans>Settings</Trans>
|
||||
</Menu.Item>
|
||||
<Menu.Item key="LightMode" disabled={false}>
|
||||
<Icon type="bg-colors" />
|
||||
<Switch
|
||||
onChange={onThemeChange.bind(
|
||||
this,
|
||||
theme === 'light' ? 'dark' : 'light'
|
||||
)}
|
||||
checkedChildren="Dark"
|
||||
unCheckedChildren="Light"
|
||||
defaultChecked={theme === 'dark'}
|
||||
/>
|
||||
</Menu.Item>
|
||||
<Menu.Item key="SignOut" className={styles.SignOut} >
|
||||
<Icon type="logout" style={{ color: 'red' }} />
|
||||
<Trans>Logout</Trans>
|
||||
</Menu.Item>
|
||||
</Menu>
|
||||
<div>
|
||||
<div className={styles.userInfo}>
|
||||
<h2>@{userData.username}</h2>
|
||||
<span>Points: {userData.points} </span>
|
||||
</div>
|
||||
<Divider dashed style={{margin: '10px 0 2px 0', borderWidth: '0.8px 0 0.8px 0', letterSpacing: '0.6px'}} />
|
||||
<div className={styles.sidercontainer}>
|
||||
<Menu className={styles.menuItems} mode="vertical" onClick={this.handleClickMenu}>
|
||||
{this.UserIsPro()?
|
||||
<Menu.Item key="boosted_pages">
|
||||
<Icon style={{ fontSize: '15px' }} type="thunderbolt" />
|
||||
<Trans> Boosted Posts </Trans>
|
||||
</Menu.Item>
|
||||
:
|
||||
<Menu.Item key="upgrade_pro">
|
||||
<Icon style={{ fontSize: '15px' }} type="star" />
|
||||
<Trans> Upgrade to Pro </Trans>
|
||||
</Menu.Item>}
|
||||
<Menu.Item key="edit_profile">
|
||||
<Icon style={{ fontSize: '15px' }} type="profile" />
|
||||
<Trans>Edit Profile</Trans>
|
||||
</Menu.Item>
|
||||
<Menu.Item key="general_settings">
|
||||
<Icon style={{ fontSize: '15px' }} type="setting" />
|
||||
<Trans>General Settings</Trans>
|
||||
</Menu.Item>
|
||||
<Divider dashed style={{margin: '0 0 0 0', borderWidth: '1px 0 1px 0', letterSpacing: '0.6px'}} />
|
||||
{this.UserIsAdmin()?
|
||||
<Menu.Item key="admin_area">
|
||||
<Icon style={{ fontSize: '15px' }} type="tool" />
|
||||
<Trans>Admin Area</Trans>
|
||||
</Menu.Item>
|
||||
:
|
||||
null
|
||||
}
|
||||
</Menu>
|
||||
|
||||
|
||||
<div className={styles.something_thats_pulling_me_down}>
|
||||
<Menu className={styles.menuItems} mode="vertical" onClick={this.handleClickMenu}>
|
||||
<Menu.Item style={{ fontSize: '15px' }} key="LightMode" disabled={false} >
|
||||
<Icon type="bg-colors" />
|
||||
<Switch
|
||||
onChange={onThemeChange.bind(
|
||||
this,
|
||||
theme === 'light' ? 'dark' : 'light'
|
||||
)}
|
||||
checkedChildren="Dark"
|
||||
unCheckedChildren="Light"
|
||||
defaultChecked={theme === 'dark'}
|
||||
/>
|
||||
</Menu.Item>
|
||||
<Menu.Item key="SignOut">
|
||||
<Icon type="logout" style={{ color: 'red' }} />
|
||||
<Trans>Logout</Trans>
|
||||
</Menu.Item>
|
||||
</Menu>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</Layout.Sider>
|
||||
|
@ -1,5 +1,4 @@
|
||||
@import '~themes/vars.less';
|
||||
@import (inline) './fonty.css';
|
||||
|
||||
@LDarkMode-backgroud: rgba(47, 46, 48, 0.74);
|
||||
@LLightMode-backgroud: #fff;
|
||||
@ -7,14 +6,41 @@
|
||||
@LDarkMode-color: #fff;
|
||||
@LLightMode-color: #2F2E30;
|
||||
|
||||
.userInfo{
|
||||
font-family: "Poppins", sans-serif;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
h2{
|
||||
color: @LDarkMode-color
|
||||
}
|
||||
}
|
||||
.avatarFull{
|
||||
width: 120px;
|
||||
}
|
||||
.avatar{
|
||||
margin: 0 0 15px 0;
|
||||
}
|
||||
|
||||
.something_thats_pulling_me_down{
|
||||
:global{
|
||||
text-align: center;
|
||||
bottom: 0;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.siderwrapper {
|
||||
font-size: 13px;
|
||||
font-family: "Poppins", sans-serif;
|
||||
height: 100%;
|
||||
right: 0;
|
||||
position: absolute;
|
||||
:global {
|
||||
.ant-menu-inline, .ant-menu-vertical, .ant-menu-vertical-left {
|
||||
:hover {
|
||||
color: #00FEA1;
|
||||
color: #ffca1d;
|
||||
}
|
||||
border-right: 1px solid transparent;
|
||||
}
|
||||
@ -69,7 +95,6 @@
|
||||
color: @LDarkMode-color;
|
||||
margin-bottom: 8px;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
animation: fadein 0.5s;
|
||||
:global {
|
||||
.ant-menu-item-selected{
|
||||
@ -78,12 +103,7 @@
|
||||
}
|
||||
|
||||
}
|
||||
.SignOut{
|
||||
margin-bottom: 7px;
|
||||
bottom: 0;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.menuContainer {
|
||||
height: ~'calc(100vh - 120px)';
|
||||
overflow-x: hidden;
|
||||
@ -109,9 +129,7 @@
|
||||
color: rgb(197, 197, 197);
|
||||
}
|
||||
|
||||
.ant-menu-item a:hover {
|
||||
color: #00FEA1;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,5 @@
|
||||
import Header from './Header'
|
||||
import Bread from './Bread'
|
||||
import L_Sider from './L_Sider'
|
||||
import R_Sider from './R_Sider'
|
||||
import Control from './Control'
|
||||
|
||||
export { Header, Bread, L_Sider, R_Sider, Control }
|
||||
export { Header, R_Sider, Control }
|
||||
|
36
src/components/PostCard/index.js
Normal file
36
src/components/PostCard/index.js
Normal file
@ -0,0 +1,36 @@
|
||||
import React from 'react'
|
||||
import * as antd from 'antd'
|
||||
import styles from './index.less'
|
||||
|
||||
const { Meta } = antd.Card;
|
||||
|
||||
// Set default by configuration
|
||||
const emptyPayload = {user: 'Post Empty', ago: 'This Post is empty', avatar: 'https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png', content: 'Test Test' }
|
||||
const defaultActions = [<antd.Icon type="setting" key="setting" />,<antd.Icon type="edit" key="edit" />,<antd.Icon type="ellipsis" key="ellipsis" />]
|
||||
|
||||
class PostCard extends React.PureComponent{
|
||||
constructor(props){
|
||||
super(props)
|
||||
}
|
||||
render(){
|
||||
const { payload, customActions, } = this.props
|
||||
const { user, ago, avatar, content } = payload || emptyPayload;
|
||||
const actions = customActions || defaultActions;
|
||||
return(
|
||||
<div className={styles.cardWrapper}>
|
||||
<antd.Card >
|
||||
<Meta
|
||||
avatar={<antd.Avatar shape="square" size={50} className={styles.postAvatar} src={avatar} />}
|
||||
title={<h4 className={styles.titleUser}>@{user}</h4>}
|
||||
description={<span className={styles.textAgo}>{ago}</span>}
|
||||
bordered={false}
|
||||
/>
|
||||
<div className={styles.postContent}>
|
||||
<h3>{content}</h3>
|
||||
</div>
|
||||
</antd.Card>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default PostCard
|
34
src/components/PostCard/index.less
Normal file
34
src/components/PostCard/index.less
Normal file
@ -0,0 +1,34 @@
|
||||
.cardWrapper{
|
||||
width: auto;
|
||||
max-width: 75vw;
|
||||
min-width: 40vw;
|
||||
:global{
|
||||
.ant-card-meta-detail > div:not(:last-child){
|
||||
margin: 0
|
||||
}
|
||||
.ant-card {
|
||||
|
||||
border-radius: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.postAvatar{
|
||||
position: absolute;
|
||||
left: -8px;
|
||||
top: -8px;
|
||||
}
|
||||
.postContent{
|
||||
h3{
|
||||
color: rgb(85, 85, 85);
|
||||
font-weight: 470;
|
||||
}
|
||||
padding: 23px 13px 13px 13px;
|
||||
}
|
||||
.textAgo{
|
||||
font-size: 10px;
|
||||
margin: 0 0 0 0;
|
||||
}
|
||||
.titleUser{
|
||||
font-family: 'Poppins', sans-serif;
|
||||
margin: 0 0 0 25px;
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
import PostCard from './PostCard'
|
||||
import Editor from './Editor'
|
||||
import FilterItem from './FilterItem'
|
||||
import DropOption from './DropOption'
|
||||
@ -5,9 +6,7 @@ import Loader from './Loader/Loader.js'
|
||||
import ScrollBar from './ScrollBar'
|
||||
import * as MyLayout from './Layout/index.js'
|
||||
import Page from './Page'
|
||||
import Debugger from './Debugger'
|
||||
import YulioID from './YulioID/experimental/index.js'
|
||||
import YulioAuth from './YulioAuth/index.js'
|
||||
import CoreLoader from './CoreLoader'
|
||||
|
||||
export { MyLayout, Editor, FilterItem, DropOption, Loader, Page, ScrollBar, YulioID, YulioAuth, Debugger, CoreLoader }
|
||||
export { MyLayout, Editor, FilterItem, DropOption, Loader, Page, ScrollBar, YulioID, CoreLoader, PostCard }
|
||||
|
@ -10,15 +10,11 @@ import withRouter from 'umi/withRouter'
|
||||
|
||||
import PublicLayout from './PublicLayout'
|
||||
import PrimaryLayout from './PrimaryLayout'
|
||||
import SocketLayout from './SocketLayout'
|
||||
import PublicViewLayout from './PublicViewLayout'
|
||||
import './BaseLayout.less'
|
||||
|
||||
const LayoutMap = {
|
||||
socket: SocketLayout,
|
||||
primary: PrimaryLayout,
|
||||
public: PublicLayout,
|
||||
publicview: PublicViewLayout,
|
||||
}
|
||||
|
||||
@withRouter
|
||||
|
@ -2,7 +2,6 @@
|
||||
/* global document */
|
||||
import React, { PureComponent, Fragment } from 'react'
|
||||
import PropTypes from 'prop-types'
|
||||
import { RefreshONCE, LogoutCall, SDCP } from 'ycore'
|
||||
import withRouter from 'umi/withRouter'
|
||||
import { connect } from 'dva'
|
||||
import { MyLayout } from 'components'
|
||||
@ -159,7 +158,6 @@ class PrimaryLayout extends PureComponent {
|
||||
<MobileWarning />
|
||||
<div className={styles.BarControlWrapper}><Control /></div>
|
||||
<Layout className={this.isDarkMode()? styles.container_dark : styles.container_light}>
|
||||
<L_Sider {...LeftSiderProps} />
|
||||
<div className={styles.container}>
|
||||
<div style={{ paddingTop: config.fixedHeader ? 72 : 0 }} id="primaryLayout" >
|
||||
<Header {...headerProps} />
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
}
|
||||
.container_light {
|
||||
background-color: #fff;
|
||||
background-color: rgb(249, 249, 249);
|
||||
transition: background-color 200ms linear;
|
||||
}
|
||||
// TODO: Complete full dark theme
|
||||
@ -66,6 +66,9 @@
|
||||
background-color: @DarkMode-backgroud_container;
|
||||
transition: background-color 200ms linear;
|
||||
}
|
||||
.ant-card{
|
||||
background-color: @DarkMode-backgroud;
|
||||
}
|
||||
transition: background-color 200ms linear;
|
||||
}
|
||||
}
|
||||
|
54
src/locales/en/messages.json
Normal file
54
src/locales/en/messages.json
Normal file
@ -0,0 +1,54 @@
|
||||
{
|
||||
"/dashboard": "/dashboard",
|
||||
"Add Param": "Add Param",
|
||||
"Address": "Address",
|
||||
"Age": "Age",
|
||||
"Are you sure delete this record?": "Are you sure delete this record?",
|
||||
"Author": "Author",
|
||||
"Avatar": "Avatar",
|
||||
"Categories": "Categories",
|
||||
"Clear notifications": "Clear notifications",
|
||||
"Comments": "Comments",
|
||||
"Create": "Create",
|
||||
"Create User": "Create User",
|
||||
"CreateTime": "CreateTime",
|
||||
"Dark": "Dark",
|
||||
"Delete": "Delete",
|
||||
"Email": "Email",
|
||||
"Female": "Female",
|
||||
"Gender": "Gender",
|
||||
"Hi,": "Hi,",
|
||||
"Image": "Image",
|
||||
"Light": "Light",
|
||||
"Male": "Male",
|
||||
"Name": "Name",
|
||||
"NickName": "NickName",
|
||||
"Not Found": "Not Found",
|
||||
"Operation": "Operation",
|
||||
"Params": "Params",
|
||||
"Password": "Password",
|
||||
"Phone": "Phone",
|
||||
"Pick an address": "Pick an address",
|
||||
"Please pick an address": "Please pick an address",
|
||||
"Publised": "Publised",
|
||||
"Publish Date": "Publish Date",
|
||||
"Reset": "Reset",
|
||||
"Search": "Search",
|
||||
"Search Name": "Search Name",
|
||||
"Send": "Send",
|
||||
"Sign in": "Sign in",
|
||||
"Sign out": "Sign out",
|
||||
"Switch Theme": "Switch Theme",
|
||||
"Tags": "Tags",
|
||||
"The input is not valid E-mail!": "The input is not valid E-mail!",
|
||||
"The input is not valid phone!": "The input is not valid phone!",
|
||||
"Title": "Title",
|
||||
"Total {total} Items": "Total {total} Items",
|
||||
"Unpublished": "Unpublished",
|
||||
"Update": "Update",
|
||||
"Update User": "Update User",
|
||||
"Username": "Username",
|
||||
"Views": "Views",
|
||||
"Visibility": "Visibility",
|
||||
"You have viewed all notifications.": "You have viewed all notifications."
|
||||
}
|
28
src/pages/main/index.js
Normal file
28
src/pages/main/index.js
Normal file
@ -0,0 +1,28 @@
|
||||
import React from 'react'
|
||||
import * as antd from 'antd'
|
||||
import * as ycore from 'ycore'
|
||||
import {PostCard} from 'components'
|
||||
|
||||
var userData = ycore.SDCP()
|
||||
|
||||
|
||||
class Main extends React.Component {
|
||||
renderUserSDCP() {
|
||||
const rep = [userData].map((item)=> {return JSON.stringify(item)})
|
||||
return (
|
||||
<antd.Comment
|
||||
author={'Data'}
|
||||
content={rep}
|
||||
/>
|
||||
)
|
||||
}
|
||||
render(){
|
||||
const paylodd = {user: userData.username, ago: 'Hace 1 Segundo', avatar: userData.avatar, content: 'Hola buenas adios buenas'}
|
||||
return (
|
||||
<div>
|
||||
<PostCard payload={paylodd} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Main;
|
@ -1,18 +0,0 @@
|
||||
import React from 'react'
|
||||
import * as ycore from 'ycore'
|
||||
import * as antd from 'antd'
|
||||
|
||||
|
||||
|
||||
class Main extends React.Component{
|
||||
render(){
|
||||
return (
|
||||
<div>
|
||||
<h1>
|
||||
Sigueme pe
|
||||
</h1>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Main;
|
@ -39,7 +39,7 @@
|
||||
// ---
|
||||
|
||||
// Background color for `<body>`
|
||||
@body-background: #fff;
|
||||
@body-background: rgb(249, 249, 249);
|
||||
// Base background color for most components
|
||||
@component-background: #fff;
|
||||
@font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB',
|
||||
|
@ -3,7 +3,7 @@
|
||||
body {
|
||||
height: 100%;
|
||||
overflow-y: hidden;
|
||||
background-color: #fff;
|
||||
background-color: rgb(249, 249, 249);
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
|
@ -1,4 +1,5 @@
|
||||
@import '~themes/default';
|
||||
@import (inline) './fonty.css';
|
||||
|
||||
@dark-half: #494949;
|
||||
@purple: #d897eb;
|
||||
|
@ -2,7 +2,7 @@
|
||||
@import '~themes/mixin.less';
|
||||
|
||||
@DarkMode-backgroud_container: rgb(24, 26, 27);
|
||||
@DarkMode-backgroud: #2F2E30;
|
||||
@DarkMode-backgroud: #212121;
|
||||
@LightMode-backgroud: #fff;
|
||||
|
||||
@DarkMode-color_container: rgb(195, 191, 182);
|
||||
|
Loading…
x
Reference in New Issue
Block a user