@turnipxenon/pineapple 3.0.0-alpha.9 → 3.0.0
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/dist/components/blog_template/BlogTemplate.svelte +1 -1
- package/dist/components/dialog_manager/DialogManager.d.ts +2 -1
- package/dist/components/dialog_manager/DialogMangerInit.d.ts +2 -15
- package/dist/components/dialog_manager/DialogMangerInit.js +8 -2
- package/dist/components/dialog_manager/IDialogManager.d.ts +39 -0
- package/dist/components/dialog_manager/IDialogManager.js +4 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/JumpCommand.d.ts +3 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/JumpCommand.js +15 -3
- package/dist/components/dialog_overlay/DialogOverlay.svelte +31 -22
- package/dist/components/pineapple/PineappleBaseLayout.svelte +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -2
- package/dist/ui/components/SocialSection.svelte +6 -2
- package/dist/ui/elements/{pinya-button/component.svelte → PinyaButton/PinyaButton.svelte} +4 -3
- package/dist/ui/elements/PinyaButton/PinyaButton.svelte.d.ts +4 -0
- package/dist/ui/elements/{pinya-button/props.d.ts → PinyaButton/PinyaButtonProps.d.ts} +1 -0
- package/dist/ui/elements/PinyaButton/index.d.ts +2 -0
- package/dist/ui/elements/PinyaButton/index.js +2 -0
- package/dist/ui/elements/index.d.ts +1 -1
- package/dist/ui/elements/index.js +1 -1
- package/dist/ui/elements/pinya-combobox/PinyaComboboxProps.d.ts +1 -0
- package/dist/ui/modules/modals/general-settings/LanguagePicker.svelte +7 -2
- package/dist/ui/modules/projects/Hepcat.svelte +6 -4
- package/dist/ui/modules/projects/Hepcat.svelte.d.ts +1 -1
- package/dist/ui/modules/projects/Pengi.svelte +6 -4
- package/dist/ui/modules/projects/Pengi.svelte.d.ts +1 -1
- package/dist/ui/modules/projects/Soulwork.svelte +7 -5
- package/dist/ui/modules/projects/ThisWebpage.svelte +9 -8
- package/dist/ui/modules/projects/ThisWebpage.svelte.d.ts +1 -1
- package/dist/ui/templates/{pinya-page-layout/component.svelte → PinyaPageLayout/PinyaPageLayout.svelte} +1 -1
- package/dist/ui/templates/PinyaPageLayout/PinyaPageLayout.svelte.d.ts +9 -0
- package/dist/ui/templates/PinyaPageLayout/index.d.ts +2 -0
- package/dist/ui/templates/PinyaPageLayout/index.js +2 -0
- package/dist/ui/templates/{pinya-page-layout → PinyaPageLayout}/runes.svelte.d.ts +1 -0
- package/dist/ui/templates/PinyaPageLayout/runes.svelte.js +4 -0
- package/dist/{template/seaweed → ui/templates/SeaweedLayout}/CreateUrlForm.svelte +2 -2
- package/dist/ui/templates/SeaweedLayout/EntryOrderConfig.svelte.d.ts +9 -0
- package/dist/ui/templates/{seaweed-layout → SeaweedLayout}/ProjectGroupConfig.svelte.d.ts +1 -1
- package/dist/ui/templates/{seaweed-layout → SeaweedLayout}/SeaweedLayout.svelte +6 -6
- package/dist/ui/templates/confirmation-modal/component.svelte +1 -1
- package/dist/ui/templates/index.d.ts +2 -2
- package/dist/ui/templates/index.js +2 -2
- package/package.json +3 -2
- package/dist/template/seaweed/ParseQueryTerms.d.ts +0 -1
- package/dist/template/seaweed/ParseQueryTerms.js +0 -23
- package/dist/template/seaweed/RunChaos.d.ts +0 -1
- package/dist/template/seaweed/RunChaos.js +0 -41
- package/dist/template/seaweed/SeaweedTemplate.svelte +0 -336
- package/dist/template/seaweed/SeaweedTemplate.svelte.d.ts +0 -32
- package/dist/template/seaweed/SeaweedTemplateData.d.ts +0 -30
- package/dist/template/seaweed/SeaweedTemplateData.js +0 -79
- package/dist/template/seaweed/entries/ChefWings.svelte +0 -45
- package/dist/template/seaweed/entries/ChefWings.svelte.d.ts +0 -7
- package/dist/template/seaweed/entries/CustomizedYarnspinner.svelte +0 -40
- package/dist/template/seaweed/entries/CustomizedYarnspinner.svelte.d.ts +0 -7
- package/dist/template/seaweed/entries/EntryProps.d.ts +0 -16
- package/dist/template/seaweed/entries/EntryProps.js +0 -5
- package/dist/template/seaweed/entries/Hepcat.svelte +0 -64
- package/dist/template/seaweed/entries/Hepcat.svelte.d.ts +0 -7
- package/dist/template/seaweed/entries/Pengi.svelte +0 -57
- package/dist/template/seaweed/entries/Pengi.svelte.d.ts +0 -7
- package/dist/template/seaweed/entries/Soulwork.svelte +0 -54
- package/dist/template/seaweed/entries/Soulwork.svelte.d.ts +0 -7
- package/dist/template/seaweed/entries/ThisWebpage.svelte +0 -55
- package/dist/template/seaweed/entries/ThisWebpage.svelte.d.ts +0 -7
- package/dist/template/seaweed/entries/WorkExperience.svelte +0 -130
- package/dist/template/seaweed/entries/WorkExperience.svelte.d.ts +0 -8
- package/dist/template/seaweed/entries/Workset.svelte +0 -57
- package/dist/template/seaweed/entries/Workset.svelte.d.ts +0 -7
- package/dist/template/seaweed/entry_order_config/EntryOrderConfig.d.ts +0 -1
- package/dist/template/seaweed/entry_order_config/EntryOrderConfig.js +0 -8
- package/dist/template/seaweed/entry_order_config/EntryOrderConfig.svelte +0 -297
- package/dist/template/seaweed/entry_order_config/EntryOrderConfig.svelte.d.ts +0 -12
- package/dist/template/seaweed/entry_order_config/entry-order-config.postcss +0 -35
- package/dist/template/seaweed/index.d.ts +0 -4
- package/dist/template/seaweed/index.js +0 -4
- package/dist/template/seaweed/seaweed.postcss +0 -125
- package/dist/ui/elements/pinya-button/component.svelte.d.ts +0 -4
- package/dist/ui/elements/pinya-button/index.d.ts +0 -2
- package/dist/ui/elements/pinya-button/index.js +0 -2
- package/dist/ui/templates/pinya-page-layout/component.svelte.d.ts +0 -9
- package/dist/ui/templates/pinya-page-layout/index.d.ts +0 -2
- package/dist/ui/templates/pinya-page-layout/index.js +0 -2
- package/dist/ui/templates/pinya-page-layout/runes.svelte.js +0 -3
- package/dist/ui/templates/seaweed-layout/EntryOrderConfig2.svelte.d.ts +0 -9
- /package/dist/ui/elements/{pinya-button/props.js → PinyaButton/PinyaButtonProps.js} +0 -0
- /package/dist/{template/seaweed → ui/templates/SeaweedLayout}/CreateUrlForm.svelte.d.ts +0 -0
- /package/dist/ui/templates/{seaweed-layout → SeaweedLayout}/EntryGroup.svelte +0 -0
- /package/dist/ui/templates/{seaweed-layout → SeaweedLayout}/EntryGroup.svelte.d.ts +0 -0
- /package/dist/ui/templates/{seaweed-layout/EntryOrderConfig2.svelte → SeaweedLayout/EntryOrderConfig.svelte} +0 -0
- /package/dist/ui/templates/{seaweed-layout → SeaweedLayout}/ProjectComponentProps.d.ts +0 -0
- /package/dist/ui/templates/{seaweed-layout → SeaweedLayout}/ProjectComponentProps.js +0 -0
- /package/dist/ui/templates/{seaweed-layout → SeaweedLayout}/ProjectGroupConfig.svelte +0 -0
- /package/dist/ui/templates/{seaweed-layout → SeaweedLayout}/SeaweedLayout.md +0 -0
- /package/dist/ui/templates/{seaweed-layout → SeaweedLayout}/SeaweedLayout.svelte.d.ts +0 -0
- /package/dist/{template/seaweed → ui/templates/SeaweedLayout}/ToastSettings.d.ts +0 -0
- /package/dist/{template/seaweed → ui/templates/SeaweedLayout}/ToastSettings.js +0 -0
- /package/dist/ui/templates/{seaweed-layout → SeaweedLayout}/index.d.ts +0 -0
- /package/dist/ui/templates/{seaweed-layout → SeaweedLayout}/index.js +0 -0
- /package/dist/ui/templates/{seaweed-layout → SeaweedLayout}/props.d.ts +0 -0
- /package/dist/ui/templates/{seaweed-layout → SeaweedLayout}/props.js +0 -0
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import BlogTemplateInner from "./BlogTemplateInner.svelte";
|
|
6
6
|
import type { SimplePageMeta } from "../navigation_component/index";
|
|
7
7
|
import { enableDialogueOverlay } from "../dialog_manager/DialogManagerStore";
|
|
8
|
-
import { Card } from "../
|
|
8
|
+
import { default as Card } from "../Card.svelte";
|
|
9
9
|
|
|
10
10
|
// grab page meta from the adjacent meta.json
|
|
11
11
|
interface Props {
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
import type { DialogDetail } from "../../types/pineapple_fiber/DialogDetail";
|
|
5
5
|
import { DialogState } from "../../types/pineapple_fiber/DialogState";
|
|
6
6
|
import { DialogProcessor } from "./DialogProcessor";
|
|
7
|
+
import type { IDialogManager } from "./IDialogManager";
|
|
7
8
|
export type OnSetDialogChoiceCallback = (newMessage: DialogDetail) => void;
|
|
8
|
-
export declare class DialogManager {
|
|
9
|
+
export declare class DialogManager implements IDialogManager {
|
|
9
10
|
dialogMessageMap: Map<string, DialogDetail>;
|
|
10
11
|
currentDialogTree: DialogDetail[];
|
|
11
12
|
fullCurrentMessage: string;
|
|
@@ -1,15 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
* strictly must be declared last! or you might receive a weird error that looks like:
|
|
4
|
-
*
|
|
5
|
-
* 2:04:21 AM [vite] Error when evaluating SSR module /src/lib/components/dialog_manager/DialogManagerStore.ts:
|
|
6
|
-
* |- TypeError: Cannot read properties of undefined (reading '0')
|
|
7
|
-
* at <instance_members_initializer> (/src/lib/components/dialog_manager/DialogManager.ts:38:67)
|
|
8
|
-
* at new DialogManager (/src/lib/components/dialog_manager/DialogManager.ts:53:14)
|
|
9
|
-
* at eval (/src/lib/components/dialog_manager/DialogManagerStore.ts:15:23)
|
|
10
|
-
* at async instantiateModule (file:///C:/Users/Pumpkin/Projects/Web/pineapple/node_modules/vite/dist/node/chunks/dep-934dbc7c.js:54360:9)
|
|
11
|
-
*
|
|
12
|
-
* what this means is that one member of dialogManager cannot be initialized. in our case, it was the
|
|
13
|
-
* defaultDialogMessage not yet being initialized
|
|
14
|
-
*/
|
|
15
|
-
export declare const dialogManager: DialogManager;
|
|
1
|
+
import type { IDialogManager } from "./IDialogManager";
|
|
2
|
+
export declare const getDialogManager: () => Promise<IDialogManager>;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { DialogManager } from "./DialogManager";
|
|
2
1
|
/**
|
|
3
2
|
* strictly must be declared last! or you might receive a weird error that looks like:
|
|
4
3
|
*
|
|
@@ -12,4 +11,11 @@ import { DialogManager } from "./DialogManager";
|
|
|
12
11
|
* what this means is that one member of dialogManager cannot be initialized. in our case, it was the
|
|
13
12
|
* defaultDialogMessage not yet being initialized
|
|
14
13
|
*/
|
|
15
|
-
|
|
14
|
+
let _dialogManager = undefined;
|
|
15
|
+
export const getDialogManager = async () => {
|
|
16
|
+
if (_dialogManager === undefined) {
|
|
17
|
+
const dm = await import('./DialogManager');
|
|
18
|
+
_dialogManager = new dm.DialogManager();
|
|
19
|
+
}
|
|
20
|
+
return _dialogManager;
|
|
21
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { DialogDetail } from "../../types/pineapple_fiber/DialogDetail";
|
|
2
|
+
import { type Writable } from "svelte/store";
|
|
3
|
+
import { DialogState } from "../../types/pineapple_fiber/DialogState";
|
|
4
|
+
import { type Tweened } from "svelte/motion";
|
|
5
|
+
import { DialogProcessor } from "./DialogProcessor";
|
|
6
|
+
import type { OnSetDialogChoiceCallback } from "./DialogManager";
|
|
7
|
+
export interface IDialogManager {
|
|
8
|
+
dialogMessageMap: Map<string, DialogDetail>;
|
|
9
|
+
currentDialogTree: DialogDetail[];
|
|
10
|
+
fullCurrentMessage: string;
|
|
11
|
+
currentMessageMeta: DialogDetail;
|
|
12
|
+
currentMessage: Writable<string>;
|
|
13
|
+
currentIndex: number;
|
|
14
|
+
previousTimestamp: number;
|
|
15
|
+
isDoneTransition: boolean;
|
|
16
|
+
currentPortrait: Writable<unknown>;
|
|
17
|
+
portraitMap: Map<string, any>;
|
|
18
|
+
currentState: DialogState;
|
|
19
|
+
currentReadableState: Writable<DialogState>;
|
|
20
|
+
hidePercent: Tweened<number>;
|
|
21
|
+
skipNextActiveTime: number;
|
|
22
|
+
dialogProcessor: DialogProcessor;
|
|
23
|
+
_setDialogChoiceQueue: DialogDetail[];
|
|
24
|
+
_setDialogChoiceMutex: boolean;
|
|
25
|
+
onSetDialogListeners: OnSetDialogChoiceCallback[];
|
|
26
|
+
enableDialogueOverlayCache: boolean;
|
|
27
|
+
skipAnimation: () => void;
|
|
28
|
+
enableDialog: (shouldEnable: boolean) => void;
|
|
29
|
+
setDialogTree: (newDialogTree: DialogDetail[]) => void;
|
|
30
|
+
subscribeToSetDialogChoice: (callback: OnSetDialogChoiceCallback) => void;
|
|
31
|
+
unsubscribeToSetDialogChoice: (callback: OnSetDialogChoiceCallback) => void;
|
|
32
|
+
setDialogChoice: (newMessage: (DialogDetail | undefined)) => void;
|
|
33
|
+
_setDialogChoice: () => void;
|
|
34
|
+
setDialogToDefault: () => void;
|
|
35
|
+
update: (timestamp: number) => void;
|
|
36
|
+
enableDialogOverlay(enable: boolean): void;
|
|
37
|
+
toggleDialogOverlay(): void;
|
|
38
|
+
parseAndSetDialogTree(dialogYarn: string): Promise<DialogDetail[]>;
|
|
39
|
+
}
|
package/dist/components/dialog_manager/behavior_tree/line_processors/commands/JumpCommand.d.ts
CHANGED
|
@@ -2,7 +2,10 @@ import type { LineBehaviorNode } from "../../line_core/LineBehaviorNode";
|
|
|
2
2
|
import type { LineNodeArguments } from "../../line_core/LineNodeArguments";
|
|
3
3
|
import type { LineBehaviorResult } from "../../line_core/LineBehaviorResult";
|
|
4
4
|
import { SetVariableNode } from "../SetVariableNode";
|
|
5
|
+
import type { IDialogManager } from "../../../IDialogManager";
|
|
5
6
|
export declare class JumpCommand implements LineBehaviorNode {
|
|
6
7
|
setVariableNode: SetVariableNode;
|
|
8
|
+
dialogManager: undefined | IDialogManager;
|
|
9
|
+
constructor();
|
|
7
10
|
process(nodeArgs: LineNodeArguments): LineBehaviorResult;
|
|
8
11
|
}
|
package/dist/components/dialog_manager/behavior_tree/line_processors/commands/JumpCommand.js
CHANGED
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
import { BehaviorStatus } from "../../core/BehaviorStatus";
|
|
2
2
|
import { SetVariableNode } from "../SetVariableNode";
|
|
3
3
|
import { btreeUtils } from "../../core/BTreeUtils";
|
|
4
|
-
import {
|
|
4
|
+
import { getDialogManager } from "../../../DialogMangerInit";
|
|
5
5
|
export class JumpCommand {
|
|
6
6
|
setVariableNode = new SetVariableNode();
|
|
7
|
+
dialogManager = undefined;
|
|
8
|
+
constructor() {
|
|
9
|
+
getDialogManager().then(dm => this.dialogManager = dm);
|
|
10
|
+
}
|
|
7
11
|
process(nodeArgs) {
|
|
12
|
+
if (this.dialogManager === undefined) {
|
|
13
|
+
console.warn('Dialog Manger not yet initialized');
|
|
14
|
+
return {
|
|
15
|
+
renderedLine: "",
|
|
16
|
+
nextState: nodeArgs.initState,
|
|
17
|
+
status: BehaviorStatus.Failure
|
|
18
|
+
};
|
|
19
|
+
}
|
|
8
20
|
if (!nodeArgs.line.startsWith("<<jump")) {
|
|
9
21
|
return {
|
|
10
22
|
renderedLine: "",
|
|
@@ -23,10 +35,10 @@ export class JumpCommand {
|
|
|
23
35
|
.slice("<<jump ".length, nodeArgs.line.length - ">>".length)
|
|
24
36
|
.replace(/^\{/, "") // remove possible " at the start: https://stackoverflow.com/a/2182602
|
|
25
37
|
.replace(/}$/, ""); // remove possible " at the end: https://stackoverflow.com/a/12249011;
|
|
26
|
-
const dialogChoice = dialogManager.dialogMessageMap.get(btreeUtils.simplifyToken(choiceName));
|
|
38
|
+
const dialogChoice = this.dialogManager.dialogMessageMap.get(btreeUtils.simplifyToken(choiceName));
|
|
27
39
|
if (dialogChoice !== undefined) {
|
|
28
40
|
// force choice
|
|
29
|
-
dialogManager.setDialogChoice(dialogChoice);
|
|
41
|
+
this.dialogManager.setDialogChoice(dialogChoice);
|
|
30
42
|
}
|
|
31
43
|
else {
|
|
32
44
|
console.error(`Unknown jump node at line ${nodeArgs.lineIndex + 1}: ${choiceName} or ${btreeUtils.simplifyToken(choiceName)}`);
|
|
@@ -2,37 +2,46 @@
|
|
|
2
2
|
import AresHappy from "../../assets/characters/ares/ares_happy.webp";
|
|
3
3
|
import { onMount } from "svelte";
|
|
4
4
|
import { DialogState } from "../../types/pineapple_fiber/DialogState";
|
|
5
|
-
import {
|
|
5
|
+
import { getDialogManager } from "../dialog_manager/DialogMangerInit";
|
|
6
|
+
import type { IDialogManager } from "../dialog_manager/IDialogManager";
|
|
6
7
|
|
|
7
8
|
let currentMessage = $state("");
|
|
8
|
-
dialogManager.currentMessage.subscribe((value) => {
|
|
9
|
-
currentMessage = value;
|
|
10
|
-
});
|
|
11
|
-
|
|
12
9
|
let currentPortrait = $state(AresHappy);
|
|
13
|
-
dialogManager.currentPortrait.subscribe((value) => {
|
|
14
|
-
if (value) {
|
|
15
|
-
currentPortrait = value;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
10
|
|
|
19
11
|
let hidePercent = $state(100);
|
|
20
12
|
let isHidden = $state(true);
|
|
13
|
+
let dialogManager: IDialogManager | undefined = $state(undefined);
|
|
21
14
|
onMount(() => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
15
|
+
getDialogManager()
|
|
16
|
+
.then(dm => {
|
|
17
|
+
dialogManager = dm;
|
|
18
|
+
|
|
19
|
+
dialogManager.currentMessage.subscribe((value) => {
|
|
20
|
+
currentMessage = value;
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
dialogManager.currentPortrait.subscribe((value) => {
|
|
24
|
+
if (value) {
|
|
25
|
+
currentPortrait = value;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
dialogManager.hidePercent.subscribe((value) => {
|
|
30
|
+
hidePercent = value * 0.4;
|
|
31
|
+
isHidden = false;
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
dialogManager.currentReadableState.subscribe((value) => {
|
|
35
|
+
isHidden = value === DialogState.Invisible;
|
|
36
|
+
});
|
|
26
37
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
});
|
|
38
|
+
dialogManager.update(0);
|
|
39
|
+
});
|
|
30
40
|
|
|
31
|
-
dialogManager.update(0);
|
|
32
41
|
});
|
|
33
42
|
|
|
34
43
|
const onDialogClick = () => {
|
|
35
|
-
dialogManager
|
|
44
|
+
dialogManager?.skipAnimation();
|
|
36
45
|
};
|
|
37
46
|
|
|
38
47
|
</script>
|
|
@@ -89,9 +98,9 @@
|
|
|
89
98
|
}
|
|
90
99
|
|
|
91
100
|
.dialog-name {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
101
|
+
padding-top: 2rem;
|
|
102
|
+
padding-left: 4rem;
|
|
103
|
+
padding-right: 4rem;
|
|
95
104
|
position: fixed;
|
|
96
105
|
}
|
|
97
106
|
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
import Toast from "./toast/Toast.svelte";
|
|
21
21
|
import DialogOverlay from "../dialog_overlay/DialogOverlay.svelte";
|
|
22
22
|
import { fade } from "svelte/transition";
|
|
23
|
-
import {
|
|
23
|
+
import { getDialogManager } from "../dialog_manager/DialogMangerInit";
|
|
24
24
|
|
|
25
25
|
interface Props {
|
|
26
26
|
showDialogByDefault?: boolean;
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
|
|
78
78
|
<!--todo: turn off hidden when it's time-->
|
|
79
79
|
<button class="fab" onclick={()=>{
|
|
80
|
-
|
|
80
|
+
getDialogManager().then(dm => dm.toggleDialogOverlay());
|
|
81
81
|
}}>
|
|
82
82
|
{#if (enableDialogueOverlayValue)}
|
|
83
83
|
<img class="turnip-icon" src={CloseIcon} alt="interactive floating action button represented as a turnip">
|
package/dist/index.d.ts
CHANGED
|
@@ -10,5 +10,5 @@ export * from "./types/pineapple_fiber/PortraitType";
|
|
|
10
10
|
export * from "./types/pineapple_fiber/DialogDetail";
|
|
11
11
|
export * from "./util/util";
|
|
12
12
|
export * from "./api/index";
|
|
13
|
-
export
|
|
14
|
-
export {
|
|
13
|
+
export type { IDialogManager } from "./components/dialog_manager/IDialogManager";
|
|
14
|
+
export { getDialogManager } from "./components/dialog_manager/DialogMangerInit";
|
package/dist/index.js
CHANGED
|
@@ -11,5 +11,4 @@ export * from "./types/pineapple_fiber/PortraitType";
|
|
|
11
11
|
export * from "./types/pineapple_fiber/DialogDetail";
|
|
12
12
|
export * from "./util/util";
|
|
13
13
|
export * from "./api/index";
|
|
14
|
-
export
|
|
15
|
-
export { dialogManager } from "./components/dialog_manager/DialogMangerInit";
|
|
14
|
+
export { getDialogManager } from "./components/dialog_manager/DialogMangerInit";
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
import MailIcon from "../../assets/icons/mail.svg";
|
|
6
6
|
import GithubIcon from "../../assets/icons/github-mark.svg";
|
|
7
7
|
import LinkedinIcon from "../../assets/icons/linkedin.svg";
|
|
8
|
-
import { ButtonVariant, ImageIcon, PinyaButton } from "../elements/index";
|
|
9
8
|
import { ItchLogoHotLink } from "../../consts";
|
|
9
|
+
import { ButtonVariant, PinyaButton } from "../elements/PinyaButton/index";
|
|
10
|
+
import ImageIcon from "../elements/ImageIcon.svelte";
|
|
10
11
|
|
|
11
12
|
/** @type {{isSmallVersion?: boolean, email?: string, linkedinSlug?: string, isSlot?: boolean, allowLinkedIn?: boolean}} */
|
|
12
13
|
let {
|
|
@@ -63,7 +64,9 @@
|
|
|
63
64
|
<PinyaButton
|
|
64
65
|
buttonVariant={ButtonVariant.SmallIcon}
|
|
65
66
|
title="https://turnipxenon.itch.io/"
|
|
66
|
-
onclick={() => window.open("https://turnipxenon.itch.io/")}
|
|
67
|
+
onclick={() => window.open("https://turnipxenon.itch.io/")}
|
|
68
|
+
classes="h-full"
|
|
69
|
+
>
|
|
67
70
|
<ImageIcon src={ItchLogoHotLink} alt="itch icon" />
|
|
68
71
|
{#if (!isSmallVersion)}
|
|
69
72
|
<span>TurnipXenon</span>
|
|
@@ -83,5 +86,6 @@
|
|
|
83
86
|
flex-wrap: wrap;
|
|
84
87
|
justify-content: var(--preferred-justify-content);
|
|
85
88
|
gap: 0.7rem;
|
|
89
|
+
align-items: stretch;
|
|
86
90
|
}
|
|
87
91
|
</style>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ButtonVariant, type PinyaButtonProps } from './PinyaButtonProps';
|
|
3
|
+
import { ColorScheme } from "../ColorScheme";
|
|
4
4
|
|
|
5
5
|
let {
|
|
6
6
|
children,
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
paddingClass = '',
|
|
9
9
|
buttonVariant = ButtonVariant.Default,
|
|
10
10
|
colorClass = '',
|
|
11
|
+
classes = '',
|
|
11
12
|
...props
|
|
12
13
|
}: PinyaButtonProps = $props();
|
|
13
14
|
|
|
@@ -41,7 +42,7 @@
|
|
|
41
42
|
<button
|
|
42
43
|
{...props}
|
|
43
44
|
class:small-icon-button={buttonVariant === ButtonVariant.SmallIcon}
|
|
44
|
-
class={`btn rounded-2xl text-xl font-bold ${tailwindClass} ${paddingClass}`}
|
|
45
|
+
class={`btn rounded-2xl text-xl font-bold ${tailwindClass} ${paddingClass} ${classes}`}
|
|
45
46
|
>
|
|
46
47
|
{@render children()}
|
|
47
48
|
</button>
|
|
@@ -6,6 +6,6 @@ export * from "./GeneralUIProps";
|
|
|
6
6
|
export * from "./OnBackground";
|
|
7
7
|
export * from "./pinya-card/index";
|
|
8
8
|
export * from "./WrapperProps";
|
|
9
|
-
export * from "./
|
|
9
|
+
export * from "./PinyaButton/index";
|
|
10
10
|
export * from "./text-chip";
|
|
11
11
|
export * from "./CodeBlock";
|
|
@@ -6,6 +6,6 @@ export * from "./GeneralUIProps";
|
|
|
6
6
|
export * from "./OnBackground";
|
|
7
7
|
export * from "./pinya-card/index";
|
|
8
8
|
export * from "./WrapperProps";
|
|
9
|
-
export * from "./
|
|
9
|
+
export * from "./PinyaButton/index";
|
|
10
10
|
export * from "./text-chip";
|
|
11
11
|
export * from "./CodeBlock";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import { getLocale, localizeHref } from "../../../../paraglide/runtime";
|
|
2
|
+
import { deLocalizeHref, getLocale, localizeHref } from "../../../../paraglide/runtime";
|
|
3
3
|
import PinyaCombobox from "../../../elements/pinya-combobox/PinyaCombobox.svelte";
|
|
4
|
+
import { appState } from "../../../templates/PinyaPageLayout/runes.svelte";
|
|
4
5
|
|
|
5
6
|
interface ComboxData {
|
|
6
7
|
label: string;
|
|
@@ -23,9 +24,12 @@
|
|
|
23
24
|
const data = comboboxData.find((d) => d.value === e.value[0]);
|
|
24
25
|
if (data) {
|
|
25
26
|
selectedCountry = [data.value];
|
|
26
|
-
|
|
27
|
+
const pathname = deLocalizeHref(location.href);
|
|
28
|
+
location.href = localizeHref(pathname, { locale: data.value });
|
|
27
29
|
}
|
|
28
30
|
};
|
|
31
|
+
|
|
32
|
+
let disabled = $derived(!appState.isLanguagePickerAvailable);
|
|
29
33
|
</script>
|
|
30
34
|
|
|
31
35
|
<PinyaCombobox
|
|
@@ -35,4 +39,5 @@
|
|
|
35
39
|
label="Select Language"
|
|
36
40
|
placeholder="Select Language"
|
|
37
41
|
{onValueChange}
|
|
42
|
+
{disabled}
|
|
38
43
|
/>
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
<script module lang="ts">
|
|
2
2
|
import HeaderHepCat from "../../../assets/temp/header-hep-cat.mp4";
|
|
3
3
|
import BitbucketIcon from "../../../assets/icons/bitbucket-icon.svg";
|
|
4
|
-
import type { ProjectComponentProps } from "../../templates/
|
|
5
|
-
import { FourPartCard } from "../../components/
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import type { ProjectComponentProps } from "../../templates/SeaweedLayout/ProjectComponentProps";
|
|
5
|
+
import { default as FourPartCard } from "../../components/FourPartCard.svelte";
|
|
6
|
+
import { default as ImageIcon } from "../../elements/ImageIcon.svelte";
|
|
7
|
+
import { default as PinyaButton } from "../../elements/PinyaButton/PinyaButton.svelte";
|
|
8
|
+
import { ButtonVariant } from "../../elements/PinyaButton/PinyaButtonProps";
|
|
9
|
+
import { ItchLogoHotLink } from "../../../consts";
|
|
8
10
|
|
|
9
11
|
const key = "Hepcat";
|
|
10
12
|
export { component, key };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ProjectComponentProps } from "../../templates/
|
|
1
|
+
import type { ProjectComponentProps } from "../../templates/SeaweedLayout/ProjectComponentProps";
|
|
2
2
|
declare const key = "Hepcat";
|
|
3
3
|
export { component, key };
|
|
4
4
|
declare const component: (props: ProjectComponentProps) => ReturnType<import("svelte").Snippet>;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
<script module lang="ts">
|
|
2
2
|
import HeaderPengi from "../../../assets/temp/header-pengi.mp4";
|
|
3
3
|
import GithubIcon from "../../../assets/icons/github-mark.svg";
|
|
4
|
-
import type { ProjectComponentProps } from "../../templates/
|
|
5
|
-
import { FourPartCard } from "../../components/
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import type { ProjectComponentProps } from "../../templates/SeaweedLayout/ProjectComponentProps";
|
|
5
|
+
import { default as FourPartCard } from "../../components/FourPartCard.svelte";
|
|
6
|
+
import { default as ImageIcon } from "../../elements/ImageIcon.svelte";
|
|
7
|
+
import { default as PinyaButton } from "../../elements/PinyaButton/PinyaButton.svelte";
|
|
8
|
+
import { ButtonVariant } from "../../elements/PinyaButton/PinyaButtonProps";
|
|
9
|
+
import { ItchLogoHotLink } from "../../../consts";
|
|
8
10
|
|
|
9
11
|
const key = "Pengi";
|
|
10
12
|
export { component, key };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ProjectComponentProps } from "../../templates/
|
|
1
|
+
import type { ProjectComponentProps } from "../../templates/SeaweedLayout/ProjectComponentProps";
|
|
2
2
|
declare const key = "Pengi";
|
|
3
3
|
export { component, key };
|
|
4
4
|
declare const component: (props: ProjectComponentProps) => ReturnType<import("svelte").Snippet>;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
<script module lang="ts">
|
|
2
|
-
import HeaderSoulwork from
|
|
3
|
-
import GithubIcon from
|
|
2
|
+
import HeaderSoulwork from "../../../assets/temp/header-soulwork.mp4";
|
|
3
|
+
import GithubIcon from "../../../assets/icons/github-mark.svg";
|
|
4
4
|
import type { ProjectComponentProps } from "../../templates/index";
|
|
5
|
-
import { FourPartCard } from "../../components/
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { default as FourPartCard } from "../../components/FourPartCard.svelte";
|
|
6
|
+
import { default as ImageIcon } from "../../elements/ImageIcon.svelte";
|
|
7
|
+
import { default as PinyaButton } from "../../elements/PinyaButton/PinyaButton.svelte";
|
|
8
|
+
import { ButtonVariant } from "../../elements/PinyaButton/PinyaButtonProps";
|
|
9
|
+
import { ItchLogoHotLink } from "../../../consts";
|
|
8
10
|
|
|
9
11
|
const key = "Soulwork";
|
|
10
12
|
export { component, key };
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
<script module lang="ts">
|
|
2
|
-
import GithubIcon from
|
|
3
|
-
import ThisWebsiteFootage from
|
|
4
|
-
import type { ProjectComponentProps } from
|
|
2
|
+
import GithubIcon from "../../../assets/icons/github-mark.svg";
|
|
3
|
+
import ThisWebsiteFootage from "../../../assets/others/seaweed-showcase.mp4";
|
|
4
|
+
import type { ProjectComponentProps } from "../../templates/SeaweedLayout/ProjectComponentProps";
|
|
5
|
+
import { default as FourPartCard } from "../../components/FourPartCard.svelte";
|
|
6
|
+
import { default as ImageIcon } from "../../elements/ImageIcon.svelte";
|
|
7
|
+
import { default as PinyaButton } from "../../elements/PinyaButton/PinyaButton.svelte";
|
|
8
|
+
import { ButtonVariant } from "../../elements/PinyaButton/PinyaButtonProps";
|
|
9
|
+
import { default as TextChip } from "../../elements/text-chip/TextChip.svelte";
|
|
5
10
|
|
|
6
|
-
const key =
|
|
11
|
+
const key = "This Webpage";
|
|
7
12
|
export { component, key };
|
|
8
13
|
</script>
|
|
9
|
-
<script>
|
|
10
|
-
import { FourPartCard } from "../../components/index";
|
|
11
|
-
import { ButtonVariant, ImageIcon, PinyaButton, TextChip } from "../../elements/index.js";
|
|
12
|
-
</script>
|
|
13
14
|
|
|
14
15
|
{#snippet component(props: ProjectComponentProps)}
|
|
15
16
|
<FourPartCard>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ProjectComponentProps } from
|
|
1
|
+
import type { ProjectComponentProps } from "../../templates/SeaweedLayout/ProjectComponentProps";
|
|
2
2
|
declare const key = "This Webpage";
|
|
3
3
|
export { component, key };
|
|
4
4
|
declare const component: (props: ProjectComponentProps) => ReturnType<import("svelte").Snippet>;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { modals } from "svelte-modals";
|
|
9
9
|
import GeneralSettingsModal from "../../modules/modals/general-settings/GeneralSettingsModal.svelte";
|
|
10
10
|
import { localizeHref } from "../../../paraglide/runtime";
|
|
11
|
-
import { appState } from "
|
|
11
|
+
import { appState } from "./runes.svelte";
|
|
12
12
|
|
|
13
13
|
let {
|
|
14
14
|
children,
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
children: Snippet;
|
|
4
|
+
appBarLead?: Snippet;
|
|
5
|
+
footer?: Snippet;
|
|
6
|
+
};
|
|
7
|
+
declare const PinyaPageLayout: import("svelte").Component<$$ComponentProps, {}, "appBarLead">;
|
|
8
|
+
type PinyaPageLayout = ReturnType<typeof PinyaPageLayout>;
|
|
9
|
+
export default PinyaPageLayout;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import { type CreateUrlRequest, CreateUrlResult, jsonToCreateUrlResponse } from "
|
|
2
|
+
import { type CreateUrlRequest, CreateUrlResult, jsonToCreateUrlResponse } from "../../../types/api/CreateUrl";
|
|
3
3
|
import type { ToastContext } from "@skeletonlabs/skeleton-svelte";
|
|
4
4
|
import { getContext } from "svelte";
|
|
5
5
|
import type { ToastSettings } from "./ToastSettings";
|
|
6
|
-
import { PinyaButton } from "../../
|
|
6
|
+
import { PinyaButton } from "../../elements/index";
|
|
7
7
|
|
|
8
8
|
export const toast: ToastContext = getContext("toast");
|
|
9
9
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ProjectGroup, SnippetMeta } from "../index";
|
|
2
|
+
interface Props {
|
|
3
|
+
layout: ProjectGroup[];
|
|
4
|
+
orderUrl: string;
|
|
5
|
+
allEntries: SnippetMeta[];
|
|
6
|
+
}
|
|
7
|
+
declare const EntryOrderConfig: import("svelte").Component<Props, {}, "layout" | "orderUrl">;
|
|
8
|
+
type EntryOrderConfig = ReturnType<typeof EntryOrderConfig>;
|
|
9
|
+
export default EntryOrderConfig;
|
|
@@ -9,6 +9,6 @@ interface Props {
|
|
|
9
9
|
}
|
|
10
10
|
declare const ProjectGroupConfig: import("svelte").Component<Props, {
|
|
11
11
|
toast: ToastContext;
|
|
12
|
-
}, "
|
|
12
|
+
}, "layout" | "orderUrl">;
|
|
13
13
|
type ProjectGroupConfig = ReturnType<typeof ProjectGroupConfig>;
|
|
14
14
|
export default ProjectGroupConfig;
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
import { fly } from "svelte/transition";
|
|
3
3
|
import type { ProjectGroup, SeaweedLayoutProps } from "./props";
|
|
4
4
|
import ChumBucket from "../../modules/seaweed/ChumBucket.svelte";
|
|
5
|
-
import { PinyaPageLayout } from "../
|
|
6
|
-
import { SocialSection } from "../../components/
|
|
5
|
+
import { default as PinyaPageLayout } from "../PinyaPageLayout/PinyaPageLayout.svelte";
|
|
6
|
+
import { default as SocialSection } from "../../components/SocialSection.svelte";
|
|
7
7
|
import EntryGroup from "./EntryGroup.svelte";
|
|
8
8
|
import PineappleSwitch from "../../elements/PineappleSwitch.svelte";
|
|
9
9
|
import { CodeBlock, TextChip } from "../../elements/index";
|
|
10
10
|
import { SvelteMap } from "svelte/reactivity";
|
|
11
|
-
import
|
|
12
|
-
import CreateUrlForm from "
|
|
11
|
+
import EntryOrderConfig from "./EntryOrderConfig.svelte";
|
|
12
|
+
import CreateUrlForm from "./CreateUrlForm.svelte";
|
|
13
13
|
import { onMount } from "svelte";
|
|
14
14
|
import { page } from "$app/state";
|
|
15
15
|
|
|
@@ -223,11 +223,11 @@
|
|
|
223
223
|
{/each}
|
|
224
224
|
</div>
|
|
225
225
|
|
|
226
|
-
<
|
|
226
|
+
<EntryOrderConfig
|
|
227
227
|
bind:layout={actualLayout}
|
|
228
228
|
bind:orderUrl={orderUrl}
|
|
229
229
|
allEntries={entryList}
|
|
230
|
-
></
|
|
230
|
+
></EntryOrderConfig>
|
|
231
231
|
|
|
232
232
|
<br>
|
|
233
233
|
<p>Copy the url below and open a new page with it</p>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { ConfirmationModalProps } from './props';
|
|
3
|
-
import { ModalBase } from '../../components';
|
|
3
|
+
import { default as ModalBase } from '../../components/ModalBase.svelte';
|
|
4
4
|
import { ColorScheme, PinyaButton } from '../../elements';
|
|
5
5
|
|
|
6
6
|
let {
|