ManifestModal.svelte 2.88 KB
Newer Older
Timothy J. Baek's avatar
Timothy J. Baek committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<script lang="ts">
	import { toast } from 'svelte-sonner';
	import { createEventDispatcher } from 'svelte';
	import { onMount, getContext } from 'svelte';

	import Modal from '../../common/Modal.svelte';

	const i18n = getContext('i18n');
	const dispatch = createEventDispatcher();

	export let show = false;
	export let manifest = {};
</script>

<Modal size="sm" bind:show>
	<div>
		<div class=" flex justify-between dark:text-gray-300 px-5 pt-4 pb-2">
			<div class=" text-lg font-medium self-center">{$i18n.t('Show your support!')}</div>
			<button
				class="self-center"
				on:click={() => {
					show = false;
				}}
			>
				<svg
					xmlns="http://www.w3.org/2000/svg"
					viewBox="0 0 20 20"
					fill="currentColor"
					class="w-5 h-5"
				>
					<path
						d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"
					/>
				</svg>
			</button>
		</div>

		<div class="flex flex-col md:flex-row w-full px-5 pb-4 md:space-x-4 dark:text-gray-200">
			<div class=" flex flex-col w-full sm:flex-row sm:justify-center sm:space-x-6">
				<form
					class="flex flex-col w-full"
					on:submit|preventDefault={() => {
						show = false;
					}}
				>
					<div class="px-1 text-sm">
SimonOriginal's avatar
refac 3  
SimonOriginal committed
47
						<div class="my-2">
SimonOriginal's avatar
SimonOriginal committed
48
49
							{$i18n.t(
								'The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.'
SimonOriginal's avatar
refac 3  
SimonOriginal committed
50
							)}
Timothy J. Baek's avatar
Timothy J. Baek committed
51
52
						</div>

SimonOriginal's avatar
refac 3  
SimonOriginal committed
53
						<div class="my-2">
SimonOriginal's avatar
SimonOriginal committed
54
55
56
							{$i18n.t(
								'Your entire contribution will go directly to the plugin developer; Open WebUI does not take any percentage. However, the chosen funding platform might have its own fees.'
							)}
Timothy J. Baek's avatar
Timothy J. Baek committed
57
58
						</div>

SimonOriginal's avatar
refac 3  
SimonOriginal committed
59
						<hr class="dark:border-gray-800 my-3" />
Timothy J. Baek's avatar
Timothy J. Baek committed
60
						<div class="my-2">
SimonOriginal's avatar
refac 3  
SimonOriginal committed
61
							{$i18n.t('Support this plugin:')}
SimonOriginal's avatar
refac 7  
SimonOriginal committed
62
							<a
SimonOriginal's avatar
refac 9  
SimonOriginal committed
63
64
								href={manifest.funding_url}
								target="_blank"
SimonOriginal's avatar
refac 7  
SimonOriginal committed
65
66
								class="underline text-blue-400 hover:text-blue-300">{manifest.funding_url}</a
							>
Timothy J. Baek's avatar
Timothy J. Baek committed
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
						</div>
					</div>

					<div class="flex justify-end pt-3 text-sm font-medium">
						<button
							class=" px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-lg flex flex-row space-x-1 items-center"
							type="submit"
						>
							{$i18n.t('Done')}
						</button>
					</div>
				</form>
			</div>
		</div>
	</div>
</Modal>

<style>
	input::-webkit-outer-spin-button,
	input::-webkit-inner-spin-button {
		/* display: none; <- Crashes Chrome on hover */
		-webkit-appearance: none;
		margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
	}

	.tabs::-webkit-scrollbar {
		display: none; /* for Chrome, Safari and Opera */
	}

	.tabs {
		-ms-overflow-style: none; /* IE and Edge */
		scrollbar-width: none; /* Firefox */
	}

	input[type='number'] {
		-moz-appearance: textfield; /* Firefox */
	}
</style>