add static resources

This commit is contained in:
Shahrad Elahi 2023-11-03 18:34:43 +03:30
parent 414538daf6
commit d06bf3f460
27 changed files with 293 additions and 34 deletions

View File

@ -1,7 +1,7 @@
{
"useTabs": true,
"useTabs": false,
"singleQuote": true,
"trailingComma": "none",
"trailingComma": "all",
"printWidth": 100,
"plugins": [
"prettier-plugin-svelte"

View File

@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%sveltekit.assets%/favicon.png" />
<link rel="icon" href="%sveltekit.assets%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
%sveltekit.head%
</head>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,226 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="KVk0SCZ2CVA7excpJHEWdT0CIQYhLxMaq-ZxeGh6ZLCnV6Z1zEcRXaY-">
<link rel="icon" href="/favicon.ico">
<link rel="icon" href="/images/favicon/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/images/favicon/apple-touch-icon.png">
<link rel="manifest" href="/manifest/app.json">
<meta name="theme-color" content="#528DD7">
<title>Font Awesome</title>
<meta id="meta-application-name" name="application-name" content="Font Awesome" />
<meta id="meta-description" name="description"
content="The worlds most popular and easiest to use icon set just got an upgrade. More icons. More styles. More Options." />
<meta id="meta-keywords" name="keywords"
content="icons, vector icons, svg icons, free icons, icon font, webfont, desktop icons, svg, font awesome, font awesome free, font awesome pro" />
<!-- Schema.org markup for Google+ -->
<meta id="meta-item-name" itemprop="name" content="Font Awesome" />
<meta id="meta-item-description" itemprop="description"
content="The worlds most popular and easiest to use icon set just got an upgrade. More icons. More styles. More Options." />
<meta id="meta-item-image" itemprop="image" content="https://img.fortawesome.com/349cfdf6/fontawesome-open-graph.png" />
<!-- Twitter Card data -->
<meta id="twt-card" name="twitter:card" content="summary" />
<meta id="twt-site" name="twitter:site" content="@fontawesome" />
<meta id="twt-title" name="twitter:title" content="Font Awesome" />
<meta id="twt-description" name="twitter:description"
content="The worlds most popular and easiest to use icon set just got an upgrade. More icons. More styles. More Options." />
<meta id="twt-creator" name="twitter:creator" content="@fontawesome" />
<meta id="twt-image" name="twitter:image" content="https://img.fortawesome.com/349cfdf6/fontawesome-open-graph.png" />
<!-- Open Graph data -->
<meta id="og-title" property="og:title" content="Font Awesome" />
<meta id="og-type" property="og:type" content="website" />
<meta id="og-url" property="og:url" content="https://fontawesome.com" />
<meta id="og-image" property="og:image" content="https://img.fortawesome.com/349cfdf6/fontawesome-open-graph.png" />
<meta id="og-description" property="og:description"
content="The worlds most popular and easiest to use icon set just got an upgrade. More icons. More styles. More Options." />
<link
rel="stylesheet"
data-purpose="Layout StyleSheet"
title="Default"
href="/css/app-eebc29a5e707f565ed420d151441665a.css?vsn=d"
>
<link
rel="stylesheet"
data-purpose="Layout StyleSheet"
title="Web Awesome"
disabled
href="/css/app-wa-b464d3417b7a8fcc0b8bfe9cf7d4bc92.css?vsn=d"
>
<link
rel="stylesheet"
disabled
href="https://pro.fontawesome.com/releases/v6.0.0-beta3/css/all.css"
>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-30136587-4"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'UA-30136587-4', { cookie_flags: 'max-age=7200;secure;samesite=none' });
</script>
<link rel="preload" href="/js/settings-445a010757cbad60e82500f2dc6c83dc.js?vsn=d" as="script">
<link rel="preload" href="/js/app-8be57055a5918601da69ea599f03aee0.js?vsn=d" as="script">
<script defer src="/js/settings-445a010757cbad60e82500f2dc6c83dc.js?vsn=d"></script>
<script defer src="/js/app-8be57055a5918601da69ea599f03aee0.js?vsn=d"></script>
<script type="text/javascript">!function(e, t, n) {
function a() {
var e = t.getElementsByTagName('script')[0], n = t.createElement('script');
n.type = 'text/javascript', n.async = !0, n.src = 'https://beacon-v2.helpscout.net', e.parentNode.insertBefore(n, e);
}
if (e.Beacon = n = function(t, n, a) {
e.Beacon.readyQueue.push({ method: t, options: n, data: a });
}, n.readyQueue = [], 'complete' === t.readyState) return a();
e.attachEvent ? e.attachEvent('onload', a) : e.addEventListener('load', a, !1);
}(window, document, window.Beacon || function() {
});</script>
<script type="text/javascript">
window.Beacon('init', '8b4d2c82-4277-4380-9212-e4e7f03c1ea4');
window.Beacon('config', { display: { style: 'manual' } });
</script>
</head>
<body class="min-vh-100 bg-gray0 gray7 ma0 overflow-x-hidden">
<div id="vue-container">
</div>
<div id="modal"></div>
<div id="shade"></div>
<script>
window.__inline_data__ = [ {
'data': [ {
'attributes': {
'inserted-at': '2017-08-02T21:36:24',
'name': 'Early Access',
'percentage-complete': 100,
'updated-at': '2017-08-02T21:36:24',
'view-order': 1,
}, 'id': '1', 'links': { 'self': '/api/product-updates' }, 'type': 'product-update',
}, {
'attributes': {
'inserted-at': '2017-08-02T21:36:24',
'name': 'Core Font Awesome 4 Icons Redesigned',
'percentage-complete': 100,
'updated-at': '2017-08-02T21:36:24',
'view-order': 2,
}, 'id': '2', 'links': { 'self': '/api/product-updates' }, 'type': 'product-update',
}, {
'attributes': {
'inserted-at': '2017-08-02T21:36:24',
'name': 'Icons in SVG Format',
'percentage-complete': 100,
'updated-at': '2017-12-06T15:32:04',
'view-order': 3,
}, 'id': '3', 'links': { 'self': '/api/product-updates' }, 'type': 'product-update',
}, {
'attributes': {
'inserted-at': '2018-03-29T14:07:48',
'name': 'Revamped Icon Font Framework',
'percentage-complete': 100,
'updated-at': '2018-07-24T14:40:06',
'view-order': 4,
}, 'id': '14', 'links': { 'self': '/api/product-updates' }, 'type': 'product-update',
}, {
'attributes': {
'inserted-at': '2017-08-02T21:36:24',
'name': 'SVG Icon Framework',
'percentage-complete': 100,
'updated-at': '2017-12-06T15:32:16',
'view-order': 5,
}, 'id': '4', 'links': { 'self': '/api/product-updates' }, 'type': 'product-update',
}, {
'attributes': {
'inserted-at': '2017-08-02T21:36:24',
'name': 'Regular and Light Icon Styles',
'percentage-complete': 100,
'updated-at': '2017-08-02T21:36:24',
'view-order': 6,
}, 'id': '5', 'links': { 'self': '/api/product-updates' }, 'type': 'product-update',
}, {
'attributes': {
'inserted-at': '2017-08-02T21:36:24',
'name': 'Icon Font Ligatures',
'percentage-complete': 100,
'updated-at': '2018-07-24T14:43:16',
'view-order': 7,
}, 'id': '7', 'links': { 'self': '/api/product-updates' }, 'type': 'product-update',
}, {
'attributes': {
'inserted-at': '2017-08-02T21:36:24',
'name': 'Dedicated CDN',
'percentage-complete': 100,
'updated-at': '2018-07-24T14:43:27',
'view-order': 8,
}, 'id': '10', 'links': { 'self': '/api/product-updates' }, 'type': 'product-update',
}, {
'attributes': {
'inserted-at': '2017-08-02T21:36:24',
'name': 'Duotone Colored Icons',
'percentage-complete': 100,
'updated-at': '2018-07-24T14:45:51',
'view-order': 9,
}, 'id': '6', 'links': { 'self': '/api/product-updates' }, 'type': 'product-update',
}, {
'attributes': {
'inserted-at': '2017-08-02T21:36:24',
'name': 'Desktop Icon Subsetter',
'percentage-complete': 100,
'updated-at': '2018-07-24T14:45:29',
'view-order': 10,
}, 'id': '8', 'links': { 'self': '/api/product-updates' }, 'type': 'product-update',
}, {
'attributes': {
'inserted-at': '2017-08-02T21:36:24',
'name': 'Community Voting',
'percentage-complete': 75,
'updated-at': '2018-07-24T14:44:56',
'view-order': 11,
}, 'id': '11', 'links': { 'self': '/api/product-updates' }, 'type': 'product-update',
}, {
'attributes': {
'inserted-at': '2018-03-29T14:07:48',
'name': 'iOS and Android Support',
'percentage-complete': 0,
'updated-at': '2018-07-24T14:46:05',
'view-order': 12,
}, 'id': '15', 'links': { 'self': '/api/product-updates' }, 'type': 'product-update',
}, {
'attributes': {
'inserted-at': '2017-08-02T21:36:24',
'name': 'Desktop Design Plugins',
'percentage-complete': 0,
'updated-at': '2018-07-24T14:46:20',
'view-order': 13,
}, 'id': '9', 'links': { 'self': '/api/product-updates' }, 'type': 'product-update',
} ], 'jsonapi': { 'version': '1.0' },
} ];
</script>
<script src="https://use.fortawesome.com/349cfdf6.js"></script>
<script defer src="https://m.servedby-buysellads.com/monetization.js"></script>
<script defer src="https://js.stripe.com/v3/"></script>
<script defer
src="https://www.google.com/recaptcha/api.js?render=6Lfwy8YZAAAAAOymsOdsZ7xDAG-TFKW_fij1Wnjg"></script>
<script defer src="https://embed.typeform.com/embed.js"></script>
</body>
</html>

BIN
web/src/lib/assets/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,18 @@
<svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient x1="50%" y1="100%" x2="50%" y2="0%" id="linearGradient-1">
<stop stop-color="#420C5D" offset="0%"></stop>
<stop stop-color="#951AD1" offset="100%"></stop>
</linearGradient>
</defs>
<g transform="translate(-58.12 -303.3)" fill="url(#linearGradient-1)" fill-rule="evenodd">
<path d="m77.15 303.3c-1.608 1.868-0.09027 2.972-0.9891 4.84 1.514-2.129 5.034-2.862 7.328-3.643-3.051 2.72-5.457 6.326-8.489 9.009l-1.975-0.8374c-0.4647-4.514-1.736-4.705 4.125-9.369z"
fill-rule="evenodd"/>
<path d="m74.04 313.1 2.932 0.9454c-0.615 2.034 0.3559 2.791 0.9472 3.123 1.324 0.7332 2.602 1.49 3.619 2.412 1.916 1.75 3.004 4.21 3.004 6.812 0 2.578-1.183 5.061-3.169 6.717-1.868 1.561-4.446 2.223-6.953 2.223-1.561 0-2.956-0.0708-4.47-0.5677-3.453-1.159-6.031-4.115-6.244-7.663-0.1893-2.767 0.4257-4.872 2.578-7.072 1.111-1.159 2.563-2.749 4.1-3.813 0.757-0.5204 1.119-1.191-0.4183-3.958l1.28-1.076 2.795 1.918-2.352-0.3007c0.1656 0.2366 1.189 0.7706 1.284 1.078 0.2128 0.8751-0.1911 1.771-0.3804 2.149-0.9696 1.75-1.86 2.275-3.066 3.268-2.129 1.75-4.27 2.836-4.01 7.637 0.1183 2.365 1.433 5.295 4.2 6.643 1.561 0.757 2.859 1.189 4.68 1.284 1.632 0.071 4.754-0.8988 6.457-2.318 1.821-1.514 2.838-3.808 2.838-6.149 0-2.365-0.9461-4.612-2.72-6.197-1.017-0.9223-2.696-2.034-3.737-2.625-1.041-0.5912-2.782-2.06-2.356-3.645z"/>
<path d="m73.41 316.6c-0.186 1.088-0.4177 3.117-0.8909 3.917-0.3293 0.5488-0.4126 0.8101-0.7846 1.094-1.09 1.535-1.45 1.761-2.132 4.552-0.1447 0.5914-0.3832 1.516-0.2591 2.107 0.372 1.703 0.6612 2.874 1.316 4.103 0 0 0.1271 0.1217 0.1271 0.169 0.6821 0.9225 0.6264 1.05 2.665 2.246l-0.06204 0.3313c-1.55-0.4729-2.604-0.9591-3.41-2.024 0-0.0236-0.1513-0.1558-0.1513-0.1558-0.868-1.135-1.753-2.788-2.021-4.546-0.1447-0.7097-0.0769-1.341 0.08833-2.075 0.7026-2.885 1.415-4.093 2.744-5.543 0.3514-0.2601 0.6704-0.6741 1.001-1.092 0.4859-0.6764 1.462-2.841 1.814-4.189z"/>
<path d="m74.09 318.6c0.0237 1.04 0.0078 3.036 0.3389 3.796 0.0945 0.2599 0.3274 1.414 0.9422 2.794 0.4258 0.96 0.5418 1.933 0.6128 2.193 0.2838 1.14-0.4002 3.086-0.8734 4.906-0.2364 0.98-0.6051 1.773-1.371 2.412l0.2796 0.3593c0.5204-0.02 1.954-1.096 2.403-2.416 0.757-2.24 1.328-3.317 0.9729-5.797-0.0473-0.2402-0.2094-1.134-0.6588-2.014-0.6622-1.34-1.474-2.614-1.592-2.874-0.213-0.4198-1.007-2.119-1.054-3.359z"/>
<path d="m74.88 313.9 0.9727 0.4962c-0.09145 0.6403 0.04572 2.059 0.686 2.424 2.836 1.761 5.512 3.683 6.565 5.604 3.751 6.771-2.63 13.04-8.143 12.44 2.996-2.219 4.428-6.583 3.307-11.55-0.4574-1.944-1.729-3.893-2.987-5.883-0.545-0.9768-0.3547-2.188-0.4006-3.538z"
fill-rule="evenodd"/>
<rect x="73.07" y="312.8" width="1" height="22"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="36px" height="36px" viewBox="0 0 36 36" version="1.1" xmlns="http://www.w3.org/2000/svg"
>
<!-- Generator: Sketch 62 (91390) - https://sketch.com -->
<title>vps</title>
<desc>Created with Sketch.</desc>
<g id="vps" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M33,26 L33,31 C33,32.6568542 31.6568542,34 30,34 L6,34 C4.34314575,34 3,32.6568542 3,31 L3,26 L33,26 Z M30,29 L6,29 L6,31 L30,31 L30,29 Z M33,15 L33,23 L3,23 L3,15 L33,15 Z M30,18 L6,18 L6,20 L30,20 L30,18 Z M30,4 C31.6568542,4 33,5.34314575 33,7 L33,12 L3,12 L3,7 C3,5.34314575 4.34314575,4 6,4 L30,4 Z M30,7 L6,7 L6,9 L30,9 L30,7 Z"
fill="#991b1b"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 751 B

View File

@ -7,26 +7,23 @@ const buttonVariants = tv({
variants: {
variant: {
default: 'bg-primary text-primary-foreground hover:bg-primary/90',
destructive:
'bg-destructive text-destructive-foreground hover:bg-destructive/90',
outline:
'border border-input bg-background hover:bg-accent hover:text-accent-foreground',
secondary:
'bg-secondary text-secondary-foreground hover:bg-secondary/80',
destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',
outline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',
secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',
ghost: 'hover:bg-accent hover:text-accent-foreground',
link: 'text-primary underline-offset-4 hover:underline'
link: 'text-primary underline-offset-4 hover:underline',
},
size: {
default: 'h-10 px-4 py-2',
sm: 'h-9 rounded-md px-3',
lg: 'h-11 rounded-md px-8',
icon: 'h-10 w-10'
}
icon: 'h-10 w-10',
},
},
defaultVariants: {
variant: 'default',
size: 'default'
}
size: 'default',
},
});
type Variant = VariantProps<typeof buttonVariants>['variant'];
@ -47,5 +44,5 @@ export {
Root as Button,
type Props as ButtonProps,
type Events as ButtonEvents,
buttonVariants
buttonVariants,
};

