Browse Source

Update labs settings view, add support for metro 2.0 dark mode

Daniel Supernault 3 years ago
parent
commit
aa4b011e25
1 changed files with 12 additions and 254 deletions
  1. 12 254
      resources/views/settings/labs.blade.php

+ 12 - 254
resources/views/settings/labs.blade.php

@@ -6,14 +6,7 @@
 		<p class="lead">Experimental features</p>
 	</div>
 	<hr>
-	<div class="alert alert-warning px-3 h6">
-		We are deprecating Labs in a future version. Some features will no longer be supported. For more information, click <a href="{{route('help.labs-deprecation')}}" class="font-weight-bold">here</a>.
-	</div>
-	<div class="py-3">
-		<p class="font-weight-bold text-muted text-center">UI</p>
-		<hr>
-	</div>
-	<form method="post">
+	<form method="post" id="form">
 		@csrf
 		<div class="form-check pb-3">
 			<input class="form-check-input" type="checkbox" name="dark_mode" id="dark_mode" {{request()->hasCookie('dark-mode') ? 'checked':''}}>
@@ -22,265 +15,30 @@
 			</label>
 			<p class="text-muted small help-text">Use dark mode theme.</p>
 		</div>
-		@if(!now()->gt(now()->parse('2021-06-14 07:22:46')))
-			@if($profile->profile_layout == 'moment')
-			<div class="form-check pb-3">
-				<input class="form-check-input" type="checkbox" name="profile_layout" id="profile_layout" {{$profile->profile_layout == 'moment' ? 'checked':''}} value="{{$profile->profile_layout}}">
-				<label class="form-check-label font-weight-bold" for="profile_layout">
-					{{__('Use MomentUI for posts and your profile')}}
-				</label>
-				<p class="text-muted small help-text">MomentUI offers an alternative layout for posts and your profile.</p>
-			</div>
-			<div class="form-check pb-3">
-				<label class="form-check-label font-weight-bold mb-3" for="profile_layout">
-					{{__('MomentUI Profile Header Color')}}
-				</label>
-				<div class="row">
-					<div class="col-6 col-sm-3 pb-5">
-						<div class="">
-							<p class="form-check-label">
-								<div class="bg-pixelfed rounded-circle box-shadow" style="width:60px; height:60px"></div>
-							</p>
-							<p class="mb-0 small text-muted">Default</p>
-							<input class="form-check-input mx-0 pl-0" type="radio" name="moment_bg" value="default" {{$profile->header_bg == 'default' || !$profile->header_bg ? 'checked':''}}>
-						</div>
-					</div>
-					<div class="col-6 col-sm-3 pb-5">
-						<div class="">
-							<p class="form-check-label">
-								<div class="bg-moment-azure rounded-circle box-shadow" style="width:60px; height:60px"></div>
-							</p>
-							<p class="mb-0 small text-muted">Azure</p>
-							<input class="form-check-input mx-0" type="radio" name="moment_bg" value="azure" {{$profile->header_bg == 'azure' ? 'checked':''}}>
-						</div>
-					</div>
-					<div class="col-6 col-sm-3 pb-5">
-						<div class="">
-							<p class="form-check-label">
-								<div class="bg-moment-passion rounded-circle box-shadow" style="width:60px; height:60px"></div>
-							</p>
-							<p class="mb-0 small text-muted">Passion</p>
-							<input class="form-check-input mx-0" type="radio" name="moment_bg" value="passion" {{$profile->header_bg == 'passion' ? 'checked':''}}>
-						</div>
-					</div>
-					<div class="col-6 col-sm-3 pb-5">
-						<div class="">
-							<p class="form-check-label">
-								<div class="bg-moment-reef rounded-circle box-shadow" style="width:60px; height:60px"></div>
-							</p>
-							<p class="mb-0 small text-muted">Reef</p>
-							<input class="form-check-input mx-0" type="radio" name="moment_bg" value="reef" {{$profile->header_bg == 'reef' ? 'checked':''}}>
-						</div>
-					</div>
-					<div class="col-6 col-sm-3 pb-5">
-						<div class="">
-							<p class="form-check-label">
-								<div class="bg-moment-lush rounded-circle box-shadow" style="width:60px; height:60px"></div>
-							</p>
-							<p class="mb-0 small text-muted">Lush</p>
-							<input class="form-check-input mx-0" type="radio" name="moment_bg" value="lush" {{$profile->header_bg == 'lush' ? 'checked':''}}>
-						</div>
-					</div>
-					<div class="col-6 col-sm-3 pb-5">
-						<div class="">
-							<p class="form-check-label">
-								<div class="bg-moment-neon rounded-circle box-shadow" style="width:60px; height:60px"></div>
-							</p>
-							<p class="mb-0 small text-muted">Neon</p>
-							<input class="form-check-input mx-0" type="radio" name="moment_bg" value="neon" {{$profile->header_bg == 'neon' ? 'checked':''}}>
-						</div>
-					</div>
-					<div class="col-6 col-sm-3 pb-5">
-						<div class="">
-							<p class="form-check-label">
-								<div class="bg-moment-flare rounded-circle box-shadow" style="width:60px; height:60px"></div>
-							</p>
-							<p class="mb-0 small text-muted">Flare</p>
-							<input class="form-check-input mx-0" type="radio" name="moment_bg" value="flare" {{$profile->header_bg == 'flare' ? 'checked':''}}>
-						</div>
-					</div>
-					<div class="col-6 col-sm-3 pb-5">
-						<div class="">
-							<p class="form-check-label">
-								<div class="bg-moment-morning rounded-circle box-shadow" style="width:60px; height:60px"></div>
-							</p>
-							<p class="mb-0 small text-muted">Morning</p>
-							<input class="form-check-input mx-0" type="radio" name="moment_bg" value="morning" {{$profile->header_bg == 'morning' ? 'checked':''}}>
-						</div>
-					</div>
-					<div class="col-6 col-sm-3 pb-5">
-						<div class="">
-							<p class="form-check-label">
-								<div class="bg-moment-tranquil rounded-circle box-shadow" style="width:60px; height:60px"></div>
-							</p>
-							<p class="mb-0 small text-muted">Tranquil</p>
-							<input class="form-check-input mx-0" type="radio" name="moment_bg" value="tranquil" {{$profile->header_bg == 'tranquil' ? 'checked':''}}>
-						</div>
-					</div>
-					<div class="col-6 col-sm-3 pb-5">
-						<div class="">
-							<p class="form-check-label">
-								<div class="bg-moment-mauve rounded-circle box-shadow" style="width:60px; height:60px"></div>
-							</p>
-							<p class="mb-0 small text-muted">Mauve</p>
-							<input class="form-check-input mx-0" type="radio" name="moment_bg" value="mauve" {{$profile->header_bg == 'mauve' ? 'checked':''}}>
-						</div>
-					</div>
-					<div class="col-6 col-sm-3 pb-5">
-						<div class="">
-							<p class="form-check-label">
-								<div class="bg-moment-argon rounded-circle box-shadow" style="width:60px; height:60px"></div>
-							</p>
-							<p class="mb-0 small text-muted">Argon</p>
-							<input class="form-check-input mx-0" type="radio" name="moment_bg" value="argon" {{$profile->header_bg == 'argon' ? 'checked':''}}>
-						</div>
-					</div>
-					<div class="col-6 col-sm-3 pb-5">
-						<div class="">
-							<p class="form-check-label">
-								<div class="bg-moment-royal rounded-circle box-shadow" style="width:60px; height:60px"></div>
-							</p>
-							<p class="mb-0 small text-muted">Royal</p>
-							<input class="form-check-input mx-0" type="radio" name="moment_bg" value="royal" {{$profile->header_bg == 'royal' ? 'checked':''}}>
-						</div>
-					</div>
-				</div>
-				<p class="text-muted small help-text">Set your MomentUI profile background color. Adding a custom header image will be supported in a future version.</p>
-			</div>
-			@else
-			<div class="form-check pb-3">
-				<input class="form-check-input" type="checkbox" name="profile_layout" id="profile_layout" {{$profile->profile_layout == 'moment' ? 'checked':''}} value="{{$profile->profile_layout}}" disabled>
-				<label class="form-check-label font-weight-bold" for="profile_layout">
-					{{__('Use MomentUI for posts and your profile')}}
-				</label>
-				<p class="text-muted small help-text"><span class="badge badge-secondary">DEPRECATED</span> MomentUI offers an alternative layout for posts and your profile.</p>
-			</div>
-			@endif
-			
-			@if(config('exp.rec') == true)
-			<div class="form-check pb-3">
-				<input class="form-check-input" type="checkbox" name="show_suggestions" id="show_suggestions">
-				<label class="form-check-label font-weight-bold" for="show_suggestions">
-					{{__('Profile Suggestions')}}
-				</label>
-				<p class="text-muted small help-text">Show Profile Suggestions.</p>
-			</div>
-			@endif
-			<div class="form-check pb-3">
-				<input class="form-check-input" type="checkbox" name="show_readmore" id="show_readmore">
-				<label class="form-check-label font-weight-bold" for="show_readmore">
-					{{__('Use Read More')}}
-				</label>
-				<p class="text-muted small help-text">Collapses captions/comments more than 3 lines.</p>
-			</div>
-			<div class="form-check pb-3">
-				<input class="form-check-input" type="checkbox" id="distraction_free" disabled>
-				<label class="form-check-label font-weight-bold">Simple Mode (Timelines only)</label>
-				<p class="text-muted small help-text"><span class="badge badge-secondary">REMOVED</span> An experimental content-first timeline layout</p>
-			</div>
-			<div class="form-check pb-3">
-				<input class="form-check-input" type="checkbox" id="show_tips">
-				<label class="form-check-label font-weight-bold">Show Announcements</label>
-				<p class="text-muted small help-text">Show Announcements on Timelines (Desktop Only)</p>
-			</div>
-			<div class="form-check pb-3">
-				<input class="form-check-input" type="checkbox" id="force_metro">
-				<label class="form-check-label font-weight-bold">Force Metro Layout</label>
-				<p class="text-muted small help-text">Force MetroUI layout for profiles and posts.</p>
-			</div>
-			@if(config('exp.rec') == true)
-			<div class="py-3">
-				<p class="font-weight-bold text-muted text-center">Discovery</p>
-				<hr>
-			</div>
-			<div class="form-check pb-3">
-				<input class="form-check-input" type="checkbox" name="profile_suggestions" id="profile_suggestions" {{$profile->is_suggestable ? 'checked' : ''}}>
-				<label class="form-check-label font-weight-bold" for="profile_suggestions">
-					{{__('Visible on Profile Suggestions')}}
-				</label>
-				<p class="text-muted small help-text">Allow your profile to be listed in Profile Suggestions.</p>
-			</div>
-			@endif
-		@endif
+
 		<div class="form-group row">
 			<div class="col-12">
 				<hr>
