@turnipxenon/pineapple 1.1.2 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +20 -13
- package/src/lib/app.postcss +106 -47
- package/src/lib/assets/icons/bitbucket-icon.svg +1 -0
- package/src/lib/assets/icons/github-mark.svg +1 -0
- package/src/lib/assets/icons/link-icon.svg +1 -0
- package/src/lib/assets/icons/linkedin.svg +1 -0
- package/src/lib/assets/icons/mail.svg +1 -0
- package/src/lib/assets/others/seaweed-showcase.mp4 +0 -0
- package/src/lib/assets/others/weaver-footage.gif +0 -0
- package/src/lib/assets/others/window-set.png +0 -0
- package/src/lib/assets/placeholder/placeholder_circle.png +0 -0
- package/src/lib/components/Card.svelte +24 -0
- package/src/lib/components/CarouselElement.svelte +23 -0
- package/src/lib/components/Chip.svelte +12 -0
- package/src/lib/components/ElementVisbilityDetector.svelte +22 -0
- package/src/lib/components/OnElementVisbilityChanged.ts +1 -0
- package/src/lib/components/RandomizedBackground.svelte +6 -4
- package/src/lib/components/RandomizedImage.svelte +23 -14
- package/src/lib/components/StickyElement.svelte +40 -0
- package/src/lib/components/ToggleableContent.svelte +86 -0
- package/src/lib/components/ToggleableContentType.ts +4 -0
- package/src/lib/components/layouts/LayoutConstants.ts +1 -0
- package/src/lib/components/{PineappleBaseLayout.svelte → layouts/PineappleBaseLayout.svelte} +73 -71
- package/src/lib/components/layouts/SeaweedBaseLayout.svelte +109 -0
- package/src/lib/consts.ts +2 -0
- package/src/lib/index.ts +2 -1
- package/src/lib/styles/global.css +1 -0
- package/src/lib/template/SeaweedTemplate.svelte +873 -0
- package/src/lib/theme.postcss +114 -105
- package/src/lib/util/create_go_to_function.ts +5 -0
- package/src/routes/+layout.svelte +15 -19
- package/src/routes/+page.svelte +9 -12
- package/src/routes/personal/+layout.svelte +23 -0
- package/src/routes/personal/+page.svelte +37 -0
- package/src/routes/portfolio/+page.server.ts +44 -0
- package/src/routes/portfolio/+page.svelte +19 -0
- package/src/routes/portfolio/SocialSection.svelte +93 -0
- package/src/routes/portfolio/actual/+page.svelte +10 -0
- package/dist/app.postcss +0 -94
- package/dist/assets/bg_tiled/bg_tiled_ares.png +0 -0
- package/dist/assets/bg_tiled/bg_tiled_corn.png +0 -0
- package/dist/assets/bg_tiled/bg_tiled_pineapple.png +0 -0
- package/dist/assets/bg_tiled/bg_tiled_reinhard.png +0 -0
- package/dist/assets/bg_tiled/bg_tiled_tomato.png +0 -0
- package/dist/assets/bg_tiled/bg_tiled_turnip.png +0 -0
- package/dist/assets/characters/ares/ares_blushing.webp +0 -0
- package/dist/assets/characters/ares/ares_disappointed.webp +0 -0
- package/dist/assets/characters/ares/ares_happy.webp +0 -0
- package/dist/assets/characters/ares/ares_lets_go.webp +0 -0
- package/dist/assets/characters/ares/ares_logo.webp +0 -0
- package/dist/assets/characters/ares/ares_mad.webp +0 -0
- package/dist/assets/characters/ares/ares_neutral.webp +0 -0
- package/dist/assets/characters/ares/ares_slightly_mad.webp +0 -0
- package/dist/assets/characters/ares/ares_surprised.webp +0 -0
- package/dist/assets/characters/ares/ares_yay.webp +0 -0
- package/dist/assets/game_dev/footage-chef-wings.gif +0 -0
- package/dist/assets/game_dev/footage-depreciation.webm +0 -0
- package/dist/assets/game_dev/footage-thinking-of-flowers.webm +0 -0
- package/dist/assets/game_dev/screenshot-game-jam-mama.png +0 -0
- package/dist/assets/game_dev/screenshot-string-hop.png +0 -0
- package/dist/assets/game_dev/screenshot-wet-ass-road.png +0 -0
- package/dist/assets/temp/background-image.jpg +0 -0
- package/dist/assets/temp/bitbucket-logo.png +0 -0
- package/dist/assets/temp/github-logo.png +0 -0
- package/dist/assets/temp/header-hep-cat.mp4 +0 -0
- package/dist/assets/temp/header-hep-cat.ogg +0 -0
- package/dist/assets/temp/header-hep-cat.webm +0 -0
- package/dist/assets/temp/header-pengi.mp4 +0 -0
- package/dist/assets/temp/header-pengi.webm +0 -0
- package/dist/assets/temp/header-soulwork.mp4 +0 -0
- package/dist/assets/temp/header-soulwork.ogg +0 -0
- package/dist/assets/temp/header-soulwork.webm +0 -0
- package/dist/components/DialogOverlay.svelte +0 -93
- package/dist/components/DialogOverlay.svelte.d.ts +0 -14
- package/dist/components/LazyAsset.svelte +0 -96
- package/dist/components/LazyAsset.svelte.d.ts +0 -20
- package/dist/components/LazyAssetType.d.ts +0 -10
- package/dist/components/LazyAssetType.js +0 -12
- package/dist/components/PineappleBaseLayout.svelte +0 -186
- package/dist/components/PineappleBaseLayout.svelte.d.ts +0 -19
- package/dist/components/RandomizedBackground.svelte +0 -62
- package/dist/components/RandomizedBackground.svelte.d.ts +0 -16
- package/dist/components/RandomizedImage.svelte +0 -29
- package/dist/components/RandomizedImage.svelte.d.ts +0 -17
- package/dist/components/dialog_manager/DialogManager.d.ts +0 -77
- package/dist/components/dialog_manager/DialogManager.js +0 -239
- package/dist/components/dialog_manager/DialogManagerStore.d.ts +0 -41
- package/dist/components/dialog_manager/DialogManagerStore.js +0 -45
- package/dist/components/dialog_manager/DialogProcessor.d.ts +0 -13
- package/dist/components/dialog_manager/DialogProcessor.js +0 -62
- package/dist/components/dialog_manager/DialogUtils.d.ts +0 -5
- package/dist/components/dialog_manager/DialogUtils.js +0 -8
- package/dist/components/dialog_manager/behavior_tree/core/BTreeUtils.d.ts +0 -15
- package/dist/components/dialog_manager/behavior_tree/core/BTreeUtils.js +0 -34
- package/dist/components/dialog_manager/behavior_tree/core/BaseBehaviorResult.d.ts +0 -4
- package/dist/components/dialog_manager/behavior_tree/core/BaseBehaviorResult.js +0 -1
- package/dist/components/dialog_manager/behavior_tree/core/BehaviorNode.d.ts +0 -3
- package/dist/components/dialog_manager/behavior_tree/core/BehaviorNode.js +0 -1
- package/dist/components/dialog_manager/behavior_tree/core/BehaviorStatus.d.ts +0 -5
- package/dist/components/dialog_manager/behavior_tree/core/BehaviorStatus.js +0 -6
- package/dist/components/dialog_manager/behavior_tree/core/SelectorNode.d.ts +0 -12
- package/dist/components/dialog_manager/behavior_tree/core/SelectorNode.js +0 -22
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionArguments.d.ts +0 -5
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionArguments.js +0 -1
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionBehaviorNode.d.ts +0 -4
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionBehaviorNode.js +0 -1
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionEvaluator.d.ts +0 -15
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionEvaluator.js +0 -220
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionResult.d.ts +0 -5
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionResult.js +0 -1
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionSelectorNode.d.ts +0 -8
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionSelectorNode.js +0 -15
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionState.d.ts +0 -3
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionState.js +0 -1
- package/dist/components/dialog_manager/behavior_tree/expression/OperandNode.d.ts +0 -10
- package/dist/components/dialog_manager/behavior_tree/expression/OperandNode.js +0 -15
- package/dist/components/dialog_manager/behavior_tree/expression/OperatorNode.d.ts +0 -11
- package/dist/components/dialog_manager/behavior_tree/expression/OperatorNode.js +0 -30
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandExpressionNode.d.ts +0 -6
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandExpressionNode.js +0 -21
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandLogicNode.d.ts +0 -9
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandLogicNode.js +0 -19
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandMap.d.ts +0 -9
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandMap.js +0 -18
- package/dist/components/dialog_manager/behavior_tree/expression/commands/RandomRangeCommand.d.ts +0 -15
- package/dist/components/dialog_manager/behavior_tree/expression/commands/RandomRangeCommand.js +0 -24
- package/dist/components/dialog_manager/behavior_tree/expression/commands/VisitedCommand.d.ts +0 -20
- package/dist/components/dialog_manager/behavior_tree/expression/commands/VisitedCommand.js +0 -32
- package/dist/components/dialog_manager/behavior_tree/expression/commands/VisitedCountCommand.d.ts +0 -13
- package/dist/components/dialog_manager/behavior_tree/expression/commands/VisitedCountCommand.js +0 -25
- package/dist/components/dialog_manager/behavior_tree/expression/operators/AndOperator.d.ts +0 -7
- package/dist/components/dialog_manager/behavior_tree/expression/operators/AndOperator.js +0 -15
- package/dist/components/dialog_manager/behavior_tree/expression/operators/EqualityOperator.d.ts +0 -7
- package/dist/components/dialog_manager/behavior_tree/expression/operators/EqualityOperator.js +0 -14
- package/dist/components/dialog_manager/behavior_tree/expression/operators/GreaterThanEqualOperator.d.ts +0 -7
- package/dist/components/dialog_manager/behavior_tree/expression/operators/GreaterThanEqualOperator.js +0 -12
- package/dist/components/dialog_manager/behavior_tree/expression/operators/GreaterThanOperator.d.ts +0 -7
- package/dist/components/dialog_manager/behavior_tree/expression/operators/GreaterThanOperator.js +0 -12
- package/dist/components/dialog_manager/behavior_tree/expression/operators/InequalityOperator.d.ts +0 -7
- package/dist/components/dialog_manager/behavior_tree/expression/operators/InequalityOperator.js +0 -12
- package/dist/components/dialog_manager/behavior_tree/expression/operators/LessThanEqualOperator.d.ts +0 -7
- package/dist/components/dialog_manager/behavior_tree/expression/operators/LessThanEqualOperator.js +0 -12
- package/dist/components/dialog_manager/behavior_tree/expression/operators/LessThanOperator.d.ts +0 -7
- package/dist/components/dialog_manager/behavior_tree/expression/operators/LessThanOperator.js +0 -12
- package/dist/components/dialog_manager/behavior_tree/expression/operators/NegationOperator.d.ts +0 -7
- package/dist/components/dialog_manager/behavior_tree/expression/operators/NegationOperator.js +0 -13
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OperatorLogicNode.d.ts +0 -17
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OperatorLogicNode.js +0 -32
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OperatorMap.d.ts +0 -9
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OperatorMap.js +0 -47
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OrOperator.d.ts +0 -7
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OrOperator.js +0 -13
- package/dist/components/dialog_manager/behavior_tree/expression/operators/XorOperator.d.ts +0 -7
- package/dist/components/dialog_manager/behavior_tree/expression/operators/XorOperator.js +0 -17
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/DivisionOperator.d.ts +0 -7
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/DivisionOperator.js +0 -14
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MinusOperator.d.ts +0 -7
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MinusOperator.js +0 -14
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MultiplicationOperator.d.ts +0 -7
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MultiplicationOperator.js +0 -12
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/PlusOperator.d.ts +0 -7
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/PlusOperator.js +0 -14
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/RemainderDivisionOperator.d.ts +0 -7
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/RemainderDivisionOperator.js +0 -14
- package/dist/components/dialog_manager/behavior_tree/line_core/LineBehaviorNode.d.ts +0 -4
- package/dist/components/dialog_manager/behavior_tree/line_core/LineBehaviorNode.js +0 -1
- package/dist/components/dialog_manager/behavior_tree/line_core/LineBehaviorResult.d.ts +0 -6
- package/dist/components/dialog_manager/behavior_tree/line_core/LineBehaviorResult.js +0 -1
- package/dist/components/dialog_manager/behavior_tree/line_core/LineNodeArguments.d.ts +0 -6
- package/dist/components/dialog_manager/behavior_tree/line_core/LineNodeArguments.js +0 -1
- package/dist/components/dialog_manager/behavior_tree/line_core/LineSelectorNode.d.ts +0 -8
- package/dist/components/dialog_manager/behavior_tree/line_core/LineSelectorNode.js +0 -15
- package/dist/components/dialog_manager/behavior_tree/line_processors/BehaviorState.d.ts +0 -5
- package/dist/components/dialog_manager/behavior_tree/line_processors/BehaviorState.js +0 -5
- package/dist/components/dialog_manager/behavior_tree/line_processors/ElseIfNode.d.ts +0 -11
- package/dist/components/dialog_manager/behavior_tree/line_processors/ElseIfNode.js +0 -53
- package/dist/components/dialog_manager/behavior_tree/line_processors/ElseNode.d.ts +0 -11
- package/dist/components/dialog_manager/behavior_tree/line_processors/ElseNode.js +0 -49
- package/dist/components/dialog_manager/behavior_tree/line_processors/EndIfNode.d.ts +0 -11
- package/dist/components/dialog_manager/behavior_tree/line_processors/EndIfNode.js +0 -23
- package/dist/components/dialog_manager/behavior_tree/line_processors/IfMode.d.ts +0 -6
- package/dist/components/dialog_manager/behavior_tree/line_processors/IfMode.js +0 -8
- package/dist/components/dialog_manager/behavior_tree/line_processors/IfNode.d.ts +0 -12
- package/dist/components/dialog_manager/behavior_tree/line_processors/IfNode.js +0 -43
- package/dist/components/dialog_manager/behavior_tree/line_processors/IgnoreGuardNode.d.ts +0 -11
- package/dist/components/dialog_manager/behavior_tree/line_processors/IgnoreGuardNode.js +0 -25
- package/dist/components/dialog_manager/behavior_tree/line_processors/IgnoreJumpNode.d.ts +0 -6
- package/dist/components/dialog_manager/behavior_tree/line_processors/IgnoreJumpNode.js +0 -18
- package/dist/components/dialog_manager/behavior_tree/line_processors/LineCommentNode.d.ts +0 -6
- package/dist/components/dialog_manager/behavior_tree/line_processors/LineCommentNode.js +0 -17
- package/dist/components/dialog_manager/behavior_tree/line_processors/NormalLineProcessorNode.d.ts +0 -10
- package/dist/components/dialog_manager/behavior_tree/line_processors/NormalLineProcessorNode.js +0 -38
- package/dist/components/dialog_manager/behavior_tree/line_processors/SetVariableNode.d.ts +0 -11
- package/dist/components/dialog_manager/behavior_tree/line_processors/SetVariableNode.js +0 -31
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/DeclareCommand.d.ts +0 -8
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/DeclareCommand.js +0 -39
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/JumpCommand.d.ts +0 -8
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/JumpCommand.js +0 -40
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/UnvisitCommand.d.ts +0 -9
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/UnvisitCommand.js +0 -28
- package/dist/index.d.ts +0 -8
- package/dist/index.js +0 -8
- package/dist/scripts/SetDefaultEnvironment.d.ts +0 -1
- package/dist/scripts/SetDefaultEnvironment.js +0 -41
- package/dist/scripts/pineapple_fiber/PineappleWeaver.d.ts +0 -9
- package/dist/scripts/pineapple_fiber/PineappleWeaver.js +0 -201
- package/dist/scripts/util/FileManagement.d.ts +0 -7
- package/dist/scripts/util/FileManagement.js +0 -35
- package/dist/scripts/util/ManualCheck.d.ts +0 -1
- package/dist/scripts/util/ManualCheck.js +0 -28
- package/dist/scripts/util/ManualCheckRun.d.ts +0 -1
- package/dist/scripts/util/ManualCheckRun.js +0 -6
- package/dist/store.d.ts +0 -17
- package/dist/store.js +0 -17
- package/dist/styles/DefaultGridContainer.css +0 -61
- package/dist/theme.postcss +0 -107
- package/dist/types/BlogBlurbMeta.d.ts +0 -11
- package/dist/types/BlogBlurbMeta.js +0 -16
- package/dist/types/BreadcrumbData.d.ts +0 -4
- package/dist/types/BreadcrumbData.js +0 -1
- package/dist/types/pineapple_fiber/DialogDetail.d.ts +0 -6
- package/dist/types/pineapple_fiber/DialogDetail.js +0 -1
- package/dist/types/pineapple_fiber/DialogState.d.ts +0 -5
- package/dist/types/pineapple_fiber/DialogState.js +0 -6
- package/dist/types/pineapple_fiber/DialogVariableStore.d.ts +0 -2
- package/dist/types/pineapple_fiber/DialogVariableStore.js +0 -20
- package/dist/types/pineapple_fiber/PortraitType.d.ts +0 -11
- package/dist/types/pineapple_fiber/PortraitType.js +0 -12
- package/dist/util/stable_random.d.ts +0 -2
- package/dist/util/stable_random.js +0 -15
- package/src/lib/assets/icons/chat_cursor.svg +0 -47
- package/src/lib/assets/icons/external_link.svg +0 -50
- package/static/default-card.png +0 -0
- package/static/favicon.png +0 -0
- /package/{dist/assets/icons/chat_cursor.svg → src/lib/assets/icons/chat-cursor.svg} +0 -0
- /package/{dist/assets/icons/external_link.svg → src/lib/assets/icons/external-link.svg} +0 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
<script>import AresHappy from "../assets/characters/ares/ares_happy.webp";
|
|
2
|
-
import { onMount } from "svelte";
|
|
3
|
-
import { dialogManager } from "./dialog_manager/DialogManagerStore";
|
|
4
|
-
let currentMessage = "";
|
|
5
|
-
dialogManager.currentMessage.subscribe((value) => {
|
|
6
|
-
currentMessage = value;
|
|
7
|
-
});
|
|
8
|
-
let currentPortrait = AresHappy;
|
|
9
|
-
dialogManager.currentPortrait.subscribe((value) => {
|
|
10
|
-
if (value) {
|
|
11
|
-
currentPortrait = value;
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
onMount(() => {
|
|
15
|
-
dialogManager.update(0);
|
|
16
|
-
});
|
|
17
|
-
let hidePercent = 100;
|
|
18
|
-
dialogManager.hidePercent.subscribe((value) => {
|
|
19
|
-
hidePercent = value * 0.4;
|
|
20
|
-
});
|
|
21
|
-
const onDialogClick = () => {
|
|
22
|
-
dialogManager.skipAnimation();
|
|
23
|
-
};
|
|
24
|
-
</script>
|
|
25
|
-
|
|
26
|
-
<div class="dialog-elements" style="--hidePercentWidth: -{hidePercent}vw; --hidePercentHeight: {hidePercent}vh">
|
|
27
|
-
<img src={currentPortrait} alt="Ares" class="dialog-portrait" />
|
|
28
|
-
<div class="card dialog-box variant-ghost-primary" on:click={onDialogClick}>
|
|
29
|
-
<div class="card dialog-name">
|
|
30
|
-
<p><b>Turnip</b></p>
|
|
31
|
-
</div>
|
|
32
|
-
<section class="dialog-padding">
|
|
33
|
-
<!-- Made for 140 characters, like the original tweets -->
|
|
34
|
-
{@html currentMessage}
|
|
35
|
-
</section>
|
|
36
|
-
</div>
|
|
37
|
-
</div>
|
|
38
|
-
|
|
39
|
-
<style>
|
|
40
|
-
.dialog-elements {
|
|
41
|
-
position: absolute;
|
|
42
|
-
z-index: 10;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.dialog-elements > img {
|
|
46
|
-
transform: translateX(var(--hidePercentWidth));
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.dialog-elements > div {
|
|
50
|
-
transform: translateY(var(--hidePercentHeight));
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.dialog-box {
|
|
54
|
-
background-color: rgb(var(--color-surface-500) / 0.9);
|
|
55
|
-
position: fixed;
|
|
56
|
-
bottom: 0;
|
|
57
|
-
left: var(--dialog-left-pad);
|
|
58
|
-
|
|
59
|
-
width: var(--dialog-box-width); /*75em + 4em padding*/
|
|
60
|
-
height: var(--dialog-box-height);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.dialog-box *,
|
|
64
|
-
.dialog-name * {
|
|
65
|
-
font-size: clamp(1em, 5vw, 1.3em);
|
|
66
|
-
line-height: 1.5em;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.dialog-padding :global(p) {
|
|
70
|
-
font-size: clamp(1em, 5vw, 1.3em) !important;
|
|
71
|
-
line-height: 1.5em !important;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.dialog-padding {
|
|
75
|
-
padding: clamp(1.5em, 5vw, 1.75em) clamp(0em, 5vw - 0.5em, 2em) 0;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
.dialog-name {
|
|
79
|
-
@apply pt-2 px-4;
|
|
80
|
-
position: fixed;
|
|
81
|
-
|
|
82
|
-
/* for centering vertically */
|
|
83
|
-
transform: translateX(clamp(0em, 5vw - 0.5em, 1em)) translateY(-50%);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
.dialog-portrait {
|
|
87
|
-
position: fixed;
|
|
88
|
-
bottom: 0;
|
|
89
|
-
left: clamp(-4rem, calc(5vw - 5em), 0rem);
|
|
90
|
-
height: clamp(30rem, 75vw, 40rem);
|
|
91
|
-
width: auto;
|
|
92
|
-
}
|
|
93
|
-
</style>
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
|
-
declare const __propDef: {
|
|
3
|
-
props: Record<string, never>;
|
|
4
|
-
events: {
|
|
5
|
-
[evt: string]: CustomEvent<any>;
|
|
6
|
-
};
|
|
7
|
-
slots: {};
|
|
8
|
-
};
|
|
9
|
-
export type DialogOverlayProps = typeof __propDef.props;
|
|
10
|
-
export type DialogOverlayEvents = typeof __propDef.events;
|
|
11
|
-
export type DialogOverlaySlots = typeof __propDef.slots;
|
|
12
|
-
export default class DialogOverlay extends SvelteComponent<DialogOverlayProps, DialogOverlayEvents, DialogOverlaySlots> {
|
|
13
|
-
}
|
|
14
|
-
export {};
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
<script>import { LazyAssetStatus, LazyAssetType } from "./LazyAssetType";
|
|
2
|
-
import BgTiledAres from "../assets/bg_tiled/bg_tiled_ares.png";
|
|
3
|
-
import { onMount } from "svelte";
|
|
4
|
-
export let src;
|
|
5
|
-
export let alt;
|
|
6
|
-
export let width;
|
|
7
|
-
export let height;
|
|
8
|
-
export let props = {};
|
|
9
|
-
props = {
|
|
10
|
-
...props,
|
|
11
|
-
alt,
|
|
12
|
-
width,
|
|
13
|
-
height
|
|
14
|
-
};
|
|
15
|
-
let extension = "";
|
|
16
|
-
const getAssetType = () => {
|
|
17
|
-
const srcArray = src.split(".");
|
|
18
|
-
extension = srcArray[srcArray.length - 1];
|
|
19
|
-
switch (extension) {
|
|
20
|
-
case "png":
|
|
21
|
-
case "webp":
|
|
22
|
-
case "gif":
|
|
23
|
-
case "jpg":
|
|
24
|
-
return LazyAssetType.Image;
|
|
25
|
-
case "ogg":
|
|
26
|
-
case "webm":
|
|
27
|
-
case "mp4":
|
|
28
|
-
return LazyAssetType.Video;
|
|
29
|
-
default:
|
|
30
|
-
console.log(`Unknown asset type for: ${src}`);
|
|
31
|
-
return LazyAssetType.Unknown;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
const assetType = getAssetType();
|
|
35
|
-
let actualSrc = "";
|
|
36
|
-
let status = LazyAssetStatus.Loading;
|
|
37
|
-
onMount(async () => {
|
|
38
|
-
const path = src.includes("https://") ? src : `${window.location.origin}${src}`;
|
|
39
|
-
switch (assetType) {
|
|
40
|
-
case LazyAssetType.Image: {
|
|
41
|
-
const img = new Image();
|
|
42
|
-
img.onload = () => {
|
|
43
|
-
actualSrc = path;
|
|
44
|
-
status = LazyAssetStatus.Loaded;
|
|
45
|
-
};
|
|
46
|
-
img.src = path;
|
|
47
|
-
break;
|
|
48
|
-
}
|
|
49
|
-
case LazyAssetType.Video: {
|
|
50
|
-
fetch(path).then((resp) => resp.blob()).then((blob) => {
|
|
51
|
-
actualSrc = URL.createObjectURL(blob);
|
|
52
|
-
status = LazyAssetStatus.Loaded;
|
|
53
|
-
}).catch((error) => {
|
|
54
|
-
console.warn(error);
|
|
55
|
-
status = LazyAssetStatus.Error;
|
|
56
|
-
});
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
case LazyAssetType.Unknown: {
|
|
60
|
-
console.warn("Unknown asset: ", path);
|
|
61
|
-
status = LazyAssetStatus.Error;
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
</script>
|
|
67
|
-
|
|
68
|
-
{#if status === LazyAssetStatus.Loaded}
|
|
69
|
-
{#if assetType === LazyAssetType.Image}
|
|
70
|
-
<img src={actualSrc} alt="Placeholder image" {...props} />
|
|
71
|
-
{:else if assetType === LazyAssetType.Video}
|
|
72
|
-
<video playsinline autoplay muted loop {...props} poster={BgTiledAres} style="object-fit: scale-down">
|
|
73
|
-
<source src={actualSrc} type={`video/${extension}`} />
|
|
74
|
-
Your browser does not support the video tag.
|
|
75
|
-
</video>
|
|
76
|
-
{:else}
|
|
77
|
-
<img src={actualSrc} alt="Placeholder image" />
|
|
78
|
-
{/if}
|
|
79
|
-
{:else}
|
|
80
|
-
<img class="rotate" src={BgTiledAres} {...props} style="object-fit: scale-down" />
|
|
81
|
-
{/if}
|
|
82
|
-
|
|
83
|
-
<style>
|
|
84
|
-
.rotate {
|
|
85
|
-
animation: rotation 4s infinite linear;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
@keyframes rotation {
|
|
89
|
-
from {
|
|
90
|
-
transform: rotate(0deg);
|
|
91
|
-
}
|
|
92
|
-
to {
|
|
93
|
-
transform: rotate(359deg);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
</style>
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
|
-
declare const __propDef: {
|
|
3
|
-
props: {
|
|
4
|
-
src: string;
|
|
5
|
-
alt: string;
|
|
6
|
-
width: string;
|
|
7
|
-
height: string;
|
|
8
|
-
props?: {} | undefined;
|
|
9
|
-
};
|
|
10
|
-
events: {
|
|
11
|
-
[evt: string]: CustomEvent<any>;
|
|
12
|
-
};
|
|
13
|
-
slots: {};
|
|
14
|
-
};
|
|
15
|
-
export type LazyAssetProps = typeof __propDef.props;
|
|
16
|
-
export type LazyAssetEvents = typeof __propDef.events;
|
|
17
|
-
export type LazyAssetSlots = typeof __propDef.slots;
|
|
18
|
-
export default class LazyAsset extends SvelteComponent<LazyAssetProps, LazyAssetEvents, LazyAssetSlots> {
|
|
19
|
-
}
|
|
20
|
-
export {};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export var LazyAssetType;
|
|
2
|
-
(function (LazyAssetType) {
|
|
3
|
-
LazyAssetType[LazyAssetType["Image"] = 0] = "Image";
|
|
4
|
-
LazyAssetType[LazyAssetType["Video"] = 1] = "Video";
|
|
5
|
-
LazyAssetType[LazyAssetType["Unknown"] = 2] = "Unknown";
|
|
6
|
-
})(LazyAssetType || (LazyAssetType = {}));
|
|
7
|
-
export var LazyAssetStatus;
|
|
8
|
-
(function (LazyAssetStatus) {
|
|
9
|
-
LazyAssetStatus[LazyAssetStatus["Loading"] = 0] = "Loading";
|
|
10
|
-
LazyAssetStatus[LazyAssetStatus["Loaded"] = 1] = "Loaded";
|
|
11
|
-
LazyAssetStatus[LazyAssetStatus["Error"] = 2] = "Error";
|
|
12
|
-
})(LazyAssetStatus || (LazyAssetStatus = {}));
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
<script>import "../theme.postcss";
|
|
2
|
-
import "@skeletonlabs/skeleton/styles/all.css";
|
|
3
|
-
import "../app.postcss";
|
|
4
|
-
import { AppBar, AppShell, autoModeWatcher, LightSwitch } from "@skeletonlabs/skeleton";
|
|
5
|
-
import RandomizedBackground from "./RandomizedBackground.svelte";
|
|
6
|
-
import { page } from "$app/stores";
|
|
7
|
-
import { enableBackground } from "../store";
|
|
8
|
-
import DialogOverlay from "./DialogOverlay.svelte";
|
|
9
|
-
import AresLogo from "../assets/characters/ares/ares_logo.webp";
|
|
10
|
-
import { enableDialogueOverlay } from "./dialog_manager/DialogManagerStore";
|
|
11
|
-
let pages = [];
|
|
12
|
-
const updateBreadcrumb = (pathname) => {
|
|
13
|
-
pages = [];
|
|
14
|
-
let basePath = "";
|
|
15
|
-
pathname.split("/").forEach((value, index) => {
|
|
16
|
-
if (index === 0) {
|
|
17
|
-
basePath = "/";
|
|
18
|
-
pages.push({
|
|
19
|
-
path: "/",
|
|
20
|
-
name: "Home"
|
|
21
|
-
});
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
if (value === "") {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
basePath += value + "/";
|
|
28
|
-
pages.push({
|
|
29
|
-
path: basePath,
|
|
30
|
-
name: value
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
pages = pages;
|
|
34
|
-
};
|
|
35
|
-
$:
|
|
36
|
-
updateBreadcrumb($page.url.pathname);
|
|
37
|
-
let enableBackgroundValue = true;
|
|
38
|
-
enableBackground.subscribe((value) => {
|
|
39
|
-
enableBackgroundValue = value;
|
|
40
|
-
});
|
|
41
|
-
let enableDialogueOverlayValue = true;
|
|
42
|
-
enableDialogueOverlay.subscribe((value) => {
|
|
43
|
-
enableDialogueOverlayValue = value;
|
|
44
|
-
});
|
|
45
|
-
</script>
|
|
46
|
-
|
|
47
|
-
<!-- App Shell -->
|
|
48
|
-
<svelte:head>
|
|
49
|
-
{@html `<script>${autoModeWatcher.toString()} autoModeWatcher();</script>`}
|
|
50
|
-
</svelte:head>
|
|
51
|
-
|
|
52
|
-
<AppShell>
|
|
53
|
-
<svelte:fragment slot="header">
|
|
54
|
-
<!-- App Bar -->
|
|
55
|
-
<AppBar slotDefault="place-content-start" slotTrail="place-content-end">
|
|
56
|
-
<svelte:fragment slot="lead">
|
|
57
|
-
<!--TODO: add logo or something for the lead in layout-->
|
|
58
|
-
<img
|
|
59
|
-
alt="Ares's head titled towards the left with his tongue out and winking"
|
|
60
|
-
class="ares-logo"
|
|
61
|
-
src={AresLogo}
|
|
62
|
-
/>
|
|
63
|
-
<span class="mr-2" />
|
|
64
|
-
<ol class="breadcrumb">
|
|
65
|
-
{#each pages as crumb, i}
|
|
66
|
-
{#if i < pages.length - 1}
|
|
67
|
-
<li class="crumb">
|
|
68
|
-
<a href={crumb.path}>{crumb.name.charAt(0).toUpperCase() + crumb.name.slice(1)}</a>
|
|
69
|
-
</li>
|
|
70
|
-
<li class="crumb-separator" aria-hidden="true">›</li>
|
|
71
|
-
{:else}
|
|
72
|
-
<li class="crumb">{crumb.name.charAt(0).toUpperCase() + crumb.name.slice(1)}</li>
|
|
73
|
-
{/if}
|
|
74
|
-
{/each}
|
|
75
|
-
</ol>
|
|
76
|
-
</svelte:fragment>
|
|
77
|
-
<svelte:fragment slot="trail">
|
|
78
|
-
<LightSwitch bgLight="bg-surface-400" />
|
|
79
|
-
</svelte:fragment>
|
|
80
|
-
</AppBar>
|
|
81
|
-
</svelte:fragment>
|
|
82
|
-
|
|
83
|
-
<RandomizedBackground enable={enableBackgroundValue} />
|
|
84
|
-
|
|
85
|
-
{#if enableDialogueOverlayValue}
|
|
86
|
-
<!-- Page Route Content -->
|
|
87
|
-
<div class="default-page-container">
|
|
88
|
-
<slot />
|
|
89
|
-
<div class="footer-space" />
|
|
90
|
-
</div>
|
|
91
|
-
<DialogOverlay />
|
|
92
|
-
{:else}
|
|
93
|
-
<DialogOverlay />
|
|
94
|
-
<slot />
|
|
95
|
-
{/if}
|
|
96
|
-
</AppShell>
|
|
97
|
-
|
|
98
|
-
<style>
|
|
99
|
-
:root {
|
|
100
|
-
--dialog-left-pad: clamp(0em, 5vw, 2em);
|
|
101
|
-
--dialog-box-width: min(calc(50em + 4em), calc(100vw - var(--dialog-left-pad) - var(--theme-border-base)));
|
|
102
|
-
--dialog-box-height: clamp(15em, 50vw, 18em);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
.default-page-container {
|
|
106
|
-
display: flex;
|
|
107
|
-
align-items: center;
|
|
108
|
-
justify-content: center;
|
|
109
|
-
margin-top: 4em;
|
|
110
|
-
margin-left: clamp(1em, 15vw, 10em);
|
|
111
|
-
margin-right: 1em;
|
|
112
|
-
flex-direction: column;
|
|
113
|
-
z-index: 0;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
.ares-logo {
|
|
117
|
-
-o-object-fit: contain;
|
|
118
|
-
object-fit: contain;
|
|
119
|
-
height: 2em;
|
|
120
|
-
margin-inline-end: 0.5em;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/* breadcrumb does not work due to a lot of magic stuff i do
|
|
124
|
-
the code below is from skeleton's tailwind css:
|
|
125
|
-
https://github.com/skeletonlabs/skeleton/blob/54f4ecedabf2be6d94a670b56dc8821095ca3fc9/packages/plugin/src/styles/components/breadcrumbs.css
|
|
126
|
-
|
|
127
|
-
it likely disappeared due to code gen shenanigans and package magic */
|
|
128
|
-
.breadcrumb,
|
|
129
|
-
.breadcrumb-nonresponsive {
|
|
130
|
-
display: flex;
|
|
131
|
-
width: 100%;
|
|
132
|
-
align-items: center;
|
|
133
|
-
}
|
|
134
|
-
.breadcrumb > :not([hidden]) ~ :not([hidden]),
|
|
135
|
-
.breadcrumb-nonresponsive > :not([hidden]) ~ :not([hidden]) {
|
|
136
|
-
--tw-space-x-reverse: 0;
|
|
137
|
-
margin-right: calc(1rem * var(--tw-space-x-reverse));
|
|
138
|
-
margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
|
|
139
|
-
}
|
|
140
|
-
.breadcrumb,
|
|
141
|
-
.breadcrumb-nonresponsive {
|
|
142
|
-
overflow-x: auto;
|
|
143
|
-
/*@apply flex items-center space-x-4 w-full hide-scrollbar overflow-x-auto;*/
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
.crumb {
|
|
147
|
-
display: flex;
|
|
148
|
-
align-items: center;
|
|
149
|
-
justify-content: center;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
.crumb > :not([hidden]) ~ :not([hidden]) {
|
|
153
|
-
--tw-space-x-reverse: 0;
|
|
154
|
-
margin-right: calc(0.5rem * var(--tw-space-x-reverse));
|
|
155
|
-
margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
|
|
156
|
-
}
|
|
157
|
-
.dark .crumb-separator {
|
|
158
|
-
color: rgb(var(--color-surface-200));
|
|
159
|
-
}
|
|
160
|
-
.crumb-separator {
|
|
161
|
-
display: flex;
|
|
162
|
-
opacity: 0.5;
|
|
163
|
-
color: rgb(var(--color-surface-700));
|
|
164
|
-
}
|
|
165
|
-
.dark .crumb-separator {
|
|
166
|
-
color: rgb(var(--color-surface-200));
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/* === Auto-Responsive === */
|
|
170
|
-
|
|
171
|
-
.breadcrumb li {
|
|
172
|
-
display: none;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
@media (min-width: 768px) {
|
|
176
|
-
|
|
177
|
-
.breadcrumb li {
|
|
178
|
-
display: block;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
.breadcrumb li:nth-last-child(3),
|
|
182
|
-
.breadcrumb li:nth-last-child(2),
|
|
183
|
-
.breadcrumb li:nth-last-child(1) {
|
|
184
|
-
display: block;
|
|
185
|
-
}
|
|
186
|
-
</style>
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
|
-
import "../theme.postcss";
|
|
3
|
-
import "@skeletonlabs/skeleton/styles/all.css";
|
|
4
|
-
import "../app.postcss";
|
|
5
|
-
declare const __propDef: {
|
|
6
|
-
props: Record<string, never>;
|
|
7
|
-
events: {
|
|
8
|
-
[evt: string]: CustomEvent<any>;
|
|
9
|
-
};
|
|
10
|
-
slots: {
|
|
11
|
-
default: {};
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
export type PineappleBaseLayoutProps = typeof __propDef.props;
|
|
15
|
-
export type PineappleBaseLayoutEvents = typeof __propDef.events;
|
|
16
|
-
export type PineappleBaseLayoutSlots = typeof __propDef.slots;
|
|
17
|
-
export default class PineappleBaseLayout extends SvelteComponent<PineappleBaseLayoutProps, PineappleBaseLayoutEvents, PineappleBaseLayoutSlots> {
|
|
18
|
-
}
|
|
19
|
-
export {};
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
<script>import { generatedDailySeed, mulberry32Generator } from "../util/stable_random";
|
|
2
|
-
import BgTiledAres from "../assets/bg_tiled/bg_tiled_ares.png";
|
|
3
|
-
import BgTiledCorn from "../assets/bg_tiled/bg_tiled_corn.png";
|
|
4
|
-
import BgTiledPineapple from "../assets/bg_tiled/bg_tiled_pineapple.png";
|
|
5
|
-
import BgTiledReinhard from "../assets/bg_tiled/bg_tiled_reinhard.png";
|
|
6
|
-
import BgTiledTomato from "../assets/bg_tiled/bg_tiled_tomato.png";
|
|
7
|
-
import BgTiledTurnip from "../assets/bg_tiled/bg_tiled_turnip.png";
|
|
8
|
-
import RandomizedImage from "./RandomizedImage.svelte";
|
|
9
|
-
export let enable;
|
|
10
|
-
const imageList = [BgTiledAres, BgTiledCorn, BgTiledPineapple, BgTiledReinhard, BgTiledTomato, BgTiledTurnip];
|
|
11
|
-
const seed = generatedDailySeed();
|
|
12
|
-
const rng = mulberry32Generator(seed);
|
|
13
|
-
const shuffle = (array) => {
|
|
14
|
-
let currentIndex = array.length, randomIndex;
|
|
15
|
-
while (currentIndex != 0) {
|
|
16
|
-
randomIndex = Math.floor(rng() * currentIndex);
|
|
17
|
-
currentIndex--;
|
|
18
|
-
[array[currentIndex], array[randomIndex]] = [array[randomIndex], array[currentIndex]];
|
|
19
|
-
}
|
|
20
|
-
return array;
|
|
21
|
-
};
|
|
22
|
-
let generatedImageList = [];
|
|
23
|
-
let component;
|
|
24
|
-
for (let i = 0; i < 20; i++) {
|
|
25
|
-
shuffle(imageList);
|
|
26
|
-
generatedImageList = generatedImageList.concat(imageList);
|
|
27
|
-
}
|
|
28
|
-
</script>
|
|
29
|
-
|
|
30
|
-
<svelte:head>
|
|
31
|
-
<!-- from: https://dev.to/khromov/preloading-images-in-svelte-465h -->
|
|
32
|
-
{#each imageList as image}
|
|
33
|
-
<link rel="preload" as="image" href={image} />
|
|
34
|
-
{/each}
|
|
35
|
-
<link
|
|
36
|
-
as="video"
|
|
37
|
-
href="https://video.twimg.com/ext_tw_video/1318728494256410624/pu/vid/640x360/TMklz6hiTkQu3xhn.mp4"
|
|
38
|
-
rel="preload"
|
|
39
|
-
/>
|
|
40
|
-
</svelte:head>
|
|
41
|
-
|
|
42
|
-
{#if enable}
|
|
43
|
-
<div class="default-background" aria-hidden="true">
|
|
44
|
-
{#each generatedImageList as imageItem}
|
|
45
|
-
<svelte:component this={RandomizedImage} src={imageItem} {rng} />
|
|
46
|
-
{/each}
|
|
47
|
-
</div>
|
|
48
|
-
{/if}
|
|
49
|
-
|
|
50
|
-
<style>
|
|
51
|
-
.default-background {
|
|
52
|
-
position: fixed;
|
|
53
|
-
display: flex;
|
|
54
|
-
margin-top: -8rem;
|
|
55
|
-
margin-left: -8rem;
|
|
56
|
-
width: calc(100vw + 16rem);
|
|
57
|
-
height: calc(100vh + 16rem);
|
|
58
|
-
flex-wrap: wrap;
|
|
59
|
-
overflow: hidden;
|
|
60
|
-
z-index: -10;
|
|
61
|
-
}
|
|
62
|
-
</style>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
|
-
declare const __propDef: {
|
|
3
|
-
props: {
|
|
4
|
-
enable: any;
|
|
5
|
-
};
|
|
6
|
-
events: {
|
|
7
|
-
[evt: string]: CustomEvent<any>;
|
|
8
|
-
};
|
|
9
|
-
slots: {};
|
|
10
|
-
};
|
|
11
|
-
export type RandomizedBackgroundProps = typeof __propDef.props;
|
|
12
|
-
export type RandomizedBackgroundEvents = typeof __propDef.events;
|
|
13
|
-
export type RandomizedBackgroundSlots = typeof __propDef.slots;
|
|
14
|
-
export default class RandomizedBackground extends SvelteComponent<RandomizedBackgroundProps, RandomizedBackgroundEvents, RandomizedBackgroundSlots> {
|
|
15
|
-
}
|
|
16
|
-
export {};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
<script>export let src;
|
|
2
|
-
export let rng;
|
|
3
|
-
let rotateRandom = rng() * 90 - 45;
|
|
4
|
-
const paddingLeft = 1 + rng() * 5;
|
|
5
|
-
const paddingRight = 1 + rng() * 5;
|
|
6
|
-
const paddingTop = 1 + rng() * 7;
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
|
-
<div
|
|
10
|
-
style="--paddingTop: {paddingTop}rem;
|
|
11
|
-
--paddingLeft: {paddingLeft}rem;
|
|
12
|
-
--paddingRight: {paddingRight}rem;"
|
|
13
|
-
>
|
|
14
|
-
<img {src} aria-hidden="true" style="--rotateRandom:{rotateRandom}deg;" alt="" />
|
|
15
|
-
</div>
|
|
16
|
-
|
|
17
|
-
<style>
|
|
18
|
-
div {
|
|
19
|
-
padding-top: var(--paddingTop);
|
|
20
|
-
padding-left: var(--paddingLeft);
|
|
21
|
-
padding-right: var(--paddingRight);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
img {
|
|
25
|
-
width: 8rem;
|
|
26
|
-
height: 8rem;
|
|
27
|
-
transform: rotate(var(--rotateRandom));
|
|
28
|
-
}
|
|
29
|
-
</style>
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
|
-
declare const __propDef: {
|
|
3
|
-
props: {
|
|
4
|
-
src: URL;
|
|
5
|
-
rng: () => number;
|
|
6
|
-
};
|
|
7
|
-
events: {
|
|
8
|
-
[evt: string]: CustomEvent<any>;
|
|
9
|
-
};
|
|
10
|
-
slots: {};
|
|
11
|
-
};
|
|
12
|
-
export type RandomizedImageProps = typeof __propDef.props;
|
|
13
|
-
export type RandomizedImageEvents = typeof __propDef.events;
|
|
14
|
-
export type RandomizedImageSlots = typeof __propDef.slots;
|
|
15
|
-
export default class RandomizedImage extends SvelteComponent<RandomizedImageProps, RandomizedImageEvents, RandomizedImageSlots> {
|
|
16
|
-
}
|
|
17
|
-
export {};
|