View File

@ -1 +0,0 @@
// place files you want to import through the `$lib` alias in this folder.

View File

@ -16,18 +16,14 @@ type FlyAndScaleParams = {
export const flyAndScale = (
node: Element,
params: FlyAndScaleParams = { y: -8, x: 0, start: 0.95, duration: 150 }
params: FlyAndScaleParams = { y: -8, x: 0, start: 0.95, duration: 150 },
): TransitionConfig => {
const style = getComputedStyle(node);
const transform = style.transform === 'none' ? '' : style.transform;
const scaleConversion = (
valueA: number,
scaleA: [ number, number ],
scaleB: [ number, number ]
) => {
const [ minA, maxA ] = scaleA;
const [ minB, maxB ] = scaleB;
const scaleConversion = (valueA: number, scaleA: [number, number], scaleB: [number, number]) => {
const [minA, maxA] = scaleA;
const [minB, maxB] = scaleB;
const percentage = (valueA - minA) / (maxA - minA);
const valueB = percentage * (maxB - minB) + minB;
@ -35,9 +31,7 @@ export const flyAndScale = (
return valueB;
};
const styleToString = (
style: Record<string, number | string | undefined>
): string => {
const styleToString = (style: Record<string, number | string | undefined>): string => {
return Object.keys(style).reduce((str, key) => {
if (style[key] === undefined) return str;
return str + `${key}:${style[key]};`;
@ -48,15 +42,15 @@ export const flyAndScale = (
duration: params.duration ?? 200,
delay: 0,
css: (t) => {
const y = scaleConversion(t, [ 0, 1 ], [ params.y ?? 5, 0 ]);
const x = scaleConversion(t, [ 0, 1 ], [ params.x ?? 0, 0 ]);
const scale = scaleConversion(t, [ 0, 1 ], [ params.start ?? 0.95, 1 ]);
const y = scaleConversion(t, [0, 1], [params.y ?? 5, 0]);
const x = scaleConversion(t, [0, 1], [params.x ?? 0, 0]);
const scale = scaleConversion(t, [0, 1], [params.start ?? 0.95, 1]);
return styleToString({
transform: `${transform} translate3d(${x}px, ${y}px, 0) scale(${scale})`,
opacity: t
opacity: t,
});
},
easing: cubicOut
easing: cubicOut,
};
};
};

View File

@ -1 +1,6 @@
<script>import '../app.postcss';</script><slot></slot>
<script lang="ts">
import '../app.postcss';
import '$lib/assets/fontawesome/index.css';
</script>
<slot />

BIN
web/static/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB