Skip to content

Commit

Permalink
Add more info on fort langley otentik
Browse files Browse the repository at this point in the history
  • Loading branch information
villasv committed Aug 19, 2024
1 parent fc42458 commit d26717f
Show file tree
Hide file tree
Showing 4 changed files with 94 additions and 23 deletions.
2 changes: 2 additions & 0 deletions app/(aspects)/cycle/gear/page.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# ⚙️ Cycling Gear

[dogpacking-the-moose]: https://www.dogpacking.au/riversidetouring520.html

## Frame

- Triple-butted aluminum frame
Expand Down
38 changes: 27 additions & 11 deletions app/(aspects)/cycle/packing/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,20 @@ Resources: [BC Parks Camping][bc-parks] // [Parks Canada Camping][pc-parks] //
- ~30 km cycling from King George
- ~50 km cycling from Waterfront via Central Valley Greenway

⛺ oTENTik available (May 15 to Sept 15) <ParkReserveLink
⛺ oTENTik available May 15 to Sept 15 <ParkReserveLink
park={Park.FortLangleyNHS} />

The tent has outlets, includes a fridge and even an electric kettle. The fort
has flush toilets but no showers and the ~150 CAD fee hits hard (though it fits
6 people), so a one-night stay is just right. There are barbecue stoves in a
shared area and each cabin has a propane stove.

#### [K7: Gulf Islands National Park Reserve][gulf-np]
[gulf-np]:https://parks.canada.ca/pn-np/bc/gulf

Routes to Swartz Bay:

- **~01 km taking Canada Line + Summer Bike Bus to Tsawwassen** + Ferry
- **~01 km Canada Line + 620 / 900 (Summer Bike Bus) to Tsawwassen** + Ferry
- ~50 km cycling from New Westminster to Tsawwassen + Ferry
- ~65 km cycling from Waterfront via Central Valley to Tsawwassen + Ferry

Expand All @@ -46,22 +51,23 @@ park={Park.GulfIslandsNPR} />
park={Park.SMONEĆTEN} />
- ~05 km to [Prior Centennial (Pender Island)][prior-centennial]
<ParkReserveLink park={Park.PriorCentennial} />
- ~?? km to [Sidney Spit (Sidney Island)][sidney-spit] 🚱🚫🚗 <ParkReserveLink
- ~?? km to [Sidney Spit (Sidney Island)][sidney-spit] 🚱🚳 <ParkReserveLink
park={Park.SidneySpit} />

#TODO: has shower?

[smonecten]: https://parks.canada.ca/pn-np/bc/gulf/activ/camping/campinglavantpays-frontcountrycamping#McDonald
[prior-centennial]: https://parks.canada.ca/pn-np/bc/gulf/activ/camping/campinglavantpays-frontcountrycamping#PriorCentennial
[sidney-spit]: https://parks.canada.ca/pn-np/bc/gulf/activ/camping/campinglavantpays-frontcountrycamping#SidneySpit

The most bike-accessible campground is SMONEĆTEN, with access to the Lochside
Cycling Trail (from Swartz Bay to Downtown Victoria) and walk-in sites close to
entrance in pleasant wooded area, and a communal campfire ring. The downside is
that some campsites are too close to the highway.
The most accessible campground is SMONEĆTEN, with easy access to the Lochside
Cycling Trail (from Swartz Bay to Downtown Victoria). The downside is that some
campsites are too close to the highway.

The most reserved campground is Sidney Spit. It offers sandy beaches, wooded
trails and an abundance of birds and marine life. It does not have potable water
The most reserved campground is Sidney Spit. It does not have potable water
available, but it's not accessible by car so it tends to be easier to book,
though it's necessary to time the [Sidney Ferry][sidney-spit-ferry].
though it's necessary to time the [Sidney Ferry][sidney-spit-ferry] and **Parks
Canada does not allow bikes on Sidney Spit, the ferry won't take them**.

[sidney-spit-ferry]: https://www.sidneyspitferry.com/schedule

Expand All @@ -77,6 +83,8 @@ park={Park.GulfIslandsNPR} preferType={CampingEquipmentType.Backcountry} />
Island][portland-island] all have first-come first-served campgrounds (no
reservations); great for kayak touring, but might need to arrive early.

#TODO: has shower?

[saturna-island]: https://parks.canada.ca/pn-np/bc/gulf/activ/camping/campinglarrierepays-backcountrycamping#Saturna
[pender-island]: https://parks.canada.ca/pn-np/bc/gulf/activ/camping/campinglarrierepays-backcountrycamping#Pender
[darcy-island]: https://parks.canada.ca/pn-np/bc/gulf/activ/camping/campinglarrierepays-backcountrycamping#Darcy
Expand All @@ -97,7 +105,15 @@ Ferry from Tsawwassen to Mayne Island then another to Pender Island.
⛺ oTENTik available (🚫 closed in 2024 for restorations) <ParkReserveLink
park={Park.FisgardLighthouseNHS} />

