This doesn't use adb, but the Automate app provided a script that can do this. It's activated by setting Automate as the voice assistant, and then activating the system voice assistant, and you get a popup with all the launch parameters for the foreground app, including extras.
You can also uses the App start block to write a custom capture method.
When doing UNION with SUPER datatype in redshift, it implicitly converts SUPER data to VARCHAR before calling REGEXP_SUBSTR. This way it loses hierarchical structure
Instead of that below query should work where we are maintaining SUPER struct till it reaches REGEXP_SUBSTR and then explicitly converting datatype of logs.attributes.http.url_details.path to VARCHAR.
with all_logs as (
(select * from "xxx"."xxx"."xxx" limit 10)
union
(select * from "xxx"."xxx"."xxx" limit 10))
SELECT
logs.attributes.http.method AS http_method,
REGEXP_SUBSTR(logs.attributes.http.url_details.path::VARCHAR, '(firm/)?(v[0-9]/)')
FROM all_logs as logs
reference: https://docs.aws.amazon.com/redshift/latest/dg/query-super.html#dynamic-typing-lax-processing
Thank you for your time and comments. I did try all the stuff before posting here, including upgrading all the libraries to the latest version (serenity, cucumber and lombok as well). It turns out there was one dependency that I hadn't added (which seemed to work out of the box in Java 17, but not so in Java 21) which was:
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>1.16.1</version>
Adding this has resolved the issue and the scripts are running well. I am new to both java and selenium/serenity, hence was wondering if the days I spent attempting the fix was done wrongly. I thank you all for your support and guidance. The help notes, especially about the upgrade, helped a lot since this time, I paid attention to the errors.
This problem was occurring because of the python IntelliSense extension that I was using on vs code In the current version they have fixed it somehow But if somebody is facing an issue like this you can turn off your IntelliSense or just ignore the yellow line
instead of <bpmn:process id="simple-process" name="simple process" isExecutable="true">
use following
<bpmn:process id="simple-process" name="simple process" isExecutable="true" camunda:historyTimeToLive="7">
7 is number of days to retain the history so you can set according to your need.
You should update the following properties
android > gradle/wrapper > gradle-wrapper.properties > distributionUrl Replace the URL with this : https://services.gradle.org/distributions/gradle-**8.9**-all.zip
settings.gradle > plugin Replace it with this : id "com.android.application" version "8.7.1" apply false
Wait for some time and you'll be ready to go if this solution didn't work for you try to find the suitable versions
Accuracy: The proportion of correct predictions on the training set, I believe
App name can be set via following option
flink run-application -t yarn-application -D yarn.application.name="AppName" -c com.app.FlinkJob flink-job.jar
Back in 2015 when android were running whatever version they had at the time, and with oit super user access, i was able to always tra m anyone down to wothin 50 ft by using tracert in a command line followed by their phone number in the following format: ###.###.####. Right after id press enter it would start giving me gos coprdinates for sofferent cell towers and whichever tower it ended at, you could easily triangulate your target as mong as they had a cell phone and you had the number.
A concise way would be:
if( !!image_array?.length )
The readability might be a concern though.
I used to be able to connect to godaddy via Visual Studio ftp and do a copy files or move files, and select Compile All Files in Settings. Then, I just published it to "Files". The code behind would be there. Not sure if you can still do that. I know this thread is old. I guess you can get VS to compile the dll if you know the right settings.
i am facing the same issue with fedora and windows boot manager, did you solve the issue ?
Finally, after following the Tailwind doc: https://tailwindcss.com/docs/installation/framework-guides/angular
Everything seems to work. Need to manually convert my config to the new way with @theme ....
Be sure to create the .postcssrc.json with the . at the beginning. The first time, I forgot it and got a lot of errors when doing ngserve.
and others
I have an application running in Wince wrote in C#; successful ported to Android using maui.net, this application needs to be in background, others application will send message to this background application, for print labels and check bluetooth status (Does the printer have paper? Is it online? Is it connected?). Then, I'm investigating how to create an application that communicates with others applications. I saw this video on YouTube, and it helped me a lot to understand background process, IPC, Binder, AIDL. from YouTube:"This screencast comes from AnDevCon IV presentation by Aleksandar Gargenta on Dec 5th, 2012." I saw this video on January 23, 2025, I don't know until when this video will be available, I strongly encourage you to watch it. Android Binder IPC Framework
I wrote MicroPie to solve my simple server needs. The repo has a bunch of examples, from simple to somewhat complex.
Model with instruct in their name indicates the model has been fine tuned to follow prompt instructions. It is usually fine tuned to be used for direct, task oriented instructions.
Here's a link that goes into more details: https://community.aws/content/2ZVa61RxToXUFzcuY8Hbut6L150/what-is-an-instruct-model?lang=en
Yes you do not need to have a real iOS device, but you have to use manual signing method (turn off the automatically manage signing option). To do manual signing, prepare a certificate and provisioning profile using your developer account at https://developer.apple.com/account/resources/certificates/list and then:
In xCode signing & capabilities, then use the file as a provisioning profile for your app.
You'll find the instruction guiding you very straightforward at the website.
Just noticed that OpenCV was wrongfully converting the codec of it's outputted file. Forcefully converting the .mp4 file with ffmpeg to use H.264 and AAC encoding fixed the issue entirely. But thanks to everyone who helped!
Thanks Sérgio,
It was custom fields. We had a custom field in our Jira that prevented the call. I had to use the JUnit multipart api to get that sorted.
/ # curl -H "Content-Type: multipart/form-data" -X POST -F [email protected] -F [email protected] -F [email protected] -H "Authorization: Bearer $TOKEN" https://xray.cloud.getxray.app/api/v1/import/execution/junit/multipart
{"id":"16736","key":"PRJ-199","self":"https://mydomain/rest/api/2/issue/136"}/
#
So I ended up these information passed in from testIssueFields.json and testExec.json
Thanks!
The riverpod package owner himself answered your questions refer to this link below https://github.com/rrousselGit/riverpod/discussions/3950#discussioncomment-11933898
You can run this command to have the expected behaviour:
git -c core.whitespace=cr-at-eol show
git -c allows you to override configuration parameters for the current command (it's not saved in the config).
If you want to read more about git -c: https://git-scm.com/docs/git#Documentation/git.txt--cltnamegtltvaluegt
leave the 2 fields empty in Container Template
1- Command to run 2- Arguments to pass to the command
Fetching token balances for wallet: 0xYourWalletAddress
Tokens with balances:
DAI: 123.456
USDC: 987.654
ETH: 0.00123
Additionally, you could use the ICE dollar index with the GOOGLEFINANCE api built into Sheets. =GOOGLEFINANCE("NYICDX")
The best solution I've found is to wrap the FileNet API in a web service using .Net Framework 4.7.2 and call it from .Net Core using HTTP. All other approaches I've found so far are just too hack-ish. And, if IBM finally decides to upgrade to something more amenable to .Net Core, you should only need to update the web service.
You just cannot run server on Vercel, like using "npm run start" or "node build/server.js" for Adonis for example
You can see it directly in Vercel's guide if you need more information: https://vercel.com/guides/npm-run-start-not-working
This happened because DBeaver can't download driver via internet for some reason.
However you can install postgres driver manually by
%APPDATA%\DBeaverData\drivers\maven\unknown\org.postgresql
1. Ensure your versions of Node.js and npm are compatible with Tailwind CSS. Run below code in terminal to find the versions
node -v npm -v
and make sure Node.js: Use version 16.x or newer; npm: Use version 8.x or newer.
2. Clear npm Cache
Sometimes, a corrupted npm cache causes issues. Clear it by running the code below on terminal:
npm cache clean --force
3. Delete node_modules and Reinstall Dependencies Corrupted node_modules or package-lock.json files can lead to issues. Run below code one by one:
step 1:
rm -rf node_modules package-lock.json
step 2:
npm install
4. Install Tailwind CSS Properly
Run the following commands step-by-step:
Step 1: Install Tailwind CSS and related dependencies by running the below code:
npm install -D tailwindcss postcss autoprefixer
Step 2: Initialize Tailwind CSS configuration by running the below code:
npx tailwindcss init -p
The issue should be resolved by now.
I found a documentation for these config here https://ejsinfuego.github.io/xampp-send-email/
The one worked is smtp.gmail.com as host.
Turns out AutoHotKey is innocent, the culprit was the mouse I was using (Logitech M650)
It appears to send the XButton1 up/down command at once on release.
Switching to a different mouse fixed the issue and AHK works as expected.
Just set the initialRating parameter to -1
$('#barrating').barrating({
initialRating: -1
});
I went with --set-file:
helm install vector helm/vector --values helm/vector-agent/values.yaml -n my-namespace \
--set-file sinks.stackdriver.rawConfig=raw.config
The best approach for this problem is as follows:
Click Group By from the Transform Banner:
Group By: pick the columns that you need to keep their name, pick the "Median" operation (important!) and any other measures that you need (I, for example, needed "Count"):
Now that I have the "Median", AKA List.Median, I can easily change it to List.Percentile ([Value], 0.9). Right Click "Advanced Editor" and change the code accordingly:
And change the code in the "Grouped Rows" section from:
{"Per90th", each List.Median([Value]), type nullable number}}
To:
{"Per90th", each List.Percentile([Value],0.9), type nullable number}}
The solution was to change the integration runtime of the blob storage account, used to stage the snowflake data, from the self hosted agent used in the source to an azure managed integration runtime.
Esse aviso geralmente ocorre quando há uma incompatibilidade entre a versão do Android Studio e as ferramentas de linha de comando (SDK tools) que você está utilizando. Para resolver isso, você pode tentar algumas abordagens:
No Android studio abra o SDK Tools e aperte o botão do canto inferior direito:
Depois disso é só escolher a última versão do command-line tools
This is what I do if a want full control over the number of white spaces in tab:
string tab = new string(' ', 3);
string message = $"{tab}My text";
Having control over white spaces is something that I find quite useful in personalized text layouts.
You can stay on the new version. Use command line option "ocra test.rb --add-all-core --console --dll ruby_builtin_dlls\libgmp-10.dll"
Just url encode your password in the connection string and use it. That will alleviate the problem.
/sdcard/ca.crt). [
Blockquote
][2]
[2]: https:///sdcard/ca.crt).
What would be best for URI containing '?' and '%'. HttpUtility.UrlEncode is not working as expected.
With Sandbox API key & secret, you should use the sandbox url like:
curl -X GET https://api-public.sandbox.exchange.coinbase.com/accounts -u "API_KEY:API_SECRET"
The reason why your content fit 2 strings inside dropdown, is that you explicitly wrap your DropdownButtonHideUnderline inside SizedBox with width: 50 (in your first code sample). That width controls your DropdownButton's width.
You can follow these steps:
Build Docker Image on Jenkins: Create a Jenkinsfile to define a build stage that builds the Docker image directly on the Jenkins server.
Use a Local Docker Registry: Set up a local Docker registry on either the Jenkins server or the deployment server. After building the image, tag it and push it to the local registry.
Deploy on Separate Server: On the deployment server, pull the Docker image from the local registry and run the container.
First of all, I didn’t understand why your Stack is needed, but this error is happening because Stack children has no constraints, and your Expanded widget into buildFormBody is expanding to infinite, so consider to remove Stack, or use Positioned.fill above buildFormBody. Also, avoid using functions to return widgets (this can cause performance issues), prefer to wrap into other widgets, and for conditional rendering prefer to use Visibility widget instead ternaries.
To develop the answer provided by LeOn - Han Li, we have to use Customer Managed Key (CMK) if we must encrypt the SNS topic, even at today 23-Jan-2025, the default SNS encryption key still doesn't work for S3 notification.
The policy of the CMK must allow at least two AWS service principals: "sns.amazonaws.com" and "s3.amazonaws.com", some other service principals are mentioned in this blog
{
"Sid": "Allow_SNS_for_CMK",
"Effect": "Allow",
"Principal": {
"Service": "sns.amazonaws.com"
},
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey*"
],
"Resource": "*"
},
{
"Sid": "Allow_S3_for_CMK",
"Effect": "Allow",
"Principal": {
"Service": "s3.amazonaws.com"
},
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey*"
],
"Resource": "*"
}
The reason is that the default SNS encryption keys are managed by AWS, customers can't change the permission.
If your numbers are constant values you can simply extend your code as proposed by @taller, but you can still rely on the Range.Find procedure:
Sub LastNumber()
Dim LastRow As Long
LastRow = ActiveSheet.Range("A6:A167").SpecialCells(xlCellTypeConstants, xlNumbers) _
.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
MsgBox LastRow
End Sub
I found a way to this issue.
If your unable to install the npm init -p command. You can simply post the files in the folders by tailwind.config.js or .ts and postcss.config.js. As these are the both files which will be installed.
If you want those files you can follow the link below
https://github.com/Surendrakumarpatel/lms_patelmernstack/blob/main/client/postcss.config.js https://github.com/Surendrakumarpatel/lms_patelmernstack/blob/main/client/tailwind.config.js
Use this command options ocra test.rb --add-all-core --console --dll ruby_builtin_dlls\libgmp-10.dll
As mentioned in the comments std::partial_sort_copy does not modify the size of the container that it writes to. So if the original size of the vector is 0, the size will not change. Therefore, nothing will get placed in the vector.
Currently there is no such functionality. You could use Github codespaces / Gitpod to share a vscode environment but those wont be read-only for all intents and purposes. Alternatively, you could use the live share extension to temporarily share your session through a link, which you can set to be read-only
ORA-01840: input value not long enough for date format
01840. 00000 - "input value not long enough for date format"
*Cause:
*Action
I just tried it myself on bound script against a basic sheet with data in a few columns and rows and it worked fine. It cleared only the data and left the formatting and data validation. The function was as follows :
function myFunction() {
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
let range = sheet.getRange(1,1,sheet.getLastRow(),sheet.getLastColumn());
range.clear();
}
Are you running this bound, or unbound? How are you selecting the range?
SNS FIFO provides strict ordering on deliveries to a SQS FIFO queue for each message group. Messages not in the same group are delivered in parallel while messages within a group respects the message ordering on delivery.
In case of retries, SNS FIFO will attempt to retry the same message in a group until it succeeds before moving to the next message in the group. If all messages are in the same group, then the first message must be delivered before moving to the next to respect the message ordering.
Your device tree probably has broken clocks definitions, and the kernel
deadlocks in clk_disable_unused() (in drivers/clk/clk.c).
Work-around by either:
clk_ignore_unused in the kernel bootargs.But you should definitely fix your device tree !
I'm a beginner just like you. I struggled a lot with AddTransient. I spent a lot of time on it, trying to draw a line, but it wouldn't appear. In the end, I suspect the issue wasn't that the line wasn't being drawn, but that it wasn't visible. When I set the line.ColorIndex property, I was finally able to see it on the screen. I assume that the line wasn't visible by default because the ColorIndex value hadn't been set. I hope this helps you.
It seems like you're looking for einsum.
Should be something like:
result = torch.einsum('bi,bijk,bk->bj', x, second_order_derivative, x)
To output a string array such as:
[
"1: 34.45",
"2: 21.67"
]
try: Account.Order.Product#$i.[$join([$string($i+1),': ', $string(Price)])]
To output an object array such as:
[
{
"1": 34.45
},
{
"2": 21.67
}
]
try: Account.Order.Product#$i.{ $string($i + 1): Price }
JSONata playground: https://jsonatastudio.com/playground/9b835d23
Had the same problem. From my experience sympy can solve most of the z transforms but had problem with trig functions. Whilst lcapy could solve ZT of trig it had problems solving others so ended I up on using them both and can't complain now.
In powershell for those using it.
Remove-Item -Recurse -Force .\node_modules
Remove-Item -Force .\package-lock.json
npm cache clean --force
npm cache verify
I had the same issue and in my case nothing worked until I updated Windows 365. But I also uninstalled xlwings and installed again.
I have the exact same issue right now, I'll let you know if I find anything out
Look at @NathanOliver's comment under the question.
As stated by @JulianKoster, it was just a bug and it was patched just a few hours after my question : see this link
For people struggling, just commit/stash your changes, run composer recipe:update and you will see some stimulus-bundle changes about CSRF.
After this update, form submit with csrf enabled works even from inside a turbo frame ! No additionnal code needed.
Thank you too @rapttor for your time !
@calebmiranda It is not remembered, just smooth scrolling takes some time, which is in your example longer than 100ms and shorter than 500ms. You need to re-enable snap scroll when scroll is finished, so instead of timeout use scrollend event callback to set snap scroll back.
This fixed it for me, using Powershell: Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine
A solution using simple functions:
=RIGHT(CONCAT(OFFSET(Sheet2!$B$2;0;XMATCH($A2;Sheet2!$B$1:$D$1)-1;1000));5)
The only things that you need to change are
The formula is for the cell B2, but you can copy to the other cells in column B
i'm working with react native and solve this with
presets: [require('nativewind/preset')],
Insert this below the on tailwind.config.js
The issue in this line: Debug.Log("check" + unit==null);
You're not testing whether unit is null as you might think. Instead, due to operator precedence, this statement is being evaluated like this: Debug.Log(("check" + unit) == null);
Correct Way to Check for Null: If you want to check whether unit is null and log the result, you should explicitly use parentheses to ensure the comparison happens first:
Debug.Log("check " + (unit == null));
Always use parentheses when combining comparisons and concatenation in a debug log to avoid confusion: Debug.Log("Is unit null? " + (unit == null));
You are not too clear on how pages are listing products but I assume you are using WooCommerce? If so, this page should answer questions regarding product sorting
The issue is that I generated the dart files in the /protos directory, per the YouTube video tutorial. The correct location is the /lib directory. I generated pointing to /lib/generated and everything worked.
Are you sure this is the correct order?
I think you should update the value first, then notify of the property change OnNotifyPropertyChanged(); numPrice = value;
Got the same error, but the issue for me was a missing system-images.
Fixed with:
sdkmanager "system-images;android-34;google_apis;x86_64"
I was trying to run Android 34. You can list all available options with sdkmanager command.
Completing the answer, You cannot access the users table because it is part of the authentication schema. By default, the exposed schemas are public and graphql. You could expose the authentication schema, but that is not recommended as it would expose sensitive authentication data.
Just in case someone ends up here, this worked for me as the action that triggered my dialog was updating form so my dialog was dissapearing, because of the update, before closing and then my inputs weren't working
Session-based authentication on your shared hosting can be simpler and just as secure. You can store user and club data in the session to avoid constant database lookups and occasionally refresh it to handle bans or membership changes. A one-week session is feasible if you configure cookies and garbage collection properly, and it’s also user-friendly because the session is maintained automatically, so users don’t have to log in repeatedly.
We figured out what happened in the site.
We had to add in the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 the Multi String value BackConnectionHostNames which contained only the hosts, not with the domains, because it only read the first line of the file and the other kept on the loop.
After that, we double-checked if we had in the IIS Authentication, Windows Authentication as our only authentication active. But, in the authentication providers, we had to remove all the providers but NTLM, because Kerberos and the others weren't compatible. (It seems like there was a MS KB in October that disabled those providers)
We restarted IIS and our sites worked.
As suggested by 'micycle' the R-Tree is matching my needs. With one call I create the index:
index = Index(generator(shapes))
where generator yields the bboxes of supplied shapes.
And then I can do the intersection queries like:
intersections = index.intersection(bbox)
Thats it. Its fast for my needs (maybe because of compiled implementation). Factor 4 compared to brute force. (I don't have too many shapes.)
block.json
{
"supports": {
"customClassName": false
}
}
IEEE754 says that the result is as if computed exactly and then rounded.
mathematically x-x=0 for real x exactly. Since 0 is exactly representable, this shall be the result in IEEE754 arithmetic.
On the other hand, there are two numbers with value 0, namely +0 and -0.
The standard says:
When the sum of two operands with opposite signs (or the difference of two operands with like signs) is exactly zero, the sign of that sum (or difference) shall be +0 in all rounding-direction attributes except roundTowardNegative; under that attribute, the sign of an exact zero sum (or difference) shall be −0.
So, x-x may be +0 or -0 and what it is depends on the rounding mode.
If x is an infinite value, the result is nan. If x is itself nan, then the result is nan as well.
Yes, it should work, but you probably need to set up Ray’s config to connect to your local setup. Check the ray.php file or set environment variables like RAY_HOST and RAY_PORT to match your Lima or local server. If you’re using Lima or Docker, try host.docker.internal or the server’s IP. Once the settings match, just calling ray('message') should show up in the app—no need to mess with "Add Server" unless it’s something unique in your setup
Use this documentation https://docxtemplater.com/modules/image/ Work for me
I know this is an old one, but have you looked into the Monoframework project?
This allowed me to use net472 on MacOS.
try send a base64 string, more easy.
As suggested by @001's comment, my issue was finally resolved by prepending "r" in the beginning of the comment, just before the quotation marks, to turn it into a raw string.
In your react component.
useEffect(() => {
if (window.Trustpilot)
window.Trustpilot.loadFromElement(document.getElementsByClassName('trustpilot-widget')[0]);
}, []);
Force in useEffect to load the widget. That solve the issue for us.
I know this was posted a few years ago but did you ever get a response or figure out a solution? I am running into the same issue, but on WordPress.
This works fine:
def comp(val1,val2,op):
return eval(f"{val1}{op}{val2}")
according to the documentation
When using this factory, mapper types - and any mappers they use - are instantiated by invoking their public no-args constructor.
So when you use Mappers.getMapper, it does not inject you service.
a = {}
b = {}
a = a.values()
b = b.values()
answer = [(x + y) for x, y in zip(a,b)]
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay
cm = confusion_matrix(y_test, y_pred)
ConfusionMatrixDisplay(cm).plot()
plt.savefig("confusion_matrix.png")
There is the similar answer.
Basically LTS(long term supported) versions are in play. but don't use latest(when I am writing it is 22.13.1). Because I tried and it failed to remove the issue.
I resolved my issue as in below thread:
$nvm install 20.10.0
$nvm use 20.10.0
punycode is deprecated in npm - what should I replace it with?
Some of our devs were running into this issue when using the emulator with specific versions of Windows. We found an answer while reviewing this documentation. For newer versions of the GRPC.Net.Client lib, there are some caveats about using the defaults on full .net framework.
We ended up specifying the GrpcCoreAdapter when using the emulator.
clientBuilder.GrpcAdapter = GrpcCoreAdapter.Instance;
That resolved the issue for us.
We store the files in Azure Storage, and then have an Azure Function access them to Encrypt/Decrypt PGP files. You could do something similar and have your Logic App call the Azure Function.
It sounds like the page template is set to default or something theme related which is then defining that top section on the page. To correct that you can set the page template to Elementor Full Width. This will remove that top section and you can then just redesign it in Elementor to your liking.
Looking at the code in KafkaMessageListenerContainer can't see anything that promises that polling (getting assigned partitions) from a thread distinct from the consumer's thread allows to observe consistent state of the assignedPartitions collection.
Please correct me if I'm wrong.
If there are only three operators, I would not try anything more complicated. Maybe if there were many more you could try a dict, where the key is operator and the value is a comparing function.
The second argument is variative and you can pass a file id, HTTP URL or upload file via InputFile instance.
Example:
auto videoFileToUpload = TgBot::InputFile::fromFile("path_to_the_file", "video/mp4");
tgBot->getApi().sendVideo(message->chat->id, videoFileToUpload);
Thank you very much, it seems to be working. You have helped me a lot. Here is the code, what do you think?
import SwiftUI
struct SettingsView: View {
@FocusState private var selectedCategory: String?
var body: some View {
NavigationStack {
ZStack {
Color.black
.edgesIgnoringSafeArea(.all)
VStack(spacing: 0) {
// Überschrift oben in der Mitte
Text("Einstellungen")
.font(.system(size: 40, weight: .semibold))
.foregroundColor(.white)
.padding(.top, 30)
HStack {
VStack {
Spacer()
Image(systemName: "applelogo")
.resizable()
.scaledToFit()
.frame(width: 120, height: 120)
.foregroundColor(.white)
Spacer()
}
.frame(width: UIScreen.main.bounds.width * 0.4)
// Rechte Seite mit Kategorien
VStack(spacing: 15) {
ForEach(categories, id: \.self) { category in
NavigationLink(value: category) {
SettingsCategoryView(title: category)
}
.focused($selectedCategory, equals: category)
.buttonStyle(SettingsViewButtonStyle(
isSelected: selectedCategory == category
))
}
}
.frame(width: UIScreen.main.bounds.width * 0.5)
}
}
}
.navigationDestination(for: String.self) { value in
Text("\(value)-Ansicht")
.font(.title)
.foregroundColor(.white)
.navigationTitle(value)
}
}
}
private var categories: [String] {
["Allgemein", "Benutzer:innen und Accounts", "Video und Audio", "Bildschirmschoner", "AirPlay und HomeKit", "Fernbedienungen und Geräte", "Apps", "Netzwerk", "System", "Entwickler"]
}
}
struct SettingsViewButtonStyle: ButtonStyle {
let isSelected: Bool
func makeBody(configuration: Configuration) -> some View {
configuration.label
.foregroundStyle(isSelected ? .black : .white)
.padding(.horizontal, 20)
.frame(height: 50)
.background {
RoundedRectangle(cornerRadius: 8)
.fill(isSelected ? .white : .gray.opacity(0.3))
}
.scaleEffect(isSelected ? 1.05 : 1.0)
.animation(.easeInOut, value: isSelected)
}
}
struct SettingsCategoryView: View {
let title: String
var body: some View {
HStack {
Text(title)
.font(.system(size: 22, weight: .medium))
Spacer()
Image(systemName: "chevron.right")
.foregroundStyle(.gray)
}
}
}
struct SettingsView_Previews: PreviewProvider {
static var previews: some View {
SettingsView()
}
}
look into persistent views also you can manually readd the functionality of buttons if you have the message id If I remeber correctly
See the doc here it has many steps to perform, make sure to follow it and seee what it gives: https://developer.android.com/guide/practices/page-sizes#ndk-build_1