@rileybathurst/paddle 1.0.14 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rileybathurst/paddle",
3
3
  "private": false,
4
- "version": "1.0.14",
4
+ "version": "1.0.16",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "dev": "vite",
@@ -1,28 +1,62 @@
1
- // TODO: this isnt finished but hasnt been implemented yet
1
+ // * dont call this directly go through composition locally then a single query here
2
+
2
3
  import * as React from "react"
3
- import { faker } from '@faker-js/faker';
4
+ import { GatsbyImage } from "gatsby-plugin-image"
5
+ import type { GatsbyImageType } from "./types/gatsby-image-type"
6
+
7
+ type defaultPaddlerTypes = {
8
+ sport?: string;
9
+ defaultKayaker: GatsbyImageType;
10
+ defaultPaddleboarder: GatsbyImageType;
11
+ }
12
+
13
+ const DefaultPaddler = ({ sport, defaultKayaker, defaultPaddleboarder }: defaultPaddlerTypes) => {
14
+ if (sport === "sup") {
15
+ return (
16
+ <GatsbyImage
17
+ image={defaultPaddleboarder.localFile.childImageSharp.gatsbyImageData}
18
+ alt={defaultPaddleboarder.alternativeText || "Paddleboarder"}
19
+ className="img__wrapped paddler"
20
+ />
21
+ )
22
+ }
23
+ return (
24
+ <GatsbyImage
25
+ image={defaultKayaker.localFile.childImageSharp.gatsbyImageData}
26
+ alt={defaultKayaker.alternativeText || "Kayaker"}
27
+ className="img__wrapped paddler"
28
+ />
29
+ )
30
+ }
4
31
 
5
32
  interface CompositionTypes {
6
33
  sport?: string;
34
+ image?: GatsbyImageType;
35
+ defaultKayaker: GatsbyImageType;
36
+ defaultPaddleboarder: GatsbyImageType;
37
+ WaterTexture: GatsbyImageType;
7
38
  }
