Improve wording

This commit is contained in:
Patrick Gebhardt 2020-06-25 00:16:43 +02:00
parent 2077aeebf8
commit 24ad736091
9 changed files with 168 additions and 59 deletions

View File

@ -1,5 +1,5 @@
<mat-chip-list> <mat-chip-list>
<!--suppress AngularInvalidExpressionResultType --> <!--suppress AngularInvalidExpressionResultType -->
<mat-chip (click)="onChipClick(tag)" *ngFor="let tag of availableTags" [color]="isSelected(tag) ? 'accent' : 'none'" <mat-chip (click)="onChipClick(tag)" *ngFor="let tag of availableTags" [color]="isSelected(tag) ? 'accent' : 'none'"
selected>{{tag}}</mat-chip> selected>{{tag|translate}}</mat-chip>
</mat-chip-list> </mat-chip-list>

View File

@ -17,6 +17,7 @@
</div> </div>
<mat-divider *ngIf="result.scores.length > 0"></mat-divider> <mat-divider *ngIf="result.scores.length > 0"></mat-divider>
<div class="searched-params"> <div class="searched-params">
<div class="result-desc">Estimated values for your chosen travel dates</div>
<table> <table>
<tr *ngFor="let score of result.scores" [ngClass]="{'undefined': score.value == undefined}"> <tr *ngFor="let score of result.scores" [ngClass]="{'undefined': score.value == undefined}">
<td> <td>
@ -27,7 +28,7 @@
</td> </td>
<td> <td>
<div class="cell right"> <div class="cell right">
<span>{{score.value != undefined ? (score.value|number:'1.2-2') : 'N/A'}}</span> <span>{{score.value != undefined ? (score.value|number:PROPERTY_VIS_DEF[score.type].decimals) : 'N/A'}}</span>
</div> </div>
</td> </td>
<td> <td>

View File

@ -67,6 +67,17 @@
.undefined { .undefined {
color: #8f8f8f; color: #8f8f8f;
} }
.result-desc {
text-transform: uppercase;
font-size: small;
margin-right: 0.25rem;
margin-bottom: 0.5rem;
overflow-y: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
} }
} }

View File

@ -10,7 +10,7 @@
<mat-vertical-stepper> <mat-vertical-stepper>
<!-- Date input --> <!-- Date input -->
<mat-step> <mat-step>
<ng-template matStepLabel>When is your trip?</ng-template> <ng-template matStepLabel>When do you want to travel?</ng-template>
<div class="vertical-wrap"> <div class="vertical-wrap">
<mat-form-field appearance="outline"> <mat-form-field appearance="outline">
<mat-label>Start</mat-label> <mat-label>Start</mat-label>
@ -24,7 +24,7 @@
</mat-step> </mat-step>
<!-- Multi presets --> <!-- Multi presets -->
<mat-step> <mat-step>
<ng-template matStepLabel>Which climate would you prefer?</ng-template> <ng-template matStepLabel>Which climate makes you feel comfortable?</ng-template>
<div *ngFor="let key of multiPresetsKeys" class="sub-group"> <div *ngFor="let key of multiPresetsKeys" class="sub-group">
<span class="label">{{key|translate}}:</span><br> <span class="label">{{key|translate}}:</span><br>
<mat-radio-group [ngModel]="multiPresetSelection[key]" [value]="undefined"> <mat-radio-group [ngModel]="multiPresetSelection[key]" [value]="undefined">
@ -89,14 +89,17 @@
</section> </section>
<!-- Climate Params --> <!-- Climate Params -->
<section class="group"> <section class="group">
<span class="title">Climate</span> <span class="title small-bottom-margin">Climate</span>
<app-toggle-slider [(model)]="temperatureMeanMax" [label]="'Max Temp'" [max]="45" [min]="0"></app-toggle-slider> <span class="desc">Choose your sweetspot</span>
<app-toggle-slider [(model)]="temperatureMeanMax" [label]="'Temperature'" [max]="45"
[min]="0"></app-toggle-slider>
<app-toggle-slider [(model)]="precipitation" [label]="'Precipitation'" [max]="500" <app-toggle-slider [(model)]="precipitation" [label]="'Precipitation'" [max]="500"
[min]="0"></app-toggle-slider> [min]="0"></app-toggle-slider>
</section> </section>
<!-- Financial --> <!-- Financial -->
<section class="group"> <section class="group">
<span class="title">Fincancial</span> <span class="title small-bottom-margin">Fincancial</span>
<span class="desc">Choose your sweetspot</span>
<app-toggle-slider [(model)]="accommodation" [label]="'Accommodation'" [max]="60" [min]="0"></app-toggle-slider> <app-toggle-slider [(model)]="accommodation" [label]="'Accommodation'" [max]="60" [min]="0"></app-toggle-slider>
</section> </section>
</mat-tab> </mat-tab>

View File

@ -83,3 +83,10 @@
} }
} }
.desc {
font-size: smaller;
}
.small-bottom-margin {
margin-bottom: 0.4rem !important;
}

