initial commits, interface, models

This commit is contained in:
srgooglo 2020-02-03 14:21:48 +01:00
parent c5e5ecf576
commit b2ac69142a
28 changed files with 411 additions and 456 deletions

View File

@ -63,12 +63,10 @@ export default {
theme: './config/theme.config.js', theme: './config/theme.config.js',
// Webpack Configuration // Webpack Configuration
alias: { alias: {
sockets: resolve(__dirname, './sockets'),
ycore: resolve(__dirname, './src/ycore_worker.tsx'), ycore: resolve(__dirname, './src/ycore_worker.tsx'),
ycstyle: resolve(__dirname, './src/ycore_style.scss'), ycstyle: resolve(__dirname, './src/ycore_style.scss'),
api: resolve(__dirname, './src/services/'), api: resolve(__dirname, './src/services/'),
components: resolve(__dirname, './src/components'), components: resolve(__dirname, './src/components'),
widgets: resolve(__dirname, './src/widgets'),
config: resolve(__dirname, './config/ycore.config.js'), config: resolve(__dirname, './config/ycore.config.js'),
models: resolve(__dirname, './src/models'), models: resolve(__dirname, './src/models'),
routes: resolve(__dirname, './src/routes'), routes: resolve(__dirname, './src/routes'),

23
globals/debug.json Normal file
View 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
View 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
View 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

View File

@ -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"> <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>
<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>

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -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"> <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>
<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>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -5,16 +5,11 @@ import { Ellipsis } from 'ant-design-pro'
import classnames from 'classnames' import classnames from 'classnames'
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import styles from './Header.less' import styles from './Header.less'
import { config } from 'utils'
import * as ycore from 'ycore' import * as ycore from 'ycore'
import router from 'umi/router' import router from 'umi/router'
import moment from 'moment' import moment from 'moment'
import Bread from './Bread'
let userData = ycore.SDCP()
@withI18n() @withI18n()
class Header extends PureComponent { class Header extends PureComponent {
@ -38,10 +33,7 @@ class Header extends PureComponent {
onAllNotificationsRead, onAllNotificationsRead,
} = this.props } = this.props
const notificationIcon = (
const menuContent = (
<Popover <Popover
placement="bottomRight" placement="bottomRight"
trigger="click" trigger="click"
@ -68,9 +60,8 @@ class Header extends PureComponent {
description={moment(item.date).fromNow()} description={moment(item.date).fromNow()}
/> />
<Icon <Icon
style={{ fontSize: 10, color: '#ccc' }} style={{ fontSize: '15px', color: '#ccc' }}
type="right" type="right"
theme="outlined"
/> />
</List.Item> </List.Item>
)} )}
@ -98,31 +89,16 @@ class Header extends PureComponent {
) )
return ( return (
<Layout.Header <Layout.Header id='layoutHeader' className={classnames(styles.header, {[styles.fixed]: fixed})} >
style={{ padding: 0 }} <div className={styles.leftContainer}>
className={classnames(styles.header, { <img className={styles.brand} src={config.FullLogoPath} />
[styles.fixed]: fixed, <Tooltip title={'Main'}><a target="_blank" href="" rel="noopener noreferrer"><Icon type="home" className={styles.iconButton} style={{ fontSize: '15px' }} /></a></Tooltip>
[styles.collapsed]: collapsed, <Tooltip title={'Search'}><a target="_blank" href="" rel="noopener noreferrer"><Icon type="search" className={styles.iconButton} style={{ fontSize: '15px' }} /></a></Tooltip>
})} </div>
id={this.isDarkMode()? styles.header_dark : styles.header_light} <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>
<div className={styles.button} onClick={onCollapseChange.bind(this, !collapsed)} > {notificationIcon}
<Icon </div>
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> </Layout.Header>
) )
} }

View File

