Skip to content

Commit 582ec7f

Browse files
authored
Merge pull request #318 from SkyCryptWebsite/dev
2 parents 0cd7849 + 08c9103 commit 582ec7f

15 files changed

Lines changed: 187 additions & 444 deletions

File tree

.changeset/pre.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"mode": "pre",
3+
"tag": "beta",
4+
"initialVersions": {
5+
"skycrypt-frontend": "3.5.2"
6+
},
7+
"changesets": [
8+
"wet-apples-sell"
9+
]
10+
}

.changeset/wet-apples-sell.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"skycrypt-frontend": minor
3+
---
4+
5+
Remove the official wiki and use the new independent wiki #317. Thanks @DespicableGoose!

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## 3.6.0-beta.0
4+
5+
### Minor Changes
6+
7+
- Remove the official wiki and use the new independent wiki #317. Thanks @DespicableGoose! ([`ac42e56`](https://github.com/SkyCryptWebsite/SkyCrypt-Frontend/commit/ac42e5654b867a6e91e0310ee02e3f90d89313f7))
8+
39
## 3.5.2
410

511
### Patch Changes

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "skycrypt-frontend",
3-
"version": "3.5.2",
3+
"version": "3.6.0-beta.0",
44
"private": true,
55
"type": "module",
66
"repository": {

pnpm-lock.yaml

Lines changed: 133 additions & 133 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/context/AGENTS.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ context/
1414
├── favorites.svelte.ts # PersistedState: {uuid, ign, displayName?}[]
1515
├── searches.svelte.ts # PersistedState: recent searches
1616
├── packs.svelte.ts # PersistedState: disabled resource packs
17-
├── wiki.svelte.ts # PersistedState: wiki order data
1817
├── internal.svelte.ts # Volatile: tabValue, showItem, itemContent, settingsOpen, openCommand
1918
├── utils.ts # loadOldStorageKey migration helper
2019
└── index.ts # Barrel export (all get/init/set functions)
@@ -64,7 +63,6 @@ let name = $derived(profile.current?.name);
6463
| Favorites | persisted | player favorites list |
6564
| RecentSearches | persisted | search history |
6665
| DisabledPacks | persisted | disabled resource pack IDs |
67-
| WikiOrder | persisted | wiki ordering data |
6866

6967
## CONVENTIONS
7068

src/context/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,3 @@ export * from "./preferences.svelte";
66
export * from "./searches.svelte";
77
export * from "./themes.svelte";
88
export * from "./tooltips.svelte";
9-
export * from "./wiki.svelte";

src/context/wiki.svelte.ts

Lines changed: 0 additions & 48 deletions
This file was deleted.

src/lib/components/header/settings/Misc.svelte

Lines changed: 2 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,20 @@
11
<script lang="ts">
2-
import { getPreferences, getWikiOrder } from "$ctx";
2+
import { getPreferences } from "$ctx";
33
import { SettingsTab } from "$lib/components/header/types";
4-
import { sections } from "$lib/sections/constants";
54
import { cn, flyAndScale } from "$lib/shared/utils";
6-
import { Feedback } from "@dnd-kit/dom";
7-
import { OptimisticSortingPlugin, SortableKeyboardPlugin } from "@dnd-kit/dom/sortable";
8-
import { move } from "@dnd-kit/helpers";
9-
import type { DragDropEventHandlers } from "@dnd-kit/svelte";
10-
import { DragDropProvider } from "@dnd-kit/svelte";
11-
import { createSortable } from "@dnd-kit/svelte/sortable";
12-
import BookOpenText from "@lucide/svelte/icons/book-open-text";
135
import CircleQuestionMark from "@lucide/svelte/icons/circle-question-mark";
146
import Fan from "@lucide/svelte/icons/fan";
15-
import GripVertical from "@lucide/svelte/icons/grip-vertical";
167
import Keyboard from "@lucide/svelte/icons/keyboard";
178
import Pickaxe from "@lucide/svelte/icons/pickaxe";
189
import Rainbow from "@lucide/svelte/icons/rainbow";
1910
import Settings2 from "@lucide/svelte/icons/settings-2";
2011
import Sparkle from "@lucide/svelte/icons/sparkle";
21-
import { Button, Separator, Tabs, Tooltip } from "bits-ui";
12+
import { Button, Tabs, Tooltip } from "bits-ui";
2213
import SettingToggleRow from "./SettingToggleRow.svelte";
2314
2415
const preferences = getPreferences();
25-
const wikiOrderContext = getWikiOrder();
26-
type WikiSource = (typeof wikiOrderContext.current)[number];
27-
type SortableItem = ReturnType<typeof createSortable>;
2816
2917
let isListening = $state(false);
30-
let wikiOrder = $state([...wikiOrderContext.current]);
31-
let providerKey = $state(0);
32-
33-
const defaultSectionOrder = sections;
34-
const differsFromDefault = $derived(JSON.stringify(preferences.sectionOrder) !== JSON.stringify(defaultSectionOrder));
3518
3619
function handleKeybindKeydown(e: KeyboardEvent) {
3720
if (isListening) {
@@ -56,12 +39,6 @@
5639
}
5740
}, 5000);
5841
}
59-
60-
function onDragEnd(event: Parameters<NonNullable<DragDropEventHandlers["onDragEnd"]>>[0]) {
61-
wikiOrder = move(wikiOrder, event);
62-
wikiOrderContext.current = [...wikiOrder];
63-
providerKey += 1;
64-
}
6542
</script>
6643