View File

@ -27,40 +27,27 @@
<mat-tab-group> <mat-tab-group>
<mat-tab *ngIf="region.avg_price_relative" label="Price Deviation"> <mat-tab *ngIf="region.avg_price_relative" label="Price Deviation">
<ng-template matTabContent> <ng-template matTabContent>
<app-graph <app-graph [monthlyDatas]="[region.avg_price_relative]" class="graph" formatSting="##,##%" graphType="column">
[monthlyDatas]="[region.avg_price_relative]"
class="graph"
formatSting="##,##%"
graphType="column">
</app-graph> </app-graph>
</ng-template> </ng-template>
</mat-tab> </mat-tab>
<mat-tab *ngIf="region.temperature_mean_max && region.temperature_mean_max[0]" label="Temperatures"> <mat-tab *ngIf="region.temperature_mean_max && region.temperature_mean_max[0]" label="Temperatures">
<ng-template matTabContent> <ng-template matTabContent>
<app-graph [colors]="['blue', 'red']" <app-graph [colors]="['blue', 'red']" [labels]="['Min', 'Max']"
[labels]="['Min', 'Max']" [monthlyDatas]="[region.temperature_mean_min, region.temperature_mean_max]" class="graph"
[monthlyDatas]="[region.temperature_mean_min, region.temperature_mean_max]"
class="graph"
formatSting="##,##°C"> formatSting="##,##°C">
</app-graph> </app-graph>
</ng-template> </ng-template>
</mat-tab> </mat-tab>
<mat-tab *ngIf="region.precipitation && region.precipitation[0]" label="Precipitation"> <mat-tab *ngIf="region.precipitation && region.precipitation[0]" label="Precipitation">
<ng-template matTabContent> <ng-template matTabContent>
<app-graph <app-graph [monthlyDatas]="[region.precipitation]" class="graph" formatSting="####mm">
[monthlyDatas]="[region.precipitation]"
class="graph"
formatSting="####mm">
</app-graph> </app-graph>
</ng-template> </ng-template>
</mat-tab> </mat-tab>
<mat-tab *ngIf="region.rain_days && region.rain_days[0]" label="Rain days"> <mat-tab *ngIf="region.rain_days && region.rain_days[0]" label="Rain days">
<ng-template matTabContent> <ng-template matTabContent>
<app-graph <app-graph [monthlyDatas]="[region.rain_days]" class="graph" formatSting="####" graphType="column">
[monthlyDatas]="[region.rain_days]"
class="graph"
formatSting="####"
graphType="column">
</app-graph> </app-graph>
</ng-template> </ng-template>
</mat-tab> </mat-tab>

View File