#### K10: Pacific Rim Park Reserve
#### [K10: Pacific Rim National Park Reserve][pacific-rim-npr]
[pacific-rim-npr]: https://parks.canada.ca/pn-np/bc/pacificrim

⛺ frontcountry campsites available (May 15 to Sept 30) <ParkReserveLink
park={Park.PacificRimNPR} />

⛺ oTENTik available at Green Point (May through October)

📛 Discovery Pass Applies

### BC Parks Sites

Expand Down
62 changes: 50 additions & 12 deletions projects/outdoors/reservations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ export enum Park {
NarvaezBay,
ShingleBay,
FisgardLighthouseNHS,
PacificRimNPR,
// GreenPoint,
// BrokenGroupIslands,
// KeehaBeach,
// WestCoastTrail,
}

export enum Org {
Expand Down Expand Up @@ -90,30 +95,38 @@ export interface BackcountryCampground {
allowedEquipment: BackcountryAllowedEquipment;
}

export interface FrontAndBackcountryCampgrounds {
frontcountry: FrontcountryCampground;
backcountry: BackcountryCampground;
export interface ParkCampgrounds {
accommodation?: ParkAccommodation;
frontcountry?: FrontcountryCampground;
backcountry?: BackcountryCampground;
}

export type ParkWithCampgrounds =
| (ParkCampgrounds & { accommodation: ParkAccommodation })
| (ParkCampgrounds & { frontcountry: FrontcountryCampground })
| (ParkCampgrounds & { backcountry: BackcountryCampground });

export type Campground =
| ParkAccommodation
| FrontcountryCampground
| BackcountryCampground;

export type Searchable = Campground | FrontAndBackcountryCampgrounds;
export type Searchable = Campground | ParkWithCampgrounds;

function getSearchInfo(
park: Park,
preferType: CampingEquipmentType = CampingEquipmentType.Frontcountry
): Campground {
const info = SEARCHABLE_SITES[park];
if ("frontcountry" in info && "backcountry" in info) {
return {
[CampingEquipmentType.Frontcountry]: info.frontcountry,
[CampingEquipmentType.Backcountry]: info.backcountry,
}[preferType];
}
return info;
if ("org" in info) return info;

return {
[CampingEquipmentType.Frontcountry]:
// TODO: TypeScript is not clever enough to know one of these will be present
info.frontcountry ?? info.accommodation ?? info.backcountry,
[CampingEquipmentType.Backcountry]:
info.backcountry ?? info.frontcountry ?? info.accommodation,
}[preferType];
}

export interface ParkReserveParams {
Expand Down Expand Up @@ -264,7 +277,32 @@ const SEARCHABLE_SITES: Record<Park, Searchable> = {
reservationCategory: AccommodationCategory.Accommodation,
mapId: "-2147483533",
resourceLocationId: "-2147483622",
}
},
[Park.PacificRimNPR]: {
accommodation: {},
frontcountry: {
...DEFAULT_FRONTCOUNTRY_CAMPGROUND_INFO,
org: Org.ParksCanada,
mapId: "-2147483316",
},
backcountry: {
...DEFAULT_BACKCOUNTRY_CAMPGROUND_INFO,
org: Org.ParksCanada,
mapId: "-2147483575",
},
},
// [Park.GreenPoint]: {
// org: Org.ParksCanada,
// },
// [Park.BrokenGroupIslands]: {
// org: Org.ParksCanada,
// },
// [Park.KeehaBeach]: {
// org: Org.ParksCanada,
// },
// [Park.WestCoastTrail]: {
// org: Org.ParksCanada,
// },
};

/**
Expand Down
15 changes: 15 additions & 0 deletions projects/outdoors/reserve-link.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -136,4 +136,19 @@ describe(getReservationUrl.name, () => {
].join("");
expect(url).toBe(expectedUrl);
});

it("should work for Pacific Rim Park Reserve (frontcountry)", () => {
const url = getReservationUrl({
park: Park.PacificRimNPR,
...defaultArgs,
});
const expectedUrl = [
"https://reservation.pc.gc.ca/create-booking/results",
"?searchTabGroupId=0", // frontcountry
"&bookingCategoryId=0", // frontcountry campsite
"&mapId=-2147483316",
...defaultFrontcountryParams,
].join("");
expect(url).toBe(expectedUrl);
});
});

0 comments on commit d26717f

Please sign in to comment.