forked from ProfessionalUwU/stickerpicker
		
	Allow using external index.json and stickerpack
This commit is contained in:
		| @@ -21,6 +21,14 @@ import * as frequent from "./frequently-used.js" | ||||
| // The base URL for fetching packs. The app will first fetch ${PACK_BASE_URL}/index.json, | ||||
| // then ${PACK_BASE_URL}/${packFile} for each packFile in the packs object of the index.json file. | ||||
| const PACKS_BASE_URL = "packs" | ||||
|  | ||||
| let INDEX = `${PACKS_BASE_URL}/index.json`; | ||||
| let params = new URLSearchParams(document.location.search); | ||||
| let REMOTE = false; | ||||
| if (params.has('config')) { | ||||
| 	INDEX = params.get("config"); | ||||
| 	REMOTE = true; | ||||
| } | ||||
| // This is updated from packs/index.json | ||||
| let HOMESERVER_URL = "https://matrix-client.matrix.org" | ||||
|  | ||||
| @@ -117,7 +125,7 @@ class App extends Component { | ||||
|  | ||||
| 	_loadPacks(disableCache = false) { | ||||
| 		const cache = disableCache ? "no-cache" : undefined | ||||
| 		fetch(`${PACKS_BASE_URL}/index.json`, { cache }).then(async indexRes => { | ||||
| 		fetch(INDEX, { cache }).then(async indexRes => { | ||||
| 			if (indexRes.status >= 400) { | ||||
| 				this.setState({ | ||||
| 					loading: false, | ||||
| @@ -129,7 +137,12 @@ class App extends Component { | ||||
| 			HOMESERVER_URL = indexData.homeserver_url || HOMESERVER_URL | ||||
| 			// TODO only load pack metadata when scrolled into view? | ||||
| 			for (const packFile of indexData.packs) { | ||||
| 				const packRes = await fetch(`${PACKS_BASE_URL}/${packFile}`, { cache }) | ||||
| 				let packRes; | ||||
| 				if (REMOTE) { | ||||
| 					packRes = await fetch(packFile, { cache }) | ||||
| 				} else { | ||||
| 					packRes = await fetch(`${PACKS_BASE_URL}/${packFile}`, { cache }) | ||||
| 				} | ||||
| 				const packData = await packRes.json() | ||||
| 				for (const sticker of packData.stickers) { | ||||
| 					this.stickersByID.set(sticker.id, sticker) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user