@ -1,60 +1,36 @@
@import '~themes/vars.less'; @import '~themes/vars.less';
.bread { .brand {
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;
display: flex; display: flex;
justify-content: space-between; margin: 0 20px 3px 23px;
height: 64px; 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; z-index: 9;
align-items: center; align-items: center;
position: fixed;
&.fixed { top: 0;
position: fixed; width: 100%;
top: 0; z-index: 10;
width: ~'calc(100% - 370px)'; transition: width 0.2s;
z-index: 10;
transition: width 0.2s;
&.collapsed {
width: ~'calc(100% - 115px)';
}
}
:global { :global {
.ant-menu-submenu-title { .ant-menu-submenu-title {
height: 40px; height: 40px;
} }
.ant-menu-horizontal { .ant-menu-horizontal {
line-height: 40px; line-height: 40px;
@ -93,10 +69,19 @@
.rightContainer { .rightContainer {
display: flex; display: flex;
align-items: center; position: absolute;
right: 0;
margin: 0 50px;
}
.leftContainer {
margin: 0 23px;
display: flex;
} }
.button { .button {
color: #b2b0c7;
width: 40px; width: 40px;
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
@ -115,6 +100,32 @@
.iconButton { .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; color: #b2b0c7;
width: 48px; width: 48px;
height: 48px; height: 48px;
@ -135,10 +146,7 @@
margin-left: 8px; margin-left: 8px;
} }
.iconFont {
color: #b2b0c7;
font-size: 24px;
}
} }
.search { .search {
padding: 0 12px; padding: 0 12px;

View File

@ -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

View File

@ -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;
}
}

View File

@ -7,6 +7,7 @@ import router from 'umi/router'
import { SDCP, LogoutCall, DevOptions} from 'ycore' import { SDCP, LogoutCall, DevOptions} from 'ycore'
import styles from './R_Sider.less' import styles from './R_Sider.less'
import ycstyle from 'ycstyle'
let userData = SDCP() let userData = SDCP()
@ -57,7 +58,20 @@ class R_Sider extends PureComponent {
return "dark" return "dark"
} }
} }
UserIsPro(){
if (userData.is_pro == 1){
return true
}
return false
}
UserIsAdmin(){
if (userData.admin == 1){
return true
}
return false
}
render() { render() {
const { theme, onThemeChange} = this.props; const { theme, onThemeChange} = this.props;
return ( return (
@ -65,7 +79,7 @@ class R_Sider extends PureComponent {
<Layout.Sider <Layout.Sider
collapsedWidth="30" collapsedWidth="30"
theme={this.StrictMode()} theme={this.StrictMode()}
width="140" width="180"
collapsed={this.Balancer()} collapsed={this.Balancer()}
className={styles.sider} className={styles.sider}
style={this.Balancer()? {backgroundColor: 'rgba(0, 0, 0, 0.1)'} : null} style={this.Balancer()? {backgroundColor: 'rgba(0, 0, 0, 0.1)'} : null}
@ -74,37 +88,68 @@ class R_Sider extends PureComponent {
> >
<div className={styles.siderhead}> <div className={styles.siderhead}>
<Avatar size={this.Balancer()? "small" : "large"} shape={this.Balancer()? "circle" : "square"} src={userData.avatar} className={styles.avatar} /> <Avatar size={this.Balancer()? "small" : "large"} shape={this.Balancer()? "circle" : "square"} src={userData.avatar} className={this.Balancer()? styles.avatar : styles.avatarFull} />
{this.Balancer()? null : <span>{userData.username}</span>}
</div> </div>
{this.Balancer()? <div style={{ height: "100%", textAlign: "center" }} ><Icon onClick={this.hover} type="left" style={{ color: "#2F2E30", position: "absolute", bottom: "50%" }} /></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}> <div>
<Menu className={styles.menuItems} mode="vertical" onClick={this.handleClickMenu}> <div className={styles.userInfo}>
<Menu.Item key="accountpage"> <h2>@{userData.username}</h2>
<Icon type="idcard" /> <span>Points: {userData.points} </span>
<Trans>Account</Trans> </div>
</Menu.Item> <Divider dashed style={{margin: '10px 0 2px 0', borderWidth: '0.8px 0 0.8px 0', letterSpacing: '0.6px'}} />
<Menu.Item key="settingpage"> <div className={styles.sidercontainer}>
<Icon type="setting" /> <Menu className={styles.menuItems} mode="vertical" onClick={this.handleClickMenu}>
<Trans>Settings</Trans> {this.UserIsPro()?
</Menu.Item> <Menu.Item key="boosted_pages">
<Menu.Item key="LightMode" disabled={false}> <Icon style={{ fontSize: '15px' }} type="thunderbolt" />
<Icon type="bg-colors" /> <Trans> Boosted Posts </Trans>
<Switch </Menu.Item>
onChange={onThemeChange.bind( :
this, <Menu.Item key="upgrade_pro">
theme === 'light' ? 'dark' : 'light' <Icon style={{ fontSize: '15px' }} type="star" />
)} <Trans> Upgrade to Pro </Trans>
checkedChildren="Dark" </Menu.Item>}
unCheckedChildren="Light" <Menu.Item key="edit_profile">
defaultChecked={theme === 'dark'} <Icon style={{ fontSize: '15px' }} type="profile" />
/> <Trans>Edit Profile</Trans>
</Menu.Item> </Menu.Item>
<Menu.Item key="SignOut" className={styles.SignOut} > <Menu.Item key="general_settings">
<Icon type="logout" style={{ color: 'red' }} /> <Icon style={{ fontSize: '15px' }} type="setting" />
<Trans>Logout</Trans> <Trans>General Settings</Trans>
</Menu.Item> </Menu.Item>
</Menu> <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> </div>
} }
</Layout.Sider> </Layout.Sider>

View File

@ -1,5 +1,4 @@
@import '~themes/vars.less'; @import '~themes/vars.less';
@import (inline) './fonty.css';
@LDarkMode-backgroud: rgba(47, 46, 48, 0.74); @LDarkMode-backgroud: rgba(47, 46, 48, 0.74);
@LLightMode-backgroud: #fff; @LLightMode-backgroud: #fff;
@ -7,14 +6,41 @@
@LDarkMode-color: #fff; @LDarkMode-color: #fff;
@LLightMode-color: #2F2E30; @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 { .siderwrapper {
font-size: 13px;
font-family: "Poppins", sans-serif;
height: 100%; height: 100%;
right: 0; right: 0;
position: absolute; position: absolute;
:global { :global {
.ant-menu-inline, .ant-menu-vertical, .ant-menu-vertical-left { .ant-menu-inline, .ant-menu-vertical, .ant-menu-vertical-left {
:hover { :hover {
color: #00FEA1; color: #ffca1d;
} }
border-right: 1px solid transparent; border-right: 1px solid transparent;
} }
@ -69,7 +95,6 @@
color: @LDarkMode-color; color: @LDarkMode-color;
margin-bottom: 8px; margin-bottom: 8px;
width: 100%; width: 100%;
text-align: center;
animation: fadein 0.5s; animation: fadein 0.5s;
:global { :global {
.ant-menu-item-selected{ .ant-menu-item-selected{
@ -78,12 +103,7 @@
} }
} }
.SignOut{
margin-bottom: 7px;
bottom: 0;
position: absolute;
width: 100%;
}
.menuContainer { .menuContainer {
height: ~'calc(100vh - 120px)'; height: ~'calc(100vh - 120px)';
overflow-x: hidden; overflow-x: hidden;
@ -109,9 +129,7 @@
color: rgb(197, 197, 197); color: rgb(197, 197, 197);
} }
.ant-menu-item a:hover {
color: #00FEA1;
}
} }

View File

@ -1,7 +1,5 @@
import Header from './Header' import Header from './Header'
import Bread from './Bread'
import L_Sider from './L_Sider'
import R_Sider from './R_Sider' import R_Sider from './R_Sider'
import Control from './Control' import Control from './Control'
export { Header, Bread, L_Sider, R_Sider, Control } export { Header, R_Sider, Control }

View 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

View 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;
}

View File

@ -1,3 +1,4 @@
import PostCard from './PostCard'
import Editor from './Editor' import Editor from './Editor'
import FilterItem from './FilterItem' import FilterItem from './FilterItem'
import DropOption from './DropOption' import DropOption from './DropOption'
@ -5,9 +6,7 @@ import Loader from './Loader/Loader.js'
import ScrollBar from './ScrollBar' import ScrollBar from './ScrollBar'
import * as MyLayout from './Layout/index.js' import * as MyLayout from './Layout/index.js'
import Page from './Page' import Page from './Page'
import Debugger from './Debugger'
import YulioID from './YulioID/experimental/index.js' import YulioID from './YulioID/experimental/index.js'
import YulioAuth from './YulioAuth/index.js'
import CoreLoader from './CoreLoader' 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 }

View File

@ -10,15 +10,11 @@ import withRouter from 'umi/withRouter'
import PublicLayout from './PublicLayout' import PublicLayout from './PublicLayout'
import PrimaryLayout from './PrimaryLayout' import PrimaryLayout from './PrimaryLayout'
import SocketLayout from './SocketLayout'
import PublicViewLayout from './PublicViewLayout'
import './BaseLayout.less' import './BaseLayout.less'
const LayoutMap = { const LayoutMap = {
socket: SocketLayout,
primary: PrimaryLayout, primary: PrimaryLayout,
public: PublicLayout, public: PublicLayout,
publicview: PublicViewLayout,
} }
@withRouter @withRouter

View File

@ -2,7 +2,6 @@
/* global document */ /* global document */
import React, { PureComponent, Fragment } from 'react' import React, { PureComponent, Fragment } from 'react'
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import { RefreshONCE, LogoutCall, SDCP } from 'ycore'
import withRouter from 'umi/withRouter' import withRouter from 'umi/withRouter'
import { connect } from 'dva' import { connect } from 'dva'
import { MyLayout } from 'components' import { MyLayout } from 'components'
@ -159,7 +158,6 @@ class PrimaryLayout extends PureComponent {
<MobileWarning /> <MobileWarning />
<div className={styles.BarControlWrapper}><Control /></div> <div className={styles.BarControlWrapper}><Control /></div>
<Layout className={this.isDarkMode()? styles.container_dark : styles.container_light}> <Layout className={this.isDarkMode()? styles.container_dark : styles.container_light}>
<L_Sider {...LeftSiderProps} />
<div className={styles.container}> <div className={styles.container}>
<div style={{ paddingTop: config.fixedHeader ? 72 : 0 }} id="primaryLayout" > <div style={{ paddingTop: config.fixedHeader ? 72 : 0 }} id="primaryLayout" >
<Header {...headerProps} /> <Header {...headerProps} />

View File

@ -25,7 +25,7 @@
} }
.container_light { .container_light {
background-color: #fff; background-color: rgb(249, 249, 249);
transition: background-color 200ms linear; transition: background-color 200ms linear;
} }
// TODO: Complete full dark theme // TODO: Complete full dark theme
@ -66,6 +66,9 @@
background-color: @DarkMode-backgroud_container; background-color: @DarkMode-backgroud_container;
transition: background-color 200ms linear; transition: background-color 200ms linear;
} }
.ant-card{
background-color: @DarkMode-backgroud;
}
transition: background-color 200ms linear; transition: background-color 200ms linear;
} }
} }