@ -53,8 +53,8 @@ export class SearchComponent implements OnInit {
this.sortOptions = [ this.sortOptions = [
{name: 'Relevance', property: 'score', descending: true}, {name: 'Relevance', property: 'score', descending: true},
{name: 'Name', property: 'name'}, {name: 'Region name', property: 'name'},
{name: 'Accommodation', property: 'accommodation_costs'} {name: 'Accommodation price', property: 'accommodation_costs'}
]; ];
if (this.results.length > 0) { if (this.results.length > 0) {

View File

@ -90,60 +90,144 @@ export class DataService {
export const REGION_PARAM_VIS: RegionParamVisLookup = { export const REGION_PARAM_VIS: RegionParamVisLookup = {
temperature_mean: { temperature_mean: {
icon: 'wb_sunny', icon: 'wb_sunny',
unit: '°C' unit: '°C',
decimals: '1.0-0'
}, },
temperature_mean_min: { temperature_mean_min: {
icon: 'wb_sunny', icon: 'wb_sunny',
unit: '°C' unit: '°C',
decimals: '1.0-0'
}, },
temperature_mean_max: { temperature_mean_max: {
icon: 'wb_sunny', icon: 'wb_sunny',
unit: '°C' unit: '°C',
decimals: '1.0-0'
}, },
precipitation: { precipitation: {
icon: 'opacity', icon: 'opacity',
unit: 'mm' unit: 'mm',
decimals: '1.0-0'
}, },
humidity: { humidity: {
icon: 'grain', icon: 'grain',
unit: '%' unit: '%',
decimals: '1.0-0'
}, },
sun_hours: { sun_hours: {
icon: 'flare', icon: 'flare',
unit: 'h' unit: 'h',
decimals: '1.0-0'
}, },
rain_days: { rain_days: {
icon: 'date_range', icon: 'date_range',
unit: '' unit: '',
decimals: '1.0-0'
}, },
food_costs: { food_costs: {
icon: 'local_dining', icon: 'local_dining',
unit: '€/day' unit: '€/day',
decimals: '1.0-0'
}, },
alcohol_costs: { alcohol_costs: {
icon: 'local_bar', icon: 'local_bar',
unit: '€/day' unit: '€/day',
decimals: '1.2-2'
}, },
water_costs: { water_costs: {
icon: 'local_cafe', icon: 'local_cafe',
unit: '€/day' unit: '€/day',
decimals: '1.2-2'
}, },
local_transportation_costs: { local_transportation_costs: {
icon: 'commute', icon: 'commute',
unit: '€/day' unit: '€/day',
decimals: '1.2-2'
}, },
entertainment_costs: { entertainment_costs: {
icon: 'local_activity', icon: 'local_activity',
unit: '€/day' unit: '€/day',
decimals: '1.2-2'
}, },
accommodation_costs: { accommodation_costs: {
icon: 'hotel', icon: 'hotel',
unit: '€/day' unit: '€/day',
decimals: '1.2-2'
}, },
average_per_day_costs: { average_per_day_costs: {
icon: 'euro', icon: 'euro',
unit: '€/day' unit: '€/day',
} decimals: '1.2-2'
},
avg_price_relative: {
icon: 'hotel',
unit: '%',
decimals: '1.1-1'
},
beach: {
icon: 'stars',
unit: '%',
decimals: '1.0-0'
},
history: {
icon: 'stars',
unit: '%',
decimals: '1.0-0'
},
nature: {
icon: 'stars',
unit: '%',
decimals: '1.0-0'
},
art: {
icon: 'stars',
unit: '%',
decimals: '1.0-0'
},
culture: {
icon: 'stars',
unit: '%',
decimals: '1.0-0'
},
mountains: {
icon: 'stars',
unit: '%',
decimals: '1.0-0'
},
architecture: {
icon: 'stars',
unit: '%',
decimals: '1.0-0'
},
rainforest: {
icon: 'stars',
unit: '%',
decimals: '1.0-0'
},
nightlife: {
icon: 'stars',
unit: '%',
decimals: '1.0-0'
},
desert: {
icon: 'stars',
unit: '%',
decimals: '1.0-0'
},
food: {
icon: 'stars',
unit: '%',
decimals: '1.0-0'
},
shopping: {
icon: 'stars',
unit: '%',
decimals: '1.0-0'
},
volcanoes: {
icon: 'stars',
unit: '%',
decimals: '1.0-0'
},
}; };
export interface RegionParamVisLookup { export interface RegionParamVisLookup {
@ -153,4 +237,5 @@ export interface RegionParamVisLookup {
export interface RegionParamVis { export interface RegionParamVis {
icon: string; icon: string;
unit: string; unit: string;
decimals: string;
} }

View File

@ -1,33 +1,48 @@
{ {
"temperature_mean_max": "Max Temperature Average", "temperature_mean_max": "Day temperature",
"temperature": "Temperature", "temperature": "Temperature",
"rain_days": "Rainy days", "rain_days": "Rain days",
"sun_hours": "Sunny hours", "sun_hours": "Sunshine",
"precipitation": "Precipitation", "precipitation": "Precipitation",
"humidity": "Humidity", "humidity": "Humidity",
"alcohol_costs": "Alcohol", "alcohol_costs": "Alcohol",
"food_costs": "Food", "food_costs": "Food",
"water_costs": "Water", "water_costs": "Water",
"cheap_alcohol": "Cheap alcohol", "cheap_alcohol": "cheap alcohol",
"local_transportation_costs": "Public transport", "local_transportation_costs": "Public transport",
"average_per_day_costs": "Total costs", "average_per_day_costs": "Total costs",
"entertainment_costs": "Entertainment", "entertainment_costs": "Entertainment",
"accommodation_costs": "Accommodation", "accommodation_costs": "Accommodation price",
"cheap_food": "Cheap food", "avg_price_relative": "Price tendency",
"cheap_water": "Cheap water", "cheap_food": "cheap food",
"cheap_transportations": "Cheap public transport", "cheap_water": "cheap water",
"cheap_entertainment": "Cheap entertainment", "cheap_transportations": "cheap public transport",
"cheap_accommodation": "Cheap accommodation", "cheap_entertainment": "cheap entertainment",
"off_season": "Off-season", "cheap_accommodation": "cheap accommodation",
"off_season": "low season",
"warm": "warm", "warm": "warm",
"chilly": "cold", "chilly": "cold",
"mild:": "mild", "mild:": "mild",
"cold": "freezing", "cold": "freezing",
"sunny": "sunny", "sunny": "all day long",
"dark": "dark", "dark": "the sun scares me",
"almost_no_rain": "almost none", "normal": "better not so much",
"little_rain": "little", "almost_no_rain": "no rain",
"floodlike_rain": "flooding", "little_rain": "a little is good",
"floodlike_rain": "i like it pouring",
"few_raindays": "few", "few_raindays": "few",
"many_raindays": "many" "many_raindays": "many",
"art": "Art",
"beach": "Beach",
"history": "History",
"nature": "Nature",
"culture": "Culture",
"mountains": "Mountains",
"architecture": "Architecture",
"rainforest": "Rainforest",
"desert": "Desert",
"food": "Food",
"shopping": "Shopping",
"volcanoes": "Volcanoes",
"nightlife": "Nightlife"
} }