-				<button type="submit" class="btn btn-primary font-weight-bold py-1 btn-block">Save Changes</button>
+				<button type="button" class="btn btn-primary font-weight-bold py-1 btn-block" id="save-btn">Save Changes</button>
 			</div>
 		</div>
 	</form>
 	@endsection
 
 @push('scripts')
-
-@if(!now()->gt(now()->parse('2021-06-14 07:22:46')))
 <script type="text/javascript">
 $(document).ready(function() {
-	let showSuggestions = localStorage.getItem('pf_metro_ui.exp.rec') == 'false' ? false : true;
-	let showReadMore = localStorage.getItem('pf_metro_ui.exp.rm') == 'false' ? false : true;
-	let distractionFree = localStorage.getItem('pf_metro_ui.exp.df') == 'true' ? true : false;
-	let forceMetro = localStorage.getItem('pf_metro_ui.exp.forceMetro') == 'true' ? true : false;
-
-	if(showSuggestions == true) {
-		$('#show_suggestions').attr('checked', true);
+	let darkMode = localStorage.getItem('pf_m2s.color-scheme') == 'dark' ? true : false;
+	if(darkMode == true) {
+		$('#dark_mode').attr('checked', true);
 	}
 
-	if(showReadMore == true) {
-		$('#show_readmore').attr('checked', true);
-	}
-
-	if(distractionFree == true) {
-		localStorage.removeItem('pf_metro_ui.exp.df');
-	}
-
-	if(localStorage.getItem('metro-tips') !== 'false') {
-		$('#show_tips').attr('checked', true);
-	}
-
-	if(forceMetro == true) {
-		$('#force_metro').attr('checked', true);
-	}
-
-	$('#show_suggestions').on('change', function(e) {
-		if(e.target.checked) {
-			localStorage.removeItem('pf_metro_ui.exp.rec');
-		} else {
-			localStorage.setItem('pf_metro_ui.exp.rec', false);
-		}
+	$('#save-btn').click(function() {
+		let darkMode = document.querySelector('#dark_mode').checked;
+		let colorScheme = darkMode ? 'dark' : 'light';
+		localStorage.setItem('pf_m2s.color-scheme', colorScheme);
+		$('#form').submit();
 	});
-
-	$('#show_readmore').on('change', function(e) {
-		if(e.target.checked) {
-			localStorage.removeItem('pf_metro_ui.exp.rm');
-		} else {
-			localStorage.setItem('pf_metro_ui.exp.rm', false);
-		}
-	});
-
-	$('#distraction_free').on('change', function(e) {
-		if(e.target.checked) {
-			localStorage.setItem('pf_metro_ui.exp.df', true);
-		} else {
-			localStorage.removeItem('pf_metro_ui.exp.df');
-		}
-	});
-
-	$('#show_tips').on('change', function(e) {
-		if(e.target.checked) {
-			localStorage.setItem('metro-tips', true);
-		} else {
-			localStorage.removeItem('metro-tips');
-		}
-	});
-
-	$('#force_metro').on('change', function(e) {
-		if(e.target.checked) {
-			localStorage.setItem('pf_metro_ui.exp.forceMetro', true);
-		} else {
-			localStorage.removeItem('pf_metro_ui.exp.forceMetro');
-		}
-	})
 });
 </script>
-@endif
-@endpush
+@endpush