Skip to content

Commit

Permalink
fix: Corner radius detection on simulators and unsupported model names
Browse files Browse the repository at this point in the history
  • Loading branch information
ecnivtwelve committed Nov 8, 2024
1 parent 02bacab commit 6a7b90d
Showing 1 changed file with 23 additions and 15 deletions.
38 changes: 23 additions & 15 deletions src/utils/ui/corner-radius.ts
Original file line number Diff line number Diff line change
@@ -1,47 +1,54 @@
import * as Device from "expo-device";

const defaultRadius = 5.0;

const radiuses = [
{
devices: "X, Xs, Xs max, 11 pron 11 pro max",
radius: 39.0
radius: 39.0,
},
{
devices: "Xr, 11",
radius: 41.5
radius: 41.5,
},
{
devices: "12 mini, 13 mini",
radius: 45.0
radius: 45.0,
},
{
devices: "12, 12 pro, 13, 13 pro, 14",
radius: 47.33
radius: 47.33,
},
{
devices: "12 pro max, 13 pro max, 14 plus",
radius: 53.33
radius: 53.33,
},
{
devices: "14 pro, 14 pro max, 15, 15 plus, 15 pro, 15 pro max",
radius: 55.0
radius: 55.0,
},
{
devices: "16, 16 pro, 16 pro max, 16 plus",
radius: 59.0
radius: 59.0,
},
{
devices: "pixel 3",
radius: 20.0
radius: 20.0,
},
{
devices: "ipad (10th generation)",
radius: 22.0
}
radius: 22.0,
},
];

const getCorners = (): number => {
const modelName = Device.modelName;
if (!modelName) return 0;
let modelName = Device.modelName;

if (!modelName || modelName.toLowerCase().includes("simulator")) {
modelName = Device.deviceName.toLowerCase();
}

if (!modelName) return defaultRadius;

// make device name lowercase
let device = modelName.toLowerCase();
Expand All @@ -50,8 +57,9 @@ const getCorners = (): number => {
device = device.replace("iphone", "");
device = device.trim();

const corner = device.length > 0 && radiuses.find((r) => r.devices.includes(device));
return corner ? corner.radius : 0;
const corner =
device.length > 0 && radiuses.find((r) => r.devices.includes(device));
return corner ? corner.radius : defaultRadius;
};

export default getCorners;
export default getCorners;

0 comments on commit 6a7b90d

Please sign in to comment.