Cleanup .bg-red which does not exist anymore

This commit is contained in:
Tobias 2023-06-14 15:07:03 +02:00
parent 2eabfea8af
commit 14ae7e3272
3 changed files with 74 additions and 71 deletions

View file

@ -1,80 +1,83 @@
<script lang="ts"> <script lang="ts">
import {Translation} from "../i18n/Translation" import { Translation } from "../i18n/Translation"
import * as personal from "../../assets/themes/personal/personal.json" import * as personal from "../../assets/themes/personal/personal.json"
import {ImmutableStore, Store, UIEventSource} from "../../Logic/UIEventSource" import { ImmutableStore, Store, UIEventSource } from "../../Logic/UIEventSource"
import UserDetails, {OsmConnection} from "../../Logic/Osm/OsmConnection" import UserDetails, { OsmConnection } from "../../Logic/Osm/OsmConnection"
import Constants from "../../Models/Constants" import Constants from "../../Models/Constants"
import type {LayoutInformation} from "../../Models/ThemeConfig/LayoutConfig" import type { LayoutInformation } from "../../Models/ThemeConfig/LayoutConfig"
import Tr from "../Base/Tr.svelte" import Tr from "../Base/Tr.svelte"
import SubtleLink from "../Base/SubtleLink.svelte"; import SubtleLink from "../Base/SubtleLink.svelte"
export let theme: LayoutInformation export let theme: LayoutInformation
export let isCustom: boolean = false export let isCustom: boolean = false
export let userDetails: UIEventSource<UserDetails> export let userDetails: UIEventSource<UserDetails>
export let state: { layoutToUse: {id: string}, osmConnection: OsmConnection } export let state: { layoutToUse: { id: string }; osmConnection: OsmConnection }
$: title = new Translation( $: title = new Translation(
theme.title, theme.title,
!isCustom && !theme.mustHaveLanguage ? "themes:" + theme.id + ".title" : undefined !isCustom && !theme.mustHaveLanguage ? "themes:" + theme.id + ".title" : undefined
) )
$: description = new Translation(theme.shortDescription) $: description = new Translation(theme.shortDescription)
// TODO: Improve this function // TODO: Improve this function
function createUrl( function createUrl(
layout: { id: string; definition?: string }, layout: { id: string; definition?: string },
isCustom: boolean, isCustom: boolean,
state?: { layoutToUse?: { id } } state?: { layoutToUse?: { id } }
): Store<string> { ): Store<string> {
if (layout === undefined) { if (layout === undefined) {
return undefined return undefined
} }
if (layout.id === undefined) { if (layout.id === undefined) {
console.error("ID is undefined for layout", layout) console.error("ID is undefined for layout", layout)
return undefined return undefined
}
if (layout.id === state?.layoutToUse?.id) {
return undefined
}
let path = window.location.pathname
// Path starts with a '/' and contains everything, e.g. '/dir/dir/page.html'
path = path.substr(0, path.lastIndexOf("/"))
// Path will now contain '/dir/dir', or empty string in case of nothing
if (path === "") {
path = "."
}
let linkPrefix = `${path}/${layout.id.toLowerCase()}.html?`
if (location.hostname === "localhost" || location.hostname === "127.0.0.1" || location.port === "1234") {
// Redirect to 'theme.html?layout=* instead of 'layout.html'. This is probably a debug run, where the routing does not work
linkPrefix = `${path}/theme.html?layout=${layout.id}&`
}
if (isCustom) {
linkPrefix = `${path}/theme.html?userlayout=${layout.id}&`
}
let hash = ""
if (layout.definition !== undefined) {
hash = "#" + btoa(JSON.stringify(layout.definition))
}
return new ImmutableStore<string>(`${linkPrefix}${hash}`)
} }
let href = createUrl(theme, isCustom, state) if (layout.id === state?.layoutToUse?.id) {
return undefined
}
let path = window.location.pathname
// Path starts with a '/' and contains everything, e.g. '/dir/dir/page.html'
path = path.substr(0, path.lastIndexOf("/"))
// Path will now contain '/dir/dir', or empty string in case of nothing
if (path === "") {
path = "."
}
let linkPrefix = `${path}/${layout.id.toLowerCase()}.html?`
if (
location.hostname === "localhost" ||
location.hostname === "127.0.0.1" ||
location.port === "1234"
) {
// Redirect to 'theme.html?layout=* instead of 'layout.html'. This is probably a debug run, where the routing does not work
linkPrefix = `${path}/theme.html?layout=${layout.id}&`
}
if (isCustom) {
linkPrefix = `${path}/theme.html?userlayout=${layout.id}&`
}
let hash = ""
if (layout.definition !== undefined) {
hash = "#" + btoa(JSON.stringify(layout.definition))
}
return new ImmutableStore<string>(`${linkPrefix}${hash}`)
}
let href = createUrl(theme, isCustom, state)
</script> </script>
{#if theme.id !== personal.id || $userDetails.csCount > Constants.userJourney.personalLayoutUnlock} {#if theme.id !== personal.id || $userDetails.csCount > Constants.userJourney.personalLayoutUnlock}
<SubtleLink href={$href} options={{extraClasses: "w-full"}}> <SubtleLink href={$href} options={{ extraClasses: "w-full" }}>
<img slot="image" src={theme.icon} class="block h-11 w-11 bg-red mx-4" alt=""/> <img slot="image" src={theme.icon} class="block h-11 w-11 mx-4" alt="" />
<span class="flex flex-col text-ellipsis overflow-hidden"> <span class="flex flex-col text-ellipsis overflow-hidden">
<Tr t={title}/> <Tr t={title} />
<span class="subtle max-h-12 truncate text-ellipsis"> <span class="subtle max-h-12 truncate text-ellipsis">
<Tr t={description}/> <Tr t={description} />
</span>
</span> </span>
</SubtleLink> </span>
</SubtleLink>
{/if} {/if}

View file

@ -66,7 +66,7 @@ export default class CheckBoxes extends InputElement<number[]> {
label.htmlFor = input.id label.htmlFor = input.id
label.appendChild(input) label.appendChild(input)
label.appendChild(inputI.ConstructElement()) label.appendChild(inputI.ConstructElement())
label.classList.add("block", "w-full", "p-2", "cursor-pointer", "bg-red") label.classList.add("block", "w-full", "p-2", "cursor-pointer")
formTag.appendChild(label) formTag.appendChild(label)

View file

@ -118,7 +118,7 @@ export class RadioButton<T> extends InputElement<T> {
const label = document.createElement("label") const label = document.createElement("label")
label.appendChild(labelHtml) label.appendChild(labelHtml)
label.htmlFor = input.id label.htmlFor = input.id
label.classList.add("flex", "w-full", "cursor-pointer", "bg-red") label.classList.add("flex", "w-full", "cursor-pointer")
if (!this._dontStyle) { if (!this._dontStyle) {
labelHtml.classList.add("p-2") labelHtml.classList.add("p-2")