View 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
View 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;

View File

@ -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;

View File

@ -39,7 +39,7 @@
// --- // ---
// Background color for `<body>` // Background color for `<body>`
@body-background: #fff; @body-background: rgb(249, 249, 249);
// Base background color for most components // Base background color for most components
@component-background: #fff; @component-background: #fff;
@font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', @font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB',

View File

@ -3,7 +3,7 @@
body { body {
height: 100%; height: 100%;
overflow-y: hidden; overflow-y: hidden;
background-color: #fff; background-color: rgb(249, 249, 249);
} }
::-webkit-scrollbar-thumb { ::-webkit-scrollbar-thumb {

View File

@ -1,4 +1,5 @@
@import '~themes/default'; @import '~themes/default';
@import (inline) './fonty.css';
@dark-half: #494949; @dark-half: #494949;
@purple: #d897eb; @purple: #d897eb;

View File

@ -2,7 +2,7 @@
@import '~themes/mixin.less'; @import '~themes/mixin.less';
@DarkMode-backgroud_container: rgb(24, 26, 27); @DarkMode-backgroud_container: rgb(24, 26, 27);
@DarkMode-backgroud: #2F2E30; @DarkMode-backgroud: #212121;
@LightMode-backgroud: #fff; @LightMode-backgroud: #fff;
@DarkMode-color_container: rgb(195, 191, 182); @DarkMode-color_container: rgb(195, 191, 182);