Skip to content

Commit

Permalink
refactor: pricing API change in core
Browse files Browse the repository at this point in the history
  • Loading branch information
joonatank committed Oct 25, 2024
1 parent cdaf999 commit ba9a178
Show file tree
Hide file tree
Showing 29 changed files with 719 additions and 964 deletions.
46 changes: 16 additions & 30 deletions apps/admin-ui/gql/gql-types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1689,14 +1689,6 @@ export enum PriceUnit {
PerWeek = "PER_WEEK",
}

/** An enumeration. */
export enum PricingType {
/** Maksuton */
Free = "FREE",
/** Maksullinen */
Paid = "PAID",
}

/** An enumeration. */
export enum Priority {
Primary = "PRIMARY",
Expand Down Expand Up @@ -4089,21 +4081,18 @@ export type ReservationUnitPricingNode = Node & {
lowestPriceNet?: Maybe<Scalars["Decimal"]["output"]>;
pk?: Maybe<Scalars["Int"]["output"]>;
priceUnit: PriceUnit;
pricingType?: Maybe<PricingType>;
status: Status;
taxPercentage: TaxPercentageNode;
};

export type ReservationUnitPricingSerializerInput = {
begins: Scalars["Date"]["input"];
highestPrice?: InputMaybe<Scalars["Decimal"]["input"]>;
highestPriceNet?: InputMaybe<Scalars["String"]["input"]>;
isActivatedOnBegins?: InputMaybe<Scalars["Boolean"]["input"]>;
lowestPrice?: InputMaybe<Scalars["Decimal"]["input"]>;
lowestPriceNet?: InputMaybe<Scalars["String"]["input"]>;
pk?: InputMaybe<Scalars["Int"]["input"]>;
priceUnit?: InputMaybe<PriceUnit>;
pricingType?: InputMaybe<PricingType>;
status: Status;
taxPercentage?: InputMaybe<Scalars["Int"]["input"]>;
};

Expand Down Expand Up @@ -4737,12 +4726,20 @@ export type SpaceUpdateMutationPayload = {

/** An enumeration. */
export enum Status {
/** aktiivinen */
Active = "ACTIVE",
/** tuleva */
Future = "FUTURE",
/** mennyt */
Past = "PAST",
/** Peruttu */
Cancelled = "CANCELLED",
/** Luonnos */
Draft = "DRAFT",
/** Rauennut */
Expired = "EXPIRED",
/** Käsitelty */
Handled = "HANDLED",
/** Käsittelyssä */
InAllocation = "IN_ALLOCATION",
/** Vastaanotettu */
Received = "RECEIVED",
/** Päätökset lähetetty */
ResultSent = "RESULT_SENT",
}

export type SuitableTimeRangeNode = Node & {
Expand Down Expand Up @@ -5236,12 +5233,11 @@ export type UpdateReservationUnitPricingSerializerInput = {
begins?: InputMaybe<Scalars["Date"]["input"]>;
highestPrice?: InputMaybe<Scalars["Decimal"]["input"]>;
highestPriceNet?: InputMaybe<Scalars["String"]["input"]>;
isActivatedOnBegins?: InputMaybe<Scalars["Boolean"]["input"]>;
lowestPrice?: InputMaybe<Scalars["Decimal"]["input"]>;
lowestPriceNet?: InputMaybe<Scalars["String"]["input"]>;
pk?: InputMaybe<Scalars["Int"]["input"]>;
priceUnit?: InputMaybe<PriceUnit>;
pricingType?: InputMaybe<PricingType>;
status?: InputMaybe<Status>;
taxPercentage?: InputMaybe<Scalars["Int"]["input"]>;
};

Expand Down Expand Up @@ -5928,10 +5924,8 @@ export type PricingFieldsFragment = {
id: string;
begins: string;
priceUnit: PriceUnit;
pricingType?: PricingType | null;
lowestPrice: string;
highestPrice: string;
status: Status;
taxPercentage: { id: string; pk?: number | null; value: string };
};

Expand Down Expand Up @@ -6810,10 +6804,8 @@ export type ReservationUnitEditQuery = {
id: string;
begins: string;
priceUnit: PriceUnit;
pricingType?: PricingType | null;
lowestPrice: string;
highestPrice: string;
status: Status;
taxPercentage: { id: string; pk?: number | null; value: string };
}>;
applicationRoundTimeSlots: Array<{
Expand Down Expand Up @@ -8405,10 +8397,8 @@ export type ReservationQuery = {
id: string;
begins: string;
priceUnit: PriceUnit;
pricingType?: PricingType | null;
lowestPrice: string;
highestPrice: string;
status: Status;
taxPercentage: { id: string; pk?: number | null; value: string };
}>;
metadataSet?: {
Expand Down Expand Up @@ -8706,10 +8696,8 @@ export type ReservationUnitPricingFragment = {
id: string;
begins: string;
priceUnit: PriceUnit;
pricingType?: PricingType | null;
lowestPrice: string;
highestPrice: string;
status: Status;
taxPercentage: { id: string; pk?: number | null; value: string };
}>;
};
Expand Down Expand Up @@ -9688,15 +9676,13 @@ export const PricingFieldsFragmentDoc = gql`
id
begins
priceUnit
pricingType
lowestPrice
highestPrice
taxPercentage {
id
pk
value
}
status
}
`;
export const ReservationUnitPricingFragmentDoc = gql`
Expand Down
29 changes: 20 additions & 9 deletions apps/admin-ui/src/i18n/messages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,16 @@ const translations: ITranslations = {
"Ei pystytty luomaan varauksia yli 2 vuoden päähän",
],
RESERVATION_SERIES_ALREADY_STARTED: ["Toistuva varaus on jo alkanut"],
RESERVATION_UNIT_PRICINGS_MISSING: [
"Varausyksiköllä ei ole hinnoittelua",
],
RESERVATION_UNIT_PRICINGS_NO_ACTIVE_PRICINGS: [
"Varausyksiköllä ei ole aktiivisia hinnoitteluita",
],
RESERVATION_UNIT_PRICINGS_DUPLICATE_DATE: ["Päivämäärä on jo käytössä"],
RESERVATION_UNIT_PRICINGS_INVALID_PRICES: [
"Hinnoittelussa on virheellisiä hintoja",
],
},
descriptive: {
"Reservation overlaps with reservation before due to buffer time.": [
Expand Down Expand Up @@ -1334,10 +1344,11 @@ const translations: ITranslations = {
pricingType: ["Varausyksikön maksullisuus"],
pricingTerms: ["Hinnoitteluperiaate"],
pricingTypes: {
PAID: ["Maksullinen"],
FREE: ["Maksuton"],
paid: ["Maksullinen"],
free: ["Maksuton"],
},
priceChange: ["Hintaan on tulossa muutos"],
hasFuturePrice: ["Hintaan on tulossa muutos"],
begins: ["Alkaa"],
openingTime: ["Alkamisaika"],
closingTime: ["Päättymisaika"],
},
Expand Down Expand Up @@ -1413,12 +1424,6 @@ const translations: ITranslations = {
`Kuvaus kirjoitetaan standardointipohjan mukaisesti.
Lisää linkkejä ulkoisille verkkosivuille kuten käyttöohjeisiin vain tarvittaessa. Tarkista linkkien toimivuus ja saavutettavuus säännöllisesti. Käytäthän muotoiluja harkiten. `,
],
images: [
`Liitä vähintään kolme kuvaa. Kuvien tulisi olla todenmukaisia ja hyvälaatuisia.
Suositus:
lisää ensisijaisesti vaakatasossa kuvattuja kuvia, ei kuitenkaan panoramoja. jpeg/jpg ja png, max 1 M
Kuvissa näkyviltä ihmisiltä tulee olla kuvauslupa. Kuvissa ei saa näkyä turvakameroita.`,
],
publishingSettings: [
`Voit ajastaa varausyksikön julkaistavaksi tai piilotettavaksi asiakkailta tiettynä ajankohtana.`,
],
Expand Down Expand Up @@ -1705,6 +1710,12 @@ const translations: ITranslations = {
deleteImage: ["Poista"],
mainImage: ["Pääkuva"],
useAsMainImage: ["Käytä pääkuvana"],
tooltip: [
`Liitä vähintään kolme kuvaa. Kuvien tulisi olla todenmukaisia ja hyvälaatuisia.
Suositus:
lisää ensisijaisesti vaakatasossa kuvattuja kuvia, ei kuitenkaan panoramoja. jpeg/jpg ja png, max 1 M
Kuvissa näkyviltä ihmisiltä tulee olla kuvauslupa. Kuvissa ei saa näkyä turvakameroita.`,
],
},
priceUnit: {
FIXED: ["Per kerta"],
Expand Down
13 changes: 5 additions & 8 deletions apps/admin-ui/src/spa/ReservationUnit/edit/ActivationGroup.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,17 +34,14 @@ export function ActivationGroup<T extends FieldValues>({
style,
className,
}: ControllerProps<T>): JSX.Element {
const { field } = useController({ control, name });
const {
field: { value, onChange },
} = useController({ control, name });

return (
<Wrapper $noMargin={noMargin} style={style} className={className}>
<Checkbox
id={name}
label={label}
checked={field.value}
onChange={field.onChange}
/>
{field.value ? (
<Checkbox id={name} label={label} checked={value} onChange={onChange} />
{value ? (
<Wrapper $noMargin={noMargin}>
<Indent $noIndent={noIndent}>{children}</Indent>
</Wrapper>
Expand Down
19 changes: 15 additions & 4 deletions apps/admin-ui/src/spa/ReservationUnit/edit/ImageEditor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,16 @@ function RUImage({ image }: { image: ImageFormType }): JSX.Element {
let fakePk = -1;

const FileInputContainer = styled.div`
& button {
--background-color-hover: var(--color-black-5);
--color-hover: var(--color-black);
--background-color-focus: transparent;
--color-focus: var(--color-black) --focus-outline-color:
var(--color-focus-outline);
--color: var(--color-black);
--border-color: var(--color-black);
}
div:nth-of-type(3) {
width: 100%;
button {
Expand All @@ -61,7 +71,10 @@ const FileInputContainer = styled.div`
}
`;

const SmallButton = styled(Button)`
const SmallButton = styled(Button).attrs({
variant: "secondary",
theme: "black",
})`
border: 0;
padding: 0;
min-height: 0;
Expand Down Expand Up @@ -94,15 +107,13 @@ function ReservationUnitImage({
<span>{t("ImageEditor.mainImage")}</span>
) : (
<SmallButton
variant="secondary"
disabled={isMain || image.pk == null}
onClick={() => makeIntoMainImage(image.pk ?? 0)}
>
{t("ImageEditor.useAsMainImage")}
</SmallButton>
)}
<SmallButton
variant="secondary"
disabled={image.pk == null}
onClick={() => deleteImage(image.pk ?? 0)}
>
Expand Down Expand Up @@ -177,7 +188,7 @@ export function ImageEditor({
dragAndDropInputLabel=" "
maxSize={5242880}
onChange={(files) => addImage(files)}
tooltipText={t("ReservationUnitEditor.tooltip.images")}
tooltipText={t("ImageEditor.tooltip")}
/>
</FileInputContainer>
</div>
Expand Down
Loading

0 comments on commit ba9a178

Please sign in to comment.