From d8d8a00fd9999539383119462f9396311df1c421 Mon Sep 17 00:00:00 2001 From: Spythere Date: Sat, 2 May 2026 15:40:05 +0200 Subject: [PATCH] chore(app): added the Creator badge --- public/images/icon-creator.png | Bin 0 -> 22270 bytes .../JournalDispatcherEntry.vue | 18 ++++++++- .../JournalTimetables/EntryGeneral.vue | 16 +++++++- .../PlayerProfileView/ProfileSummary.vue | 8 +++- .../SceneryInfo/SceneryInfoDispatcher.vue | 13 ++++++- src/components/StationsView/StationTable.vue | 19 +++++++-- src/components/Tooltip/CreatorTooltip.vue | 36 ++++++++++++++++++ src/components/Tooltip/DonatorTooltip.vue | 11 ++---- src/components/Tooltip/Tooltip.vue | 6 ++- src/components/TrainsView/TrainInfo.vue | 17 +++++++-- src/locales/en.json | 3 +- src/locales/pl.json | 3 +- src/store/tooltipStore.ts | 3 +- src/styles/_global.scss | 13 +++++++ src/utils/userUtils.ts | 3 ++ 15 files changed, 142 insertions(+), 27 deletions(-) create mode 100755 public/images/icon-creator.png create mode 100644 src/components/Tooltip/CreatorTooltip.vue create mode 100644 src/utils/userUtils.ts diff --git a/public/images/icon-creator.png b/public/images/icon-creator.png new file mode 100755 index 0000000000000000000000000000000000000000..80f402e9e49f37f6088f94710258fa586a2f5d4a GIT binary patch literal 22270 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

  • ndZD>#bkUE%b(4a6V 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 literal 0 HcmV?d00001 diff --git a/src/components/JournalView/JournalDispatchers/JournalDispatcherEntry.vue b/src/components/JournalView/JournalDispatchers/JournalDispatcherEntry.vue index 027ee19..bb6e8ab 100644 --- a/src/components/JournalView/JournalDispatchers/JournalDispatcherEntry.vue +++ b/src/components/JournalView/JournalDispatchers/JournalDispatcherEntry.vue @@ -18,7 +18,20 @@ + + {{ entry.dispatcherName }} + + + + @@ -122,6 +135,7 @@ import styleMixin from '../../../mixins/styleMixin'; import { useApiStore } from '../../../store/apiStore'; import StationStatusBadge from '../../Global/StationStatusBadge.vue'; import FlagIcon from '../../Global/FlagIcon.vue'; +import { isCreator } from '../../../utils/userUtils'; export default defineComponent({ props: { @@ -134,7 +148,7 @@ export default defineComponent({ emits: ['toggleShowExtraInfo'], data() { - return { regions, apiStore: useApiStore() }; + return { regions, apiStore: useApiStore(), isCreator }; }, methods: { diff --git a/src/components/JournalView/JournalTimetables/EntryGeneral.vue b/src/components/JournalView/JournalTimetables/EntryGeneral.vue index b8383c9..5517a04 100644 --- a/src/components/JournalView/JournalTimetables/EntryGeneral.vue +++ b/src/components/JournalView/JournalTimetables/EntryGeneral.vue @@ -59,7 +59,17 @@ + {{ timetable.driverName }} + + +
    -

    +

    props.playerName ? apiStore.donatorsData.includes(props.playerName) : false ); +const isPlayerCreator = computed(() => (props.playerName ? isCreator(props.playerName) : false)); + const activeDispatches = computed(() => { if (!props.playerName) return []; if (!apiStore.activeData || !apiStore.activeData.activeSceneries) return []; diff --git a/src/components/SceneryView/SceneryInfo/SceneryInfoDispatcher.vue b/src/components/SceneryView/SceneryInfo/SceneryInfoDispatcher.vue index 4e1f221..adce247 100644 --- a/src/components/SceneryView/SceneryInfo/SceneryInfoDispatcher.vue +++ b/src/components/SceneryView/SceneryInfo/SceneryInfoDispatcher.vue @@ -9,9 +9,16 @@ + + {{ onlineScenery.dispatcherName }} + {{ onlineScenery.dispatcherName }} @@ -51,6 +58,7 @@ import StationStatusBadge from '../../Global/StationStatusBadge.vue'; import { ActiveScenery } from '../../../typings/common'; import { useApiStore } from '../../../store/apiStore'; import FlagIcon from '../../Global/FlagIcon.vue'; +import { isCreator } from '../../../utils/userUtils'; export default defineComponent({ mixins: [styleMixin, dateMixin, routerMixin], @@ -58,7 +66,8 @@ export default defineComponent({ data() { return { - apiStore: useApiStore() + apiStore: useApiStore(), + isCreator }; }, diff --git a/src/components/StationsView/StationTable.vue b/src/components/StationsView/StationTable.vue index decb834..8dc6345 100644 --- a/src/components/StationsView/StationTable.vue +++ b/src/components/StationsView/StationTable.vue @@ -131,7 +131,16 @@ + creator icon +  {{ station.onlineInfo.dispatcherName }} + + + @@ -353,6 +362,7 @@ import { ActiveSorter, HeadIdsType, headIconsIds, headIds } from './typings'; import { filterStations, sortStations } from './utils'; import { getLanguageNameById } from '../../utils/languageUtils'; import FlagIcon from '../Global/FlagIcon.vue'; +import { isCreator } from '../../utils/userUtils'; export default defineComponent({ emits: ['toggleDonationCard'], @@ -363,8 +373,9 @@ export default defineComponent({ data: () => ({ headIconsIds, headIds, + scrollTop: 0, getChangedFilters, - scrollTop: 0 + isCreator }), setup() { @@ -622,8 +633,8 @@ tbody tr { .station-dispatcher-name { img { - max-width: 1.35em; - vertical-align: text-bottom; + max-height: 1.3em; + vertical-align: text-top; } } diff --git a/src/components/Tooltip/CreatorTooltip.vue b/src/components/Tooltip/CreatorTooltip.vue new file mode 100644 index 0000000..93daec6 --- /dev/null +++ b/src/components/Tooltip/CreatorTooltip.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/components/Tooltip/DonatorTooltip.vue b/src/components/Tooltip/DonatorTooltip.vue index fdbb7db..dca04f7 100644 --- a/src/components/Tooltip/DonatorTooltip.vue +++ b/src/components/Tooltip/DonatorTooltip.vue @@ -1,7 +1,7 @@ @@ -20,11 +20,6 @@ export default defineComponent({ diff --git a/src/components/Tooltip/Tooltip.vue b/src/components/Tooltip/Tooltip.vue index 743a114..5c8c38a 100644 --- a/src/components/Tooltip/Tooltip.vue +++ b/src/components/Tooltip/Tooltip.vue @@ -8,12 +8,13 @@ import { defineComponent } from 'vue'; import { useTooltipStore } from '../../store/tooltipStore'; import DonatorTooltip from './DonatorTooltip.vue'; +import CreatorTooltip from './CreatorTooltip.vue'; import VehiclePreviewTooltip from './VehiclePreviewTooltip.vue'; import BaseTooltip from './BaseTooltip.vue'; import SpawnsTooltip from './SpawnsTooltip.vue'; import UsersTooltip from './UsersTooltip.vue'; import HtmlTooltip from './HtmlTooltip.vue'; -import TrainInfoTooltip from "./TrainInfoTooltip.vue"; +import TrainInfoTooltip from './TrainInfoTooltip.vue'; const BOX_PADDING_PX = 20; @@ -25,7 +26,8 @@ export default defineComponent({ SpawnsTooltip, UsersTooltip, HtmlTooltip, - TrainInfoTooltip + TrainInfoTooltip, + CreatorTooltip }, data() { diff --git a/src/components/TrainsView/TrainInfo.vue b/src/components/TrainsView/TrainInfo.vue index f3f62e0..68a9585 100644 --- a/src/components/TrainsView/TrainInfo.vue +++ b/src/components/TrainsView/TrainInfo.vue @@ -56,12 +56,21 @@ + creator icon +  {{ train.driverName }} + + + - {{ train.driverName }}  donator diamond icon +  {{ train.driverName }} {{ train.driverName }} @@ -204,6 +213,7 @@ import trainCategoryMixin from '../../mixins/trainCategoryMixin'; import ProgressBar from '../Global/ProgressBar.vue'; import StockList from '../Global/StockList.vue'; import FlagIcon from '../Global/FlagIcon.vue'; +import { isCreator } from '../../utils/userUtils'; export default defineComponent({ mixins: [trainInfoMixin, styleMixin, trainCategoryMixin], @@ -222,7 +232,8 @@ export default defineComponent({ data() { return { store: useMainStore(), - apiStore: useApiStore() + apiStore: useApiStore(), + isCreator }; }, diff --git a/src/locales/en.json b/src/locales/en.json index e08168a..90d0729 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -42,7 +42,8 @@ "action-paypal": "DONATE WITH PAYPAL", "action-buycoffee": "BUY ME A COFFEE!", "dispatcher-message": "Dispatcher supporting the Stacjownik project!", - "driver-message": "Driver supporting the Stacjownik project!" + "driver-message": "Driver supporting the Stacjownik project!", + "creator-message": "Creator of the Stacjownik project" }, "warnings": { "TWR": "Train with high risk cargo", diff --git a/src/locales/pl.json b/src/locales/pl.json index 95c424b..0d9a638 100644 --- a/src/locales/pl.json +++ b/src/locales/pl.json @@ -42,7 +42,8 @@ "action-paypal": "PRZELEJ PAYPALEM", "action-buycoffee": "POSTAW KAWĘ!", "dispatcher-message": "Dyżurny wspierający projekt Stacjownika!", - "driver-message": "Maszynista wspierający projekt Stacjownika!" + "driver-message": "Maszynista wspierający projekt Stacjownika!", + "creator-message": "Twórca projektu Stacjownik" }, "warnings": { "TWR": "Pociąg z towarami niebezpiecznymi wysokiego ryzyka", diff --git a/src/store/tooltipStore.ts b/src/store/tooltipStore.ts index aaca5f7..a389fd8 100644 --- a/src/store/tooltipStore.ts +++ b/src/store/tooltipStore.ts @@ -9,7 +9,8 @@ export const tooltipKeys = [ 'SpawnsTooltip', 'UsersTooltip', 'HtmlTooltip', - 'TrainInfoTooltip' + 'TrainInfoTooltip', + 'CreatorTooltip' ] as const; export type TooltipType = (typeof tooltipKeys)[number]; diff --git a/src/styles/_global.scss b/src/styles/_global.scss index 9103bec..e7dd277 100644 --- a/src/styles/_global.scss +++ b/src/styles/_global.scss @@ -217,6 +217,19 @@ ul { text-shadow: #f050ff 0 0 10px; } + &--creator { + color: var(--clr-primary); + color: transparent; + + background: var(--clr-primary); + background: linear-gradient(90deg, gold 30%, #ffffff 70%); + background-clip: text; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + + text-shadow: gold 0 0 10px; + } + &--discord { color: var(--clr-donator); color: transparent; diff --git a/src/utils/userUtils.ts b/src/utils/userUtils.ts new file mode 100644 index 0000000..7161eb0 --- /dev/null +++ b/src/utils/userUtils.ts @@ -0,0 +1,3 @@ +export function isCreator(name: string) { + return /(spythere|kowbojyt)/.test(name.toLowerCase()); +}