Skip to content

Commit 32a7961

Browse files
committed
Refactored code
1 parent 59ce6ed commit 32a7961

File tree

12 files changed

+327
-351
lines changed

12 files changed

+327
-351
lines changed

app/Http/Controllers/UserController.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public function littlelink(request $request)
100100

101101
$links = DB::table('links')->join('buttons', 'buttons.id', '=', 'links.button_id')->select('links.link', 'links.id', 'links.button_id', 'links.title', 'links.custom_css', 'links.custom_icon', 'buttons.name')->where('user_id', $id)->orderBy('up_link', 'asc')->orderBy('order', 'asc')->get();
102102

103-
return view('littlelink', ['userinfo' => $userinfo, 'information' => $information, 'links' => $links, 'littlelink_name' => $littlelink_name]);
103+
return view('linkstack.linkstack', ['userinfo' => $userinfo, 'information' => $information, 'links' => $links, 'littlelink_name' => $littlelink_name]);
104104
}
105105

106106
//Redirect to user page
@@ -135,7 +135,7 @@ public function littlelinkhome(request $request)
135135

136136
$links = DB::table('links')->join('buttons', 'buttons.id', '=', 'links.button_id')->select('links.link', 'links.id', 'links.button_id', 'links.title', 'links.custom_css', 'links.custom_icon', 'buttons.name')->where('user_id', $id)->orderBy('up_link', 'asc')->orderBy('order', 'asc')->get();
137137

138-
return view('littlelink', ['userinfo' => $userinfo, 'information' => $information, 'links' => $links, 'littlelink_name' => $littlelink_name]);
138+
return view('linkstack.linkstack', ['userinfo' => $userinfo, 'information' => $information, 'links' => $links, 'littlelink_name' => $littlelink_name]);
139139
}
140140