6744
<Tabs.Content value={SettingsTab.Misc} class="space-y-6">
@@ -143,52 +120,5 @@
143120
</Button.Root>
144121
</div>
145122
</div>
146-
<Separator.Root class="shrink-0 bg-icon/30 data-[orientation=horizontal]:h-0.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-0.5" />
147-
<div class="space-y-4 rounded-lg bg-text/5 p-4">
148-
<div class="flex items-start gap-2 rounded-lg p-2 font-semibold">
149-
<BookOpenText class="size-5 h-lh shrink-0" />
150-
<div class="">
151-
<h4>Wiki Order</h4>
152-
<div class="space-y-2">
153-
<p class="text-text/60">Drag and drop the wiki sources to reorder them as you like.</p>
154-
<p class="text-text/60">If the wiki source isn't available, the next one in the list will be used.</p>
155-
</div>
156-
</div>
157-
</div>
158-
159-
{#key providerKey}
160-
<DragDropProvider {onDragEnd}>
161-
{#each wikiOrder as wiki, index (wiki.id)}
162-
{@const sortable = createSortable({
163-
id: wiki.id,
164-
get index() {
165-
return index;
166-
},
167-
plugins: [SortableKeyboardPlugin, OptimisticSortingPlugin, Feedback.configure({ feedback: "clone" })]
168-
})}
169-
{@render wikiRowContent(wiki, sortable, true)}
170-
{/each}
171-
</DragDropProvider>
172-
{/key}
173-
{#if differsFromDefault}
174-
<Button.Root
175-
class="mt-4 w-full rounded-lg bg-text/65 p-1.5 text-sm font-semibold text-background/80 uppercase transition-colors ease-out hover:bg-text/80"
176-
onclick={() => {
177-
preferences.sectionOrder = defaultSectionOrder;
178-
}}>
179-
Reset to default
180-
</Button.Root>
181-
{/if}
182-
</div>
183123
</div>
184124
</Tabs.Content>
185-
186-
{#snippet wikiRowContent(wiki: WikiSource, sortable: SortableItem | null = null, flipEnabled = false)}
187-
<div {@attach sortable?.attach} class="relative flex items-center gap-2 rounded-lg bg-text/5 p-2 font-semibold data-[dragging=true]:animate-pulse data-[dragging=true]:opacity-30 data-[flip=true]:will-change-transform" data-dragging={sortable?.isDropTarget} data-flip={flipEnabled}>
188-
<GripVertical class="size-5 shrink-0 text-text/60" />
189-
<div class="flex flex-col">
190-
{wiki.name.replaceAll("_", " ")}
191-
<Button.Root href={wiki.link} target="_blank" class="text-link/60 underline">{new URL(wiki.link).hostname}</Button.Root>
192-
</div>
193-
</div>
194-
{/snippet}

src/lib/components/item/item-content.svelte

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script lang="ts">
2-
import { getPacksContext, getPreferences, getWikiOrder, type WikiOrderData } from "$ctx";
2+
import { getPacksContext, getPreferences } from "$ctx";
33
import type { ModelsStrippedItem } from "$lib/shared/api/orval-generated";
44
import { getRarityClass, removeFormatting, renderLore } from "$lib/shared/helper";
55
import { animateObfuscatedText } from "$lib/shared/mc-text/obfuscated";
@@ -18,8 +18,6 @@
1818
let { piece, isDrawer }: Props = $props();
1919
const preferences = getPreferences();
2020
21-
const wikiOrderContext = getWikiOrder();
22-
2321
const skyblockItem = $derived(piece);
2422
const itemName = $derived(piece?.display_name);
2523
const itemNameHtml = $derived(itemName ? renderLore(itemName) : "");
@@ -30,31 +28,6 @@
3028
const hasColor = $derived(skyblockItem?.lore?.some((lore) => lore.includes("Color:")) ?? false);
3129
const packs = $derived(getPacksContext().packs);
3230
const packData = $derived(packs?.find((pack) => pack.id === skyblockItem?.texture_pack));
33-
34-
// Get the wiki link for the item
35-
const wikiInfo = $derived.by<Omit<WikiOrderData, "id"> | undefined>(() => {
36-
const wiki = skyblockItem?.wiki;
37-
if (!wiki) return undefined;
38-
39-
// Try to get the preferred wiki link first, then fall back to any available link
40-
const preference = wikiOrderContext.current[0].name.toLowerCase();
41-
42-
// Type-safe approach: check if the preference is a valid key
43-
if (preference === "fandom" && wiki.fandom) {
44-
return { link: wiki.fandom, name: "Fandom" };
45-
} else if (preference === "official" && wiki.official) {
46-
return { link: wiki.official, name: "Official" };
47-
}
48-
49-
// If no preferred links are available, return any available link or null
50-
if (wiki.fandom) {
51-
return { link: wiki.fandom, name: "Fandom" };
52-
} else if (wiki.official) {
53-
return { link: wiki.official, name: "Official" };
54-
}
55-
56-
return undefined;
57-
});
5831
</script>
5932

6033
<div class="group/itemtooltip data-[mctooltip=false]:contents data-[mctooltip=true]:relative data-[mctooltip=true]:rounded-lg data-[mctooltip=true]:bg-mctooltip-bg data-[mctooltip=true]:p-0.5" {@attach animateObfuscatedText} data-mctooltip={preferences.mctooltip}>
@@ -152,8 +125,8 @@
152125
</Button.Root>
153126
{/if}
154127

155-
{#if wikiInfo}
156-
<Button.Root href={wikiInfo.link} target="_blank" class="flex shrink items-center justify-center rounded-[0.625rem] bg-text/5 p-2 whitespace-nowrap transition-colors ease-out hover:bg-text/8">
128+
{#if piece.wiki}
129+
<Button.Root href={piece.wiki} target="_blank" class="flex shrink items-center justify-center rounded-[0.625rem] bg-text/5 p-2 whitespace-nowrap transition-colors ease-out hover:bg-text/8">
157130
<Info class="mr-2 ml-2 size-6 p-0" />
158131
</Button.Root>
159132
{/if}

0 commit comments

Comments
 (0)