-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #7 from TomPlum/dev
Newspaper, settings and landing page improvements
- Loading branch information
Showing
239 changed files
with
9,899 additions
and
1,311 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,7 @@ | ||
# :newspaper: ニュース | ||
|
||
Practice reading real Japanese from news articles published in Japan. | ||
|
||
# Data Sources | ||
|
||
- The Newscatcher API is used to fetch news article information used in this application. See https://www.newscatcherapi.com/ for more info. |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,19 @@ | ||
@import "styles/colours"; | ||
|
||
.wrapper { | ||
padding: 0; | ||
margin: 0; | ||
width: 100%; | ||
height: 100%; | ||
left: 0; | ||
top: 0; | ||
overflow-x: hidden; | ||
} | ||
|
||
.content { | ||
padding: 50px; | ||
display: flex; | ||
width: 100%; | ||
height: 100%; | ||
flex-direction: column; | ||
align-items: center; | ||
align-items: flex-start; | ||
justify-content: flex-start; | ||
background-color: $newspaper; | ||
overflow-y: auto; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export { default } from './useAnkiConnect.ts' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
export interface AnkiConnectResponse<Result> { | ||
result: Result | ||
error: string | null | ||
} | ||
|
||
export interface AnkiConnectRequest<Params> { | ||
action: string | ||
version: number | ||
params?: Params | ||
} | ||
|
||
export type AnkiConnectAction = 'addNote' | 'deckNames' | 'createDeck' | ||
|
||
export interface AnkiConnectClient<Params, Result> { | ||
call: (action: AnkiConnectAction, params?: Params) => Promise<AnkiConnectResponse<Result>> | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
import useClient from "api/clients/useClient" | ||
import { hosts } from "api/hosts.ts" | ||
import { | ||
AnkiConnectAction, | ||
AnkiConnectClient, | ||
AnkiConnectRequest, | ||
AnkiConnectResponse | ||
} from "api/clients/useAnkiConnect/types.ts" | ||
import { useCallback } from "react" | ||
import { AxiosResponse } from "axios" | ||
|
||
const useAnkiConnect = <Params, Result>(): AnkiConnectClient<Params, Result> => { | ||
const client = useClient({ | ||
host: hosts[import.meta.env.MODE].anki, | ||
contextRoot: '' | ||
}) | ||
|
||
const call = useCallback(async (action: AnkiConnectAction, params?: unknown) => { | ||
const { data } = await client.post< | ||
object, | ||
AxiosResponse<AnkiConnectResponse<Result>>, | ||
AnkiConnectRequest<unknown> | ||
>('', { | ||
action, | ||
version: 6, | ||
params: params | ||
}) | ||
|
||
if (data.error) { | ||
throw new Error(data.error) | ||
} | ||
|
||
return data | ||
}, [client]) | ||
|
||
return { | ||
call | ||
} | ||
} | ||
|
||
export default useAnkiConnect |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export { default } from './useAsahiRss.ts' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
export interface AsahiRssFeed { | ||
title: string | ||
link: string | ||
description: string | ||
'dc:language': string | ||
'dc:rights': string | ||
'dc:creator': string | ||
'dc:date': string | ||
'dc:publisher': string | ||
'syn:updatePeriod': string | ||
'syn:updateFrequency': string | ||
'syn:updateBase': string | ||
} | ||
|
||
export interface AsahiRssItem { | ||
title: string | ||
link: string | ||
description: string | ||
'dc:date': string | ||
'dc:subject': string | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
import Parser from "rss-parser" | ||
import { hosts } from "api/hosts.ts" | ||
import { AsahiRssFeed, AsahiRssItem } from "api/clients/useAsahiRss/types.ts" | ||
|
||
const useAsahiRss = () => { | ||
return new Parser<AsahiRssFeed, AsahiRssItem>({ | ||
customFields: { | ||
item: ['dc:subject'], | ||
feed: ['dc:publisher', 'dc:language', 'dc:rights'] | ||
}, | ||
requestOptions: { | ||
host: hosts[import.meta.env.MODE].asahi, | ||
} | ||
}) | ||
} | ||
|
||
export default useAsahiRss |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export { default } from './useMainichiRss.ts' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
export interface MainichiRssFeed { | ||
title: string | ||
link: string | ||
description: string | ||
'dc:language': string | ||
'dc:rights': string | ||
'dc:date': string | ||
'dc:publisher': string | ||
'dc:creator': string | ||
} | ||
|
||
export interface MainichiRssItem { | ||
title: string | ||
link: string | ||
'dc:subject': string | ||
'dc:date': string | ||
date: string | ||
isoDate: string | ||
'rdf:about': string | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
import Parser from "rss-parser" | ||
import { hosts } from "api/hosts.ts" | ||
import { MainichiRssFeed, MainichiRssItem } from "./types.ts" | ||
|
||
const useMainichiRss = () => { | ||
return new Parser<MainichiRssFeed, MainichiRssItem>({ | ||
customFields: { | ||
item: ['dc:subject'], | ||
feed: ['dc:publisher', 'dc:language', 'dc:rights'] | ||
}, | ||
requestOptions: { | ||
host: hosts[import.meta.env.MODE].mainichiRss, | ||
} | ||
}) | ||
} | ||
|
||
export default useMainichiRss |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export { default } from './useNewsCatcherAPI.ts' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
import useClient from "api/clients/useClient" | ||
import { hosts } from "api/hosts.ts" | ||
|
||
const useNewsCatcherAPI = () => { | ||
return useClient({ | ||
host: hosts[import.meta.env.MODE].newsCatcherApi, | ||
contextRoot: 'default' | ||
}) | ||
} | ||
|
||
export default useNewsCatcherAPI |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export { default } from './useCreateAnkiCard.ts' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
export interface CreateAnkiCardParams { | ||
note: { | ||
deckName: string, | ||
modelName: string, | ||
fields: { | ||
Front: Record<string, string>, | ||
Back: Record<string, string> | ||
}, | ||
tags: string[], | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
import useAnkiConnect from "api/clients/useAnkiConnect" | ||
import { useCallback } from "react" | ||
import { CreateAnkiCardParams } from "api/hooks/useCreateAnkiCard/types.ts" | ||
import { queryKeys } from "api/queryKeys.ts" | ||
import { useMutation } from "@tanstack/react-query" | ||
|
||
export const useCreateAnkiCardMutationKey = () => { | ||
return [queryKeys.createAnkiCard] | ||
} | ||
|
||
const useCreateAnkiCard = () => { | ||
const client = useAnkiConnect<CreateAnkiCardParams, string>() | ||
|
||
const addCard = useCallback(async (params: CreateAnkiCardParams) => { | ||
return await client.call('addNote', params) | ||
}, [client]) | ||
|
||
const queryKey = useCreateAnkiCardMutationKey() | ||
|
||
return useMutation(queryKey, addCard) | ||
} | ||
|
||
export default useCreateAnkiCard |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export { default } from './useCreateAnkiDeck.ts' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
export interface CreateAnkiDeckParams { | ||
deck: string | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
import useAnkiConnect from "api/clients/useAnkiConnect" | ||
import { useCallback } from "react" | ||
import { CreateAnkiDeckParams } from "api/hooks/useCreateAnkiDeck/types.ts" | ||
import { queryKeys } from "api/queryKeys.ts" | ||
import { useMutation } from "@tanstack/react-query" | ||
|
||
export const useCreateAnkiDeckMutationKey = () => { | ||
return [queryKeys.createAnkiDeck] | ||
} | ||
|
||
const useCreateAnkiDeck = () => { | ||
const client = useAnkiConnect<CreateAnkiDeckParams, string>() | ||
|
||
const createDeck = useCallback(async (params: CreateAnkiDeckParams) => { | ||
const { result } = await client.call('createDeck', params) | ||
return result | ||
}, [client]) | ||
|
||
const mutationKey = useCreateAnkiDeckMutationKey() | ||
|
||
return useMutation(mutationKey, createDeck) | ||
} | ||
|
||
export default useCreateAnkiDeck |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export { default } from './useGetAnkiDecks.ts' |
Oops, something went wrong.