updated subscription elements
This commit is contained in:
@@ -2,14 +2,14 @@
|
||||
|
||||
namespace App\Mail;
|
||||
|
||||
use App\Traits\HasUnsubscribeLink;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Mail\Mailable;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
class UserWelcome extends Mailable
|
||||
{
|
||||
use Queueable, SerializesModels;
|
||||
use Queueable, SerializesModels, HasUnsubscribeLink;
|
||||
|
||||
public $email;
|
||||
|
||||
|
||||
@@ -25,15 +25,15 @@
|
||||
<div class="hidden sm:ml-6 sm:block mr-4">
|
||||
<div class="flex space-x-2">
|
||||
{{-- <a href="{{ route('post.index') }}" class="text-gray-900 hover:text-sky-500 px-3 py-2 text-sm font-medium transition duration-300 ease-in-out" aria-current="page">Blog</a>--}}
|
||||
<a href="{{ route('about') }}" class="text-gray-900 hover:text-sky-500 px-3 py-2 text-sm font-medium transition duration-300 ease-in-out">About</a>
|
||||
<a href="{{ route('workshop.index') }}" class="text-gray-900 hover:text-sky-500 px-3 py-2 text-sm font-medium transition duration-300 ease-in-out">Workshops</a>
|
||||
<a href="{{ route('contact') }}" class="text-gray-900 hover:text-sky-500 px-3 py-2 text-sm font-medium transition duration-300 ease-in-out">Contact</a>
|
||||
<button type="button" class="text-gray-900 hover:text-sky-500 text-sm font-medium transition duration-300 ease-in-out" @click.prevent="showSearch=true">
|
||||
<a href="{{ route('about') }}" class="text-gray-900 hover:text-sky-500 px-1 md:px-3 py-2 text-sm font-medium transition duration-300 ease-in-out">About</a>
|
||||
<a href="{{ route('workshop.index') }}" class="text-gray-900 hover:text-sky-500 px-1 md:px-3 py-2 text-sm font-medium transition duration-300 ease-in-out">Workshops</a>
|
||||
<a href="{{ route('contact') }}" class="text-gray-900 hover:text-sky-500 px-1 md:px-3 py-2 text-sm font-medium transition duration-300 ease-in-out">Contact</a>
|
||||
<button type="button" class="text-gray-900 hover:text-sky-500 text-sm md:pl-1 font-medium transition duration-300 ease-in-out" @click.prevent="showSearch=true">
|
||||
<i class="fa fa-search"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mx-3">
|
||||
<div class="mr-3 md:mx-3">
|
||||
<button type="button" @click="userMenuOpen=!userMenuOpen" @keydown.escape="userMenuOpen=false" class="relative flex w-6 text-gray-400 hover:text-white" id="user-menu-button" aria-expanded="false" aria-haspopup="true">
|
||||
<span class="sr-only">Open user menu</span>
|
||||
<i class="fa-regular fa-user-circle text-gray-800 hover:text-sky-500 transition"></i>
|
||||
@@ -69,7 +69,9 @@
|
||||
<i class="fa fa-search w-4 mr-2"></i>Search
|
||||
</div>
|
||||
{{-- <a href="{{ route('post.index') }}" class="sm:hidden block px-4 py-2 text-sm text-gray-700 rounded transition hover:bg-sky-600 hover:text-white" role="menuitem" tabindex="-1"><i class="fa-regular fa-newspaper w-4 mr-2"></i>Blog</a>--}}
|
||||
<a href="{{ route('about') }}" class="sm:hidden block px-4 py-2 text-sm text-gray-700 rounded transition hover:bg-sky-600 hover:text-white" role="menuitem" tabindex="-1"><i class="fa-solid fa-circle-info w-4 mr-2"></i>About</a>
|
||||
<a href="{{ route('workshop.index') }}" class="sm:hidden block px-4 py-2 text-sm text-gray-700 rounded transition hover:bg-sky-600 hover:text-white" role="menuitem" tabindex="-1"><i class="fa-solid fa-bullhorn w-4 mr-2"></i>Workshops</a>
|
||||
<a href="{{ route('contact') }}" class="sm:hidden block px-4 py-2 text-sm text-gray-700 rounded transition hover:bg-sky-600 hover:text-white" role="menuitem" tabindex="-1"><i class="fa-regular fa-envelope w-4 mr-2"></i>Contact</a>
|
||||
@if(auth()->user()?->admin)
|
||||
<div class="sm:hidden border-t border-gray-200 my-2"></div>
|
||||
<div class="block text-xs font-semibold text-gray-500 px-2 py-1">Admin</div>
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
'primary-outline-sm' => '!font-normal !text-xs !px-4 !py-1 hover:bg-primary-color-dark focus-visible:outline-primary-color text-primary-color border border-primary-color bg-white hover:text-white',
|
||||
'danger' => 'hover:bg-danger-color-dark focus-visible:outline-danger-color bg-danger-color text-white',
|
||||
'danger-outline' => 'hover:bg-danger-color-dark focus-visible:outline-danger-color text-danger-color border border-danger-color bg-white hover:text-white',
|
||||
'success' => 'hover:bg-success-color-dark focus-visible:outline-success-color bg-success-color text-white'
|
||||
'success' => 'hover:bg-success-color-dark focus-visible:outline-success-color bg-success-color text-white',
|
||||
'dark' => 'hover:bg-gray-900 focus-visible:outline-gray-800 bg-gray-800 text-white'
|
||||
][$color];
|
||||
$commonClasses = @twMerge(['whitespace-nowrap', 'text-center','justify-center','rounded-md','px-8','py-1.5','text-sm','font-semibold','leading-6','shadow-sm','focus-visible:outline','focus-visible:outline-2','focus-visible:outline-offset-2','transition'], ($class ?? ''));
|
||||
@endphp
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@props(['type' => 'text', 'name', 'label' => '', 'value' => '', 'floating' => false, 'noLabel' => false, 'readonly' => false, 'info', 'error' => null, 'labelNotice' => null])
|
||||
@props(['type' => 'text', 'name', 'label' => '', 'value' => '', 'floating' => false, 'noLabel' => false, 'readonly' => false, 'info', 'error' => null, 'labelNotice' => null, 'placeholder' => '', 'fieldClasses' => '' ])
|
||||
|
||||
@php
|
||||
if($error === null) {
|
||||
@@ -6,7 +6,7 @@
|
||||
}
|
||||
|
||||
$hasError = $error !== '';
|
||||
$classes = 'disabled:bg-gray-100 bg-white block px-2.5 pb-2.5 w-full text-sm text-gray-900 rounded-lg border appearance-nonefocus:outline-none focus:ring-0 focus:border-blue-600 ' . ($hasError ? 'border-red-600 ring-red-600 focus:border-red-600 focus:ring-red-600' : 'border-gray-300 focus:border-indigo-300 focus:ring-indigo-300');
|
||||
$classes = 'disabled:bg-gray-100 bg-white block px-2.5 pb-2.5 w-full text-sm text-gray-900 rounded-lg border appearance-none focus:outline-none focus:ring-0 focus:border-blue-600 ' . ($hasError ? 'border-red-600 ring-red-600 focus:border-red-600 focus:ring-red-600' : 'border-gray-300 focus:border-indigo-300 focus:ring-indigo-300');
|
||||
$value = old($name, $value);
|
||||
@endphp
|
||||
|
||||
@@ -14,27 +14,27 @@
|
||||
@if($floating)
|
||||
<div class="relative">
|
||||
@if($type === 'textarea')
|
||||
<textarea class="{{ twMerge(['pt-4'], $classes) }}" name="{{ $name }}" {{ $readonly ? 'readonly' : '' }} {{ $attributes }}>{{ $value }}</textarea>
|
||||
<textarea class="{{ twMerge(['pt-4'], $classes, $attributes->get('fieldClasses')) }}" name="{{ $name }}" {{ $readonly ? 'readonly' : '' }} {{ $attributes }}>{{ $value }}</textarea>
|
||||
@else
|
||||
<input class="{{ twMerge(['pt-4'], $classes) }}" autocomplete="off" placeholder=" " value="{{ $value }}" type="{{ $type }}" name="{{ $name }}" {{ $readonly ? 'readonly' : '' }} {{ $attributes }} />
|
||||
<input class="{{ twMerge(['pt-4'], $classes, $attributes->get('fieldClasses')) }}" autocomplete="off" placeholder=" " value="{{ $value }}" type="{{ $type }}" name="{{ $name }}" {{ $readonly ? 'readonly' : '' }} {{ $attributes }} />
|
||||
@endif
|
||||
<label for="{{ $name }}" class="absolute text-sm text-gray-500 duration-300 transform -translate-y-4 scale-75 top-2 z-10 origin-[0] bg-white px-2 peer-focus:px-2 peer-focus:text-blue-600 peer-placeholder-shown:scale-100 peer-placeholder-shown:-translate-y-1/2 peer-placeholder-shown:top-1/2 peer-focus:top-2 peer-focus:scale-75 peer-focus:-translate-y-4 rtl:peer-focus:translate-x-1/4 rtl:peer-focus:left-auto start-1">{{ $label }}</label>
|
||||
</div>
|
||||
@elseif($noLabel)
|
||||
<div class="relative">
|
||||
@if($type === 'textarea')
|
||||
<textarea class="{{ twMerge(['pt-2.5'], $classes) }}" name="{{ $name }}" placeholder="{{ $label }}" {{ $readonly ? 'readonly' : '' }} {{ $attributes }}>{{ $value }}</textarea>
|
||||
<textarea class="{{ twMerge(['pt-2.5'], $classes, $fieldClasses) }}" name="{{ $name }}" placeholder="{{ $label }}" {{ $readonly ? 'readonly' : '' }} {{ $attributes }}>{{ $value }}</textarea>
|
||||
@else
|
||||
<input class="{{ twMerge(['pt-2.5'], $classes) }}" autocomplete="off" placeholder="{{ $label }}" value="{{ $value }}" type="{{ $type }}" name="{{ $name }}" {{ $readonly ? 'readonly' : '' }} {{ $attributes }} />
|
||||
<input class="{{ twMerge(['pt-2.5'], $classes, $fieldClasses) }}" autocomplete="off" placeholder="{{ $label }}" value="{{ $value }}" type="{{ $type }}" name="{{ $name }}" {{ $readonly ? 'readonly' : '' }} {{ $attributes }} />
|
||||
@endif
|
||||
</div>
|
||||
@else
|
||||
<div>
|
||||
<label for="{{ $name }}" class="block text-sm pl-1">{{ $label }}{!! isset($labelNotice) && $labelNotice !== '' ? '<i class="fa-solid fa-triangle-exclamation ml-1 text-gray-500 hover:text-black" data-tooltip="' . $labelNotice . '"></i>' : '' !!}</label>
|
||||
@if($type === 'textarea')
|
||||
<textarea class="{{ twMerge(['pt-2.5','mt-1','h-96'], $classes) }}" name="{{ $name }}" {{ $readonly ? 'readonly' : '' }} {{ $attributes->whereDoesntStartWith('x-') }}>{{ $value }}</textarea>
|
||||
<textarea class="{{ twMerge(['pt-2.5','mt-1','h-96'], $classes, $fieldClasses) }}" name="{{ $name }}" {{ $readonly ? 'readonly' : '' }} {{ $attributes->whereDoesntStartWith('x-') }}>{{ $value }}</textarea>
|
||||
@else
|
||||
<input class="{{ twMerge(['pt-2.5','mt-1'], $classes) }}" autocomplete="off" placeholder=" " value="{{ $value }}" type="{{ $type }}" name="{{ $name }}" {{ $readonly ? 'readonly' : '' }} {{ $attributes }} />
|
||||
<input class="{{ twMerge(['pt-2.5','mt-1'], $classes, $fieldClasses) }}" autocomplete="off" placeholder=" " value="{{ $value }}" type="{{ $type }}" name="{{ $name }}" {{ $readonly ? 'readonly' : '' }} {{ $attributes }} />
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
</p>
|
||||
<p>We hope to see you at one of our upcoming workshops!</p>
|
||||
<p>Warm regards,</p>
|
||||
<p>—James 😁</p>
|
||||
<p>— James 😁</p>
|
||||
@slot('subcopy')
|
||||
<h4>Why did I get this email?</h4>
|
||||
<p class="sub">You received this email as you are subscribed to our upcoming workshop email list. If you wish no longer receive this email, you can <a href="{{ $unsubscribeLink }}">unsubscribe here</a>.</p>
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
<p>Welcome to the community!</p>
|
||||
<p>Really glad to have you here and can't wait to see you at one of our workshops.</p>
|
||||
<p>You'll get information about upcoming workshops as it comes out.</p>
|
||||
<p>Even though this is (of course) an automated email, just wanted to say thanks for registering and intro myself.</p>
|
||||
<p>Even though this is (of course) an automated email, just wanted to say thanks and intro myself.</p>
|
||||
<p>If you didn't know, I'm James and I'm the founder of STEMMechanics. I promise not to spam you, sell your data, or send you anything I don't think is absolutely necessary.</p>
|
||||
<p>You know a bit about me but I don't know really anything about you...</p>
|
||||
<p><strong>If you're up for it</strong>, reply to this email and tell me a bit about yourself and also let me know what workshops you are interested in?</p>
|
||||
<p><strong>If you're up for it</strong>, reply to this email or join us in <a href="https://discord.gg/yNzk4x7mpD">Discord</a> and tell me a bit about yourself and also let me know what workshops you are interested in?</p>
|
||||
<p>I read and reply to every one 😁</p>
|
||||
<p>Talk soon</p>
|
||||
<p>—James</p>
|
||||
<p>— James</p>
|
||||
@endcomponent
|
||||
|
||||
@@ -85,4 +85,13 @@
|
||||
</div>
|
||||
</x-container>
|
||||
</section>
|
||||
<section id="subscribe">
|
||||
<x-container class="bg-primary-color-dark py-24 -mb-12" inner-class="flex justify-center">
|
||||
<div class="max-w-[52rem]">
|
||||
<h2 class="text-3xl mb-0 text-white">Want to know what’s coming up?</h2>
|
||||
<p class="mb-6 text-left text-white">Sign up and we’ll send you updates on new workshops, special sessions and what’s happening around STEMMechanics.</p>
|
||||
<livewire:email-subscribe />
|
||||
</div>
|
||||
</x-container>
|
||||
</section>
|
||||
</x-layout>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<x-slot:footer>
|
||||
<x-mail::footer>
|
||||
<p>This email was sent to <a href="mailto:{{ $email }}">{{ $email }}</a><br />
|
||||
<a href="{{ route('index') }}">{{ config('app.name') }}</a> | 1/4 Jordan Street | Edmonton, QLD 4869 Australia<br />
|
||||
<a href="{{ route('index') }}">{{ config('app.name') }}</a> | 63 Dalton Street | Westcourt, QLD 4870 Australia<br />
|
||||
© {{ date('Y') }} {{ config('app.name') }}. {{ __('All rights reserved.') }}<br />
|
||||
<a href="{{ route('privacy') }}">Privacy Policy</a> | <a href="{{ route('terms-conditions') }}">Terms & Conditions</a> @isset($unsubscribe) | <a href="{{ $unsubscribe }}">Unsubscribe</a>@endisset
|
||||
</p>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
This email was sent to {{ $email }}
|
||||
|
||||
STEMMechanics | 1/4 Jordan Street | Edmonton, QLD 4869 Australia
|
||||
STEMMechanics | 63 Dalton Street | Westcourt, QLD 4870 Australia
|
||||
© {{ date('Y') }} {{ config('app.name') }}. {{ __('All rights reserved.') }}
|
||||
|
||||
@isset($unsubscribe) Unsubscribe: {{ $unsubscribe }}@endisset
|
||||
|
||||
Reference in New Issue
Block a user