[Edit: Please see my other reply, I was wrong in this post and it contains outdated information]
If you have your own custom approval system set up in SharePoint, you should be able to manage that from the Canvas App and it might be the best method.
You could also have power automate send out emails as they're created, and each email could have a link to a canvas app or form in SharePoint for the user to respond in.
The out-of-the-box Approvals are also stored in Dataverse, and there's multiple tables involved. There's a table for "Approval Requests" (what gets sent to each approving user). This table doesn't include the details about the Approval, which are abstracted to a parent record in the "Approval" table. There's also another table that stores "Approval Responses".
You could check and see if you have access to these Dataverse tables in your Canvas App designer.
There's also no way I know of to link to a specific approval in Power Automate's Approvals page (and I've spent a lot of time trying to find a way for cases similar to yours). The best you can do is link to the page listing the approvals for the user.
That said, it is technically possible to build a canvas app to manage your Teams / Power Automate approvals in. I've built a couple of these in the past to handle batch approvals so that you can approve a selection of them when you have a bunch generated for the same type/process.
However, to be able to submit responses directly from the canvas app I had to make an App User in Azure AD and use custom HTTP calls, so it's a bit more advanced to setup and maintain.
If you notice, there's no action in Power Automate or Power Apps to respond to an approval, just actions to create or wait for an approval.
But if you use inspect element > network on teams in a browser tab, or a power automate approval tab, you can see the API endpoint and payload used when you submit a response. That's what you would use in a power automate HTTP to submit an approval response--but getting authentication to do it is the tricky part and why I opted to create an App User with permisions to respond to approvals.
Here's an example Canvas App that I built which starts from the Approvals Table, and has a nested gallery for the responses requested. The idea here was just to have an Admin view of all approvals assigned to everyone, where I could bulk deactivate or respond to the approvals. If I built it again I'd probably start from "Approval Requests" in the parent gallery (to filter by the owning user) and have each one pull in the associated Approval to get the details+title.
Getting the approvals from the Dataverse Approvals table for the parent gallery:
Getting the response options ("Approve","Reject") from each approval's first response request sent to a user from the Dataverse table "Approval Requests" items related to each Approval.
Anyway, those are my thoughts--hope it helps!