@@ -32,8 +32,8 @@ public function handle()
32
32
33
33
$ vars ['xshop-background ' ] = $ gfxes ['background ' ] ?? '#000000 ' ;
34
34
$ vars ['xshop-primary ' ] = $ gfxes ['primary ' ] ?? '#6e0000 ' ;
35
- $ vars ['xshop-diff ' ] = getGrayscaleTextColor ($ gfxes ['primary ' ]) ?? '#6e0000 ' ;
36
- $ vars ['xshop-diff2 ' ] = getGrayscaleTextColor ($ gfxes ['secondary ' ]) ?? '#6e0000 ' ;
35
+ $ vars ['xshop-diff ' ] = getGrayscaleTextColor ($ gfxes ['primary ' ]) ?? '#6e0000 ' ;
36
+ $ vars ['xshop-diff2 ' ] = getGrayscaleTextColor ($ gfxes ['secondary ' ]) ?? '#6e0000 ' ;
37
37
$ vars ['xshop-secondary ' ] = $ gfxes ['secondary ' ] ?? '#ff0000 ' ;
38
38
$ vars ['xshop-text ' ] = $ gfxes ['text ' ] ?? '#111111 ' ;
39
39
$ vars ['xshop-border-radius ' ] = $ gfxes ['border-radius ' ] ?? '7px ' ;
@@ -43,21 +43,23 @@ public function handle()
43
43
// prepare client.scss and add gfx variable
44
44
$ js = "// PLEASE DO NOT EDIT THIS FILE, \n// IF YOU WANT ADD ANY CODE CREATE NEW JS INTO client-custom \n import axios from 'axios'; \n window.axios = axios; \n \n window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; " . PHP_EOL ;
45
45
$ variables = "// PLEASE DO NOT EDIT THIS FILE, \n// IF YOU WANT ADD ANY CODE CREATE NEW SCSS INTO client-custom " . PHP_EOL ;
46
+ $ appVariables = '' ;
46
47
foreach ($ vars as $ k => $ var ) {
47
- $ variables .= '$ ' . "$ k: $ var; " . PHP_EOL ;
48
+ $ appVariables .= '$ ' . "$ k: $ var; " . PHP_EOL ;
48
49
}
49
- $ variables .= ":root{ " . PHP_EOL ;
50
+ $ appVariables .= ":root{ " . PHP_EOL ;
50
51
foreach ($ vars as $ k => $ var ) {
51
- $ variables .= "-- $ k: $ var; " . PHP_EOL ;
52
+ $ appVariables .= "-- $ k: $ var; " . PHP_EOL ;
52
53
}
53
- $ variables .= "} " . PHP_EOL . PHP_EOL ;
54
+ $ appVariables .= "} " . PHP_EOL . PHP_EOL ;
54
55
56
+ file_put_contents (resource_path () . '/sass/client-custom/_app_variables.scss ' , $ appVariables );
55
57
// add custom scss and js
56
58
$ files = File::allFiles (resource_path () . '/sass/client-custom ' );
57
59
58
60
foreach ($ files as $ file ) {
59
61
if ($ file ->getType () == 'file ' && $ file ->getExtension () == 'scss ' ) {
60
- $ variables .= '@import "client-custom/ ' .
62
+ $ variables .= '@use "client-custom/ ' .
61
63
substr (trim ($ file ->getBasename (), '_ ' ), 0 , -5 )
62
64
. '"; ' . PHP_EOL ;
63
65
}
@@ -74,18 +76,28 @@ public function handle()
74
76
}
75
77
// add parts scss & js
76
78
foreach (Part::distinct ()->get () as $ part ) {
77
- if (filesize (__DIR__ . '/../../../resources/views/segments/ ' . $ part ->segment . '/ ' . $ part ->part .'/ ' . $ part ->part . '.scss ' ) > 10 ) {
78
- $ variables .= '@import "../views/segments/ ' . $ part ->segment . '/ '
79
+ if (filesize (__DIR__ . '/../../../resources/views/segments/ ' . $ part ->segment . '/ ' . $ part ->part . '/ ' . $ part ->part . '.scss ' ) > 10 ) {
80
+ $ variables .= '@use "../views/segments/ ' . $ part ->segment . '/ '
79
81
. $ part ->part . '/ ' . $ part ->part . '"; ' . PHP_EOL ;
80
82
}
81
- if (filesize (__DIR__ . '/../../../resources/views/segments/ ' . $ part ->segment . '/ ' . $ part ->part .'/ ' . $ part ->part . '.js ' ) > 10 ){
83
+ if (filesize (__DIR__ . '/../../../resources/views/segments/ ' . $ part ->segment . '/ ' . $ part ->part . '/ ' . $ part ->part . '.js ' ) > 10 ) {
82
84
$ js .= 'import "../views/segments/ ' . $ part ->segment . '/ '
83
85
. $ part ->part . '/ ' . $ part ->part . '.js"; ' . PHP_EOL ;
84
86
}
85
87
}
86
88
87
89
// save scss
88
- file_put_contents (resource_path () . '/sass/client.scss ' , $ variables );
89
- file_put_contents (resource_path () . '/js/client.js ' , $ js );
90
+ file_put_contents (resource_path () . '/sass/client.scss ' , $ this ->removeDuplicateLines ($ variables ));
91
+ file_put_contents (resource_path () . '/js/client.js ' , $ this ->removeDuplicateLines ( $ js ));
92
+ }
93
+
94
+
95
+ // remove duplicate lines
96
+ private function removeDuplicateLines ($ text )
97
+ {
98
+ $ lines = explode ("\n" , $ text );
99
+ $ uniqueLines = array_unique ($ lines );
100
+ $ uniqueText = implode ("\n" , $ uniqueLines );
101
+ return $ uniqueText ;
90
102
}
91
103
}
0 commit comments