<#
.SYNOPSIS
Detects Secure Boot certificate update status for fleet-wide monitoring.
.DESCRIPTION
This detection script collects Secure Boot status, certificate update registry values,
and device information. It outputs a JSON string for monitoring and reporting.
Compatible with Intune Remediations, GPO-based collection, and other management tools.
No remediation script is needed — this is monitoring only.
Exit 0 = "Without issue" (certificates updated)
Exit 1 = import { useState } from "react";
import { Text, View, TextInput, TouchableOpacity, Switch, Platform, ScrollView } from "react-native";
import TopNav from "./topNav";
import BottomNav from "./bottomNav_2";
import * as DocumentPicker from 'expo-document-picker';
let DateTimePicker = null;
if (Platform.OS !== 'web') {
try {
DateTimePicker = require('@react-native-community/datetimepicker').default;
} catch (error) {
console.log('DateTimePicker not available');
import React, { useEffect, useState } from "react";
import { View, Text, ScrollView } from "react-native";
import BottomNav from "./bottomNav_2";
import TopNav from './topNav';
export default function Dashboard({ navigation }) {
const [values, setValues] = useState({
temperature: 0,
humidity: 0,
light: 0,
pressure: 0,
moisture: 0,
altitude: 0,
});
return (
<View style={{ flex: 1, width: "100%" }}>
<TopNav navigation={navigation} />
import React from "react";
import { View, Text, Image, ScrollView, TouchableOpacity } from "react-native";
import BottomNav from "./bottomNav_2";
import TopNav from "./topNav";
const mountainImage = require("../assets/mountain.png");
const architectureImage = require("../assets/architecture.png")
const inovationImage = require("../assets/inovation.png")
const images = [
{ title: "Beautiful Mountain Landscape Photography Collection for Nature Enthusiasts", imageSource: mountainImaimport React from "react";
import { View, Text, TouchableOpacity } from "react-native";
export default function EditDelete({ onDelete, onEdit }) {
return (
<View style={{
flexDirection: "column",
width: 150,
height: 100,
maxHeight: 100,
borderRadius: 14,
borderColor: "#000000",
borderWidth: 1,
backgroundColor: "#ffffff",
ovimport React from "react";
import { useState } from "react";
import { View, Text, TouchableOpacity } from "react-native";
import BottomNav from "./bottomNav_2";
import TopNav from './topNav';
import EditDelete from "./editDelete";
export default function Container({ navigation }) {
const handleDelete = () => {
console.log("Delete action triggered");
setShowEditDelete(false);
}
const handleEdit = () => {
console.log("Edit action triggered");
import { View, Text, TouchableOpacity } from 'react-native';
export default function PageNotFound({ onGoHome }) {
return (
<View style={{ flex: 1, justifyContent: "center", alignItems: "center", paddingHorizontal: 16 }}>
<Text style={{ fontSize: 40, fontWeight: "bold", color: "#000" }}>Oops!</Text>
<Text style={{ fontSize: 16, textAlign: "center", marginTop: 16, maxWidth: 300 }}>
You need to be logged in to access this page.
For your security and to pconst [open, setOpen] = useState(false);
const [overlayActive, setOverlayActive] = useState(false);
const slideAnim = useState(new Animated.Value(screenWidth))[0];
const togglePanel = () => {
if (open) {
Animated.timing(slideAnim, {
toValue: screenWidth,
duration: 300,
useNativeDriver: false,
}).start(() => setOpen(false));
} else {
setOpen(true);
Animated.timimport { useEffect, useState } from "react";
import { Text, View } from "react-native";
import { Ionicons } from '@expo/vector-icons';
export default function Success({ onDone }) {
const [showSuccess, setShowSuccess] = useState(false);
useEffect(() => {
const timer = setTimeout(() => {
if(onDone) {
onDone();
}
}, 5000);
return () => clearTimeout(timer);
}, [onDone]);
return (
<View style={import { useEffect, useState } from "react";
import { Text, View, TextInput, TouchableOpacity } from "react-native";
export default function VerifyCode({ onSuccess }) {
const [email, setEmail] = useState("");
const [error, setError] = useState("");
const [code, setCode] = useState("");
const [loading, setLoading] = useState(false);
const onVerifyPress = () => {
setError("");
if (!email || !code) {
setError("Please fill in all fieldsimport { useState } from "react";
import { Text, View, TextInput, TouchableOpacity } from "react-native";
export default function SignUp({ onLoginPress, onVerifyPress }) {
const [email, setEmail] = useState("");
const [username, setUsername] = useState("");
const [password, setPassword] = useState("");
const [repeatPassword, setRepeatPassword] = useState("");
const [error, setError] = useState("");
const [loading, setLoading] = useState(false);
const onSiimport { Text, View, TextInput, TouchableOpacity } from "react-native";
import { useState } from "react";
export default function Login({ onSignUpPress }) {
const [email, setEmail] = useState("");
const [password, setPassword] = useState("");
const [error, setError] = useState("");
const [loading, setLoading] = useState(false);
const onLoginPress = () => {
setError("");
if (!email || !password) {
setError("Please fill in all fields.")import React from "react";
import { View, Text, TouchableOpacity } from "react-native";
import { useNavigation } from "@react-navigation/native";
import Icons from "react-native-vector-icons/FontAwesome";
const tabs = [
{ name: "Home", route: "Home", icon: "home" },
{ name: "Dashboard", route: "Dashboard", icon: "bar-chart" },
{ name: "ImageCart", route: "ImageCart", icon: "image" },
];
export default function BottomNav({ navigation }) {
const containerPadding = 20;
reimport React, { useState } from "react";
import { View, Text, Image, Pressable, Animated, Dimensions, TouchableOpacity, } from "react-native";
import { StatusBar } from "react-native";
const screenWidth = Dimensions.get("window").width;
const TopNav = ({ navigation }) => {
const tabs = [
{ name: "Home", route: "Home" },
{ name: "Dashboard", route: "Dashboard" },
{ name: "ImageCart", route: "ImageCart" },
{ name: "Form", route: "Form" },
];
/**
* @param {string} n
* @return {number}
*/
var minPartitions = function(n) {
// We want the minimum number of deci-binary numbers needed.
// A deci-binary number can only contribute 0 or 1 to each digit.
// Therefore, the number of deci-binary numbers required is equal
// to the maximum digit in the string.
let maxDigit = 0; // Track the largest digit we encounter
// Loop through each character in the string
for (let char of n) {
const digit = char -// https://playwright.dev/docs/api/class-page#page-wait-for-response
// https://playwright.dev/docs/api/class-response
import { test, expect } from "@playwright/test";
const PAGE_URL = "https://www.bstackdemo.com/";
const API_URL = "https://www.bstackdemo.com/api/products";
test("Order By Lowest to Highest should sort items in descending order by price", async ({
page,
}) => {
await page.goto(PAGE_URL);
const dropdown = page.getByRole("combobox");
await dropdown.selectOption({ value: