Fix bugs with images

pull/4/head
Warinyourself 3 years ago
parent 39722d6614
commit c5db4803f5

@ -3,17 +3,18 @@ import { Component, Vue } from 'vue-property-decorator'
import AppIcon from './AppIcon.vue' import AppIcon from './AppIcon.vue'
import timer from '@/utils/time' import timer from '@/utils/time'
import BatteryIcon from '../base/BatteryIcon' import BatteryIcon from '../base/BatteryIcon'
import BrightIcon from '../base/BrightIcon'
@Component({ @Component({
components: { AppIcon, BatteryIcon } components: { AppIcon, BatteryIcon, BrightIcon }
}) })
export default class AppSelector extends Vue { export default class AppBar extends Vue {
get batteryLevel() { get showBattery() {
return AppModule.batteryLevel return AppModule.battery
} }
get brightLevel() { get showBright() {
return AppModule.brightness return !!AppModule.brightness
} }
get currentTime() { get currentTime() {
@ -24,11 +25,8 @@ export default class AppSelector extends Vue {
return <div class="app-bar"> return <div class="app-bar">
<div class="app-bar__time"> { timer.longTime } </div> <div class="app-bar__time"> { timer.longTime } </div>
<div class="app-bar__info"> <div class="app-bar__info">
<BatteryIcon /> { this.showBattery && <BatteryIcon /> }
<div class="app-bar__bright"> { this.showBright && <BrightIcon /> }
<AppIcon name="brightness" class="brightness-icon"/>
{ this.brightLevel }
</div>
</div> </div>
</div> </div>
} }

@ -0,0 +1,19 @@
import { AppModule } from '@/store/app'
import { Component, Vue } from 'vue-property-decorator'
import AppIcon from '@/components/app/AppIcon.vue'
@Component({
components: { AppIcon }
})
export default class BrightIcon extends Vue {
get brightLevel() {
return AppModule.brightness
}
render() {
return <div class="app-bar__bright">
<AppIcon name="brightness" class="brightness-icon"/>
{ this.brightLevel }
</div>
}
}

@ -18,6 +18,10 @@ export default class UserAvatar extends Vue {
return PageModule.isOpenBlock('settings') return PageModule.isOpenBlock('settings')
} }
get isSupportFullApi() {
return AppModule.isSupportFullApi
}
get locale() { get locale() {
return PageModule.locale return PageModule.locale
} }
@ -32,17 +36,14 @@ export default class UserAvatar extends Vue {
buildUserAvatar(image: string | undefined) { buildUserAvatar(image: string | undefined) {
const defaultAvatar = <AppIcon name='user'/> const defaultAvatar = <AppIcon name='user'/>
const userAvatar = <div const userAvatar = <img class='user-avatar' src={image} />
class='user-avatar'
style={ { 'background-image': `url("${image}")` } }
/>
return image ? userAvatar : defaultAvatar return image ? userAvatar : defaultAvatar
} }
buildUser(user: LightdmUsers) { buildUser(user: LightdmUsers) {
return <div class='user-choice' key={ user.username }> return <div class='user-choice' key={ user.username }>
<p class='time'> { this.currentTime } </p> <p class='time'> { this.isSupportFullApi ? '' : this.currentTime } </p>
{ this.buildUserAvatar(user?.image) } { this.buildUserAvatar(user?.image) }
<div class='user-name'> { user?.display_name } </div> <div class='user-name'> { user?.display_name } </div>
</div> </div>

@ -30,10 +30,10 @@ export default class SettingsThemes extends Vue {
this.themes.map(theme => { this.themes.map(theme => {
const isActiveTheme = theme.name === this.activeTheme.name const isActiveTheme = theme.name === this.activeTheme.name
return <div return <img
class={`user-settings-theme ${isActiveTheme ? 'active' : ''}`} class={`user-settings-theme ${isActiveTheme ? 'active' : ''}`}
onClick={() => AppModule.changeTheme(theme.name)} onClick={() => AppModule.changeTheme(theme.name)}
style={`background: url(${this.setImage(theme.name.toLowerCase())}) no-repeat center/cover`} src={this.setImage(theme.name.toLowerCase())}
/> />
}) })
} }

@ -32,6 +32,7 @@ export default class SettingsGeneral extends Vue {
const hasQyery = Object.keys(this.$route.query).length const hasQyery = Object.keys(this.$route.query).length
if (hasQyery) { this.$router.replace({}) } if (hasQyery) { this.$router.replace({}) }
window.location.reload()
} }
changeTheme() { changeTheme() {

@ -28,7 +28,7 @@ export interface AppState extends AppSettings {
themes: AppTheme[]; themes: AppTheme[];
getMainSettings: AppSettings; getMainSettings: AppSettings;
activeTheme: AppTheme; activeTheme: AppTheme;
battery?: LightDMBattery; battery: LightDMBattery | null;
brightness?: number; brightness?: number;
username: string; username: string;
desktops: LightdmSession[]; desktops: LightdmSession[];
@ -45,7 +45,7 @@ class App extends VuexModule implements AppState {
username = LightdmHandler.username username = LightdmHandler.username
password = '' password = ''
defaultColor = '#6BBBED' defaultColor = '#6BBBED'
battery?: LightDMBattery = undefined battery: LightDMBattery = null
brightness = 0 brightness = 0
users = LightdmHandler?.users users = LightdmHandler?.users

@ -13,6 +13,9 @@
.user-settings-theme .user-settings-theme
height 150px height 150px
display block
width 100%
object-fit cover
border-radius 12px border-radius 12px
cursor pointer cursor pointer
position relative position relative

@ -23,7 +23,7 @@
.settings-user-image .settings-user-image
border-radius 50% border-radius 50%
width 100% width 102px
height 100% height 102px
background-size cover background-size cover
background-position center background-position center

@ -39,18 +39,3 @@
transition-duration 0.01ms !important transition-duration 0.01ms !important
scroll-behavior auto !important scroll-behavior auto !important
// @media screen and (-moz-min-device-pixel-ratio: 2),
// screen and (-o-min-device-pixel-ratio: 2/1),
// screen and (-webkit-min-device-pixel-ratio: 2),
// screen and (min-device-pixel-ratio: 2)
// body
// zoom 2
// @media screen and (-webkit-min-device-pixel-ratio: 2)
// body
// zoom 2
@media screen and (min-width: 3000px) and (min-height: 1200px)
body
zoom 2

@ -76,9 +76,6 @@ textarea,
select select
font inherit font inherit
img:not([alt])
filter blur(10px)
@media (prefers-reduced-motion: reduce) @media (prefers-reduced-motion: reduce)
* *
animation-duration 0.01ms !important animation-duration 0.01ms !important

@ -167,7 +167,7 @@ if (lightdmDebug) {
} as any } as any
} }
const isSupportFullApi = 'battery_data' in (window.lightdm || {}) const isSupportFullApi = 'battery_data' in (window.lightdm || {}) || 'brightness' in (window.lightdm || {})
class LightdmWebkit { class LightdmWebkit {
protected _inputErrorTimer!: null | NodeJS.Timeout protected _inputErrorTimer!: null | NodeJS.Timeout

Loading…
Cancel
Save