Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
f1e8566
fix: sends a trimmed Pokemon payload to Poracle instead
Mygod Apr 3, 2026
21d7229
fix: review findings
Mygod Apr 3, 2026
14f5755
fix: avoid treating add-new Pokémon filters as updates
Mygod Apr 3, 2026
28ef291
fix: preserve no-iv Pokemon filter ranges
Mygod Apr 3, 2026
a2cd348
fix: preserve Pokemon webhook edit state
Mygod Apr 3, 2026
0526ea6
fix: keep Pokemon webhook UI flags local
Mygod Apr 3, 2026
2211aab
fix: preserve Pokemon create payload modes
Mygod Apr 3, 2026
5df4ff9
fix: preserve all-forms Pokemon mode state
Mygod Apr 3, 2026
701a88c
fix: separate Pokemon update serialization
Mygod Apr 3, 2026
677892a
fix: normalize Pokemon update payloads
Mygod Apr 3, 2026
75826c8
fix: preserve Pokemon create payload defaults
Mygod Apr 3, 2026
8020854
fix: copilot comments
Mygod Apr 3, 2026
0edb729
fix: fix Incl. No IV
Mygod Apr 3, 2026
dc9ff59
fix(webhooks): preserve no-iv pokemon ranges
Mygod Apr 3, 2026
e7cab4c
fix(webhooks): preserve pokemon weight defaults
Mygod Apr 3, 2026
8f85977
fix(webhooks): preserve omitted pokemon iv state
Mygod Apr 3, 2026
4c5abf9
fix(webhooks): handle nullable omitted iv bounds
Mygod Apr 3, 2026
a4b8e6b
fix(webhooks): preserve omitted pokemon defaults
Mygod Apr 3, 2026
6d93ac9
fix(webhooks): preserve pvp edit fields
Mygod Apr 4, 2026
194696f
fix(webhooks): clear disabled pokemon pvp filters
Mygod Apr 4, 2026
33a1f44
fix(webhooks): preserve omitted pokemon bounds
Mygod Apr 4, 2026
14dbebd
fix(webhooks): align pokemon webhook state
Mygod Apr 4, 2026
835983c
fix(webhooks): preserve no-iv mode until pvp
Mygod Apr 4, 2026
3596ece
fix(webhooks): exit pvp mode on range edits
Mygod Apr 4, 2026
12aca35
fix(webhooks): keep pvp size filters active
Mygod Apr 4, 2026
6ff4252
fix(webhooks): keep pvp size mode explicit
Mygod Apr 4, 2026
fb882d0
fix(webhooks): isolate pvp pokemon payloads
Mygod Apr 4, 2026
ef7c566
fix(webhooks): seed pvp fields in pokemon edits
Mygod Apr 4, 2026
5456fc8
fix(webhooks): reset pokemon pvp fields on disable
Mygod Apr 4, 2026
be5fe39
fix(webhooks): clear pokemon pvp exit paths
Mygod Apr 4, 2026
8b34f48
fix(webhooks): clear inactive pokemon pvp payloads
Mygod Apr 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 14 additions & 5 deletions src/features/webhooks/Manage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -91,18 +91,27 @@ export function Manage() {

React.useEffect(() => {
if (!addNew.open && addNew.save && category !== 'human') {
const { tempFilters } = useWebhookStore.getState()
const values = Poracle.processor(
const {
tempFilters,
context: { ui },
} = useWebhookStore.getState()
const { defaults } = ui[category]
const enabledFilters = Object.values(tempFilters || {}).filter(
(x) => x && x.enabled,
)
const payload = Poracle.toApiPayload(category, enabledFilters, defaults)
const values = Poracle.toTrackedState(
category,
Object.values(tempFilters || {}).filter((x) => x && x.enabled),
useWebhookStore.getState().context.ui[category].defaults,
enabledFilters,
defaults,
payload,
)
apolloClient.mutate({
// @ts-ignore
mutation: Query.webhook(category.toUpperCase()),
variables: {
category,
data: values,
data: payload,
status: 'POST',
},
refetchQueries: [ALL_PROFILES],
Expand Down
18 changes: 16 additions & 2 deletions src/features/webhooks/WebhookAdv.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ const skipFields = new Set([
'allForms',
'pvpEntry',
'noIv',
'omittedFields',
'byDistance',
'distance',
'xs',
Expand Down Expand Up @@ -169,12 +170,18 @@ export function WebhookAdvanced() {

const handleSlider = React.useCallback(
(low, high) => (name, values) => {
const isPvp = name.startsWith('pvp')
setFilterValues((prev) => ({ ...prev, [name]: values }))
setPoracleValues((prev) => ({
...prev,
[low]: values[0],
[high]: values[1],
pvpEntry: name.startsWith('pvp'),
pvpEntry: isPvp
? !!prev.pvp_ranking_league
: name === 'size'
? prev.pvpEntry && !!prev.pvp_ranking_league
: false,
noIv: isPvp && prev.pvp_ranking_league ? false : prev.noIv,
}))
},
[],
Expand Down Expand Up @@ -241,11 +248,18 @@ export function WebhookAdvanced() {
const handleSelect = (event) => {
const { name, value } = event.target
const newObj = { [name]: value }
const hasPvpLeague =
name === 'pvp_ranking_league'
? !!value
: !!poracleValues.pvp_ranking_league
if (name === 'pvp_ranking_league') {
newObj.pvp_ranking_min_cp = pvp === 'ohbem' ? 0 : value - 50
}
if (name.startsWith('pvp')) {
newObj.pvpEntry = true
newObj.pvpEntry = hasPvpLeague
if (hasPvpLeague) {
newObj.noIv = false
}
}
if (name === 'move' && value !== 9000) {
newObj.allMoves = false
Expand Down
Loading
Loading