Merge branch 'main' into bsky_button

This commit is contained in:
Julian Prieber 2023-09-13 13:48:36 +02:00 committed by GitHub
commit 7a75fc66d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 95 additions and 35 deletions

4
.env
View File

@ -52,7 +52,7 @@ MAINTENANCE_MODE=false
DB_CONNECTION=sqlite DB_CONNECTION=sqlite
#Mail Settings=LinkStack comes with a free to use built-in SMTP server for sending mail. You can leave this setting as is, if you wish to use this service please read our terms and conditions at llc-mail.tru.io. If you do not wish to use the built-in SMTP server, change the setting below. #Mail Settings=LinkStack comes with a free to use built-in SMTP server for sending mail. You can leave this setting as is, if you wish to use this service please read our terms and conditions at llc-mail.tru.io. If you do not wish to use the built-in SMTP server, change the setting below.
#=MAIL_MAILER either smtp or built-in. Make sure to change this setting if you want to add a custom SMTP server. #=MAIL_MAILER either smtp, sendmail or built-in. Make sure to change this setting if you want to add a custom SMTP server or use sendmail.
MAIL_MAILER=built-in MAIL_MAILER=built-in
MAIL_HOST= MAIL_HOST=
MAIL_PORT= MAIL_PORT=
@ -61,6 +61,8 @@ MAIL_PASSWORD=
MAIL_ENCRYPTION= MAIL_ENCRYPTION=
MAIL_FROM_ADDRESS= MAIL_FROM_ADDRESS=
MAIL_FROM_NAME="${APP_NAME}" MAIL_FROM_NAME="${APP_NAME}"
#= Set the path to sendmail binary and set options. Default is /usr/sbin/sendmail -bs
MAIL_SENDMAIL=
#Cache Settings=Completely optional. #Cache Settings=Completely optional.
MEMCACHED_HOST=127.0.0.1 MEMCACHED_HOST=127.0.0.1

View File

