@turnipxenon/pineapple 2.4.56 → 2.4.57

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.
Files changed (41) hide show
  1. package/.idea/modules.xml +0 -1
  2. package/.idea/workspace.xml +70 -61
  3. package/.svelte-kit/__package__/app.postcss +4 -1
  4. package/.svelte-kit/__package__/assets/icons/arrow-upward.svg +1 -0
  5. package/.svelte-kit/__package__/components/Card.svelte +24 -3
  6. package/.svelte-kit/__package__/components/Card.svelte.d.ts +1 -0
  7. package/.svelte-kit/__package__/components/PineappleSlideToggle.svelte +10 -0
  8. package/.svelte-kit/__package__/components/PineappleSlideToggle.svelte.d.ts +19 -0
  9. package/.svelte-kit/__package__/components/combo_box/ComboBoxWithButton.svelte +7 -0
  10. package/.svelte-kit/__package__/components/pineapple/toast/Toast.svelte +4 -2
  11. package/.svelte-kit/__package__/template/seaweed/CreateUrlForm.svelte +15 -3
  12. package/.svelte-kit/__package__/template/seaweed/SeaweedTemplate.svelte +10 -6
  13. package/.svelte-kit/__package__/template/seaweed/entry_order_config/EntryOrderConfig.svelte +224 -47
  14. package/.svelte-kit/__package__/template/seaweed/entry_order_config/EntryOrderConfig.svelte.d.ts +1 -0
  15. package/.svelte-kit/__package__/template/seaweed/entry_order_config/entry-order-config.postcss +35 -0
  16. package/.svelte-kit/generated/server/internal.js +1 -1
  17. package/dist/app.postcss +4 -1
  18. package/dist/assets/icons/arrow-upward.svg +1 -0
  19. package/dist/components/Card.svelte +24 -3
  20. package/dist/components/Card.svelte.d.ts +1 -0
  21. package/dist/components/PineappleSlideToggle.svelte +10 -0
  22. package/dist/components/PineappleSlideToggle.svelte.d.ts +19 -0
  23. package/dist/components/combo_box/ComboBoxWithButton.svelte +7 -0
  24. package/dist/components/pineapple/toast/Toast.svelte +4 -2
  25. package/dist/template/seaweed/CreateUrlForm.svelte +15 -3
  26. package/dist/template/seaweed/SeaweedTemplate.svelte +10 -6
  27. package/dist/template/seaweed/entry_order_config/EntryOrderConfig.svelte +224 -47
  28. package/dist/template/seaweed/entry_order_config/EntryOrderConfig.svelte.d.ts +1 -0
  29. package/dist/template/seaweed/entry_order_config/entry-order-config.postcss +35 -0
  30. package/package.json +2 -2
  31. package/src/lib/app.postcss +4 -1
  32. package/src/lib/assets/icons/arrow-upward.svg +1 -0
  33. package/src/lib/components/Card.svelte +17 -2
  34. package/src/lib/components/PineappleSlideToggle.svelte +12 -0
  35. package/src/lib/components/combo_box/ComboBoxWithButton.svelte +7 -0
  36. package/src/lib/components/pineapple/toast/Toast.svelte +4 -2
  37. package/src/lib/template/seaweed/CreateUrlForm.svelte +15 -3
  38. package/src/lib/template/seaweed/SeaweedTemplate.svelte +10 -6
  39. package/src/lib/template/seaweed/entry_order_config/EntryOrderConfig.svelte +115 -28
  40. package/src/lib/template/seaweed/entry_order_config/entry-order-config.postcss +35 -0
  41. package/src/routes/(pineapple)/pineapple/(pineapple)/+page.svelte +4 -3
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
2
  import {
3
+ type ComponentMeta,
3
4
  type EntryGroup,
4
5
  GetAllEntryFromGlobal,
5
6
  GetEntryFromGlobal,
@@ -9,6 +10,9 @@
9
10
  import type { ComponentType } from "svelte";
10
11
  import { removeProxyWrapperOnString } from "./EntryOrderConfig";
11
12
  import ComboBoxWithButton from "$pkg/components/combo_box/ComboBoxWithButton.svelte";
13
+ import CloseIcon from "$pkg/assets/icons/close.svg";
14
+ import UpwardIcon from "$pkg/assets/icons/arrow-upward.svg";
15
+ import "./entry-order-config.postcss";
12
16
 
13
17
  export let seaweedEntries: EntryGroup[];
14
18
  export let orderUrl: string;
@@ -27,7 +31,6 @@
27
31
  const addEntry = (group: EntryGroup): ((selected: string) => void) => {
28
32
  return (selected: string) => {
29
33
  const c = GetEntryFromGlobal(selected);
30
- console.log(selected, c);
31
34
  if (c) {
32
35
  group.items.push(c);
33
36
  seaweedEntries = seaweedEntries;
@@ -45,7 +48,6 @@
45
48
  } else {
46
49
  return;
47
50
  }
48
- console.log(index, newIndex);
49
51
 
50
52
  const tempVar = group.items[newIndex];
51
53
  group.items[newIndex] = group.items[index];
@@ -97,12 +99,10 @@
97
99
  updateOrderQuery();
98
100
  };
99
101
  };
100
- const removeEntry = (entry: ComponentType, group: EntryGroup): (() => void) => {
102
+ const removeEntry = (entry: ComponentMeta, group: EntryGroup): (() => void) => {
101
103
  return () => {
102
- console.log("Clicked!");
103
104
  for (let i = group.items.length - 1; i >= 0; i--) {
104
105
  if (group.items[i].name === entry.name) {
105
- console.log("Reduce");
106
106
  group.items.splice(i, 1);
107
107
  seaweedEntries = seaweedEntries;
108
108
  updateOrderQuery();
@@ -113,10 +113,10 @@
113
113
  };
114
114
 
115
115
  const allDefaultEntries = Array.from(GetAllEntryFromGlobal().keys());
116
- console.log("Test", Array.from(GetAllEntryFromGlobal().keys()));
117
116
  </script>
118
117
 
119
- <h3>Site ordering</h3>
118
+ <br>
119
+ <h2>Site ordering</h2>
120
120
  <blockquote>Sorry! This part of the website is still WIP, but here it is anyway. As long as it functions</blockquote>
121
121
 
122
122
  <!-- formatting: group1:entry1|entry2,group2:entry3
@@ -125,30 +125,75 @@
125
125
  , <= separates each group
126
126
  -->
127
127
  <div class="advanced-setting-list">
128
- <!-- todo: we might have to extract this into it's own component -->
129
- <!-- todo: NOW!!! -->
130
128
  {#each seaweedEntries as group, groupIndex}
131
- <div>
132
- <div>
133
- <button class="editable-button" on:click={removeGroup(group)}>X</button>
134
- <!-- todo: move group up or down -->
135
- <button class="editable-button" on:click={swapGroups(groupIndex, true)}>^</button>
136
- <button class="editable-button" on:click={swapGroups(groupIndex, false)}>v</button>
137
- {group.name}
129
+ <div class="entry-group card">
130
+
131
+ <div class="btn-group-header">
132
+ <button title={`Remove ${group.name}`}
133
+ on:click={removeGroup(group)}>
134
+ <img class="img-icon" src={CloseIcon} alt={`Remove ${group.name}`}>
135
+ </button>
136
+
137
+ <button title={`Move group ${group.name} upwards`}
138
+ on:click={swapGroups(groupIndex, true)}
139
+ disabled="{groupIndex === 0}">
140
+ <img class="img-icon" src={UpwardIcon} alt={`Move group ${group.name} upwards`}>
141
+ </button>
142
+
143
+ <button title={`Move group ${group.name} downwards`}
144
+ disabled={groupIndex === seaweedEntries.length - 1}
145
+ on:click={swapGroups(groupIndex, false)}>
146
+ <img class="img-icon flipped-vertically" src={UpwardIcon} alt={`Move group ${group.name} downwards`}>
147
+ </button>
148
+
149
+ <h2>{group.name}</h2>
138
150
  </div>
139
- <div class="advanced-setting-list card">
151
+
152
+ <table class="advanced-setting-list table">
153
+ <thead>
154
+ <tr>
155
+ <th>Entries</th>
156
+ </tr>
157
+ </thead>
158
+ <tbody>
140
159
  {#each group.items as entry, entryIndex}
141
- <div class="editable-entry">
142
- <button on:click={removeEntry(entry, group)}>-</button>
143
- <button on:click={swapEntry(entryIndex, group, true)}>^</button>
144
- <button on:click={swapEntry(entryIndex, group, false)}>v</button>
145
- {entry.name}
146
- </div>
160
+ <tr class="entry-row">
161
+ <td class="btn-group-entry">
162
+
163
+ <button title={`Remove ${entry.name}`}
164
+ on:click={removeEntry(entry, group)}>
165
+ <img class="img-icon" src={CloseIcon} alt={`Remove ${entry.name}`}>
166
+ </button>
167
+
168
+ <button title={`Move ${entry.name} upwards`}
169
+ on:click={swapEntry(entryIndex, group, true)}
170
+ disabled="{entryIndex === 0}">
171
+ <img class="img-icon" src={UpwardIcon} alt={`Move ${entry.name} upwards`}>
172
+ </button>
173
+
174
+ <button title={`Move ${entry.name} downwards`}
175
+ disabled={entryIndex === group.items.length - 1}
176
+ on:click={swapEntry(entryIndex, group, false)}>
177
+ <img class="img-icon flipped-vertically" src={UpwardIcon} alt={`Move ${entry.name} downwards`}>
178
+ </button>
179
+ <div class="entry-name">
180
+ {entry.name}
181
+ </div>
182
+ </td>
183
+ </tr>
147
184
  {/each}
148
- </div>
185
+ </tbody>
186
+
187
+ <tfoot>
188
+ <tr>
189
+ <td>
190
+ <ComboBoxWithButton stringItems={allDefaultEntries}
191
+ onClick={addEntry(group)}></ComboBoxWithButton>
192
+ </td>
193
+ </tr>
194
+ </tfoot>
195
+ </table>
149
196
 
150
- <ComboBoxWithButton stringItems={allDefaultEntries}
151
- onClick={addEntry(group)}></ComboBoxWithButton>
152
197
 
153
198
  </div>
154
199
  {/each}
@@ -160,7 +205,49 @@
160
205
  flex-direction: column;
161
206
  }
162
207
 
163
- .editable-entry > button, .editable-button {
164
- @apply btn variant-filled-primary;
208
+ .btn-group-header {
209
+ @apply btn-group variant-filled-tertiary;
210
+ display: flex;
211
+ align-items: center;
212
+ margin-bottom: 0.5lh;
213
+ }
214
+
215
+ .btn-group-entry {
216
+ @apply btn-group;
217
+ display: flex;
218
+ padding: 0;
219
+ }
220
+
221
+ .btn-group-entry > div {
222
+ padding: 1em;
165
223
  }
224
+
225
+ .flipped-vertically {
226
+ transform: rotate(180deg);
227
+ }
228
+
229
+ .entry-group {
230
+ background-color: rgb(var(--color-surface-600));
231
+ margin-top: 1.5lh;
232
+ margin-bottom: 0.5lh;
233
+ padding: 0.5lh 0.5em;
234
+ }
235
+
236
+ .entry-row {
237
+ display: flex;
238
+ align-items: center;
239
+ }
240
+
241
+ .entry-name {
242
+ flex-grow: 1;
243
+ }
244
+
245
+ tr, td, th {
246
+ width: 100%;
247
+ }
248
+
249
+ tfoot > tr {
250
+ display: flex;
251
+ }
252
+
166
253
  </style>
@@ -0,0 +1,35 @@
1
+ .btn-group > button {
2
+ padding: 0.3em 0.75em;
3
+ }
4
+
5
+ .btn-group-header > h2 {
6
+ font-weight: bolder;
7
+ padding-top: 1lh;
8
+ padding-bottom: 1lh;
9
+ margin-bottom: 0;
10
+ padding-inline-start: 1em;
11
+ }
12
+
13
+ .dark .btn-group-header > h2 {
14
+ color: rgb(var(--theme-font-color-dark));
15
+ }
16
+
17
+ .dark .entry-group {
18
+ background-color: rgb(var(--color-surface-800));
19
+ }
20
+
21
+ tbody tr:nth-child(odd) {
22
+ background-color: rgb(var(--color-surface-500));
23
+ }
24
+
25
+ .dark tbody tr:nth-child(odd) {
26
+ background-color: rgb(var(--color-surface-900));
27
+ }
28
+
29
+ tbody tr:nth-child(even) {
30
+ background-color: rgb(var(--color-surface-200));
31
+ }
32
+
33
+ .dark tbody tr:nth-child(even) {
34
+ background-color: rgb(var(--color-surface-800));
35
+ }
@@ -5,7 +5,7 @@
5
5
  import { Card, dialogManager, enableDialogueOverlay } from "$pkg";
6
6
  import NavigationComponent from "$pkg/components/navigation_component/NavigationComponent.svelte";
7
7
  import { ImageMap } from "./ImageMap";
8
- import { SlideToggle } from "@skeletonlabs/skeleton";
8
+ import PineappleSlideToggle from "$pkg/components/PineappleSlideToggle.svelte";
9
9
 
10
10
  enableDialogueOverlay.set(false);
11
11
 
@@ -55,9 +55,10 @@
55
55
  class="btn variant-filled-secondary"
56
56
  on:click={onTestDialogClick}><h3>Test dialog</h3></button>
57
57
  <div>
58
- <SlideToggle name="advanced-setting-slider" bind:checked={allowPagination}>
58
+ <PineappleSlideToggle name="advanced-setting-slider"
59
+ bind:checked={allowPagination}>
59
60
  Allow pagination: {allowPagination ? "On" : "Off"}
60
- </SlideToggle>
61
+ </PineappleSlideToggle>
61
62
  </div>
62
63
  </div>
63
64
  </Card>