Skip to content

Commit 732ed6a

Browse files
committed
comments added re: need to update Typesense server
1 parent d1b7e9a commit 732ed6a

File tree

3 files changed

+32
-16
lines changed

3 files changed

+32
-16
lines changed

components/search/bills/BillSearch.tsx

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
SearchBox,
77
useInstantSearch
88
} from "react-instantsearch"
9-
import { currentGeneralCourt } from "functions/src/shared"
9+
import { currentLegislativeSession } from "functions/src/shared"
1010
import styled from "styled-components"
1111
import TypesenseInstantSearchAdapter from "typesense-instantsearch-adapter"
1212
import { Col, Row } from "../../bootstrap"
@@ -16,7 +16,7 @@ import { SearchContainer } from "../SearchContainer"
1616
import { SearchErrorBoundary } from "../SearchErrorBoundary"
1717
import { useRouting } from "../useRouting"
1818
import { BillHit } from "./BillHit"
19-
import { useBillRefinements, useCourtRefinements } from "./useBillRefinements"
19+
import { useBillRefinements, useSessionRefinements } from "./useBillRefinements"
2020
import { useBillHierarchicalMenu } from "./useBillHierarchicalMenu"
2121
import { SortBy, SortByWithConfigurationItem } from "../SortBy"
2222
import { getServerConfig } from "../common"
@@ -66,7 +66,14 @@ export const BillSearch = () => {
6666
indexName={initialSortByValue}
6767
initialUiState={{
6868
[initialSortByValue]: {
69-
refinementList: { court: [String(currentGeneralCourt)] }
69+
refinementList: { court: [String(currentLegislativeSession)] }
70+
// `court:` should be `session:` but 404 - Could not find a facet field named `session` in the schema.
71+
//
72+
// needs adjusting? :
73+
// node_modules\typesense-instantsearch-adapter\lib\TypesenseInstantsearchAdapter.js
74+
//
75+
// see also useBillRefinements.tsx:
76+
// attribute: "court",
7077
}
7178
}}
7279
searchClient={searchClient}
@@ -101,28 +108,27 @@ const useSearchStatus = () => {
101108
const Layout: FC<
102109
React.PropsWithChildren<{ items: SortByWithConfigurationItem[] }>
103110
> = ({ items }) => {
104-
const courtRefinements = useCourtRefinements()
111+
const sessionRefinements = useSessionRefinements()
105112
const refinements = useBillRefinements()
106113
const hierarchicalMenu = useBillHierarchicalMenu()
107114
const status = useSearchStatus()
108115

109-
console.log("Refinement Options", refinements.options)
110-
111116
return (
112117
<SearchContainer>
113118
<Row>
114119
<SearchBox placeholder="Search For Bills" className="mt-2 mb-3" />
115120
</Row>
116121
<Row>
117122
<Col xs={3} lg={3}>
118-
{courtRefinements.options}
123+
{sessionRefinements.options}
119124
{hierarchicalMenu.options}
120125
{refinements.options}
121126
</Col>
122127
<Col className="d-flex flex-column">
123128
<RefinementRow>
124129
<ResultCount className="flex-grow-1 m-1" />
125130
<SortBy items={items} />
131+
{sessionRefinements.show}
126132
{hierarchicalMenu.show}
127133
{refinements.show}
128134
</RefinementRow>

components/search/bills/useBillRefinements.tsx

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import { generalCourts } from "functions/src/shared"
1+
import { legislativeSessions } from "functions/src/shared"
22
import { RefinementListItem } from "instantsearch.js/es/connectors/refinement-list/connectRefinementList"
33
import { useCallback } from "react"
44
import { useRefinements } from "../useRefinements"
55

6-
export const useCourtRefinements = () => {
6+
export const useSessionRefinements = () => {
77
const baseProps = { limit: 500, searchable: true }
88
const propsList = [
99
{
@@ -12,12 +12,19 @@ export const useCourtRefinements = () => {
1212
i
1313
.map(i => ({
1414
...i,
15-
label: generalCourts[i.value as any]?.Name ?? i.label
15+
label: legislativeSessions[i.value as any]?.Name ?? i.label
1616
}))
1717
.sort((a, b) => Number(b.value) - Number(a.value)),
1818
[]
1919
),
2020
attribute: "court",
21+
// `court` should be `session` but 404 - Could not find a facet field named `session` in the schema.
22+
//
23+
// needs adjusting? :
24+
// node_modules\typesense-instantsearch-adapter\lib\TypesenseInstantsearchAdapter.js
25+
//
26+
// see also BillSearch.tsx:
27+
// refinementList: { court: [String(currentLegislativeSession)] }
2128
searchablePlaceholder: "Legislative Session",
2229
...baseProps
2330
}

functions/src/shared/constants.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
1-
export type GeneralCourt = {
1+
export type LegislativeSession = {
22
Name: string
33
Number: number
44
FirstYear: number
55
SecondYear: number
66
}
77

8-
export const generalCourts: Record<number, GeneralCourt | undefined> = {
8+
export const legislativeSessions: Record<
9+
number,
10+
LegislativeSession | undefined
11+
> = {
912
194: {
1013
Name: "194th (Current)",
1114
Number: 194,
@@ -26,12 +29,12 @@ export const generalCourts: Record<number, GeneralCourt | undefined> = {
2629
}
2730
}
2831

29-
export const supportedGeneralCourts = Object.keys(generalCourts)
32+
export const supportedLegislativeSessions = Object.keys(legislativeSessions)
3033
.map(n => Number.parseInt(n))
3134
.sort()
3235
.reverse()
3336

34-
export const currentGeneralCourt = supportedGeneralCourts[0]
37+
export const currentLegislativeSession = supportedLegislativeSessions[0]
3538

36-
export const isCurrentCourt = (courtNumber: number) =>
37-
courtNumber === currentGeneralCourt
39+
export const isCurrentSession = (courtSession: number) =>
40+
courtSession === currentLegislativeSession

0 commit comments

Comments
 (0)