diff options
Diffstat (limited to 'web')
| -rw-r--r-- | web/source/index.js | 2 | ||||
| -rw-r--r-- | web/source/settings/admin/emoji/category-select.jsx | 2 | ||||
| -rw-r--r-- | web/source/settings/admin/emoji/local/overview.js | 2 | ||||
| -rw-r--r-- | web/source/settings/admin/emoji/local/use-shortcode.js | 2 | ||||
| -rw-r--r-- | web/source/settings/admin/emoji/remote/index.js | 2 | ||||
| -rw-r--r-- | web/source/settings/components/authorization/index.jsx | 9 | ||||
| -rw-r--r-- | web/source/settings/lib/query/admin/custom-emoji.js | 20 | ||||
| -rw-r--r-- | web/source/settings/lib/query/base.js | 2 | ||||
| -rw-r--r-- | web/source/settings/lib/query/oauth.js | 5 | ||||
| -rw-r--r-- | web/source/settings/redux/index.js | 9 | ||||
| -rw-r--r-- | web/source/settings/redux/oauth.js | 13 | 
11 files changed, 37 insertions, 31 deletions
| diff --git a/web/source/index.js b/web/source/index.js index e4b2086d2..0f80ef22c 100644 --- a/web/source/index.js +++ b/web/source/index.js @@ -48,7 +48,7 @@ skulk({  	},  	servers: {  		express: { -			proxy: "http://localhost:8081", +			proxy: "http://127.0.0.1:8081",  			assets: "/assets"  		}  	}, diff --git a/web/source/settings/admin/emoji/category-select.jsx b/web/source/settings/admin/emoji/category-select.jsx index a35b3f2e3..32ba541f2 100644 --- a/web/source/settings/admin/emoji/category-select.jsx +++ b/web/source/settings/admin/emoji/category-select.jsx @@ -44,7 +44,7 @@ function CategorySelect({ field, children }) {  		isLoading,  		isSuccess,  		error -	} = query.useGetAllEmojiQuery({ filter: "domain:local" }); +	} = query.useListEmojiQuery({ filter: "domain:local" });  	const emojiByCategory = useEmojiByCategory(emoji); diff --git a/web/source/settings/admin/emoji/local/overview.js b/web/source/settings/admin/emoji/local/overview.js index 524cc928f..78546b2fa 100644 --- a/web/source/settings/admin/emoji/local/overview.js +++ b/web/source/settings/admin/emoji/local/overview.js @@ -32,7 +32,7 @@ module.exports = function EmojiOverview({ baseUrl }) {  		data: emoji = [],  		isLoading,  		error -	} = query.useGetAllEmojiQuery({ filter: "domain:local" }); +	} = query.useListEmojiQuery({ filter: "domain:local" });  	return (  		<> diff --git a/web/source/settings/admin/emoji/local/use-shortcode.js b/web/source/settings/admin/emoji/local/use-shortcode.js index 109914b8b..03ee24e88 100644 --- a/web/source/settings/admin/emoji/local/use-shortcode.js +++ b/web/source/settings/admin/emoji/local/use-shortcode.js @@ -28,7 +28,7 @@ const shortcodeRegex = /^[a-z0-9_]+$/;  module.exports = function useShortcode() {  	const {  		data: emoji = [] -	} = query.useGetAllEmojiQuery({ filter: "domain:local" }); +	} = query.useListEmojiQuery({ filter: "domain:local" });  	const emojiCodes = React.useMemo(() => {  		return new Set(emoji.map((e) => e.shortcode)); diff --git a/web/source/settings/admin/emoji/remote/index.js b/web/source/settings/admin/emoji/remote/index.js index f3bb325e9..5bdbb5e43 100644 --- a/web/source/settings/admin/emoji/remote/index.js +++ b/web/source/settings/admin/emoji/remote/index.js @@ -31,7 +31,7 @@ module.exports = function RemoteEmoji() {  		data: emoji = [],  		isLoading,  		error -	} = query.useGetAllEmojiQuery({ filter: "domain:local" }); +	} = query.useListEmojiQuery({ filter: "domain:local" });  	const emojiCodes = React.useMemo(() => {  		return new Set(emoji.map((e) => e.shortcode)); diff --git a/web/source/settings/components/authorization/index.jsx b/web/source/settings/components/authorization/index.jsx index 8bcf68e09..397413945 100644 --- a/web/source/settings/components/authorization/index.jsx +++ b/web/source/settings/components/authorization/index.jsx @@ -28,17 +28,18 @@ const Loading = require("../loading");  const { Error } = require("../error");  module.exports = function Authorization({ App }) { -	const loginState = Redux.useSelector((state) => state.oauth.loginState); -	const [hasStoredLogin] = React.useState(loginState != "none" && loginState != "logout"); +	const { loginState, expectingRedirect } = Redux.useSelector((state) => state.oauth);  	const { isLoading, isSuccess, data: account, error } = query.useVerifyCredentialsQuery(undefined, { -		skip: loginState == "none" || loginState == "logout" +		skip: loginState == "none" || loginState == "logout" || expectingRedirect  	}); +	console.log("skip verify:", loginState, expectingRedirect); +  	let showLogin = true;  	let content = null; -	if (isLoading && hasStoredLogin) { +	if (isLoading) {  		showLogin = false;  		let loadingInfo; diff --git a/web/source/settings/lib/query/admin/custom-emoji.js b/web/source/settings/lib/query/admin/custom-emoji.js index 94917f382..e8fe08852 100644 --- a/web/source/settings/lib/query/admin/custom-emoji.js +++ b/web/source/settings/lib/query/admin/custom-emoji.js @@ -23,7 +23,7 @@ const Promise = require("bluebird");  const { unwrapRes } = require("../lib");  module.exports = (build) => ({ -	getAllEmoji: build.query({ +	listEmoji: build.query({  		query: (params = {}) => ({  			url: "/api/v1/admin/custom_emojis",  			params: { @@ -33,15 +33,15 @@ module.exports = (build) => ({  		}),  		providesTags: (res) =>  			res -				? [...res.map((emoji) => ({ type: "Emojis", id: emoji.id })), { type: "Emojis", id: "LIST" }] -				: [{ type: "Emojis", id: "LIST" }] +				? [...res.map((emoji) => ({ type: "Emoji", id: emoji.id })), { type: "Emoji", id: "LIST" }] +				: [{ type: "Emoji", id: "LIST" }]  	}),  	getEmoji: build.query({  		query: (id) => ({  			url: `/api/v1/admin/custom_emojis/${id}`  		}), -		providesTags: (res, error, id) => [{ type: "Emojis", id }] +		providesTags: (res, error, id) => [{ type: "Emoji", id }]  	}),  	addEmoji: build.mutation({ @@ -56,8 +56,8 @@ module.exports = (build) => ({  		},  		invalidatesTags: (res) =>  			res -				? [{ type: "Emojis", id: "LIST" }, { type: "Emojis", id: res.id }] -				: [{ type: "Emojis", id: "LIST" }] +				? [{ type: "Emoji", id: "LIST" }, { type: "Emoji", id: res.id }] +				: [{ type: "Emoji", id: "LIST" }]  	}),  	editEmoji: build.mutation({ @@ -74,8 +74,8 @@ module.exports = (build) => ({  		},  		invalidatesTags: (res) =>  			res -				? [{ type: "Emojis", id: "LIST" }, { type: "Emojis", id: res.id }] -				: [{ type: "Emojis", id: "LIST" }] +				? [{ type: "Emoji", id: "LIST" }, { type: "Emoji", id: res.id }] +				: [{ type: "Emoji", id: "LIST" }]  	}),  	deleteEmoji: build.mutation({ @@ -83,7 +83,7 @@ module.exports = (build) => ({  			method: "DELETE",  			url: `/api/v1/admin/custom_emojis/${id}`  		}), -		invalidatesTags: (res, error, id) => [{ type: "Emojis", id }] +		invalidatesTags: (res, error, id) => [{ type: "Emoji", id }]  	}),  	searchStatusForEmoji: build.mutation({ @@ -167,7 +167,7 @@ module.exports = (build) => ({  				}  			});  		}, -		invalidatesTags: () => [{ type: "Emojis", id: "LIST" }] +		invalidatesTags: () => [{ type: "Emoji", id: "LIST" }]  	})  }); diff --git a/web/source/settings/lib/query/base.js b/web/source/settings/lib/query/base.js index 05d31925f..d9d62d356 100644 --- a/web/source/settings/lib/query/base.js +++ b/web/source/settings/lib/query/base.js @@ -72,7 +72,7 @@ function instanceBasedQuery(args, api, extraOptions) {  module.exports = createApi({  	reducerPath: "api",  	baseQuery: instanceBasedQuery, -	tagTypes: ["Auth"], +	tagTypes: ["Auth", "Emoji"],  	endpoints: (build) => ({  		instance: build.query({  			query: () => ({ diff --git a/web/source/settings/lib/query/oauth.js b/web/source/settings/lib/query/oauth.js index 4fac50429..34be4ffdc 100644 --- a/web/source/settings/lib/query/oauth.js +++ b/web/source/settings/lib/query/oauth.js @@ -121,10 +121,11 @@ const endpoints = (build) => ({  				}).then(unwrapRes).then((app) => {  					app.scopes = formData.scopes; -					api.dispatch(oauth.setInstance({ +					api.dispatch(oauth.authorize({  						instance: instance,  						registration: app, -						loginState: "callback" +						loginState: "callback", +						expectingRedirect: true  					}));  					return app; diff --git a/web/source/settings/redux/index.js b/web/source/settings/redux/index.js index 12b3db743..3b1cc5038 100644 --- a/web/source/settings/redux/index.js +++ b/web/source/settings/redux/index.js @@ -32,6 +32,7 @@ const {  } = require("redux-persist");  const query = require("../lib/query/base"); +const { Promise } = require("bluebird");  const combinedReducers = combineReducers({  	oauth: require("./oauth").reducer, @@ -43,6 +44,14 @@ const persistedReducer = persistReducer({  	storage: require("redux-persist/lib/storage").default,  	stateReconciler: require("redux-persist/lib/stateReconciler/autoMergeLevel1").default,  	whitelist: ["oauth"], +	migrate: (state) => { +		return Promise.try(() => { +			if (state?.oauth != undefined) { +				state.oauth.expectingRedirect = false; +			} +			return state; +		}); +	}  }, combinedReducers);  const store = configureStore({ diff --git a/web/source/settings/redux/oauth.js b/web/source/settings/redux/oauth.js index 081d4e508..efd872078 100644 --- a/web/source/settings/redux/oauth.js +++ b/web/source/settings/redux/oauth.js @@ -23,17 +23,12 @@ const { createSlice } = require("@reduxjs/toolkit");  module.exports = createSlice({  	name: "oauth",  	initialState: { -		loginState: 'none' +		loginState: 'none', +		expectingRedirect: false  	},  	reducers: { -		setInstance: (state, { payload }) => { -			return { -				...state, -				...payload /* overrides instance, registration keys */ -			}; -		}, -		authorize: (state) => { -			state.loginState = "callback"; +		authorize: (state, { payload }) => { +			return payload; // overrides state  		},  		setToken: (state, { payload }) => {  			state.token = `${payload.token_type} ${payload.access_token}`; | 