8
- const PaddleComposition = ({ sport }: CompositionTypes) => {
39
+ const PaddleComposition = ({ sport, image, defaultKayaker, defaultPaddleboarder, WaterTexture }: CompositionTypes) => {
9
40
  return (
10
41
  <div className="composition">
11
- {sport}
12
- {/* <WaterTexture className="texture-1" /> */}
13
- <img
14
- src={faker.image.urlPlaceholder()}
15
- alt={faker.location.city()}
16
- className="texture-1"
42
+ <GatsbyImage
43
+ image={WaterTexture.localFile.childImageSharp.gatsbyImageData}
44
+ alt={WaterTexture.alternativeText || "Water Texture"}
45
+ className="img__wrapped texture-1"
17
46
  />
18
- <img
19
- src={faker.image.urlPlaceholder()}
20
- alt={faker.location.city()}
21
- className="texture-2 img-wrapped"
22
- />
23
- {/* <TopThree className="texture-2 img__wrapped" /> */}
24
- {/* {sport === 'paddleboard' ? <Supper className="paddler" /> : <Kayaker className="paddler" />} */}
25
- {faker.datatype.boolean() ? <>Supper</> : <>Kayaker</>}
47
+
48
+ {image ?
49
+ <GatsbyImage
50
+ image={image.localFile.childImageSharp.gatsbyImageData}
51
+ alt={image.alternativeText || "Composition Image"}
52
+ className="img__wrapped paddler"
53
+ />
54
+ : <DefaultPaddler
55
+ sport={sport}
56
+ defaultKayaker={defaultKayaker}
57
+ defaultPaddleboarder={defaultPaddleboarder}
58
+ />
59
+ }
26
60
  </div >
27
61
  )
28
62
  }
@@ -151,22 +151,22 @@ const PhoneContent = ({
151
151
  {link?.includes("http") ? (
152
152
  <a
153
153
  href={link}
154
- className="location"
154
+ className="svg"
155
155
  target="_blank"
156
156
  rel="noopener noreferrer"
157
157
  title={name}
158
158
  >
159
- <div className="svg" dangerouslySetInnerHTML={{ __html: svg }} />
159
+ <div dangerouslySetInnerHTML={{ __html: svg }} />
160
160
  </a>
161
161
  ) : (
162
162
  link && (
163
- <Link to={link} className="location">
164
- <div className="svg" dangerouslySetInnerHTML={{ __html: svg }} />
163
+ <Link to={link} className="svg">
164
+ <div dangerouslySetInnerHTML={{ __html: svg }} />
165
165
  </Link>
166
166
  )
167
167
  )}
168
168
 
169
- <div>
169
+ <div className="location_details">
170
170
  <div className="multi_button">
171
171
  {link?.includes("http") ? (
172
172
  <a
@@ -265,9 +265,9 @@ const Content = ({
265
265
  <>
266
266
  <div className="svg" dangerouslySetInnerHTML={{ __html: svg }} />
267
267
 
268
- <div>
268
+ <div className="location_details">
269
269
  <div className="multi_button">
270
- <h3 className="elbrus">{name}</h3>
270
+ <h3>{name}</h3>
271
271
  </div>
272
272
 
273
273
  {streetAddress ||
package/src/index.tsx CHANGED
@@ -29,4 +29,5 @@ export * from "./PaddleSEO";
29
29
 
30
30
  // Types
31
31
  export * from "./types/ticket-types";
32
- export * from "./types/location-card-types";
32
+ export * from "./types/location-card-types";
33
+ export * from "./types/gatsby-image-type";
@@ -7,4 +7,6 @@
7
7
  height: 0;
8
8
  overflow: hidden;
9
9
  display: block;
10
+ margin: 0;
11
+ padding: 0;
10
12
  }
@@ -105,7 +105,7 @@ button:active {
105
105
  @media (prefers-color-scheme: light) {
106
106
  background-color: var(--sand-200);
107
107
  border-color: var(--sand-100);
108
- color: var(--neutral-600);
108
+ color: var(--tanager-100);
109
109
  }
110
110
  }
111
111
 
@@ -115,7 +115,7 @@ button:active {
115
115
  @media (prefers-color-scheme: light) {
116
116
  background-color: var(--sand-300);
117
117
  border-color: var(--sand-200);
118
- color: var(--neutral-700);
118
+ color: var(--tanager-200);
119
119
  }
120
120
  }
121
121
 
@@ -125,7 +125,7 @@ button:active {
125
125
  @media (prefers-color-scheme: light) {
126
126
  background-color: var(--sand-400);
127
127
  border-color: var(--sand-300);
128
- color: var(--neutral-800);
128
+ color: var(--tanager-300);
129
129
  }
130
130
  }
131
131
 
@@ -233,6 +233,13 @@ menu button {
233
233
  justify-content: center;
234
234
  }
235
235
 
236
+ .location_multi-link {
237
+ display: flex;
238
+ justify-content: space-between;
239
+ gap: var(--denali);
240
+ width: 100%;
241
+ }
242
+
236
243
  /*------------------------------------*/
237
244
 
238
245
  footer .book-now {
@@ -55,6 +55,16 @@ body .south-tahoe {
55
55
  }
56
56
  }
57
57
 
58
+ @media (prefers-color-scheme: light) {
59
+ .tahoe-city .top-bar {
60
+ background-color: var(--sand-100);
61
+ box-shadow: 0 0 0 100vmax var(--sand-100);
62
+ /* color: var(--sand-400); */
63
+ }
64
+
65
+ /* * dark back to clean theme */
66
+ }
67
+
58
68
  .south-tahoe {
59
69
  .top-bar {
60
70
  background-color: var(--lake-100);
@@ -83,6 +93,15 @@ body .south-tahoe {
83
93
  /* #SPECS */
84
94
  /*------------------------------------*/
85
95
 
86
- .specs h2, .specs .spec__unit {
96
+ .specs h2,
97
+ .specs .spec__unit {
87
98
  color: grey;
88
- }
99
+ }
100
+
101
+ .menu__large hr {
102
+ border-color: var(--neutral-300);
103
+
104
+ @media (prefers-color-scheme: dark) {
105
+ border-color: var(--neutral-600);
106
+ }
107
+ }
@@ -339,16 +339,24 @@ header {
339
339
  margin-block-end: var(--kilimanjaro);
340
340
  }
341
341
 
342
+ .location:not(:last-child) {
343
+ border-block-end: 1px solid var(--neutral-400);
344
+ margin-block-end: var(--kosciuszko);
345
+ }
346
+
342
347
  .location {
343
348
  display: flex;
344
- flex-flow: row wrap;
349
+ flex-flow: row;
345
350
  align-items: center;
346
351
  gap: clamp(var(--kosciuszko), 1.67vw, var(--elbrus));
347
352
  border-radius: var(--card-radius);
348
353
 
349
- > a {
350
- display: flex;
351
- }
354
+ /* TODO: this is breaking with a phone and pushing too much location */
355
+ /* > * {
356
+ flex: 3rem 1;
357
+ width: 100%;
358
+ height: fit-content;
359
+ } */
352
360
 
353
361
  > svg,
354
362
  .svg {
@@ -356,6 +364,10 @@ header {
356
364
  min-height: var(--everest);
357
365
  }
358
366
 
367
+ .location_details {
368
+ width: 100%;
369
+ }
370
+
359
371
  /* p {
360
372
  margin-block-end: 0; reset to the gap
361
373
  } */
@@ -365,6 +377,8 @@ header {
365
377
  }
366
378
  }
367
379
 
380
+ .location:not(:last-child)
381
+
368
382
  /*------------------*/
369
383
  /* #COMPOSITION */
370
384
  /*------------------*/
@@ -489,3 +503,19 @@ header {
489
503
  .spec:last-child {
490
504
  border-bottom: none;
491
505
  }
506
+
507
+ /*------------------------------------*/
508
+
509
+ .equipment {
510
+ display: flex;
511
+ flex-direction: column;
512
+ align-items: center;
513
+ justify-content: center;
514
+ gap: 1rem;
515
+
516
+ .equipment-images {
517
+ max-width: 100%;
518
+ object-fit: cover;
519
+ margin-inline: auto;
520
+ }
521
+ }
@@ -7,11 +7,6 @@
7
7
  /* #COLOR */
8
8
  /*------------------------------------*/
9
9
 
10
- --sand-100: hsl(25, 37%, 95%);
11
- --sand-150: hsl(25, 37%, 92.5%);
12
- --sand-200: hsl(25, 37%, 87.5%);
13
- --sand-300: hsl(25, 37%, 75%);
14
-
15
10
  --navy-100: oklch(50% 0.09 230); /* base */
16
11
  --navy-200: oklch(37.5% 0.07 230);
17
12
  --navy-300: oklch(25% 0.04 230);
@@ -1,12 +1,6 @@
1
1
  /*------------------*/
2
2
  /* #VISIBILITY */
3
3
  /*------------------*/
4
- .sr-only {
5
- width: 0;
6
- height: 0;
7
- overflow: hidden;
8
- display: block;
9
- }
10
4
 
11
5
  .pricing-chart__false {
12
6
  display: none;
@@ -0,0 +1,10 @@
1
+ import type { IGatsbyImageData } from "gatsby-plugin-image";
2
+
3
+ export interface GatsbyImageType {
4
+ localFile: {
5
+ childImageSharp: {
6
+ gatsbyImageData: IGatsbyImageData;
7
+ };
8
+ };
9
+ alternativeText: string;
10
+ }