@ -441,6 +441,23 @@ button:hover,
filter: brightness(90%); filter: brightness(90%);
} }
/* Firefish */
.button.button-firefish {
color: #fff;
background-image: linear-gradient(
45deg,
#DB44DB,
1%,
#EC476D,
80%,
#F6AE4A
);
}
.button.button-firefish:hover,
.button.button-firefish:focus {
filter: brightness(90%);
}
/* Firefox */ /* Firefox */
.button.button-firefox { .button.button-firefox {
color: #FFFFFF; color: #FFFFFF;

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="firefish" xmlns="http://www.w3.org/2000/svg" width="40" height="40"
viewBox="0 0 40 40">
<defs>
<style>
.fishy {
fill: #fff;
}
</style>
</defs>
<path class="fishy"
d="m20.71,17.14H2.14c-1.18,0-2.14.96-2.14,2.14v18.57c0,1.18.96,2.14,2.14,2.14h18.57c1.18,0,2.14-.96,2.14-2.14v-18.57c0-1.18-.96-2.14-2.14-2.14Zm-15,17.14c-1.58,0-2.86-1.28-2.86-2.86s1.28-2.86,2.86-2.86,2.86,1.28,2.86,2.86-1.28,2.86-2.86,2.86Zm7.14,0c-1.58,0-2.86-1.28-2.86-2.86s1.28-2.86,2.86-2.86,2.86,1.28,2.86,2.86-1.28,2.86-2.86,2.86Z" />
<path class="fishy"
d="m20.71,17.14H2.14c-1.18,0-2.14.96-2.14,2.14v18.57c0,1.18.96,2.14,2.14,2.14h18.57c1.18,0,2.14-.96,2.14-2.14v-18.57c0-1.18-.96-2.14-2.14-2.14Zm-15,17.14c-1.58,0-2.86-1.28-2.86-2.86s1.28-2.86,2.86-2.86,2.86,1.28,2.86,2.86-1.28,2.86-2.86,2.86Zm7.14,0c-1.58,0-2.86-1.28-2.86-2.86s1.28-2.86,2.86-2.86,2.86,1.28,2.86,2.86-1.28,2.86-2.86,2.86Z" />
<path class="fishy"
d="m20.71,14.28h-9.82c-1.18,0-2.14-.96-2.14-2.14V2.32c0-1.91,2.31-2.86,3.66-1.51l9.82,9.82c1.35,1.35.39,3.66-1.51,3.66h0Z" />
<path class="fishy"
d="m37.83,31.43h-9.94c-1.2,0-2.17-.97-2.17-2.17v-9.94c0-1.93,2.34-2.9,3.7-1.53l9.94,9.94c1.37,1.37.4,3.7-1.53,3.7h0Z" />
<path class="fishy"
d="m37.83,14.28h-9.94c-1.2,0-2.17-.97-2.17-2.17V2.17c0-1.93,2.34-2.9,3.7-1.53l9.94,9.94c1.37,1.37.4,3.7-1.53,3.7h0Z" />
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

42
composer.lock generated
View File

@ -1874,24 +1874,24 @@
}, },
{ {
"name": "jeroendesloovere/vcard", "name": "jeroendesloovere/vcard",
"version": "v1.7.3", "version": "v1.7.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/jeroendesloovere/vcard.git", "url": "https://github.com/jeroendesloovere/vcard.git",
"reference": "2b8b6190c613d368b8cb6552e59cf6e6e7d0aea9" "reference": "11a1cc62ffc2074838b138e9ae0790951004dd8e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/jeroendesloovere/vcard/zipball/2b8b6190c613d368b8cb6552e59cf6e6e7d0aea9", "url": "https://api.github.com/repos/jeroendesloovere/vcard/zipball/11a1cc62ffc2074838b138e9ae0790951004dd8e",
"reference": "2b8b6190c613d368b8cb6552e59cf6e6e7d0aea9", "reference": "11a1cc62ffc2074838b138e9ae0790951004dd8e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"behat/transliterator": "~1.0", "behat/transliterator": "~1.0",
"php": ">=5.3.3" "php": ">=7.3.0"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "4.6.*" "phpunit/phpunit": "^9.3"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -1921,9 +1921,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/jeroendesloovere/vcard/issues", "issues": "https://github.com/jeroendesloovere/vcard/issues",
"source": "https://github.com/jeroendesloovere/vcard/tree/v1.7.3" "source": "https://github.com/jeroendesloovere/vcard/tree/v1.7.4"
}, },
"time": "2021-11-24T20:21:20+00:00" "time": "2023-09-07T19:46:46+00:00"
}, },
{ {
"name": "laravel/framework", "name": "laravel/framework",
@ -8906,16 +8906,16 @@
}, },
{ {
"name": "phpunit/php-code-coverage", "name": "phpunit/php-code-coverage",
"version": "9.2.27", "version": "9.2.28",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "b0a88255cb70d52653d80c890bd7f38740ea50d1" "reference": "7134a5ccaaf0f1c92a4f5501a6c9f98ac4dcc0ef"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/b0a88255cb70d52653d80c890bd7f38740ea50d1", "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7134a5ccaaf0f1c92a4f5501a6c9f98ac4dcc0ef",
"reference": "b0a88255cb70d52653d80c890bd7f38740ea50d1", "reference": "7134a5ccaaf0f1c92a4f5501a6c9f98ac4dcc0ef",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -8972,7 +8972,7 @@
"support": { "support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.27" "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.28"
}, },
"funding": [ "funding": [
{ {
@ -8980,7 +8980,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2023-07-26T13:44:30+00:00" "time": "2023-09-12T14:36:20+00:00"
}, },
{ {
"name": "phpunit/php-file-iterator", "name": "phpunit/php-file-iterator",
@ -9225,16 +9225,16 @@
}, },
{ {
"name": "phpunit/phpunit", "name": "phpunit/phpunit",
"version": "9.6.11", "version": "9.6.12",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git", "url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "810500e92855eba8a7a5319ae913be2da6f957b0" "reference": "a122c2ebd469b751d774aa0f613dc0d67697653f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/810500e92855eba8a7a5319ae913be2da6f957b0", "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a122c2ebd469b751d774aa0f613dc0d67697653f",
"reference": "810500e92855eba8a7a5319ae913be2da6f957b0", "reference": "a122c2ebd469b751d774aa0f613dc0d67697653f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -9249,7 +9249,7 @@
"phar-io/manifest": "^2.0.3", "phar-io/manifest": "^2.0.3",
"phar-io/version": "^3.0.2", "phar-io/version": "^3.0.2",
"php": ">=7.3", "php": ">=7.3",
"phpunit/php-code-coverage": "^9.2.13", "phpunit/php-code-coverage": "^9.2.28",
"phpunit/php-file-iterator": "^3.0.5", "phpunit/php-file-iterator": "^3.0.5",
"phpunit/php-invoker": "^3.1.1", "phpunit/php-invoker": "^3.1.1",
"phpunit/php-text-template": "^2.0.3", "phpunit/php-text-template": "^2.0.3",
@ -9308,7 +9308,7 @@
"support": { "support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues", "issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy", "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.11" "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.12"
}, },
"funding": [ "funding": [
{ {
@ -9324,7 +9324,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2023-08-19T07:10:56+00:00" "time": "2023-09-12T14:39:31+00:00"
}, },
{ {
"name": "sebastian/cli-parser", "name": "sebastian/cli-parser",

View File

@ -12,6 +12,7 @@ $buttonNames = array(
'dev-to' => 'DEV', 'dev-to' => 'DEV',
'epic-games' => 'Epic Games', 'epic-games' => 'Epic Games',
'f-droid' => 'F-Droid', 'f-droid' => 'F-Droid',
'firefish' => 'Firefish',
'furaffinity' => 'FurAffinity', 'furaffinity' => 'FurAffinity',
'github' => 'GitHub', 'github' => 'GitHub',
'gitlab' => 'GitLab', 'gitlab' => 'GitLab',

View File

@ -34,6 +34,14 @@ return [
*/ */
'mailers' => [ 'mailers' => [
'sendmail' => [
'transport' => 'sendmail',
'path' => env('MAIL_SENDMAIL', '/usr/sbin/sendmail -bs'),
'from' => [
'address' => env('MAIL_FROM_ADDRESS'),
'name' => env('MAIL_FROM_NAME'),
]
],
'smtp' => [ 'smtp' => [
'transport' => 'smtp', 'transport' => 'smtp',
'host' => env('MAIL_HOST'), 'host' => env('MAIL_HOST'),

View File

@ -421,7 +421,7 @@ class ButtonSeeder extends Seeder
[ [
'name' => 'trakt' 'name' => 'trakt'
], ],
[ [
'name' => 'last-fm' 'name' => 'last-fm'
], ],
@ -433,11 +433,14 @@ class ButtonSeeder extends Seeder
[ [
'name' => 'furaffinity' 'name' => 'furaffinity'
], ],
[ [
'name' => 'bluesky' 'name' => 'bluesky'
], ],
[
'name' => 'firefish'
],
]; ];
Button::insert($buttons); Button::insert($buttons);

View File

@ -5,13 +5,18 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
{{-- Mastodon re="me" link --}} {{-- Fediverse rel="me" links --}}
@php
$relMe = "mastodon, firefish";
$relMeList = explode(', ', $relMe);
@endphp
@foreach($links as $link) @foreach($links as $link)
@if($link->name === "mastodon") @if(in_array($link->name, $relMeList))
<link href="{{$link->link}}" rel="me"> <link href="{{$link->link}}" rel="me">
@endif @endif
@endforeach @endforeach
<?php <?php
// Theme Config // Theme Config
if (!function_exists('theme')) { if (!function_exists('theme')) {
@ -51,7 +56,7 @@ return $path;}
@endif @endif
@if(env('CUSTOM_META_TAGS') == 'true') @if(env('CUSTOM_META_TAGS') == 'true')
@include('layouts.meta') @include('layouts.meta')
@else @else
<meta name="description" content="{{ $userinfo->littlelink_description }}"> <meta name="description" content="{{ $userinfo->littlelink_description }}">
<meta name="author" content="{{ $userinfo->name }}"> <meta name="author" content="{{ $userinfo->name }}">
@ -82,7 +87,7 @@ if($customBackgroundExists == true){
</style> </style>
@endif @endif
@endif @endif
<!--#### BEGIN Meta Tags social media preview images ####--> <!--#### BEGIN Meta Tags social media preview images ####-->
<!-- This shows a preview for title, description and avatar image of users profiles if shared on social media sites --> <!-- This shows a preview for title, description and avatar image of users profiles if shared on social media sites -->
@ -98,7 +103,7 @@ if($customBackgroundExists == true){
@else @else
<meta property="og:image" content="{{ asset('assets/linkstack/images/logo.svg') }}"> <meta property="og:image" content="{{ asset('assets/linkstack/images/logo.svg') }}">
@endif @endif
<!-- Twitter Meta Tags --> <!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image"> <meta name="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="{{ url('') }}/{{ "@" . $littlelink_name }}"> <meta property="twitter:domain" content="{{ url('') }}/{{ "@" . $littlelink_name }}">
@ -119,7 +124,7 @@ if($customBackgroundExists == true){
{{-- <script>{!! file_get_contents(base_path("assets/external-dependencies/fontawesome.js")) !!}</script> --}} {{-- <script>{!! file_get_contents(base_path("assets/external-dependencies/fontawesome.js")) !!}</script> --}}
<style>{!! str_replace('../', 'studio/', file_get_contents(base_path("assets/external-dependencies/fontawesome.css"))) !!}</style> <style>{!! str_replace('../', 'studio/', file_get_contents(base_path("assets/external-dependencies/fontawesome.css"))) !!}</style>
@include('layouts.fonts') @include('layouts.fonts')
<style>{!! file_get_contents(base_path("assets/linkstack/css/normalize.css")) !!}</style> <style>{!! file_get_contents(base_path("assets/linkstack/css/normalize.css")) !!}</style>
<style>{!! file_get_contents(base_path("assets/linkstack/css/animate.css")) !!}</style> <style>{!! file_get_contents(base_path("assets/linkstack/css/animate.css")) !!}</style>
@if(file_exists(base_path("assets/linkstack/images/").findFile('favicon'))) @if(file_exists(base_path("assets/linkstack/images/").findFile('favicon')))
@ -265,7 +270,7 @@ if($customBackgroundExists == true){
<!-- Short Bio --> <!-- Short Bio -->
<style>.description-parent * {margin-bottom: 1em;}.description-parent {padding-bottom: 30px;}</style> <style>.description-parent * {margin-bottom: 1em;}.description-parent {padding-bottom: 30px;}</style>
<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> <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>
<!-- Icons --> <!-- Icons -->
@php $icons = DB::table('links')->where('user_id', $userinfo->id)->where('button_id', 94)->get(); @endphp @php $icons = DB::table('links')->where('user_id', $userinfo->id)->where('button_id', 94)->get(); @endphp
@if(count($icons) > 0) @if(count($icons) > 0)
@ -276,7 +281,7 @@ if($customBackgroundExists == true){
</div> </div>
@endif @endif
@endforeach @endforeach
<!-- Buttons --> <!-- Buttons -->
@php $initial = 1; @endphp @php $initial = 1; @endphp
@ -296,6 +301,9 @@ if($customBackgroundExists == true){
@case('buy me a coffee') @case('buy me a coffee')
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-coffee button button-hover icon-hover" rel="noopener noreferrer nofollow" 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> <div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-coffee button button-hover icon-hover" rel="noopener noreferrer nofollow" 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>
@break @break
@case('firefish')
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-{{ $link->name }} button button-hover icon-hover" rel="me noopener noreferrer nofollow" 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')}}/{{$linkName}}{{theme('custom_icon_extension')}} @else{{ asset('\/assets/linkstack/icons\/') . "firefish" }}.svg @endif">{{ $link->title }}</a></div>
@break
@case('mastodon') @case('mastodon')
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-{{ $link->name }} button button-hover icon-hover" rel="me noopener noreferrer nofollow" 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')}}/{{$linkName}}{{theme('custom_icon_extension')}} @else{{ asset('\/assets/linkstack/icons\/') . "mastodon" }}.svg @endif">{{ $link->title }}</a></div> <div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-{{ $link->name }} button button-hover icon-hover" rel="me noopener noreferrer nofollow" 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')}}/{{$linkName}}{{theme('custom_icon_extension')}} @else{{ asset('\/assets/linkstack/icons\/') . "mastodon" }}.svg @endif">{{ $link->title }}</a></div>
@break @break
@ -334,7 +342,7 @@ if($customBackgroundExists == true){
@endforeach @endforeach
@include('layouts.footer') @include('layouts.footer')
</div> </div>
</div> </div>
</div> </div>
@ -342,4 +350,4 @@ if($customBackgroundExists == true){
@if(theme('enable_custom_code') == "true" and theme('enable_custom_body_end') == "true" and env('ALLOW_CUSTOM_CODE_IN_THEMES') == 'true')@include($GLOBALS['themeName'] . '.extra.custom-body-end')@endif @if(theme('enable_custom_code') == "true" and theme('enable_custom_body_end') == "true" and env('ALLOW_CUSTOM_CODE_IN_THEMES') == 'true')@include($GLOBALS['themeName'] . '.extra.custom-body-end')@endif
</body> </body>
</html> </html>