141141
//Show add/update form
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<!-- Your Image Here -->
2+
@if(file_exists(base_path(findAvatar($userinfo->id))))
3+
<img alt="avatar" class="rounded-avatar fadein" src="{{ url(findAvatar($userinfo->id)) }}" height="128px" width="128px" style="object-fit: cover;">
4+
@elseif(file_exists(base_path("assets/linkstack/images/").findFile('avatar')))
5+
<img alt="avatar" class="fadein" src="{{ url("assets/linkstack/images/")."/".findFile('avatar') }}" height="128px" width="128px" style="object-fit: cover;">
6+
@else
7+
<img alt="avatar" class="fadein" src="{{ asset('assets/linkstack/images/logo.svg') }}" height="128px" style="width:auto;min-width:128px;object-fit: cover;">
8+
@endif
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<!-- Short Bio -->
2+
<style>.description-parent * {margin-bottom: 1em;}.description-parent {padding-bottom: 30px;}</style>
3+
<center><div class="fadein description-parent"><p class="fadein">@if(env('ALLOW_USER_HTML') === true){!! $info->littlelink_description !!}@else{{ $info->littlelink_description }}@endif</p></div></center>
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<!-- Buttons -->
2+
@php $initial = 1; @endphp
3+
4+
@foreach($links as $link)
5+
@php $linkName = str_replace('default ','',$link->title) @endphp
6+
@switch($link->name)
7+
@case('icon')
8+
@break
9+
@case('phone')
10+
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-default button button-hover icon-hover" rel="noopener noreferrer nofollow noindex" href="{{ route('clickNumber') . '/' . $link->id . "?" . $link->link }}"><img alt="{{ $link->name }}" class="icon hvr-icon" src="@if(theme('use_custom_icons') == "true"){{ url('themes/' . $GLOBALS['themeName'] . '/extra/custom-icons')}}/phone{{theme('custom_icon_extension')}} @else{{ asset('\/assets/linkstack/icons\/')}}phone.svg @endif"></i>{{ $link->title }}</a></div>
11+
@break
12+
@case('default email')
13+
@case('default email_alt')
14+
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-default button button-hover icon-hover" rel="noopener noreferrer nofollow noindex" href="{{ route('clickNumber') . '/' . $link->id . "?" . $link->link }}"><img alt="email" class="icon hvr-icon" src="@if(theme('use_custom_icons') == "true"){{ url('themes/' . $GLOBALS['themeName'] . '/extra/custom-icons')}}/email{{theme('custom_icon_extension')}} @else{{ asset('\/assets/linkstack/icons\/')}}email.svg @endif"></i>{{ $link->title }}</a></div>
15+
@break
16+
@case('buy me a coffee')
17+
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-coffee button button-hover icon-hover" rel="noopener noreferrer nofollow noindex" href="{{ route('clickNumber') . '/' . $link->id . "?" . $link->link }}" @if(theme('open_links_in_same_tab') != "true")target="_blank"@endif ><img alt="{{ $link->name }}" class="icon hvr-icon" src="@if(theme('use_custom_icons') == "true"){{ url('themes/' . $GLOBALS['themeName'] . '/extra/custom-icons')}}/coffee{{theme('custom_icon_extension')}} @else{{ asset('\/assets/linkstack/icons\/')}}coffee.svg @endif">Buy me a Coffee</a></div>
18+
@break
19+
@case('space')
20+
@php $title = $link->title; if (is_numeric($title)) { echo str_repeat("<br>", $title < 10 ? $title : 10); } else { echo "<br><br><br>"; } @endphp
21+
@break
22+
@case('heading')
23+
<div class="fadein"><h2>{{ $link->title }}</h2></div>
24+
@break
25+
@case('text')
26+
<div class="fadein"><span style="">@if(env('ALLOW_USER_HTML') === true){!! $link->title !!}@else{{ $link->title }}@endif</span></div>
27+
@break
28+
@case('vcard')
29+
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-default button button-hover icon-hover" rel="noopener noreferrer nofollow noindex" href="{{ route('vcard') . '/' . $link->id }}"><img alt="{{ $link->name }}" class="icon hvr-icon" src="@if(theme('use_custom_icons') == "true"){{ url('themes/' . $GLOBALS['themeName'] . '/extra/custom-icons')}}/vcard{{theme('custom_icon_extension')}} @else{{ asset('\/assets/linkstack/icons\/')}}vcard.svg @endif"></i>{{ $link->title }}</a></div>
30+
@break
31+
@case('custom')
32+
@if($link->custom_css === "" or $link->custom_css === "NULL" or (theme('allow_custom_buttons') == "false"))
33+
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-{{ $link->name }} button button-hover icon-hover" rel="noopener noreferrer nofollow noindex" href="{{ route('clickNumber') . '/' . $link->id . "?" . $link->link }}" @if(theme('open_links_in_same_tab') != "true")target="_blank"@endif ><i style="color: {{$link->custom_icon}}" class="icon hvr-icon fa {{$link->custom_icon}}"></i>{{ $link->title }}</a></div>
34+
@break
35+
@elseif($link->custom_css != "")
36+
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-hover icon-hover" style="{{ $link->custom_css }}" rel="noopener noreferrer nofollow noindex" href="{{ route('clickNumber') . '/' . $link->id . "?" . $link->link }}" @if(theme('open_links_in_same_tab') != "true")target="_blank"@endif ><i style="color: {{$link->custom_icon}}" class="icon hvr-icon fa {{$link->custom_icon}}"></i>{{ $link->title }}</a></div>
37+
@break
38+
@endif
39+
@case('custom_website')
40+
@if($link->custom_css === "" or $link->custom_css === "NULL" or (theme('allow_custom_buttons') == "false"))
41+
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-custom_website button button-hover icon-hover" rel="noopener noreferrer nofollow noindex" href="{{ route('clickNumber') . '/' . $link->id . "?" . $link->link }}" @if(theme('open_links_in_same_tab') != "true")target="_blank"@endif ><img alt="{{ $link->name }}" class="icon hvr-icon" src="@if(file_exists(base_path("assets/favicon/icons/").localIcon($link->id))){{url('assets/favicon/icons/'.localIcon($link->id))}}@else{{getFavIcon($link->id)}}@endif" onerror="this.onerror=null; this.src='{{asset('assets/linkstack/icons/website.svg')}}';">{{ $link->title }}</a></div>
42+
@break
43+
@elseif($link->custom_css != "")
44+
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-hover icon-hover" style="{{ $link->custom_css }}" rel="noopener noreferrer nofollow noindex" href="{{ route('clickNumber') . '/' . $link->id . "?" . $link->link }}" @if(theme('open_links_in_same_tab') != "true")target="_blank"@endif ><img alt="{{ $link->name }}" class="icon hvr-icon" src="@if(file_exists(base_path("assets/favicon/icons/").localIcon($link->id))){{url('assets/favicon/icons/'.localIcon($link->id))}}@else{{getFavIcon($link->id)}}@endif" onerror="this.onerror=null; this.src='{{asset('assets/linkstack/icons/website.svg')}}';">{{ $link->title }}</a></div>
45+
@break
46+
@endif
47+
@default
48+
<?php include base_path('config/button-names.php'); $newLinkName = $linkName; $isNewName = "false"; foreach($buttonNames as $key => $value) { if($newLinkName == $key) { $newLinkName = $value; $isNewName = "true"; }} ?>
49+
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-{{ $link->name }} button button-hover icon-hover" rel="noopener noreferrer nofollow noindex" href="{{ route('clickNumber') . '/' . $link->id . "?" . $link->link }}" @if(theme('open_links_in_same_tab') != "true")target="_blank"@endif ><img alt="{{ $link->name }}" class="icon hvr-icon" src="@if(theme('use_custom_icons') == "true"){{ url('themes/' . $GLOBALS['themeName'] . '/extra/custom-icons')}}/{{$link->name}}{{theme('custom_icon_extension')}} @else{{ asset('\/assets/linkstack/icons\/') . $link->name }}.svg @endif">@if($isNewName == "true"){{ ucfirst($newLinkName) }}@else{{ ucfirst($newLinkName) }}@endif</a></div>
50+
@endswitch
51+
@endforeach
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<?php use App\Models\UserData; ?>
2+
<!-- Your Name -->
3+
<h1 class="fadein">{{ $info->name }}@if(($userinfo->role == 'vip' or $userinfo->role == 'admin') and theme('disable_verification_badge') != "true" and env('HIDE_VERIFICATION_CHECKMARK') != true and UserData::getData($userinfo->id, 'checkmark') != false)<span title="{{__('messages.Verified user')}}">@include('components.verify-svg')@endif</span></h1>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<!-- Icons -->
2+
@php $icons = DB::table('links')->where('user_id', $userinfo->id)->where('button_id', 94)->get(); @endphp
3+
@if(count($icons) > 0)
4+
<div class="row fadein social-icon-div">
5+
@foreach($icons as $icon)
6+
<a class="social-hover social-link" href="{{ route('clickNumber') . '/' . $icon->id. "?" . $icon->link}}" title="{{ucfirst($icon->title)}}" aria-label="{{ucfirst($icon->title)}}" @if(theme('open_links_in_same_tab') != "true")target="_blank"@endif><i class="social-icon fa-brands fa-{{$icon->title}}"></i></a>
7+
@endforeach
8+
</div>
9+
@endif
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<!DOCTYPE html>
2+
@include('layouts.lang')
3+
<head>
4+
@include('linkstack.modules.meta')
5+
@include('linkstack.modules.theme')
6+
@stack('linkstack-head')
7+
@include('linkstack.modules.assets')
8+
@foreach($information as $info)
9+
@stack('linkstack-head-end')
10+
</head>
11+
<body>
12+
@stack('linkstack-body-start')
13+
@include('linkstack.modules.share-button')
14+
@include('components.report-icon')
15+
<div class="container">
16+
<div class="row">
17+
<div class="column" style="margin-top: 5%">
18+
@include('linkstack.elements.avatar')
19+
@include('linkstack.elements.heading')
20+
@include('linkstack.elements.bio')
21+
@include('linkstack.elements.icons')
22+
@endforeach
23+
@include('linkstack.elements.buttons')
24+
@include('layouts.footer')
25+
</div>
26+
</div>
27+
</div>
28+
@stack('linkstack-body-end')
29+
</body>
30+
</html>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<!-- Custom icons font-awesome -->
2+
<style>{!! str_replace('../', 'studio/', file_get_contents(base_path("assets/external-dependencies/fontawesome.css"))) !!}</style>
3+
4+
@include('layouts.fonts')
5+
6+
<style>{!! file_get_contents(base_path("assets/linkstack/css/normalize.css")) !!}</style>
7+
<style>{!! file_get_contents(base_path("assets/linkstack/css/animate.css")) !!}</style>
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
<meta charset="utf-8">
2+
3+
{{-- Fediverse rel="me" links --}}
4+
@php
5+
$relMe = "mastodon, firefish, streams";
6+
$relMeList = explode(', ', $relMe);
7+
@endphp
8+
9+
@foreach($links as $link)
10+
@if(in_array($link->name, $relMeList))
11+
<link href="{{$link->link}}" rel="me">
12+
@endif
13+
@endforeach
14+
15+
@if(env('CUSTOM_META_TAGS') == 'true')
16+
@include('layouts.meta')
17+
@else
18+
<meta name="description" content="{{ $userinfo->littlelink_description }}">
19+
<meta name="author" content="{{ $userinfo->name }}">
20+
<meta name="viewport" content="width=device-width, initial-scale=1">
21+
@endif
22+
23+
<!--#### BEGIN Meta Tags social media preview images ####-->
24+
<!-- This shows a preview for title, description and avatar image of users profiles if shared on social media sites -->
25+
26+
<!-- Facebook Meta Tags -->
27+
<meta property="og:url" content="{{ url('') }}/{{ "@" . $littlelink_name }}">
28+
<meta property="og:type" content="website">
29+
<meta property="og:title" content="{{ $userinfo->name }}">
30+
<meta property="og:description" content="{{ strip_tags($userinfo->littlelink_description) }}">
31+
@if(file_exists(base_path(findAvatar($userinfo->id))))
32+
<meta property="og:image" content="{{ url(findAvatar($userinfo->id)) }}">
33+
@elseif(file_exists(base_path("assets/linkstack/images/").findFile('avatar')))
34+
<meta property="og:image" content="{{ url("assets/linkstack/images/")."/".findFile('avatar') }}">
35+
@else
36+
<meta property="og:image" content="{{ asset('assets/linkstack/images/logo.svg') }}">
37+
@endif
38+
39+
<!-- Twitter Meta Tags -->
40+
<meta name="twitter:card" content="summary_large_image">
41+
<meta property="twitter:domain" content="{{ url('') }}/{{ "@" . $littlelink_name }}">
42+
<meta property="twitter:url" content="{{ url('') }}/{{ "@" . $littlelink_name }}">
43+
<meta name="twitter:title" content="{{ $userinfo->littlelink_name }}">
44+
<meta name="twitter:description" content="{{ strip_tags($userinfo->littlelink_description) }}">
45+
@if(file_exists(base_path(findAvatar($userinfo->id))))
46+
<meta name="twitter:image" content="{{ url(findAvatar($userinfo->id)) }}">
47+
@elseif(file_exists(base_path("assets/linkstack/images/").findFile('avatar')))
48+
<meta name="twitter:image" content="{{ url("assets/linkstack/images/")."/".findFile('avatar') }}">
49+
@else
50+
<meta name="twitter:image" content="{{ asset('assets/linkstack/images/logo.svg') }}">
51+
@endif
52+
53+
<!--#### END Meta Tags social media preview images ####-->
54+
55+
@if(config('advanced-config.linkstack_title') != '' and env('HOME_URL') === '')
56+
<title>{{ $userinfo->name }} {{ config('advanced-config.linkstack_title') }}</title>
57+
@elseif(env('CUSTOM_META_TAGS') == 'true' and config('advanced-config.title') != '')
58+
<title>{{ config('advanced-config.title') }}</title>
59+
@elseif(env('HOME_URL') != '')
60+
<title>{{ $userinfo->name }}</title>
61+
@else
62+
<title>{{ $userinfo->name }} 🔗 {{ config('app.name') }} </title>
63+
@endif
64+
65+
@include('components.favicon')
66+
@include('components.favicon-extension')
67+
68+
@if(file_exists(base_path("assets/linkstack/images/").findFile('favicon')))
69+
<link rel="icon" type="image/png" href="{{ asset('assets/linkstack/images/'.findFile('favicon')) }}">
70+
@else
71+
<link rel="icon" type="image/svg+xml" href="{{ asset('assets/linkstack/images/logo.svg') }}">
72+
@endif
73+
74+
@include('layouts.analytics')
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?php use App\Models\UserData; ?>
2+
3+
@php
4+
$ShowShrBtn = config('advanced-config.display_share_button');
5+
6+
if ($ShowShrBtn === '') {
7+
$ShowShrBtn = 'true';
8+
} elseif ($ShowShrBtn === 'false') {
9+
$ShowShrBtn = 'false';
10+
} elseif ($ShowShrBtn === 'user') {
11+
$ShowShrBtn = Auth::user()->littlelink_name ? 'true' : 'false';
12+
} else {
13+
$ShowShrBtn = 'true';
14+
}
15+
16+
$DisplayShowShrBtn = $ShowShrBtn === 'true' && UserData::getData($userinfo->id, 'disable-sharebtn') !== "true";
17+
@endphp
18+
19+
<div align="right" @if($DisplayShowShrBtn == false) style="visibility:hidden" @endif class="sharediv">
20+
<div>
21+
<span class="sharebutton button-hover icon-hover share-button" data-share="{{url()->current()}}" tabindex="0" role="button" aria-label="{{__('messages.Share this page')}}">
22+
<i style="color: black;" class="fa-solid fa-share sharebutton-img share-icon hvr-icon"></i>
23+
<span class="sharebutton-mb">{{__('messages.Share')}}</span>
24+
</span>
25+
</div>
26+
</div>
27+
<span class="copy-icon" tabindex="0" role="button" aria-label="{{__('messages.Copy URL to clipboard')}}"></span>
28+
29+
@if($DisplayShowShrBtn == true)
30+
<script>const shareButtons=document.querySelectorAll(".share-button");shareButtons.forEach((e=>{e.addEventListener("click",(()=>{const r=e.dataset.share;navigator.share?navigator.share({title:"{{__('messages.Share this page')}}",url:r}).catch((e=>console.error("Error:",e))):navigator.clipboard.writeText(r).then((()=>{alert("{{__('messages.URL has been copied to your clipboard!')}}")})).catch((e=>{alert("Error",e)}))}))}));</script>
31+
@endif

0 commit comments

Comments
 (0)