+ return
+
{
Array.isArray(this.state.loadedWidgets) && this.state.loadedWidgets.map((manifest) => {
return
@@ -52,7 +52,7 @@ export default class WidgetsView extends React.Component {
icon={}
onClick={openWidgetsBrowserModal}
>
- Add widget
+ Install more
diff --git a/packages/app/src/settings/components/widgetsView/index.less b/packages/app/src/settings/components/widgetsManager/index.less
similarity index 84%
rename from packages/app/src/settings/components/widgetsView/index.less
rename to packages/app/src/settings/components/widgetsManager/index.less
index 76c23b9a..1b4b0305 100755
--- a/packages/app/src/settings/components/widgetsView/index.less
+++ b/packages/app/src/settings/components/widgetsManager/index.less
@@ -1,16 +1,16 @@
-.widgets_load {
+.widgets-manager {
display: flex;
flex-direction: column;
gap: 20px;
- .widgets_load_list {
+ .widgets-manager-list {
display: flex;
flex-direction: column;
gap: 10px;
- .widget_load_list_item {
+ .widgets-manager-list-item {
display: flex;
flex-direction: row;
@@ -22,14 +22,14 @@
border: 1px var(--border-color) solid;
border-radius: 12px;
- .widget_load_list_item_info {
+ .widgets-manager-list-item-info {
display: flex;
flex-direction: row;
gap: 20px;
}
- .widget_load_list_item_icon {
+ .widgets-manager-list-item-icon {
display: flex;
flex-direction: row;
@@ -47,7 +47,6 @@
object-fit: contain;
}
-
}
}
}
diff --git a/packages/app/src/settings/player/index.jsx b/packages/app/src/settings/player/index.jsx
index 6435723c..7be685da 100755
--- a/packages/app/src/settings/player/index.jsx
+++ b/packages/app/src/settings/player/index.jsx
@@ -7,17 +7,35 @@ export default {
group: "app",
settings: [
{
- id: "player.allowVolumeOver100",
- title: "Allow volume over 100%",
+ id: "player.gain",
+ title: "Gain",
+ icon: "MdGraphicEq",
group: "general",
- icon: "MdHearing",
- description: "Allow volume amplification over 100% (may cause distortion)",
- component: "Switch",
- storaged: true,
+ description: "Adjust gain for audio output",
+ component: "Slider",
+ props: {
+ min: 1,
+ max: 2,
+ step: 0.1,
+ marks: {
+ 1: "Normal",
+ 1.5: "+50%",
+ 2: "+100%"
+ }
+ },
+ defaultValue: () => {
+ return app.cores.player.gain.values().gain
+ },
+ onUpdate: (value) => {
+ app.cores.player.gain.modifyValues({
+ gain: value
+ })
+ },
+ storaged: false,
},
{
id: "player.sample_rate",
- title: "Sample rate",
+ title: "Sample Rate",
icon: "MdHearing",
group: "general",
description: "Internal sample rate for audio output",
@@ -52,54 +70,9 @@ export default {
},
storaged: false,
},
- {
- id: "player.crossfade",
- title: "Crossfade",
- icon: "MdSwapHoriz",
- group: "general",
- description: "Enable crossfade between tracks",
- component: "Slider",
- props: {
- min: 0,
- max: 10,
- step: 0.1,
- marks: {
- 0: "Off",
- 1: "1s",
- 2: "2s",
- 3: "3s",
- 4: "4s",
- 5: "5s",
- 6: "6s",
- 7: "7s",
- 8: "8s",
- 9: "9s",
- 10: "10s",
- }
- },
- storaged: true,
- disabled: true,
- },
- {
- id: "player.compressor",
- title: "Compression",
- icon: "MdGraphicEq",
- group: "general",
- description: "Enable compression for audio output",
- component: "Switch",
- experimental: true,
- beforeSave: (value) => {
- if (value) {
- app.cores.player.compressor.attach()
- } else {
- app.cores.player.compressor.detach()
- }
- },
- storaged: true,
- },
{
id: "player.compressor.values",
- title: "Compression adjustment",
+ title: "Compression",
icon: "Sliders",
group: "general",
description: "Adjust compression values (Warning: may cause distortion when changing values)",
@@ -108,6 +81,18 @@ export default {
"player.compressor": true
},
component: loadable(() => import("./items/player.compressor")),
+ switchDefault: () => {
+ return app.cores.settings.get("player.compressor")
+ },
+ onEnabledChange: (enabled) => {
+ if (enabled === true) {
+ app.cores.settings.set("player.compressor", true)
+ app.cores.player.compressor.attach()
+ } else {
+ app.cores.settings.set("player.compressor", false)
+ app.cores.player.compressor.detach()
+ }
+ },
props: {
valueFormat: (value) => `${value}dB`,
sliders: [
@@ -149,7 +134,7 @@ export default {
extraActions: [
{
id: "reset",
- title: "Reset",
+ title: "Default",
icon: "MdRefresh",
onClick: async (ctx) => {
const values = await app.cores.player.compressor.resetDefaultValues()
@@ -165,33 +150,7 @@ export default {
},
storaged: false,
},
- {
- id: "player.gain",
- title: "Gain",
- icon: "MdGraphicEq",
- group: "general",
- description: "Adjust gain for audio output",
- component: "Slider",
- props: {
- min: 1,
- max: 2,
- step: 0.1,
- marks: {
- 1: "Off",
- 1.5: "50%",
- 2: "100%"
- }
- },
- defaultValue: () => {
- return app.cores.player.gain.values().gain
- },
- onUpdate: (value) => {
- app.cores.player.gain.modifyValues({
- gain: value
- })
- },
- storaged: false,
- },
+
{
id: "player.eq",
title: "Equalizer",
@@ -211,7 +170,9 @@ export default {
}
},
],
- usePadding: false,
+ dependsOn: {
+ "player.equalizer": true
+ },
props: {
valueFormat: (value) => `${value}dB`,
marks: [
diff --git a/packages/app/src/settings/player/items/player.compressor/index.jsx b/packages/app/src/settings/player/items/player.compressor/index.jsx
index caafdb6d..86f4aeec 100755
--- a/packages/app/src/settings/player/items/player.compressor/index.jsx
+++ b/packages/app/src/settings/player/items/player.compressor/index.jsx
@@ -1,8 +1,14 @@
+import { Switch } from "antd"
import SlidersWithPresets from "../../../components/slidersWithPresets"
export default (props) => {
return
+ ]}
/>
}
\ No newline at end of file
diff --git a/packages/app/src/settings/tap_share/index.jsx b/packages/app/src/settings/tap_share/index.jsx
index 0dcdf9e8..70efe3bd 100755
--- a/packages/app/src/settings/tap_share/index.jsx
+++ b/packages/app/src/settings/tap_share/index.jsx
@@ -3,15 +3,16 @@ import * as antd from "antd"
import classnames from "classnames"
import NFCModel from "comty.js/models/nfc"
-import StepsContext from "./context"
-
import { Icons } from "@components/Icons"
+import UserShareBadge from "@components/UserShareBadge"
import CheckRegister from "./steps/check_register"
import DataEditor from "./steps/data_editor"
import TagWritter from "./steps/tag_writter"
import Success from "./steps/success"
+import StepsContext from "./context"
+
import "./index.less"
const RegisterNewTagSteps = [
@@ -306,14 +307,29 @@ const TapShareRender = () => {
Registered Tags