Browse Source

Added support for trianglifying the homepage.

remotes/ullbergm/master v1.0.0
Magnus Ullberg 7 years ago
parent
commit
6a7273a479
  1. 7
      app/Providers/AppServiceProvider.php
  2. 13
      database/seeds/SettingsSeeder.php
  3. 1
      public/js/trianglify.min.js
  4. 24
      resources/views/app.blade.php

7
app/Providers/AppServiceProvider.php

@ -17,6 +17,7 @@ class AppServiceProvider extends ServiceProvider
public function boot()
{
$alt_bg = '';
$trianglify = '';
if(!is_file(base_path('.env'))) {
touch(base_path('.env'));
@ -32,7 +33,9 @@ class AppServiceProvider extends ServiceProvider
}
if(is_file(database_path('app.sqlite'))) {
if(Schema::hasTable('settings')) {
if($bg_image = Setting::fetch('background_image')) {
if(Setting::fetch('trianglify')) {
$trianglify = '<script>addTriangleTo(app);</script>';
} else if($bg_image = Setting::fetch('background_image')) {
$alt_bg = ' style="background-image: url(/storage/'.$bg_image.')"';
}
@ -53,7 +56,7 @@ class AppServiceProvider extends ServiceProvider
Artisan::call('storage:link');
}
view()->share('alt_bg', $alt_bg);
view()->share('trianglify', $trianglify);
}
/**

13
database/seeds/SettingsSeeder.php

@ -138,6 +138,19 @@ class SettingsSeeder extends Seeder
$setting->save();
}
if(!$setting = Setting::find(6)) {
$setting = new Setting;
$setting->id = 6;
$setting->group_id = 2;
$setting->key = 'trianglify';
$setting->type = 'boolean';
$setting->label = 'app.settings.trianglify';
$setting->save();
} else {
$setting->label = 'app.settings.trianglify';
$setting->save();
}
}
}

1
public/js/trianglify.min.js

File diff suppressed because one or more lines are too long

24
resources/views/app.blade.php

@ -91,6 +91,30 @@
<script>!window.jQuery && document.write('<script src="/js/jquery-3.3.1.min.js"><\/script>')</script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script src="/js/app.js?v=2"></script>
<script src="/js/trianglify.min.js"></script>
<script>
function addTriangleTo(target) {
var dimensions = target.getClientRects()[0];
var pattern = Trianglify({
width: dimensions.width,
height: dimensions.height
});
target.style['background-image'] = 'url(' + pattern.png() + ')';
target.style['background-size'] = 'cover';
target.style['-webkit-background-size'] = 'cover';
target.style['-moz-background-size'] = 'cover';
target.style['-o-background-size'] = 'cover';
}
var resizeTimer;
$(window).on('resize', function(e) {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function() {
addTriangleTo(app);
}, 400);
});
</script>
{!! $trianglify !!}
@yield('scripts')
</body>

Loading…
Cancel
Save