diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2019-03-19 20:45:24 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2019-03-19 20:45:24 +0100 |
| commit | 7eb3c04ef85fa0311bdf30b24df2aba102757878 (patch) | |
| tree | bfb1354dcbed9486b43e75c7d2507a725212db24 /scraper/client/search/search.actions.js | |
| parent | 46885570e527a2bb8a374e7044afdf0a4c5ba07e (diff) | |
rebuild site
Diffstat (limited to 'scraper/client/search/search.actions.js')
| -rw-r--r-- | scraper/client/search/search.actions.js | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/scraper/client/search/search.actions.js b/scraper/client/search/search.actions.js deleted file mode 100644 index 95cea433..00000000 --- a/scraper/client/search/search.actions.js +++ /dev/null @@ -1,162 +0,0 @@ -// import fetchJsonp from 'fetch-jsonp' -import * as types from '../types' -// import { hashPath } from '../util' -import { store, history } from '../store' -import { post, pad, verify, preloadImage } from '../util' -import querystring from 'query-string' - -// urls - -const url = { - upload: () => process.env.API_HOST + '/search/api/upload', - search: () => process.env.API_HOST + '/search/api/fetch', - searchByVerifiedFrame: (verified, hash, frame) => process.env.API_HOST + '/search/api/search/' + verified + '/' + hash + '/' + pad(frame, 6), - searchByFrame: (hash, frame) => process.env.API_HOST + '/search/api/search/' + hash + '/' + pad(frame, 6), - browse: hash => process.env.API_HOST + '/search/api/list/' + hash, - random: () => process.env.API_HOST + '/search/api/random', - check: () => process.env.API_HOST + '/api/images/import/search', -} -export const publicUrl = { - browse: hash => '/search/browse/' + hash, - searchByVerifiedFrame: (verified, hash, frame) => '/search/keyframe/' + verify(verified) + '/' + hash + '/' + pad(frame, 6), - searchByFrame: (hash, frame) => '/search/keyframe/' + hash + '/' + pad(frame, 6), - review: () => '/search/review/' -} - -// standard loading events - -const loading = (tag, offset) => ({ - type: types.search.loading, - tag, - offset -}) -const loaded = (tag, data, offset = 0) => ({ - type: types.search.loaded, - tag, - data, - offset -}) -const error = (tag, err) => ({ - type: types.search.error, - tag, - err -}) - -// search UI functions - -export const panic = () => dispatch => { - history.push('/search/') - dispatch({ type: types.search.panic }) -} -export const updateOptions = opt => dispatch => { - dispatch({ type: types.search.update_options, opt }) -} - -// API functions - -export const upload = (file, query) => dispatch => { - const { options } = store.getState().search - const tag = 'query' - const fd = new FormData() - fd.append('query_img', file) - fd.append('limit', options.perPage) - if (!query) { - dispatch(loading(tag)) - } - post(url.upload(), fd) - .then(data => { - if (query) { - const { timing } = data.query - data.query = { - ...query, - timing, - } - let qs = {} - if (data.query.crop) { - let { x, y, w, h } = data.query.crop - qs.crop = [x, y, w, h].map(n => parseInt(n, 10)).join(',') - } - if (query.url && !query.hash) { - qs.url = query.url - } - // history.push(window.location.pathname + '#' + querystring.stringify(qs)) - // window.location.hash = querystring.stringify(qs) - } else if (data.query.url && !window.location.search.match(data.query.url)) { - history.push('/search/?url=' + data.query.url) - } - dispatch(loaded(tag, data)) - }) - .catch(err => dispatch(error(tag, err))) -} -export const searchByVerifiedFrame = (verified, hash, frame, offset = 0) => dispatch => { - const { options } = store.getState().search - const tag = 'query' - dispatch(loading(tag, offset)) - const qs = querystring.stringify({ limit: options.perPage, offset }) - preloadImage({ verified, hash, frame }) - fetch(url.searchByVerifiedFrame(verified, hash, frame) + '?' + qs, { - method: 'GET', - mode: 'cors', - }) - .then(data => data.json()) - .then(data => dispatch(loaded(tag, data, offset))) - .catch(err => dispatch(error(tag, err))) -} -export const searchByFrame = (hash, frame, offset = 0) => dispatch => { - const { options } = store.getState().search - const tag = 'query' - dispatch(loading(tag, offset)) - const qs = querystring.stringify({ limit: options.perPage, offset }) - preloadImage({ verified: false, hash, frame }) - fetch(url.searchByFrame(hash, frame) + '?' + qs, { - method: 'GET', - mode: 'cors', - }) - .then(data => data.json()) - .then(data => dispatch(loaded(tag, data, offset))) - .catch(err => dispatch(error(tag, err))) -} -export const search = (uri, offset = 0) => dispatch => { - const { options } = store.getState().search - const tag = 'query' - dispatch(loading(tag, offset)) - const qs = querystring.stringify({ url: uri, limit: options.perPage, offset }) - if (uri.indexOf('static') === 0) { - preloadImage({ uri }) - } - fetch(url.search(uri) + '?' + qs, { - method: 'GET', - mode: 'cors', - }) - .then(data => data.json()) - .then(data => dispatch(loaded(tag, data, offset))) - .catch(err => dispatch(error(tag, err))) -} -export const browse = hash => dispatch => { - const tag = 'browse' - dispatch(loading(tag)) - fetch(url[tag](hash), { - method: 'GET', - mode: 'cors', - }) - .then(data => data.json()) - .then(data => dispatch(loaded(tag, data))) - .catch(err => dispatch(error(tag, err))) -} -export const random = () => dispatch => { - const { options } = store.getState().search - const qs = querystring.stringify({ limit: options.perPage }) - const tag = 'query' - dispatch(loading(tag)) - fetch(url.random() + '?' + qs, { - method: 'GET', - mode: 'cors', - }) - .then(data => data.json()) - .then(data => { - dispatch(loaded(tag, data)) - history.push(publicUrl.searchByVerifiedFrame(data.query.verified, data.query.hash, data.query.frame)) - // window.history.pushState(null, 'VSearch: Results', publicUrl.searchByVerifiedFrame(data.query.verified, data.query.hash, data.query.frame)) - }) - .catch(err => dispatch(error(tag, err))) -} |
